// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        (unknown)
// source: dataapi/service.proto

package dataapi

import (
	base "go.buf.build/protocolbuffers/go/linuxgit/tidbcloud/base"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	_ "google.golang.org/protobuf/types/known/timestamppb"
	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 CrtType int32

const (
	CrtType_AUTH0   CrtType = 0
	CrtType_APIKEY  CrtType = 1
	CrtType_ACCOUNT CrtType = 2
	CrtType_MIXED   CrtType = 3
	CrtType_EMAIL   CrtType = 4
)

// Enum value maps for CrtType.
var (
	CrtType_name = map[int32]string{
		0: "AUTH0",
		1: "APIKEY",
		2: "ACCOUNT",
		3: "MIXED",
		4: "EMAIL",
	}
	CrtType_value = map[string]int32{
		"AUTH0":   0,
		"APIKEY":  1,
		"ACCOUNT": 2,
		"MIXED":   3,
		"EMAIL":   4,
	}
)

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

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

func (CrtType) Descriptor() protoreflect.EnumDescriptor {
	return file_dataapi_service_proto_enumTypes[0].Descriptor()
}

func (CrtType) Type() protoreflect.EnumType {
	return &file_dataapi_service_proto_enumTypes[0]
}

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

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

type APIKeySource int32

const (
	APIKeySource_DataAPI_Source_UNSPECIFIED        APIKeySource = 0
	APIKeySource_DataAPI_Source_Chat2Query_Console APIKeySource = 1
	APIKeySource_DataAPI_Source_DataAPI_Console    APIKeySource = 2
	APIKeySource_DataAPI_Source_Vercel_Console     APIKeySource = 3
)

// Enum value maps for APIKeySource.
var (
	APIKeySource_name = map[int32]string{
		0: "DataAPI_Source_UNSPECIFIED",
		1: "DataAPI_Source_Chat2Query_Console",
		2: "DataAPI_Source_DataAPI_Console",
		3: "DataAPI_Source_Vercel_Console",
	}
	APIKeySource_value = map[string]int32{
		"DataAPI_Source_UNSPECIFIED":        0,
		"DataAPI_Source_Chat2Query_Console": 1,
		"DataAPI_Source_DataAPI_Console":    2,
		"DataAPI_Source_Vercel_Console":     3,
	}
)

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

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

func (APIKeySource) Descriptor() protoreflect.EnumDescriptor {
	return file_dataapi_service_proto_enumTypes[1].Descriptor()
}

func (APIKeySource) Type() protoreflect.EnumType {
	return &file_dataapi_service_proto_enumTypes[1]
}

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

// Deprecated: Use APIKeySource.Descriptor instead.
func (APIKeySource) EnumDescriptor() ([]byte, []int) {
	return file_dataapi_service_proto_rawDescGZIP(), []int{1}
}

type StmtType int32

const (
	StmtType_Other        StmtType = 0
	StmtType_Select       StmtType = 1
	StmtType_Insert       StmtType = 2
	StmtType_Update       StmtType = 3
	StmtType_Delete       StmtType = 4
	StmtType_DropDatabase StmtType = 5
	StmtType_DropTable    StmtType = 6
	StmtType_DropIndex    StmtType = 7
	StmtType_AlterTable   StmtType = 8
	StmtType_Show         StmtType = 9
	StmtType_Explain      StmtType = 10
	StmtType_Use          StmtType = 11
)

// Enum value maps for StmtType.
var (
	StmtType_name = map[int32]string{
		0:  "Other",
		1:  "Select",
		2:  "Insert",
		3:  "Update",
		4:  "Delete",
		5:  "DropDatabase",
		6:  "DropTable",
		7:  "DropIndex",
		8:  "AlterTable",
		9:  "Show",
		10: "Explain",
		11: "Use",
	}
	StmtType_value = map[string]int32{
		"Other":        0,
		"Select":       1,
		"Insert":       2,
		"Update":       3,
		"Delete":       4,
		"DropDatabase": 5,
		"DropTable":    6,
		"DropIndex":    7,
		"AlterTable":   8,
		"Show":         9,
		"Explain":      10,
		"Use":          11,
	}
)

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

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

func (StmtType) Descriptor() protoreflect.EnumDescriptor {
	return file_dataapi_service_proto_enumTypes[2].Descriptor()
}

func (StmtType) Type() protoreflect.EnumType {
	return &file_dataapi_service_proto_enumTypes[2]
}

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

// Deprecated: Use StmtType.Descriptor instead.
func (StmtType) EnumDescriptor() ([]byte, []int) {
	return file_dataapi_service_proto_rawDescGZIP(), []int{2}
}

type ClusterStatus int32

const (
	ClusterStatus_Unsupported ClusterStatus = 0
	ClusterStatus_NeedCreate  ClusterStatus = 1
	ClusterStatus_Creating    ClusterStatus = 2
	ClusterStatus_Normal      ClusterStatus = 3
)

// Enum value maps for ClusterStatus.
var (
	ClusterStatus_name = map[int32]string{
		0: "Unsupported",
		1: "NeedCreate",
		2: "Creating",
		3: "Normal",
	}
	ClusterStatus_value = map[string]int32{
		"Unsupported": 0,
		"NeedCreate":  1,
		"Creating":    2,
		"Normal":      3,
	}
)

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

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

func (ClusterStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_dataapi_service_proto_enumTypes[3].Descriptor()
}

func (ClusterStatus) Type() protoreflect.EnumType {
	return &file_dataapi_service_proto_enumTypes[3]
}

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

// Deprecated: Use ClusterStatus.Descriptor instead.
func (ClusterStatus) EnumDescriptor() ([]byte, []int) {
	return file_dataapi_service_proto_rawDescGZIP(), []int{3}
}

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

	Type      CrtType `protobuf:"varint,1,opt,name=type,proto3,enum=dataapi.CrtType" json:"type,omitempty"`
	Key       string  `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	AccountId string  `protobuf:"bytes,3,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
}

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

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

func (*Credential) ProtoMessage() {}

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

func (x *Credential) GetType() CrtType {
	if x != nil {
		return x.Type
	}
	return CrtType_AUTH0
}

func (x *Credential) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Credential) GetAccountId() string {
	if x != nil {
		return x.AccountId
	}
	return ""
}

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

	ProjectId  uint64      `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId  uint64      `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Database   string      `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"`
	ExpireSec  uint64      `protobuf:"varint,4,opt,name=expire_sec,json=expireSec,proto3" json:"expire_sec,omitempty"`
	Credential *Credential `protobuf:"bytes,5,opt,name=credential,proto3" json:"credential,omitempty"`
}

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

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

func (*CreateSessionReq) ProtoMessage() {}

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

func (x *CreateSessionReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *CreateSessionReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *CreateSessionReq) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *CreateSessionReq) GetExpireSec() uint64 {
	if x != nil {
		return x.ExpireSec
	}
	return 0
}

func (x *CreateSessionReq) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

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

	SessionId string         `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	BaseResp  *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*CreateSessionResp) ProtoMessage() {}

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

func (x *CreateSessionResp) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *CreateSessionResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	SessionId        string        `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	EndSec           uint64        `protobuf:"varint,2,opt,name=end_sec,json=endSec,proto3" json:"end_sec,omitempty"`
	Database         string        `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"`
	LastActiveTime   uint64        `protobuf:"varint,4,opt,name=last_active_time,json=lastActiveTime,proto3" json:"last_active_time,omitempty"`
	CrtId            string        `protobuf:"bytes,5,opt,name=crt_id,json=crtId,proto3" json:"crt_id,omitempty"`
	ClusterId        uint64        `protobuf:"varint,6,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	ExpireSec        uint64        `protobuf:"varint,7,opt,name=expire_sec,json=expireSec,proto3" json:"expire_sec,omitempty"`
	Cmds             []*SessionCmd `protobuf:"bytes,8,rep,name=cmds,proto3" json:"cmds,omitempty"`
	ExecutorEndpoint string        `protobuf:"bytes,9,opt,name=executor_endpoint,json=executorEndpoint,proto3" json:"executor_endpoint,omitempty"`
}

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

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

func (*SessionItem) ProtoMessage() {}

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

func (x *SessionItem) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *SessionItem) GetEndSec() uint64 {
	if x != nil {
		return x.EndSec
	}
	return 0
}

func (x *SessionItem) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *SessionItem) GetLastActiveTime() uint64 {
	if x != nil {
		return x.LastActiveTime
	}
	return 0
}

func (x *SessionItem) GetCrtId() string {
	if x != nil {
		return x.CrtId
	}
	return ""
}

func (x *SessionItem) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *SessionItem) GetExpireSec() uint64 {
	if x != nil {
		return x.ExpireSec
	}
	return 0
}

func (x *SessionItem) GetCmds() []*SessionCmd {
	if x != nil {
		return x.Cmds
	}
	return nil
}

func (x *SessionItem) GetExecutorEndpoint() string {
	if x != nil {
		return x.ExecutorEndpoint
	}
	return ""
}

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

	Type    string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
}

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

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

func (*SessionCmd) ProtoMessage() {}

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

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

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

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

	SessionId   string       `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	ClusterId   uint64       `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	ProjectId   uint64       `protobuf:"varint,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Credential  *Credential  `protobuf:"bytes,4,opt,name=credential,proto3" json:"credential,omitempty"`
	SessionItem *SessionItem `protobuf:"bytes,5,opt,name=sessionItem,proto3" json:"sessionItem,omitempty"`
}

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

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

func (*CloseSessionReq) ProtoMessage() {}

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

func (x *CloseSessionReq) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *CloseSessionReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *CloseSessionReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *CloseSessionReq) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

func (x *CloseSessionReq) GetSessionItem() *SessionItem {
	if x != nil {
		return x.SessionItem
	}
	return nil
}

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

	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*CloseSessionResp) ProtoMessage() {}

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

func (x *CloseSessionResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	ProjectId           uint64      `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId           uint64      `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Database            string      `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"`
	Sql                 string      `protobuf:"bytes,4,opt,name=sql,proto3" json:"sql,omitempty"`
	Args                []string    `protobuf:"bytes,5,rep,name=args,proto3" json:"args,omitempty"`
	SessionId           string      `protobuf:"bytes,6,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	LimitRows           uint64      `protobuf:"varint,7,opt,name=limit_rows,json=limitRows,proto3" json:"limit_rows,omitempty"`
	Credential          *Credential `protobuf:"bytes,8,opt,name=credential,proto3" json:"credential,omitempty"`
	ReturnAllStmtResult bool        `protobuf:"varint,9,opt,name=return_all_stmt_result,json=returnAllStmtResult,proto3" json:"return_all_stmt_result,omitempty"`
	TimeoutMs           uint64      `protobuf:"varint,10,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"`
	Source              string      `protobuf:"bytes,11,opt,name=source,proto3" json:"source,omitempty"`
}

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

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

func (*BasicEndpointReq) ProtoMessage() {}

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

func (x *BasicEndpointReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *BasicEndpointReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *BasicEndpointReq) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *BasicEndpointReq) GetSql() string {
	if x != nil {
		return x.Sql
	}
	return ""
}

func (x *BasicEndpointReq) GetArgs() []string {
	if x != nil {
		return x.Args
	}
	return nil
}

func (x *BasicEndpointReq) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *BasicEndpointReq) GetLimitRows() uint64 {
	if x != nil {
		return x.LimitRows
	}
	return 0
}

func (x *BasicEndpointReq) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

func (x *BasicEndpointReq) GetReturnAllStmtResult() bool {
	if x != nil {
		return x.ReturnAllStmtResult
	}
	return false
}

func (x *BasicEndpointReq) GetTimeoutMs() uint64 {
	if x != nil {
		return x.TimeoutMs
	}
	return 0
}

func (x *BasicEndpointReq) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

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

	ProjectId           uint64       `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId           uint64       `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Database            string       `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"`
	Sql                 string       `protobuf:"bytes,4,opt,name=sql,proto3" json:"sql,omitempty"`
	Args                string       `protobuf:"bytes,5,opt,name=args,proto3" json:"args,omitempty"`
	SessionId           string       `protobuf:"bytes,6,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	LimitRows           uint64       `protobuf:"varint,7,opt,name=limit_rows,json=limitRows,proto3" json:"limit_rows,omitempty"`
	Credential          *Credential  `protobuf:"bytes,8,opt,name=credential,proto3" json:"credential,omitempty"`
	ReturnAllStmtResult bool         `protobuf:"varint,9,opt,name=return_all_stmt_result,json=returnAllStmtResult,proto3" json:"return_all_stmt_result,omitempty"`
	TimeoutMs           uint64       `protobuf:"varint,10,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"`
	DataappId           uint64       `protobuf:"varint,11,opt,name=dataapp_id,json=dataappId,proto3" json:"dataapp_id,omitempty"`
	DataappName         string       `protobuf:"bytes,12,opt,name=dataapp_name,json=dataappName,proto3" json:"dataapp_name,omitempty"`
	EndpointName        string       `protobuf:"bytes,13,opt,name=endpoint_name,json=endpointName,proto3" json:"endpoint_name,omitempty"`
	AppType             string       `protobuf:"bytes,14,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"`
	OrgId               uint64       `protobuf:"varint,15,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	AccessKey           string       `protobuf:"bytes,16,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	Page                uint64       `protobuf:"varint,17,opt,name=page,proto3" json:"page,omitempty"`
	PageSize            uint64       `protobuf:"varint,18,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	SessionItem         *SessionItem `protobuf:"bytes,19,opt,name=sessionItem,proto3" json:"sessionItem,omitempty"`
	ArgValues           string       `protobuf:"bytes,20,opt,name=arg_values,json=argValues,proto3" json:"arg_values,omitempty"`
	Source              string       `protobuf:"bytes,21,opt,name=source,proto3" json:"source,omitempty"`
	EndpointType        string       `protobuf:"bytes,22,opt,name=endpoint_type,json=endpointType,proto3" json:"endpoint_type,omitempty"`
}

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

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

func (*BasicEndpointReqV2) ProtoMessage() {}

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

func (x *BasicEndpointReqV2) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *BasicEndpointReqV2) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *BasicEndpointReqV2) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *BasicEndpointReqV2) GetSql() string {
	if x != nil {
		return x.Sql
	}
	return ""
}

func (x *BasicEndpointReqV2) GetArgs() string {
	if x != nil {
		return x.Args
	}
	return ""
}

func (x *BasicEndpointReqV2) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *BasicEndpointReqV2) GetLimitRows() uint64 {
	if x != nil {
		return x.LimitRows
	}
	return 0
}

func (x *BasicEndpointReqV2) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

func (x *BasicEndpointReqV2) GetReturnAllStmtResult() bool {
	if x != nil {
		return x.ReturnAllStmtResult
	}
	return false
}

func (x *BasicEndpointReqV2) GetTimeoutMs() uint64 {
	if x != nil {
		return x.TimeoutMs
	}
	return 0
}

func (x *BasicEndpointReqV2) GetDataappId() uint64 {
	if x != nil {
		return x.DataappId
	}
	return 0
}

func (x *BasicEndpointReqV2) GetDataappName() string {
	if x != nil {
		return x.DataappName
	}
	return ""
}

func (x *BasicEndpointReqV2) GetEndpointName() string {
	if x != nil {
		return x.EndpointName
	}
	return ""
}

func (x *BasicEndpointReqV2) GetAppType() string {
	if x != nil {
		return x.AppType
	}
	return ""
}

func (x *BasicEndpointReqV2) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *BasicEndpointReqV2) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

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

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

func (x *BasicEndpointReqV2) GetSessionItem() *SessionItem {
	if x != nil {
		return x.SessionItem
	}
	return nil
}

func (x *BasicEndpointReqV2) GetArgValues() string {
	if x != nil {
		return x.ArgValues
	}
	return ""
}

func (x *BasicEndpointReqV2) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *BasicEndpointReqV2) GetEndpointType() string {
	if x != nil {
		return x.EndpointType
	}
	return ""
}

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

	Code         int64          `protobuf:"varint,1,opt,name=Code,proto3" json:"Code,omitempty"`
	Message      string         `protobuf:"bytes,2,opt,name=Message,proto3" json:"Message,omitempty"`
	Rows         []*Row         `protobuf:"bytes,3,rep,name=rows,proto3" json:"rows,omitempty"`
	Columns      []*Column      `protobuf:"bytes,4,rep,name=columns,proto3" json:"columns,omitempty"`
	StartMs      int64          `protobuf:"varint,5,opt,name=start_ms,json=startMs,proto3" json:"start_ms,omitempty"`
	EndMs        int64          `protobuf:"varint,6,opt,name=end_ms,json=endMs,proto3" json:"end_ms,omitempty"`
	Affect       int64          `protobuf:"varint,7,opt,name=affect,proto3" json:"affect,omitempty"`
	RowNum       int64          `protobuf:"varint,8,opt,name=row_num,json=rowNum,proto3" json:"row_num,omitempty"`
	Databases    []string       `protobuf:"bytes,9,rep,name=databases,proto3" json:"databases,omitempty"`
	StmtType     StmtType       `protobuf:"varint,10,opt,name=stmt_type,json=stmtType,proto3,enum=dataapi.StmtType" json:"stmt_type,omitempty"`
	WarnCount    int32          `protobuf:"varint,11,opt,name=warn_count,json=warnCount,proto3" json:"warn_count,omitempty"`
	WarnMessages []string       `protobuf:"bytes,12,rep,name=warn_messages,json=warnMessages,proto3" json:"warn_messages,omitempty"`
	BaseResp     *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*ExecSqlResp) ProtoMessage() {}

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

func (x *ExecSqlResp) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *ExecSqlResp) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *ExecSqlResp) GetRows() []*Row {
	if x != nil {
		return x.Rows
	}
	return nil
}

func (x *ExecSqlResp) GetColumns() []*Column {
	if x != nil {
		return x.Columns
	}
	return nil
}

func (x *ExecSqlResp) GetStartMs() int64 {
	if x != nil {
		return x.StartMs
	}
	return 0
}

func (x *ExecSqlResp) GetEndMs() int64 {
	if x != nil {
		return x.EndMs
	}
	return 0
}

func (x *ExecSqlResp) GetAffect() int64 {
	if x != nil {
		return x.Affect
	}
	return 0
}

func (x *ExecSqlResp) GetRowNum() int64 {
	if x != nil {
		return x.RowNum
	}
	return 0
}

func (x *ExecSqlResp) GetDatabases() []string {
	if x != nil {
		return x.Databases
	}
	return nil
}

func (x *ExecSqlResp) GetStmtType() StmtType {
	if x != nil {
		return x.StmtType
	}
	return StmtType_Other
}

func (x *ExecSqlResp) GetWarnCount() int32 {
	if x != nil {
		return x.WarnCount
	}
	return 0
}

func (x *ExecSqlResp) GetWarnMessages() []string {
	if x != nil {
		return x.WarnMessages
	}
	return nil
}

func (x *ExecSqlResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	StmtResults []*ExecStmtResult `protobuf:"bytes,1,rep,name=stmt_results,json=stmtResults,proto3" json:"stmt_results,omitempty"`
	BytesCount  int64             `protobuf:"varint,2,opt,name=bytes_count,json=bytesCount,proto3" json:"bytes_count,omitempty"`
	BaseResp    *base.BaseResp    `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*ExecSqlRespV2) ProtoMessage() {}

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

func (x *ExecSqlRespV2) GetStmtResults() []*ExecStmtResult {
	if x != nil {
		return x.StmtResults
	}
	return nil
}

func (x *ExecSqlRespV2) GetBytesCount() int64 {
	if x != nil {
		return x.BytesCount
	}
	return 0
}

func (x *ExecSqlRespV2) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	ErrCode      int64          `protobuf:"varint,1,opt,name=err_code,json=errCode,proto3" json:"err_code,omitempty"`
	ErrMessage   string         `protobuf:"bytes,2,opt,name=err_message,json=errMessage,proto3" json:"err_message,omitempty"`
	Rows         []*Row         `protobuf:"bytes,3,rep,name=rows,proto3" json:"rows,omitempty"`
	Columns      []*Column      `protobuf:"bytes,4,rep,name=columns,proto3" json:"columns,omitempty"`
	StartMs      int64          `protobuf:"varint,5,opt,name=start_ms,json=startMs,proto3" json:"start_ms,omitempty"`
	EndMs        int64          `protobuf:"varint,6,opt,name=end_ms,json=endMs,proto3" json:"end_ms,omitempty"`
	Affect       int64          `protobuf:"varint,7,opt,name=affect,proto3" json:"affect,omitempty"`
	RowNum       int64          `protobuf:"varint,8,opt,name=row_num,json=rowNum,proto3" json:"row_num,omitempty"`
	Databases    []string       `protobuf:"bytes,9,rep,name=databases,proto3" json:"databases,omitempty"`
	StmtType     StmtType       `protobuf:"varint,10,opt,name=stmt_type,json=stmtType,proto3,enum=dataapi.StmtType" json:"stmt_type,omitempty"`
	StmtSql      string         `protobuf:"bytes,11,opt,name=stmt_sql,json=stmtSql,proto3" json:"stmt_sql,omitempty"`
	LimitRows    uint64         `protobuf:"varint,12,opt,name=limit_rows,json=limitRows,proto3" json:"limit_rows,omitempty"`
	LastInsertId int64          `protobuf:"varint,13,opt,name=last_insert_id,json=lastInsertId,proto3" json:"last_insert_id,omitempty"`
	WarnCount    int32          `protobuf:"varint,14,opt,name=warn_count,json=warnCount,proto3" json:"warn_count,omitempty"`
	WarnMessages []*WarnMessage `protobuf:"bytes,15,rep,name=warn_messages,json=warnMessages,proto3" json:"warn_messages,omitempty"`
}

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

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

func (*ExecStmtResult) ProtoMessage() {}

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

func (x *ExecStmtResult) GetErrCode() int64 {
	if x != nil {
		return x.ErrCode
	}
	return 0
}

func (x *ExecStmtResult) GetErrMessage() string {
	if x != nil {
		return x.ErrMessage
	}
	return ""
}

func (x *ExecStmtResult) GetRows() []*Row {
	if x != nil {
		return x.Rows
	}
	return nil
}

func (x *ExecStmtResult) GetColumns() []*Column {
	if x != nil {
		return x.Columns
	}
	return nil
}

func (x *ExecStmtResult) GetStartMs() int64 {
	if x != nil {
		return x.StartMs
	}
	return 0
}

func (x *ExecStmtResult) GetEndMs() int64 {
	if x != nil {
		return x.EndMs
	}
	return 0
}

func (x *ExecStmtResult) GetAffect() int64 {
	if x != nil {
		return x.Affect
	}
	return 0
}

func (x *ExecStmtResult) GetRowNum() int64 {
	if x != nil {
		return x.RowNum
	}
	return 0
}

func (x *ExecStmtResult) GetDatabases() []string {
	if x != nil {
		return x.Databases
	}
	return nil
}

func (x *ExecStmtResult) GetStmtType() StmtType {
	if x != nil {
		return x.StmtType
	}
	return StmtType_Other
}

func (x *ExecStmtResult) GetStmtSql() string {
	if x != nil {
		return x.StmtSql
	}
	return ""
}

func (x *ExecStmtResult) GetLimitRows() uint64 {
	if x != nil {
		return x.LimitRows
	}
	return 0
}

func (x *ExecStmtResult) GetLastInsertId() int64 {
	if x != nil {
		return x.LastInsertId
	}
	return 0
}

func (x *ExecStmtResult) GetWarnCount() int32 {
	if x != nil {
		return x.WarnCount
	}
	return 0
}

func (x *ExecStmtResult) GetWarnMessages() []*WarnMessage {
	if x != nil {
		return x.WarnMessages
	}
	return nil
}

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

	Code    string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
}

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

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

func (*WarnMessage) ProtoMessage() {}

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

func (x *WarnMessage) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *WarnMessage) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

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

	ProjectId  uint64      `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId  uint64      `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Database   string      `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"`
	Credential *Credential `protobuf:"bytes,4,opt,name=credential,proto3" json:"credential,omitempty"`
}

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

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

func (*GetDatabaseMetaReq) ProtoMessage() {}

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

func (x *GetDatabaseMetaReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetDatabaseMetaReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *GetDatabaseMetaReq) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *GetDatabaseMetaReq) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

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

	Metas    []*TableMeta   `protobuf:"bytes,1,rep,name=metas,proto3" json:"metas,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*GetDatabaseMetaResp) ProtoMessage() {}

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

func (x *GetDatabaseMetaResp) GetMetas() []*TableMeta {
	if x != nil {
		return x.Metas
	}
	return nil
}

func (x *GetDatabaseMetaResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	Table    string   `protobuf:"bytes,1,opt,name=table,proto3" json:"table,omitempty"`
	Columns  []string `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"`
	Database string   `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"`
}

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

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

func (*TableMeta) ProtoMessage() {}

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

func (x *TableMeta) GetTable() string {
	if x != nil {
		return x.Table
	}
	return ""
}

func (x *TableMeta) GetColumns() []string {
	if x != nil {
		return x.Columns
	}
	return nil
}

func (x *TableMeta) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

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

	Items []string `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
}

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

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

func (*Row) ProtoMessage() {}

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

func (x *Row) GetItems() []string {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Name     string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	DataType string `protobuf:"bytes,2,opt,name=data_type,json=dataType,proto3" json:"data_type,omitempty"`
	Nullable bool   `protobuf:"varint,3,opt,name=nullable,proto3" json:"nullable,omitempty"`
}

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

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

func (*Column) ProtoMessage() {}

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

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

func (x *Column) GetDataType() string {
	if x != nil {
		return x.DataType
	}
	return ""
}

func (x *Column) GetNullable() bool {
	if x != nil {
		return x.Nullable
	}
	return false
}

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

	ProjectId  uint64      `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId  uint64      `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Credential *Credential `protobuf:"bytes,3,opt,name=credential,proto3" json:"credential,omitempty"`
}

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

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

func (*GetClusterMetaReq) ProtoMessage() {}

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

func (x *GetClusterMetaReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetClusterMetaReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *GetClusterMetaReq) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

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

	Metas    []*TableMeta   `protobuf:"bytes,1,rep,name=metas,proto3" json:"metas,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*GetClusterMetaResp) ProtoMessage() {}

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

func (x *GetClusterMetaResp) GetMetas() []*TableMeta {
	if x != nil {
		return x.Metas
	}
	return nil
}

func (x *GetClusterMetaResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	OrgId     uint64 `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	AppType   string `protobuf:"bytes,3,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"`
	CreatedBy string `protobuf:"bytes,4,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
}

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

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

func (*CreateDataAppReq) ProtoMessage() {}

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

func (x *CreateDataAppReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CreateDataAppReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *CreateDataAppReq) GetAppType() string {
	if x != nil {
		return x.AppType
	}
	return ""
}

func (x *CreateDataAppReq) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

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

	Id               uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	OrgId            uint64 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ProjectId        uint64 `protobuf:"varint,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ExternalAppId    string `protobuf:"bytes,4,opt,name=external_app_id,json=externalAppId,proto3" json:"external_app_id,omitempty"`
	AppName          string `protobuf:"bytes,5,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"`
	AppType          string `protobuf:"bytes,6,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"`
	DeploymentRegion string `protobuf:"bytes,7,opt,name=deployment_region,json=deploymentRegion,proto3" json:"deployment_region,omitempty"`
	CreatedBy        string `protobuf:"bytes,8,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	UpdatedBy        string `protobuf:"bytes,9,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"`
	IsDeleted        int32  `protobuf:"varint,10,opt,name=is_deleted,json=isDeleted,proto3" json:"is_deleted,omitempty"`
	CreatedAt        string `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt        string `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	ServiceUrl       string `protobuf:"bytes,13,opt,name=service_url,json=serviceUrl,proto3" json:"service_url,omitempty"`
}

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

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

func (*AppInfo) ProtoMessage() {}

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

func (x *AppInfo) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *AppInfo) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *AppInfo) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *AppInfo) GetExternalAppId() string {
	if x != nil {
		return x.ExternalAppId
	}
	return ""
}

func (x *AppInfo) GetAppName() string {
	if x != nil {
		return x.AppName
	}
	return ""
}

func (x *AppInfo) GetAppType() string {
	if x != nil {
		return x.AppType
	}
	return ""
}

func (x *AppInfo) GetDeploymentRegion() string {
	if x != nil {
		return x.DeploymentRegion
	}
	return ""
}

func (x *AppInfo) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

func (x *AppInfo) GetUpdatedBy() string {
	if x != nil {
		return x.UpdatedBy
	}
	return ""
}

func (x *AppInfo) GetIsDeleted() int32 {
	if x != nil {
		return x.IsDeleted
	}
	return 0
}

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

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

func (x *AppInfo) GetServiceUrl() string {
	if x != nil {
		return x.ServiceUrl
	}
	return ""
}

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

	Id        uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	DataappId uint64 `protobuf:"varint,2,opt,name=dataapp_id,json=dataappId,proto3" json:"dataapp_id,omitempty"`
	Name      string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Type      string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
	Method    string `protobuf:"bytes,5,opt,name=method,proto3" json:"method,omitempty"`
	Endpoint  string `protobuf:"bytes,6,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
}

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

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

func (*Endpoint) ProtoMessage() {}

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

func (x *Endpoint) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Endpoint) GetDataappId() uint64 {
	if x != nil {
		return x.DataappId
	}
	return 0
}

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

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

func (x *Endpoint) GetMethod() string {
	if x != nil {
		return x.Method
	}
	return ""
}

func (x *Endpoint) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

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

	AppInfo   *AppInfo       `protobuf:"bytes,1,opt,name=app_info,json=appInfo,proto3" json:"app_info,omitempty"`
	Endpoints []*Endpoint    `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
	BaseResp  *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*CreateDataAppResp) ProtoMessage() {}

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

func (x *CreateDataAppResp) GetAppInfo() *AppInfo {
	if x != nil {
		return x.AppInfo
	}
	return nil
}

func (x *CreateDataAppResp) GetEndpoints() []*Endpoint {
	if x != nil {
		return x.Endpoints
	}
	return nil
}

func (x *CreateDataAppResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	AppId    uint64 `protobuf:"varint,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
	AppExtId string `protobuf:"bytes,2,opt,name=app_ext_id,json=appExtId,proto3" json:"app_ext_id,omitempty"`
}

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

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

func (*ShowDataAppReq) ProtoMessage() {}

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

func (x *ShowDataAppReq) GetAppId() uint64 {
	if x != nil {
		return x.AppId
	}
	return 0
}

func (x *ShowDataAppReq) GetAppExtId() string {
	if x != nil {
		return x.AppExtId
	}
	return ""
}

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

	AppInfo  *AppInfo       `protobuf:"bytes,1,opt,name=app_info,json=appInfo,proto3" json:"app_info,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*ShowDataAppResp) ProtoMessage() {}

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

func (x *ShowDataAppResp) GetAppInfo() *AppInfo {
	if x != nil {
		return x.AppInfo
	}
	return nil
}

func (x *ShowDataAppResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	ProjectId uint64   `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	AppTypes  []string `protobuf:"bytes,2,rep,name=app_types,json=appTypes,proto3" json:"app_types,omitempty"`
}

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

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

func (*ListDataAppReq) ProtoMessage() {}

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

func (x *ListDataAppReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ListDataAppReq) GetAppTypes() []string {
	if x != nil {
		return x.AppTypes
	}
	return nil
}

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

	AppList  []*AppInfo     `protobuf:"bytes,1,rep,name=app_list,json=appList,proto3" json:"app_list,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*ListDataAppResp) ProtoMessage() {}

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

func (x *ListDataAppResp) GetAppList() []*AppInfo {
	if x != nil {
		return x.AppList
	}
	return nil
}

func (x *ListDataAppResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	AppId    uint64 `protobuf:"varint,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
	Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"`
}

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

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

func (*DeleteDataAppReq) ProtoMessage() {}

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

func (x *DeleteDataAppReq) GetAppId() uint64 {
	if x != nil {
		return x.AppId
	}
	return 0
}

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

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

	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*DeleteDataAppResp) ProtoMessage() {}

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

func (x *DeleteDataAppResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	DataappId    uint64       `protobuf:"varint,1,opt,name=dataapp_id,json=dataappId,proto3" json:"dataapp_id,omitempty"`
	DataappExtId string       `protobuf:"bytes,2,opt,name=dataapp_ext_id,json=dataappExtId,proto3" json:"dataapp_ext_id,omitempty"`
	Description  string       `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	CreatedBy    string       `protobuf:"bytes,4,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	Source       APIKeySource `protobuf:"varint,5,opt,name=source,proto3,enum=dataapi.APIKeySource" json:"source,omitempty"`
}

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

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

func (*CreateAPIKeyReq) ProtoMessage() {}

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

func (x *CreateAPIKeyReq) GetDataappId() uint64 {
	if x != nil {
		return x.DataappId
	}
	return 0
}

func (x *CreateAPIKeyReq) GetDataappExtId() string {
	if x != nil {
		return x.DataappExtId
	}
	return ""
}

func (x *CreateAPIKeyReq) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *CreateAPIKeyReq) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

func (x *CreateAPIKeyReq) GetSource() APIKeySource {
	if x != nil {
		return x.Source
	}
	return APIKeySource_DataAPI_Source_UNSPECIFIED
}

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

	AccessKey string         `protobuf:"bytes,1,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	SecretKey string         `protobuf:"bytes,2,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	Source    string         `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	Name      string         `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	BaseResp  *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*CreateAPIKeyResp) ProtoMessage() {}

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

func (x *CreateAPIKeyResp) GetAccessKey() string {
	if x != nil {
		return x.AccessKey
	}
	return ""
}

func (x *CreateAPIKeyResp) GetSecretKey() string {
	if x != nil {
		return x.SecretKey
	}
	return ""
}

func (x *CreateAPIKeyResp) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

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

func (x *CreateAPIKeyResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	DataappId uint64         `protobuf:"varint,1,opt,name=dataapp_id,json=dataappId,proto3" json:"dataapp_id,omitempty"`
	ApikeyId  uint64         `protobuf:"varint,2,opt,name=apikey_id,json=apikeyId,proto3" json:"apikey_id,omitempty"`
	CreatedBy string         `protobuf:"bytes,3,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	BaseResp  *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*DeleteAPIKeyReq) ProtoMessage() {}

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

func (x *DeleteAPIKeyReq) GetDataappId() uint64 {
	if x != nil {
		return x.DataappId
	}
	return 0
}

func (x *DeleteAPIKeyReq) GetApikeyId() uint64 {
	if x != nil {
		return x.ApikeyId
	}
	return 0
}

func (x *DeleteAPIKeyReq) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

func (x *DeleteAPIKeyReq) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*DeleteAPIKeyResp) ProtoMessage() {}

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

func (x *DeleteAPIKeyResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	DataappId uint64       `protobuf:"varint,1,opt,name=dataapp_id,json=dataappId,proto3" json:"dataapp_id,omitempty"`
	Source    APIKeySource `protobuf:"varint,2,opt,name=source,proto3,enum=dataapi.APIKeySource" json:"source,omitempty"`
}

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

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

func (*ListAPIKeyReq) ProtoMessage() {}

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

func (x *ListAPIKeyReq) GetDataappId() uint64 {
	if x != nil {
		return x.DataappId
	}
	return 0
}

func (x *ListAPIKeyReq) GetSource() APIKeySource {
	if x != nil {
		return x.Source
	}
	return APIKeySource_DataAPI_Source_UNSPECIFIED
}

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

	Apikeys  []*Apikey      `protobuf:"bytes,1,rep,name=apikeys,proto3" json:"apikeys,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*ListAPIKeyResp) ProtoMessage() {}

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

func (x *ListAPIKeyResp) GetApikeys() []*Apikey {
	if x != nil {
		return x.Apikeys
	}
	return nil
}

func (x *ListAPIKeyResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	Id          uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	CreatedBy   string `protobuf:"bytes,3,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
}

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

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

func (*Apikey) ProtoMessage() {}

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

func (x *Apikey) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *Apikey) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Apikey) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

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

	DataappExtId string `protobuf:"bytes,1,opt,name=dataapp_ext_id,json=dataappExtId,proto3" json:"dataapp_ext_id,omitempty"`
	ApiKey       string `protobuf:"bytes,2,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
}

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

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

func (*AuthAPIKeyReq) ProtoMessage() {}

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

func (x *AuthAPIKeyReq) GetDataappExtId() string {
	if x != nil {
		return x.DataappExtId
	}
	return ""
}

func (x *AuthAPIKeyReq) GetApiKey() string {
	if x != nil {
		return x.ApiKey
	}
	return ""
}

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

	AuthFlag bool           `protobuf:"varint,1,opt,name=auth_flag,json=authFlag,proto3" json:"auth_flag,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*AuthAPIKeyResp) ProtoMessage() {}

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

func (x *AuthAPIKeyResp) GetAuthFlag() bool {
	if x != nil {
		return x.AuthFlag
	}
	return false
}

func (x *AuthAPIKeyResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	ApikeyId uint64 `protobuf:"varint,1,opt,name=apikey_id,json=apikeyId,proto3" json:"apikey_id,omitempty"`
}

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

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

func (*ShowAPIKeyReq) ProtoMessage() {}

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

func (x *ShowAPIKeyReq) GetApikeyId() uint64 {
	if x != nil {
		return x.ApikeyId
	}
	return 0
}

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

	RawKey   string         `protobuf:"bytes,1,opt,name=raw_key,json=rawKey,proto3" json:"raw_key,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*ShowAPIKeyResp) ProtoMessage() {}

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

func (x *ShowAPIKeyResp) GetRawKey() string {
	if x != nil {
		return x.RawKey
	}
	return ""
}

func (x *ShowAPIKeyResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

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

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

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

func (*ParseOneStmtReq) ProtoMessage() {}

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

func (x *ParseOneStmtReq) GetSql() string {
	if x != nil {
		return x.Sql
	}
	return ""
}

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

	StmtType StmtType       `protobuf:"varint,1,opt,name=stmt_type,json=stmtType,proto3,enum=dataapi.StmtType" json:"stmt_type,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*ParseOneStmtResp) ProtoMessage() {}

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

func (x *ParseOneStmtResp) GetStmtType() StmtType {
	if x != nil {
		return x.StmtType
	}
	return StmtType_Other
}

func (x *ParseOneStmtResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	ProjectId    uint64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId    uint64 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	EndpointType string `protobuf:"bytes,3,opt,name=endpoint_type,json=endpointType,proto3" json:"endpoint_type,omitempty"`
}

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

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

func (*EndpointCodeExampleReq) ProtoMessage() {}

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

func (x *EndpointCodeExampleReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *EndpointCodeExampleReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *EndpointCodeExampleReq) GetEndpointType() string {
	if x != nil {
		return x.EndpointType
	}
	return ""
}

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

	Code     string         `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
	BaseResp *base.BaseResp `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*EndpointCodeExampleResp) ProtoMessage() {}

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

func (x *EndpointCodeExampleResp) GetCode() string {
	if x != nil {
		return x.Code
	}
	return ""
}

func (x *EndpointCodeExampleResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	ClusterId   uint64        `protobuf:"varint,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Status      ClusterStatus `protobuf:"varint,2,opt,name=status,proto3,enum=dataapi.ClusterStatus" json:"status,omitempty"`
	IsDedicated bool          `protobuf:"varint,3,opt,name=is_dedicated,json=isDedicated,proto3" json:"is_dedicated,omitempty"`
}

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

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

func (*ClusterStatusInfo) ProtoMessage() {}

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

func (x *ClusterStatusInfo) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ClusterStatusInfo) GetStatus() ClusterStatus {
	if x != nil {
		return x.Status
	}
	return ClusterStatus_Unsupported
}

func (x *ClusterStatusInfo) GetIsDedicated() bool {
	if x != nil {
		return x.IsDedicated
	}
	return false
}

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

	ClusterIds []uint64 `protobuf:"varint,1,rep,packed,name=cluster_ids,json=clusterIds,proto3" json:"cluster_ids,omitempty"`
}

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

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

func (*GetClusterStatusReq) ProtoMessage() {}

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

func (x *GetClusterStatusReq) GetClusterIds() []uint64 {
	if x != nil {
		return x.ClusterIds
	}
	return nil
}

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

	Status   []*ClusterStatusInfo `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"`
	BaseResp *base.BaseResp       `protobuf:"bytes,255,opt,name=base_resp,json=baseResp,proto3" json:"base_resp,omitempty"`
}

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

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

func (*GetClusterStatusResp) ProtoMessage() {}

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

func (x *GetClusterStatusResp) GetStatus() []*ClusterStatusInfo {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *GetClusterStatusResp) GetBaseResp() *base.BaseResp {
	if x != nil {
		return x.BaseResp
	}
	return nil
}

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

	ProjectId           uint64      `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	AppId               uint64      `protobuf:"varint,2,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
	EndpointId          uint64      `protobuf:"varint,3,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"`
	ArgValues           string      `protobuf:"bytes,4,opt,name=arg_values,json=argValues,proto3" json:"arg_values,omitempty"`
	ReturnAllStmtResult bool        `protobuf:"varint,5,opt,name=return_all_stmt_result,json=returnAllStmtResult,proto3" json:"return_all_stmt_result,omitempty"`
	Credential          *Credential `protobuf:"bytes,6,opt,name=credential,proto3" json:"credential,omitempty"`
}

func (x *TestEndpointReqV2) Reset() {
	*x = TestEndpointReqV2{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dataapi_service_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TestEndpointReqV2) ProtoMessage() {}

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

// Deprecated: Use TestEndpointReqV2.ProtoReflect.Descriptor instead.
func (*TestEndpointReqV2) Descriptor() ([]byte, []int) {
	return file_dataapi_service_proto_rawDescGZIP(), []int{48}
}

func (x *TestEndpointReqV2) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *TestEndpointReqV2) GetAppId() uint64 {
	if x != nil {
		return x.AppId
	}
	return 0
}

func (x *TestEndpointReqV2) GetEndpointId() uint64 {
	if x != nil {
		return x.EndpointId
	}
	return 0
}

func (x *TestEndpointReqV2) GetArgValues() string {
	if x != nil {
		return x.ArgValues
	}
	return ""
}

func (x *TestEndpointReqV2) GetReturnAllStmtResult() bool {
	if x != nil {
		return x.ReturnAllStmtResult
	}
	return false
}

func (x *TestEndpointReqV2) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

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

	ProjectId           uint64      `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId           uint64      `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Database            string      `protobuf:"bytes,3,opt,name=database,proto3" json:"database,omitempty"`
	SqlTemplate         string      `protobuf:"bytes,4,opt,name=sql_template,json=sqlTemplate,proto3" json:"sql_template,omitempty"`
	Args                string      `protobuf:"bytes,5,opt,name=args,proto3" json:"args,omitempty"`
	SessionId           string      `protobuf:"bytes,6,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	LimitRows           uint64      `protobuf:"varint,7,opt,name=limit_rows,json=limitRows,proto3" json:"limit_rows,omitempty"` // Deprecated
	TimeoutMs           uint64      `protobuf:"varint,8,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"` // Deprecated
	ReturnAllStmtResult bool        `protobuf:"varint,9,opt,name=return_all_stmt_result,json=returnAllStmtResult,proto3" json:"return_all_stmt_result,omitempty"`
	Credential          *Credential `protobuf:"bytes,10,opt,name=credential,proto3" json:"credential,omitempty"`
	ArgValues           string      `protobuf:"bytes,11,opt,name=arg_values,json=argValues,proto3" json:"arg_values,omitempty"`
	Settings            *Settings   `protobuf:"bytes,12,opt,name=settings,proto3" json:"settings,omitempty"`
	Source              string      `protobuf:"bytes,13,opt,name=source,proto3" json:"source,omitempty"`
}

func (x *ExecSqlTemplateReqV2) Reset() {
	*x = ExecSqlTemplateReqV2{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dataapi_service_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ExecSqlTemplateReqV2) ProtoMessage() {}

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

// Deprecated: Use ExecSqlTemplateReqV2.ProtoReflect.Descriptor instead.
func (*ExecSqlTemplateReqV2) Descriptor() ([]byte, []int) {
	return file_dataapi_service_proto_rawDescGZIP(), []int{49}
}

func (x *ExecSqlTemplateReqV2) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ExecSqlTemplateReqV2) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ExecSqlTemplateReqV2) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *ExecSqlTemplateReqV2) GetSqlTemplate() string {
	if x != nil {
		return x.SqlTemplate
	}
	return ""
}

func (x *ExecSqlTemplateReqV2) GetArgs() string {
	if x != nil {
		return x.Args
	}
	return ""
}

func (x *ExecSqlTemplateReqV2) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *ExecSqlTemplateReqV2) GetLimitRows() uint64 {
	if x != nil {
		return x.LimitRows
	}
	return 0
}

func (x *ExecSqlTemplateReqV2) GetTimeoutMs() uint64 {
	if x != nil {
		return x.TimeoutMs
	}
	return 0
}

func (x *ExecSqlTemplateReqV2) GetReturnAllStmtResult() bool {
	if x != nil {
		return x.ReturnAllStmtResult
	}
	return false
}

func (x *ExecSqlTemplateReqV2) GetCredential() *Credential {
	if x != nil {
		return x.Credential
	}
	return nil
}

func (x *ExecSqlTemplateReqV2) GetArgValues() string {
	if x != nil {
		return x.ArgValues
	}
	return ""
}

func (x *ExecSqlTemplateReqV2) GetSettings() *Settings {
	if x != nil {
		return x.Settings
	}
	return nil
}

func (x *ExecSqlTemplateReqV2) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

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

	Timeout          uint64 `protobuf:"varint,1,opt,name=timeout,proto3" json:"timeout,omitempty"`
	RowLimit         uint64 `protobuf:"varint,2,opt,name=row_limit,json=rowLimit,proto3" json:"row_limit,omitempty"`
	EnablePagination int32  `protobuf:"varint,5,opt,name=enable_pagination,json=enablePagination,proto3" json:"enable_pagination,omitempty"`
	CacheEnabled     int32  `protobuf:"varint,6,opt,name=cache_enabled,json=cacheEnabled,proto3" json:"cache_enabled,omitempty"`
	CacheTtl         uint64 `protobuf:"varint,7,opt,name=cache_ttl,json=cacheTtl,proto3" json:"cache_ttl,omitempty"`
}

func (x *Settings) Reset() {
	*x = Settings{}
	if protoimpl.UnsafeEnabled {
		mi := &file_dataapi_service_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Settings) ProtoMessage() {}

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

// Deprecated: Use Settings.ProtoReflect.Descriptor instead.
func (*Settings) Descriptor() ([]byte, []int) {
	return file_dataapi_service_proto_rawDescGZIP(), []int{50}
}

func (x *Settings) GetTimeout() uint64 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

func (x *Settings) GetRowLimit() uint64 {
	if x != nil {
		return x.RowLimit
	}
	return 0
}

func (x *Settings) GetEnablePagination() int32 {
	if x != nil {
		return x.EnablePagination
	}
	return 0
}

func (x *Settings) GetCacheEnabled() int32 {
	if x != nil {
		return x.CacheEnabled
	}
	return 0
}

func (x *Settings) GetCacheTtl() uint64 {
	if x != nil {
		return x.CacheTtl
	}
	return 0
}

var File_dataapi_service_proto protoreflect.FileDescriptor

var file_dataapi_service_proto_rawDesc = []byte{
	0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69,
	0x1a, 0x0f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x22, 0x63, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
	0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10,
	0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61,
	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61,
	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65,
	0x5f, 0x73, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69,
	0x72, 0x65, 0x53, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x61, 0x74, 0x61,
	0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a,
	0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x60, 0x0a, 0x11, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c,
	0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0xb6, 0x02, 0x0a,
	0x0b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x0a,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x65,
	0x6e, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x65, 0x6e,
	0x64, 0x53, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74,
	0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x72,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x72, 0x74, 0x49,
	0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x53, 0x65, 0x63, 0x12,
	0x27, 0x0a, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
	0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43,
	0x6d, 0x64, 0x52, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63,
	0x75, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x64,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x3a, 0x0a, 0x0a, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x43, 0x6d, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
	0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
	0x74, 0x22, 0xdb, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69,
	0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x49, 0x64, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69,
	0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a, 0x63, 0x72, 0x65,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69,
	0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x74,
	0x65, 0x6d, 0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x22,
	0x40, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70,
	0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42,
	0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x22, 0xf1, 0x02, 0x0a, 0x10, 0x42, 0x61, 0x73, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73,
	0x71, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72,
	0x6f, 0x77, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x52, 0x6f, 0x77, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
	0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61,
	0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a, 0x63,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x65, 0x74,
	0x75, 0x72, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72,
	0x6e, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d,
	0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x12, 0x16, 0x0a,
	0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd8, 0x05, 0x0a, 0x12, 0x42, 0x61, 0x73, 0x69, 0x63, 0x45,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x56, 0x32, 0x12, 0x1d, 0x0a, 0x0a,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61,
	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61,
	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x72,
	0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
	0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12,
	0x33, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74,
	0x6d, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f,
	0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
	0x74, 0x4d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x5f, 0x69,
	0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70,
	0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e,
	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70,
	0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70,
	0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18,
	0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70,
	0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12,
	0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x12, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x36, 0x0a, 0x0b,
	0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x13, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x14, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x49, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x72, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x67, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x15, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x22, 0xab, 0x03, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
	0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20,
	0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73,
	0x12, 0x29, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6c, 0x75,
	0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x4d, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x73,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x12, 0x16, 0x0a,
	0x06, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61,
	0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f, 0x6e, 0x75, 0x6d,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x77, 0x4e, 0x75, 0x6d, 0x12, 0x1c,
	0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x09,
	0x73, 0x74, 0x6d, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x11, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6d, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
	0x77, 0x61, 0x72, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x09, 0x77, 0x61, 0x72, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x77,
	0x61, 0x72, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x72, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
	0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9a,
	0x01, 0x0a, 0x0d, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x56, 0x32,
	0x12, 0x3a, 0x0a, 0x0c, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69,
	0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
	0x0b, 0x73, 0x74, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
	0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a,
	0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x84, 0x04, 0x0a, 0x0e,
	0x45, 0x78, 0x65, 0x63, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19,
	0x0a, 0x08, 0x65, 0x72, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x72, 0x72,
	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x65, 0x72, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x04, 0x72, 0x6f,
	0x77, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61,
	0x70, 0x69, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x29, 0x0a, 0x07,
	0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07,
	0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x5f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x4d, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x05, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x66, 0x66,
	0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x66, 0x66, 0x65, 0x63,
	0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x77, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61,
	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64,
	0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x74, 0x6d, 0x74,
	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x64, 0x61,
	0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x6d, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08,
	0x73, 0x74, 0x6d, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x6d, 0x74,
	0x5f, 0x73, 0x71, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6d, 0x74,
	0x53, 0x71, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x77,
	0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x6f,
	0x77, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74,
	0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x61, 0x72, 0x6e,
	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x77, 0x61,
	0x72, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x6e, 0x5f,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
	0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x77, 0x61, 0x72, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x73, 0x22, 0x3b, 0x0a, 0x0b, 0x57, 0x61, 0x72, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
	0xa3, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d,
	0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x12, 0x33, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43,
	0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65,
	0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x6d, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61,
	0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x05,
	0x6d, 0x65, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x61,
	0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52,
	0x05, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72,
	0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73,
	0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x22, 0x57, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74,
	0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
	0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x22, 0x1b, 0x0a,
	0x03, 0x52, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x55, 0x0a, 0x06, 0x43, 0x6f,
	0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61,
	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74,
	0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c,
	0x65, 0x22, 0x86, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x61, 0x74, 0x61,
	0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a,
	0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0x6c, 0x0a, 0x12, 0x47, 0x65,
	0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x28, 0x0a, 0x05, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x12, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d,
	0x65, 0x74, 0x61, 0x52, 0x05, 0x6d, 0x65, 0x74, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61,
	0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08,
	0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a,
	0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f,
	0x72, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d,
	0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x22, 0x96, 0x03,
	0x0a, 0x07, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64,
	0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12,
	0x26, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x70, 0x70, 0x5f,
	0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
	0x61, 0x6c, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a,
	0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79,
	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x95, 0x01, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70,
	0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65,
	0x74, 0x68, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68,
	0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x9f,
	0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69,
	0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x70, 0x70, 0x49, 0x6e, 0x66,
	0x6f, 0x12, 0x2f, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x45,
	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18,
	0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61,
	0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x22, 0x45, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52,
	0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x61, 0x70, 0x70,
	0x5f, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61,
	0x70, 0x70, 0x45, 0x78, 0x74, 0x49, 0x64, 0x22, 0x6c, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x77, 0x44,
	0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x08, 0x61, 0x70,
	0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07,
	0x61, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f,
	0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61,
	0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x4c, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74,
	0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x22, 0x6c, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41,
	0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6c, 0x69,
	0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61,
	0x70, 0x69, 0x2e, 0x41, 0x70, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4c,
	0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70,
	0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42,
	0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x22, 0x45, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41,
	0x70, 0x70, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x41, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a,
	0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0xc6, 0x01, 0x0a, 0x0f,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12,
	0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x24,
	0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x45,
	0x78, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x2d, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e,
	0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41,
	0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72,
	0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65,
	0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70,
	0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42,
	0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x22, 0x9a, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b,
	0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x61,
	0x70, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x49,
	0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79,
	0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x40,
	0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18,
	0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61,
	0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x22, 0x5d, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65,
	0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x49, 0x64,
	0x12, 0x2d, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x15, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x50, 0x49, 0x4b, 0x65,
	0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22,
	0x69, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x29, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x70, 0x69,
	0x6b, 0x65, 0x79, 0x52, 0x07, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x2c, 0x0a, 0x09,
	0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x59, 0x0a, 0x06, 0x61, 0x70,
	0x69, 0x6b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x42, 0x79, 0x22, 0x4e, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x41, 0x50, 0x49,
	0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x70, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x70, 0x45, 0x78, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
	0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61,
	0x70, 0x69, 0x4b, 0x65, 0x79, 0x22, 0x5b, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, 0x41, 0x50, 0x49,
	0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x5f,
	0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68,
	0x46, 0x6c, 0x61, 0x67, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73,
	0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
	0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x22, 0x2c, 0x0a, 0x0d, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79,
	0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x70, 0x69, 0x6b, 0x65, 0x79, 0x49, 0x64,
	0x22, 0x57, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x62,
	0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52,
	0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x23, 0x0a, 0x0f, 0x50, 0x61, 0x72,
	0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03,
	0x73, 0x71, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x70,
	0x0a, 0x10, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e,
	0x53, 0x74, 0x6d, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18,
	0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61,
	0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x22, 0x7b, 0x0a, 0x16, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65,
	0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a,
	0x17, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x61,
	0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x09,
	0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x85, 0x01, 0x0a, 0x11, 0x43,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12,
	0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x16, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74,
	0x65, 0x64, 0x22, 0x36, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x78, 0x0a, 0x14, 0x47, 0x65,
	0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72,
	0x65, 0x73, 0x70, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x62, 0x61, 0x73,
	0x65, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x22, 0xf3, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x64,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x56, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64,
	0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49,
	0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x72, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
	0x12, 0x33, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73,
	0x74, 0x6d, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x52,
	0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x61, 0x74, 0x61,
	0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x0a,
	0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x22, 0xd4, 0x03, 0x0a, 0x14, 0x45,
	0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65,
	0x71, 0x56, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a,
	0x0c, 0x73, 0x71, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x71, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x61, 0x72, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
	0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x6f, 0x77,
	0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x6f,
	0x77, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d,
	0x73, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f,
	0x73, 0x74, 0x6d, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x13, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74,
	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e,
	0x74, 0x69, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x61, 0x74,
	0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52,
	0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61,
	0x72, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x61, 0x72, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x73, 0x65,
	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52,
	0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x22, 0xb0, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18,
	0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x6f, 0x77,
	0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f,
	0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x5f, 0x74, 0x74, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68,
	0x65, 0x54, 0x74, 0x6c, 0x2a, 0x43, 0x0a, 0x07, 0x43, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x09, 0x0a, 0x05, 0x41, 0x55, 0x54, 0x48, 0x30, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x50,
	0x49, 0x4b, 0x45, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e,
	0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x03, 0x12, 0x09,
	0x0a, 0x05, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x04, 0x2a, 0x9c, 0x01, 0x0a, 0x0c, 0x41, 0x50,
	0x49, 0x4b, 0x65, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x61,
	0x74, 0x61, 0x41, 0x50, 0x49, 0x5f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x55, 0x4e, 0x53,
	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x61,
	0x74, 0x61, 0x41, 0x50, 0x49, 0x5f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x43, 0x68, 0x61,
	0x74, 0x32, 0x51, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x10,
	0x01, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x61, 0x74, 0x61, 0x41, 0x50, 0x49, 0x5f, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x5f, 0x44, 0x61, 0x74, 0x61, 0x41, 0x50, 0x49, 0x5f, 0x43, 0x6f, 0x6e, 0x73,
	0x6f, 0x6c, 0x65, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x61, 0x74, 0x61, 0x41, 0x50, 0x49,
	0x5f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x56, 0x65, 0x72, 0x63, 0x65, 0x6c, 0x5f, 0x43,
	0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x10, 0x03, 0x2a, 0xa5, 0x01, 0x0a, 0x08, 0x53, 0x74, 0x6d,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x10, 0x00,
	0x12, 0x0a, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06,
	0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x04,
	0x12, 0x10, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10,
	0x06, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x07,
	0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x08,
	0x12, 0x08, 0x0a, 0x04, 0x53, 0x68, 0x6f, 0x77, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x78,
	0x70, 0x6c, 0x61, 0x69, 0x6e, 0x10, 0x0a, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x73, 0x65, 0x10, 0x0b,
	0x2a, 0x4a, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64,
	0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x02,
	0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x03, 0x32, 0x8c, 0x0a, 0x0a,
	0x0e, 0x44, 0x61, 0x74, 0x61, 0x41, 0x50, 0x49, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
	0x42, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x6c, 0x79, 0x12, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x61, 0x73,
	0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e,
	0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x12, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x57, 0x69,
	0x74, 0x68, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61,
	0x61, 0x70, 0x69, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x45,
	0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x64, 0x61,
	0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69,
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x6f,
	0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x61,
	0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1b, 0x2e, 0x64, 0x61, 0x74,
	0x61, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65,
	0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74,
	0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1a, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61,
	0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
	0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x46, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70,
	0x70, 0x12, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74,
	0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77,
	0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x12, 0x17, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x69, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71,
	0x1a, 0x18, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x44,
	0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x4c, 0x69,
	0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x12, 0x17, 0x2e, 0x64, 0x61, 0x74, 0x61,
	0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52,
	0x65, 0x71, 0x1a, 0x18, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70, 0x12, 0x19, 0x2e,
	0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61,
	0x74, 0x61, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61,
	0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x41, 0x70, 0x70,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50,
	0x49, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x19,
	0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41,
	0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x2e, 0x64, 0x61, 0x74, 0x61,
	0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79,
	0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d,
	0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65,
	0x79, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x4c,
	0x69, 0x73, 0x74, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a,
	0x0a, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x64, 0x61,
	0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79,
	0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x68,
	0x6f, 0x77, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0a,
	0x41, 0x75, 0x74, 0x68, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x16, 0x2e, 0x64, 0x61, 0x74,
	0x61, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52,
	0x65, 0x71, 0x1a, 0x17, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x75, 0x74,
	0x68, 0x41, 0x50, 0x49, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x50,
	0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x2e, 0x64, 0x61,
	0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74,
	0x6d, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e,
	0x50, 0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x58, 0x0a, 0x13, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65,
	0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x69, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x45, 0x78,
	0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61,
	0x70, 0x69, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x45,
	0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65,
	0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c,
	0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x32, 0x89, 0x04, 0x0a, 0x15,
	0x44, 0x61, 0x74, 0x61, 0x41, 0x50, 0x49, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c,
	0x12, 0x1b, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63,
	0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x56, 0x32, 0x1a, 0x16, 0x2e,
	0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x52,
	0x65, 0x73, 0x70, 0x56, 0x32, 0x12, 0x44, 0x0a, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x64,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x56, 0x32, 0x12, 0x1a, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65,
	0x71, 0x56, 0x32, 0x1a, 0x16, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78,
	0x65, 0x63, 0x53, 0x71, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x56, 0x32, 0x12, 0x4a, 0x0a, 0x11, 0x45,
	0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x56, 0x32,
	0x12, 0x1d, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53,
	0x71, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x56, 0x32, 0x1a,
	0x16, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71,
	0x6c, 0x52, 0x65, 0x73, 0x70, 0x56, 0x32, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61,
	0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x43, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x18, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53,
	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61,
	0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62,
	0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1b, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74,
	0x61, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x47,
	0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74,
	0x6d, 0x74, 0x12, 0x18, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x72,
	0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x64,
	0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53,
	0x74, 0x6d, 0x74, 0x52, 0x65, 0x73, 0x70, 0x32, 0xf8, 0x02, 0x0a, 0x16, 0x44, 0x61, 0x74, 0x61,
	0x41, 0x50, 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1a,
	0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
	0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x43, 0x6c,
	0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x64, 0x61, 0x74,
	0x61, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x43,
	0x6c, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x3e, 0x0a, 0x07, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x12, 0x1b, 0x2e, 0x64, 0x61, 0x74,
	0x61, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
	0x6e, 0x74, 0x52, 0x65, 0x71, 0x56, 0x32, 0x1a, 0x16, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x69, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x53, 0x71, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x56, 0x32, 0x12,
	0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65,
	0x74, 0x61, 0x12, 0x1b, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74,
	0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a,
	0x1c, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74,
	0x61, 0x62, 0x61, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a,
	0x0c, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x2e,
	0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65,
	0x53, 0x74, 0x6d, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70,
	0x69, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x4f, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x74, 0x69, 0x64, 0x62, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x69, 0x64, 0x6c, 0x2f, 0x70, 0x62, 0x67, 0x65,
	0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x3b,
	0x64, 0x61, 0x74, 0x61, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_dataapi_service_proto_rawDescOnce sync.Once
	file_dataapi_service_proto_rawDescData = file_dataapi_service_proto_rawDesc
)

func file_dataapi_service_proto_rawDescGZIP() []byte {
	file_dataapi_service_proto_rawDescOnce.Do(func() {
		file_dataapi_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_dataapi_service_proto_rawDescData)
	})
	return file_dataapi_service_proto_rawDescData
}

var file_dataapi_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_dataapi_service_proto_msgTypes = make([]protoimpl.MessageInfo, 51)
var file_dataapi_service_proto_goTypes = []interface{}{
	(CrtType)(0),                    // 0: dataapi.CrtType
	(APIKeySource)(0),               // 1: dataapi.APIKeySource
	(StmtType)(0),                   // 2: dataapi.StmtType
	(ClusterStatus)(0),              // 3: dataapi.ClusterStatus
	(*Credential)(nil),              // 4: dataapi.Credential
	(*CreateSessionReq)(nil),        // 5: dataapi.CreateSessionReq
	(*CreateSessionResp)(nil),       // 6: dataapi.CreateSessionResp
	(*SessionItem)(nil),             // 7: dataapi.SessionItem
	(*SessionCmd)(nil),              // 8: dataapi.SessionCmd
	(*CloseSessionReq)(nil),         // 9: dataapi.CloseSessionReq
	(*CloseSessionResp)(nil),        // 10: dataapi.CloseSessionResp
	(*BasicEndpointReq)(nil),        // 11: dataapi.BasicEndpointReq
	(*BasicEndpointReqV2)(nil),      // 12: dataapi.BasicEndpointReqV2
	(*ExecSqlResp)(nil),             // 13: dataapi.ExecSqlResp
	(*ExecSqlRespV2)(nil),           // 14: dataapi.ExecSqlRespV2
	(*ExecStmtResult)(nil),          // 15: dataapi.ExecStmtResult
	(*WarnMessage)(nil),             // 16: dataapi.WarnMessage
	(*GetDatabaseMetaReq)(nil),      // 17: dataapi.GetDatabaseMetaReq
	(*GetDatabaseMetaResp)(nil),     // 18: dataapi.GetDatabaseMetaResp
	(*TableMeta)(nil),               // 19: dataapi.TableMeta
	(*Row)(nil),                     // 20: dataapi.Row
	(*Column)(nil),                  // 21: dataapi.Column
	(*GetClusterMetaReq)(nil),       // 22: dataapi.GetClusterMetaReq
	(*GetClusterMetaResp)(nil),      // 23: dataapi.GetClusterMetaResp
	(*CreateDataAppReq)(nil),        // 24: dataapi.CreateDataAppReq
	(*AppInfo)(nil),                 // 25: dataapi.AppInfo
	(*Endpoint)(nil),                // 26: dataapi.Endpoint
	(*CreateDataAppResp)(nil),       // 27: dataapi.CreateDataAppResp
	(*ShowDataAppReq)(nil),          // 28: dataapi.ShowDataAppReq
	(*ShowDataAppResp)(nil),         // 29: dataapi.ShowDataAppResp
	(*ListDataAppReq)(nil),          // 30: dataapi.ListDataAppReq
	(*ListDataAppResp)(nil),         // 31: dataapi.ListDataAppResp
	(*DeleteDataAppReq)(nil),        // 32: dataapi.DeleteDataAppReq
	(*DeleteDataAppResp)(nil),       // 33: dataapi.DeleteDataAppResp
	(*CreateAPIKeyReq)(nil),         // 34: dataapi.CreateAPIKeyReq
	(*CreateAPIKeyResp)(nil),        // 35: dataapi.CreateAPIKeyResp
	(*DeleteAPIKeyReq)(nil),         // 36: dataapi.DeleteAPIKeyReq
	(*DeleteAPIKeyResp)(nil),        // 37: dataapi.DeleteAPIKeyResp
	(*ListAPIKeyReq)(nil),           // 38: dataapi.ListAPIKeyReq
	(*ListAPIKeyResp)(nil),          // 39: dataapi.ListAPIKeyResp
	(*Apikey)(nil),                  // 40: dataapi.apikey
	(*AuthAPIKeyReq)(nil),           // 41: dataapi.AuthAPIKeyReq
	(*AuthAPIKeyResp)(nil),          // 42: dataapi.AuthAPIKeyResp
	(*ShowAPIKeyReq)(nil),           // 43: dataapi.ShowAPIKeyReq
	(*ShowAPIKeyResp)(nil),          // 44: dataapi.ShowAPIKeyResp
	(*ParseOneStmtReq)(nil),         // 45: dataapi.ParseOneStmtReq
	(*ParseOneStmtResp)(nil),        // 46: dataapi.ParseOneStmtResp
	(*EndpointCodeExampleReq)(nil),  // 47: dataapi.EndpointCodeExampleReq
	(*EndpointCodeExampleResp)(nil), // 48: dataapi.EndpointCodeExampleResp
	(*ClusterStatusInfo)(nil),       // 49: dataapi.ClusterStatusInfo
	(*GetClusterStatusReq)(nil),     // 50: dataapi.GetClusterStatusReq
	(*GetClusterStatusResp)(nil),    // 51: dataapi.GetClusterStatusResp
	(*TestEndpointReqV2)(nil),       // 52: dataapi.TestEndpointReqV2
	(*ExecSqlTemplateReqV2)(nil),    // 53: dataapi.ExecSqlTemplateReqV2
	(*Settings)(nil),                // 54: dataapi.Settings
	(*base.BaseResp)(nil),           // 55: base.BaseResp
}
var file_dataapi_service_proto_depIdxs = []int32{
	0,  // 0: dataapi.Credential.type:type_name -> dataapi.CrtType
	4,  // 1: dataapi.CreateSessionReq.credential:type_name -> dataapi.Credential
	55, // 2: dataapi.CreateSessionResp.base_resp:type_name -> base.BaseResp
	8,  // 3: dataapi.SessionItem.cmds:type_name -> dataapi.SessionCmd
	4,  // 4: dataapi.CloseSessionReq.credential:type_name -> dataapi.Credential
	7,  // 5: dataapi.CloseSessionReq.sessionItem:type_name -> dataapi.SessionItem
	55, // 6: dataapi.CloseSessionResp.base_resp:type_name -> base.BaseResp
	4,  // 7: dataapi.BasicEndpointReq.credential:type_name -> dataapi.Credential
	4,  // 8: dataapi.BasicEndpointReqV2.credential:type_name -> dataapi.Credential
	7,  // 9: dataapi.BasicEndpointReqV2.sessionItem:type_name -> dataapi.SessionItem
	20, // 10: dataapi.ExecSqlResp.rows:type_name -> dataapi.Row
	21, // 11: dataapi.ExecSqlResp.columns:type_name -> dataapi.Column
	2,  // 12: dataapi.ExecSqlResp.stmt_type:type_name -> dataapi.StmtType
	55, // 13: dataapi.ExecSqlResp.base_resp:type_name -> base.BaseResp
	15, // 14: dataapi.ExecSqlRespV2.stmt_results:type_name -> dataapi.ExecStmtResult
	55, // 15: dataapi.ExecSqlRespV2.base_resp:type_name -> base.BaseResp
	20, // 16: dataapi.ExecStmtResult.rows:type_name -> dataapi.Row
	21, // 17: dataapi.ExecStmtResult.columns:type_name -> dataapi.Column
	2,  // 18: dataapi.ExecStmtResult.stmt_type:type_name -> dataapi.StmtType
	16, // 19: dataapi.ExecStmtResult.warn_messages:type_name -> dataapi.WarnMessage
	4,  // 20: dataapi.GetDatabaseMetaReq.credential:type_name -> dataapi.Credential
	19, // 21: dataapi.GetDatabaseMetaResp.metas:type_name -> dataapi.TableMeta
	55, // 22: dataapi.GetDatabaseMetaResp.base_resp:type_name -> base.BaseResp
	4,  // 23: dataapi.GetClusterMetaReq.credential:type_name -> dataapi.Credential
	19, // 24: dataapi.GetClusterMetaResp.metas:type_name -> dataapi.TableMeta
	55, // 25: dataapi.GetClusterMetaResp.base_resp:type_name -> base.BaseResp
	25, // 26: dataapi.CreateDataAppResp.app_info:type_name -> dataapi.AppInfo
	26, // 27: dataapi.CreateDataAppResp.endpoints:type_name -> dataapi.Endpoint
	55, // 28: dataapi.CreateDataAppResp.base_resp:type_name -> base.BaseResp
	25, // 29: dataapi.ShowDataAppResp.app_info:type_name -> dataapi.AppInfo
	55, // 30: dataapi.ShowDataAppResp.base_resp:type_name -> base.BaseResp
	25, // 31: dataapi.ListDataAppResp.app_list:type_name -> dataapi.AppInfo
	55, // 32: dataapi.ListDataAppResp.base_resp:type_name -> base.BaseResp
	55, // 33: dataapi.DeleteDataAppResp.base_resp:type_name -> base.BaseResp
	1,  // 34: dataapi.CreateAPIKeyReq.source:type_name -> dataapi.APIKeySource
	55, // 35: dataapi.CreateAPIKeyResp.base_resp:type_name -> base.BaseResp
	55, // 36: dataapi.DeleteAPIKeyReq.base_resp:type_name -> base.BaseResp
	55, // 37: dataapi.DeleteAPIKeyResp.base_resp:type_name -> base.BaseResp
	1,  // 38: dataapi.ListAPIKeyReq.source:type_name -> dataapi.APIKeySource
	40, // 39: dataapi.ListAPIKeyResp.apikeys:type_name -> dataapi.apikey
	55, // 40: dataapi.ListAPIKeyResp.base_resp:type_name -> base.BaseResp
	55, // 41: dataapi.AuthAPIKeyResp.base_resp:type_name -> base.BaseResp
	55, // 42: dataapi.ShowAPIKeyResp.base_resp:type_name -> base.BaseResp
	2,  // 43: dataapi.ParseOneStmtResp.stmt_type:type_name -> dataapi.StmtType
	55, // 44: dataapi.ParseOneStmtResp.base_resp:type_name -> base.BaseResp
	55, // 45: dataapi.EndpointCodeExampleResp.base_resp:type_name -> base.BaseResp
	3,  // 46: dataapi.ClusterStatusInfo.status:type_name -> dataapi.ClusterStatus
	49, // 47: dataapi.GetClusterStatusResp.status:type_name -> dataapi.ClusterStatusInfo
	55, // 48: dataapi.GetClusterStatusResp.base_resp:type_name -> base.BaseResp
	4,  // 49: dataapi.TestEndpointReqV2.credential:type_name -> dataapi.Credential
	4,  // 50: dataapi.ExecSqlTemplateReqV2.credential:type_name -> dataapi.Credential
	54, // 51: dataapi.ExecSqlTemplateReqV2.settings:type_name -> dataapi.Settings
	11, // 52: dataapi.DataAPIService.ExecSqlDirectly:input_type -> dataapi.BasicEndpointReq
	11, // 53: dataapi.DataAPIService.ExecSqlWithSession:input_type -> dataapi.BasicEndpointReq
	5,  // 54: dataapi.DataAPIService.CreateSession:input_type -> dataapi.CreateSessionReq
	9,  // 55: dataapi.DataAPIService.CloseSession:input_type -> dataapi.CloseSessionReq
	17, // 56: dataapi.DataAPIService.GetDatabaseMeta:input_type -> dataapi.GetDatabaseMetaReq
	22, // 57: dataapi.DataAPIService.GetClusterMeta:input_type -> dataapi.GetClusterMetaReq
	24, // 58: dataapi.DataAPIService.CreateDataApp:input_type -> dataapi.CreateDataAppReq
	28, // 59: dataapi.DataAPIService.ShowDataApp:input_type -> dataapi.ShowDataAppReq
	30, // 60: dataapi.DataAPIService.ListDataApp:input_type -> dataapi.ListDataAppReq
	32, // 61: dataapi.DataAPIService.DeleteDataApp:input_type -> dataapi.DeleteDataAppReq
	34, // 62: dataapi.DataAPIService.CreateAPIKey:input_type -> dataapi.CreateAPIKeyReq
	36, // 63: dataapi.DataAPIService.DeleteAPIKey:input_type -> dataapi.DeleteAPIKeyReq
	38, // 64: dataapi.DataAPIService.ListAPIKey:input_type -> dataapi.ListAPIKeyReq
	43, // 65: dataapi.DataAPIService.ShowAPIKey:input_type -> dataapi.ShowAPIKeyReq
	41, // 66: dataapi.DataAPIService.AuthAPIKey:input_type -> dataapi.AuthAPIKeyReq
	45, // 67: dataapi.DataAPIService.ParseOneStmt:input_type -> dataapi.ParseOneStmtReq
	47, // 68: dataapi.DataAPIService.EndpointCodeExample:input_type -> dataapi.EndpointCodeExampleReq
	50, // 69: dataapi.DataAPIService.GetClusterStatus:input_type -> dataapi.GetClusterStatusReq
	12, // 70: dataapi.DataAPIGatewayService.ExecSql:input_type -> dataapi.BasicEndpointReqV2
	52, // 71: dataapi.DataAPIGatewayService.TestEndpointV2:input_type -> dataapi.TestEndpointReqV2
	53, // 72: dataapi.DataAPIGatewayService.ExecSqlTemplateV2:input_type -> dataapi.ExecSqlTemplateReqV2
	5,  // 73: dataapi.DataAPIGatewayService.CreateSession:input_type -> dataapi.CreateSessionReq
	9,  // 74: dataapi.DataAPIGatewayService.CloseSession:input_type -> dataapi.CloseSessionReq
	17, // 75: dataapi.DataAPIGatewayService.GetDatabaseMeta:input_type -> dataapi.GetDatabaseMetaReq
	45, // 76: dataapi.DataAPIGatewayService.ParseOneStmt:input_type -> dataapi.ParseOneStmtReq
	5,  // 77: dataapi.DataAPIExecutorService.CreateSession:input_type -> dataapi.CreateSessionReq
	9,  // 78: dataapi.DataAPIExecutorService.CloseSession:input_type -> dataapi.CloseSessionReq
	12, // 79: dataapi.DataAPIExecutorService.ExecSql:input_type -> dataapi.BasicEndpointReqV2
	17, // 80: dataapi.DataAPIExecutorService.GetDatabaseMeta:input_type -> dataapi.GetDatabaseMetaReq
	45, // 81: dataapi.DataAPIExecutorService.ParseOneStmt:input_type -> dataapi.ParseOneStmtReq
	13, // 82: dataapi.DataAPIService.ExecSqlDirectly:output_type -> dataapi.ExecSqlResp
	13, // 83: dataapi.DataAPIService.ExecSqlWithSession:output_type -> dataapi.ExecSqlResp
	6,  // 84: dataapi.DataAPIService.CreateSession:output_type -> dataapi.CreateSessionResp
	10, // 85: dataapi.DataAPIService.CloseSession:output_type -> dataapi.CloseSessionResp
	18, // 86: dataapi.DataAPIService.GetDatabaseMeta:output_type -> dataapi.GetDatabaseMetaResp
	23, // 87: dataapi.DataAPIService.GetClusterMeta:output_type -> dataapi.GetClusterMetaResp
	27, // 88: dataapi.DataAPIService.CreateDataApp:output_type -> dataapi.CreateDataAppResp
	29, // 89: dataapi.DataAPIService.ShowDataApp:output_type -> dataapi.ShowDataAppResp
	31, // 90: dataapi.DataAPIService.ListDataApp:output_type -> dataapi.ListDataAppResp
	33, // 91: dataapi.DataAPIService.DeleteDataApp:output_type -> dataapi.DeleteDataAppResp
	35, // 92: dataapi.DataAPIService.CreateAPIKey:output_type -> dataapi.CreateAPIKeyResp
	37, // 93: dataapi.DataAPIService.DeleteAPIKey:output_type -> dataapi.DeleteAPIKeyResp
	39, // 94: dataapi.DataAPIService.ListAPIKey:output_type -> dataapi.ListAPIKeyResp
	44, // 95: dataapi.DataAPIService.ShowAPIKey:output_type -> dataapi.ShowAPIKeyResp
	42, // 96: dataapi.DataAPIService.AuthAPIKey:output_type -> dataapi.AuthAPIKeyResp
	46, // 97: dataapi.DataAPIService.ParseOneStmt:output_type -> dataapi.ParseOneStmtResp
	48, // 98: dataapi.DataAPIService.EndpointCodeExample:output_type -> dataapi.EndpointCodeExampleResp
	51, // 99: dataapi.DataAPIService.GetClusterStatus:output_type -> dataapi.GetClusterStatusResp
	14, // 100: dataapi.DataAPIGatewayService.ExecSql:output_type -> dataapi.ExecSqlRespV2
	14, // 101: dataapi.DataAPIGatewayService.TestEndpointV2:output_type -> dataapi.ExecSqlRespV2
	14, // 102: dataapi.DataAPIGatewayService.ExecSqlTemplateV2:output_type -> dataapi.ExecSqlRespV2
	6,  // 103: dataapi.DataAPIGatewayService.CreateSession:output_type -> dataapi.CreateSessionResp
	10, // 104: dataapi.DataAPIGatewayService.CloseSession:output_type -> dataapi.CloseSessionResp
	18, // 105: dataapi.DataAPIGatewayService.GetDatabaseMeta:output_type -> dataapi.GetDatabaseMetaResp
	46, // 106: dataapi.DataAPIGatewayService.ParseOneStmt:output_type -> dataapi.ParseOneStmtResp
	6,  // 107: dataapi.DataAPIExecutorService.CreateSession:output_type -> dataapi.CreateSessionResp
	10, // 108: dataapi.DataAPIExecutorService.CloseSession:output_type -> dataapi.CloseSessionResp
	14, // 109: dataapi.DataAPIExecutorService.ExecSql:output_type -> dataapi.ExecSqlRespV2
	18, // 110: dataapi.DataAPIExecutorService.GetDatabaseMeta:output_type -> dataapi.GetDatabaseMetaResp
	46, // 111: dataapi.DataAPIExecutorService.ParseOneStmt:output_type -> dataapi.ParseOneStmtResp
	82, // [82:112] is the sub-list for method output_type
	52, // [52:82] is the sub-list for method input_type
	52, // [52:52] is the sub-list for extension type_name
	52, // [52:52] is the sub-list for extension extendee
	0,  // [0:52] is the sub-list for field type_name
}

func init() { file_dataapi_service_proto_init() }
func file_dataapi_service_proto_init() {
	if File_dataapi_service_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_dataapi_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Credential); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateSessionReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateSessionResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionItem); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SessionCmd); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CloseSessionReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CloseSessionResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BasicEndpointReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BasicEndpointReqV2); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecSqlResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecSqlRespV2); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecStmtResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WarnMessage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDatabaseMetaReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDatabaseMetaResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TableMeta); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Row); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Column); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetClusterMetaReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetClusterMetaResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataAppReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Endpoint); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataAppResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ShowDataAppReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ShowDataAppResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListDataAppReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListDataAppResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDataAppReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDataAppResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAPIKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateAPIKeyResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteAPIKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteAPIKeyResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAPIKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListAPIKeyResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Apikey); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AuthAPIKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AuthAPIKeyResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ShowAPIKeyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ShowAPIKeyResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ParseOneStmtReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ParseOneStmtResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EndpointCodeExampleReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EndpointCodeExampleResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClusterStatusInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetClusterStatusReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetClusterStatusResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TestEndpointReqV2); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ExecSqlTemplateReqV2); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_dataapi_service_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Settings); 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_dataapi_service_proto_rawDesc,
			NumEnums:      4,
			NumMessages:   51,
			NumExtensions: 0,
			NumServices:   3,
		},
		GoTypes:           file_dataapi_service_proto_goTypes,
		DependencyIndexes: file_dataapi_service_proto_depIdxs,
		EnumInfos:         file_dataapi_service_proto_enumTypes,
		MessageInfos:      file_dataapi_service_proto_msgTypes,
	}.Build()
	File_dataapi_service_proto = out.File
	file_dataapi_service_proto_rawDesc = nil
	file_dataapi_service_proto_goTypes = nil
	file_dataapi_service_proto_depIdxs = nil
}
