// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1-devel // protoc v3.19.4 // source: protocol/welfare/welfare.proto package welfare import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) //操作结果 type OpResultCode int32 const ( OpResultCode_OPRC_Sucess OpResultCode = 0 //成功 OpResultCode_OPRC_Error OpResultCode = 1 //失败 OpResultCode_OPRC_NoTimes OpResultCode = 2 //没有领取次数 OpResultCode_OPRC_CoinTooMore OpResultCode = 3 // 金币过多不符合领取 OpResultCode_OPRC_ErrCoin OpResultCode = 4 // 钻石不足 OpResultCode_OPRC_AlreadyBind OpResultCode = 5 // 已经绑定过邀请人 OpResultCode_OPRC_BindSelf OpResultCode = 6 // 邀请人不能是自己 OpResultCode_OPRC_MyInvite OpResultCode = 7 // 邀请人不能是我邀请的人 OpResultCode_OPRC_NotExist OpResultCode = 8 // 邀请人不存在 OpResultCode_OPRC_DiamondLess OpResultCode = 9 // 钻石不足 OpResultCode_OPRC_PigbankNotFull OpResultCode = 10 // 存钱罐未满 OpResultCode_OPRC_PigbankOverTakeTimes OpResultCode = 11 // 存钱罐超过每日领取次数 OpResultCode_OPRC_ExchangeLimit OpResultCode = 12 // 兑换次数不足 OpResultCode_OPRC_ExchangeLevelLimit OpResultCode = 13 // 兑换等级不足 OpResultCode_OPRC_NeedPermit OpResultCode = 14 // 需要典藏通行证 OpResultCode_OPRC_ErrCost OpResultCode = 15 // 消耗道具不足 OpResultCode_OPRC_NotFound OpResultCode = 16 // 商品没找到 ) // Enum value maps for OpResultCode. var ( OpResultCode_name = map[int32]string{ 0: "OPRC_Sucess", 1: "OPRC_Error", 2: "OPRC_NoTimes", 3: "OPRC_CoinTooMore", 4: "OPRC_ErrCoin", 5: "OPRC_AlreadyBind", 6: "OPRC_BindSelf", 7: "OPRC_MyInvite", 8: "OPRC_NotExist", 9: "OPRC_DiamondLess", 10: "OPRC_PigbankNotFull", 11: "OPRC_PigbankOverTakeTimes", 12: "OPRC_ExchangeLimit", 13: "OPRC_ExchangeLevelLimit", 14: "OPRC_NeedPermit", 15: "OPRC_ErrCost", 16: "OPRC_NotFound", } OpResultCode_value = map[string]int32{ "OPRC_Sucess": 0, "OPRC_Error": 1, "OPRC_NoTimes": 2, "OPRC_CoinTooMore": 3, "OPRC_ErrCoin": 4, "OPRC_AlreadyBind": 5, "OPRC_BindSelf": 6, "OPRC_MyInvite": 7, "OPRC_NotExist": 8, "OPRC_DiamondLess": 9, "OPRC_PigbankNotFull": 10, "OPRC_PigbankOverTakeTimes": 11, "OPRC_ExchangeLimit": 12, "OPRC_ExchangeLevelLimit": 13, "OPRC_NeedPermit": 14, "OPRC_ErrCost": 15, "OPRC_NotFound": 16, } ) func (x OpResultCode) Enum() *OpResultCode { p := new(OpResultCode) *p = x return p } func (x OpResultCode) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (OpResultCode) Descriptor() protoreflect.EnumDescriptor { return file_protocol_welfare_welfare_proto_enumTypes[0].Descriptor() } func (OpResultCode) Type() protoreflect.EnumType { return &file_protocol_welfare_welfare_proto_enumTypes[0] } func (x OpResultCode) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use OpResultCode.Descriptor instead. func (OpResultCode) EnumDescriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{0} } // 福利大厅 type SPacketID int32 const ( SPacketID_PACKET_SHOP_ZERO SPacketID = 0 // 弃用消息号 SPacketID_PACKET_CS_WELF_GETRELIEFFUND SPacketID = 2580 //领取救济金 SPacketID_PACKET_SC_WELF_GETRELIEFFUND SPacketID = 2581 //领取救济金 SPacketID_PACKET_CS_WELF_GETTURNPLATE SPacketID = 2582 //转动转盘 SPacketID_PACKET_SC_WELF_GETTURNPLATE SPacketID = 2583 //转动转盘 SPacketID_PACKET_CS_WELF_GETADDUPSIGN SPacketID = 2584 //累计签到 SPacketID_PACKET_SC_WELF_GETADDUPSIGN SPacketID = 2585 //累计签到 SPacketID_PACKET_CS_WELF_WELFAREINFO SPacketID = 2586 //福利信息 SPacketID_PACKET_SC_WELF_WELFAREINFO SPacketID = 2587 //福利信息 SPacketID_PACKET_CS_WELF_BLINBOXINFO SPacketID = 2588 //转动盲盒 SPacketID_PACKET_SC_WELF_BLINBOXINFO SPacketID = 2589 //转动盲盒 SPacketID_PACKET_CS_WELF_GETBLINBOX SPacketID = 2590 //领取盲盒 SPacketID_PACKET_SC_WELF_GETBLINBOX SPacketID = 2591 //领取盲盒 SPacketID_PACKET_CS_WELF_FIRSTPAYINFO SPacketID = 2592 //首充礼包信息 SPacketID_PACKET_SC_WELF_FIRSTPAYINFO SPacketID = 2593 //首充礼包信息 SPacketID_PACKET_CS_WELF_FIRSTPAY SPacketID = 2594 //领取(购买)首充 后期走充值回调 SPacketID_PACKET_SC_WELF_FIRSTPAY SPacketID = 2595 //领取首充 SPacketID_PACKET_CS_WELF_CONTINPAYINFO SPacketID = 2596 //连续充值信息 SPacketID_PACKET_SC_WELF_CONTINPAYINFO SPacketID = 2597 //连续充值信息 SPacketID_PACKET_CS_WELF_CONTINPAY SPacketID = 2598 //领取(购买)连续充值 后期走充值回调 SPacketID_PACKET_SC_WELF_CONTINPAY SPacketID = 2599 //领取连续充值 SPacketID_PACKET_CS_SignDay_Addup2Award SPacketID = 2600 //领取七日签到进阶奖励 SPacketID_PACKET_SC_SignDay_Addup2Award SPacketID = 2601 //返回七日签到进阶奖励 // 2900~2999 SPacketID_PACKET_CSWelfRelief SPacketID = 2900 //救济金信息 SPacketID_PACKET_SCWelfRelief SPacketID = 2901 //救济金信息 // 邀请活动 SPacketID_PACKET_CSInviteInfo SPacketID = 2902 //邀请信息 SPacketID_PACKET_SCInviteInfo SPacketID = 2903 //邀请信息 SPacketID_PACKET_CSBindInvite SPacketID = 2904 //绑定邀请人 SPacketID_PACKET_SCBindInvite SPacketID = 2905 //绑定邀请人 SPacketID_PACKET_CSPigbankGetInfo SPacketID = 2910 // 存钱罐信息获取 SPacketID_PACKET_SCPigbankGetInfo SPacketID = 2911 // 存钱罐信息获取 SPacketID_PACKET_CSPigbankTakeCoin SPacketID = 2912 // 存钱罐领取金币 SPacketID_PACKET_SCPigbankTakeCoin SPacketID = 2913 // 存钱罐领取金币 SPacketID_PACKET_CSDiamondBankGetInfo SPacketID = 2914 //钻石存钱罐信息获取 SPacketID_PACKET_SCDiamondBankGetInfo SPacketID = 2915 //钻石存钱罐信息返回 SPacketID_PACKET_SCDiamondBankTakeDiamond SPacketID = 2916 //钻石存钱罐领取返回 SPacketID_PACKET_CSPermitInfo SPacketID = 2917 // 通行证奖励 SPacketID_PACKET_SCPermitInfo SPacketID = 2918 // 通行证奖励 SPacketID_PACKET_CSPermitExchangeList SPacketID = 2919 // 通行证兑换列表 SPacketID_PACKET_SCPermitExchangeList SPacketID = 2920 // 通行证兑换列表 SPacketID_PACKET_CSPermitAward SPacketID = 2921 // 领取通行证奖励 SPacketID_PACKET_SCPermitAward SPacketID = 2922 // 领取通行证奖励 SPacketID_PACKET_CSPermitExchange SPacketID = 2923 // 通行证兑换 SPacketID_PACKET_SCPermitExchange SPacketID = 2924 // 通行证兑换 SPacketID_PACKET_CSPermitShop SPacketID = 2925 // 典藏通行证商品信息 SPacketID_PACKET_SCPermitShop SPacketID = 2956 // 典藏通行证商品信息 SPacketID_PACKET_CSLotteryInfo SPacketID = 2926 // 抽奖信息 SPacketID_PACKET_SCLotteryInfo SPacketID = 2927 // 抽奖信息 SPacketID_PACKET_NotifyLotteryAward SPacketID = 2928 // 通知抽奖中奖 SPacketID_PACKET_NotifyLotteryCode SPacketID = 2929 // 通知获得抽奖号码 ) // Enum value maps for SPacketID. var ( SPacketID_name = map[int32]string{ 0: "PACKET_SHOP_ZERO", 2580: "PACKET_CS_WELF_GETRELIEFFUND", 2581: "PACKET_SC_WELF_GETRELIEFFUND", 2582: "PACKET_CS_WELF_GETTURNPLATE", 2583: "PACKET_SC_WELF_GETTURNPLATE", 2584: "PACKET_CS_WELF_GETADDUPSIGN", 2585: "PACKET_SC_WELF_GETADDUPSIGN", 2586: "PACKET_CS_WELF_WELFAREINFO", 2587: "PACKET_SC_WELF_WELFAREINFO", 2588: "PACKET_CS_WELF_BLINBOXINFO", 2589: "PACKET_SC_WELF_BLINBOXINFO", 2590: "PACKET_CS_WELF_GETBLINBOX", 2591: "PACKET_SC_WELF_GETBLINBOX", 2592: "PACKET_CS_WELF_FIRSTPAYINFO", 2593: "PACKET_SC_WELF_FIRSTPAYINFO", 2594: "PACKET_CS_WELF_FIRSTPAY", 2595: "PACKET_SC_WELF_FIRSTPAY", 2596: "PACKET_CS_WELF_CONTINPAYINFO", 2597: "PACKET_SC_WELF_CONTINPAYINFO", 2598: "PACKET_CS_WELF_CONTINPAY", 2599: "PACKET_SC_WELF_CONTINPAY", 2600: "PACKET_CS_SignDay_Addup2Award", 2601: "PACKET_SC_SignDay_Addup2Award", 2900: "PACKET_CSWelfRelief", 2901: "PACKET_SCWelfRelief", 2902: "PACKET_CSInviteInfo", 2903: "PACKET_SCInviteInfo", 2904: "PACKET_CSBindInvite", 2905: "PACKET_SCBindInvite", 2910: "PACKET_CSPigbankGetInfo", 2911: "PACKET_SCPigbankGetInfo", 2912: "PACKET_CSPigbankTakeCoin", 2913: "PACKET_SCPigbankTakeCoin", 2914: "PACKET_CSDiamondBankGetInfo", 2915: "PACKET_SCDiamondBankGetInfo", 2916: "PACKET_SCDiamondBankTakeDiamond", 2917: "PACKET_CSPermitInfo", 2918: "PACKET_SCPermitInfo", 2919: "PACKET_CSPermitExchangeList", 2920: "PACKET_SCPermitExchangeList", 2921: "PACKET_CSPermitAward", 2922: "PACKET_SCPermitAward", 2923: "PACKET_CSPermitExchange", 2924: "PACKET_SCPermitExchange", 2925: "PACKET_CSPermitShop", 2956: "PACKET_SCPermitShop", 2926: "PACKET_CSLotteryInfo", 2927: "PACKET_SCLotteryInfo", 2928: "PACKET_NotifyLotteryAward", 2929: "PACKET_NotifyLotteryCode", } SPacketID_value = map[string]int32{ "PACKET_SHOP_ZERO": 0, "PACKET_CS_WELF_GETRELIEFFUND": 2580, "PACKET_SC_WELF_GETRELIEFFUND": 2581, "PACKET_CS_WELF_GETTURNPLATE": 2582, "PACKET_SC_WELF_GETTURNPLATE": 2583, "PACKET_CS_WELF_GETADDUPSIGN": 2584, "PACKET_SC_WELF_GETADDUPSIGN": 2585, "PACKET_CS_WELF_WELFAREINFO": 2586, "PACKET_SC_WELF_WELFAREINFO": 2587, "PACKET_CS_WELF_BLINBOXINFO": 2588, "PACKET_SC_WELF_BLINBOXINFO": 2589, "PACKET_CS_WELF_GETBLINBOX": 2590, "PACKET_SC_WELF_GETBLINBOX": 2591, "PACKET_CS_WELF_FIRSTPAYINFO": 2592, "PACKET_SC_WELF_FIRSTPAYINFO": 2593, "PACKET_CS_WELF_FIRSTPAY": 2594, "PACKET_SC_WELF_FIRSTPAY": 2595, "PACKET_CS_WELF_CONTINPAYINFO": 2596, "PACKET_SC_WELF_CONTINPAYINFO": 2597, "PACKET_CS_WELF_CONTINPAY": 2598, "PACKET_SC_WELF_CONTINPAY": 2599, "PACKET_CS_SignDay_Addup2Award": 2600, "PACKET_SC_SignDay_Addup2Award": 2601, "PACKET_CSWelfRelief": 2900, "PACKET_SCWelfRelief": 2901, "PACKET_CSInviteInfo": 2902, "PACKET_SCInviteInfo": 2903, "PACKET_CSBindInvite": 2904, "PACKET_SCBindInvite": 2905, "PACKET_CSPigbankGetInfo": 2910, "PACKET_SCPigbankGetInfo": 2911, "PACKET_CSPigbankTakeCoin": 2912, "PACKET_SCPigbankTakeCoin": 2913, "PACKET_CSDiamondBankGetInfo": 2914, "PACKET_SCDiamondBankGetInfo": 2915, "PACKET_SCDiamondBankTakeDiamond": 2916, "PACKET_CSPermitInfo": 2917, "PACKET_SCPermitInfo": 2918, "PACKET_CSPermitExchangeList": 2919, "PACKET_SCPermitExchangeList": 2920, "PACKET_CSPermitAward": 2921, "PACKET_SCPermitAward": 2922, "PACKET_CSPermitExchange": 2923, "PACKET_SCPermitExchange": 2924, "PACKET_CSPermitShop": 2925, "PACKET_SCPermitShop": 2956, "PACKET_CSLotteryInfo": 2926, "PACKET_SCLotteryInfo": 2927, "PACKET_NotifyLotteryAward": 2928, "PACKET_NotifyLotteryCode": 2929, } ) func (x SPacketID) Enum() *SPacketID { p := new(SPacketID) *p = x return p } func (x SPacketID) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SPacketID) Descriptor() protoreflect.EnumDescriptor { return file_protocol_welfare_welfare_proto_enumTypes[1].Descriptor() } func (SPacketID) Type() protoreflect.EnumType { return &file_protocol_welfare_welfare_proto_enumTypes[1] } func (x SPacketID) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SPacketID.Descriptor instead. func (SPacketID) EnumDescriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{1} } //救济金领取 //PACKET_CS_WELF_GETRELIEFFUND type CSGetReliefFund struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsVideo bool `protobuf:"varint,1,opt,name=IsVideo,proto3" json:"IsVideo,omitempty"` //看视频双倍领取 } func (x *CSGetReliefFund) Reset() { *x = CSGetReliefFund{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSGetReliefFund) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSGetReliefFund) ProtoMessage() {} func (x *CSGetReliefFund) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSGetReliefFund.ProtoReflect.Descriptor instead. func (*CSGetReliefFund) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{0} } func (x *CSGetReliefFund) GetIsVideo() bool { if x != nil { return x.IsVideo } return false } //PACKET_SC_WELF_GETRELIEFFUND type SCGetReliefFund struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 Times int32 `protobuf:"varint,2,opt,name=Times,proto3" json:"Times,omitempty"` //当前领取救济金的次数 Coin int64 `protobuf:"varint,3,opt,name=Coin,proto3" json:"Coin,omitempty"` //本次领取救济金金额 } func (x *SCGetReliefFund) Reset() { *x = SCGetReliefFund{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCGetReliefFund) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCGetReliefFund) ProtoMessage() {} func (x *SCGetReliefFund) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCGetReliefFund.ProtoReflect.Descriptor instead. func (*SCGetReliefFund) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{1} } func (x *SCGetReliefFund) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCGetReliefFund) GetTimes() int32 { if x != nil { return x.Times } return 0 } func (x *SCGetReliefFund) GetCoin() int64 { if x != nil { return x.Coin } return 0 } type WelfareDate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Grade int32 `protobuf:"varint,1,opt,name=Grade,proto3" json:"Grade,omitempty"` // 数量 Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` // 类型1.金币 2.钻石 3.道具 Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 名称 Item_Id int32 `protobuf:"varint,4,opt,name=Item_Id,json=ItemId,proto3" json:"Item_Id,omitempty"` // 道具id } func (x *WelfareDate) Reset() { *x = WelfareDate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WelfareDate) String() string { return protoimpl.X.MessageStringOf(x) } func (*WelfareDate) ProtoMessage() {} func (x *WelfareDate) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WelfareDate.ProtoReflect.Descriptor instead. func (*WelfareDate) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{2} } func (x *WelfareDate) GetGrade() int32 { if x != nil { return x.Grade } return 0 } func (x *WelfareDate) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *WelfareDate) GetName() string { if x != nil { return x.Name } return "" } func (x *WelfareDate) GetItem_Id() int32 { if x != nil { return x.Item_Id } return 0 } type AddUp2TypeDate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"` Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 1,代表观看视频 2,代表钻石类型 Num int32 `protobuf:"varint,3,opt,name=Num,proto3" json:"Num,omitempty"` //完成次数 } func (x *AddUp2TypeDate) Reset() { *x = AddUp2TypeDate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddUp2TypeDate) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddUp2TypeDate) ProtoMessage() {} func (x *AddUp2TypeDate) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AddUp2TypeDate.ProtoReflect.Descriptor instead. func (*AddUp2TypeDate) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{3} } func (x *AddUp2TypeDate) GetDay() int32 { if x != nil { return x.Day } return 0 } func (x *AddUp2TypeDate) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *AddUp2TypeDate) GetNum() int32 { if x != nil { return x.Num } return 0 } //转动转盘 //PACKET_CS_WELF_GETTURNPLATE type CSGetTurnplate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsVideo bool `protobuf:"varint,1,opt,name=IsVideo,proto3" json:"IsVideo,omitempty"` //看视频双倍领取 } func (x *CSGetTurnplate) Reset() { *x = CSGetTurnplate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSGetTurnplate) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSGetTurnplate) ProtoMessage() {} func (x *CSGetTurnplate) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSGetTurnplate.ProtoReflect.Descriptor instead. func (*CSGetTurnplate) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{4} } func (x *CSGetTurnplate) GetIsVideo() bool { if x != nil { return x.IsVideo } return false } //PACKET_SC_WELF_GETTURNPLATE type SCGetTurnplate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 Date []*WelfareDate `protobuf:"bytes,2,rep,name=Date,proto3" json:"Date,omitempty"` // 奖励 Idx int32 `protobuf:"varint,3,opt,name=Idx,proto3" json:"Idx,omitempty"` // 轮盘获奖下标 SignDay int32 `protobuf:"varint,4,opt,name=SignDay,proto3" json:"SignDay,omitempty"` // 已签到天数 IsVideo bool `protobuf:"varint,5,opt,name=IsVideo,proto3" json:"IsVideo,omitempty"` //看视频双倍领取 } func (x *SCGetTurnplate) Reset() { *x = SCGetTurnplate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCGetTurnplate) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCGetTurnplate) ProtoMessage() {} func (x *SCGetTurnplate) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCGetTurnplate.ProtoReflect.Descriptor instead. func (*SCGetTurnplate) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{5} } func (x *SCGetTurnplate) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCGetTurnplate) GetDate() []*WelfareDate { if x != nil { return x.Date } return nil } func (x *SCGetTurnplate) GetIdx() int32 { if x != nil { return x.Idx } return 0 } func (x *SCGetTurnplate) GetSignDay() int32 { if x != nil { return x.SignDay } return 0 } func (x *SCGetTurnplate) GetIsVideo() bool { if x != nil { return x.IsVideo } return false } type AddUpWelfareDate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AddUpDay int32 `protobuf:"varint,1,opt,name=AddUpDay,proto3" json:"AddUpDay,omitempty"` // 累计几天 AddUpDate []*WelfareDate `protobuf:"bytes,2,rep,name=AddUpDate,proto3" json:"AddUpDate,omitempty"` // 累计奖励 AddUp2Date []*WelfareDate `protobuf:"bytes,3,rep,name=AddUp2Date,proto3" json:"AddUp2Date,omitempty"` //进阶奖励 AddUp2Type []*AddUp2TypeDate `protobuf:"bytes,4,rep,name=AddUp2Type,proto3" json:"AddUp2Type,omitempty"` //进阶奖励领取条件 } func (x *AddUpWelfareDate) Reset() { *x = AddUpWelfareDate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddUpWelfareDate) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddUpWelfareDate) ProtoMessage() {} func (x *AddUpWelfareDate) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AddUpWelfareDate.ProtoReflect.Descriptor instead. func (*AddUpWelfareDate) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{6} } func (x *AddUpWelfareDate) GetAddUpDay() int32 { if x != nil { return x.AddUpDay } return 0 } func (x *AddUpWelfareDate) GetAddUpDate() []*WelfareDate { if x != nil { return x.AddUpDate } return nil } func (x *AddUpWelfareDate) GetAddUp2Date() []*WelfareDate { if x != nil { return x.AddUp2Date } return nil } func (x *AddUpWelfareDate) GetAddUp2Type() []*AddUp2TypeDate { if x != nil { return x.AddUp2Type } return nil } //累计签到 //PACKET_CS_WELF_GETADDUPSIGN type CSGetAddupSign struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AddUpDay int32 `protobuf:"varint,1,opt,name=AddUpDay,proto3" json:"AddUpDay,omitempty"` // 领取累计奖励 } func (x *CSGetAddupSign) Reset() { *x = CSGetAddupSign{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSGetAddupSign) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSGetAddupSign) ProtoMessage() {} func (x *CSGetAddupSign) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSGetAddupSign.ProtoReflect.Descriptor instead. func (*CSGetAddupSign) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{7} } func (x *CSGetAddupSign) GetAddUpDay() int32 { if x != nil { return x.AddUpDay } return 0 } //PACKET_SC_WELF_GETADDUPSIGN type SCGetAddupSign struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 Date []*AddUpWelfareDate `protobuf:"bytes,2,rep,name=Date,proto3" json:"Date,omitempty"` // 奖励 AddUpSignDay []int32 `protobuf:"varint,3,rep,packed,name=AddUpSignDay,proto3" json:"AddUpSignDay,omitempty"` // 已领取累计奖励天数 } func (x *SCGetAddupSign) Reset() { *x = SCGetAddupSign{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCGetAddupSign) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCGetAddupSign) ProtoMessage() {} func (x *SCGetAddupSign) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCGetAddupSign.ProtoReflect.Descriptor instead. func (*SCGetAddupSign) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{8} } func (x *SCGetAddupSign) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCGetAddupSign) GetDate() []*AddUpWelfareDate { if x != nil { return x.Date } return nil } func (x *SCGetAddupSign) GetAddUpSignDay() []int32 { if x != nil { return x.AddUpSignDay } return nil } //福利信息 //PACKET_CS_WELF_WELFAREINFO type CSWelfaredInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSWelfaredInfo) Reset() { *x = CSWelfaredInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSWelfaredInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSWelfaredInfo) ProtoMessage() {} func (x *CSWelfaredInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSWelfaredInfo.ProtoReflect.Descriptor instead. func (*CSWelfaredInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{9} } type WelfareTurnplateDate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号 Date []*WelfareDate `protobuf:"bytes,2,rep,name=Date,proto3" json:"Date,omitempty"` // 奖励 } func (x *WelfareTurnplateDate) Reset() { *x = WelfareTurnplateDate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WelfareTurnplateDate) String() string { return protoimpl.X.MessageStringOf(x) } func (*WelfareTurnplateDate) ProtoMessage() {} func (x *WelfareTurnplateDate) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WelfareTurnplateDate.ProtoReflect.Descriptor instead. func (*WelfareTurnplateDate) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{10} } func (x *WelfareTurnplateDate) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *WelfareTurnplateDate) GetDate() []*WelfareDate { if x != nil { return x.Date } return nil } type Welfare7SignDate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"` // 第几天 Date []*WelfareDate `protobuf:"bytes,2,rep,name=Date,proto3" json:"Date,omitempty"` // 奖励 AddUpDate []*AddUpWelfareDate `protobuf:"bytes,3,rep,name=AddUpDate,proto3" json:"AddUpDate,omitempty"` // 累计奖励 } func (x *Welfare7SignDate) Reset() { *x = Welfare7SignDate{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Welfare7SignDate) String() string { return protoimpl.X.MessageStringOf(x) } func (*Welfare7SignDate) ProtoMessage() {} func (x *Welfare7SignDate) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Welfare7SignDate.ProtoReflect.Descriptor instead. func (*Welfare7SignDate) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{11} } func (x *Welfare7SignDate) GetDay() int32 { if x != nil { return x.Day } return 0 } func (x *Welfare7SignDate) GetDate() []*WelfareDate { if x != nil { return x.Date } return nil } func (x *Welfare7SignDate) GetAddUpDate() []*AddUpWelfareDate { if x != nil { return x.AddUpDate } return nil } type Addup2Data struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"` //天数 Num int32 `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"` //任务次数 EndTime int64 `protobuf:"varint,3,opt,name=EndTime,proto3" json:"EndTime,omitempty"` //结束时间戳 -1代表已领取 } func (x *Addup2Data) Reset() { *x = Addup2Data{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Addup2Data) String() string { return protoimpl.X.MessageStringOf(x) } func (*Addup2Data) ProtoMessage() {} func (x *Addup2Data) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Addup2Data.ProtoReflect.Descriptor instead. func (*Addup2Data) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{12} } func (x *Addup2Data) GetDay() int32 { if x != nil { return x.Day } return 0 } func (x *Addup2Data) GetNum() int32 { if x != nil { return x.Num } return 0 } func (x *Addup2Data) GetEndTime() int64 { if x != nil { return x.EndTime } return 0 } //PACKET_SC_WELF_WELFAREINFO type SCWelfaredInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tlist []*WelfareTurnplateDate `protobuf:"bytes,1,rep,name=Tlist,proto3" json:"Tlist,omitempty"` // 转盘奖励 Slist []*Welfare7SignDate `protobuf:"bytes,2,rep,name=Slist,proto3" json:"Slist,omitempty"` // 七日签到 DrawTurnplate int32 `protobuf:"varint,3,opt,name=DrawTurnplate,proto3" json:"DrawTurnplate,omitempty"` // 1领取转盘 2未领取 SignDay int32 `protobuf:"varint,4,opt,name=SignDay,proto3" json:"SignDay,omitempty"` // 已签到天数 AddUpSignDay []int32 `protobuf:"varint,5,rep,packed,name=AddUpSignDay,proto3" json:"AddUpSignDay,omitempty"` // 已领取累计奖励天数 TurnplateIdx []int32 `protobuf:"varint,6,rep,packed,name=TurnplateIdx,proto3" json:"TurnplateIdx,omitempty"` // 已领取转盘奖励下标0开始 Switch int32 `protobuf:"varint,7,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭 Addup2 []*Addup2Data `protobuf:"bytes,8,rep,name=Addup2,proto3" json:"Addup2,omitempty"` //七日签到进阶奖励数据 } func (x *SCWelfaredInfo) Reset() { *x = SCWelfaredInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCWelfaredInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCWelfaredInfo) ProtoMessage() {} func (x *SCWelfaredInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCWelfaredInfo.ProtoReflect.Descriptor instead. func (*SCWelfaredInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{13} } func (x *SCWelfaredInfo) GetTlist() []*WelfareTurnplateDate { if x != nil { return x.Tlist } return nil } func (x *SCWelfaredInfo) GetSlist() []*Welfare7SignDate { if x != nil { return x.Slist } return nil } func (x *SCWelfaredInfo) GetDrawTurnplate() int32 { if x != nil { return x.DrawTurnplate } return 0 } func (x *SCWelfaredInfo) GetSignDay() int32 { if x != nil { return x.SignDay } return 0 } func (x *SCWelfaredInfo) GetAddUpSignDay() []int32 { if x != nil { return x.AddUpSignDay } return nil } func (x *SCWelfaredInfo) GetTurnplateIdx() []int32 { if x != nil { return x.TurnplateIdx } return nil } func (x *SCWelfaredInfo) GetSwitch() int32 { if x != nil { return x.Switch } return 0 } func (x *SCWelfaredInfo) GetAddup2() []*Addup2Data { if x != nil { return x.Addup2 } return nil } //领取7日签到累计进阶奖励 //PACKET_CS_SignDay_Addup2Award type CSSignDayAddup2Award struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"` } func (x *CSSignDayAddup2Award) Reset() { *x = CSSignDayAddup2Award{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSSignDayAddup2Award) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSSignDayAddup2Award) ProtoMessage() {} func (x *CSSignDayAddup2Award) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSSignDayAddup2Award.ProtoReflect.Descriptor instead. func (*CSSignDayAddup2Award) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{14} } func (x *CSSignDayAddup2Award) GetDay() int32 { if x != nil { return x.Day } return 0 } //PACKET_SC_SignDay_Addup2Award type SCSignDayAddup2Award struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"` //天数 Num int32 `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"` //任务次数 EndTime int64 `protobuf:"varint,3,opt,name=EndTime,proto3" json:"EndTime,omitempty"` //结束时间戳 -1代表已领取 } func (x *SCSignDayAddup2Award) Reset() { *x = SCSignDayAddup2Award{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCSignDayAddup2Award) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCSignDayAddup2Award) ProtoMessage() {} func (x *SCSignDayAddup2Award) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCSignDayAddup2Award.ProtoReflect.Descriptor instead. func (*SCSignDayAddup2Award) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{15} } func (x *SCSignDayAddup2Award) GetDay() int32 { if x != nil { return x.Day } return 0 } func (x *SCSignDayAddup2Award) GetNum() int32 { if x != nil { return x.Num } return 0 } func (x *SCSignDayAddup2Award) GetEndTime() int64 { if x != nil { return x.EndTime } return 0 } type BlindBoxData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号 Type int32 `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"` // 类型1.金币 2.钻石 Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` // 名称 Grade int32 `protobuf:"varint,4,opt,name=Grade,proto3" json:"Grade,omitempty"` // 数量 Consume int32 `protobuf:"varint,5,opt,name=Consume,proto3" json:"Consume,omitempty"` // 购买消耗类型 Price1 int64 `protobuf:"varint,6,opt,name=price1,proto3" json:"price1,omitempty"` // 原价 Price2 int64 `protobuf:"varint,7,opt,name=price2,proto3" json:"price2,omitempty"` // 现价 Discount float64 `protobuf:"fixed64,8,opt,name=Discount,proto3" json:"Discount,omitempty"` // 折扣 Item_Id int32 `protobuf:"varint,9,opt,name=Item_Id,json=ItemId,proto3" json:"Item_Id,omitempty"` // 道具id } func (x *BlindBoxData) Reset() { *x = BlindBoxData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BlindBoxData) String() string { return protoimpl.X.MessageStringOf(x) } func (*BlindBoxData) ProtoMessage() {} func (x *BlindBoxData) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BlindBoxData.ProtoReflect.Descriptor instead. func (*BlindBoxData) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{16} } func (x *BlindBoxData) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *BlindBoxData) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *BlindBoxData) GetName() string { if x != nil { return x.Name } return "" } func (x *BlindBoxData) GetGrade() int32 { if x != nil { return x.Grade } return 0 } func (x *BlindBoxData) GetConsume() int32 { if x != nil { return x.Consume } return 0 } func (x *BlindBoxData) GetPrice1() int64 { if x != nil { return x.Price1 } return 0 } func (x *BlindBoxData) GetPrice2() int64 { if x != nil { return x.Price2 } return 0 } func (x *BlindBoxData) GetDiscount() float64 { if x != nil { return x.Discount } return 0 } func (x *BlindBoxData) GetItem_Id() int32 { if x != nil { return x.Item_Id } return 0 } //查看盲盒 //PACKET_CS_WELF_BLINBOXINFO type CSBlindBoxInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号 上次随机到的盲盒id 没有发-1 } func (x *CSBlindBoxInfo) Reset() { *x = CSBlindBoxInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSBlindBoxInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSBlindBoxInfo) ProtoMessage() {} func (x *CSBlindBoxInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSBlindBoxInfo.ProtoReflect.Descriptor instead. func (*CSBlindBoxInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{17} } func (x *CSBlindBoxInfo) GetId() int32 { if x != nil { return x.Id } return 0 } //PACKET_SC_WELF_BLINBOXINFO type SCBlindBoxInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` // 结果 Date *BlindBoxData `protobuf:"bytes,2,opt,name=Date,proto3" json:"Date,omitempty"` // 盲盒 MinId int32 `protobuf:"varint,3,opt,name=MinId,proto3" json:"MinId,omitempty"` // 最低序号 Draw int32 `protobuf:"varint,4,opt,name=Draw,proto3" json:"Draw,omitempty"` // 1领取 2未领取 Cycle int32 `protobuf:"varint,5,opt,name=Cycle,proto3" json:"Cycle,omitempty"` // 循环 1.开启 2.关闭 } func (x *SCBlindBoxInfo) Reset() { *x = SCBlindBoxInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBlindBoxInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBlindBoxInfo) ProtoMessage() {} func (x *SCBlindBoxInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCBlindBoxInfo.ProtoReflect.Descriptor instead. func (*SCBlindBoxInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{18} } func (x *SCBlindBoxInfo) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCBlindBoxInfo) GetDate() *BlindBoxData { if x != nil { return x.Date } return nil } func (x *SCBlindBoxInfo) GetMinId() int32 { if x != nil { return x.MinId } return 0 } func (x *SCBlindBoxInfo) GetDraw() int32 { if x != nil { return x.Draw } return 0 } func (x *SCBlindBoxInfo) GetCycle() int32 { if x != nil { return x.Cycle } return 0 } //领取盲盒 //PACKET_CS_WELF_GETBLINBOX type CSGetBlindBox struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号 } func (x *CSGetBlindBox) Reset() { *x = CSGetBlindBox{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSGetBlindBox) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSGetBlindBox) ProtoMessage() {} func (x *CSGetBlindBox) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSGetBlindBox.ProtoReflect.Descriptor instead. func (*CSGetBlindBox) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{19} } func (x *CSGetBlindBox) GetId() int32 { if x != nil { return x.Id } return 0 } //PACKET_SC_WELF_GETBLINBOX type SCGetBlindBox struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 } func (x *SCGetBlindBox) Reset() { *x = SCGetBlindBox{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCGetBlindBox) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCGetBlindBox) ProtoMessage() {} func (x *SCGetBlindBox) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCGetBlindBox.ProtoReflect.Descriptor instead. func (*SCGetBlindBox) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{20} } func (x *SCGetBlindBox) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } type WelfareSpree struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Day int32 `protobuf:"varint,1,opt,name=Day,proto3" json:"Day,omitempty"` // 序号 Item []*WelfareDate `protobuf:"bytes,2,rep,name=Item,proto3" json:"Item,omitempty"` // 道具 VIPEX int32 `protobuf:"varint,3,opt,name=VIPEX,proto3" json:"VIPEX,omitempty"` // VIP经验 Consume int32 `protobuf:"varint,5,opt,name=Consume,proto3" json:"Consume,omitempty"` // 购买消耗类型 Price1 int64 `protobuf:"varint,6,opt,name=price1,proto3" json:"price1,omitempty"` // 原价 Price2 int64 `protobuf:"varint,7,opt,name=price2,proto3" json:"price2,omitempty"` // 现价 Discount float64 `protobuf:"fixed64,8,opt,name=Discount,proto3" json:"Discount,omitempty"` // 折扣 } func (x *WelfareSpree) Reset() { *x = WelfareSpree{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WelfareSpree) String() string { return protoimpl.X.MessageStringOf(x) } func (*WelfareSpree) ProtoMessage() {} func (x *WelfareSpree) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WelfareSpree.ProtoReflect.Descriptor instead. func (*WelfareSpree) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{21} } func (x *WelfareSpree) GetDay() int32 { if x != nil { return x.Day } return 0 } func (x *WelfareSpree) GetItem() []*WelfareDate { if x != nil { return x.Item } return nil } func (x *WelfareSpree) GetVIPEX() int32 { if x != nil { return x.VIPEX } return 0 } func (x *WelfareSpree) GetConsume() int32 { if x != nil { return x.Consume } return 0 } func (x *WelfareSpree) GetPrice1() int64 { if x != nil { return x.Price1 } return 0 } func (x *WelfareSpree) GetPrice2() int64 { if x != nil { return x.Price2 } return 0 } func (x *WelfareSpree) GetDiscount() float64 { if x != nil { return x.Discount } return 0 } //PACKET_CS_WELF_FIRSTPAYINFO type CSWelfareFirstPayData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSWelfareFirstPayData) Reset() { *x = CSWelfareFirstPayData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSWelfareFirstPayData) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSWelfareFirstPayData) ProtoMessage() {} func (x *CSWelfareFirstPayData) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSWelfareFirstPayData.ProtoReflect.Descriptor instead. func (*CSWelfareFirstPayData) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{22} } //PACKET_SC_WELF_FIRSTPAYINFO type SCWelfareFirstPayData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 List *WelfareSpree `protobuf:"bytes,2,opt,name=List,proto3" json:"List,omitempty"` Switch int32 `protobuf:"varint,3,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭 Cycle int32 `protobuf:"varint,4,opt,name=Cycle,proto3" json:"Cycle,omitempty"` // 循环 1.开启 2.关闭 Draw int32 `protobuf:"varint,5,opt,name=Draw,proto3" json:"Draw,omitempty"` // 1领取 2未领取 } func (x *SCWelfareFirstPayData) Reset() { *x = SCWelfareFirstPayData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCWelfareFirstPayData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCWelfareFirstPayData) ProtoMessage() {} func (x *SCWelfareFirstPayData) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCWelfareFirstPayData.ProtoReflect.Descriptor instead. func (*SCWelfareFirstPayData) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{23} } func (x *SCWelfareFirstPayData) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCWelfareFirstPayData) GetList() *WelfareSpree { if x != nil { return x.List } return nil } func (x *SCWelfareFirstPayData) GetSwitch() int32 { if x != nil { return x.Switch } return 0 } func (x *SCWelfareFirstPayData) GetCycle() int32 { if x != nil { return x.Cycle } return 0 } func (x *SCWelfareFirstPayData) GetDraw() int32 { if x != nil { return x.Draw } return 0 } //PACKET_CS_WELF_FIRSTPAY type CSWelfareFirstPay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSWelfareFirstPay) Reset() { *x = CSWelfareFirstPay{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSWelfareFirstPay) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSWelfareFirstPay) ProtoMessage() {} func (x *CSWelfareFirstPay) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSWelfareFirstPay.ProtoReflect.Descriptor instead. func (*CSWelfareFirstPay) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{24} } //PACKET_SC_WELF_FIRSTPAY type SCWelfareFirstPay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 } func (x *SCWelfareFirstPay) Reset() { *x = SCWelfareFirstPay{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCWelfareFirstPay) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCWelfareFirstPay) ProtoMessage() {} func (x *SCWelfareFirstPay) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCWelfareFirstPay.ProtoReflect.Descriptor instead. func (*SCWelfareFirstPay) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{25} } func (x *SCWelfareFirstPay) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } //PACKET_CS_WELF_CONTINPAYINFO type CSWelfareContinuousPayData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSWelfareContinuousPayData) Reset() { *x = CSWelfareContinuousPayData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSWelfareContinuousPayData) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSWelfareContinuousPayData) ProtoMessage() {} func (x *CSWelfareContinuousPayData) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSWelfareContinuousPayData.ProtoReflect.Descriptor instead. func (*CSWelfareContinuousPayData) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{26} } //PACKET_SC_WELF_CONTINPAYINFO type SCWelfareContinuousPayData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 List []*WelfareSpree `protobuf:"bytes,2,rep,name=List,proto3" json:"List,omitempty"` // Switch int32 `protobuf:"varint,3,opt,name=Switch,proto3" json:"Switch,omitempty"` // 1.开启 2.关闭 Cycle int32 `protobuf:"varint,4,opt,name=Cycle,proto3" json:"Cycle,omitempty"` // 循环 1.开启 2.关闭 Draw int32 `protobuf:"varint,5,opt,name=Draw,proto3" json:"Draw,omitempty"` // 1领取 2未领取 Day int32 `protobuf:"varint,6,opt,name=Day,proto3" json:"Day,omitempty"` // 领取到第几天 } func (x *SCWelfareContinuousPayData) Reset() { *x = SCWelfareContinuousPayData{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCWelfareContinuousPayData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCWelfareContinuousPayData) ProtoMessage() {} func (x *SCWelfareContinuousPayData) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCWelfareContinuousPayData.ProtoReflect.Descriptor instead. func (*SCWelfareContinuousPayData) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{27} } func (x *SCWelfareContinuousPayData) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCWelfareContinuousPayData) GetList() []*WelfareSpree { if x != nil { return x.List } return nil } func (x *SCWelfareContinuousPayData) GetSwitch() int32 { if x != nil { return x.Switch } return 0 } func (x *SCWelfareContinuousPayData) GetCycle() int32 { if x != nil { return x.Cycle } return 0 } func (x *SCWelfareContinuousPayData) GetDraw() int32 { if x != nil { return x.Draw } return 0 } func (x *SCWelfareContinuousPayData) GetDay() int32 { if x != nil { return x.Day } return 0 } //PACKET_CS_WELF_CONTINPAY type CSWelfareContinuousPay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSWelfareContinuousPay) Reset() { *x = CSWelfareContinuousPay{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSWelfareContinuousPay) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSWelfareContinuousPay) ProtoMessage() {} func (x *CSWelfareContinuousPay) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSWelfareContinuousPay.ProtoReflect.Descriptor instead. func (*CSWelfareContinuousPay) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{28} } //PACKET_SC_WELF_CONTINPAY type SCWelfareContinuousPay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 } func (x *SCWelfareContinuousPay) Reset() { *x = SCWelfareContinuousPay{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCWelfareContinuousPay) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCWelfareContinuousPay) ProtoMessage() {} func (x *SCWelfareContinuousPay) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCWelfareContinuousPay.ProtoReflect.Descriptor instead. func (*SCWelfareContinuousPay) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{29} } func (x *SCWelfareContinuousPay) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } // 救济金信息 // PACKET_CSWelfRelief type CSWelfareRelief struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSWelfareRelief) Reset() { *x = CSWelfareRelief{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSWelfareRelief) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSWelfareRelief) ProtoMessage() {} func (x *CSWelfareRelief) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSWelfareRelief.ProtoReflect.Descriptor instead. func (*CSWelfareRelief) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{30} } // PACKET_SCWelfRelief type SCWelfareRelief struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields LimitNum int32 `protobuf:"varint,1,opt,name=LimitNum,proto3" json:"LimitNum,omitempty"` // 低于多少金币 Get int32 `protobuf:"varint,2,opt,name=Get,proto3" json:"Get,omitempty"` // 救济金 Times int32 `protobuf:"varint,3,opt,name=Times,proto3" json:"Times,omitempty"` // 次数 } func (x *SCWelfareRelief) Reset() { *x = SCWelfareRelief{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCWelfareRelief) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCWelfareRelief) ProtoMessage() {} func (x *SCWelfareRelief) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCWelfareRelief.ProtoReflect.Descriptor instead. func (*SCWelfareRelief) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{31} } func (x *SCWelfareRelief) GetLimitNum() int32 { if x != nil { return x.LimitNum } return 0 } func (x *SCWelfareRelief) GetGet() int32 { if x != nil { return x.Get } return 0 } func (x *SCWelfareRelief) GetTimes() int32 { if x != nil { return x.Times } return 0 } // 邀请信息 // PACKET_CSInviteInfo type CSInviteInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSInviteInfo) Reset() { *x = CSInviteInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSInviteInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSInviteInfo) ProtoMessage() {} func (x *CSInviteInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSInviteInfo.ProtoReflect.Descriptor instead. func (*CSInviteInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{32} } type RankAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Start int64 `protobuf:"varint,1,opt,name=Start,proto3" json:"Start,omitempty"` // 开始积分 End int64 `protobuf:"varint,2,opt,name=End,proto3" json:"End,omitempty"` // 结束积分 Num int64 `protobuf:"varint,3,opt,name=Num,proto3" json:"Num,omitempty"` // 奖励 } func (x *RankAward) Reset() { *x = RankAward{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankAward) ProtoMessage() {} func (x *RankAward) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RankAward.ProtoReflect.Descriptor instead. func (*RankAward) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{33} } func (x *RankAward) GetStart() int64 { if x != nil { return x.Start } return 0 } func (x *RankAward) GetEnd() int64 { if x != nil { return x.End } return 0 } func (x *RankAward) GetNum() int64 { if x != nil { return x.Num } return 0 } // PACKET_SCInviteInfo type SCInviteInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Num int32 `protobuf:"varint,1,opt,name=Num,proto3" json:"Num,omitempty"` // 邀请人数 Code string `protobuf:"bytes,2,opt,name=Code,proto3" json:"Code,omitempty"` // 邀请码 InviteUrl string `protobuf:"bytes,3,opt,name=InviteUrl,proto3" json:"InviteUrl,omitempty"` // 邀请链接 Score int64 `protobuf:"varint,4,opt,name=Score,proto3" json:"Score,omitempty"` // 邀请积分 OtherCode string `protobuf:"bytes,5,opt,name=OtherCode,proto3" json:"OtherCode,omitempty"` // 已绑定的邀请码 BindScore int64 `protobuf:"varint,6,opt,name=BindScore,proto3" json:"BindScore,omitempty"` // 绑定积分 RechargeScore int64 `protobuf:"varint,7,opt,name=RechargeScore,proto3" json:"RechargeScore,omitempty"` // 充值积分,一个玩家最多给上级贡献一次 PayScore map[int64]int64 `protobuf:"bytes,8,rep,name=PayScore,proto3" json:"PayScore,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 充值积分;充值金额:获得积分 Rates []int64 `protobuf:"varint,9,rep,packed,name=Rates,proto3" json:"Rates,omitempty"` // 返佣比例;多级按顺序给 Awards1 []*RankAward `protobuf:"bytes,10,rep,name=Awards1,proto3" json:"Awards1,omitempty"` // 周榜奖励列表 Awards2 []*RankAward `protobuf:"bytes,11,rep,name=Awards2,proto3" json:"Awards2,omitempty"` // 周榜奖励列表 Awards3 []*RankAward `protobuf:"bytes,12,rep,name=Awards3,proto3" json:"Awards3,omitempty"` // 周榜奖励列表 BindTelScore int64 `protobuf:"varint,13,opt,name=BindTelScore,proto3" json:"BindTelScore,omitempty"` // 绑定手机号积分 } func (x *SCInviteInfo) Reset() { *x = SCInviteInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCInviteInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCInviteInfo) ProtoMessage() {} func (x *SCInviteInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCInviteInfo.ProtoReflect.Descriptor instead. func (*SCInviteInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{34} } func (x *SCInviteInfo) GetNum() int32 { if x != nil { return x.Num } return 0 } func (x *SCInviteInfo) GetCode() string { if x != nil { return x.Code } return "" } func (x *SCInviteInfo) GetInviteUrl() string { if x != nil { return x.InviteUrl } return "" } func (x *SCInviteInfo) GetScore() int64 { if x != nil { return x.Score } return 0 } func (x *SCInviteInfo) GetOtherCode() string { if x != nil { return x.OtherCode } return "" } func (x *SCInviteInfo) GetBindScore() int64 { if x != nil { return x.BindScore } return 0 } func (x *SCInviteInfo) GetRechargeScore() int64 { if x != nil { return x.RechargeScore } return 0 } func (x *SCInviteInfo) GetPayScore() map[int64]int64 { if x != nil { return x.PayScore } return nil } func (x *SCInviteInfo) GetRates() []int64 { if x != nil { return x.Rates } return nil } func (x *SCInviteInfo) GetAwards1() []*RankAward { if x != nil { return x.Awards1 } return nil } func (x *SCInviteInfo) GetAwards2() []*RankAward { if x != nil { return x.Awards2 } return nil } func (x *SCInviteInfo) GetAwards3() []*RankAward { if x != nil { return x.Awards3 } return nil } func (x *SCInviteInfo) GetBindTelScore() int64 { if x != nil { return x.BindTelScore } return 0 } // 绑定邀请人 // PACKET_CSBindInvite type CSBindInvite struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty"` // 邀请码 } func (x *CSBindInvite) Reset() { *x = CSBindInvite{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSBindInvite) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSBindInvite) ProtoMessage() {} func (x *CSBindInvite) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSBindInvite.ProtoReflect.Descriptor instead. func (*CSBindInvite) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{35} } func (x *CSBindInvite) GetCode() string { if x != nil { return x.Code } return "" } // PACKET_SCBindInvite type SCBindInvite struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 } func (x *SCBindInvite) Reset() { *x = SCBindInvite{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCBindInvite) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCBindInvite) ProtoMessage() {} func (x *SCBindInvite) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCBindInvite.ProtoReflect.Descriptor instead. func (*SCBindInvite) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{36} } func (x *SCBindInvite) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } type PigBankCoinInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IndexId int32 `protobuf:"varint,1,opt,name=IndexId,proto3" json:"IndexId,omitempty"` TakeCoin int64 `protobuf:"varint,2,opt,name=TakeCoin,proto3" json:"TakeCoin,omitempty"` // BankMaxCoin int64 `protobuf:"varint,3,opt,name=BankMaxCoin,proto3" json:"BankMaxCoin,omitempty"` // 存钱罐最大储存值 DayBuyMaxCnt int32 `protobuf:"varint,4,opt,name=DayBuyMaxCnt,proto3" json:"DayBuyMaxCnt,omitempty"` // 今日最大可购买次数 Price int64 `protobuf:"varint,5,opt,name=Price,proto3" json:"Price,omitempty"` //原价 CostDiamond int64 `protobuf:"varint,6,opt,name=CostDiamond,proto3" json:"CostDiamond,omitempty"` //现价 GoldExc map[int64]int64 `protobuf:"bytes,7,rep,name=GoldExc,proto3" json:"GoldExc,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 奖励道具 } func (x *PigBankCoinInfo) Reset() { *x = PigBankCoinInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PigBankCoinInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*PigBankCoinInfo) ProtoMessage() {} func (x *PigBankCoinInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PigBankCoinInfo.ProtoReflect.Descriptor instead. func (*PigBankCoinInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{37} } func (x *PigBankCoinInfo) GetIndexId() int32 { if x != nil { return x.IndexId } return 0 } func (x *PigBankCoinInfo) GetTakeCoin() int64 { if x != nil { return x.TakeCoin } return 0 } func (x *PigBankCoinInfo) GetBankMaxCoin() int64 { if x != nil { return x.BankMaxCoin } return 0 } func (x *PigBankCoinInfo) GetDayBuyMaxCnt() int32 { if x != nil { return x.DayBuyMaxCnt } return 0 } func (x *PigBankCoinInfo) GetPrice() int64 { if x != nil { return x.Price } return 0 } func (x *PigBankCoinInfo) GetCostDiamond() int64 { if x != nil { return x.CostDiamond } return 0 } func (x *PigBankCoinInfo) GetGoldExc() map[int64]int64 { if x != nil { return x.GoldExc } return nil } // 存钱罐信息 //PACKET_CSPigbankGetInfo type CSPigbankGetInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSPigbankGetInfo) Reset() { *x = CSPigbankGetInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSPigbankGetInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSPigbankGetInfo) ProtoMessage() {} func (x *CSPigbankGetInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSPigbankGetInfo.ProtoReflect.Descriptor instead. func (*CSPigbankGetInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{38} } // 存钱罐信息 //PACKET_SCPigbankGetInfo type SCPigbankGetInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 BankCoin int64 `protobuf:"varint,2,opt,name=BankCoin,proto3" json:"BankCoin,omitempty"` // 当前已存金额 TakeTimes int32 `protobuf:"varint,3,opt,name=TakeTimes,proto3" json:"TakeTimes,omitempty"` // 领取次数 InfoArr []*PigBankCoinInfo `protobuf:"bytes,4,rep,name=infoArr,proto3" json:"infoArr,omitempty"` } func (x *SCPigbankGetInfo) Reset() { *x = SCPigbankGetInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCPigbankGetInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCPigbankGetInfo) ProtoMessage() {} func (x *SCPigbankGetInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCPigbankGetInfo.ProtoReflect.Descriptor instead. func (*SCPigbankGetInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{39} } func (x *SCPigbankGetInfo) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCPigbankGetInfo) GetBankCoin() int64 { if x != nil { return x.BankCoin } return 0 } func (x *SCPigbankGetInfo) GetTakeTimes() int32 { if x != nil { return x.TakeTimes } return 0 } func (x *SCPigbankGetInfo) GetInfoArr() []*PigBankCoinInfo { if x != nil { return x.InfoArr } return nil } // 存钱罐领取金币 //PACKET_CSPigbankTakeCoin type CSPigbankTakeCoin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSPigbankTakeCoin) Reset() { *x = CSPigbankTakeCoin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSPigbankTakeCoin) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSPigbankTakeCoin) ProtoMessage() {} func (x *CSPigbankTakeCoin) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSPigbankTakeCoin.ProtoReflect.Descriptor instead. func (*CSPigbankTakeCoin) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{40} } // 存钱罐领取金币 //PACKET_SCPigbankTakeCoin type SCPigbankTakeCoin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` // 结果 TakeCoinNum int64 `protobuf:"varint,2,opt,name=TakeCoinNum,proto3" json:"TakeCoinNum,omitempty"` // 领取金币数量 TakeTimes int32 `protobuf:"varint,3,opt,name=TakeTimes,proto3" json:"TakeTimes,omitempty"` // 领取次数 RewardItems []*PropInfo `protobuf:"bytes,4,rep,name=RewardItems,proto3" json:"RewardItems,omitempty"` } func (x *SCPigbankTakeCoin) Reset() { *x = SCPigbankTakeCoin{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCPigbankTakeCoin) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCPigbankTakeCoin) ProtoMessage() {} func (x *SCPigbankTakeCoin) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCPigbankTakeCoin.ProtoReflect.Descriptor instead. func (*SCPigbankTakeCoin) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{41} } func (x *SCPigbankTakeCoin) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCPigbankTakeCoin) GetTakeCoinNum() int64 { if x != nil { return x.TakeCoinNum } return 0 } func (x *SCPigbankTakeCoin) GetTakeTimes() int32 { if x != nil { return x.TakeTimes } return 0 } func (x *SCPigbankTakeCoin) GetRewardItems() []*PropInfo { if x != nil { return x.RewardItems } return nil } // 钻石存钱罐信息 //PACKET_CSDiamondBankGetInfo type CSDiamondBankGetInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSDiamondBankGetInfo) Reset() { *x = CSDiamondBankGetInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSDiamondBankGetInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSDiamondBankGetInfo) ProtoMessage() {} func (x *CSDiamondBankGetInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSDiamondBankGetInfo.ProtoReflect.Descriptor instead. func (*CSDiamondBankGetInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{42} } type PigBankDiamondInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IndexId int32 `protobuf:"varint,1,opt,name=IndexId,proto3" json:"IndexId,omitempty"` TakeDiamond float64 `protobuf:"fixed64,2,opt,name=TakeDiamond,proto3" json:"TakeDiamond,omitempty"` // BankMaxDiamond int64 `protobuf:"varint,3,opt,name=BankMaxDiamond,proto3" json:"BankMaxDiamond,omitempty"` // 存钱罐最大储存值 DayBuyMaxCnt int32 `protobuf:"varint,4,opt,name=DayBuyMaxCnt,proto3" json:"DayBuyMaxCnt,omitempty"` // 今日最大可购买次数 Price int64 `protobuf:"varint,5,opt,name=Price,proto3" json:"Price,omitempty"` //原价 NowPrice int64 `protobuf:"varint,6,opt,name=NowPrice,proto3" json:"NowPrice,omitempty"` //现价 ShopId int32 `protobuf:"varint,7,opt,name=ShopId,proto3" json:"ShopId,omitempty"` //商城ID DiamondExc map[int64]int64 `protobuf:"bytes,8,rep,name=DiamondExc,proto3" json:"DiamondExc,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` } func (x *PigBankDiamondInfo) Reset() { *x = PigBankDiamondInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PigBankDiamondInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*PigBankDiamondInfo) ProtoMessage() {} func (x *PigBankDiamondInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PigBankDiamondInfo.ProtoReflect.Descriptor instead. func (*PigBankDiamondInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{43} } func (x *PigBankDiamondInfo) GetIndexId() int32 { if x != nil { return x.IndexId } return 0 } func (x *PigBankDiamondInfo) GetTakeDiamond() float64 { if x != nil { return x.TakeDiamond } return 0 } func (x *PigBankDiamondInfo) GetBankMaxDiamond() int64 { if x != nil { return x.BankMaxDiamond } return 0 } func (x *PigBankDiamondInfo) GetDayBuyMaxCnt() int32 { if x != nil { return x.DayBuyMaxCnt } return 0 } func (x *PigBankDiamondInfo) GetPrice() int64 { if x != nil { return x.Price } return 0 } func (x *PigBankDiamondInfo) GetNowPrice() int64 { if x != nil { return x.NowPrice } return 0 } func (x *PigBankDiamondInfo) GetShopId() int32 { if x != nil { return x.ShopId } return 0 } func (x *PigBankDiamondInfo) GetDiamondExc() map[int64]int64 { if x != nil { return x.DiamondExc } return nil } // 钻石存钱罐信息 //PACKET_SCDiamondBankGetInfo type SCDiamondBankGetInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` //结果 BankDiamond float64 `protobuf:"fixed64,2,opt,name=BankDiamond,proto3" json:"BankDiamond,omitempty"` // 当前已存钻石 TakeTimes int32 `protobuf:"varint,3,opt,name=TakeTimes,proto3" json:"TakeTimes,omitempty"` // 领取次数 InfoArr []*PigBankDiamondInfo `protobuf:"bytes,4,rep,name=infoArr,proto3" json:"infoArr,omitempty"` // 奖励道具 } func (x *SCDiamondBankGetInfo) Reset() { *x = SCDiamondBankGetInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCDiamondBankGetInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCDiamondBankGetInfo) ProtoMessage() {} func (x *SCDiamondBankGetInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCDiamondBankGetInfo.ProtoReflect.Descriptor instead. func (*SCDiamondBankGetInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{44} } func (x *SCDiamondBankGetInfo) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCDiamondBankGetInfo) GetBankDiamond() float64 { if x != nil { return x.BankDiamond } return 0 } func (x *SCDiamondBankGetInfo) GetTakeTimes() int32 { if x != nil { return x.TakeTimes } return 0 } func (x *SCDiamondBankGetInfo) GetInfoArr() []*PigBankDiamondInfo { if x != nil { return x.InfoArr } return nil } // 钻石存钱罐领取金币 //PACKET_SCDiamondBankTakeDiamond type SCDiamondBankTakeDiamond struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` // 结果 TakeDiamondNum float64 `protobuf:"fixed64,2,opt,name=TakeDiamondNum,proto3" json:"TakeDiamondNum,omitempty"` // 领取钻石数量 TakeTimes int32 `protobuf:"varint,3,opt,name=TakeTimes,proto3" json:"TakeTimes,omitempty"` // 领取次数 } func (x *SCDiamondBankTakeDiamond) Reset() { *x = SCDiamondBankTakeDiamond{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCDiamondBankTakeDiamond) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCDiamondBankTakeDiamond) ProtoMessage() {} func (x *SCDiamondBankTakeDiamond) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCDiamondBankTakeDiamond.ProtoReflect.Descriptor instead. func (*SCDiamondBankTakeDiamond) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{45} } func (x *SCDiamondBankTakeDiamond) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCDiamondBankTakeDiamond) GetTakeDiamondNum() float64 { if x != nil { return x.TakeDiamondNum } return 0 } func (x *SCDiamondBankTakeDiamond) GetTakeTimes() int32 { if x != nil { return x.TakeTimes } return 0 } // 赛季通行证信息 //PACKET_CSPermitInfo type CSPermitInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSPermitInfo) Reset() { *x = CSPermitInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSPermitInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSPermitInfo) ProtoMessage() {} func (x *CSPermitInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSPermitInfo.ProtoReflect.Descriptor instead. func (*CSPermitInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{46} } type PropInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ItemId int32 `protobuf:"varint,1,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //物品ID ItemNum int64 `protobuf:"varint,2,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` //物品数量 } func (x *PropInfo) Reset() { *x = PropInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PropInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*PropInfo) ProtoMessage() {} func (x *PropInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PropInfo.ProtoReflect.Descriptor instead. func (*PropInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{47} } func (x *PropInfo) GetItemId() int32 { if x != nil { return x.ItemId } return 0 } func (x *PropInfo) GetItemNum() int64 { if x != nil { return x.ItemNum } return 0 } type PropItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Award []*PropInfo `protobuf:"bytes,1,rep,name=Award,proto3" json:"Award,omitempty"` // 奖励 Status int64 `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` // 奖励状态 0默认 1可领取 2已领取 Id int32 `protobuf:"varint,3,opt,name=Id,proto3" json:"Id,omitempty"` // 奖励id; 领奖时使用 } func (x *PropItem) Reset() { *x = PropItem{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PropItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*PropItem) ProtoMessage() {} func (x *PropItem) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PropItem.ProtoReflect.Descriptor instead. func (*PropItem) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{48} } func (x *PropItem) GetAward() []*PropInfo { if x != nil { return x.Award } return nil } func (x *PropItem) GetStatus() int64 { if x != nil { return x.Status } return 0 } func (x *PropItem) GetId() int32 { if x != nil { return x.Id } return 0 } type PermitAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Exp int64 `protobuf:"varint,1,opt,name=Exp,proto3" json:"Exp,omitempty"` // 赛季经验 Level int64 `protobuf:"varint,2,opt,name=Level,proto3" json:"Level,omitempty"` // 等级 Award1 *PropItem `protobuf:"bytes,3,opt,name=Award1,proto3" json:"Award1,omitempty"` // 普通奖励 Award2 *PropItem `protobuf:"bytes,4,opt,name=Award2,proto3" json:"Award2,omitempty"` // 典藏奖励 } func (x *PermitAward) Reset() { *x = PermitAward{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PermitAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*PermitAward) ProtoMessage() {} func (x *PermitAward) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PermitAward.ProtoReflect.Descriptor instead. func (*PermitAward) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{49} } func (x *PermitAward) GetExp() int64 { if x != nil { return x.Exp } return 0 } func (x *PermitAward) GetLevel() int64 { if x != nil { return x.Level } return 0 } func (x *PermitAward) GetAward1() *PropItem { if x != nil { return x.Award1 } return nil } func (x *PermitAward) GetAward2() *PropItem { if x != nil { return x.Award2 } return nil } type PermitShow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ShowType int32 `protobuf:"varint,1,opt,name=ShowType,proto3" json:"ShowType,omitempty"` // 类型 ShowVolume int32 `protobuf:"varint,2,opt,name=ShowVolume,proto3" json:"ShowVolume,omitempty"` // id Location int32 `protobuf:"varint,3,opt,name=Location,proto3" json:"Location,omitempty"` // 跳转界面 } func (x *PermitShow) Reset() { *x = PermitShow{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PermitShow) String() string { return protoimpl.X.MessageStringOf(x) } func (*PermitShow) ProtoMessage() {} func (x *PermitShow) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PermitShow.ProtoReflect.Descriptor instead. func (*PermitShow) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{50} } func (x *PermitShow) GetShowType() int32 { if x != nil { return x.ShowType } return 0 } func (x *PermitShow) GetShowVolume() int32 { if x != nil { return x.ShowVolume } return 0 } func (x *PermitShow) GetLocation() int32 { if x != nil { return x.Location } return 0 } type PermitRankAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Start int32 `protobuf:"varint,1,opt,name=Start,proto3" json:"Start,omitempty"` // 开始排名;第一名为1 End int32 `protobuf:"varint,2,opt,name=End,proto3" json:"End,omitempty"` // 结束排名 ItemId []*PropInfo `protobuf:"bytes,3,rep,name=ItemId,proto3" json:"ItemId,omitempty"` // 奖励 } func (x *PermitRankAward) Reset() { *x = PermitRankAward{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PermitRankAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*PermitRankAward) ProtoMessage() {} func (x *PermitRankAward) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PermitRankAward.ProtoReflect.Descriptor instead. func (*PermitRankAward) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{51} } func (x *PermitRankAward) GetStart() int32 { if x != nil { return x.Start } return 0 } func (x *PermitRankAward) GetEnd() int32 { if x != nil { return x.End } return 0 } func (x *PermitRankAward) GetItemId() []*PropInfo { if x != nil { return x.ItemId } return nil } //PACKET_SCPermitInfo type SCPermitInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Exp int64 `protobuf:"varint,1,opt,name=Exp,proto3" json:"Exp,omitempty"` // 玩家赛季经验 Level int64 `protobuf:"varint,2,opt,name=Level,proto3" json:"Level,omitempty"` // 玩家等级 Award []*PermitAward `protobuf:"bytes,3,rep,name=Award,proto3" json:"Award,omitempty"` // 奖励列表 Timestamp []int64 `protobuf:"varint,4,rep,packed,name=Timestamp,proto3" json:"Timestamp,omitempty"` // 赛季开始和结束时间戳 [开始时间戳,结束时间戳] ShowList []*PermitShow `protobuf:"bytes,5,rep,name=ShowList,proto3" json:"ShowList,omitempty"` // 展示列表 IsPermit bool `protobuf:"varint,6,opt,name=IsPermit,proto3" json:"IsPermit,omitempty"` // 是否已购买典藏通行证 RankAward []*PermitRankAward `protobuf:"bytes,7,rep,name=RankAward,proto3" json:"RankAward,omitempty"` // 排行榜奖励 RefreshTs int64 `protobuf:"varint,8,opt,name=RefreshTs,proto3" json:"RefreshTs,omitempty"` // 下次刷新时间戳 } func (x *SCPermitInfo) Reset() { *x = SCPermitInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCPermitInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCPermitInfo) ProtoMessage() {} func (x *SCPermitInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCPermitInfo.ProtoReflect.Descriptor instead. func (*SCPermitInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{52} } func (x *SCPermitInfo) GetExp() int64 { if x != nil { return x.Exp } return 0 } func (x *SCPermitInfo) GetLevel() int64 { if x != nil { return x.Level } return 0 } func (x *SCPermitInfo) GetAward() []*PermitAward { if x != nil { return x.Award } return nil } func (x *SCPermitInfo) GetTimestamp() []int64 { if x != nil { return x.Timestamp } return nil } func (x *SCPermitInfo) GetShowList() []*PermitShow { if x != nil { return x.ShowList } return nil } func (x *SCPermitInfo) GetIsPermit() bool { if x != nil { return x.IsPermit } return false } func (x *SCPermitInfo) GetRankAward() []*PermitRankAward { if x != nil { return x.RankAward } return nil } func (x *SCPermitInfo) GetRefreshTs() int64 { if x != nil { return x.RefreshTs } return 0 } // 领取赛季通行证奖励 //PACKET_CSPermitAward type CSPermitAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tp int32 `protobuf:"varint,1,opt,name=Tp,proto3" json:"Tp,omitempty"` // 0奖励 1普通奖励 2典藏奖励 Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` // 奖励id; 0:一键领取 } func (x *CSPermitAward) Reset() { *x = CSPermitAward{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSPermitAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSPermitAward) ProtoMessage() {} func (x *CSPermitAward) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSPermitAward.ProtoReflect.Descriptor instead. func (*CSPermitAward) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{53} } func (x *CSPermitAward) GetTp() int32 { if x != nil { return x.Tp } return 0 } func (x *CSPermitAward) GetId() int32 { if x != nil { return x.Id } return 0 } //PACKET_SCPermitAward type SCPermitAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` // 错误码 Award1 []*PropInfo `protobuf:"bytes,2,rep,name=Award1,proto3" json:"Award1,omitempty"` // 普通奖励 Award2 []*PropInfo `protobuf:"bytes,3,rep,name=Award2,proto3" json:"Award2,omitempty"` // 典藏奖励 Id int32 `protobuf:"varint,4,opt,name=Id,proto3" json:"Id,omitempty"` // 奖励id; 0:一键领取 Tp int32 `protobuf:"varint,5,opt,name=Tp,proto3" json:"Tp,omitempty"` // 0奖励 1普通奖励 2典藏奖励 } func (x *SCPermitAward) Reset() { *x = SCPermitAward{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCPermitAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCPermitAward) ProtoMessage() {} func (x *SCPermitAward) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCPermitAward.ProtoReflect.Descriptor instead. func (*SCPermitAward) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{54} } func (x *SCPermitAward) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } func (x *SCPermitAward) GetAward1() []*PropInfo { if x != nil { return x.Award1 } return nil } func (x *SCPermitAward) GetAward2() []*PropInfo { if x != nil { return x.Award2 } return nil } func (x *SCPermitAward) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *SCPermitAward) GetTp() int32 { if x != nil { return x.Tp } return 0 } // 赛季通行证兑换商城 //PACKET_CSPermitExchangeList type CSPermitExchangeList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSPermitExchangeList) Reset() { *x = CSPermitExchangeList{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSPermitExchangeList) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSPermitExchangeList) ProtoMessage() {} func (x *CSPermitExchangeList) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSPermitExchangeList.ProtoReflect.Descriptor instead. func (*CSPermitExchangeList) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{55} } type ShopInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 商品id Gain []*PropInfo `protobuf:"bytes,2,rep,name=Gain,proto3" json:"Gain,omitempty"` // 获得商品 Cost []*PropInfo `protobuf:"bytes,3,rep,name=Cost,proto3" json:"Cost,omitempty"` // 消耗商品 ExchangeTimes int32 `protobuf:"varint,4,opt,name=ExchangeTimes,proto3" json:"ExchangeTimes,omitempty"` // 最大兑换次数 RemainTimes int32 `protobuf:"varint,5,opt,name=RemainTimes,proto3" json:"RemainTimes,omitempty"` // 剩余兑换次数 Level int64 `protobuf:"varint,6,opt,name=Level,proto3" json:"Level,omitempty"` // 兑换所需等级 NeedPermit bool `protobuf:"varint,7,opt,name=NeedPermit,proto3" json:"NeedPermit,omitempty"` // 需要典藏通行证 SortId int32 `protobuf:"varint,8,opt,name=SortId,proto3" json:"SortId,omitempty"` // 序号 } func (x *ShopInfo) Reset() { *x = ShopInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ShopInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*ShopInfo) ProtoMessage() {} func (x *ShopInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ShopInfo.ProtoReflect.Descriptor instead. func (*ShopInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{56} } func (x *ShopInfo) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *ShopInfo) GetGain() []*PropInfo { if x != nil { return x.Gain } return nil } func (x *ShopInfo) GetCost() []*PropInfo { if x != nil { return x.Cost } return nil } func (x *ShopInfo) GetExchangeTimes() int32 { if x != nil { return x.ExchangeTimes } return 0 } func (x *ShopInfo) GetRemainTimes() int32 { if x != nil { return x.RemainTimes } return 0 } func (x *ShopInfo) GetLevel() int64 { if x != nil { return x.Level } return 0 } func (x *ShopInfo) GetNeedPermit() bool { if x != nil { return x.NeedPermit } return false } func (x *ShopInfo) GetSortId() int32 { if x != nil { return x.SortId } return 0 } //PACKET_SCPermitExchangeList type SCPermitExchangeList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ShopInfo `protobuf:"bytes,1,rep,name=List,proto3" json:"List,omitempty"` // 兑换列表 } func (x *SCPermitExchangeList) Reset() { *x = SCPermitExchangeList{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCPermitExchangeList) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCPermitExchangeList) ProtoMessage() {} func (x *SCPermitExchangeList) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCPermitExchangeList.ProtoReflect.Descriptor instead. func (*SCPermitExchangeList) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{57} } func (x *SCPermitExchangeList) GetList() []*ShopInfo { if x != nil { return x.List } return nil } // 赛季通行证商城兑换 //PACKET_CSPermitExchange type CSPermitExchange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 商品id } func (x *CSPermitExchange) Reset() { *x = CSPermitExchange{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSPermitExchange) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSPermitExchange) ProtoMessage() {} func (x *CSPermitExchange) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSPermitExchange.ProtoReflect.Descriptor instead. func (*CSPermitExchange) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{58} } func (x *CSPermitExchange) GetId() int32 { if x != nil { return x.Id } return 0 } //PACKET_SCPermitExchange type SCPermitExchange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OpRetCode OpResultCode `protobuf:"varint,1,opt,name=OpRetCode,proto3,enum=welfare.OpResultCode" json:"OpRetCode,omitempty"` // 错误码 } func (x *SCPermitExchange) Reset() { *x = SCPermitExchange{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCPermitExchange) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCPermitExchange) ProtoMessage() {} func (x *SCPermitExchange) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCPermitExchange.ProtoReflect.Descriptor instead. func (*SCPermitExchange) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{59} } func (x *SCPermitExchange) GetOpRetCode() OpResultCode { if x != nil { return x.OpRetCode } return OpResultCode_OPRC_Sucess } //PACKET_CSPermitShop type CSPermitShop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSPermitShop) Reset() { *x = CSPermitShop{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSPermitShop) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSPermitShop) ProtoMessage() {} func (x *CSPermitShop) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSPermitShop.ProtoReflect.Descriptor instead. func (*CSPermitShop) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{60} } //PACKET_SCPermitShop type SCPermitShop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 序号 Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` // 名称 Consume int32 `protobuf:"varint,3,opt,name=Consume,proto3" json:"Consume,omitempty"` // 购买消耗类型 1金币 2钻石 Price int64 `protobuf:"varint,4,opt,name=price,proto3" json:"price,omitempty"` // 价格 } func (x *SCPermitShop) Reset() { *x = SCPermitShop{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCPermitShop) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCPermitShop) ProtoMessage() {} func (x *SCPermitShop) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCPermitShop.ProtoReflect.Descriptor instead. func (*SCPermitShop) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{61} } func (x *SCPermitShop) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *SCPermitShop) GetName() string { if x != nil { return x.Name } return "" } func (x *SCPermitShop) GetConsume() int32 { if x != nil { return x.Consume } return 0 } func (x *SCPermitShop) GetPrice() int64 { if x != nil { return x.Price } return 0 } // 抽奖信息 //PACKET_CSLotteryInfo type CSLotteryInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CSLotteryInfo) Reset() { *x = CSLotteryInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSLotteryInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSLotteryInfo) ProtoMessage() {} func (x *CSLotteryInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSLotteryInfo.ProtoReflect.Descriptor instead. func (*CSLotteryInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{62} } type LotteryInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 抽奖id StartTs int64 `protobuf:"varint,2,opt,name=StartTs,proto3" json:"StartTs,omitempty"` // 开始时间 EndTs int64 `protobuf:"varint,3,opt,name=EndTs,proto3" json:"EndTs,omitempty"` // 结束时间 WinTs int64 `protobuf:"varint,4,opt,name=WinTs,proto3" json:"WinTs,omitempty"` // 开奖时间 RemainCode int64 `protobuf:"varint,5,opt,name=RemainCode,proto3" json:"RemainCode,omitempty"` // 剩余号码 TotalCode int64 `protobuf:"varint,6,opt,name=TotalCode,proto3" json:"TotalCode,omitempty"` // 总号码 Award []*PropInfo `protobuf:"bytes,7,rep,name=Award,proto3" json:"Award,omitempty"` // 本期奖品 State int32 `protobuf:"varint,8,opt,name=State,proto3" json:"State,omitempty"` // 状态 1已结束 2进行中中 3未开始 WinCode string `protobuf:"bytes,9,opt,name=WinCode,proto3" json:"WinCode,omitempty"` // 开奖号码 SnId int32 `protobuf:"varint,10,opt,name=SnId,proto3" json:"SnId,omitempty"` // 中奖玩家id Name string `protobuf:"bytes,11,opt,name=Name,proto3" json:"Name,omitempty"` // 中奖玩家名字 RoleId int32 `protobuf:"varint,12,opt,name=RoleId,proto3" json:"RoleId,omitempty"` // 中奖玩家角色id Index int32 `protobuf:"varint,13,opt,name=Index,proto3" json:"Index,omitempty"` // 期数 Price int64 `protobuf:"varint,14,opt,name=Price,proto3" json:"Price,omitempty"` // 奖品价值,美分 NeedRoomCard int32 `protobuf:"varint,15,opt,name=NeedRoomCard,proto3" json:"NeedRoomCard,omitempty"` // 消耗几张房卡获得一个开奖码 ImageURL string `protobuf:"bytes,16,opt,name=ImageURL,proto3" json:"ImageURL,omitempty"` // 图片地址 // 玩家数据 CostRoomCard int64 `protobuf:"varint,17,opt,name=CostRoomCard,proto3" json:"CostRoomCard,omitempty"` // 消耗房卡 Codes []string `protobuf:"bytes,18,rep,name=Codes,proto3" json:"Codes,omitempty"` // 本期获得号码 RemainTime int64 `protobuf:"varint,19,opt,name=RemainTime,proto3" json:"RemainTime,omitempty"` // 剩余时间,单位秒 } func (x *LotteryInfo) Reset() { *x = LotteryInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *LotteryInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*LotteryInfo) ProtoMessage() {} func (x *LotteryInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LotteryInfo.ProtoReflect.Descriptor instead. func (*LotteryInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{63} } func (x *LotteryInfo) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *LotteryInfo) GetStartTs() int64 { if x != nil { return x.StartTs } return 0 } func (x *LotteryInfo) GetEndTs() int64 { if x != nil { return x.EndTs } return 0 } func (x *LotteryInfo) GetWinTs() int64 { if x != nil { return x.WinTs } return 0 } func (x *LotteryInfo) GetRemainCode() int64 { if x != nil { return x.RemainCode } return 0 } func (x *LotteryInfo) GetTotalCode() int64 { if x != nil { return x.TotalCode } return 0 } func (x *LotteryInfo) GetAward() []*PropInfo { if x != nil { return x.Award } return nil } func (x *LotteryInfo) GetState() int32 { if x != nil { return x.State } return 0 } func (x *LotteryInfo) GetWinCode() string { if x != nil { return x.WinCode } return "" } func (x *LotteryInfo) GetSnId() int32 { if x != nil { return x.SnId } return 0 } func (x *LotteryInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *LotteryInfo) GetRoleId() int32 { if x != nil { return x.RoleId } return 0 } func (x *LotteryInfo) GetIndex() int32 { if x != nil { return x.Index } return 0 } func (x *LotteryInfo) GetPrice() int64 { if x != nil { return x.Price } return 0 } func (x *LotteryInfo) GetNeedRoomCard() int32 { if x != nil { return x.NeedRoomCard } return 0 } func (x *LotteryInfo) GetImageURL() string { if x != nil { return x.ImageURL } return "" } func (x *LotteryInfo) GetCostRoomCard() int64 { if x != nil { return x.CostRoomCard } return 0 } func (x *LotteryInfo) GetCodes() []string { if x != nil { return x.Codes } return nil } func (x *LotteryInfo) GetRemainTime() int64 { if x != nil { return x.RemainTime } return 0 } //PACKET_SCLotteryInfo type SCLotteryInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Info []*LotteryInfo `protobuf:"bytes,1,rep,name=Info,proto3" json:"Info,omitempty"` // 抽奖活动信息 Last *LotteryInfo `protobuf:"bytes,2,opt,name=Last,proto3" json:"Last,omitempty"` // 上期中奖信息 } func (x *SCLotteryInfo) Reset() { *x = SCLotteryInfo{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SCLotteryInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*SCLotteryInfo) ProtoMessage() {} func (x *SCLotteryInfo) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SCLotteryInfo.ProtoReflect.Descriptor instead. func (*SCLotteryInfo) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{64} } func (x *SCLotteryInfo) GetInfo() []*LotteryInfo { if x != nil { return x.Info } return nil } func (x *SCLotteryInfo) GetLast() *LotteryInfo { if x != nil { return x.Last } return nil } // 通知抽奖中奖 //PACKET_NotifyLotteryAward type NotifyLotteryAward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Info *LotteryInfo `protobuf:"bytes,1,opt,name=Info,proto3" json:"Info,omitempty"` // 抽奖活动信息 } func (x *NotifyLotteryAward) Reset() { *x = NotifyLotteryAward{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NotifyLotteryAward) String() string { return protoimpl.X.MessageStringOf(x) } func (*NotifyLotteryAward) ProtoMessage() {} func (x *NotifyLotteryAward) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NotifyLotteryAward.ProtoReflect.Descriptor instead. func (*NotifyLotteryAward) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{65} } func (x *NotifyLotteryAward) GetInfo() *LotteryInfo { if x != nil { return x.Info } return nil } // 通知获得抽奖号码 //PACKET_NotifyLotteryCode type NotifyLotteryCode struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Info []*LotteryInfo `protobuf:"bytes,1,rep,name=Info,proto3" json:"Info,omitempty"` } func (x *NotifyLotteryCode) Reset() { *x = NotifyLotteryCode{} if protoimpl.UnsafeEnabled { mi := &file_protocol_welfare_welfare_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NotifyLotteryCode) String() string { return protoimpl.X.MessageStringOf(x) } func (*NotifyLotteryCode) ProtoMessage() {} func (x *NotifyLotteryCode) ProtoReflect() protoreflect.Message { mi := &file_protocol_welfare_welfare_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NotifyLotteryCode.ProtoReflect.Descriptor instead. func (*NotifyLotteryCode) Descriptor() ([]byte, []int) { return file_protocol_welfare_welfare_proto_rawDescGZIP(), []int{66} } func (x *NotifyLotteryCode) GetInfo() []*LotteryInfo { if x != nil { return x.Info } return nil } var File_protocol_welfare_welfare_proto protoreflect.FileDescriptor var file_protocol_welfare_welfare_proto_rawDesc = []byte{ 0x0a, 0x1e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2f, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x22, 0x2b, 0x0a, 0x0f, 0x43, 0x53, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x22, 0x70, 0x0a, 0x0f, 0x53, 0x43, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0x64, 0x0a, 0x0b, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x32, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x2a, 0x0a, 0x0e, 0x43, 0x53, 0x47, 0x65, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x0e, 0x53, 0x43, 0x47, 0x65, 0x74, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x64, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x49, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x12, 0x32, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x32, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x32, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x32, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x32, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x32, 0x54, 0x79, 0x70, 0x65, 0x22, 0x2c, 0x0a, 0x0e, 0x43, 0x53, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x75, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x0e, 0x53, 0x43, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x75, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x55, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x41, 0x64, 0x64, 0x55, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x50, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x10, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x22, 0x4a, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc3, 0x02, 0x0a, 0x0e, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x05, 0x54, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x05, 0x54, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x05, 0x53, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x05, 0x53, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x72, 0x61, 0x77, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x44, 0x72, 0x61, 0x77, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x55, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x41, 0x64, 0x64, 0x55, 0x70, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x78, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x2b, 0x0a, 0x06, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x44, 0x61, 0x74, 0x61, 0x52, 0x06, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x22, 0x28, 0x0a, 0x14, 0x43, 0x53, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x22, 0x54, 0x0a, 0x14, 0x53, 0x43, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x20, 0x0a, 0x0e, 0x43, 0x53, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0xb0, 0x01, 0x0a, 0x0e, 0x53, 0x43, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x44, 0x72, 0x61, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x22, 0x1f, 0x0a, 0x0d, 0x43, 0x53, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x44, 0x0a, 0x0d, 0x53, 0x43, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x0c, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0xb9, 0x01, 0x0a, 0x15, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x44, 0x72, 0x61, 0x77, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x79, 0x22, 0x48, 0x0a, 0x11, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x79, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd0, 0x01, 0x0a, 0x1a, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x72, 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x44, 0x72, 0x61, 0x77, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x61, 0x79, 0x22, 0x4d, 0x0a, 0x16, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x61, 0x79, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x22, 0x55, 0x0a, 0x0f, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x47, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x45, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x8c, 0x04, 0x0a, 0x0c, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x31, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x31, 0x12, 0x2c, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x32, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x32, 0x12, 0x2c, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x33, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x33, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x22, 0x0a, 0x0c, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x43, 0x0a, 0x0c, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xc2, 0x02, 0x0a, 0x0f, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x07, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x63, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x63, 0x1a, 0x3a, 0x0a, 0x0c, 0x47, 0x6f, 0x6c, 0x64, 0x45, 0x78, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x10, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x22, 0xbd, 0x01, 0x0a, 0x11, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x53, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xf2, 0x02, 0x0a, 0x12, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x61, 0x78, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x44, 0x61, 0x79, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x78, 0x43, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0a, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x1a, 0x3d, 0x0a, 0x0f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x45, 0x78, 0x63, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, 0x01, 0x0a, 0x14, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x42, 0x61, 0x6e, 0x6b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x69, 0x67, 0x42, 0x61, 0x6e, 0x6b, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x72, 0x22, 0x95, 0x01, 0x0a, 0x18, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3c, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x22, 0x5b, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x27, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x22, 0x64, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x78, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x78, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x73, 0x22, 0x2f, 0x0a, 0x0d, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0xba, 0x01, 0x0a, 0x0d, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x12, 0x29, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xfe, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x14, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x10, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x4f, 0x70, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x0e, 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x22, 0x62, 0x0a, 0x0c, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x53, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x80, 0x04, 0x0a, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6e, 0x64, 0x54, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x45, 0x6e, 0x64, 0x54, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x57, 0x69, 0x6e, 0x54, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x57, 0x69, 0x6e, 0x54, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x57, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x0d, 0x53, 0x43, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x61, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3d, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0xf5, 0x02, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x54, 0x6f, 0x6f, 0x4d, 0x6f, 0x72, 0x65, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x42, 0x69, 0x6e, 0x64, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4d, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x65, 0x73, 0x73, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0d, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x10, 0x2a, 0x92, 0x0c, 0x0a, 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, 0x49, 0x45, 0x46, 0x46, 0x55, 0x4e, 0x44, 0x10, 0x94, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x52, 0x45, 0x4c, 0x49, 0x45, 0x46, 0x46, 0x55, 0x4e, 0x44, 0x10, 0x95, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x55, 0x52, 0x4e, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x96, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x54, 0x55, 0x52, 0x4e, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x97, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x98, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x41, 0x44, 0x44, 0x55, 0x50, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x99, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9a, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x41, 0x52, 0x45, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9b, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9c, 0x14, 0x12, 0x1f, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x9d, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x10, 0x9e, 0x14, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x47, 0x45, 0x54, 0x42, 0x4c, 0x49, 0x4e, 0x42, 0x4f, 0x58, 0x10, 0x9f, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa0, 0x14, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa1, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x10, 0xa2, 0x14, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x50, 0x41, 0x59, 0x10, 0xa3, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa4, 0x14, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xa5, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x10, 0xa6, 0x14, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x45, 0x4c, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x50, 0x41, 0x59, 0x10, 0xa7, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x5f, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa8, 0x14, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x79, 0x5f, 0x41, 0x64, 0x64, 0x75, 0x70, 0x32, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xa9, 0x14, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x57, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x10, 0xd4, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x57, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x6c, 0x69, 0x65, 0x66, 0x10, 0xd5, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd6, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xd7, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd8, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0xd9, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xde, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xdf, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xe0, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x69, 0x67, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x10, 0xe1, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe2, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe3, 0x16, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x10, 0xe4, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe5, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xe6, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xe7, 0x16, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x10, 0xe8, 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xe9, 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xea, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xeb, 0x16, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0xec, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x10, 0xed, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x8c, 0x17, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xee, 0x16, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xef, 0x16, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x41, 0x77, 0x61, 0x72, 0x64, 0x10, 0xf0, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x10, 0xf1, 0x16, 0x42, 0x27, 0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_protocol_welfare_welfare_proto_rawDescOnce sync.Once file_protocol_welfare_welfare_proto_rawDescData = file_protocol_welfare_welfare_proto_rawDesc ) func file_protocol_welfare_welfare_proto_rawDescGZIP() []byte { file_protocol_welfare_welfare_proto_rawDescOnce.Do(func() { file_protocol_welfare_welfare_proto_rawDescData = protoimpl.X.CompressGZIP(file_protocol_welfare_welfare_proto_rawDescData) }) return file_protocol_welfare_welfare_proto_rawDescData } var file_protocol_welfare_welfare_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_protocol_welfare_welfare_proto_msgTypes = make([]protoimpl.MessageInfo, 70) var file_protocol_welfare_welfare_proto_goTypes = []interface{}{ (OpResultCode)(0), // 0: welfare.OpResultCode (SPacketID)(0), // 1: welfare.SPacketID (*CSGetReliefFund)(nil), // 2: welfare.CSGetReliefFund (*SCGetReliefFund)(nil), // 3: welfare.SCGetReliefFund (*WelfareDate)(nil), // 4: welfare.WelfareDate (*AddUp2TypeDate)(nil), // 5: welfare.AddUp2TypeDate (*CSGetTurnplate)(nil), // 6: welfare.CSGetTurnplate (*SCGetTurnplate)(nil), // 7: welfare.SCGetTurnplate (*AddUpWelfareDate)(nil), // 8: welfare.AddUpWelfareDate (*CSGetAddupSign)(nil), // 9: welfare.CSGetAddupSign (*SCGetAddupSign)(nil), // 10: welfare.SCGetAddupSign (*CSWelfaredInfo)(nil), // 11: welfare.CSWelfaredInfo (*WelfareTurnplateDate)(nil), // 12: welfare.WelfareTurnplateDate (*Welfare7SignDate)(nil), // 13: welfare.Welfare7SignDate (*Addup2Data)(nil), // 14: welfare.Addup2Data (*SCWelfaredInfo)(nil), // 15: welfare.SCWelfaredInfo (*CSSignDayAddup2Award)(nil), // 16: welfare.CSSignDayAddup2Award (*SCSignDayAddup2Award)(nil), // 17: welfare.SCSignDayAddup2Award (*BlindBoxData)(nil), // 18: welfare.BlindBoxData (*CSBlindBoxInfo)(nil), // 19: welfare.CSBlindBoxInfo (*SCBlindBoxInfo)(nil), // 20: welfare.SCBlindBoxInfo (*CSGetBlindBox)(nil), // 21: welfare.CSGetBlindBox (*SCGetBlindBox)(nil), // 22: welfare.SCGetBlindBox (*WelfareSpree)(nil), // 23: welfare.WelfareSpree (*CSWelfareFirstPayData)(nil), // 24: welfare.CSWelfareFirstPayData (*SCWelfareFirstPayData)(nil), // 25: welfare.SCWelfareFirstPayData (*CSWelfareFirstPay)(nil), // 26: welfare.CSWelfareFirstPay (*SCWelfareFirstPay)(nil), // 27: welfare.SCWelfareFirstPay (*CSWelfareContinuousPayData)(nil), // 28: welfare.CSWelfareContinuousPayData (*SCWelfareContinuousPayData)(nil), // 29: welfare.SCWelfareContinuousPayData (*CSWelfareContinuousPay)(nil), // 30: welfare.CSWelfareContinuousPay (*SCWelfareContinuousPay)(nil), // 31: welfare.SCWelfareContinuousPay (*CSWelfareRelief)(nil), // 32: welfare.CSWelfareRelief (*SCWelfareRelief)(nil), // 33: welfare.SCWelfareRelief (*CSInviteInfo)(nil), // 34: welfare.CSInviteInfo (*RankAward)(nil), // 35: welfare.RankAward (*SCInviteInfo)(nil), // 36: welfare.SCInviteInfo (*CSBindInvite)(nil), // 37: welfare.CSBindInvite (*SCBindInvite)(nil), // 38: welfare.SCBindInvite (*PigBankCoinInfo)(nil), // 39: welfare.PigBankCoinInfo (*CSPigbankGetInfo)(nil), // 40: welfare.CSPigbankGetInfo (*SCPigbankGetInfo)(nil), // 41: welfare.SCPigbankGetInfo (*CSPigbankTakeCoin)(nil), // 42: welfare.CSPigbankTakeCoin (*SCPigbankTakeCoin)(nil), // 43: welfare.SCPigbankTakeCoin (*CSDiamondBankGetInfo)(nil), // 44: welfare.CSDiamondBankGetInfo (*PigBankDiamondInfo)(nil), // 45: welfare.PigBankDiamondInfo (*SCDiamondBankGetInfo)(nil), // 46: welfare.SCDiamondBankGetInfo (*SCDiamondBankTakeDiamond)(nil), // 47: welfare.SCDiamondBankTakeDiamond (*CSPermitInfo)(nil), // 48: welfare.CSPermitInfo (*PropInfo)(nil), // 49: welfare.PropInfo (*PropItem)(nil), // 50: welfare.PropItem (*PermitAward)(nil), // 51: welfare.PermitAward (*PermitShow)(nil), // 52: welfare.PermitShow (*PermitRankAward)(nil), // 53: welfare.PermitRankAward (*SCPermitInfo)(nil), // 54: welfare.SCPermitInfo (*CSPermitAward)(nil), // 55: welfare.CSPermitAward (*SCPermitAward)(nil), // 56: welfare.SCPermitAward (*CSPermitExchangeList)(nil), // 57: welfare.CSPermitExchangeList (*ShopInfo)(nil), // 58: welfare.ShopInfo (*SCPermitExchangeList)(nil), // 59: welfare.SCPermitExchangeList (*CSPermitExchange)(nil), // 60: welfare.CSPermitExchange (*SCPermitExchange)(nil), // 61: welfare.SCPermitExchange (*CSPermitShop)(nil), // 62: welfare.CSPermitShop (*SCPermitShop)(nil), // 63: welfare.SCPermitShop (*CSLotteryInfo)(nil), // 64: welfare.CSLotteryInfo (*LotteryInfo)(nil), // 65: welfare.LotteryInfo (*SCLotteryInfo)(nil), // 66: welfare.SCLotteryInfo (*NotifyLotteryAward)(nil), // 67: welfare.NotifyLotteryAward (*NotifyLotteryCode)(nil), // 68: welfare.NotifyLotteryCode nil, // 69: welfare.SCInviteInfo.PayScoreEntry nil, // 70: welfare.PigBankCoinInfo.GoldExcEntry nil, // 71: welfare.PigBankDiamondInfo.DiamondExcEntry } var file_protocol_welfare_welfare_proto_depIdxs = []int32{ 0, // 0: welfare.SCGetReliefFund.OpRetCode:type_name -> welfare.OpResultCode 0, // 1: welfare.SCGetTurnplate.OpRetCode:type_name -> welfare.OpResultCode 4, // 2: welfare.SCGetTurnplate.Date:type_name -> welfare.WelfareDate 4, // 3: welfare.AddUpWelfareDate.AddUpDate:type_name -> welfare.WelfareDate 4, // 4: welfare.AddUpWelfareDate.AddUp2Date:type_name -> welfare.WelfareDate 5, // 5: welfare.AddUpWelfareDate.AddUp2Type:type_name -> welfare.AddUp2TypeDate 0, // 6: welfare.SCGetAddupSign.OpRetCode:type_name -> welfare.OpResultCode 8, // 7: welfare.SCGetAddupSign.Date:type_name -> welfare.AddUpWelfareDate 4, // 8: welfare.WelfareTurnplateDate.Date:type_name -> welfare.WelfareDate 4, // 9: welfare.Welfare7SignDate.Date:type_name -> welfare.WelfareDate 8, // 10: welfare.Welfare7SignDate.AddUpDate:type_name -> welfare.AddUpWelfareDate 12, // 11: welfare.SCWelfaredInfo.Tlist:type_name -> welfare.WelfareTurnplateDate 13, // 12: welfare.SCWelfaredInfo.Slist:type_name -> welfare.Welfare7SignDate 14, // 13: welfare.SCWelfaredInfo.Addup2:type_name -> welfare.Addup2Data 0, // 14: welfare.SCBlindBoxInfo.OpRetCode:type_name -> welfare.OpResultCode 18, // 15: welfare.SCBlindBoxInfo.Date:type_name -> welfare.BlindBoxData 0, // 16: welfare.SCGetBlindBox.OpRetCode:type_name -> welfare.OpResultCode 4, // 17: welfare.WelfareSpree.Item:type_name -> welfare.WelfareDate 0, // 18: welfare.SCWelfareFirstPayData.OpRetCode:type_name -> welfare.OpResultCode 23, // 19: welfare.SCWelfareFirstPayData.List:type_name -> welfare.WelfareSpree 0, // 20: welfare.SCWelfareFirstPay.OpRetCode:type_name -> welfare.OpResultCode 0, // 21: welfare.SCWelfareContinuousPayData.OpRetCode:type_name -> welfare.OpResultCode 23, // 22: welfare.SCWelfareContinuousPayData.List:type_name -> welfare.WelfareSpree 0, // 23: welfare.SCWelfareContinuousPay.OpRetCode:type_name -> welfare.OpResultCode 69, // 24: welfare.SCInviteInfo.PayScore:type_name -> welfare.SCInviteInfo.PayScoreEntry 35, // 25: welfare.SCInviteInfo.Awards1:type_name -> welfare.RankAward 35, // 26: welfare.SCInviteInfo.Awards2:type_name -> welfare.RankAward 35, // 27: welfare.SCInviteInfo.Awards3:type_name -> welfare.RankAward 0, // 28: welfare.SCBindInvite.OpRetCode:type_name -> welfare.OpResultCode 70, // 29: welfare.PigBankCoinInfo.GoldExc:type_name -> welfare.PigBankCoinInfo.GoldExcEntry 0, // 30: welfare.SCPigbankGetInfo.OpRetCode:type_name -> welfare.OpResultCode 39, // 31: welfare.SCPigbankGetInfo.infoArr:type_name -> welfare.PigBankCoinInfo 0, // 32: welfare.SCPigbankTakeCoin.OpRetCode:type_name -> welfare.OpResultCode 49, // 33: welfare.SCPigbankTakeCoin.RewardItems:type_name -> welfare.PropInfo 71, // 34: welfare.PigBankDiamondInfo.DiamondExc:type_name -> welfare.PigBankDiamondInfo.DiamondExcEntry 0, // 35: welfare.SCDiamondBankGetInfo.OpRetCode:type_name -> welfare.OpResultCode 45, // 36: welfare.SCDiamondBankGetInfo.infoArr:type_name -> welfare.PigBankDiamondInfo 0, // 37: welfare.SCDiamondBankTakeDiamond.OpRetCode:type_name -> welfare.OpResultCode 49, // 38: welfare.PropItem.Award:type_name -> welfare.PropInfo 50, // 39: welfare.PermitAward.Award1:type_name -> welfare.PropItem 50, // 40: welfare.PermitAward.Award2:type_name -> welfare.PropItem 49, // 41: welfare.PermitRankAward.ItemId:type_name -> welfare.PropInfo 51, // 42: welfare.SCPermitInfo.Award:type_name -> welfare.PermitAward 52, // 43: welfare.SCPermitInfo.ShowList:type_name -> welfare.PermitShow 53, // 44: welfare.SCPermitInfo.RankAward:type_name -> welfare.PermitRankAward 0, // 45: welfare.SCPermitAward.OpRetCode:type_name -> welfare.OpResultCode 49, // 46: welfare.SCPermitAward.Award1:type_name -> welfare.PropInfo 49, // 47: welfare.SCPermitAward.Award2:type_name -> welfare.PropInfo 49, // 48: welfare.ShopInfo.Gain:type_name -> welfare.PropInfo 49, // 49: welfare.ShopInfo.Cost:type_name -> welfare.PropInfo 58, // 50: welfare.SCPermitExchangeList.List:type_name -> welfare.ShopInfo 0, // 51: welfare.SCPermitExchange.OpRetCode:type_name -> welfare.OpResultCode 49, // 52: welfare.LotteryInfo.Award:type_name -> welfare.PropInfo 65, // 53: welfare.SCLotteryInfo.Info:type_name -> welfare.LotteryInfo 65, // 54: welfare.SCLotteryInfo.Last:type_name -> welfare.LotteryInfo 65, // 55: welfare.NotifyLotteryAward.Info:type_name -> welfare.LotteryInfo 65, // 56: welfare.NotifyLotteryCode.Info:type_name -> welfare.LotteryInfo 57, // [57:57] is the sub-list for method output_type 57, // [57:57] is the sub-list for method input_type 57, // [57:57] is the sub-list for extension type_name 57, // [57:57] is the sub-list for extension extendee 0, // [0:57] is the sub-list for field type_name } func init() { file_protocol_welfare_welfare_proto_init() } func file_protocol_welfare_welfare_proto_init() { if File_protocol_welfare_welfare_proto != nil { return } if !protoimpl.UnsafeEnabled { file_protocol_welfare_welfare_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSGetReliefFund); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCGetReliefFund); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WelfareDate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddUp2TypeDate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSGetTurnplate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCGetTurnplate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddUpWelfareDate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSGetAddupSign); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCGetAddupSign); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSWelfaredInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WelfareTurnplateDate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Welfare7SignDate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Addup2Data); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCWelfaredInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSSignDayAddup2Award); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCSignDayAddup2Award); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BlindBoxData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSBlindBoxInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBlindBoxInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSGetBlindBox); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCGetBlindBox); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WelfareSpree); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSWelfareFirstPayData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCWelfareFirstPayData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSWelfareFirstPay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCWelfareFirstPay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSWelfareContinuousPayData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCWelfareContinuousPayData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSWelfareContinuousPay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCWelfareContinuousPay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSWelfareRelief); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCWelfareRelief); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSInviteInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCInviteInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSBindInvite); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCBindInvite); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PigBankCoinInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSPigbankGetInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCPigbankGetInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSPigbankTakeCoin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCPigbankTakeCoin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSDiamondBankGetInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PigBankDiamondInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCDiamondBankGetInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCDiamondBankTakeDiamond); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSPermitInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PropInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PropItem); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PermitAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PermitShow); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PermitRankAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCPermitInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSPermitAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCPermitAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSPermitExchangeList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShopInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCPermitExchangeList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSPermitExchange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCPermitExchange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSPermitShop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCPermitShop); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSLotteryInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LotteryInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SCLotteryInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotifyLotteryAward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_protocol_welfare_welfare_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotifyLotteryCode); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_protocol_welfare_welfare_proto_rawDesc, NumEnums: 2, NumMessages: 70, NumExtensions: 0, NumServices: 0, }, GoTypes: file_protocol_welfare_welfare_proto_goTypes, DependencyIndexes: file_protocol_welfare_welfare_proto_depIdxs, EnumInfos: file_protocol_welfare_welfare_proto_enumTypes, MessageInfos: file_protocol_welfare_welfare_proto_msgTypes, }.Build() File_protocol_welfare_welfare_proto = out.File file_protocol_welfare_welfare_proto_rawDesc = nil file_protocol_welfare_welfare_proto_goTypes = nil file_protocol_welfare_welfare_proto_depIdxs = nil }