//
//     Copyright 2022 The Dragonfly Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v3.21.6
// source: pkg/apis/scheduler/v2/scheduler.proto

package scheduler

import (
	v2 "d7y.io/api/v2/pkg/apis/common/v2"
	v21 "d7y.io/api/v2/pkg/apis/errordetails/v2"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	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)
)

// RegisterPeerRequest represents peer registered request of AnnouncePeerRequest.
type RegisterPeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Download information.
	Download *v2.Download `protobuf:"bytes,1,opt,name=download,proto3" json:"download,omitempty"`
}

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

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

func (*RegisterPeerRequest) ProtoMessage() {}

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

func (x *RegisterPeerRequest) GetDownload() *v2.Download {
	if x != nil {
		return x.Download
	}
	return nil
}

// DownloadPeerStartedRequest represents peer download started request of AnnouncePeerRequest.
type DownloadPeerStartedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*DownloadPeerStartedRequest) ProtoMessage() {}

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

// DownloadPeerBackToSourceStartedRequest represents peer download back-to-source started request of AnnouncePeerRequest.
type DownloadPeerBackToSourceStartedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the back-to-source reason.
	Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*DownloadPeerBackToSourceStartedRequest) ProtoMessage() {}

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

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

// ReschedulePeerRequest represents reschedule request of AnnouncePeerRequest.
type ReschedulePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Candidate parent ids.
	CandidateParents []*v2.Peer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
	// The description of the reschedule reason.
	Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*ReschedulePeerRequest) ProtoMessage() {}

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

func (x *ReschedulePeerRequest) GetCandidateParents() []*v2.Peer {
	if x != nil {
		return x.CandidateParents
	}
	return nil
}

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

// DownloadPeerFinishedRequest represents peer download finished request of AnnouncePeerRequest.
type DownloadPeerFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Total content length.
	ContentLength uint64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
	// Total piece count.
	PieceCount uint32 `protobuf:"varint,2,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}

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

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

func (*DownloadPeerFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPeerFinishedRequest) GetContentLength() uint64 {
	if x != nil {
		return x.ContentLength
	}
	return 0
}

func (x *DownloadPeerFinishedRequest) GetPieceCount() uint32 {
	if x != nil {
		return x.PieceCount
	}
	return 0
}

// DownloadPeerBackToSourceFinishedRequest represents peer download back-to-source finished request of AnnouncePeerRequest.
type DownloadPeerBackToSourceFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Total content length.
	ContentLength uint64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
	// Total piece count.
	PieceCount uint32 `protobuf:"varint,2,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}

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

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

func (*DownloadPeerBackToSourceFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPeerBackToSourceFinishedRequest) GetContentLength() uint64 {
	if x != nil {
		return x.ContentLength
	}
	return 0
}

func (x *DownloadPeerBackToSourceFinishedRequest) GetPieceCount() uint32 {
	if x != nil {
		return x.PieceCount
	}
	return 0
}

// DownloadPeerFailedRequest represents peer download failed request of AnnouncePeerRequest.
type DownloadPeerFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the download failed.
	Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*DownloadPeerFailedRequest) ProtoMessage() {}

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

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

// DownloadPeerBackToSourceFailedRequest represents peer download back-to-source failed request of AnnouncePeerRequest.
type DownloadPeerBackToSourceFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the download back-to-source failed.
	Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*DownloadPeerBackToSourceFailedRequest) ProtoMessage() {}

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

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

// DownloadPieceFinishedRequest represents piece download finished request of AnnouncePeerRequest.
type DownloadPieceFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Piece info.
	Piece *v2.Piece `protobuf:"bytes,1,opt,name=piece,proto3" json:"piece,omitempty"`
}

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

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

func (*DownloadPieceFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPieceFinishedRequest) GetPiece() *v2.Piece {
	if x != nil {
		return x.Piece
	}
	return nil
}

// DownloadPieceBackToSourceFinishedRequest represents piece download back-to-source finished request of AnnouncePeerRequest.
type DownloadPieceBackToSourceFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Piece info.
	Piece *v2.Piece `protobuf:"bytes,1,opt,name=piece,proto3" json:"piece,omitempty"`
}

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

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

func (*DownloadPieceBackToSourceFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPieceBackToSourceFinishedRequest) GetPiece() *v2.Piece {
	if x != nil {
		return x.Piece
	}
	return nil
}

// DownloadPieceFailedRequest downloads piece failed request of AnnouncePeerRequest.
type DownloadPieceFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Piece number.
	PieceNumber *uint32 `protobuf:"varint,1,opt,name=piece_number,json=pieceNumber,proto3,oneof" json:"piece_number,omitempty"`
	// Parent id.
	ParentId string `protobuf:"bytes,2,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
	// Temporary indicates whether the error is temporary.
	Temporary bool `protobuf:"varint,3,opt,name=temporary,proto3" json:"temporary,omitempty"`
}

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

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

func (*DownloadPieceFailedRequest) ProtoMessage() {}

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

func (x *DownloadPieceFailedRequest) GetPieceNumber() uint32 {
	if x != nil && x.PieceNumber != nil {
		return *x.PieceNumber
	}
	return 0
}

func (x *DownloadPieceFailedRequest) GetParentId() string {
	if x != nil {
		return x.ParentId
	}
	return ""
}

func (x *DownloadPieceFailedRequest) GetTemporary() bool {
	if x != nil {
		return x.Temporary
	}
	return false
}

// DownloadPieceBackToSourceFailedRequest downloads piece back-to-source failed request of AnnouncePeerRequest.
type DownloadPieceBackToSourceFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Piece number.
	PieceNumber *uint32 `protobuf:"varint,1,opt,name=piece_number,json=pieceNumber,proto3,oneof" json:"piece_number,omitempty"`
	// Types that are assignable to Response:
	//
	//	*DownloadPieceBackToSourceFailedRequest_Backend
	//	*DownloadPieceBackToSourceFailedRequest_Unknown
	Response isDownloadPieceBackToSourceFailedRequest_Response `protobuf_oneof:"response"`
}

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

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

func (*DownloadPieceBackToSourceFailedRequest) ProtoMessage() {}

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

func (x *DownloadPieceBackToSourceFailedRequest) GetPieceNumber() uint32 {
	if x != nil && x.PieceNumber != nil {
		return *x.PieceNumber
	}
	return 0
}

func (m *DownloadPieceBackToSourceFailedRequest) GetResponse() isDownloadPieceBackToSourceFailedRequest_Response {
	if m != nil {
		return m.Response
	}
	return nil
}

func (x *DownloadPieceBackToSourceFailedRequest) GetBackend() *v21.Backend {
	if x, ok := x.GetResponse().(*DownloadPieceBackToSourceFailedRequest_Backend); ok {
		return x.Backend
	}
	return nil
}

func (x *DownloadPieceBackToSourceFailedRequest) GetUnknown() *v21.Unknown {
	if x, ok := x.GetResponse().(*DownloadPieceBackToSourceFailedRequest_Unknown); ok {
		return x.Unknown
	}
	return nil
}

type isDownloadPieceBackToSourceFailedRequest_Response interface {
	isDownloadPieceBackToSourceFailedRequest_Response()
}

type DownloadPieceBackToSourceFailedRequest_Backend struct {
	Backend *v21.Backend `protobuf:"bytes,2,opt,name=backend,proto3,oneof"`
}

type DownloadPieceBackToSourceFailedRequest_Unknown struct {
	Unknown *v21.Unknown `protobuf:"bytes,3,opt,name=unknown,proto3,oneof"`
}

func (*DownloadPieceBackToSourceFailedRequest_Backend) isDownloadPieceBackToSourceFailedRequest_Response() {
}

func (*DownloadPieceBackToSourceFailedRequest_Unknown) isDownloadPieceBackToSourceFailedRequest_Response() {
}

// AnnouncePeerRequest represents request of AnnouncePeer.
type AnnouncePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	// Types that are assignable to Request:
	//
	//	*AnnouncePeerRequest_RegisterPeerRequest
	//	*AnnouncePeerRequest_DownloadPeerStartedRequest
	//	*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest
	//	*AnnouncePeerRequest_ReschedulePeerRequest
	//	*AnnouncePeerRequest_DownloadPeerFinishedRequest
	//	*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest
	//	*AnnouncePeerRequest_DownloadPeerFailedRequest
	//	*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest
	//	*AnnouncePeerRequest_DownloadPieceFinishedRequest
	//	*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest
	//	*AnnouncePeerRequest_DownloadPieceFailedRequest
	//	*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest
	Request isAnnouncePeerRequest_Request `protobuf_oneof:"request"`
}

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

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

func (*AnnouncePeerRequest) ProtoMessage() {}

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

func (x *AnnouncePeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *AnnouncePeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *AnnouncePeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

func (m *AnnouncePeerRequest) GetRequest() isAnnouncePeerRequest_Request {
	if m != nil {
		return m.Request
	}
	return nil
}

func (x *AnnouncePeerRequest) GetRegisterPeerRequest() *RegisterPeerRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_RegisterPeerRequest); ok {
		return x.RegisterPeerRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerStartedRequest() *DownloadPeerStartedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerStartedRequest); ok {
		return x.DownloadPeerStartedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceStartedRequest() *DownloadPeerBackToSourceStartedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest); ok {
		return x.DownloadPeerBackToSourceStartedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetReschedulePeerRequest() *ReschedulePeerRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_ReschedulePeerRequest); ok {
		return x.ReschedulePeerRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerFinishedRequest() *DownloadPeerFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerFinishedRequest); ok {
		return x.DownloadPeerFinishedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceFinishedRequest() *DownloadPeerBackToSourceFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest); ok {
		return x.DownloadPeerBackToSourceFinishedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerFailedRequest() *DownloadPeerFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerFailedRequest); ok {
		return x.DownloadPeerFailedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceFailedRequest() *DownloadPeerBackToSourceFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest); ok {
		return x.DownloadPeerBackToSourceFailedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPieceFinishedRequest() *DownloadPieceFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceFinishedRequest); ok {
		return x.DownloadPieceFinishedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPieceBackToSourceFinishedRequest() *DownloadPieceBackToSourceFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest); ok {
		return x.DownloadPieceBackToSourceFinishedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPieceFailedRequest() *DownloadPieceFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceFailedRequest); ok {
		return x.DownloadPieceFailedRequest
	}
	return nil
}

func (x *AnnouncePeerRequest) GetDownloadPieceBackToSourceFailedRequest() *DownloadPieceBackToSourceFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest); ok {
		return x.DownloadPieceBackToSourceFailedRequest
	}
	return nil
}

type isAnnouncePeerRequest_Request interface {
	isAnnouncePeerRequest_Request()
}

type AnnouncePeerRequest_RegisterPeerRequest struct {
	RegisterPeerRequest *RegisterPeerRequest `protobuf:"bytes,4,opt,name=register_peer_request,json=registerPeerRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerStartedRequest struct {
	DownloadPeerStartedRequest *DownloadPeerStartedRequest `protobuf:"bytes,5,opt,name=download_peer_started_request,json=downloadPeerStartedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest struct {
	DownloadPeerBackToSourceStartedRequest *DownloadPeerBackToSourceStartedRequest `protobuf:"bytes,6,opt,name=download_peer_back_to_source_started_request,json=downloadPeerBackToSourceStartedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_ReschedulePeerRequest struct {
	ReschedulePeerRequest *ReschedulePeerRequest `protobuf:"bytes,7,opt,name=reschedule_peer_request,json=reschedulePeerRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerFinishedRequest struct {
	DownloadPeerFinishedRequest *DownloadPeerFinishedRequest `protobuf:"bytes,8,opt,name=download_peer_finished_request,json=downloadPeerFinishedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest struct {
	DownloadPeerBackToSourceFinishedRequest *DownloadPeerBackToSourceFinishedRequest `protobuf:"bytes,9,opt,name=download_peer_back_to_source_finished_request,json=downloadPeerBackToSourceFinishedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerFailedRequest struct {
	DownloadPeerFailedRequest *DownloadPeerFailedRequest `protobuf:"bytes,10,opt,name=download_peer_failed_request,json=downloadPeerFailedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest struct {
	DownloadPeerBackToSourceFailedRequest *DownloadPeerBackToSourceFailedRequest `protobuf:"bytes,11,opt,name=download_peer_back_to_source_failed_request,json=downloadPeerBackToSourceFailedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPieceFinishedRequest struct {
	DownloadPieceFinishedRequest *DownloadPieceFinishedRequest `protobuf:"bytes,12,opt,name=download_piece_finished_request,json=downloadPieceFinishedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest struct {
	DownloadPieceBackToSourceFinishedRequest *DownloadPieceBackToSourceFinishedRequest `protobuf:"bytes,13,opt,name=download_piece_back_to_source_finished_request,json=downloadPieceBackToSourceFinishedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPieceFailedRequest struct {
	DownloadPieceFailedRequest *DownloadPieceFailedRequest `protobuf:"bytes,14,opt,name=download_piece_failed_request,json=downloadPieceFailedRequest,proto3,oneof"`
}

type AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest struct {
	DownloadPieceBackToSourceFailedRequest *DownloadPieceBackToSourceFailedRequest `protobuf:"bytes,15,opt,name=download_piece_back_to_source_failed_request,json=downloadPieceBackToSourceFailedRequest,proto3,oneof"`
}

func (*AnnouncePeerRequest_RegisterPeerRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerStartedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_ReschedulePeerRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerFinishedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerFailedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPieceFinishedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest) isAnnouncePeerRequest_Request() {
}

func (*AnnouncePeerRequest_DownloadPieceFailedRequest) isAnnouncePeerRequest_Request() {}

func (*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest) isAnnouncePeerRequest_Request() {}

// EmptyTaskResponse represents empty task response of AnnouncePeerResponse.
type EmptyTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*EmptyTaskResponse) ProtoMessage() {}

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

// NormalTaskResponse represents normal task response of AnnouncePeerResponse.
type NormalTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Candidate parents.
	CandidateParents []*v2.Peer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
}

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

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

func (*NormalTaskResponse) ProtoMessage() {}

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

func (x *NormalTaskResponse) GetCandidateParents() []*v2.Peer {
	if x != nil {
		return x.CandidateParents
	}
	return nil
}

// NeedBackToSourceResponse represents need back-to-source response of AnnouncePeerResponse.
type NeedBackToSourceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the back-to-source reason.
	Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*NeedBackToSourceResponse) ProtoMessage() {}

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

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

// AnnouncePeerResponse represents response of AnnouncePeer.
type AnnouncePeerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Response:
	//
	//	*AnnouncePeerResponse_EmptyTaskResponse
	//	*AnnouncePeerResponse_NormalTaskResponse
	//	*AnnouncePeerResponse_NeedBackToSourceResponse
	Response isAnnouncePeerResponse_Response `protobuf_oneof:"response"`
}

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

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

func (*AnnouncePeerResponse) ProtoMessage() {}

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

func (m *AnnouncePeerResponse) GetResponse() isAnnouncePeerResponse_Response {
	if m != nil {
		return m.Response
	}
	return nil
}

func (x *AnnouncePeerResponse) GetEmptyTaskResponse() *EmptyTaskResponse {
	if x, ok := x.GetResponse().(*AnnouncePeerResponse_EmptyTaskResponse); ok {
		return x.EmptyTaskResponse
	}
	return nil
}

func (x *AnnouncePeerResponse) GetNormalTaskResponse() *NormalTaskResponse {
	if x, ok := x.GetResponse().(*AnnouncePeerResponse_NormalTaskResponse); ok {
		return x.NormalTaskResponse
	}
	return nil
}

func (x *AnnouncePeerResponse) GetNeedBackToSourceResponse() *NeedBackToSourceResponse {
	if x, ok := x.GetResponse().(*AnnouncePeerResponse_NeedBackToSourceResponse); ok {
		return x.NeedBackToSourceResponse
	}
	return nil
}

type isAnnouncePeerResponse_Response interface {
	isAnnouncePeerResponse_Response()
}

type AnnouncePeerResponse_EmptyTaskResponse struct {
	EmptyTaskResponse *EmptyTaskResponse `protobuf:"bytes,1,opt,name=empty_task_response,json=emptyTaskResponse,proto3,oneof"`
}

type AnnouncePeerResponse_NormalTaskResponse struct {
	NormalTaskResponse *NormalTaskResponse `protobuf:"bytes,2,opt,name=normal_task_response,json=normalTaskResponse,proto3,oneof"`
}

type AnnouncePeerResponse_NeedBackToSourceResponse struct {
	NeedBackToSourceResponse *NeedBackToSourceResponse `protobuf:"bytes,3,opt,name=need_back_to_source_response,json=needBackToSourceResponse,proto3,oneof"`
}

func (*AnnouncePeerResponse_EmptyTaskResponse) isAnnouncePeerResponse_Response() {}

func (*AnnouncePeerResponse_NormalTaskResponse) isAnnouncePeerResponse_Response() {}

func (*AnnouncePeerResponse_NeedBackToSourceResponse) isAnnouncePeerResponse_Response() {}

// StatPeerRequest represents request of StatPeer.
type StatPeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}

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

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

func (*StatPeerRequest) ProtoMessage() {}

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

func (x *StatPeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *StatPeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *StatPeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

// DeletePeerRequest represents request of DeletePeer.
type DeletePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}

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

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

func (*DeletePeerRequest) ProtoMessage() {}

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

func (x *DeletePeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *DeletePeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *DeletePeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

// StatTaskRequest represents request of StatTask.
type StatTaskRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}

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

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

func (*StatTaskRequest) ProtoMessage() {}

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

func (x *StatTaskRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *StatTaskRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

// DeleteTaskRequest represents request of DeleteTask.
type DeleteTaskRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}

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

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

func (*DeleteTaskRequest) ProtoMessage() {}

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

func (x *DeleteTaskRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *DeleteTaskRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

// AnnounceHostRequest represents request of AnnounceHost.
type AnnounceHostRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host info.
	Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// The interval between dfdaemon announces to scheduler.
	Interval *durationpb.Duration `protobuf:"bytes,2,opt,name=interval,proto3,oneof" json:"interval,omitempty"`
}

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

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

func (*AnnounceHostRequest) ProtoMessage() {}

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

func (x *AnnounceHostRequest) GetHost() *v2.Host {
	if x != nil {
		return x.Host
	}
	return nil
}

func (x *AnnounceHostRequest) GetInterval() *durationpb.Duration {
	if x != nil {
		return x.Interval
	}
	return nil
}

// ListHostsResponse represents response of ListHosts.
type ListHostsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Hosts info.
	Hosts []*v2.Host `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"`
}

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

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

func (*ListHostsResponse) ProtoMessage() {}

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

func (x *ListHostsResponse) GetHosts() []*v2.Host {
	if x != nil {
		return x.Hosts
	}
	return nil
}

// DeleteHostRequest represents request of DeleteHost.
type DeleteHostRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
}

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

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

func (*DeleteHostRequest) ProtoMessage() {}

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

func (x *DeleteHostRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

// RegisterPersistentCachePeerRequest represents persistent cache peer registered request of AnnouncePersistentCachePeerRequest.
type RegisterPersistentCachePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Persistent represents whether the persistent cache task is persistent.
	// If the persistent cache task is persistent, the persistent cache peer will
	// not be deleted when dfdaemon runs garbage collection.
	Persistent bool `protobuf:"varint,1,opt,name=persistent,proto3" json:"persistent,omitempty"`
	// Tag is used to distinguish different persistent cache tasks.
	Tag *string `protobuf:"bytes,2,opt,name=tag,proto3,oneof" json:"tag,omitempty"`
	// Application of task.
	Application *string `protobuf:"bytes,3,opt,name=application,proto3,oneof" json:"application,omitempty"`
	// Task piece length, the value needs to be greater than or equal to 4194304(4MiB)
	PieceLength uint64 `protobuf:"varint,4,opt,name=piece_length,json=pieceLength,proto3" json:"piece_length,omitempty"`
	// File path to be exported.
	OutputPath *string `protobuf:"bytes,5,opt,name=output_path,json=outputPath,proto3,oneof" json:"output_path,omitempty"`
	// Download timeout.
	Timeout *durationpb.Duration `protobuf:"bytes,6,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
}

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

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

func (*RegisterPersistentCachePeerRequest) ProtoMessage() {}

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

func (x *RegisterPersistentCachePeerRequest) GetPersistent() bool {
	if x != nil {
		return x.Persistent
	}
	return false
}

func (x *RegisterPersistentCachePeerRequest) GetTag() string {
	if x != nil && x.Tag != nil {
		return *x.Tag
	}
	return ""
}

func (x *RegisterPersistentCachePeerRequest) GetApplication() string {
	if x != nil && x.Application != nil {
		return *x.Application
	}
	return ""
}

func (x *RegisterPersistentCachePeerRequest) GetPieceLength() uint64 {
	if x != nil {
		return x.PieceLength
	}
	return 0
}

func (x *RegisterPersistentCachePeerRequest) GetOutputPath() string {
	if x != nil && x.OutputPath != nil {
		return *x.OutputPath
	}
	return ""
}

func (x *RegisterPersistentCachePeerRequest) GetTimeout() *durationpb.Duration {
	if x != nil {
		return x.Timeout
	}
	return nil
}

// DownloadPersistentCachePeerStartedRequest represents persistent cache peer download started request of AnnouncePersistentCachePeerRequest.
type DownloadPersistentCachePeerStartedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*DownloadPersistentCachePeerStartedRequest) ProtoMessage() {}

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

// ReschedulePersistentCachePeerRequest represents reschedule request of AnnouncePersistentCachePeerRequest.
type ReschedulePersistentCachePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Candidate parent ids.
	CandidateParents []*v2.PersistentCachePeer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
	// The description of the reschedule reason.
	Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*ReschedulePersistentCachePeerRequest) ProtoMessage() {}

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

func (x *ReschedulePersistentCachePeerRequest) GetCandidateParents() []*v2.PersistentCachePeer {
	if x != nil {
		return x.CandidateParents
	}
	return nil
}

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

// DownloadPersistentCachePeerFinishedRequest represents persistent cache peer download finished request of AnnouncePersistentCachePeerRequest.
type DownloadPersistentCachePeerFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Total piece count.
	PieceCount uint32 `protobuf:"varint,1,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}

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

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

func (*DownloadPersistentCachePeerFinishedRequest) ProtoMessage() {}

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

func (x *DownloadPersistentCachePeerFinishedRequest) GetPieceCount() uint32 {
	if x != nil {
		return x.PieceCount
	}
	return 0
}

// DownloadPersistentCachePeerFailedRequest represents persistent cache peer download failed request of AnnouncePersistentCachePeerRequest.
type DownloadPersistentCachePeerFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The description of the download failed.
	Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*DownloadPersistentCachePeerFailedRequest) ProtoMessage() {}

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

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

// AnnouncePersistentCachePeerRequest represents request of AnnouncePersistentCachePeer.
type AnnouncePersistentCachePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	// Types that are assignable to Request:
	//
	//	*AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest
	//	*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest
	//	*AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest
	//	*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest
	//	*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest
	//	*AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest
	//	*AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest
	Request isAnnouncePersistentCachePeerRequest_Request `protobuf_oneof:"request"`
}

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

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

func (*AnnouncePersistentCachePeerRequest) ProtoMessage() {}

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

func (x *AnnouncePersistentCachePeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *AnnouncePersistentCachePeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *AnnouncePersistentCachePeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

func (m *AnnouncePersistentCachePeerRequest) GetRequest() isAnnouncePersistentCachePeerRequest_Request {
	if m != nil {
		return m.Request
	}
	return nil
}

func (x *AnnouncePersistentCachePeerRequest) GetRegisterPersistentCachePeerRequest() *RegisterPersistentCachePeerRequest {
	if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest); ok {
		return x.RegisterPersistentCachePeerRequest
	}
	return nil
}

func (x *AnnouncePersistentCachePeerRequest) GetDownloadPersistentCachePeerStartedRequest() *DownloadPersistentCachePeerStartedRequest {
	if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest); ok {
		return x.DownloadPersistentCachePeerStartedRequest
	}
	return nil
}

func (x *AnnouncePersistentCachePeerRequest) GetReschedulePersistentCachePeerRequest() *ReschedulePersistentCachePeerRequest {
	if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest); ok {
		return x.ReschedulePersistentCachePeerRequest
	}
	return nil
}

func (x *AnnouncePersistentCachePeerRequest) GetDownloadPersistentCachePeerFinishedRequest() *DownloadPersistentCachePeerFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest); ok {
		return x.DownloadPersistentCachePeerFinishedRequest
	}
	return nil
}

func (x *AnnouncePersistentCachePeerRequest) GetDownloadPersistentCachePeerFailedRequest() *DownloadPersistentCachePeerFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest); ok {
		return x.DownloadPersistentCachePeerFailedRequest
	}
	return nil
}

func (x *AnnouncePersistentCachePeerRequest) GetDownloadPieceFinishedRequest() *DownloadPieceFinishedRequest {
	if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest); ok {
		return x.DownloadPieceFinishedRequest
	}
	return nil
}

func (x *AnnouncePersistentCachePeerRequest) GetDownloadPieceFailedRequest() *DownloadPieceFailedRequest {
	if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest); ok {
		return x.DownloadPieceFailedRequest
	}
	return nil
}

type isAnnouncePersistentCachePeerRequest_Request interface {
	isAnnouncePersistentCachePeerRequest_Request()
}

type AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest struct {
	RegisterPersistentCachePeerRequest *RegisterPersistentCachePeerRequest `protobuf:"bytes,4,opt,name=register_persistent_cache_peer_request,json=registerPersistentCachePeerRequest,proto3,oneof"`
}

type AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest struct {
	DownloadPersistentCachePeerStartedRequest *DownloadPersistentCachePeerStartedRequest `protobuf:"bytes,5,opt,name=download_persistent_cache_peer_started_request,json=downloadPersistentCachePeerStartedRequest,proto3,oneof"`
}

type AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest struct {
	ReschedulePersistentCachePeerRequest *ReschedulePersistentCachePeerRequest `protobuf:"bytes,6,opt,name=reschedule_persistent_cache_peer_request,json=reschedulePersistentCachePeerRequest,proto3,oneof"`
}

type AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest struct {
	DownloadPersistentCachePeerFinishedRequest *DownloadPersistentCachePeerFinishedRequest `protobuf:"bytes,7,opt,name=download_persistent_cache_peer_finished_request,json=downloadPersistentCachePeerFinishedRequest,proto3,oneof"`
}

type AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest struct {
	DownloadPersistentCachePeerFailedRequest *DownloadPersistentCachePeerFailedRequest `protobuf:"bytes,8,opt,name=download_persistent_cache_peer_failed_request,json=downloadPersistentCachePeerFailedRequest,proto3,oneof"`
}

type AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest struct {
	DownloadPieceFinishedRequest *DownloadPieceFinishedRequest `protobuf:"bytes,9,opt,name=download_piece_finished_request,json=downloadPieceFinishedRequest,proto3,oneof"`
}

type AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest struct {
	DownloadPieceFailedRequest *DownloadPieceFailedRequest `protobuf:"bytes,10,opt,name=download_piece_failed_request,json=downloadPieceFailedRequest,proto3,oneof"`
}

func (*AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest) isAnnouncePersistentCachePeerRequest_Request() {
}

func (*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}

func (*AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest) isAnnouncePersistentCachePeerRequest_Request() {
}

func (*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}

func (*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}

func (*AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}

func (*AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}

// EmptyPersistentCacheTaskResponse represents empty persistent cache task response of AnnouncePersistentCachePeerResponse.
type EmptyPersistentCacheTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*EmptyPersistentCacheTaskResponse) ProtoMessage() {}

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

// NormalPersistentCacheTaskResponse represents normal persistent cache task response of AnnouncePersistentCachePeerResponse.
type NormalPersistentCacheTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Candidate parents.
	CandidateParents []*v2.PersistentCachePeer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
}

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

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

func (*NormalPersistentCacheTaskResponse) ProtoMessage() {}

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

func (x *NormalPersistentCacheTaskResponse) GetCandidateParents() []*v2.PersistentCachePeer {
	if x != nil {
		return x.CandidateParents
	}
	return nil
}

// AnnouncePersistentCachePeerResponse represents response of AnnouncePersistentCachePeer.
type AnnouncePersistentCachePeerResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to Response:
	//
	//	*AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse
	//	*AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse
	Response isAnnouncePersistentCachePeerResponse_Response `protobuf_oneof:"response"`
}

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

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

func (*AnnouncePersistentCachePeerResponse) ProtoMessage() {}

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

func (m *AnnouncePersistentCachePeerResponse) GetResponse() isAnnouncePersistentCachePeerResponse_Response {
	if m != nil {
		return m.Response
	}
	return nil
}

func (x *AnnouncePersistentCachePeerResponse) GetEmptyPersistentCacheTaskResponse() *EmptyPersistentCacheTaskResponse {
	if x, ok := x.GetResponse().(*AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse); ok {
		return x.EmptyPersistentCacheTaskResponse
	}
	return nil
}

func (x *AnnouncePersistentCachePeerResponse) GetNormalPersistentCacheTaskResponse() *NormalPersistentCacheTaskResponse {
	if x, ok := x.GetResponse().(*AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse); ok {
		return x.NormalPersistentCacheTaskResponse
	}
	return nil
}

type isAnnouncePersistentCachePeerResponse_Response interface {
	isAnnouncePersistentCachePeerResponse_Response()
}

type AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse struct {
	EmptyPersistentCacheTaskResponse *EmptyPersistentCacheTaskResponse `protobuf:"bytes,1,opt,name=empty_persistent_cache_task_response,json=emptyPersistentCacheTaskResponse,proto3,oneof"`
}

type AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse struct {
	NormalPersistentCacheTaskResponse *NormalPersistentCacheTaskResponse `protobuf:"bytes,2,opt,name=normal_persistent_cache_task_response,json=normalPersistentCacheTaskResponse,proto3,oneof"`
}

func (*AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse) isAnnouncePersistentCachePeerResponse_Response() {
}

func (*AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse) isAnnouncePersistentCachePeerResponse_Response() {
}

// StatPersistentCachePeerRequest represents request of StatPersistentCachePeer.
type StatPersistentCachePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}

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

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

func (*StatPersistentCachePeerRequest) ProtoMessage() {}

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

func (x *StatPersistentCachePeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *StatPersistentCachePeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *StatPersistentCachePeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

// DeletePersistentCachePeerRequest represents request of DeletePersistentCachePeer.
type DeletePersistentCachePeerRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}

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

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

func (*DeletePersistentCachePeerRequest) ProtoMessage() {}

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

func (x *DeletePersistentCachePeerRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *DeletePersistentCachePeerRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *DeletePersistentCachePeerRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

// UploadPersistentCacheTaskStartedRequest represents upload persistent cache task started request of UploadPersistentCacheTaskStartedRequest.
type UploadPersistentCacheTaskStartedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	// Replica count of the persistent cache task.
	PersistentReplicaCount uint64 `protobuf:"varint,4,opt,name=persistent_replica_count,json=persistentReplicaCount,proto3" json:"persistent_replica_count,omitempty"`
	// Tag is used to distinguish different persistent cache tasks.
	Tag *string `protobuf:"bytes,5,opt,name=tag,proto3,oneof" json:"tag,omitempty"`
	// Application of task.
	Application *string `protobuf:"bytes,6,opt,name=application,proto3,oneof" json:"application,omitempty"`
	// Task piece length, the value needs to be greater than or equal to 4194304(4MiB)
	PieceLength uint64 `protobuf:"varint,7,opt,name=piece_length,json=pieceLength,proto3" json:"piece_length,omitempty"`
	// Task content length.
	ContentLength uint64 `protobuf:"varint,8,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
	// Task piece count.
	PieceCount uint32 `protobuf:"varint,9,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
	// TTL of the persistent cache task.
	Ttl *durationpb.Duration `protobuf:"bytes,10,opt,name=ttl,proto3" json:"ttl,omitempty"`
}

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

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

func (*UploadPersistentCacheTaskStartedRequest) ProtoMessage() {}

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

func (x *UploadPersistentCacheTaskStartedRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *UploadPersistentCacheTaskStartedRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *UploadPersistentCacheTaskStartedRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

func (x *UploadPersistentCacheTaskStartedRequest) GetPersistentReplicaCount() uint64 {
	if x != nil {
		return x.PersistentReplicaCount
	}
	return 0
}

func (x *UploadPersistentCacheTaskStartedRequest) GetTag() string {
	if x != nil && x.Tag != nil {
		return *x.Tag
	}
	return ""
}

func (x *UploadPersistentCacheTaskStartedRequest) GetApplication() string {
	if x != nil && x.Application != nil {
		return *x.Application
	}
	return ""
}

func (x *UploadPersistentCacheTaskStartedRequest) GetPieceLength() uint64 {
	if x != nil {
		return x.PieceLength
	}
	return 0
}

func (x *UploadPersistentCacheTaskStartedRequest) GetContentLength() uint64 {
	if x != nil {
		return x.ContentLength
	}
	return 0
}

func (x *UploadPersistentCacheTaskStartedRequest) GetPieceCount() uint32 {
	if x != nil {
		return x.PieceCount
	}
	return 0
}

func (x *UploadPersistentCacheTaskStartedRequest) GetTtl() *durationpb.Duration {
	if x != nil {
		return x.Ttl
	}
	return nil
}

// UploadPersistentCacheTaskFinishedRequest represents upload persistent cache task finished request of UploadPersistentCacheTaskFinishedRequest.
type UploadPersistentCacheTaskFinishedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}

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

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

func (*UploadPersistentCacheTaskFinishedRequest) ProtoMessage() {}

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

func (x *UploadPersistentCacheTaskFinishedRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *UploadPersistentCacheTaskFinishedRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *UploadPersistentCacheTaskFinishedRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

// UploadPersistentCacheTaskFailedRequest represents upload persistent cache task failed request of UploadPersistentCacheTaskFailedRequest.
type UploadPersistentCacheTaskFailedRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
	// Peer id.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
	// The description of the upload failed.
	Description *string `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"`
}

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

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

func (*UploadPersistentCacheTaskFailedRequest) ProtoMessage() {}

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

func (x *UploadPersistentCacheTaskFailedRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *UploadPersistentCacheTaskFailedRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

func (x *UploadPersistentCacheTaskFailedRequest) GetPeerId() string {
	if x != nil {
		return x.PeerId
	}
	return ""
}

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

// StatPersistentCacheTaskRequest represents request of StatPersistentCacheTask.
type StatPersistentCacheTaskRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}

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

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

func (*StatPersistentCacheTaskRequest) ProtoMessage() {}

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

func (x *StatPersistentCacheTaskRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *StatPersistentCacheTaskRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

// DeletePersistentCacheTaskRequest represents request of DeletePersistentCacheTask.
type DeletePersistentCacheTaskRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Host id.
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
	// Task id.
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}

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

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

func (*DeletePersistentCacheTaskRequest) ProtoMessage() {}

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

func (x *DeletePersistentCacheTaskRequest) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *DeletePersistentCacheTaskRequest) GetTaskId() string {
	if x != nil {
		return x.TaskId
	}
	return ""
}

var File_pkg_apis_scheduler_v2_scheduler_proto protoreflect.FileDescriptor

var file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = []byte{
	0x0a, 0x25, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
	0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f,
	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73,
	0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x76, 0x32,
	0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d,
	0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x13, 0x52, 0x65, 0x67,
	0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x39, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x44,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
	0x01, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74,
	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x26, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10,
	0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x3c, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61,
	0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f,
	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x10, 0x63, 0x61,
	0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31,
	0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48,
	0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01,
	0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x22, 0x65, 0x0a, 0x1b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65,
	0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67,
	0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
	0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65,
	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69,
	0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x71, 0x0a, 0x27, 0x44, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c,
	0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e,
	0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69,
	0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5e, 0x0a, 0x19, 0x44,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa,
	0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f,
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x25, 0x44,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54,
	0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05,
	0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x1c, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
	0x76, 0x32, 0x2e, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
	0x10, 0x01, 0x52, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x28, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32,
	0x2e, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
	0x52, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x1a, 0x44, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f,
	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b,
	0x70, 0x69, 0x65, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x24,
	0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72,
	0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61,
	0x72, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x22, 0xde, 0x01, 0x0a, 0x26, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26,
	0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e,
	0x64, 0x48, 0x00, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x07,
	0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e,
	0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f,
	0x77, 0x6e, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03,
	0xf8, 0x42, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x22, 0xed, 0x0c, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63,
	0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07,
	0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
	0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20,
	0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
	0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72,
	0x49, 0x64, 0x12, 0x57, 0x0a, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70,
	0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
	0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
	0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x64,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
	0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74,
	0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a,
	0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x2c, 0x64,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63,
	0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
	0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63,
	0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x26, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x5d, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f,
	0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
	0x32, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x70, 0x0a, 0x1e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65,
	0x72, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
	0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x97, 0x01, 0x0a, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
	0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x48, 0x00, 0x52, 0x27, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65,
	0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e,
	0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x1c,
	0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61,
	0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
	0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61,
	0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x19, 0x64,
	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x2b, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f,
	0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
	0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33,
	0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x25, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
	0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
	0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1f,
	0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66,
	0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
	0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65,
	0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x48, 0x00, 0x52, 0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65,
	0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x9a, 0x01, 0x0a, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70,
	0x69, 0x65, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x28, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69,
	0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
	0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d,
	0x0a, 0x1d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65,
	0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18,
	0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
	0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65,
	0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
	0x00, 0x52, 0x1a, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65,
	0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x94, 0x01,
	0x0a, 0x2c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65,
	0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
	0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
	0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63,
	0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69,
	0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x26, 0x64, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54,
	0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x03, 0xf8, 0x42, 0x01, 0x22, 0x13, 0x0a, 0x11, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x73,
	0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x12, 0x4e, 0x6f, 0x72,
	0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x46, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d,
	0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05,
	0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65,
	0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x18, 0x4e, 0x65, 0x65, 0x64, 0x42,
	0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10,
	0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x02, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x75,
	0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x51, 0x0a, 0x13, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74,
	0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
	0x11, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x54, 0x0a, 0x14, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x73,
	0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x1c, 0x6e, 0x65, 0x65, 0x64,
	0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
	0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65,
	0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x18, 0x6e, 0x65, 0x65, 0x64, 0x42, 0x61,
	0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03,
	0xf8, 0x42, 0x01, 0x22, 0x77, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01,
	0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
	0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
	0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x11,
	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73,
	0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74,
	0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52,
	0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x54,
	0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f,
	0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
	0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07,
	0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
	0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x57,
	0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68,
	0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52,
	0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f,
	0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08,
	0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x3a,
	0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69,
	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x48,
	0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05,
	0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f,
	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x68, 0x6f,
	0x73, 0x74, 0x73, 0x22, 0x35, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
	0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0xd1, 0x02, 0x0a, 0x22, 0x52,
	0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x74, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
	0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c,
	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52,
	0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12,
	0x2d, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x28, 0x80, 0x80, 0x80,
	0x02, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x30,
	0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48,
	0x02, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01,
	0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x07,
	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74,
	0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61,
	0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x2b,
	0x0a, 0x29, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61,
	0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x24,
	0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74,
	0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52,
	0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x73, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0,
	0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x2a, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
	0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f,
	0x75, 0x6e, 0x74, 0x22, 0x6d, 0x0a, 0x28, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
	0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65,
	0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01,
	0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88,
	0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x22, 0xf3, 0x08, 0x0a, 0x22, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50,
	0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65,
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
	0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74,
	0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
	0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a,
	0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
	0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12,
	0x86, 0x01, 0x0a, 0x26, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x65, 0x72,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65,
	0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x30, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x48, 0x00, 0x52, 0x22, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65,
	0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x9c, 0x01, 0x0a, 0x2e, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x37, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
	0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x29, 0x64, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x28, 0x72, 0x65, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
	0x52, 0x24, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x9f, 0x01, 0x0a, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
	0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63,
	0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
	0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x38, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73,
	0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x2a, 0x64, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x99, 0x01, 0x0a, 0x2d, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x69, 0x6c,
	0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x36, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x28, 0x64, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
	0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x64, 0x6f, 0x77,
	0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c,
	0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69,
	0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x64, 0x6f,
	0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x22, 0x0a, 0x20, 0x45, 0x6d, 0x70, 0x74,
	0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x0a, 0x21,
	0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x55, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70,
	0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63,
	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42,
	0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74,
	0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x23, 0x41, 0x6e, 0x6e,
	0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43,
	0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x80, 0x01, 0x0a, 0x24, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69,
	0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b,
	0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45,
	0x6d, 0x70, 0x74, 0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
	0x00, 0x52, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x25, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x70,
	0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
	0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
	0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x21, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x65,
	0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73,
	0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x86, 0x01, 0x0a, 0x1e, 0x53,
	0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a,
	0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
	0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12,
	0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49,
	0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65,
	0x72, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65,
	0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
	0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61,
	0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
	0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07,
	0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
	0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0xdf,
	0x03, 0x0a, 0x27, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x72,
	0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f,
	0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
	0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07,
	0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
	0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20,
	0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64,
	0x12, 0x41, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72,
	0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x16, 0x70, 0x65, 0x72,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f,
	0x75, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x61, 0x70,
	0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48,
	0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01,
	0x01, 0x12, 0x2d, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,
	0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x28, 0x80,
	0x80, 0x80, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68,
	0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67,
	0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
	0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65,
	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69,
	0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x42, 0x11, 0xfa, 0x42, 0x0e, 0xaa, 0x01, 0x0b, 0x22, 0x04, 0x08, 0x80, 0xf5, 0x24, 0x32, 0x03,
	0x08, 0xac, 0x02, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67,
	0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x22, 0x90, 0x01, 0x0a, 0x28, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69,
	0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69,
	0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a,
	0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
	0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12,
	0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49,
	0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65,
	0x72, 0x49, 0x64, 0x22, 0xd1, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65,
	0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73,
	0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20,
	0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64,
	0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b,
	0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05,
	0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x1e, 0x53, 0x74, 0x61, 0x74, 0x50,
	0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61,
	0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73,
	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
	0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74,
	0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
	0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x66, 0x0a,
	0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73,
	0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74,
	0x61, 0x73, 0x6b, 0x49, 0x64, 0x32, 0xca, 0x0b, 0x0a, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50,
	0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
	0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65,
	0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3a,
	0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65,
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
	0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65,
	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
	0x79, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x2e,
	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61,
	0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63,
	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x45, 0x0a,
	0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x2e, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
	0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65,
	0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
	0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
	0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
	0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
	0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48,
	0x6f, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
	0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x86, 0x01, 0x0a,
	0x1b, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x73,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
	0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31,
	0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e,
	0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
	0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72,
	0x12, 0x2c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
	0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61,
	0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69,
	0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x63,
	0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
	0x70, 0x74, 0x79, 0x12, 0x71, 0x0a, 0x20, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b,
	0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b,
	0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x7b, 0x0a, 0x21, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
	0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54,
	0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x36, 0x2e, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61,
	0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
	0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e,
	0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54,
	0x61, 0x73, 0x6b, 0x12, 0x6f, 0x0a, 0x1f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b,
	0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46,
	0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
	0x6d, 0x70, 0x74, 0x79, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12,
	0x2c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53,
	0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63,
	0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a,
	0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
	0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2e, 0x2e, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54,
	0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
	0x74, 0x79, 0x42, 0x2f, 0x5a, 0x2d, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69,
	0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_pkg_apis_scheduler_v2_scheduler_proto_rawDescOnce sync.Once
	file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData = file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc
)

func file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP() []byte {
	file_pkg_apis_scheduler_v2_scheduler_proto_rawDescOnce.Do(func() {
		file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData)
	})
	return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData
}

var file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 40)
var file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = []interface{}{
	(*RegisterPeerRequest)(nil),                        // 0: scheduler.v2.RegisterPeerRequest
	(*DownloadPeerStartedRequest)(nil),                 // 1: scheduler.v2.DownloadPeerStartedRequest
	(*DownloadPeerBackToSourceStartedRequest)(nil),     // 2: scheduler.v2.DownloadPeerBackToSourceStartedRequest
	(*ReschedulePeerRequest)(nil),                      // 3: scheduler.v2.ReschedulePeerRequest
	(*DownloadPeerFinishedRequest)(nil),                // 4: scheduler.v2.DownloadPeerFinishedRequest
	(*DownloadPeerBackToSourceFinishedRequest)(nil),    // 5: scheduler.v2.DownloadPeerBackToSourceFinishedRequest
	(*DownloadPeerFailedRequest)(nil),                  // 6: scheduler.v2.DownloadPeerFailedRequest
	(*DownloadPeerBackToSourceFailedRequest)(nil),      // 7: scheduler.v2.DownloadPeerBackToSourceFailedRequest
	(*DownloadPieceFinishedRequest)(nil),               // 8: scheduler.v2.DownloadPieceFinishedRequest
	(*DownloadPieceBackToSourceFinishedRequest)(nil),   // 9: scheduler.v2.DownloadPieceBackToSourceFinishedRequest
	(*DownloadPieceFailedRequest)(nil),                 // 10: scheduler.v2.DownloadPieceFailedRequest
	(*DownloadPieceBackToSourceFailedRequest)(nil),     // 11: scheduler.v2.DownloadPieceBackToSourceFailedRequest
	(*AnnouncePeerRequest)(nil),                        // 12: scheduler.v2.AnnouncePeerRequest
	(*EmptyTaskResponse)(nil),                          // 13: scheduler.v2.EmptyTaskResponse
	(*NormalTaskResponse)(nil),                         // 14: scheduler.v2.NormalTaskResponse
	(*NeedBackToSourceResponse)(nil),                   // 15: scheduler.v2.NeedBackToSourceResponse
	(*AnnouncePeerResponse)(nil),                       // 16: scheduler.v2.AnnouncePeerResponse
	(*StatPeerRequest)(nil),                            // 17: scheduler.v2.StatPeerRequest
	(*DeletePeerRequest)(nil),                          // 18: scheduler.v2.DeletePeerRequest
	(*StatTaskRequest)(nil),                            // 19: scheduler.v2.StatTaskRequest
	(*DeleteTaskRequest)(nil),                          // 20: scheduler.v2.DeleteTaskRequest
	(*AnnounceHostRequest)(nil),                        // 21: scheduler.v2.AnnounceHostRequest
	(*ListHostsResponse)(nil),                          // 22: scheduler.v2.ListHostsResponse
	(*DeleteHostRequest)(nil),                          // 23: scheduler.v2.DeleteHostRequest
	(*RegisterPersistentCachePeerRequest)(nil),         // 24: scheduler.v2.RegisterPersistentCachePeerRequest
	(*DownloadPersistentCachePeerStartedRequest)(nil),  // 25: scheduler.v2.DownloadPersistentCachePeerStartedRequest
	(*ReschedulePersistentCachePeerRequest)(nil),       // 26: scheduler.v2.ReschedulePersistentCachePeerRequest
	(*DownloadPersistentCachePeerFinishedRequest)(nil), // 27: scheduler.v2.DownloadPersistentCachePeerFinishedRequest
	(*DownloadPersistentCachePeerFailedRequest)(nil),   // 28: scheduler.v2.DownloadPersistentCachePeerFailedRequest
	(*AnnouncePersistentCachePeerRequest)(nil),         // 29: scheduler.v2.AnnouncePersistentCachePeerRequest
	(*EmptyPersistentCacheTaskResponse)(nil),           // 30: scheduler.v2.EmptyPersistentCacheTaskResponse
	(*NormalPersistentCacheTaskResponse)(nil),          // 31: scheduler.v2.NormalPersistentCacheTaskResponse
	(*AnnouncePersistentCachePeerResponse)(nil),        // 32: scheduler.v2.AnnouncePersistentCachePeerResponse
	(*StatPersistentCachePeerRequest)(nil),             // 33: scheduler.v2.StatPersistentCachePeerRequest
	(*DeletePersistentCachePeerRequest)(nil),           // 34: scheduler.v2.DeletePersistentCachePeerRequest
	(*UploadPersistentCacheTaskStartedRequest)(nil),    // 35: scheduler.v2.UploadPersistentCacheTaskStartedRequest
	(*UploadPersistentCacheTaskFinishedRequest)(nil),   // 36: scheduler.v2.UploadPersistentCacheTaskFinishedRequest
	(*UploadPersistentCacheTaskFailedRequest)(nil),     // 37: scheduler.v2.UploadPersistentCacheTaskFailedRequest
	(*StatPersistentCacheTaskRequest)(nil),             // 38: scheduler.v2.StatPersistentCacheTaskRequest
	(*DeletePersistentCacheTaskRequest)(nil),           // 39: scheduler.v2.DeletePersistentCacheTaskRequest
	(*v2.Download)(nil),                                // 40: common.v2.Download
	(*v2.Peer)(nil),                                    // 41: common.v2.Peer
	(*v2.Piece)(nil),                                   // 42: common.v2.Piece
	(*v21.Backend)(nil),                                // 43: errordetails.v2.Backend
	(*v21.Unknown)(nil),                                // 44: errordetails.v2.Unknown
	(*v2.Host)(nil),                                    // 45: common.v2.Host
	(*durationpb.Duration)(nil),                        // 46: google.protobuf.Duration
	(*v2.PersistentCachePeer)(nil),                     // 47: common.v2.PersistentCachePeer
	(*emptypb.Empty)(nil),                              // 48: google.protobuf.Empty
	(*v2.Task)(nil),                                    // 49: common.v2.Task
	(*v2.PersistentCacheTask)(nil),                     // 50: common.v2.PersistentCacheTask
}
var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{
	40, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download
	41, // 1: scheduler.v2.ReschedulePeerRequest.candidate_parents:type_name -> common.v2.Peer
	42, // 2: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece
	42, // 3: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece
	43, // 4: scheduler.v2.DownloadPieceBackToSourceFailedRequest.backend:type_name -> errordetails.v2.Backend
	44, // 5: scheduler.v2.DownloadPieceBackToSourceFailedRequest.unknown:type_name -> errordetails.v2.Unknown
	0,  // 6: scheduler.v2.AnnouncePeerRequest.register_peer_request:type_name -> scheduler.v2.RegisterPeerRequest
	1,  // 7: scheduler.v2.AnnouncePeerRequest.download_peer_started_request:type_name -> scheduler.v2.DownloadPeerStartedRequest
	2,  // 8: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_started_request:type_name -> scheduler.v2.DownloadPeerBackToSourceStartedRequest
	3,  // 9: scheduler.v2.AnnouncePeerRequest.reschedule_peer_request:type_name -> scheduler.v2.ReschedulePeerRequest
	4,  // 10: scheduler.v2.AnnouncePeerRequest.download_peer_finished_request:type_name -> scheduler.v2.DownloadPeerFinishedRequest
	5,  // 11: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPeerBackToSourceFinishedRequest
	6,  // 12: scheduler.v2.AnnouncePeerRequest.download_peer_failed_request:type_name -> scheduler.v2.DownloadPeerFailedRequest
	7,  // 13: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPeerBackToSourceFailedRequest
	8,  // 14: scheduler.v2.AnnouncePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest
	9,  // 15: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFinishedRequest
	10, // 16: scheduler.v2.AnnouncePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest
	11, // 17: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFailedRequest
	41, // 18: scheduler.v2.NormalTaskResponse.candidate_parents:type_name -> common.v2.Peer
	13, // 19: scheduler.v2.AnnouncePeerResponse.empty_task_response:type_name -> scheduler.v2.EmptyTaskResponse
	14, // 20: scheduler.v2.AnnouncePeerResponse.normal_task_response:type_name -> scheduler.v2.NormalTaskResponse
	15, // 21: scheduler.v2.AnnouncePeerResponse.need_back_to_source_response:type_name -> scheduler.v2.NeedBackToSourceResponse
	45, // 22: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host
	46, // 23: scheduler.v2.AnnounceHostRequest.interval:type_name -> google.protobuf.Duration
	45, // 24: scheduler.v2.ListHostsResponse.hosts:type_name -> common.v2.Host
	46, // 25: scheduler.v2.RegisterPersistentCachePeerRequest.timeout:type_name -> google.protobuf.Duration
	47, // 26: scheduler.v2.ReschedulePersistentCachePeerRequest.candidate_parents:type_name -> common.v2.PersistentCachePeer
	24, // 27: scheduler.v2.AnnouncePersistentCachePeerRequest.register_persistent_cache_peer_request:type_name -> scheduler.v2.RegisterPersistentCachePeerRequest
	25, // 28: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_started_request:type_name -> scheduler.v2.DownloadPersistentCachePeerStartedRequest
	26, // 29: scheduler.v2.AnnouncePersistentCachePeerRequest.reschedule_persistent_cache_peer_request:type_name -> scheduler.v2.ReschedulePersistentCachePeerRequest
	27, // 30: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_finished_request:type_name -> scheduler.v2.DownloadPersistentCachePeerFinishedRequest
	28, // 31: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_failed_request:type_name -> scheduler.v2.DownloadPersistentCachePeerFailedRequest
	8,  // 32: scheduler.v2.AnnouncePersistentCachePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest
	10, // 33: scheduler.v2.AnnouncePersistentCachePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest
	47, // 34: scheduler.v2.NormalPersistentCacheTaskResponse.candidate_parents:type_name -> common.v2.PersistentCachePeer
	30, // 35: scheduler.v2.AnnouncePersistentCachePeerResponse.empty_persistent_cache_task_response:type_name -> scheduler.v2.EmptyPersistentCacheTaskResponse
	31, // 36: scheduler.v2.AnnouncePersistentCachePeerResponse.normal_persistent_cache_task_response:type_name -> scheduler.v2.NormalPersistentCacheTaskResponse
	46, // 37: scheduler.v2.UploadPersistentCacheTaskStartedRequest.ttl:type_name -> google.protobuf.Duration
	12, // 38: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest
	17, // 39: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest
	18, // 40: scheduler.v2.Scheduler.DeletePeer:input_type -> scheduler.v2.DeletePeerRequest
	19, // 41: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest
	20, // 42: scheduler.v2.Scheduler.DeleteTask:input_type -> scheduler.v2.DeleteTaskRequest
	21, // 43: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest
	48, // 44: scheduler.v2.Scheduler.ListHosts:input_type -> google.protobuf.Empty
	23, // 45: scheduler.v2.Scheduler.DeleteHost:input_type -> scheduler.v2.DeleteHostRequest
	29, // 46: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:input_type -> scheduler.v2.AnnouncePersistentCachePeerRequest
	33, // 47: scheduler.v2.Scheduler.StatPersistentCachePeer:input_type -> scheduler.v2.StatPersistentCachePeerRequest
	34, // 48: scheduler.v2.Scheduler.DeletePersistentCachePeer:input_type -> scheduler.v2.DeletePersistentCachePeerRequest
	35, // 49: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:input_type -> scheduler.v2.UploadPersistentCacheTaskStartedRequest
	36, // 50: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:input_type -> scheduler.v2.UploadPersistentCacheTaskFinishedRequest
	37, // 51: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:input_type -> scheduler.v2.UploadPersistentCacheTaskFailedRequest
	38, // 52: scheduler.v2.Scheduler.StatPersistentCacheTask:input_type -> scheduler.v2.StatPersistentCacheTaskRequest
	39, // 53: scheduler.v2.Scheduler.DeletePersistentCacheTask:input_type -> scheduler.v2.DeletePersistentCacheTaskRequest
	16, // 54: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse
	41, // 55: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer
	48, // 56: scheduler.v2.Scheduler.DeletePeer:output_type -> google.protobuf.Empty
	49, // 57: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task
	48, // 58: scheduler.v2.Scheduler.DeleteTask:output_type -> google.protobuf.Empty
	48, // 59: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
	22, // 60: scheduler.v2.Scheduler.ListHosts:output_type -> scheduler.v2.ListHostsResponse
	48, // 61: scheduler.v2.Scheduler.DeleteHost:output_type -> google.protobuf.Empty
	32, // 62: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:output_type -> scheduler.v2.AnnouncePersistentCachePeerResponse
	47, // 63: scheduler.v2.Scheduler.StatPersistentCachePeer:output_type -> common.v2.PersistentCachePeer
	48, // 64: scheduler.v2.Scheduler.DeletePersistentCachePeer:output_type -> google.protobuf.Empty
	48, // 65: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:output_type -> google.protobuf.Empty
	50, // 66: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:output_type -> common.v2.PersistentCacheTask
	48, // 67: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:output_type -> google.protobuf.Empty
	50, // 68: scheduler.v2.Scheduler.StatPersistentCacheTask:output_type -> common.v2.PersistentCacheTask
	48, // 69: scheduler.v2.Scheduler.DeletePersistentCacheTask:output_type -> google.protobuf.Empty
	54, // [54:70] is the sub-list for method output_type
	38, // [38:54] is the sub-list for method input_type
	38, // [38:38] is the sub-list for extension type_name
	38, // [38:38] is the sub-list for extension extendee
	0,  // [0:38] is the sub-list for field type_name
}

func init() { file_pkg_apis_scheduler_v2_scheduler_proto_init() }
func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
	if File_pkg_apis_scheduler_v2_scheduler_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegisterPeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerStartedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerBackToSourceStartedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReschedulePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerBackToSourceFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPeerBackToSourceFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPieceFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPieceBackToSourceFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPieceFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPieceBackToSourceFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AnnouncePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EmptyTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NormalTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NeedBackToSourceResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AnnouncePeerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatPeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AnnounceHostRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListHostsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteHostRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegisterPersistentCachePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPersistentCachePeerStartedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReschedulePersistentCachePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPersistentCachePeerFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DownloadPersistentCachePeerFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AnnouncePersistentCachePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EmptyPersistentCacheTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NormalPersistentCacheTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AnnouncePersistentCachePeerResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatPersistentCachePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletePersistentCachePeerRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadPersistentCacheTaskStartedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadPersistentCacheTaskFinishedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UploadPersistentCacheTaskFailedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StatPersistentCacheTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeletePersistentCacheTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[2].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[3].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[6].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[7].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[10].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[11].OneofWrappers = []interface{}{
		(*DownloadPieceBackToSourceFailedRequest_Backend)(nil),
		(*DownloadPieceBackToSourceFailedRequest_Unknown)(nil),
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[12].OneofWrappers = []interface{}{
		(*AnnouncePeerRequest_RegisterPeerRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerStartedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest)(nil),
		(*AnnouncePeerRequest_ReschedulePeerRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerFinishedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerFailedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPieceFinishedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPieceFailedRequest)(nil),
		(*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest)(nil),
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[15].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[16].OneofWrappers = []interface{}{
		(*AnnouncePeerResponse_EmptyTaskResponse)(nil),
		(*AnnouncePeerResponse_NormalTaskResponse)(nil),
		(*AnnouncePeerResponse_NeedBackToSourceResponse)(nil),
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[21].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29].OneofWrappers = []interface{}{
		(*AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest)(nil),
		(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest)(nil),
		(*AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest)(nil),
		(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest)(nil),
		(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest)(nil),
		(*AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest)(nil),
		(*AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest)(nil),
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32].OneofWrappers = []interface{}{
		(*AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse)(nil),
		(*AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse)(nil),
	}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35].OneofWrappers = []interface{}{}
	file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   40,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_pkg_apis_scheduler_v2_scheduler_proto_goTypes,
		DependencyIndexes: file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs,
		MessageInfos:      file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes,
	}.Build()
	File_pkg_apis_scheduler_v2_scheduler_proto = out.File
	file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = nil
	file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = nil
	file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = nil
}
