// Code generated by xlsx2proto. // DO NOT EDIT! // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1-devel // protoc v3.19.4 // source: protocol/server/pbdata.proto package server 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 DB_ActSign struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` Name int32 `protobuf:"varint,3,opt,name=Name,proto3" json:"Name,omitempty"` Item_Id int32 `protobuf:"varint,4,opt,name=Item_Id,json=ItemId,proto3" json:"Item_Id,omitempty"` Grade int32 `protobuf:"varint,5,opt,name=Grade,proto3" json:"Grade,omitempty"` } func (x *DB_ActSign) Reset() { *x = DB_ActSign{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ActSign) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ActSign) ProtoMessage() {} func (x *DB_ActSign) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ActSign.ProtoReflect.Descriptor instead. func (*DB_ActSign) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{0} } func (x *DB_ActSign) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_ActSign) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *DB_ActSign) GetName() int32 { if x != nil { return x.Name } return 0 } func (x *DB_ActSign) GetItem_Id() int32 { if x != nil { return x.Item_Id } return 0 } func (x *DB_ActSign) GetGrade() int32 { if x != nil { return x.Grade } return 0 } type DB_ActSignArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_ActSign `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_ActSignArray) Reset() { *x = DB_ActSignArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ActSignArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ActSignArray) ProtoMessage() {} func (x *DB_ActSignArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ActSignArray.ProtoReflect.Descriptor instead. func (*DB_ActSignArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{1} } func (x *DB_ActSignArray) GetArr() []*DB_ActSign { if x != nil { return x.Arr } return nil } type DB_Activity1 struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Parameter int32 `protobuf:"varint,2,opt,name=Parameter,proto3" json:"Parameter,omitempty"` Turn int32 `protobuf:"varint,3,opt,name=Turn,proto3" json:"Turn,omitempty"` Title string `protobuf:"bytes,4,opt,name=Title,proto3" json:"Title,omitempty"` Costype int32 `protobuf:"varint,5,opt,name=Costype,proto3" json:"Costype,omitempty"` Costp int32 `protobuf:"varint,6,opt,name=Costp,proto3" json:"Costp,omitempty"` Cost int32 `protobuf:"varint,7,opt,name=Cost,proto3" json:"Cost,omitempty"` Typee int32 `protobuf:"varint,8,opt,name=Typee,proto3" json:"Typee,omitempty"` Propid int32 `protobuf:"varint,9,opt,name=Propid,proto3" json:"Propid,omitempty"` Value int32 `protobuf:"varint,10,opt,name=Value,proto3" json:"Value,omitempty"` Getype int32 `protobuf:"varint,11,opt,name=Getype,proto3" json:"Getype,omitempty"` } func (x *DB_Activity1) Reset() { *x = DB_Activity1{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Activity1) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Activity1) ProtoMessage() {} func (x *DB_Activity1) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Activity1.ProtoReflect.Descriptor instead. func (*DB_Activity1) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{2} } func (x *DB_Activity1) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Activity1) GetParameter() int32 { if x != nil { return x.Parameter } return 0 } func (x *DB_Activity1) GetTurn() int32 { if x != nil { return x.Turn } return 0 } func (x *DB_Activity1) GetTitle() string { if x != nil { return x.Title } return "" } func (x *DB_Activity1) GetCostype() int32 { if x != nil { return x.Costype } return 0 } func (x *DB_Activity1) GetCostp() int32 { if x != nil { return x.Costp } return 0 } func (x *DB_Activity1) GetCost() int32 { if x != nil { return x.Cost } return 0 } func (x *DB_Activity1) GetTypee() int32 { if x != nil { return x.Typee } return 0 } func (x *DB_Activity1) GetPropid() int32 { if x != nil { return x.Propid } return 0 } func (x *DB_Activity1) GetValue() int32 { if x != nil { return x.Value } return 0 } func (x *DB_Activity1) GetGetype() int32 { if x != nil { return x.Getype } return 0 } type DB_Activity1Array struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Activity1 `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Activity1Array) Reset() { *x = DB_Activity1Array{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Activity1Array) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Activity1Array) ProtoMessage() {} func (x *DB_Activity1Array) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Activity1Array.ProtoReflect.Descriptor instead. func (*DB_Activity1Array) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{3} } func (x *DB_Activity1Array) GetArr() []*DB_Activity1 { if x != nil { return x.Arr } return nil } type DB_AnimalColor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Desc string `protobuf:"bytes,2,opt,name=Desc,proto3" json:"Desc,omitempty"` ColorChance []int32 `protobuf:"varint,3,rep,packed,name=ColorChance,proto3" json:"ColorChance,omitempty"` } func (x *DB_AnimalColor) Reset() { *x = DB_AnimalColor{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_AnimalColor) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_AnimalColor) ProtoMessage() {} func (x *DB_AnimalColor) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_AnimalColor.ProtoReflect.Descriptor instead. func (*DB_AnimalColor) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{4} } func (x *DB_AnimalColor) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_AnimalColor) GetDesc() string { if x != nil { return x.Desc } return "" } func (x *DB_AnimalColor) GetColorChance() []int32 { if x != nil { return x.ColorChance } return nil } type DB_AnimalColorArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_AnimalColor `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_AnimalColorArray) Reset() { *x = DB_AnimalColorArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_AnimalColorArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_AnimalColorArray) ProtoMessage() {} func (x *DB_AnimalColorArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_AnimalColorArray.ProtoReflect.Descriptor instead. func (*DB_AnimalColorArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{5} } func (x *DB_AnimalColorArray) GetArr() []*DB_AnimalColor { if x != nil { return x.Arr } return nil } type DB_ArtilleryRate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Shell int32 `protobuf:"varint,2,opt,name=Shell,proto3" json:"Shell,omitempty"` Level int32 `protobuf:"varint,3,opt,name=Level,proto3" json:"Level,omitempty"` Desc string `protobuf:"bytes,4,opt,name=Desc,proto3" json:"Desc,omitempty"` } func (x *DB_ArtilleryRate) Reset() { *x = DB_ArtilleryRate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ArtilleryRate) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ArtilleryRate) ProtoMessage() {} func (x *DB_ArtilleryRate) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ArtilleryRate.ProtoReflect.Descriptor instead. func (*DB_ArtilleryRate) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{6} } func (x *DB_ArtilleryRate) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_ArtilleryRate) GetShell() int32 { if x != nil { return x.Shell } return 0 } func (x *DB_ArtilleryRate) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *DB_ArtilleryRate) GetDesc() string { if x != nil { return x.Desc } return "" } type DB_ArtilleryRateArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_ArtilleryRate `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_ArtilleryRateArray) Reset() { *x = DB_ArtilleryRateArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ArtilleryRateArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ArtilleryRateArray) ProtoMessage() {} func (x *DB_ArtilleryRateArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ArtilleryRateArray.ProtoReflect.Descriptor instead. func (*DB_ArtilleryRateArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{7} } func (x *DB_ArtilleryRateArray) GetArr() []*DB_ArtilleryRate { if x != nil { return x.Arr } return nil } type DB_ArtillerySkin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` CannonId int32 `protobuf:"varint,3,opt,name=CannonId,proto3" json:"CannonId,omitempty"` Type int32 `protobuf:"varint,4,opt,name=Type,proto3" json:"Type,omitempty"` ExprieTime int32 `protobuf:"varint,5,opt,name=ExprieTime,proto3" json:"ExprieTime,omitempty"` Show int32 `protobuf:"varint,6,opt,name=Show,proto3" json:"Show,omitempty"` Order int32 `protobuf:"varint,7,opt,name=Order,proto3" json:"Order,omitempty"` NameIcon string `protobuf:"bytes,8,opt,name=NameIcon,proto3" json:"NameIcon,omitempty"` PicIcon string `protobuf:"bytes,9,opt,name=PicIcon,proto3" json:"PicIcon,omitempty"` BaseIcon string `protobuf:"bytes,10,opt,name=BaseIcon,proto3" json:"BaseIcon,omitempty"` ShellIcon string `protobuf:"bytes,11,opt,name=ShellIcon,proto3" json:"ShellIcon,omitempty"` NetIcon string `protobuf:"bytes,12,opt,name=NetIcon,proto3" json:"NetIcon,omitempty"` Vip []int32 `protobuf:"varint,13,rep,packed,name=Vip,proto3" json:"Vip,omitempty"` Gold int32 `protobuf:"varint,14,opt,name=Gold,proto3" json:"Gold,omitempty"` Diamond int32 `protobuf:"varint,15,opt,name=Diamond,proto3" json:"Diamond,omitempty"` Income int32 `protobuf:"varint,16,opt,name=Income,proto3" json:"Income,omitempty"` Speed int32 `protobuf:"varint,17,opt,name=Speed,proto3" json:"Speed,omitempty"` Caught int32 `protobuf:"varint,18,opt,name=Caught,proto3" json:"Caught,omitempty"` Introduce int32 `protobuf:"varint,19,opt,name=Introduce,proto3" json:"Introduce,omitempty"` Source string `protobuf:"bytes,20,opt,name=Source,proto3" json:"Source,omitempty"` } func (x *DB_ArtillerySkin) Reset() { *x = DB_ArtillerySkin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ArtillerySkin) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ArtillerySkin) ProtoMessage() {} func (x *DB_ArtillerySkin) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ArtillerySkin.ProtoReflect.Descriptor instead. func (*DB_ArtillerySkin) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{8} } func (x *DB_ArtillerySkin) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_ArtillerySkin) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_ArtillerySkin) GetCannonId() int32 { if x != nil { return x.CannonId } return 0 } func (x *DB_ArtillerySkin) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *DB_ArtillerySkin) GetExprieTime() int32 { if x != nil { return x.ExprieTime } return 0 } func (x *DB_ArtillerySkin) GetShow() int32 { if x != nil { return x.Show } return 0 } func (x *DB_ArtillerySkin) GetOrder() int32 { if x != nil { return x.Order } return 0 } func (x *DB_ArtillerySkin) GetNameIcon() string { if x != nil { return x.NameIcon } return "" } func (x *DB_ArtillerySkin) GetPicIcon() string { if x != nil { return x.PicIcon } return "" } func (x *DB_ArtillerySkin) GetBaseIcon() string { if x != nil { return x.BaseIcon } return "" } func (x *DB_ArtillerySkin) GetShellIcon() string { if x != nil { return x.ShellIcon } return "" } func (x *DB_ArtillerySkin) GetNetIcon() string { if x != nil { return x.NetIcon } return "" } func (x *DB_ArtillerySkin) GetVip() []int32 { if x != nil { return x.Vip } return nil } func (x *DB_ArtillerySkin) GetGold() int32 { if x != nil { return x.Gold } return 0 } func (x *DB_ArtillerySkin) GetDiamond() int32 { if x != nil { return x.Diamond } return 0 } func (x *DB_ArtillerySkin) GetIncome() int32 { if x != nil { return x.Income } return 0 } func (x *DB_ArtillerySkin) GetSpeed() int32 { if x != nil { return x.Speed } return 0 } func (x *DB_ArtillerySkin) GetCaught() int32 { if x != nil { return x.Caught } return 0 } func (x *DB_ArtillerySkin) GetIntroduce() int32 { if x != nil { return x.Introduce } return 0 } func (x *DB_ArtillerySkin) GetSource() string { if x != nil { return x.Source } return "" } type DB_ArtillerySkinArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_ArtillerySkin `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_ArtillerySkinArray) Reset() { *x = DB_ArtillerySkinArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ArtillerySkinArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ArtillerySkinArray) ProtoMessage() {} func (x *DB_ArtillerySkinArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ArtillerySkinArray.ProtoReflect.Descriptor instead. func (*DB_ArtillerySkinArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{9} } func (x *DB_ArtillerySkinArray) GetArr() []*DB_ArtillerySkin { if x != nil { return x.Arr } return nil } type DB_BlackWhite struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` BlackOdds []int32 `protobuf:"varint,2,rep,packed,name=BlackOdds,proto3" json:"BlackOdds,omitempty"` WhiteOdds []int32 `protobuf:"varint,3,rep,packed,name=WhiteOdds,proto3" json:"WhiteOdds,omitempty"` } func (x *DB_BlackWhite) Reset() { *x = DB_BlackWhite{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_BlackWhite) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_BlackWhite) ProtoMessage() {} func (x *DB_BlackWhite) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_BlackWhite.ProtoReflect.Descriptor instead. func (*DB_BlackWhite) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{10} } func (x *DB_BlackWhite) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_BlackWhite) GetBlackOdds() []int32 { if x != nil { return x.BlackOdds } return nil } func (x *DB_BlackWhite) GetWhiteOdds() []int32 { if x != nil { return x.WhiteOdds } return nil } type DB_BlackWhiteArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_BlackWhite `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_BlackWhiteArray) Reset() { *x = DB_BlackWhiteArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_BlackWhiteArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_BlackWhiteArray) ProtoMessage() {} func (x *DB_BlackWhiteArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_BlackWhiteArray.ProtoReflect.Descriptor instead. func (*DB_BlackWhiteArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{11} } func (x *DB_BlackWhiteArray) GetArr() []*DB_BlackWhite { if x != nil { return x.Arr } return nil } type DB_CardsJD struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Card1 string `protobuf:"bytes,2,opt,name=Card1,proto3" json:"Card1,omitempty"` Card1Score int32 `protobuf:"varint,3,opt,name=Card1Score,proto3" json:"Card1Score,omitempty"` Card1HandNum int32 `protobuf:"varint,4,opt,name=Card1HandNum,proto3" json:"Card1HandNum,omitempty"` Change1Cards string `protobuf:"bytes,5,opt,name=Change1Cards,proto3" json:"Change1Cards,omitempty"` Card2 string `protobuf:"bytes,6,opt,name=Card2,proto3" json:"Card2,omitempty"` Card2Score int32 `protobuf:"varint,7,opt,name=Card2Score,proto3" json:"Card2Score,omitempty"` Card2HandNum int32 `protobuf:"varint,8,opt,name=Card2HandNum,proto3" json:"Card2HandNum,omitempty"` Change2Cards string `protobuf:"bytes,9,opt,name=Change2Cards,proto3" json:"Change2Cards,omitempty"` Card3 string `protobuf:"bytes,10,opt,name=Card3,proto3" json:"Card3,omitempty"` Card3Score int32 `protobuf:"varint,11,opt,name=Card3Score,proto3" json:"Card3Score,omitempty"` Card3HandNum int32 `protobuf:"varint,12,opt,name=Card3HandNum,proto3" json:"Card3HandNum,omitempty"` Change3Cards string `protobuf:"bytes,13,opt,name=Change3Cards,proto3" json:"Change3Cards,omitempty"` Card4 string `protobuf:"bytes,14,opt,name=Card4,proto3" json:"Card4,omitempty"` Card4Score int32 `protobuf:"varint,15,opt,name=Card4Score,proto3" json:"Card4Score,omitempty"` Card4HandNum int32 `protobuf:"varint,16,opt,name=Card4HandNum,proto3" json:"Card4HandNum,omitempty"` Change4Cards string `protobuf:"bytes,17,opt,name=Change4Cards,proto3" json:"Change4Cards,omitempty"` } func (x *DB_CardsJD) Reset() { *x = DB_CardsJD{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CardsJD) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CardsJD) ProtoMessage() {} func (x *DB_CardsJD) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CardsJD.ProtoReflect.Descriptor instead. func (*DB_CardsJD) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{12} } func (x *DB_CardsJD) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_CardsJD) GetCard1() string { if x != nil { return x.Card1 } return "" } func (x *DB_CardsJD) GetCard1Score() int32 { if x != nil { return x.Card1Score } return 0 } func (x *DB_CardsJD) GetCard1HandNum() int32 { if x != nil { return x.Card1HandNum } return 0 } func (x *DB_CardsJD) GetChange1Cards() string { if x != nil { return x.Change1Cards } return "" } func (x *DB_CardsJD) GetCard2() string { if x != nil { return x.Card2 } return "" } func (x *DB_CardsJD) GetCard2Score() int32 { if x != nil { return x.Card2Score } return 0 } func (x *DB_CardsJD) GetCard2HandNum() int32 { if x != nil { return x.Card2HandNum } return 0 } func (x *DB_CardsJD) GetChange2Cards() string { if x != nil { return x.Change2Cards } return "" } func (x *DB_CardsJD) GetCard3() string { if x != nil { return x.Card3 } return "" } func (x *DB_CardsJD) GetCard3Score() int32 { if x != nil { return x.Card3Score } return 0 } func (x *DB_CardsJD) GetCard3HandNum() int32 { if x != nil { return x.Card3HandNum } return 0 } func (x *DB_CardsJD) GetChange3Cards() string { if x != nil { return x.Change3Cards } return "" } func (x *DB_CardsJD) GetCard4() string { if x != nil { return x.Card4 } return "" } func (x *DB_CardsJD) GetCard4Score() int32 { if x != nil { return x.Card4Score } return 0 } func (x *DB_CardsJD) GetCard4HandNum() int32 { if x != nil { return x.Card4HandNum } return 0 } func (x *DB_CardsJD) GetChange4Cards() string { if x != nil { return x.Change4Cards } return "" } type DB_CardsJDArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_CardsJD `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_CardsJDArray) Reset() { *x = DB_CardsJDArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CardsJDArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CardsJDArray) ProtoMessage() {} func (x *DB_CardsJDArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CardsJDArray.ProtoReflect.Descriptor instead. func (*DB_CardsJDArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{13} } func (x *DB_CardsJDArray) GetArr() []*DB_CardsJD { if x != nil { return x.Arr } return nil } type DB_CardsYuLe struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Card1 string `protobuf:"bytes,2,opt,name=Card1,proto3" json:"Card1,omitempty"` Card1Score int32 `protobuf:"varint,3,opt,name=Card1Score,proto3" json:"Card1Score,omitempty"` Card1HandNum int32 `protobuf:"varint,4,opt,name=Card1HandNum,proto3" json:"Card1HandNum,omitempty"` Change1Cards string `protobuf:"bytes,5,opt,name=Change1Cards,proto3" json:"Change1Cards,omitempty"` Card2 string `protobuf:"bytes,6,opt,name=Card2,proto3" json:"Card2,omitempty"` Card2Score int32 `protobuf:"varint,7,opt,name=Card2Score,proto3" json:"Card2Score,omitempty"` Card2HandNum int32 `protobuf:"varint,8,opt,name=Card2HandNum,proto3" json:"Card2HandNum,omitempty"` Change2Cards string `protobuf:"bytes,9,opt,name=Change2Cards,proto3" json:"Change2Cards,omitempty"` Card3 string `protobuf:"bytes,10,opt,name=Card3,proto3" json:"Card3,omitempty"` Card3Score int32 `protobuf:"varint,11,opt,name=Card3Score,proto3" json:"Card3Score,omitempty"` Card3HandNum int32 `protobuf:"varint,12,opt,name=Card3HandNum,proto3" json:"Card3HandNum,omitempty"` Change3Cards string `protobuf:"bytes,13,opt,name=Change3Cards,proto3" json:"Change3Cards,omitempty"` Card4 string `protobuf:"bytes,14,opt,name=Card4,proto3" json:"Card4,omitempty"` Card4Score int32 `protobuf:"varint,15,opt,name=Card4Score,proto3" json:"Card4Score,omitempty"` Card4HandNum int32 `protobuf:"varint,16,opt,name=Card4HandNum,proto3" json:"Card4HandNum,omitempty"` Change4Cards string `protobuf:"bytes,17,opt,name=Change4Cards,proto3" json:"Change4Cards,omitempty"` } func (x *DB_CardsYuLe) Reset() { *x = DB_CardsYuLe{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CardsYuLe) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CardsYuLe) ProtoMessage() {} func (x *DB_CardsYuLe) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CardsYuLe.ProtoReflect.Descriptor instead. func (*DB_CardsYuLe) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{14} } func (x *DB_CardsYuLe) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_CardsYuLe) GetCard1() string { if x != nil { return x.Card1 } return "" } func (x *DB_CardsYuLe) GetCard1Score() int32 { if x != nil { return x.Card1Score } return 0 } func (x *DB_CardsYuLe) GetCard1HandNum() int32 { if x != nil { return x.Card1HandNum } return 0 } func (x *DB_CardsYuLe) GetChange1Cards() string { if x != nil { return x.Change1Cards } return "" } func (x *DB_CardsYuLe) GetCard2() string { if x != nil { return x.Card2 } return "" } func (x *DB_CardsYuLe) GetCard2Score() int32 { if x != nil { return x.Card2Score } return 0 } func (x *DB_CardsYuLe) GetCard2HandNum() int32 { if x != nil { return x.Card2HandNum } return 0 } func (x *DB_CardsYuLe) GetChange2Cards() string { if x != nil { return x.Change2Cards } return "" } func (x *DB_CardsYuLe) GetCard3() string { if x != nil { return x.Card3 } return "" } func (x *DB_CardsYuLe) GetCard3Score() int32 { if x != nil { return x.Card3Score } return 0 } func (x *DB_CardsYuLe) GetCard3HandNum() int32 { if x != nil { return x.Card3HandNum } return 0 } func (x *DB_CardsYuLe) GetChange3Cards() string { if x != nil { return x.Change3Cards } return "" } func (x *DB_CardsYuLe) GetCard4() string { if x != nil { return x.Card4 } return "" } func (x *DB_CardsYuLe) GetCard4Score() int32 { if x != nil { return x.Card4Score } return 0 } func (x *DB_CardsYuLe) GetCard4HandNum() int32 { if x != nil { return x.Card4HandNum } return 0 } func (x *DB_CardsYuLe) GetChange4Cards() string { if x != nil { return x.Change4Cards } return "" } type DB_CardsYuLeArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_CardsYuLe `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_CardsYuLeArray) Reset() { *x = DB_CardsYuLeArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CardsYuLeArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CardsYuLeArray) ProtoMessage() {} func (x *DB_CardsYuLeArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CardsYuLeArray.ProtoReflect.Descriptor instead. func (*DB_CardsYuLeArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{15} } func (x *DB_CardsYuLeArray) GetArr() []*DB_CardsYuLe { if x != nil { return x.Arr } return nil } type DB_ChessBilledRules struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` TypeId int32 `protobuf:"varint,2,opt,name=TypeId,proto3" json:"TypeId,omitempty"` WinScore int32 `protobuf:"varint,3,opt,name=WinScore,proto3" json:"WinScore,omitempty"` LoseScore int32 `protobuf:"varint,4,opt,name=LoseScore,proto3" json:"LoseScore,omitempty"` DrawScore int32 `protobuf:"varint,5,opt,name=DrawScore,proto3" json:"DrawScore,omitempty"` WinTimes int32 `protobuf:"varint,6,opt,name=WinTimes,proto3" json:"WinTimes,omitempty"` OtherScore int32 `protobuf:"varint,7,opt,name=OtherScore,proto3" json:"OtherScore,omitempty"` } func (x *DB_ChessBilledRules) Reset() { *x = DB_ChessBilledRules{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ChessBilledRules) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ChessBilledRules) ProtoMessage() {} func (x *DB_ChessBilledRules) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ChessBilledRules.ProtoReflect.Descriptor instead. func (*DB_ChessBilledRules) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{16} } func (x *DB_ChessBilledRules) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_ChessBilledRules) GetTypeId() int32 { if x != nil { return x.TypeId } return 0 } func (x *DB_ChessBilledRules) GetWinScore() int32 { if x != nil { return x.WinScore } return 0 } func (x *DB_ChessBilledRules) GetLoseScore() int32 { if x != nil { return x.LoseScore } return 0 } func (x *DB_ChessBilledRules) GetDrawScore() int32 { if x != nil { return x.DrawScore } return 0 } func (x *DB_ChessBilledRules) GetWinTimes() int32 { if x != nil { return x.WinTimes } return 0 } func (x *DB_ChessBilledRules) GetOtherScore() int32 { if x != nil { return x.OtherScore } return 0 } type DB_ChessBilledRulesArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_ChessBilledRules `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_ChessBilledRulesArray) Reset() { *x = DB_ChessBilledRulesArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ChessBilledRulesArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ChessBilledRulesArray) ProtoMessage() {} func (x *DB_ChessBilledRulesArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ChessBilledRulesArray.ProtoReflect.Descriptor instead. func (*DB_ChessBilledRulesArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{17} } func (x *DB_ChessBilledRulesArray) GetArr() []*DB_ChessBilledRules { if x != nil { return x.Arr } return nil } type DB_ChessMatchRules struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` ScoreMin int32 `protobuf:"varint,2,opt,name=ScoreMin,proto3" json:"ScoreMin,omitempty"` ScoreMax int32 `protobuf:"varint,3,opt,name=ScoreMax,proto3" json:"ScoreMax,omitempty"` MatchScoreMin int32 `protobuf:"varint,4,opt,name=MatchScoreMin,proto3" json:"MatchScoreMin,omitempty"` MatchScoreMax int32 `protobuf:"varint,5,opt,name=MatchScoreMax,proto3" json:"MatchScoreMax,omitempty"` MatchScoreLowStep []int32 `protobuf:"varint,6,rep,packed,name=MatchScoreLowStep,proto3" json:"MatchScoreLowStep,omitempty"` MatchScoreHightStep []int32 `protobuf:"varint,7,rep,packed,name=MatchScoreHightStep,proto3" json:"MatchScoreHightStep,omitempty"` } func (x *DB_ChessMatchRules) Reset() { *x = DB_ChessMatchRules{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ChessMatchRules) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ChessMatchRules) ProtoMessage() {} func (x *DB_ChessMatchRules) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ChessMatchRules.ProtoReflect.Descriptor instead. func (*DB_ChessMatchRules) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{18} } func (x *DB_ChessMatchRules) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_ChessMatchRules) GetScoreMin() int32 { if x != nil { return x.ScoreMin } return 0 } func (x *DB_ChessMatchRules) GetScoreMax() int32 { if x != nil { return x.ScoreMax } return 0 } func (x *DB_ChessMatchRules) GetMatchScoreMin() int32 { if x != nil { return x.MatchScoreMin } return 0 } func (x *DB_ChessMatchRules) GetMatchScoreMax() int32 { if x != nil { return x.MatchScoreMax } return 0 } func (x *DB_ChessMatchRules) GetMatchScoreLowStep() []int32 { if x != nil { return x.MatchScoreLowStep } return nil } func (x *DB_ChessMatchRules) GetMatchScoreHightStep() []int32 { if x != nil { return x.MatchScoreHightStep } return nil } type DB_ChessMatchRulesArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_ChessMatchRules `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_ChessMatchRulesArray) Reset() { *x = DB_ChessMatchRulesArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ChessMatchRulesArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ChessMatchRulesArray) ProtoMessage() {} func (x *DB_ChessMatchRulesArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ChessMatchRulesArray.ProtoReflect.Descriptor instead. func (*DB_ChessMatchRulesArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{19} } func (x *DB_ChessMatchRulesArray) GetArr() []*DB_ChessMatchRules { if x != nil { return x.Arr } return nil } type DB_ChessRank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Score int32 `protobuf:"varint,2,opt,name=Score,proto3" json:"Score,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` } func (x *DB_ChessRank) Reset() { *x = DB_ChessRank{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ChessRank) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ChessRank) ProtoMessage() {} func (x *DB_ChessRank) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ChessRank.ProtoReflect.Descriptor instead. func (*DB_ChessRank) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{20} } func (x *DB_ChessRank) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_ChessRank) GetScore() int32 { if x != nil { return x.Score } return 0 } func (x *DB_ChessRank) GetName() string { if x != nil { return x.Name } return "" } type DB_ChessRankArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_ChessRank `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_ChessRankArray) Reset() { *x = DB_ChessRankArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ChessRankArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ChessRankArray) ProtoMessage() {} func (x *DB_ChessRankArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ChessRankArray.ProtoReflect.Descriptor instead. func (*DB_ChessRankArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{21} } func (x *DB_ChessRankArray) GetArr() []*DB_ChessRank { if x != nil { return x.Arr } return nil } type DB_ClientVer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` PackageFlag string `protobuf:"bytes,2,opt,name=PackageFlag,proto3" json:"PackageFlag,omitempty"` PackVers string `protobuf:"bytes,3,opt,name=PackVers,proto3" json:"PackVers,omitempty"` GameVers string `protobuf:"bytes,4,opt,name=GameVers,proto3" json:"GameVers,omitempty"` } func (x *DB_ClientVer) Reset() { *x = DB_ClientVer{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ClientVer) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ClientVer) ProtoMessage() {} func (x *DB_ClientVer) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ClientVer.ProtoReflect.Descriptor instead. func (*DB_ClientVer) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{22} } func (x *DB_ClientVer) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_ClientVer) GetPackageFlag() string { if x != nil { return x.PackageFlag } return "" } func (x *DB_ClientVer) GetPackVers() string { if x != nil { return x.PackVers } return "" } func (x *DB_ClientVer) GetGameVers() string { if x != nil { return x.GameVers } return "" } type DB_ClientVerArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_ClientVer `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_ClientVerArray) Reset() { *x = DB_ClientVerArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ClientVerArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ClientVerArray) ProtoMessage() {} func (x *DB_ClientVerArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_ClientVerArray.ProtoReflect.Descriptor instead. func (*DB_ClientVerArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{23} } func (x *DB_ClientVerArray) GetArr() []*DB_ClientVer { if x != nil { return x.Arr } return nil } type DB_CollectBox struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Rate int32 `protobuf:"varint,2,opt,name=Rate,proto3" json:"Rate,omitempty"` ItemID map[int64]int64 `protobuf:"bytes,3,rep,name=ItemID,proto3" json:"ItemID,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *DB_CollectBox) Reset() { *x = DB_CollectBox{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CollectBox) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CollectBox) ProtoMessage() {} func (x *DB_CollectBox) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CollectBox.ProtoReflect.Descriptor instead. func (*DB_CollectBox) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{24} } func (x *DB_CollectBox) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_CollectBox) GetRate() int32 { if x != nil { return x.Rate } return 0 } func (x *DB_CollectBox) GetItemID() map[int64]int64 { if x != nil { return x.ItemID } return nil } type DB_CollectBoxArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_CollectBox `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_CollectBoxArray) Reset() { *x = DB_CollectBoxArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CollectBoxArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CollectBoxArray) ProtoMessage() {} func (x *DB_CollectBoxArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CollectBoxArray.ProtoReflect.Descriptor instead. func (*DB_CollectBoxArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{25} } func (x *DB_CollectBoxArray) GetArr() []*DB_CollectBox { if x != nil { return x.Arr } return nil } type DB_CollectBoxGain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Rate int32 `protobuf:"varint,2,opt,name=Rate,proto3" json:"Rate,omitempty"` } func (x *DB_CollectBoxGain) Reset() { *x = DB_CollectBoxGain{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CollectBoxGain) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CollectBoxGain) ProtoMessage() {} func (x *DB_CollectBoxGain) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CollectBoxGain.ProtoReflect.Descriptor instead. func (*DB_CollectBoxGain) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{26} } func (x *DB_CollectBoxGain) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_CollectBoxGain) GetRate() int32 { if x != nil { return x.Rate } return 0 } type DB_CollectBoxGainArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_CollectBoxGain `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_CollectBoxGainArray) Reset() { *x = DB_CollectBoxGainArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CollectBoxGainArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CollectBoxGainArray) ProtoMessage() {} func (x *DB_CollectBoxGainArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CollectBoxGainArray.ProtoReflect.Descriptor instead. func (*DB_CollectBoxGainArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{27} } func (x *DB_CollectBoxGainArray) GetArr() []*DB_CollectBoxGain { if x != nil { return x.Arr } return nil } type DB_CrashSearch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Time int32 `protobuf:"varint,2,opt,name=Time,proto3" json:"Time,omitempty"` Price int32 `protobuf:"varint,3,opt,name=Price,proto3" json:"Price,omitempty"` } func (x *DB_CrashSearch) Reset() { *x = DB_CrashSearch{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CrashSearch) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CrashSearch) ProtoMessage() {} func (x *DB_CrashSearch) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CrashSearch.ProtoReflect.Descriptor instead. func (*DB_CrashSearch) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{28} } func (x *DB_CrashSearch) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_CrashSearch) GetTime() int32 { if x != nil { return x.Time } return 0 } func (x *DB_CrashSearch) GetPrice() int32 { if x != nil { return x.Price } return 0 } type DB_CrashSearchArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_CrashSearch `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_CrashSearchArray) Reset() { *x = DB_CrashSearchArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CrashSearchArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CrashSearchArray) ProtoMessage() {} func (x *DB_CrashSearchArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CrashSearchArray.ProtoReflect.Descriptor instead. func (*DB_CrashSearchArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{29} } func (x *DB_CrashSearchArray) GetArr() []*DB_CrashSearch { if x != nil { return x.Arr } return nil } type DB_Createroom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` GameId int32 `protobuf:"varint,2,opt,name=GameId,proto3" json:"GameId,omitempty"` GameSite int32 `protobuf:"varint,3,opt,name=GameSite,proto3" json:"GameSite,omitempty"` GoldRange []int32 `protobuf:"varint,4,rep,packed,name=GoldRange,proto3" json:"GoldRange,omitempty"` BetRange []int32 `protobuf:"varint,5,rep,packed,name=BetRange,proto3" json:"BetRange,omitempty"` } func (x *DB_Createroom) Reset() { *x = DB_Createroom{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Createroom) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Createroom) ProtoMessage() {} func (x *DB_Createroom) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Createroom.ProtoReflect.Descriptor instead. func (*DB_Createroom) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{30} } func (x *DB_Createroom) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Createroom) GetGameId() int32 { if x != nil { return x.GameId } return 0 } func (x *DB_Createroom) GetGameSite() int32 { if x != nil { return x.GameSite } return 0 } func (x *DB_Createroom) GetGoldRange() []int32 { if x != nil { return x.GoldRange } return nil } func (x *DB_Createroom) GetBetRange() []int32 { if x != nil { return x.BetRange } return nil } type DB_CreateroomArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Createroom `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_CreateroomArray) Reset() { *x = DB_CreateroomArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_CreateroomArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_CreateroomArray) ProtoMessage() {} func (x *DB_CreateroomArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_CreateroomArray.ProtoReflect.Descriptor instead. func (*DB_CreateroomArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{31} } func (x *DB_CreateroomArray) GetArr() []*DB_Createroom { if x != nil { return x.Arr } return nil } type DB_Fish struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` NameE string `protobuf:"bytes,3,opt,name=NameE,proto3" json:"NameE,omitempty"` Gold []int32 `protobuf:"varint,4,rep,packed,name=Gold,proto3" json:"Gold,omitempty"` Icon string `protobuf:"bytes,5,opt,name=Icon,proto3" json:"Icon,omitempty"` Speed int32 `protobuf:"varint,6,opt,name=Speed,proto3" json:"Speed,omitempty"` Exp int32 `protobuf:"varint,7,opt,name=Exp,proto3" json:"Exp,omitempty"` FrameCnt int32 `protobuf:"varint,8,opt,name=FrameCnt,proto3" json:"FrameCnt,omitempty"` FrameDelay int32 `protobuf:"varint,9,opt,name=FrameDelay,proto3" json:"FrameDelay,omitempty"` Rate int32 `protobuf:"varint,10,opt,name=Rate,proto3" json:"Rate,omitempty"` ShowType int32 `protobuf:"varint,11,opt,name=ShowType,proto3" json:"ShowType,omitempty"` Show int32 `protobuf:"varint,12,opt,name=Show,proto3" json:"Show,omitempty"` ShowScale int32 `protobuf:"varint,13,opt,name=ShowScale,proto3" json:"ShowScale,omitempty"` ShowPos []int32 `protobuf:"varint,14,rep,packed,name=ShowPos,proto3" json:"ShowPos,omitempty"` DieSound string `protobuf:"bytes,15,opt,name=DieSound,proto3" json:"DieSound,omitempty"` DieFrame int32 `protobuf:"varint,16,opt,name=DieFrame,proto3" json:"DieFrame,omitempty"` DieRotate int32 `protobuf:"varint,17,opt,name=DieRotate,proto3" json:"DieRotate,omitempty"` DieEffect int32 `protobuf:"varint,18,opt,name=DieEffect,proto3" json:"DieEffect,omitempty"` DieShake int32 `protobuf:"varint,19,opt,name=DieShake,proto3" json:"DieShake,omitempty"` ShakeRange int32 `protobuf:"varint,20,opt,name=ShakeRange,proto3" json:"ShakeRange,omitempty"` Shape string `protobuf:"bytes,21,opt,name=Shape,proto3" json:"Shape,omitempty"` IsBoss int32 `protobuf:"varint,22,opt,name=IsBoss,proto3" json:"IsBoss,omitempty"` ResId int32 `protobuf:"varint,23,opt,name=ResId,proto3" json:"ResId,omitempty"` DieParticle string `protobuf:"bytes,24,opt,name=DieParticle,proto3" json:"DieParticle,omitempty"` GroupShape int32 `protobuf:"varint,25,opt,name=GroupShape,proto3" json:"GroupShape,omitempty"` GroupFishes []int32 `protobuf:"varint,26,rep,packed,name=GroupFishes,proto3" json:"GroupFishes,omitempty"` Zorder int32 `protobuf:"varint,27,opt,name=Zorder,proto3" json:"Zorder,omitempty"` ResPng string `protobuf:"bytes,28,opt,name=ResPng,proto3" json:"ResPng,omitempty"` ResPlist string `protobuf:"bytes,29,opt,name=ResPlist,proto3" json:"ResPlist,omitempty"` ExportJson string `protobuf:"bytes,30,opt,name=ExportJson,proto3" json:"ExportJson,omitempty"` AimIcon string `protobuf:"bytes,31,opt,name=AimIcon,proto3" json:"AimIcon,omitempty"` GameId int32 `protobuf:"varint,32,opt,name=GameId,proto3" json:"GameId,omitempty"` Sort int32 `protobuf:"varint,33,opt,name=Sort,proto3" json:"Sort,omitempty"` FishType int32 `protobuf:"varint,34,opt,name=FishType,proto3" json:"FishType,omitempty"` RandomCoin string `protobuf:"bytes,35,opt,name=RandomCoin,proto3" json:"RandomCoin,omitempty"` } func (x *DB_Fish) Reset() { *x = DB_Fish{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Fish) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Fish) ProtoMessage() {} func (x *DB_Fish) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Fish.ProtoReflect.Descriptor instead. func (*DB_Fish) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{32} } func (x *DB_Fish) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Fish) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_Fish) GetNameE() string { if x != nil { return x.NameE } return "" } func (x *DB_Fish) GetGold() []int32 { if x != nil { return x.Gold } return nil } func (x *DB_Fish) GetIcon() string { if x != nil { return x.Icon } return "" } func (x *DB_Fish) GetSpeed() int32 { if x != nil { return x.Speed } return 0 } func (x *DB_Fish) GetExp() int32 { if x != nil { return x.Exp } return 0 } func (x *DB_Fish) GetFrameCnt() int32 { if x != nil { return x.FrameCnt } return 0 } func (x *DB_Fish) GetFrameDelay() int32 { if x != nil { return x.FrameDelay } return 0 } func (x *DB_Fish) GetRate() int32 { if x != nil { return x.Rate } return 0 } func (x *DB_Fish) GetShowType() int32 { if x != nil { return x.ShowType } return 0 } func (x *DB_Fish) GetShow() int32 { if x != nil { return x.Show } return 0 } func (x *DB_Fish) GetShowScale() int32 { if x != nil { return x.ShowScale } return 0 } func (x *DB_Fish) GetShowPos() []int32 { if x != nil { return x.ShowPos } return nil } func (x *DB_Fish) GetDieSound() string { if x != nil { return x.DieSound } return "" } func (x *DB_Fish) GetDieFrame() int32 { if x != nil { return x.DieFrame } return 0 } func (x *DB_Fish) GetDieRotate() int32 { if x != nil { return x.DieRotate } return 0 } func (x *DB_Fish) GetDieEffect() int32 { if x != nil { return x.DieEffect } return 0 } func (x *DB_Fish) GetDieShake() int32 { if x != nil { return x.DieShake } return 0 } func (x *DB_Fish) GetShakeRange() int32 { if x != nil { return x.ShakeRange } return 0 } func (x *DB_Fish) GetShape() string { if x != nil { return x.Shape } return "" } func (x *DB_Fish) GetIsBoss() int32 { if x != nil { return x.IsBoss } return 0 } func (x *DB_Fish) GetResId() int32 { if x != nil { return x.ResId } return 0 } func (x *DB_Fish) GetDieParticle() string { if x != nil { return x.DieParticle } return "" } func (x *DB_Fish) GetGroupShape() int32 { if x != nil { return x.GroupShape } return 0 } func (x *DB_Fish) GetGroupFishes() []int32 { if x != nil { return x.GroupFishes } return nil } func (x *DB_Fish) GetZorder() int32 { if x != nil { return x.Zorder } return 0 } func (x *DB_Fish) GetResPng() string { if x != nil { return x.ResPng } return "" } func (x *DB_Fish) GetResPlist() string { if x != nil { return x.ResPlist } return "" } func (x *DB_Fish) GetExportJson() string { if x != nil { return x.ExportJson } return "" } func (x *DB_Fish) GetAimIcon() string { if x != nil { return x.AimIcon } return "" } func (x *DB_Fish) GetGameId() int32 { if x != nil { return x.GameId } return 0 } func (x *DB_Fish) GetSort() int32 { if x != nil { return x.Sort } return 0 } func (x *DB_Fish) GetFishType() int32 { if x != nil { return x.FishType } return 0 } func (x *DB_Fish) GetRandomCoin() string { if x != nil { return x.RandomCoin } return "" } type DB_FishArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Fish `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FishArray) Reset() { *x = DB_FishArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishArray) ProtoMessage() {} func (x *DB_FishArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishArray.ProtoReflect.Descriptor instead. func (*DB_FishArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{33} } func (x *DB_FishArray) GetArr() []*DB_Fish { if x != nil { return x.Arr } return nil } type DB_FishOut struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` SceneType int32 `protobuf:"varint,2,opt,name=SceneType,proto3" json:"SceneType,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Exp int32 `protobuf:"varint,4,opt,name=Exp,proto3" json:"Exp,omitempty"` Multiple []int32 `protobuf:"varint,5,rep,packed,name=Multiple,proto3" json:"Multiple,omitempty"` Path []int32 `protobuf:"varint,6,rep,packed,name=Path,proto3" json:"Path,omitempty"` Count []int32 `protobuf:"varint,7,rep,packed,name=Count,proto3" json:"Count,omitempty"` RefreshInterval int32 `protobuf:"varint,8,opt,name=RefreshInterval,proto3" json:"RefreshInterval,omitempty"` Speed int32 `protobuf:"varint,9,opt,name=Speed,proto3" json:"Speed,omitempty"` Event int32 `protobuf:"varint,10,opt,name=Event,proto3" json:"Event,omitempty"` } func (x *DB_FishOut) Reset() { *x = DB_FishOut{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishOut) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishOut) ProtoMessage() {} func (x *DB_FishOut) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishOut.ProtoReflect.Descriptor instead. func (*DB_FishOut) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{34} } func (x *DB_FishOut) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_FishOut) GetSceneType() int32 { if x != nil { return x.SceneType } return 0 } func (x *DB_FishOut) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_FishOut) GetExp() int32 { if x != nil { return x.Exp } return 0 } func (x *DB_FishOut) GetMultiple() []int32 { if x != nil { return x.Multiple } return nil } func (x *DB_FishOut) GetPath() []int32 { if x != nil { return x.Path } return nil } func (x *DB_FishOut) GetCount() []int32 { if x != nil { return x.Count } return nil } func (x *DB_FishOut) GetRefreshInterval() int32 { if x != nil { return x.RefreshInterval } return 0 } func (x *DB_FishOut) GetSpeed() int32 { if x != nil { return x.Speed } return 0 } func (x *DB_FishOut) GetEvent() int32 { if x != nil { return x.Event } return 0 } type DB_FishOutArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_FishOut `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FishOutArray) Reset() { *x = DB_FishOutArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishOutArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishOutArray) ProtoMessage() {} func (x *DB_FishOutArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishOutArray.ProtoReflect.Descriptor instead. func (*DB_FishOutArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{35} } func (x *DB_FishOutArray) GetArr() []*DB_FishOut { if x != nil { return x.Arr } return nil } type DB_FishPath struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` AppearTime int32 `protobuf:"varint,2,opt,name=AppearTime,proto3" json:"AppearTime,omitempty"` DisappearTime int32 `protobuf:"varint,3,opt,name=DisappearTime,proto3" json:"DisappearTime,omitempty"` } func (x *DB_FishPath) Reset() { *x = DB_FishPath{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishPath) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishPath) ProtoMessage() {} func (x *DB_FishPath) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishPath.ProtoReflect.Descriptor instead. func (*DB_FishPath) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{36} } func (x *DB_FishPath) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_FishPath) GetAppearTime() int32 { if x != nil { return x.AppearTime } return 0 } func (x *DB_FishPath) GetDisappearTime() int32 { if x != nil { return x.DisappearTime } return 0 } type DB_FishPathArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_FishPath `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FishPathArray) Reset() { *x = DB_FishPathArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishPathArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishPathArray) ProtoMessage() {} func (x *DB_FishPathArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishPathArray.ProtoReflect.Descriptor instead. func (*DB_FishPathArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{37} } func (x *DB_FishPathArray) GetArr() []*DB_FishPath { if x != nil { return x.Arr } return nil } type DB_FishRoom struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` RoomId int32 `protobuf:"varint,2,opt,name=RoomId,proto3" json:"RoomId,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` SumGold1 string `protobuf:"bytes,4,opt,name=SumGold1,proto3" json:"SumGold1,omitempty"` SumGold2 string `protobuf:"bytes,5,opt,name=SumGold2,proto3" json:"SumGold2,omitempty"` SumGold3 string `protobuf:"bytes,6,opt,name=SumGold3,proto3" json:"SumGold3,omitempty"` SumGold4 string `protobuf:"bytes,7,opt,name=SumGold4,proto3" json:"SumGold4,omitempty"` SumGold5 string `protobuf:"bytes,8,opt,name=SumGold5,proto3" json:"SumGold5,omitempty"` BossCDTime int32 `protobuf:"varint,9,opt,name=BossCDTime,proto3" json:"BossCDTime,omitempty"` LittleBossCDTime int32 `protobuf:"varint,10,opt,name=LittleBossCDTime,proto3" json:"LittleBossCDTime,omitempty"` EnableBoss string `protobuf:"bytes,11,opt,name=EnableBoss,proto3" json:"EnableBoss,omitempty"` EnableLittleBoss string `protobuf:"bytes,12,opt,name=EnableLittleBoss,proto3" json:"EnableLittleBoss,omitempty"` } func (x *DB_FishRoom) Reset() { *x = DB_FishRoom{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishRoom) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishRoom) ProtoMessage() {} func (x *DB_FishRoom) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishRoom.ProtoReflect.Descriptor instead. func (*DB_FishRoom) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{38} } func (x *DB_FishRoom) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_FishRoom) GetRoomId() int32 { if x != nil { return x.RoomId } return 0 } func (x *DB_FishRoom) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_FishRoom) GetSumGold1() string { if x != nil { return x.SumGold1 } return "" } func (x *DB_FishRoom) GetSumGold2() string { if x != nil { return x.SumGold2 } return "" } func (x *DB_FishRoom) GetSumGold3() string { if x != nil { return x.SumGold3 } return "" } func (x *DB_FishRoom) GetSumGold4() string { if x != nil { return x.SumGold4 } return "" } func (x *DB_FishRoom) GetSumGold5() string { if x != nil { return x.SumGold5 } return "" } func (x *DB_FishRoom) GetBossCDTime() int32 { if x != nil { return x.BossCDTime } return 0 } func (x *DB_FishRoom) GetLittleBossCDTime() int32 { if x != nil { return x.LittleBossCDTime } return 0 } func (x *DB_FishRoom) GetEnableBoss() string { if x != nil { return x.EnableBoss } return "" } func (x *DB_FishRoom) GetEnableLittleBoss() string { if x != nil { return x.EnableLittleBoss } return "" } type DB_FishRoomArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_FishRoom `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FishRoomArray) Reset() { *x = DB_FishRoomArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishRoomArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishRoomArray) ProtoMessage() {} func (x *DB_FishRoomArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishRoomArray.ProtoReflect.Descriptor instead. func (*DB_FishRoomArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{39} } func (x *DB_FishRoomArray) GetArr() []*DB_FishRoom { if x != nil { return x.Arr } return nil } type DB_FishSkill struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Vip int32 `protobuf:"varint,3,opt,name=Vip,proto3" json:"Vip,omitempty"` Consume int32 `protobuf:"varint,4,opt,name=Consume,proto3" json:"Consume,omitempty"` Item []int32 `protobuf:"varint,5,rep,packed,name=Item,proto3" json:"Item,omitempty"` OtherConsumer []int32 `protobuf:"varint,6,rep,packed,name=OtherConsumer,proto3" json:"OtherConsumer,omitempty"` Multiple int32 `protobuf:"varint,7,opt,name=Multiple,proto3" json:"Multiple,omitempty"` Duration int32 `protobuf:"varint,8,opt,name=Duration,proto3" json:"Duration,omitempty"` SkillGroups int32 `protobuf:"varint,9,opt,name=SkillGroups,proto3" json:"SkillGroups,omitempty"` GCD int32 `protobuf:"varint,10,opt,name=GCD,proto3" json:"GCD,omitempty"` Cooldown int32 `protobuf:"varint,11,opt,name=Cooldown,proto3" json:"Cooldown,omitempty"` Hidden string `protobuf:"bytes,12,opt,name=Hidden,proto3" json:"Hidden,omitempty"` Describe string `protobuf:"bytes,13,opt,name=Describe,proto3" json:"Describe,omitempty"` Boss string `protobuf:"bytes,14,opt,name=Boss,proto3" json:"Boss,omitempty"` Type int32 `protobuf:"varint,15,opt,name=Type,proto3" json:"Type,omitempty"` Limit int32 `protobuf:"varint,16,opt,name=Limit,proto3" json:"Limit,omitempty"` Mutex int32 `protobuf:"varint,17,opt,name=Mutex,proto3" json:"Mutex,omitempty"` MutexTime int32 `protobuf:"varint,18,opt,name=MutexTime,proto3" json:"MutexTime,omitempty"` Fury int32 `protobuf:"varint,19,opt,name=Fury,proto3" json:"Fury,omitempty"` } func (x *DB_FishSkill) Reset() { *x = DB_FishSkill{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishSkill) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishSkill) ProtoMessage() {} func (x *DB_FishSkill) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishSkill.ProtoReflect.Descriptor instead. func (*DB_FishSkill) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{40} } func (x *DB_FishSkill) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_FishSkill) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_FishSkill) GetVip() int32 { if x != nil { return x.Vip } return 0 } func (x *DB_FishSkill) GetConsume() int32 { if x != nil { return x.Consume } return 0 } func (x *DB_FishSkill) GetItem() []int32 { if x != nil { return x.Item } return nil } func (x *DB_FishSkill) GetOtherConsumer() []int32 { if x != nil { return x.OtherConsumer } return nil } func (x *DB_FishSkill) GetMultiple() int32 { if x != nil { return x.Multiple } return 0 } func (x *DB_FishSkill) GetDuration() int32 { if x != nil { return x.Duration } return 0 } func (x *DB_FishSkill) GetSkillGroups() int32 { if x != nil { return x.SkillGroups } return 0 } func (x *DB_FishSkill) GetGCD() int32 { if x != nil { return x.GCD } return 0 } func (x *DB_FishSkill) GetCooldown() int32 { if x != nil { return x.Cooldown } return 0 } func (x *DB_FishSkill) GetHidden() string { if x != nil { return x.Hidden } return "" } func (x *DB_FishSkill) GetDescribe() string { if x != nil { return x.Describe } return "" } func (x *DB_FishSkill) GetBoss() string { if x != nil { return x.Boss } return "" } func (x *DB_FishSkill) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *DB_FishSkill) GetLimit() int32 { if x != nil { return x.Limit } return 0 } func (x *DB_FishSkill) GetMutex() int32 { if x != nil { return x.Mutex } return 0 } func (x *DB_FishSkill) GetMutexTime() int32 { if x != nil { return x.MutexTime } return 0 } func (x *DB_FishSkill) GetFury() int32 { if x != nil { return x.Fury } return 0 } type DB_FishSkillArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_FishSkill `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FishSkillArray) Reset() { *x = DB_FishSkillArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FishSkillArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FishSkillArray) ProtoMessage() {} func (x *DB_FishSkillArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FishSkillArray.ProtoReflect.Descriptor instead. func (*DB_FishSkillArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{41} } func (x *DB_FishSkillArray) GetArr() []*DB_FishSkill { if x != nil { return x.Arr } return nil } type DB_FortuneGod_Odds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Rateodds3 int32 `protobuf:"varint,3,opt,name=Rateodds3,proto3" json:"Rateodds3,omitempty"` Rateodds4 int32 `protobuf:"varint,4,opt,name=Rateodds4,proto3" json:"Rateodds4,omitempty"` Rateodds5 int32 `protobuf:"varint,5,opt,name=Rateodds5,proto3" json:"Rateodds5,omitempty"` } func (x *DB_FortuneGod_Odds) Reset() { *x = DB_FortuneGod_Odds{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FortuneGod_Odds) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FortuneGod_Odds) ProtoMessage() {} func (x *DB_FortuneGod_Odds) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FortuneGod_Odds.ProtoReflect.Descriptor instead. func (*DB_FortuneGod_Odds) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{42} } func (x *DB_FortuneGod_Odds) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_FortuneGod_Odds) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_FortuneGod_Odds) GetRateodds3() int32 { if x != nil { return x.Rateodds3 } return 0 } func (x *DB_FortuneGod_Odds) GetRateodds4() int32 { if x != nil { return x.Rateodds4 } return 0 } func (x *DB_FortuneGod_Odds) GetRateodds5() int32 { if x != nil { return x.Rateodds5 } return 0 } type DB_FortuneGod_OddsArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_FortuneGod_Odds `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FortuneGod_OddsArray) Reset() { *x = DB_FortuneGod_OddsArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FortuneGod_OddsArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FortuneGod_OddsArray) ProtoMessage() {} func (x *DB_FortuneGod_OddsArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FortuneGod_OddsArray.ProtoReflect.Descriptor instead. func (*DB_FortuneGod_OddsArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{43} } func (x *DB_FortuneGod_OddsArray) GetArr() []*DB_FortuneGod_Odds { if x != nil { return x.Arr } return nil } type DB_FortuneGod_TurnRate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` ReturnRateMin int32 `protobuf:"varint,2,opt,name=ReturnRateMin,proto3" json:"ReturnRateMin,omitempty"` ReturnRateMax int32 `protobuf:"varint,3,opt,name=ReturnRateMax,proto3" json:"ReturnRateMax,omitempty"` Chance []int32 `protobuf:"varint,4,rep,packed,name=Chance,proto3" json:"Chance,omitempty"` } func (x *DB_FortuneGod_TurnRate) Reset() { *x = DB_FortuneGod_TurnRate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FortuneGod_TurnRate) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FortuneGod_TurnRate) ProtoMessage() {} func (x *DB_FortuneGod_TurnRate) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FortuneGod_TurnRate.ProtoReflect.Descriptor instead. func (*DB_FortuneGod_TurnRate) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{44} } func (x *DB_FortuneGod_TurnRate) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_FortuneGod_TurnRate) GetReturnRateMin() int32 { if x != nil { return x.ReturnRateMin } return 0 } func (x *DB_FortuneGod_TurnRate) GetReturnRateMax() int32 { if x != nil { return x.ReturnRateMax } return 0 } func (x *DB_FortuneGod_TurnRate) GetChance() []int32 { if x != nil { return x.Chance } return nil } type DB_FortuneGod_TurnRateArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_FortuneGod_TurnRate `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FortuneGod_TurnRateArray) Reset() { *x = DB_FortuneGod_TurnRateArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FortuneGod_TurnRateArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FortuneGod_TurnRateArray) ProtoMessage() {} func (x *DB_FortuneGod_TurnRateArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FortuneGod_TurnRateArray.ProtoReflect.Descriptor instead. func (*DB_FortuneGod_TurnRateArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{45} } func (x *DB_FortuneGod_TurnRateArray) GetArr() []*DB_FortuneGod_TurnRate { if x != nil { return x.Arr } return nil } type DB_FortuneGod_Weight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Weight []int32 `protobuf:"varint,3,rep,packed,name=Weight,proto3" json:"Weight,omitempty"` } func (x *DB_FortuneGod_Weight) Reset() { *x = DB_FortuneGod_Weight{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FortuneGod_Weight) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FortuneGod_Weight) ProtoMessage() {} func (x *DB_FortuneGod_Weight) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FortuneGod_Weight.ProtoReflect.Descriptor instead. func (*DB_FortuneGod_Weight) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{46} } func (x *DB_FortuneGod_Weight) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_FortuneGod_Weight) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_FortuneGod_Weight) GetWeight() []int32 { if x != nil { return x.Weight } return nil } type DB_FortuneGod_WeightArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_FortuneGod_Weight `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FortuneGod_WeightArray) Reset() { *x = DB_FortuneGod_WeightArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FortuneGod_WeightArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FortuneGod_WeightArray) ProtoMessage() {} func (x *DB_FortuneGod_WeightArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FortuneGod_WeightArray.ProtoReflect.Descriptor instead. func (*DB_FortuneGod_WeightArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{47} } func (x *DB_FortuneGod_WeightArray) GetArr() []*DB_FortuneGod_Weight { if x != nil { return x.Arr } return nil } type DB_FortuneGod_WeightCondition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` IsNew int32 `protobuf:"varint,2,opt,name=IsNew,proto3" json:"IsNew,omitempty"` BetScope []int32 `protobuf:"varint,3,rep,packed,name=BetScope,proto3" json:"BetScope,omitempty"` TrueCalcRate []int32 `protobuf:"varint,4,rep,packed,name=TrueCalcRate,proto3" json:"TrueCalcRate,omitempty"` WeightId int32 `protobuf:"varint,5,opt,name=WeightId,proto3" json:"WeightId,omitempty"` } func (x *DB_FortuneGod_WeightCondition) Reset() { *x = DB_FortuneGod_WeightCondition{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FortuneGod_WeightCondition) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FortuneGod_WeightCondition) ProtoMessage() {} func (x *DB_FortuneGod_WeightCondition) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FortuneGod_WeightCondition.ProtoReflect.Descriptor instead. func (*DB_FortuneGod_WeightCondition) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{48} } func (x *DB_FortuneGod_WeightCondition) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_FortuneGod_WeightCondition) GetIsNew() int32 { if x != nil { return x.IsNew } return 0 } func (x *DB_FortuneGod_WeightCondition) GetBetScope() []int32 { if x != nil { return x.BetScope } return nil } func (x *DB_FortuneGod_WeightCondition) GetTrueCalcRate() []int32 { if x != nil { return x.TrueCalcRate } return nil } func (x *DB_FortuneGod_WeightCondition) GetWeightId() int32 { if x != nil { return x.WeightId } return 0 } type DB_FortuneGod_WeightConditionArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_FortuneGod_WeightCondition `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_FortuneGod_WeightConditionArray) Reset() { *x = DB_FortuneGod_WeightConditionArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_FortuneGod_WeightConditionArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_FortuneGod_WeightConditionArray) ProtoMessage() {} func (x *DB_FortuneGod_WeightConditionArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_FortuneGod_WeightConditionArray.ProtoReflect.Descriptor instead. func (*DB_FortuneGod_WeightConditionArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{49} } func (x *DB_FortuneGod_WeightConditionArray) GetArr() []*DB_FortuneGod_WeightCondition { if x != nil { return x.Arr } return nil } type DB_GamMatchLV struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Star []int32 `protobuf:"varint,2,rep,packed,name=Star,proto3" json:"Star,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Star2 int32 `protobuf:"varint,4,opt,name=Star2,proto3" json:"Star2,omitempty"` AwardType1 int32 `protobuf:"varint,5,opt,name=AwardType1,proto3" json:"AwardType1,omitempty"` AwardId1 int32 `protobuf:"varint,6,opt,name=AwardId1,proto3" json:"AwardId1,omitempty"` Number1 int32 `protobuf:"varint,7,opt,name=Number1,proto3" json:"Number1,omitempty"` AwardType2 int32 `protobuf:"varint,8,opt,name=AwardType2,proto3" json:"AwardType2,omitempty"` AwardId2 int32 `protobuf:"varint,9,opt,name=AwardId2,proto3" json:"AwardId2,omitempty"` Number2 int32 `protobuf:"varint,10,opt,name=Number2,proto3" json:"Number2,omitempty"` AwardType3 int32 `protobuf:"varint,11,opt,name=AwardType3,proto3" json:"AwardType3,omitempty"` AwardId3 int32 `protobuf:"varint,12,opt,name=AwardId3,proto3" json:"AwardId3,omitempty"` Number3 int32 `protobuf:"varint,13,opt,name=Number3,proto3" json:"Number3,omitempty"` } func (x *DB_GamMatchLV) Reset() { *x = DB_GamMatchLV{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GamMatchLV) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GamMatchLV) ProtoMessage() {} func (x *DB_GamMatchLV) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GamMatchLV.ProtoReflect.Descriptor instead. func (*DB_GamMatchLV) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{50} } func (x *DB_GamMatchLV) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GamMatchLV) GetStar() []int32 { if x != nil { return x.Star } return nil } func (x *DB_GamMatchLV) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_GamMatchLV) GetStar2() int32 { if x != nil { return x.Star2 } return 0 } func (x *DB_GamMatchLV) GetAwardType1() int32 { if x != nil { return x.AwardType1 } return 0 } func (x *DB_GamMatchLV) GetAwardId1() int32 { if x != nil { return x.AwardId1 } return 0 } func (x *DB_GamMatchLV) GetNumber1() int32 { if x != nil { return x.Number1 } return 0 } func (x *DB_GamMatchLV) GetAwardType2() int32 { if x != nil { return x.AwardType2 } return 0 } func (x *DB_GamMatchLV) GetAwardId2() int32 { if x != nil { return x.AwardId2 } return 0 } func (x *DB_GamMatchLV) GetNumber2() int32 { if x != nil { return x.Number2 } return 0 } func (x *DB_GamMatchLV) GetAwardType3() int32 { if x != nil { return x.AwardType3 } return 0 } func (x *DB_GamMatchLV) GetAwardId3() int32 { if x != nil { return x.AwardId3 } return 0 } func (x *DB_GamMatchLV) GetNumber3() int32 { if x != nil { return x.Number3 } return 0 } type DB_GamMatchLVArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GamMatchLV `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GamMatchLVArray) Reset() { *x = DB_GamMatchLVArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GamMatchLVArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GamMatchLVArray) ProtoMessage() {} func (x *DB_GamMatchLVArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GamMatchLVArray.ProtoReflect.Descriptor instead. func (*DB_GamMatchLVArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{51} } func (x *DB_GamMatchLVArray) GetArr() []*DB_GamMatchLV { if x != nil { return x.Arr } return nil } type DB_GameCoinPool struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` InitValue int64 `protobuf:"varint,2,opt,name=InitValue,proto3" json:"InitValue,omitempty"` LowerLimit int64 `protobuf:"varint,3,opt,name=LowerLimit,proto3" json:"LowerLimit,omitempty"` UpperLimit int64 `protobuf:"varint,4,opt,name=UpperLimit,proto3" json:"UpperLimit,omitempty"` QuDu int64 `protobuf:"varint,5,opt,name=QuDu,proto3" json:"QuDu,omitempty"` UpperOdds int32 `protobuf:"varint,6,opt,name=UpperOdds,proto3" json:"UpperOdds,omitempty"` UpperOddsMax int32 `protobuf:"varint,7,opt,name=UpperOddsMax,proto3" json:"UpperOddsMax,omitempty"` LowerOdds int32 `protobuf:"varint,8,opt,name=LowerOdds,proto3" json:"LowerOdds,omitempty"` LowerOddsMax int32 `protobuf:"varint,9,opt,name=LowerOddsMax,proto3" json:"LowerOddsMax,omitempty"` ProfitRate int32 `protobuf:"varint,10,opt,name=ProfitRate,proto3" json:"ProfitRate,omitempty"` CtrlRate int32 `protobuf:"varint,11,opt,name=CtrlRate,proto3" json:"CtrlRate,omitempty"` InitNovicValue int64 `protobuf:"varint,12,opt,name=InitNovicValue,proto3" json:"InitNovicValue,omitempty"` } func (x *DB_GameCoinPool) Reset() { *x = DB_GameCoinPool{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameCoinPool) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameCoinPool) ProtoMessage() {} func (x *DB_GameCoinPool) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameCoinPool.ProtoReflect.Descriptor instead. func (*DB_GameCoinPool) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{52} } func (x *DB_GameCoinPool) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GameCoinPool) GetInitValue() int64 { if x != nil { return x.InitValue } return 0 } func (x *DB_GameCoinPool) GetLowerLimit() int64 { if x != nil { return x.LowerLimit } return 0 } func (x *DB_GameCoinPool) GetUpperLimit() int64 { if x != nil { return x.UpperLimit } return 0 } func (x *DB_GameCoinPool) GetQuDu() int64 { if x != nil { return x.QuDu } return 0 } func (x *DB_GameCoinPool) GetUpperOdds() int32 { if x != nil { return x.UpperOdds } return 0 } func (x *DB_GameCoinPool) GetUpperOddsMax() int32 { if x != nil { return x.UpperOddsMax } return 0 } func (x *DB_GameCoinPool) GetLowerOdds() int32 { if x != nil { return x.LowerOdds } return 0 } func (x *DB_GameCoinPool) GetLowerOddsMax() int32 { if x != nil { return x.LowerOddsMax } return 0 } func (x *DB_GameCoinPool) GetProfitRate() int32 { if x != nil { return x.ProfitRate } return 0 } func (x *DB_GameCoinPool) GetCtrlRate() int32 { if x != nil { return x.CtrlRate } return 0 } func (x *DB_GameCoinPool) GetInitNovicValue() int64 { if x != nil { return x.InitNovicValue } return 0 } type DB_GameCoinPoolArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GameCoinPool `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GameCoinPoolArray) Reset() { *x = DB_GameCoinPoolArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameCoinPoolArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameCoinPoolArray) ProtoMessage() {} func (x *DB_GameCoinPoolArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameCoinPoolArray.ProtoReflect.Descriptor instead. func (*DB_GameCoinPoolArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{53} } func (x *DB_GameCoinPoolArray) GetArr() []*DB_GameCoinPool { if x != nil { return x.Arr } return nil } type DB_GameFree struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Title string `protobuf:"bytes,3,opt,name=Title,proto3" json:"Title,omitempty"` GameId int32 `protobuf:"varint,4,opt,name=GameId,proto3" json:"GameId,omitempty"` GameMode int32 `protobuf:"varint,5,opt,name=GameMode,proto3" json:"GameMode,omitempty"` FreeMode int32 `protobuf:"varint,6,opt,name=FreeMode,proto3" json:"FreeMode,omitempty"` GameRule int32 `protobuf:"varint,7,opt,name=GameRule,proto3" json:"GameRule,omitempty"` GameType int32 `protobuf:"varint,8,opt,name=GameType,proto3" json:"GameType,omitempty"` SceneType int32 `protobuf:"varint,9,opt,name=SceneType,proto3" json:"SceneType,omitempty"` RankType int32 `protobuf:"varint,10,opt,name=RankType,proto3" json:"RankType,omitempty"` SceneAdd int32 `protobuf:"varint,11,opt,name=SceneAdd,proto3" json:"SceneAdd,omitempty"` Desc string `protobuf:"bytes,12,opt,name=Desc,proto3" json:"Desc,omitempty"` ShowType int32 `protobuf:"varint,13,opt,name=ShowType,proto3" json:"ShowType,omitempty"` SubShowType int32 `protobuf:"varint,14,opt,name=SubShowType,proto3" json:"SubShowType,omitempty"` Flag int32 `protobuf:"varint,15,opt,name=Flag,proto3" json:"Flag,omitempty"` TestTakeCoin int32 `protobuf:"varint,16,opt,name=TestTakeCoin,proto3" json:"TestTakeCoin,omitempty"` ShowId int32 `protobuf:"varint,17,opt,name=ShowId,proto3" json:"ShowId,omitempty"` LimitCoin int64 `protobuf:"varint,18,opt,name=LimitCoin,proto3" json:"LimitCoin,omitempty"` MaxCoinLimit int64 `protobuf:"varint,19,opt,name=MaxCoinLimit,proto3" json:"MaxCoinLimit,omitempty"` ServiceFee int32 `protobuf:"varint,20,opt,name=ServiceFee,proto3" json:"ServiceFee,omitempty"` LowerThanKick int64 `protobuf:"varint,21,opt,name=LowerThanKick,proto3" json:"LowerThanKick,omitempty"` BaseScore int32 `protobuf:"varint,22,opt,name=BaseScore,proto3" json:"BaseScore,omitempty"` Turn int32 `protobuf:"varint,23,opt,name=Turn,proto3" json:"Turn,omitempty"` BetDec string `protobuf:"bytes,24,opt,name=BetDec,proto3" json:"BetDec,omitempty"` Bot int32 `protobuf:"varint,25,opt,name=Bot,proto3" json:"Bot,omitempty"` Ai []int32 `protobuf:"varint,26,rep,packed,name=Ai,proto3" json:"Ai,omitempty"` Banker int32 `protobuf:"varint,27,opt,name=Banker,proto3" json:"Banker,omitempty"` MaxChip int32 `protobuf:"varint,28,opt,name=MaxChip,proto3" json:"MaxChip,omitempty"` OtherIntParams []int64 `protobuf:"varint,29,rep,packed,name=OtherIntParams,proto3" json:"OtherIntParams,omitempty"` ChessScoreParams []int64 `protobuf:"varint,30,rep,packed,name=ChessScoreParams,proto3" json:"ChessScoreParams,omitempty"` RankScoreParams []int64 `protobuf:"varint,31,rep,packed,name=RankScoreParams,proto3" json:"RankScoreParams,omitempty"` Jackpot []int32 `protobuf:"varint,32,rep,packed,name=Jackpot,proto3" json:"Jackpot,omitempty"` RobotNumRng []int32 `protobuf:"varint,33,rep,packed,name=RobotNumRng,proto3" json:"RobotNumRng,omitempty"` RobotTakeCoin []int64 `protobuf:"varint,34,rep,packed,name=RobotTakeCoin,proto3" json:"RobotTakeCoin,omitempty"` RobotLimitCoin []int64 `protobuf:"varint,35,rep,packed,name=RobotLimitCoin,proto3" json:"RobotLimitCoin,omitempty"` BetLimit int32 `protobuf:"varint,36,opt,name=BetLimit,proto3" json:"BetLimit,omitempty"` TaxRate int32 `protobuf:"varint,37,opt,name=TaxRate,proto3" json:"TaxRate,omitempty"` SameIpLimit int32 `protobuf:"varint,38,opt,name=SameIpLimit,proto3" json:"SameIpLimit,omitempty"` SamePlaceLimit int32 `protobuf:"varint,39,opt,name=SamePlaceLimit,proto3" json:"SamePlaceLimit,omitempty"` GameDif string `protobuf:"bytes,40,opt,name=GameDif,proto3" json:"GameDif,omitempty"` GameClass int32 `protobuf:"varint,41,opt,name=GameClass,proto3" json:"GameClass,omitempty"` PlatformName string `protobuf:"bytes,42,opt,name=PlatformName,proto3" json:"PlatformName,omitempty"` MaxBetCoin []int32 `protobuf:"varint,43,rep,packed,name=MaxBetCoin,proto3" json:"MaxBetCoin,omitempty"` PlayNumLimit int32 `protobuf:"varint,44,opt,name=PlayNumLimit,proto3" json:"PlayNumLimit,omitempty"` CreateRoomNum int32 `protobuf:"varint,45,opt,name=CreateRoomNum,proto3" json:"CreateRoomNum,omitempty"` MatchTrueMan int32 `protobuf:"varint,46,opt,name=MatchTrueMan,proto3" json:"MatchTrueMan,omitempty"` PlayerWaterRate int32 `protobuf:"varint,47,opt,name=PlayerWaterRate,proto3" json:"PlayerWaterRate,omitempty"` MatchMode int32 `protobuf:"varint,48,opt,name=MatchMode,proto3" json:"MatchMode,omitempty"` KillingRate int32 `protobuf:"varint,49,opt,name=KillingRate,proto3" json:"KillingRate,omitempty"` BetWaterRate int32 `protobuf:"varint,50,opt,name=BetWaterRate,proto3" json:"BetWaterRate,omitempty"` Lottery int32 `protobuf:"varint,51,opt,name=Lottery,proto3" json:"Lottery,omitempty"` LotteryConfig string `protobuf:"bytes,52,opt,name=LotteryConfig,proto3" json:"LotteryConfig,omitempty"` BalanceLine []int32 `protobuf:"varint,53,rep,packed,name=BalanceLine,proto3" json:"BalanceLine,omitempty"` JackpotRatio int32 `protobuf:"varint,54,opt,name=JackpotRatio,proto3" json:"JackpotRatio,omitempty"` JackpotMin int32 `protobuf:"varint,55,opt,name=JackpotMin,proto3" json:"JackpotMin,omitempty"` ChessGradeLimit []int32 `protobuf:"varint,56,rep,packed,name=ChessGradeLimit,proto3" json:"ChessGradeLimit,omitempty"` LeaveDeduct int32 `protobuf:"varint,57,opt,name=LeaveDeduct,proto3" json:"LeaveDeduct,omitempty"` LeaveCombat int32 `protobuf:"varint,58,opt,name=LeaveCombat,proto3" json:"LeaveCombat,omitempty"` IntuseCannonMin int32 `protobuf:"varint,59,opt,name=IntuseCannonMin,proto3" json:"IntuseCannonMin,omitempty"` IntuseCannonMax int32 `protobuf:"varint,60,opt,name=IntuseCannonMax,proto3" json:"IntuseCannonMax,omitempty"` BossDrainageBet int32 `protobuf:"varint,61,opt,name=BossDrainageBet,proto3" json:"BossDrainageBet,omitempty"` Draw int32 `protobuf:"varint,62,opt,name=Draw,proto3" json:"Draw,omitempty"` Fluctuate int64 `protobuf:"varint,63,opt,name=Fluctuate,proto3" json:"Fluctuate,omitempty"` FluctuateMax string `protobuf:"bytes,64,opt,name=FluctuateMax,proto3" json:"FluctuateMax,omitempty"` Ratio int32 `protobuf:"varint,65,opt,name=Ratio,proto3" json:"Ratio,omitempty"` MinValue int64 `protobuf:"varint,66,opt,name=MinValue,proto3" json:"MinValue,omitempty"` MaxValue int64 `protobuf:"varint,67,opt,name=MaxValue,proto3" json:"MaxValue,omitempty"` DrainageBet int32 `protobuf:"varint,68,opt,name=DrainageBet,proto3" json:"DrainageBet,omitempty"` DiamondDrop int32 `protobuf:"varint,69,opt,name=DiamondDrop,proto3" json:"DiamondDrop,omitempty"` NegativeMax int32 `protobuf:"varint,70,opt,name=NegativeMax,proto3" json:"NegativeMax,omitempty"` RatioMax int32 `protobuf:"varint,71,opt,name=RatioMax,proto3" json:"RatioMax,omitempty"` IsDrop int32 `protobuf:"varint,72,opt,name=IsDrop,proto3" json:"IsDrop,omitempty"` IsCustom int32 `protobuf:"varint,73,opt,name=IsCustom,proto3" json:"IsCustom,omitempty"` } func (x *DB_GameFree) Reset() { *x = DB_GameFree{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameFree) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameFree) ProtoMessage() {} func (x *DB_GameFree) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameFree.ProtoReflect.Descriptor instead. func (*DB_GameFree) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{54} } func (x *DB_GameFree) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GameFree) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_GameFree) GetTitle() string { if x != nil { return x.Title } return "" } func (x *DB_GameFree) GetGameId() int32 { if x != nil { return x.GameId } return 0 } func (x *DB_GameFree) GetGameMode() int32 { if x != nil { return x.GameMode } return 0 } func (x *DB_GameFree) GetFreeMode() int32 { if x != nil { return x.FreeMode } return 0 } func (x *DB_GameFree) GetGameRule() int32 { if x != nil { return x.GameRule } return 0 } func (x *DB_GameFree) GetGameType() int32 { if x != nil { return x.GameType } return 0 } func (x *DB_GameFree) GetSceneType() int32 { if x != nil { return x.SceneType } return 0 } func (x *DB_GameFree) GetRankType() int32 { if x != nil { return x.RankType } return 0 } func (x *DB_GameFree) GetSceneAdd() int32 { if x != nil { return x.SceneAdd } return 0 } func (x *DB_GameFree) GetDesc() string { if x != nil { return x.Desc } return "" } func (x *DB_GameFree) GetShowType() int32 { if x != nil { return x.ShowType } return 0 } func (x *DB_GameFree) GetSubShowType() int32 { if x != nil { return x.SubShowType } return 0 } func (x *DB_GameFree) GetFlag() int32 { if x != nil { return x.Flag } return 0 } func (x *DB_GameFree) GetTestTakeCoin() int32 { if x != nil { return x.TestTakeCoin } return 0 } func (x *DB_GameFree) GetShowId() int32 { if x != nil { return x.ShowId } return 0 } func (x *DB_GameFree) GetLimitCoin() int64 { if x != nil { return x.LimitCoin } return 0 } func (x *DB_GameFree) GetMaxCoinLimit() int64 { if x != nil { return x.MaxCoinLimit } return 0 } func (x *DB_GameFree) GetServiceFee() int32 { if x != nil { return x.ServiceFee } return 0 } func (x *DB_GameFree) GetLowerThanKick() int64 { if x != nil { return x.LowerThanKick } return 0 } func (x *DB_GameFree) GetBaseScore() int32 { if x != nil { return x.BaseScore } return 0 } func (x *DB_GameFree) GetTurn() int32 { if x != nil { return x.Turn } return 0 } func (x *DB_GameFree) GetBetDec() string { if x != nil { return x.BetDec } return "" } func (x *DB_GameFree) GetBot() int32 { if x != nil { return x.Bot } return 0 } func (x *DB_GameFree) GetAi() []int32 { if x != nil { return x.Ai } return nil } func (x *DB_GameFree) GetBanker() int32 { if x != nil { return x.Banker } return 0 } func (x *DB_GameFree) GetMaxChip() int32 { if x != nil { return x.MaxChip } return 0 } func (x *DB_GameFree) GetOtherIntParams() []int64 { if x != nil { return x.OtherIntParams } return nil } func (x *DB_GameFree) GetChessScoreParams() []int64 { if x != nil { return x.ChessScoreParams } return nil } func (x *DB_GameFree) GetRankScoreParams() []int64 { if x != nil { return x.RankScoreParams } return nil } func (x *DB_GameFree) GetJackpot() []int32 { if x != nil { return x.Jackpot } return nil } func (x *DB_GameFree) GetRobotNumRng() []int32 { if x != nil { return x.RobotNumRng } return nil } func (x *DB_GameFree) GetRobotTakeCoin() []int64 { if x != nil { return x.RobotTakeCoin } return nil } func (x *DB_GameFree) GetRobotLimitCoin() []int64 { if x != nil { return x.RobotLimitCoin } return nil } func (x *DB_GameFree) GetBetLimit() int32 { if x != nil { return x.BetLimit } return 0 } func (x *DB_GameFree) GetTaxRate() int32 { if x != nil { return x.TaxRate } return 0 } func (x *DB_GameFree) GetSameIpLimit() int32 { if x != nil { return x.SameIpLimit } return 0 } func (x *DB_GameFree) GetSamePlaceLimit() int32 { if x != nil { return x.SamePlaceLimit } return 0 } func (x *DB_GameFree) GetGameDif() string { if x != nil { return x.GameDif } return "" } func (x *DB_GameFree) GetGameClass() int32 { if x != nil { return x.GameClass } return 0 } func (x *DB_GameFree) GetPlatformName() string { if x != nil { return x.PlatformName } return "" } func (x *DB_GameFree) GetMaxBetCoin() []int32 { if x != nil { return x.MaxBetCoin } return nil } func (x *DB_GameFree) GetPlayNumLimit() int32 { if x != nil { return x.PlayNumLimit } return 0 } func (x *DB_GameFree) GetCreateRoomNum() int32 { if x != nil { return x.CreateRoomNum } return 0 } func (x *DB_GameFree) GetMatchTrueMan() int32 { if x != nil { return x.MatchTrueMan } return 0 } func (x *DB_GameFree) GetPlayerWaterRate() int32 { if x != nil { return x.PlayerWaterRate } return 0 } func (x *DB_GameFree) GetMatchMode() int32 { if x != nil { return x.MatchMode } return 0 } func (x *DB_GameFree) GetKillingRate() int32 { if x != nil { return x.KillingRate } return 0 } func (x *DB_GameFree) GetBetWaterRate() int32 { if x != nil { return x.BetWaterRate } return 0 } func (x *DB_GameFree) GetLottery() int32 { if x != nil { return x.Lottery } return 0 } func (x *DB_GameFree) GetLotteryConfig() string { if x != nil { return x.LotteryConfig } return "" } func (x *DB_GameFree) GetBalanceLine() []int32 { if x != nil { return x.BalanceLine } return nil } func (x *DB_GameFree) GetJackpotRatio() int32 { if x != nil { return x.JackpotRatio } return 0 } func (x *DB_GameFree) GetJackpotMin() int32 { if x != nil { return x.JackpotMin } return 0 } func (x *DB_GameFree) GetChessGradeLimit() []int32 { if x != nil { return x.ChessGradeLimit } return nil } func (x *DB_GameFree) GetLeaveDeduct() int32 { if x != nil { return x.LeaveDeduct } return 0 } func (x *DB_GameFree) GetLeaveCombat() int32 { if x != nil { return x.LeaveCombat } return 0 } func (x *DB_GameFree) GetIntuseCannonMin() int32 { if x != nil { return x.IntuseCannonMin } return 0 } func (x *DB_GameFree) GetIntuseCannonMax() int32 { if x != nil { return x.IntuseCannonMax } return 0 } func (x *DB_GameFree) GetBossDrainageBet() int32 { if x != nil { return x.BossDrainageBet } return 0 } func (x *DB_GameFree) GetDraw() int32 { if x != nil { return x.Draw } return 0 } func (x *DB_GameFree) GetFluctuate() int64 { if x != nil { return x.Fluctuate } return 0 } func (x *DB_GameFree) GetFluctuateMax() string { if x != nil { return x.FluctuateMax } return "" } func (x *DB_GameFree) GetRatio() int32 { if x != nil { return x.Ratio } return 0 } func (x *DB_GameFree) GetMinValue() int64 { if x != nil { return x.MinValue } return 0 } func (x *DB_GameFree) GetMaxValue() int64 { if x != nil { return x.MaxValue } return 0 } func (x *DB_GameFree) GetDrainageBet() int32 { if x != nil { return x.DrainageBet } return 0 } func (x *DB_GameFree) GetDiamondDrop() int32 { if x != nil { return x.DiamondDrop } return 0 } func (x *DB_GameFree) GetNegativeMax() int32 { if x != nil { return x.NegativeMax } return 0 } func (x *DB_GameFree) GetRatioMax() int32 { if x != nil { return x.RatioMax } return 0 } func (x *DB_GameFree) GetIsDrop() int32 { if x != nil { return x.IsDrop } return 0 } func (x *DB_GameFree) GetIsCustom() int32 { if x != nil { return x.IsCustom } return 0 } type DB_GameFreeArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GameFree `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GameFreeArray) Reset() { *x = DB_GameFreeArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameFreeArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameFreeArray) ProtoMessage() {} func (x *DB_GameFreeArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameFreeArray.ProtoReflect.Descriptor instead. func (*DB_GameFreeArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{55} } func (x *DB_GameFreeArray) GetArr() []*DB_GameFree { if x != nil { return x.Arr } return nil } type DB_GameItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` ShowLocation []int32 `protobuf:"varint,3,rep,packed,name=ShowLocation,proto3" json:"ShowLocation,omitempty"` Classify []int32 `protobuf:"varint,4,rep,packed,name=Classify,proto3" json:"Classify,omitempty"` Type int32 `protobuf:"varint,5,opt,name=Type,proto3" json:"Type,omitempty"` Effect0 []int32 `protobuf:"varint,6,rep,packed,name=Effect0,proto3" json:"Effect0,omitempty"` Effect []int32 `protobuf:"varint,7,rep,packed,name=Effect,proto3" json:"Effect,omitempty"` SaleType int32 `protobuf:"varint,8,opt,name=SaleType,proto3" json:"SaleType,omitempty"` SaleGold int32 `protobuf:"varint,9,opt,name=SaleGold,proto3" json:"SaleGold,omitempty"` Composition int32 `protobuf:"varint,10,opt,name=Composition,proto3" json:"Composition,omitempty"` CompositionMax int32 `protobuf:"varint,11,opt,name=CompositionMax,proto3" json:"CompositionMax,omitempty"` Time int32 `protobuf:"varint,12,opt,name=Time,proto3" json:"Time,omitempty"` Location string `protobuf:"bytes,13,opt,name=Location,proto3" json:"Location,omitempty"` Describe string `protobuf:"bytes,14,opt,name=Describe,proto3" json:"Describe,omitempty"` Num int64 `protobuf:"varint,15,opt,name=Num,proto3" json:"Num,omitempty"` Value string `protobuf:"bytes,16,opt,name=Value,proto3" json:"Value,omitempty"` Entity int32 `protobuf:"varint,17,opt,name=Entity,proto3" json:"Entity,omitempty"` Icon string `protobuf:"bytes,18,opt,name=Icon,proto3" json:"Icon,omitempty"` Gain map[int64]int64 `protobuf:"bytes,19,rep,name=Gain,proto3" json:"Gain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` Compound map[int64]int64 `protobuf:"bytes,20,rep,name=Compound,proto3" json:"Compound,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *DB_GameItem) Reset() { *x = DB_GameItem{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameItem) ProtoMessage() {} func (x *DB_GameItem) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameItem.ProtoReflect.Descriptor instead. func (*DB_GameItem) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{56} } func (x *DB_GameItem) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GameItem) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_GameItem) GetShowLocation() []int32 { if x != nil { return x.ShowLocation } return nil } func (x *DB_GameItem) GetClassify() []int32 { if x != nil { return x.Classify } return nil } func (x *DB_GameItem) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *DB_GameItem) GetEffect0() []int32 { if x != nil { return x.Effect0 } return nil } func (x *DB_GameItem) GetEffect() []int32 { if x != nil { return x.Effect } return nil } func (x *DB_GameItem) GetSaleType() int32 { if x != nil { return x.SaleType } return 0 } func (x *DB_GameItem) GetSaleGold() int32 { if x != nil { return x.SaleGold } return 0 } func (x *DB_GameItem) GetComposition() int32 { if x != nil { return x.Composition } return 0 } func (x *DB_GameItem) GetCompositionMax() int32 { if x != nil { return x.CompositionMax } return 0 } func (x *DB_GameItem) GetTime() int32 { if x != nil { return x.Time } return 0 } func (x *DB_GameItem) GetLocation() string { if x != nil { return x.Location } return "" } func (x *DB_GameItem) GetDescribe() string { if x != nil { return x.Describe } return "" } func (x *DB_GameItem) GetNum() int64 { if x != nil { return x.Num } return 0 } func (x *DB_GameItem) GetValue() string { if x != nil { return x.Value } return "" } func (x *DB_GameItem) GetEntity() int32 { if x != nil { return x.Entity } return 0 } func (x *DB_GameItem) GetIcon() string { if x != nil { return x.Icon } return "" } func (x *DB_GameItem) GetGain() map[int64]int64 { if x != nil { return x.Gain } return nil } func (x *DB_GameItem) GetCompound() map[int64]int64 { if x != nil { return x.Compound } return nil } type DB_GameItemArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GameItem `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GameItemArray) Reset() { *x = DB_GameItemArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameItemArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameItemArray) ProtoMessage() {} func (x *DB_GameItemArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameItemArray.ProtoReflect.Descriptor instead. func (*DB_GameItemArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{57} } func (x *DB_GameItemArray) GetArr() []*DB_GameItem { if x != nil { return x.Arr } return nil } type DB_GameMatchLevel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` GameFreeId int32 `protobuf:"varint,2,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` MatchLevel int32 `protobuf:"varint,3,opt,name=MatchLevel,proto3" json:"MatchLevel,omitempty"` RobotUpRatio int32 `protobuf:"varint,4,opt,name=RobotUpRatio,proto3" json:"RobotUpRatio,omitempty"` UpGrade []int32 `protobuf:"varint,5,rep,packed,name=UpGrade,proto3" json:"UpGrade,omitempty"` UpGradeOdds []int32 `protobuf:"varint,6,rep,packed,name=UpGradeOdds,proto3" json:"UpGradeOdds,omitempty"` DownGrade []int32 `protobuf:"varint,7,rep,packed,name=DownGrade,proto3" json:"DownGrade,omitempty"` DownGradeOdds []int32 `protobuf:"varint,8,rep,packed,name=DownGradeOdds,proto3" json:"DownGradeOdds,omitempty"` } func (x *DB_GameMatchLevel) Reset() { *x = DB_GameMatchLevel{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameMatchLevel) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameMatchLevel) ProtoMessage() {} func (x *DB_GameMatchLevel) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameMatchLevel.ProtoReflect.Descriptor instead. func (*DB_GameMatchLevel) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{58} } func (x *DB_GameMatchLevel) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GameMatchLevel) GetGameFreeId() int32 { if x != nil { return x.GameFreeId } return 0 } func (x *DB_GameMatchLevel) GetMatchLevel() int32 { if x != nil { return x.MatchLevel } return 0 } func (x *DB_GameMatchLevel) GetRobotUpRatio() int32 { if x != nil { return x.RobotUpRatio } return 0 } func (x *DB_GameMatchLevel) GetUpGrade() []int32 { if x != nil { return x.UpGrade } return nil } func (x *DB_GameMatchLevel) GetUpGradeOdds() []int32 { if x != nil { return x.UpGradeOdds } return nil } func (x *DB_GameMatchLevel) GetDownGrade() []int32 { if x != nil { return x.DownGrade } return nil } func (x *DB_GameMatchLevel) GetDownGradeOdds() []int32 { if x != nil { return x.DownGradeOdds } return nil } type DB_GameMatchLevelArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GameMatchLevel `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GameMatchLevelArray) Reset() { *x = DB_GameMatchLevelArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameMatchLevelArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameMatchLevelArray) ProtoMessage() {} func (x *DB_GameMatchLevelArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameMatchLevelArray.ProtoReflect.Descriptor instead. func (*DB_GameMatchLevelArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{59} } func (x *DB_GameMatchLevelArray) GetArr() []*DB_GameMatchLevel { if x != nil { return x.Arr } return nil } type DB_GameRule struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` GameId int32 `protobuf:"varint,3,opt,name=GameId,proto3" json:"GameId,omitempty"` GameMode int32 `protobuf:"varint,4,opt,name=GameMode,proto3" json:"GameMode,omitempty"` Params []int32 `protobuf:"varint,5,rep,packed,name=Params,proto3" json:"Params,omitempty"` RuleDesc string `protobuf:"bytes,6,opt,name=RuleDesc,proto3" json:"RuleDesc,omitempty"` GameDif string `protobuf:"bytes,7,opt,name=GameDif,proto3" json:"GameDif,omitempty"` } func (x *DB_GameRule) Reset() { *x = DB_GameRule{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameRule) ProtoMessage() {} func (x *DB_GameRule) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameRule.ProtoReflect.Descriptor instead. func (*DB_GameRule) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{60} } func (x *DB_GameRule) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GameRule) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_GameRule) GetGameId() int32 { if x != nil { return x.GameId } return 0 } func (x *DB_GameRule) GetGameMode() int32 { if x != nil { return x.GameMode } return 0 } func (x *DB_GameRule) GetParams() []int32 { if x != nil { return x.Params } return nil } func (x *DB_GameRule) GetRuleDesc() string { if x != nil { return x.RuleDesc } return "" } func (x *DB_GameRule) GetGameDif() string { if x != nil { return x.GameDif } return "" } type DB_GameRuleArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GameRule `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GameRuleArray) Reset() { *x = DB_GameRuleArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameRuleArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameRuleArray) ProtoMessage() {} func (x *DB_GameRuleArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameRuleArray.ProtoReflect.Descriptor instead. func (*DB_GameRuleArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{61} } func (x *DB_GameRuleArray) GetArr() []*DB_GameRule { if x != nil { return x.Arr } return nil } type DB_GameSubsidy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` LimitNum int32 `protobuf:"varint,2,opt,name=LimitNum,proto3" json:"LimitNum,omitempty"` Get int32 `protobuf:"varint,3,opt,name=Get,proto3" json:"Get,omitempty"` Times int32 `protobuf:"varint,4,opt,name=Times,proto3" json:"Times,omitempty"` } func (x *DB_GameSubsidy) Reset() { *x = DB_GameSubsidy{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameSubsidy) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameSubsidy) ProtoMessage() {} func (x *DB_GameSubsidy) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameSubsidy.ProtoReflect.Descriptor instead. func (*DB_GameSubsidy) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{62} } func (x *DB_GameSubsidy) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GameSubsidy) GetLimitNum() int32 { if x != nil { return x.LimitNum } return 0 } func (x *DB_GameSubsidy) GetGet() int32 { if x != nil { return x.Get } return 0 } func (x *DB_GameSubsidy) GetTimes() int32 { if x != nil { return x.Times } return 0 } type DB_GameSubsidyArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GameSubsidy `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GameSubsidyArray) Reset() { *x = DB_GameSubsidyArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GameSubsidyArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GameSubsidyArray) ProtoMessage() {} func (x *DB_GameSubsidyArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_GameSubsidyArray.ProtoReflect.Descriptor instead. func (*DB_GameSubsidyArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{63} } func (x *DB_GameSubsidyArray) GetArr() []*DB_GameSubsidy { if x != nil { return x.Arr } return nil } type DB_Game_Drop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Bet int32 `protobuf:"varint,2,opt,name=Bet,proto3" json:"Bet,omitempty"` ItemName1 int32 `protobuf:"varint,3,opt,name=ItemName1,proto3" json:"ItemName1,omitempty"` ItemId1 int32 `protobuf:"varint,4,opt,name=ItemId1,proto3" json:"ItemId1,omitempty"` Rate1 int32 `protobuf:"varint,5,opt,name=Rate1,proto3" json:"Rate1,omitempty"` Amount1 []int32 `protobuf:"varint,6,rep,packed,name=Amount1,proto3" json:"Amount1,omitempty"` } func (x *DB_Game_Drop) Reset() { *x = DB_Game_Drop{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Game_Drop) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Game_Drop) ProtoMessage() {} func (x *DB_Game_Drop) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Game_Drop.ProtoReflect.Descriptor instead. func (*DB_Game_Drop) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{64} } func (x *DB_Game_Drop) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Game_Drop) GetBet() int32 { if x != nil { return x.Bet } return 0 } func (x *DB_Game_Drop) GetItemName1() int32 { if x != nil { return x.ItemName1 } return 0 } func (x *DB_Game_Drop) GetItemId1() int32 { if x != nil { return x.ItemId1 } return 0 } func (x *DB_Game_Drop) GetRate1() int32 { if x != nil { return x.Rate1 } return 0 } func (x *DB_Game_Drop) GetAmount1() []int32 { if x != nil { return x.Amount1 } return nil } type DB_Game_DropArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Game_Drop `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Game_DropArray) Reset() { *x = DB_Game_DropArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Game_DropArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Game_DropArray) ProtoMessage() {} func (x *DB_Game_DropArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Game_DropArray.ProtoReflect.Descriptor instead. func (*DB_Game_DropArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{65} } func (x *DB_Game_DropArray) GetArr() []*DB_Game_Drop { if x != nil { return x.Arr } return nil } type DB_Game_Introduction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Story string `protobuf:"bytes,4,opt,name=Story,proto3" json:"Story,omitempty"` AwardTitle string `protobuf:"bytes,5,opt,name=AwardTitle,proto3" json:"AwardTitle,omitempty"` LevelMax int32 `protobuf:"varint,6,opt,name=LevelMax,proto3" json:"LevelMax,omitempty"` } func (x *DB_Game_Introduction) Reset() { *x = DB_Game_Introduction{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Game_Introduction) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Game_Introduction) ProtoMessage() {} func (x *DB_Game_Introduction) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Game_Introduction.ProtoReflect.Descriptor instead. func (*DB_Game_Introduction) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{66} } func (x *DB_Game_Introduction) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Game_Introduction) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *DB_Game_Introduction) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_Game_Introduction) GetStory() string { if x != nil { return x.Story } return "" } func (x *DB_Game_Introduction) GetAwardTitle() string { if x != nil { return x.AwardTitle } return "" } func (x *DB_Game_Introduction) GetLevelMax() int32 { if x != nil { return x.LevelMax } return 0 } type DB_Game_IntroductionArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Game_Introduction `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Game_IntroductionArray) Reset() { *x = DB_Game_IntroductionArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Game_IntroductionArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Game_IntroductionArray) ProtoMessage() {} func (x *DB_Game_IntroductionArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Game_IntroductionArray.ProtoReflect.Descriptor instead. func (*DB_Game_IntroductionArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{67} } func (x *DB_Game_IntroductionArray) GetArr() []*DB_Game_Introduction { if x != nil { return x.Arr } return nil } type DB_Game_Pet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` PetId int32 `protobuf:"varint,2,opt,name=PetId,proto3" json:"PetId,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Grade int32 `protobuf:"varint,4,opt,name=Grade,proto3" json:"Grade,omitempty"` Level int32 `protobuf:"varint,5,opt,name=Level,proto3" json:"Level,omitempty"` Fragment int32 `protobuf:"varint,6,opt,name=Fragment,proto3" json:"Fragment,omitempty"` Amount int32 `protobuf:"varint,7,opt,name=Amount,proto3" json:"Amount,omitempty"` AwardType int32 `protobuf:"varint,8,opt,name=AwardType,proto3" json:"AwardType,omitempty"` Award int32 `protobuf:"varint,9,opt,name=Award,proto3" json:"Award,omitempty"` AwardRate int32 `protobuf:"varint,10,opt,name=AwardRate,proto3" json:"AwardRate,omitempty"` } func (x *DB_Game_Pet) Reset() { *x = DB_Game_Pet{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Game_Pet) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Game_Pet) ProtoMessage() {} func (x *DB_Game_Pet) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Game_Pet.ProtoReflect.Descriptor instead. func (*DB_Game_Pet) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{68} } func (x *DB_Game_Pet) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Game_Pet) GetPetId() int32 { if x != nil { return x.PetId } return 0 } func (x *DB_Game_Pet) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_Game_Pet) GetGrade() int32 { if x != nil { return x.Grade } return 0 } func (x *DB_Game_Pet) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *DB_Game_Pet) GetFragment() int32 { if x != nil { return x.Fragment } return 0 } func (x *DB_Game_Pet) GetAmount() int32 { if x != nil { return x.Amount } return 0 } func (x *DB_Game_Pet) GetAwardType() int32 { if x != nil { return x.AwardType } return 0 } func (x *DB_Game_Pet) GetAward() int32 { if x != nil { return x.Award } return 0 } func (x *DB_Game_Pet) GetAwardRate() int32 { if x != nil { return x.AwardRate } return 0 } type DB_Game_PetArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Game_Pet `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Game_PetArray) Reset() { *x = DB_Game_PetArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Game_PetArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Game_PetArray) ProtoMessage() {} func (x *DB_Game_PetArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Game_PetArray.ProtoReflect.Descriptor instead. func (*DB_Game_PetArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{69} } func (x *DB_Game_PetArray) GetArr() []*DB_Game_Pet { if x != nil { return x.Arr } return nil } type DB_Game_Role struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` RoleId int32 `protobuf:"varint,2,opt,name=RoleId,proto3" json:"RoleId,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Grade int32 `protobuf:"varint,4,opt,name=Grade,proto3" json:"Grade,omitempty"` Level int32 `protobuf:"varint,5,opt,name=Level,proto3" json:"Level,omitempty"` Fragment int32 `protobuf:"varint,6,opt,name=Fragment,proto3" json:"Fragment,omitempty"` Amount int32 `protobuf:"varint,7,opt,name=Amount,proto3" json:"Amount,omitempty"` AwardType int32 `protobuf:"varint,8,opt,name=AwardType,proto3" json:"AwardType,omitempty"` Award int32 `protobuf:"varint,9,opt,name=Award,proto3" json:"Award,omitempty"` AwardRate int32 `protobuf:"varint,10,opt,name=AwardRate,proto3" json:"AwardRate,omitempty"` } func (x *DB_Game_Role) Reset() { *x = DB_Game_Role{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Game_Role) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Game_Role) ProtoMessage() {} func (x *DB_Game_Role) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_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 DB_Game_Role.ProtoReflect.Descriptor instead. func (*DB_Game_Role) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{70} } func (x *DB_Game_Role) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Game_Role) GetRoleId() int32 { if x != nil { return x.RoleId } return 0 } func (x *DB_Game_Role) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_Game_Role) GetGrade() int32 { if x != nil { return x.Grade } return 0 } func (x *DB_Game_Role) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *DB_Game_Role) GetFragment() int32 { if x != nil { return x.Fragment } return 0 } func (x *DB_Game_Role) GetAmount() int32 { if x != nil { return x.Amount } return 0 } func (x *DB_Game_Role) GetAwardType() int32 { if x != nil { return x.AwardType } return 0 } func (x *DB_Game_Role) GetAward() int32 { if x != nil { return x.Award } return 0 } func (x *DB_Game_Role) GetAwardRate() int32 { if x != nil { return x.AwardRate } return 0 } type DB_Game_RoleArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Game_Role `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Game_RoleArray) Reset() { *x = DB_Game_RoleArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Game_RoleArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Game_RoleArray) ProtoMessage() {} func (x *DB_Game_RoleArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Game_RoleArray.ProtoReflect.Descriptor instead. func (*DB_Game_RoleArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{71} } func (x *DB_Game_RoleArray) GetArr() []*DB_Game_Role { if x != nil { return x.Arr } return nil } type DB_GiftBox struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Rate int32 `protobuf:"varint,2,opt,name=Rate,proto3" json:"Rate,omitempty"` ItemID map[int64]int64 `protobuf:"bytes,3,rep,name=ItemID,proto3" json:"ItemID,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *DB_GiftBox) Reset() { *x = DB_GiftBox{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GiftBox) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GiftBox) ProtoMessage() {} func (x *DB_GiftBox) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_GiftBox.ProtoReflect.Descriptor instead. func (*DB_GiftBox) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{72} } func (x *DB_GiftBox) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GiftBox) GetRate() int32 { if x != nil { return x.Rate } return 0 } func (x *DB_GiftBox) GetItemID() map[int64]int64 { if x != nil { return x.ItemID } return nil } type DB_GiftBoxArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GiftBox `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GiftBoxArray) Reset() { *x = DB_GiftBoxArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GiftBoxArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GiftBoxArray) ProtoMessage() {} func (x *DB_GiftBoxArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_GiftBoxArray.ProtoReflect.Descriptor instead. func (*DB_GiftBoxArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{73} } func (x *DB_GiftBoxArray) GetArr() []*DB_GiftBox { if x != nil { return x.Arr } return nil } type DB_GiftCard struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` ShopID int32 `protobuf:"varint,2,opt,name=ShopID,proto3" json:"ShopID,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Rewards map[int64]int64 `protobuf:"bytes,4,rep,name=Rewards,proto3" json:"Rewards,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` DayRewards map[int64]int64 `protobuf:"bytes,5,rep,name=DayRewards,proto3" json:"DayRewards,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` Time int32 `protobuf:"varint,6,opt,name=Time,proto3" json:"Time,omitempty"` Equity []int32 `protobuf:"varint,7,rep,packed,name=Equity,proto3" json:"Equity,omitempty"` } func (x *DB_GiftCard) Reset() { *x = DB_GiftCard{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GiftCard) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GiftCard) ProtoMessage() {} func (x *DB_GiftCard) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_GiftCard.ProtoReflect.Descriptor instead. func (*DB_GiftCard) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{74} } func (x *DB_GiftCard) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_GiftCard) GetShopID() int32 { if x != nil { return x.ShopID } return 0 } func (x *DB_GiftCard) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_GiftCard) GetRewards() map[int64]int64 { if x != nil { return x.Rewards } return nil } func (x *DB_GiftCard) GetDayRewards() map[int64]int64 { if x != nil { return x.DayRewards } return nil } func (x *DB_GiftCard) GetTime() int32 { if x != nil { return x.Time } return 0 } func (x *DB_GiftCard) GetEquity() []int32 { if x != nil { return x.Equity } return nil } type DB_GiftCardArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_GiftCard `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_GiftCardArray) Reset() { *x = DB_GiftCardArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_GiftCardArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_GiftCardArray) ProtoMessage() {} func (x *DB_GiftCardArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_GiftCardArray.ProtoReflect.Descriptor instead. func (*DB_GiftCardArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{75} } func (x *DB_GiftCardArray) GetArr() []*DB_GiftCard { if x != nil { return x.Arr } return nil } type DB_IceAgeElementRate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` ModeName string `protobuf:"bytes,2,opt,name=ModeName,proto3" json:"ModeName,omitempty"` ModeType int32 `protobuf:"varint,3,opt,name=ModeType,proto3" json:"ModeType,omitempty"` Params []int32 `protobuf:"varint,4,rep,packed,name=Params,proto3" json:"Params,omitempty"` } func (x *DB_IceAgeElementRate) Reset() { *x = DB_IceAgeElementRate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_IceAgeElementRate) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_IceAgeElementRate) ProtoMessage() {} func (x *DB_IceAgeElementRate) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_IceAgeElementRate.ProtoReflect.Descriptor instead. func (*DB_IceAgeElementRate) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{76} } func (x *DB_IceAgeElementRate) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_IceAgeElementRate) GetModeName() string { if x != nil { return x.ModeName } return "" } func (x *DB_IceAgeElementRate) GetModeType() int32 { if x != nil { return x.ModeType } return 0 } func (x *DB_IceAgeElementRate) GetParams() []int32 { if x != nil { return x.Params } return nil } type DB_IceAgeElementRateArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_IceAgeElementRate `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_IceAgeElementRateArray) Reset() { *x = DB_IceAgeElementRateArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_IceAgeElementRateArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_IceAgeElementRateArray) ProtoMessage() {} func (x *DB_IceAgeElementRateArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_IceAgeElementRateArray.ProtoReflect.Descriptor instead. func (*DB_IceAgeElementRateArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{77} } func (x *DB_IceAgeElementRateArray) GetArr() []*DB_IceAgeElementRate { if x != nil { return x.Arr } return nil } type DB_Legend_Odds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Rateodds3 int32 `protobuf:"varint,3,opt,name=Rateodds3,proto3" json:"Rateodds3,omitempty"` Rateodds4 int32 `protobuf:"varint,4,opt,name=Rateodds4,proto3" json:"Rateodds4,omitempty"` Rateodds5 int32 `protobuf:"varint,5,opt,name=Rateodds5,proto3" json:"Rateodds5,omitempty"` } func (x *DB_Legend_Odds) Reset() { *x = DB_Legend_Odds{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Legend_Odds) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Legend_Odds) ProtoMessage() {} func (x *DB_Legend_Odds) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Legend_Odds.ProtoReflect.Descriptor instead. func (*DB_Legend_Odds) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{78} } func (x *DB_Legend_Odds) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Legend_Odds) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_Legend_Odds) GetRateodds3() int32 { if x != nil { return x.Rateodds3 } return 0 } func (x *DB_Legend_Odds) GetRateodds4() int32 { if x != nil { return x.Rateodds4 } return 0 } func (x *DB_Legend_Odds) GetRateodds5() int32 { if x != nil { return x.Rateodds5 } return 0 } type DB_Legend_OddsArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Legend_Odds `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Legend_OddsArray) Reset() { *x = DB_Legend_OddsArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Legend_OddsArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Legend_OddsArray) ProtoMessage() {} func (x *DB_Legend_OddsArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Legend_OddsArray.ProtoReflect.Descriptor instead. func (*DB_Legend_OddsArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{79} } func (x *DB_Legend_OddsArray) GetArr() []*DB_Legend_Odds { if x != nil { return x.Arr } return nil } type DB_Legend_TurnRate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` ReturnRateMin int32 `protobuf:"varint,2,opt,name=ReturnRateMin,proto3" json:"ReturnRateMin,omitempty"` ReturnRateMax int32 `protobuf:"varint,3,opt,name=ReturnRateMax,proto3" json:"ReturnRateMax,omitempty"` Chance []int32 `protobuf:"varint,4,rep,packed,name=Chance,proto3" json:"Chance,omitempty"` } func (x *DB_Legend_TurnRate) Reset() { *x = DB_Legend_TurnRate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Legend_TurnRate) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Legend_TurnRate) ProtoMessage() {} func (x *DB_Legend_TurnRate) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Legend_TurnRate.ProtoReflect.Descriptor instead. func (*DB_Legend_TurnRate) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{80} } func (x *DB_Legend_TurnRate) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Legend_TurnRate) GetReturnRateMin() int32 { if x != nil { return x.ReturnRateMin } return 0 } func (x *DB_Legend_TurnRate) GetReturnRateMax() int32 { if x != nil { return x.ReturnRateMax } return 0 } func (x *DB_Legend_TurnRate) GetChance() []int32 { if x != nil { return x.Chance } return nil } type DB_Legend_TurnRateArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Legend_TurnRate `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Legend_TurnRateArray) Reset() { *x = DB_Legend_TurnRateArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Legend_TurnRateArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Legend_TurnRateArray) ProtoMessage() {} func (x *DB_Legend_TurnRateArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Legend_TurnRateArray.ProtoReflect.Descriptor instead. func (*DB_Legend_TurnRateArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{81} } func (x *DB_Legend_TurnRateArray) GetArr() []*DB_Legend_TurnRate { if x != nil { return x.Arr } return nil } type DB_Legend_Weight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Weight []int32 `protobuf:"varint,3,rep,packed,name=Weight,proto3" json:"Weight,omitempty"` } func (x *DB_Legend_Weight) Reset() { *x = DB_Legend_Weight{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Legend_Weight) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Legend_Weight) ProtoMessage() {} func (x *DB_Legend_Weight) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Legend_Weight.ProtoReflect.Descriptor instead. func (*DB_Legend_Weight) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{82} } func (x *DB_Legend_Weight) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Legend_Weight) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_Legend_Weight) GetWeight() []int32 { if x != nil { return x.Weight } return nil } type DB_Legend_WeightArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Legend_Weight `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Legend_WeightArray) Reset() { *x = DB_Legend_WeightArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Legend_WeightArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Legend_WeightArray) ProtoMessage() {} func (x *DB_Legend_WeightArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Legend_WeightArray.ProtoReflect.Descriptor instead. func (*DB_Legend_WeightArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{83} } func (x *DB_Legend_WeightArray) GetArr() []*DB_Legend_Weight { if x != nil { return x.Arr } return nil } type DB_Legend_WeightCondition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` IsNew int32 `protobuf:"varint,2,opt,name=IsNew,proto3" json:"IsNew,omitempty"` BetScope []int32 `protobuf:"varint,3,rep,packed,name=BetScope,proto3" json:"BetScope,omitempty"` TrueCalcRate []int32 `protobuf:"varint,4,rep,packed,name=TrueCalcRate,proto3" json:"TrueCalcRate,omitempty"` WeightId int32 `protobuf:"varint,5,opt,name=WeightId,proto3" json:"WeightId,omitempty"` } func (x *DB_Legend_WeightCondition) Reset() { *x = DB_Legend_WeightCondition{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Legend_WeightCondition) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Legend_WeightCondition) ProtoMessage() {} func (x *DB_Legend_WeightCondition) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Legend_WeightCondition.ProtoReflect.Descriptor instead. func (*DB_Legend_WeightCondition) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{84} } func (x *DB_Legend_WeightCondition) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Legend_WeightCondition) GetIsNew() int32 { if x != nil { return x.IsNew } return 0 } func (x *DB_Legend_WeightCondition) GetBetScope() []int32 { if x != nil { return x.BetScope } return nil } func (x *DB_Legend_WeightCondition) GetTrueCalcRate() []int32 { if x != nil { return x.TrueCalcRate } return nil } func (x *DB_Legend_WeightCondition) GetWeightId() int32 { if x != nil { return x.WeightId } return 0 } type DB_Legend_WeightConditionArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Legend_WeightCondition `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Legend_WeightConditionArray) Reset() { *x = DB_Legend_WeightConditionArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Legend_WeightConditionArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Legend_WeightConditionArray) ProtoMessage() {} func (x *DB_Legend_WeightConditionArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Legend_WeightConditionArray.ProtoReflect.Descriptor instead. func (*DB_Legend_WeightConditionArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{85} } func (x *DB_Legend_WeightConditionArray) GetArr() []*DB_Legend_WeightCondition { if x != nil { return x.Arr } return nil } type DB_MatchRank struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` RankStar []int32 `protobuf:"varint,2,rep,packed,name=RankStar,proto3" json:"RankStar,omitempty"` } func (x *DB_MatchRank) Reset() { *x = DB_MatchRank{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_MatchRank) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_MatchRank) ProtoMessage() {} func (x *DB_MatchRank) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_MatchRank.ProtoReflect.Descriptor instead. func (*DB_MatchRank) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{86} } func (x *DB_MatchRank) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_MatchRank) GetRankStar() []int32 { if x != nil { return x.RankStar } return nil } type DB_MatchRankArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_MatchRank `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_MatchRankArray) Reset() { *x = DB_MatchRankArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_MatchRankArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_MatchRankArray) ProtoMessage() {} func (x *DB_MatchRankArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_MatchRankArray.ProtoReflect.Descriptor instead. func (*DB_MatchRankArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{87} } func (x *DB_MatchRankArray) GetArr() []*DB_MatchRank { if x != nil { return x.Arr } return nil } type DB_Name struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` } func (x *DB_Name) Reset() { *x = DB_Name{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Name) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Name) ProtoMessage() {} func (x *DB_Name) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Name.ProtoReflect.Descriptor instead. func (*DB_Name) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{88} } func (x *DB_Name) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Name) GetName() string { if x != nil { return x.Name } return "" } type DB_NameArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Name `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_NameArray) Reset() { *x = DB_NameArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_NameArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_NameArray) ProtoMessage() {} func (x *DB_NameArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_NameArray.ProtoReflect.Descriptor instead. func (*DB_NameArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{89} } func (x *DB_NameArray) GetArr() []*DB_Name { if x != nil { return x.Arr } return nil } type DB_NameBoy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` } func (x *DB_NameBoy) Reset() { *x = DB_NameBoy{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_NameBoy) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_NameBoy) ProtoMessage() {} func (x *DB_NameBoy) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_NameBoy.ProtoReflect.Descriptor instead. func (*DB_NameBoy) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{90} } func (x *DB_NameBoy) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_NameBoy) GetName() string { if x != nil { return x.Name } return "" } type DB_NameBoyArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_NameBoy `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_NameBoyArray) Reset() { *x = DB_NameBoyArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_NameBoyArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_NameBoyArray) ProtoMessage() {} func (x *DB_NameBoyArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_NameBoyArray.ProtoReflect.Descriptor instead. func (*DB_NameBoyArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{91} } func (x *DB_NameBoyArray) GetArr() []*DB_NameBoy { if x != nil { return x.Arr } return nil } type DB_NameGirl struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` } func (x *DB_NameGirl) Reset() { *x = DB_NameGirl{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_NameGirl) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_NameGirl) ProtoMessage() {} func (x *DB_NameGirl) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_NameGirl.ProtoReflect.Descriptor instead. func (*DB_NameGirl) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{92} } func (x *DB_NameGirl) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_NameGirl) GetName() string { if x != nil { return x.Name } return "" } type DB_NameGirlArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_NameGirl `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_NameGirlArray) Reset() { *x = DB_NameGirlArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_NameGirlArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_NameGirlArray) ProtoMessage() {} func (x *DB_NameGirlArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_NameGirlArray.ProtoReflect.Descriptor instead. func (*DB_NameGirlArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{93} } func (x *DB_NameGirlArray) GetArr() []*DB_NameGirl { if x != nil { return x.Arr } return nil } type DB_NewPlayer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Condition1 int32 `protobuf:"varint,2,opt,name=Condition1,proto3" json:"Condition1,omitempty"` ConditionValue1 int64 `protobuf:"varint,3,opt,name=ConditionValue1,proto3" json:"ConditionValue1,omitempty"` Condition2 int32 `protobuf:"varint,4,opt,name=Condition2,proto3" json:"Condition2,omitempty"` ConditionValue2 int64 `protobuf:"varint,5,opt,name=ConditionValue2,proto3" json:"ConditionValue2,omitempty"` Bond int32 `protobuf:"varint,6,opt,name=Bond,proto3" json:"Bond,omitempty"` AddType int32 `protobuf:"varint,7,opt,name=AddType,proto3" json:"AddType,omitempty"` AddMax int64 `protobuf:"varint,8,opt,name=AddMax,proto3" json:"AddMax,omitempty"` AddMin int64 `protobuf:"varint,9,opt,name=AddMin,proto3" json:"AddMin,omitempty"` TianHuRate int32 `protobuf:"varint,10,opt,name=TianHuRate,proto3" json:"TianHuRate,omitempty"` } func (x *DB_NewPlayer) Reset() { *x = DB_NewPlayer{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_NewPlayer) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_NewPlayer) ProtoMessage() {} func (x *DB_NewPlayer) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_NewPlayer.ProtoReflect.Descriptor instead. func (*DB_NewPlayer) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{94} } func (x *DB_NewPlayer) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_NewPlayer) GetCondition1() int32 { if x != nil { return x.Condition1 } return 0 } func (x *DB_NewPlayer) GetConditionValue1() int64 { if x != nil { return x.ConditionValue1 } return 0 } func (x *DB_NewPlayer) GetCondition2() int32 { if x != nil { return x.Condition2 } return 0 } func (x *DB_NewPlayer) GetConditionValue2() int64 { if x != nil { return x.ConditionValue2 } return 0 } func (x *DB_NewPlayer) GetBond() int32 { if x != nil { return x.Bond } return 0 } func (x *DB_NewPlayer) GetAddType() int32 { if x != nil { return x.AddType } return 0 } func (x *DB_NewPlayer) GetAddMax() int64 { if x != nil { return x.AddMax } return 0 } func (x *DB_NewPlayer) GetAddMin() int64 { if x != nil { return x.AddMin } return 0 } func (x *DB_NewPlayer) GetTianHuRate() int32 { if x != nil { return x.TianHuRate } return 0 } type DB_NewPlayerArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_NewPlayer `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_NewPlayerArray) Reset() { *x = DB_NewPlayerArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_NewPlayerArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_NewPlayerArray) ProtoMessage() {} func (x *DB_NewPlayerArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_NewPlayerArray.ProtoReflect.Descriptor instead. func (*DB_NewPlayerArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{95} } func (x *DB_NewPlayerArray) GetArr() []*DB_NewPlayer { if x != nil { return x.Arr } return nil } type DB_PassShow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` ShowType int32 `protobuf:"varint,2,opt,name=ShowType,proto3" json:"ShowType,omitempty"` ShowVolume int32 `protobuf:"varint,3,opt,name=ShowVolume,proto3" json:"ShowVolume,omitempty"` Location int32 `protobuf:"varint,4,opt,name=Location,proto3" json:"Location,omitempty"` } func (x *DB_PassShow) Reset() { *x = DB_PassShow{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PassShow) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PassShow) ProtoMessage() {} func (x *DB_PassShow) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PassShow.ProtoReflect.Descriptor instead. func (*DB_PassShow) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{96} } func (x *DB_PassShow) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_PassShow) GetShowType() int32 { if x != nil { return x.ShowType } return 0 } func (x *DB_PassShow) GetShowVolume() int32 { if x != nil { return x.ShowVolume } return 0 } func (x *DB_PassShow) GetLocation() int32 { if x != nil { return x.Location } return 0 } type DB_PassShowArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_PassShow `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_PassShowArray) Reset() { *x = DB_PassShowArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PassShowArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PassShowArray) ProtoMessage() {} func (x *DB_PassShowArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PassShowArray.ProtoReflect.Descriptor instead. func (*DB_PassShowArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{97} } func (x *DB_PassShowArray) GetArr() []*DB_PassShow { if x != nil { return x.Arr } return nil } type DB_PetSkill struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` SkillId int32 `protobuf:"varint,2,opt,name=SkillId,proto3" json:"SkillId,omitempty"` SkillType int32 `protobuf:"varint,3,opt,name=SkillType,proto3" json:"SkillType,omitempty"` PetId int32 `protobuf:"varint,4,opt,name=PetId,proto3" json:"PetId,omitempty"` SkillLevel int32 `protobuf:"varint,5,opt,name=SkillLevel,proto3" json:"SkillLevel,omitempty"` SkillName string `protobuf:"bytes,6,opt,name=SkillName,proto3" json:"SkillName,omitempty"` SkillDes string `protobuf:"bytes,7,opt,name=SkillDes,proto3" json:"SkillDes,omitempty"` SKillValue int32 `protobuf:"varint,8,opt,name=SKillValue,proto3" json:"SKillValue,omitempty"` ItemConsum map[int64]int64 `protobuf:"bytes,9,rep,name=ItemConsum,proto3" json:"ItemConsum,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *DB_PetSkill) Reset() { *x = DB_PetSkill{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PetSkill) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PetSkill) ProtoMessage() {} func (x *DB_PetSkill) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PetSkill.ProtoReflect.Descriptor instead. func (*DB_PetSkill) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{98} } func (x *DB_PetSkill) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_PetSkill) GetSkillId() int32 { if x != nil { return x.SkillId } return 0 } func (x *DB_PetSkill) GetSkillType() int32 { if x != nil { return x.SkillType } return 0 } func (x *DB_PetSkill) GetPetId() int32 { if x != nil { return x.PetId } return 0 } func (x *DB_PetSkill) GetSkillLevel() int32 { if x != nil { return x.SkillLevel } return 0 } func (x *DB_PetSkill) GetSkillName() string { if x != nil { return x.SkillName } return "" } func (x *DB_PetSkill) GetSkillDes() string { if x != nil { return x.SkillDes } return "" } func (x *DB_PetSkill) GetSKillValue() int32 { if x != nil { return x.SKillValue } return 0 } func (x *DB_PetSkill) GetItemConsum() map[int64]int64 { if x != nil { return x.ItemConsum } return nil } type DB_PetSkillArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_PetSkill `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_PetSkillArray) Reset() { *x = DB_PetSkillArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PetSkillArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PetSkillArray) ProtoMessage() {} func (x *DB_PetSkillArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PetSkillArray.ProtoReflect.Descriptor instead. func (*DB_PetSkillArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{99} } func (x *DB_PetSkillArray) GetArr() []*DB_PetSkill { if x != nil { return x.Arr } return nil } type DB_PhoneLottery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` Name int32 `protobuf:"varint,3,opt,name=Name,proto3" json:"Name,omitempty"` Item_Id int32 `protobuf:"varint,4,opt,name=Item_Id,json=ItemId,proto3" json:"Item_Id,omitempty"` Grade int32 `protobuf:"varint,5,opt,name=Grade,proto3" json:"Grade,omitempty"` Odd int32 `protobuf:"varint,6,opt,name=Odd,proto3" json:"Odd,omitempty"` Oddrate1 int32 `protobuf:"varint,7,opt,name=Oddrate1,proto3" json:"Oddrate1,omitempty"` Odd2 int32 `protobuf:"varint,8,opt,name=Odd2,proto3" json:"Odd2,omitempty"` Oddrate2 int32 `protobuf:"varint,9,opt,name=Oddrate2,proto3" json:"Oddrate2,omitempty"` Odd3 int32 `protobuf:"varint,10,opt,name=Odd3,proto3" json:"Odd3,omitempty"` Oddrate3 int32 `protobuf:"varint,11,opt,name=Oddrate3,proto3" json:"Oddrate3,omitempty"` Oddrate4 int32 `protobuf:"varint,12,opt,name=Oddrate4,proto3" json:"Oddrate4,omitempty"` } func (x *DB_PhoneLottery) Reset() { *x = DB_PhoneLottery{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PhoneLottery) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PhoneLottery) ProtoMessage() {} func (x *DB_PhoneLottery) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PhoneLottery.ProtoReflect.Descriptor instead. func (*DB_PhoneLottery) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{100} } func (x *DB_PhoneLottery) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_PhoneLottery) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *DB_PhoneLottery) GetName() int32 { if x != nil { return x.Name } return 0 } func (x *DB_PhoneLottery) GetItem_Id() int32 { if x != nil { return x.Item_Id } return 0 } func (x *DB_PhoneLottery) GetGrade() int32 { if x != nil { return x.Grade } return 0 } func (x *DB_PhoneLottery) GetOdd() int32 { if x != nil { return x.Odd } return 0 } func (x *DB_PhoneLottery) GetOddrate1() int32 { if x != nil { return x.Oddrate1 } return 0 } func (x *DB_PhoneLottery) GetOdd2() int32 { if x != nil { return x.Odd2 } return 0 } func (x *DB_PhoneLottery) GetOddrate2() int32 { if x != nil { return x.Oddrate2 } return 0 } func (x *DB_PhoneLottery) GetOdd3() int32 { if x != nil { return x.Odd3 } return 0 } func (x *DB_PhoneLottery) GetOddrate3() int32 { if x != nil { return x.Oddrate3 } return 0 } func (x *DB_PhoneLottery) GetOddrate4() int32 { if x != nil { return x.Oddrate4 } return 0 } type DB_PhoneLotteryArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_PhoneLottery `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_PhoneLotteryArray) Reset() { *x = DB_PhoneLotteryArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PhoneLotteryArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PhoneLotteryArray) ProtoMessage() {} func (x *DB_PhoneLotteryArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PhoneLotteryArray.ProtoReflect.Descriptor instead. func (*DB_PhoneLotteryArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{101} } func (x *DB_PhoneLotteryArray) GetArr() []*DB_PhoneLottery { if x != nil { return x.Arr } return nil } type DB_PigBank_Diamond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` BuyCountMin int32 `protobuf:"varint,2,opt,name=BuyCountMin,proto3" json:"BuyCountMin,omitempty"` BuyCountMax int32 `protobuf:"varint,3,opt,name=BuyCountMax,proto3" json:"BuyCountMax,omitempty"` CostDiamond int32 `protobuf:"varint,4,opt,name=CostDiamond,proto3" json:"CostDiamond,omitempty"` MaxGold int32 `protobuf:"varint,5,opt,name=MaxGold,proto3" json:"MaxGold,omitempty"` MaxDiamond int32 `protobuf:"varint,6,opt,name=MaxDiamond,proto3" json:"MaxDiamond,omitempty"` DiamondId int32 `protobuf:"varint,7,opt,name=DiamondId,proto3" json:"DiamondId,omitempty"` CoinPrice int32 `protobuf:"varint,8,opt,name=CoinPrice,proto3" json:"CoinPrice,omitempty"` DiamondPrice int32 `protobuf:"varint,9,opt,name=DiamondPrice,proto3" json:"DiamondPrice,omitempty"` DiamondNowPrice int32 `protobuf:"varint,10,opt,name=DiamondNowPrice,proto3" json:"DiamondNowPrice,omitempty"` } func (x *DB_PigBank_Diamond) Reset() { *x = DB_PigBank_Diamond{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PigBank_Diamond) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PigBank_Diamond) ProtoMessage() {} func (x *DB_PigBank_Diamond) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PigBank_Diamond.ProtoReflect.Descriptor instead. func (*DB_PigBank_Diamond) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{102} } func (x *DB_PigBank_Diamond) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_PigBank_Diamond) GetBuyCountMin() int32 { if x != nil { return x.BuyCountMin } return 0 } func (x *DB_PigBank_Diamond) GetBuyCountMax() int32 { if x != nil { return x.BuyCountMax } return 0 } func (x *DB_PigBank_Diamond) GetCostDiamond() int32 { if x != nil { return x.CostDiamond } return 0 } func (x *DB_PigBank_Diamond) GetMaxGold() int32 { if x != nil { return x.MaxGold } return 0 } func (x *DB_PigBank_Diamond) GetMaxDiamond() int32 { if x != nil { return x.MaxDiamond } return 0 } func (x *DB_PigBank_Diamond) GetDiamondId() int32 { if x != nil { return x.DiamondId } return 0 } func (x *DB_PigBank_Diamond) GetCoinPrice() int32 { if x != nil { return x.CoinPrice } return 0 } func (x *DB_PigBank_Diamond) GetDiamondPrice() int32 { if x != nil { return x.DiamondPrice } return 0 } func (x *DB_PigBank_Diamond) GetDiamondNowPrice() int32 { if x != nil { return x.DiamondNowPrice } return 0 } type DB_PigBank_DiamondArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_PigBank_Diamond `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_PigBank_DiamondArray) Reset() { *x = DB_PigBank_DiamondArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PigBank_DiamondArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PigBank_DiamondArray) ProtoMessage() {} func (x *DB_PigBank_DiamondArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PigBank_DiamondArray.ProtoReflect.Descriptor instead. func (*DB_PigBank_DiamondArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{103} } func (x *DB_PigBank_DiamondArray) GetArr() []*DB_PigBank_Diamond { if x != nil { return x.Arr } return nil } type DB_Pigbank_Prop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` PorpName string `protobuf:"bytes,2,opt,name=PorpName,proto3" json:"PorpName,omitempty"` PropValue int32 `protobuf:"varint,3,opt,name=PropValue,proto3" json:"PropValue,omitempty"` } func (x *DB_Pigbank_Prop) Reset() { *x = DB_Pigbank_Prop{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Pigbank_Prop) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Pigbank_Prop) ProtoMessage() {} func (x *DB_Pigbank_Prop) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Pigbank_Prop.ProtoReflect.Descriptor instead. func (*DB_Pigbank_Prop) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{104} } func (x *DB_Pigbank_Prop) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Pigbank_Prop) GetPorpName() string { if x != nil { return x.PorpName } return "" } func (x *DB_Pigbank_Prop) GetPropValue() int32 { if x != nil { return x.PropValue } return 0 } type DB_Pigbank_PropArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Pigbank_Prop `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Pigbank_PropArray) Reset() { *x = DB_Pigbank_PropArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Pigbank_PropArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Pigbank_PropArray) ProtoMessage() {} func (x *DB_Pigbank_PropArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Pigbank_PropArray.ProtoReflect.Descriptor instead. func (*DB_Pigbank_PropArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{105} } func (x *DB_Pigbank_PropArray) GetArr() []*DB_Pigbank_Prop { if x != nil { return x.Arr } return nil } type DB_PlayerExp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Exp int32 `protobuf:"varint,2,opt,name=Exp,proto3" json:"Exp,omitempty"` } func (x *DB_PlayerExp) Reset() { *x = DB_PlayerExp{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PlayerExp) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PlayerExp) ProtoMessage() {} func (x *DB_PlayerExp) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PlayerExp.ProtoReflect.Descriptor instead. func (*DB_PlayerExp) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{106} } func (x *DB_PlayerExp) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_PlayerExp) GetExp() int32 { if x != nil { return x.Exp } return 0 } type DB_PlayerExpArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_PlayerExp `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_PlayerExpArray) Reset() { *x = DB_PlayerExpArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PlayerExpArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PlayerExpArray) ProtoMessage() {} func (x *DB_PlayerExpArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PlayerExpArray.ProtoReflect.Descriptor instead. func (*DB_PlayerExpArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{107} } func (x *DB_PlayerExpArray) GetArr() []*DB_PlayerExp { if x != nil { return x.Arr } return nil } type DB_PlayerType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` GameFreeId int32 `protobuf:"varint,3,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` PayLowerLimit int32 `protobuf:"varint,4,opt,name=PayLowerLimit,proto3" json:"PayLowerLimit,omitempty"` PayUpperLimit int32 `protobuf:"varint,5,opt,name=PayUpperLimit,proto3" json:"PayUpperLimit,omitempty"` GameTimeLowerLimit int32 `protobuf:"varint,6,opt,name=GameTimeLowerLimit,proto3" json:"GameTimeLowerLimit,omitempty"` GameTimeUpperLimit int32 `protobuf:"varint,7,opt,name=GameTimeUpperLimit,proto3" json:"GameTimeUpperLimit,omitempty"` TotalInLowerLimit int32 `protobuf:"varint,8,opt,name=TotalInLowerLimit,proto3" json:"TotalInLowerLimit,omitempty"` TotalInUpperLimit int32 `protobuf:"varint,9,opt,name=TotalInUpperLimit,proto3" json:"TotalInUpperLimit,omitempty"` OddsLowerLimit int32 `protobuf:"varint,10,opt,name=OddsLowerLimit,proto3" json:"OddsLowerLimit,omitempty"` OddsUpperLimit int32 `protobuf:"varint,11,opt,name=OddsUpperLimit,proto3" json:"OddsUpperLimit,omitempty"` LuckyRate int32 `protobuf:"varint,12,opt,name=LuckyRate,proto3" json:"LuckyRate,omitempty"` ChangeCardRate int32 `protobuf:"varint,13,opt,name=ChangeCardRate,proto3" json:"ChangeCardRate,omitempty"` CardValueRange []int32 `protobuf:"varint,14,rep,packed,name=CardValueRange,proto3" json:"CardValueRange,omitempty"` MatchPriority []int32 `protobuf:"varint,15,rep,packed,name=MatchPriority,proto3" json:"MatchPriority,omitempty"` ExcludeMatch []int32 `protobuf:"varint,16,rep,packed,name=ExcludeMatch,proto3" json:"ExcludeMatch,omitempty"` CardLibRate int32 `protobuf:"varint,17,opt,name=CardLibRate,proto3" json:"CardLibRate,omitempty"` CardLibArr []int32 `protobuf:"varint,18,rep,packed,name=CardLibArr,proto3" json:"CardLibArr,omitempty"` } func (x *DB_PlayerType) Reset() { *x = DB_PlayerType{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PlayerType) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PlayerType) ProtoMessage() {} func (x *DB_PlayerType) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PlayerType.ProtoReflect.Descriptor instead. func (*DB_PlayerType) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{108} } func (x *DB_PlayerType) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_PlayerType) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_PlayerType) GetGameFreeId() int32 { if x != nil { return x.GameFreeId } return 0 } func (x *DB_PlayerType) GetPayLowerLimit() int32 { if x != nil { return x.PayLowerLimit } return 0 } func (x *DB_PlayerType) GetPayUpperLimit() int32 { if x != nil { return x.PayUpperLimit } return 0 } func (x *DB_PlayerType) GetGameTimeLowerLimit() int32 { if x != nil { return x.GameTimeLowerLimit } return 0 } func (x *DB_PlayerType) GetGameTimeUpperLimit() int32 { if x != nil { return x.GameTimeUpperLimit } return 0 } func (x *DB_PlayerType) GetTotalInLowerLimit() int32 { if x != nil { return x.TotalInLowerLimit } return 0 } func (x *DB_PlayerType) GetTotalInUpperLimit() int32 { if x != nil { return x.TotalInUpperLimit } return 0 } func (x *DB_PlayerType) GetOddsLowerLimit() int32 { if x != nil { return x.OddsLowerLimit } return 0 } func (x *DB_PlayerType) GetOddsUpperLimit() int32 { if x != nil { return x.OddsUpperLimit } return 0 } func (x *DB_PlayerType) GetLuckyRate() int32 { if x != nil { return x.LuckyRate } return 0 } func (x *DB_PlayerType) GetChangeCardRate() int32 { if x != nil { return x.ChangeCardRate } return 0 } func (x *DB_PlayerType) GetCardValueRange() []int32 { if x != nil { return x.CardValueRange } return nil } func (x *DB_PlayerType) GetMatchPriority() []int32 { if x != nil { return x.MatchPriority } return nil } func (x *DB_PlayerType) GetExcludeMatch() []int32 { if x != nil { return x.ExcludeMatch } return nil } func (x *DB_PlayerType) GetCardLibRate() int32 { if x != nil { return x.CardLibRate } return 0 } func (x *DB_PlayerType) GetCardLibArr() []int32 { if x != nil { return x.CardLibArr } return nil } type DB_PlayerTypeArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_PlayerType `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_PlayerTypeArray) Reset() { *x = DB_PlayerTypeArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PlayerTypeArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PlayerTypeArray) ProtoMessage() {} func (x *DB_PlayerTypeArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PlayerTypeArray.ProtoReflect.Descriptor instead. func (*DB_PlayerTypeArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{109} } func (x *DB_PlayerTypeArray) GetArr() []*DB_PlayerType { if x != nil { return x.Arr } return nil } type DB_PotOdd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Title string `protobuf:"bytes,3,opt,name=Title,proto3" json:"Title,omitempty"` VipOdd []int32 `protobuf:"varint,4,rep,packed,name=VipOdd,proto3" json:"VipOdd,omitempty"` } func (x *DB_PotOdd) Reset() { *x = DB_PotOdd{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PotOdd) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PotOdd) ProtoMessage() {} func (x *DB_PotOdd) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PotOdd.ProtoReflect.Descriptor instead. func (*DB_PotOdd) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{110} } func (x *DB_PotOdd) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_PotOdd) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_PotOdd) GetTitle() string { if x != nil { return x.Title } return "" } func (x *DB_PotOdd) GetVipOdd() []int32 { if x != nil { return x.VipOdd } return nil } type DB_PotOddArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_PotOdd `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_PotOddArray) Reset() { *x = DB_PotOddArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PotOddArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PotOddArray) ProtoMessage() {} func (x *DB_PotOddArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PotOddArray.ProtoReflect.Descriptor instead. func (*DB_PotOddArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{111} } func (x *DB_PotOddArray) GetArr() []*DB_PotOdd { if x != nil { return x.Arr } return nil } type DB_PropExchange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Group int32 `protobuf:"varint,2,opt,name=Group,proto3" json:"Group,omitempty"` Cost map[int64]int64 `protobuf:"bytes,3,rep,name=Cost,proto3" json:"Cost,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` Gain map[int64]int64 `protobuf:"bytes,4,rep,name=Gain,proto3" json:"Gain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *DB_PropExchange) Reset() { *x = DB_PropExchange{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PropExchange) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PropExchange) ProtoMessage() {} func (x *DB_PropExchange) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PropExchange.ProtoReflect.Descriptor instead. func (*DB_PropExchange) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{112} } func (x *DB_PropExchange) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_PropExchange) GetGroup() int32 { if x != nil { return x.Group } return 0 } func (x *DB_PropExchange) GetCost() map[int64]int64 { if x != nil { return x.Cost } return nil } func (x *DB_PropExchange) GetGain() map[int64]int64 { if x != nil { return x.Gain } return nil } type DB_PropExchangeArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_PropExchange `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_PropExchangeArray) Reset() { *x = DB_PropExchangeArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_PropExchangeArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_PropExchangeArray) ProtoMessage() {} func (x *DB_PropExchangeArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_PropExchangeArray.ProtoReflect.Descriptor instead. func (*DB_PropExchangeArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{113} } func (x *DB_PropExchangeArray) GetArr() []*DB_PropExchange { if x != nil { return x.Arr } return nil } type DB_RankCycle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Start string `protobuf:"bytes,2,opt,name=Start,proto3" json:"Start,omitempty"` End string `protobuf:"bytes,3,opt,name=End,proto3" json:"End,omitempty"` } func (x *DB_RankCycle) Reset() { *x = DB_RankCycle{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_RankCycle) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_RankCycle) ProtoMessage() {} func (x *DB_RankCycle) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_RankCycle.ProtoReflect.Descriptor instead. func (*DB_RankCycle) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{114} } func (x *DB_RankCycle) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_RankCycle) GetStart() string { if x != nil { return x.Start } return "" } func (x *DB_RankCycle) GetEnd() string { if x != nil { return x.End } return "" } type DB_RankCycleArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_RankCycle `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_RankCycleArray) Reset() { *x = DB_RankCycleArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_RankCycleArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_RankCycleArray) ProtoMessage() {} func (x *DB_RankCycleArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_RankCycleArray.ProtoReflect.Descriptor instead. func (*DB_RankCycleArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{115} } func (x *DB_RankCycleArray) GetArr() []*DB_RankCycle { if x != nil { return x.Arr } return nil } type DB_RankLevel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` RankType int32 `protobuf:"varint,2,opt,name=RankType,proto3" json:"RankType,omitempty"` Level int32 `protobuf:"varint,3,opt,name=Level,proto3" json:"Level,omitempty"` Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"` Score int64 `protobuf:"varint,5,opt,name=Score,proto3" json:"Score,omitempty"` } func (x *DB_RankLevel) Reset() { *x = DB_RankLevel{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_RankLevel) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_RankLevel) ProtoMessage() {} func (x *DB_RankLevel) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_RankLevel.ProtoReflect.Descriptor instead. func (*DB_RankLevel) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{116} } func (x *DB_RankLevel) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_RankLevel) GetRankType() int32 { if x != nil { return x.RankType } return 0 } func (x *DB_RankLevel) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *DB_RankLevel) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_RankLevel) GetScore() int64 { if x != nil { return x.Score } return 0 } type DB_RankLevelArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_RankLevel `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_RankLevelArray) Reset() { *x = DB_RankLevelArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_RankLevelArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_RankLevelArray) ProtoMessage() {} func (x *DB_RankLevelArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_RankLevelArray.ProtoReflect.Descriptor instead. func (*DB_RankLevelArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{117} } func (x *DB_RankLevelArray) GetArr() []*DB_RankLevel { if x != nil { return x.Arr } return nil } type DB_RankReward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` RankType int32 `protobuf:"varint,2,opt,name=RankType,proto3" json:"RankType,omitempty"` Level int32 `protobuf:"varint,3,opt,name=Level,proto3" json:"Level,omitempty"` Award1Id int32 `protobuf:"varint,4,opt,name=Award1Id,proto3" json:"Award1Id,omitempty"` Award1Num int32 `protobuf:"varint,5,opt,name=Award1Num,proto3" json:"Award1Num,omitempty"` Award2Id int32 `protobuf:"varint,6,opt,name=Award2Id,proto3" json:"Award2Id,omitempty"` Award2Num int32 `protobuf:"varint,7,opt,name=Award2Num,proto3" json:"Award2Num,omitempty"` Award3Id int32 `protobuf:"varint,8,opt,name=Award3Id,proto3" json:"Award3Id,omitempty"` Award3Num int32 `protobuf:"varint,9,opt,name=Award3Num,proto3" json:"Award3Num,omitempty"` } func (x *DB_RankReward) Reset() { *x = DB_RankReward{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_RankReward) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_RankReward) ProtoMessage() {} func (x *DB_RankReward) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_RankReward.ProtoReflect.Descriptor instead. func (*DB_RankReward) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{118} } func (x *DB_RankReward) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_RankReward) GetRankType() int32 { if x != nil { return x.RankType } return 0 } func (x *DB_RankReward) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *DB_RankReward) GetAward1Id() int32 { if x != nil { return x.Award1Id } return 0 } func (x *DB_RankReward) GetAward1Num() int32 { if x != nil { return x.Award1Num } return 0 } func (x *DB_RankReward) GetAward2Id() int32 { if x != nil { return x.Award2Id } return 0 } func (x *DB_RankReward) GetAward2Num() int32 { if x != nil { return x.Award2Num } return 0 } func (x *DB_RankReward) GetAward3Id() int32 { if x != nil { return x.Award3Id } return 0 } func (x *DB_RankReward) GetAward3Num() int32 { if x != nil { return x.Award3Num } return 0 } type DB_RankRewardArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_RankReward `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_RankRewardArray) Reset() { *x = DB_RankRewardArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_RankRewardArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_RankRewardArray) ProtoMessage() {} func (x *DB_RankRewardArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_RankRewardArray.ProtoReflect.Descriptor instead. func (*DB_RankRewardArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{119} } func (x *DB_RankRewardArray) GetArr() []*DB_RankReward { if x != nil { return x.Arr } return nil } type DB_Sensitive_Words struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Sensitive_Words string `protobuf:"bytes,2,opt,name=Sensitive_Words,json=SensitiveWords,proto3" json:"Sensitive_Words,omitempty"` } func (x *DB_Sensitive_Words) Reset() { *x = DB_Sensitive_Words{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Sensitive_Words) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Sensitive_Words) ProtoMessage() {} func (x *DB_Sensitive_Words) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Sensitive_Words.ProtoReflect.Descriptor instead. func (*DB_Sensitive_Words) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{120} } func (x *DB_Sensitive_Words) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Sensitive_Words) GetSensitive_Words() string { if x != nil { return x.Sensitive_Words } return "" } type DB_Sensitive_WordsArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Sensitive_Words `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_Sensitive_WordsArray) Reset() { *x = DB_Sensitive_WordsArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Sensitive_WordsArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Sensitive_WordsArray) ProtoMessage() {} func (x *DB_Sensitive_WordsArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Sensitive_WordsArray.ProtoReflect.Descriptor instead. func (*DB_Sensitive_WordsArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{121} } func (x *DB_Sensitive_WordsArray) GetArr() []*DB_Sensitive_Words { if x != nil { return x.Arr } return nil } type DB_Skin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` SkinClass int32 `protobuf:"varint,2,opt,name=SkinClass,proto3" json:"SkinClass,omitempty"` Model string `protobuf:"bytes,3,opt,name=Model,proto3" json:"Model,omitempty"` SkinPic string `protobuf:"bytes,4,opt,name=SkinPic,proto3" json:"SkinPic,omitempty"` SkinName string `protobuf:"bytes,5,opt,name=SkinName,proto3" json:"SkinName,omitempty"` SkinType string `protobuf:"bytes,6,opt,name=SkinType,proto3" json:"SkinType,omitempty"` UnlockType int32 `protobuf:"varint,7,opt,name=UnlockType,proto3" json:"UnlockType,omitempty"` UnlockItem map[int64]int64 `protobuf:"bytes,8,rep,name=UnlockItem,proto3" json:"UnlockItem,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` SkinSkillName string `protobuf:"bytes,9,opt,name=SkinSkillName,proto3" json:"SkinSkillName,omitempty"` SkinSkillIcon string `protobuf:"bytes,10,opt,name=SkinSkillIcon,proto3" json:"SkinSkillIcon,omitempty"` SkinSkillDes string `protobuf:"bytes,11,opt,name=SkinSkillDes,proto3" json:"SkinSkillDes,omitempty"` SkinSkillType int32 `protobuf:"varint,12,opt,name=SkinSkillType,proto3" json:"SkinSkillType,omitempty"` Turn []int32 `protobuf:"varint,13,rep,packed,name=Turn,proto3" json:"Turn,omitempty"` TurnKey []string `protobuf:"bytes,14,rep,name=TurnKey,proto3" json:"TurnKey,omitempty"` } func (x *DB_Skin) Reset() { *x = DB_Skin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Skin) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Skin) ProtoMessage() {} func (x *DB_Skin) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Skin.ProtoReflect.Descriptor instead. func (*DB_Skin) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{122} } func (x *DB_Skin) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Skin) GetSkinClass() int32 { if x != nil { return x.SkinClass } return 0 } func (x *DB_Skin) GetModel() string { if x != nil { return x.Model } return "" } func (x *DB_Skin) GetSkinPic() string { if x != nil { return x.SkinPic } return "" } func (x *DB_Skin) GetSkinName() string { if x != nil { return x.SkinName } return "" } func (x *DB_Skin) GetSkinType() string { if x != nil { return x.SkinType } return "" } func (x *DB_Skin) GetUnlockType() int32 { if x != nil { return x.UnlockType } return 0 } func (x *DB_Skin) GetUnlockItem() map[int64]int64 { if x != nil { return x.UnlockItem } return nil } func (x *DB_Skin) GetSkinSkillName() string { if x != nil { return x.SkinSkillName } return "" } func (x *DB_Skin) GetSkinSkillIcon() string { if x != nil { return x.SkinSkillIcon } return "" } func (x *DB_Skin) GetSkinSkillDes() string { if x != nil { return x.SkinSkillDes } return "" } func (x *DB_Skin) GetSkinSkillType() int32 { if x != nil { return x.SkinSkillType } return 0 } func (x *DB_Skin) GetTurn() []int32 { if x != nil { return x.Turn } return nil } func (x *DB_Skin) GetTurnKey() []string { if x != nil { return x.TurnKey } return nil } type DB_SkinArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Skin `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_SkinArray) Reset() { *x = DB_SkinArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_SkinArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_SkinArray) ProtoMessage() {} func (x *DB_SkinArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_SkinArray.ProtoReflect.Descriptor instead. func (*DB_SkinArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{123} } func (x *DB_SkinArray) GetArr() []*DB_Skin { if x != nil { return x.Arr } return nil } type DB_SkinLevel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` SkinId int32 `protobuf:"varint,2,opt,name=SkinId,proto3" json:"SkinId,omitempty"` Level int32 `protobuf:"varint,3,opt,name=Level,proto3" json:"Level,omitempty"` UpItem map[int64]int64 `protobuf:"bytes,4,rep,name=UpItem,proto3" json:"UpItem,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` SkinSkillId int32 `protobuf:"varint,5,opt,name=SkinSkillId,proto3" json:"SkinSkillId,omitempty"` SkinSkillLevel int32 `protobuf:"varint,6,opt,name=SkinSkillLevel,proto3" json:"SkinSkillLevel,omitempty"` SkinSkillValue int32 `protobuf:"varint,7,opt,name=SkinSkillValue,proto3" json:"SkinSkillValue,omitempty"` SkinSkillDes string `protobuf:"bytes,8,opt,name=SkinSkillDes,proto3" json:"SkinSkillDes,omitempty"` } func (x *DB_SkinLevel) Reset() { *x = DB_SkinLevel{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_SkinLevel) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_SkinLevel) ProtoMessage() {} func (x *DB_SkinLevel) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_SkinLevel.ProtoReflect.Descriptor instead. func (*DB_SkinLevel) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{124} } func (x *DB_SkinLevel) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_SkinLevel) GetSkinId() int32 { if x != nil { return x.SkinId } return 0 } func (x *DB_SkinLevel) GetLevel() int32 { if x != nil { return x.Level } return 0 } func (x *DB_SkinLevel) GetUpItem() map[int64]int64 { if x != nil { return x.UpItem } return nil } func (x *DB_SkinLevel) GetSkinSkillId() int32 { if x != nil { return x.SkinSkillId } return 0 } func (x *DB_SkinLevel) GetSkinSkillLevel() int32 { if x != nil { return x.SkinSkillLevel } return 0 } func (x *DB_SkinLevel) GetSkinSkillValue() int32 { if x != nil { return x.SkinSkillValue } return 0 } func (x *DB_SkinLevel) GetSkinSkillDes() string { if x != nil { return x.SkinSkillDes } return "" } type DB_SkinLevelArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_SkinLevel `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_SkinLevelArray) Reset() { *x = DB_SkinLevelArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_SkinLevelArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_SkinLevelArray) ProtoMessage() {} func (x *DB_SkinLevelArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_SkinLevelArray.ProtoReflect.Descriptor instead. func (*DB_SkinLevelArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{125} } func (x *DB_SkinLevelArray) GetArr() []*DB_SkinLevel { if x != nil { return x.Arr } return nil } type DB_SlotRateWeight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` GameFreeId int32 `protobuf:"varint,2,opt,name=GameFreeId,proto3" json:"GameFreeId,omitempty"` Pos int32 `protobuf:"varint,3,opt,name=Pos,proto3" json:"Pos,omitempty"` NormCol1 []int32 `protobuf:"varint,4,rep,packed,name=NormCol1,proto3" json:"NormCol1,omitempty"` NormCol2 []int32 `protobuf:"varint,5,rep,packed,name=NormCol2,proto3" json:"NormCol2,omitempty"` NormCol3 []int32 `protobuf:"varint,6,rep,packed,name=NormCol3,proto3" json:"NormCol3,omitempty"` NormCol4 []int32 `protobuf:"varint,7,rep,packed,name=NormCol4,proto3" json:"NormCol4,omitempty"` NormCol5 []int32 `protobuf:"varint,8,rep,packed,name=NormCol5,proto3" json:"NormCol5,omitempty"` FreeCol1 []int32 `protobuf:"varint,9,rep,packed,name=FreeCol1,proto3" json:"FreeCol1,omitempty"` FreeCol2 []int32 `protobuf:"varint,10,rep,packed,name=FreeCol2,proto3" json:"FreeCol2,omitempty"` FreeCol3 []int32 `protobuf:"varint,11,rep,packed,name=FreeCol3,proto3" json:"FreeCol3,omitempty"` FreeCol4 []int32 `protobuf:"varint,12,rep,packed,name=FreeCol4,proto3" json:"FreeCol4,omitempty"` FreeCol5 []int32 `protobuf:"varint,13,rep,packed,name=FreeCol5,proto3" json:"FreeCol5,omitempty"` MaryOut []int32 `protobuf:"varint,14,rep,packed,name=MaryOut,proto3" json:"MaryOut,omitempty"` MaryMid []int32 `protobuf:"varint,15,rep,packed,name=MaryMid,proto3" json:"MaryMid,omitempty"` JackPot []int32 `protobuf:"varint,16,rep,packed,name=JackPot,proto3" json:"JackPot,omitempty"` } func (x *DB_SlotRateWeight) Reset() { *x = DB_SlotRateWeight{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_SlotRateWeight) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_SlotRateWeight) ProtoMessage() {} func (x *DB_SlotRateWeight) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_SlotRateWeight.ProtoReflect.Descriptor instead. func (*DB_SlotRateWeight) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{126} } func (x *DB_SlotRateWeight) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_SlotRateWeight) GetGameFreeId() int32 { if x != nil { return x.GameFreeId } return 0 } func (x *DB_SlotRateWeight) GetPos() int32 { if x != nil { return x.Pos } return 0 } func (x *DB_SlotRateWeight) GetNormCol1() []int32 { if x != nil { return x.NormCol1 } return nil } func (x *DB_SlotRateWeight) GetNormCol2() []int32 { if x != nil { return x.NormCol2 } return nil } func (x *DB_SlotRateWeight) GetNormCol3() []int32 { if x != nil { return x.NormCol3 } return nil } func (x *DB_SlotRateWeight) GetNormCol4() []int32 { if x != nil { return x.NormCol4 } return nil } func (x *DB_SlotRateWeight) GetNormCol5() []int32 { if x != nil { return x.NormCol5 } return nil } func (x *DB_SlotRateWeight) GetFreeCol1() []int32 { if x != nil { return x.FreeCol1 } return nil } func (x *DB_SlotRateWeight) GetFreeCol2() []int32 { if x != nil { return x.FreeCol2 } return nil } func (x *DB_SlotRateWeight) GetFreeCol3() []int32 { if x != nil { return x.FreeCol3 } return nil } func (x *DB_SlotRateWeight) GetFreeCol4() []int32 { if x != nil { return x.FreeCol4 } return nil } func (x *DB_SlotRateWeight) GetFreeCol5() []int32 { if x != nil { return x.FreeCol5 } return nil } func (x *DB_SlotRateWeight) GetMaryOut() []int32 { if x != nil { return x.MaryOut } return nil } func (x *DB_SlotRateWeight) GetMaryMid() []int32 { if x != nil { return x.MaryMid } return nil } func (x *DB_SlotRateWeight) GetJackPot() []int32 { if x != nil { return x.JackPot } return nil } type DB_SlotRateWeightArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_SlotRateWeight `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_SlotRateWeightArray) Reset() { *x = DB_SlotRateWeightArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_SlotRateWeightArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_SlotRateWeightArray) ProtoMessage() {} func (x *DB_SlotRateWeightArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_SlotRateWeightArray.ProtoReflect.Descriptor instead. func (*DB_SlotRateWeightArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{127} } func (x *DB_SlotRateWeightArray) GetArr() []*DB_SlotRateWeight { if x != nil { return x.Arr } return nil } type DB_SystemChance struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Desc string `protobuf:"bytes,2,opt,name=Desc,proto3" json:"Desc,omitempty"` ChanceType int32 `protobuf:"varint,3,opt,name=ChanceType,proto3" json:"ChanceType,omitempty"` Coin int32 `protobuf:"varint,4,opt,name=Coin,proto3" json:"Coin,omitempty"` Rate int32 `protobuf:"varint,5,opt,name=Rate,proto3" json:"Rate,omitempty"` } func (x *DB_SystemChance) Reset() { *x = DB_SystemChance{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_SystemChance) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_SystemChance) ProtoMessage() {} func (x *DB_SystemChance) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_SystemChance.ProtoReflect.Descriptor instead. func (*DB_SystemChance) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{128} } func (x *DB_SystemChance) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_SystemChance) GetDesc() string { if x != nil { return x.Desc } return "" } func (x *DB_SystemChance) GetChanceType() int32 { if x != nil { return x.ChanceType } return 0 } func (x *DB_SystemChance) GetCoin() int32 { if x != nil { return x.Coin } return 0 } func (x *DB_SystemChance) GetRate() int32 { if x != nil { return x.Rate } return 0 } type DB_SystemChanceArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_SystemChance `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_SystemChanceArray) Reset() { *x = DB_SystemChanceArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_SystemChanceArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_SystemChanceArray) ProtoMessage() {} func (x *DB_SystemChanceArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_SystemChanceArray.ProtoReflect.Descriptor instead. func (*DB_SystemChanceArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{129} } func (x *DB_SystemChanceArray) GetArr() []*DB_SystemChance { if x != nil { return x.Arr } return nil } type DB_Task struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Order int32 `protobuf:"varint,2,opt,name=Order,proto3" json:"Order,omitempty"` Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` Des string `protobuf:"bytes,4,opt,name=Des,proto3" json:"Des,omitempty"` ActivityType int32 `protobuf:"varint,5,opt,name=ActivityType,proto3" json:"ActivityType,omitempty"` TaskType int32 `protobuf:"varint,6,opt,name=TaskType,proto3" json:"TaskType,omitempty"` TargetTimes int64 `protobuf:"varint,7,opt,name=TargetTimes,proto3" json:"TargetTimes,omitempty"` FinishTimes int64 `protobuf:"varint,8,opt,name=FinishTimes,proto3" json:"FinishTimes,omitempty"` Award map[int64]int64 `protobuf:"bytes,9,rep,name=Award,proto3" json:"Award,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` GameType int32 `protobuf:"varint,10,opt,name=GameType,proto3" json:"GameType,omitempty"` Position []int32 `protobuf:"varint,11,rep,packed,name=Position,proto3" json:"Position,omitempty"` } func (x *DB_Task) Reset() { *x = DB_Task{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Task) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Task) ProtoMessage() {} func (x *DB_Task) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Task.ProtoReflect.Descriptor instead. func (*DB_Task) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{130} } func (x *DB_Task) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Task) GetOrder() int32 { if x != nil { return x.Order } return 0 } func (x *DB_Task) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_Task) GetDes() string { if x != nil { return x.Des } return "" } func (x *DB_Task) GetActivityType() int32 { if x != nil { return x.ActivityType } return 0 } func (x *DB_Task) GetTaskType() int32 { if x != nil { return x.TaskType } return 0 } func (x *DB_Task) GetTargetTimes() int64 { if x != nil { return x.TargetTimes } return 0 } func (x *DB_Task) GetFinishTimes() int64 { if x != nil { return x.FinishTimes } return 0 } func (x *DB_Task) GetAward() map[int64]int64 { if x != nil { return x.Award } return nil } func (x *DB_Task) GetGameType() int32 { if x != nil { return x.GameType } return 0 } func (x *DB_Task) GetPosition() []int32 { if x != nil { return x.Position } return nil } type DB_TaskArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Task `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_TaskArray) Reset() { *x = DB_TaskArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_TaskArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_TaskArray) ProtoMessage() {} func (x *DB_TaskArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_TaskArray.ProtoReflect.Descriptor instead. func (*DB_TaskArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{131} } func (x *DB_TaskArray) GetArr() []*DB_Task { if x != nil { return x.Arr } return nil } type DB_ThirdPlatformGameMapping struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` SystemGameID int32 `protobuf:"varint,2,opt,name=SystemGameID,proto3" json:"SystemGameID,omitempty"` ThirdPlatformName string `protobuf:"bytes,3,opt,name=ThirdPlatformName,proto3" json:"ThirdPlatformName,omitempty"` ThirdGameID string `protobuf:"bytes,4,opt,name=ThirdGameID,proto3" json:"ThirdGameID,omitempty"` Desc string `protobuf:"bytes,5,opt,name=Desc,proto3" json:"Desc,omitempty"` ScreenOrientationType int32 `protobuf:"varint,6,opt,name=ScreenOrientationType,proto3" json:"ScreenOrientationType,omitempty"` ThirdID int32 `protobuf:"varint,7,opt,name=ThirdID,proto3" json:"ThirdID,omitempty"` } func (x *DB_ThirdPlatformGameMapping) Reset() { *x = DB_ThirdPlatformGameMapping{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ThirdPlatformGameMapping) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ThirdPlatformGameMapping) ProtoMessage() {} func (x *DB_ThirdPlatformGameMapping) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_ThirdPlatformGameMapping.ProtoReflect.Descriptor instead. func (*DB_ThirdPlatformGameMapping) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{132} } func (x *DB_ThirdPlatformGameMapping) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_ThirdPlatformGameMapping) GetSystemGameID() int32 { if x != nil { return x.SystemGameID } return 0 } func (x *DB_ThirdPlatformGameMapping) GetThirdPlatformName() string { if x != nil { return x.ThirdPlatformName } return "" } func (x *DB_ThirdPlatformGameMapping) GetThirdGameID() string { if x != nil { return x.ThirdGameID } return "" } func (x *DB_ThirdPlatformGameMapping) GetDesc() string { if x != nil { return x.Desc } return "" } func (x *DB_ThirdPlatformGameMapping) GetScreenOrientationType() int32 { if x != nil { return x.ScreenOrientationType } return 0 } func (x *DB_ThirdPlatformGameMapping) GetThirdID() int32 { if x != nil { return x.ThirdID } return 0 } type DB_ThirdPlatformGameMappingArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_ThirdPlatformGameMapping `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_ThirdPlatformGameMappingArray) Reset() { *x = DB_ThirdPlatformGameMappingArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_ThirdPlatformGameMappingArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_ThirdPlatformGameMappingArray) ProtoMessage() {} func (x *DB_ThirdPlatformGameMappingArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_ThirdPlatformGameMappingArray.ProtoReflect.Descriptor instead. func (*DB_ThirdPlatformGameMappingArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{133} } func (x *DB_ThirdPlatformGameMappingArray) GetArr() []*DB_ThirdPlatformGameMapping { if x != nil { return x.Arr } return nil } type DB_Tips struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` GameId []int32 `protobuf:"varint,2,rep,packed,name=GameId,proto3" json:"GameId,omitempty"` Des string `protobuf:"bytes,3,opt,name=Des,proto3" json:"Des,omitempty"` } func (x *DB_Tips) Reset() { *x = DB_Tips{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_Tips) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_Tips) ProtoMessage() {} func (x *DB_Tips) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_Tips.ProtoReflect.Descriptor instead. func (*DB_Tips) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{134} } func (x *DB_Tips) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_Tips) GetGameId() []int32 { if x != nil { return x.GameId } return nil } func (x *DB_Tips) GetDes() string { if x != nil { return x.Des } return "" } type DB_TipsArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_Tips `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_TipsArray) Reset() { *x = DB_TipsArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_TipsArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_TipsArray) ProtoMessage() {} func (x *DB_TipsArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_TipsArray.ProtoReflect.Descriptor instead. func (*DB_TipsArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{135} } func (x *DB_TipsArray) GetArr() []*DB_Tips { if x != nil { return x.Arr } return nil } type DB_VIP struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` Count int32 `protobuf:"varint,3,opt,name=Count,proto3" json:"Count,omitempty"` VipExp int32 `protobuf:"varint,4,opt,name=VipExp,proto3" json:"VipExp,omitempty"` Privilege1 []int32 `protobuf:"varint,5,rep,packed,name=Privilege1,proto3" json:"Privilege1,omitempty"` Privilege2 []int32 `protobuf:"varint,6,rep,packed,name=Privilege2,proto3" json:"Privilege2,omitempty"` ShopId2 int32 `protobuf:"varint,7,opt,name=ShopId2,proto3" json:"ShopId2,omitempty"` Privilege3 []int32 `protobuf:"varint,8,rep,packed,name=Privilege3,proto3" json:"Privilege3,omitempty"` Privilege4 int32 `protobuf:"varint,9,opt,name=Privilege4,proto3" json:"Privilege4,omitempty"` Privilege5 int32 `protobuf:"varint,10,opt,name=Privilege5,proto3" json:"Privilege5,omitempty"` Privilege6 int32 `protobuf:"varint,11,opt,name=Privilege6,proto3" json:"Privilege6,omitempty"` Privilege7 map[int64]int64 `protobuf:"bytes,12,rep,name=Privilege7,proto3" json:"Privilege7,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` Privilege7Price int32 `protobuf:"varint,13,opt,name=Privilege7Price,proto3" json:"Privilege7Price,omitempty"` ShopId7 int32 `protobuf:"varint,14,opt,name=ShopId7,proto3" json:"ShopId7,omitempty"` Privilege8 int32 `protobuf:"varint,15,opt,name=Privilege8,proto3" json:"Privilege8,omitempty"` Param []int32 `protobuf:"varint,16,rep,packed,name=Param,proto3" json:"Param,omitempty"` RewardOutlineID []int32 `protobuf:"varint,17,rep,packed,name=RewardOutlineID,proto3" json:"RewardOutlineID,omitempty"` Award map[int64]int64 `protobuf:"bytes,18,rep,name=Award,proto3" json:"Award,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` ParamName []string `protobuf:"bytes,19,rep,name=ParamName,proto3" json:"ParamName,omitempty"` MatchFreeTimes int32 `protobuf:"varint,20,opt,name=MatchFreeTimes,proto3" json:"MatchFreeTimes,omitempty"` Privilege9 []int32 `protobuf:"varint,21,rep,packed,name=Privilege9,proto3" json:"Privilege9,omitempty"` PrivilegeShow int32 `protobuf:"varint,22,opt,name=PrivilegeShow,proto3" json:"PrivilegeShow,omitempty"` } func (x *DB_VIP) Reset() { *x = DB_VIP{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_VIP) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_VIP) ProtoMessage() {} func (x *DB_VIP) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_VIP.ProtoReflect.Descriptor instead. func (*DB_VIP) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{136} } func (x *DB_VIP) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_VIP) GetName() string { if x != nil { return x.Name } return "" } func (x *DB_VIP) GetCount() int32 { if x != nil { return x.Count } return 0 } func (x *DB_VIP) GetVipExp() int32 { if x != nil { return x.VipExp } return 0 } func (x *DB_VIP) GetPrivilege1() []int32 { if x != nil { return x.Privilege1 } return nil } func (x *DB_VIP) GetPrivilege2() []int32 { if x != nil { return x.Privilege2 } return nil } func (x *DB_VIP) GetShopId2() int32 { if x != nil { return x.ShopId2 } return 0 } func (x *DB_VIP) GetPrivilege3() []int32 { if x != nil { return x.Privilege3 } return nil } func (x *DB_VIP) GetPrivilege4() int32 { if x != nil { return x.Privilege4 } return 0 } func (x *DB_VIP) GetPrivilege5() int32 { if x != nil { return x.Privilege5 } return 0 } func (x *DB_VIP) GetPrivilege6() int32 { if x != nil { return x.Privilege6 } return 0 } func (x *DB_VIP) GetPrivilege7() map[int64]int64 { if x != nil { return x.Privilege7 } return nil } func (x *DB_VIP) GetPrivilege7Price() int32 { if x != nil { return x.Privilege7Price } return 0 } func (x *DB_VIP) GetShopId7() int32 { if x != nil { return x.ShopId7 } return 0 } func (x *DB_VIP) GetPrivilege8() int32 { if x != nil { return x.Privilege8 } return 0 } func (x *DB_VIP) GetParam() []int32 { if x != nil { return x.Param } return nil } func (x *DB_VIP) GetRewardOutlineID() []int32 { if x != nil { return x.RewardOutlineID } return nil } func (x *DB_VIP) GetAward() map[int64]int64 { if x != nil { return x.Award } return nil } func (x *DB_VIP) GetParamName() []string { if x != nil { return x.ParamName } return nil } func (x *DB_VIP) GetMatchFreeTimes() int32 { if x != nil { return x.MatchFreeTimes } return 0 } func (x *DB_VIP) GetPrivilege9() []int32 { if x != nil { return x.Privilege9 } return nil } func (x *DB_VIP) GetPrivilegeShow() int32 { if x != nil { return x.PrivilegeShow } return 0 } type DB_VIPArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_VIP `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_VIPArray) Reset() { *x = DB_VIPArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_VIPArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_VIPArray) ProtoMessage() {} func (x *DB_VIPArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_VIPArray.ProtoReflect.Descriptor instead. func (*DB_VIPArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{137} } func (x *DB_VIPArray) GetArr() []*DB_VIP { if x != nil { return x.Arr } return nil } type DB_VIPShow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` SkinId int32 `protobuf:"varint,3,opt,name=SkinId,proto3" json:"SkinId,omitempty"` VIPLevel int32 `protobuf:"varint,4,opt,name=VIPLevel,proto3" json:"VIPLevel,omitempty"` VIPDes string `protobuf:"bytes,5,opt,name=VIPDes,proto3" json:"VIPDes,omitempty"` } func (x *DB_VIPShow) Reset() { *x = DB_VIPShow{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_VIPShow) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_VIPShow) ProtoMessage() {} func (x *DB_VIPShow) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_VIPShow.ProtoReflect.Descriptor instead. func (*DB_VIPShow) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{138} } func (x *DB_VIPShow) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *DB_VIPShow) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *DB_VIPShow) GetSkinId() int32 { if x != nil { return x.SkinId } return 0 } func (x *DB_VIPShow) GetVIPLevel() int32 { if x != nil { return x.VIPLevel } return 0 } func (x *DB_VIPShow) GetVIPDes() string { if x != nil { return x.VIPDes } return "" } type DB_VIPShowArray struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Arr []*DB_VIPShow `protobuf:"bytes,1,rep,name=Arr,proto3" json:"Arr,omitempty"` } func (x *DB_VIPShowArray) Reset() { *x = DB_VIPShowArray{} if protoimpl.UnsafeEnabled { mi := &file_protocol_server_pbdata_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DB_VIPShowArray) String() string { return protoimpl.X.MessageStringOf(x) } func (*DB_VIPShowArray) ProtoMessage() {} func (x *DB_VIPShowArray) ProtoReflect() protoreflect.Message { mi := &file_protocol_server_pbdata_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DB_VIPShowArray.ProtoReflect.Descriptor instead. func (*DB_VIPShowArray) Descriptor() ([]byte, []int) { return file_protocol_server_pbdata_proto_rawDescGZIP(), []int{139} } func (x *DB_VIPShowArray) GetArr() []*DB_VIPShow { if x != nil { return x.Arr } return nil } var File_protocol_server_pbdata_proto protoreflect.FileDescriptor var file_protocol_server_pbdata_proto_rawDesc = []byte{ 0x0a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x62, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x73, 0x0a, 0x0a, 0x44, 0x42, 0x5f, 0x41, 0x63, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x22, 0x37, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x41, 0x63, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x41, 0x63, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x86, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x31, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x73, 0x74, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x73, 0x74, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x79, 0x70, 0x65, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x72, 0x6f, 0x70, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x72, 0x6f, 0x70, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x65, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x31, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x31, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x56, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x13, 0x44, 0x42, 0x5f, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x28, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x62, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x41, 0x72, 0x74, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x22, 0x43, 0x0a, 0x15, 0x44, 0x42, 0x5f, 0x41, 0x72, 0x74, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x61, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x41, 0x72, 0x74, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x61, 0x74, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xf6, 0x03, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x41, 0x72, 0x74, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x72, 0x69, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x45, 0x78, 0x70, 0x72, 0x69, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x69, 0x63, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x69, 0x63, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x61, 0x73, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4e, 0x65, 0x74, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x75, 0x67, 0x68, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x75, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x43, 0x0a, 0x15, 0x44, 0x42, 0x5f, 0x41, 0x72, 0x74, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x6b, 0x69, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x41, 0x72, 0x74, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x6b, 0x69, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x5b, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x57, 0x68, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x57, 0x68, 0x69, 0x74, 0x65, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x57, 0x68, 0x69, 0x74, 0x65, 0x4f, 0x64, 0x64, 0x73, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x57, 0x68, 0x69, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x57, 0x68, 0x69, 0x74, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x94, 0x04, 0x0a, 0x0a, 0x44, 0x42, 0x5f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4a, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x31, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x31, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x31, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x31, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x32, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x32, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x32, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x32, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x32, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x32, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x33, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x33, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x33, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x33, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x33, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x33, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x34, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x34, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x34, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x34, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x34, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x34, 0x43, 0x61, 0x72, 0x64, 0x73, 0x22, 0x37, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4a, 0x44, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x4a, 0x44, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x96, 0x04, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x59, 0x75, 0x4c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x31, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x31, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x31, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x31, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x32, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x32, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x32, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x32, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x32, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x32, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x33, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x33, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x33, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x33, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x33, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x33, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x61, 0x72, 0x64, 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x43, 0x61, 0x72, 0x64, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x34, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x34, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x34, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x34, 0x48, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x34, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x34, 0x43, 0x61, 0x72, 0x64, 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x59, 0x75, 0x4c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x61, 0x72, 0x64, 0x73, 0x59, 0x75, 0x4c, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd1, 0x01, 0x0a, 0x13, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x57, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x72, 0x61, 0x77, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x72, 0x61, 0x77, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x57, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x49, 0x0a, 0x18, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2d, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x88, 0x02, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x6f, 0x77, 0x53, 0x74, 0x65, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x6f, 0x77, 0x53, 0x74, 0x65, 0x70, 0x12, 0x30, 0x0a, 0x13, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x48, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x65, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x13, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x48, 0x69, 0x67, 0x68, 0x74, 0x53, 0x74, 0x65, 0x70, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x48, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x78, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x61, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa9, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x6f, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x6f, 0x78, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x1a, 0x39, 0x0a, 0x0b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x6f, 0x78, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x37, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x6f, 0x78, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0x45, 0x0a, 0x16, 0x44, 0x42, 0x5f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x6f, 0x78, 0x47, 0x61, 0x69, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x42, 0x6f, 0x78, 0x47, 0x61, 0x69, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x4a, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x43, 0x72, 0x61, 0x73, 0x68, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x3f, 0x0a, 0x13, 0x44, 0x42, 0x5f, 0x43, 0x72, 0x61, 0x73, 0x68, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x28, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x72, 0x61, 0x73, 0x68, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x42, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x6f, 0x6f, 0x6d, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x6f, 0x6f, 0x6d, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x91, 0x07, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x65, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x69, 0x65, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x69, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x69, 0x65, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x69, 0x65, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x69, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x69, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x65, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x69, 0x65, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x70, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x42, 0x6f, 0x73, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x42, 0x6f, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x73, 0x49, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x65, 0x73, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x69, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x69, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x68, 0x61, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x73, 0x68, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x73, 0x68, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x5a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x5a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x50, 0x6e, 0x67, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x73, 0x50, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x69, 0x6d, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x69, 0x6d, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xfc, 0x01, 0x0a, 0x0a, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x4f, 0x75, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x37, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x4f, 0x75, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x4f, 0x75, 0x74, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x63, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x50, 0x61, 0x74, 0x68, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x50, 0x61, 0x74, 0x68, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xed, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x35, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x75, 0x6d, 0x47, 0x6f, 0x6c, 0x64, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x44, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x44, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x44, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x44, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x42, 0x6f, 0x73, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xda, 0x03, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x56, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x47, 0x43, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x47, 0x43, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6f, 0x6f, 0x6c, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x42, 0x6f, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x42, 0x6f, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x75, 0x74, 0x65, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x75, 0x72, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x75, 0x72, 0x79, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x69, 0x73, 0x68, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x33, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x34, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x35, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x4f, 0x64, 0x64, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x4f, 0x64, 0x64, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4f, 0x0a, 0x1b, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x30, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x52, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x4b, 0x0a, 0x19, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2e, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa1, 0x01, 0x0a, 0x1d, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x42, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x72, 0x75, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x52, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x72, 0x75, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x22, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x37, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x46, 0x6f, 0x72, 0x74, 0x75, 0x6e, 0x65, 0x47, 0x6f, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xdf, 0x02, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x56, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x33, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x33, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x33, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x33, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x33, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x56, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x56, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xfb, 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x49, 0x6e, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x74, 0x72, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x49, 0x6e, 0x69, 0x74, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd9, 0x11, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x64, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x64, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x53, 0x75, 0x62, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x65, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x65, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x63, 0x6b, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x68, 0x61, 0x6e, 0x4b, 0x69, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x42, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x74, 0x44, 0x65, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x42, 0x65, 0x74, 0x44, 0x65, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x42, 0x6f, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x42, 0x6f, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x41, 0x69, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x41, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x42, 0x61, 0x6e, 0x6b, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x69, 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x78, 0x43, 0x68, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x03, 0x52, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0f, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x18, 0x20, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x52, 0x6e, 0x67, 0x18, 0x21, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x52, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x22, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x23, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x42, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x61, 0x78, 0x52, 0x61, 0x74, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x54, 0x61, 0x78, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x61, 0x6d, 0x65, 0x49, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x53, 0x61, 0x6d, 0x65, 0x49, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x53, 0x61, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x69, 0x66, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x69, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x42, 0x65, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x42, 0x65, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x61, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x61, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4b, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4b, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x65, 0x74, 0x57, 0x61, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x42, 0x65, 0x74, 0x57, 0x61, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x18, 0x33, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x18, 0x35, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x36, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x4d, 0x69, 0x6e, 0x18, 0x37, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x4d, 0x69, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x38, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x47, 0x72, 0x61, 0x64, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x18, 0x39, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x75, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x49, 0x6e, 0x74, 0x75, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x75, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x49, 0x6e, 0x74, 0x75, 0x73, 0x65, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x28, 0x0a, 0x0f, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x65, 0x74, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x42, 0x6f, 0x73, 0x73, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x44, 0x72, 0x61, 0x77, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x6c, 0x75, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x46, 0x6c, 0x75, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x46, 0x6c, 0x75, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x40, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x46, 0x6c, 0x75, 0x63, 0x74, 0x75, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x41, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x42, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x43, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x65, 0x74, 0x18, 0x44, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x18, 0x45, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x46, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x4d, 0x61, 0x78, 0x18, 0x47, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x4d, 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x18, 0x48, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x49, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x49, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xc1, 0x05, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x30, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x30, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x61, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x61, 0x6c, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x61, 0x6c, 0x65, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x47, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x3d, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x87, 0x02, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x55, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x55, 0x70, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x70, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x55, 0x70, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x55, 0x70, 0x47, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x55, 0x70, 0x47, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x6f, 0x77, 0x6e, 0x47, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x44, 0x6f, 0x77, 0x6e, 0x47, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x64, 0x64, 0x73, 0x22, 0x45, 0x0a, 0x16, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xb3, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x69, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x61, 0x6d, 0x65, 0x44, 0x69, 0x66, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x64, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x69, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x47, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x13, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x69, 0x64, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x28, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x75, 0x62, 0x73, 0x69, 0x64, 0x79, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x42, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x42, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x31, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x65, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x61, 0x74, 0x65, 0x31, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa0, 0x01, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x78, 0x22, 0x4b, 0x0a, 0x19, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2e, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xf9, 0x01, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x65, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x50, 0x65, 0x74, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x5f, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa3, 0x01, 0x0a, 0x0a, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x42, 0x6f, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x42, 0x6f, 0x78, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x1a, 0x39, 0x0a, 0x0b, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x37, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x42, 0x6f, 0x78, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x42, 0x6f, 0x78, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xf1, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x43, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x44, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x44, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x44, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x71, 0x75, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x45, 0x71, 0x75, 0x69, 0x74, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x44, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x43, 0x61, 0x72, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x69, 0x66, 0x74, 0x43, 0x61, 0x72, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x76, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x49, 0x63, 0x65, 0x41, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x4b, 0x0a, 0x19, 0x44, 0x42, 0x5f, 0x49, 0x63, 0x65, 0x41, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2e, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x49, 0x63, 0x65, 0x41, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x33, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x34, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x35, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x52, 0x61, 0x74, 0x65, 0x6f, 0x64, 0x64, 0x73, 0x35, 0x22, 0x3f, 0x0a, 0x13, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x4f, 0x64, 0x64, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x28, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x4f, 0x64, 0x64, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x54, 0x75, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x4e, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x43, 0x0a, 0x15, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x9d, 0x01, 0x0a, 0x19, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x42, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x72, 0x75, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x52, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x72, 0x75, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x1e, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x33, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x3a, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x2d, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x30, 0x0a, 0x0a, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x6f, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x37, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x6f, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x6f, 0x79, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x31, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x47, 0x69, 0x72, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x47, 0x69, 0x72, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4e, 0x61, 0x6d, 0x65, 0x47, 0x69, 0x72, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xb0, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x42, 0x6f, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x42, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x64, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x41, 0x64, 0x64, 0x4d, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x4e, 0x65, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x75, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x61, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xe9, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x4b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x10, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa2, 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4f, 0x64, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4f, 0x64, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x31, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x64, 0x64, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x4f, 0x64, 0x64, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x4f, 0x64, 0x64, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x34, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xce, 0x02, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x78, 0x47, 0x6f, 0x6c, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x5b, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6f, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x30, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x78, 0x70, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x78, 0x70, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xa5, 0x05, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x61, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x61, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x64, 0x64, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x75, 0x63, 0x6b, 0x79, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x75, 0x63, 0x6b, 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x43, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x52, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x41, 0x72, 0x72, 0x18, 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x62, 0x41, 0x72, 0x72, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x5d, 0x0a, 0x09, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x4f, 0x64, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, 0x4f, 0x64, 0x64, 0x22, 0x35, 0x0a, 0x0e, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x6f, 0x74, 0x4f, 0x64, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x97, 0x02, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x47, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x46, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x7a, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xff, 0x01, 0x0a, 0x0d, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x4e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x33, 0x4e, 0x75, 0x6d, 0x22, 0x3d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x4d, 0x0a, 0x12, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x17, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x83, 0x04, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4b, 0x65, 0x79, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xd7, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x53, 0x6b, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xbb, 0x03, 0x0a, 0x11, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x31, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x34, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x35, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4e, 0x6f, 0x72, 0x6d, 0x43, 0x6f, 0x6c, 0x35, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x31, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x31, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x33, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x33, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x34, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x35, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x6c, 0x35, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4d, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4d, 0x61, 0x72, 0x79, 0x4d, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x74, 0x22, 0x45, 0x0a, 0x16, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x2b, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x61, 0x74, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x7d, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0x41, 0x0a, 0x14, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xfd, 0x02, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x85, 0x02, 0x0a, 0x1b, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x54, 0x68, 0x69, 0x72, 0x64, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x54, 0x68, 0x69, 0x72, 0x64, 0x49, 0x44, 0x22, 0x59, 0x0a, 0x20, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x43, 0x0a, 0x07, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x44, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x0c, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x21, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x54, 0x69, 0x70, 0x73, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0xce, 0x06, 0x0a, 0x06, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x56, 0x69, 0x70, 0x45, 0x78, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x08, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x10, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x18, 0x15, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2f, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x52, 0x03, 0x41, 0x72, 0x72, 0x22, 0x7c, 0x0a, 0x0a, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x56, 0x49, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x56, 0x49, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x49, 0x50, 0x44, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x56, 0x49, 0x50, 0x44, 0x65, 0x73, 0x22, 0x37, 0x0a, 0x0f, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x03, 0x41, 0x72, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x56, 0x49, 0x50, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x03, 0x41, 0x72, 0x72, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_protocol_server_pbdata_proto_rawDescOnce sync.Once file_protocol_server_pbdata_proto_rawDescData = file_protocol_server_pbdata_proto_rawDesc ) func file_protocol_server_pbdata_proto_rawDescGZIP() []byte { file_protocol_server_pbdata_proto_rawDescOnce.Do(func() { file_protocol_server_pbdata_proto_rawDescData = protoimpl.X.CompressGZIP(file_protocol_server_pbdata_proto_rawDescData) }) return file_protocol_server_pbdata_proto_rawDescData } var file_protocol_server_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 154) var file_protocol_server_pbdata_proto_goTypes = []interface{}{ (*DB_ActSign)(nil), // 0: server.DB_ActSign (*DB_ActSignArray)(nil), // 1: server.DB_ActSignArray (*DB_Activity1)(nil), // 2: server.DB_Activity1 (*DB_Activity1Array)(nil), // 3: server.DB_Activity1Array (*DB_AnimalColor)(nil), // 4: server.DB_AnimalColor (*DB_AnimalColorArray)(nil), // 5: server.DB_AnimalColorArray (*DB_ArtilleryRate)(nil), // 6: server.DB_ArtilleryRate (*DB_ArtilleryRateArray)(nil), // 7: server.DB_ArtilleryRateArray (*DB_ArtillerySkin)(nil), // 8: server.DB_ArtillerySkin (*DB_ArtillerySkinArray)(nil), // 9: server.DB_ArtillerySkinArray (*DB_BlackWhite)(nil), // 10: server.DB_BlackWhite (*DB_BlackWhiteArray)(nil), // 11: server.DB_BlackWhiteArray (*DB_CardsJD)(nil), // 12: server.DB_CardsJD (*DB_CardsJDArray)(nil), // 13: server.DB_CardsJDArray (*DB_CardsYuLe)(nil), // 14: server.DB_CardsYuLe (*DB_CardsYuLeArray)(nil), // 15: server.DB_CardsYuLeArray (*DB_ChessBilledRules)(nil), // 16: server.DB_ChessBilledRules (*DB_ChessBilledRulesArray)(nil), // 17: server.DB_ChessBilledRulesArray (*DB_ChessMatchRules)(nil), // 18: server.DB_ChessMatchRules (*DB_ChessMatchRulesArray)(nil), // 19: server.DB_ChessMatchRulesArray (*DB_ChessRank)(nil), // 20: server.DB_ChessRank (*DB_ChessRankArray)(nil), // 21: server.DB_ChessRankArray (*DB_ClientVer)(nil), // 22: server.DB_ClientVer (*DB_ClientVerArray)(nil), // 23: server.DB_ClientVerArray (*DB_CollectBox)(nil), // 24: server.DB_CollectBox (*DB_CollectBoxArray)(nil), // 25: server.DB_CollectBoxArray (*DB_CollectBoxGain)(nil), // 26: server.DB_CollectBoxGain (*DB_CollectBoxGainArray)(nil), // 27: server.DB_CollectBoxGainArray (*DB_CrashSearch)(nil), // 28: server.DB_CrashSearch (*DB_CrashSearchArray)(nil), // 29: server.DB_CrashSearchArray (*DB_Createroom)(nil), // 30: server.DB_Createroom (*DB_CreateroomArray)(nil), // 31: server.DB_CreateroomArray (*DB_Fish)(nil), // 32: server.DB_Fish (*DB_FishArray)(nil), // 33: server.DB_FishArray (*DB_FishOut)(nil), // 34: server.DB_FishOut (*DB_FishOutArray)(nil), // 35: server.DB_FishOutArray (*DB_FishPath)(nil), // 36: server.DB_FishPath (*DB_FishPathArray)(nil), // 37: server.DB_FishPathArray (*DB_FishRoom)(nil), // 38: server.DB_FishRoom (*DB_FishRoomArray)(nil), // 39: server.DB_FishRoomArray (*DB_FishSkill)(nil), // 40: server.DB_FishSkill (*DB_FishSkillArray)(nil), // 41: server.DB_FishSkillArray (*DB_FortuneGod_Odds)(nil), // 42: server.DB_FortuneGod_Odds (*DB_FortuneGod_OddsArray)(nil), // 43: server.DB_FortuneGod_OddsArray (*DB_FortuneGod_TurnRate)(nil), // 44: server.DB_FortuneGod_TurnRate (*DB_FortuneGod_TurnRateArray)(nil), // 45: server.DB_FortuneGod_TurnRateArray (*DB_FortuneGod_Weight)(nil), // 46: server.DB_FortuneGod_Weight (*DB_FortuneGod_WeightArray)(nil), // 47: server.DB_FortuneGod_WeightArray (*DB_FortuneGod_WeightCondition)(nil), // 48: server.DB_FortuneGod_WeightCondition (*DB_FortuneGod_WeightConditionArray)(nil), // 49: server.DB_FortuneGod_WeightConditionArray (*DB_GamMatchLV)(nil), // 50: server.DB_GamMatchLV (*DB_GamMatchLVArray)(nil), // 51: server.DB_GamMatchLVArray (*DB_GameCoinPool)(nil), // 52: server.DB_GameCoinPool (*DB_GameCoinPoolArray)(nil), // 53: server.DB_GameCoinPoolArray (*DB_GameFree)(nil), // 54: server.DB_GameFree (*DB_GameFreeArray)(nil), // 55: server.DB_GameFreeArray (*DB_GameItem)(nil), // 56: server.DB_GameItem (*DB_GameItemArray)(nil), // 57: server.DB_GameItemArray (*DB_GameMatchLevel)(nil), // 58: server.DB_GameMatchLevel (*DB_GameMatchLevelArray)(nil), // 59: server.DB_GameMatchLevelArray (*DB_GameRule)(nil), // 60: server.DB_GameRule (*DB_GameRuleArray)(nil), // 61: server.DB_GameRuleArray (*DB_GameSubsidy)(nil), // 62: server.DB_GameSubsidy (*DB_GameSubsidyArray)(nil), // 63: server.DB_GameSubsidyArray (*DB_Game_Drop)(nil), // 64: server.DB_Game_Drop (*DB_Game_DropArray)(nil), // 65: server.DB_Game_DropArray (*DB_Game_Introduction)(nil), // 66: server.DB_Game_Introduction (*DB_Game_IntroductionArray)(nil), // 67: server.DB_Game_IntroductionArray (*DB_Game_Pet)(nil), // 68: server.DB_Game_Pet (*DB_Game_PetArray)(nil), // 69: server.DB_Game_PetArray (*DB_Game_Role)(nil), // 70: server.DB_Game_Role (*DB_Game_RoleArray)(nil), // 71: server.DB_Game_RoleArray (*DB_GiftBox)(nil), // 72: server.DB_GiftBox (*DB_GiftBoxArray)(nil), // 73: server.DB_GiftBoxArray (*DB_GiftCard)(nil), // 74: server.DB_GiftCard (*DB_GiftCardArray)(nil), // 75: server.DB_GiftCardArray (*DB_IceAgeElementRate)(nil), // 76: server.DB_IceAgeElementRate (*DB_IceAgeElementRateArray)(nil), // 77: server.DB_IceAgeElementRateArray (*DB_Legend_Odds)(nil), // 78: server.DB_Legend_Odds (*DB_Legend_OddsArray)(nil), // 79: server.DB_Legend_OddsArray (*DB_Legend_TurnRate)(nil), // 80: server.DB_Legend_TurnRate (*DB_Legend_TurnRateArray)(nil), // 81: server.DB_Legend_TurnRateArray (*DB_Legend_Weight)(nil), // 82: server.DB_Legend_Weight (*DB_Legend_WeightArray)(nil), // 83: server.DB_Legend_WeightArray (*DB_Legend_WeightCondition)(nil), // 84: server.DB_Legend_WeightCondition (*DB_Legend_WeightConditionArray)(nil), // 85: server.DB_Legend_WeightConditionArray (*DB_MatchRank)(nil), // 86: server.DB_MatchRank (*DB_MatchRankArray)(nil), // 87: server.DB_MatchRankArray (*DB_Name)(nil), // 88: server.DB_Name (*DB_NameArray)(nil), // 89: server.DB_NameArray (*DB_NameBoy)(nil), // 90: server.DB_NameBoy (*DB_NameBoyArray)(nil), // 91: server.DB_NameBoyArray (*DB_NameGirl)(nil), // 92: server.DB_NameGirl (*DB_NameGirlArray)(nil), // 93: server.DB_NameGirlArray (*DB_NewPlayer)(nil), // 94: server.DB_NewPlayer (*DB_NewPlayerArray)(nil), // 95: server.DB_NewPlayerArray (*DB_PassShow)(nil), // 96: server.DB_PassShow (*DB_PassShowArray)(nil), // 97: server.DB_PassShowArray (*DB_PetSkill)(nil), // 98: server.DB_PetSkill (*DB_PetSkillArray)(nil), // 99: server.DB_PetSkillArray (*DB_PhoneLottery)(nil), // 100: server.DB_PhoneLottery (*DB_PhoneLotteryArray)(nil), // 101: server.DB_PhoneLotteryArray (*DB_PigBank_Diamond)(nil), // 102: server.DB_PigBank_Diamond (*DB_PigBank_DiamondArray)(nil), // 103: server.DB_PigBank_DiamondArray (*DB_Pigbank_Prop)(nil), // 104: server.DB_Pigbank_Prop (*DB_Pigbank_PropArray)(nil), // 105: server.DB_Pigbank_PropArray (*DB_PlayerExp)(nil), // 106: server.DB_PlayerExp (*DB_PlayerExpArray)(nil), // 107: server.DB_PlayerExpArray (*DB_PlayerType)(nil), // 108: server.DB_PlayerType (*DB_PlayerTypeArray)(nil), // 109: server.DB_PlayerTypeArray (*DB_PotOdd)(nil), // 110: server.DB_PotOdd (*DB_PotOddArray)(nil), // 111: server.DB_PotOddArray (*DB_PropExchange)(nil), // 112: server.DB_PropExchange (*DB_PropExchangeArray)(nil), // 113: server.DB_PropExchangeArray (*DB_RankCycle)(nil), // 114: server.DB_RankCycle (*DB_RankCycleArray)(nil), // 115: server.DB_RankCycleArray (*DB_RankLevel)(nil), // 116: server.DB_RankLevel (*DB_RankLevelArray)(nil), // 117: server.DB_RankLevelArray (*DB_RankReward)(nil), // 118: server.DB_RankReward (*DB_RankRewardArray)(nil), // 119: server.DB_RankRewardArray (*DB_Sensitive_Words)(nil), // 120: server.DB_Sensitive_Words (*DB_Sensitive_WordsArray)(nil), // 121: server.DB_Sensitive_WordsArray (*DB_Skin)(nil), // 122: server.DB_Skin (*DB_SkinArray)(nil), // 123: server.DB_SkinArray (*DB_SkinLevel)(nil), // 124: server.DB_SkinLevel (*DB_SkinLevelArray)(nil), // 125: server.DB_SkinLevelArray (*DB_SlotRateWeight)(nil), // 126: server.DB_SlotRateWeight (*DB_SlotRateWeightArray)(nil), // 127: server.DB_SlotRateWeightArray (*DB_SystemChance)(nil), // 128: server.DB_SystemChance (*DB_SystemChanceArray)(nil), // 129: server.DB_SystemChanceArray (*DB_Task)(nil), // 130: server.DB_Task (*DB_TaskArray)(nil), // 131: server.DB_TaskArray (*DB_ThirdPlatformGameMapping)(nil), // 132: server.DB_ThirdPlatformGameMapping (*DB_ThirdPlatformGameMappingArray)(nil), // 133: server.DB_ThirdPlatformGameMappingArray (*DB_Tips)(nil), // 134: server.DB_Tips (*DB_TipsArray)(nil), // 135: server.DB_TipsArray (*DB_VIP)(nil), // 136: server.DB_VIP (*DB_VIPArray)(nil), // 137: server.DB_VIPArray (*DB_VIPShow)(nil), // 138: server.DB_VIPShow (*DB_VIPShowArray)(nil), // 139: server.DB_VIPShowArray nil, // 140: server.DB_CollectBox.ItemIDEntry nil, // 141: server.DB_GameItem.GainEntry nil, // 142: server.DB_GameItem.CompoundEntry nil, // 143: server.DB_GiftBox.ItemIDEntry nil, // 144: server.DB_GiftCard.RewardsEntry nil, // 145: server.DB_GiftCard.DayRewardsEntry nil, // 146: server.DB_PetSkill.ItemConsumEntry nil, // 147: server.DB_PropExchange.CostEntry nil, // 148: server.DB_PropExchange.GainEntry nil, // 149: server.DB_Skin.UnlockItemEntry nil, // 150: server.DB_SkinLevel.UpItemEntry nil, // 151: server.DB_Task.AwardEntry nil, // 152: server.DB_VIP.Privilege7Entry nil, // 153: server.DB_VIP.AwardEntry } var file_protocol_server_pbdata_proto_depIdxs = []int32{ 0, // 0: server.DB_ActSignArray.Arr:type_name -> server.DB_ActSign 2, // 1: server.DB_Activity1Array.Arr:type_name -> server.DB_Activity1 4, // 2: server.DB_AnimalColorArray.Arr:type_name -> server.DB_AnimalColor 6, // 3: server.DB_ArtilleryRateArray.Arr:type_name -> server.DB_ArtilleryRate 8, // 4: server.DB_ArtillerySkinArray.Arr:type_name -> server.DB_ArtillerySkin 10, // 5: server.DB_BlackWhiteArray.Arr:type_name -> server.DB_BlackWhite 12, // 6: server.DB_CardsJDArray.Arr:type_name -> server.DB_CardsJD 14, // 7: server.DB_CardsYuLeArray.Arr:type_name -> server.DB_CardsYuLe 16, // 8: server.DB_ChessBilledRulesArray.Arr:type_name -> server.DB_ChessBilledRules 18, // 9: server.DB_ChessMatchRulesArray.Arr:type_name -> server.DB_ChessMatchRules 20, // 10: server.DB_ChessRankArray.Arr:type_name -> server.DB_ChessRank 22, // 11: server.DB_ClientVerArray.Arr:type_name -> server.DB_ClientVer 140, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry 24, // 13: server.DB_CollectBoxArray.Arr:type_name -> server.DB_CollectBox 26, // 14: server.DB_CollectBoxGainArray.Arr:type_name -> server.DB_CollectBoxGain 28, // 15: server.DB_CrashSearchArray.Arr:type_name -> server.DB_CrashSearch 30, // 16: server.DB_CreateroomArray.Arr:type_name -> server.DB_Createroom 32, // 17: server.DB_FishArray.Arr:type_name -> server.DB_Fish 34, // 18: server.DB_FishOutArray.Arr:type_name -> server.DB_FishOut 36, // 19: server.DB_FishPathArray.Arr:type_name -> server.DB_FishPath 38, // 20: server.DB_FishRoomArray.Arr:type_name -> server.DB_FishRoom 40, // 21: server.DB_FishSkillArray.Arr:type_name -> server.DB_FishSkill 42, // 22: server.DB_FortuneGod_OddsArray.Arr:type_name -> server.DB_FortuneGod_Odds 44, // 23: server.DB_FortuneGod_TurnRateArray.Arr:type_name -> server.DB_FortuneGod_TurnRate 46, // 24: server.DB_FortuneGod_WeightArray.Arr:type_name -> server.DB_FortuneGod_Weight 48, // 25: server.DB_FortuneGod_WeightConditionArray.Arr:type_name -> server.DB_FortuneGod_WeightCondition 50, // 26: server.DB_GamMatchLVArray.Arr:type_name -> server.DB_GamMatchLV 52, // 27: server.DB_GameCoinPoolArray.Arr:type_name -> server.DB_GameCoinPool 54, // 28: server.DB_GameFreeArray.Arr:type_name -> server.DB_GameFree 141, // 29: server.DB_GameItem.Gain:type_name -> server.DB_GameItem.GainEntry 142, // 30: server.DB_GameItem.Compound:type_name -> server.DB_GameItem.CompoundEntry 56, // 31: server.DB_GameItemArray.Arr:type_name -> server.DB_GameItem 58, // 32: server.DB_GameMatchLevelArray.Arr:type_name -> server.DB_GameMatchLevel 60, // 33: server.DB_GameRuleArray.Arr:type_name -> server.DB_GameRule 62, // 34: server.DB_GameSubsidyArray.Arr:type_name -> server.DB_GameSubsidy 64, // 35: server.DB_Game_DropArray.Arr:type_name -> server.DB_Game_Drop 66, // 36: server.DB_Game_IntroductionArray.Arr:type_name -> server.DB_Game_Introduction 68, // 37: server.DB_Game_PetArray.Arr:type_name -> server.DB_Game_Pet 70, // 38: server.DB_Game_RoleArray.Arr:type_name -> server.DB_Game_Role 143, // 39: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry 72, // 40: server.DB_GiftBoxArray.Arr:type_name -> server.DB_GiftBox 144, // 41: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry 145, // 42: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry 74, // 43: server.DB_GiftCardArray.Arr:type_name -> server.DB_GiftCard 76, // 44: server.DB_IceAgeElementRateArray.Arr:type_name -> server.DB_IceAgeElementRate 78, // 45: server.DB_Legend_OddsArray.Arr:type_name -> server.DB_Legend_Odds 80, // 46: server.DB_Legend_TurnRateArray.Arr:type_name -> server.DB_Legend_TurnRate 82, // 47: server.DB_Legend_WeightArray.Arr:type_name -> server.DB_Legend_Weight 84, // 48: server.DB_Legend_WeightConditionArray.Arr:type_name -> server.DB_Legend_WeightCondition 86, // 49: server.DB_MatchRankArray.Arr:type_name -> server.DB_MatchRank 88, // 50: server.DB_NameArray.Arr:type_name -> server.DB_Name 90, // 51: server.DB_NameBoyArray.Arr:type_name -> server.DB_NameBoy 92, // 52: server.DB_NameGirlArray.Arr:type_name -> server.DB_NameGirl 94, // 53: server.DB_NewPlayerArray.Arr:type_name -> server.DB_NewPlayer 96, // 54: server.DB_PassShowArray.Arr:type_name -> server.DB_PassShow 146, // 55: server.DB_PetSkill.ItemConsum:type_name -> server.DB_PetSkill.ItemConsumEntry 98, // 56: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill 100, // 57: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery 102, // 58: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond 104, // 59: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop 106, // 60: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp 108, // 61: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType 110, // 62: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd 147, // 63: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry 148, // 64: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry 112, // 65: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange 114, // 66: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle 116, // 67: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel 118, // 68: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward 120, // 69: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words 149, // 70: server.DB_Skin.UnlockItem:type_name -> server.DB_Skin.UnlockItemEntry 122, // 71: server.DB_SkinArray.Arr:type_name -> server.DB_Skin 150, // 72: server.DB_SkinLevel.UpItem:type_name -> server.DB_SkinLevel.UpItemEntry 124, // 73: server.DB_SkinLevelArray.Arr:type_name -> server.DB_SkinLevel 126, // 74: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight 128, // 75: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance 151, // 76: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry 130, // 77: server.DB_TaskArray.Arr:type_name -> server.DB_Task 132, // 78: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping 134, // 79: server.DB_TipsArray.Arr:type_name -> server.DB_Tips 152, // 80: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry 153, // 81: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry 136, // 82: server.DB_VIPArray.Arr:type_name -> server.DB_VIP 138, // 83: server.DB_VIPShowArray.Arr:type_name -> server.DB_VIPShow 84, // [84:84] is the sub-list for method output_type 84, // [84:84] is the sub-list for method input_type 84, // [84:84] is the sub-list for extension type_name 84, // [84:84] is the sub-list for extension extendee 0, // [0:84] is the sub-list for field type_name } func init() { file_protocol_server_pbdata_proto_init() } func file_protocol_server_pbdata_proto_init() { if File_protocol_server_pbdata_proto != nil { return } if !protoimpl.UnsafeEnabled { file_protocol_server_pbdata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ActSign); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ActSignArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Activity1); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Activity1Array); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_AnimalColor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_AnimalColorArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ArtilleryRate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ArtilleryRateArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ArtillerySkin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ArtillerySkinArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_BlackWhite); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_BlackWhiteArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CardsJD); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CardsJDArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CardsYuLe); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CardsYuLeArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ChessBilledRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ChessBilledRulesArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ChessMatchRules); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ChessMatchRulesArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ChessRank); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ChessRankArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ClientVer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ClientVerArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CollectBox); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CollectBoxArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CollectBoxGain); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CollectBoxGainArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CrashSearch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CrashSearchArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Createroom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_CreateroomArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Fish); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishOut); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishOutArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishPath); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishPathArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishRoom); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishRoomArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishSkill); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FishSkillArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FortuneGod_Odds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FortuneGod_OddsArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FortuneGod_TurnRate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FortuneGod_TurnRateArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FortuneGod_Weight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FortuneGod_WeightArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FortuneGod_WeightCondition); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_FortuneGod_WeightConditionArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GamMatchLV); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GamMatchLVArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameCoinPool); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameCoinPoolArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameFree); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameFreeArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameItem); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameItemArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameMatchLevel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameMatchLevelArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameRule); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameRuleArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameSubsidy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GameSubsidyArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Game_Drop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Game_DropArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Game_Introduction); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Game_IntroductionArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Game_Pet); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Game_PetArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Game_Role); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Game_RoleArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GiftBox); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GiftBoxArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GiftCard); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_GiftCardArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_IceAgeElementRate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_IceAgeElementRateArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Legend_Odds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Legend_OddsArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Legend_TurnRate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Legend_TurnRateArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Legend_Weight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Legend_WeightArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Legend_WeightCondition); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Legend_WeightConditionArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_MatchRank); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_MatchRankArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Name); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_NameArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_NameBoy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_NameBoyArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_NameGirl); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_NameGirlArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_NewPlayer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_NewPlayerArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PassShow); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PassShowArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PetSkill); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PetSkillArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PhoneLottery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PhoneLotteryArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PigBank_Diamond); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PigBank_DiamondArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Pigbank_Prop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Pigbank_PropArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerExp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerExpArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerType); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerTypeArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PotOdd); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PotOddArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PropExchange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PropExchangeArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankCycle); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankCycleArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankLevel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankLevelArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankReward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankRewardArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Sensitive_Words); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Sensitive_WordsArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Skin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SkinArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SkinLevel); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SkinLevelArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SlotRateWeight); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SlotRateWeightArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SystemChance); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SystemChanceArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Task); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_TaskArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ThirdPlatformGameMapping); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ThirdPlatformGameMappingArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Tips); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_TipsArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIP); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIPArray); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIPShow); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_server_pbdata_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIPShowArray); 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_protocol_server_pbdata_proto_rawDesc, NumEnums: 0, NumMessages: 154, NumExtensions: 0, NumServices: 0, }, GoTypes: file_protocol_server_pbdata_proto_goTypes, DependencyIndexes: file_protocol_server_pbdata_proto_depIdxs, MessageInfos: file_protocol_server_pbdata_proto_msgTypes, }.Build() File_protocol_server_pbdata_proto = out.File file_protocol_server_pbdata_proto_rawDesc = nil file_protocol_server_pbdata_proto_goTypes = nil file_protocol_server_pbdata_proto_depIdxs = nil }