// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        v3.19.4
// source: octopus.proto

package octopus

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

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

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

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

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

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

func (*ResourceReq) ProtoMessage() {}

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

func (x *ResourceReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

	POpsAtFp16 float32 `protobuf:"fixed32,1,opt,name=pOpsAtFp16,proto3" json:"pOpsAtFp16,omitempty"`
}

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

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

func (*CpResp) ProtoMessage() {}

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

func (x *CpResp) GetPOpsAtFp16() float32 {
	if x != nil {
		return x.POpsAtFp16
	}
	return 0
}

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

	CpuCoreNum  int32 `protobuf:"varint,1,opt,name=cpuCoreNum,proto3" json:"cpuCoreNum,omitempty"`
	MemoryInGib int32 `protobuf:"varint,2,opt,name=memoryInGib,proto3" json:"memoryInGib,omitempty"`
}

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

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

func (*GiResp) ProtoMessage() {}

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

func (x *GiResp) GetCpuCoreNum() int32 {
	if x != nil {
		return x.CpuCoreNum
	}
	return 0
}

func (x *GiResp) GetMemoryInGib() int32 {
	if x != nil {
		return x.MemoryInGib
	}
	return 0
}

// *****************Algorithm Start************************
type GetAlgorithmReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform    string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	Version     string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
}

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

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

func (*GetAlgorithmReq) ProtoMessage() {}

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

func (x *GetAlgorithmReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetAlgorithmReq) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *GetAlgorithmReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Success bool                 `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error               `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*GetAlgorithmResp) ProtoMessage() {}

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

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

func (x *GetAlgorithmResp) GetPayload() *PayloadGetAlgorithm {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	Algorithm       *Algorithms        `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"`
	VersionAccesses []*VersionAccesses `protobuf:"bytes,2,rep,name=versionAccesses,proto3" json:"versionAccesses,omitempty"`
}

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

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

func (*PayloadGetAlgorithm) ProtoMessage() {}

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

func (x *PayloadGetAlgorithm) GetAlgorithm() *Algorithms {
	if x != nil {
		return x.Algorithm
	}
	return nil
}

func (x *PayloadGetAlgorithm) GetVersionAccesses() []*VersionAccesses {
	if x != nil {
		return x.VersionAccesses
	}
	return nil
}

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

	AlgorithmId string `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	SpaceId     string `protobuf:"bytes,2,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
	Version     string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
}

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

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

func (*VersionAccesses) ProtoMessage() {}

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

func (x *VersionAccesses) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *VersionAccesses) GetSpaceId() string {
	if x != nil {
		return x.SpaceId
	}
	return ""
}

func (x *VersionAccesses) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Platform    string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	Version     string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
}

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

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

func (*DownloadCompressReq) ProtoMessage() {}

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

func (x *DownloadCompressReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DownloadCompressReq) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *DownloadCompressReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Success bool                     `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDownloadCompress `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                   `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*DownloadCompressResp) ProtoMessage() {}

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

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

func (x *DownloadCompressResp) GetPayload() *PayloadDownloadCompress {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	CompressAt int64 `protobuf:"varint,1,opt,name=compressAt,proto3" json:"compressAt,omitempty"`
}

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

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

func (*PayloadDownloadCompress) ProtoMessage() {}

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

func (x *PayloadDownloadCompress) GetCompressAt() int64 {
	if x != nil {
		return x.CompressAt
	}
	return 0
}

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

	Platform    string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	Version     string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	CompressAt  int64  `protobuf:"varint,4,opt,name=compressAt,proto3" json:"compressAt,omitempty"`
	Domain      string `protobuf:"bytes,5,opt,name=domain,proto3" json:"domain,omitempty"`
}

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

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

func (*DownloadAlgorithmReq) ProtoMessage() {}

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

func (x *DownloadAlgorithmReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DownloadAlgorithmReq) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *DownloadAlgorithmReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *DownloadAlgorithmReq) GetCompressAt() int64 {
	if x != nil {
		return x.CompressAt
	}
	return 0
}

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

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

	Success bool                      `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDownloadAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                    `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*DownloadAlgorithmResp) ProtoMessage() {}

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

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

func (x *DownloadAlgorithmResp) GetPayload() *PayloadDownloadAlgorithm {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

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

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

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

func (*PayloadDownloadAlgorithm) ProtoMessage() {}

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

func (x *PayloadDownloadAlgorithm) GetDownloadUrl() string {
	if x != nil {
		return x.DownloadUrl
	}
	return ""
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Url      string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
}

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

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

func (*AlgorithmUrlReq) ProtoMessage() {}

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

func (x *AlgorithmUrlReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *AlgorithmUrlReq) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

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

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

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

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

func (*AlgorithmUrlResp) ProtoMessage() {}

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

func (x *AlgorithmUrlResp) GetAlgorithm() string {
	if x != nil {
		return x.Algorithm
	}
	return ""
}

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

	Platform    string                `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	AlgorithmId string                `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	Version     string                `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	Params      *UploadAlgorithmParam `protobuf:"bytes,4,opt,name=params,proto3" json:"params,omitempty"`
}

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

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

func (*UploadAlgorithmReq) ProtoMessage() {}

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

func (x *UploadAlgorithmReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *UploadAlgorithmReq) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *UploadAlgorithmReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *UploadAlgorithmReq) GetParams() *UploadAlgorithmParam {
	if x != nil {
		return x.Params
	}
	return nil
}

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

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

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

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

func (*UploadAlgorithmParam) ProtoMessage() {}

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

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

func (x *UploadAlgorithmParam) GetFileName() string {
	if x != nil {
		return x.FileName
	}
	return ""
}

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

	Success bool                    `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadUploadAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                  `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*UploadAlgorithmResp) ProtoMessage() {}

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

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

func (x *UploadAlgorithmResp) GetPayload() *PayloadUploadAlgorithm {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

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

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

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

func (*PayloadUploadAlgorithm) ProtoMessage() {}

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

func (x *PayloadUploadAlgorithm) GetUploadUrl() string {
	if x != nil {
		return x.UploadUrl
	}
	return ""
}

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

	Platform    string                       `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	AlgorithmId string                       `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	Version     string                       `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	Params      *UploadAlgorithmConfirmParam `protobuf:"bytes,4,opt,name=params,proto3" json:"params,omitempty"`
}

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

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

func (*UploadAlgorithmConfirmReq) ProtoMessage() {}

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

func (x *UploadAlgorithmConfirmReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *UploadAlgorithmConfirmReq) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *UploadAlgorithmConfirmReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *UploadAlgorithmConfirmReq) GetParams() *UploadAlgorithmConfirmParam {
	if x != nil {
		return x.Params
	}
	return nil
}

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

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

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

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

func (*UploadAlgorithmConfirmParam) ProtoMessage() {}

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

func (x *UploadAlgorithmConfirmParam) GetFileName() string {
	if x != nil {
		return x.FileName
	}
	return ""
}

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

	Success bool                           `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadUploadAlgorithmConfirm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                         `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*UploadAlgorithmConfirmResp) ProtoMessage() {}

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

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

func (x *UploadAlgorithmConfirmResp) GetPayload() *PayloadUploadAlgorithmConfirm {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	UpdatedAt int64 `protobuf:"varint,1,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
}

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

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

func (*PayloadUploadAlgorithmConfirm) ProtoMessage() {}

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

func (x *PayloadUploadAlgorithmConfirm) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

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

	Platform    string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	PageIndex   int32  `protobuf:"varint,3,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize    int32  `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

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

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

func (*GetAlgorithmListReq) ProtoMessage() {}

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

func (x *GetAlgorithmListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetAlgorithmListReq) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *GetAlgorithmListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadAlgorithmList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*GetAlgorithmListResp) ProtoMessage() {}

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

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

func (x *GetAlgorithmListResp) GetPayload() *PayloadAlgorithmList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize  int32              `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Algorithms []*AlgorithmDetail `protobuf:"bytes,2,rep,name=algorithms,proto3" json:"algorithms,omitempty"`
}

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

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

func (*PayloadAlgorithmList) ProtoMessage() {}

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

func (x *PayloadAlgorithmList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadAlgorithmList) GetAlgorithms() []*AlgorithmDetail {
	if x != nil {
		return x.Algorithms
	}
	return nil
}

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

	AlgorithmDetail *Algorithms `protobuf:"bytes,1,opt,name=algorithmDetail,proto3" json:"algorithmDetail,omitempty"`
	IsShared        bool        `protobuf:"varint,2,opt,name=isShared,proto3" json:"isShared,omitempty"`
}

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

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

func (*AlgorithmDetail) ProtoMessage() {}

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

func (x *AlgorithmDetail) GetAlgorithmDetail() *Algorithms {
	if x != nil {
		return x.AlgorithmDetail
	}
	return nil
}

func (x *AlgorithmDetail) GetIsShared() bool {
	if x != nil {
		return x.IsShared
	}
	return false
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

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

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

func (*GetMyAlgorithmListReq) ProtoMessage() {}

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

func (x *GetMyAlgorithmListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetMyAlgorithmListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                    `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadMyAlgorithmList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                  `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*GetMyAlgorithmListResp) ProtoMessage() {}

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

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

func (x *GetMyAlgorithmListResp) GetPayload() *PayloadMyAlgorithmList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize  int32         `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Algorithms []*Algorithms `protobuf:"bytes,2,rep,name=algorithms,proto3" json:"algorithms,omitempty"`
}

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

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

func (*PayloadMyAlgorithmList) ProtoMessage() {}

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

func (x *PayloadMyAlgorithmList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadMyAlgorithmList) GetAlgorithms() []*Algorithms {
	if x != nil {
		return x.Algorithms
	}
	return nil
}

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

	AlgorithmId       string `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	AlgorithmVersion  string `protobuf:"bytes,2,opt,name=algorithmVersion,proto3" json:"algorithmVersion,omitempty"`
	SpaceId           string `protobuf:"bytes,3,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
	SpaceName         string `protobuf:"bytes,4,opt,name=spaceName,proto3" json:"spaceName,omitempty"`
	UserId            string `protobuf:"bytes,5,opt,name=userId,proto3" json:"userId,omitempty"`
	UserName          string `protobuf:"bytes,6,opt,name=userName,proto3" json:"userName,omitempty"`
	AlgorithmName     string `protobuf:"bytes,7,opt,name=algorithmName,proto3" json:"algorithmName,omitempty"`
	ModelName         string `protobuf:"bytes,8,opt,name=modelName,proto3" json:"modelName,omitempty"`
	FileStatus        int32  `protobuf:"varint,9,opt,name=fileStatus,proto3" json:"fileStatus,omitempty"`
	LatestCompressed  int32  `protobuf:"varint,10,opt,name=latestCompressed,proto3" json:"latestCompressed,omitempty"`
	AlgorithmDescript string `protobuf:"bytes,11,opt,name=algorithmDescript,proto3" json:"algorithmDescript,omitempty"`
	Path              string `protobuf:"bytes,12,opt,name=path,proto3" json:"path,omitempty"`
	IsPrefab          bool   `protobuf:"varint,13,opt,name=isPrefab,proto3" json:"isPrefab,omitempty"`
	CreatedAt         int64  `protobuf:"varint,14,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	ApplyId           string `protobuf:"bytes,15,opt,name=applyId,proto3" json:"applyId,omitempty"`
	ApplyName         string `protobuf:"bytes,16,opt,name=applyName,proto3" json:"applyName,omitempty"`
	FrameworkId       string `protobuf:"bytes,17,opt,name=frameworkId,proto3" json:"frameworkId,omitempty"`
	FrameworkName     string `protobuf:"bytes,18,opt,name=frameworkName,proto3" json:"frameworkName,omitempty"`
}

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

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

func (*Algorithms) ProtoMessage() {}

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

func (x *Algorithms) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *Algorithms) GetAlgorithmVersion() string {
	if x != nil {
		return x.AlgorithmVersion
	}
	return ""
}

func (x *Algorithms) GetSpaceId() string {
	if x != nil {
		return x.SpaceId
	}
	return ""
}

func (x *Algorithms) GetSpaceName() string {
	if x != nil {
		return x.SpaceName
	}
	return ""
}

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

func (x *Algorithms) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

func (x *Algorithms) GetAlgorithmName() string {
	if x != nil {
		return x.AlgorithmName
	}
	return ""
}

func (x *Algorithms) GetModelName() string {
	if x != nil {
		return x.ModelName
	}
	return ""
}

func (x *Algorithms) GetFileStatus() int32 {
	if x != nil {
		return x.FileStatus
	}
	return 0
}

func (x *Algorithms) GetLatestCompressed() int32 {
	if x != nil {
		return x.LatestCompressed
	}
	return 0
}

func (x *Algorithms) GetAlgorithmDescript() string {
	if x != nil {
		return x.AlgorithmDescript
	}
	return ""
}

func (x *Algorithms) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Algorithms) GetIsPrefab() bool {
	if x != nil {
		return x.IsPrefab
	}
	return false
}

func (x *Algorithms) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

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

func (x *Algorithms) GetApplyName() string {
	if x != nil {
		return x.ApplyName
	}
	return ""
}

func (x *Algorithms) GetFrameworkId() string {
	if x != nil {
		return x.FrameworkId
	}
	return ""
}

func (x *Algorithms) GetFrameworkName() string {
	if x != nil {
		return x.FrameworkName
	}
	return ""
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

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

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

func (*GetAlgorithmApplyListReq) ProtoMessage() {}

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

func (x *GetAlgorithmApplyListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetAlgorithmApplyListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                          `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetAlgorithmApplyList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                        `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*GetAlgorithmApplyListResp) ProtoMessage() {}

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

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

func (x *GetAlgorithmApplyListResp) GetPayload() *PayloadGetAlgorithmApplyList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32     `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Lables    []*Lables `protobuf:"bytes,2,rep,name=lables,proto3" json:"lables,omitempty"`
}

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

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

func (*PayloadGetAlgorithmApplyList) ProtoMessage() {}

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

func (x *PayloadGetAlgorithmApplyList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetAlgorithmApplyList) GetLables() []*Lables {
	if x != nil {
		return x.Lables
	}
	return nil
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

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

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

func (*GetAlgorithmFrameworkListReq) ProtoMessage() {}

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

func (x *GetAlgorithmFrameworkListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetAlgorithmFrameworkListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                           `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadAlgorithmFrameworkList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                         `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*GetAlgorithmFrameworkListResp) ProtoMessage() {}

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

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

func (x *GetAlgorithmFrameworkListResp) GetPayload() *PayloadAlgorithmFrameworkList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32     `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Lables    []*Lables `protobuf:"bytes,2,rep,name=lables,proto3" json:"lables,omitempty"`
}

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

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

func (*PayloadAlgorithmFrameworkList) ProtoMessage() {}

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

func (x *PayloadAlgorithmFrameworkList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadAlgorithmFrameworkList) GetLables() []*Lables {
	if x != nil {
		return x.Lables
	}
	return nil
}

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

	Id         string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	LableDesc  string `protobuf:"bytes,2,opt,name=lableDesc,proto3" json:"lableDesc,omitempty"`
	SourceType int32  `protobuf:"varint,3,opt,name=sourceType,proto3" json:"sourceType,omitempty"`
}

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

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

func (*Lables) ProtoMessage() {}

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

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

func (x *Lables) GetLableDesc() string {
	if x != nil {
		return x.LableDesc
	}
	return ""
}

func (x *Lables) GetSourceType() int32 {
	if x != nil {
		return x.SourceType
	}
	return 0
}

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

	Platform    string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	AlgorithmId string `protobuf:"bytes,2,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
}

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

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

func (*DeleteMyAlgorithmReq) ProtoMessage() {}

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

func (x *DeleteMyAlgorithmReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DeleteMyAlgorithmReq) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

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

	Success bool                      `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteMyAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                    `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*DeleteMyAlgorithmResp) ProtoMessage() {}

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

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

func (x *DeleteMyAlgorithmResp) GetPayload() *PayloadDeleteMyAlgorithm {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`
}

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

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

func (*PayloadDeleteMyAlgorithm) ProtoMessage() {}

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

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

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

	Platform          string             `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	CreateMyAlgorithm *CreateMyAlgorithm `protobuf:"bytes,2,opt,name=createMyAlgorithm,proto3" json:"createMyAlgorithm,omitempty"`
}

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

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

func (*CreateMyAlgorithmReq) ProtoMessage() {}

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

func (x *CreateMyAlgorithmReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *CreateMyAlgorithmReq) GetCreateMyAlgorithm() *CreateMyAlgorithm {
	if x != nil {
		return x.CreateMyAlgorithm
	}
	return nil
}

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

	Success bool                      `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadCreateMyAlgorithm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                    `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*CreateMyAlgorithmResp) ProtoMessage() {}

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

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

func (x *CreateMyAlgorithmResp) GetPayload() *PayloadCreateMyAlgorithm {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	AlgorithmDescript string `protobuf:"bytes,1,opt,name=algorithmDescript,proto3" json:"algorithmDescript,omitempty"`
	AlgorithmName     string `protobuf:"bytes,2,opt,name=algorithmName,proto3" json:"algorithmName,omitempty"`
	ApplyId           string `protobuf:"bytes,3,opt,name=applyId,proto3" json:"applyId,omitempty"`
	FrameworkId       string `protobuf:"bytes,4,opt,name=frameworkId,proto3" json:"frameworkId,omitempty"`
	IsEmpty           bool   `protobuf:"varint,5,opt,name=isEmpty,proto3" json:"isEmpty,omitempty"`
	ModelName         string `protobuf:"bytes,6,opt,name=modelName,proto3" json:"modelName,omitempty"`
}

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

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

func (*CreateMyAlgorithm) ProtoMessage() {}

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

func (x *CreateMyAlgorithm) GetAlgorithmDescript() string {
	if x != nil {
		return x.AlgorithmDescript
	}
	return ""
}

func (x *CreateMyAlgorithm) GetAlgorithmName() string {
	if x != nil {
		return x.AlgorithmName
	}
	return ""
}

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

func (x *CreateMyAlgorithm) GetFrameworkId() string {
	if x != nil {
		return x.FrameworkId
	}
	return ""
}

func (x *CreateMyAlgorithm) GetIsEmpty() bool {
	if x != nil {
		return x.IsEmpty
	}
	return false
}

func (x *CreateMyAlgorithm) GetModelName() string {
	if x != nil {
		return x.ModelName
	}
	return ""
}

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

	AlgorithmId string `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	CreatedAt   int64  `protobuf:"varint,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	Version     string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
}

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

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

func (*PayloadCreateMyAlgorithm) ProtoMessage() {}

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

func (x *PayloadCreateMyAlgorithm) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *PayloadCreateMyAlgorithm) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *PayloadCreateMyAlgorithm) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

// *****************DatasetService Start************************
type GetDatasetVersionListReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
	DatasetId string `protobuf:"bytes,4,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
}

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

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

func (*GetDatasetVersionListReq) ProtoMessage() {}

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

func (x *GetDatasetVersionListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetDatasetVersionListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

func (x *GetDatasetVersionListReq) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

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

	Success bool                      `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetDatasetVersion `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                    `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*GetDatasetVersionListResp) ProtoMessage() {}

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

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

func (x *GetDatasetVersionListResp) GetPayload() *PayloadGetDatasetVersion {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32             `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Versions  []*DatasetVersion `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"`
}

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

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

func (*PayloadGetDatasetVersion) ProtoMessage() {}

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

func (x *PayloadGetDatasetVersion) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetDatasetVersion) GetVersions() []*DatasetVersion {
	if x != nil {
		return x.Versions
	}
	return nil
}

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

	CreatedAt int64  `protobuf:"varint,1,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	DatasetId string `protobuf:"bytes,2,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
	Desc      string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
	Shared    bool   `protobuf:"varint,4,opt,name=shared,proto3" json:"shared,omitempty"`
	Status    int32  `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
	UpdatedAt int32  `protobuf:"varint,6,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
	Version   string `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"`
}

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

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

func (*DatasetVersion) ProtoMessage() {}

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

func (x *DatasetVersion) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *DatasetVersion) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *DatasetVersion) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

func (x *DatasetVersion) GetShared() bool {
	if x != nil {
		return x.Shared
	}
	return false
}

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

func (x *DatasetVersion) GetUpdatedAt() int32 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

func (x *DatasetVersion) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Platform      string         `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	CreateDataSet *CreateDataSet `protobuf:"bytes,2,opt,name=createDataSet,proto3" json:"createDataSet,omitempty"`
}

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

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

func (*CreateDataSetReq) ProtoMessage() {}

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

func (x *CreateDataSetReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *CreateDataSetReq) GetCreateDataSet() *CreateDataSet {
	if x != nil {
		return x.CreateDataSet
	}
	return nil
}

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

	Success bool                  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadCreateDataSet `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

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

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

func (*CreateDataSetResp) ProtoMessage() {}

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

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

func (x *CreateDataSetResp) GetPayload() *PayloadCreateDataSet {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	ApplyIds []string `protobuf:"bytes,1,rep,name=applyIds,proto3" json:"applyIds,omitempty"`
	Desc     string   `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"`
	Name     string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	TypeId   string   `protobuf:"bytes,4,opt,name=typeId,proto3" json:"typeId,omitempty"`
}

func (x *CreateDataSet) Reset() {
	*x = CreateDataSet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateDataSet) ProtoMessage() {}

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

// Deprecated: Use CreateDataSet.ProtoReflect.Descriptor instead.
func (*CreateDataSet) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{51}
}

func (x *CreateDataSet) GetApplyIds() []string {
	if x != nil {
		return x.ApplyIds
	}
	return nil
}

func (x *CreateDataSet) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

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

func (x *CreateDataSet) GetTypeId() string {
	if x != nil {
		return x.TypeId
	}
	return ""
}

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

	Id      string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
}

func (x *PayloadCreateDataSet) Reset() {
	*x = PayloadCreateDataSet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadCreateDataSet) ProtoMessage() {}

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

// Deprecated: Use PayloadCreateDataSet.ProtoReflect.Descriptor instead.
func (*PayloadCreateDataSet) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{52}
}

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

func (x *PayloadCreateDataSet) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetMyDatasetListReq) Reset() {
	*x = GetMyDatasetListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetMyDatasetListReq) ProtoMessage() {}

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

// Deprecated: Use GetMyDatasetListReq.ProtoReflect.Descriptor instead.
func (*GetMyDatasetListReq) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{53}
}

func (x *GetMyDatasetListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetMyDatasetListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadMyDatasetList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetMyDatasetListResp) Reset() {
	*x = GetMyDatasetListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetMyDatasetListResp) ProtoMessage() {}

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

// Deprecated: Use GetMyDatasetListResp.ProtoReflect.Descriptor instead.
func (*GetMyDatasetListResp) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{54}
}

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

func (x *GetMyDatasetListResp) GetPayload() *PayloadMyDatasetList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32       `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Datasets  []*Datasets `protobuf:"bytes,2,rep,name=datasets,proto3" json:"datasets,omitempty"`
}

func (x *PayloadMyDatasetList) Reset() {
	*x = PayloadMyDatasetList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadMyDatasetList) ProtoMessage() {}

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

// Deprecated: Use PayloadMyDatasetList.ProtoReflect.Descriptor instead.
func (*PayloadMyDatasetList) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{55}
}

func (x *PayloadMyDatasetList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadMyDatasetList) GetDatasets() []*Datasets {
	if x != nil {
		return x.Datasets
	}
	return nil
}

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

	CreatedAt     int64      `protobuf:"varint,1,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	UpdatedAt     int64      `protobuf:"varint,2,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
	Id            string     `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	SourceType    int32      `protobuf:"varint,4,opt,name=sourceType,proto3" json:"sourceType,omitempty"`
	Name          string     `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
	TypeId        string     `protobuf:"bytes,6,opt,name=typeId,proto3" json:"typeId,omitempty"`
	TypeDesc      string     `protobuf:"bytes,7,opt,name=typeDesc,proto3" json:"typeDesc,omitempty"`
	Applies       []*Applies `protobuf:"bytes,8,rep,name=applies,proto3" json:"applies,omitempty"`
	Desc          string     `protobuf:"bytes,9,opt,name=desc,proto3" json:"desc,omitempty"`
	LatestVersion string     `protobuf:"bytes,10,opt,name=latestVersion,proto3" json:"latestVersion,omitempty"`
	UserName      string     `protobuf:"bytes,11,opt,name=userName,proto3" json:"userName,omitempty"`
}

func (x *Datasets) Reset() {
	*x = Datasets{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Datasets) ProtoMessage() {}

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

// Deprecated: Use Datasets.ProtoReflect.Descriptor instead.
func (*Datasets) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{56}
}

func (x *Datasets) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *Datasets) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

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

func (x *Datasets) GetSourceType() int32 {
	if x != nil {
		return x.SourceType
	}
	return 0
}

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

func (x *Datasets) GetTypeId() string {
	if x != nil {
		return x.TypeId
	}
	return ""
}

func (x *Datasets) GetTypeDesc() string {
	if x != nil {
		return x.TypeDesc
	}
	return ""
}

func (x *Datasets) GetApplies() []*Applies {
	if x != nil {
		return x.Applies
	}
	return nil
}

func (x *Datasets) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

func (x *Datasets) GetLatestVersion() string {
	if x != nil {
		return x.LatestVersion
	}
	return ""
}

func (x *Datasets) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

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

	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"`
}

func (x *Applies) Reset() {
	*x = Applies{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Applies) ProtoMessage() {}

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

// Deprecated: Use Applies.ProtoReflect.Descriptor instead.
func (*Applies) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{57}
}

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

func (x *Applies) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *DeleteDataSetReq) Reset() {
	*x = DeleteDataSetReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteDataSetReq) ProtoMessage() {}

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

// Deprecated: Use DeleteDataSetReq.ProtoReflect.Descriptor instead.
func (*DeleteDataSetReq) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{58}
}

func (x *DeleteDataSetReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteDataSet `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DeleteDataSetResp) Reset() {
	*x = DeleteDataSetResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteDataSetResp) ProtoMessage() {}

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

// Deprecated: Use DeleteDataSetResp.ProtoReflect.Descriptor instead.
func (*DeleteDataSetResp) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{59}
}

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

func (x *DeleteDataSetResp) GetPayload() *PayloadDeleteDataSet {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`
}

func (x *PayloadDeleteDataSet) Reset() {
	*x = PayloadDeleteDataSet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDeleteDataSet) ProtoMessage() {}

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

// Deprecated: Use PayloadDeleteDataSet.ProtoReflect.Descriptor instead.
func (*PayloadDeleteDataSet) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{60}
}

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

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

	Platform  string              `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	DatasetId string              `protobuf:"bytes,2,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
	Version   string              `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	Params    *UploadDataSetParam `protobuf:"bytes,4,opt,name=params,proto3" json:"params,omitempty"`
}

func (x *UploadDataSetReq) Reset() {
	*x = UploadDataSetReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadDataSetReq) ProtoMessage() {}

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

// Deprecated: Use UploadDataSetReq.ProtoReflect.Descriptor instead.
func (*UploadDataSetReq) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{61}
}

func (x *UploadDataSetReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *UploadDataSetReq) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *UploadDataSetReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *UploadDataSetReq) GetParams() *UploadDataSetParam {
	if x != nil {
		return x.Params
	}
	return nil
}

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

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

func (x *UploadDataSetParam) Reset() {
	*x = UploadDataSetParam{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadDataSetParam) ProtoMessage() {}

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

// Deprecated: Use UploadDataSetParam.ProtoReflect.Descriptor instead.
func (*UploadDataSetParam) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{62}
}

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

func (x *UploadDataSetParam) GetFileName() string {
	if x != nil {
		return x.FileName
	}
	return ""
}

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

	Success bool                  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadUploadDataSet `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *UploadDataSetResp) Reset() {
	*x = UploadDataSetResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadDataSetResp) ProtoMessage() {}

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

// Deprecated: Use UploadDataSetResp.ProtoReflect.Descriptor instead.
func (*UploadDataSetResp) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{63}
}

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

func (x *UploadDataSetResp) GetPayload() *PayloadUploadDataSet {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

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

func (x *PayloadUploadDataSet) Reset() {
	*x = PayloadUploadDataSet{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadUploadDataSet) ProtoMessage() {}

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

// Deprecated: Use PayloadUploadDataSet.ProtoReflect.Descriptor instead.
func (*PayloadUploadDataSet) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{64}
}

func (x *PayloadUploadDataSet) GetUploadUrl() string {
	if x != nil {
		return x.UploadUrl
	}
	return ""
}

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

	Platform  string                     `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	DatasetId string                     `protobuf:"bytes,2,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
	Version   string                     `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	Params    *UploadDataSetConfirmParam `protobuf:"bytes,4,opt,name=params,proto3" json:"params,omitempty"`
}

func (x *UploadDataSetConfirmReq) Reset() {
	*x = UploadDataSetConfirmReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadDataSetConfirmReq) ProtoMessage() {}

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

// Deprecated: Use UploadDataSetConfirmReq.ProtoReflect.Descriptor instead.
func (*UploadDataSetConfirmReq) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{65}
}

func (x *UploadDataSetConfirmReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *UploadDataSetConfirmReq) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *UploadDataSetConfirmReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *UploadDataSetConfirmReq) GetParams() *UploadDataSetConfirmParam {
	if x != nil {
		return x.Params
	}
	return nil
}

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

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

func (x *UploadDataSetConfirmParam) Reset() {
	*x = UploadDataSetConfirmParam{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadDataSetConfirmParam) ProtoMessage() {}

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

// Deprecated: Use UploadDataSetConfirmParam.ProtoReflect.Descriptor instead.
func (*UploadDataSetConfirmParam) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{66}
}

func (x *UploadDataSetConfirmParam) GetFileName() string {
	if x != nil {
		return x.FileName
	}
	return ""
}

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

	Success bool                         `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadUploadDataSetConfirm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                       `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *UploadDataSetConfirmResp) Reset() {
	*x = UploadDataSetConfirmResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadDataSetConfirmResp) ProtoMessage() {}

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

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

func (x *UploadDataSetConfirmResp) GetPayload() *PayloadUploadDataSetConfirm {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	UpdatedAt int64 `protobuf:"varint,1,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
}

func (x *PayloadUploadDataSetConfirm) Reset() {
	*x = PayloadUploadDataSetConfirm{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadUploadDataSetConfirm) ProtoMessage() {}

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

func (x *PayloadUploadDataSetConfirm) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

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

	Platform  string                     `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	DatasetId string                     `protobuf:"bytes,2,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
	Params    *CreateDataSetVersionParam `protobuf:"bytes,3,opt,name=params,proto3" json:"params,omitempty"`
}

func (x *CreateDataSetVersionReq) Reset() {
	*x = CreateDataSetVersionReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateDataSetVersionReq) ProtoMessage() {}

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

func (x *CreateDataSetVersionReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *CreateDataSetVersionReq) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *CreateDataSetVersionReq) GetParams() *CreateDataSetVersionParam {
	if x != nil {
		return x.Params
	}
	return nil
}

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

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

func (x *CreateDataSetVersionParam) Reset() {
	*x = CreateDataSetVersionParam{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateDataSetVersionParam) ProtoMessage() {}

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

func (x *CreateDataSetVersionParam) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

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

	Success bool                         `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadCreateDataSetVersion `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                       `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *CreateDataSetVersionResp) Reset() {
	*x = CreateDataSetVersionResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateDataSetVersionResp) ProtoMessage() {}

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

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

func (x *CreateDataSetVersionResp) GetPayload() *PayloadCreateDataSetVersion {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DatasetId string `protobuf:"bytes,1,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
	Version   string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
}

func (x *PayloadCreateDataSetVersion) Reset() {
	*x = PayloadCreateDataSetVersion{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadCreateDataSetVersion) ProtoMessage() {}

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

func (x *PayloadCreateDataSetVersion) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *PayloadCreateDataSetVersion) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	DatasetId string `protobuf:"bytes,2,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
	Version   string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
}

func (x *DeleteDataSetVersionReq) Reset() {
	*x = DeleteDataSetVersionReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteDataSetVersionReq) ProtoMessage() {}

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

func (x *DeleteDataSetVersionReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DeleteDataSetVersionReq) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *DeleteDataSetVersionReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Success bool                         `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteDataSetVersion `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                       `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DeleteDataSetVersionResp) Reset() {
	*x = DeleteDataSetVersionResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteDataSetVersionResp) ProtoMessage() {}

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

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

func (x *DeleteDataSetVersionResp) GetPayload() *PayloadDeleteDataSetVersion {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`
}

func (x *PayloadDeleteDataSetVersion) Reset() {
	*x = PayloadDeleteDataSetVersion{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDeleteDataSetVersion) ProtoMessage() {}

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

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

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetDatasetApplyListReq) Reset() {
	*x = GetDatasetApplyListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetDatasetApplyListReq) ProtoMessage() {}

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

func (x *GetDatasetApplyListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetDatasetApplyListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                        `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetDatasetApplyList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                      `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetDatasetApplyListResp) Reset() {
	*x = GetDatasetApplyListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetDatasetApplyListResp) ProtoMessage() {}

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

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

func (x *GetDatasetApplyListResp) GetPayload() *PayloadGetDatasetApplyList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32     `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Lables    []*Lables `protobuf:"bytes,2,rep,name=lables,proto3" json:"lables,omitempty"`
}

func (x *PayloadGetDatasetApplyList) Reset() {
	*x = PayloadGetDatasetApplyList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetDatasetApplyList) ProtoMessage() {}

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

func (x *PayloadGetDatasetApplyList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetDatasetApplyList) GetLables() []*Lables {
	if x != nil {
		return x.Lables
	}
	return nil
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetDatasetTypeListRep) Reset() {
	*x = GetDatasetTypeListRep{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[79]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetDatasetTypeListRep) ProtoMessage() {}

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

func (x *GetDatasetTypeListRep) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetDatasetTypeListRep) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                       `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetDatasetTypeList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                     `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetDatasetTypeListResp) Reset() {
	*x = GetDatasetTypeListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[80]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetDatasetTypeListResp) ProtoMessage() {}

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

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

func (x *GetDatasetTypeListResp) GetPayload() *PayloadGetDatasetTypeList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32     `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Lables    []*Lables `protobuf:"bytes,2,rep,name=lables,proto3" json:"lables,omitempty"`
}

func (x *PayloadGetDatasetTypeList) Reset() {
	*x = PayloadGetDatasetTypeList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[81]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetDatasetTypeList) ProtoMessage() {}

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

func (x *PayloadGetDatasetTypeList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetDatasetTypeList) GetLables() []*Lables {
	if x != nil {
		return x.Lables
	}
	return nil
}

// *****************ModelDeployService Start************************
type CreateModelDeployReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform string                  `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Params   *CreateModelDeployParam `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"`
}

func (x *CreateModelDeployReq) Reset() {
	*x = CreateModelDeployReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[82]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateModelDeployReq) ProtoMessage() {}

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

func (x *CreateModelDeployReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *CreateModelDeployReq) GetParams() *CreateModelDeployParam {
	if x != nil {
		return x.Params
	}
	return nil
}

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

	Desc           string `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"`
	Domain         string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
	ModelFrame     string `protobuf:"bytes,3,opt,name=modelFrame,proto3" json:"modelFrame,omitempty"`
	ModelId        string `protobuf:"bytes,4,opt,name=modelId,proto3" json:"modelId,omitempty"`
	ModelVersion   string `protobuf:"bytes,5,opt,name=modelVersion,proto3" json:"modelVersion,omitempty"`
	Name           string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	ResourcePool   string `protobuf:"bytes,7,opt,name=resourcePool,proto3" json:"resourcePool,omitempty"`
	ResourceSpecId string `protobuf:"bytes,8,opt,name=resourceSpecId,proto3" json:"resourceSpecId,omitempty"`
	ResourceType   string `protobuf:"bytes,9,opt,name=resourceType,proto3" json:"resourceType,omitempty"`
	ServiceType    string `protobuf:"bytes,10,opt,name=serviceType,proto3" json:"serviceType,omitempty"`
}

func (x *CreateModelDeployParam) Reset() {
	*x = CreateModelDeployParam{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[83]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateModelDeployParam) ProtoMessage() {}

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

func (x *CreateModelDeployParam) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

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

func (x *CreateModelDeployParam) GetModelFrame() string {
	if x != nil {
		return x.ModelFrame
	}
	return ""
}

func (x *CreateModelDeployParam) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

func (x *CreateModelDeployParam) GetModelVersion() string {
	if x != nil {
		return x.ModelVersion
	}
	return ""
}

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

func (x *CreateModelDeployParam) GetResourcePool() string {
	if x != nil {
		return x.ResourcePool
	}
	return ""
}

func (x *CreateModelDeployParam) GetResourceSpecId() string {
	if x != nil {
		return x.ResourceSpecId
	}
	return ""
}

func (x *CreateModelDeployParam) GetResourceType() string {
	if x != nil {
		return x.ResourceType
	}
	return ""
}

func (x *CreateModelDeployParam) GetServiceType() string {
	if x != nil {
		return x.ServiceType
	}
	return ""
}

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

	Success bool                      `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadCreateModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                    `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *CreateModelDeployResp) Reset() {
	*x = CreateModelDeployResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[84]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateModelDeployResp) ProtoMessage() {}

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

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

func (x *CreateModelDeployResp) GetPayload() *PayloadCreateModelDeploy {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	Message    string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	ServiceId  string `protobuf:"bytes,2,opt,name=serviceId,proto3" json:"serviceId,omitempty"`
	ServiceUrl string `protobuf:"bytes,3,opt,name=serviceUrl,proto3" json:"serviceUrl,omitempty"`
}

func (x *PayloadCreateModelDeploy) Reset() {
	*x = PayloadCreateModelDeploy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[85]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadCreateModelDeploy) ProtoMessage() {}

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

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

func (x *PayloadCreateModelDeploy) GetServiceId() string {
	if x != nil {
		return x.ServiceId
	}
	return ""
}

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

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetModelDeployListReq) Reset() {
	*x = GetModelDeployListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[86]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetModelDeployListReq) ProtoMessage() {}

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

func (x *GetModelDeployListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetModelDeployListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                       `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetModelDeployList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                     `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetModelDeployListResp) Reset() {
	*x = GetModelDeployListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[87]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetModelDeployListResp) ProtoMessage() {}

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

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

func (x *GetModelDeployListResp) GetPayload() *PayloadGetModelDeployList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32      `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	DepInfos  []*DepInfo `protobuf:"bytes,2,rep,name=depInfos,proto3" json:"depInfos,omitempty"`
}

func (x *PayloadGetModelDeployList) Reset() {
	*x = PayloadGetModelDeployList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[88]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetModelDeployList) ProtoMessage() {}

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

func (x *PayloadGetModelDeployList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetModelDeployList) GetDepInfos() []*DepInfo {
	if x != nil {
		return x.DepInfos
	}
	return nil
}

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

	CompletedAt  int64  `protobuf:"varint,1,opt,name=completedAt,proto3" json:"completedAt,omitempty"`
	CreatedAt    int64  `protobuf:"varint,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	Desc         string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
	Id           string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"`
	ModelFrame   string `protobuf:"bytes,5,opt,name=modelFrame,proto3" json:"modelFrame,omitempty"`
	ModelId      string `protobuf:"bytes,6,opt,name=modelId,proto3" json:"modelId,omitempty"`
	ModelName    string `protobuf:"bytes,7,opt,name=modelName,proto3" json:"modelName,omitempty"`
	ModelVersion string `protobuf:"bytes,8,opt,name=modelVersion,proto3" json:"modelVersion,omitempty"`
	Name         string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
	RunSec       int64  `protobuf:"varint,10,opt,name=runSec,proto3" json:"runSec,omitempty"`
	ServiceUrl   string `protobuf:"bytes,11,opt,name=serviceUrl,proto3" json:"serviceUrl,omitempty"`
	StartedAt    int64  `protobuf:"varint,12,opt,name=startedAt,proto3" json:"startedAt,omitempty"`
	Status       string `protobuf:"bytes,13,opt,name=status,proto3" json:"status,omitempty"`
	UpdatedAt    int64  `protobuf:"varint,14,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
	UserId       string `protobuf:"bytes,15,opt,name=userId,proto3" json:"userId,omitempty"`
	WorkspaceId  string `protobuf:"bytes,16,opt,name=workspaceId,proto3" json:"workspaceId,omitempty"`
}

func (x *DepInfo) Reset() {
	*x = DepInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[89]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DepInfo) ProtoMessage() {}

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

func (x *DepInfo) GetCompletedAt() int64 {
	if x != nil {
		return x.CompletedAt
	}
	return 0
}

func (x *DepInfo) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *DepInfo) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

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

func (x *DepInfo) GetModelFrame() string {
	if x != nil {
		return x.ModelFrame
	}
	return ""
}

func (x *DepInfo) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

func (x *DepInfo) GetModelName() string {
	if x != nil {
		return x.ModelName
	}
	return ""
}

func (x *DepInfo) GetModelVersion() string {
	if x != nil {
		return x.ModelVersion
	}
	return ""
}

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

func (x *DepInfo) GetRunSec() int64 {
	if x != nil {
		return x.RunSec
	}
	return 0
}

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

func (x *DepInfo) GetStartedAt() int64 {
	if x != nil {
		return x.StartedAt
	}
	return 0
}

func (x *DepInfo) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *DepInfo) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

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

func (x *DepInfo) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetModelDeployReq) Reset() {
	*x = GetModelDeployReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[90]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetModelDeployReq) ProtoMessage() {}

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

func (x *GetModelDeployReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetModelDeployResp) Reset() {
	*x = GetModelDeployResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[91]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetModelDeployResp) ProtoMessage() {}

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

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

func (x *GetModelDeployResp) GetPayload() *PayloadGetModelDeploy {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DepInfo *DepInfo `protobuf:"bytes,1,opt,name=depInfo,proto3" json:"depInfo,omitempty"`
}

func (x *PayloadGetModelDeploy) Reset() {
	*x = PayloadGetModelDeploy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[92]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetModelDeploy) ProtoMessage() {}

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

func (x *PayloadGetModelDeploy) GetDepInfo() *DepInfo {
	if x != nil {
		return x.DepInfo
	}
	return nil
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id        string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	IsMain    bool   `protobuf:"varint,3,opt,name=isMain,proto3" json:"isMain,omitempty"`
	PageIndex int32  `protobuf:"varint,4,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetModelDeployEventReq) Reset() {
	*x = GetModelDeployEventReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[93]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetModelDeployEventReq) ProtoMessage() {}

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

func (x *GetModelDeployEventReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

func (x *GetModelDeployEventReq) GetIsMain() bool {
	if x != nil {
		return x.IsMain
	}
	return false
}

func (x *GetModelDeployEventReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                        `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetModelDeployEvent `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                      `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetModelDeployEventResp) Reset() {
	*x = GetModelDeployEventResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[94]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetModelDeployEventResp) ProtoMessage() {}

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

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

func (x *GetModelDeployEventResp) GetPayload() *PayloadGetModelDeployEvent {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32       `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	DepEvents []*DepEvent `protobuf:"bytes,2,rep,name=depEvents,proto3" json:"depEvents,omitempty"`
}

func (x *PayloadGetModelDeployEvent) Reset() {
	*x = PayloadGetModelDeployEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[95]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetModelDeployEvent) ProtoMessage() {}

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

func (x *PayloadGetModelDeployEvent) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetModelDeployEvent) GetDepEvents() []*DepEvent {
	if x != nil {
		return x.DepEvents
	}
	return nil
}

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

	Message   string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	Name      string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Reason    string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
	Timestamp string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

func (x *DepEvent) Reset() {
	*x = DepEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[96]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DepEvent) ProtoMessage() {}

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

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

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

func (x *DepEvent) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *DepEvent) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *StopModelDeployReq) Reset() {
	*x = StopModelDeployReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[97]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StopModelDeployReq) ProtoMessage() {}

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

func (x *StopModelDeployReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                    `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadStopModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                  `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *StopModelDeployResp) Reset() {
	*x = StopModelDeployResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[98]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StopModelDeployResp) ProtoMessage() {}

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

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

func (x *StopModelDeployResp) GetPayload() *PayloadStopModelDeploy {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	StoppedAt int64 `protobuf:"varint,1,opt,name=stoppedAt,proto3" json:"stoppedAt,omitempty"`
}

func (x *PayloadStopModelDeploy) Reset() {
	*x = PayloadStopModelDeploy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[99]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadStopModelDeploy) ProtoMessage() {}

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

func (x *PayloadStopModelDeploy) GetStoppedAt() int64 {
	if x != nil {
		return x.StoppedAt
	}
	return 0
}

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

	Platform string   `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	JobIds   []string `protobuf:"bytes,2,rep,name=jobIds,proto3" json:"jobIds,omitempty"`
}

func (x *DeleteModelDeployReq) Reset() {
	*x = DeleteModelDeployReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[100]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteModelDeployReq) ProtoMessage() {}

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

func (x *DeleteModelDeployReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DeleteModelDeployReq) GetJobIds() []string {
	if x != nil {
		return x.JobIds
	}
	return nil
}

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

	Success bool                      `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                    `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DeleteModelDeployResp) Reset() {
	*x = DeleteModelDeployResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[101]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteModelDeployResp) ProtoMessage() {}

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

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

func (x *DeleteModelDeployResp) GetPayload() *PayloadDeleteModelDeploy {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`
}

func (x *PayloadDeleteModelDeploy) Reset() {
	*x = PayloadDeleteModelDeploy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[102]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDeleteModelDeploy) ProtoMessage() {}

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

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

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

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

func (x *InferModelDeployReq) Reset() {
	*x = InferModelDeployReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[103]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*InferModelDeployReq) ProtoMessage() {}

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

func (x *InferModelDeployReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

	Success bool                     `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadInferModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                   `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *InferModelDeployResp) Reset() {
	*x = InferModelDeployResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[104]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*InferModelDeployResp) ProtoMessage() {}

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

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

func (x *InferModelDeployResp) GetPayload() *PayloadInferModelDeploy {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	StoppedAt int64 `protobuf:"varint,1,opt,name=stoppedAt,proto3" json:"stoppedAt,omitempty"`
}

func (x *PayloadInferModelDeploy) Reset() {
	*x = PayloadInferModelDeploy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[105]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadInferModelDeploy) ProtoMessage() {}

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

func (x *PayloadInferModelDeploy) GetStoppedAt() int64 {
	if x != nil {
		return x.StoppedAt
	}
	return 0
}

// *****************Develop Start************************
type CreateNotebookReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform string               `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Params   *CreateNotebookParam `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"`
}

func (x *CreateNotebookReq) Reset() {
	*x = CreateNotebookReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[106]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateNotebookReq) ProtoMessage() {}

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

func (x *CreateNotebookReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *CreateNotebookReq) GetParams() *CreateNotebookParam {
	if x != nil {
		return x.Params
	}
	return nil
}

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

	AlgorithmId      string            `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	AlgorithmVersion string            `protobuf:"bytes,2,opt,name=algorithmVersion,proto3" json:"algorithmVersion,omitempty"`
	Command          string            `protobuf:"bytes,3,opt,name=command,proto3" json:"command,omitempty"`
	DatasetId        string            `protobuf:"bytes,4,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
	DatasetVersion   string            `protobuf:"bytes,5,opt,name=datasetVersion,proto3" json:"datasetVersion,omitempty"`
	Desc             string            `protobuf:"bytes,6,opt,name=desc,proto3" json:"desc,omitempty"`
	Envs             map[string]string `protobuf:"bytes,7,rep,name=envs,proto3" json:"envs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	ImageId          string            `protobuf:"bytes,8,opt,name=imageId,proto3" json:"imageId,omitempty"`
	ImageUrl         string            `protobuf:"bytes,9,opt,name=imageUrl,proto3" json:"imageUrl,omitempty"`
	Mounts           []*Mounts         `protobuf:"bytes,10,rep,name=mounts,proto3" json:"mounts,omitempty"`
	Name             string            `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
	ResourcePool     string            `protobuf:"bytes,12,opt,name=resourcePool,proto3" json:"resourcePool,omitempty"`
	ResourceSpecId   string            `protobuf:"bytes,13,opt,name=resourceSpecId,proto3" json:"resourceSpecId,omitempty"`
	TaskNumber       int32             `protobuf:"varint,14,opt,name=taskNumber,proto3" json:"taskNumber,omitempty"`
}

func (x *CreateNotebookParam) Reset() {
	*x = CreateNotebookParam{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[107]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateNotebookParam) ProtoMessage() {}

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

func (x *CreateNotebookParam) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *CreateNotebookParam) GetAlgorithmVersion() string {
	if x != nil {
		return x.AlgorithmVersion
	}
	return ""
}

func (x *CreateNotebookParam) GetCommand() string {
	if x != nil {
		return x.Command
	}
	return ""
}

func (x *CreateNotebookParam) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *CreateNotebookParam) GetDatasetVersion() string {
	if x != nil {
		return x.DatasetVersion
	}
	return ""
}

func (x *CreateNotebookParam) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

func (x *CreateNotebookParam) GetEnvs() map[string]string {
	if x != nil {
		return x.Envs
	}
	return nil
}

func (x *CreateNotebookParam) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

func (x *CreateNotebookParam) GetImageUrl() string {
	if x != nil {
		return x.ImageUrl
	}
	return ""
}

func (x *CreateNotebookParam) GetMounts() []*Mounts {
	if x != nil {
		return x.Mounts
	}
	return nil
}

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

func (x *CreateNotebookParam) GetResourcePool() string {
	if x != nil {
		return x.ResourcePool
	}
	return ""
}

func (x *CreateNotebookParam) GetResourceSpecId() string {
	if x != nil {
		return x.ResourceSpecId
	}
	return ""
}

func (x *CreateNotebookParam) GetTaskNumber() int32 {
	if x != nil {
		return x.TaskNumber
	}
	return 0
}

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

	Success bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadCreateNotebook `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *CreateNotebookResp) Reset() {
	*x = CreateNotebookResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[108]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateNotebookResp) ProtoMessage() {}

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

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

func (x *CreateNotebookResp) GetPayload() *PayloadCreateNotebook {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

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

func (x *PayloadCreateNotebook) Reset() {
	*x = PayloadCreateNotebook{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[109]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadCreateNotebook) ProtoMessage() {}

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

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

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetNotebookReq) Reset() {
	*x = GetNotebookReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[110]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNotebookReq) ProtoMessage() {}

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

func (x *GetNotebookReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetNotebook `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error              `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetNotebookResp) Reset() {
	*x = GetNotebookResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[111]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNotebookResp) ProtoMessage() {}

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

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

func (x *GetNotebookResp) GetPayload() *PayloadGetNotebook {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	Notebook *Notebook `protobuf:"bytes,1,opt,name=notebook,proto3" json:"notebook,omitempty"`
}

func (x *PayloadGetNotebook) Reset() {
	*x = PayloadGetNotebook{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[112]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetNotebook) ProtoMessage() {}

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

func (x *PayloadGetNotebook) GetNotebook() *Notebook {
	if x != nil {
		return x.Notebook
	}
	return nil
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *DeleteNotebookReq) Reset() {
	*x = DeleteNotebookReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[113]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteNotebookReq) ProtoMessage() {}

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

func (x *DeleteNotebookReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteNotebook `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DeleteNotebookResp) Reset() {
	*x = DeleteNotebookResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[114]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteNotebookResp) ProtoMessage() {}

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

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

func (x *DeleteNotebookResp) GetPayload() *PayloadDeleteNotebook {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

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

func (x *PayloadDeleteNotebook) Reset() {
	*x = PayloadDeleteNotebook{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[115]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDeleteNotebook) ProtoMessage() {}

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

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

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetNotebookListReq) Reset() {
	*x = GetNotebookListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[116]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNotebookListReq) ProtoMessage() {}

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

func (x *GetNotebookListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetNotebookListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                 `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadNotebookList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error               `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetNotebookListResp) Reset() {
	*x = GetNotebookListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[117]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNotebookListResp) ProtoMessage() {}

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

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

func (x *GetNotebookListResp) GetPayload() *PayloadNotebookList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32       `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Notebooks []*Notebook `protobuf:"bytes,2,rep,name=notebooks,proto3" json:"notebooks,omitempty"`
}

func (x *PayloadNotebookList) Reset() {
	*x = PayloadNotebookList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[118]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadNotebookList) ProtoMessage() {}

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

func (x *PayloadNotebookList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadNotebookList) GetNotebooks() []*Notebook {
	if x != nil {
		return x.Notebooks
	}
	return nil
}

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

	CreatedAt         int64    `protobuf:"varint,1,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	UpdatedAt         int64    `protobuf:"varint,2,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
	Id                string   `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	UserId            string   `protobuf:"bytes,4,opt,name=userId,proto3" json:"userId,omitempty"`
	WorkspaceId       string   `protobuf:"bytes,5,opt,name=workspaceId,proto3" json:"workspaceId,omitempty"`
	Name              string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	Desc              string   `protobuf:"bytes,7,opt,name=desc,proto3" json:"desc,omitempty"`
	ImageId           string   `protobuf:"bytes,8,opt,name=imageId,proto3" json:"imageId,omitempty"`
	ImageName         string   `protobuf:"bytes,9,opt,name=imageName,proto3" json:"imageName,omitempty"`
	AlgorithmId       string   `protobuf:"bytes,10,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	AlgorithmVersion  string   `protobuf:"bytes,11,opt,name=algorithmVersion,proto3" json:"algorithmVersion,omitempty"`
	AlgorithmName     string   `protobuf:"bytes,12,opt,name=algorithmName,proto3" json:"algorithmName,omitempty"`
	ResourceSpecId    string   `protobuf:"bytes,13,opt,name=resourceSpecId,proto3" json:"resourceSpecId,omitempty"`
	ResourceSpecName  string   `protobuf:"bytes,14,opt,name=resourceSpecName,proto3" json:"resourceSpecName,omitempty"`
	Status            string   `protobuf:"bytes,15,opt,name=status,proto3" json:"status,omitempty"`
	DatasetId         string   `protobuf:"bytes,16,opt,name=datasetId,proto3" json:"datasetId,omitempty"`
	DatasetVersion    string   `protobuf:"bytes,17,opt,name=datasetVersion,proto3" json:"datasetVersion,omitempty"`
	DatasetName       string   `protobuf:"bytes,18,opt,name=datasetName,proto3" json:"datasetName,omitempty"`
	ResourceSpecPrice int32    `protobuf:"varint,19,opt,name=resourceSpecPrice,proto3" json:"resourceSpecPrice,omitempty"`
	NotebookJobId     string   `protobuf:"bytes,20,opt,name=notebookJobId,proto3" json:"notebookJobId,omitempty"`
	ImageVersion      string   `protobuf:"bytes,21,opt,name=imageVersion,proto3" json:"imageVersion,omitempty"`
	Tasks             []*Tasks `protobuf:"bytes,22,rep,name=tasks,proto3" json:"tasks,omitempty"`
	ImageUrl          string   `protobuf:"bytes,23,opt,name=imageUrl,proto3" json:"imageUrl,omitempty"`
}

func (x *Notebook) Reset() {
	*x = Notebook{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[119]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Notebook) ProtoMessage() {}

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

func (x *Notebook) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *Notebook) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

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

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

func (x *Notebook) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

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

func (x *Notebook) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

func (x *Notebook) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

func (x *Notebook) GetImageName() string {
	if x != nil {
		return x.ImageName
	}
	return ""
}

func (x *Notebook) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *Notebook) GetAlgorithmVersion() string {
	if x != nil {
		return x.AlgorithmVersion
	}
	return ""
}

func (x *Notebook) GetAlgorithmName() string {
	if x != nil {
		return x.AlgorithmName
	}
	return ""
}

func (x *Notebook) GetResourceSpecId() string {
	if x != nil {
		return x.ResourceSpecId
	}
	return ""
}

func (x *Notebook) GetResourceSpecName() string {
	if x != nil {
		return x.ResourceSpecName
	}
	return ""
}

func (x *Notebook) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *Notebook) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *Notebook) GetDatasetVersion() string {
	if x != nil {
		return x.DatasetVersion
	}
	return ""
}

func (x *Notebook) GetDatasetName() string {
	if x != nil {
		return x.DatasetName
	}
	return ""
}

func (x *Notebook) GetResourceSpecPrice() int32 {
	if x != nil {
		return x.ResourceSpecPrice
	}
	return 0
}

func (x *Notebook) GetNotebookJobId() string {
	if x != nil {
		return x.NotebookJobId
	}
	return ""
}

func (x *Notebook) GetImageVersion() string {
	if x != nil {
		return x.ImageVersion
	}
	return ""
}

func (x *Notebook) GetTasks() []*Tasks {
	if x != nil {
		return x.Tasks
	}
	return nil
}

func (x *Notebook) GetImageUrl() string {
	if x != nil {
		return x.ImageUrl
	}
	return ""
}

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

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

func (x *Tasks) Reset() {
	*x = Tasks{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[120]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Tasks) ProtoMessage() {}

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

func (x *Tasks) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

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

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *StartNotebookReq) Reset() {
	*x = StartNotebookReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[121]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StartNotebookReq) ProtoMessage() {}

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

func (x *StartNotebookReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadStartNotebook `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *StartNotebookResp) Reset() {
	*x = StartNotebookResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[122]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StartNotebookResp) ProtoMessage() {}

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

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

func (x *StartNotebookResp) GetPayload() *PayloadStartNotebook {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

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

func (x *PayloadStartNotebook) Reset() {
	*x = PayloadStartNotebook{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[123]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadStartNotebook) ProtoMessage() {}

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

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

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *StopNotebookReq) Reset() {
	*x = StopNotebookReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[124]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StopNotebookReq) ProtoMessage() {}

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

func (x *StopNotebookReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                 `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadStopNotebook `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error               `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *StopNotebookResp) Reset() {
	*x = StopNotebookResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[125]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StopNotebookResp) ProtoMessage() {}

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

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

func (x *StopNotebookResp) GetPayload() *PayloadStopNotebook {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

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

func (x *PayloadStopNotebook) Reset() {
	*x = PayloadStopNotebook{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[126]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadStopNotebook) ProtoMessage() {}

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

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

// *****************ImageService Start************************
type GetUserImageListReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetUserImageListReq) Reset() {
	*x = GetUserImageListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[127]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetUserImageListReq) ProtoMessage() {}

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

func (x *GetUserImageListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetUserImageListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadUserImageList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetUserImageListResp) Reset() {
	*x = GetUserImageListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[128]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetUserImageListResp) ProtoMessage() {}

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

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

func (x *GetUserImageListResp) GetPayload() *PayloadUserImageList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetPresetImageListReq) Reset() {
	*x = GetPresetImageListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[129]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetPresetImageListReq) ProtoMessage() {}

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

func (x *GetPresetImageListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetPresetImageListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                       `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetPresetImageList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                     `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetPresetImageListResp) Reset() {
	*x = GetPresetImageListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[130]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetPresetImageListResp) ProtoMessage() {}

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

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

func (x *GetPresetImageListResp) GetPayload() *PayloadGetPresetImageList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32     `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Images    []*Images `protobuf:"bytes,2,rep,name=images,proto3" json:"images,omitempty"`
}

func (x *PayloadUserImageList) Reset() {
	*x = PayloadUserImageList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[131]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadUserImageList) ProtoMessage() {}

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

func (x *PayloadUserImageList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadUserImageList) GetImages() []*Images {
	if x != nil {
		return x.Images
	}
	return nil
}

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

	TotalSize int32    `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Images    []*Image `protobuf:"bytes,2,rep,name=images,proto3" json:"images,omitempty"`
}

func (x *PayloadGetPresetImageList) Reset() {
	*x = PayloadGetPresetImageList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[132]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetPresetImageList) ProtoMessage() {}

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

func (x *PayloadGetPresetImageList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetPresetImageList) GetImages() []*Image {
	if x != nil {
		return x.Images
	}
	return nil
}

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

	IsShared bool   `protobuf:"varint,1,opt,name=isShared,proto3" json:"isShared,omitempty"`
	Image    *Image `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
}

func (x *Images) Reset() {
	*x = Images{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[133]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Images) ProtoMessage() {}

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

func (x *Images) GetIsShared() bool {
	if x != nil {
		return x.IsShared
	}
	return false
}

func (x *Images) GetImage() *Image {
	if x != nil {
		return x.Image
	}
	return nil
}

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

	Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	ImageName     string `protobuf:"bytes,2,opt,name=imageName,proto3" json:"imageName,omitempty"`
	ImageDesc     string `protobuf:"bytes,3,opt,name=imageDesc,proto3" json:"imageDesc,omitempty"`
	ImageAddr     string `protobuf:"bytes,4,opt,name=imageAddr,proto3" json:"imageAddr,omitempty"`
	SourceType    int32  `protobuf:"varint,5,opt,name=sourceType,proto3" json:"sourceType,omitempty"`
	SpaceId       string `protobuf:"bytes,6,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
	UserId        string `protobuf:"bytes,7,opt,name=userId,proto3" json:"userId,omitempty"`
	CreatedAt     int64  `protobuf:"varint,8,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	UpdatedAt     int64  `protobuf:"varint,9,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
	ImageStatus   int32  `protobuf:"varint,10,opt,name=imageStatus,proto3" json:"imageStatus,omitempty"`
	Username      string `protobuf:"bytes,11,opt,name=username,proto3" json:"username,omitempty"`
	ImageVersion  string `protobuf:"bytes,12,opt,name=imageVersion,proto3" json:"imageVersion,omitempty"`
	ImageFullAddr string `protobuf:"bytes,13,opt,name=imageFullAddr,proto3" json:"imageFullAddr,omitempty"`
}

func (x *Image) Reset() {
	*x = Image{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[134]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Image) ProtoMessage() {}

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

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

func (x *Image) GetImageName() string {
	if x != nil {
		return x.ImageName
	}
	return ""
}

func (x *Image) GetImageDesc() string {
	if x != nil {
		return x.ImageDesc
	}
	return ""
}

func (x *Image) GetImageAddr() string {
	if x != nil {
		return x.ImageAddr
	}
	return ""
}

func (x *Image) GetSourceType() int32 {
	if x != nil {
		return x.SourceType
	}
	return 0
}

func (x *Image) GetSpaceId() string {
	if x != nil {
		return x.SpaceId
	}
	return ""
}

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

func (x *Image) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *Image) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

func (x *Image) GetImageStatus() int32 {
	if x != nil {
		return x.ImageStatus
	}
	return 0
}

func (x *Image) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *Image) GetImageVersion() string {
	if x != nil {
		return x.ImageVersion
	}
	return ""
}

func (x *Image) GetImageFullAddr() string {
	if x != nil {
		return x.ImageFullAddr
	}
	return ""
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	ImageId  string `protobuf:"bytes,2,opt,name=imageId,proto3" json:"imageId,omitempty"`
}

func (x *DeleteImageReq) Reset() {
	*x = DeleteImageReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[135]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteImageReq) ProtoMessage() {}

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

func (x *DeleteImageReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DeleteImageReq) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

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

	Success bool                `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteImage `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error              `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DeleteImageResp) Reset() {
	*x = DeleteImageResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[136]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteImageResp) ProtoMessage() {}

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

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

func (x *DeleteImageResp) GetPayload() *PayloadDeleteImage {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`
}

func (x *PayloadDeleteImage) Reset() {
	*x = PayloadDeleteImage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[137]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDeleteImage) ProtoMessage() {}

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

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

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

	Platform    string       `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	CreateImage *CreateImage `protobuf:"bytes,2,opt,name=createImage,proto3" json:"createImage,omitempty"`
}

func (x *CreateImageReq) Reset() {
	*x = CreateImageReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[138]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateImageReq) ProtoMessage() {}

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

func (x *CreateImageReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *CreateImageReq) GetCreateImage() *CreateImage {
	if x != nil {
		return x.CreateImage
	}
	return nil
}

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

	ImageAddr    string `protobuf:"bytes,2,opt,name=imageAddr,proto3" json:"imageAddr,omitempty"`
	ImageDesc    string `protobuf:"bytes,3,opt,name=imageDesc,proto3" json:"imageDesc,omitempty"`
	ImageName    string `protobuf:"bytes,4,opt,name=imageName,proto3" json:"imageName,omitempty"`
	ImageVersion string `protobuf:"bytes,5,opt,name=imageVersion,proto3" json:"imageVersion,omitempty"` //镜像标签
	SourceType   int32  `protobuf:"varint,6,opt,name=sourceType,proto3" json:"sourceType,omitempty"`    //1 = 上传， 2 = 远程
}

func (x *CreateImage) Reset() {
	*x = CreateImage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[139]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateImage) ProtoMessage() {}

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

func (x *CreateImage) GetImageAddr() string {
	if x != nil {
		return x.ImageAddr
	}
	return ""
}

func (x *CreateImage) GetImageDesc() string {
	if x != nil {
		return x.ImageDesc
	}
	return ""
}

func (x *CreateImage) GetImageName() string {
	if x != nil {
		return x.ImageName
	}
	return ""
}

func (x *CreateImage) GetImageVersion() string {
	if x != nil {
		return x.ImageVersion
	}
	return ""
}

func (x *CreateImage) GetSourceType() int32 {
	if x != nil {
		return x.SourceType
	}
	return 0
}

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

	Success bool                `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadCreateImage `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error              `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *CreateImageResp) Reset() {
	*x = CreateImageResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[140]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateImageResp) ProtoMessage() {}

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

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

func (x *CreateImageResp) GetPayload() *PayloadCreateImage {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	ImageId   string `protobuf:"bytes,1,opt,name=imageId,proto3" json:"imageId,omitempty"`
	CreatedAt int64  `protobuf:"varint,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
}

func (x *PayloadCreateImage) Reset() {
	*x = PayloadCreateImage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[141]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadCreateImage) ProtoMessage() {}

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

func (x *PayloadCreateImage) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

func (x *PayloadCreateImage) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

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

	Platform string            `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	ImageId  string            `protobuf:"bytes,2,opt,name=imageId,proto3" json:"imageId,omitempty"`
	Params   *UploadImageParam `protobuf:"bytes,3,opt,name=params,proto3" json:"params,omitempty"`
}

func (x *UploadImageReq) Reset() {
	*x = UploadImageReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[142]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadImageReq) ProtoMessage() {}

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

func (x *UploadImageReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *UploadImageReq) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

func (x *UploadImageReq) GetParams() *UploadImageParam {
	if x != nil {
		return x.Params
	}
	return nil
}

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

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

func (x *UploadImageParam) Reset() {
	*x = UploadImageParam{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[143]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadImageParam) ProtoMessage() {}

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

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

func (x *UploadImageParam) GetFileName() string {
	if x != nil {
		return x.FileName
	}
	return ""
}

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

	Success bool                `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadUploadImage `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error              `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *UploadImageResp) Reset() {
	*x = UploadImageResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[144]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadImageResp) ProtoMessage() {}

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

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

func (x *UploadImageResp) GetPayload() *PayloadUploadImage {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	UploadUrl string   `protobuf:"bytes,1,opt,name=uploadUrl,proto3" json:"uploadUrl,omitempty"`
	Headers   *Headers `protobuf:"bytes,2,opt,name=headers,proto3" json:"headers,omitempty"`
}

func (x *PayloadUploadImage) Reset() {
	*x = PayloadUploadImage{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[145]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadUploadImage) ProtoMessage() {}

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

func (x *PayloadUploadImage) GetUploadUrl() string {
	if x != nil {
		return x.UploadUrl
	}
	return ""
}

func (x *PayloadUploadImage) GetHeaders() *Headers {
	if x != nil {
		return x.Headers
	}
	return nil
}

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

	AdditionalProp1 string `protobuf:"bytes,1,opt,name=additionalProp1,proto3" json:"additionalProp1,omitempty"`
	AdditionalProp2 string `protobuf:"bytes,2,opt,name=additionalProp2,proto3" json:"additionalProp2,omitempty"`
	AdditionalProp3 string `protobuf:"bytes,3,opt,name=additionalProp3,proto3" json:"additionalProp3,omitempty"`
}

func (x *Headers) Reset() {
	*x = Headers{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[146]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Headers) ProtoMessage() {}

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

func (x *Headers) GetAdditionalProp1() string {
	if x != nil {
		return x.AdditionalProp1
	}
	return ""
}

func (x *Headers) GetAdditionalProp2() string {
	if x != nil {
		return x.AdditionalProp2
	}
	return ""
}

func (x *Headers) GetAdditionalProp3() string {
	if x != nil {
		return x.AdditionalProp3
	}
	return ""
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	ImageId  string `protobuf:"bytes,2,opt,name=imageId,proto3" json:"imageId,omitempty"`
}

func (x *UploadImageConfirmReq) Reset() {
	*x = UploadImageConfirmReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[147]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadImageConfirmReq) ProtoMessage() {}

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

func (x *UploadImageConfirmReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *UploadImageConfirmReq) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

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

	Success bool                       `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadUploadImageConfirm `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                     `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *UploadImageConfirmResp) Reset() {
	*x = UploadImageConfirmResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[148]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UploadImageConfirmResp) ProtoMessage() {}

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

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

func (x *UploadImageConfirmResp) GetPayload() *PayloadUploadImageConfirm {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	UpdatedAt int64 `protobuf:"varint,1,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
}

func (x *PayloadUploadImageConfirm) Reset() {
	*x = PayloadUploadImageConfirm{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[149]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadUploadImageConfirm) ProtoMessage() {}

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

func (x *PayloadUploadImageConfirm) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

// *****************Model Start************************
type GetModelVersionListReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	ModelId   string `protobuf:"bytes,2,opt,name=modelId,proto3" json:"modelId,omitempty"`
	PageIndex int32  `protobuf:"varint,3,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetModelVersionListReq) Reset() {
	*x = GetModelVersionListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[150]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetModelVersionListReq) ProtoMessage() {}

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

func (x *GetModelVersionListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetModelVersionListReq) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

func (x *GetModelVersionListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                        `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetModelVersionList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                      `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetModelVersionListResp) Reset() {
	*x = GetModelVersionListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[151]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetModelVersionListResp) ProtoMessage() {}

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

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

func (x *GetModelVersionListResp) GetPayload() *PayloadGetModelVersionList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize     int32           `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	ModelVersions []*ModelVersion `protobuf:"bytes,2,rep,name=modelVersions,proto3" json:"modelVersions,omitempty"`
}

func (x *PayloadGetModelVersionList) Reset() {
	*x = PayloadGetModelVersionList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[152]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetModelVersionList) ProtoMessage() {}

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

func (x *PayloadGetModelVersionList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetModelVersionList) GetModelVersions() []*ModelVersion {
	if x != nil {
		return x.ModelVersions
	}
	return nil
}

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

	IsShared      bool           `protobuf:"varint,1,opt,name=isShared,proto3" json:"isShared,omitempty"`
	VersionDetail *VersionDetail `protobuf:"bytes,2,opt,name=versionDetail,proto3" json:"versionDetail,omitempty"`
}

func (x *ModelVersion) Reset() {
	*x = ModelVersion{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[153]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ModelVersion) ProtoMessage() {}

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

func (x *ModelVersion) GetIsShared() bool {
	if x != nil {
		return x.IsShared
	}
	return false
}

func (x *ModelVersion) GetVersionDetail() *VersionDetail {
	if x != nil {
		return x.VersionDetail
	}
	return nil
}

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

	CreatedAt  int64  `protobuf:"varint,1,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	Descript   string `protobuf:"bytes,2,opt,name=descript,proto3" json:"descript,omitempty"`
	FileStatus int32  `protobuf:"varint,3,opt,name=fileStatus,proto3" json:"fileStatus,omitempty"`
	ModelId    string `protobuf:"bytes,4,opt,name=modelId,proto3" json:"modelId,omitempty"`
	Version    string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
}

func (x *VersionDetail) Reset() {
	*x = VersionDetail{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[154]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*VersionDetail) ProtoMessage() {}

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

func (x *VersionDetail) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *VersionDetail) GetDescript() string {
	if x != nil {
		return x.Descript
	}
	return ""
}

func (x *VersionDetail) GetFileStatus() int32 {
	if x != nil {
		return x.FileStatus
	}
	return 0
}

func (x *VersionDetail) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

func (x *VersionDetail) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	ModelId  string `protobuf:"bytes,2,opt,name=modelId,proto3" json:"modelId,omitempty"`
}

func (x *DeleteMyModelReq) Reset() {
	*x = DeleteMyModelReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[155]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteMyModelReq) ProtoMessage() {}

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

func (x *DeleteMyModelReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DeleteMyModelReq) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

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

	Success bool                  `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteMyModel `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DeleteMyModelResp) Reset() {
	*x = DeleteMyModelResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[156]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteMyModelResp) ProtoMessage() {}

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

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

func (x *DeleteMyModelResp) GetPayload() *PayloadDeleteMyModel {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`
}

func (x *PayloadDeleteMyModel) Reset() {
	*x = PayloadDeleteMyModel{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[157]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDeleteMyModel) ProtoMessage() {}

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

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

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	ModelId  string `protobuf:"bytes,2,opt,name=modelId,proto3" json:"modelId,omitempty"`
	Version  string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
}

func (x *DeleteModelVersionReq) Reset() {
	*x = DeleteModelVersionReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[158]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteModelVersionReq) ProtoMessage() {}

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

func (x *DeleteModelVersionReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DeleteModelVersionReq) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

func (x *DeleteModelVersionReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	Success bool                       `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteModelVersion `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                     `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DeleteModelVersionResp) Reset() {
	*x = DeleteModelVersionResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[159]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteModelVersionResp) ProtoMessage() {}

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

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

func (x *DeleteModelVersionResp) GetPayload() *PayloadDeleteModelVersion {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`
}

func (x *PayloadDeleteModelVersion) Reset() {
	*x = PayloadDeleteModelVersion{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[160]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDeleteModelVersion) ProtoMessage() {}

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

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

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	ModelId  string `protobuf:"bytes,2,opt,name=modelId,proto3" json:"modelId,omitempty"`
	Version  string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	Domain   string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"`
}

func (x *DownloadModelVersionReq) Reset() {
	*x = DownloadModelVersionReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[161]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DownloadModelVersionReq) ProtoMessage() {}

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

func (x *DownloadModelVersionReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DownloadModelVersionReq) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

func (x *DownloadModelVersionReq) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

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

	Success bool                         `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDownloadModelVersion `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                       `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DownloadModelVersionResp) Reset() {
	*x = DownloadModelVersionResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[162]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DownloadModelVersionResp) ProtoMessage() {}

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

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

func (x *DownloadModelVersionResp) GetPayload() *PayloadDownloadModelVersion {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

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

func (x *PayloadDownloadModelVersion) Reset() {
	*x = PayloadDownloadModelVersion{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[163]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDownloadModelVersion) ProtoMessage() {}

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

func (x *PayloadDownloadModelVersion) GetDownloadUrl() string {
	if x != nil {
		return x.DownloadUrl
	}
	return ""
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetMyModelListReq) Reset() {
	*x = GetMyModelListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[164]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetMyModelListReq) ProtoMessage() {}

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

func (x *GetMyModelListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetMyModelListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetMyModelList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetMyModelListResp) Reset() {
	*x = GetMyModelListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[165]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetMyModelListResp) ProtoMessage() {}

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

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

func (x *GetMyModelListResp) GetPayload() *PayloadGetMyModelList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32    `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	Models    []*Model `protobuf:"bytes,2,rep,name=models,proto3" json:"models,omitempty"`
}

func (x *PayloadGetMyModelList) Reset() {
	*x = PayloadGetMyModelList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[166]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetMyModelList) ProtoMessage() {}

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

func (x *PayloadGetMyModelList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetMyModelList) GetModels() []*Model {
	if x != nil {
		return x.Models
	}
	return nil
}

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

	AlgorithmName    string `protobuf:"bytes,1,opt,name=algorithmName,proto3" json:"algorithmName,omitempty"`
	AlgorithmVersion string `protobuf:"bytes,2,opt,name=algorithmVersion,proto3" json:"algorithmVersion,omitempty"`
	CreatedAt        int64  `protobuf:"varint,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	FrameWorkId      string `protobuf:"bytes,4,opt,name=frameWorkId,proto3" json:"frameWorkId,omitempty"`
	FrameWorkName    string `protobuf:"bytes,5,opt,name=frameWorkName,proto3" json:"frameWorkName,omitempty"`
	LatestVersion    string `protobuf:"bytes,6,opt,name=latestVersion,proto3" json:"latestVersion,omitempty"`
	ModelDescript    string `protobuf:"bytes,7,opt,name=modelDescript,proto3" json:"modelDescript,omitempty"`
	ModelId          string `protobuf:"bytes,8,opt,name=modelId,proto3" json:"modelId,omitempty"`
	ModelName        string `protobuf:"bytes,9,opt,name=modelName,proto3" json:"modelName,omitempty"`
	SpaceId          string `protobuf:"bytes,10,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
	SpaceName        string `protobuf:"bytes,11,opt,name=spaceName,proto3" json:"spaceName,omitempty"`
	UserName         string `protobuf:"bytes,12,opt,name=userName,proto3" json:"userName,omitempty"`
}

func (x *Model) Reset() {
	*x = Model{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[167]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Model) ProtoMessage() {}

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

func (x *Model) GetAlgorithmName() string {
	if x != nil {
		return x.AlgorithmName
	}
	return ""
}

func (x *Model) GetAlgorithmVersion() string {
	if x != nil {
		return x.AlgorithmVersion
	}
	return ""
}

func (x *Model) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *Model) GetFrameWorkId() string {
	if x != nil {
		return x.FrameWorkId
	}
	return ""
}

func (x *Model) GetFrameWorkName() string {
	if x != nil {
		return x.FrameWorkName
	}
	return ""
}

func (x *Model) GetLatestVersion() string {
	if x != nil {
		return x.LatestVersion
	}
	return ""
}

func (x *Model) GetModelDescript() string {
	if x != nil {
		return x.ModelDescript
	}
	return ""
}

func (x *Model) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

func (x *Model) GetModelName() string {
	if x != nil {
		return x.ModelName
	}
	return ""
}

func (x *Model) GetSpaceId() string {
	if x != nil {
		return x.SpaceId
	}
	return ""
}

func (x *Model) GetSpaceName() string {
	if x != nil {
		return x.SpaceName
	}
	return ""
}

func (x *Model) GetUserName() string {
	if x != nil {
		return x.UserName
	}
	return ""
}

// *****************TrainJobService Start************************
type GetTrainJobReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetTrainJobReq) Reset() {
	*x = GetTrainJobReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[168]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTrainJobReq) ProtoMessage() {}

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

func (x *GetTrainJobReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetTrainJob `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error              `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetTrainJobResp) Reset() {
	*x = GetTrainJobResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[169]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTrainJobResp) ProtoMessage() {}

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

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

func (x *GetTrainJobResp) GetPayload() *PayloadGetTrainJob {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TrainJob *TrainJob `protobuf:"bytes,1,opt,name=trainJob,proto3" json:"trainJob,omitempty"`
}

func (x *PayloadGetTrainJob) Reset() {
	*x = PayloadGetTrainJob{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[170]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetTrainJob) ProtoMessage() {}

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

func (x *PayloadGetTrainJob) GetTrainJob() *TrainJob {
	if x != nil {
		return x.TrainJob
	}
	return nil
}

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

	Platform string   `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	JobIds   []string `protobuf:"bytes,2,rep,name=jobIds,proto3" json:"jobIds,omitempty"`
}

func (x *DeleteTrainJobReq) Reset() {
	*x = DeleteTrainJobReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[171]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteTrainJobReq) ProtoMessage() {}

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

func (x *DeleteTrainJobReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *DeleteTrainJobReq) GetJobIds() []string {
	if x != nil {
		return x.JobIds
	}
	return nil
}

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

	Success bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadDeleteTrainJob `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *DeleteTrainJobResp) Reset() {
	*x = DeleteTrainJobResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[172]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*DeleteTrainJobResp) ProtoMessage() {}

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

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

func (x *DeleteTrainJobResp) GetPayload() *PayloadDeleteTrainJob {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"`
}

func (x *PayloadDeleteTrainJob) Reset() {
	*x = PayloadDeleteTrainJob{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[173]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadDeleteTrainJob) ProtoMessage() {}

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

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

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *StopTrainJobReq) Reset() {
	*x = StopTrainJobReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[174]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StopTrainJobReq) ProtoMessage() {}

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

func (x *StopTrainJobReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

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

	Success bool                 `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadStopTrainJob `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error               `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *StopTrainJobResp) Reset() {
	*x = StopTrainJobResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[175]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*StopTrainJobResp) ProtoMessage() {}

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

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

func (x *StopTrainJobResp) GetPayload() *PayloadStopTrainJob {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	StoppedAt int64 `protobuf:"varint,1,opt,name=stoppedAt,proto3" json:"stoppedAt,omitempty"`
}

func (x *PayloadStopTrainJob) Reset() {
	*x = PayloadStopTrainJob{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[176]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadStopTrainJob) ProtoMessage() {}

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

func (x *PayloadStopTrainJob) GetStoppedAt() int64 {
	if x != nil {
		return x.StoppedAt
	}
	return 0
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id        string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	PageIndex int32  `protobuf:"varint,3,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetTrainJobEventReq) Reset() {
	*x = GetTrainJobEventReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[177]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTrainJobEventReq) ProtoMessage() {}

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

func (x *GetTrainJobEventReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

func (x *GetTrainJobEventReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                     `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetTrainJobEvent `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                   `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetTrainJobEventResp) Reset() {
	*x = GetTrainJobEventResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[178]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTrainJobEventResp) ProtoMessage() {}

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

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

func (x *GetTrainJobEventResp) GetPayload() *PayloadGetTrainJobEvent {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32       `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	JobEvents []*JobEvent `protobuf:"bytes,2,rep,name=jobEvents,proto3" json:"jobEvents,omitempty"`
}

func (x *PayloadGetTrainJobEvent) Reset() {
	*x = PayloadGetTrainJobEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[179]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetTrainJobEvent) ProtoMessage() {}

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

func (x *PayloadGetTrainJobEvent) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetTrainJobEvent) GetJobEvents() []*JobEvent {
	if x != nil {
		return x.JobEvents
	}
	return nil
}

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

	Message   string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	Name      string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Reason    string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
	Timestamp string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

func (x *JobEvent) Reset() {
	*x = JobEvent{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[180]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*JobEvent) ProtoMessage() {}

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

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

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

func (x *JobEvent) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *JobEvent) GetTimestamp() string {
	if x != nil {
		return x.Timestamp
	}
	return ""
}

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

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Id       string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	Start    int64  `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty"`
	Size     int32  `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"`
	Step     int32  `protobuf:"varint,5,opt,name=step,proto3" json:"step,omitempty"`
}

func (x *GetTrainJobMetricReq) Reset() {
	*x = GetTrainJobMetricReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[181]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTrainJobMetricReq) ProtoMessage() {}

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

func (x *GetTrainJobMetricReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

func (x *GetTrainJobMetricReq) GetStart() int64 {
	if x != nil {
		return x.Start
	}
	return 0
}

func (x *GetTrainJobMetricReq) GetSize() int32 {
	if x != nil {
		return x.Size
	}
	return 0
}

func (x *GetTrainJobMetricReq) GetStep() int32 {
	if x != nil {
		return x.Step
	}
	return 0
}

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

	Success bool                      `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetTrainJobMetric `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                    `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetTrainJobMetricResp) Reset() {
	*x = GetTrainJobMetricResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[182]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTrainJobMetricResp) ProtoMessage() {}

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

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

func (x *GetTrainJobMetricResp) GetPayload() *PayloadGetTrainJobMetric {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	CpuUsage    []int64 `protobuf:"varint,1,rep,packed,name=cpuUsage,proto3" json:"cpuUsage,omitempty"`
	GpuMemUsage []int64 `protobuf:"varint,2,rep,packed,name=gpuMemUsage,proto3" json:"gpuMemUsage,omitempty"`
	GpuUtil     []int64 `protobuf:"varint,3,rep,packed,name=gpuUtil,proto3" json:"gpuUtil,omitempty"`
	MemUsage    []int64 `protobuf:"varint,4,rep,packed,name=memUsage,proto3" json:"memUsage,omitempty"`
}

func (x *PayloadGetTrainJobMetric) Reset() {
	*x = PayloadGetTrainJobMetric{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[183]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetTrainJobMetric) ProtoMessage() {}

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

func (x *PayloadGetTrainJobMetric) GetCpuUsage() []int64 {
	if x != nil {
		return x.CpuUsage
	}
	return nil
}

func (x *PayloadGetTrainJobMetric) GetGpuMemUsage() []int64 {
	if x != nil {
		return x.GpuMemUsage
	}
	return nil
}

func (x *PayloadGetTrainJobMetric) GetGpuUtil() []int64 {
	if x != nil {
		return x.GpuUtil
	}
	return nil
}

func (x *PayloadGetTrainJobMetric) GetMemUsage() []int64 {
	if x != nil {
		return x.MemUsage
	}
	return nil
}

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

	Platform  string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	PageIndex int32  `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
	PageSize  int32  `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"`
}

func (x *GetTrainJobListReq) Reset() {
	*x = GetTrainJobListReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[184]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTrainJobListReq) ProtoMessage() {}

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

func (x *GetTrainJobListReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetTrainJobListReq) GetPageIndex() int32 {
	if x != nil {
		return x.PageIndex
	}
	return 0
}

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

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

	Success bool                    `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadGetTrainJobList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                  `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetTrainJobListResp) Reset() {
	*x = GetTrainJobListResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[185]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTrainJobListResp) ProtoMessage() {}

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

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

func (x *GetTrainJobListResp) GetPayload() *PayloadGetTrainJobList {
	if x != nil {
		return x.Payload
	}
	return nil
}

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

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

	TotalSize int32       `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"`
	TrainJobs []*TrainJob `protobuf:"bytes,2,rep,name=trainJobs,proto3" json:"trainJobs,omitempty"`
}

func (x *PayloadGetTrainJobList) Reset() {
	*x = PayloadGetTrainJobList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[186]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PayloadGetTrainJobList) ProtoMessage() {}

func (x *PayloadGetTrainJobList) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[186]
	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 PayloadGetTrainJobList.ProtoReflect.Descriptor instead.
func (*PayloadGetTrainJobList) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{186}
}

func (x *PayloadGetTrainJobList) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *PayloadGetTrainJobList) GetTrainJobs() []*TrainJob {
	if x != nil {
		return x.TrainJobs
	}
	return nil
}

type TrainJob struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	AlgorithmId      string    `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	AlgorithmName    string    `protobuf:"bytes,2,opt,name=algorithmName,proto3" json:"algorithmName,omitempty"`
	AlgorithmVersion string    `protobuf:"bytes,3,opt,name=algorithmVersion,proto3" json:"algorithmVersion,omitempty"`
	CompletedAt      int64     `protobuf:"varint,4,opt,name=completedAt,proto3" json:"completedAt,omitempty"`
	Config           []*Config `protobuf:"bytes,5,rep,name=config,proto3" json:"config,omitempty"`
	CreatedAt        int64     `protobuf:"varint,6,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	DataSetId        string    `protobuf:"bytes,7,opt,name=dataSetId,proto3" json:"dataSetId,omitempty"`
	DataSetName      string    `protobuf:"bytes,8,opt,name=dataSetName,proto3" json:"dataSetName,omitempty"`
	DataSetVersion   string    `protobuf:"bytes,9,opt,name=dataSetVersion,proto3" json:"dataSetVersion,omitempty"`
	Desc             string    `protobuf:"bytes,10,opt,name=desc,proto3" json:"desc,omitempty"`
	Id               string    `protobuf:"bytes,11,opt,name=id,proto3" json:"id,omitempty"`
	ImageId          string    `protobuf:"bytes,12,opt,name=imageId,proto3" json:"imageId,omitempty"`
	ImageName        string    `protobuf:"bytes,13,opt,name=imageName,proto3" json:"imageName,omitempty"`
	ImageUrl         string    `protobuf:"bytes,14,opt,name=imageUrl,proto3" json:"imageUrl,omitempty"`
	ImageVersion     string    `protobuf:"bytes,15,opt,name=imageVersion,proto3" json:"imageVersion,omitempty"`
	IsDistributed    bool      `protobuf:"varint,16,opt,name=isDistributed,proto3" json:"isDistributed,omitempty"`
	Name             string    `protobuf:"bytes,17,opt,name=name,proto3" json:"name,omitempty"`
	ResourcePool     string    `protobuf:"bytes,18,opt,name=resourcePool,proto3" json:"resourcePool,omitempty"`
	RunSec           int64     `protobuf:"varint,19,opt,name=runSec,proto3" json:"runSec,omitempty"`
	StartedAt        int64     `protobuf:"varint,20,opt,name=startedAt,proto3" json:"startedAt,omitempty"`
	Status           string    `protobuf:"bytes,21,opt,name=status,proto3" json:"status,omitempty"`
	UpdatedAt        int64     `protobuf:"varint,22,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
	UserId           string    `protobuf:"bytes,23,opt,name=userId,proto3" json:"userId,omitempty"`
	WorkspaceId      string    `protobuf:"bytes,24,opt,name=workspaceId,proto3" json:"workspaceId,omitempty"`
}

func (x *TrainJob) Reset() {
	*x = TrainJob{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[187]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TrainJob) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TrainJob) ProtoMessage() {}

func (x *TrainJob) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[187]
	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 TrainJob.ProtoReflect.Descriptor instead.
func (*TrainJob) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{187}
}

func (x *TrainJob) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *TrainJob) GetAlgorithmName() string {
	if x != nil {
		return x.AlgorithmName
	}
	return ""
}

func (x *TrainJob) GetAlgorithmVersion() string {
	if x != nil {
		return x.AlgorithmVersion
	}
	return ""
}

func (x *TrainJob) GetCompletedAt() int64 {
	if x != nil {
		return x.CompletedAt
	}
	return 0
}

func (x *TrainJob) GetConfig() []*Config {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *TrainJob) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *TrainJob) GetDataSetId() string {
	if x != nil {
		return x.DataSetId
	}
	return ""
}

func (x *TrainJob) GetDataSetName() string {
	if x != nil {
		return x.DataSetName
	}
	return ""
}

func (x *TrainJob) GetDataSetVersion() string {
	if x != nil {
		return x.DataSetVersion
	}
	return ""
}

func (x *TrainJob) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

func (x *TrainJob) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *TrainJob) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

func (x *TrainJob) GetImageName() string {
	if x != nil {
		return x.ImageName
	}
	return ""
}

func (x *TrainJob) GetImageUrl() string {
	if x != nil {
		return x.ImageUrl
	}
	return ""
}

func (x *TrainJob) GetImageVersion() string {
	if x != nil {
		return x.ImageVersion
	}
	return ""
}

func (x *TrainJob) GetIsDistributed() bool {
	if x != nil {
		return x.IsDistributed
	}
	return false
}

func (x *TrainJob) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *TrainJob) GetResourcePool() string {
	if x != nil {
		return x.ResourcePool
	}
	return ""
}

func (x *TrainJob) GetRunSec() int64 {
	if x != nil {
		return x.RunSec
	}
	return 0
}

func (x *TrainJob) GetStartedAt() int64 {
	if x != nil {
		return x.StartedAt
	}
	return 0
}

func (x *TrainJob) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *TrainJob) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

func (x *TrainJob) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *TrainJob) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

type CreateTrainJobReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform string               `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	Params   *CreateTrainJobParam `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"`
}

func (x *CreateTrainJobReq) Reset() {
	*x = CreateTrainJobReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[188]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateTrainJobReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateTrainJobReq) ProtoMessage() {}

func (x *CreateTrainJobReq) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[188]
	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 CreateTrainJobReq.ProtoReflect.Descriptor instead.
func (*CreateTrainJobReq) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{188}
}

func (x *CreateTrainJobReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *CreateTrainJobReq) GetParams() *CreateTrainJobParam {
	if x != nil {
		return x.Params
	}
	return nil
}

type CreateTrainJobResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Success bool                   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadCreateTrainJob `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error                 `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *CreateTrainJobResp) Reset() {
	*x = CreateTrainJobResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[189]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateTrainJobResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateTrainJobResp) ProtoMessage() {}

func (x *CreateTrainJobResp) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[189]
	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 CreateTrainJobResp.ProtoReflect.Descriptor instead.
func (*CreateTrainJobResp) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{189}
}

func (x *CreateTrainJobResp) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *CreateTrainJobResp) GetPayload() *PayloadCreateTrainJob {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *CreateTrainJobResp) GetError() *Error {
	if x != nil {
		return x.Error
	}
	return nil
}

type CreateTrainJobParam struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	AlgorithmId      string    `protobuf:"bytes,1,opt,name=algorithmId,proto3" json:"algorithmId,omitempty"`
	AlgorithmVersion string    `protobuf:"bytes,2,opt,name=algorithmVersion,proto3" json:"algorithmVersion,omitempty"`
	Config           []*Config `protobuf:"bytes,3,rep,name=config,proto3" json:"config,omitempty"`
	DataSetId        string    `protobuf:"bytes,4,opt,name=dataSetId,proto3" json:"dataSetId,omitempty"`
	DataSetVersion   string    `protobuf:"bytes,5,opt,name=dataSetVersion,proto3" json:"dataSetVersion,omitempty"`
	Desc             string    `protobuf:"bytes,6,opt,name=desc,proto3" json:"desc,omitempty"`
	ImageId          string    `protobuf:"bytes,7,opt,name=imageId,proto3" json:"imageId,omitempty"`
	ImageUrl         string    `protobuf:"bytes,8,opt,name=imageUrl,proto3" json:"imageUrl,omitempty"`
	IsDistributed    bool      `protobuf:"varint,9,opt,name=isDistributed,proto3" json:"isDistributed,omitempty"`
	Mounts           []*Mounts `protobuf:"bytes,10,rep,name=mounts,proto3" json:"mounts,omitempty"`
	Name             string    `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
	ResourcePool     string    `protobuf:"bytes,12,opt,name=resourcePool,proto3" json:"resourcePool,omitempty"`
}

func (x *CreateTrainJobParam) Reset() {
	*x = CreateTrainJobParam{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[190]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateTrainJobParam) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateTrainJobParam) ProtoMessage() {}

func (x *CreateTrainJobParam) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[190]
	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 CreateTrainJobParam.ProtoReflect.Descriptor instead.
func (*CreateTrainJobParam) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{190}
}

func (x *CreateTrainJobParam) GetAlgorithmId() string {
	if x != nil {
		return x.AlgorithmId
	}
	return ""
}

func (x *CreateTrainJobParam) GetAlgorithmVersion() string {
	if x != nil {
		return x.AlgorithmVersion
	}
	return ""
}

func (x *CreateTrainJobParam) GetConfig() []*Config {
	if x != nil {
		return x.Config
	}
	return nil
}

func (x *CreateTrainJobParam) GetDataSetId() string {
	if x != nil {
		return x.DataSetId
	}
	return ""
}

func (x *CreateTrainJobParam) GetDataSetVersion() string {
	if x != nil {
		return x.DataSetVersion
	}
	return ""
}

func (x *CreateTrainJobParam) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

func (x *CreateTrainJobParam) GetImageId() string {
	if x != nil {
		return x.ImageId
	}
	return ""
}

func (x *CreateTrainJobParam) GetImageUrl() string {
	if x != nil {
		return x.ImageUrl
	}
	return ""
}

func (x *CreateTrainJobParam) GetIsDistributed() bool {
	if x != nil {
		return x.IsDistributed
	}
	return false
}

func (x *CreateTrainJobParam) GetMounts() []*Mounts {
	if x != nil {
		return x.Mounts
	}
	return nil
}

func (x *CreateTrainJobParam) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CreateTrainJobParam) GetResourcePool() string {
	if x != nil {
		return x.ResourcePool
	}
	return ""
}

type Config struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Command               string            `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"`
	Envs                  map[string]string `protobuf:"bytes,2,rep,name=envs,proto3" json:"envs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	IsMainRole            bool              `protobuf:"varint,3,opt,name=isMainRole,proto3" json:"isMainRole,omitempty"`
	MinFailedTaskCount    int32             `protobuf:"varint,4,opt,name=minFailedTaskCount,proto3" json:"minFailedTaskCount,omitempty"`
	MinSucceededTaskCount int32             `protobuf:"varint,5,opt,name=minSucceededTaskCount,proto3" json:"minSucceededTaskCount,omitempty"`
	Name                  string            `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	Parameters            []*Parameters     `protobuf:"bytes,7,rep,name=parameters,proto3" json:"parameters,omitempty"`
	ReplicaStates         []*ReplicaStates  `protobuf:"bytes,8,rep,name=replicaStates,proto3" json:"replicaStates,omitempty"`
	ResourceSpecId        string            `protobuf:"bytes,9,opt,name=resourceSpecId,proto3" json:"resourceSpecId,omitempty"`
	ResourceSpecName      string            `protobuf:"bytes,10,opt,name=resourceSpecName,proto3" json:"resourceSpecName,omitempty"`
	ResourceSpecPrice     int32             `protobuf:"varint,11,opt,name=resourceSpecPrice,proto3" json:"resourceSpecPrice,omitempty"`
	SubTaskState          string            `protobuf:"bytes,12,opt,name=subTaskState,proto3" json:"subTaskState,omitempty"`
	TaskNumber            int32             `protobuf:"varint,13,opt,name=taskNumber,proto3" json:"taskNumber,omitempty"`
}

func (x *Config) Reset() {
	*x = Config{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[191]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Config) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Config) ProtoMessage() {}

func (x *Config) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[191]
	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 Config.ProtoReflect.Descriptor instead.
func (*Config) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{191}
}

func (x *Config) GetCommand() string {
	if x != nil {
		return x.Command
	}
	return ""
}

func (x *Config) GetEnvs() map[string]string {
	if x != nil {
		return x.Envs
	}
	return nil
}

func (x *Config) GetIsMainRole() bool {
	if x != nil {
		return x.IsMainRole
	}
	return false
}

func (x *Config) GetMinFailedTaskCount() int32 {
	if x != nil {
		return x.MinFailedTaskCount
	}
	return 0
}

func (x *Config) GetMinSucceededTaskCount() int32 {
	if x != nil {
		return x.MinSucceededTaskCount
	}
	return 0
}

func (x *Config) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Config) GetParameters() []*Parameters {
	if x != nil {
		return x.Parameters
	}
	return nil
}

func (x *Config) GetReplicaStates() []*ReplicaStates {
	if x != nil {
		return x.ReplicaStates
	}
	return nil
}

func (x *Config) GetResourceSpecId() string {
	if x != nil {
		return x.ResourceSpecId
	}
	return ""
}

func (x *Config) GetResourceSpecName() string {
	if x != nil {
		return x.ResourceSpecName
	}
	return ""
}

func (x *Config) GetResourceSpecPrice() int32 {
	if x != nil {
		return x.ResourceSpecPrice
	}
	return 0
}

func (x *Config) GetSubTaskState() string {
	if x != nil {
		return x.SubTaskState
	}
	return ""
}

func (x *Config) GetTaskNumber() int32 {
	if x != nil {
		return x.TaskNumber
	}
	return 0
}

type Parameters struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *Parameters) Reset() {
	*x = Parameters{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[192]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Parameters) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Parameters) ProtoMessage() {}

func (x *Parameters) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[192]
	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 Parameters.ProtoReflect.Descriptor instead.
func (*Parameters) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{192}
}

func (x *Parameters) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Parameters) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

type ReplicaStates struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
}

func (x *ReplicaStates) Reset() {
	*x = ReplicaStates{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[193]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReplicaStates) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReplicaStates) ProtoMessage() {}

func (x *ReplicaStates) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[193]
	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 ReplicaStates.ProtoReflect.Descriptor instead.
func (*ReplicaStates) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{193}
}

func (x *ReplicaStates) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *ReplicaStates) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

type Mounts struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ContainerPath string           `protobuf:"bytes,1,opt,name=containerPath,proto3" json:"containerPath,omitempty"`
	Nfs           *Nfs             `protobuf:"bytes,2,opt,name=nfs,proto3" json:"nfs,omitempty"`
	Octopus       *TrainJobOctopus `protobuf:"bytes,3,opt,name=octopus,proto3" json:"octopus,omitempty"`
	ReadOnly      bool             `protobuf:"varint,4,opt,name=readOnly,proto3" json:"readOnly,omitempty"`
}

func (x *Mounts) Reset() {
	*x = Mounts{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[194]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Mounts) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Mounts) ProtoMessage() {}

func (x *Mounts) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[194]
	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 Mounts.ProtoReflect.Descriptor instead.
func (*Mounts) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{194}
}

func (x *Mounts) GetContainerPath() string {
	if x != nil {
		return x.ContainerPath
	}
	return ""
}

func (x *Mounts) GetNfs() *Nfs {
	if x != nil {
		return x.Nfs
	}
	return nil
}

func (x *Mounts) GetOctopus() *TrainJobOctopus {
	if x != nil {
		return x.Octopus
	}
	return nil
}

func (x *Mounts) GetReadOnly() bool {
	if x != nil {
		return x.ReadOnly
	}
	return false
}

type PayloadCreateTrainJob struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	JobId string `protobuf:"bytes,1,opt,name=jobId,proto3" json:"jobId,omitempty"`
}

func (x *PayloadCreateTrainJob) Reset() {
	*x = PayloadCreateTrainJob{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[195]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PayloadCreateTrainJob) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PayloadCreateTrainJob) ProtoMessage() {}

func (x *PayloadCreateTrainJob) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[195]
	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 PayloadCreateTrainJob.ProtoReflect.Descriptor instead.
func (*PayloadCreateTrainJob) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{195}
}

func (x *PayloadCreateTrainJob) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

type Nfs struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Path   string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Server string `protobuf:"bytes,2,opt,name=server,proto3" json:"server,omitempty"`
}

func (x *Nfs) Reset() {
	*x = Nfs{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[196]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Nfs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Nfs) ProtoMessage() {}

func (x *Nfs) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[196]
	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 Nfs.ProtoReflect.Descriptor instead.
func (*Nfs) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{196}
}

func (x *Nfs) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Nfs) GetServer() string {
	if x != nil {
		return x.Server
	}
	return ""
}

type TrainJobOctopus struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
}

func (x *TrainJobOctopus) Reset() {
	*x = TrainJobOctopus{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[197]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TrainJobOctopus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TrainJobOctopus) ProtoMessage() {}

func (x *TrainJobOctopus) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[197]
	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 TrainJobOctopus.ProtoReflect.Descriptor instead.
func (*TrainJobOctopus) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{197}
}

func (x *TrainJobOctopus) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *TrainJobOctopus) GetObject() string {
	if x != nil {
		return x.Object
	}
	return ""
}

type GetTrainJobLogReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	TaskId   string `protobuf:"bytes,2,opt,name=taskId,proto3" json:"taskId,omitempty"`
	TaskNum  string `protobuf:"bytes,3,opt,name=taskNum,proto3" json:"taskNum,omitempty"`
	Num      int32  `protobuf:"varint,4,opt,name=num,proto3" json:"num,omitempty"`
}

func (x *GetTrainJobLogReq) Reset() {
	*x = GetTrainJobLogReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[198]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetTrainJobLogReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTrainJobLogReq) ProtoMessage() {}

func (x *GetTrainJobLogReq) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[198]
	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 GetTrainJobLogReq.ProtoReflect.Descriptor instead.
func (*GetTrainJobLogReq) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{198}
}

func (x *GetTrainJobLogReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetTrainJobLogReq) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *GetTrainJobLogReq) GetTaskNum() string {
	if x != nil {
		return x.TaskNum
	}
	return ""
}

func (x *GetTrainJobLogReq) GetNum() int32 {
	if x != nil {
		return x.Num
	}
	return 0
}

type GetTrainJobLogResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
}

func (x *GetTrainJobLogResp) Reset() {
	*x = GetTrainJobLogResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[199]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetTrainJobLogResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTrainJobLogResp) ProtoMessage() {}

func (x *GetTrainJobLogResp) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[199]
	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 GetTrainJobLogResp.ProtoReflect.Descriptor instead.
func (*GetTrainJobLogResp) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{199}
}

func (x *GetTrainJobLogResp) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

// *****************ResourceSpecService Start************************
type GetResourceSpecsReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform     string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
	ResourcePool string `protobuf:"bytes,2,opt,name=resourcePool,proto3" json:"resourcePool,omitempty"`
}

func (x *GetResourceSpecsReq) Reset() {
	*x = GetResourceSpecsReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[200]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetResourceSpecsReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetResourceSpecsReq) ProtoMessage() {}

func (x *GetResourceSpecsReq) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[200]
	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 GetResourceSpecsReq.ProtoReflect.Descriptor instead.
func (*GetResourceSpecsReq) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{200}
}

func (x *GetResourceSpecsReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *GetResourceSpecsReq) GetResourcePool() string {
	if x != nil {
		return x.ResourcePool
	}
	return ""
}

type GetResourceSpecsResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Success            bool             `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	TrainResourceSpecs []*ResourceSpecs `protobuf:"bytes,2,rep,name=TrainResourceSpecs,proto3" json:"TrainResourceSpecs,omitempty"`
	Error              *Error           `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetResourceSpecsResp) Reset() {
	*x = GetResourceSpecsResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[201]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetResourceSpecsResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetResourceSpecsResp) ProtoMessage() {}

func (x *GetResourceSpecsResp) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[201]
	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 GetResourceSpecsResp.ProtoReflect.Descriptor instead.
func (*GetResourceSpecsResp) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{201}
}

func (x *GetResourceSpecsResp) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *GetResourceSpecsResp) GetTrainResourceSpecs() []*ResourceSpecs {
	if x != nil {
		return x.TrainResourceSpecs
	}
	return nil
}

func (x *GetResourceSpecsResp) GetError() *Error {
	if x != nil {
		return x.Error
	}
	return nil
}

type ResourceSpecs struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id    string  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name  string  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Price float64 `protobuf:"fixed64,3,opt,name=price,proto3" json:"price,omitempty"`
}

func (x *ResourceSpecs) Reset() {
	*x = ResourceSpecs{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[202]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResourceSpecs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResourceSpecs) ProtoMessage() {}

func (x *ResourceSpecs) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[202]
	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 ResourceSpecs.ProtoReflect.Descriptor instead.
func (*ResourceSpecs) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{202}
}

func (x *ResourceSpecs) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ResourceSpecs) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ResourceSpecs) GetPrice() float64 {
	if x != nil {
		return x.Price
	}
	return 0
}

type Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code       int32  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Subcode    int32  `protobuf:"varint,2,opt,name=subcode,proto3" json:"subcode,omitempty"`
	Message    string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	SubMessage string `protobuf:"bytes,4,opt,name=subMessage,proto3" json:"subMessage,omitempty"`
}

func (x *Error) Reset() {
	*x = Error{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[203]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Error) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Error) ProtoMessage() {}

func (x *Error) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[203]
	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 Error.ProtoReflect.Descriptor instead.
func (*Error) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{203}
}

func (x *Error) GetCode() int32 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *Error) GetSubcode() int32 {
	if x != nil {
		return x.Subcode
	}
	return 0
}

func (x *Error) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *Error) GetSubMessage() string {
	if x != nil {
		return x.SubMessage
	}
	return ""
}

// *****************Billing Start************************
type GetUserBalanceReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
}

func (x *GetUserBalanceReq) Reset() {
	*x = GetUserBalanceReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[204]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetUserBalanceReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserBalanceReq) ProtoMessage() {}

func (x *GetUserBalanceReq) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[204]
	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 GetUserBalanceReq.ProtoReflect.Descriptor instead.
func (*GetUserBalanceReq) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{204}
}

func (x *GetUserBalanceReq) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

type GetUserBalanceResp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Success bool                `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Payload *PayloadBillingUser `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
	Error   *Error              `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"`
}

func (x *GetUserBalanceResp) Reset() {
	*x = GetUserBalanceResp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[205]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetUserBalanceResp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetUserBalanceResp) ProtoMessage() {}

func (x *GetUserBalanceResp) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[205]
	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 GetUserBalanceResp.ProtoReflect.Descriptor instead.
func (*GetUserBalanceResp) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{205}
}

func (x *GetUserBalanceResp) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *GetUserBalanceResp) GetPayload() *PayloadBillingUser {
	if x != nil {
		return x.Payload
	}
	return nil
}

func (x *GetUserBalanceResp) GetError() *Error {
	if x != nil {
		return x.Error
	}
	return nil
}

type PayloadBillingUser struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	BillingUser *BillingUser `protobuf:"bytes,1,opt,name=billingUser,proto3" json:"billingUser,omitempty"`
}

func (x *PayloadBillingUser) Reset() {
	*x = PayloadBillingUser{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[206]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PayloadBillingUser) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PayloadBillingUser) ProtoMessage() {}

func (x *PayloadBillingUser) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[206]
	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 PayloadBillingUser.ProtoReflect.Descriptor instead.
func (*PayloadBillingUser) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{206}
}

func (x *PayloadBillingUser) GetBillingUser() *BillingUser {
	if x != nil {
		return x.BillingUser
	}
	return nil
}

type BillingUser struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	CreatedAt int64   `protobuf:"varint,1,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
	UpdatedAt int64   `protobuf:"varint,2,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
	Amount    float32 `protobuf:"fixed32,3,opt,name=amount,proto3" json:"amount,omitempty"`
}

func (x *BillingUser) Reset() {
	*x = BillingUser{}
	if protoimpl.UnsafeEnabled {
		mi := &file_octopus_proto_msgTypes[207]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BillingUser) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BillingUser) ProtoMessage() {}

func (x *BillingUser) ProtoReflect() protoreflect.Message {
	mi := &file_octopus_proto_msgTypes[207]
	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 BillingUser.ProtoReflect.Descriptor instead.
func (*BillingUser) Descriptor() ([]byte, []int) {
	return file_octopus_proto_rawDescGZIP(), []int{207}
}

func (x *BillingUser) GetCreatedAt() int64 {
	if x != nil {
		return x.CreatedAt
	}
	return 0
}

func (x *BillingUser) GetUpdatedAt() int64 {
	if x != nil {
		return x.UpdatedAt
	}
	return 0
}

func (x *BillingUser) GetAmount() float32 {
	if x != nil {
		return x.Amount
	}
	return 0
}

var File_octopus_proto protoreflect.FileDescriptor

var file_octopus_proto_rawDesc = []byte{
	0x0a, 0x0d, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
	0x07, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x22, 0x29, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x22, 0x28, 0x0a, 0x06, 0x63, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a,
	0x0a, 0x70, 0x4f, 0x70, 0x73, 0x41, 0x74, 0x46, 0x70, 0x31, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x02, 0x52, 0x0a, 0x70, 0x4f, 0x70, 0x73, 0x41, 0x74, 0x46, 0x70, 0x31, 0x36, 0x22, 0x4a, 0x0a,
	0x06, 0x67, 0x69, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x70, 0x75, 0x43, 0x6f,
	0x72, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x70, 0x75,
	0x43, 0x6f, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
	0x79, 0x49, 0x6e, 0x47, 0x69, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x65,
	0x6d, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x47, 0x69, 0x62, 0x22, 0x69, 0x0a, 0x0f, 0x47, 0x65, 0x74,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f,
	0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61,
	0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f,
	0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x22, 0x8c, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x31, 0x0a, 0x09, 0x61, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x73, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x42, 0x0a, 0x0f,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52,
	0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73,
	0x22, 0x67, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69,
	0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12,
	0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x13, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b,
	0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x18,
	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07,
	0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x39, 0x0a,
	0x17, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70,
	0x72, 0x65, 0x73, 0x73, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f,
	0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x41, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x14, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65,
	0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a,
	0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12,
	0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d,
	0x70, 0x72, 0x65, 0x73, 0x73, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63,
	0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d,
	0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3c, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0x3f, 0x0a, 0x0f, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
	0x74, 0x68, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x30, 0x0a, 0x10, 0x41, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x61,
	0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x22, 0xa3, 0x01, 0x0a, 0x12, 0x55, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b,
	0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x18,
	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61,
	0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22,
	0x4a, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12,
	0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x13,
	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a,
	0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52,
	0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x36,
	0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41,
	0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0xb1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72,
	0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x06,
	0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x50, 0x61, 0x72,
	0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x39, 0x0a, 0x1b, 0x55, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c,
	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c,
	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x40,
	0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x26, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52,
	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x1d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
	0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18,
	0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6e, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x38, 0x0a,
	0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f,
	0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0a, 0x61, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x22, 0x6c, 0x0a, 0x0f, 0x41, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3d, 0x0a, 0x0f, 0x61, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x41, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x0f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69,
	0x74, 0x68, 0x6d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53,
	0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53,
	0x68, 0x61, 0x72, 0x65, 0x64, 0x22, 0x6d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a,
	0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61,
	0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65,
	0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
	0x53, 0x69, 0x7a, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x41, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6b, 0x0a, 0x16, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69,
	0x7a, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x0a, 0x61, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x22, 0xd2, 0x04, 0x0a, 0x0a, 0x41, 0x6c, 0x67, 0x6f,
	0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69,
	0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f,
	0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c,
	0x0a, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
	0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f,
	0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10,
	0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64,
	0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x12,
	0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61,
	0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x72, 0x65, 0x66, 0x61, 0x62, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x72, 0x65, 0x66, 0x61, 0x62, 0x12, 0x1c,
	0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07,
	0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
	0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x79,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72,
	0x6b, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65,
	0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77,
	0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66,
	0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x70, 0x0a, 0x18,
	0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c,
	0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65,
	0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64,
	0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x9c,
	0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41,
	0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f,
	0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07,
	0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x65, 0x0a,
	0x1c, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a,
	0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x6c,
	0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x06, 0x6c, 0x61,
	0x62, 0x6c, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a,
	0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x1d, 0x47,
	0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65,
	0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52,
	0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x66,
	0x0a, 0x1d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a,
	0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x06,
	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x06, 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x73,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1e,
	0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x54,
	0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
	0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
	0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
	0x72, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x49, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
	0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18,
	0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x07, 0x70, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x38, 0x0a, 0x18, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d,
	0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69,
	0x74, 0x68, 0x6d, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a,
	0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xdb, 0x01, 0x0a, 0x11, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x24,
	0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x20,
	0x0a, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64,
	0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f,
	0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x74, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
	0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8e,
	0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49,
	0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
	0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22,
	0x98, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a,
	0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6d, 0x0a, 0x18, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53,
	0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x53, 0x69, 0x7a, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
	0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x0e, 0x44, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64,
	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06,
	0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x68,
	0x61, 0x72, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61,
	0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61,
	0x74, 0x61, 0x53, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61,
	0x53, 0x65, 0x74, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53,
	0x65, 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74,
	0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53,
	0x65, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x22, 0x6b, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53,
	0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x73, 0x12, 0x12,
	0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65,
	0x73, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x40,
	0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x22, 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65,
	0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, 0x01,
	0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
	0x63, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61,
	0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61,
	0x73, 0x65, 0x74, 0x73, 0x22, 0xc0, 0x02, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
	0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a,
	0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x79, 0x70,
	0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70,
	0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73,
	0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65,
	0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61,
	0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x75,
	0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75,
	0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x6c, 0x69,
	0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
	0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0x3e, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c,
	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c,
	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12,
	0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1c, 0x0a,
	0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x9b, 0x01, 0x0a, 0x10,
	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09,
	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61,
	0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x48, 0x0a, 0x12, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12,
	0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e,
	0x61, 0x6d, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61,
	0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61,
	0x53, 0x65, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0xa9, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72,
	0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x18,
	0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61,
	0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61,
	0x72, 0x61, 0x6d, 0x73, 0x22, 0x37, 0x0a, 0x19, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61,
	0x74, 0x61, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61,
	0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9a, 0x01,
	0x0a, 0x18, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74,
	0x61, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3b, 0x0a, 0x1b, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53,
	0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12,
	0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a,
	0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61,
	0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
	0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x19, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x22, 0x9a, 0x01, 0x0a, 0x18, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65,
	0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x55, 0x0a, 0x1b, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65,
	0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73,
	0x65, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x6d,
	0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
	0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65,
	0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01,
	0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74,
	0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3b, 0x0a, 0x1b, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53,
	0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x6e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a,
	0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x44,
	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a,
	0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x22, 0x63, 0x0a, 0x1a, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74,
	0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74,
	0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27,
	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52,
	0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09,
	0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65,
	0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
	0x62, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x6c, 0x61,
	0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x06, 0x6c, 0x61, 0x62,
	0x6c, 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x37, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70,
	0x6c, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
	0x22, 0xc8, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
	0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x64,
	0x65, 0x73, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12,
	0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64,
	0x65, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49,
	0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x26, 0x0a,
	0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53,
	0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x15,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f,
	0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
	0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70,
	0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x22, 0x72, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x18,
	0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x6d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
	0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
	0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52,
	0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x67,
	0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65,
	0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x64, 0x65, 0x70,
	0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x64,
	0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xc3, 0x03, 0x0a, 0x07, 0x44, 0x65, 0x70, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64,
	0x65, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
	0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49,
	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x53, 0x65,
	0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x63, 0x12,
	0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12,
	0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a,
	0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0f, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x77,
	0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x3f, 0x0a,
	0x11, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52,
	0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8e,
	0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f,
	0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
	0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79,
	0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
	0x43, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x64, 0x65, 0x70, 0x49,
	0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x64, 0x65, 0x70,
	0x49, 0x6e, 0x66, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65,
	0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12,
	0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69,
	0x73, 0x4d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4d,
	0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65,
	0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x98, 0x01,
	0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79,
	0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65,
	0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6b, 0x0a, 0x1a, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f,
	0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53,
	0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x44, 0x65, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x64, 0x65, 0x70, 0x45,
	0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6e, 0x0a, 0x08, 0x44, 0x65, 0x70, 0x45, 0x76, 0x65, 0x6e,
	0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x40, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x36, 0x0a, 0x16, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65,
	0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64,
	0x41, 0x74, 0x22, 0x4a, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65,
	0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c,
	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c,
	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x73,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x94,
	0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65,
	0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
	0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12,
	0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x38, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f,
	0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22,
	0x31, 0x0a, 0x13, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70,
	0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
	0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
	0x72, 0x6d, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65,
	0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x37, 0x0a, 0x17, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c,
	0x6f, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74,
	0x22, 0x65, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f,
	0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x12, 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
	0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xab, 0x04, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12,
	0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49,
	0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
	0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73,
	0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61,
	0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64,
	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
	0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73,
	0x63, 0x12, 0x3a, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x26, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x45, 0x6e,
	0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x12, 0x18, 0x0a,
	0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x55, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f,
	0x75, 0x6e, 0x74, 0x73, 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c,
	0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
	0x74, 0x61, 0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x09,
	0x45, 0x6e, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52,
	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12,
	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22,
	0x3c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65,
	0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x88, 0x01,
	0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65,
	0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x2d,
	0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62,
	0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x3f, 0x0a,
	0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52,
	0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8e,
	0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f,
	0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
	0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b,
	0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
	0x27, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4e,
	0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a,
	0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61,
	0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65,
	0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65,
	0x53, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65,
	0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f,
	0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24,
	0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x22, 0x64, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e,
	0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x6e, 0x6f, 0x74,
	0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52,
	0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0xf2, 0x05, 0x0a, 0x08, 0x4e,
	0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x77,
	0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12,
	0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a,
	0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12,
	0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x61,
	0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65,
	0x63, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65,
	0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
	0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a,
	0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64,
	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61,
	0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65,
	0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72,
	0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4a,
	0x6f, 0x62, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65,
	0x62, 0x6f, 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61,
	0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a,
	0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x05, 0x74, 0x61,
	0x73, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18,
	0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22,
	0x2d, 0x0a, 0x05, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e,
	0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52,
	0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8c,
	0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37,
	0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07,
	0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x26, 0x0a,
	0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74,
	0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3d, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74,
	0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x02, 0x69, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74,
	0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f,
	0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x22, 0x25, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70,
	0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x6b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
	0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
	0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18,
	0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x72,
	0x65, 0x73, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09,
	0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72,
	0x65, 0x73, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65,
	0x74, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
	0x5d, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x22, 0x61,
	0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x73,
	0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x69, 0x6d, 0x61,
	0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x73, 0x22, 0x4a, 0x0a, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69,
	0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69,
	0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x87, 0x03,
	0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67,
	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65,
	0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44,
	0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64,
	0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75,
	0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65,
	0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
	0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x20, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a,
	0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64,
	0x64, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46,
	0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x22, 0x46, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22,
	0x88, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a,
	0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x12, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x64,
	0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71,
	0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x36, 0x0a, 0x0b,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64,
	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64,
	0x64, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63,
	0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22,
	0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07,
	0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4c, 0x0a,
	0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a,
	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x79, 0x0a, 0x0e, 0x55,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
	0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61,
	0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67,
	0x65, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06,
	0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x46, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f,
	0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61,
	0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x88,
	0x01, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07,
	0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55,
	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5e, 0x0a, 0x12, 0x50, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12,
	0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x2a, 0x0a,
	0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
	0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x07, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
	0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, 0x12,
	0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f,
	0x70, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x32, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72,
	0x6f, 0x70, 0x33, 0x22, 0x4d, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67,
	0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a,
	0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x07, 0x70, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x39, 0x0a, 0x19, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67,
	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x6f,
	0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a,
	0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49,
	0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
	0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
	0x65, 0x22, 0x98, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a,
	0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x77, 0x0a, 0x1a,
	0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f,
	0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65,
	0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x15, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x68, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65,
	0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61,
	0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22,
	0x9d, 0x01, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66,
	0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d,
	0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f,
	0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22,
	0x48, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
	0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12,
	0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
	0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x67,
	0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a,
	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07,
	0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x22, 0x39, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a,
	0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x17,
	0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a,
	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22,
	0x9a, 0x01, 0x0a, 0x18, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65,
	0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3f, 0x0a, 0x1b,
	0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d,
	0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0x69, 0x0a,
	0x11, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52,
	0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c,
	0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08,
	0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
	0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74,
	0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
	0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d,
	0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5d, 0x0a, 0x15, 0x50, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69,
	0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
	0x12, 0x26, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
	0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x22, 0x97, 0x03, 0x0a, 0x05, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f,
	0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49,
	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f,
	0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72,
	0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x72, 0x61,
	0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61,
	0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49,
	0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64,
	0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x63,
	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x70, 0x61,
	0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61,
	0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61,
	0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f,
	0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x22, 0x88, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35,
	0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
	0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x12, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f,
	0x62, 0x12, 0x2d, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72,
	0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62,
	0x22, 0x47, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a,
	0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
	0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x35, 0x0a, 0x15, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e,
	0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41,
	0x74, 0x22, 0x3d, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f,
	0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x22, 0x8a, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f,
	0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
	0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07,
	0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x33, 0x0a,
	0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69,
	0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64,
	0x41, 0x74, 0x22, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f,
	0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64,
	0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e,
	0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22,
	0x92, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45,
	0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62,
	0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24,
	0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x22, 0x68, 0x0a, 0x17, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47,
	0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
	0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a,
	0x09, 0x6a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x76,
	0x65, 0x6e, 0x74, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6e,
	0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
	0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x80,
	0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
	0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65,
	0x70, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f,
	0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e,
	0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x50, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d,
	0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67,
	0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67,
	0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x70, 0x75, 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, 0x65,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0b, 0x67, 0x70, 0x75, 0x4d, 0x65, 0x6d, 0x55, 0x73,
	0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x18, 0x03,
	0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x67, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x12, 0x1a, 0x0a,
	0x08, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52,
	0x08, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6a, 0x0a, 0x12, 0x47, 0x65, 0x74,
	0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
	0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
	0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67,
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61,
	0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a,
	0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61,
	0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
	0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x67, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c,
	0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69,
	0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
	0x12, 0x2f, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72,
	0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62,
	0x73, 0x22, 0xef, 0x05, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x20,
	0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64,
	0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69,
	0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41,
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a,
	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74,
	0x61, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65,
	0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49,
	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x69,
	0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x24, 0x0a, 0x0d, 0x69, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64,
	0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a,
	0x06, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x63, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72,
	0x75, 0x6e, 0x53, 0x65, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65,
	0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x15, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65,
	0x72, 0x49, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
	0x64, 0x12, 0x20, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64,
	0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63,
	0x65, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61,
	0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72,
	0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61,
	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa3, 0x03, 0x0a, 0x13,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61,
	0x72, 0x61, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69,
	0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x27, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61,
	0x74, 0x61, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61,
	0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a,
	0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73,
	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0d, 0x69, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64,
	0x12, 0x27, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74,
	0x73, 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a,
	0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f,
	0x6c, 0x22, 0xdd, 0x04, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07,
	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x6e, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
	0x04, 0x65, 0x6e, 0x76, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x52,
	0x6f, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69,
	0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c,
	0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63,
	0x65, 0x65, 0x64, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x6d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64,
	0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x33, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61,
	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
	0x74, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70,
	0x65, 0x63, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70,
	0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50,
	0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x54, 0x61, 0x73, 0x6b, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x54,
	0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b,
	0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61,
	0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0x37, 0x0a, 0x09, 0x45, 0x6e, 0x76, 0x73,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
	0x01, 0x22, 0x34, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12,
	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
	0x22, 0x9e, 0x01, 0x0a, 0x06, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63,
	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x74,
	0x68, 0x12, 0x1e, 0x0a, 0x03, 0x6e, 0x66, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x66, 0x73, 0x52, 0x03, 0x6e, 0x66,
	0x73, 0x12, 0x32, 0x0a, 0x07, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72, 0x61,
	0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x52, 0x07, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c,
	0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c,
	0x79, 0x22, 0x2d, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x6a, 0x6f,
	0x62, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64,
	0x22, 0x31, 0x0a, 0x03, 0x4e, 0x66, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x22, 0x41, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x73, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61,
	0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
	0x18, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x2e, 0x0a, 0x12, 0x47,
	0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x47,
	0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52,
	0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22,
	0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f,
	0x6f, 0x6c, 0x22, 0x9e, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x12, 0x54, 0x72, 0x61, 0x69, 0x6e,
	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x24, 0x0a,
	0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53,
	0x70, 0x65, 0x63, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x6f,
	0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73,
	0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x75,
	0x62, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
	0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
	0x2f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
	0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
	0x22, 0x8b, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61,
	0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x52,
	0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4c,
	0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67,
	0x55, 0x73, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x0b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x55,
	0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x52,
	0x0b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x22, 0x61, 0x0a, 0x0b,
	0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x32,
	0xa6, 0x24, 0x0a, 0x07, 0x4f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x11, 0x47,
	0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x77, 0x65, 0x72,
	0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x63, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x47, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a,
	0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x67, 0x69, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41,
	0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52,
	0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a,
	0x15, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70,
	0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70,
	0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6a, 0x0a,
	0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61,
	0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
	0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x71, 0x1a, 0x26, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41,
	0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72,
	0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
	0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a,
	0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65,
	0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
	0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70,
	0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65,
	0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x14, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x18,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
	0x68, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x55, 0x72, 0x6c, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67,
	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70,
	0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x61, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72,
	0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x22, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f,
	0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x1a,
	0x23, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74,
	0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c,
	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61,
	0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61,
	0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44,
	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65,
	0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a,
	0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44,
	0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65,
	0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f,
	0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a,
	0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73,
	0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
	0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65,
	0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55,
	0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47,
	0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x70, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47,
	0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d,
	0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
	0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44,
	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, 0x74,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a,
	0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x49, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c,
	0x6f, 0x79, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1b,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65,
	0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x47,
	0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65,
	0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65,
	0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c,
	0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64,
	0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65,
	0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70,
	0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x49, 0x6e, 0x66, 0x65, 0x72,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1c, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
	0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65,
	0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e,
	0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f,
	0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70,
	0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74,
	0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x18,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65,
	0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62,
	0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
	0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65,
	0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46,
	0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12,
	0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e,
	0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f,
	0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f,
	0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71,
	0x1a, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e,
	0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47,
	0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12,
	0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69,
	0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52,
	0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e,
	0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a,
	0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x55, 0x70, 0x6c,
	0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12,
	0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x1a,
	0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70,
	0x12, 0x49, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69,
	0x73, 0x74, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f,
	0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x47,
	0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
	0x73, 0x74, 0x12, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65,
	0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
	0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73,
	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65,
	0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a,
	0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d,
	0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x21,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
	0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x49, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e,
	0x4a, 0x6f, 0x62, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a,
	0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f,
	0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x12,
	0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61,
	0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f,
	0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a,
	0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0b, 0x47, 0x65,
	0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x2e, 0x6f, 0x63, 0x74, 0x6f,
	0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52,
	0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x1a,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
	0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e,
	0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x54,
	0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75,
	0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65,
	0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70,
	0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10,
	0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74,
	0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72,
	0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69,
	0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a,
	0x11, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74,
	0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65,
	0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x54,
	0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73,
	0x70, 0x12, 0x49, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62,
	0x4c, 0x6f, 0x67, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65,
	0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x1a,
	0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61,
	0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10,
	0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73,
	0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d,
	0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a,
	0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12,
	0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65,
	0x72, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x63,
	0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x61, 0x6c,
	0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2f, 0x6f, 0x63, 0x74,
	0x6f, 0x70, 0x75, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_octopus_proto_rawDescOnce sync.Once
	file_octopus_proto_rawDescData = file_octopus_proto_rawDesc
)

func file_octopus_proto_rawDescGZIP() []byte {
	file_octopus_proto_rawDescOnce.Do(func() {
		file_octopus_proto_rawDescData = protoimpl.X.CompressGZIP(file_octopus_proto_rawDescData)
	})
	return file_octopus_proto_rawDescData
}

var file_octopus_proto_msgTypes = make([]protoimpl.MessageInfo, 210)
var file_octopus_proto_goTypes = []interface{}{
	(*ResourceReq)(nil),                   // 0: octopus.resourceReq
	(*CpResp)(nil),                        // 1: octopus.cpResp
	(*GiResp)(nil),                        // 2: octopus.giResp
	(*GetAlgorithmReq)(nil),               // 3: octopus.GetAlgorithmReq
	(*GetAlgorithmResp)(nil),              // 4: octopus.GetAlgorithmResp
	(*PayloadGetAlgorithm)(nil),           // 5: octopus.PayloadGetAlgorithm
	(*VersionAccesses)(nil),               // 6: octopus.VersionAccesses
	(*DownloadCompressReq)(nil),           // 7: octopus.DownloadCompressReq
	(*DownloadCompressResp)(nil),          // 8: octopus.DownloadCompressResp
	(*PayloadDownloadCompress)(nil),       // 9: octopus.PayloadDownloadCompress
	(*DownloadAlgorithmReq)(nil),          // 10: octopus.DownloadAlgorithmReq
	(*DownloadAlgorithmResp)(nil),         // 11: octopus.DownloadAlgorithmResp
	(*PayloadDownloadAlgorithm)(nil),      // 12: octopus.PayloadDownloadAlgorithm
	(*AlgorithmUrlReq)(nil),               // 13: octopus.AlgorithmUrlReq
	(*AlgorithmUrlResp)(nil),              // 14: octopus.AlgorithmUrlResp
	(*UploadAlgorithmReq)(nil),            // 15: octopus.UploadAlgorithmReq
	(*UploadAlgorithmParam)(nil),          // 16: octopus.UploadAlgorithmParam
	(*UploadAlgorithmResp)(nil),           // 17: octopus.UploadAlgorithmResp
	(*PayloadUploadAlgorithm)(nil),        // 18: octopus.PayloadUploadAlgorithm
	(*UploadAlgorithmConfirmReq)(nil),     // 19: octopus.UploadAlgorithmConfirmReq
	(*UploadAlgorithmConfirmParam)(nil),   // 20: octopus.UploadAlgorithmConfirmParam
	(*UploadAlgorithmConfirmResp)(nil),    // 21: octopus.UploadAlgorithmConfirmResp
	(*PayloadUploadAlgorithmConfirm)(nil), // 22: octopus.PayloadUploadAlgorithmConfirm
	(*GetAlgorithmListReq)(nil),           // 23: octopus.GetAlgorithmListReq
	(*GetAlgorithmListResp)(nil),          // 24: octopus.GetAlgorithmListResp
	(*PayloadAlgorithmList)(nil),          // 25: octopus.PayloadAlgorithmList
	(*AlgorithmDetail)(nil),               // 26: octopus.AlgorithmDetail
	(*GetMyAlgorithmListReq)(nil),         // 27: octopus.GetMyAlgorithmListReq
	(*GetMyAlgorithmListResp)(nil),        // 28: octopus.GetMyAlgorithmListResp
	(*PayloadMyAlgorithmList)(nil),        // 29: octopus.PayloadMyAlgorithmList
	(*Algorithms)(nil),                    // 30: octopus.Algorithms
	(*GetAlgorithmApplyListReq)(nil),      // 31: octopus.GetAlgorithmApplyListReq
	(*GetAlgorithmApplyListResp)(nil),     // 32: octopus.GetAlgorithmApplyListResp
	(*PayloadGetAlgorithmApplyList)(nil),  // 33: octopus.PayloadGetAlgorithmApplyList
	(*GetAlgorithmFrameworkListReq)(nil),  // 34: octopus.GetAlgorithmFrameworkListReq
	(*GetAlgorithmFrameworkListResp)(nil), // 35: octopus.GetAlgorithmFrameworkListResp
	(*PayloadAlgorithmFrameworkList)(nil), // 36: octopus.PayloadAlgorithmFrameworkList
	(*Lables)(nil),                        // 37: octopus.Lables
	(*DeleteMyAlgorithmReq)(nil),          // 38: octopus.DeleteMyAlgorithmReq
	(*DeleteMyAlgorithmResp)(nil),         // 39: octopus.DeleteMyAlgorithmResp
	(*PayloadDeleteMyAlgorithm)(nil),      // 40: octopus.PayloadDeleteMyAlgorithm
	(*CreateMyAlgorithmReq)(nil),          // 41: octopus.CreateMyAlgorithmReq
	(*CreateMyAlgorithmResp)(nil),         // 42: octopus.CreateMyAlgorithmResp
	(*CreateMyAlgorithm)(nil),             // 43: octopus.CreateMyAlgorithm
	(*PayloadCreateMyAlgorithm)(nil),      // 44: octopus.PayloadCreateMyAlgorithm
	(*GetDatasetVersionListReq)(nil),      // 45: octopus.GetDatasetVersionListReq
	(*GetDatasetVersionListResp)(nil),     // 46: octopus.GetDatasetVersionListResp
	(*PayloadGetDatasetVersion)(nil),      // 47: octopus.PayloadGetDatasetVersion
	(*DatasetVersion)(nil),                // 48: octopus.DatasetVersion
	(*CreateDataSetReq)(nil),              // 49: octopus.CreateDataSetReq
	(*CreateDataSetResp)(nil),             // 50: octopus.CreateDataSetResp
	(*CreateDataSet)(nil),                 // 51: octopus.CreateDataSet
	(*PayloadCreateDataSet)(nil),          // 52: octopus.PayloadCreateDataSet
	(*GetMyDatasetListReq)(nil),           // 53: octopus.GetMyDatasetListReq
	(*GetMyDatasetListResp)(nil),          // 54: octopus.GetMyDatasetListResp
	(*PayloadMyDatasetList)(nil),          // 55: octopus.PayloadMyDatasetList
	(*Datasets)(nil),                      // 56: octopus.Datasets
	(*Applies)(nil),                       // 57: octopus.Applies
	(*DeleteDataSetReq)(nil),              // 58: octopus.DeleteDataSetReq
	(*DeleteDataSetResp)(nil),             // 59: octopus.DeleteDataSetResp
	(*PayloadDeleteDataSet)(nil),          // 60: octopus.PayloadDeleteDataSet
	(*UploadDataSetReq)(nil),              // 61: octopus.UploadDataSetReq
	(*UploadDataSetParam)(nil),            // 62: octopus.UploadDataSetParam
	(*UploadDataSetResp)(nil),             // 63: octopus.UploadDataSetResp
	(*PayloadUploadDataSet)(nil),          // 64: octopus.PayloadUploadDataSet
	(*UploadDataSetConfirmReq)(nil),       // 65: octopus.UploadDataSetConfirmReq
	(*UploadDataSetConfirmParam)(nil),     // 66: octopus.UploadDataSetConfirmParam
	(*UploadDataSetConfirmResp)(nil),      // 67: octopus.UploadDataSetConfirmResp
	(*PayloadUploadDataSetConfirm)(nil),   // 68: octopus.PayloadUploadDataSetConfirm
	(*CreateDataSetVersionReq)(nil),       // 69: octopus.CreateDataSetVersionReq
	(*CreateDataSetVersionParam)(nil),     // 70: octopus.CreateDataSetVersionParam
	(*CreateDataSetVersionResp)(nil),      // 71: octopus.CreateDataSetVersionResp
	(*PayloadCreateDataSetVersion)(nil),   // 72: octopus.PayloadCreateDataSetVersion
	(*DeleteDataSetVersionReq)(nil),       // 73: octopus.DeleteDataSetVersionReq
	(*DeleteDataSetVersionResp)(nil),      // 74: octopus.DeleteDataSetVersionResp
	(*PayloadDeleteDataSetVersion)(nil),   // 75: octopus.PayloadDeleteDataSetVersion
	(*GetDatasetApplyListReq)(nil),        // 76: octopus.GetDatasetApplyListReq
	(*GetDatasetApplyListResp)(nil),       // 77: octopus.GetDatasetApplyListResp
	(*PayloadGetDatasetApplyList)(nil),    // 78: octopus.PayloadGetDatasetApplyList
	(*GetDatasetTypeListRep)(nil),         // 79: octopus.GetDatasetTypeListRep
	(*GetDatasetTypeListResp)(nil),        // 80: octopus.GetDatasetTypeListResp
	(*PayloadGetDatasetTypeList)(nil),     // 81: octopus.PayloadGetDatasetTypeList
	(*CreateModelDeployReq)(nil),          // 82: octopus.CreateModelDeployReq
	(*CreateModelDeployParam)(nil),        // 83: octopus.CreateModelDeployParam
	(*CreateModelDeployResp)(nil),         // 84: octopus.CreateModelDeployResp
	(*PayloadCreateModelDeploy)(nil),      // 85: octopus.PayloadCreateModelDeploy
	(*GetModelDeployListReq)(nil),         // 86: octopus.GetModelDeployListReq
	(*GetModelDeployListResp)(nil),        // 87: octopus.GetModelDeployListResp
	(*PayloadGetModelDeployList)(nil),     // 88: octopus.PayloadGetModelDeployList
	(*DepInfo)(nil),                       // 89: octopus.DepInfo
	(*GetModelDeployReq)(nil),             // 90: octopus.GetModelDeployReq
	(*GetModelDeployResp)(nil),            // 91: octopus.GetModelDeployResp
	(*PayloadGetModelDeploy)(nil),         // 92: octopus.PayloadGetModelDeploy
	(*GetModelDeployEventReq)(nil),        // 93: octopus.GetModelDeployEventReq
	(*GetModelDeployEventResp)(nil),       // 94: octopus.GetModelDeployEventResp
	(*PayloadGetModelDeployEvent)(nil),    // 95: octopus.PayloadGetModelDeployEvent
	(*DepEvent)(nil),                      // 96: octopus.DepEvent
	(*StopModelDeployReq)(nil),            // 97: octopus.StopModelDeployReq
	(*StopModelDeployResp)(nil),           // 98: octopus.StopModelDeployResp
	(*PayloadStopModelDeploy)(nil),        // 99: octopus.PayloadStopModelDeploy
	(*DeleteModelDeployReq)(nil),          // 100: octopus.DeleteModelDeployReq
	(*DeleteModelDeployResp)(nil),         // 101: octopus.DeleteModelDeployResp
	(*PayloadDeleteModelDeploy)(nil),      // 102: octopus.PayloadDeleteModelDeploy
	(*InferModelDeployReq)(nil),           // 103: octopus.InferModelDeployReq
	(*InferModelDeployResp)(nil),          // 104: octopus.InferModelDeployResp
	(*PayloadInferModelDeploy)(nil),       // 105: octopus.PayloadInferModelDeploy
	(*CreateNotebookReq)(nil),             // 106: octopus.CreateNotebookReq
	(*CreateNotebookParam)(nil),           // 107: octopus.CreateNotebookParam
	(*CreateNotebookResp)(nil),            // 108: octopus.CreateNotebookResp
	(*PayloadCreateNotebook)(nil),         // 109: octopus.PayloadCreateNotebook
	(*GetNotebookReq)(nil),                // 110: octopus.GetNotebookReq
	(*GetNotebookResp)(nil),               // 111: octopus.GetNotebookResp
	(*PayloadGetNotebook)(nil),            // 112: octopus.PayloadGetNotebook
	(*DeleteNotebookReq)(nil),             // 113: octopus.DeleteNotebookReq
	(*DeleteNotebookResp)(nil),            // 114: octopus.DeleteNotebookResp
	(*PayloadDeleteNotebook)(nil),         // 115: octopus.PayloadDeleteNotebook
	(*GetNotebookListReq)(nil),            // 116: octopus.GetNotebookListReq
	(*GetNotebookListResp)(nil),           // 117: octopus.GetNotebookListResp
	(*PayloadNotebookList)(nil),           // 118: octopus.PayloadNotebookList
	(*Notebook)(nil),                      // 119: octopus.Notebook
	(*Tasks)(nil),                         // 120: octopus.Tasks
	(*StartNotebookReq)(nil),              // 121: octopus.StartNotebookReq
	(*StartNotebookResp)(nil),             // 122: octopus.StartNotebookResp
	(*PayloadStartNotebook)(nil),          // 123: octopus.PayloadStartNotebook
	(*StopNotebookReq)(nil),               // 124: octopus.StopNotebookReq
	(*StopNotebookResp)(nil),              // 125: octopus.StopNotebookResp
	(*PayloadStopNotebook)(nil),           // 126: octopus.PayloadStopNotebook
	(*GetUserImageListReq)(nil),           // 127: octopus.GetUserImageListReq
	(*GetUserImageListResp)(nil),          // 128: octopus.GetUserImageListResp
	(*GetPresetImageListReq)(nil),         // 129: octopus.GetPresetImageListReq
	(*GetPresetImageListResp)(nil),        // 130: octopus.GetPresetImageListResp
	(*PayloadUserImageList)(nil),          // 131: octopus.PayloadUserImageList
	(*PayloadGetPresetImageList)(nil),     // 132: octopus.PayloadGetPresetImageList
	(*Images)(nil),                        // 133: octopus.Images
	(*Image)(nil),                         // 134: octopus.Image
	(*DeleteImageReq)(nil),                // 135: octopus.DeleteImageReq
	(*DeleteImageResp)(nil),               // 136: octopus.DeleteImageResp
	(*PayloadDeleteImage)(nil),            // 137: octopus.PayloadDeleteImage
	(*CreateImageReq)(nil),                // 138: octopus.CreateImageReq
	(*CreateImage)(nil),                   // 139: octopus.CreateImage
	(*CreateImageResp)(nil),               // 140: octopus.CreateImageResp
	(*PayloadCreateImage)(nil),            // 141: octopus.PayloadCreateImage
	(*UploadImageReq)(nil),                // 142: octopus.UploadImageReq
	(*UploadImageParam)(nil),              // 143: octopus.UploadImageParam
	(*UploadImageResp)(nil),               // 144: octopus.UploadImageResp
	(*PayloadUploadImage)(nil),            // 145: octopus.PayloadUploadImage
	(*Headers)(nil),                       // 146: octopus.Headers
	(*UploadImageConfirmReq)(nil),         // 147: octopus.UploadImageConfirmReq
	(*UploadImageConfirmResp)(nil),        // 148: octopus.UploadImageConfirmResp
	(*PayloadUploadImageConfirm)(nil),     // 149: octopus.PayloadUploadImageConfirm
	(*GetModelVersionListReq)(nil),        // 150: octopus.GetModelVersionListReq
	(*GetModelVersionListResp)(nil),       // 151: octopus.GetModelVersionListResp
	(*PayloadGetModelVersionList)(nil),    // 152: octopus.PayloadGetModelVersionList
	(*ModelVersion)(nil),                  // 153: octopus.ModelVersion
	(*VersionDetail)(nil),                 // 154: octopus.VersionDetail
	(*DeleteMyModelReq)(nil),              // 155: octopus.DeleteMyModelReq
	(*DeleteMyModelResp)(nil),             // 156: octopus.DeleteMyModelResp
	(*PayloadDeleteMyModel)(nil),          // 157: octopus.PayloadDeleteMyModel
	(*DeleteModelVersionReq)(nil),         // 158: octopus.DeleteModelVersionReq
	(*DeleteModelVersionResp)(nil),        // 159: octopus.DeleteModelVersionResp
	(*PayloadDeleteModelVersion)(nil),     // 160: octopus.PayloadDeleteModelVersion
	(*DownloadModelVersionReq)(nil),       // 161: octopus.DownloadModelVersionReq
	(*DownloadModelVersionResp)(nil),      // 162: octopus.DownloadModelVersionResp
	(*PayloadDownloadModelVersion)(nil),   // 163: octopus.PayloadDownloadModelVersion
	(*GetMyModelListReq)(nil),             // 164: octopus.GetMyModelListReq
	(*GetMyModelListResp)(nil),            // 165: octopus.GetMyModelListResp
	(*PayloadGetMyModelList)(nil),         // 166: octopus.PayloadGetMyModelList
	(*Model)(nil),                         // 167: octopus.Model
	(*GetTrainJobReq)(nil),                // 168: octopus.GetTrainJobReq
	(*GetTrainJobResp)(nil),               // 169: octopus.GetTrainJobResp
	(*PayloadGetTrainJob)(nil),            // 170: octopus.PayloadGetTrainJob
	(*DeleteTrainJobReq)(nil),             // 171: octopus.DeleteTrainJobReq
	(*DeleteTrainJobResp)(nil),            // 172: octopus.DeleteTrainJobResp
	(*PayloadDeleteTrainJob)(nil),         // 173: octopus.PayloadDeleteTrainJob
	(*StopTrainJobReq)(nil),               // 174: octopus.StopTrainJobReq
	(*StopTrainJobResp)(nil),              // 175: octopus.StopTrainJobResp
	(*PayloadStopTrainJob)(nil),           // 176: octopus.PayloadStopTrainJob
	(*GetTrainJobEventReq)(nil),           // 177: octopus.GetTrainJobEventReq
	(*GetTrainJobEventResp)(nil),          // 178: octopus.GetTrainJobEventResp
	(*PayloadGetTrainJobEvent)(nil),       // 179: octopus.PayloadGetTrainJobEvent
	(*JobEvent)(nil),                      // 180: octopus.JobEvent
	(*GetTrainJobMetricReq)(nil),          // 181: octopus.GetTrainJobMetricReq
	(*GetTrainJobMetricResp)(nil),         // 182: octopus.GetTrainJobMetricResp
	(*PayloadGetTrainJobMetric)(nil),      // 183: octopus.PayloadGetTrainJobMetric
	(*GetTrainJobListReq)(nil),            // 184: octopus.GetTrainJobListReq
	(*GetTrainJobListResp)(nil),           // 185: octopus.GetTrainJobListResp
	(*PayloadGetTrainJobList)(nil),        // 186: octopus.PayloadGetTrainJobList
	(*TrainJob)(nil),                      // 187: octopus.TrainJob
	(*CreateTrainJobReq)(nil),             // 188: octopus.CreateTrainJobReq
	(*CreateTrainJobResp)(nil),            // 189: octopus.CreateTrainJobResp
	(*CreateTrainJobParam)(nil),           // 190: octopus.CreateTrainJobParam
	(*Config)(nil),                        // 191: octopus.Config
	(*Parameters)(nil),                    // 192: octopus.Parameters
	(*ReplicaStates)(nil),                 // 193: octopus.ReplicaStates
	(*Mounts)(nil),                        // 194: octopus.Mounts
	(*PayloadCreateTrainJob)(nil),         // 195: octopus.PayloadCreateTrainJob
	(*Nfs)(nil),                           // 196: octopus.Nfs
	(*TrainJobOctopus)(nil),               // 197: octopus.TrainJobOctopus
	(*GetTrainJobLogReq)(nil),             // 198: octopus.GetTrainJobLogReq
	(*GetTrainJobLogResp)(nil),            // 199: octopus.GetTrainJobLogResp
	(*GetResourceSpecsReq)(nil),           // 200: octopus.GetResourceSpecsReq
	(*GetResourceSpecsResp)(nil),          // 201: octopus.GetResourceSpecsResp
	(*ResourceSpecs)(nil),                 // 202: octopus.ResourceSpecs
	(*Error)(nil),                         // 203: octopus.Error
	(*GetUserBalanceReq)(nil),             // 204: octopus.GetUserBalanceReq
	(*GetUserBalanceResp)(nil),            // 205: octopus.GetUserBalanceResp
	(*PayloadBillingUser)(nil),            // 206: octopus.PayloadBillingUser
	(*BillingUser)(nil),                   // 207: octopus.BillingUser
	nil,                                   // 208: octopus.CreateNotebookParam.EnvsEntry
	nil,                                   // 209: octopus.Config.EnvsEntry
}
var file_octopus_proto_depIdxs = []int32{
	5,   // 0: octopus.GetAlgorithmResp.payload:type_name -> octopus.PayloadGetAlgorithm
	203, // 1: octopus.GetAlgorithmResp.error:type_name -> octopus.Error
	30,  // 2: octopus.PayloadGetAlgorithm.algorithm:type_name -> octopus.Algorithms
	6,   // 3: octopus.PayloadGetAlgorithm.versionAccesses:type_name -> octopus.VersionAccesses
	9,   // 4: octopus.DownloadCompressResp.payload:type_name -> octopus.PayloadDownloadCompress
	203, // 5: octopus.DownloadCompressResp.error:type_name -> octopus.Error
	12,  // 6: octopus.DownloadAlgorithmResp.payload:type_name -> octopus.PayloadDownloadAlgorithm
	203, // 7: octopus.DownloadAlgorithmResp.error:type_name -> octopus.Error
	16,  // 8: octopus.UploadAlgorithmReq.params:type_name -> octopus.UploadAlgorithmParam
	18,  // 9: octopus.UploadAlgorithmResp.payload:type_name -> octopus.PayloadUploadAlgorithm
	203, // 10: octopus.UploadAlgorithmResp.error:type_name -> octopus.Error
	20,  // 11: octopus.UploadAlgorithmConfirmReq.params:type_name -> octopus.UploadAlgorithmConfirmParam
	22,  // 12: octopus.UploadAlgorithmConfirmResp.payload:type_name -> octopus.PayloadUploadAlgorithmConfirm
	203, // 13: octopus.UploadAlgorithmConfirmResp.error:type_name -> octopus.Error
	25,  // 14: octopus.GetAlgorithmListResp.payload:type_name -> octopus.PayloadAlgorithmList
	203, // 15: octopus.GetAlgorithmListResp.error:type_name -> octopus.Error
	26,  // 16: octopus.PayloadAlgorithmList.algorithms:type_name -> octopus.AlgorithmDetail
	30,  // 17: octopus.AlgorithmDetail.algorithmDetail:type_name -> octopus.Algorithms
	29,  // 18: octopus.GetMyAlgorithmListResp.payload:type_name -> octopus.PayloadMyAlgorithmList
	203, // 19: octopus.GetMyAlgorithmListResp.error:type_name -> octopus.Error
	30,  // 20: octopus.PayloadMyAlgorithmList.algorithms:type_name -> octopus.Algorithms
	33,  // 21: octopus.GetAlgorithmApplyListResp.payload:type_name -> octopus.PayloadGetAlgorithmApplyList
	203, // 22: octopus.GetAlgorithmApplyListResp.error:type_name -> octopus.Error
	37,  // 23: octopus.PayloadGetAlgorithmApplyList.lables:type_name -> octopus.Lables
	36,  // 24: octopus.GetAlgorithmFrameworkListResp.payload:type_name -> octopus.PayloadAlgorithmFrameworkList
	203, // 25: octopus.GetAlgorithmFrameworkListResp.error:type_name -> octopus.Error
	37,  // 26: octopus.PayloadAlgorithmFrameworkList.lables:type_name -> octopus.Lables
	40,  // 27: octopus.DeleteMyAlgorithmResp.payload:type_name -> octopus.PayloadDeleteMyAlgorithm
	203, // 28: octopus.DeleteMyAlgorithmResp.error:type_name -> octopus.Error
	43,  // 29: octopus.CreateMyAlgorithmReq.createMyAlgorithm:type_name -> octopus.CreateMyAlgorithm
	44,  // 30: octopus.CreateMyAlgorithmResp.payload:type_name -> octopus.PayloadCreateMyAlgorithm
	203, // 31: octopus.CreateMyAlgorithmResp.error:type_name -> octopus.Error
	47,  // 32: octopus.GetDatasetVersionListResp.payload:type_name -> octopus.PayloadGetDatasetVersion
	203, // 33: octopus.GetDatasetVersionListResp.error:type_name -> octopus.Error
	48,  // 34: octopus.PayloadGetDatasetVersion.versions:type_name -> octopus.DatasetVersion
	51,  // 35: octopus.CreateDataSetReq.createDataSet:type_name -> octopus.CreateDataSet
	52,  // 36: octopus.CreateDataSetResp.payload:type_name -> octopus.PayloadCreateDataSet
	203, // 37: octopus.CreateDataSetResp.error:type_name -> octopus.Error
	55,  // 38: octopus.GetMyDatasetListResp.payload:type_name -> octopus.PayloadMyDatasetList
	203, // 39: octopus.GetMyDatasetListResp.error:type_name -> octopus.Error
	56,  // 40: octopus.PayloadMyDatasetList.datasets:type_name -> octopus.Datasets
	57,  // 41: octopus.Datasets.applies:type_name -> octopus.Applies
	60,  // 42: octopus.DeleteDataSetResp.payload:type_name -> octopus.PayloadDeleteDataSet
	203, // 43: octopus.DeleteDataSetResp.error:type_name -> octopus.Error
	62,  // 44: octopus.UploadDataSetReq.params:type_name -> octopus.UploadDataSetParam
	64,  // 45: octopus.UploadDataSetResp.payload:type_name -> octopus.PayloadUploadDataSet
	203, // 46: octopus.UploadDataSetResp.error:type_name -> octopus.Error
	66,  // 47: octopus.UploadDataSetConfirmReq.params:type_name -> octopus.UploadDataSetConfirmParam
	68,  // 48: octopus.UploadDataSetConfirmResp.payload:type_name -> octopus.PayloadUploadDataSetConfirm
	203, // 49: octopus.UploadDataSetConfirmResp.error:type_name -> octopus.Error
	70,  // 50: octopus.CreateDataSetVersionReq.params:type_name -> octopus.CreateDataSetVersionParam
	72,  // 51: octopus.CreateDataSetVersionResp.payload:type_name -> octopus.PayloadCreateDataSetVersion
	203, // 52: octopus.CreateDataSetVersionResp.error:type_name -> octopus.Error
	75,  // 53: octopus.DeleteDataSetVersionResp.payload:type_name -> octopus.PayloadDeleteDataSetVersion
	203, // 54: octopus.DeleteDataSetVersionResp.error:type_name -> octopus.Error
	78,  // 55: octopus.GetDatasetApplyListResp.payload:type_name -> octopus.PayloadGetDatasetApplyList
	203, // 56: octopus.GetDatasetApplyListResp.error:type_name -> octopus.Error
	37,  // 57: octopus.PayloadGetDatasetApplyList.lables:type_name -> octopus.Lables
	81,  // 58: octopus.GetDatasetTypeListResp.payload:type_name -> octopus.PayloadGetDatasetTypeList
	203, // 59: octopus.GetDatasetTypeListResp.error:type_name -> octopus.Error
	37,  // 60: octopus.PayloadGetDatasetTypeList.lables:type_name -> octopus.Lables
	83,  // 61: octopus.CreateModelDeployReq.params:type_name -> octopus.CreateModelDeployParam
	85,  // 62: octopus.CreateModelDeployResp.payload:type_name -> octopus.PayloadCreateModelDeploy
	203, // 63: octopus.CreateModelDeployResp.error:type_name -> octopus.Error
	88,  // 64: octopus.GetModelDeployListResp.payload:type_name -> octopus.PayloadGetModelDeployList
	203, // 65: octopus.GetModelDeployListResp.error:type_name -> octopus.Error
	89,  // 66: octopus.PayloadGetModelDeployList.depInfos:type_name -> octopus.DepInfo
	92,  // 67: octopus.GetModelDeployResp.payload:type_name -> octopus.PayloadGetModelDeploy
	203, // 68: octopus.GetModelDeployResp.error:type_name -> octopus.Error
	89,  // 69: octopus.PayloadGetModelDeploy.depInfo:type_name -> octopus.DepInfo
	95,  // 70: octopus.GetModelDeployEventResp.payload:type_name -> octopus.PayloadGetModelDeployEvent
	203, // 71: octopus.GetModelDeployEventResp.error:type_name -> octopus.Error
	96,  // 72: octopus.PayloadGetModelDeployEvent.depEvents:type_name -> octopus.DepEvent
	99,  // 73: octopus.StopModelDeployResp.payload:type_name -> octopus.PayloadStopModelDeploy
	203, // 74: octopus.StopModelDeployResp.error:type_name -> octopus.Error
	102, // 75: octopus.DeleteModelDeployResp.payload:type_name -> octopus.PayloadDeleteModelDeploy
	203, // 76: octopus.DeleteModelDeployResp.error:type_name -> octopus.Error
	105, // 77: octopus.InferModelDeployResp.payload:type_name -> octopus.PayloadInferModelDeploy
	203, // 78: octopus.InferModelDeployResp.error:type_name -> octopus.Error
	107, // 79: octopus.CreateNotebookReq.params:type_name -> octopus.CreateNotebookParam
	208, // 80: octopus.CreateNotebookParam.envs:type_name -> octopus.CreateNotebookParam.EnvsEntry
	194, // 81: octopus.CreateNotebookParam.mounts:type_name -> octopus.Mounts
	109, // 82: octopus.CreateNotebookResp.payload:type_name -> octopus.PayloadCreateNotebook
	203, // 83: octopus.CreateNotebookResp.error:type_name -> octopus.Error
	112, // 84: octopus.GetNotebookResp.payload:type_name -> octopus.PayloadGetNotebook
	203, // 85: octopus.GetNotebookResp.error:type_name -> octopus.Error
	119, // 86: octopus.PayloadGetNotebook.notebook:type_name -> octopus.Notebook
	115, // 87: octopus.DeleteNotebookResp.payload:type_name -> octopus.PayloadDeleteNotebook
	203, // 88: octopus.DeleteNotebookResp.error:type_name -> octopus.Error
	118, // 89: octopus.GetNotebookListResp.payload:type_name -> octopus.PayloadNotebookList
	203, // 90: octopus.GetNotebookListResp.error:type_name -> octopus.Error
	119, // 91: octopus.PayloadNotebookList.notebooks:type_name -> octopus.Notebook
	120, // 92: octopus.Notebook.tasks:type_name -> octopus.Tasks
	123, // 93: octopus.StartNotebookResp.payload:type_name -> octopus.PayloadStartNotebook
	203, // 94: octopus.StartNotebookResp.error:type_name -> octopus.Error
	126, // 95: octopus.StopNotebookResp.payload:type_name -> octopus.PayloadStopNotebook
	203, // 96: octopus.StopNotebookResp.error:type_name -> octopus.Error
	131, // 97: octopus.GetUserImageListResp.payload:type_name -> octopus.PayloadUserImageList
	203, // 98: octopus.GetUserImageListResp.error:type_name -> octopus.Error
	132, // 99: octopus.GetPresetImageListResp.payload:type_name -> octopus.PayloadGetPresetImageList
	203, // 100: octopus.GetPresetImageListResp.error:type_name -> octopus.Error
	133, // 101: octopus.PayloadUserImageList.images:type_name -> octopus.Images
	134, // 102: octopus.PayloadGetPresetImageList.images:type_name -> octopus.Image
	134, // 103: octopus.Images.image:type_name -> octopus.Image
	137, // 104: octopus.DeleteImageResp.payload:type_name -> octopus.PayloadDeleteImage
	203, // 105: octopus.DeleteImageResp.error:type_name -> octopus.Error
	139, // 106: octopus.CreateImageReq.createImage:type_name -> octopus.CreateImage
	141, // 107: octopus.CreateImageResp.payload:type_name -> octopus.PayloadCreateImage
	203, // 108: octopus.CreateImageResp.error:type_name -> octopus.Error
	143, // 109: octopus.UploadImageReq.params:type_name -> octopus.UploadImageParam
	145, // 110: octopus.UploadImageResp.payload:type_name -> octopus.PayloadUploadImage
	203, // 111: octopus.UploadImageResp.error:type_name -> octopus.Error
	146, // 112: octopus.PayloadUploadImage.headers:type_name -> octopus.Headers
	149, // 113: octopus.UploadImageConfirmResp.payload:type_name -> octopus.PayloadUploadImageConfirm
	203, // 114: octopus.UploadImageConfirmResp.error:type_name -> octopus.Error
	152, // 115: octopus.GetModelVersionListResp.payload:type_name -> octopus.PayloadGetModelVersionList
	203, // 116: octopus.GetModelVersionListResp.error:type_name -> octopus.Error
	153, // 117: octopus.PayloadGetModelVersionList.modelVersions:type_name -> octopus.ModelVersion
	154, // 118: octopus.ModelVersion.versionDetail:type_name -> octopus.VersionDetail
	157, // 119: octopus.DeleteMyModelResp.payload:type_name -> octopus.PayloadDeleteMyModel
	203, // 120: octopus.DeleteMyModelResp.error:type_name -> octopus.Error
	160, // 121: octopus.DeleteModelVersionResp.payload:type_name -> octopus.PayloadDeleteModelVersion
	203, // 122: octopus.DeleteModelVersionResp.error:type_name -> octopus.Error
	163, // 123: octopus.DownloadModelVersionResp.payload:type_name -> octopus.PayloadDownloadModelVersion
	203, // 124: octopus.DownloadModelVersionResp.error:type_name -> octopus.Error
	166, // 125: octopus.GetMyModelListResp.payload:type_name -> octopus.PayloadGetMyModelList
	203, // 126: octopus.GetMyModelListResp.error:type_name -> octopus.Error
	167, // 127: octopus.PayloadGetMyModelList.models:type_name -> octopus.Model
	170, // 128: octopus.GetTrainJobResp.payload:type_name -> octopus.PayloadGetTrainJob
	203, // 129: octopus.GetTrainJobResp.error:type_name -> octopus.Error
	187, // 130: octopus.PayloadGetTrainJob.trainJob:type_name -> octopus.TrainJob
	173, // 131: octopus.DeleteTrainJobResp.payload:type_name -> octopus.PayloadDeleteTrainJob
	203, // 132: octopus.DeleteTrainJobResp.error:type_name -> octopus.Error
	176, // 133: octopus.StopTrainJobResp.payload:type_name -> octopus.PayloadStopTrainJob
	203, // 134: octopus.StopTrainJobResp.error:type_name -> octopus.Error
	179, // 135: octopus.GetTrainJobEventResp.payload:type_name -> octopus.PayloadGetTrainJobEvent
	203, // 136: octopus.GetTrainJobEventResp.error:type_name -> octopus.Error
	180, // 137: octopus.PayloadGetTrainJobEvent.jobEvents:type_name -> octopus.JobEvent
	183, // 138: octopus.GetTrainJobMetricResp.payload:type_name -> octopus.PayloadGetTrainJobMetric
	203, // 139: octopus.GetTrainJobMetricResp.error:type_name -> octopus.Error
	186, // 140: octopus.GetTrainJobListResp.payload:type_name -> octopus.PayloadGetTrainJobList
	203, // 141: octopus.GetTrainJobListResp.error:type_name -> octopus.Error
	187, // 142: octopus.PayloadGetTrainJobList.trainJobs:type_name -> octopus.TrainJob
	191, // 143: octopus.TrainJob.config:type_name -> octopus.Config
	190, // 144: octopus.CreateTrainJobReq.params:type_name -> octopus.CreateTrainJobParam
	195, // 145: octopus.CreateTrainJobResp.payload:type_name -> octopus.PayloadCreateTrainJob
	203, // 146: octopus.CreateTrainJobResp.error:type_name -> octopus.Error
	191, // 147: octopus.CreateTrainJobParam.config:type_name -> octopus.Config
	194, // 148: octopus.CreateTrainJobParam.mounts:type_name -> octopus.Mounts
	209, // 149: octopus.Config.envs:type_name -> octopus.Config.EnvsEntry
	192, // 150: octopus.Config.parameters:type_name -> octopus.Parameters
	193, // 151: octopus.Config.replicaStates:type_name -> octopus.ReplicaStates
	196, // 152: octopus.Mounts.nfs:type_name -> octopus.Nfs
	197, // 153: octopus.Mounts.octopus:type_name -> octopus.TrainJobOctopus
	202, // 154: octopus.GetResourceSpecsResp.TrainResourceSpecs:type_name -> octopus.ResourceSpecs
	203, // 155: octopus.GetResourceSpecsResp.error:type_name -> octopus.Error
	206, // 156: octopus.GetUserBalanceResp.payload:type_name -> octopus.PayloadBillingUser
	203, // 157: octopus.GetUserBalanceResp.error:type_name -> octopus.Error
	207, // 158: octopus.PayloadBillingUser.billingUser:type_name -> octopus.BillingUser
	0,   // 159: octopus.Octopus.GetComputingPower:input_type -> octopus.resourceReq
	0,   // 160: octopus.Octopus.GetGeneralInfo:input_type -> octopus.resourceReq
	27,  // 161: octopus.Octopus.GetMyAlgorithmList:input_type -> octopus.GetMyAlgorithmListReq
	23,  // 162: octopus.Octopus.GetAlgorithmList:input_type -> octopus.GetAlgorithmListReq
	3,   // 163: octopus.Octopus.GetAlgorithm:input_type -> octopus.GetAlgorithmReq
	31,  // 164: octopus.Octopus.GetAlgorithmApplyList:input_type -> octopus.GetAlgorithmApplyListReq
	34,  // 165: octopus.Octopus.GetAlgorithmFrameworkList:input_type -> octopus.GetAlgorithmFrameworkListReq
	38,  // 166: octopus.Octopus.DeleteMyAlgorithm:input_type -> octopus.DeleteMyAlgorithmReq
	41,  // 167: octopus.Octopus.CreateMyAlgorithm:input_type -> octopus.CreateMyAlgorithmReq
	10,  // 168: octopus.Octopus.DownloadAlgorithm:input_type -> octopus.DownloadAlgorithmReq
	7,   // 169: octopus.Octopus.DownloadCompress:input_type -> octopus.DownloadCompressReq
	13,  // 170: octopus.Octopus.DownloadAlgorithmUrl:input_type -> octopus.AlgorithmUrlReq
	15,  // 171: octopus.Octopus.UploadAlgorithm:input_type -> octopus.UploadAlgorithmReq
	19,  // 172: octopus.Octopus.UploadAlgorithmConfirm:input_type -> octopus.UploadAlgorithmConfirmReq
	53,  // 173: octopus.Octopus.GetMyDatasetList:input_type -> octopus.GetMyDatasetListReq
	45,  // 174: octopus.Octopus.GetDatasetVersionList:input_type -> octopus.GetDatasetVersionListReq
	49,  // 175: octopus.Octopus.CreateDataSet:input_type -> octopus.CreateDataSetReq
	58,  // 176: octopus.Octopus.DeleteDataSet:input_type -> octopus.DeleteDataSetReq
	61,  // 177: octopus.Octopus.UploadDataSet:input_type -> octopus.UploadDataSetReq
	65,  // 178: octopus.Octopus.UploadDataSetConfirm:input_type -> octopus.UploadDataSetConfirmReq
	69,  // 179: octopus.Octopus.CreateDataSetVersion:input_type -> octopus.CreateDataSetVersionReq
	73,  // 180: octopus.Octopus.DeleteDataSetVersion:input_type -> octopus.DeleteDataSetVersionReq
	76,  // 181: octopus.Octopus.GetDatasetApplyList:input_type -> octopus.GetDatasetApplyListReq
	79,  // 182: octopus.Octopus.GetDatasetTypeList:input_type -> octopus.GetDatasetTypeListRep
	82,  // 183: octopus.Octopus.CreateModelDeploy:input_type -> octopus.CreateModelDeployReq
	86,  // 184: octopus.Octopus.GetModelDeployList:input_type -> octopus.GetModelDeployListReq
	90,  // 185: octopus.Octopus.GetModelDeploy:input_type -> octopus.GetModelDeployReq
	93,  // 186: octopus.Octopus.GetModelDeployEvent:input_type -> octopus.GetModelDeployEventReq
	97,  // 187: octopus.Octopus.StopModelDeploy:input_type -> octopus.StopModelDeployReq
	100, // 188: octopus.Octopus.DeleteModelDeploy:input_type -> octopus.DeleteModelDeployReq
	103, // 189: octopus.Octopus.InferModelDeploy:input_type -> octopus.InferModelDeployReq
	116, // 190: octopus.Octopus.GetNotebookList:input_type -> octopus.GetNotebookListReq
	110, // 191: octopus.Octopus.GetNotebook:input_type -> octopus.GetNotebookReq
	113, // 192: octopus.Octopus.DeleteNotebook:input_type -> octopus.DeleteNotebookReq
	106, // 193: octopus.Octopus.CreateNotebook:input_type -> octopus.CreateNotebookReq
	121, // 194: octopus.Octopus.StartNotebook:input_type -> octopus.StartNotebookReq
	124, // 195: octopus.Octopus.StopNotebook:input_type -> octopus.StopNotebookReq
	127, // 196: octopus.Octopus.GetUserImageList:input_type -> octopus.GetUserImageListReq
	129, // 197: octopus.Octopus.GetPresetImageList:input_type -> octopus.GetPresetImageListReq
	138, // 198: octopus.Octopus.CreateImage:input_type -> octopus.CreateImageReq
	135, // 199: octopus.Octopus.DeleteImage:input_type -> octopus.DeleteImageReq
	142, // 200: octopus.Octopus.UploadImage:input_type -> octopus.UploadImageReq
	147, // 201: octopus.Octopus.UploadImageConfirm:input_type -> octopus.UploadImageConfirmReq
	164, // 202: octopus.Octopus.GetMyModelList:input_type -> octopus.GetMyModelListReq
	150, // 203: octopus.Octopus.GetModelVersionList:input_type -> octopus.GetModelVersionListReq
	155, // 204: octopus.Octopus.DeleteMyModel:input_type -> octopus.DeleteMyModelReq
	158, // 205: octopus.Octopus.DeleteModelVersion:input_type -> octopus.DeleteModelVersionReq
	161, // 206: octopus.Octopus.DownloadModelVersion:input_type -> octopus.DownloadModelVersionReq
	188, // 207: octopus.Octopus.CreateTrainJob:input_type -> octopus.CreateTrainJobReq
	184, // 208: octopus.Octopus.GetTrainJobList:input_type -> octopus.GetTrainJobListReq
	168, // 209: octopus.Octopus.GetTrainJob:input_type -> octopus.GetTrainJobReq
	171, // 210: octopus.Octopus.DeleteTrainJob:input_type -> octopus.DeleteTrainJobReq
	174, // 211: octopus.Octopus.StopTrainJob:input_type -> octopus.StopTrainJobReq
	177, // 212: octopus.Octopus.GetTrainJobEvent:input_type -> octopus.GetTrainJobEventReq
	181, // 213: octopus.Octopus.GetTrainJobMetric:input_type -> octopus.GetTrainJobMetricReq
	198, // 214: octopus.Octopus.GetTrainJobLog:input_type -> octopus.GetTrainJobLogReq
	200, // 215: octopus.Octopus.GetResourceSpecs:input_type -> octopus.GetResourceSpecsReq
	204, // 216: octopus.Octopus.GetUserBalance:input_type -> octopus.GetUserBalanceReq
	1,   // 217: octopus.Octopus.GetComputingPower:output_type -> octopus.cpResp
	2,   // 218: octopus.Octopus.GetGeneralInfo:output_type -> octopus.giResp
	28,  // 219: octopus.Octopus.GetMyAlgorithmList:output_type -> octopus.GetMyAlgorithmListResp
	24,  // 220: octopus.Octopus.GetAlgorithmList:output_type -> octopus.GetAlgorithmListResp
	4,   // 221: octopus.Octopus.GetAlgorithm:output_type -> octopus.GetAlgorithmResp
	32,  // 222: octopus.Octopus.GetAlgorithmApplyList:output_type -> octopus.GetAlgorithmApplyListResp
	35,  // 223: octopus.Octopus.GetAlgorithmFrameworkList:output_type -> octopus.GetAlgorithmFrameworkListResp
	39,  // 224: octopus.Octopus.DeleteMyAlgorithm:output_type -> octopus.DeleteMyAlgorithmResp
	42,  // 225: octopus.Octopus.CreateMyAlgorithm:output_type -> octopus.CreateMyAlgorithmResp
	11,  // 226: octopus.Octopus.DownloadAlgorithm:output_type -> octopus.DownloadAlgorithmResp
	8,   // 227: octopus.Octopus.DownloadCompress:output_type -> octopus.DownloadCompressResp
	14,  // 228: octopus.Octopus.DownloadAlgorithmUrl:output_type -> octopus.AlgorithmUrlResp
	17,  // 229: octopus.Octopus.UploadAlgorithm:output_type -> octopus.UploadAlgorithmResp
	21,  // 230: octopus.Octopus.UploadAlgorithmConfirm:output_type -> octopus.UploadAlgorithmConfirmResp
	54,  // 231: octopus.Octopus.GetMyDatasetList:output_type -> octopus.GetMyDatasetListResp
	46,  // 232: octopus.Octopus.GetDatasetVersionList:output_type -> octopus.GetDatasetVersionListResp
	50,  // 233: octopus.Octopus.CreateDataSet:output_type -> octopus.CreateDataSetResp
	59,  // 234: octopus.Octopus.DeleteDataSet:output_type -> octopus.DeleteDataSetResp
	63,  // 235: octopus.Octopus.UploadDataSet:output_type -> octopus.UploadDataSetResp
	67,  // 236: octopus.Octopus.UploadDataSetConfirm:output_type -> octopus.UploadDataSetConfirmResp
	71,  // 237: octopus.Octopus.CreateDataSetVersion:output_type -> octopus.CreateDataSetVersionResp
	74,  // 238: octopus.Octopus.DeleteDataSetVersion:output_type -> octopus.DeleteDataSetVersionResp
	77,  // 239: octopus.Octopus.GetDatasetApplyList:output_type -> octopus.GetDatasetApplyListResp
	80,  // 240: octopus.Octopus.GetDatasetTypeList:output_type -> octopus.GetDatasetTypeListResp
	84,  // 241: octopus.Octopus.CreateModelDeploy:output_type -> octopus.CreateModelDeployResp
	87,  // 242: octopus.Octopus.GetModelDeployList:output_type -> octopus.GetModelDeployListResp
	91,  // 243: octopus.Octopus.GetModelDeploy:output_type -> octopus.GetModelDeployResp
	94,  // 244: octopus.Octopus.GetModelDeployEvent:output_type -> octopus.GetModelDeployEventResp
	98,  // 245: octopus.Octopus.StopModelDeploy:output_type -> octopus.StopModelDeployResp
	101, // 246: octopus.Octopus.DeleteModelDeploy:output_type -> octopus.DeleteModelDeployResp
	104, // 247: octopus.Octopus.InferModelDeploy:output_type -> octopus.InferModelDeployResp
	117, // 248: octopus.Octopus.GetNotebookList:output_type -> octopus.GetNotebookListResp
	111, // 249: octopus.Octopus.GetNotebook:output_type -> octopus.GetNotebookResp
	114, // 250: octopus.Octopus.DeleteNotebook:output_type -> octopus.DeleteNotebookResp
	108, // 251: octopus.Octopus.CreateNotebook:output_type -> octopus.CreateNotebookResp
	122, // 252: octopus.Octopus.StartNotebook:output_type -> octopus.StartNotebookResp
	125, // 253: octopus.Octopus.StopNotebook:output_type -> octopus.StopNotebookResp
	128, // 254: octopus.Octopus.GetUserImageList:output_type -> octopus.GetUserImageListResp
	130, // 255: octopus.Octopus.GetPresetImageList:output_type -> octopus.GetPresetImageListResp
	140, // 256: octopus.Octopus.CreateImage:output_type -> octopus.CreateImageResp
	136, // 257: octopus.Octopus.DeleteImage:output_type -> octopus.DeleteImageResp
	144, // 258: octopus.Octopus.UploadImage:output_type -> octopus.UploadImageResp
	148, // 259: octopus.Octopus.UploadImageConfirm:output_type -> octopus.UploadImageConfirmResp
	165, // 260: octopus.Octopus.GetMyModelList:output_type -> octopus.GetMyModelListResp
	151, // 261: octopus.Octopus.GetModelVersionList:output_type -> octopus.GetModelVersionListResp
	156, // 262: octopus.Octopus.DeleteMyModel:output_type -> octopus.DeleteMyModelResp
	159, // 263: octopus.Octopus.DeleteModelVersion:output_type -> octopus.DeleteModelVersionResp
	162, // 264: octopus.Octopus.DownloadModelVersion:output_type -> octopus.DownloadModelVersionResp
	189, // 265: octopus.Octopus.CreateTrainJob:output_type -> octopus.CreateTrainJobResp
	185, // 266: octopus.Octopus.GetTrainJobList:output_type -> octopus.GetTrainJobListResp
	169, // 267: octopus.Octopus.GetTrainJob:output_type -> octopus.GetTrainJobResp
	172, // 268: octopus.Octopus.DeleteTrainJob:output_type -> octopus.DeleteTrainJobResp
	175, // 269: octopus.Octopus.StopTrainJob:output_type -> octopus.StopTrainJobResp
	178, // 270: octopus.Octopus.GetTrainJobEvent:output_type -> octopus.GetTrainJobEventResp
	182, // 271: octopus.Octopus.GetTrainJobMetric:output_type -> octopus.GetTrainJobMetricResp
	199, // 272: octopus.Octopus.GetTrainJobLog:output_type -> octopus.GetTrainJobLogResp
	201, // 273: octopus.Octopus.GetResourceSpecs:output_type -> octopus.GetResourceSpecsResp
	205, // 274: octopus.Octopus.GetUserBalance:output_type -> octopus.GetUserBalanceResp
	217, // [217:275] is the sub-list for method output_type
	159, // [159:217] is the sub-list for method input_type
	159, // [159:159] is the sub-list for extension type_name
	159, // [159:159] is the sub-list for extension extendee
	0,   // [0:159] is the sub-list for field type_name
}

func init() { file_octopus_proto_init() }
func file_octopus_proto_init() {
	if File_octopus_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_octopus_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResourceReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CpResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GiResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAlgorithmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAlgorithmResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetAlgorithm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VersionAccesses); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadCompressReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadCompressResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDownloadCompress); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadAlgorithmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadAlgorithmResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDownloadAlgorithm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AlgorithmUrlReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AlgorithmUrlResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadAlgorithmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadAlgorithmParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadAlgorithmResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadUploadAlgorithm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadAlgorithmConfirmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadAlgorithmConfirmParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadAlgorithmConfirmResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadUploadAlgorithmConfirm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAlgorithmListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAlgorithmListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadAlgorithmList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AlgorithmDetail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMyAlgorithmListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMyAlgorithmListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadMyAlgorithmList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Algorithms); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAlgorithmApplyListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAlgorithmApplyListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetAlgorithmApplyList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAlgorithmFrameworkListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAlgorithmFrameworkListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadAlgorithmFrameworkList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Lables); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteMyAlgorithmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteMyAlgorithmResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteMyAlgorithm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateMyAlgorithmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateMyAlgorithmResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateMyAlgorithm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadCreateMyAlgorithm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDatasetVersionListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDatasetVersionListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetDatasetVersion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DatasetVersion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataSetReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataSetResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadCreateDataSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMyDatasetListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMyDatasetListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadMyDatasetList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Datasets); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Applies); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDataSetReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDataSetResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteDataSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadDataSetReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadDataSetParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadDataSetResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadUploadDataSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadDataSetConfirmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadDataSetConfirmParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadDataSetConfirmResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadUploadDataSetConfirm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataSetVersionReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataSetVersionParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateDataSetVersionResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadCreateDataSetVersion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDataSetVersionReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteDataSetVersionResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteDataSetVersion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDatasetApplyListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDatasetApplyListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetDatasetApplyList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDatasetTypeListRep); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDatasetTypeListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetDatasetTypeList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateModelDeployReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateModelDeployParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateModelDeployResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadCreateModelDeploy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetModelDeployListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetModelDeployListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetModelDeployList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DepInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetModelDeployReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetModelDeployResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetModelDeploy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetModelDeployEventReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetModelDeployEventResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetModelDeployEvent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DepEvent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopModelDeployReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopModelDeployResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadStopModelDeploy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteModelDeployReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteModelDeployResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteModelDeploy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InferModelDeployReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*InferModelDeployResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadInferModelDeploy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateNotebookReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateNotebookParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateNotebookResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadCreateNotebook); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNotebookReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNotebookResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetNotebook); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteNotebookReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteNotebookResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteNotebook); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNotebookListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNotebookListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadNotebookList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Notebook); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Tasks); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StartNotebookReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StartNotebookResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadStartNotebook); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopNotebookReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopNotebookResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadStopNotebook); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetUserImageListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetUserImageListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPresetImageListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetPresetImageListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadUserImageList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetPresetImageList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Images); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Image); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteImageReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteImageResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteImage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateImageReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateImage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateImageResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadCreateImage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadImageReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadImageParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadImageResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadUploadImage); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Headers); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadImageConfirmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadImageConfirmResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadUploadImageConfirm); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetModelVersionListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetModelVersionListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetModelVersionList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModelVersion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VersionDetail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteMyModelReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteMyModelResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteMyModel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteModelVersionReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteModelVersionResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteModelVersion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadModelVersionReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadModelVersionResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDownloadModelVersion); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMyModelListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetMyModelListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetMyModelList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Model); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetTrainJob); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteTrainJobReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteTrainJobResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadDeleteTrainJob); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopTrainJobReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StopTrainJobResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadStopTrainJob); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobEventReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobEventResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetTrainJobEvent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*JobEvent); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobMetricReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobMetricResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetTrainJobMetric); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobListReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobListResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadGetTrainJobList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TrainJob); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateTrainJobReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateTrainJobResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateTrainJobParam); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Config); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Parameters); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReplicaStates); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Mounts); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadCreateTrainJob); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Nfs); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TrainJobOctopus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobLogReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTrainJobLogResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetResourceSpecsReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetResourceSpecsResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResourceSpecs); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetUserBalanceReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetUserBalanceResp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayloadBillingUser); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_octopus_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BillingUser); 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_octopus_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   210,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_octopus_proto_goTypes,
		DependencyIndexes: file_octopus_proto_depIdxs,
		MessageInfos:      file_octopus_proto_msgTypes,
	}.Build()
	File_octopus_proto = out.File
	file_octopus_proto_rawDesc = nil
	file_octopus_proto_goTypes = nil
	file_octopus_proto_depIdxs = nil
}
