// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v3.20.0
// source: common.proto

package msg

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)
)

// PlayerOptType 玩家操作类型
type PlayerOptType int32

const (
	PlayerOptType_OPT_NONE           PlayerOptType = 0  // 无操作
	PlayerOptType_OPT_SEEN           PlayerOptType = 1  // 看牌
	PlayerOptType_OPT_PACKED         PlayerOptType = 2  // 弃牌
	PlayerOptType_OPT_CHAAL          PlayerOptType = 3  // 跟注
	PlayerOptType_OPT_BLIND          PlayerOptType = 4  // 不看牌跟注
	PlayerOptType_OPT_SELECT         PlayerOptType = 5  // 选择操作
	PlayerOptType_OPT_SHOW           PlayerOptType = 6  // 亮牌
	PlayerOptType_OPT_ANTE           PlayerOptType = 7  // 底注
	PlayerOptType_OPT_SITESHOW       PlayerOptType = 8  // 发起上家比牌
	PlayerOptType_OPT_REFUSESITESHOW PlayerOptType = 9  // 拒绝与上家比牌
	PlayerOptType_OPT_AGREESITESHOW  PlayerOptType = 10 //同意与上家比牌
	PlayerOptType_OPT_SELECTSITESHOW PlayerOptType = 11 // 操作上家比牌,同意和拒绝
)

// Enum value maps for PlayerOptType.
var (
	PlayerOptType_name = map[int32]string{
		0:  "OPT_NONE",
		1:  "OPT_SEEN",
		2:  "OPT_PACKED",
		3:  "OPT_CHAAL",
		4:  "OPT_BLIND",
		5:  "OPT_SELECT",
		6:  "OPT_SHOW",
		7:  "OPT_ANTE",
		8:  "OPT_SITESHOW",
		9:  "OPT_REFUSESITESHOW",
		10: "OPT_AGREESITESHOW",
		11: "OPT_SELECTSITESHOW",
	}
	PlayerOptType_value = map[string]int32{
		"OPT_NONE":           0,
		"OPT_SEEN":           1,
		"OPT_PACKED":         2,
		"OPT_CHAAL":          3,
		"OPT_BLIND":          4,
		"OPT_SELECT":         5,
		"OPT_SHOW":           6,
		"OPT_ANTE":           7,
		"OPT_SITESHOW":       8,
		"OPT_REFUSESITESHOW": 9,
		"OPT_AGREESITESHOW":  10,
		"OPT_SELECTSITESHOW": 11,
	}
)

func (x PlayerOptType) Enum() *PlayerOptType {
	p := new(PlayerOptType)
	*p = x
	return p
}

func (x PlayerOptType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PlayerOptType) Descriptor() protoreflect.EnumDescriptor {
	return file_common_proto_enumTypes[0].Descriptor()
}

func (PlayerOptType) Type() protoreflect.EnumType {
	return &file_common_proto_enumTypes[0]
}

func (x PlayerOptType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PlayerOptType.Descriptor instead.
func (PlayerOptType) EnumDescriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{0}
}

// 登录
type ResLogin struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserId   string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
	NikeName string `protobuf:"bytes,2,opt,name=nikeName,proto3" json:"nikeName,omitempty"`
}

func (x *ResLogin) Reset() {
	*x = ResLogin{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResLogin) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResLogin) ProtoMessage() {}

func (x *ResLogin) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ResLogin.ProtoReflect.Descriptor instead.
func (*ResLogin) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{0}
}

func (x *ResLogin) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ResLogin) GetNikeName() string {
	if x != nil {
		return x.NikeName
	}
	return ""
}

type SiteShowRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	InitiatorSitPos int32 `protobuf:"varint,1,opt,name=InitiatorSitPos,proto3" json:"InitiatorSitPos,omitempty"` // 发起比牌请求的玩家
	OpponentSitPos  int32 `protobuf:"varint,2,opt,name=OpponentSitPos,proto3" json:"OpponentSitPos,omitempty"`   // 和谁比
}

func (x *SiteShowRequest) Reset() {
	*x = SiteShowRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SiteShowRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SiteShowRequest) ProtoMessage() {}

func (x *SiteShowRequest) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 SiteShowRequest.ProtoReflect.Descriptor instead.
func (*SiteShowRequest) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{1}
}

func (x *SiteShowRequest) GetInitiatorSitPos() int32 {
	if x != nil {
		return x.InitiatorSitPos
	}
	return 0
}

func (x *SiteShowRequest) GetOpponentSitPos() int32 {
	if x != nil {
		return x.OpponentSitPos
	}
	return 0
}

type ReqUserInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty"`
	Points int32  `protobuf:"varint,2,opt,name=Points,proto3" json:"Points,omitempty"`
	RoomId string `protobuf:"bytes,3,opt,name=RoomId,proto3" json:"RoomId,omitempty"`
}

func (x *ReqUserInfo) Reset() {
	*x = ReqUserInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqUserInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqUserInfo) ProtoMessage() {}

func (x *ReqUserInfo) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqUserInfo.ProtoReflect.Descriptor instead.
func (*ReqUserInfo) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{2}
}

func (x *ReqUserInfo) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ReqUserInfo) GetPoints() int32 {
	if x != nil {
		return x.Points
	}
	return 0
}

func (x *ReqUserInfo) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

// 登录 响应
type ReqLogin struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NikeName   string    `protobuf:"bytes,1,opt,name=nikeName,proto3" json:"nikeName,omitempty"`
	UserId     string    `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId,omitempty"`
	GameStatus string    `protobuf:"bytes,3,opt,name=gameStatus,proto3" json:"gameStatus,omitempty"`
	Error      *MsgError `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
	Points     int32     `protobuf:"varint,5,opt,name=points,proto3" json:"points,omitempty"`
}

func (x *ReqLogin) Reset() {
	*x = ReqLogin{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqLogin) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqLogin) ProtoMessage() {}

func (x *ReqLogin) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqLogin.ProtoReflect.Descriptor instead.
func (*ReqLogin) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{3}
}

func (x *ReqLogin) GetNikeName() string {
	if x != nil {
		return x.NikeName
	}
	return ""
}

func (x *ReqLogin) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ReqLogin) GetGameStatus() string {
	if x != nil {
		return x.GameStatus
	}
	return ""
}

func (x *ReqLogin) GetError() *MsgError {
	if x != nil {
		return x.Error
	}
	return nil
}

func (x *ReqLogin) GetPoints() int32 {
	if x != nil {
		return x.Points
	}
	return 0
}

// 进入大厅
type EnterHall struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *EnterHall) Reset() {
	*x = EnterHall{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EnterHall) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EnterHall) ProtoMessage() {}

func (x *EnterHall) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 EnterHall.ProtoReflect.Descriptor instead.
func (*EnterHall) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{4}
}

func (x *EnterHall) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

// 离开大厅
type LeaveHall struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *LeaveHall) Reset() {
	*x = LeaveHall{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LeaveHall) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LeaveHall) ProtoMessage() {}

func (x *LeaveHall) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 LeaveHall.ProtoReflect.Descriptor instead.
func (*LeaveHall) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{5}
}

func (x *LeaveHall) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

// 离开房间
// leaveReason 0 不满足房间条件,1主动离开.
type ReqLeaveRoom struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GameId      string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
	RoomId      string `protobuf:"bytes,2,opt,name=roomId,proto3" json:"roomId,omitempty"`
	UserId      string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"`
	LeaveReason string `protobuf:"bytes,4,opt,name=leaveReason,proto3" json:"leaveReason,omitempty"` //1.
}

func (x *ReqLeaveRoom) Reset() {
	*x = ReqLeaveRoom{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqLeaveRoom) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqLeaveRoom) ProtoMessage() {}

func (x *ReqLeaveRoom) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqLeaveRoom.ProtoReflect.Descriptor instead.
func (*ReqLeaveRoom) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{6}
}

func (x *ReqLeaveRoom) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

func (x *ReqLeaveRoom) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *ReqLeaveRoom) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ReqLeaveRoom) GetLeaveReason() string {
	if x != nil {
		return x.LeaveReason
	}
	return ""
}

// 加入房间失败
type JoinRoomFail struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GameId string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
	ConfId string `protobuf:"bytes,2,opt,name=confId,proto3" json:"confId,omitempty"`
	UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *JoinRoomFail) Reset() {
	*x = JoinRoomFail{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *JoinRoomFail) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*JoinRoomFail) ProtoMessage() {}

func (x *JoinRoomFail) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 JoinRoomFail.ProtoReflect.Descriptor instead.
func (*JoinRoomFail) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{7}
}

func (x *JoinRoomFail) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

func (x *JoinRoomFail) GetConfId() string {
	if x != nil {
		return x.ConfId
	}
	return ""
}

func (x *JoinRoomFail) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type ReqInsufficientPoints struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GameId          string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
	UserId          string `protobuf:"bytes,2,opt,name=userId,proto3" json:"userId,omitempty"`
	AvailableAmount int32  `protobuf:"varint,3,opt,name=AvailableAmount,proto3" json:"AvailableAmount,omitempty"`
	RequiredAmount  int32  `protobuf:"varint,4,opt,name=RequiredAmount,proto3" json:"RequiredAmount,omitempty"`
}

func (x *ReqInsufficientPoints) Reset() {
	*x = ReqInsufficientPoints{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqInsufficientPoints) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqInsufficientPoints) ProtoMessage() {}

func (x *ReqInsufficientPoints) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqInsufficientPoints.ProtoReflect.Descriptor instead.
func (*ReqInsufficientPoints) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{8}
}

func (x *ReqInsufficientPoints) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

func (x *ReqInsufficientPoints) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ReqInsufficientPoints) GetAvailableAmount() int32 {
	if x != nil {
		return x.AvailableAmount
	}
	return 0
}

func (x *ReqInsufficientPoints) GetRequiredAmount() int32 {
	if x != nil {
		return x.RequiredAmount
	}
	return 0
}

// 加入房间
type ResJoinRoom struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
	ConfId string `protobuf:"bytes,2,opt,name=confId,proto3" json:"confId,omitempty"`
	GameId string `protobuf:"bytes,3,opt,name=gameId,proto3" json:"gameId,omitempty"`
}

func (x *ResJoinRoom) Reset() {
	*x = ResJoinRoom{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResJoinRoom) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResJoinRoom) ProtoMessage() {}

func (x *ResJoinRoom) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ResJoinRoom.ProtoReflect.Descriptor instead.
func (*ResJoinRoom) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{9}
}

func (x *ResJoinRoom) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ResJoinRoom) GetConfId() string {
	if x != nil {
		return x.ConfId
	}
	return ""
}

func (x *ResJoinRoom) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

// 房间相应房间信息
type ReqJoinRoom struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserId   string   `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
	RoomId   string   `protobuf:"bytes,2,opt,name=roomId,proto3" json:"roomId,omitempty"`
	GameId   string   `protobuf:"bytes,3,opt,name=gameId,proto3" json:"gameId,omitempty"`
	SitPos   int32    `protobuf:"varint,4,opt,name=sitPos,proto3" json:"sitPos,omitempty"`
	RoomInfo *ReqRoom `protobuf:"bytes,5,opt,name=roomInfo,proto3" json:"roomInfo,omitempty"`
}

func (x *ReqJoinRoom) Reset() {
	*x = ReqJoinRoom{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqJoinRoom) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqJoinRoom) ProtoMessage() {}

func (x *ReqJoinRoom) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqJoinRoom.ProtoReflect.Descriptor instead.
func (*ReqJoinRoom) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{10}
}

func (x *ReqJoinRoom) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *ReqJoinRoom) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *ReqJoinRoom) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

func (x *ReqJoinRoom) GetSitPos() int32 {
	if x != nil {
		return x.SitPos
	}
	return 0
}

func (x *ReqJoinRoom) GetRoomInfo() *ReqRoom {
	if x != nil {
		return x.RoomInfo
	}
	return nil
}

// 下一回合
type NextRound struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Info *ReqJoinRoom `protobuf:"bytes,1,opt,name=Info,proto3,oneof" json:"Info,omitempty"`
}

func (x *NextRound) Reset() {
	*x = NextRound{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NextRound) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NextRound) ProtoMessage() {}

func (x *NextRound) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 NextRound.ProtoReflect.Descriptor instead.
func (*NextRound) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{11}
}

func (x *NextRound) GetInfo() *ReqJoinRoom {
	if x != nil {
		return x.Info
	}
	return nil
}

// 玩法列表
type PlayList struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *PlayList) Reset() {
	*x = PlayList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PlayList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PlayList) ProtoMessage() {}

func (x *PlayList) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 PlayList.ProtoReflect.Descriptor instead.
func (*PlayList) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{12}
}

func (x *PlayList) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

// 商城
type Shop struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserId string `protobuf:"bytes,1,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *Shop) Reset() {
	*x = Shop{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Shop) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Shop) ProtoMessage() {}

func (x *Shop) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 Shop.ProtoReflect.Descriptor instead.
func (*Shop) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{13}
}

func (x *Shop) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type ResGameInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GameId string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
}

func (x *ResGameInfo) Reset() {
	*x = ResGameInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResGameInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResGameInfo) ProtoMessage() {}

func (x *ResGameInfo) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ResGameInfo.ProtoReflect.Descriptor instead.
func (*ResGameInfo) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{14}
}

func (x *ResGameInfo) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

type ResRoomID struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GameId string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
	ConfId string `protobuf:"bytes,2,opt,name=confId,proto3" json:"confId,omitempty"`
	UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *ResRoomID) Reset() {
	*x = ResRoomID{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResRoomID) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResRoomID) ProtoMessage() {}

func (x *ResRoomID) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ResRoomID.ProtoReflect.Descriptor instead.
func (*ResRoomID) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{15}
}

func (x *ResRoomID) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

func (x *ResRoomID) GetConfId() string {
	if x != nil {
		return x.ConfId
	}
	return ""
}

func (x *ResRoomID) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type ReqRoomID struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GameId string `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
	RoomId string `protobuf:"bytes,2,opt,name=roomId,proto3" json:"roomId,omitempty"`
	UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *ReqRoomID) Reset() {
	*x = ReqRoomID{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqRoomID) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqRoomID) ProtoMessage() {}

func (x *ReqRoomID) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqRoomID.ProtoReflect.Descriptor instead.
func (*ReqRoomID) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{16}
}

func (x *ReqRoomID) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

func (x *ReqRoomID) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *ReqRoomID) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type ResBet struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	MinBlindBet int32 `protobuf:"varint,1,opt,name=minBlindBet,proto3" json:"minBlindBet,omitempty"`
	MaxBlindBet int32 `protobuf:"varint,2,opt,name=maxBlindBet,proto3" json:"maxBlindBet,omitempty"`
	MinCheelBet int32 `protobuf:"varint,3,opt,name=minCheelBet,proto3" json:"minCheelBet,omitempty"`
	MaxCheelBet int32 `protobuf:"varint,4,opt,name=maxCheelBet,proto3" json:"maxCheelBet,omitempty"`
	RoomMinBet  int32 `protobuf:"varint,5,opt,name=roomMinBet,proto3" json:"roomMinBet,omitempty"`
	RoomMaxBet  int32 `protobuf:"varint,6,opt,name=roomMaxBet,proto3" json:"roomMaxBet,omitempty"`
}

func (x *ResBet) Reset() {
	*x = ResBet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResBet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResBet) ProtoMessage() {}

func (x *ResBet) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ResBet.ProtoReflect.Descriptor instead.
func (*ResBet) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{17}
}

func (x *ResBet) GetMinBlindBet() int32 {
	if x != nil {
		return x.MinBlindBet
	}
	return 0
}

func (x *ResBet) GetMaxBlindBet() int32 {
	if x != nil {
		return x.MaxBlindBet
	}
	return 0
}

func (x *ResBet) GetMinCheelBet() int32 {
	if x != nil {
		return x.MinCheelBet
	}
	return 0
}

func (x *ResBet) GetMaxCheelBet() int32 {
	if x != nil {
		return x.MaxCheelBet
	}
	return 0
}

func (x *ResBet) GetRoomMinBet() int32 {
	if x != nil {
		return x.RoomMinBet
	}
	return 0
}

func (x *ResBet) GetRoomMaxBet() int32 {
	if x != nil {
		return x.RoomMaxBet
	}
	return 0
}

type ReqGameInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GameId            string             `protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
	GameName          string             `protobuf:"bytes,2,opt,name=gameName,proto3" json:"gameName,omitempty"`
	GameStatus        string             `protobuf:"bytes,4,opt,name=gameStatus,proto3" json:"gameStatus,omitempty"`
	GameType          string             `protobuf:"bytes,5,opt,name=gameType,proto3" json:"gameType,omitempty"`
	TeenPattiRoomList *TeenPattiRoomList `protobuf:"bytes,6,opt,name=teenPattiRoomList,proto3" json:"teenPattiRoomList,omitempty"`
}

func (x *ReqGameInfo) Reset() {
	*x = ReqGameInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqGameInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqGameInfo) ProtoMessage() {}

func (x *ReqGameInfo) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqGameInfo.ProtoReflect.Descriptor instead.
func (*ReqGameInfo) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{18}
}

func (x *ReqGameInfo) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

func (x *ReqGameInfo) GetGameName() string {
	if x != nil {
		return x.GameName
	}
	return ""
}

func (x *ReqGameInfo) GetGameStatus() string {
	if x != nil {
		return x.GameStatus
	}
	return ""
}

func (x *ReqGameInfo) GetGameType() string {
	if x != nil {
		return x.GameType
	}
	return ""
}

func (x *ReqGameInfo) GetTeenPattiRoomList() *TeenPattiRoomList {
	if x != nil {
		return x.TeenPattiRoomList
	}
	return nil
}

type TeenPattiRoomList struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TeenPattiRoom []*TeenPattiRoom `protobuf:"bytes,1,rep,name=teenPattiRoom,proto3" json:"teenPattiRoom,omitempty"`
}

func (x *TeenPattiRoomList) Reset() {
	*x = TeenPattiRoomList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TeenPattiRoomList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TeenPattiRoomList) ProtoMessage() {}

func (x *TeenPattiRoomList) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 TeenPattiRoomList.ProtoReflect.Descriptor instead.
func (*TeenPattiRoomList) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{19}
}

func (x *TeenPattiRoomList) GetTeenPattiRoom() []*TeenPattiRoom {
	if x != nil {
		return x.TeenPattiRoom
	}
	return nil
}

type TeenPattiRoom struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Boot         string `protobuf:"bytes,1,opt,name=boot,proto3" json:"boot,omitempty"`                 //1
	MinBuyin     string `protobuf:"bytes,2,opt,name=minBuyin,proto3" json:"minBuyin,omitempty"`         // 1
	ChaalLimmit  string `protobuf:"bytes,3,opt,name=chaalLimmit,proto3" json:"chaalLimmit,omitempty"`   // 128
	PotLimit     string `protobuf:"bytes,4,opt,name=potLimit,proto3" json:"potLimit,omitempty"`         //1024
	TotalPlayers string `protobuf:"bytes,5,opt,name=totalPlayers,proto3" json:"totalPlayers,omitempty"` // 3999
	RoomLevel    string `protobuf:"bytes,6,opt,name=roomLevel,proto3" json:"roomLevel,omitempty"`       //low - mid - high
	ConfId       string `protobuf:"bytes,7,opt,name=confId,proto3" json:"confId,omitempty"`
	Type         string `protobuf:"bytes,8,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *TeenPattiRoom) Reset() {
	*x = TeenPattiRoom{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TeenPattiRoom) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TeenPattiRoom) ProtoMessage() {}

func (x *TeenPattiRoom) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 TeenPattiRoom.ProtoReflect.Descriptor instead.
func (*TeenPattiRoom) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{20}
}

func (x *TeenPattiRoom) GetBoot() string {
	if x != nil {
		return x.Boot
	}
	return ""
}

func (x *TeenPattiRoom) GetMinBuyin() string {
	if x != nil {
		return x.MinBuyin
	}
	return ""
}

func (x *TeenPattiRoom) GetChaalLimmit() string {
	if x != nil {
		return x.ChaalLimmit
	}
	return ""
}

func (x *TeenPattiRoom) GetPotLimit() string {
	if x != nil {
		return x.PotLimit
	}
	return ""
}

func (x *TeenPattiRoom) GetTotalPlayers() string {
	if x != nil {
		return x.TotalPlayers
	}
	return ""
}

func (x *TeenPattiRoom) GetRoomLevel() string {
	if x != nil {
		return x.RoomLevel
	}
	return ""
}

func (x *TeenPattiRoom) GetConfId() string {
	if x != nil {
		return x.ConfId
	}
	return ""
}

func (x *TeenPattiRoom) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

// 通知客户端发牌
type ReqDealCard struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SitPos *int32 `protobuf:"varint,1,opt,name=sitPos,proto3,oneof" json:"sitPos,omitempty"`
	Index  *int32 `protobuf:"varint,2,opt,name=index,proto3,oneof" json:"index,omitempty"`
}

func (x *ReqDealCard) Reset() {
	*x = ReqDealCard{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqDealCard) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqDealCard) ProtoMessage() {}

func (x *ReqDealCard) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqDealCard.ProtoReflect.Descriptor instead.
func (*ReqDealCard) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{21}
}

func (x *ReqDealCard) GetSitPos() int32 {
	if x != nil && x.SitPos != nil {
		return *x.SitPos
	}
	return 0
}

func (x *ReqDealCard) GetIndex() int32 {
	if x != nil && x.Index != nil {
		return *x.Index
	}
	return 0
}

// 通知客户端操作
type ReqPlayerAction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SitPos    int32      `protobuf:"varint,1,opt,name=sitPos,proto3" json:"sitPos,omitempty"`
	PlayerOpt *PlayerOpt `protobuf:"bytes,2,opt,name=playerOpt,proto3" json:"playerOpt,omitempty"`
	ResBet    *ResBet    `protobuf:"bytes,3,opt,name=resBet,proto3" json:"resBet,omitempty"`
}

func (x *ReqPlayerAction) Reset() {
	*x = ReqPlayerAction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqPlayerAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqPlayerAction) ProtoMessage() {}

func (x *ReqPlayerAction) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqPlayerAction.ProtoReflect.Descriptor instead.
func (*ReqPlayerAction) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{22}
}

func (x *ReqPlayerAction) GetSitPos() int32 {
	if x != nil {
		return x.SitPos
	}
	return 0
}

func (x *ReqPlayerAction) GetPlayerOpt() *PlayerOpt {
	if x != nil {
		return x.PlayerOpt
	}
	return nil
}

func (x *ReqPlayerAction) GetResBet() *ResBet {
	if x != nil {
		return x.ResBet
	}
	return nil
}

// 接到玩家操作
type ResPlayerOptAction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SitPos    int32      `protobuf:"varint,1,opt,name=sitPos,proto3" json:"sitPos,omitempty"`
	PlayerOpt *PlayerOpt `protobuf:"bytes,2,opt,name=playerOpt,proto3" json:"playerOpt,omitempty"`
	RoomId    string     `protobuf:"bytes,3,opt,name=roomId,proto3" json:"roomId,omitempty"`
	GameId    string     `protobuf:"bytes,4,opt,name=gameId,proto3" json:"gameId,omitempty"`
	UserId    string     `protobuf:"bytes,5,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *ResPlayerOptAction) Reset() {
	*x = ResPlayerOptAction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResPlayerOptAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResPlayerOptAction) ProtoMessage() {}

func (x *ResPlayerOptAction) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ResPlayerOptAction.ProtoReflect.Descriptor instead.
func (*ResPlayerOptAction) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{23}
}

func (x *ResPlayerOptAction) GetSitPos() int32 {
	if x != nil {
		return x.SitPos
	}
	return 0
}

func (x *ResPlayerOptAction) GetPlayerOpt() *PlayerOpt {
	if x != nil {
		return x.PlayerOpt
	}
	return nil
}

func (x *ResPlayerOptAction) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *ResPlayerOptAction) GetGameId() string {
	if x != nil {
		return x.GameId
	}
	return ""
}

func (x *ResPlayerOptAction) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type SiteShowResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// 回合数
	Round int32 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"`
	// 回合座位
	RoundSitPos int32      `protobuf:"varint,2,opt,name=roundSitPos,proto3" json:"roundSitPos,omitempty"`
	SeenCards   []*ReqCard `protobuf:"bytes,3,rep,name=seenCards,proto3" json:"seenCards,omitempty"` // 看牌的牌
	// 用户id
	UserId string `protobuf:"bytes,4,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *SiteShowResult) Reset() {
	*x = SiteShowResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SiteShowResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SiteShowResult) ProtoMessage() {}

func (x *SiteShowResult) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 SiteShowResult.ProtoReflect.Descriptor instead.
func (*SiteShowResult) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{24}
}

func (x *SiteShowResult) GetRound() int32 {
	if x != nil {
		return x.Round
	}
	return 0
}

func (x *SiteShowResult) GetRoundSitPos() int32 {
	if x != nil {
		return x.RoundSitPos
	}
	return 0
}

func (x *SiteShowResult) GetSeenCards() []*ReqCard {
	if x != nil {
		return x.SeenCards
	}
	return nil
}

func (x *SiteShowResult) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

type PlayerOpt struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	OptType   PlayerOptType `protobuf:"varint,1,opt,name=opt_type,json=optType,proto3,enum=PlayerOptType" json:"opt_type,omitempty"` // 操作类型
	BetAmount int32         `protobuf:"varint,2,opt,name=bet_amount,json=betAmount,proto3" json:"bet_amount,omitempty"`              // 下注金额
	Timestamp int64         `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`                               // 操作时间戳
	SeenCards []*ReqCard    `protobuf:"bytes,4,rep,name=seenCards,proto3" json:"seenCards,omitempty"`                                // 看牌的牌
}

func (x *PlayerOpt) Reset() {
	*x = PlayerOpt{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PlayerOpt) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PlayerOpt) ProtoMessage() {}

func (x *PlayerOpt) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 PlayerOpt.ProtoReflect.Descriptor instead.
func (*PlayerOpt) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{25}
}

func (x *PlayerOpt) GetOptType() PlayerOptType {
	if x != nil {
		return x.OptType
	}
	return PlayerOptType_OPT_NONE
}

func (x *PlayerOpt) GetBetAmount() int32 {
	if x != nil {
		return x.BetAmount
	}
	return 0
}

func (x *PlayerOpt) GetTimestamp() int64 {
	if x != nil {
		return x.Timestamp
	}
	return 0
}

func (x *PlayerOpt) GetSeenCards() []*ReqCard {
	if x != nil {
		return x.SeenCards
	}
	return nil
}

type ReqRoom struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id         string        `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
	ReqPlayers []*ReqPlayer  `protobuf:"bytes,2,rep,name=ReqPlayers,proto3" json:"ReqPlayers,omitempty"`
	Status     int32         `protobuf:"varint,3,opt,name=Status,proto3" json:"Status,omitempty"`
	Round      int32         `protobuf:"varint,4,opt,name=Round,proto3" json:"Round,omitempty"`
	GameRound  *ReqGameRound `protobuf:"bytes,5,opt,name=GameRound,proto3" json:"GameRound,omitempty"`
	BetInfo    *ResBet       `protobuf:"bytes,6,opt,name=BetInfo,proto3" json:"BetInfo,omitempty"`
}

func (x *ReqRoom) Reset() {
	*x = ReqRoom{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqRoom) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqRoom) ProtoMessage() {}

func (x *ReqRoom) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqRoom.ProtoReflect.Descriptor instead.
func (*ReqRoom) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{26}
}

func (x *ReqRoom) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReqRoom) GetReqPlayers() []*ReqPlayer {
	if x != nil {
		return x.ReqPlayers
	}
	return nil
}

func (x *ReqRoom) GetStatus() int32 {
	if x != nil {
		return x.Status
	}
	return 0
}

func (x *ReqRoom) GetRound() int32 {
	if x != nil {
		return x.Round
	}
	return 0
}

func (x *ReqRoom) GetGameRound() *ReqGameRound {
	if x != nil {
		return x.GameRound
	}
	return nil
}

func (x *ReqRoom) GetBetInfo() *ResBet {
	if x != nil {
		return x.BetInfo
	}
	return nil
}

type ReqCard struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Color int32 `protobuf:"varint,1,opt,name=Color,proto3" json:"Color,omitempty"`
	Point int32 `protobuf:"varint,2,opt,name=Point,proto3" json:"Point,omitempty"`
}

func (x *ReqCard) Reset() {
	*x = ReqCard{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqCard) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqCard) ProtoMessage() {}

func (x *ReqCard) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqCard.ProtoReflect.Descriptor instead.
func (*ReqCard) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{27}
}

func (x *ReqCard) GetColor() int32 {
	if x != nil {
		return x.Color
	}
	return 0
}

func (x *ReqCard) GetPoint() int32 {
	if x != nil {
		return x.Point
	}
	return 0
}

type ReqPlayer struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id        string     `protobuf:"bytes,1,opt,name=Id,proto3" json:"Id,omitempty"`
	HandCards []*ReqCard `protobuf:"bytes,2,rep,name=HandCards,proto3" json:"HandCards,omitempty"`
	SitPos    *int32     `protobuf:"varint,3,opt,name=SitPos,proto3,oneof" json:"SitPos,omitempty"`
	IsDealer  *bool      `protobuf:"varint,4,opt,name=IsDealer,proto3,oneof" json:"IsDealer,omitempty"`
	IsSeen    *bool      `protobuf:"varint,5,opt,name=IsSeen,proto3,oneof" json:"IsSeen,omitempty"`
	IsPacked  *bool      `protobuf:"varint,6,opt,name=IsPacked,proto3,oneof" json:"IsPacked,omitempty"`
	IsShow    *bool      `protobuf:"varint,7,opt,name=IsShow,proto3,oneof" json:"IsShow,omitempty"`
	CanShow   *bool      `protobuf:"varint,8,opt,name=CanShow,proto3,oneof" json:"CanShow,omitempty"`
	Nickname  *string    `protobuf:"bytes,9,opt,name=Nickname,proto3,oneof" json:"Nickname,omitempty"`
	Avatar    *string    `protobuf:"bytes,10,opt,name=Avatar,proto3,oneof" json:"Avatar,omitempty"`
}

func (x *ReqPlayer) Reset() {
	*x = ReqPlayer{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqPlayer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqPlayer) ProtoMessage() {}

func (x *ReqPlayer) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqPlayer.ProtoReflect.Descriptor instead.
func (*ReqPlayer) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{28}
}

func (x *ReqPlayer) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReqPlayer) GetHandCards() []*ReqCard {
	if x != nil {
		return x.HandCards
	}
	return nil
}

func (x *ReqPlayer) GetSitPos() int32 {
	if x != nil && x.SitPos != nil {
		return *x.SitPos
	}
	return 0
}

func (x *ReqPlayer) GetIsDealer() bool {
	if x != nil && x.IsDealer != nil {
		return *x.IsDealer
	}
	return false
}

func (x *ReqPlayer) GetIsSeen() bool {
	if x != nil && x.IsSeen != nil {
		return *x.IsSeen
	}
	return false
}

func (x *ReqPlayer) GetIsPacked() bool {
	if x != nil && x.IsPacked != nil {
		return *x.IsPacked
	}
	return false
}

func (x *ReqPlayer) GetIsShow() bool {
	if x != nil && x.IsShow != nil {
		return *x.IsShow
	}
	return false
}

func (x *ReqPlayer) GetCanShow() bool {
	if x != nil && x.CanShow != nil {
		return *x.CanShow
	}
	return false
}

func (x *ReqPlayer) GetNickname() string {
	if x != nil && x.Nickname != nil {
		return *x.Nickname
	}
	return ""
}

func (x *ReqPlayer) GetAvatar() string {
	if x != nil && x.Avatar != nil {
		return *x.Avatar
	}
	return ""
}

type ReqPlayerList struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ReqPlayers []*ReqPlayer `protobuf:"bytes,1,rep,name=ReqPlayers,proto3" json:"ReqPlayers,omitempty"`
}

func (x *ReqPlayerList) Reset() {
	*x = ReqPlayerList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqPlayerList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqPlayerList) ProtoMessage() {}

func (x *ReqPlayerList) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqPlayerList.ProtoReflect.Descriptor instead.
func (*ReqPlayerList) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{29}
}

func (x *ReqPlayerList) GetReqPlayers() []*ReqPlayer {
	if x != nil {
		return x.ReqPlayers
	}
	return nil
}

type ReqGameRound struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Rounds []*ReqRound `protobuf:"bytes,1,rep,name=Rounds,proto3" json:"Rounds,omitempty"`
}

func (x *ReqGameRound) Reset() {
	*x = ReqGameRound{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqGameRound) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqGameRound) ProtoMessage() {}

func (x *ReqGameRound) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqGameRound.ProtoReflect.Descriptor instead.
func (*ReqGameRound) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{30}
}

func (x *ReqGameRound) GetRounds() []*ReqRound {
	if x != nil {
		return x.Rounds
	}
	return nil
}

type ReqBet struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BetAmount *int32 `protobuf:"varint,1,opt,name=betAmount,proto3,oneof" json:"betAmount,omitempty"`
}

func (x *ReqBet) Reset() {
	*x = ReqBet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqBet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqBet) ProtoMessage() {}

func (x *ReqBet) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqBet.ProtoReflect.Descriptor instead.
func (*ReqBet) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{31}
}

func (x *ReqBet) GetBetAmount() int32 {
	if x != nil && x.BetAmount != nil {
		return *x.BetAmount
	}
	return 0
}

type ReqResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	RoundSitPos *int32 `protobuf:"varint,1,opt,name=roundSitPos,proto3,oneof" json:"roundSitPos,omitempty"`
	Result      *int32 `protobuf:"varint,2,opt,name=result,proto3,oneof" json:"result,omitempty"`
}

func (x *ReqResult) Reset() {
	*x = ReqResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqResult) ProtoMessage() {}

func (x *ReqResult) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqResult.ProtoReflect.Descriptor instead.
func (*ReqResult) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{32}
}

func (x *ReqResult) GetRoundSitPos() int32 {
	if x != nil && x.RoundSitPos != nil {
		return *x.RoundSitPos
	}
	return 0
}

func (x *ReqResult) GetResult() int32 {
	if x != nil && x.Result != nil {
		return *x.Result
	}
	return 0
}

type ReqRound struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// 回合数
	Round int32 `protobuf:"varint,1,opt,name=round,proto3" json:"round,omitempty"`
	// 回合座位
	RoundSitPos int32 `protobuf:"varint,2,opt,name=roundSitPos,proto3" json:"roundSitPos,omitempty"`
	// 回合操作
	PlayerOpt *PlayerOpt `protobuf:"bytes,3,opt,name=playerOpt,proto3" json:"playerOpt,omitempty"`
	// 用户id
	UserId string `protobuf:"bytes,4,opt,name=userId,proto3" json:"userId,omitempty"`
}

func (x *ReqRound) Reset() {
	*x = ReqRound{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqRound) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqRound) ProtoMessage() {}

func (x *ReqRound) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqRound.ProtoReflect.Descriptor instead.
func (*ReqRound) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{33}
}

func (x *ReqRound) GetRound() int32 {
	if x != nil {
		return x.Round
	}
	return 0
}

func (x *ReqRound) GetRoundSitPos() int32 {
	if x != nil {
		return x.RoundSitPos
	}
	return 0
}

func (x *ReqRound) GetPlayerOpt() *PlayerOpt {
	if x != nil {
		return x.PlayerOpt
	}
	return nil
}

func (x *ReqRound) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

// error
type MsgError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ErrorCode int32  `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
	ErrorMsg  string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg,proto3" json:"error_msg,omitempty"`
}

func (x *MsgError) Reset() {
	*x = MsgError{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgError) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgError) ProtoMessage() {}

func (x *MsgError) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 MsgError.ProtoReflect.Descriptor instead.
func (*MsgError) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{34}
}

func (x *MsgError) GetErrorCode() int32 {
	if x != nil {
		return x.ErrorCode
	}
	return 0
}

func (x *MsgError) GetErrorMsg() string {
	if x != nil {
		return x.ErrorMsg
	}
	return ""
}

type Hello struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *Hello) Reset() {
	*x = Hello{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Hello) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Hello) ProtoMessage() {}

func (x *Hello) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 Hello.ProtoReflect.Descriptor instead.
func (*Hello) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{35}
}

func (x *Hello) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type ReqRoomTipsMessage struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
}

func (x *ReqRoomTipsMessage) Reset() {
	*x = ReqRoomTipsMessage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqRoomTipsMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqRoomTipsMessage) ProtoMessage() {}

func (x *ReqRoomTipsMessage) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqRoomTipsMessage.ProtoReflect.Descriptor instead.
func (*ReqRoomTipsMessage) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{36}
}

func (x *ReqRoomTipsMessage) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

type ResHeartBeat struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
}

func (x *ResHeartBeat) Reset() {
	*x = ResHeartBeat{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResHeartBeat) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResHeartBeat) ProtoMessage() {}

func (x *ResHeartBeat) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ResHeartBeat.ProtoReflect.Descriptor instead.
func (*ResHeartBeat) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{37}
}

func (x *ResHeartBeat) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

type ReqHeartBeat struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
}

func (x *ReqHeartBeat) Reset() {
	*x = ReqHeartBeat{}
	if protoimpl.UnsafeEnabled {
		mi := &file_common_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReqHeartBeat) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReqHeartBeat) ProtoMessage() {}

func (x *ReqHeartBeat) ProtoReflect() protoreflect.Message {
	mi := &file_common_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 ReqHeartBeat.ProtoReflect.Descriptor instead.
func (*ReqHeartBeat) Descriptor() ([]byte, []int) {
	return file_common_proto_rawDescGZIP(), []int{38}
}

func (x *ReqHeartBeat) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

var File_common_proto protoreflect.FileDescriptor

var file_common_proto_rawDesc = []byte{
	0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e,
	0x0a, 0x08, 0x52, 0x65, 0x73, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73,
	0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x6b, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x6b, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x63,
	0x0a, 0x0f, 0x53, 0x69, 0x74, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x69,
	0x74, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x49, 0x6e, 0x69, 0x74,
	0x69, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x4f,
	0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0e, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x74,
	0x50, 0x6f, 0x73, 0x22, 0x55, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x6f,
	0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x6f, 0x69, 0x6e,
	0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x08, 0x52,
	0x65, 0x71, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x6b, 0x65, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x6b, 0x65, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67,
	0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4d, 0x73, 0x67,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x73, 0x22, 0x23, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x61, 0x6c,
	0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x09, 0x4c, 0x65, 0x61,
	0x76, 0x65, 0x48, 0x61, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x78,
	0x0a, 0x0c, 0x52, 0x65, 0x71, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16,
	0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16,
	0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x52,
	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x65, 0x61,
	0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x56, 0x0a, 0x0c, 0x4a, 0x6f, 0x69, 0x6e,
	0x52, 0x6f, 0x6f, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64,
	0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72,
	0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
	0x22, 0x99, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x49, 0x6e, 0x73, 0x75, 0x66, 0x66, 0x69, 0x63,
	0x69, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61,
	0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65,
	0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x76,
	0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0f, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
	0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x52, 0x65,
	0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x0b,
	0x52, 0x65, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x75,
	0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67,
	0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d,
	0x65, 0x49, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4a, 0x6f, 0x69, 0x6e, 0x52,
	0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72,
	0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f,
	0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73,
	0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x69, 0x74,
	0x50, 0x6f, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x6f, 0x6d, 0x52,
	0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3b, 0x0a, 0x09, 0x4e, 0x65, 0x78,
	0x74, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x52, 0x65, 0x71, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x6f,
	0x6f, 0x6d, 0x48, 0x00, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a,
	0x05, 0x5f, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x22, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x4c, 0x69,
	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x04, 0x53, 0x68,
	0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x0b, 0x52, 0x65,
	0x73, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d,
	0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49,
	0x64, 0x22, 0x53, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x44, 0x12, 0x16,
	0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x49, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x16,
	0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x6f,
	0x6d, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72,
	0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f,
	0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd0, 0x01, 0x0a, 0x06,
	0x52, 0x65, 0x73, 0x42, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x42, 0x6c, 0x69,
	0x6e, 0x64, 0x42, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e,
	0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x42,
	0x6c, 0x69, 0x6e, 0x64, 0x42, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d,
	0x61, 0x78, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x69,
	0x6e, 0x43, 0x68, 0x65, 0x65, 0x6c, 0x42, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x0b, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x65, 0x65, 0x6c, 0x42, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b,
	0x6d, 0x61, 0x78, 0x43, 0x68, 0x65, 0x65, 0x6c, 0x42, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x43, 0x68, 0x65, 0x65, 0x6c, 0x42, 0x65, 0x74, 0x12, 0x1e,
	0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x69, 0x6e, 0x42, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x69, 0x6e, 0x42, 0x65, 0x74, 0x12, 0x1e,
	0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x78, 0x42, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x61, 0x78, 0x42, 0x65, 0x74, 0x22, 0xbf,
	0x01, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16,
	0x0a, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61,
	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40,
	0x0a, 0x11, 0x74, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x4c,
	0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x54, 0x65, 0x65, 0x6e,
	0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x11, 0x74,
	0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73, 0x74,
	0x22, 0x49, 0x0a, 0x11, 0x54, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f,
	0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x74, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74,
	0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x54,
	0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x0d, 0x74, 0x65,
	0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x22, 0xeb, 0x01, 0x0a, 0x0d,
	0x54, 0x65, 0x65, 0x6e, 0x50, 0x61, 0x74, 0x74, 0x69, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x12, 0x0a,
	0x04, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x6f,
	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x75, 0x79, 0x69, 0x6e, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x42, 0x75, 0x79, 0x69, 0x6e, 0x12, 0x20, 0x0a,
	0x0b, 0x63, 0x68, 0x61, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x6d, 0x69, 0x74, 0x12,
	0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x70, 0x6f, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12,
	0x1c, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a,
	0x06, 0x63, 0x6f, 0x6e, 0x66, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63,
	0x6f, 0x6e, 0x66, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5a, 0x0a, 0x0b, 0x52, 0x65, 0x71,
	0x44, 0x65, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x50,
	0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x74, 0x50,
	0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01,
	0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f,
	0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x74, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79,
	0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x50,
	0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73,
	0x12, 0x28, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x52,
	0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x65,
	0x73, 0x42, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x52, 0x65, 0x73,
	0x42, 0x65, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x42, 0x65, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x12,
	0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x41, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x06, 0x73, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6c,
	0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e,
	0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65,
	0x72, 0x4f, 0x70, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
	0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x61,
	0x6d, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a,
	0x0e, 0x53, 0x69, 0x74, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
	0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
	0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x69,
	0x74, 0x50, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x6e,
	0x64, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x09, 0x73, 0x65, 0x65, 0x6e, 0x43,
	0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x52, 0x65, 0x71,
	0x43, 0x61, 0x72, 0x64, 0x52, 0x09, 0x73, 0x65, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12,
	0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x79,
	0x65, 0x72, 0x4f, 0x70, 0x74, 0x12, 0x29, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
	0x4f, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12,
	0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a,
	0x09, 0x73, 0x65, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x08, 0x2e, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x52, 0x09, 0x73, 0x65, 0x65, 0x6e,
	0x43, 0x61, 0x72, 0x64, 0x73, 0x22, 0xc3, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x6f,
	0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49,
	0x64, 0x12, 0x2a, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65,
	0x72, 0x52, 0x0a, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a,
	0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x09, 0x47,
	0x61, 0x6d, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
	0x2e, 0x52, 0x65, 0x71, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x09, 0x47,
	0x61, 0x6d, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x07, 0x42, 0x65, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x52, 0x65, 0x73, 0x42,
	0x65, 0x74, 0x52, 0x07, 0x42, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x35, 0x0a, 0x07, 0x52,
	0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05,
	0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x6f, 0x69,
	0x6e, 0x74, 0x22, 0x98, 0x03, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
	0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64,
	0x12, 0x26, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x52, 0x09, 0x48,
	0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x53, 0x69, 0x74, 0x50,
	0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x53, 0x69, 0x74, 0x50,
	0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x49, 0x73, 0x44, 0x65, 0x61, 0x6c, 0x65,
	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x49, 0x73, 0x44, 0x65, 0x61,
	0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x65, 0x65, 0x6e,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x06, 0x49, 0x73, 0x53, 0x65, 0x65, 0x6e,
	0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x49, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65,
	0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x88, 0x01,
	0x01, 0x12, 0x1d, 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x08, 0x48, 0x05, 0x52, 0x07, 0x43, 0x61, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x88, 0x01, 0x01,
	0x12, 0x1f, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01,
	0x01, 0x12, 0x1b, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x07, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09,
	0x0a, 0x07, 0x5f, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x49, 0x73,
	0x44, 0x65, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x49, 0x73, 0x53, 0x65, 0x65,
	0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x49, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x09,
	0x0a, 0x07, 0x5f, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x43, 0x61,
	0x6e, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
	0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x22, 0x3b, 0x0a,
	0x0d, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a,
	0x0a, 0x0a, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0a,
	0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x31, 0x0a, 0x0c, 0x52, 0x65,
	0x71, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x06, 0x52, 0x6f,
	0x75, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x52, 0x65, 0x71,
	0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x06, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x22, 0x39, 0x0a,
	0x06, 0x52, 0x65, 0x71, 0x42, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x62, 0x65, 0x74, 0x41, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x62, 0x65,
	0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x62,
	0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6a, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x52,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x69,
	0x74, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f,
	0x75, 0x6e, 0x64, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x06,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x6f,
	0x75, 0x6e, 0x64, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x75, 0x6e,
	0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64,
	0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x6f,
	0x75, 0x6e, 0x64, 0x53, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6c, 0x61,
	0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x50,
	0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
	0x4f, 0x70, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x08, 0x4d,
	0x73, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
	0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x4d, 0x73, 0x67, 0x22, 0x1b, 0x0a, 0x05, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x12, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x22, 0x26, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x69, 0x70, 0x73, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x20, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x48,
	0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x20, 0x0a, 0x0c, 0x52, 0x65,
	0x71, 0x48, 0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73,
	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x2a, 0xde, 0x01, 0x0a,
	0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c,
	0x0a, 0x08, 0x4f, 0x50, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08,
	0x4f, 0x50, 0x54, 0x5f, 0x53, 0x45, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50,
	0x54, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50,
	0x54, 0x5f, 0x43, 0x48, 0x41, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x50, 0x54,
	0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x44, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x54, 0x5f,
	0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x54, 0x5f,
	0x53, 0x48, 0x4f, 0x57, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x54, 0x5f, 0x41, 0x4e,
	0x54, 0x45, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x54, 0x5f, 0x53, 0x49, 0x54, 0x45,
	0x53, 0x48, 0x4f, 0x57, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x54, 0x5f, 0x52, 0x45,
	0x46, 0x55, 0x53, 0x45, 0x53, 0x49, 0x54, 0x45, 0x53, 0x48, 0x4f, 0x57, 0x10, 0x09, 0x12, 0x15,
	0x0a, 0x11, 0x4f, 0x50, 0x54, 0x5f, 0x41, 0x47, 0x52, 0x45, 0x45, 0x53, 0x49, 0x54, 0x45, 0x53,
	0x48, 0x4f, 0x57, 0x10, 0x0a, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x54, 0x5f, 0x53, 0x45, 0x4c,
	0x45, 0x43, 0x54, 0x53, 0x49, 0x54, 0x45, 0x53, 0x48, 0x4f, 0x57, 0x10, 0x0b, 0x42, 0x07, 0x5a,
	0x05, 0x2e, 0x2f, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_common_proto_rawDescOnce sync.Once
	file_common_proto_rawDescData = file_common_proto_rawDesc
)

func file_common_proto_rawDescGZIP() []byte {
	file_common_proto_rawDescOnce.Do(func() {
		file_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_proto_rawDescData)
	})
	return file_common_proto_rawDescData
}

var file_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_common_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_common_proto_goTypes = []interface{}{
	(PlayerOptType)(0),            // 0: PlayerOptType
	(*ResLogin)(nil),              // 1: ResLogin
	(*SiteShowRequest)(nil),       // 2: SiteShowRequest
	(*ReqUserInfo)(nil),           // 3: ReqUserInfo
	(*ReqLogin)(nil),              // 4: ReqLogin
	(*EnterHall)(nil),             // 5: EnterHall
	(*LeaveHall)(nil),             // 6: LeaveHall
	(*ReqLeaveRoom)(nil),          // 7: ReqLeaveRoom
	(*JoinRoomFail)(nil),          // 8: JoinRoomFail
	(*ReqInsufficientPoints)(nil), // 9: ReqInsufficientPoints
	(*ResJoinRoom)(nil),           // 10: ResJoinRoom
	(*ReqJoinRoom)(nil),           // 11: ReqJoinRoom
	(*NextRound)(nil),             // 12: NextRound
	(*PlayList)(nil),              // 13: PlayList
	(*Shop)(nil),                  // 14: Shop
	(*ResGameInfo)(nil),           // 15: ResGameInfo
	(*ResRoomID)(nil),             // 16: ResRoomID
	(*ReqRoomID)(nil),             // 17: ReqRoomID
	(*ResBet)(nil),                // 18: ResBet
	(*ReqGameInfo)(nil),           // 19: ReqGameInfo
	(*TeenPattiRoomList)(nil),     // 20: TeenPattiRoomList
	(*TeenPattiRoom)(nil),         // 21: TeenPattiRoom
	(*ReqDealCard)(nil),           // 22: ReqDealCard
	(*ReqPlayerAction)(nil),       // 23: ReqPlayerAction
	(*ResPlayerOptAction)(nil),    // 24: ResPlayerOptAction
	(*SiteShowResult)(nil),        // 25: SiteShowResult
	(*PlayerOpt)(nil),             // 26: PlayerOpt
	(*ReqRoom)(nil),               // 27: ReqRoom
	(*ReqCard)(nil),               // 28: ReqCard
	(*ReqPlayer)(nil),             // 29: ReqPlayer
	(*ReqPlayerList)(nil),         // 30: ReqPlayerList
	(*ReqGameRound)(nil),          // 31: ReqGameRound
	(*ReqBet)(nil),                // 32: ReqBet
	(*ReqResult)(nil),             // 33: ReqResult
	(*ReqRound)(nil),              // 34: ReqRound
	(*MsgError)(nil),              // 35: MsgError
	(*Hello)(nil),                 // 36: Hello
	(*ReqRoomTipsMessage)(nil),    // 37: ReqRoomTipsMessage
	(*ResHeartBeat)(nil),          // 38: ResHeartBeat
	(*ReqHeartBeat)(nil),          // 39: ReqHeartBeat
}
var file_common_proto_depIdxs = []int32{
	35, // 0: ReqLogin.error:type_name -> MsgError
	27, // 1: ReqJoinRoom.roomInfo:type_name -> ReqRoom
	11, // 2: NextRound.Info:type_name -> ReqJoinRoom
	20, // 3: ReqGameInfo.teenPattiRoomList:type_name -> TeenPattiRoomList
	21, // 4: TeenPattiRoomList.teenPattiRoom:type_name -> TeenPattiRoom
	26, // 5: ReqPlayerAction.playerOpt:type_name -> PlayerOpt
	18, // 6: ReqPlayerAction.resBet:type_name -> ResBet
	26, // 7: ResPlayerOptAction.playerOpt:type_name -> PlayerOpt
	28, // 8: SiteShowResult.seenCards:type_name -> ReqCard
	0,  // 9: PlayerOpt.opt_type:type_name -> PlayerOptType
	28, // 10: PlayerOpt.seenCards:type_name -> ReqCard
	29, // 11: ReqRoom.ReqPlayers:type_name -> ReqPlayer
	31, // 12: ReqRoom.GameRound:type_name -> ReqGameRound
	18, // 13: ReqRoom.BetInfo:type_name -> ResBet
	28, // 14: ReqPlayer.HandCards:type_name -> ReqCard
	29, // 15: ReqPlayerList.ReqPlayers:type_name -> ReqPlayer
	34, // 16: ReqGameRound.Rounds:type_name -> ReqRound
	26, // 17: ReqRound.playerOpt:type_name -> PlayerOpt
	18, // [18:18] is the sub-list for method output_type
	18, // [18:18] is the sub-list for method input_type
	18, // [18:18] is the sub-list for extension type_name
	18, // [18:18] is the sub-list for extension extendee
	0,  // [0:18] is the sub-list for field type_name
}

func init() { file_common_proto_init() }
func file_common_proto_init() {
	if File_common_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResLogin); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SiteShowRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqUserInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqLogin); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EnterHall); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LeaveHall); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqLeaveRoom); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*JoinRoomFail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqInsufficientPoints); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResJoinRoom); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqJoinRoom); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NextRound); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PlayList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Shop); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResGameInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResRoomID); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqRoomID); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResBet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqGameInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TeenPattiRoomList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TeenPattiRoom); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqDealCard); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqPlayerAction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResPlayerOptAction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SiteShowResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PlayerOpt); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqRoom); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqCard); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqPlayer); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqPlayerList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqGameRound); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqBet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqRound); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Hello); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqRoomTipsMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResHeartBeat); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_common_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReqHeartBeat); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_common_proto_msgTypes[11].OneofWrappers = []interface{}{}
	file_common_proto_msgTypes[21].OneofWrappers = []interface{}{}
	file_common_proto_msgTypes[28].OneofWrappers = []interface{}{}
	file_common_proto_msgTypes[31].OneofWrappers = []interface{}{}
	file_common_proto_msgTypes[32].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_common_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   39,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_common_proto_goTypes,
		DependencyIndexes: file_common_proto_depIdxs,
		EnumInfos:         file_common_proto_enumTypes,
		MessageInfos:      file_common_proto_msgTypes,
	}.Build()
	File_common_proto = out.File
	file_common_proto_rawDesc = nil
	file_common_proto_goTypes = nil
	file_common_proto_depIdxs = nil
}
