Compare commits

...

3 Commits

Author SHA1 Message Date
sk bd92567666 解决冲突 2024-04-29 17:20:53 +08:00
sk 1231f711dc xlsx工具支持索引 2024-04-29 16:50:35 +08:00
sk c6c507ecb0 修复手机号登录问题 2024-04-29 16:47:05 +08:00
84 changed files with 1128 additions and 1722 deletions

View File

@ -605,19 +605,19 @@ const (
// 道具ID
const (
ItemIDCoin = 100001 // 金币对应的itemId
ItemIDDiamond = 100002 // 钻石对应的itemId
ItemIDMoneyPond = 100003 // 玩家金币池对应物品Id
ItemIDVipExp = 100005 // VIP经验对应的物品Id
ItemIDPhoneScore = 100006 // 手机抽奖积分
ItemIDWeekScore = 100004 // 周活跃积分
ItemIDGiftBox = 50001 // 碎片礼盒
ItemIDCollectBox = 50002 // 集卡礼盒
ItemIDLike = 100007 // 点赞
ItemIDCoffee = 100008 // 咖啡
ItemIDBucket = 100009 // 水桶
ItemIDSlippers = 100010 // 拖鞋
ItemTienlenRecord = 60001 // tienlen记牌器
ItemIDCoin = 100001 // 金币对应的itemId
ItemIDDiamond = 100002 // 钻石对应的itemId
ItemIDMoneyPond = 100003 // 玩家金币池对应物品Id
ItemIDVipExp = 100005 // VIP经验对应的物品Id
ItemIDPhoneScore = 100006 // 手机抽奖积分
ItemIDWeekScore = 100004 // 周活跃积分
ItemIDGiftBox = 50001 // 碎片礼盒
ItemIDCollectBox = 50002 // 集卡礼盒
ItemIDLike = 100007 // 点赞
ItemIDCoffee = 100008 // 咖啡
ItemIDBucket = 100009 // 水桶
ItemIDSlippers = 100010 // 拖鞋
ItemIDTienlenRecord = 60001 // tienlen记牌器
)
func ToItemId(id int32) int32 {

Binary file not shown.

View File

@ -1,579 +1,19 @@
{
"Arr": [
{
"Name": "不是VIP",
"Privilege1": [
100000,
2
],
"Privilege2": [
0,
0
],
"Privilege3": [
0,
0
],
"Privilege4": 2,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
1
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 1,
"Name": "VIP1",
"Count": 1000,
"VipExp": 1000,
"Privilege1": [
100000,
100
],
"Privilege2": [
0,
0
],
"Privilege3": [
1,
2
],
"Privilege4": 5,
"Privilege6": 2,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
2
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
"PorpName": "BankMaxCoin",
"PropValue": 15000000
},
{
"Id": 2,
"Name": "VIP2",
"Count": 2000,
"VipExp": 2000,
"Privilege1": [
150000,
150
],
"Privilege2": [
0,
0
],
"Privilege3": [
1,
2
],
"Privilege4": 9,
"Privilege6": 3,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
2
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
"PorpName": "WinCointRate",
"PropValue": 5
},
{
"Id": 3,
"Name": "VIP3",
"Count": 5000,
"VipExp": 5000,
"Privilege1": [
200000,
200
],
"Privilege2": [
0,
0
],
"Privilege3": [
2,
2
],
"Privilege4": 13,
"Privilege6": 4,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
3
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 4,
"Name": "VIP4",
"Count": 10000,
"VipExp": 10000,
"Privilege1": [
300000,
250
],
"Privilege2": [
0,
0
],
"Privilege3": [
2,
2
],
"Privilege4": 17,
"Privilege6": 5,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
3
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 5,
"Name": "VIP5",
"Count": 20000,
"VipExp": 20000,
"Privilege1": [
400000,
300
],
"Privilege2": [
0,
0
],
"Privilege3": [
2,
2
],
"Privilege4": 22,
"Privilege6": 6,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
4
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 6,
"Name": "VIP6",
"Count": 50000,
"VipExp": 50000,
"Privilege1": [
500000,
350
],
"Privilege2": [
0,
0
],
"Privilege3": [
2,
3
],
"Privilege4": 27,
"Privilege6": 7,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
4
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 7,
"Name": "VIP7",
"Count": 100000,
"VipExp": 100000,
"Privilege1": [
600000,
400
],
"Privilege2": [
0,
0
],
"Privilege3": [
2,
3
],
"Privilege4": 32,
"Privilege6": 8,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
3
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 8,
"Name": "VIP8",
"Count": 200000,
"VipExp": 200000,
"Privilege1": [
700000,
450
],
"Privilege2": [
0,
0
],
"Privilege3": [
3,
3
],
"Privilege4": 37,
"Privilege6": 9,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
3
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 9,
"Name": "VIP9",
"Count": 500000,
"VipExp": 500000,
"Privilege1": [
800000,
500
],
"Privilege2": [
0,
0
],
"Privilege3": [
3,
3
],
"Privilege4": 42,
"Privilege6": 10,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
4
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 10,
"Name": "VIP10",
"Count": 1000000,
"VipExp": 1000000,
"Privilege1": [
900000,
550
],
"Privilege2": [
0,
0
],
"Privilege3": [
3,
3
],
"Privilege4": 47,
"Privilege6": 11,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
4
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 11,
"Name": "VIP11",
"Count": 2000000,
"VipExp": 2000000,
"Privilege1": [
1000000,
600
],
"Privilege2": [
0,
0
],
"Privilege3": [
3,
4
],
"Privilege4": 50,
"Privilege6": 12,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 12,
"Name": "VIP12",
"Count": 5000000,
"VipExp": 5000000,
"Privilege1": [
2000000,
650
],
"Privilege2": [
0,
0
],
"Privilege3": [
3,
4
],
"Privilege4": 60,
"Privilege6": 13,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 13,
"Name": "VIP13",
"Count": 10000000,
"VipExp": 10000000,
"Privilege1": [
3000000,
700
],
"Privilege2": [
0,
0
],
"Privilege3": [
4,
4
],
"Privilege4": 70,
"Privilege6": 14,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 14,
"Name": "VIP14",
"Count": 20000000,
"VipExp": 20000000,
"Privilege1": [
4000000,
750
],
"Privilege2": [
0,
0
],
"Privilege3": [
4,
4
],
"Privilege4": 80,
"Privilege6": 15,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 15,
"Name": "VIP15",
"Count": 50000000,
"VipExp": 50000000,
"Privilege1": [
5000000,
800
],
"Privilege2": [
0,
0
],
"Privilege3": [
4,
4
],
"Privilege4": 90,
"Privilege6": 16,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
"Id": 16,
"Name": "VIP16",
"Count": 100000000,
"VipExp": 100000000,
"Privilege1": [
6000000,
850
],
"Privilege2": [
0,
0
],
"Privilege3": [
4,
4
],
"Privilege4": 100,
"Privilege6": 20,
"Privilege8": 1,
"Param": [
1,
1,
1
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{}
"PorpName": "LoseCoinRate",
"PropValue": 10
}
]
}

View File

@ -1,5 +1,5 @@
6Õ†Ö†׆Ó†Ô†"¡<>À„=
.؆Ù†Ú†Û†"¡<>À„=
Wш├у├в├ь├з├с├т├ж├ы" ║█─╜Б
]ш├с├т├у├ь├э├ж├вы├з├"╒█Т
Wж├в├ы├з├ш├с├т├у├ь" ║█─╜Б
]т├ж├ш├э├с├у├в├ьы├з├"╒█Т

Binary file not shown.

Binary file not shown.

View File

@ -23,11 +23,6 @@
],
"RewardOutlineID": [
1
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -57,11 +52,6 @@
],
"RewardOutlineID": [
2
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -91,11 +81,6 @@
],
"RewardOutlineID": [
2
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -125,11 +110,6 @@
],
"RewardOutlineID": [
3
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -159,11 +139,6 @@
],
"RewardOutlineID": [
3
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -193,11 +168,6 @@
],
"RewardOutlineID": [
4
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -227,11 +197,6 @@
],
"RewardOutlineID": [
4
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -261,11 +226,6 @@
],
"RewardOutlineID": [
3
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -295,11 +255,6 @@
],
"RewardOutlineID": [
3
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -329,11 +284,6 @@
],
"RewardOutlineID": [
4
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -363,11 +313,6 @@
],
"RewardOutlineID": [
4
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -397,11 +342,6 @@
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -431,11 +371,6 @@
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -465,11 +400,6 @@
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -499,11 +429,6 @@
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -533,11 +458,6 @@
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{
@ -567,11 +487,6 @@
],
"RewardOutlineID": [
0
],
"ParamName": [
"获得专属头像框",
"获得专属炮台",
"更多VIP功能正待开发"
]
},
{}

View File

@ -2,10 +2,10 @@ package tienlen
import (
"math/rand"
"mongo.games.com/game/common"
"strconv"
"time"
"mongo.games.com/game/common"
rule "mongo.games.com/game/gamerule/tienlen"
"mongo.games.com/game/gamesrv/base"
"mongo.games.com/game/proto"
@ -214,9 +214,9 @@ func (this *TienLenPlayerData) LeaveAutoState(s *base.Scene) {
// 能否用记牌器
func (this *TienLenPlayerData) CanUseRecordItem() bool {
itemData := srvdata.PBDB_GameItemMgr.GetData(common.ItemTienlenRecord)
itemData := srvdata.PBDB_GameItemMgr.GetData(common.ItemIDTienlenRecord)
if itemData != nil {
if item, ok := this.Items[common.ItemTienlenRecord]; ok {
if item, ok := this.Items[common.ItemIDTienlenRecord]; ok {
if item.ItemNum >= 1 && item.ExpireTime >= time.Now().Unix() {
return true
}

View File

@ -14,6 +14,4 @@ cd ../../tools/xlsx2binary
go build
xlsx2binary.exe
cd ../..
start update_public.bat
pause

View File

@ -15,6 +15,5 @@ for /d %%s in (,*) do (
cd ..
)
cd ..
start update_public.bat
pause

View File

@ -7840,25 +7840,9 @@ type DB_Pigbank_Prop struct {
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"`
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() {
@ -7900,132 +7884,20 @@ func (x *DB_Pigbank_Prop) GetId() int32 {
return 0
}
func (x *DB_Pigbank_Prop) GetName() string {
func (x *DB_Pigbank_Prop) GetPorpName() string {
if x != nil {
return x.Name
return x.PorpName
}
return ""
}
func (x *DB_Pigbank_Prop) GetCount() int32 {
func (x *DB_Pigbank_Prop) GetPropValue() int32 {
if x != nil {
return x.Count
return x.PropValue
}
return 0
}
func (x *DB_Pigbank_Prop) GetVipExp() int32 {
if x != nil {
return x.VipExp
}
return 0
}
func (x *DB_Pigbank_Prop) GetPrivilege1() []int32 {
if x != nil {
return x.Privilege1
}
return nil
}
func (x *DB_Pigbank_Prop) GetPrivilege2() []int32 {
if x != nil {
return x.Privilege2
}
return nil
}
func (x *DB_Pigbank_Prop) GetShopId2() int32 {
if x != nil {
return x.ShopId2
}
return 0
}
func (x *DB_Pigbank_Prop) GetPrivilege3() []int32 {
if x != nil {
return x.Privilege3
}
return nil
}
func (x *DB_Pigbank_Prop) GetPrivilege4() int32 {
if x != nil {
return x.Privilege4
}
return 0
}
func (x *DB_Pigbank_Prop) GetPrivilege5() int32 {
if x != nil {
return x.Privilege5
}
return 0
}
func (x *DB_Pigbank_Prop) GetPrivilege6() int32 {
if x != nil {
return x.Privilege6
}
return 0
}
func (x *DB_Pigbank_Prop) GetPrivilege7() map[int64]int64 {
if x != nil {
return x.Privilege7
}
return nil
}
func (x *DB_Pigbank_Prop) GetPrivilege7Price() int32 {
if x != nil {
return x.Privilege7Price
}
return 0
}
func (x *DB_Pigbank_Prop) GetShopId7() int32 {
if x != nil {
return x.ShopId7
}
return 0
}
func (x *DB_Pigbank_Prop) GetPrivilege8() int32 {
if x != nil {
return x.Privilege8
}
return 0
}
func (x *DB_Pigbank_Prop) GetParam() []int32 {
if x != nil {
return x.Param
}
return nil
}
func (x *DB_Pigbank_Prop) GetRewardOutlineID() []int32 {
if x != nil {
return x.RewardOutlineID
}
return nil
}
func (x *DB_Pigbank_Prop) GetAward() map[int64]int64 {
if x != nil {
return x.Award
}
return nil
}
func (x *DB_Pigbank_Prop) GetParamName() []string {
if x != nil {
return x.ParamName
}
return nil
}
type DB_Pigbank_PropArray struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -10036,7 +9908,6 @@ type DB_VIP struct {
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"`
}
func (x *DB_VIP) Reset() {
@ -10197,13 +10068,6 @@ func (x *DB_VIP) GetAward() map[int64]int64 {
return nil
}
func (x *DB_VIP) GetParamName() []string {
if x != nil {
return x.ParamName
}
return nil
}
type DB_VIPArray struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -11267,355 +11131,311 @@ var file_pbdata_proto_rawDesc = []byte{
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, 0xfb, 0x05,
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, 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, 0x47, 0x0a,
0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0c, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x27, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69,
0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72, 0x6f, 0x70, 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, 0x38, 0x0a, 0x05, 0x41, 0x77,
0x61, 0x72, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x50, 0x72,
0x6f, 0x70, 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, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37,
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, 0x6d, 0x0a, 0x0d,
0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a,
0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x69, 0x74,
0x79, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x49,
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x12, 0x44,
0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 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, 0x49, 0x6e, 0x66, 0x6f, 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, 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, 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, 0x6d, 0x0a,
0x0d, 0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12,
0x0a, 0x04, 0x43, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x69,
0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65,
0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02,
0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x12,
0x44, 0x42, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 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, 0x49, 0x6e, 0x66, 0x6f, 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,
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, 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, 0xd7, 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, 0x22, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 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, 0x04, 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, 0x05, 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, 0x06, 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, 0x07, 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, 0x08, 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, 0x09, 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,
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, 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, 0xd7, 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, 0x22, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 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, 0x04, 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, 0x05, 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, 0x06, 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, 0x07, 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, 0x08, 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, 0x09, 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, 0xe0, 0x05, 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, 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, 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,
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, 0xc2, 0x05, 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, 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,
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 (
@ -11630,7 +11450,7 @@ func file_pbdata_proto_rawDescGZIP() []byte {
return file_pbdata_proto_rawDescData
}
var file_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 143)
var file_pbdata_proto_msgTypes = make([]protoimpl.MessageInfo, 141)
var file_pbdata_proto_goTypes = []interface{}{
(*DB_ActSign)(nil), // 0: server.DB_ActSign
(*DB_ActSignArray)(nil), // 1: server.DB_ActSignArray
@ -11768,13 +11588,11 @@ var file_pbdata_proto_goTypes = []interface{}{
nil, // 133: server.DB_GiftBox.ItemIDEntry
nil, // 134: server.DB_GiftCard.RewardsEntry
nil, // 135: server.DB_GiftCard.DayRewardsEntry
nil, // 136: server.DB_Pigbank_Prop.Privilege7Entry
nil, // 137: server.DB_Pigbank_Prop.AwardEntry
nil, // 138: server.DB_PropExchange.CostEntry
nil, // 139: server.DB_PropExchange.GainEntry
nil, // 140: server.DB_Task.AwardEntry
nil, // 141: server.DB_VIP.Privilege7Entry
nil, // 142: server.DB_VIP.AwardEntry
nil, // 136: server.DB_PropExchange.CostEntry
nil, // 137: server.DB_PropExchange.GainEntry
nil, // 138: server.DB_Task.AwardEntry
nil, // 139: server.DB_VIP.Privilege7Entry
nil, // 140: server.DB_VIP.AwardEntry
}
var file_pbdata_proto_depIdxs = []int32{
0, // 0: server.DB_ActSignArray.Arr:type_name -> server.DB_ActSign
@ -11831,34 +11649,32 @@ var file_pbdata_proto_depIdxs = []int32{
94, // 51: server.DB_NewPlayerArray.Arr:type_name -> server.DB_NewPlayer
96, // 52: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery
98, // 53: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond
136, // 54: server.DB_Pigbank_Prop.Privilege7:type_name -> server.DB_Pigbank_Prop.Privilege7Entry
137, // 55: server.DB_Pigbank_Prop.Award:type_name -> server.DB_Pigbank_Prop.AwardEntry
100, // 56: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop
102, // 57: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp
104, // 58: server.DB_PlayerInfoArray.Arr:type_name -> server.DB_PlayerInfo
106, // 59: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType
108, // 60: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd
138, // 61: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry
139, // 62: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry
110, // 63: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange
112, // 64: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle
114, // 65: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel
116, // 66: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward
118, // 67: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words
120, // 68: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight
122, // 69: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance
140, // 70: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry
124, // 71: server.DB_TaskArray.Arr:type_name -> server.DB_Task
126, // 72: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping
128, // 73: server.DB_TipsArray.Arr:type_name -> server.DB_Tips
141, // 74: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry
142, // 75: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry
130, // 76: server.DB_VIPArray.Arr:type_name -> server.DB_VIP
77, // [77:77] is the sub-list for method output_type
77, // [77:77] is the sub-list for method input_type
77, // [77:77] is the sub-list for extension type_name
77, // [77:77] is the sub-list for extension extendee
0, // [0:77] is the sub-list for field type_name
100, // 54: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop
102, // 55: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp
104, // 56: server.DB_PlayerInfoArray.Arr:type_name -> server.DB_PlayerInfo
106, // 57: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType
108, // 58: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd
136, // 59: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry
137, // 60: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry
110, // 61: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange
112, // 62: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle
114, // 63: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel
116, // 64: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward
118, // 65: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words
120, // 66: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight
122, // 67: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance
138, // 68: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry
124, // 69: server.DB_TaskArray.Arr:type_name -> server.DB_Task
126, // 70: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping
128, // 71: server.DB_TipsArray.Arr:type_name -> server.DB_Tips
139, // 72: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry
140, // 73: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry
130, // 74: server.DB_VIPArray.Arr:type_name -> server.DB_VIP
75, // [75:75] is the sub-list for method output_type
75, // [75:75] is the sub-list for method input_type
75, // [75:75] is the sub-list for extension type_name
75, // [75:75] is the sub-list for extension extendee
0, // [0:75] is the sub-list for field type_name
}
func init() { file_pbdata_proto_init() }
@ -13458,7 +13274,7 @@ func file_pbdata_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pbdata_proto_rawDesc,
NumEnums: 0,
NumMessages: 143,
NumMessages: 141,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -1287,41 +1287,9 @@ message DB_Pigbank_Prop {
int32 Id = 1;
string Name = 2;
string PorpName = 2;
int32 Count = 3;
int32 VipExp = 4;
repeated int32 Privilege1 = 5;
repeated int32 Privilege2 = 6;
int32 ShopId2 = 7;
repeated int32 Privilege3 = 8;
int32 Privilege4 = 9;
int32 Privilege5 = 10;
int32 Privilege6 = 11;
map<int64, int64> Privilege7 = 12;
int32 Privilege7Price = 13;
int32 ShopId7 = 14;
int32 Privilege8 = 15;
repeated int32 Param = 16;
repeated int32 RewardOutlineID = 17;
map<int64, int64> Award = 18;
repeated string ParamName = 19;
int32 PropValue = 3;
}
@ -1663,8 +1631,6 @@ message DB_VIP {
map<int64, int64> Award = 18;
repeated string ParamName = 19;
}
message DB_VIPArray {

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Activity1Mgr = &DB_Activity1Mgr{pool: make(map[int32]*server.DB_Activity1), Datas: &server.DB_Activity1Array{}}
var PBDB_Activity1Mgr = &DB_Activity1Mgr{
Datas: &server.DB_Activity1Array{},
pool: make(map[int32]*server.DB_Activity1),
}
type DB_Activity1Mgr struct {
Datas *server.DB_Activity1Array
pool map[int32]*server.DB_Activity1
}
func (this *DB_Activity1Mgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Activity1Mgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Activity1Mgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Activity1Mgr) GetData(id int32) *server.DB_Activity1 {
return nil
}
func init() {
DataMgr.register("DB_Activity1.dat", &ProtobufDataLoader{dh: PBDB_Activity1Mgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_ActSignMgr = &DB_ActSignMgr{pool: make(map[int32]*server.DB_ActSign), Datas: &server.DB_ActSignArray{}}
var PBDB_ActSignMgr = &DB_ActSignMgr{
Datas: &server.DB_ActSignArray{},
pool: make(map[int32]*server.DB_ActSign),
}
type DB_ActSignMgr struct {
Datas *server.DB_ActSignArray
pool map[int32]*server.DB_ActSign
}
func (this *DB_ActSignMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_ActSignMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_ActSignMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_ActSignMgr) GetData(id int32) *server.DB_ActSign {
return nil
}
func init() {
DataMgr.register("DB_ActSign.dat", &ProtobufDataLoader{dh: PBDB_ActSignMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_AnimalColorMgr = &DB_AnimalColorMgr{pool: make(map[int32]*server.DB_AnimalColor), Datas: &server.DB_AnimalColorArray{}}
var PBDB_AnimalColorMgr = &DB_AnimalColorMgr{
Datas: &server.DB_AnimalColorArray{},
pool: make(map[int32]*server.DB_AnimalColor),
}
type DB_AnimalColorMgr struct {
Datas *server.DB_AnimalColorArray
pool map[int32]*server.DB_AnimalColor
}
func (this *DB_AnimalColorMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_AnimalColorMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_AnimalColorMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_AnimalColorMgr) GetData(id int32) *server.DB_AnimalColor {
return nil
}
func init() {
DataMgr.register("DB_AnimalColor.dat", &ProtobufDataLoader{dh: PBDB_AnimalColorMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_ArtilleryRateMgr = &DB_ArtilleryRateMgr{pool: make(map[int32]*server.DB_ArtilleryRate), Datas: &server.DB_ArtilleryRateArray{}}
var PBDB_ArtilleryRateMgr = &DB_ArtilleryRateMgr{
Datas: &server.DB_ArtilleryRateArray{},
pool: make(map[int32]*server.DB_ArtilleryRate),
}
type DB_ArtilleryRateMgr struct {
Datas *server.DB_ArtilleryRateArray
pool map[int32]*server.DB_ArtilleryRate
}
func (this *DB_ArtilleryRateMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_ArtilleryRateMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_ArtilleryRateMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_ArtilleryRateMgr) GetData(id int32) *server.DB_ArtilleryRate {
return nil
}
func init() {
DataMgr.register("DB_ArtilleryRate.dat", &ProtobufDataLoader{dh: PBDB_ArtilleryRateMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_ArtillerySkinMgr = &DB_ArtillerySkinMgr{pool: make(map[int32]*server.DB_ArtillerySkin), Datas: &server.DB_ArtillerySkinArray{}}
var PBDB_ArtillerySkinMgr = &DB_ArtillerySkinMgr{
Datas: &server.DB_ArtillerySkinArray{},
pool: make(map[int32]*server.DB_ArtillerySkin),
}
type DB_ArtillerySkinMgr struct {
Datas *server.DB_ArtillerySkinArray
pool map[int32]*server.DB_ArtillerySkin
}
func (this *DB_ArtillerySkinMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_ArtillerySkinMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_ArtillerySkinMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_ArtillerySkinMgr) GetData(id int32) *server.DB_ArtillerySkin {
return nil
}
func init() {
DataMgr.register("DB_ArtillerySkin.dat", &ProtobufDataLoader{dh: PBDB_ArtillerySkinMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_BlackWhiteMgr = &DB_BlackWhiteMgr{pool: make(map[int32]*server.DB_BlackWhite), Datas: &server.DB_BlackWhiteArray{}}
var PBDB_BlackWhiteMgr = &DB_BlackWhiteMgr{
Datas: &server.DB_BlackWhiteArray{},
pool: make(map[int32]*server.DB_BlackWhite),
}
type DB_BlackWhiteMgr struct {
Datas *server.DB_BlackWhiteArray
pool map[int32]*server.DB_BlackWhite
}
func (this *DB_BlackWhiteMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_BlackWhiteMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_BlackWhiteMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_BlackWhiteMgr) GetData(id int32) *server.DB_BlackWhite {
return nil
}
func init() {
DataMgr.register("DB_BlackWhite.dat", &ProtobufDataLoader{dh: PBDB_BlackWhiteMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_CardsJDMgr = &DB_CardsJDMgr{pool: make(map[int32]*server.DB_CardsJD), Datas: &server.DB_CardsJDArray{}}
var PBDB_CardsJDMgr = &DB_CardsJDMgr{
Datas: &server.DB_CardsJDArray{},
pool: make(map[int32]*server.DB_CardsJD),
}
type DB_CardsJDMgr struct {
Datas *server.DB_CardsJDArray
pool map[int32]*server.DB_CardsJD
}
func (this *DB_CardsJDMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_CardsJDMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_CardsJDMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_CardsJDMgr) GetData(id int32) *server.DB_CardsJD {
return nil
}
func init() {
DataMgr.register("DB_CardsJD.dat", &ProtobufDataLoader{dh: PBDB_CardsJDMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_CardsYuLeMgr = &DB_CardsYuLeMgr{pool: make(map[int32]*server.DB_CardsYuLe), Datas: &server.DB_CardsYuLeArray{}}
var PBDB_CardsYuLeMgr = &DB_CardsYuLeMgr{
Datas: &server.DB_CardsYuLeArray{},
pool: make(map[int32]*server.DB_CardsYuLe),
}
type DB_CardsYuLeMgr struct {
Datas *server.DB_CardsYuLeArray
pool map[int32]*server.DB_CardsYuLe
}
func (this *DB_CardsYuLeMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_CardsYuLeMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_CardsYuLeMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_CardsYuLeMgr) GetData(id int32) *server.DB_CardsYuLe {
return nil
}
func init() {
DataMgr.register("DB_CardsYuLe.dat", &ProtobufDataLoader{dh: PBDB_CardsYuLeMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_ChessBilledRulesMgr = &DB_ChessBilledRulesMgr{pool: make(map[int32]*server.DB_ChessBilledRules), Datas: &server.DB_ChessBilledRulesArray{}}
var PBDB_ChessBilledRulesMgr = &DB_ChessBilledRulesMgr{
Datas: &server.DB_ChessBilledRulesArray{},
pool: make(map[int32]*server.DB_ChessBilledRules),
}
type DB_ChessBilledRulesMgr struct {
Datas *server.DB_ChessBilledRulesArray
pool map[int32]*server.DB_ChessBilledRules
}
func (this *DB_ChessBilledRulesMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_ChessBilledRulesMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_ChessBilledRulesMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_ChessBilledRulesMgr) GetData(id int32) *server.DB_ChessBilledRule
return nil
}
func init() {
DataMgr.register("DB_ChessBilledRules.dat", &ProtobufDataLoader{dh: PBDB_ChessBilledRulesMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_ChessMatchRulesMgr = &DB_ChessMatchRulesMgr{pool: make(map[int32]*server.DB_ChessMatchRules), Datas: &server.DB_ChessMatchRulesArray{}}
var PBDB_ChessMatchRulesMgr = &DB_ChessMatchRulesMgr{
Datas: &server.DB_ChessMatchRulesArray{},
pool: make(map[int32]*server.DB_ChessMatchRules),
}
type DB_ChessMatchRulesMgr struct {
Datas *server.DB_ChessMatchRulesArray
pool map[int32]*server.DB_ChessMatchRules
}
func (this *DB_ChessMatchRulesMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_ChessMatchRulesMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_ChessMatchRulesMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_ChessMatchRulesMgr) GetData(id int32) *server.DB_ChessMatchRules
return nil
}
func init() {
DataMgr.register("DB_ChessMatchRules.dat", &ProtobufDataLoader{dh: PBDB_ChessMatchRulesMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_ChessRankMgr = &DB_ChessRankMgr{pool: make(map[int32]*server.DB_ChessRank), Datas: &server.DB_ChessRankArray{}}
var PBDB_ChessRankMgr = &DB_ChessRankMgr{
Datas: &server.DB_ChessRankArray{},
pool: make(map[int32]*server.DB_ChessRank),
}
type DB_ChessRankMgr struct {
Datas *server.DB_ChessRankArray
pool map[int32]*server.DB_ChessRank
}
func (this *DB_ChessRankMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_ChessRankMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_ChessRankMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_ChessRankMgr) GetData(id int32) *server.DB_ChessRank {
return nil
}
func init() {
DataMgr.register("DB_ChessRank.dat", &ProtobufDataLoader{dh: PBDB_ChessRankMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_ClientVerMgr = &DB_ClientVerMgr{pool: make(map[int32]*server.DB_ClientVer), Datas: &server.DB_ClientVerArray{}}
var PBDB_ClientVerMgr = &DB_ClientVerMgr{
Datas: &server.DB_ClientVerArray{},
pool: make(map[int32]*server.DB_ClientVer),
}
type DB_ClientVerMgr struct {
Datas *server.DB_ClientVerArray
pool map[int32]*server.DB_ClientVer
}
func (this *DB_ClientVerMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_ClientVerMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_ClientVerMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_ClientVerMgr) GetData(id int32) *server.DB_ClientVer {
return nil
}
func init() {
DataMgr.register("DB_ClientVer.dat", &ProtobufDataLoader{dh: PBDB_ClientVerMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_CollectBoxMgr = &DB_CollectBoxMgr{pool: make(map[int32]*server.DB_CollectBox), Datas: &server.DB_CollectBoxArray{}}
var PBDB_CollectBoxMgr = &DB_CollectBoxMgr{
Datas: &server.DB_CollectBoxArray{},
pool: make(map[int32]*server.DB_CollectBox),
}
type DB_CollectBoxMgr struct {
Datas *server.DB_CollectBoxArray
pool map[int32]*server.DB_CollectBox
}
func (this *DB_CollectBoxMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_CollectBoxMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_CollectBoxMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_CollectBoxMgr) GetData(id int32) *server.DB_CollectBox {
return nil
}
func init() {
DataMgr.register("DB_CollectBox.dat", &ProtobufDataLoader{dh: PBDB_CollectBoxMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_CollectBoxGainMgr = &DB_CollectBoxGainMgr{pool: make(map[int32]*server.DB_CollectBoxGain), Datas: &server.DB_CollectBoxGainArray{}}
var PBDB_CollectBoxGainMgr = &DB_CollectBoxGainMgr{
Datas: &server.DB_CollectBoxGainArray{},
pool: make(map[int32]*server.DB_CollectBoxGain),
}
type DB_CollectBoxGainMgr struct {
Datas *server.DB_CollectBoxGainArray
pool map[int32]*server.DB_CollectBoxGain
}
func (this *DB_CollectBoxGainMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_CollectBoxGainMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_CollectBoxGainMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_CollectBoxGainMgr) GetData(id int32) *server.DB_CollectBoxGain {
return nil
}
func init() {
DataMgr.register("DB_CollectBoxGain.dat", &ProtobufDataLoader{dh: PBDB_CollectBoxGainMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_CrashSearchMgr = &DB_CrashSearchMgr{pool: make(map[int32]*server.DB_CrashSearch), Datas: &server.DB_CrashSearchArray{}}
var PBDB_CrashSearchMgr = &DB_CrashSearchMgr{
Datas: &server.DB_CrashSearchArray{},
pool: make(map[int32]*server.DB_CrashSearch),
}
type DB_CrashSearchMgr struct {
Datas *server.DB_CrashSearchArray
pool map[int32]*server.DB_CrashSearch
}
func (this *DB_CrashSearchMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_CrashSearchMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_CrashSearchMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_CrashSearchMgr) GetData(id int32) *server.DB_CrashSearch {
return nil
}
func init() {
DataMgr.register("DB_CrashSearch.dat", &ProtobufDataLoader{dh: PBDB_CrashSearchMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_CreateroomMgr = &DB_CreateroomMgr{pool: make(map[int32]*server.DB_Createroom), Datas: &server.DB_CreateroomArray{}}
var PBDB_CreateroomMgr = &DB_CreateroomMgr{
Datas: &server.DB_CreateroomArray{},
pool: make(map[int32]*server.DB_Createroom),
}
type DB_CreateroomMgr struct {
Datas *server.DB_CreateroomArray
pool map[int32]*server.DB_Createroom
}
func (this *DB_CreateroomMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_CreateroomMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_CreateroomMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_CreateroomMgr) GetData(id int32) *server.DB_Createroom {
return nil
}
func init() {
DataMgr.register("DB_Createroom.dat", &ProtobufDataLoader{dh: PBDB_CreateroomMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FishMgr = &DB_FishMgr{pool: make(map[int32]*server.DB_Fish), Datas: &server.DB_FishArray{}}
var PBDB_FishMgr = &DB_FishMgr{
Datas: &server.DB_FishArray{},
pool: make(map[int32]*server.DB_Fish),
}
type DB_FishMgr struct {
Datas *server.DB_FishArray
pool map[int32]*server.DB_Fish
}
func (this *DB_FishMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FishMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FishMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FishMgr) GetData(id int32) *server.DB_Fish {
return nil
}
func init() {
DataMgr.register("DB_Fish.dat", &ProtobufDataLoader{dh: PBDB_FishMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FishOutMgr = &DB_FishOutMgr{pool: make(map[int32]*server.DB_FishOut), Datas: &server.DB_FishOutArray{}}
var PBDB_FishOutMgr = &DB_FishOutMgr{
Datas: &server.DB_FishOutArray{},
pool: make(map[int32]*server.DB_FishOut),
}
type DB_FishOutMgr struct {
Datas *server.DB_FishOutArray
pool map[int32]*server.DB_FishOut
}
func (this *DB_FishOutMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FishOutMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FishOutMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FishOutMgr) GetData(id int32) *server.DB_FishOut {
return nil
}
func init() {
DataMgr.register("DB_FishOut.dat", &ProtobufDataLoader{dh: PBDB_FishOutMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FishPathMgr = &DB_FishPathMgr{pool: make(map[int32]*server.DB_FishPath), Datas: &server.DB_FishPathArray{}}
var PBDB_FishPathMgr = &DB_FishPathMgr{
Datas: &server.DB_FishPathArray{},
pool: make(map[int32]*server.DB_FishPath),
}
type DB_FishPathMgr struct {
Datas *server.DB_FishPathArray
pool map[int32]*server.DB_FishPath
}
func (this *DB_FishPathMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FishPathMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FishPathMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FishPathMgr) GetData(id int32) *server.DB_FishPath {
return nil
}
func init() {
DataMgr.register("DB_FishPath.dat", &ProtobufDataLoader{dh: PBDB_FishPathMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FishRoomMgr = &DB_FishRoomMgr{pool: make(map[int32]*server.DB_FishRoom), Datas: &server.DB_FishRoomArray{}}
var PBDB_FishRoomMgr = &DB_FishRoomMgr{
Datas: &server.DB_FishRoomArray{},
pool: make(map[int32]*server.DB_FishRoom),
}
type DB_FishRoomMgr struct {
Datas *server.DB_FishRoomArray
pool map[int32]*server.DB_FishRoom
}
func (this *DB_FishRoomMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FishRoomMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FishRoomMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FishRoomMgr) GetData(id int32) *server.DB_FishRoom {
return nil
}
func init() {
DataMgr.register("DB_FishRoom.dat", &ProtobufDataLoader{dh: PBDB_FishRoomMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FishSkillMgr = &DB_FishSkillMgr{pool: make(map[int32]*server.DB_FishSkill), Datas: &server.DB_FishSkillArray{}}
var PBDB_FishSkillMgr = &DB_FishSkillMgr{
Datas: &server.DB_FishSkillArray{},
pool: make(map[int32]*server.DB_FishSkill),
}
type DB_FishSkillMgr struct {
Datas *server.DB_FishSkillArray
pool map[int32]*server.DB_FishSkill
}
func (this *DB_FishSkillMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FishSkillMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FishSkillMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FishSkillMgr) GetData(id int32) *server.DB_FishSkill {
return nil
}
func init() {
DataMgr.register("DB_FishSkill.dat", &ProtobufDataLoader{dh: PBDB_FishSkillMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FortuneGod_OddsMgr = &DB_FortuneGod_OddsMgr{pool: make(map[int32]*server.DB_FortuneGod_Odds), Datas: &server.DB_FortuneGod_OddsArray{}}
var PBDB_FortuneGod_OddsMgr = &DB_FortuneGod_OddsMgr{
Datas: &server.DB_FortuneGod_OddsArray{},
pool: make(map[int32]*server.DB_FortuneGod_Odds),
}
type DB_FortuneGod_OddsMgr struct {
Datas *server.DB_FortuneGod_OddsArray
pool map[int32]*server.DB_FortuneGod_Odds
}
func (this *DB_FortuneGod_OddsMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FortuneGod_OddsMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FortuneGod_OddsMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FortuneGod_OddsMgr) GetData(id int32) *server.DB_FortuneGod_Odds
return nil
}
func init() {
DataMgr.register("DB_FortuneGod_Odds.dat", &ProtobufDataLoader{dh: PBDB_FortuneGod_OddsMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FortuneGod_TurnRateMgr = &DB_FortuneGod_TurnRateMgr{pool: make(map[int32]*server.DB_FortuneGod_TurnRate), Datas: &server.DB_FortuneGod_TurnRateArray{}}
var PBDB_FortuneGod_TurnRateMgr = &DB_FortuneGod_TurnRateMgr{
Datas: &server.DB_FortuneGod_TurnRateArray{},
pool: make(map[int32]*server.DB_FortuneGod_TurnRate),
}
type DB_FortuneGod_TurnRateMgr struct {
Datas *server.DB_FortuneGod_TurnRateArray
pool map[int32]*server.DB_FortuneGod_TurnRate
}
func (this *DB_FortuneGod_TurnRateMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FortuneGod_TurnRateMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FortuneGod_TurnRateMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FortuneGod_TurnRateMgr) GetData(id int32) *server.DB_FortuneGod_T
return nil
}
func init() {
DataMgr.register("DB_FortuneGod_TurnRate.dat", &ProtobufDataLoader{dh: PBDB_FortuneGod_TurnRateMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FortuneGod_WeightMgr = &DB_FortuneGod_WeightMgr{pool: make(map[int32]*server.DB_FortuneGod_Weight), Datas: &server.DB_FortuneGod_WeightArray{}}
var PBDB_FortuneGod_WeightMgr = &DB_FortuneGod_WeightMgr{
Datas: &server.DB_FortuneGod_WeightArray{},
pool: make(map[int32]*server.DB_FortuneGod_Weight),
}
type DB_FortuneGod_WeightMgr struct {
Datas *server.DB_FortuneGod_WeightArray
pool map[int32]*server.DB_FortuneGod_Weight
}
func (this *DB_FortuneGod_WeightMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FortuneGod_WeightMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FortuneGod_WeightMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FortuneGod_WeightMgr) GetData(id int32) *server.DB_FortuneGod_Wei
return nil
}
func init() {
DataMgr.register("DB_FortuneGod_Weight.dat", &ProtobufDataLoader{dh: PBDB_FortuneGod_WeightMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_FortuneGod_WeightConditionMgr = &DB_FortuneGod_WeightConditionMgr{pool: make(map[int32]*server.DB_FortuneGod_WeightCondition), Datas: &server.DB_FortuneGod_WeightConditionArray{}}
var PBDB_FortuneGod_WeightConditionMgr = &DB_FortuneGod_WeightConditionMgr{
Datas: &server.DB_FortuneGod_WeightConditionArray{},
pool: make(map[int32]*server.DB_FortuneGod_WeightCondition),
}
type DB_FortuneGod_WeightConditionMgr struct {
Datas *server.DB_FortuneGod_WeightConditionArray
pool map[int32]*server.DB_FortuneGod_WeightCondition
}
func (this *DB_FortuneGod_WeightConditionMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_FortuneGod_WeightConditionMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_FortuneGod_WeightConditionMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_FortuneGod_WeightConditionMgr) GetData(id int32) *server.DB_Fortu
return nil
}
func init() {
DataMgr.register("DB_FortuneGod_WeightCondition.dat", &ProtobufDataLoader{dh: PBDB_FortuneGod_WeightConditionMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Game_DropMgr = &DB_Game_DropMgr{pool: make(map[int32]*server.DB_Game_Drop), Datas: &server.DB_Game_DropArray{}}
var PBDB_Game_DropMgr = &DB_Game_DropMgr{
Datas: &server.DB_Game_DropArray{},
pool: make(map[int32]*server.DB_Game_Drop),
}
type DB_Game_DropMgr struct {
Datas *server.DB_Game_DropArray
pool map[int32]*server.DB_Game_Drop
}
func (this *DB_Game_DropMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Game_DropMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Game_DropMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Game_DropMgr) GetData(id int32) *server.DB_Game_Drop {
return nil
}
func init() {
DataMgr.register("DB_Game_Drop.dat", &ProtobufDataLoader{dh: PBDB_Game_DropMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Game_IntroductionMgr = &DB_Game_IntroductionMgr{pool: make(map[int32]*server.DB_Game_Introduction), Datas: &server.DB_Game_IntroductionArray{}}
var PBDB_Game_IntroductionMgr = &DB_Game_IntroductionMgr{
Datas: &server.DB_Game_IntroductionArray{},
pool: make(map[int32]*server.DB_Game_Introduction),
}
type DB_Game_IntroductionMgr struct {
Datas *server.DB_Game_IntroductionArray
pool map[int32]*server.DB_Game_Introduction
}
func (this *DB_Game_IntroductionMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Game_IntroductionMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Game_IntroductionMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Game_IntroductionMgr) GetData(id int32) *server.DB_Game_Introduct
return nil
}
func init() {
DataMgr.register("DB_Game_Introduction.dat", &ProtobufDataLoader{dh: PBDB_Game_IntroductionMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Game_PetMgr = &DB_Game_PetMgr{pool: make(map[int32]*server.DB_Game_Pet), Datas: &server.DB_Game_PetArray{}}
var PBDB_Game_PetMgr = &DB_Game_PetMgr{
Datas: &server.DB_Game_PetArray{},
pool: make(map[int32]*server.DB_Game_Pet),
}
type DB_Game_PetMgr struct {
Datas *server.DB_Game_PetArray
pool map[int32]*server.DB_Game_Pet
}
func (this *DB_Game_PetMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Game_PetMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Game_PetMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Game_PetMgr) GetData(id int32) *server.DB_Game_Pet {
return nil
}
func init() {
DataMgr.register("DB_Game_Pet.dat", &ProtobufDataLoader{dh: PBDB_Game_PetMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Game_RoleMgr = &DB_Game_RoleMgr{pool: make(map[int32]*server.DB_Game_Role), Datas: &server.DB_Game_RoleArray{}}
var PBDB_Game_RoleMgr = &DB_Game_RoleMgr{
Datas: &server.DB_Game_RoleArray{},
pool: make(map[int32]*server.DB_Game_Role),
}
type DB_Game_RoleMgr struct {
Datas *server.DB_Game_RoleArray
pool map[int32]*server.DB_Game_Role
}
func (this *DB_Game_RoleMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Game_RoleMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Game_RoleMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Game_RoleMgr) GetData(id int32) *server.DB_Game_Role {
return nil
}
func init() {
DataMgr.register("DB_Game_Role.dat", &ProtobufDataLoader{dh: PBDB_Game_RoleMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GameCoinPoolMgr = &DB_GameCoinPoolMgr{pool: make(map[int32]*server.DB_GameCoinPool), Datas: &server.DB_GameCoinPoolArray{}}
var PBDB_GameCoinPoolMgr = &DB_GameCoinPoolMgr{
Datas: &server.DB_GameCoinPoolArray{},
pool: make(map[int32]*server.DB_GameCoinPool),
}
type DB_GameCoinPoolMgr struct {
Datas *server.DB_GameCoinPoolArray
pool map[int32]*server.DB_GameCoinPool
}
func (this *DB_GameCoinPoolMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GameCoinPoolMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GameCoinPoolMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GameCoinPoolMgr) GetData(id int32) *server.DB_GameCoinPool {
return nil
}
func init() {
DataMgr.register("DB_GameCoinPool.dat", &ProtobufDataLoader{dh: PBDB_GameCoinPoolMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GameFreeMgr = &DB_GameFreeMgr{pool: make(map[int32]*server.DB_GameFree), Datas: &server.DB_GameFreeArray{}}
var PBDB_GameFreeMgr = &DB_GameFreeMgr{
Datas: &server.DB_GameFreeArray{},
pool: make(map[int32]*server.DB_GameFree),
}
type DB_GameFreeMgr struct {
Datas *server.DB_GameFreeArray
pool map[int32]*server.DB_GameFree
}
func (this *DB_GameFreeMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GameFreeMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GameFreeMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GameFreeMgr) GetData(id int32) *server.DB_GameFree {
return nil
}
func init() {
DataMgr.register("DB_GameFree.dat", &ProtobufDataLoader{dh: PBDB_GameFreeMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GameItemMgr = &DB_GameItemMgr{pool: make(map[int32]*server.DB_GameItem), Datas: &server.DB_GameItemArray{}}
var PBDB_GameItemMgr = &DB_GameItemMgr{
Datas: &server.DB_GameItemArray{},
pool: make(map[int32]*server.DB_GameItem),
}
type DB_GameItemMgr struct {
Datas *server.DB_GameItemArray
pool map[int32]*server.DB_GameItem
}
func (this *DB_GameItemMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GameItemMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GameItemMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GameItemMgr) GetData(id int32) *server.DB_GameItem {
return nil
}
func init() {
DataMgr.register("DB_GameItem.dat", &ProtobufDataLoader{dh: PBDB_GameItemMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GameMatchLevelMgr = &DB_GameMatchLevelMgr{pool: make(map[int32]*server.DB_GameMatchLevel), Datas: &server.DB_GameMatchLevelArray{}}
var PBDB_GameMatchLevelMgr = &DB_GameMatchLevelMgr{
Datas: &server.DB_GameMatchLevelArray{},
pool: make(map[int32]*server.DB_GameMatchLevel),
}
type DB_GameMatchLevelMgr struct {
Datas *server.DB_GameMatchLevelArray
pool map[int32]*server.DB_GameMatchLevel
}
func (this *DB_GameMatchLevelMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GameMatchLevelMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GameMatchLevelMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GameMatchLevelMgr) GetData(id int32) *server.DB_GameMatchLevel {
return nil
}
func init() {
DataMgr.register("DB_GameMatchLevel.dat", &ProtobufDataLoader{dh: PBDB_GameMatchLevelMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GameRuleMgr = &DB_GameRuleMgr{pool: make(map[int32]*server.DB_GameRule), Datas: &server.DB_GameRuleArray{}}
var PBDB_GameRuleMgr = &DB_GameRuleMgr{
Datas: &server.DB_GameRuleArray{},
pool: make(map[int32]*server.DB_GameRule),
}
type DB_GameRuleMgr struct {
Datas *server.DB_GameRuleArray
pool map[int32]*server.DB_GameRule
}
func (this *DB_GameRuleMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GameRuleMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GameRuleMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GameRuleMgr) GetData(id int32) *server.DB_GameRule {
return nil
}
func init() {
DataMgr.register("DB_GameRule.dat", &ProtobufDataLoader{dh: PBDB_GameRuleMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GameSubsidyMgr = &DB_GameSubsidyMgr{pool: make(map[int32]*server.DB_GameSubsidy), Datas: &server.DB_GameSubsidyArray{}}
var PBDB_GameSubsidyMgr = &DB_GameSubsidyMgr{
Datas: &server.DB_GameSubsidyArray{},
pool: make(map[int32]*server.DB_GameSubsidy),
}
type DB_GameSubsidyMgr struct {
Datas *server.DB_GameSubsidyArray
pool map[int32]*server.DB_GameSubsidy
}
func (this *DB_GameSubsidyMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GameSubsidyMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GameSubsidyMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GameSubsidyMgr) GetData(id int32) *server.DB_GameSubsidy {
return nil
}
func init() {
DataMgr.register("DB_GameSubsidy.dat", &ProtobufDataLoader{dh: PBDB_GameSubsidyMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GamMatchLVMgr = &DB_GamMatchLVMgr{pool: make(map[int32]*server.DB_GamMatchLV), Datas: &server.DB_GamMatchLVArray{}}
var PBDB_GamMatchLVMgr = &DB_GamMatchLVMgr{
Datas: &server.DB_GamMatchLVArray{},
pool: make(map[int32]*server.DB_GamMatchLV),
}
type DB_GamMatchLVMgr struct {
Datas *server.DB_GamMatchLVArray
pool map[int32]*server.DB_GamMatchLV
}
func (this *DB_GamMatchLVMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GamMatchLVMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GamMatchLVMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GamMatchLVMgr) GetData(id int32) *server.DB_GamMatchLV {
return nil
}
func init() {
DataMgr.register("DB_GamMatchLV.dat", &ProtobufDataLoader{dh: PBDB_GamMatchLVMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GiftBoxMgr = &DB_GiftBoxMgr{pool: make(map[int32]*server.DB_GiftBox), Datas: &server.DB_GiftBoxArray{}}
var PBDB_GiftBoxMgr = &DB_GiftBoxMgr{
Datas: &server.DB_GiftBoxArray{},
pool: make(map[int32]*server.DB_GiftBox),
}
type DB_GiftBoxMgr struct {
Datas *server.DB_GiftBoxArray
pool map[int32]*server.DB_GiftBox
}
func (this *DB_GiftBoxMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GiftBoxMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GiftBoxMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GiftBoxMgr) GetData(id int32) *server.DB_GiftBox {
return nil
}
func init() {
DataMgr.register("DB_GiftBox.dat", &ProtobufDataLoader{dh: PBDB_GiftBoxMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_GiftCardMgr = &DB_GiftCardMgr{pool: make(map[int32]*server.DB_GiftCard), Datas: &server.DB_GiftCardArray{}}
var PBDB_GiftCardMgr = &DB_GiftCardMgr{
Datas: &server.DB_GiftCardArray{},
pool: make(map[int32]*server.DB_GiftCard),
}
type DB_GiftCardMgr struct {
Datas *server.DB_GiftCardArray
pool map[int32]*server.DB_GiftCard
}
func (this *DB_GiftCardMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_GiftCardMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_GiftCardMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_GiftCardMgr) GetData(id int32) *server.DB_GiftCard {
return nil
}
func init() {
DataMgr.register("DB_GiftCard.dat", &ProtobufDataLoader{dh: PBDB_GiftCardMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_IceAgeElementRateMgr = &DB_IceAgeElementRateMgr{pool: make(map[int32]*server.DB_IceAgeElementRate), Datas: &server.DB_IceAgeElementRateArray{}}
var PBDB_IceAgeElementRateMgr = &DB_IceAgeElementRateMgr{
Datas: &server.DB_IceAgeElementRateArray{},
pool: make(map[int32]*server.DB_IceAgeElementRate),
}
type DB_IceAgeElementRateMgr struct {
Datas *server.DB_IceAgeElementRateArray
pool map[int32]*server.DB_IceAgeElementRate
}
func (this *DB_IceAgeElementRateMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_IceAgeElementRateMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_IceAgeElementRateMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_IceAgeElementRateMgr) GetData(id int32) *server.DB_IceAgeElementR
return nil
}
func init() {
DataMgr.register("DB_IceAgeElementRate.dat", &ProtobufDataLoader{dh: PBDB_IceAgeElementRateMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Legend_OddsMgr = &DB_Legend_OddsMgr{pool: make(map[int32]*server.DB_Legend_Odds), Datas: &server.DB_Legend_OddsArray{}}
var PBDB_Legend_OddsMgr = &DB_Legend_OddsMgr{
Datas: &server.DB_Legend_OddsArray{},
pool: make(map[int32]*server.DB_Legend_Odds),
}
type DB_Legend_OddsMgr struct {
Datas *server.DB_Legend_OddsArray
pool map[int32]*server.DB_Legend_Odds
}
func (this *DB_Legend_OddsMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Legend_OddsMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Legend_OddsMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Legend_OddsMgr) GetData(id int32) *server.DB_Legend_Odds {
return nil
}
func init() {
DataMgr.register("DB_Legend_Odds.dat", &ProtobufDataLoader{dh: PBDB_Legend_OddsMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Legend_TurnRateMgr = &DB_Legend_TurnRateMgr{pool: make(map[int32]*server.DB_Legend_TurnRate), Datas: &server.DB_Legend_TurnRateArray{}}
var PBDB_Legend_TurnRateMgr = &DB_Legend_TurnRateMgr{
Datas: &server.DB_Legend_TurnRateArray{},
pool: make(map[int32]*server.DB_Legend_TurnRate),
}
type DB_Legend_TurnRateMgr struct {
Datas *server.DB_Legend_TurnRateArray
pool map[int32]*server.DB_Legend_TurnRate
}
func (this *DB_Legend_TurnRateMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Legend_TurnRateMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Legend_TurnRateMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Legend_TurnRateMgr) GetData(id int32) *server.DB_Legend_TurnRate
return nil
}
func init() {
DataMgr.register("DB_Legend_TurnRate.dat", &ProtobufDataLoader{dh: PBDB_Legend_TurnRateMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Legend_WeightMgr = &DB_Legend_WeightMgr{pool: make(map[int32]*server.DB_Legend_Weight), Datas: &server.DB_Legend_WeightArray{}}
var PBDB_Legend_WeightMgr = &DB_Legend_WeightMgr{
Datas: &server.DB_Legend_WeightArray{},
pool: make(map[int32]*server.DB_Legend_Weight),
}
type DB_Legend_WeightMgr struct {
Datas *server.DB_Legend_WeightArray
pool map[int32]*server.DB_Legend_Weight
}
func (this *DB_Legend_WeightMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Legend_WeightMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Legend_WeightMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Legend_WeightMgr) GetData(id int32) *server.DB_Legend_Weight {
return nil
}
func init() {
DataMgr.register("DB_Legend_Weight.dat", &ProtobufDataLoader{dh: PBDB_Legend_WeightMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Legend_WeightConditionMgr = &DB_Legend_WeightConditionMgr{pool: make(map[int32]*server.DB_Legend_WeightCondition), Datas: &server.DB_Legend_WeightConditionArray{}}
var PBDB_Legend_WeightConditionMgr = &DB_Legend_WeightConditionMgr{
Datas: &server.DB_Legend_WeightConditionArray{},
pool: make(map[int32]*server.DB_Legend_WeightCondition),
}
type DB_Legend_WeightConditionMgr struct {
Datas *server.DB_Legend_WeightConditionArray
pool map[int32]*server.DB_Legend_WeightCondition
}
func (this *DB_Legend_WeightConditionMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Legend_WeightConditionMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Legend_WeightConditionMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Legend_WeightConditionMgr) GetData(id int32) *server.DB_Legend_We
return nil
}
func init() {
DataMgr.register("DB_Legend_WeightCondition.dat", &ProtobufDataLoader{dh: PBDB_Legend_WeightConditionMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_MatchRankMgr = &DB_MatchRankMgr{pool: make(map[int32]*server.DB_MatchRank), Datas: &server.DB_MatchRankArray{}}
var PBDB_MatchRankMgr = &DB_MatchRankMgr{
Datas: &server.DB_MatchRankArray{},
pool: make(map[int32]*server.DB_MatchRank),
}
type DB_MatchRankMgr struct {
Datas *server.DB_MatchRankArray
pool map[int32]*server.DB_MatchRank
}
func (this *DB_MatchRankMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_MatchRankMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_MatchRankMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_MatchRankMgr) GetData(id int32) *server.DB_MatchRank {
return nil
}
func init() {
DataMgr.register("DB_MatchRank.dat", &ProtobufDataLoader{dh: PBDB_MatchRankMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_NameMgr = &DB_NameMgr{pool: make(map[int32]*server.DB_Name), Datas: &server.DB_NameArray{}}
var PBDB_NameMgr = &DB_NameMgr{
Datas: &server.DB_NameArray{},
pool: make(map[int32]*server.DB_Name),
}
type DB_NameMgr struct {
Datas *server.DB_NameArray
pool map[int32]*server.DB_Name
}
func (this *DB_NameMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_NameMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_NameMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_NameMgr) GetData(id int32) *server.DB_Name {
return nil
}
func init() {
DataMgr.register("DB_Name.dat", &ProtobufDataLoader{dh: PBDB_NameMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_NameBoyMgr = &DB_NameBoyMgr{pool: make(map[int32]*server.DB_NameBoy), Datas: &server.DB_NameBoyArray{}}
var PBDB_NameBoyMgr = &DB_NameBoyMgr{
Datas: &server.DB_NameBoyArray{},
pool: make(map[int32]*server.DB_NameBoy),
}
type DB_NameBoyMgr struct {
Datas *server.DB_NameBoyArray
pool map[int32]*server.DB_NameBoy
}
func (this *DB_NameBoyMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_NameBoyMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_NameBoyMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_NameBoyMgr) GetData(id int32) *server.DB_NameBoy {
return nil
}
func init() {
DataMgr.register("DB_NameBoy.dat", &ProtobufDataLoader{dh: PBDB_NameBoyMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_NameGirlMgr = &DB_NameGirlMgr{pool: make(map[int32]*server.DB_NameGirl), Datas: &server.DB_NameGirlArray{}}
var PBDB_NameGirlMgr = &DB_NameGirlMgr{
Datas: &server.DB_NameGirlArray{},
pool: make(map[int32]*server.DB_NameGirl),
}
type DB_NameGirlMgr struct {
Datas *server.DB_NameGirlArray
pool map[int32]*server.DB_NameGirl
}
func (this *DB_NameGirlMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_NameGirlMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_NameGirlMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_NameGirlMgr) GetData(id int32) *server.DB_NameGirl {
return nil
}
func init() {
DataMgr.register("DB_NameGirl.dat", &ProtobufDataLoader{dh: PBDB_NameGirlMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_NewPlayerMgr = &DB_NewPlayerMgr{pool: make(map[int32]*server.DB_NewPlayer), Datas: &server.DB_NewPlayerArray{}}
var PBDB_NewPlayerMgr = &DB_NewPlayerMgr{
Datas: &server.DB_NewPlayerArray{},
pool: make(map[int32]*server.DB_NewPlayer),
}
type DB_NewPlayerMgr struct {
Datas *server.DB_NewPlayerArray
pool map[int32]*server.DB_NewPlayer
}
func (this *DB_NewPlayerMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_NewPlayerMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_NewPlayerMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_NewPlayerMgr) GetData(id int32) *server.DB_NewPlayer {
return nil
}
func init() {
DataMgr.register("DB_NewPlayer.dat", &ProtobufDataLoader{dh: PBDB_NewPlayerMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_PhoneLotteryMgr = &DB_PhoneLotteryMgr{pool: make(map[int32]*server.DB_PhoneLottery), Datas: &server.DB_PhoneLotteryArray{}}
var PBDB_PhoneLotteryMgr = &DB_PhoneLotteryMgr{
Datas: &server.DB_PhoneLotteryArray{},
pool: make(map[int32]*server.DB_PhoneLottery),
}
type DB_PhoneLotteryMgr struct {
Datas *server.DB_PhoneLotteryArray
pool map[int32]*server.DB_PhoneLottery
}
func (this *DB_PhoneLotteryMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_PhoneLotteryMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_PhoneLotteryMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_PhoneLotteryMgr) GetData(id int32) *server.DB_PhoneLottery {
return nil
}
func init() {
DataMgr.register("DB_PhoneLottery.dat", &ProtobufDataLoader{dh: PBDB_PhoneLotteryMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_PigBank_DiamondMgr = &DB_PigBank_DiamondMgr{pool: make(map[int32]*server.DB_PigBank_Diamond), Datas: &server.DB_PigBank_DiamondArray{}}
var PBDB_PigBank_DiamondMgr = &DB_PigBank_DiamondMgr{
Datas: &server.DB_PigBank_DiamondArray{},
pool: make(map[int32]*server.DB_PigBank_Diamond),
}
type DB_PigBank_DiamondMgr struct {
Datas *server.DB_PigBank_DiamondArray
pool map[int32]*server.DB_PigBank_Diamond
}
func (this *DB_PigBank_DiamondMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_PigBank_DiamondMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_PigBank_DiamondMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_PigBank_DiamondMgr) GetData(id int32) *server.DB_PigBank_Diamond
return nil
}
func init() {
DataMgr.register("DB_PigBank_Diamond.dat", &ProtobufDataLoader{dh: PBDB_PigBank_DiamondMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Pigbank_PropMgr = &DB_Pigbank_PropMgr{pool: make(map[int32]*server.DB_Pigbank_Prop), Datas: &server.DB_Pigbank_PropArray{}}
var PBDB_Pigbank_PropMgr = &DB_Pigbank_PropMgr{
Datas: &server.DB_Pigbank_PropArray{},
pool: make(map[int32]*server.DB_Pigbank_Prop),
}
type DB_Pigbank_PropMgr struct {
Datas *server.DB_Pigbank_PropArray
pool map[int32]*server.DB_Pigbank_Prop
}
func (this *DB_Pigbank_PropMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Pigbank_PropMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Pigbank_PropMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Pigbank_PropMgr) GetData(id int32) *server.DB_Pigbank_Prop {
return nil
}
func init() {
DataMgr.register("DB_Pigbank_Prop.dat", &ProtobufDataLoader{dh: PBDB_Pigbank_PropMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_PlayerExpMgr = &DB_PlayerExpMgr{pool: make(map[int32]*server.DB_PlayerExp), Datas: &server.DB_PlayerExpArray{}}
var PBDB_PlayerExpMgr = &DB_PlayerExpMgr{
Datas: &server.DB_PlayerExpArray{},
pool: make(map[int32]*server.DB_PlayerExp),
}
type DB_PlayerExpMgr struct {
Datas *server.DB_PlayerExpArray
pool map[int32]*server.DB_PlayerExp
}
func (this *DB_PlayerExpMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_PlayerExpMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_PlayerExpMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_PlayerExpMgr) GetData(id int32) *server.DB_PlayerExp {
return nil
}
func init() {
DataMgr.register("DB_PlayerExp.dat", &ProtobufDataLoader{dh: PBDB_PlayerExpMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_PlayerInfoMgr = &DB_PlayerInfoMgr{pool: make(map[int32]*server.DB_PlayerInfo), Datas: &server.DB_PlayerInfoArray{}}
var PBDB_PlayerInfoMgr = &DB_PlayerInfoMgr{
Datas: &server.DB_PlayerInfoArray{},
pool: make(map[int32]*server.DB_PlayerInfo),
}
type DB_PlayerInfoMgr struct {
Datas *server.DB_PlayerInfoArray
pool map[int32]*server.DB_PlayerInfo
}
func (this *DB_PlayerInfoMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_PlayerInfoMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_PlayerInfoMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_PlayerInfoMgr) GetData(id int32) *server.DB_PlayerInfo {
return nil
}
func init() {
DataMgr.register("DB_PlayerInfo.dat", &ProtobufDataLoader{dh: PBDB_PlayerInfoMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_PlayerTypeMgr = &DB_PlayerTypeMgr{pool: make(map[int32]*server.DB_PlayerType), Datas: &server.DB_PlayerTypeArray{}}
var PBDB_PlayerTypeMgr = &DB_PlayerTypeMgr{
Datas: &server.DB_PlayerTypeArray{},
pool: make(map[int32]*server.DB_PlayerType),
}
type DB_PlayerTypeMgr struct {
Datas *server.DB_PlayerTypeArray
pool map[int32]*server.DB_PlayerType
}
func (this *DB_PlayerTypeMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_PlayerTypeMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_PlayerTypeMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_PlayerTypeMgr) GetData(id int32) *server.DB_PlayerType {
return nil
}
func init() {
DataMgr.register("DB_PlayerType.dat", &ProtobufDataLoader{dh: PBDB_PlayerTypeMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_PotOddMgr = &DB_PotOddMgr{pool: make(map[int32]*server.DB_PotOdd), Datas: &server.DB_PotOddArray{}}
var PBDB_PotOddMgr = &DB_PotOddMgr{
Datas: &server.DB_PotOddArray{},
pool: make(map[int32]*server.DB_PotOdd),
}
type DB_PotOddMgr struct {
Datas *server.DB_PotOddArray
pool map[int32]*server.DB_PotOdd
}
func (this *DB_PotOddMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_PotOddMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_PotOddMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_PotOddMgr) GetData(id int32) *server.DB_PotOdd {
return nil
}
func init() {
DataMgr.register("DB_PotOdd.dat", &ProtobufDataLoader{dh: PBDB_PotOddMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_PropExchangeMgr = &DB_PropExchangeMgr{pool: make(map[int32]*server.DB_PropExchange), Datas: &server.DB_PropExchangeArray{}}
var PBDB_PropExchangeMgr = &DB_PropExchangeMgr{
Datas: &server.DB_PropExchangeArray{},
pool: make(map[int32]*server.DB_PropExchange),
}
type DB_PropExchangeMgr struct {
Datas *server.DB_PropExchangeArray
pool map[int32]*server.DB_PropExchange
}
func (this *DB_PropExchangeMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_PropExchangeMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_PropExchangeMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_PropExchangeMgr) GetData(id int32) *server.DB_PropExchange {
return nil
}
func init() {
DataMgr.register("DB_PropExchange.dat", &ProtobufDataLoader{dh: PBDB_PropExchangeMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_RankCycleMgr = &DB_RankCycleMgr{pool: make(map[int32]*server.DB_RankCycle), Datas: &server.DB_RankCycleArray{}}
var PBDB_RankCycleMgr = &DB_RankCycleMgr{
Datas: &server.DB_RankCycleArray{},
pool: make(map[int32]*server.DB_RankCycle),
}
type DB_RankCycleMgr struct {
Datas *server.DB_RankCycleArray
pool map[int32]*server.DB_RankCycle
}
func (this *DB_RankCycleMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_RankCycleMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_RankCycleMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_RankCycleMgr) GetData(id int32) *server.DB_RankCycle {
return nil
}
func init() {
DataMgr.register("DB_RankCycle.dat", &ProtobufDataLoader{dh: PBDB_RankCycleMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_RankLevelMgr = &DB_RankLevelMgr{pool: make(map[int32]*server.DB_RankLevel), Datas: &server.DB_RankLevelArray{}}
var PBDB_RankLevelMgr = &DB_RankLevelMgr{
Datas: &server.DB_RankLevelArray{},
pool: make(map[int32]*server.DB_RankLevel),
}
type DB_RankLevelMgr struct {
Datas *server.DB_RankLevelArray
pool map[int32]*server.DB_RankLevel
}
func (this *DB_RankLevelMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_RankLevelMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_RankLevelMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_RankLevelMgr) GetData(id int32) *server.DB_RankLevel {
return nil
}
func init() {
DataMgr.register("DB_RankLevel.dat", &ProtobufDataLoader{dh: PBDB_RankLevelMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_RankRewardMgr = &DB_RankRewardMgr{pool: make(map[int32]*server.DB_RankReward), Datas: &server.DB_RankRewardArray{}}
var PBDB_RankRewardMgr = &DB_RankRewardMgr{
Datas: &server.DB_RankRewardArray{},
pool: make(map[int32]*server.DB_RankReward),
}
type DB_RankRewardMgr struct {
Datas *server.DB_RankRewardArray
pool map[int32]*server.DB_RankReward
}
func (this *DB_RankRewardMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_RankRewardMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_RankRewardMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_RankRewardMgr) GetData(id int32) *server.DB_RankReward {
return nil
}
func init() {
DataMgr.register("DB_RankReward.dat", &ProtobufDataLoader{dh: PBDB_RankRewardMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_Sensitive_WordsMgr = &DB_Sensitive_WordsMgr{pool: make(map[int32]*server.DB_Sensitive_Words), Datas: &server.DB_Sensitive_WordsArray{}}
var PBDB_Sensitive_WordsMgr = &DB_Sensitive_WordsMgr{
Datas: &server.DB_Sensitive_WordsArray{},
pool: make(map[int32]*server.DB_Sensitive_Words),
}
type DB_Sensitive_WordsMgr struct {
Datas *server.DB_Sensitive_WordsArray
pool map[int32]*server.DB_Sensitive_Words
}
func (this *DB_Sensitive_WordsMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_Sensitive_WordsMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_Sensitive_WordsMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_Sensitive_WordsMgr) GetData(id int32) *server.DB_Sensitive_Words
return nil
}
func init() {
DataMgr.register("DB_Sensitive_Words.dat", &ProtobufDataLoader{dh: PBDB_Sensitive_WordsMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_SlotRateWeightMgr = &DB_SlotRateWeightMgr{pool: make(map[int32]*server.DB_SlotRateWeight), Datas: &server.DB_SlotRateWeightArray{}}
var PBDB_SlotRateWeightMgr = &DB_SlotRateWeightMgr{
Datas: &server.DB_SlotRateWeightArray{},
pool: make(map[int32]*server.DB_SlotRateWeight),
}
type DB_SlotRateWeightMgr struct {
Datas *server.DB_SlotRateWeightArray
pool map[int32]*server.DB_SlotRateWeight
}
func (this *DB_SlotRateWeightMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_SlotRateWeightMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_SlotRateWeightMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_SlotRateWeightMgr) GetData(id int32) *server.DB_SlotRateWeight {
return nil
}
func init() {
DataMgr.register("DB_SlotRateWeight.dat", &ProtobufDataLoader{dh: PBDB_SlotRateWeightMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_SystemChanceMgr = &DB_SystemChanceMgr{pool: make(map[int32]*server.DB_SystemChance), Datas: &server.DB_SystemChanceArray{}}
var PBDB_SystemChanceMgr = &DB_SystemChanceMgr{
Datas: &server.DB_SystemChanceArray{},
pool: make(map[int32]*server.DB_SystemChance),
}
type DB_SystemChanceMgr struct {
Datas *server.DB_SystemChanceArray
pool map[int32]*server.DB_SystemChance
}
func (this *DB_SystemChanceMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_SystemChanceMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_SystemChanceMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_SystemChanceMgr) GetData(id int32) *server.DB_SystemChance {
return nil
}
func init() {
DataMgr.register("DB_SystemChance.dat", &ProtobufDataLoader{dh: PBDB_SystemChanceMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_TaskMgr = &DB_TaskMgr{pool: make(map[int32]*server.DB_Task), Datas: &server.DB_TaskArray{}}
var PBDB_TaskMgr = &DB_TaskMgr{
Datas: &server.DB_TaskArray{},
pool: make(map[int32]*server.DB_Task),
}
type DB_TaskMgr struct {
Datas *server.DB_TaskArray
pool map[int32]*server.DB_Task
}
func (this *DB_TaskMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_TaskMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_TaskMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_TaskMgr) GetData(id int32) *server.DB_Task {
return nil
}
func init() {
DataMgr.register("DB_Task.dat", &ProtobufDataLoader{dh: PBDB_TaskMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_ThirdPlatformGameMappingMgr = &DB_ThirdPlatformGameMappingMgr{pool: make(map[int32]*server.DB_ThirdPlatformGameMapping), Datas: &server.DB_ThirdPlatformGameMappingArray{}}
var PBDB_ThirdPlatformGameMappingMgr = &DB_ThirdPlatformGameMappingMgr{
Datas: &server.DB_ThirdPlatformGameMappingArray{},
pool: make(map[int32]*server.DB_ThirdPlatformGameMapping),
}
type DB_ThirdPlatformGameMappingMgr struct {
Datas *server.DB_ThirdPlatformGameMappingArray
pool map[int32]*server.DB_ThirdPlatformGameMapping
}
func (this *DB_ThirdPlatformGameMappingMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_ThirdPlatformGameMappingMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_ThirdPlatformGameMappingMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_ThirdPlatformGameMappingMgr) GetData(id int32) *server.DB_ThirdPl
return nil
}
func init() {
DataMgr.register("DB_ThirdPlatformGameMapping.dat", &ProtobufDataLoader{dh: PBDB_ThirdPlatformGameMappingMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_TipsMgr = &DB_TipsMgr{pool: make(map[int32]*server.DB_Tips), Datas: &server.DB_TipsArray{}}
var PBDB_TipsMgr = &DB_TipsMgr{
Datas: &server.DB_TipsArray{},
pool: make(map[int32]*server.DB_Tips),
}
type DB_TipsMgr struct {
Datas *server.DB_TipsArray
pool map[int32]*server.DB_Tips
}
func (this *DB_TipsMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_TipsMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_TipsMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_TipsMgr) GetData(id int32) *server.DB_Tips {
return nil
}
func init() {
DataMgr.register("DB_Tips.dat", &ProtobufDataLoader{dh: PBDB_TipsMgr})
}

View File

@ -10,11 +10,16 @@ import (
"mongo.games.com/game/protocol/server"
)
var PBDB_VIPMgr = &DB_VIPMgr{pool: make(map[int32]*server.DB_VIP), Datas: &server.DB_VIPArray{}}
var PBDB_VIPMgr = &DB_VIPMgr{
Datas: &server.DB_VIPArray{},
pool: make(map[int32]*server.DB_VIP),
}
type DB_VIPMgr struct {
Datas *server.DB_VIPArray
pool map[int32]*server.DB_VIP
}
func (this *DB_VIPMgr) unmarshal(data []byte) error {
@ -34,6 +39,7 @@ func (this *DB_VIPMgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
} else {
*existItem = *item
}
@ -54,6 +60,7 @@ func (this *DB_VIPMgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
}
}
@ -64,6 +71,7 @@ func (this *DB_VIPMgr) GetData(id int32) *server.DB_VIP {
return nil
}
func init() {
DataMgr.register("DB_VIP.dat", &ProtobufDataLoader{dh: PBDB_VIPMgr})
}

View File

@ -9910,7 +9910,7 @@ func AgcConvertDB_Pigbank_Prop(fi,fo string) {
data.Name = row.Cells[1].String()
data.PorpName = row.Cells[1].String()
@ -9922,7 +9922,7 @@ func AgcConvertDB_Pigbank_Prop(fi,fo string) {
}
temp, _ = strconv.ParseInt(row.Cells[2].String(), 10, 32)
data.Count = int32(temp)
data.PropValue = int32(temp)
@ -9931,310 +9931,6 @@ func AgcConvertDB_Pigbank_Prop(fi,fo string) {
if len(row.Cells)<3+1{
break
}
temp, _ = strconv.ParseInt(row.Cells[3].String(), 10, 32)
data.VipExp = int32(temp)
if len(row.Cells)<4+1{
break
}
arrStr = strings.Split(row.Cells[4].String(), "|")
arrInt = nil
if len(arrStr) > 0 && row.Cells[4].String() != "" {
arrInt = make([]int32, len(arrStr), len(arrStr))
for i, v := range arrStr {
temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32)
arrInt[i] = int32(temp)
}
}
data.Privilege1 = arrInt
if len(row.Cells)<5+1{
break
}
arrStr = strings.Split(row.Cells[5].String(), "|")
arrInt = nil
if len(arrStr) > 0 && row.Cells[5].String() != "" {
arrInt = make([]int32, len(arrStr), len(arrStr))
for i, v := range arrStr {
temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32)
arrInt[i] = int32(temp)
}
}
data.Privilege2 = arrInt
if len(row.Cells)<6+1{
break
}
temp, _ = strconv.ParseInt(row.Cells[6].String(), 10, 32)
data.ShopId2 = int32(temp)
if len(row.Cells)<7+1{
break
}
arrStr = strings.Split(row.Cells[7].String(), "|")
arrInt = nil
if len(arrStr) > 0 && row.Cells[7].String() != "" {
arrInt = make([]int32, len(arrStr), len(arrStr))
for i, v := range arrStr {
temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32)
arrInt[i] = int32(temp)
}
}
data.Privilege3 = arrInt
if len(row.Cells)<8+1{
break
}
temp, _ = strconv.ParseInt(row.Cells[8].String(), 10, 32)
data.Privilege4 = int32(temp)
if len(row.Cells)<9+1{
break
}
temp, _ = strconv.ParseInt(row.Cells[9].String(), 10, 32)
data.Privilege5 = int32(temp)
if len(row.Cells)<10+1{
break
}
temp, _ = strconv.ParseInt(row.Cells[10].String(), 10, 32)
data.Privilege6 = int32(temp)
if len(row.Cells)<11+1{
break
}
if row.Cells[11].String() != ""{
pairs := strings.Split(row.Cells[11].String(), ";")
resultMap := make(map[int64]int64)
for _, pair := range pairs {
kv := strings.Split(pair, ",")
key, err := strconv.ParseInt(kv[0], 10, 64)
if err != nil {
// 错误处理
fmt.Println("无法转换为int64:", kv[0])
continue
}
value, err := strconv.ParseInt(kv[1], 10, 64)
if err != nil {
// 错误处理
fmt.Println("无法转换为int64:", kv[1])
continue
}
resultMap[key] = value
}
data.Privilege7 = resultMap
}
if len(row.Cells)<12+1{
break
}
temp, _ = strconv.ParseInt(row.Cells[12].String(), 10, 32)
data.Privilege7Price = int32(temp)
if len(row.Cells)<13+1{
break
}
temp, _ = strconv.ParseInt(row.Cells[13].String(), 10, 32)
data.ShopId7 = int32(temp)
if len(row.Cells)<14+1{
break
}
temp, _ = strconv.ParseInt(row.Cells[14].String(), 10, 32)
data.Privilege8 = int32(temp)
if len(row.Cells)<15+1{
break
}
arrStr = strings.Split(row.Cells[15].String(), "|")
arrInt = nil
if len(arrStr) > 0 && row.Cells[15].String() != "" {
arrInt = make([]int32, len(arrStr), len(arrStr))
for i, v := range arrStr {
temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32)
arrInt[i] = int32(temp)
}
}
data.Param = arrInt
if len(row.Cells)<16+1{
break
}
arrStr = strings.Split(row.Cells[16].String(), "|")
arrInt = nil
if len(arrStr) > 0 && row.Cells[16].String() != "" {
arrInt = make([]int32, len(arrStr), len(arrStr))
for i, v := range arrStr {
temp, _ = strconv.ParseInt(strings.TrimSpace(v), 10, 32)
arrInt[i] = int32(temp)
}
}
data.RewardOutlineID = arrInt
if len(row.Cells)<17+1{
break
}
if row.Cells[17].String() != ""{
pairs := strings.Split(row.Cells[17].String(), ";")
resultMap := make(map[int64]int64)
for _, pair := range pairs {
kv := strings.Split(pair, ",")
key, err := strconv.ParseInt(kv[0], 10, 64)
if err != nil {
// 错误处理
fmt.Println("无法转换为int64:", kv[0])
continue
}
value, err := strconv.ParseInt(kv[1], 10, 64)
if err != nil {
// 错误处理
fmt.Println("无法转换为int64:", kv[1])
continue
}
resultMap[key] = value
}
data.Award = resultMap
}
if len(row.Cells)<18+1{
break
}
if row.Cells[18].String() != "" {
arrStr = strings.Split(row.Cells[18].String(), "|")
data.ParamName = arrStr
}
break
}
@ -13045,22 +12741,6 @@ func AgcConvertDB_VIP(fi,fo string) {
}
if len(row.Cells)<18+1{
break
}
if row.Cells[18].String() != "" {
arrStr = strings.Split(row.Cells[18].String(), "|")
data.ParamName = arrStr
}
break
}
@ -13090,136 +12770,136 @@ func AgcConvertDB_VIP(fi,fo string) {
func main(){
AgcConvertDB_ActSign(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ActSign.xlsx`,`..\..\data\DB_ActSign.dat`)
AgcConvertDB_ActSign(`D:\trunk\src\mongo.games.com\game\xlsx\DB_ActSign.xlsx`,`..\..\data\DB_ActSign.dat`)
AgcConvertDB_Activity1(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Activity1.xlsx`,`..\..\data\DB_Activity1.dat`)
AgcConvertDB_Activity1(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Activity1.xlsx`,`..\..\data\DB_Activity1.dat`)
AgcConvertDB_AnimalColor(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_AnimalColor.xlsx`,`..\..\data\DB_AnimalColor.dat`)
AgcConvertDB_AnimalColor(`D:\trunk\src\mongo.games.com\game\xlsx\DB_AnimalColor.xlsx`,`..\..\data\DB_AnimalColor.dat`)
AgcConvertDB_ArtilleryRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ArtilleryRate.xlsx`,`..\..\data\DB_ArtilleryRate.dat`)
AgcConvertDB_ArtilleryRate(`D:\trunk\src\mongo.games.com\game\xlsx\DB_ArtilleryRate.xlsx`,`..\..\data\DB_ArtilleryRate.dat`)
AgcConvertDB_ArtillerySkin(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ArtillerySkin.xlsx`,`..\..\data\DB_ArtillerySkin.dat`)
AgcConvertDB_ArtillerySkin(`D:\trunk\src\mongo.games.com\game\xlsx\DB_ArtillerySkin.xlsx`,`..\..\data\DB_ArtillerySkin.dat`)
AgcConvertDB_BlackWhite(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_BlackWhite.xlsx`,`..\..\data\DB_BlackWhite.dat`)
AgcConvertDB_BlackWhite(`D:\trunk\src\mongo.games.com\game\xlsx\DB_BlackWhite.xlsx`,`..\..\data\DB_BlackWhite.dat`)
AgcConvertDB_CardsJD(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CardsJD.xlsx`,`..\..\data\DB_CardsJD.dat`)
AgcConvertDB_CardsJD(`D:\trunk\src\mongo.games.com\game\xlsx\DB_CardsJD.xlsx`,`..\..\data\DB_CardsJD.dat`)
AgcConvertDB_CardsYuLe(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CardsYuLe.xlsx`,`..\..\data\DB_CardsYuLe.dat`)
AgcConvertDB_CardsYuLe(`D:\trunk\src\mongo.games.com\game\xlsx\DB_CardsYuLe.xlsx`,`..\..\data\DB_CardsYuLe.dat`)
AgcConvertDB_ChessBilledRules(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessBilledRules.xlsx`,`..\..\data\DB_ChessBilledRules.dat`)
AgcConvertDB_ChessBilledRules(`D:\trunk\src\mongo.games.com\game\xlsx\DB_ChessBilledRules.xlsx`,`..\..\data\DB_ChessBilledRules.dat`)
AgcConvertDB_ChessMatchRules(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessMatchRules.xlsx`,`..\..\data\DB_ChessMatchRules.dat`)
AgcConvertDB_ChessMatchRules(`D:\trunk\src\mongo.games.com\game\xlsx\DB_ChessMatchRules.xlsx`,`..\..\data\DB_ChessMatchRules.dat`)
AgcConvertDB_ChessRank(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ChessRank.xlsx`,`..\..\data\DB_ChessRank.dat`)
AgcConvertDB_ChessRank(`D:\trunk\src\mongo.games.com\game\xlsx\DB_ChessRank.xlsx`,`..\..\data\DB_ChessRank.dat`)
AgcConvertDB_ClientVer(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ClientVer.xlsx`,`..\..\data\DB_ClientVer.dat`)
AgcConvertDB_ClientVer(`D:\trunk\src\mongo.games.com\game\xlsx\DB_ClientVer.xlsx`,`..\..\data\DB_ClientVer.dat`)
AgcConvertDB_CollectBox(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CollectBox.xlsx`,`..\..\data\DB_CollectBox.dat`)
AgcConvertDB_CollectBox(`D:\trunk\src\mongo.games.com\game\xlsx\DB_CollectBox.xlsx`,`..\..\data\DB_CollectBox.dat`)
AgcConvertDB_CollectBoxGain(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CollectBoxGain.xlsx`,`..\..\data\DB_CollectBoxGain.dat`)
AgcConvertDB_CollectBoxGain(`D:\trunk\src\mongo.games.com\game\xlsx\DB_CollectBoxGain.xlsx`,`..\..\data\DB_CollectBoxGain.dat`)
AgcConvertDB_CrashSearch(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_CrashSearch.xlsx`,`..\..\data\DB_CrashSearch.dat`)
AgcConvertDB_CrashSearch(`D:\trunk\src\mongo.games.com\game\xlsx\DB_CrashSearch.xlsx`,`..\..\data\DB_CrashSearch.dat`)
AgcConvertDB_Createroom(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Createroom.xlsx`,`..\..\data\DB_Createroom.dat`)
AgcConvertDB_Createroom(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Createroom.xlsx`,`..\..\data\DB_Createroom.dat`)
AgcConvertDB_Fish(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Fish.xlsx`,`..\..\data\DB_Fish.dat`)
AgcConvertDB_Fish(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Fish.xlsx`,`..\..\data\DB_Fish.dat`)
AgcConvertDB_FishOut(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishOut.xlsx`,`..\..\data\DB_FishOut.dat`)
AgcConvertDB_FishOut(`D:\trunk\src\mongo.games.com\game\xlsx\DB_FishOut.xlsx`,`..\..\data\DB_FishOut.dat`)
AgcConvertDB_FishPath(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishPath.xlsx`,`..\..\data\DB_FishPath.dat`)
AgcConvertDB_FishPath(`D:\trunk\src\mongo.games.com\game\xlsx\DB_FishPath.xlsx`,`..\..\data\DB_FishPath.dat`)
AgcConvertDB_FishRoom(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishRoom.xlsx`,`..\..\data\DB_FishRoom.dat`)
AgcConvertDB_FishRoom(`D:\trunk\src\mongo.games.com\game\xlsx\DB_FishRoom.xlsx`,`..\..\data\DB_FishRoom.dat`)
AgcConvertDB_FishSkill(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FishSkill.xlsx`,`..\..\data\DB_FishSkill.dat`)
AgcConvertDB_FishSkill(`D:\trunk\src\mongo.games.com\game\xlsx\DB_FishSkill.xlsx`,`..\..\data\DB_FishSkill.dat`)
AgcConvertDB_FortuneGod_Odds(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_Odds.xlsx`,`..\..\data\DB_FortuneGod_Odds.dat`)
AgcConvertDB_FortuneGod_Odds(`D:\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_Odds.xlsx`,`..\..\data\DB_FortuneGod_Odds.dat`)
AgcConvertDB_FortuneGod_TurnRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_TurnRate.xlsx`,`..\..\data\DB_FortuneGod_TurnRate.dat`)
AgcConvertDB_FortuneGod_TurnRate(`D:\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_TurnRate.xlsx`,`..\..\data\DB_FortuneGod_TurnRate.dat`)
AgcConvertDB_FortuneGod_Weight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_Weight.xlsx`,`..\..\data\DB_FortuneGod_Weight.dat`)
AgcConvertDB_FortuneGod_Weight(`D:\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_Weight.xlsx`,`..\..\data\DB_FortuneGod_Weight.dat`)
AgcConvertDB_FortuneGod_WeightCondition(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_WeightCondition.xlsx`,`..\..\data\DB_FortuneGod_WeightCondition.dat`)
AgcConvertDB_FortuneGod_WeightCondition(`D:\trunk\src\mongo.games.com\game\xlsx\DB_FortuneGod_WeightCondition.xlsx`,`..\..\data\DB_FortuneGod_WeightCondition.dat`)
AgcConvertDB_GamMatchLV(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GamMatchLV.xlsx`,`..\..\data\DB_GamMatchLV.dat`)
AgcConvertDB_GamMatchLV(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GamMatchLV.xlsx`,`..\..\data\DB_GamMatchLV.dat`)
AgcConvertDB_GameCoinPool(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameCoinPool.xlsx`,`..\..\data\DB_GameCoinPool.dat`)
AgcConvertDB_GameCoinPool(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GameCoinPool.xlsx`,`..\..\data\DB_GameCoinPool.dat`)
AgcConvertDB_GameFree(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameFree.xlsx`,`..\..\data\DB_GameFree.dat`)
AgcConvertDB_GameFree(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GameFree.xlsx`,`..\..\data\DB_GameFree.dat`)
AgcConvertDB_GameItem(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameItem.xlsx`,`..\..\data\DB_GameItem.dat`)
AgcConvertDB_GameItem(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GameItem.xlsx`,`..\..\data\DB_GameItem.dat`)
AgcConvertDB_GameMatchLevel(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameMatchLevel.xlsx`,`..\..\data\DB_GameMatchLevel.dat`)
AgcConvertDB_GameMatchLevel(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GameMatchLevel.xlsx`,`..\..\data\DB_GameMatchLevel.dat`)
AgcConvertDB_GameRule(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameRule.xlsx`,`..\..\data\DB_GameRule.dat`)
AgcConvertDB_GameRule(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GameRule.xlsx`,`..\..\data\DB_GameRule.dat`)
AgcConvertDB_GameSubsidy(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GameSubsidy.xlsx`,`..\..\data\DB_GameSubsidy.dat`)
AgcConvertDB_GameSubsidy(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GameSubsidy.xlsx`,`..\..\data\DB_GameSubsidy.dat`)
AgcConvertDB_Game_Drop(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Drop.xlsx`,`..\..\data\DB_Game_Drop.dat`)
AgcConvertDB_Game_Drop(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Game_Drop.xlsx`,`..\..\data\DB_Game_Drop.dat`)
AgcConvertDB_Game_Introduction(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Introduction.xlsx`,`..\..\data\DB_Game_Introduction.dat`)
AgcConvertDB_Game_Introduction(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Game_Introduction.xlsx`,`..\..\data\DB_Game_Introduction.dat`)
AgcConvertDB_Game_Pet(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Pet.xlsx`,`..\..\data\DB_Game_Pet.dat`)
AgcConvertDB_Game_Pet(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Game_Pet.xlsx`,`..\..\data\DB_Game_Pet.dat`)
AgcConvertDB_Game_Role(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Game_Role.xlsx`,`..\..\data\DB_Game_Role.dat`)
AgcConvertDB_Game_Role(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Game_Role.xlsx`,`..\..\data\DB_Game_Role.dat`)
AgcConvertDB_GiftBox(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GiftBox.xlsx`,`..\..\data\DB_GiftBox.dat`)
AgcConvertDB_GiftBox(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GiftBox.xlsx`,`..\..\data\DB_GiftBox.dat`)
AgcConvertDB_GiftCard(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_GiftCard.xlsx`,`..\..\data\DB_GiftCard.dat`)
AgcConvertDB_GiftCard(`D:\trunk\src\mongo.games.com\game\xlsx\DB_GiftCard.xlsx`,`..\..\data\DB_GiftCard.dat`)
AgcConvertDB_IceAgeElementRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_IceAgeElementRate.xlsx`,`..\..\data\DB_IceAgeElementRate.dat`)
AgcConvertDB_IceAgeElementRate(`D:\trunk\src\mongo.games.com\game\xlsx\DB_IceAgeElementRate.xlsx`,`..\..\data\DB_IceAgeElementRate.dat`)
AgcConvertDB_Legend_Odds(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_Odds.xlsx`,`..\..\data\DB_Legend_Odds.dat`)
AgcConvertDB_Legend_Odds(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Legend_Odds.xlsx`,`..\..\data\DB_Legend_Odds.dat`)
AgcConvertDB_Legend_TurnRate(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_TurnRate.xlsx`,`..\..\data\DB_Legend_TurnRate.dat`)
AgcConvertDB_Legend_TurnRate(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Legend_TurnRate.xlsx`,`..\..\data\DB_Legend_TurnRate.dat`)
AgcConvertDB_Legend_Weight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_Weight.xlsx`,`..\..\data\DB_Legend_Weight.dat`)
AgcConvertDB_Legend_Weight(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Legend_Weight.xlsx`,`..\..\data\DB_Legend_Weight.dat`)
AgcConvertDB_Legend_WeightCondition(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Legend_WeightCondition.xlsx`,`..\..\data\DB_Legend_WeightCondition.dat`)
AgcConvertDB_Legend_WeightCondition(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Legend_WeightCondition.xlsx`,`..\..\data\DB_Legend_WeightCondition.dat`)
AgcConvertDB_MatchRank(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_MatchRank.xlsx`,`..\..\data\DB_MatchRank.dat`)
AgcConvertDB_MatchRank(`D:\trunk\src\mongo.games.com\game\xlsx\DB_MatchRank.xlsx`,`..\..\data\DB_MatchRank.dat`)
AgcConvertDB_Name(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Name.xlsx`,`..\..\data\DB_Name.dat`)
AgcConvertDB_Name(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Name.xlsx`,`..\..\data\DB_Name.dat`)
AgcConvertDB_NameBoy(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NameBoy.xlsx`,`..\..\data\DB_NameBoy.dat`)
AgcConvertDB_NameBoy(`D:\trunk\src\mongo.games.com\game\xlsx\DB_NameBoy.xlsx`,`..\..\data\DB_NameBoy.dat`)
AgcConvertDB_NameGirl(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NameGirl.xlsx`,`..\..\data\DB_NameGirl.dat`)
AgcConvertDB_NameGirl(`D:\trunk\src\mongo.games.com\game\xlsx\DB_NameGirl.xlsx`,`..\..\data\DB_NameGirl.dat`)
AgcConvertDB_NewPlayer(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_NewPlayer.xlsx`,`..\..\data\DB_NewPlayer.dat`)
AgcConvertDB_NewPlayer(`D:\trunk\src\mongo.games.com\game\xlsx\DB_NewPlayer.xlsx`,`..\..\data\DB_NewPlayer.dat`)
AgcConvertDB_PhoneLottery(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PhoneLottery.xlsx`,`..\..\data\DB_PhoneLottery.dat`)
AgcConvertDB_PhoneLottery(`D:\trunk\src\mongo.games.com\game\xlsx\DB_PhoneLottery.xlsx`,`..\..\data\DB_PhoneLottery.dat`)
AgcConvertDB_PigBank_Diamond(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PigBank_Diamond.xlsx`,`..\..\data\DB_PigBank_Diamond.dat`)
AgcConvertDB_PigBank_Diamond(`D:\trunk\src\mongo.games.com\game\xlsx\DB_PigBank_Diamond.xlsx`,`..\..\data\DB_PigBank_Diamond.dat`)
AgcConvertDB_Pigbank_Prop(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Pigbank_Prop.xlsx`,`..\..\data\DB_Pigbank_Prop.dat`)
AgcConvertDB_Pigbank_Prop(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Pigbank_Prop.xlsx`,`..\..\data\DB_Pigbank_Prop.dat`)
AgcConvertDB_PlayerExp(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerExp.xlsx`,`..\..\data\DB_PlayerExp.dat`)
AgcConvertDB_PlayerExp(`D:\trunk\src\mongo.games.com\game\xlsx\DB_PlayerExp.xlsx`,`..\..\data\DB_PlayerExp.dat`)
AgcConvertDB_PlayerInfo(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerInfo.xlsx`,`..\..\data\DB_PlayerInfo.dat`)
AgcConvertDB_PlayerInfo(`D:\trunk\src\mongo.games.com\game\xlsx\DB_PlayerInfo.xlsx`,`..\..\data\DB_PlayerInfo.dat`)
AgcConvertDB_PlayerType(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PlayerType.xlsx`,`..\..\data\DB_PlayerType.dat`)
AgcConvertDB_PlayerType(`D:\trunk\src\mongo.games.com\game\xlsx\DB_PlayerType.xlsx`,`..\..\data\DB_PlayerType.dat`)
AgcConvertDB_PotOdd(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PotOdd.xlsx`,`..\..\data\DB_PotOdd.dat`)
AgcConvertDB_PotOdd(`D:\trunk\src\mongo.games.com\game\xlsx\DB_PotOdd.xlsx`,`..\..\data\DB_PotOdd.dat`)
AgcConvertDB_PropExchange(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_PropExchange.xlsx`,`..\..\data\DB_PropExchange.dat`)
AgcConvertDB_PropExchange(`D:\trunk\src\mongo.games.com\game\xlsx\DB_PropExchange.xlsx`,`..\..\data\DB_PropExchange.dat`)
AgcConvertDB_RankCycle(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankCycle.xlsx`,`..\..\data\DB_RankCycle.dat`)
AgcConvertDB_RankCycle(`D:\trunk\src\mongo.games.com\game\xlsx\DB_RankCycle.xlsx`,`..\..\data\DB_RankCycle.dat`)
AgcConvertDB_RankLevel(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankLevel.xlsx`,`..\..\data\DB_RankLevel.dat`)
AgcConvertDB_RankLevel(`D:\trunk\src\mongo.games.com\game\xlsx\DB_RankLevel.xlsx`,`..\..\data\DB_RankLevel.dat`)
AgcConvertDB_RankReward(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_RankReward.xlsx`,`..\..\data\DB_RankReward.dat`)
AgcConvertDB_RankReward(`D:\trunk\src\mongo.games.com\game\xlsx\DB_RankReward.xlsx`,`..\..\data\DB_RankReward.dat`)
AgcConvertDB_Sensitive_Words(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Sensitive_Words.xlsx`,`..\..\data\DB_Sensitive_Words.dat`)
AgcConvertDB_Sensitive_Words(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Sensitive_Words.xlsx`,`..\..\data\DB_Sensitive_Words.dat`)
AgcConvertDB_SlotRateWeight(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_SlotRateWeight.xlsx`,`..\..\data\DB_SlotRateWeight.dat`)
AgcConvertDB_SlotRateWeight(`D:\trunk\src\mongo.games.com\game\xlsx\DB_SlotRateWeight.xlsx`,`..\..\data\DB_SlotRateWeight.dat`)
AgcConvertDB_SystemChance(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_SystemChance.xlsx`,`..\..\data\DB_SystemChance.dat`)
AgcConvertDB_SystemChance(`D:\trunk\src\mongo.games.com\game\xlsx\DB_SystemChance.xlsx`,`..\..\data\DB_SystemChance.dat`)
AgcConvertDB_Task(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Task.xlsx`,`..\..\data\DB_Task.dat`)
AgcConvertDB_Task(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Task.xlsx`,`..\..\data\DB_Task.dat`)
AgcConvertDB_ThirdPlatformGameMapping(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_ThirdPlatformGameMapping.xlsx`,`..\..\data\DB_ThirdPlatformGameMapping.dat`)
AgcConvertDB_ThirdPlatformGameMapping(`D:\trunk\src\mongo.games.com\game\xlsx\DB_ThirdPlatformGameMapping.xlsx`,`..\..\data\DB_ThirdPlatformGameMapping.dat`)
AgcConvertDB_Tips(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_Tips.xlsx`,`..\..\data\DB_Tips.dat`)
AgcConvertDB_Tips(`D:\trunk\src\mongo.games.com\game\xlsx\DB_Tips.xlsx`,`..\..\data\DB_Tips.dat`)
AgcConvertDB_VIP(`G:\work\server\trunk\src\mongo.games.com\game\xlsx\DB_VIP.xlsx`,`..\..\data\DB_VIP.dat`)
AgcConvertDB_VIP(`D:\trunk\src\mongo.games.com\game\xlsx\DB_VIP.xlsx`,`..\..\data\DB_VIP.dat`)
}

View File

@ -10,11 +10,24 @@ import (
"mongo.games.com/game/protocol/server"
)
var PB{{.ProtoName}}Mgr = &{{.ProtoName}}Mgr{pool: make(map[int32]*server.{{.ProtoName}}), Datas: &server.{{.ProtoName}}Array{}}
var PB{{.ProtoName}}Mgr = &{{.ProtoName}}Mgr{
Datas: &server.{{.ProtoName}}Array{},
pool: make(map[int32]*server.{{.ProtoName}}),
{{ range $index, $col := .Cols }}{{ if $col.IsIndex }}
{{ if eq $col.ColType 1 }}{{$col.ColName}}: make(map[int32][]*server.{{$.ProtoName}}),
{{ else if eq $col.ColType 5 }}{{$col.ColName}}: make(map[int64][]*server.{{$.ProtoName}}),
{{ else if eq $col.ColType 2 }}{{$col.ColName}}: make(map[string][]*server.{{$.ProtoName}}),
{{end}}{{end}}{{end}}
}
type {{.ProtoName}}Mgr struct {
Datas *server.{{.ProtoName}}Array
pool map[int32]*server.{{.ProtoName}}
{{ range $index, $col := .Cols }}{{ if $col.IsIndex }}
{{ if eq $col.ColType 1 }}{{$col.ColName}} map[int32][]*server.{{$.ProtoName}}
{{ else if eq $col.ColType 5 }}{{$col.ColName}} map[int64][]*server.{{$.ProtoName}}
{{ else if eq $col.ColType 2 }}{{$col.ColName}} map[string][]*server.{{$.ProtoName}}
{{end}}{{end}}{{end}}
}
func (this *{{.ProtoName}}Mgr) unmarshal(data []byte) error {
@ -34,6 +47,9 @@ func (this *{{.ProtoName}}Mgr) reunmarshal(data []byte) error {
if existItem == nil {
this.pool[item.GetId()] = item
this.Datas.Arr = append(this.Datas.Arr, item)
{{ range $index, $col := .Cols }}{{ if $col.IsIndex }}
this.{{$col.ColName}}[item.Get{{$col.ColName}}()] = append(this.{{$col.ColName}}[item.Get{{$col.ColName}}()], item)
{{end}}{{end}}
} else {
*existItem = *item
}
@ -54,6 +70,9 @@ func (this *{{.ProtoName}}Mgr) arrangeData() {
for _, data := range dataArr {
this.pool[data.GetId()] = data
{{ range $index, $col := .Cols }}{{ if $col.IsIndex }}
this.{{$col.ColName}}[data.Get{{$col.ColName}}()] = append(this.{{$col.ColName}}[data.Get{{$col.ColName}}()], data)
{{end}}{{end}}
}
}
@ -63,6 +82,38 @@ func (this *{{.ProtoName}}Mgr) GetData(id int32) *server.{{.ProtoName}} {
}
return nil
}
{{ range $index, $col := .Cols }}{{ if $col.IsIndex }}
{{ if eq $col.ColType 1 }}func (this *{{$.ProtoName}}Mgr) Get{{$col.ColName}}(id int32) *server.{{$.ProtoName}} {
arr := this.{{$col.ColName}}[id]
if len(arr) == 0 {
return nil
}
return arr[0]
}
{{ else if eq $col.ColType 5 }}func (this *{{$.ProtoName}}Mgr) Get{{$col.ColName}}(id int64) *server.{{$.ProtoName}} {
arr := this.{{$col.ColName}}[id]
if len(arr) == 0 {
return nil
}
return arr[0]
}
{{ else if eq $col.ColType 2 }}func (this *{{$.ProtoName}}Mgr) Get{{$col.ColName}}(id string) *server.{{$.ProtoName}} {
arr := this.{{$col.ColName}}[id]
if len(arr) == 0 {
return nil
}
return arr[0]
}
{{end}}
{{ if eq $col.ColType 1 }}func (this *{{$.ProtoName}}Mgr) Get{{$col.ColName}}Arr(id int32) []*server.{{$.ProtoName}} {
return this.{{$col.ColName}}[id]
}
{{ else if eq $col.ColType 5 }}func (this *{{$.ProtoName}}Mgr) Get{{$col.ColName}}Arr(id int64) []*server.{{$.ProtoName}} {
return this.{{$col.ColName}}[id]
}
{{ else if eq $col.ColType 2 }}func (this *{{$.ProtoName}}Mgr) Get{{$col.ColName}}Arr(id string) []*server.{{$.ProtoName}} {
return this.{{$col.ColName}}[id]
}{{end}}{{end}}{{end}}
func init() {
DataMgr.register("{{.ProtoName}}.dat", &ProtobufDataLoader{dh: PB{{.ProtoName}}Mgr})

View File

@ -15,12 +15,13 @@ var XlsxFiles = make(map[string]string)
var templates *template.Template
type SheetColumnMetaStruct struct {
ColIndex int
ColName string
ColType int
CTString string
IsArray bool
IsMap bool
ColIndex int // 列序号
ColName string // 列名称
ColType int // 数据类型
CTString string // proto数据类型
IsArray bool // 是否数组
IsMap bool // 是否map
IsIndex bool // 是否建立索引
}
type SheetMetaStruct struct {
@ -31,17 +32,23 @@ type SheetMetaStruct struct {
}
const (
INTTYPE string = "(int)"
INT64TYPE string = "(int64)"
STRTYPE = "(str)"
ARRINTTYPE = "(arrint)"
ARRINT64TYPE = "(arrint64)"
ARRSTRTYPE = "(arrstr)"
INTTYPE_PROTO = "int32"
INT64TYPE_PROTO = "int64"
STRTYPE_PROTO = "string"
MAPTYPE string = "(map)"
MAP_PROTO = "map"
// xlsx标签
IntType = "(int)"
Int64Type = "(int64)"
StrType = "(str)"
ArrIntType = "(arrint)"
ArrInt64Type = "(arrint64)"
ArrStrType = "(arrstr)"
MapType = "(map)"
// xlsx索引类型,带索引
IntTypeIndex = "(int*)"
Int64TypeIndex = "(int64*)"
StrTypeIndex = "(str*)"
// proto类型
IntTypeProto = "int32"
Int64TypeProto = "int64"
StrTypeProto = "string"
MapProto = "map"
)
func Init() {
@ -113,20 +120,25 @@ func main() {
for _, row := range sheet.Rows {
for i, cell := range row.Cells {
s := cell.String()
if strings.HasSuffix(s, INTTYPE) {
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, INTTYPE), 1, INTTYPE_PROTO, false, false})
} else if strings.HasSuffix(s, STRTYPE) {
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, STRTYPE), 2, STRTYPE_PROTO, false, false})
} else if strings.HasSuffix(s, ARRINTTYPE) {
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, ARRINTTYPE), 3, INTTYPE_PROTO, true, false})
} else if strings.HasSuffix(s, ARRSTRTYPE) {
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, ARRSTRTYPE), 4, STRTYPE_PROTO, true, false})
} else if strings.HasSuffix(s, INT64TYPE) {
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, INT64TYPE), 5, INT64TYPE_PROTO, false, false})
} else if strings.HasSuffix(s, ARRINT64TYPE) {
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, ARRINT64TYPE), 6, INT64TYPE_PROTO, true, false})
} else if strings.HasSuffix(s, MAPTYPE) {
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, MAPTYPE), 7, MAP_PROTO, false, true})
switch {
case strings.HasSuffix(s, IntType):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, IntType), 1, IntTypeProto, false, false, false})
case strings.HasSuffix(s, StrType):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, StrType), 2, StrTypeProto, false, false, false})
case strings.HasSuffix(s, ArrIntType):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, ArrIntType), 3, IntTypeProto, true, false, false})
case strings.HasSuffix(s, Int64Type):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, Int64Type), 5, Int64TypeProto, false, false, false})
case strings.HasSuffix(s, ArrInt64Type):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, ArrInt64Type), 6, Int64TypeProto, true, false, false})
case strings.HasSuffix(s, MapType):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, MapType), 7, MapProto, false, true, false})
case strings.HasSuffix(s, IntTypeIndex):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, IntTypeIndex), 1, IntTypeProto, false, false, true})
case strings.HasSuffix(s, Int64TypeIndex):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, Int64TypeIndex), 5, Int64TypeProto, false, false, true})
case strings.HasSuffix(s, StrTypeIndex):
sms.Cols = append(sms.Cols, &SheetColumnMetaStruct{i, strings.TrimSuffix(s, StrTypeIndex), 2, StrTypeProto, false, false, true})
}
}
break //only fetch first row

View File

@ -285,7 +285,7 @@ func SCLogin(s *netlib.Session, sid int64, csLogin *login_proto.CSLogin, acc *mo
acc.LoginTimes++
//获取平台名称
if acc.Platform != common.Platform_Rob {
if acc.AccountType == common.AccountTypeTel {
if csLogin.LoginType == common.LoginTypeTelCode {
sclogin.Token = acc.TelPassWord // 密码和appid
}
// 版本号
@ -349,4 +349,5 @@ func SCLogin(s *netlib.Session, sid int64, csLogin *login_proto.CSLogin, acc *mo
}
proto.SetDefaults(sclogin)
common.SendToGate(sid, int(login_proto.LoginPacketID_PACKET_SC_LOGIN), sclogin, s)
logger.Logger.Tracef("SCLogin %v", sclogin)
}

Binary file not shown.

Binary file not shown.