// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v3.10.1
// source: api/approval/approval.proto

package approval

import (
	_ "github.com/mwitkow/go-proto-validators"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type CommonResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*CommonResponse) ProtoMessage() {}

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

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

	Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	ID     uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"`
	Status uint64 `protobuf:"varint,3,opt,name=Status,proto3" json:"Status,omitempty"`
}

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

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

func (*ChangeBundlePayRequest) ProtoMessage() {}

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

func (x *ChangeBundlePayRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *ChangeBundlePayRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

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

	Domain  string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	UserId  uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"`
	ShowUid string `protobuf:"bytes,3,opt,name=ShowUid,json=showUid,proto3" json:"ShowUid,omitempty"`
}

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

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

func (*IsExistPayRightRequest) ProtoMessage() {}

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

func (x *IsExistPayRightRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *IsExistPayRightRequest) GetUserId() uint64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *IsExistPayRightRequest) GetShowUid() string {
	if x != nil {
		return x.ShowUid
	}
	return ""
}

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

	IsPass bool `protobuf:"varint,1,opt,name=IsPass,json=isPass,proto3" json:"IsPass,omitempty"`
}

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

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

func (*IsExistPayRightResponse) ProtoMessage() {}

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

func (x *IsExistPayRightResponse) GetIsPass() bool {
	if x != nil {
		return x.IsPass
	}
	return false
}

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

	ApprovalKey   string `protobuf:"bytes,1,opt,name=ApprovalKey,json=approvalKey,proto3" json:"ApprovalKey,omitempty"`
	ApprovalName  string `protobuf:"bytes,2,opt,name=ApprovalName,json=approvalName,proto3" json:"ApprovalName,omitempty"`
	ApprovalType  string `protobuf:"bytes,3,opt,name=ApprovalType,json=approvalType,proto3" json:"ApprovalType,omitempty"`
	ApprovalValue string `protobuf:"bytes,4,opt,name=ApprovalValue,json=approvalValue,proto3" json:"ApprovalValue,omitempty"`
	ApprovalMark  bool   `protobuf:"varint,5,opt,name=ApprovalMark,json=approvalMark,proto3" json:"ApprovalMark,omitempty"`
}

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

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

func (*KeyInfo) ProtoMessage() {}

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

func (x *KeyInfo) GetApprovalKey() string {
	if x != nil {
		return x.ApprovalKey
	}
	return ""
}

func (x *KeyInfo) GetApprovalName() string {
	if x != nil {
		return x.ApprovalName
	}
	return ""
}

func (x *KeyInfo) GetApprovalType() string {
	if x != nil {
		return x.ApprovalType
	}
	return ""
}

func (x *KeyInfo) GetApprovalValue() string {
	if x != nil {
		return x.ApprovalValue
	}
	return ""
}

func (x *KeyInfo) GetApprovalMark() bool {
	if x != nil {
		return x.ApprovalMark
	}
	return false
}

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

	Domain     string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	ApprovalID uint64 `protobuf:"varint,2,opt,name=ApprovalID,json=approvalID,proto3" json:"ApprovalID,omitempty"`
	ApplyId    string `protobuf:"bytes,3,opt,name=ApplyId,json=applyId,proto3" json:"ApplyId,omitempty"`
}

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

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

func (*UpdateEhApplyIDRequest) ProtoMessage() {}

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

func (x *UpdateEhApplyIDRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *UpdateEhApplyIDRequest) GetApprovalID() uint64 {
	if x != nil {
		return x.ApprovalID
	}
	return 0
}

func (x *UpdateEhApplyIDRequest) GetApplyId() string {
	if x != nil {
		return x.ApplyId
	}
	return ""
}

type UpdateEhApplyIDResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*UpdateEhApplyIDResponse) ProtoMessage() {}

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

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

	Domain      string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	SubmitterID uint64 `protobuf:"varint,2,opt,name=SubmitterID,json=submitterID,proto3" json:"SubmitterID,omitempty"`
}

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

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

func (*UsedNumByUserRequest) ProtoMessage() {}

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

func (x *UsedNumByUserRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *UsedNumByUserRequest) GetSubmitterID() uint64 {
	if x != nil {
		return x.SubmitterID
	}
	return 0
}

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

	Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
}

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

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

func (*UsedNumByUserResponse) ProtoMessage() {}

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

func (x *UsedNumByUserResponse) GetTotal() uint64 {
	if x != nil {
		return x.Total
	}
	return 0
}

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

	Domain     string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	ApprovalID uint64 `protobuf:"varint,2,opt,name=ApprovalID,proto3" json:"ApprovalID,omitempty"`
}

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

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

func (*NowLevelByInfoRequest) ProtoMessage() {}

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

func (x *NowLevelByInfoRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *NowLevelByInfoRequest) GetApprovalID() uint64 {
	if x != nil {
		return x.ApprovalID
	}
	return 0
}

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

	ID     uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"`
	Reply  string `protobuf:"bytes,3,opt,name=Reply,proto3" json:"Reply,omitempty"`
	Status uint64 `protobuf:"varint,5,opt,name=Status,json=status,proto3" json:"Status,omitempty"`
	UserID uint64 `protobuf:"varint,7,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"`
}

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

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

func (*WorkFlowResponse) ProtoMessage() {}

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

func (x *WorkFlowResponse) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *WorkFlowResponse) GetReply() string {
	if x != nil {
		return x.Reply
	}
	return ""
}

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

func (x *WorkFlowResponse) GetUserID() uint64 {
	if x != nil {
		return x.UserID
	}
	return 0
}

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

	Domain   string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	Page     uint64 `protobuf:"varint,2,opt,name=Page,proto3" json:"Page,omitempty"`
	PageSize uint64 `protobuf:"varint,3,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"`
	GroupId  uint64 `protobuf:"varint,4,opt,name=GroupId,json=groupId,proto3" json:"GroupId,omitempty"`
}

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

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

func (*CommonRequest) ProtoMessage() {}

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

func (x *CommonRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *CommonRequest) GetPage() uint64 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *CommonRequest) GetPageSize() uint64 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *CommonRequest) GetGroupId() uint64 {
	if x != nil {
		return x.GroupId
	}
	return 0
}

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

	Domain    string     `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	ID        uint64     `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"`
	Title     string     `protobuf:"bytes,3,opt,name=Title,json=title,proto3" json:"Title,omitempty"`
	Remark    string     `protobuf:"bytes,5,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"`
	KeyWord   string     `protobuf:"bytes,6,opt,name=KeyWord,json=keyWord,proto3" json:"KeyWord,omitempty"`
	KeyInfos  []*KeyInfo `protobuf:"bytes,7,rep,name=KeyInfos,json=keyInfos,proto3" json:"KeyInfos,omitempty"`
	IsCustom  uint64     `protobuf:"varint,8,opt,name=IsCustom,json=isCustom,proto3" json:"IsCustom,omitempty"`
	GroupId   uint64     `protobuf:"varint,9,opt,name=GroupId,json=groupId,proto3" json:"GroupId,omitempty"`
	GroupName string     `protobuf:"bytes,10,opt,name=GroupName,json=groupName,proto3" json:"GroupName,omitempty"`
}

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

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

func (*CreateTypeRequest) ProtoMessage() {}

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

func (x *CreateTypeRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *CreateTypeRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *CreateTypeRequest) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *CreateTypeRequest) GetRemark() string {
	if x != nil {
		return x.Remark
	}
	return ""
}

func (x *CreateTypeRequest) GetKeyWord() string {
	if x != nil {
		return x.KeyWord
	}
	return ""
}

func (x *CreateTypeRequest) GetKeyInfos() []*KeyInfo {
	if x != nil {
		return x.KeyInfos
	}
	return nil
}

func (x *CreateTypeRequest) GetIsCustom() uint64 {
	if x != nil {
		return x.IsCustom
	}
	return 0
}

func (x *CreateTypeRequest) GetGroupId() uint64 {
	if x != nil {
		return x.GroupId
	}
	return 0
}

func (x *CreateTypeRequest) GetGroupName() string {
	if x != nil {
		return x.GroupName
	}
	return ""
}

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

	ID      uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Domain  string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"`
	Keyword string `protobuf:"bytes,3,opt,name=Keyword,proto3" json:"Keyword,omitempty"`
}

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

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

func (*TypeResponse) ProtoMessage() {}

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

func (x *TypeResponse) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *TypeResponse) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *TypeResponse) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

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

	Data  []*CreateTypeRequest `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"`
	Count uint64               `protobuf:"varint,2,opt,name=Count,proto3" json:"Count,omitempty"`
}

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

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

func (*AllTypeResponse) ProtoMessage() {}

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

func (x *AllTypeResponse) GetData() []*CreateTypeRequest {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *AllTypeResponse) GetCount() uint64 {
	if x != nil {
		return x.Count
	}
	return 0
}

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

	ID     uint64               `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Domain string               `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	Title  string               `protobuf:"bytes,3,opt,name=Title,json=title,proto3" json:"Title,omitempty"`
	List   []*CreateTypeRequest `protobuf:"bytes,4,rep,name=List,json=list,proto3" json:"List,omitempty"`
}

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

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

func (*CreateTypeGroupRequest) ProtoMessage() {}

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

func (x *CreateTypeGroupRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *CreateTypeGroupRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *CreateTypeGroupRequest) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *CreateTypeGroupRequest) GetList() []*CreateTypeRequest {
	if x != nil {
		return x.List
	}
	return nil
}

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

	Data  []*CreateTypeGroupRequest `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"`
	Count uint64                    `protobuf:"varint,2,opt,name=Count,proto3" json:"Count,omitempty"`
}

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

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

func (*AllGroupResponse) ProtoMessage() {}

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

func (x *AllGroupResponse) GetData() []*CreateTypeGroupRequest {
	if x != nil {
		return x.Data
	}
	return nil
}

func (x *AllGroupResponse) GetCount() uint64 {
	if x != nil {
		return x.Count
	}
	return 0
}

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

	Domain     string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	ID         uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"`
	Reply      string `protobuf:"bytes,3,opt,name=Reply,proto3" json:"Reply,omitempty"`
	WorkFlowId uint64 `protobuf:"varint,4,opt,name=WorkFlowId,json=workFlowId,proto3" json:"WorkFlowId,omitempty"`
	Status     uint64 `protobuf:"varint,5,opt,name=Status,json=status,proto3" json:"Status,omitempty"`
	Level      uint64 `protobuf:"varint,6,opt,name=Level,json=level,proto3" json:"Level,omitempty"`
	Title      string `protobuf:"bytes,7,opt,name=Title,json=title,proto3" json:"Title,omitempty"`
	UserId     uint64 `protobuf:"varint,8,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"`
}

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

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

func (*StatusRequest) ProtoMessage() {}

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

func (x *StatusRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *StatusRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *StatusRequest) GetReply() string {
	if x != nil {
		return x.Reply
	}
	return ""
}

func (x *StatusRequest) GetWorkFlowId() uint64 {
	if x != nil {
		return x.WorkFlowId
	}
	return 0
}

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

func (x *StatusRequest) GetLevel() uint64 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *StatusRequest) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *StatusRequest) GetUserId() uint64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

type StatusResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*StatusResponse) ProtoMessage() {}

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

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

	Domain         string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	PageSize       uint64 `protobuf:"varint,2,opt,name=PageSize,proto3" json:"PageSize,omitempty"`                                 //
	Page           uint64 `protobuf:"varint,3,opt,name=Page,proto3" json:"Page,omitempty"`                                         //
	Status         uint64 `protobuf:"varint,4,opt,name=Status,json=status,proto3" json:"Status,omitempty"`                         //0待审批 1-审批成功 2-拒绝 4-是所有
	Type           string `protobuf:"bytes,5,opt,name=Type,json=type,proto3" json:"Type,omitempty"`                                //类型
	UserID         uint64 `protobuf:"varint,6,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"`                         //
	ApprovedBossId uint64 `protobuf:"varint,7,opt,name=ApprovedBossId,json=approvedBossId,proto3" json:"ApprovedBossId,omitempty"` //
}

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

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

func (*ListRequest) ProtoMessage() {}

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

func (x *ListRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *ListRequest) GetPageSize() uint64 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListRequest) GetPage() uint64 {
	if x != nil {
		return x.Page
	}
	return 0
}

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

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

func (x *ListRequest) GetUserID() uint64 {
	if x != nil {
		return x.UserID
	}
	return 0
}

func (x *ListRequest) GetApprovedBossId() uint64 {
	if x != nil {
		return x.ApprovedBossId
	}
	return 0
}

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

	Count uint64           `protobuf:"varint,1,opt,name=Count,json=count,proto3" json:"Count,omitempty"`
	Data  []*CreateRequest `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*ListResponse) ProtoMessage() {}

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

func (x *ListResponse) GetCount() uint64 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *ListResponse) GetData() []*CreateRequest {
	if x != nil {
		return x.Data
	}
	return nil
}

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

	Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	ID     uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"`
	UserID uint64 `protobuf:"varint,3,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"`
}

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

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

func (*ViewedRequest) ProtoMessage() {}

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

func (x *ViewedRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *ViewedRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *ViewedRequest) GetUserID() uint64 {
	if x != nil {
		return x.UserID
	}
	return 0
}

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

	Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	UserID uint64 `protobuf:"varint,2,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"`
	Type   string `protobuf:"bytes,3,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
}

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

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

func (*InformationRequest) ProtoMessage() {}

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

func (x *InformationRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *InformationRequest) GetUserID() uint64 {
	if x != nil {
		return x.UserID
	}
	return 0
}

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

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

	Total        uint64 `protobuf:"varint,1,opt,name=Total,json=total,proto3" json:"Total,omitempty"`                      // 已提交的审批 (总量)
	DoingTotal   uint64 `protobuf:"varint,2,opt,name=DoingTotal,json=doingTotal,proto3" json:"DoingTotal,omitempty"`       // 正在审批数量
	SuccessTotal uint64 `protobuf:"varint,3,opt,name=SuccessTotal,json=successTotal,proto3" json:"SuccessTotal,omitempty"` // 审批完成数量
	FailTotal    uint64 `protobuf:"varint,4,opt,name=FailTotal,json=failTotal,proto3" json:"FailTotal,omitempty"`          // 审批未通过
}

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

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

func (*Information) ProtoMessage() {}

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

func (x *Information) GetTotal() uint64 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *Information) GetDoingTotal() uint64 {
	if x != nil {
		return x.DoingTotal
	}
	return 0
}

func (x *Information) GetSuccessTotal() uint64 {
	if x != nil {
		return x.SuccessTotal
	}
	return 0
}

func (x *Information) GetFailTotal() uint64 {
	if x != nil {
		return x.FailTotal
	}
	return 0
}

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

	MySubmitInfo *Information `protobuf:"bytes,1,opt,name=MySubmitInfo,json=mySubmitInfo,proto3" json:"MySubmitInfo,omitempty"` // 我提交的;
	SubmitMeInfo *Information `protobuf:"bytes,2,opt,name=SubmitMeInfo,json=submitMeInfo,proto3" json:"SubmitMeInfo,omitempty"` // 提交给我的;
	DomainInfo   *Information `protobuf:"bytes,3,opt,name=DomainInfo,json=domainInfo,proto3" json:"DomainInfo,omitempty"`       // 大盘数据;
}

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

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

func (*InformationResponse) ProtoMessage() {}

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

func (x *InformationResponse) GetMySubmitInfo() *Information {
	if x != nil {
		return x.MySubmitInfo
	}
	return nil
}

func (x *InformationResponse) GetSubmitMeInfo() *Information {
	if x != nil {
		return x.SubmitMeInfo
	}
	return nil
}

func (x *InformationResponse) GetDomainInfo() *Information {
	if x != nil {
		return x.DomainInfo
	}
	return nil
}

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

	ID              uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	ReturnAt        string `protobuf:"bytes,2,opt,name=ReturnAt,json=returnAt,proto3" json:"ReturnAt,omitempty"`
	ReceivedAt      string `protobuf:"bytes,3,opt,name=ReceivedAt,json=receivedAt,proto3" json:"ReceivedAt,omitempty"`
	ApplicationsNum uint64 `protobuf:"varint,4,opt,name=ApplicationsNum,json=applicationsNum,proto3" json:"ApplicationsNum,omitempty"`
}

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

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

func (*Bundle) ProtoMessage() {}

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

func (x *Bundle) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *Bundle) GetReturnAt() string {
	if x != nil {
		return x.ReturnAt
	}
	return ""
}

func (x *Bundle) GetReceivedAt() string {
	if x != nil {
		return x.ReceivedAt
	}
	return ""
}

func (x *Bundle) GetApplicationsNum() uint64 {
	if x != nil {
		return x.ApplicationsNum
	}
	return 0
}

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

	ID        uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	ArtistNum uint64 `protobuf:"varint,2,opt,name=ArtistNum,json=artistNum,proto3" json:"ArtistNum,omitempty"`
	ShowAt    string `protobuf:"bytes,3,opt,name=ShowAt,proto3" json:"ShowAt,omitempty"`
}

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

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

func (*Show) ProtoMessage() {}

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

func (x *Show) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *Show) GetArtistNum() uint64 {
	if x != nil {
		return x.ArtistNum
	}
	return 0
}

func (x *Show) GetShowAt() string {
	if x != nil {
		return x.ShowAt
	}
	return ""
}

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

	ID            uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	WorkID        uint64 `protobuf:"varint,2,opt,name=WorkID,proto3" json:"WorkID,omitempty"`
	ApprovalID    uint64 `protobuf:"varint,3,opt,name=ApprovalID,proto3" json:"ApprovalID,omitempty"`
	ArtworkID     uint64 `protobuf:"varint,4,opt,name=ArtworkID,json=artworkID,proto3" json:"ArtworkID,omitempty"`
	ArtworkName   string `protobuf:"bytes,5,opt,name=ArtworkName,json=artworkName,proto3" json:"ArtworkName,omitempty"`
	ArtistName    string `protobuf:"bytes,6,opt,name=ArtistName,json=artistName,proto3" json:"ArtistName,omitempty"`
	ArtworkCover  string `protobuf:"bytes,7,opt,name=ArtworkCover,json=artworkCover,proto3" json:"ArtworkCover,omitempty"`
	ArtworkNumber uint64 `protobuf:"varint,8,opt,name=ArtworkNumber,json=artworkNumber,proto3" json:"ArtworkNumber,omitempty"`
	ArtistUID     string `protobuf:"bytes,9,opt,name=ArtistUID,json=artistUID,proto3" json:"ArtistUID,omitempty"`
	ShowSeq       string `protobuf:"bytes,10,opt,name=ShowSeq,json=showSeq,proto3" json:"ShowSeq,omitempty"`
}

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

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

func (*ApprovalWork) ProtoMessage() {}

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

func (x *ApprovalWork) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *ApprovalWork) GetWorkID() uint64 {
	if x != nil {
		return x.WorkID
	}
	return 0
}

func (x *ApprovalWork) GetApprovalID() uint64 {
	if x != nil {
		return x.ApprovalID
	}
	return 0
}

func (x *ApprovalWork) GetArtworkID() uint64 {
	if x != nil {
		return x.ArtworkID
	}
	return 0
}

func (x *ApprovalWork) GetArtworkName() string {
	if x != nil {
		return x.ArtworkName
	}
	return ""
}

func (x *ApprovalWork) GetArtistName() string {
	if x != nil {
		return x.ArtistName
	}
	return ""
}

func (x *ApprovalWork) GetArtworkCover() string {
	if x != nil {
		return x.ArtworkCover
	}
	return ""
}

func (x *ApprovalWork) GetArtworkNumber() uint64 {
	if x != nil {
		return x.ArtworkNumber
	}
	return 0
}

func (x *ApprovalWork) GetArtistUID() string {
	if x != nil {
		return x.ArtistUID
	}
	return ""
}

func (x *ApprovalWork) GetShowSeq() string {
	if x != nil {
		return x.ShowSeq
	}
	return ""
}

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

	ID            uint64          `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	ReturnAt      string          `protobuf:"bytes,2,opt,name=ReturnAt,json=returnAt,proto3" json:"ReturnAt,omitempty"`
	ReceivedAt    string          `protobuf:"bytes,3,opt,name=ReceivedAt,json=receivedAt,proto3" json:"ReceivedAt,omitempty"`
	ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
	ArtistUID     string          `protobuf:"bytes,5,opt,name=ArtistUID,json=artistUID,proto3" json:"ArtistUID,omitempty"`
}

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

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

func (*Work) ProtoMessage() {}

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

func (x *Work) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *Work) GetReturnAt() string {
	if x != nil {
		return x.ReturnAt
	}
	return ""
}

func (x *Work) GetReceivedAt() string {
	if x != nil {
		return x.ReceivedAt
	}
	return ""
}

func (x *Work) GetApprovalWorks() []*ApprovalWork {
	if x != nil {
		return x.ApprovalWorks
	}
	return nil
}

func (x *Work) GetArtistUID() string {
	if x != nil {
		return x.ArtistUID
	}
	return ""
}

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

	ID                  uint64               `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	ExhibitionID        uint64               `protobuf:"varint,2,opt,name=ExhibitionID,json=exhibitionID,proto3" json:"ExhibitionID,omitempty"`
	ApprovalID          uint64               `protobuf:"varint,3,opt,name=ApprovalID,json=approvalID,proto3" json:"ApprovalID,omitempty"`
	PackageName         string               `protobuf:"bytes,4,opt,name=PackageName,json=packageName,proto3" json:"PackageName,omitempty"`
	PackageID           string               `protobuf:"bytes,5,opt,name=PackageID,json=packageID,proto3" json:"PackageID,omitempty"`
	PackageSize         uint64               `protobuf:"varint,6,opt,name=PackageSize,json=packageSize,proto3" json:"PackageSize,omitempty"`
	PackageNumber       string               `protobuf:"bytes,7,opt,name=PackageNumber,json=packageNumber,proto3" json:"PackageNumber,omitempty"`
	Address             string               `protobuf:"bytes,8,opt,name=Address,json=address,proto3" json:"Address,omitempty"`
	ShowDate            string               `protobuf:"bytes,9,opt,name=ShowDate,json=showDate,proto3" json:"ShowDate,omitempty"`
	Artworks            []*Artwork           `protobuf:"bytes,10,rep,name=Artworks,json=artworks,proto3" json:"Artworks,omitempty"`
	ArtExhibitionDetail *ArtExhibitionDetail `protobuf:"bytes,11,opt,name=ArtExhibitionDetail,json=artExhibitionDetail,proto3" json:"ArtExhibitionDetail,omitempty"`
	TotalPrice          int64                `protobuf:"varint,12,opt,name=TotalPrice,json=totalPrice,proto3" json:"TotalPrice,omitempty"`
}

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

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

func (*ApprovalExhibition) ProtoMessage() {}

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

func (x *ApprovalExhibition) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *ApprovalExhibition) GetExhibitionID() uint64 {
	if x != nil {
		return x.ExhibitionID
	}
	return 0
}

func (x *ApprovalExhibition) GetApprovalID() uint64 {
	if x != nil {
		return x.ApprovalID
	}
	return 0
}

func (x *ApprovalExhibition) GetPackageName() string {
	if x != nil {
		return x.PackageName
	}
	return ""
}

func (x *ApprovalExhibition) GetPackageID() string {
	if x != nil {
		return x.PackageID
	}
	return ""
}

func (x *ApprovalExhibition) GetPackageSize() uint64 {
	if x != nil {
		return x.PackageSize
	}
	return 0
}

func (x *ApprovalExhibition) GetPackageNumber() string {
	if x != nil {
		return x.PackageNumber
	}
	return ""
}

func (x *ApprovalExhibition) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *ApprovalExhibition) GetShowDate() string {
	if x != nil {
		return x.ShowDate
	}
	return ""
}

func (x *ApprovalExhibition) GetArtworks() []*Artwork {
	if x != nil {
		return x.Artworks
	}
	return nil
}

func (x *ApprovalExhibition) GetArtExhibitionDetail() *ArtExhibitionDetail {
	if x != nil {
		return x.ArtExhibitionDetail
	}
	return nil
}

func (x *ApprovalExhibition) GetTotalPrice() int64 {
	if x != nil {
		return x.TotalPrice
	}
	return 0
}

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

	ID                  uint64                `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	ReceivedAt          string                `protobuf:"bytes,2,opt,name=ReceivedAt,json=receivedAt,proto3" json:"ReceivedAt,omitempty"`
	Address             string                `protobuf:"bytes,3,opt,name=Address,json=address,proto3" json:"Address,omitempty"`
	PidApprovalID       uint64                `protobuf:"varint,4,opt,name=PidApprovalID,json=pidApprovalID,proto3" json:"PidApprovalID,omitempty"`
	ApprovalExhibitions []*ApprovalExhibition `protobuf:"bytes,5,rep,name=ApprovalExhibitions,json=approvalExhibitions,proto3" json:"ApprovalExhibitions,omitempty"`
	Num                 uint64                `protobuf:"varint,6,opt,name=Num,json=num,proto3" json:"Num,omitempty"`
	ApplyID             string                `protobuf:"bytes,7,opt,name=ApplyID,json=applyID,proto3" json:"ApplyID,omitempty"`
}

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

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

func (*Exhibition) ProtoMessage() {}

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

func (x *Exhibition) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *Exhibition) GetReceivedAt() string {
	if x != nil {
		return x.ReceivedAt
	}
	return ""
}

func (x *Exhibition) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *Exhibition) GetPidApprovalID() uint64 {
	if x != nil {
		return x.PidApprovalID
	}
	return 0
}

func (x *Exhibition) GetApprovalExhibitions() []*ApprovalExhibition {
	if x != nil {
		return x.ApprovalExhibitions
	}
	return nil
}

func (x *Exhibition) GetNum() uint64 {
	if x != nil {
		return x.Num
	}
	return 0
}

func (x *Exhibition) GetApplyID() string {
	if x != nil {
		return x.ApplyID
	}
	return ""
}

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

	ArtworkPriceUID string `protobuf:"bytes,1,opt,name=ArtworkPriceUID,proto3" json:"ArtworkPriceUID,omitempty"`
	ShowUID         string `protobuf:"bytes,2,opt,name=ShowUID,proto3" json:"ShowUID,omitempty"`
	ArtworkUID      string `protobuf:"bytes,3,opt,name=ArtworkUID,proto3" json:"ArtworkUID,omitempty"`
	ArtworkName     string `protobuf:"bytes,4,opt,name=ArtworkName,proto3" json:"ArtworkName,omitempty"`
	ArtistName      string `protobuf:"bytes,5,opt,name=ArtistName,proto3" json:"ArtistName,omitempty"`
	Length          uint64 `protobuf:"varint,6,opt,name=Length,proto3" json:"Length,omitempty"`
	Width           uint64 `protobuf:"varint,7,opt,name=Width,proto3" json:"Width,omitempty"`
	Ruler           uint64 `protobuf:"varint,8,opt,name=Ruler,proto3" json:"Ruler,omitempty"`
	SmallPic        string `protobuf:"bytes,9,opt,name=SmallPic,proto3" json:"SmallPic,omitempty"`
	SaleAddress     string `protobuf:"bytes,10,opt,name=SaleAddress,proto3" json:"SaleAddress,omitempty"`
	Reward          string `protobuf:"bytes,11,opt,name=Reward,proto3" json:"Reward,omitempty"`
	Tfnum           string `protobuf:"bytes,12,opt,name=Tfnum,proto3" json:"Tfnum,omitempty"`
	SaleAddressID   string `protobuf:"bytes,13,opt,name=SaleAddressID,proto3" json:"SaleAddressID,omitempty"`
}

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

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

func (*Artwork) ProtoMessage() {}

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

func (x *Artwork) GetArtworkPriceUID() string {
	if x != nil {
		return x.ArtworkPriceUID
	}
	return ""
}

func (x *Artwork) GetShowUID() string {
	if x != nil {
		return x.ShowUID
	}
	return ""
}

func (x *Artwork) GetArtworkUID() string {
	if x != nil {
		return x.ArtworkUID
	}
	return ""
}

func (x *Artwork) GetArtworkName() string {
	if x != nil {
		return x.ArtworkName
	}
	return ""
}

func (x *Artwork) GetArtistName() string {
	if x != nil {
		return x.ArtistName
	}
	return ""
}

func (x *Artwork) GetLength() uint64 {
	if x != nil {
		return x.Length
	}
	return 0
}

func (x *Artwork) GetWidth() uint64 {
	if x != nil {
		return x.Width
	}
	return 0
}

func (x *Artwork) GetRuler() uint64 {
	if x != nil {
		return x.Ruler
	}
	return 0
}

func (x *Artwork) GetSmallPic() string {
	if x != nil {
		return x.SmallPic
	}
	return ""
}

func (x *Artwork) GetSaleAddress() string {
	if x != nil {
		return x.SaleAddress
	}
	return ""
}

func (x *Artwork) GetReward() string {
	if x != nil {
		return x.Reward
	}
	return ""
}

func (x *Artwork) GetTfnum() string {
	if x != nil {
		return x.Tfnum
	}
	return ""
}

func (x *Artwork) GetSaleAddressID() string {
	if x != nil {
		return x.SaleAddressID
	}
	return ""
}

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

	ShowUID    string `protobuf:"bytes,1,opt,name=ShowUID,proto3" json:"ShowUID,omitempty"`
	ShowSeq    string `protobuf:"bytes,2,opt,name=ShowSeq,proto3" json:"ShowSeq,omitempty"`
	ShowName   string `protobuf:"bytes,3,opt,name=ShowName,proto3" json:"ShowName,omitempty"`
	ArtistName string `protobuf:"bytes,4,opt,name=ArtistName,proto3" json:"ArtistName,omitempty"`
	ArtistUID  string `protobuf:"bytes,5,opt,name=ArtistUID,proto3" json:"ArtistUID,omitempty"`
	ArtworkNum uint64 `protobuf:"varint,6,opt,name=ArtworkNum,proto3" json:"ArtworkNum,omitempty"`
	Ruler      uint64 `protobuf:"varint,7,opt,name=Ruler,proto3" json:"Ruler,omitempty"`
	Price      uint64 `protobuf:"varint,8,opt,name=Price,proto3" json:"Price,omitempty"`
	Reward     uint64 `protobuf:"varint,9,opt,name=Reward,proto3" json:"Reward,omitempty"`
	CreateTime string `protobuf:"bytes,10,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"`
	Operator   string `protobuf:"bytes,11,opt,name=Operator,proto3" json:"Operator,omitempty"`
	IsShow     uint64 `protobuf:"varint,12,opt,name=IsShow,proto3" json:"IsShow,omitempty"`
	ShowTime   string `protobuf:"bytes,13,opt,name=ShowTime,proto3" json:"ShowTime,omitempty"`
	Address    string `protobuf:"bytes,14,opt,name=Address,proto3" json:"Address,omitempty"`
}

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

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

func (*ArtExhibitionDetail) ProtoMessage() {}

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

func (x *ArtExhibitionDetail) GetShowUID() string {
	if x != nil {
		return x.ShowUID
	}
	return ""
}

func (x *ArtExhibitionDetail) GetShowSeq() string {
	if x != nil {
		return x.ShowSeq
	}
	return ""
}

func (x *ArtExhibitionDetail) GetShowName() string {
	if x != nil {
		return x.ShowName
	}
	return ""
}

func (x *ArtExhibitionDetail) GetArtistName() string {
	if x != nil {
		return x.ArtistName
	}
	return ""
}

func (x *ArtExhibitionDetail) GetArtistUID() string {
	if x != nil {
		return x.ArtistUID
	}
	return ""
}

func (x *ArtExhibitionDetail) GetArtworkNum() uint64 {
	if x != nil {
		return x.ArtworkNum
	}
	return 0
}

func (x *ArtExhibitionDetail) GetRuler() uint64 {
	if x != nil {
		return x.Ruler
	}
	return 0
}

func (x *ArtExhibitionDetail) GetPrice() uint64 {
	if x != nil {
		return x.Price
	}
	return 0
}

func (x *ArtExhibitionDetail) GetReward() uint64 {
	if x != nil {
		return x.Reward
	}
	return 0
}

func (x *ArtExhibitionDetail) GetCreateTime() string {
	if x != nil {
		return x.CreateTime
	}
	return ""
}

func (x *ArtExhibitionDetail) GetOperator() string {
	if x != nil {
		return x.Operator
	}
	return ""
}

func (x *ArtExhibitionDetail) GetIsShow() uint64 {
	if x != nil {
		return x.IsShow
	}
	return 0
}

func (x *ArtExhibitionDetail) GetShowTime() string {
	if x != nil {
		return x.ShowTime
	}
	return ""
}

func (x *ArtExhibitionDetail) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

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

	ShowUid      string `protobuf:"bytes,1,opt,name=ShowUid,json=showUid,proto3" json:"ShowUid,omitempty"`
	ApprovalID   uint64 `protobuf:"varint,2,opt,name=ApprovalID,json=approvalID,proto3" json:"ApprovalID,omitempty"`
	ShowName     string `protobuf:"bytes,3,opt,name=ShowName,json=showName,proto3" json:"ShowName,omitempty"`
	ReceivedAt   string `protobuf:"bytes,4,opt,name=ReceivedAt,json=receivedAt,proto3" json:"ReceivedAt,omitempty"`
	ShowDate     string `protobuf:"bytes,5,opt,name=ShowDate,json=showDate,proto3" json:"ShowDate,omitempty"`
	ShowLowPrice string `protobuf:"bytes,6,opt,name=ShowLowPrice,json=showLowPrice,proto3" json:"ShowLowPrice,omitempty"`
	ArtworkNum   uint64 `protobuf:"varint,7,opt,name=ArtworkNum,json=artworkNum,proto3" json:"ArtworkNum,omitempty"`
	ArtworkSize  string `protobuf:"bytes,8,opt,name=ArtworkSize,json=artworkSize,proto3" json:"ArtworkSize,omitempty"`
	ShowAddress  string `protobuf:"bytes,9,opt,name=ShowAddress,json=showAddress,proto3" json:"ShowAddress,omitempty"`
	ID           uint64 `protobuf:"varint,10,opt,name=ID,proto3" json:"ID,omitempty"`
	Status       uint64 `protobuf:"varint,11,opt,name=Status,json=status,proto3" json:"Status,omitempty"`
	ArtistName   string `protobuf:"bytes,12,opt,name=ArtistName,json=artistName,proto3" json:"ArtistName,omitempty"`
}

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

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

func (*BundlePayPrice) ProtoMessage() {}

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

func (x *BundlePayPrice) GetShowUid() string {
	if x != nil {
		return x.ShowUid
	}
	return ""
}

func (x *BundlePayPrice) GetApprovalID() uint64 {
	if x != nil {
		return x.ApprovalID
	}
	return 0
}

func (x *BundlePayPrice) GetShowName() string {
	if x != nil {
		return x.ShowName
	}
	return ""
}

func (x *BundlePayPrice) GetReceivedAt() string {
	if x != nil {
		return x.ReceivedAt
	}
	return ""
}

func (x *BundlePayPrice) GetShowDate() string {
	if x != nil {
		return x.ShowDate
	}
	return ""
}

func (x *BundlePayPrice) GetShowLowPrice() string {
	if x != nil {
		return x.ShowLowPrice
	}
	return ""
}

func (x *BundlePayPrice) GetArtworkNum() uint64 {
	if x != nil {
		return x.ArtworkNum
	}
	return 0
}

func (x *BundlePayPrice) GetArtworkSize() string {
	if x != nil {
		return x.ArtworkSize
	}
	return ""
}

func (x *BundlePayPrice) GetShowAddress() string {
	if x != nil {
		return x.ShowAddress
	}
	return ""
}

func (x *BundlePayPrice) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *BundlePayPrice) GetArtistName() string {
	if x != nil {
		return x.ArtistName
	}
	return ""
}

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

	ID             uint64          `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Domain         string          `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	Status         uint64          `protobuf:"varint,3,opt,name=Status,json=status,proto3" json:"Status,omitempty"`
	Type           string          `protobuf:"bytes,4,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
	SubmitterID    uint64          `protobuf:"varint,7,opt,name=SubmitterID,json=submitterID,proto3" json:"SubmitterID,omitempty"` //审批人
	SubmitterName  string          `protobuf:"bytes,8,opt,name=SubmitterName,json=submitterName,proto3" json:"SubmitterName,omitempty"`
	CopyUsers      []*CopyUser     `protobuf:"bytes,9,rep,name=CopyUsers,json=copyName,proto3" json:"CopyUsers,omitempty"` //抄送人
	Content        string          `protobuf:"bytes,10,opt,name=Content,json=content,proto3" json:"Content,omitempty"`     //申请内容
	Reply          string          `protobuf:"bytes,11,opt,name=Reply,json=reply,proto3" json:"Reply,omitempty"`           //回复
	CanView        bool            `protobuf:"varint,12,opt,name=CanView,json=canView,proto3" json:"CanView,omitempty"`    //是否可以阅读
	Work           *Work           `protobuf:"bytes,13,opt,name=Work,json=work,proto3" json:"Work,omitempty"`
	Show           *Show           `protobuf:"bytes,14,opt,name=Show,json=show,proto3" json:"Show,omitempty"`
	Exhibition     *Exhibition     `protobuf:"bytes,15,opt,name=Exhibition,json=exhibition,proto3" json:"Exhibition,omitempty"`
	Bundle         *Bundle         `protobuf:"bytes,16,opt,name=Bundle,json=bundle,proto3" json:"Bundle,omitempty"`
	ApprovalUsers  []*ApprovalUser `protobuf:"bytes,17,rep,name=ApprovalUsers,json=approvalUsers,proto3" json:"ApprovalUsers,omitempty"` //审批的人
	CanApproval    bool            `protobuf:"varint,18,opt,name=CanApproval,json=canApproval,proto3" json:"CanApproval,omitempty"`      //审批的人
	WorkFlows      []*WorkFlow     `protobuf:"bytes,19,rep,name=WorkFlows,json=workFlows,proto3" json:"WorkFlows,omitempty"`             //审批的人
	AllStatus      uint64          `protobuf:"varint,20,opt,name=AllStatus,json=allStatus,proto3" json:"AllStatus,omitempty"`            //状态 0 1  2 3已阅读 4-待阅读
	NowUserId      uint64          `protobuf:"varint,21,opt,name=NowUserId,json=nowUserId,proto3" json:"NowUserId,omitempty"`
	NowUserName    string          `protobuf:"bytes,22,opt,name=NowUserName,json=nowUserName,proto3" json:"NowUserName,omitempty"`
	Level          uint64          `protobuf:"varint,23,opt,name=Level,json=level,proto3" json:"Level,omitempty"`
	NowLevel       uint64          `protobuf:"varint,24,opt,name=NowLevel,json=nowLevel,proto3" json:"NowLevel,omitempty"`
	CreatedAt      string          `protobuf:"bytes,25,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt,omitempty"`
	CustomizeInfo  []*KeyInfo      `protobuf:"bytes,26,rep,name=CustomizeInfo,json=customizeInfo,proto3" json:"CustomizeInfo,omitempty"`
	IsCustom       uint64          `protobuf:"varint,27,opt,name=IsCustom,json=isCustom,proto3" json:"IsCustom,omitempty"`
	TypeName       string          `protobuf:"bytes,28,opt,name=TypeName,json=typeName,proto3" json:"TypeName,omitempty"`
	GroupName      string          `protobuf:"bytes,29,opt,name=GroupName,json=groupName,proto3" json:"GroupName,omitempty"`
	BundlePayPrice *BundlePayPrice `protobuf:"bytes,30,opt,name=BundlePayPrice,json=bundlePayPrice,proto3" json:"BundlePayPrice,omitempty"`
}

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

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

func (*CreateRequest) ProtoMessage() {}

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

func (x *CreateRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *CreateRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

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

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

func (x *CreateRequest) GetSubmitterID() uint64 {
	if x != nil {
		return x.SubmitterID
	}
	return 0
}

func (x *CreateRequest) GetSubmitterName() string {
	if x != nil {
		return x.SubmitterName
	}
	return ""
}

func (x *CreateRequest) GetCopyUsers() []*CopyUser {
	if x != nil {
		return x.CopyUsers
	}
	return nil
}

func (x *CreateRequest) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

func (x *CreateRequest) GetReply() string {
	if x != nil {
		return x.Reply
	}
	return ""
}

func (x *CreateRequest) GetCanView() bool {
	if x != nil {
		return x.CanView
	}
	return false
}

func (x *CreateRequest) GetWork() *Work {
	if x != nil {
		return x.Work
	}
	return nil
}

func (x *CreateRequest) GetShow() *Show {
	if x != nil {
		return x.Show
	}
	return nil
}

func (x *CreateRequest) GetExhibition() *Exhibition {
	if x != nil {
		return x.Exhibition
	}
	return nil
}

func (x *CreateRequest) GetBundle() *Bundle {
	if x != nil {
		return x.Bundle
	}
	return nil
}

func (x *CreateRequest) GetApprovalUsers() []*ApprovalUser {
	if x != nil {
		return x.ApprovalUsers
	}
	return nil
}

func (x *CreateRequest) GetCanApproval() bool {
	if x != nil {
		return x.CanApproval
	}
	return false
}

func (x *CreateRequest) GetWorkFlows() []*WorkFlow {
	if x != nil {
		return x.WorkFlows
	}
	return nil
}

func (x *CreateRequest) GetAllStatus() uint64 {
	if x != nil {
		return x.AllStatus
	}
	return 0
}

func (x *CreateRequest) GetNowUserId() uint64 {
	if x != nil {
		return x.NowUserId
	}
	return 0
}

func (x *CreateRequest) GetNowUserName() string {
	if x != nil {
		return x.NowUserName
	}
	return ""
}

func (x *CreateRequest) GetLevel() uint64 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *CreateRequest) GetNowLevel() uint64 {
	if x != nil {
		return x.NowLevel
	}
	return 0
}

func (x *CreateRequest) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *CreateRequest) GetCustomizeInfo() []*KeyInfo {
	if x != nil {
		return x.CustomizeInfo
	}
	return nil
}

func (x *CreateRequest) GetIsCustom() uint64 {
	if x != nil {
		return x.IsCustom
	}
	return 0
}

func (x *CreateRequest) GetTypeName() string {
	if x != nil {
		return x.TypeName
	}
	return ""
}

func (x *CreateRequest) GetGroupName() string {
	if x != nil {
		return x.GroupName
	}
	return ""
}

func (x *CreateRequest) GetBundlePayPrice() *BundlePayPrice {
	if x != nil {
		return x.BundlePayPrice
	}
	return nil
}

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

	ID         uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	UserID     uint64 `protobuf:"varint,3,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"`
	Name       string `protobuf:"bytes,4,opt,name=Name,json=name,proto3" json:"Name,omitempty"`
	Level      uint64 `protobuf:"varint,5,opt,name=Level,json=level,proto3" json:"Level,omitempty"`
	Status     uint64 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"`
	Reply      string `protobuf:"bytes,7,opt,name=Reply,json=reply,proto3" json:"Reply,omitempty"`
	OperatedAt string `protobuf:"bytes,8,opt,name=OperatedAt,json=operatedAt,proto3" json:"OperatedAt,omitempty"`
}

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

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

func (*WorkFlow) ProtoMessage() {}

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

func (x *WorkFlow) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *WorkFlow) GetUserID() uint64 {
	if x != nil {
		return x.UserID
	}
	return 0
}

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

func (x *WorkFlow) GetLevel() uint64 {
	if x != nil {
		return x.Level
	}
	return 0
}

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

func (x *WorkFlow) GetReply() string {
	if x != nil {
		return x.Reply
	}
	return ""
}

func (x *WorkFlow) GetOperatedAt() string {
	if x != nil {
		return x.OperatedAt
	}
	return ""
}

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

	ID     uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	UserId uint64 `protobuf:"varint,3,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"`
}

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

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

func (*DetailRequest) ProtoMessage() {}

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

func (x *DetailRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *DetailRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *DetailRequest) GetUserId() uint64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

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

	IDs    []uint64 `protobuf:"varint,1,rep,packed,name=IDs,proto3" json:"IDs,omitempty"`
	Domain string   `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
}

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

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

func (*RemoveRequest) ProtoMessage() {}

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

func (x *RemoveRequest) GetIDs() []uint64 {
	if x != nil {
		return x.IDs
	}
	return nil
}

func (x *RemoveRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

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

	ID      uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Success bool   `protobuf:"varint,2,opt,name=Success,json=success,proto3" json:"Success,omitempty"`
}

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

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

func (*ApprovalResponse) ProtoMessage() {}

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

func (x *ApprovalResponse) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *ApprovalResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

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

	Success bool `protobuf:"varint,1,opt,name=Success,json=success,proto3" json:"Success,omitempty"`
}

func (x *RemoveResponse) Reset() {
	*x = RemoveResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RemoveResponse) ProtoMessage() {}

func (x *RemoveResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[39]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoveResponse.ProtoReflect.Descriptor instead.
func (*RemoveResponse) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{39}
}

func (x *RemoveResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

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

	Success bool `protobuf:"varint,1,opt,name=Success,json=success,proto3" json:"Success,omitempty"`
}

func (x *ApprovalExhibitionRemove) Reset() {
	*x = ApprovalExhibitionRemove{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ApprovalExhibitionRemove) ProtoMessage() {}

func (x *ApprovalExhibitionRemove) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[40]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ApprovalExhibitionRemove.ProtoReflect.Descriptor instead.
func (*ApprovalExhibitionRemove) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{40}
}

func (x *ApprovalExhibitionRemove) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

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

	ID               uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	DeletedAt        uint64 `protobuf:"varint,2,opt,name=DeletedAt,json=deletedAt,proto3" json:"DeletedAt,omitempty"`
	CreatedAt        string `protobuf:"bytes,3,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt,omitempty"`
	UpdatedAt        string `protobuf:"bytes,4,opt,name=UpdatedAt,json=updatedAt,proto3" json:"UpdatedAt,omitempty"`
	ApprovalID       uint64 `protobuf:"varint,5,opt,name=ApprovalID,json=approvalID,proto3" json:"ApprovalID,omitempty"`
	ExhibitionID     uint64 `protobuf:"varint,6,opt,name=ExhibitionID,json=exhibitionID,proto3" json:"ExhibitionID,omitempty"`
	ExhibitionName   string `protobuf:"bytes,7,opt,name=ExhibitionName,json=exhibitionName,proto3" json:"ExhibitionName,omitempty"`
	ArtworkID        uint64 `protobuf:"varint,8,opt,name=ArtworkID,json=artworkID,proto3" json:"ArtworkID,omitempty"`
	ExhibitionSize   string `protobuf:"bytes,9,opt,name=ExhibitionSize,json=exhibitionSize,proto3" json:"ExhibitionSize,omitempty"`
	ExhibitionNumber string `protobuf:"bytes,10,opt,name=ExhibitionNumber,json=exhibitionNumber,proto3" json:"ExhibitionNumber,omitempty"`
}

func (x *ApprovalExhibitionRequest) Reset() {
	*x = ApprovalExhibitionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ApprovalExhibitionRequest) ProtoMessage() {}

func (x *ApprovalExhibitionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[41]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ApprovalExhibitionRequest.ProtoReflect.Descriptor instead.
func (*ApprovalExhibitionRequest) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{41}
}

func (x *ApprovalExhibitionRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *ApprovalExhibitionRequest) GetDeletedAt() uint64 {
	if x != nil {
		return x.DeletedAt
	}
	return 0
}

func (x *ApprovalExhibitionRequest) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *ApprovalExhibitionRequest) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *ApprovalExhibitionRequest) GetApprovalID() uint64 {
	if x != nil {
		return x.ApprovalID
	}
	return 0
}

func (x *ApprovalExhibitionRequest) GetExhibitionID() uint64 {
	if x != nil {
		return x.ExhibitionID
	}
	return 0
}

func (x *ApprovalExhibitionRequest) GetExhibitionName() string {
	if x != nil {
		return x.ExhibitionName
	}
	return ""
}

func (x *ApprovalExhibitionRequest) GetArtworkID() uint64 {
	if x != nil {
		return x.ArtworkID
	}
	return 0
}

func (x *ApprovalExhibitionRequest) GetExhibitionSize() string {
	if x != nil {
		return x.ExhibitionSize
	}
	return ""
}

func (x *ApprovalExhibitionRequest) GetExhibitionNumber() string {
	if x != nil {
		return x.ExhibitionNumber
	}
	return ""
}

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

	ID     uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
}

func (x *ApprovalExhibitionDetail) Reset() {
	*x = ApprovalExhibitionDetail{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ApprovalExhibitionDetail) ProtoMessage() {}

func (x *ApprovalExhibitionDetail) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[42]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ApprovalExhibitionDetail.ProtoReflect.Descriptor instead.
func (*ApprovalExhibitionDetail) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{42}
}

func (x *ApprovalExhibitionDetail) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *ApprovalExhibitionDetail) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

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

	ID       uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name     string `protobuf:"bytes,2,opt,name=Name,json=name,proto3" json:"Name,omitempty"`
	IsViewed bool   `protobuf:"varint,3,opt,name=IsViewed,json=isViewed,proto3" json:"IsViewed,omitempty"`
}

func (x *CopyUser) Reset() {
	*x = CopyUser{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CopyUser) ProtoMessage() {}

func (x *CopyUser) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[43]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CopyUser.ProtoReflect.Descriptor instead.
func (*CopyUser) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{43}
}

func (x *CopyUser) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *CopyUser) GetIsViewed() bool {
	if x != nil {
		return x.IsViewed
	}
	return false
}

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

	ID    uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name  string `protobuf:"bytes,2,opt,name=Name,json=name,proto3" json:"Name,omitempty"`
	Level string `protobuf:"bytes,3,opt,name=Level,proto3" json:"Level,omitempty"`
}

func (x *ApprovalUser) Reset() {
	*x = ApprovalUser{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ApprovalUser) ProtoMessage() {}

func (x *ApprovalUser) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[44]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ApprovalUser.ProtoReflect.Descriptor instead.
func (*ApprovalUser) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{44}
}

func (x *ApprovalUser) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

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

func (x *ApprovalUser) GetLevel() string {
	if x != nil {
		return x.Level
	}
	return ""
}

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

	ID            uint64          `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	DeletedAt     uint64          `protobuf:"varint,2,opt,name=DeletedAt,json=deletedAt,proto3" json:"DeletedAt,omitempty"`
	CreatedAt     string          `protobuf:"bytes,3,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt,omitempty"`
	UpdatedAt     string          `protobuf:"bytes,4,opt,name=UpdatedAt,json=updatedAt,proto3" json:"UpdatedAt,omitempty"`
	KeyWord       string          `protobuf:"bytes,5,opt,name=KeyWord,json=keyWord,proto3" json:"KeyWord,omitempty"`
	CopyUsers     []*CopyUser     `protobuf:"bytes,6,rep,name=CopyUsers,json=copyUsers,proto3" json:"CopyUsers,omitempty"`
	ApprovalUsers []*ApprovalUser `protobuf:"bytes,9,rep,name=ApprovalUsers,json=approvalUsers,proto3" json:"ApprovalUsers,omitempty"`
	Domain        string          `protobuf:"bytes,10,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
	CustomizeInfo []*KeyInfo      `protobuf:"bytes,11,rep,name=CustomizeInfo,json=customizeInfo,proto3" json:"CustomizeInfo,omitempty"`
	IsCustom      uint64          `protobuf:"varint,12,opt,name=IsCustom,json=isCustom,proto3" json:"IsCustom,omitempty"`
}

func (x *SettingRequest) Reset() {
	*x = SettingRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SettingRequest) ProtoMessage() {}

func (x *SettingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[45]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SettingRequest.ProtoReflect.Descriptor instead.
func (*SettingRequest) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{45}
}

func (x *SettingRequest) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *SettingRequest) GetDeletedAt() uint64 {
	if x != nil {
		return x.DeletedAt
	}
	return 0
}

func (x *SettingRequest) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *SettingRequest) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *SettingRequest) GetKeyWord() string {
	if x != nil {
		return x.KeyWord
	}
	return ""
}

func (x *SettingRequest) GetCopyUsers() []*CopyUser {
	if x != nil {
		return x.CopyUsers
	}
	return nil
}

func (x *SettingRequest) GetApprovalUsers() []*ApprovalUser {
	if x != nil {
		return x.ApprovalUsers
	}
	return nil
}

func (x *SettingRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *SettingRequest) GetCustomizeInfo() []*KeyInfo {
	if x != nil {
		return x.CustomizeInfo
	}
	return nil
}

func (x *SettingRequest) GetIsCustom() uint64 {
	if x != nil {
		return x.IsCustom
	}
	return 0
}

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

	KeyWord string `protobuf:"bytes,1,opt,name=KeyWord,json=keyWord,proto3" json:"KeyWord,omitempty"`
	Domain  string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"`
}

func (x *DetailSettingRequest) Reset() {
	*x = DetailSettingRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DetailSettingRequest) ProtoMessage() {}

func (x *DetailSettingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[46]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DetailSettingRequest.ProtoReflect.Descriptor instead.
func (*DetailSettingRequest) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{46}
}

func (x *DetailSettingRequest) GetKeyWord() string {
	if x != nil {
		return x.KeyWord
	}
	return ""
}

func (x *DetailSettingRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

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

	ID      uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Success bool   `protobuf:"varint,2,opt,name=Success,json=success,proto3" json:"Success,omitempty"`
}

func (x *SettingResponse) Reset() {
	*x = SettingResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_api_approval_approval_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SettingResponse) ProtoMessage() {}

func (x *SettingResponse) ProtoReflect() protoreflect.Message {
	mi := &file_api_approval_approval_proto_msgTypes[47]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SettingResponse.ProtoReflect.Descriptor instead.
func (*SettingResponse) Descriptor() ([]byte, []int) {
	return file_api_approval_approval_proto_rawDescGZIP(), []int{47}
}

func (x *SettingResponse) GetID() uint64 {
	if x != nil {
		return x.ID
	}
	return 0
}

func (x *SettingResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

var File_api_approval_approval_proto protoreflect.FileDescriptor

var file_api_approval_approval_proto_rawDesc = []byte{
	0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2f, 0x61,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x61,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x1a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x77, 0x69, 0x74, 0x6b, 0x6f, 0x77, 0x2f, 0x67, 0x6f, 0x2d, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x2d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x40,
	0x76, 0x30, 0x2e, 0x33, 0x2e, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e,
	0x67, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x22, 0x62, 0x0a, 0x16, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79,
	0x52, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
	0x53, 0x68, 0x6f, 0x77, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
	0x68, 0x6f, 0x77, 0x55, 0x69, 0x64, 0x22, 0x31, 0x0a, 0x17, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73,
	0x74, 0x50, 0x61, 0x79, 0x52, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x50, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x06, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x22, 0xbd, 0x01, 0x0a, 0x07, 0x4b, 0x65,
	0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
	0x6c, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x72,
	0x6f, 0x76, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x41,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x24, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
	0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x22, 0x6a, 0x0a, 0x16, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x45, 0x68, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x41,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41,
	0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70,
	0x70, 0x6c, 0x79, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45,
	0x68, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x50, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x42, 0x79, 0x55, 0x73, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x12, 0x20, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72,
	0x49, 0x44, 0x22, 0x2d, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x42, 0x79, 0x55,
	0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x22, 0x4f, 0x0a, 0x15, 0x4e, 0x6f, 0x77, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x79, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x49, 0x44, 0x22, 0x68, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x71, 0x0a, 0x0d,
	0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
	0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22,
	0x86, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a,
	0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a,
	0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69,
	0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x4b,
	0x65, 0x79, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65,
	0x79, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x2d, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f,
	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76,
	0x61, 0x6c, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x49,
	0x6e, 0x66, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
	0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x72,
	0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67,
	0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x0c, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x12, 0x18, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x58, 0x0a, 0x0f, 0x41, 0x6c,
	0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a,
	0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14,
	0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12,
	0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x2f, 0x0a,
	0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x5e,
	0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x20, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xda,
	0x01, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c,
	0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e,
	0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x27,
	0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0f,
	0xe2, 0xdf, 0x1f, 0x0b, 0x10, 0x00, 0x18, 0x04, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x38, 0x52,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a,
	0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69,
	0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd0, 0x01,
	0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a,
	0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2,
	0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04,
	0x50, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x72,
	0x6f, 0x76, 0x65, 0x64, 0x42, 0x6f, 0x73, 0x73, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x42, 0x6f, 0x73, 0x73, 0x49, 0x64,
	0x22, 0x51, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x64,
	0x61, 0x74, 0x61, 0x22, 0x4f, 0x0a, 0x0d, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02,
	0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x22, 0x58, 0x0a, 0x12, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x85,
	0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14,
	0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x74,
	0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x6f, 0x69, 0x6e, 0x67, 0x54,
	0x6f, 0x74, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54,
	0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x61, 0x69, 0x6c,
	0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x61, 0x69,
	0x6c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xc2, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x66, 0x6f, 0x72,
	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39,
	0x0a, 0x0c, 0x4d, 0x79, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
	0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x79, 0x53,
	0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x0c, 0x53, 0x75, 0x62,
	0x6d, 0x69, 0x74, 0x4d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x15, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x72,
	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4d, 0x65,
	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x0a, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x6e,
	0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7e, 0x0a, 0x06, 0x42,
	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41,
	0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41,
	0x74, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x75, 0x6d, 0x22, 0x4c, 0x0a, 0x04, 0x53,
	0x68, 0x6f, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x75, 0x6d,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x75,
	0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x74, 0x22, 0xb8, 0x02, 0x0a, 0x0c, 0x41, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x6f,
	0x72, 0x6b, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x57, 0x6f, 0x72, 0x6b,
	0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x44,
	0x12, 0x20, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x76,
	0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x61,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09,
	0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68,
	0x6f, 0x77, 0x53, 0x65, 0x71, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x68, 0x6f,
	0x77, 0x53, 0x65, 0x71, 0x22, 0xae, 0x01, 0x0a, 0x04, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x0e, 0x0a,
	0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a,
	0x08, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x63,
	0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72,
	0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3c, 0x0a, 0x0d, 0x41, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72,
	0x6f, 0x76, 0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76,
	0x61, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x69, 0x73,
	0x74, 0x55, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69,
	0x73, 0x74, 0x55, 0x49, 0x44, 0x22, 0xc6, 0x03, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76,
	0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02,
	0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c,
	0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0c, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44,
	0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44,
	0x12, 0x20, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x44,
	0x12, 0x20, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x69,
	0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x65, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2d,
	0x0a, 0x08, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x11, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x72, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x52, 0x08, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x4f, 0x0a,
	0x13, 0x41, 0x72, 0x74, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,
	0x74, 0x61, 0x69, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x72, 0x74, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x13, 0x61, 0x72, 0x74, 0x45, 0x78,
	0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1e,
	0x0a, 0x0a, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0xf8,
	0x01, 0x0a, 0x0a, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a,
	0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, 0x0a,
	0x0a, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a,
	0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x50, 0x69, 0x64, 0x41, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d,
	0x70, 0x69, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x4e, 0x0a,
	0x13, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x78,
	0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76,
	0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a,
	0x03, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12,
	0x18, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x22, 0x85, 0x03, 0x0a, 0x07, 0x41, 0x72,
	0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x50, 0x72, 0x69, 0x63, 0x65, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x55, 0x49, 0x44, 0x12,
	0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x55, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x55, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x55, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x41,
	0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41,
	0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4c,
	0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x4c, 0x65, 0x6e,
	0x67, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x05, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c,
	0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x12,
	0x1a, 0x0a, 0x08, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x50, 0x69, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x50, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x53,
	0x61, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x53, 0x61, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a,
	0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52,
	0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x66, 0x6e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x53,
	0x61, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x44, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x53, 0x61, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49,
	0x44, 0x22, 0x91, 0x03, 0x0a, 0x13, 0x41, 0x72, 0x74, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f,
	0x77, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x77,
	0x55, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x71, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x71, 0x12, 0x1a, 0x0a,
	0x08, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x74,
	0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x41,
	0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74,
	0x69, 0x73, 0x74, 0x55, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x72,
	0x74, 0x69, 0x73, 0x74, 0x55, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x41, 0x72, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x14, 0x0a,
	0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x50, 0x72,
	0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f,
	0x77, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12,
	0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xf2, 0x02, 0x0a, 0x0e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
	0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x77,
	0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x55,
	0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e,
	0x0a, 0x0a, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a,
	0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x68,
	0x6f, 0x77, 0x4c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e,
	0x0a, 0x0a, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x20,
	0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x69, 0x7a, 0x65,
	0x12, 0x20, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02,
	0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x72,
	0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xfd, 0x07, 0x0a, 0x0d, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
	0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06,
	0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf,
	0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d,
	0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a,
	0x05, 0x37, 0x30, 0x30, 0x30, 0x39, 0x58, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20,
	0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x24, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74,
	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73,
	0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x70, 0x72,
	0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x08, 0x63,
	0x6f, 0x70, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
	0x74, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x56, 0x69,
	0x65, 0x77, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x56, 0x69, 0x65,
	0x77, 0x12, 0x22, 0x0a, 0x04, 0x57, 0x6f, 0x72, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0e, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52,
	0x04, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x22, 0x0a, 0x04, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x0e, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53,
	0x68, 0x6f, 0x77, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x34, 0x0a, 0x0a, 0x45, 0x78, 0x68,
	0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x28, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x10, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c,
	0x65, 0x52, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x41, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72,
	0x6f, 0x76, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76,
	0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x61, 0x6e, 0x41, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x61,
	0x6e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x09, 0x57, 0x6f, 0x72,
	0x6b, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x46, 0x6c, 0x6f, 0x77,
	0x52, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x6c, 0x6f, 0x77, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x41,
	0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x77,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x6f,
	0x77, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4e, 0x6f, 0x77, 0x55, 0x73,
	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x6f,
	0x77, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76,
	0x65, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12,
	0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x77, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x08, 0x6e, 0x6f, 0x77, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x37, 0x0a, 0x0d, 0x43, 0x75, 0x73,
	0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x11, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x4b, 0x65, 0x79, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x49, 0x6e,
	0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x1b,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x1a,
	0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x72,
	0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67,
	0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x42, 0x75, 0x6e, 0x64,
	0x6c, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x42, 0x75, 0x6e, 0x64,
	0x6c, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x0e, 0x62, 0x75, 0x6e, 0x64,
	0x6c, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x08, 0x57,
	0x6f, 0x72, 0x6b, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49,
	0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12,
	0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x4f, 0x0a, 0x0d, 0x44, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
	0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x39, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x44, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x49, 0x44, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x44,
	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d,
	0x61, 0x69, 0x6e, 0x22, 0x3c, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x22, 0x2a, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x34, 0x0a,
	0x18, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x19, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49,
	0x44, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a,
	0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x41,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x45,
	0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x0c, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12,
	0x26, 0x0a, 0x0e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x72, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x72, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65,
	0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a,
	0x10, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x18, 0x41, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x4a, 0x0a,
	0x08, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x49, 0x73, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x08, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x22, 0x48, 0x0a, 0x0c, 0x41, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
	0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x65,
	0x76, 0x65, 0x6c, 0x22, 0xf1, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
	0x12, 0x18, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x43, 0x6f,
	0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65,
	0x72, 0x52, 0x09, 0x63, 0x6f, 0x70, 0x79, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x0d,
	0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0d, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x12, 0x37, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x49,
	0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x70, 0x72,
	0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x63, 0x75,
	0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x49,
	0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69,
	0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x48, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x18, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x6b, 0x65, 0x79, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d,
	0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x22, 0x3b, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x32, 0xaf,
	0x0c, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
	0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76,
	0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0d,
	0x55, 0x73, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x2e,
	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x64, 0x4e, 0x75, 0x6d,
	0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x55, 0x73, 0x65, 0x64, 0x4e, 0x75, 0x6d,
	0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x60, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x20, 0x2e, 0x61, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x68, 0x41,
	0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45,
	0x68, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x3c, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x2e, 0x61,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x00,
	0x12, 0x3f, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x3d, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x39, 0x0a, 0x06, 0x4d, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x4d,
	0x79, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76,
	0x61, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
	0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0e, 0x4e, 0x6f, 0x77, 0x4c,
	0x65, 0x76, 0x65, 0x6c, 0x42, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x4e, 0x6f, 0x77, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x79,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x46, 0x6c, 0x6f, 0x77, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x49, 0x6e, 0x66,
	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x61, 0x6c, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61,
	0x6c, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x56, 0x69, 0x65, 0x77, 0x65,
	0x64, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x56, 0x69, 0x65,
	0x77, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x70,
	0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18,
	0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0d, 0x44, 0x65,
	0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x2e, 0x61, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x65,
	0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x58, 0x0a, 0x0f, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x52, 0x69, 0x67,
	0x68, 0x74, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x49, 0x73,
	0x45, 0x78, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x52, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
	0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x52, 0x69, 0x67, 0x68, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0f, 0x43, 0x68, 0x61,
	0x6e, 0x67, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x12, 0x20, 0x2e, 0x61,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x75,
	0x6e, 0x64, 0x6c, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18,
	0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0a, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x61, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x43, 0x0a, 0x0a, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x2e,
	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x1b, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c,
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x16, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x07, 0x41, 0x6c, 0x6c,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e,
	0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
	0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0a, 0x52, 0x65,
	0x6d, 0x6f, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a,
	0x08, 0x41, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72,
	0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x2e, 0x41, 0x6c,
	0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x62,
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_api_approval_approval_proto_rawDescOnce sync.Once
	file_api_approval_approval_proto_rawDescData = file_api_approval_approval_proto_rawDesc
)

func file_api_approval_approval_proto_rawDescGZIP() []byte {
	file_api_approval_approval_proto_rawDescOnce.Do(func() {
		file_api_approval_approval_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_approval_approval_proto_rawDescData)
	})
	return file_api_approval_approval_proto_rawDescData
}

var file_api_approval_approval_proto_msgTypes = make([]protoimpl.MessageInfo, 48)
var file_api_approval_approval_proto_goTypes = []interface{}{
	(*CommonResponse)(nil),            // 0: approval.CommonResponse
	(*ChangeBundlePayRequest)(nil),    // 1: approval.ChangeBundlePayRequest
	(*IsExistPayRightRequest)(nil),    // 2: approval.IsExistPayRightRequest
	(*IsExistPayRightResponse)(nil),   // 3: approval.IsExistPayRightResponse
	(*KeyInfo)(nil),                   // 4: approval.KeyInfo
	(*UpdateEhApplyIDRequest)(nil),    // 5: approval.UpdateEhApplyIDRequest
	(*UpdateEhApplyIDResponse)(nil),   // 6: approval.UpdateEhApplyIDResponse
	(*UsedNumByUserRequest)(nil),      // 7: approval.UsedNumByUserRequest
	(*UsedNumByUserResponse)(nil),     // 8: approval.UsedNumByUserResponse
	(*NowLevelByInfoRequest)(nil),     // 9: approval.NowLevelByInfoRequest
	(*WorkFlowResponse)(nil),          // 10: approval.WorkFlowResponse
	(*CommonRequest)(nil),             // 11: approval.CommonRequest
	(*CreateTypeRequest)(nil),         // 12: approval.CreateTypeRequest
	(*TypeResponse)(nil),              // 13: approval.TypeResponse
	(*AllTypeResponse)(nil),           // 14: approval.AllTypeResponse
	(*CreateTypeGroupRequest)(nil),    // 15: approval.CreateTypeGroupRequest
	(*AllGroupResponse)(nil),          // 16: approval.AllGroupResponse
	(*StatusRequest)(nil),             // 17: approval.StatusRequest
	(*StatusResponse)(nil),            // 18: approval.StatusResponse
	(*ListRequest)(nil),               // 19: approval.ListRequest
	(*ListResponse)(nil),              // 20: approval.ListResponse
	(*ViewedRequest)(nil),             // 21: approval.ViewedRequest
	(*InformationRequest)(nil),        // 22: approval.InformationRequest
	(*Information)(nil),               // 23: approval.Information
	(*InformationResponse)(nil),       // 24: approval.InformationResponse
	(*Bundle)(nil),                    // 25: approval.Bundle
	(*Show)(nil),                      // 26: approval.Show
	(*ApprovalWork)(nil),              // 27: approval.ApprovalWork
	(*Work)(nil),                      // 28: approval.Work
	(*ApprovalExhibition)(nil),        // 29: approval.ApprovalExhibition
	(*Exhibition)(nil),                // 30: approval.Exhibition
	(*Artwork)(nil),                   // 31: approval.Artwork
	(*ArtExhibitionDetail)(nil),       // 32: approval.ArtExhibitionDetail
	(*BundlePayPrice)(nil),            // 33: approval.BundlePayPrice
	(*CreateRequest)(nil),             // 34: approval.CreateRequest
	(*WorkFlow)(nil),                  // 35: approval.WorkFlow
	(*DetailRequest)(nil),             // 36: approval.DetailRequest
	(*RemoveRequest)(nil),             // 37: approval.RemoveRequest
	(*ApprovalResponse)(nil),          // 38: approval.ApprovalResponse
	(*RemoveResponse)(nil),            // 39: approval.RemoveResponse
	(*ApprovalExhibitionRemove)(nil),  // 40: approval.ApprovalExhibitionRemove
	(*ApprovalExhibitionRequest)(nil), // 41: approval.ApprovalExhibitionRequest
	(*ApprovalExhibitionDetail)(nil),  // 42: approval.ApprovalExhibitionDetail
	(*CopyUser)(nil),                  // 43: approval.CopyUser
	(*ApprovalUser)(nil),              // 44: approval.ApprovalUser
	(*SettingRequest)(nil),            // 45: approval.SettingRequest
	(*DetailSettingRequest)(nil),      // 46: approval.DetailSettingRequest
	(*SettingResponse)(nil),           // 47: approval.SettingResponse
}
var file_api_approval_approval_proto_depIdxs = []int32{
	4,  // 0: approval.CreateTypeRequest.KeyInfos:type_name -> approval.KeyInfo
	12, // 1: approval.AllTypeResponse.Data:type_name -> approval.CreateTypeRequest
	12, // 2: approval.CreateTypeGroupRequest.List:type_name -> approval.CreateTypeRequest
	15, // 3: approval.AllGroupResponse.Data:type_name -> approval.CreateTypeGroupRequest
	34, // 4: approval.ListResponse.data:type_name -> approval.CreateRequest
	23, // 5: approval.InformationResponse.MySubmitInfo:type_name -> approval.Information
	23, // 6: approval.InformationResponse.SubmitMeInfo:type_name -> approval.Information
	23, // 7: approval.InformationResponse.DomainInfo:type_name -> approval.Information
	27, // 8: approval.Work.ApprovalWorks:type_name -> approval.ApprovalWork
	31, // 9: approval.ApprovalExhibition.Artworks:type_name -> approval.Artwork
	32, // 10: approval.ApprovalExhibition.ArtExhibitionDetail:type_name -> approval.ArtExhibitionDetail
	29, // 11: approval.Exhibition.ApprovalExhibitions:type_name -> approval.ApprovalExhibition
	43, // 12: approval.CreateRequest.CopyUsers:type_name -> approval.CopyUser
	28, // 13: approval.CreateRequest.Work:type_name -> approval.Work
	26, // 14: approval.CreateRequest.Show:type_name -> approval.Show
	30, // 15: approval.CreateRequest.Exhibition:type_name -> approval.Exhibition
	25, // 16: approval.CreateRequest.Bundle:type_name -> approval.Bundle
	44, // 17: approval.CreateRequest.ApprovalUsers:type_name -> approval.ApprovalUser
	35, // 18: approval.CreateRequest.WorkFlows:type_name -> approval.WorkFlow
	4,  // 19: approval.CreateRequest.CustomizeInfo:type_name -> approval.KeyInfo
	33, // 20: approval.CreateRequest.BundlePayPrice:type_name -> approval.BundlePayPrice
	43, // 21: approval.SettingRequest.CopyUsers:type_name -> approval.CopyUser
	44, // 22: approval.SettingRequest.ApprovalUsers:type_name -> approval.ApprovalUser
	4,  // 23: approval.SettingRequest.CustomizeInfo:type_name -> approval.KeyInfo
	34, // 24: approval.Approval.Create:input_type -> approval.CreateRequest
	7,  // 25: approval.Approval.UsedNumByUser:input_type -> approval.UsedNumByUserRequest
	5,  // 26: approval.Approval.UpdateExhibitionApplyID:input_type -> approval.UpdateEhApplyIDRequest
	36, // 27: approval.Approval.Detail:input_type -> approval.DetailRequest
	34, // 28: approval.Approval.Update:input_type -> approval.CreateRequest
	37, // 29: approval.Approval.Remove:input_type -> approval.RemoveRequest
	19, // 30: approval.Approval.MyWork:input_type -> approval.ListRequest
	19, // 31: approval.Approval.MySubmit:input_type -> approval.ListRequest
	9,  // 32: approval.Approval.NowLevelByInfo:input_type -> approval.NowLevelByInfoRequest
	22, // 33: approval.Approval.Information:input_type -> approval.InformationRequest
	21, // 34: approval.Approval.Viewed:input_type -> approval.ViewedRequest
	17, // 35: approval.Approval.SetStatus:input_type -> approval.StatusRequest
	46, // 36: approval.Approval.DetailSetting:input_type -> approval.DetailSettingRequest
	45, // 37: approval.Approval.UpdateSetting:input_type -> approval.SettingRequest
	2,  // 38: approval.Approval.IsExistPayRight:input_type -> approval.IsExistPayRightRequest
	1,  // 39: approval.Approval.ChangeBundlePay:input_type -> approval.ChangeBundlePayRequest
	12, // 40: approval.Approval.CreateType:input_type -> approval.CreateTypeRequest
	13, // 41: approval.Approval.DetailType:input_type -> approval.TypeResponse
	12, // 42: approval.Approval.UpdateType:input_type -> approval.CreateTypeRequest
	11, // 43: approval.Approval.AllType:input_type -> approval.CommonRequest
	37, // 44: approval.Approval.RemoveType:input_type -> approval.RemoveRequest
	11, // 45: approval.Approval.AllGroup:input_type -> approval.CommonRequest
	38, // 46: approval.Approval.Create:output_type -> approval.ApprovalResponse
	8,  // 47: approval.Approval.UsedNumByUser:output_type -> approval.UsedNumByUserResponse
	6,  // 48: approval.Approval.UpdateExhibitionApplyID:output_type -> approval.UpdateEhApplyIDResponse
	34, // 49: approval.Approval.Detail:output_type -> approval.CreateRequest
	38, // 50: approval.Approval.Update:output_type -> approval.ApprovalResponse
	39, // 51: approval.Approval.Remove:output_type -> approval.RemoveResponse
	20, // 52: approval.Approval.MyWork:output_type -> approval.ListResponse
	20, // 53: approval.Approval.MySubmit:output_type -> approval.ListResponse
	10, // 54: approval.Approval.NowLevelByInfo:output_type -> approval.WorkFlowResponse
	24, // 55: approval.Approval.Information:output_type -> approval.InformationResponse
	38, // 56: approval.Approval.Viewed:output_type -> approval.ApprovalResponse
	18, // 57: approval.Approval.SetStatus:output_type -> approval.StatusResponse
	45, // 58: approval.Approval.DetailSetting:output_type -> approval.SettingRequest
	47, // 59: approval.Approval.UpdateSetting:output_type -> approval.SettingResponse
	3,  // 60: approval.Approval.IsExistPayRight:output_type -> approval.IsExistPayRightResponse
	0,  // 61: approval.Approval.ChangeBundlePay:output_type -> approval.CommonResponse
	13, // 62: approval.Approval.CreateType:output_type -> approval.TypeResponse
	12, // 63: approval.Approval.DetailType:output_type -> approval.CreateTypeRequest
	13, // 64: approval.Approval.UpdateType:output_type -> approval.TypeResponse
	14, // 65: approval.Approval.AllType:output_type -> approval.AllTypeResponse
	18, // 66: approval.Approval.RemoveType:output_type -> approval.StatusResponse
	16, // 67: approval.Approval.AllGroup:output_type -> approval.AllGroupResponse
	46, // [46:68] is the sub-list for method output_type
	24, // [24:46] is the sub-list for method input_type
	24, // [24:24] is the sub-list for extension type_name
	24, // [24:24] is the sub-list for extension extendee
	0,  // [0:24] is the sub-list for field type_name
}

func init() { file_api_approval_approval_proto_init() }
func file_api_approval_approval_proto_init() {
	if File_api_approval_approval_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_api_approval_approval_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CommonResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChangeBundlePayRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IsExistPayRightRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*IsExistPayRightResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*KeyInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateEhApplyIDRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateEhApplyIDResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UsedNumByUserRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UsedNumByUserResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NowLevelByInfoRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WorkFlowResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CommonRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateTypeRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TypeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AllTypeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateTypeGroupRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AllGroupResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatusRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatusResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ViewedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InformationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Information); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InformationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Bundle); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Show); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalWork); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Work); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalExhibition); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Exhibition); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Artwork); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ArtExhibitionDetail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BundlePayPrice); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WorkFlow); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DetailRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RemoveRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RemoveResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalExhibitionRemove); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalExhibitionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalExhibitionDetail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CopyUser); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ApprovalUser); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SettingRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DetailSettingRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_api_approval_approval_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SettingResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_api_approval_approval_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   48,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_api_approval_approval_proto_goTypes,
		DependencyIndexes: file_api_approval_approval_proto_depIdxs,
		MessageInfos:      file_api_approval_approval_proto_msgTypes,
	}.Build()
	File_api_approval_approval_proto = out.File
	file_api_approval_approval_proto_rawDesc = nil
	file_api_approval_approval_proto_goTypes = nil
	file_api_approval_approval_proto_depIdxs = nil
}