This commit is contained in:
meixiongfeng 2023-07-06 11:14:02 +08:00
commit d39d0520da
15 changed files with 788 additions and 435 deletions

View File

@ -2,7 +2,7 @@
{ {
"id": 1, "id": 1,
"type": 1, "type": 1,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_1", "key": "pandamas_pandamas_dispatch_taskname_1",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -26,8 +26,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -52,7 +52,7 @@
{ {
"id": 2, "id": 2,
"type": 1, "type": 1,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_2", "key": "pandamas_pandamas_dispatch_taskname_2",
"text": "波比的委托" "text": "波比的委托"
@ -76,8 +76,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -102,7 +102,7 @@
{ {
"id": 3, "id": 3,
"type": 1, "type": 1,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_3", "key": "pandamas_pandamas_dispatch_taskname_3",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -126,8 +126,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -152,7 +152,7 @@
{ {
"id": 4, "id": 4,
"type": 1, "type": 1,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_4", "key": "pandamas_pandamas_dispatch_taskname_4",
"text": "师父的委托" "text": "师父的委托"
@ -176,8 +176,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -202,7 +202,7 @@
{ {
"id": 5, "id": 5,
"type": 1, "type": 1,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_5", "key": "pandamas_pandamas_dispatch_taskname_5",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -226,8 +226,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 2
} }
], ],
"reqextxt": [ "reqextxt": [
@ -252,7 +252,7 @@
{ {
"id": 6, "id": 6,
"type": 1, "type": 1,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_6", "key": "pandamas_pandamas_dispatch_taskname_6",
"text": "波比的委托" "text": "波比的委托"
@ -276,8 +276,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 2
} }
], ],
"reqextxt": [ "reqextxt": [
@ -302,7 +302,7 @@
{ {
"id": 7, "id": 7,
"type": 1, "type": 1,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_7", "key": "pandamas_pandamas_dispatch_taskname_7",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -326,8 +326,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 2
} }
], ],
"reqextxt": [ "reqextxt": [
@ -352,7 +352,7 @@
{ {
"id": 8, "id": 8,
"type": 1, "type": 1,
"weight": 1, "weight": 3000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_8", "key": "pandamas_pandamas_dispatch_taskname_8",
"text": "师父的委托" "text": "师父的委托"
@ -376,8 +376,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 2
} }
], ],
"reqextxt": [ "reqextxt": [
@ -402,7 +402,7 @@
{ {
"id": 19, "id": 19,
"type": 2, "type": 2,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_19", "key": "pandamas_pandamas_dispatch_taskname_19",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -426,8 +426,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 2
} }
], ],
"reqextxt": [ "reqextxt": [
@ -452,7 +452,7 @@
{ {
"id": 20, "id": 20,
"type": 2, "type": 2,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_20", "key": "pandamas_pandamas_dispatch_taskname_20",
"text": "师父的委托" "text": "师父的委托"
@ -476,8 +476,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 2
} }
], ],
"reqextxt": [ "reqextxt": [
@ -502,7 +502,7 @@
{ {
"id": 21, "id": 21,
"type": 2, "type": 2,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_21", "key": "pandamas_pandamas_dispatch_taskname_21",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -526,8 +526,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 2
} }
], ],
"reqextxt": [ "reqextxt": [
@ -552,7 +552,7 @@
{ {
"id": 22, "id": 22,
"type": 2, "type": 2,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_22", "key": "pandamas_pandamas_dispatch_taskname_22",
"text": "波比的委托" "text": "波比的委托"
@ -576,8 +576,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 2
} }
], ],
"reqextxt": [ "reqextxt": [
@ -602,7 +602,7 @@
{ {
"id": 23, "id": 23,
"type": 2, "type": 2,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_23", "key": "pandamas_pandamas_dispatch_taskname_23",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -626,8 +626,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -652,7 +652,7 @@
{ {
"id": 24, "id": 24,
"type": 2, "type": 2,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_24", "key": "pandamas_pandamas_dispatch_taskname_24",
"text": "师父的委托" "text": "师父的委托"
@ -676,8 +676,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -702,7 +702,7 @@
{ {
"id": 25, "id": 25,
"type": 2, "type": 2,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_25", "key": "pandamas_pandamas_dispatch_taskname_25",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -726,8 +726,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -752,7 +752,7 @@
{ {
"id": 26, "id": 26,
"type": 2, "type": 2,
"weight": 1, "weight": 3000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_26", "key": "pandamas_pandamas_dispatch_taskname_26",
"text": "波比的委托" "text": "波比的委托"
@ -776,8 +776,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -802,7 +802,7 @@
{ {
"id": 34, "id": 34,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_34", "key": "pandamas_pandamas_dispatch_taskname_34",
"text": "波比的委托" "text": "波比的委托"
@ -826,8 +826,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -852,7 +852,7 @@
{ {
"id": 35, "id": 35,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_35", "key": "pandamas_pandamas_dispatch_taskname_35",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -876,8 +876,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -902,7 +902,7 @@
{ {
"id": 36, "id": 36,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_36", "key": "pandamas_pandamas_dispatch_taskname_36",
"text": "师父的委托" "text": "师父的委托"
@ -926,8 +926,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -952,7 +952,7 @@
{ {
"id": 37, "id": 37,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_37", "key": "pandamas_pandamas_dispatch_taskname_37",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -976,8 +976,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1002,7 +1002,7 @@
{ {
"id": 38, "id": 38,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_38", "key": "pandamas_pandamas_dispatch_taskname_38",
"text": "波比的委托" "text": "波比的委托"
@ -1026,8 +1026,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 3
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1052,7 +1052,7 @@
{ {
"id": 39, "id": 39,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_39", "key": "pandamas_pandamas_dispatch_taskname_39",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -1076,8 +1076,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1102,7 +1102,7 @@
{ {
"id": 40, "id": 40,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_40", "key": "pandamas_pandamas_dispatch_taskname_40",
"text": "师父的委托" "text": "师父的委托"
@ -1126,8 +1126,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1152,7 +1152,7 @@
{ {
"id": 41, "id": 41,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_41", "key": "pandamas_pandamas_dispatch_taskname_41",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -1176,8 +1176,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1202,7 +1202,7 @@
{ {
"id": 42, "id": 42,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_42", "key": "pandamas_pandamas_dispatch_taskname_42",
"text": "波比的委托" "text": "波比的委托"
@ -1226,8 +1226,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1252,7 +1252,7 @@
{ {
"id": 43, "id": 43,
"type": 3, "type": 3,
"weight": 1, "weight": 1000,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_43", "key": "pandamas_pandamas_dispatch_taskname_43",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -1276,8 +1276,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1302,7 +1302,7 @@
{ {
"id": 60, "id": 60,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_60", "key": "pandamas_pandamas_dispatch_taskname_60",
"text": "师父的委托" "text": "师父的委托"
@ -1326,8 +1326,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1352,7 +1352,7 @@
{ {
"id": 61, "id": 61,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_61", "key": "pandamas_pandamas_dispatch_taskname_61",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -1376,8 +1376,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1402,7 +1402,7 @@
{ {
"id": 62, "id": 62,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_62", "key": "pandamas_pandamas_dispatch_taskname_62",
"text": "波比的委托" "text": "波比的委托"
@ -1426,8 +1426,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1452,7 +1452,7 @@
{ {
"id": 63, "id": 63,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_63", "key": "pandamas_pandamas_dispatch_taskname_63",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -1476,8 +1476,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 4
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1502,7 +1502,7 @@
{ {
"id": 64, "id": 64,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_64", "key": "pandamas_pandamas_dispatch_taskname_64",
"text": "师父的委托" "text": "师父的委托"
@ -1526,8 +1526,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1552,7 +1552,7 @@
{ {
"id": 65, "id": 65,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_65", "key": "pandamas_pandamas_dispatch_taskname_65",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -1576,8 +1576,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1602,7 +1602,7 @@
{ {
"id": 66, "id": 66,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_66", "key": "pandamas_pandamas_dispatch_taskname_66",
"text": "波比的委托" "text": "波比的委托"
@ -1626,8 +1626,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1652,7 +1652,7 @@
{ {
"id": 67, "id": 67,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_67", "key": "pandamas_pandamas_dispatch_taskname_67",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -1676,8 +1676,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1702,7 +1702,7 @@
{ {
"id": 68, "id": 68,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_68", "key": "pandamas_pandamas_dispatch_taskname_68",
"text": "师父的委托" "text": "师父的委托"
@ -1726,8 +1726,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1752,7 +1752,7 @@
{ {
"id": 69, "id": 69,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_69", "key": "pandamas_pandamas_dispatch_taskname_69",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -1776,8 +1776,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1802,7 +1802,7 @@
{ {
"id": 70, "id": 70,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_70", "key": "pandamas_pandamas_dispatch_taskname_70",
"text": "波比的委托" "text": "波比的委托"
@ -1826,8 +1826,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1852,7 +1852,7 @@
{ {
"id": 71, "id": 71,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_71", "key": "pandamas_pandamas_dispatch_taskname_71",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -1876,8 +1876,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1902,7 +1902,7 @@
{ {
"id": 72, "id": 72,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_72", "key": "pandamas_pandamas_dispatch_taskname_72",
"text": "师父的委托" "text": "师父的委托"
@ -1926,8 +1926,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -1952,7 +1952,7 @@
{ {
"id": 73, "id": 73,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_73", "key": "pandamas_pandamas_dispatch_taskname_73",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -1976,8 +1976,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -2002,7 +2002,7 @@
{ {
"id": 74, "id": 74,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_74", "key": "pandamas_pandamas_dispatch_taskname_74",
"text": "波比的委托" "text": "波比的委托"
@ -2026,8 +2026,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -2052,7 +2052,7 @@
{ {
"id": 75, "id": 75,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_71", "key": "pandamas_pandamas_dispatch_taskname_71",
"text": "悍娇虎的委托" "text": "悍娇虎的委托"
@ -2076,8 +2076,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -2102,7 +2102,7 @@
{ {
"id": 76, "id": 76,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_72", "key": "pandamas_pandamas_dispatch_taskname_72",
"text": "师父的委托" "text": "师父的委托"
@ -2126,8 +2126,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -2152,7 +2152,7 @@
{ {
"id": 77, "id": 77,
"type": 4, "type": 4,
"weight": 1, "weight": 526,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_73", "key": "pandamas_pandamas_dispatch_taskname_73",
"text": "阿宝的委托" "text": "阿宝的委托"
@ -2176,8 +2176,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [
@ -2202,7 +2202,7 @@
{ {
"id": 78, "id": 78,
"type": 4, "type": 4,
"weight": 1, "weight": 530,
"taskname": { "taskname": {
"key": "pandamas_pandamas_dispatch_taskname_74", "key": "pandamas_pandamas_dispatch_taskname_74",
"text": "波比的委托" "text": "波比的委托"
@ -2226,8 +2226,8 @@
], ],
"taskreqex": [ "taskreqex": [
{ {
"key": 2, "key": 3,
"param": 5 "param": 1
} }
], ],
"reqextxt": [ "reqextxt": [

View File

@ -2,6 +2,7 @@ package dispatch
import ( import (
"fmt" "fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/modules" "go_dreamfactory/modules"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
@ -10,6 +11,7 @@ import (
const ( const (
gameDispatchLv = "game_dispatch_lv.json" gameDispatchLv = "game_dispatch_lv.json"
gameDispatchTask = "game_dispatch_task.json" gameDispatchTask = "game_dispatch_task.json"
new_hero = "game_hero.json" //英雄
) )
type configureComp struct { type configureComp struct {
@ -21,6 +23,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
err = this.LoadMultiConfigure(map[string]interface{}{ err = this.LoadMultiConfigure(map[string]interface{}{
gameDispatchLv: cfg.NewGameDispatch_Lv, gameDispatchLv: cfg.NewGameDispatch_Lv,
gameDispatchTask: cfg.NewGameDispatch_Task, gameDispatchTask: cfg.NewGameDispatch_Task,
new_hero: cfg.NewGameHero,
}) })
return return
} }
@ -88,3 +91,19 @@ func (this *configureComp) getDispatchTaskConfByType(typeId int32) (list []*cfg.
} }
return return
} }
// 获取英雄配置
func (this *configureComp) GetHeroConfig(heroCfgId string) (conf *cfg.GameHeroData, err error) {
var (
v interface{}
)
if v, err = this.GetConfigure(new_hero); err == nil {
if configure, ok := v.(*cfg.GameHero); ok {
if conf, ok = configure.GetDataMap()[heroCfgId]; ok {
return
}
}
}
err = comm.NewNotFoundConfErr("dispatch", new_hero, heroCfgId)
return
}

View File

@ -239,19 +239,59 @@ func (this *modelDispatch) validHeroCond(uid string, taskId int32, heroId string
if code == nil && hero != nil { if code == nil && hero != nil {
for _, v := range gd.Taskreq { for _, v := range gd.Taskreq {
switch v.Key { if v.Key == 1 {
case 1: //校验英雄的基础条件
if hero.Lv >= v.Param { if hero.Lv >= v.Param {
ok1 = true ok1 = true
} else {
ok1 = false
break
}
} else if v.Key == 2 {
if hero.Star >= v.Param {
ok1 = true
} else {
ok1 = false
break
}
} else if v.Key == 3 {
hcfg, err2 := this.module.configure.GetHeroConfig(hero.HeroID)
if err2 != nil {
return false, false, err2
}
if hcfg.Race == v.Param {
ok1 = true
} else {
ok1 = false
break
} }
} }
} }
for _, v := range gd.Taskreqex { for _, v := range gd.Taskreqex {
switch v.Key { if v.Key == 1 {
case 2: //校验英雄的额外要求 if hero.Lv >= v.Param {
ok2 = true
} else {
ok2 = false
break
}
} else if v.Key == 2 {
if hero.Star >= v.Param { if hero.Star >= v.Param {
ok2 = true ok2 = true
} else {
ok2 = false
break
}
} else if v.Key == 3 {
hcfg, err2 := this.module.configure.GetHeroConfig(hero.HeroID)
if err2 != nil {
return false, false, err2
}
if hcfg.Race == v.Param {
ok2 = true
} else {
ok2 = false
break
} }
} }
} }

View File

@ -1,3 +1,4 @@
package hero package hero
import ( import (

View File

@ -3,6 +3,7 @@ package practice
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs" cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/utils" "go_dreamfactory/utils"
) )
@ -16,10 +17,11 @@ func (this *apiComp) GetGymBuffCheck(session comm.IUserSession, req *pb.Practice
// /练功请求 // /练功请求
func (this *apiComp) GetGymBuff(session comm.IUserSession, req *pb.PracticeGetGymBuffReq) (errdata *pb.ErrorData) { func (this *apiComp) GetGymBuff(session comm.IUserSession, req *pb.PracticeGetGymBuffReq) (errdata *pb.ErrorData) {
var ( var (
mryl *cfg.GamePandamasMrylData mryl *cfg.GamePandamasMrylData
buff *cfg.GamePandamasBuffData buff *cfg.GamePandamasBuffData
room *pb.DBPracticeRoom room *pb.DBPracticeRoom
err error award []*pb.UserAssets
err error
) )
if mryl, err = this.module.configure.getPandamasMryl(req.Posture); err != nil { if mryl, err = this.module.configure.getPandamasMryl(req.Posture); err != nil {
@ -53,8 +55,19 @@ func (this *apiComp) GetGymBuff(session comm.IUserSession, req *pb.PracticeGetGy
if errdata = this.module.DispenseRes(session, this.module.ModuleTools.GetGlobalConf().MrylReward, true); errdata != nil { if errdata = this.module.DispenseRes(session, this.module.ModuleTools.GetGlobalConf().MrylReward, true); errdata != nil {
return return
} }
for _, v := range this.module.ModuleTools.GetGlobalConf().MrylReward {
award = append(award, &pb.UserAssets{
A: v.A,
T: v.T,
N: v.N,
})
}
room.Lastgymtime = configure.Now().Unix()
this.module.ModuleUser.ChangeUserExpand(session.GetUserId(), map[string]interface{}{
"lastgymtime": room.Lastgymtime,
})
} }
session.SendMsg(string(this.module.GetType()), "getgymbuff", &pb.PracticeGetGymBuffResp{Buffid: buff.Id}) session.SendMsg(string(this.module.GetType()), "getgymbuff", &pb.PracticeGetGymBuffResp{Buffid: buff.Id, Award: award})
return return
} }

View File

@ -1,25 +1,39 @@
package wtask package wtask
import ( import (
"fmt"
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/pb" "go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
) )
// 参数校验 // 参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.WTaskAcceptReq) (errdata *pb.ErrorData) { func (this *apiComp) AcceptCheck(session comm.IUserSession, req *pb.WTaskAcceptReq) (errdata *pb.ErrorData) {
return return
} }
// /获取系统公告 // /获取系统公告
func (this *apiComp) Info(session comm.IUserSession, req *pb.WTaskAcceptReq) (errdata *pb.ErrorData) { func (this *apiComp) Accept(session comm.IUserSession, req *pb.WTaskAcceptReq) (errdata *pb.ErrorData) {
var ( var (
wtask *pb.DBWTask wtask *pb.DBWTask
conf *cfg.GameWorldTaskData
ok bool
err error err error
) )
if errdata = this.InfoCheck(session, req); errdata != nil { if errdata = this.AcceptCheck(session, req); errdata != nil {
return return
} }
if conf, err = this.module.configure.gettaskconfconfigure(req.Tid); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if wtask, err = this.module.modelwtask.getUserWTasks(session.GetUserId()); err != nil { if wtask, err = this.module.modelwtask.getUserWTasks(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{ errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError, Code: pb.ErrorCode_DBError,
@ -28,9 +42,42 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.WTaskAcceptReq) (er
} }
return return
} }
if errdata = this.module.pushtaskprogress(session, wtask); errdata != nil { ok = false
if conf.Des != 5 {
for _, v := range wtask.Activations {
if req.Tid == v {
ok = true
}
}
}
if !ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: fmt.Sprintf("task:%d no fund in Activations:%v", req.Tid, wtask.Activations),
}
}
for i, v := range wtask.Activations {
if v == req.Tid {
wtask.Activations = append(wtask.Activations[0:i], wtask.Activations[i+1:]...)
break
}
}
wtask.Accepts = append(wtask.Accepts, req.Tid)
session.SendMsg(string(this.module.GetType()), "accept", &pb.WTaskAcceptResp{Activations: wtask.Activations, Accepts: wtask.Accepts})
this.module.pushtaskprogress(session, wtask)
if err = this.module.modelwtask.Change(session.GetUserId(), map[string]interface{}{
"activations": wtask.Activations,
"accepts": wtask.Accepts,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return return
} }
session.SendMsg(string(this.module.GetType()), "info", &pb.WTaskInfoResp{Activations: wtask.Activations, Accepttask: wtask.Accepts, Completes: wtask.Completes})
return return
} }

View File

@ -0,0 +1,77 @@
package wtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
// 参数校验
func (this *apiComp) BattleFinishCheck(session comm.IUserSession, req *pb.WTaskBattleFinishReq) (errdata *pb.ErrorData) {
if req.BattleConfId == 0 || req.Report == nil {
this.module.Error("世界任务战斗开始参数错误",
log.Field{Key: "uid", Value: session.GetUserId()},
log.Field{Key: "params", Value: req.String()},
)
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: "BattleConfId is 0 or Report is null",
}
}
return
}
// /获取系统公告
func (this *apiComp) BattleFinish(session comm.IUserSession, req *pb.WTaskBattleFinishReq) (errdata *pb.ErrorData) {
var (
conf *cfg.GameWorldBattleData
err error
isWin bool
)
if errdata = this.BattleFinishCheck(session, req); errdata != nil {
return
}
if conf, err = this.module.configure.getWorldtaskBattleById(req.BattleConfId); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if errdata, isWin = this.module.modelBattle.CheckBattleReport(session, req.Report); errdata == nil {
return
}
if isWin {
if conf.Carexe > 0 {
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
for _, v := range req.Report.Info.Redflist[0].Team {
if !v.Ishelp { // 助战英雄不加经验
this.module.ModuleHero.AddHeroExp(session, v.Oid, conf.Carexe)
}
}
}
}
if errdata = this.module.DispenseRes(session, []*cfg.Gameatn{conf.Playexp}, true); errdata != nil {
this.module.Error("世界任务战斗玩家经验结算",
log.Field{Key: "uid", Value: session.GetUserId()},
log.Field{Key: "playerExp", Value: conf.Playexp},
)
return
} else {
//触发任务
go this.module.ModuleBuried.TriggerBuried(session.GetUserId(), comm.GetBuriedParam(comm.Rtype70, 1, req.BattleConfId))
}
} else {
this.module.Error("世界任务战斗失败",
log.Field{Key: "uid", Value: session.GetUserId()},
log.Field{Key: "isWin", Value: isWin},
)
}
session.SendMsg(string(this.module.GetType()), "battlefinish", &pb.WTaskBattleFinishResp{BattleConfId: req.BattleConfId})
return
}

View File

@ -0,0 +1,65 @@
package wtask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) BattleStartCheck(session comm.IUserSession, req *pb.WTaskBattleStartReq) (errdata *pb.ErrorData) {
if req.BattleConfId == 0 || req.Battle == nil {
this.module.Error("世界任务战斗开始参数错误",
log.Field{Key: "uid", Value: session.GetUserId()},
log.Field{Key: "params", Value: req.String()},
)
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: "BattleConfId is 0",
}
}
return
}
// /获取系统公告
func (this *apiComp) BattleStart(session comm.IUserSession, req *pb.WTaskBattleStartReq) (errdata *pb.ErrorData) {
var (
record *pb.DBBattleRecord
)
if errdata = this.BattleStartCheck(session, req); errdata != nil {
return
}
battleConf, err := this.module.configure.getWorldtaskBattleById(req.BattleConfId)
if err != nil || battleConf == nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
if errdata, record = this.module.modelBattle.CreatePveBattle(session, &pb.BattlePVEReq{
Ptype: pb.PlayType_moonfantasy,
Format: req.Battle,
Mformat: battleConf.FormatList,
}); err != nil {
return
}
session.SendMsg(string(this.module.GetType()), "battle", &pb.WTaskBattleStartResp{
BattleConfId: req.BattleConfId,
Info: &pb.BattleInfo{
Id: record.Id,
Rulesid: battleConf.BattleReadyID,
Btype: record.Btype,
Ptype: record.Ptype,
RedCompId: record.RedCompId,
Redflist: record.Redflist,
BlueCompId: record.BlueCompId,
Buleflist: record.Buleflist,
Tasks: battleConf.EventList,
},
})
return
}

View File

@ -113,5 +113,17 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WTaskFinishReq) (
wtask.Completes = append(wtask.Completes, req.Tid) wtask.Completes = append(wtask.Completes, req.Tid)
session.SendMsg(string(this.module.GetType()), "finish", &pb.WTaskFinishResp{Tid: req.Tid, Award: award}) session.SendMsg(string(this.module.GetType()), "finish", &pb.WTaskFinishResp{Tid: req.Tid, Award: award})
this.module.fishtask(session, wtask) this.module.fishtask(session, wtask)
if err = this.module.modelwtask.Change(session.GetUserId(), map[string]interface{}{
"activations": wtask.Activations,
"accepts": wtask.Accepts,
"completes": wtask.Completes,
}); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
return return
} }

View File

@ -31,6 +31,6 @@ func (this *apiComp) Info(session comm.IUserSession, req *pb.WTaskInfoReq) (errd
if errdata = this.module.pushtaskprogress(session, wtask); errdata != nil { if errdata = this.module.pushtaskprogress(session, wtask); errdata != nil {
return return
} }
session.SendMsg(string(this.module.GetType()), "info", &pb.WTaskInfoResp{Activations: wtask.Activations, Accepttask: wtask.Accepts, Completes: wtask.Completes}) session.SendMsg(string(this.module.GetType()), "info", &pb.WTaskInfoResp{Activations: wtask.Activations, Accepts: wtask.Accepts, Completes: wtask.Completes})
return return
} }

View File

@ -102,3 +102,22 @@ func (this *configureComp) gettaskconfconfigure(tid int32) (conf *cfg.GameWorldT
} }
return return
} }
// 获取战斗配置
func (this *configureComp) getWorldtaskBattleById(confId int32) (conf *cfg.GameWorldBattleData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(gameWorldtaskBattle); err != nil {
return
} else {
if conf, ok = v.(*cfg.GameWorldBattle).GetDataMap()[confId]; !ok {
err = comm.NewNotFoundConfErr(modulename, gameWorldTask, confId)
this.module.Errorf("err:%v", err)
return
}
}
return
}

View File

@ -14,11 +14,12 @@ const modulename = "世界任务"
type WTask struct { type WTask struct {
modules.ModuleBase modules.ModuleBase
service core.IService service core.IService
modelSys comm.ISys modelBattle comm.IBattle
api *apiComp modelSys comm.ISys
configure *configureComp api *apiComp
modelwtask *ModelWTask configure *configureComp
modelwtask *ModelWTask
} }
func NewModule() core.IModule { func NewModule() core.IModule {
@ -38,6 +39,10 @@ func (this *WTask) Init(service core.IService, module core.IModule, options core
func (this *WTask) Start() (err error) { func (this *WTask) Start() (err error) {
err = this.ModuleBase.Start() err = this.ModuleBase.Start()
var module core.IModule var module core.IModule
if module, err = this.service.GetModule(comm.ModuleBattle); err != nil {
return
}
this.modelBattle = module.(comm.IBattle)
if module, err = this.service.GetModule(comm.ModuleSys); err != nil { if module, err = this.service.GetModule(comm.ModuleSys); err != nil {
return return
} }
@ -207,9 +212,7 @@ func (this *WTask) pushtaskprogress(session comm.IUserSession, wtask *pb.DBWTask
} }
tasks = append(tasks, task) tasks = append(tasks, task)
} }
session.SendMsg(string(this.GetType()), "acceptchange", &pb.WTaskAcceptChangePush{Accepts: tasks})
session.SendMsg(string(this.GetType()), "info", &pb.WTaskAcceptChangePush{Accepts: tasks})
return return
} }
@ -243,6 +246,8 @@ func (this *WTask) fishtask(session comm.IUserSession, wtask *pb.DBWTask) {
func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTask, lv int32, opencmd []string) (err error) { func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTask, lv int32, opencmd []string) (err error) {
var ( var (
conf *cfg.GameWorldTask conf *cfg.GameWorldTask
activatMap map[int32]struct{} = make(map[int32]struct{})
acceptsMap map[int32]struct{} = make(map[int32]struct{})
completeMap map[int32]struct{} = make(map[int32]struct{}) completeMap map[int32]struct{} = make(map[int32]struct{})
opencmdMap map[string]struct{} = make(map[string]struct{}) opencmdMap map[string]struct{} = make(map[string]struct{})
ok bool ok bool
@ -252,7 +257,12 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa
if conf, err = this.configure.getWorldtaskCfg(); err != nil { if conf, err = this.configure.getWorldtaskCfg(); err != nil {
return return
} }
for _, v := range wtask.Activations {
activatMap[v] = struct{}{}
}
for _, v := range wtask.Accepts {
acceptsMap[v] = struct{}{}
}
for _, v := range wtask.Completes { for _, v := range wtask.Completes {
completeMap[v] = struct{}{} completeMap[v] = struct{}{}
} }
@ -260,13 +270,19 @@ func (this *WTask) inquireActivations(session comm.IUserSession, wtask *pb.DBWTa
opencmdMap[v] = struct{}{} opencmdMap[v] = struct{}{}
} }
for _, v := range conf.GetDataList() { for _, v := range conf.GetDataList() {
if _, ok = completeMap[v.Key]; ok { //已完成 if _, ok = activatMap[v.Key]; ok { //已在可接取列表中
continue
}
if _, ok = acceptsMap[v.Key]; ok { //已在已接取任务列表中
continue
}
if _, ok = completeMap[v.Key]; ok { //已在完成列表中
continue continue
} }
if lv < v.Lock || lv > v.Lockend { //等级不符合 if lv < v.Lock || lv > v.Lockend { //等级不符合
continue continue
} }
if _, ok = opencmdMap[v.Opencond]; v.Opencond != "" && !ok { //功能开启 if _, ok = opencmdMap[v.Opencond]; v.Opencond != "" && !ok { //功能开启
continue continue
} }
if _, ok = completeMap[v.Ontxe]; v.Ontxe != 0 && !ok { //前置任务判断 if _, ok = completeMap[v.Ontxe]; v.Ontxe != 0 && !ok { //前置任务判断

View File

@ -1366,7 +1366,8 @@ type PracticeGetGymBuffResp struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Buffid int32 `protobuf:"varint,1,opt,name=buffid,proto3" json:"buffid"` Buffid int32 `protobuf:"varint,1,opt,name=buffid,proto3" json:"buffid"`
Award []*UserAssets `protobuf:"bytes,2,rep,name=award,proto3" json:"award"` //奖励
} }
func (x *PracticeGetGymBuffResp) Reset() { func (x *PracticeGetGymBuffResp) Reset() {
@ -1408,6 +1409,13 @@ func (x *PracticeGetGymBuffResp) GetBuffid() int32 {
return 0 return 0
} }
func (x *PracticeGetGymBuffResp) GetAward() []*UserAssets {
if x != nil {
return x.Award
}
return nil
}
///健身 确认buff 请求 ///健身 确认buff 请求
type PracticeGymConfirmReq struct { type PracticeGymConfirmReq struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -2166,198 +2174,201 @@ var file_practice_practice_msg_proto_rawDesc = []byte{
0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x65, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x62, 0x61, 0x74, 0x74,
0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x70, 0x76, 0x70, 0x2f, 0x70, 0x76, 0x70, 0x5f, 0x64, 0x62, 0x2e, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x70, 0x76, 0x70, 0x2f, 0x70, 0x76, 0x70, 0x5f, 0x64, 0x62, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x37, 0x0a, 0x10, 0x50, 0x72, 0x61, 0x63, 0x6f, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66,
0x74, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x37, 0x0a, 0x10, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74,
0x6f, 0x22, 0x3d, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6d, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x3d, 0x0a,
0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6d, 0x6d, 0x43, 0x68, 0x61,
0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x22, 0x2b, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x2b, 0x0a, 0x15,
0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f,
0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x22, 0x9d, 0x01, 0x6d, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x03, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x16, 0x50, 0x72,
0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20,
0x63, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x46, 0x72,
0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6d, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6e, 0x66,
0x6f, 0x73, 0x1a, 0x49, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x1a, 0x49,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25,
0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x6f, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x05,
0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x29, 0x0a, 0x11, 0x50, 0x72, 0x61,
0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x14,
0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x39, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69,
0x74, 0x69, 0x63, 0x65, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x39, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x69, 0x6e,
0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61,
0x6e, 0x66, 0x6f, 0x22, 0x2a, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22,
0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x2a, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61,
0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01,
0x3b, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x3b, 0x0a, 0x13, 0x50,
0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28,
0x6c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x6d, 0x0a, 0x13, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x02,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x22, 0x6d, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63,
0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12,
0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20,
0x07, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x65, 0x61,
0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x63,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x50, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74,
0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x69, 0x63, 0x65, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12,
0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c,
0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x22, 0x6b, 0x0a, 0x0f, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a,
0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x65, 0x61,
0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x63,
0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x55, 0x0a, 0x10, 0x50, 0x72, 0x61, 0x63, 0x74,
0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x66,
0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69,
0x65, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x22, 0x6b, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x22, 0x16,
0x0a, 0x0f, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73,
0x71, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0xd1, 0x01, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74,
0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x18, 0x0a, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x07, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c,
0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x40, 0x0a, 0x08, 0x6b,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x22, 0x55, 0x0a, 0x10, 0x50, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f,
0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e,
0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61,
0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63,
0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c,
0x61, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78,
0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0xd1, 0x01, 0x0a, 0x15, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12,
0x40, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x24, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x75,
0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61,
0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63,
0x6b, 0x1a, 0x4b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x52, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe9,
0x01, 0x0a, 0x17, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70,
0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x12, 0x29,
0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61,
0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61,
0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f,
0x6e, 0x50, 0x75, 0x73, 0x68, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x4b, 0x0a, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x4b, 0x0a,
0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0e, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x52, 0x0e, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe9, 0x01, 0x0a, 0x17, 0x50,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69,
0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x6f, 0x6e, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x69, 0x64, 0x18, 0x01,
0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xcd, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50,
0x01, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70,
0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x6b, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x69, 0x63, 0x65, 0x50, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x63, 0x65, 0x42, 0x65, 0x45, 0x78, 0x70, 0x75, 0x6c, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x73,
0x72, 0x12, 0x3e, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x68, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x4b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61,
0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05,
0x6b, 0x1a, 0x4b, 0x0a, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x42, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05,
0x52, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64,
0x0a, 0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01,
0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x50,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65,
0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01,
0x40, 0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x50,
0x6c, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x52, 0x06, 0x70, 0x69, 0x6c, 0x6c, 0x61, 0x72, 0x12, 0x3e, 0x0a,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x22, 0x2e, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
0x6f, 0x22, 0x24, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x65, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e,
0x74, 0x65, 0x6d, 0x50, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x1a, 0x4b, 0x0a,
0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x0d, 0x4b, 0x6e, 0x61, 0x70, 0x73, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x13, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x0e, 0x2e, 0x44, 0x42, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x52,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x13, 0x50, 0x72,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65,
0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x68, 0x6e, 0x75, 0x6d, 0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18,
0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x40, 0x0a, 0x14, 0x50,
0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x52,
0x65, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x65, 0x72,
0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x24, 0x0a,
0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4a, 0x58, 0x49, 0x74, 0x65, 0x6d, 0x50,
0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x75, 0x73, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47,
0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x55, 0x0a, 0x13, 0x50, 0x72, 0x61,
0x05, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x30, 0x0a, 0x16, 0x50, 0x72, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75, 0x6d,
0x22, 0x17, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52,
0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x65, 0x71, 0x22, 0x58, 0x0a, 0x16, 0x50, 0x72, 0x61,
0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52,
0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x61, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x6e, 0x75,
0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
0x6e, 0x75, 0x6d, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47,
0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07,
0x70, 0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70,
0x6f, 0x73, 0x74, 0x75, 0x72, 0x65, 0x22, 0x53, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x63, 0x65, 0x47, 0x65, 0x74, 0x47, 0x79, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x73, 0x70,
0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72,
0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73,
0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x2f, 0x0a, 0x15, 0x50,
0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72,
0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x16,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x18, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x25,
0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x47, 0x79, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f,
0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x69, 0x64, 0x22, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x66,
0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x12, 0x1a, 0x0a,
0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x62, 0x61, 0x74,
0x66, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x66, 0x69, 0x64, 0x12, 0x1a, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x50, 0x76,
0x0a, 0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x70, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22,
0x52, 0x08, 0x69, 0x73, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x62, 0x61, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70,
0x74, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x50, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x76, 0x70, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69,
0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73,
0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50, 0x72, 0x61, 0x63, 0x74, 0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x50,
0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x25, 0x0a, 0x11, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73,
0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x2c, 0x0a, 0x12, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x61,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x66,
0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x22, 0x60, 0x0a, 0x18, 0x50, 0x72, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x51, 0x69, 0x65, 0x63, 0x75, 0x6f, 0x6e, 0x6f, 0x74, 0x69, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6e,
0x66, 0x79, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x50,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c,
0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x15, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61,
0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e,
0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x45,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x16, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f,
0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42,
0x1e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22,
0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61,
0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x25,
0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
0x22, 0x44, 0x0a, 0x1b, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72,
0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18,
0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x36, 0x0a, 0x1c, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x16, 0x0a,
0x63, 0x65, 0x4e, 0x50, 0x43, 0x42, 0x61, 0x74, 0x74, 0x6b, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c,
0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x22, 0x16, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16,
0x0a, 0x14, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x22, 0x2f, 0x0a, 0x15, 0x50, 0x72, 0x61, 0x63, 0x74, 0x69, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x63, 0x65, 0x4e, 0x50, 0x43, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x06, 0x69, 0x73, 0x73, 0x75, 0x63, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -2422,12 +2433,13 @@ var file_practice_practice_msg_proto_goTypes = []interface{}{
nil, // 45: PracticeReceiveResp.KnapsackEntry nil, // 45: PracticeReceiveResp.KnapsackEntry
(*DBPracticeRoom)(nil), // 46: DBPracticeRoom (*DBPracticeRoom)(nil), // 46: DBPracticeRoom
(*DBPracticePillar)(nil), // 47: DBPracticePillar (*DBPracticePillar)(nil), // 47: DBPracticePillar
(*DBPvpBattle)(nil), // 48: DBPvpBattle (*UserAssets)(nil), // 48: UserAssets
(*BattleFormation)(nil), // 49: BattleFormation (*DBPvpBattle)(nil), // 49: DBPvpBattle
(ErrorCode)(0), // 50: ErrorCode (*BattleFormation)(nil), // 50: BattleFormation
(*BattleInfo)(nil), // 51: BattleInfo (ErrorCode)(0), // 51: ErrorCode
(*BattleReport)(nil), // 52: BattleReport (*BattleInfo)(nil), // 52: BattleInfo
(*DBPracticeRes)(nil), // 53: DBPracticeRes (*BattleReport)(nil), // 53: BattleReport
(*DBPracticeRes)(nil), // 54: DBPracticeRes
} }
var file_practice_practice_msg_proto_depIdxs = []int32{ var file_practice_practice_msg_proto_depIdxs = []int32{
46, // 0: PracticeInfoResp.info:type_name -> DBPracticeRoom 46, // 0: PracticeInfoResp.info:type_name -> DBPracticeRoom
@ -2442,20 +2454,21 @@ var file_practice_practice_msg_proto_depIdxs = []int32{
44, // 9: PracticeBeExpulsionPush.knapsack:type_name -> PracticeBeExpulsionPush.KnapsackEntry 44, // 9: PracticeBeExpulsionPush.knapsack:type_name -> PracticeBeExpulsionPush.KnapsackEntry
47, // 10: PracticeReceiveResp.pillar:type_name -> DBPracticePillar 47, // 10: PracticeReceiveResp.pillar:type_name -> DBPracticePillar
45, // 11: PracticeReceiveResp.knapsack:type_name -> PracticeReceiveResp.KnapsackEntry 45, // 11: PracticeReceiveResp.knapsack:type_name -> PracticeReceiveResp.KnapsackEntry
48, // 12: PracticeQiecuoResp.battle:type_name -> DBPvpBattle 48, // 12: PracticeGetGymBuffResp.award:type_name -> UserAssets
49, // 13: PracticeNPCBattkleReq.formation:type_name -> BattleFormation 49, // 13: PracticeQiecuoResp.battle:type_name -> DBPvpBattle
50, // 14: PracticeNPCBattkleResp.code:type_name -> ErrorCode 50, // 14: PracticeNPCBattkleReq.formation:type_name -> BattleFormation
51, // 15: PracticeNPCBattkleResp.info:type_name -> BattleInfo 51, // 15: PracticeNPCBattkleResp.code:type_name -> ErrorCode
52, // 16: PracticeNPCBattkleFinishReq.report:type_name -> BattleReport 52, // 16: PracticeNPCBattkleResp.info:type_name -> BattleInfo
46, // 17: PracticeFriendRommResp.InfosEntry.value:type_name -> DBPracticeRoom 53, // 17: PracticeNPCBattkleFinishReq.report:type_name -> BattleReport
53, // 18: PracticeExpulsionResp.KnapsackEntry.value:type_name -> DBPracticeRes 46, // 18: PracticeFriendRommResp.InfosEntry.value:type_name -> DBPracticeRoom
53, // 19: PracticeBeExpulsionPush.KnapsackEntry.value:type_name -> DBPracticeRes 54, // 19: PracticeExpulsionResp.KnapsackEntry.value:type_name -> DBPracticeRes
53, // 20: PracticeReceiveResp.KnapsackEntry.value:type_name -> DBPracticeRes 54, // 20: PracticeBeExpulsionPush.KnapsackEntry.value:type_name -> DBPracticeRes
21, // [21:21] is the sub-list for method output_type 54, // 21: PracticeReceiveResp.KnapsackEntry.value:type_name -> DBPracticeRes
21, // [21:21] is the sub-list for method input_type 22, // [22:22] is the sub-list for method output_type
21, // [21:21] is the sub-list for extension type_name 22, // [22:22] is the sub-list for method input_type
21, // [21:21] is the sub-list for extension extendee 22, // [22:22] is the sub-list for extension type_name
0, // [0:21] is the sub-list for field type_name 22, // [22:22] is the sub-list for extension extendee
0, // [0:22] is the sub-list for field type_name
} }
func init() { file_practice_practice_msg_proto_init() } func init() { file_practice_practice_msg_proto_init() }
@ -2467,6 +2480,7 @@ func file_practice_practice_msg_proto_init() {
file_practice_practice_db_proto_init() file_practice_practice_db_proto_init()
file_battle_battle_msg_proto_init() file_battle_battle_msg_proto_init()
file_pvp_pvp_db_proto_init() file_pvp_pvp_db_proto_init()
file_comm_proto_init()
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_practice_practice_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_practice_practice_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PracticeInfoReq); i { switch v := v.(*PracticeInfoReq); i {

View File

@ -66,7 +66,7 @@ type WTaskInfoResp struct {
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Activations []int32 `protobuf:"varint,1,rep,packed,name=activations,proto3" json:"activations"` //可接取任务列表 Activations []int32 `protobuf:"varint,1,rep,packed,name=activations,proto3" json:"activations"` //可接取任务列表
Accepttask []int32 `protobuf:"varint,2,rep,packed,name=accepttask,proto3" json:"accepttask"` //已接取任务列表 Accepts []int32 `protobuf:"varint,2,rep,packed,name=accepts,proto3" json:"accepts"` //已接取任务列表
Completes []int32 `protobuf:"varint,3,rep,packed,name=completes,proto3" json:"completes"` //完成任务列表 Completes []int32 `protobuf:"varint,3,rep,packed,name=completes,proto3" json:"completes"` //完成任务列表
} }
@ -109,9 +109,9 @@ func (x *WTaskInfoResp) GetActivations() []int32 {
return nil return nil
} }
func (x *WTaskInfoResp) GetAccepttask() []int32 { func (x *WTaskInfoResp) GetAccepts() []int32 {
if x != nil { if x != nil {
return x.Accepttask return x.Accepts
} }
return nil return nil
} }
@ -177,7 +177,8 @@ type WTaskAcceptResp struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Task *DBWTaskItem `protobuf:"bytes,1,opt,name=task,proto3" json:"task"` //接取任务数据 Activations []int32 `protobuf:"varint,1,rep,packed,name=activations,proto3" json:"activations"` //可接取任务列表
Accepts []int32 `protobuf:"varint,2,rep,packed,name=accepts,proto3" json:"accepts"` //已接取任务列表
} }
func (x *WTaskAcceptResp) Reset() { func (x *WTaskAcceptResp) Reset() {
@ -212,9 +213,16 @@ func (*WTaskAcceptResp) Descriptor() ([]byte, []int) {
return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{3} return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{3}
} }
func (x *WTaskAcceptResp) GetTask() *DBWTaskItem { func (x *WTaskAcceptResp) GetActivations() []int32 {
if x != nil { if x != nil {
return x.Task return x.Activations
}
return nil
}
func (x *WTaskAcceptResp) GetAccepts() []int32 {
if x != nil {
return x.Accepts
} }
return nil return nil
} }
@ -281,7 +289,8 @@ type WTaskBattleStartResp struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Info *BattleInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info"` //战斗信息 BattleConfId int32 `protobuf:"varint,1,opt,name=battleConfId,proto3" json:"battleConfId"` //战斗配表ID
Info *BattleInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info"` //战斗信息
} }
func (x *WTaskBattleStartResp) Reset() { func (x *WTaskBattleStartResp) Reset() {
@ -316,6 +325,13 @@ func (*WTaskBattleStartResp) Descriptor() ([]byte, []int) {
return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{5} return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{5}
} }
func (x *WTaskBattleStartResp) GetBattleConfId() int32 {
if x != nil {
return x.BattleConfId
}
return 0
}
func (x *WTaskBattleStartResp) GetInfo() *BattleInfo { func (x *WTaskBattleStartResp) GetInfo() *BattleInfo {
if x != nil { if x != nil {
return x.Info return x.Info
@ -384,6 +400,8 @@ type WTaskBattleFinishResp struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
BattleConfId int32 `protobuf:"varint,1,opt,name=battleConfId,proto3" json:"battleConfId"` //战斗配表ID
} }
func (x *WTaskBattleFinishResp) Reset() { func (x *WTaskBattleFinishResp) Reset() {
@ -418,6 +436,13 @@ func (*WTaskBattleFinishResp) Descriptor() ([]byte, []int) {
return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{7} return file_wtask_wtask_msg_proto_rawDescGZIP(), []int{7}
} }
func (x *WTaskBattleFinishResp) GetBattleConfId() int32 {
if x != nil {
return x.BattleConfId
}
return 0
}
// 完成任务 请求 // 完成任务 请求
type WTaskFinishReq struct { type WTaskFinishReq struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -627,53 +652,58 @@ var file_wtask_wtask_msg_proto_rawDesc = []byte{
0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x67,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x22, 0x0e, 0x0a, 0x0c, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x74, 0x6f, 0x22, 0x0e, 0x0a, 0x0c, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x65, 0x71, 0x22, 0x6f, 0x0a, 0x0d, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x22, 0x69, 0x0a, 0x0d, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x74, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73,
0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x12,
0x74, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x22, 0x22, 0x0a,
0x74, 0x65, 0x73, 0x22, 0x22, 0x0a, 0x0e, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x0e, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12,
0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69,
0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x0f, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x64, 0x22, 0x4d, 0x0a, 0x0f, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69,
0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76,
0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x63, 0x0a, 0x13, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74,
0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73,
0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x22, 0x63, 0x0a, 0x13, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53,
0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c,
0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x62,
0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x42, 0x61,
0x65, 0x22, 0x37, 0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x62,
0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x22, 0x5b, 0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61,
0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x61, 0x0a, 0x14, 0x57, 0x54, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20,
0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49,
0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x64, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x0b, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e,
0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x66, 0x6f, 0x22, 0x61, 0x0a, 0x14, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61,
0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x17, 0x0a, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x15, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x25,
0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x22, 0x0a, 0x0e, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x06, 0x72,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x0f, 0x57, 0x54, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3b, 0x0a, 0x15, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61,
0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22,
0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x01,
0x21, 0x0a, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66,
0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x0e, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x72, 0x64, 0x22, 0x3e, 0x0a, 0x1a, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x68, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x0f, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x46,
0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64,
0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x61,
0x6e, 0x73, 0x22, 0x3f, 0x0a, 0x15, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x55, 0x73, 0x65,
0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x07, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x05, 0x61, 0x77, 0x61, 0x72, 0x64, 0x22, 0x3e,
0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x0a, 0x1a, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f,
0x42, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x65, 0x6e, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b,
0x70, 0x74, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x74, 0x6f, 0x33, 0x05, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3f,
0x0a, 0x15, 0x57, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70,
0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61,
0x73, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x42,
0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -702,24 +732,23 @@ var file_wtask_wtask_msg_proto_goTypes = []interface{}{
(*WTaskFinishResp)(nil), // 9: WTaskFinishResp (*WTaskFinishResp)(nil), // 9: WTaskFinishResp
(*WTaskActivationsChangePush)(nil), // 10: WTaskActivationsChangePush (*WTaskActivationsChangePush)(nil), // 10: WTaskActivationsChangePush
(*WTaskAcceptChangePush)(nil), // 11: WTaskAcceptChangePush (*WTaskAcceptChangePush)(nil), // 11: WTaskAcceptChangePush
(*DBWTaskItem)(nil), // 12: DBWTaskItem (*BattleFormation)(nil), // 12: BattleFormation
(*BattleFormation)(nil), // 13: BattleFormation (*BattleInfo)(nil), // 13: BattleInfo
(*BattleInfo)(nil), // 14: BattleInfo (*BattleReport)(nil), // 14: BattleReport
(*BattleReport)(nil), // 15: BattleReport (*UserAssets)(nil), // 15: UserAssets
(*UserAssets)(nil), // 16: UserAssets (*DBWTaskItem)(nil), // 16: DBWTaskItem
} }
var file_wtask_wtask_msg_proto_depIdxs = []int32{ var file_wtask_wtask_msg_proto_depIdxs = []int32{
12, // 0: WTaskAcceptResp.task:type_name -> DBWTaskItem 12, // 0: WTaskBattleStartReq.battle:type_name -> BattleFormation
13, // 1: WTaskBattleStartReq.battle:type_name -> BattleFormation 13, // 1: WTaskBattleStartResp.info:type_name -> BattleInfo
14, // 2: WTaskBattleStartResp.info:type_name -> BattleInfo 14, // 2: WTaskBattleFinishReq.report:type_name -> BattleReport
15, // 3: WTaskBattleFinishReq.report:type_name -> BattleReport 15, // 3: WTaskFinishResp.award:type_name -> UserAssets
16, // 4: WTaskFinishResp.award:type_name -> UserAssets 16, // 4: WTaskAcceptChangePush.accepts:type_name -> DBWTaskItem
12, // 5: WTaskAcceptChangePush.accepts:type_name -> DBWTaskItem 5, // [5:5] is the sub-list for method output_type
6, // [6:6] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type
6, // [6:6] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension type_name 5, // [5:5] is the sub-list for extension extendee
6, // [6:6] is the sub-list for extension extendee 0, // [0:5] is the sub-list for field type_name
0, // [0:6] is the sub-list for field type_name
} }
func init() { file_wtask_wtask_msg_proto_init() } func init() { file_wtask_wtask_msg_proto_init() }

View File

@ -11,4 +11,5 @@ package cfg
const ( const (
GameDispatchCondType_Lv = 1 GameDispatchCondType_Lv = 1
GameDispatchCondType_Star = 2 GameDispatchCondType_Star = 2
GameDispatchCondType_Race = 3
) )