mirror of https://github.com/dragonflyoss/api.git
				
				
				
			
		
			
				
	
	
		
			6334 lines
		
	
	
		
			254 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			6334 lines
		
	
	
		
			254 KiB
		
	
	
	
		
			Go
		
	
	
	
// Copyright 2018-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
 | 
						|
//
 | 
						|
// Redistribution and use in source and binary forms, with or without
 | 
						|
// modification, are permitted provided that the following conditions
 | 
						|
// are met:
 | 
						|
//  * Redistributions of source code must retain the above copyright
 | 
						|
//    notice, this list of conditions and the following disclaimer.
 | 
						|
//  * Redistributions in binary form must reproduce the above copyright
 | 
						|
//    notice, this list of conditions and the following disclaimer in the
 | 
						|
//    documentation and/or other materials provided with the distribution.
 | 
						|
//  * Neither the name of NVIDIA CORPORATION nor the names of its
 | 
						|
//    contributors may be used to endorse or promote products derived
 | 
						|
//    from this software without specific prior written permission.
 | 
						|
//
 | 
						|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
 | 
						|
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
						|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 | 
						|
// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 | 
						|
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 | 
						|
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 | 
						|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 | 
						|
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 | 
						|
// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
						|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
						|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
						|
//
 | 
						|
// Copyright (c) 2018, TensorFlow Authors. All rights reserved.
 | 
						|
 | 
						|
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
						|
// versions:
 | 
						|
// 	protoc-gen-go v1.28.1
 | 
						|
// 	protoc        v3.21.6
 | 
						|
// source: pkg/apis/inference/v1/model_config.proto
 | 
						|
 | 
						|
package inference
 | 
						|
 | 
						|
import (
 | 
						|
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
						|
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 | 
						|
	reflect "reflect"
 | 
						|
	sync "sync"
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	// Verify that this generated code is sufficiently up-to-date.
 | 
						|
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 | 
						|
	// Verify that runtime/protoimpl is sufficiently up-to-date.
 | 
						|
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 | 
						|
)
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:enum:: DataType
 | 
						|
// @@
 | 
						|
// @@   Data types supported for input and output tensors.
 | 
						|
// @@
 | 
						|
type DataType int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@  .. cpp:enumerator:: DataType::INVALID = 0
 | 
						|
	DataType_TYPE_INVALID DataType = 0
 | 
						|
	// @@  .. cpp:enumerator:: DataType::BOOL = 1
 | 
						|
	DataType_TYPE_BOOL DataType = 1
 | 
						|
	// @@  .. cpp:enumerator:: DataType::UINT8 = 2
 | 
						|
	DataType_TYPE_UINT8 DataType = 2
 | 
						|
	// @@  .. cpp:enumerator:: DataType::UINT16 = 3
 | 
						|
	DataType_TYPE_UINT16 DataType = 3
 | 
						|
	// @@  .. cpp:enumerator:: DataType::UINT32 = 4
 | 
						|
	DataType_TYPE_UINT32 DataType = 4
 | 
						|
	// @@  .. cpp:enumerator:: DataType::UINT64 = 5
 | 
						|
	DataType_TYPE_UINT64 DataType = 5
 | 
						|
	// @@  .. cpp:enumerator:: DataType::INT8 = 6
 | 
						|
	DataType_TYPE_INT8 DataType = 6
 | 
						|
	// @@  .. cpp:enumerator:: DataType::INT16 = 7
 | 
						|
	DataType_TYPE_INT16 DataType = 7
 | 
						|
	// @@  .. cpp:enumerator:: DataType::INT32 = 8
 | 
						|
	DataType_TYPE_INT32 DataType = 8
 | 
						|
	// @@  .. cpp:enumerator:: DataType::INT64 = 9
 | 
						|
	DataType_TYPE_INT64 DataType = 9
 | 
						|
	// @@  .. cpp:enumerator:: DataType::FP16 = 10
 | 
						|
	DataType_TYPE_FP16 DataType = 10
 | 
						|
	// @@  .. cpp:enumerator:: DataType::FP32 = 11
 | 
						|
	DataType_TYPE_FP32 DataType = 11
 | 
						|
	// @@  .. cpp:enumerator:: DataType::FP64 = 12
 | 
						|
	DataType_TYPE_FP64 DataType = 12
 | 
						|
	// @@  .. cpp:enumerator:: DataType::STRING = 13
 | 
						|
	DataType_TYPE_STRING DataType = 13
 | 
						|
	// @@  .. cpp:enumerator:: DataType::BF16 = 14
 | 
						|
	DataType_TYPE_BF16 DataType = 14
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for DataType.
 | 
						|
var (
 | 
						|
	DataType_name = map[int32]string{
 | 
						|
		0:  "TYPE_INVALID",
 | 
						|
		1:  "TYPE_BOOL",
 | 
						|
		2:  "TYPE_UINT8",
 | 
						|
		3:  "TYPE_UINT16",
 | 
						|
		4:  "TYPE_UINT32",
 | 
						|
		5:  "TYPE_UINT64",
 | 
						|
		6:  "TYPE_INT8",
 | 
						|
		7:  "TYPE_INT16",
 | 
						|
		8:  "TYPE_INT32",
 | 
						|
		9:  "TYPE_INT64",
 | 
						|
		10: "TYPE_FP16",
 | 
						|
		11: "TYPE_FP32",
 | 
						|
		12: "TYPE_FP64",
 | 
						|
		13: "TYPE_STRING",
 | 
						|
		14: "TYPE_BF16",
 | 
						|
	}
 | 
						|
	DataType_value = map[string]int32{
 | 
						|
		"TYPE_INVALID": 0,
 | 
						|
		"TYPE_BOOL":    1,
 | 
						|
		"TYPE_UINT8":   2,
 | 
						|
		"TYPE_UINT16":  3,
 | 
						|
		"TYPE_UINT32":  4,
 | 
						|
		"TYPE_UINT64":  5,
 | 
						|
		"TYPE_INT8":    6,
 | 
						|
		"TYPE_INT16":   7,
 | 
						|
		"TYPE_INT32":   8,
 | 
						|
		"TYPE_INT64":   9,
 | 
						|
		"TYPE_FP16":    10,
 | 
						|
		"TYPE_FP32":    11,
 | 
						|
		"TYPE_FP64":    12,
 | 
						|
		"TYPE_STRING":  13,
 | 
						|
		"TYPE_BF16":    14,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x DataType) Enum() *DataType {
 | 
						|
	p := new(DataType)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x DataType) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (DataType) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[0].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (DataType) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[0]
 | 
						|
}
 | 
						|
 | 
						|
func (x DataType) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use DataType.Descriptor instead.
 | 
						|
func (DataType) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:enum:: Kind
 | 
						|
// @@
 | 
						|
// @@     Kind of this instance group.
 | 
						|
// @@
 | 
						|
type ModelInstanceGroup_Kind int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@    .. cpp:enumerator:: Kind::KIND_AUTO = 0
 | 
						|
	// @@
 | 
						|
	// @@       This instance group represents instances that can run on either
 | 
						|
	// @@       CPU or GPU. If all GPUs listed in 'gpus' are available then
 | 
						|
	// @@       instances will be created on GPU(s), otherwise instances will
 | 
						|
	// @@       be created on CPU.
 | 
						|
	// @@
 | 
						|
	ModelInstanceGroup_KIND_AUTO ModelInstanceGroup_Kind = 0
 | 
						|
	// @@    .. cpp:enumerator:: Kind::KIND_GPU = 1
 | 
						|
	// @@
 | 
						|
	// @@       This instance group represents instances that must run on the
 | 
						|
	// @@       GPU.
 | 
						|
	// @@
 | 
						|
	ModelInstanceGroup_KIND_GPU ModelInstanceGroup_Kind = 1
 | 
						|
	// @@    .. cpp:enumerator:: Kind::KIND_CPU = 2
 | 
						|
	// @@
 | 
						|
	// @@       This instance group represents instances that must run on the
 | 
						|
	// @@       CPU.
 | 
						|
	// @@
 | 
						|
	ModelInstanceGroup_KIND_CPU ModelInstanceGroup_Kind = 2
 | 
						|
	// @@    .. cpp:enumerator:: Kind::KIND_MODEL = 3
 | 
						|
	// @@
 | 
						|
	// @@       This instance group represents instances that should run on the
 | 
						|
	// @@       CPU and/or GPU(s) as specified by the model or backend itself.
 | 
						|
	// @@       The inference server will not override the model/backend
 | 
						|
	// @@       settings.
 | 
						|
	// @@
 | 
						|
	ModelInstanceGroup_KIND_MODEL ModelInstanceGroup_Kind = 3
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for ModelInstanceGroup_Kind.
 | 
						|
var (
 | 
						|
	ModelInstanceGroup_Kind_name = map[int32]string{
 | 
						|
		0: "KIND_AUTO",
 | 
						|
		1: "KIND_GPU",
 | 
						|
		2: "KIND_CPU",
 | 
						|
		3: "KIND_MODEL",
 | 
						|
	}
 | 
						|
	ModelInstanceGroup_Kind_value = map[string]int32{
 | 
						|
		"KIND_AUTO":  0,
 | 
						|
		"KIND_GPU":   1,
 | 
						|
		"KIND_CPU":   2,
 | 
						|
		"KIND_MODEL": 3,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x ModelInstanceGroup_Kind) Enum() *ModelInstanceGroup_Kind {
 | 
						|
	p := new(ModelInstanceGroup_Kind)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelInstanceGroup_Kind) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (ModelInstanceGroup_Kind) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[1].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (ModelInstanceGroup_Kind) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[1]
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelInstanceGroup_Kind) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelInstanceGroup_Kind.Descriptor instead.
 | 
						|
func (ModelInstanceGroup_Kind) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{1, 0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:enum:: SecondaryDeviceKind
 | 
						|
// @@
 | 
						|
// @@     The kind of the secondary device.
 | 
						|
// @@
 | 
						|
type ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@    .. cpp:enumerator:: SecondaryDeviceKind::KIND_NVDLA = 0
 | 
						|
	// @@
 | 
						|
	// @@       An NVDLA core. http://nvdla.org
 | 
						|
	// @@       Currently KIND_NVDLA is only supported by the TensorRT backend.
 | 
						|
	// @@
 | 
						|
	ModelInstanceGroup_SecondaryDevice_KIND_NVDLA ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind = 0
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind.
 | 
						|
var (
 | 
						|
	ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind_name = map[int32]string{
 | 
						|
		0: "KIND_NVDLA",
 | 
						|
	}
 | 
						|
	ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind_value = map[string]int32{
 | 
						|
		"KIND_NVDLA": 0,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Enum() *ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind {
 | 
						|
	p := new(ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[2].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[2]
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind.Descriptor instead.
 | 
						|
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{1, 0, 0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:enum:: Format
 | 
						|
// @@
 | 
						|
// @@     The format for the input.
 | 
						|
// @@
 | 
						|
type ModelInput_Format int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@    .. cpp:enumerator:: Format::FORMAT_NONE = 0
 | 
						|
	// @@
 | 
						|
	// @@       The input has no specific format. This is the default.
 | 
						|
	// @@
 | 
						|
	ModelInput_FORMAT_NONE ModelInput_Format = 0
 | 
						|
	// @@    .. cpp:enumerator:: Format::FORMAT_NHWC = 1
 | 
						|
	// @@
 | 
						|
	// @@       HWC image format. Tensors with this format require 3 dimensions
 | 
						|
	// @@       if the model does not support batching (max_batch_size = 0) or 4
 | 
						|
	// @@       dimensions if the model does support batching (max_batch_size
 | 
						|
	// @@       >= 1). In either case the 'dims' below should only specify the
 | 
						|
	// @@       3 non-batch dimensions (i.e. HWC or CHW).
 | 
						|
	// @@
 | 
						|
	ModelInput_FORMAT_NHWC ModelInput_Format = 1
 | 
						|
	// @@    .. cpp:enumerator:: Format::FORMAT_NCHW = 2
 | 
						|
	// @@
 | 
						|
	// @@       CHW image format. Tensors with this format require 3 dimensions
 | 
						|
	// @@       if the model does not support batching (max_batch_size = 0) or 4
 | 
						|
	// @@       dimensions if the model does support batching (max_batch_size
 | 
						|
	// @@       >= 1). In either case the 'dims' below should only specify the
 | 
						|
	// @@       3 non-batch dimensions (i.e. HWC or CHW).
 | 
						|
	// @@
 | 
						|
	ModelInput_FORMAT_NCHW ModelInput_Format = 2
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for ModelInput_Format.
 | 
						|
var (
 | 
						|
	ModelInput_Format_name = map[int32]string{
 | 
						|
		0: "FORMAT_NONE",
 | 
						|
		1: "FORMAT_NHWC",
 | 
						|
		2: "FORMAT_NCHW",
 | 
						|
	}
 | 
						|
	ModelInput_Format_value = map[string]int32{
 | 
						|
		"FORMAT_NONE": 0,
 | 
						|
		"FORMAT_NHWC": 1,
 | 
						|
		"FORMAT_NCHW": 2,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x ModelInput_Format) Enum() *ModelInput_Format {
 | 
						|
	p := new(ModelInput_Format)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelInput_Format) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (ModelInput_Format) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[3].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (ModelInput_Format) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[3]
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelInput_Format) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelInput_Format.Descriptor instead.
 | 
						|
func (ModelInput_Format) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{3, 0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@    .. cpp:enum:: Kind
 | 
						|
// @@
 | 
						|
// @@       The kind of the batch input.
 | 
						|
// @@
 | 
						|
type BatchInput_Kind int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@      .. cpp:enumerator:: Kind::BATCH_ELEMENT_COUNT = 0
 | 
						|
	// @@
 | 
						|
	// @@         The element count of the 'source_input' will be added as
 | 
						|
	// @@         input with shape [1].
 | 
						|
	// @@
 | 
						|
	BatchInput_BATCH_ELEMENT_COUNT BatchInput_Kind = 0
 | 
						|
	// @@      .. cpp:enumerator:: Kind::BATCH_ACCUMULATED_ELEMENT_COUNT = 1
 | 
						|
	// @@
 | 
						|
	// @@         The accumulated element count of the 'source_input' will be
 | 
						|
	// @@         added as input with shape [1]. For example, if there is a
 | 
						|
	// @@         batch of two request, each with 2 elements, an input of value
 | 
						|
	// @@         2 will be added to the first request, and an input of value
 | 
						|
	// @@         4 will be added to the second request.
 | 
						|
	// @@
 | 
						|
	BatchInput_BATCH_ACCUMULATED_ELEMENT_COUNT BatchInput_Kind = 1
 | 
						|
	// @@      .. cpp:enumerator::
 | 
						|
	// @@         Kind::BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO = 2
 | 
						|
	// @@
 | 
						|
	// @@         The accumulated element count of the 'source_input' will be
 | 
						|
	// @@         added as input with shape [1], except for the first request
 | 
						|
	// @@         in the batch. For the first request in the batch, the input
 | 
						|
	// @@         will have shape [2] where the first element is value 0.
 | 
						|
	// @@
 | 
						|
	BatchInput_BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO BatchInput_Kind = 2
 | 
						|
	// @@      .. cpp:enumerator:: Kind::BATCH_MAX_ELEMENT_COUNT_AS_SHAPE = 3
 | 
						|
	// @@
 | 
						|
	// @@         Among the requests in the batch, the max element count of the
 | 
						|
	// @@         'source_input' will be added as input with shape
 | 
						|
	// @@         [max_element_count] for the first request in the batch.
 | 
						|
	// @@         For other requests, such input will be with shape [0].
 | 
						|
	// @@         The data of the tensor will be uninitialized.
 | 
						|
	// @@
 | 
						|
	BatchInput_BATCH_MAX_ELEMENT_COUNT_AS_SHAPE BatchInput_Kind = 3
 | 
						|
	// @@      .. cpp:enumerator:: Kind::BATCH_ITEM_SHAPE = 4
 | 
						|
	// @@
 | 
						|
	// @@         Among the requests in the batch, the shape of the
 | 
						|
	// @@         'source_input' will be added as input with shape
 | 
						|
	// @@         [batch_size, len(input_dim)]. For example, if one
 | 
						|
	// @@         batch-2 input with shape [3, 1] and batch-1 input
 | 
						|
	// @@         with shape [2, 2] are batched, the batch input will
 | 
						|
	// @@         have shape [3, 2] and value [ [3, 1], [3, 1], [2, 2]].
 | 
						|
	// @@
 | 
						|
	BatchInput_BATCH_ITEM_SHAPE BatchInput_Kind = 4
 | 
						|
	// @@      .. cpp:enumerator:: Kind::BATCH_ITEM_SHAPE_FLATTEN = 5
 | 
						|
	// @@
 | 
						|
	// @@         Among the requests in the batch, the shape of the
 | 
						|
	// @@         'source_input' will be added as input with single dimensional
 | 
						|
	// @@         shape [batch_size * len(input_dim)]. For example, if one
 | 
						|
	// @@         batch-2 input with shape [3, 1] and batch-1 input
 | 
						|
	// @@         with shape [2, 2] are batched, the batch input will
 | 
						|
	// @@         have shape [6] and value [3, 1, 3, 1, 2, 2].
 | 
						|
	// @@
 | 
						|
	BatchInput_BATCH_ITEM_SHAPE_FLATTEN BatchInput_Kind = 5
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for BatchInput_Kind.
 | 
						|
var (
 | 
						|
	BatchInput_Kind_name = map[int32]string{
 | 
						|
		0: "BATCH_ELEMENT_COUNT",
 | 
						|
		1: "BATCH_ACCUMULATED_ELEMENT_COUNT",
 | 
						|
		2: "BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO",
 | 
						|
		3: "BATCH_MAX_ELEMENT_COUNT_AS_SHAPE",
 | 
						|
		4: "BATCH_ITEM_SHAPE",
 | 
						|
		5: "BATCH_ITEM_SHAPE_FLATTEN",
 | 
						|
	}
 | 
						|
	BatchInput_Kind_value = map[string]int32{
 | 
						|
		"BATCH_ELEMENT_COUNT":                       0,
 | 
						|
		"BATCH_ACCUMULATED_ELEMENT_COUNT":           1,
 | 
						|
		"BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO": 2,
 | 
						|
		"BATCH_MAX_ELEMENT_COUNT_AS_SHAPE":          3,
 | 
						|
		"BATCH_ITEM_SHAPE":                          4,
 | 
						|
		"BATCH_ITEM_SHAPE_FLATTEN":                  5,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x BatchInput_Kind) Enum() *BatchInput_Kind {
 | 
						|
	p := new(BatchInput_Kind)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x BatchInput_Kind) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (BatchInput_Kind) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[4].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (BatchInput_Kind) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[4]
 | 
						|
}
 | 
						|
 | 
						|
func (x BatchInput_Kind) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use BatchInput_Kind.Descriptor instead.
 | 
						|
func (BatchInput_Kind) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{5, 0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:enum:: Kind
 | 
						|
// @@
 | 
						|
// @@     The kind of the batch output.
 | 
						|
// @@
 | 
						|
type BatchOutput_Kind int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@    .. cpp:enumerator:: Kind::BATCH_SCATTER_WITH_INPUT_SHAPE = 0
 | 
						|
	// @@
 | 
						|
	// @@       The output should be scattered according to the shape of
 | 
						|
	// @@       'source_input'. The dynamic dimension of the output will
 | 
						|
	// @@       be set to the value of the same dimension in the input.
 | 
						|
	// @@
 | 
						|
	BatchOutput_BATCH_SCATTER_WITH_INPUT_SHAPE BatchOutput_Kind = 0
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for BatchOutput_Kind.
 | 
						|
var (
 | 
						|
	BatchOutput_Kind_name = map[int32]string{
 | 
						|
		0: "BATCH_SCATTER_WITH_INPUT_SHAPE",
 | 
						|
	}
 | 
						|
	BatchOutput_Kind_value = map[string]int32{
 | 
						|
		"BATCH_SCATTER_WITH_INPUT_SHAPE": 0,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x BatchOutput_Kind) Enum() *BatchOutput_Kind {
 | 
						|
	p := new(BatchOutput_Kind)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x BatchOutput_Kind) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (BatchOutput_Kind) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[5].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (BatchOutput_Kind) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[5]
 | 
						|
}
 | 
						|
 | 
						|
func (x BatchOutput_Kind) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use BatchOutput_Kind.Descriptor instead.
 | 
						|
func (BatchOutput_Kind) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{6, 0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:enum:: ModelPriority
 | 
						|
// @@
 | 
						|
// @@     Model priorities. A model will be given scheduling and execution
 | 
						|
// @@     preference over models at lower priorities. Current model
 | 
						|
// @@     priorities only work for TensorRT models.
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy_ModelPriority int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@    .. cpp:enumerator:: ModelPriority::PRIORITY_DEFAULT = 0
 | 
						|
	// @@
 | 
						|
	// @@       The default model priority.
 | 
						|
	// @@
 | 
						|
	ModelOptimizationPolicy_PRIORITY_DEFAULT ModelOptimizationPolicy_ModelPriority = 0
 | 
						|
	// @@    .. cpp:enumerator:: ModelPriority::PRIORITY_MAX = 1
 | 
						|
	// @@
 | 
						|
	// @@       The maximum model priority.
 | 
						|
	// @@
 | 
						|
	ModelOptimizationPolicy_PRIORITY_MAX ModelOptimizationPolicy_ModelPriority = 1
 | 
						|
	// @@    .. cpp:enumerator:: ModelPriority::PRIORITY_MIN = 2
 | 
						|
	// @@
 | 
						|
	// @@       The minimum model priority.
 | 
						|
	// @@
 | 
						|
	ModelOptimizationPolicy_PRIORITY_MIN ModelOptimizationPolicy_ModelPriority = 2
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for ModelOptimizationPolicy_ModelPriority.
 | 
						|
var (
 | 
						|
	ModelOptimizationPolicy_ModelPriority_name = map[int32]string{
 | 
						|
		0: "PRIORITY_DEFAULT",
 | 
						|
		1: "PRIORITY_MAX",
 | 
						|
		2: "PRIORITY_MIN",
 | 
						|
	}
 | 
						|
	ModelOptimizationPolicy_ModelPriority_value = map[string]int32{
 | 
						|
		"PRIORITY_DEFAULT": 0,
 | 
						|
		"PRIORITY_MAX":     1,
 | 
						|
		"PRIORITY_MIN":     2,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x ModelOptimizationPolicy_ModelPriority) Enum() *ModelOptimizationPolicy_ModelPriority {
 | 
						|
	p := new(ModelOptimizationPolicy_ModelPriority)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelOptimizationPolicy_ModelPriority) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (ModelOptimizationPolicy_ModelPriority) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[6].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (ModelOptimizationPolicy_ModelPriority) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[6]
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelOptimizationPolicy_ModelPriority) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelOptimizationPolicy_ModelPriority.Descriptor instead.
 | 
						|
func (ModelOptimizationPolicy_ModelPriority) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:enum:: TimeoutAction
 | 
						|
// @@
 | 
						|
// @@     The action applied to timed-out requests.
 | 
						|
// @@
 | 
						|
type ModelQueuePolicy_TimeoutAction int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@    .. cpp:enumerator:: Action::REJECT = 0
 | 
						|
	// @@
 | 
						|
	// @@       Reject the request and return error message accordingly.
 | 
						|
	// @@
 | 
						|
	ModelQueuePolicy_REJECT ModelQueuePolicy_TimeoutAction = 0
 | 
						|
	// @@    .. cpp:enumerator:: Action::DELAY = 1
 | 
						|
	// @@
 | 
						|
	// @@       Delay the request until all other requests at the same
 | 
						|
	// @@       (or higher) priority levels that have not reached their timeouts
 | 
						|
	// @@       are processed. A delayed request will eventually be processed,
 | 
						|
	// @@       but may be delayed indefinitely due to newly arriving requests.
 | 
						|
	// @@
 | 
						|
	ModelQueuePolicy_DELAY ModelQueuePolicy_TimeoutAction = 1
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for ModelQueuePolicy_TimeoutAction.
 | 
						|
var (
 | 
						|
	ModelQueuePolicy_TimeoutAction_name = map[int32]string{
 | 
						|
		0: "REJECT",
 | 
						|
		1: "DELAY",
 | 
						|
	}
 | 
						|
	ModelQueuePolicy_TimeoutAction_value = map[string]int32{
 | 
						|
		"REJECT": 0,
 | 
						|
		"DELAY":  1,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x ModelQueuePolicy_TimeoutAction) Enum() *ModelQueuePolicy_TimeoutAction {
 | 
						|
	p := new(ModelQueuePolicy_TimeoutAction)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelQueuePolicy_TimeoutAction) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (ModelQueuePolicy_TimeoutAction) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[7].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (ModelQueuePolicy_TimeoutAction) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[7]
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelQueuePolicy_TimeoutAction) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelQueuePolicy_TimeoutAction.Descriptor instead.
 | 
						|
func (ModelQueuePolicy_TimeoutAction) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{9, 0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@    .. cpp:enum:: Kind
 | 
						|
// @@
 | 
						|
// @@       The kind of the control.
 | 
						|
// @@
 | 
						|
type ModelSequenceBatching_Control_Kind int32
 | 
						|
 | 
						|
const (
 | 
						|
	// @@      .. cpp:enumerator:: Kind::CONTROL_SEQUENCE_START = 0
 | 
						|
	// @@
 | 
						|
	// @@         A new sequence is/is-not starting. If true a sequence is
 | 
						|
	// @@         starting, if false a sequence is continuing. Must
 | 
						|
	// @@         specify either int32_false_true, fp32_false_true or
 | 
						|
	// @@         bool_false_true for this control. This control is optional.
 | 
						|
	// @@
 | 
						|
	ModelSequenceBatching_Control_CONTROL_SEQUENCE_START ModelSequenceBatching_Control_Kind = 0
 | 
						|
	// @@      .. cpp:enumerator:: Kind::CONTROL_SEQUENCE_READY = 1
 | 
						|
	// @@
 | 
						|
	// @@         A sequence is/is-not ready for inference. If true the
 | 
						|
	// @@         input tensor data is valid and should be used. If false
 | 
						|
	// @@         the input tensor data is invalid and inferencing should
 | 
						|
	// @@         be "skipped". Must specify either int32_false_true,
 | 
						|
	// @@         fp32_false_true or bool_false_true for this control. This
 | 
						|
	// @@         control is optional.
 | 
						|
	// @@
 | 
						|
	ModelSequenceBatching_Control_CONTROL_SEQUENCE_READY ModelSequenceBatching_Control_Kind = 1
 | 
						|
	// @@      .. cpp:enumerator:: Kind::CONTROL_SEQUENCE_END = 2
 | 
						|
	// @@
 | 
						|
	// @@         A sequence is/is-not ending. If true a sequence is
 | 
						|
	// @@         ending, if false a sequence is continuing. Must specify
 | 
						|
	// @@         either int32_false_true, fp32_false_true or bool_false_true
 | 
						|
	// @@         for this control. This control is optional.
 | 
						|
	// @@
 | 
						|
	ModelSequenceBatching_Control_CONTROL_SEQUENCE_END ModelSequenceBatching_Control_Kind = 2
 | 
						|
	// @@      .. cpp:enumerator:: Kind::CONTROL_SEQUENCE_CORRID = 3
 | 
						|
	// @@
 | 
						|
	// @@         The correlation ID of the sequence. The correlation ID
 | 
						|
	// @@         is an uint64_t value that is communicated in whole or
 | 
						|
	// @@         in part by the tensor. The tensor's datatype must be
 | 
						|
	// @@         specified by data_type and must be TYPE_UINT64, TYPE_INT64,
 | 
						|
	// @@         TYPE_UINT32 or TYPE_INT32. If a 32-bit datatype is specified
 | 
						|
	// @@         the correlation ID will be truncated to the low-order 32
 | 
						|
	// @@         bits. This control is optional.
 | 
						|
	// @@
 | 
						|
	ModelSequenceBatching_Control_CONTROL_SEQUENCE_CORRID ModelSequenceBatching_Control_Kind = 3
 | 
						|
)
 | 
						|
 | 
						|
// Enum value maps for ModelSequenceBatching_Control_Kind.
 | 
						|
var (
 | 
						|
	ModelSequenceBatching_Control_Kind_name = map[int32]string{
 | 
						|
		0: "CONTROL_SEQUENCE_START",
 | 
						|
		1: "CONTROL_SEQUENCE_READY",
 | 
						|
		2: "CONTROL_SEQUENCE_END",
 | 
						|
		3: "CONTROL_SEQUENCE_CORRID",
 | 
						|
	}
 | 
						|
	ModelSequenceBatching_Control_Kind_value = map[string]int32{
 | 
						|
		"CONTROL_SEQUENCE_START":  0,
 | 
						|
		"CONTROL_SEQUENCE_READY":  1,
 | 
						|
		"CONTROL_SEQUENCE_END":    2,
 | 
						|
		"CONTROL_SEQUENCE_CORRID": 3,
 | 
						|
	}
 | 
						|
)
 | 
						|
 | 
						|
func (x ModelSequenceBatching_Control_Kind) Enum() *ModelSequenceBatching_Control_Kind {
 | 
						|
	p := new(ModelSequenceBatching_Control_Kind)
 | 
						|
	*p = x
 | 
						|
	return p
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelSequenceBatching_Control_Kind) String() string {
 | 
						|
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 | 
						|
}
 | 
						|
 | 
						|
func (ModelSequenceBatching_Control_Kind) Descriptor() protoreflect.EnumDescriptor {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_enumTypes[8].Descriptor()
 | 
						|
}
 | 
						|
 | 
						|
func (ModelSequenceBatching_Control_Kind) Type() protoreflect.EnumType {
 | 
						|
	return &file_pkg_apis_inference_v1_model_config_proto_enumTypes[8]
 | 
						|
}
 | 
						|
 | 
						|
func (x ModelSequenceBatching_Control_Kind) Number() protoreflect.EnumNumber {
 | 
						|
	return protoreflect.EnumNumber(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelSequenceBatching_Control_Kind.Descriptor instead.
 | 
						|
func (ModelSequenceBatching_Control_Kind) EnumDescriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{11, 0, 0}
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message ModelRateLimiter
 | 
						|
// @@
 | 
						|
// @@     The specifications required by the rate limiter to properly
 | 
						|
// @@     schedule the inference requests across the different models
 | 
						|
// @@     and their instances.
 | 
						|
// @@
 | 
						|
type ModelRateLimiter struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: Resource resources (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The resources required to execute the request on a model instance.
 | 
						|
	// @@     Resources are just names with a corresponding count. The execution
 | 
						|
	// @@     of the instance will be blocked until the specificied resources are
 | 
						|
	// @@     available. By default an instance uses no rate-limiter resources.
 | 
						|
	// @@
 | 
						|
	Resources []*ModelRateLimiter_Resource `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"`
 | 
						|
	// @@  .. cpp:var:: uint32 priority
 | 
						|
	// @@
 | 
						|
	// @@     The optional weighting value to be used for prioritizing across
 | 
						|
	// @@     instances. An instance with priority 2 will be given 1/2 the
 | 
						|
	// @@     number of scheduling chances as an instance_group with priority
 | 
						|
	// @@     1. The default priority is 1. The priority of value 0 will be
 | 
						|
	// @@     treated as priority 1.
 | 
						|
	// @@
 | 
						|
	Priority uint32 `protobuf:"varint,2,opt,name=priority,proto3" json:"priority,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter) Reset() {
 | 
						|
	*x = ModelRateLimiter{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[0]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelRateLimiter) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelRateLimiter) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelRateLimiter.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelRateLimiter) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter) GetResources() []*ModelRateLimiter_Resource {
 | 
						|
	if x != nil {
 | 
						|
		return x.Resources
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter) GetPriority() uint32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Priority
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelInstanceGroup
 | 
						|
// @@
 | 
						|
// @@   A group of one or more instances of a model and resources made
 | 
						|
// @@   available for those instances.
 | 
						|
// @@
 | 
						|
type ModelInstanceGroup struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@     Optional name of this group of instances. If not specified the
 | 
						|
	// @@     name will be formed as <model name>_<group number>. The name of
 | 
						|
	// @@     individual instances will be further formed by a unique instance
 | 
						|
	// @@     number and GPU index:
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@  .. cpp:var:: Kind kind
 | 
						|
	// @@
 | 
						|
	// @@     The kind of this instance group. Default is KIND_AUTO. If
 | 
						|
	// @@     KIND_AUTO or KIND_GPU then both 'count' and 'gpu' are valid and
 | 
						|
	// @@     may be specified. If KIND_CPU or KIND_MODEL only 'count' is valid
 | 
						|
	// @@     and 'gpu' cannot be specified.
 | 
						|
	// @@
 | 
						|
	Kind ModelInstanceGroup_Kind `protobuf:"varint,4,opt,name=kind,proto3,enum=inference.v1.ModelInstanceGroup_Kind" json:"kind,omitempty"`
 | 
						|
	// @@  .. cpp:var:: int32 count
 | 
						|
	// @@
 | 
						|
	// @@     For a group assigned to GPU, the number of instances created for
 | 
						|
	// @@     each GPU listed in 'gpus'. For a group assigned to CPU the number
 | 
						|
	// @@     of instances created. Default is 1.
 | 
						|
	Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelRateLimiter rate_limiter
 | 
						|
	// @@
 | 
						|
	// @@     The rate limiter specific settings to be associated with this
 | 
						|
	// @@     instance group. Optional, if not specified no rate limiting
 | 
						|
	// @@     will be applied to this instance group.
 | 
						|
	// @@
 | 
						|
	RateLimiter *ModelRateLimiter `protobuf:"bytes,6,opt,name=rate_limiter,json=rateLimiter,proto3" json:"rate_limiter,omitempty"`
 | 
						|
	// @@  .. cpp:var:: int32 gpus (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     GPU(s) where instances should be available. For each GPU listed,
 | 
						|
	// @@     'count' instances of the model will be available. Setting 'gpus'
 | 
						|
	// @@     to empty (or not specifying at all) is eqivalent to listing all
 | 
						|
	// @@     available GPUs.
 | 
						|
	// @@
 | 
						|
	Gpus []int32 `protobuf:"varint,3,rep,packed,name=gpus,proto3" json:"gpus,omitempty"`
 | 
						|
	// @@  .. cpp:var:: SecondaryDevice secondary_devices (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     Secondary devices that are required by instances specified by this
 | 
						|
	// @@     instance group. Optional.
 | 
						|
	// @@
 | 
						|
	SecondaryDevices []*ModelInstanceGroup_SecondaryDevice `protobuf:"bytes,8,rep,name=secondary_devices,json=secondaryDevices,proto3" json:"secondary_devices,omitempty"`
 | 
						|
	// @@  .. cpp:var:: string profile (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     For TensorRT models containing multiple optimization profile, this
 | 
						|
	// @@     parameter specifies a set of optimization profiles available to this
 | 
						|
	// @@     instance group. The inference server will choose the optimal profile
 | 
						|
	// @@     based on the shapes of the input tensors. This field should lie
 | 
						|
	// @@     between 0 and <TotalNumberOfOptimizationProfilesInPlanModel> - 1
 | 
						|
	// @@     and be specified only for TensorRT backend, otherwise an error will
 | 
						|
	// @@     be generated. If not specified, the server will select the first
 | 
						|
	// @@     optimization profile by default.
 | 
						|
	// @@
 | 
						|
	Profile []string `protobuf:"bytes,5,rep,name=profile,proto3" json:"profile,omitempty"`
 | 
						|
	// @@  .. cpp:var:: bool passive
 | 
						|
	// @@
 | 
						|
	// @@     Whether the instances within this instance group will be accepting
 | 
						|
	// @@     inference requests from the scheduler. If true, the instances will
 | 
						|
	// @@     not be added to the scheduler. Default value is false.
 | 
						|
	// @@
 | 
						|
	Passive bool `protobuf:"varint,7,opt,name=passive,proto3" json:"passive,omitempty"`
 | 
						|
	// @@  .. cpp:var:: string host_policy
 | 
						|
	// @@
 | 
						|
	// @@     The host policy name that the instance to be associated with.
 | 
						|
	// @@     The default value is set to reflect the device kind of the instance,
 | 
						|
	// @@     for instance, KIND_CPU is "cpu", KIND_MODEL is "model" and
 | 
						|
	// @@     KIND_GPU is "gpu_<gpu_id>".
 | 
						|
	// @@
 | 
						|
	HostPolicy string `protobuf:"bytes,9,opt,name=host_policy,json=hostPolicy,proto3" json:"host_policy,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) Reset() {
 | 
						|
	*x = ModelInstanceGroup{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[1]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelInstanceGroup) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelInstanceGroup.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelInstanceGroup) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{1}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetKind() ModelInstanceGroup_Kind {
 | 
						|
	if x != nil {
 | 
						|
		return x.Kind
 | 
						|
	}
 | 
						|
	return ModelInstanceGroup_KIND_AUTO
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetCount() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Count
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetRateLimiter() *ModelRateLimiter {
 | 
						|
	if x != nil {
 | 
						|
		return x.RateLimiter
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetGpus() []int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Gpus
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetSecondaryDevices() []*ModelInstanceGroup_SecondaryDevice {
 | 
						|
	if x != nil {
 | 
						|
		return x.SecondaryDevices
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetProfile() []string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Profile
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetPassive() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.Passive
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup) GetHostPolicy() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.HostPolicy
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelTensorReshape
 | 
						|
// @@
 | 
						|
// @@   Reshape specification for input and output tensors.
 | 
						|
// @@
 | 
						|
type ModelTensorReshape struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: int64 shape (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The shape to use for reshaping.
 | 
						|
	// @@
 | 
						|
	Shape []int64 `protobuf:"varint,1,rep,packed,name=shape,proto3" json:"shape,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelTensorReshape) Reset() {
 | 
						|
	*x = ModelTensorReshape{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[2]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelTensorReshape) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelTensorReshape) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelTensorReshape) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelTensorReshape.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelTensorReshape) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{2}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelTensorReshape) GetShape() []int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Shape
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelInput
 | 
						|
// @@
 | 
						|
// @@   An input required by the model.
 | 
						|
// @@
 | 
						|
type ModelInput struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@     The name of the input.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@  .. cpp:var:: DataType data_type
 | 
						|
	// @@
 | 
						|
	// @@     The data-type of the input.
 | 
						|
	// @@
 | 
						|
	DataType DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=inference.v1.DataType" json:"data_type,omitempty"`
 | 
						|
	// @@  .. cpp:var:: Format format
 | 
						|
	// @@
 | 
						|
	// @@     The format of the input. Optional.
 | 
						|
	// @@
 | 
						|
	Format ModelInput_Format `protobuf:"varint,3,opt,name=format,proto3,enum=inference.v1.ModelInput_Format" json:"format,omitempty"`
 | 
						|
	// @@  .. cpp:var:: int64 dims (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The dimensions/shape of the input tensor that must be provided
 | 
						|
	// @@     when invoking the inference API for this model.
 | 
						|
	// @@
 | 
						|
	Dims []int64 `protobuf:"varint,4,rep,packed,name=dims,proto3" json:"dims,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelTensorReshape reshape
 | 
						|
	// @@
 | 
						|
	// @@     The shape expected for this input by the backend. The input will
 | 
						|
	// @@     be reshaped to this before being presented to the backend. The
 | 
						|
	// @@     reshape must have the same number of elements as the input shape
 | 
						|
	// @@     specified by 'dims'. Optional.
 | 
						|
	// @@
 | 
						|
	Reshape *ModelTensorReshape `protobuf:"bytes,5,opt,name=reshape,proto3" json:"reshape,omitempty"`
 | 
						|
	// @@  .. cpp:var:: bool is_shape_tensor
 | 
						|
	// @@
 | 
						|
	// @@     Whether or not the input is a shape tensor to the model. This field
 | 
						|
	// @@     is currently supported only for the TensorRT model. An error will be
 | 
						|
	// @@     generated if this specification does not comply with underlying
 | 
						|
	// @@     model.
 | 
						|
	// @@
 | 
						|
	IsShapeTensor bool `protobuf:"varint,6,opt,name=is_shape_tensor,json=isShapeTensor,proto3" json:"is_shape_tensor,omitempty"`
 | 
						|
	// @@  .. cpp:var:: bool allow_ragged_batch
 | 
						|
	// @@
 | 
						|
	// @@     Whether or not the input is allowed to be "ragged" in a dynamically
 | 
						|
	// @@     created batch. Default is false indicating that two requests will
 | 
						|
	// @@     only be batched if this tensor has the same shape in both requests.
 | 
						|
	// @@     True indicates that two requests can be batched even if this tensor
 | 
						|
	// @@     has a different shape in each request.
 | 
						|
	// @@
 | 
						|
	AllowRaggedBatch bool `protobuf:"varint,7,opt,name=allow_ragged_batch,json=allowRaggedBatch,proto3" json:"allow_ragged_batch,omitempty"`
 | 
						|
	// @@  .. cpp:var:: bool optional
 | 
						|
	// @@
 | 
						|
	// @@     Whether or not the input is optional for the model execution.
 | 
						|
	// @@     If true, the input is not required in the inference request.
 | 
						|
	// @@     Default value is false.
 | 
						|
	// @@
 | 
						|
	Optional bool `protobuf:"varint,8,opt,name=optional,proto3" json:"optional,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) Reset() {
 | 
						|
	*x = ModelInput{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[3]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelInput) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelInput) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelInput.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelInput) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{3}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) GetDataType() DataType {
 | 
						|
	if x != nil {
 | 
						|
		return x.DataType
 | 
						|
	}
 | 
						|
	return DataType_TYPE_INVALID
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) GetFormat() ModelInput_Format {
 | 
						|
	if x != nil {
 | 
						|
		return x.Format
 | 
						|
	}
 | 
						|
	return ModelInput_FORMAT_NONE
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) GetDims() []int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Dims
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) GetReshape() *ModelTensorReshape {
 | 
						|
	if x != nil {
 | 
						|
		return x.Reshape
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) GetIsShapeTensor() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.IsShapeTensor
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) GetAllowRaggedBatch() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.AllowRaggedBatch
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInput) GetOptional() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.Optional
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelOutput
 | 
						|
// @@
 | 
						|
// @@   An output produced by the model.
 | 
						|
// @@
 | 
						|
type ModelOutput struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@     The name of the output.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@  .. cpp:var:: DataType data_type
 | 
						|
	// @@
 | 
						|
	// @@     The data-type of the output.
 | 
						|
	// @@
 | 
						|
	DataType DataType `protobuf:"varint,2,opt,name=data_type,json=dataType,proto3,enum=inference.v1.DataType" json:"data_type,omitempty"`
 | 
						|
	// @@  .. cpp:var:: int64 dims (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The dimensions/shape of the output tensor.
 | 
						|
	// @@
 | 
						|
	Dims []int64 `protobuf:"varint,3,rep,packed,name=dims,proto3" json:"dims,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelTensorReshape reshape
 | 
						|
	// @@
 | 
						|
	// @@     The shape produced for this output by the backend. The output will
 | 
						|
	// @@     be reshaped from this to the shape specifed in 'dims' before being
 | 
						|
	// @@     returned in the inference response. The reshape must have the same
 | 
						|
	// @@     number of elements as the output shape specified by 'dims'. Optional.
 | 
						|
	// @@
 | 
						|
	Reshape *ModelTensorReshape `protobuf:"bytes,5,opt,name=reshape,proto3" json:"reshape,omitempty"`
 | 
						|
	// @@  .. cpp:var:: string label_filename
 | 
						|
	// @@
 | 
						|
	// @@     The label file associated with this output. Should be specified only
 | 
						|
	// @@     for outputs that represent classifications. Optional.
 | 
						|
	// @@
 | 
						|
	LabelFilename string `protobuf:"bytes,4,opt,name=label_filename,json=labelFilename,proto3" json:"label_filename,omitempty"`
 | 
						|
	// @@  .. cpp:var:: bool is_shape_tensor
 | 
						|
	// @@
 | 
						|
	// @@     Whether or not the output is a shape tensor to the model. This field
 | 
						|
	// @@     is currently supported only for the TensorRT model. An error will be
 | 
						|
	// @@     generated if this specification does not comply with underlying
 | 
						|
	// @@     model.
 | 
						|
	// @@
 | 
						|
	IsShapeTensor bool `protobuf:"varint,6,opt,name=is_shape_tensor,json=isShapeTensor,proto3" json:"is_shape_tensor,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOutput) Reset() {
 | 
						|
	*x = ModelOutput{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[4]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOutput) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOutput) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOutput) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOutput.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOutput) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{4}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOutput) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOutput) GetDataType() DataType {
 | 
						|
	if x != nil {
 | 
						|
		return x.DataType
 | 
						|
	}
 | 
						|
	return DataType_TYPE_INVALID
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOutput) GetDims() []int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Dims
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOutput) GetReshape() *ModelTensorReshape {
 | 
						|
	if x != nil {
 | 
						|
		return x.Reshape
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOutput) GetLabelFilename() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.LabelFilename
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOutput) GetIsShapeTensor() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.IsShapeTensor
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message BatchInput
 | 
						|
// @@
 | 
						|
// @@     A batch input is an additional input that must be added by
 | 
						|
// @@     the backend based on all the requests in a batch.
 | 
						|
// @@
 | 
						|
type BatchInput struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: Kind kind
 | 
						|
	// @@
 | 
						|
	// @@       The kind of this batch input.
 | 
						|
	// @@
 | 
						|
	Kind BatchInput_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=inference.v1.BatchInput_Kind" json:"kind,omitempty"`
 | 
						|
	// @@    .. cpp:var:: string target_name (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The name of the model inputs that the backend will create
 | 
						|
	// @@       for this batch input.
 | 
						|
	// @@
 | 
						|
	TargetName []string `protobuf:"bytes,2,rep,name=target_name,json=targetName,proto3" json:"target_name,omitempty"`
 | 
						|
	// @@    .. cpp:var:: DataType data_type
 | 
						|
	// @@
 | 
						|
	// @@       The input's datatype. The data type can be TYPE_INT32 or
 | 
						|
	// @@       TYPE_FP32.
 | 
						|
	// @@
 | 
						|
	DataType DataType `protobuf:"varint,3,opt,name=data_type,json=dataType,proto3,enum=inference.v1.DataType" json:"data_type,omitempty"`
 | 
						|
	// @@    .. cpp:var:: string source_input (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The backend derives the value for each batch input from one or
 | 
						|
	// @@       more other inputs. 'source_input' gives the names of those
 | 
						|
	// @@       inputs.
 | 
						|
	// @@
 | 
						|
	SourceInput []string `protobuf:"bytes,4,rep,name=source_input,json=sourceInput,proto3" json:"source_input,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchInput) Reset() {
 | 
						|
	*x = BatchInput{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[5]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchInput) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*BatchInput) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *BatchInput) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 BatchInput.ProtoReflect.Descriptor instead.
 | 
						|
func (*BatchInput) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{5}
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchInput) GetKind() BatchInput_Kind {
 | 
						|
	if x != nil {
 | 
						|
		return x.Kind
 | 
						|
	}
 | 
						|
	return BatchInput_BATCH_ELEMENT_COUNT
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchInput) GetTargetName() []string {
 | 
						|
	if x != nil {
 | 
						|
		return x.TargetName
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchInput) GetDataType() DataType {
 | 
						|
	if x != nil {
 | 
						|
		return x.DataType
 | 
						|
	}
 | 
						|
	return DataType_TYPE_INVALID
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchInput) GetSourceInput() []string {
 | 
						|
	if x != nil {
 | 
						|
		return x.SourceInput
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@.. cpp:var:: message BatchOutput
 | 
						|
// @@
 | 
						|
// @@   A batch output is an output produced by the model that must be handled
 | 
						|
// @@   differently by the backend based on all the requests in a batch.
 | 
						|
// @@
 | 
						|
type BatchOutput struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string target_name (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The name of the outputs to be produced by this batch output
 | 
						|
	// @@     specification.
 | 
						|
	// @@
 | 
						|
	TargetName []string `protobuf:"bytes,1,rep,name=target_name,json=targetName,proto3" json:"target_name,omitempty"`
 | 
						|
	// @@  .. cpp:var:: Kind kind
 | 
						|
	// @@
 | 
						|
	// @@     The kind of this batch output.
 | 
						|
	// @@
 | 
						|
	Kind BatchOutput_Kind `protobuf:"varint,2,opt,name=kind,proto3,enum=inference.v1.BatchOutput_Kind" json:"kind,omitempty"`
 | 
						|
	// @@  .. cpp:var:: string source_input (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The backend derives each batch output from one or more inputs.
 | 
						|
	// @@     'source_input' gives the names of those inputs.
 | 
						|
	// @@
 | 
						|
	SourceInput []string `protobuf:"bytes,3,rep,name=source_input,json=sourceInput,proto3" json:"source_input,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchOutput) Reset() {
 | 
						|
	*x = BatchOutput{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[6]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchOutput) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*BatchOutput) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *BatchOutput) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 BatchOutput.ProtoReflect.Descriptor instead.
 | 
						|
func (*BatchOutput) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{6}
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchOutput) GetTargetName() []string {
 | 
						|
	if x != nil {
 | 
						|
		return x.TargetName
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchOutput) GetKind() BatchOutput_Kind {
 | 
						|
	if x != nil {
 | 
						|
		return x.Kind
 | 
						|
	}
 | 
						|
	return BatchOutput_BATCH_SCATTER_WITH_INPUT_SHAPE
 | 
						|
}
 | 
						|
 | 
						|
func (x *BatchOutput) GetSourceInput() []string {
 | 
						|
	if x != nil {
 | 
						|
		return x.SourceInput
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelVersionPolicy
 | 
						|
// @@
 | 
						|
// @@   Policy indicating which versions of a model should be made
 | 
						|
// @@   available by the inference server.
 | 
						|
// @@
 | 
						|
type ModelVersionPolicy struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: oneof policy_choice
 | 
						|
	// @@
 | 
						|
	// @@     Each model must implement only a single version policy. The
 | 
						|
	// @@     default policy is 'Latest'.
 | 
						|
	// @@
 | 
						|
	//
 | 
						|
	// Types that are assignable to PolicyChoice:
 | 
						|
	//
 | 
						|
	//	*ModelVersionPolicy_Latest_
 | 
						|
	//	*ModelVersionPolicy_All_
 | 
						|
	//	*ModelVersionPolicy_Specific_
 | 
						|
	PolicyChoice isModelVersionPolicy_PolicyChoice `protobuf_oneof:"policy_choice"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy) Reset() {
 | 
						|
	*x = ModelVersionPolicy{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[7]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelVersionPolicy) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelVersionPolicy.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelVersionPolicy) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{7}
 | 
						|
}
 | 
						|
 | 
						|
func (m *ModelVersionPolicy) GetPolicyChoice() isModelVersionPolicy_PolicyChoice {
 | 
						|
	if m != nil {
 | 
						|
		return m.PolicyChoice
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy) GetLatest() *ModelVersionPolicy_Latest {
 | 
						|
	if x, ok := x.GetPolicyChoice().(*ModelVersionPolicy_Latest_); ok {
 | 
						|
		return x.Latest
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy) GetAll() *ModelVersionPolicy_All {
 | 
						|
	if x, ok := x.GetPolicyChoice().(*ModelVersionPolicy_All_); ok {
 | 
						|
		return x.All
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy) GetSpecific() *ModelVersionPolicy_Specific {
 | 
						|
	if x, ok := x.GetPolicyChoice().(*ModelVersionPolicy_Specific_); ok {
 | 
						|
		return x.Specific
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type isModelVersionPolicy_PolicyChoice interface {
 | 
						|
	isModelVersionPolicy_PolicyChoice()
 | 
						|
}
 | 
						|
 | 
						|
type ModelVersionPolicy_Latest_ struct {
 | 
						|
	// @@    .. cpp:var:: Latest latest
 | 
						|
	// @@
 | 
						|
	// @@       Serve only latest version(s) of the model.
 | 
						|
	// @@
 | 
						|
	Latest *ModelVersionPolicy_Latest `protobuf:"bytes,1,opt,name=latest,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type ModelVersionPolicy_All_ struct {
 | 
						|
	// @@    .. cpp:var:: All all
 | 
						|
	// @@
 | 
						|
	// @@       Serve all versions of the model.
 | 
						|
	// @@
 | 
						|
	All *ModelVersionPolicy_All `protobuf:"bytes,2,opt,name=all,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type ModelVersionPolicy_Specific_ struct {
 | 
						|
	// @@    .. cpp:var:: Specific specific
 | 
						|
	// @@
 | 
						|
	// @@       Serve only specific version(s) of the model.
 | 
						|
	// @@
 | 
						|
	Specific *ModelVersionPolicy_Specific `protobuf:"bytes,3,opt,name=specific,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelVersionPolicy_Latest_) isModelVersionPolicy_PolicyChoice() {}
 | 
						|
 | 
						|
func (*ModelVersionPolicy_All_) isModelVersionPolicy_PolicyChoice() {}
 | 
						|
 | 
						|
func (*ModelVersionPolicy_Specific_) isModelVersionPolicy_PolicyChoice() {}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelOptimizationPolicy
 | 
						|
// @@
 | 
						|
// @@   Optimization settings for a model. These settings control if/how a
 | 
						|
// @@   model is optimized and prioritized by the backend framework when
 | 
						|
// @@   it is loaded.
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: Graph graph
 | 
						|
	// @@
 | 
						|
	// @@     The graph optimization setting for the model. Optional.
 | 
						|
	// @@
 | 
						|
	Graph *ModelOptimizationPolicy_Graph `protobuf:"bytes,1,opt,name=graph,proto3" json:"graph,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelPriority priority
 | 
						|
	// @@
 | 
						|
	// @@     The priority setting for the model. Optional.
 | 
						|
	// @@
 | 
						|
	Priority ModelOptimizationPolicy_ModelPriority `protobuf:"varint,2,opt,name=priority,proto3,enum=inference.v1.ModelOptimizationPolicy_ModelPriority" json:"priority,omitempty"`
 | 
						|
	// @@  .. cpp:var:: Cuda cuda
 | 
						|
	// @@
 | 
						|
	// @@     CUDA-specific optimization settings. Optional.
 | 
						|
	// @@
 | 
						|
	Cuda *ModelOptimizationPolicy_Cuda `protobuf:"bytes,3,opt,name=cuda,proto3" json:"cuda,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ExecutionAccelerators execution_accelerators
 | 
						|
	// @@
 | 
						|
	// @@     The accelerators used for the model. Optional.
 | 
						|
	// @@
 | 
						|
	ExecutionAccelerators *ModelOptimizationPolicy_ExecutionAccelerators `protobuf:"bytes,4,opt,name=execution_accelerators,json=executionAccelerators,proto3" json:"execution_accelerators,omitempty"`
 | 
						|
	// @@  .. cpp:var:: PinnedMemoryBuffer input_pinned_memory
 | 
						|
	// @@
 | 
						|
	// @@     Use pinned memory buffer when the data transfer for inputs
 | 
						|
	// @@     is between GPU memory and non-pinned system memory.
 | 
						|
	// @@     Default is true.
 | 
						|
	// @@
 | 
						|
	InputPinnedMemory *ModelOptimizationPolicy_PinnedMemoryBuffer `protobuf:"bytes,5,opt,name=input_pinned_memory,json=inputPinnedMemory,proto3" json:"input_pinned_memory,omitempty"`
 | 
						|
	// @@  .. cpp:var:: PinnedMemoryBuffer output_pinned_memory
 | 
						|
	// @@
 | 
						|
	// @@     Use pinned memory buffer when the data transfer for outputs
 | 
						|
	// @@     is between GPU memory and non-pinned system memory.
 | 
						|
	// @@     Default is true.
 | 
						|
	// @@
 | 
						|
	OutputPinnedMemory *ModelOptimizationPolicy_PinnedMemoryBuffer `protobuf:"bytes,6,opt,name=output_pinned_memory,json=outputPinnedMemory,proto3" json:"output_pinned_memory,omitempty"`
 | 
						|
	// @@  .. cpp:var:: uint32 gather_kernel_buffer_threshold
 | 
						|
	// @@
 | 
						|
	// @@     The backend may use a gather kernel to gather input data if the
 | 
						|
	// @@     device has direct access to the source buffer and the destination
 | 
						|
	// @@     buffer. In such case, the gather kernel will be used only if the
 | 
						|
	// @@     number of buffers to be gathered is greater or equal to
 | 
						|
	// @@     the specifed value. If 0, the gather kernel will be disabled.
 | 
						|
	// @@     Default value is 0.
 | 
						|
	// @@     Currently only recognized by TensorRT backend.
 | 
						|
	// @@
 | 
						|
	GatherKernelBufferThreshold uint32 `protobuf:"varint,7,opt,name=gather_kernel_buffer_threshold,json=gatherKernelBufferThreshold,proto3" json:"gather_kernel_buffer_threshold,omitempty"`
 | 
						|
	// @@  .. cpp:var:: bool eager_batching
 | 
						|
	// @@
 | 
						|
	// @@     Start preparing the next batch before the model instance is ready
 | 
						|
	// @@     for the next inference. This option can be used to overlap the
 | 
						|
	// @@     batch preparation with model execution, with the trade-off that
 | 
						|
	// @@     the next batch might be smaller than what it could have been.
 | 
						|
	// @@     Default value is false.
 | 
						|
	// @@     Currently only recognized by TensorRT backend.
 | 
						|
	// @@
 | 
						|
	EagerBatching bool `protobuf:"varint,8,opt,name=eager_batching,json=eagerBatching,proto3" json:"eager_batching,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[8]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) GetGraph() *ModelOptimizationPolicy_Graph {
 | 
						|
	if x != nil {
 | 
						|
		return x.Graph
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) GetPriority() ModelOptimizationPolicy_ModelPriority {
 | 
						|
	if x != nil {
 | 
						|
		return x.Priority
 | 
						|
	}
 | 
						|
	return ModelOptimizationPolicy_PRIORITY_DEFAULT
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) GetCuda() *ModelOptimizationPolicy_Cuda {
 | 
						|
	if x != nil {
 | 
						|
		return x.Cuda
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) GetExecutionAccelerators() *ModelOptimizationPolicy_ExecutionAccelerators {
 | 
						|
	if x != nil {
 | 
						|
		return x.ExecutionAccelerators
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) GetInputPinnedMemory() *ModelOptimizationPolicy_PinnedMemoryBuffer {
 | 
						|
	if x != nil {
 | 
						|
		return x.InputPinnedMemory
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) GetOutputPinnedMemory() *ModelOptimizationPolicy_PinnedMemoryBuffer {
 | 
						|
	if x != nil {
 | 
						|
		return x.OutputPinnedMemory
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) GetGatherKernelBufferThreshold() uint32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.GatherKernelBufferThreshold
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy) GetEagerBatching() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.EagerBatching
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelQueuePolicy
 | 
						|
// @@
 | 
						|
// @@   Queue policy for inference requests.
 | 
						|
// @@
 | 
						|
type ModelQueuePolicy struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@
 | 
						|
	// @@  .. cpp:var:: TimeoutAction timeout_action
 | 
						|
	// @@
 | 
						|
	// @@     The action applied to timed-out request.
 | 
						|
	// @@     The default action is REJECT.
 | 
						|
	// @@
 | 
						|
	TimeoutAction ModelQueuePolicy_TimeoutAction `protobuf:"varint,1,opt,name=timeout_action,json=timeoutAction,proto3,enum=inference.v1.ModelQueuePolicy_TimeoutAction" json:"timeout_action,omitempty"`
 | 
						|
	// @@
 | 
						|
	// @@  .. cpp:var:: uint64 default_timeout_microseconds
 | 
						|
	// @@
 | 
						|
	// @@     The default timeout for every request, in microseconds.
 | 
						|
	// @@     The default value is 0 which indicates that no timeout is set.
 | 
						|
	// @@
 | 
						|
	DefaultTimeoutMicroseconds uint64 `protobuf:"varint,2,opt,name=default_timeout_microseconds,json=defaultTimeoutMicroseconds,proto3" json:"default_timeout_microseconds,omitempty"`
 | 
						|
	// @@
 | 
						|
	// @@  .. cpp:var:: bool allow_timeout_override
 | 
						|
	// @@
 | 
						|
	// @@     Whether individual request can override the default timeout value.
 | 
						|
	// @@     When true, individual requests can set a timeout that is less than
 | 
						|
	// @@     the default timeout value but may not increase the timeout.
 | 
						|
	// @@     The default value is false.
 | 
						|
	// @@
 | 
						|
	AllowTimeoutOverride bool `protobuf:"varint,3,opt,name=allow_timeout_override,json=allowTimeoutOverride,proto3" json:"allow_timeout_override,omitempty"`
 | 
						|
	// @@
 | 
						|
	// @@  .. cpp:var:: uint32 max_queue_size
 | 
						|
	// @@
 | 
						|
	// @@     The maximum queue size for holding requests. A request will be
 | 
						|
	// @@     rejected immediately if it can't be enqueued because the queue is
 | 
						|
	// @@     full. The default value is 0 which indicates that no maximum
 | 
						|
	// @@     queue size is enforced.
 | 
						|
	// @@
 | 
						|
	MaxQueueSize uint32 `protobuf:"varint,4,opt,name=max_queue_size,json=maxQueueSize,proto3" json:"max_queue_size,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelQueuePolicy) Reset() {
 | 
						|
	*x = ModelQueuePolicy{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[9]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelQueuePolicy) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelQueuePolicy) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelQueuePolicy) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelQueuePolicy.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelQueuePolicy) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{9}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelQueuePolicy) GetTimeoutAction() ModelQueuePolicy_TimeoutAction {
 | 
						|
	if x != nil {
 | 
						|
		return x.TimeoutAction
 | 
						|
	}
 | 
						|
	return ModelQueuePolicy_REJECT
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelQueuePolicy) GetDefaultTimeoutMicroseconds() uint64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.DefaultTimeoutMicroseconds
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelQueuePolicy) GetAllowTimeoutOverride() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.AllowTimeoutOverride
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelQueuePolicy) GetMaxQueueSize() uint32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MaxQueueSize
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelDynamicBatching
 | 
						|
// @@
 | 
						|
// @@   Dynamic batching configuration. These settings control how dynamic
 | 
						|
// @@   batching operates for the model.
 | 
						|
// @@
 | 
						|
type ModelDynamicBatching struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: int32 preferred_batch_size (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     Preferred batch sizes for dynamic batching. If a batch of one of
 | 
						|
	// @@     these sizes can be formed it will be executed immediately.  If
 | 
						|
	// @@     not specified a preferred batch size will be chosen automatically
 | 
						|
	// @@     based on model and GPU characteristics.
 | 
						|
	// @@
 | 
						|
	PreferredBatchSize []int32 `protobuf:"varint,1,rep,packed,name=preferred_batch_size,json=preferredBatchSize,proto3" json:"preferred_batch_size,omitempty"`
 | 
						|
	// @@  .. cpp:var:: uint64 max_queue_delay_microseconds
 | 
						|
	// @@
 | 
						|
	// @@     The maximum time, in microseconds, a request will be delayed in
 | 
						|
	// @@     the scheduling queue to wait for additional requests for
 | 
						|
	// @@     batching. Default is 0.
 | 
						|
	// @@
 | 
						|
	MaxQueueDelayMicroseconds uint64 `protobuf:"varint,2,opt,name=max_queue_delay_microseconds,json=maxQueueDelayMicroseconds,proto3" json:"max_queue_delay_microseconds,omitempty"`
 | 
						|
	// @@  .. cpp:var:: bool preserve_ordering
 | 
						|
	// @@
 | 
						|
	// @@     Should the dynamic batcher preserve the ordering of responses to
 | 
						|
	// @@     match the order of requests received by the scheduler. Default is
 | 
						|
	// @@     false. If true, the responses will be returned in the same order as
 | 
						|
	// @@     the order of requests sent to the scheduler. If false, the responses
 | 
						|
	// @@     may be returned in arbitrary order. This option is specifically
 | 
						|
	// @@     needed when a sequence of related inference requests (i.e. inference
 | 
						|
	// @@     requests with the same correlation ID) are sent to the dynamic
 | 
						|
	// @@     batcher to ensure that the sequence responses are in the correct
 | 
						|
	// @@     order.
 | 
						|
	// @@
 | 
						|
	PreserveOrdering bool `protobuf:"varint,3,opt,name=preserve_ordering,json=preserveOrdering,proto3" json:"preserve_ordering,omitempty"`
 | 
						|
	// @@  .. cpp:var:: uint64 priority_levels
 | 
						|
	// @@
 | 
						|
	// @@     The number of priority levels to be enabled for the model,
 | 
						|
	// @@     the priority level starts from 1 and 1 is the highest priority.
 | 
						|
	// @@     Requests are handled in priority order with all priority 1 requests
 | 
						|
	// @@     processed before priority 2, all priority 2 requests processed before
 | 
						|
	// @@     priority 3, etc. Requests with the same priority level will be
 | 
						|
	// @@     handled in the order that they are received.
 | 
						|
	// @@
 | 
						|
	PriorityLevels uint64 `protobuf:"varint,4,opt,name=priority_levels,json=priorityLevels,proto3" json:"priority_levels,omitempty"`
 | 
						|
	// @@  .. cpp:var:: uint64 default_priority_level
 | 
						|
	// @@
 | 
						|
	// @@     The priority level used for requests that don't specify their
 | 
						|
	// @@     priority. The value must be in the range [ 1, 'priority_levels' ].
 | 
						|
	// @@
 | 
						|
	DefaultPriorityLevel uint64 `protobuf:"varint,5,opt,name=default_priority_level,json=defaultPriorityLevel,proto3" json:"default_priority_level,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelQueuePolicy default_queue_policy
 | 
						|
	// @@
 | 
						|
	// @@     The default queue policy used for requests that don't require
 | 
						|
	// @@     priority handling and requests that specify priority levels where
 | 
						|
	// @@     there is no specific policy given. If not specified, a policy with
 | 
						|
	// @@     default field values will be used.
 | 
						|
	// @@
 | 
						|
	DefaultQueuePolicy *ModelQueuePolicy `protobuf:"bytes,6,opt,name=default_queue_policy,json=defaultQueuePolicy,proto3" json:"default_queue_policy,omitempty"`
 | 
						|
	// @@  .. cpp:var:: map<uint64, ModelQueuePolicy> priority_queue_policy
 | 
						|
	// @@
 | 
						|
	// @@     Specify the queue policy for the priority level. The default queue
 | 
						|
	// @@     policy will be used if a priority level doesn't specify a queue
 | 
						|
	// @@     policy.
 | 
						|
	// @@
 | 
						|
	PriorityQueuePolicy map[uint64]*ModelQueuePolicy `protobuf:"bytes,7,rep,name=priority_queue_policy,json=priorityQueuePolicy,proto3" json:"priority_queue_policy,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) Reset() {
 | 
						|
	*x = ModelDynamicBatching{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[10]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelDynamicBatching) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelDynamicBatching.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelDynamicBatching) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{10}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) GetPreferredBatchSize() []int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.PreferredBatchSize
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) GetMaxQueueDelayMicroseconds() uint64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MaxQueueDelayMicroseconds
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) GetPreserveOrdering() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.PreserveOrdering
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) GetPriorityLevels() uint64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.PriorityLevels
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) GetDefaultPriorityLevel() uint64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.DefaultPriorityLevel
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) GetDefaultQueuePolicy() *ModelQueuePolicy {
 | 
						|
	if x != nil {
 | 
						|
		return x.DefaultQueuePolicy
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelDynamicBatching) GetPriorityQueuePolicy() map[uint64]*ModelQueuePolicy {
 | 
						|
	if x != nil {
 | 
						|
		return x.PriorityQueuePolicy
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelSequenceBatching
 | 
						|
// @@
 | 
						|
// @@   Sequence batching configuration. These settings control how sequence
 | 
						|
// @@   batching operates for the model.
 | 
						|
// @@
 | 
						|
type ModelSequenceBatching struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: oneof strategy_choice
 | 
						|
	// @@
 | 
						|
	// @@     The strategy used by the sequence batcher. Default strategy
 | 
						|
	// @@     is 'direct'.
 | 
						|
	// @@
 | 
						|
	//
 | 
						|
	// Types that are assignable to StrategyChoice:
 | 
						|
	//
 | 
						|
	//	*ModelSequenceBatching_Direct
 | 
						|
	//	*ModelSequenceBatching_Oldest
 | 
						|
	StrategyChoice isModelSequenceBatching_StrategyChoice `protobuf_oneof:"strategy_choice"`
 | 
						|
	// @@  .. cpp:var:: uint64 max_sequence_idle_microseconds
 | 
						|
	// @@
 | 
						|
	// @@     The maximum time, in microseconds, that a sequence is allowed to
 | 
						|
	// @@     be idle before it is aborted. The inference server considers a
 | 
						|
	// @@     sequence idle when it does not have any inference request queued
 | 
						|
	// @@     for the sequence. If this limit is exceeded, the inference server
 | 
						|
	// @@     will free the sequence slot allocated by the sequence and make it
 | 
						|
	// @@     available for another sequence. If not specified (or specified as
 | 
						|
	// @@     zero) a default value of 1000000 (1 second) is used.
 | 
						|
	// @@
 | 
						|
	MaxSequenceIdleMicroseconds uint64 `protobuf:"varint,1,opt,name=max_sequence_idle_microseconds,json=maxSequenceIdleMicroseconds,proto3" json:"max_sequence_idle_microseconds,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ControlInput control_input (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The model input(s) that the server should use to communicate
 | 
						|
	// @@     sequence start, stop, ready and similar control values to the
 | 
						|
	// @@     model.
 | 
						|
	// @@
 | 
						|
	ControlInput []*ModelSequenceBatching_ControlInput `protobuf:"bytes,2,rep,name=control_input,json=controlInput,proto3" json:"control_input,omitempty"`
 | 
						|
	// @@  .. cpp:var:: State state (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The optional state that can be stored in Triton for performing
 | 
						|
	// @@     inference requests on a sequence. Each sequence holds an implicit
 | 
						|
	// @@     state local to itself. The output state tensor provided by the
 | 
						|
	// @@     model in 'output_name' field of the current inference request will
 | 
						|
	// @@     be transferred as an input tensor named 'input_name' in the next
 | 
						|
	// @@     request of the same sequence. The input state of the first request
 | 
						|
	// @@     in the sequence contains garbage data.
 | 
						|
	// @@
 | 
						|
	State []*ModelSequenceBatching_State `protobuf:"bytes,5,rep,name=state,proto3" json:"state,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching) Reset() {
 | 
						|
	*x = ModelSequenceBatching{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[11]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelSequenceBatching.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelSequenceBatching) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{11}
 | 
						|
}
 | 
						|
 | 
						|
func (m *ModelSequenceBatching) GetStrategyChoice() isModelSequenceBatching_StrategyChoice {
 | 
						|
	if m != nil {
 | 
						|
		return m.StrategyChoice
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching) GetDirect() *ModelSequenceBatching_StrategyDirect {
 | 
						|
	if x, ok := x.GetStrategyChoice().(*ModelSequenceBatching_Direct); ok {
 | 
						|
		return x.Direct
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching) GetOldest() *ModelSequenceBatching_StrategyOldest {
 | 
						|
	if x, ok := x.GetStrategyChoice().(*ModelSequenceBatching_Oldest); ok {
 | 
						|
		return x.Oldest
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching) GetMaxSequenceIdleMicroseconds() uint64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MaxSequenceIdleMicroseconds
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching) GetControlInput() []*ModelSequenceBatching_ControlInput {
 | 
						|
	if x != nil {
 | 
						|
		return x.ControlInput
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching) GetState() []*ModelSequenceBatching_State {
 | 
						|
	if x != nil {
 | 
						|
		return x.State
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type isModelSequenceBatching_StrategyChoice interface {
 | 
						|
	isModelSequenceBatching_StrategyChoice()
 | 
						|
}
 | 
						|
 | 
						|
type ModelSequenceBatching_Direct struct {
 | 
						|
	// @@    .. cpp:var:: StrategyDirect direct
 | 
						|
	// @@
 | 
						|
	// @@       StrategyDirect scheduling strategy.
 | 
						|
	// @@
 | 
						|
	Direct *ModelSequenceBatching_StrategyDirect `protobuf:"bytes,3,opt,name=direct,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type ModelSequenceBatching_Oldest struct {
 | 
						|
	// @@    .. cpp:var:: StrategyOldest oldest
 | 
						|
	// @@
 | 
						|
	// @@       StrategyOldest scheduling strategy.
 | 
						|
	// @@
 | 
						|
	Oldest *ModelSequenceBatching_StrategyOldest `protobuf:"bytes,4,opt,name=oldest,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_Direct) isModelSequenceBatching_StrategyChoice() {}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_Oldest) isModelSequenceBatching_StrategyChoice() {}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelEnsembling
 | 
						|
// @@
 | 
						|
// @@   Model ensembling configuration. These settings specify the models that
 | 
						|
// @@   compose the ensemble and how data flows between the models.
 | 
						|
// @@
 | 
						|
type ModelEnsembling struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: Step step (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The models and the input / output mappings used within the ensemble.
 | 
						|
	// @@
 | 
						|
	Step []*ModelEnsembling_Step `protobuf:"bytes,1,rep,name=step,proto3" json:"step,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling) Reset() {
 | 
						|
	*x = ModelEnsembling{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[12]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelEnsembling) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelEnsembling) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelEnsembling.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelEnsembling) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{12}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling) GetStep() []*ModelEnsembling_Step {
 | 
						|
	if x != nil {
 | 
						|
		return x.Step
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelParameter
 | 
						|
// @@
 | 
						|
// @@   A model parameter.
 | 
						|
// @@
 | 
						|
type ModelParameter struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string string_value
 | 
						|
	// @@
 | 
						|
	// @@     The string value of the parameter.
 | 
						|
	// @@
 | 
						|
	StringValue string `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3" json:"string_value,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelParameter) Reset() {
 | 
						|
	*x = ModelParameter{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[13]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelParameter) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelParameter) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelParameter) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelParameter.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelParameter) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{13}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelParameter) GetStringValue() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.StringValue
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelWarmup
 | 
						|
// @@
 | 
						|
// @@   Settings used to construct the request sample for model warmup.
 | 
						|
// @@
 | 
						|
type ModelWarmup struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@     The name of the request sample.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@  .. cpp:var:: uint32 batch_size
 | 
						|
	// @@
 | 
						|
	// @@     The batch size of the inference request. This must be >= 1. For
 | 
						|
	// @@     models that don't support batching, batch_size must be 1. If
 | 
						|
	// @@     batch_size > 1, the 'inputs' specified below will be duplicated to
 | 
						|
	// @@     match the batch size requested.
 | 
						|
	// @@
 | 
						|
	BatchSize uint32 `protobuf:"varint,2,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
 | 
						|
	// @@  .. cpp:var:: map<string, Input> inputs
 | 
						|
	// @@
 | 
						|
	// @@     The warmup meta data associated with every model input, including
 | 
						|
	// @@     control tensors.
 | 
						|
	// @@
 | 
						|
	Inputs map[string]*ModelWarmup_Input `protobuf:"bytes,3,rep,name=inputs,proto3" json:"inputs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
	// @@  .. cpp:var:: uint32 count
 | 
						|
	// @@
 | 
						|
	// @@     The number of iterations that this warmup sample will be executed.
 | 
						|
	// @@     For example, if this field is set to 2, 2 model executions using this
 | 
						|
	// @@     sample will be scheduled for warmup. Default value is 0 which
 | 
						|
	// @@     indicates that this sample will be used only once.
 | 
						|
	// @@     Note that for sequence model, 'count' may not work well
 | 
						|
	// @@     because the model often expect a valid sequence of requests which
 | 
						|
	// @@     should be represented by a series of warmup samples. 'count > 1'
 | 
						|
	// @@     essentially "resends" one of the sample, which may invalidate the
 | 
						|
	// @@     sequence and result in unexpected warmup failure.
 | 
						|
	// @@
 | 
						|
	Count uint32 `protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup) Reset() {
 | 
						|
	*x = ModelWarmup{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[14]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelWarmup) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelWarmup) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelWarmup.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelWarmup) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{14}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup) GetBatchSize() uint32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.BatchSize
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup) GetInputs() map[string]*ModelWarmup_Input {
 | 
						|
	if x != nil {
 | 
						|
		return x.Inputs
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup) GetCount() uint32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Count
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@ .. cpp:var:: message ModelOperations
 | 
						|
// @@
 | 
						|
// @@    The metadata of libraries providing custom operations for this model.
 | 
						|
// @@
 | 
						|
type ModelOperations struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string op_library_filename (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     Optional paths of the libraries providing custom operations for
 | 
						|
	// @@     this model. Valid only for ONNX models.
 | 
						|
	// @@
 | 
						|
	OpLibraryFilename []string `protobuf:"bytes,1,rep,name=op_library_filename,json=opLibraryFilename,proto3" json:"op_library_filename,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOperations) Reset() {
 | 
						|
	*x = ModelOperations{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[15]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOperations) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOperations) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOperations) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOperations.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOperations) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{15}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOperations) GetOpLibraryFilename() []string {
 | 
						|
	if x != nil {
 | 
						|
		return x.OpLibraryFilename
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@ .. cpp:var:: message ModelTransactionPolicy
 | 
						|
// @@
 | 
						|
// @@    The specification that describes the nature of transactions
 | 
						|
// @@    to be expected from the model.
 | 
						|
// @@
 | 
						|
type ModelTransactionPolicy struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: bool decoupled
 | 
						|
	// @@
 | 
						|
	// @@     Indicates whether responses generated by the model are decoupled with
 | 
						|
	// @@     the requests issued to it, which means the number of responses
 | 
						|
	// @@     generated by model may differ from number of requests issued, and
 | 
						|
	// @@     that the responses may be out of order relative to the order of
 | 
						|
	// @@     requests. The default is false, which means the model will generate
 | 
						|
	// @@     exactly one response for each request.
 | 
						|
	// @@
 | 
						|
	Decoupled bool `protobuf:"varint,1,opt,name=decoupled,proto3" json:"decoupled,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelTransactionPolicy) Reset() {
 | 
						|
	*x = ModelTransactionPolicy{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[16]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelTransactionPolicy) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelTransactionPolicy) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelTransactionPolicy) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelTransactionPolicy.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelTransactionPolicy) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{16}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelTransactionPolicy) GetDecoupled() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.Decoupled
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelRepositoryAgents
 | 
						|
// @@
 | 
						|
// @@   The repository agents for the model.
 | 
						|
// @@
 | 
						|
type ModelRepositoryAgents struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@
 | 
						|
	// @@  .. cpp:var:: Agent agents (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The ordered list of agents for the model. These agents will be
 | 
						|
	// @@     invoked in order to respond to repository actions occuring for the
 | 
						|
	// @@     model.
 | 
						|
	// @@
 | 
						|
	Agents []*ModelRepositoryAgents_Agent `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents) Reset() {
 | 
						|
	*x = ModelRepositoryAgents{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[17]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelRepositoryAgents) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelRepositoryAgents.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelRepositoryAgents) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{17}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents) GetAgents() []*ModelRepositoryAgents_Agent {
 | 
						|
	if x != nil {
 | 
						|
		return x.Agents
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelResponseCache
 | 
						|
// @@
 | 
						|
// @@   The response cache setting for the model.
 | 
						|
// @@
 | 
						|
type ModelResponseCache struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@
 | 
						|
	// @@  .. cpp::var:: bool enable
 | 
						|
	// @@
 | 
						|
	// @@     Whether or not to use response cache for the model. If True, the
 | 
						|
	// @@     responses from the model are cached and when identical request
 | 
						|
	// @@     is encountered, instead of going through the model execution,
 | 
						|
	// @@     the response from the cache is utilized. By default, response
 | 
						|
	// @@     cache is disabled for the models.
 | 
						|
	// @@
 | 
						|
	Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelResponseCache) Reset() {
 | 
						|
	*x = ModelResponseCache{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[18]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelResponseCache) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelResponseCache) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelResponseCache) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelResponseCache.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelResponseCache) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{18}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelResponseCache) GetEnable() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.Enable
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@.. cpp:var:: message ModelConfig
 | 
						|
// @@
 | 
						|
// @@   A model configuration.
 | 
						|
// @@
 | 
						|
type ModelConfig struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@     The name of the model.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@  .. cpp:var:: string platform
 | 
						|
	// @@
 | 
						|
	// @@     Additional backend-specific configuration for the model.
 | 
						|
	// @@     Please refer to the backend documentation on whether this field
 | 
						|
	// @@     should be specified.
 | 
						|
	// @@
 | 
						|
	Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform,omitempty"`
 | 
						|
	// @@  .. cpp:var:: string backend
 | 
						|
	// @@
 | 
						|
	// @@     The backend used by the model.
 | 
						|
	// @@
 | 
						|
	Backend string `protobuf:"bytes,17,opt,name=backend,proto3" json:"backend,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelVersionPolicy version_policy
 | 
						|
	// @@
 | 
						|
	// @@     Policy indicating which version(s) of the model will be served.
 | 
						|
	// @@
 | 
						|
	VersionPolicy *ModelVersionPolicy `protobuf:"bytes,3,opt,name=version_policy,json=versionPolicy,proto3" json:"version_policy,omitempty"`
 | 
						|
	// @@  .. cpp:var:: int32 max_batch_size
 | 
						|
	// @@
 | 
						|
	// @@     Maximum batch size allowed for inference. This can only decrease
 | 
						|
	// @@     what is allowed by the model itself. A max_batch_size value of 0
 | 
						|
	// @@     indicates that batching is not allowed for the model and the
 | 
						|
	// @@     dimension/shape of the input and output tensors must exactly
 | 
						|
	// @@     match what is specified in the input and output configuration. A
 | 
						|
	// @@     max_batch_size value > 0 indicates that batching is allowed and
 | 
						|
	// @@     so the model expects the input tensors to have an additional
 | 
						|
	// @@     initial dimension for the batching that is not specified in the
 | 
						|
	// @@     input (for example, if the model supports batched inputs of
 | 
						|
	// @@     2-dimensional tensors then the model configuration will specify
 | 
						|
	// @@     the input shape as [ X, Y ] but the model will expect the actual
 | 
						|
	// @@     input tensors to have shape [ N, X, Y ]). For max_batch_size > 0
 | 
						|
	// @@     returned outputs will also have an additional initial dimension
 | 
						|
	// @@     for the batch.
 | 
						|
	// @@
 | 
						|
	MaxBatchSize int32 `protobuf:"varint,4,opt,name=max_batch_size,json=maxBatchSize,proto3" json:"max_batch_size,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelInput input (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The inputs request by the model.
 | 
						|
	// @@
 | 
						|
	Input []*ModelInput `protobuf:"bytes,5,rep,name=input,proto3" json:"input,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelOutput output (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The outputs produced by the model.
 | 
						|
	// @@
 | 
						|
	Output []*ModelOutput `protobuf:"bytes,6,rep,name=output,proto3" json:"output,omitempty"`
 | 
						|
	// @@  .. cpp:var:: BatchInput batch_input (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The model input(s) that the server should use to communicate
 | 
						|
	// @@     batch related values to the model.
 | 
						|
	// @@
 | 
						|
	BatchInput []*BatchInput `protobuf:"bytes,20,rep,name=batch_input,json=batchInput,proto3" json:"batch_input,omitempty"`
 | 
						|
	// @@  .. cpp:var:: BatchOutput batch_output (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The outputs produced by the model that requires special handling
 | 
						|
	// @@     by the model backend.
 | 
						|
	// @@
 | 
						|
	BatchOutput []*BatchOutput `protobuf:"bytes,21,rep,name=batch_output,json=batchOutput,proto3" json:"batch_output,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelOptimizationPolicy optimization
 | 
						|
	// @@
 | 
						|
	// @@     Optimization configuration for the model. If not specified
 | 
						|
	// @@     then default optimization policy is used.
 | 
						|
	// @@
 | 
						|
	Optimization *ModelOptimizationPolicy `protobuf:"bytes,12,opt,name=optimization,proto3" json:"optimization,omitempty"`
 | 
						|
	// @@  .. cpp:var:: oneof scheduling_choice
 | 
						|
	// @@
 | 
						|
	// @@     The scheduling policy for the model. If not specified the
 | 
						|
	// @@     default scheduling policy is used for the model. The default
 | 
						|
	// @@     policy is to execute each inference request independently.
 | 
						|
	// @@
 | 
						|
	//
 | 
						|
	// Types that are assignable to SchedulingChoice:
 | 
						|
	//
 | 
						|
	//	*ModelConfig_DynamicBatching
 | 
						|
	//	*ModelConfig_SequenceBatching
 | 
						|
	//	*ModelConfig_EnsembleScheduling
 | 
						|
	SchedulingChoice isModelConfig_SchedulingChoice `protobuf_oneof:"scheduling_choice"`
 | 
						|
	// @@  .. cpp:var:: ModelInstanceGroup instance_group (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     Instances of this model. If not specified, one instance
 | 
						|
	// @@     of the model will be instantiated on each available GPU.
 | 
						|
	// @@
 | 
						|
	InstanceGroup []*ModelInstanceGroup `protobuf:"bytes,7,rep,name=instance_group,json=instanceGroup,proto3" json:"instance_group,omitempty"`
 | 
						|
	// @@  .. cpp:var:: string default_model_filename
 | 
						|
	// @@
 | 
						|
	// @@     Optional filename of the model file to use if a
 | 
						|
	// @@     compute-capability specific model is not specified in
 | 
						|
	// @@     :cpp:var:`cc_model_filenames`. If not specified the default name
 | 
						|
	// @@     is 'model.graphdef', 'model.savedmodel', 'model.plan' or
 | 
						|
	// @@     'model.pt' depending on the model type.
 | 
						|
	// @@
 | 
						|
	DefaultModelFilename string `protobuf:"bytes,8,opt,name=default_model_filename,json=defaultModelFilename,proto3" json:"default_model_filename,omitempty"`
 | 
						|
	// @@  .. cpp:var:: map<string,string> cc_model_filenames
 | 
						|
	// @@
 | 
						|
	// @@     Optional map from CUDA compute capability to the filename of
 | 
						|
	// @@     the model that supports that compute capability. The filename
 | 
						|
	// @@     refers to a file within the model version directory.
 | 
						|
	// @@
 | 
						|
	CcModelFilenames map[string]string `protobuf:"bytes,9,rep,name=cc_model_filenames,json=ccModelFilenames,proto3" json:"cc_model_filenames,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
	// @@  .. cpp:var:: map<string,string> metric_tags
 | 
						|
	// @@
 | 
						|
	// @@     Optional metric tags. User-specific key-value pairs for metrics
 | 
						|
	// @@     reported for this model. These tags are applied to the metrics
 | 
						|
	// @@     reported on the HTTP metrics port.
 | 
						|
	// @@
 | 
						|
	MetricTags map[string]string `protobuf:"bytes,10,rep,name=metric_tags,json=metricTags,proto3" json:"metric_tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
	// @@  .. cpp:var:: map<string,ModelParameter> parameters
 | 
						|
	// @@
 | 
						|
	// @@     Optional model parameters. User-specified parameter values.
 | 
						|
	// @@
 | 
						|
	Parameters map[string]*ModelParameter `protobuf:"bytes,14,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
	// @@  .. cpp:var:: ModelWarmup model_warmup (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     Warmup setting of this model. If specified, all instances
 | 
						|
	// @@     will be run with the request samples in sequence before
 | 
						|
	// @@     serving the model.
 | 
						|
	// @@     This field can only be specified if the model is not an ensemble
 | 
						|
	// @@     model.
 | 
						|
	// @@
 | 
						|
	ModelWarmup []*ModelWarmup `protobuf:"bytes,16,rep,name=model_warmup,json=modelWarmup,proto3" json:"model_warmup,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelOperations model_operations
 | 
						|
	// @@
 | 
						|
	// @@     Optional metadata of the libraries providing custom operations for
 | 
						|
	// @@     this model.
 | 
						|
	// @@
 | 
						|
	ModelOperations *ModelOperations `protobuf:"bytes,18,opt,name=model_operations,json=modelOperations,proto3" json:"model_operations,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelTransactionPolicy model_transaction_policy
 | 
						|
	// @@
 | 
						|
	// @@     Optional specification that describes the nature of transactions
 | 
						|
	// @@     to be expected from the model.
 | 
						|
	// @@
 | 
						|
	ModelTransactionPolicy *ModelTransactionPolicy `protobuf:"bytes,19,opt,name=model_transaction_policy,json=modelTransactionPolicy,proto3" json:"model_transaction_policy,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelRepositoryAgents model_repository_agents
 | 
						|
	// @@
 | 
						|
	// @@     Optional specification of the agent(s) that should be invoked
 | 
						|
	// @@     with repository actions are performed for this model.
 | 
						|
	// @@
 | 
						|
	ModelRepositoryAgents *ModelRepositoryAgents `protobuf:"bytes,23,opt,name=model_repository_agents,json=modelRepositoryAgents,proto3" json:"model_repository_agents,omitempty"`
 | 
						|
	// @@  .. cpp:var:: ModelResponseCache response_cache
 | 
						|
	// @@
 | 
						|
	// @@     Optional setting for utilizing the response cache for this
 | 
						|
	// @@     model.
 | 
						|
	// @@
 | 
						|
	ResponseCache *ModelResponseCache `protobuf:"bytes,24,opt,name=response_cache,json=responseCache,proto3" json:"response_cache,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) Reset() {
 | 
						|
	*x = ModelConfig{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[19]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelConfig) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelConfig) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelConfig.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelConfig) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{19}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetPlatform() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Platform
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetBackend() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Backend
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetVersionPolicy() *ModelVersionPolicy {
 | 
						|
	if x != nil {
 | 
						|
		return x.VersionPolicy
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetMaxBatchSize() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MaxBatchSize
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetInput() []*ModelInput {
 | 
						|
	if x != nil {
 | 
						|
		return x.Input
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetOutput() []*ModelOutput {
 | 
						|
	if x != nil {
 | 
						|
		return x.Output
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetBatchInput() []*BatchInput {
 | 
						|
	if x != nil {
 | 
						|
		return x.BatchInput
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetBatchOutput() []*BatchOutput {
 | 
						|
	if x != nil {
 | 
						|
		return x.BatchOutput
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetOptimization() *ModelOptimizationPolicy {
 | 
						|
	if x != nil {
 | 
						|
		return x.Optimization
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (m *ModelConfig) GetSchedulingChoice() isModelConfig_SchedulingChoice {
 | 
						|
	if m != nil {
 | 
						|
		return m.SchedulingChoice
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetDynamicBatching() *ModelDynamicBatching {
 | 
						|
	if x, ok := x.GetSchedulingChoice().(*ModelConfig_DynamicBatching); ok {
 | 
						|
		return x.DynamicBatching
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetSequenceBatching() *ModelSequenceBatching {
 | 
						|
	if x, ok := x.GetSchedulingChoice().(*ModelConfig_SequenceBatching); ok {
 | 
						|
		return x.SequenceBatching
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetEnsembleScheduling() *ModelEnsembling {
 | 
						|
	if x, ok := x.GetSchedulingChoice().(*ModelConfig_EnsembleScheduling); ok {
 | 
						|
		return x.EnsembleScheduling
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetInstanceGroup() []*ModelInstanceGroup {
 | 
						|
	if x != nil {
 | 
						|
		return x.InstanceGroup
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetDefaultModelFilename() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.DefaultModelFilename
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetCcModelFilenames() map[string]string {
 | 
						|
	if x != nil {
 | 
						|
		return x.CcModelFilenames
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetMetricTags() map[string]string {
 | 
						|
	if x != nil {
 | 
						|
		return x.MetricTags
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetParameters() map[string]*ModelParameter {
 | 
						|
	if x != nil {
 | 
						|
		return x.Parameters
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetModelWarmup() []*ModelWarmup {
 | 
						|
	if x != nil {
 | 
						|
		return x.ModelWarmup
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetModelOperations() *ModelOperations {
 | 
						|
	if x != nil {
 | 
						|
		return x.ModelOperations
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetModelTransactionPolicy() *ModelTransactionPolicy {
 | 
						|
	if x != nil {
 | 
						|
		return x.ModelTransactionPolicy
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetModelRepositoryAgents() *ModelRepositoryAgents {
 | 
						|
	if x != nil {
 | 
						|
		return x.ModelRepositoryAgents
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelConfig) GetResponseCache() *ModelResponseCache {
 | 
						|
	if x != nil {
 | 
						|
		return x.ResponseCache
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type isModelConfig_SchedulingChoice interface {
 | 
						|
	isModelConfig_SchedulingChoice()
 | 
						|
}
 | 
						|
 | 
						|
type ModelConfig_DynamicBatching struct {
 | 
						|
	// @@    .. cpp:var:: ModelDynamicBatching dynamic_batching
 | 
						|
	// @@
 | 
						|
	// @@       If specified, enables the dynamic-batching scheduling
 | 
						|
	// @@       policy. With dynamic-batching the scheduler may group
 | 
						|
	// @@       together independent requests into a single batch to
 | 
						|
	// @@       improve inference throughput.
 | 
						|
	// @@
 | 
						|
	DynamicBatching *ModelDynamicBatching `protobuf:"bytes,11,opt,name=dynamic_batching,json=dynamicBatching,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type ModelConfig_SequenceBatching struct {
 | 
						|
	// @@    .. cpp:var:: ModelSequenceBatching sequence_batching
 | 
						|
	// @@
 | 
						|
	// @@       If specified, enables the sequence-batching scheduling
 | 
						|
	// @@       policy. With sequence-batching, inference requests
 | 
						|
	// @@       with the same correlation ID are routed to the same
 | 
						|
	// @@       model instance. Multiple sequences of inference requests
 | 
						|
	// @@       may be batched together into a single batch to
 | 
						|
	// @@       improve inference throughput.
 | 
						|
	// @@
 | 
						|
	SequenceBatching *ModelSequenceBatching `protobuf:"bytes,13,opt,name=sequence_batching,json=sequenceBatching,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type ModelConfig_EnsembleScheduling struct {
 | 
						|
	// @@    .. cpp:var:: ModelEnsembling ensemble_scheduling
 | 
						|
	// @@
 | 
						|
	// @@       If specified, enables the model-ensembling scheduling
 | 
						|
	// @@       policy. With model-ensembling, inference requests
 | 
						|
	// @@       will be processed according to the specification, such as an
 | 
						|
	// @@       execution sequence of models. The input specified in this model
 | 
						|
	// @@       config will be the input for the ensemble, and the output
 | 
						|
	// @@       specified will be the output of the ensemble.
 | 
						|
	// @@
 | 
						|
	EnsembleScheduling *ModelEnsembling `protobuf:"bytes,15,opt,name=ensemble_scheduling,json=ensembleScheduling,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelConfig_DynamicBatching) isModelConfig_SchedulingChoice() {}
 | 
						|
 | 
						|
func (*ModelConfig_SequenceBatching) isModelConfig_SchedulingChoice() {}
 | 
						|
 | 
						|
func (*ModelConfig_EnsembleScheduling) isModelConfig_SchedulingChoice() {}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message Resource
 | 
						|
// @@
 | 
						|
// @@     The resource property.
 | 
						|
// @@
 | 
						|
type ModelRateLimiter_Resource struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@     The name associated with the resource.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@  .. cpp:var:: bool global
 | 
						|
	// @@
 | 
						|
	// @@     Whether or not the resource is global. If true then the resource
 | 
						|
	// @@     is assumed to be shared among the devices otherwise specified
 | 
						|
	// @@     count of the resource is assumed for each device associated
 | 
						|
	// @@     with the instance.
 | 
						|
	// @@
 | 
						|
	Global bool `protobuf:"varint,2,opt,name=global,proto3" json:"global,omitempty"`
 | 
						|
	// @@  .. cpp:var:: uint32 count
 | 
						|
	// @@
 | 
						|
	// @@     The number of resources required for the execution of the model
 | 
						|
	// @@     instance.
 | 
						|
	// @@
 | 
						|
	Count uint32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter_Resource) Reset() {
 | 
						|
	*x = ModelRateLimiter_Resource{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[20]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter_Resource) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelRateLimiter_Resource) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelRateLimiter_Resource) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelRateLimiter_Resource.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelRateLimiter_Resource) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{0, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter_Resource) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter_Resource) GetGlobal() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.Global
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRateLimiter_Resource) GetCount() uint32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Count
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message SecondaryDevice
 | 
						|
// @@
 | 
						|
// @@     A secondary device required for a model instance.
 | 
						|
// @@
 | 
						|
type ModelInstanceGroup_SecondaryDevice struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: SecondaryDeviceKind kind
 | 
						|
	// @@
 | 
						|
	// @@     The secondary device kind.
 | 
						|
	// @@
 | 
						|
	Kind ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind `protobuf:"varint,1,opt,name=kind,proto3,enum=inference.v1.ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind" json:"kind,omitempty"`
 | 
						|
	// @@  .. cpp:var:: int64 device_id
 | 
						|
	// @@
 | 
						|
	// @@     Identifier for the secondary device.
 | 
						|
	// @@
 | 
						|
	DeviceId int64 `protobuf:"varint,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup_SecondaryDevice) Reset() {
 | 
						|
	*x = ModelInstanceGroup_SecondaryDevice{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[21]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup_SecondaryDevice) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelInstanceGroup_SecondaryDevice) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup_SecondaryDevice) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelInstanceGroup_SecondaryDevice.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelInstanceGroup_SecondaryDevice) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{1, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup_SecondaryDevice) GetKind() ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind {
 | 
						|
	if x != nil {
 | 
						|
		return x.Kind
 | 
						|
	}
 | 
						|
	return ModelInstanceGroup_SecondaryDevice_KIND_NVDLA
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelInstanceGroup_SecondaryDevice) GetDeviceId() int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.DeviceId
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message Latest
 | 
						|
// @@
 | 
						|
// @@     Serve only the latest version(s) of a model. This is
 | 
						|
// @@     the default policy.
 | 
						|
// @@
 | 
						|
type ModelVersionPolicy_Latest struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: uint32 num_versions
 | 
						|
	// @@
 | 
						|
	// @@       Serve only the 'num_versions' highest-numbered versions. T
 | 
						|
	// @@       The default value of 'num_versions' is 1, indicating that by
 | 
						|
	// @@       default only the single highest-number version of a
 | 
						|
	// @@       model will be served.
 | 
						|
	// @@
 | 
						|
	NumVersions uint32 `protobuf:"varint,1,opt,name=num_versions,json=numVersions,proto3" json:"num_versions,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_Latest) Reset() {
 | 
						|
	*x = ModelVersionPolicy_Latest{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[22]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_Latest) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelVersionPolicy_Latest) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_Latest) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelVersionPolicy_Latest.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelVersionPolicy_Latest) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{7, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_Latest) GetNumVersions() uint32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.NumVersions
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message All
 | 
						|
// @@
 | 
						|
// @@     Serve all versions of the model.
 | 
						|
// @@
 | 
						|
type ModelVersionPolicy_All struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_All) Reset() {
 | 
						|
	*x = ModelVersionPolicy_All{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[23]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_All) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelVersionPolicy_All) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_All) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelVersionPolicy_All.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelVersionPolicy_All) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{7, 1}
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message Specific
 | 
						|
// @@
 | 
						|
// @@     Serve only specific versions of the model.
 | 
						|
// @@
 | 
						|
type ModelVersionPolicy_Specific struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: int64 versions (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The specific versions of the model that will be served.
 | 
						|
	// @@
 | 
						|
	Versions []int64 `protobuf:"varint,1,rep,packed,name=versions,proto3" json:"versions,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_Specific) Reset() {
 | 
						|
	*x = ModelVersionPolicy_Specific{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[24]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_Specific) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelVersionPolicy_Specific) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_Specific) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelVersionPolicy_Specific.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelVersionPolicy_Specific) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{7, 2}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelVersionPolicy_Specific) GetVersions() []int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Versions
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message Graph
 | 
						|
// @@
 | 
						|
// @@     Enable generic graph optimization of the model. If not specified
 | 
						|
// @@     the framework's default level of optimization is used. Supports
 | 
						|
// @@     TensorFlow graphdef and savedmodel and Onnx models. For TensorFlow
 | 
						|
// @@     causes XLA to be enabled/disabled for the model. For Onnx defaults
 | 
						|
// @@     to enabling all optimizations, -1 enables only basic optimizations,
 | 
						|
// @@     +1 enables only basic and extended optimizations.
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy_Graph struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: int32 level
 | 
						|
	// @@
 | 
						|
	// @@       The optimization level. Defaults to 0 (zero) if not specified.
 | 
						|
	// @@
 | 
						|
	// @@         - -1: Disabled
 | 
						|
	// @@         -  0: Framework default
 | 
						|
	// @@         -  1+: Enable optimization level (greater values indicate
 | 
						|
	// @@            higher optimization levels)
 | 
						|
	// @@
 | 
						|
	Level int32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Graph) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy_Graph{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[25]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Graph) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy_Graph) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Graph) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy_Graph.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy_Graph) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Graph) GetLevel() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Level
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message Cuda
 | 
						|
// @@
 | 
						|
// @@     CUDA-specific optimization settings.
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy_Cuda struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: bool graphs
 | 
						|
	// @@
 | 
						|
	// @@       Use CUDA graphs API to capture model operations and execute
 | 
						|
	// @@       them more efficiently. Default value is false.
 | 
						|
	// @@       Currently only recognized by TensorRT backend.
 | 
						|
	// @@
 | 
						|
	Graphs bool `protobuf:"varint,1,opt,name=graphs,proto3" json:"graphs,omitempty"`
 | 
						|
	// @@    .. cpp:var:: bool busy_wait_events
 | 
						|
	// @@
 | 
						|
	// @@       Use busy-waiting to synchronize CUDA events to achieve minimum
 | 
						|
	// @@       latency from event complete to host thread to be notified, with
 | 
						|
	// @@       the cost of high CPU load. Default value is false.
 | 
						|
	// @@       Currently only recognized by TensorRT backend.
 | 
						|
	// @@
 | 
						|
	BusyWaitEvents bool `protobuf:"varint,2,opt,name=busy_wait_events,json=busyWaitEvents,proto3" json:"busy_wait_events,omitempty"`
 | 
						|
	// @@    .. cpp:var:: GraphSpec graph_spec (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       Specification of the CUDA graph to be captured. If not specified
 | 
						|
	// @@       and 'graphs' is true, the default CUDA graphs will be captured
 | 
						|
	// @@       based on model settings.
 | 
						|
	// @@       Currently only recognized by TensorRT backend.
 | 
						|
	// @@
 | 
						|
	GraphSpec []*ModelOptimizationPolicy_Cuda_GraphSpec `protobuf:"bytes,3,rep,name=graph_spec,json=graphSpec,proto3" json:"graph_spec,omitempty"`
 | 
						|
	// @@    .. cpp:var:: bool output_copy_stream
 | 
						|
	// @@
 | 
						|
	// @@       Uses a CUDA stream separate from the inference stream to copy the
 | 
						|
	// @@       output to host. However, be aware that setting this option to
 | 
						|
	// @@       true will lead to an increase in the memory consumption of the
 | 
						|
	// @@       model as Triton will allocate twice as much GPU memory for its
 | 
						|
	// @@       I/O tensor buffers. Default value is false.
 | 
						|
	// @@       Currently only recognized by TensorRT backend.
 | 
						|
	// @@
 | 
						|
	OutputCopyStream bool `protobuf:"varint,4,opt,name=output_copy_stream,json=outputCopyStream,proto3" json:"output_copy_stream,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy_Cuda{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[26]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy_Cuda) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy_Cuda.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy_Cuda) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 1}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda) GetGraphs() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.Graphs
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda) GetBusyWaitEvents() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.BusyWaitEvents
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda) GetGraphSpec() []*ModelOptimizationPolicy_Cuda_GraphSpec {
 | 
						|
	if x != nil {
 | 
						|
		return x.GraphSpec
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda) GetOutputCopyStream() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.OutputCopyStream
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message ExecutionAccelerators
 | 
						|
// @@
 | 
						|
// @@     Specify the preferred execution accelerators to be used to execute
 | 
						|
// @@     the model. Currently only recognized by ONNX Runtime backend and
 | 
						|
// @@     TensorFlow backend.
 | 
						|
// @@
 | 
						|
// @@     For ONNX Runtime backend, it will deploy the model with the execution
 | 
						|
// @@     accelerators by priority, the priority is determined based on the
 | 
						|
// @@     order that they are set, i.e. the provider at the front has highest
 | 
						|
// @@     priority. Overall, the priority will be in the following order:
 | 
						|
// @@         <gpu_execution_accelerator> (if instance is on GPU)
 | 
						|
// @@         CUDA Execution Provider     (if instance is on GPU)
 | 
						|
// @@         <cpu_execution_accelerator>
 | 
						|
// @@         Default CPU Execution Provider
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy_ExecutionAccelerators struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: Accelerator gpu_execution_accelerator (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The preferred execution provider to be used if the model instance
 | 
						|
	// @@       is deployed on GPU.
 | 
						|
	// @@
 | 
						|
	// @@       For ONNX Runtime backend, possible value is "tensorrt" as name,
 | 
						|
	// @@       and no parameters are required.
 | 
						|
	// @@
 | 
						|
	// @@       For TensorFlow backend, possible values are "tensorrt",
 | 
						|
	// @@       "auto_mixed_precision", "gpu_io".
 | 
						|
	// @@
 | 
						|
	// @@       For "tensorrt", the following parameters can be specified:
 | 
						|
	// @@         "precision_mode": The precision used for optimization.
 | 
						|
	// @@         Allowed values are "FP32" and "FP16". Default value is "FP32".
 | 
						|
	// @@
 | 
						|
	// @@         "max_cached_engines": The maximum number of cached TensorRT
 | 
						|
	// @@         engines in dynamic TensorRT ops. Default value is 100.
 | 
						|
	// @@
 | 
						|
	// @@         "minimum_segment_size": The smallest model subgraph that will
 | 
						|
	// @@         be considered for optimization by TensorRT. Default value is 3.
 | 
						|
	// @@
 | 
						|
	// @@         "max_workspace_size_bytes": The maximum GPU memory the model
 | 
						|
	// @@         can use temporarily during execution. Default value is 1GB.
 | 
						|
	// @@
 | 
						|
	// @@       For "auto_mixed_precision", no parameters are required. If set,
 | 
						|
	// @@       the model will try to use FP16 for better performance.
 | 
						|
	// @@       This optimization can not be set with "tensorrt".
 | 
						|
	// @@
 | 
						|
	// @@       For "gpu_io", no parameters are required. If set, the model will
 | 
						|
	// @@       be executed using TensorFlow Callable API to set input and output
 | 
						|
	// @@       tensors in GPU memory if possible, which can reduce data transfer
 | 
						|
	// @@       overhead if the model is used in ensemble. However, the Callable
 | 
						|
	// @@       object will be created on model creation and it will request all
 | 
						|
	// @@       outputs for every model execution, which may impact the
 | 
						|
	// @@       performance if a request does not require all outputs. This
 | 
						|
	// @@       optimization will only take affect if the model instance is
 | 
						|
	// @@       created with KIND_GPU.
 | 
						|
	// @@
 | 
						|
	GpuExecutionAccelerator []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator `protobuf:"bytes,1,rep,name=gpu_execution_accelerator,json=gpuExecutionAccelerator,proto3" json:"gpu_execution_accelerator,omitempty"`
 | 
						|
	// @@    .. cpp:var:: Accelerator cpu_execution_accelerator (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The preferred execution provider to be used if the model instance
 | 
						|
	// @@       is deployed on CPU.
 | 
						|
	// @@
 | 
						|
	// @@       For ONNX Runtime backend, possible value is "openvino" as name,
 | 
						|
	// @@       and no parameters are required.
 | 
						|
	// @@
 | 
						|
	CpuExecutionAccelerator []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator `protobuf:"bytes,2,rep,name=cpu_execution_accelerator,json=cpuExecutionAccelerator,proto3" json:"cpu_execution_accelerator,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy_ExecutionAccelerators{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[27]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy_ExecutionAccelerators) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy_ExecutionAccelerators.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy_ExecutionAccelerators) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 2}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) GetGpuExecutionAccelerator() []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator {
 | 
						|
	if x != nil {
 | 
						|
		return x.GpuExecutionAccelerator
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators) GetCpuExecutionAccelerator() []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator {
 | 
						|
	if x != nil {
 | 
						|
		return x.CpuExecutionAccelerator
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message PinnedMemoryBuffer
 | 
						|
// @@
 | 
						|
// @@     Specify whether to use a pinned memory buffer when transferring data
 | 
						|
// @@     between non-pinned system memory and GPU memory. Using a pinned
 | 
						|
// @@     memory buffer for system from/to GPU transfers will typically provide
 | 
						|
// @@     increased performance. For example, in the common use case where the
 | 
						|
// @@     request provides inputs and delivers outputs via non-pinned system
 | 
						|
// @@     memory, if the model instance accepts GPU IOs, the inputs will be
 | 
						|
// @@     processed by two copies: from non-pinned system memory to pinned
 | 
						|
// @@     memory, and from pinned memory to GPU memory. Similarly, pinned
 | 
						|
// @@     memory will be used for delivering the outputs.
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy_PinnedMemoryBuffer struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: bool enable
 | 
						|
	// @@
 | 
						|
	// @@       Use pinned memory buffer. Default is true.
 | 
						|
	// @@
 | 
						|
	Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy_PinnedMemoryBuffer{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[28]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy_PinnedMemoryBuffer) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy_PinnedMemoryBuffer.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy_PinnedMemoryBuffer) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 3}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) GetEnable() bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.Enable
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
// @@    .. cpp:var:: message GraphSpec
 | 
						|
// @@
 | 
						|
// @@       Specification of the CUDA graph to be captured.
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy_Cuda_GraphSpec struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@      .. cpp:var:: int32 batch_size
 | 
						|
	// @@
 | 
						|
	// @@         The batch size of the CUDA graph. If 'max_batch_size' is 0,
 | 
						|
	// @@         'batch_size' must be set to 0. Otherwise, 'batch_size' must
 | 
						|
	// @@         be set to value between 1 and 'max_batch_size'.
 | 
						|
	// @@
 | 
						|
	BatchSize int32 `protobuf:"varint,1,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
 | 
						|
	// @@      .. cpp:var:: map<string, Shape> input
 | 
						|
	// @@
 | 
						|
	// @@         The specification of the inputs. 'Shape' is the shape of the
 | 
						|
	// @@         input without batching dimension.
 | 
						|
	// @@
 | 
						|
	Input map[string]*ModelOptimizationPolicy_Cuda_GraphSpec_Shape `protobuf:"bytes,2,rep,name=input,proto3" json:"input,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
	// @@      .. cpp:var:: LowerBound graph_lower_bound
 | 
						|
	// @@
 | 
						|
	// @@         Specify the lower bound of the CUDA graph. Optional.
 | 
						|
	// @@         If specified, the graph can be used for input shapes and
 | 
						|
	// @@         batch sizes that are in closed interval between the lower
 | 
						|
	// @@         bound specification and graph specification. For dynamic
 | 
						|
	// @@         shape model, this allows CUDA graphs to be launched
 | 
						|
	// @@         frequently without capturing all possible shape combinations.
 | 
						|
	// @@         However, using graph for shape combinations different from
 | 
						|
	// @@         the one used for capturing introduces uninitialized data for
 | 
						|
	// @@         execution and it may distort the inference result if
 | 
						|
	// @@         the model is sensitive to uninitialized data.
 | 
						|
	// @@
 | 
						|
	GraphLowerBound *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound `protobuf:"bytes,3,opt,name=graph_lower_bound,json=graphLowerBound,proto3" json:"graph_lower_bound,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy_Cuda_GraphSpec{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[29]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy_Cuda_GraphSpec) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy_Cuda_GraphSpec.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy_Cuda_GraphSpec) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 1, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) GetBatchSize() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.BatchSize
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) GetInput() map[string]*ModelOptimizationPolicy_Cuda_GraphSpec_Shape {
 | 
						|
	if x != nil {
 | 
						|
		return x.Input
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) GetGraphLowerBound() *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound {
 | 
						|
	if x != nil {
 | 
						|
		return x.GraphLowerBound
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@      .. cpp:var:: message Dims
 | 
						|
// @@
 | 
						|
// @@         Specification of tensor dimension.
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy_Cuda_GraphSpec_Shape struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@        .. cpp:var:: int64 dim (repeated)
 | 
						|
	// @@
 | 
						|
	// @@           The dimension.
 | 
						|
	// @@
 | 
						|
	Dim []int64 `protobuf:"varint,1,rep,packed,name=dim,proto3" json:"dim,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy_Cuda_GraphSpec_Shape{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[30]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy_Cuda_GraphSpec_Shape) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy_Cuda_GraphSpec_Shape.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy_Cuda_GraphSpec_Shape) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 1, 0, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) GetDim() []int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Dim
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
type ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@      .. cpp:var:: int32 batch_size
 | 
						|
	// @@
 | 
						|
	// @@         The batch size of the CUDA graph. If 'max_batch_size' is 0,
 | 
						|
	// @@         'batch_size' must be set to 0. Otherwise, 'batch_size' must
 | 
						|
	// @@         be set to value between 1 and 'max_batch_size'.
 | 
						|
	// @@
 | 
						|
	BatchSize int32 `protobuf:"varint,1,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
 | 
						|
	// @@      .. cpp:var:: map<string, Shape> input
 | 
						|
	// @@
 | 
						|
	// @@         The specification of the inputs. 'Shape' is the shape of
 | 
						|
	// @@         the input without batching dimension.
 | 
						|
	// @@
 | 
						|
	Input map[string]*ModelOptimizationPolicy_Cuda_GraphSpec_Shape `protobuf:"bytes,2,rep,name=input,proto3" json:"input,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[31]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 1, 0, 1}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) GetBatchSize() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.BatchSize
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) GetInput() map[string]*ModelOptimizationPolicy_Cuda_GraphSpec_Shape {
 | 
						|
	if x != nil {
 | 
						|
		return x.Input
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message Accelerator
 | 
						|
// @@
 | 
						|
// @@     Specify the accelerator to be used to execute the model.
 | 
						|
// @@     Accelerator with the same name may accept different parameters
 | 
						|
// @@     depending on the backends.
 | 
						|
// @@
 | 
						|
type ModelOptimizationPolicy_ExecutionAccelerators_Accelerator struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@       The name of the execution accelerator.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@    .. cpp:var:: map<string, string> parameters
 | 
						|
	// @@
 | 
						|
	// @@       Additional paremeters used to configure the accelerator.
 | 
						|
	// @@
 | 
						|
	Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) Reset() {
 | 
						|
	*x = ModelOptimizationPolicy_ExecutionAccelerators_Accelerator{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[34]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelOptimizationPolicy_ExecutionAccelerators_Accelerator.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{8, 2, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) GetParameters() map[string]string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Parameters
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message Control
 | 
						|
// @@
 | 
						|
// @@     A control is a signal that the sequence batcher uses to
 | 
						|
// @@     communicate with a backend.
 | 
						|
// @@
 | 
						|
type ModelSequenceBatching_Control struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: Kind kind
 | 
						|
	// @@
 | 
						|
	// @@       The kind of this control.
 | 
						|
	// @@
 | 
						|
	Kind ModelSequenceBatching_Control_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=inference.v1.ModelSequenceBatching_Control_Kind" json:"kind,omitempty"`
 | 
						|
	// @@    .. cpp:var:: int32 int32_false_true (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The control's true and false setting is indicated by setting
 | 
						|
	// @@       a value in an int32 tensor. The tensor must be a
 | 
						|
	// @@       1-dimensional tensor with size equal to the batch size of
 | 
						|
	// @@       the request. 'int32_false_true' must have two entries: the
 | 
						|
	// @@       first the false value and the second the true value.
 | 
						|
	// @@
 | 
						|
	Int32FalseTrue []int32 `protobuf:"varint,2,rep,packed,name=int32_false_true,json=int32FalseTrue,proto3" json:"int32_false_true,omitempty"`
 | 
						|
	// @@    .. cpp:var:: float fp32_false_true (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The control's true and false setting is indicated by setting
 | 
						|
	// @@       a value in a fp32 tensor. The tensor must be a
 | 
						|
	// @@       1-dimensional tensor with size equal to the batch size of
 | 
						|
	// @@       the request. 'fp32_false_true' must have two entries: the
 | 
						|
	// @@       first the false value and the second the true value.
 | 
						|
	// @@
 | 
						|
	Fp32FalseTrue []float32 `protobuf:"fixed32,3,rep,packed,name=fp32_false_true,json=fp32FalseTrue,proto3" json:"fp32_false_true,omitempty"`
 | 
						|
	// @@    .. cpp:var:: bool bool_false_true (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The control's true and false setting is indicated by setting
 | 
						|
	// @@       a value in a bool tensor. The tensor must be a
 | 
						|
	// @@       1-dimensional tensor with size equal to the batch size of
 | 
						|
	// @@       the request. 'bool_false_true' must have two entries: the
 | 
						|
	// @@       first the false value and the second the true value.
 | 
						|
	// @@
 | 
						|
	BoolFalseTrue []bool `protobuf:"varint,5,rep,packed,name=bool_false_true,json=boolFalseTrue,proto3" json:"bool_false_true,omitempty"`
 | 
						|
	// @@    .. cpp:var:: DataType data_type
 | 
						|
	// @@
 | 
						|
	// @@       The control's datatype.
 | 
						|
	// @@
 | 
						|
	DataType DataType `protobuf:"varint,4,opt,name=data_type,json=dataType,proto3,enum=inference.v1.DataType" json:"data_type,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_Control) Reset() {
 | 
						|
	*x = ModelSequenceBatching_Control{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[37]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_Control) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_Control) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_Control) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelSequenceBatching_Control.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelSequenceBatching_Control) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{11, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_Control) GetKind() ModelSequenceBatching_Control_Kind {
 | 
						|
	if x != nil {
 | 
						|
		return x.Kind
 | 
						|
	}
 | 
						|
	return ModelSequenceBatching_Control_CONTROL_SEQUENCE_START
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_Control) GetInt32FalseTrue() []int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Int32FalseTrue
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_Control) GetFp32FalseTrue() []float32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Fp32FalseTrue
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_Control) GetBoolFalseTrue() []bool {
 | 
						|
	if x != nil {
 | 
						|
		return x.BoolFalseTrue
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_Control) GetDataType() DataType {
 | 
						|
	if x != nil {
 | 
						|
		return x.DataType
 | 
						|
	}
 | 
						|
	return DataType_TYPE_INVALID
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message ControlInput
 | 
						|
// @@
 | 
						|
// @@     The sequence control values to communicate by a model input.
 | 
						|
// @@
 | 
						|
type ModelSequenceBatching_ControlInput struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@       The name of the model input.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@    .. cpp:var:: Control control (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The control value(s) that should be communicated to the
 | 
						|
	// @@       model using this model input.
 | 
						|
	// @@
 | 
						|
	Control []*ModelSequenceBatching_Control `protobuf:"bytes,2,rep,name=control,proto3" json:"control,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_ControlInput) Reset() {
 | 
						|
	*x = ModelSequenceBatching_ControlInput{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[38]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_ControlInput) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_ControlInput) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_ControlInput) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelSequenceBatching_ControlInput.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelSequenceBatching_ControlInput) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{11, 1}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_ControlInput) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_ControlInput) GetControl() []*ModelSequenceBatching_Control {
 | 
						|
	if x != nil {
 | 
						|
		return x.Control
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message InitialState
 | 
						|
// @@
 | 
						|
// @@     Settings used to initialize data for implicit state.
 | 
						|
// @@
 | 
						|
type ModelSequenceBatching_InitialState struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@      .. cpp:var:: DataType data_type
 | 
						|
	// @@
 | 
						|
	// @@         The data-type of the state.
 | 
						|
	// @@
 | 
						|
	DataType DataType `protobuf:"varint,1,opt,name=data_type,json=dataType,proto3,enum=inference.v1.DataType" json:"data_type,omitempty"`
 | 
						|
	// @@      .. cpp:var:: int64 dims (repeated)
 | 
						|
	// @@
 | 
						|
	// @@         The shape of the state tensor, not including the batch
 | 
						|
	// @@         dimension.
 | 
						|
	// @@
 | 
						|
	Dims []int64 `protobuf:"varint,2,rep,packed,name=dims,proto3" json:"dims,omitempty"`
 | 
						|
	// @@      .. cpp:var:: oneof state_data
 | 
						|
	// @@
 | 
						|
	// @@         Specify how the initial state data is generated.
 | 
						|
	// @@
 | 
						|
	//
 | 
						|
	// Types that are assignable to StateData:
 | 
						|
	//
 | 
						|
	//	*ModelSequenceBatching_InitialState_ZeroData
 | 
						|
	//	*ModelSequenceBatching_InitialState_DataFile
 | 
						|
	StateData isModelSequenceBatching_InitialState_StateData `protobuf_oneof:"state_data"`
 | 
						|
	// @@  .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@     The name of the state initialization.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_InitialState) Reset() {
 | 
						|
	*x = ModelSequenceBatching_InitialState{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[39]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_InitialState) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_InitialState) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_InitialState) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_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 ModelSequenceBatching_InitialState.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelSequenceBatching_InitialState) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{11, 2}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_InitialState) GetDataType() DataType {
 | 
						|
	if x != nil {
 | 
						|
		return x.DataType
 | 
						|
	}
 | 
						|
	return DataType_TYPE_INVALID
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_InitialState) GetDims() []int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Dims
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (m *ModelSequenceBatching_InitialState) GetStateData() isModelSequenceBatching_InitialState_StateData {
 | 
						|
	if m != nil {
 | 
						|
		return m.StateData
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_InitialState) GetZeroData() bool {
 | 
						|
	if x, ok := x.GetStateData().(*ModelSequenceBatching_InitialState_ZeroData); ok {
 | 
						|
		return x.ZeroData
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_InitialState) GetDataFile() string {
 | 
						|
	if x, ok := x.GetStateData().(*ModelSequenceBatching_InitialState_DataFile); ok {
 | 
						|
		return x.DataFile
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_InitialState) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type isModelSequenceBatching_InitialState_StateData interface {
 | 
						|
	isModelSequenceBatching_InitialState_StateData()
 | 
						|
}
 | 
						|
 | 
						|
type ModelSequenceBatching_InitialState_ZeroData struct {
 | 
						|
	// @@
 | 
						|
	// @@      .. cpp:var:: bool zero_data
 | 
						|
	// @@
 | 
						|
	// @@         The identifier for using zeros as initial state data.
 | 
						|
	// @@         Note that the value of 'zero_data' will not be checked,
 | 
						|
	// @@         instead, zero data will be used as long as the field is set.
 | 
						|
	// @@
 | 
						|
	ZeroData bool `protobuf:"varint,3,opt,name=zero_data,json=zeroData,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type ModelSequenceBatching_InitialState_DataFile struct {
 | 
						|
	// @@      .. cpp:var:: string data_file
 | 
						|
	// @@
 | 
						|
	// @@         The file whose content will be used as the initial data for
 | 
						|
	// @@         the state in row-major order. The file must be provided in
 | 
						|
	// @@         sub-directory 'initial_state' under the model directory.
 | 
						|
	// @@
 | 
						|
	DataFile string `protobuf:"bytes,4,opt,name=data_file,json=dataFile,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_InitialState_ZeroData) isModelSequenceBatching_InitialState_StateData() {
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_InitialState_DataFile) isModelSequenceBatching_InitialState_StateData() {
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message State
 | 
						|
// @@
 | 
						|
// @@     An input / output pair of tensors that carry state for the sequence.
 | 
						|
// @@
 | 
						|
type ModelSequenceBatching_State struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: string input_name
 | 
						|
	// @@
 | 
						|
	// @@       The name of the model state input.
 | 
						|
	// @@
 | 
						|
	InputName string `protobuf:"bytes,1,opt,name=input_name,json=inputName,proto3" json:"input_name,omitempty"`
 | 
						|
	// @@    .. cpp:var:: string output_name
 | 
						|
	// @@
 | 
						|
	// @@       The name of the model state output.
 | 
						|
	// @@
 | 
						|
	OutputName string `protobuf:"bytes,2,opt,name=output_name,json=outputName,proto3" json:"output_name,omitempty"`
 | 
						|
	// @@    .. cpp:var:: DataType data_type
 | 
						|
	// @@
 | 
						|
	// @@       The data-type of the state.
 | 
						|
	// @@
 | 
						|
	DataType DataType `protobuf:"varint,3,opt,name=data_type,json=dataType,proto3,enum=inference.v1.DataType" json:"data_type,omitempty"`
 | 
						|
	// @@    .. cpp:var:: int64 dim (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The dimension.
 | 
						|
	// @@
 | 
						|
	Dims []int64 `protobuf:"varint,4,rep,packed,name=dims,proto3" json:"dims,omitempty"`
 | 
						|
	// @@  .. cpp:var:: InitialState initial_state (repeated)
 | 
						|
	// @@
 | 
						|
	// @@     The optional field to specify the initial state for the model.
 | 
						|
	// @@
 | 
						|
	InitialState []*ModelSequenceBatching_InitialState `protobuf:"bytes,5,rep,name=initial_state,json=initialState,proto3" json:"initial_state,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_State) Reset() {
 | 
						|
	*x = ModelSequenceBatching_State{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[40]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_State) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_State) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_State) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[40]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelSequenceBatching_State.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelSequenceBatching_State) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{11, 3}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_State) GetInputName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.InputName
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_State) GetOutputName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.OutputName
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_State) GetDataType() DataType {
 | 
						|
	if x != nil {
 | 
						|
		return x.DataType
 | 
						|
	}
 | 
						|
	return DataType_TYPE_INVALID
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_State) GetDims() []int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Dims
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_State) GetInitialState() []*ModelSequenceBatching_InitialState {
 | 
						|
	if x != nil {
 | 
						|
		return x.InitialState
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message StrategyDirect
 | 
						|
// @@
 | 
						|
// @@     The sequence batcher uses a specific, unique batch
 | 
						|
// @@     slot for each sequence. All inference requests in a
 | 
						|
// @@     sequence are directed to the same batch slot in the same
 | 
						|
// @@     model instance over the lifetime of the sequence. This
 | 
						|
// @@     is the default strategy.
 | 
						|
// @@
 | 
						|
type ModelSequenceBatching_StrategyDirect struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: uint64 max_queue_delay_microseconds
 | 
						|
	// @@
 | 
						|
	// @@       The maximum time, in microseconds, a candidate request
 | 
						|
	// @@       will be delayed in the sequence batch scheduling queue to
 | 
						|
	// @@       wait for additional requests for batching. Default is 0.
 | 
						|
	// @@
 | 
						|
	MaxQueueDelayMicroseconds uint64 `protobuf:"varint,1,opt,name=max_queue_delay_microseconds,json=maxQueueDelayMicroseconds,proto3" json:"max_queue_delay_microseconds,omitempty"`
 | 
						|
	// @@    .. cpp:var:: float minimum_slot_utilization
 | 
						|
	// @@
 | 
						|
	// @@       The minimum slot utilization that must be satisfied to
 | 
						|
	// @@       execute the batch before 'max_queue_delay_microseconds' expires.
 | 
						|
	// @@       For example, a value of 0.5 indicates that the batch should be
 | 
						|
	// @@       executed as soon as 50% or more of the slots are ready even if
 | 
						|
	// @@       the 'max_queue_delay_microseconds' timeout has not expired.
 | 
						|
	// @@       The default is 0.0, indicating that a batch will be executed
 | 
						|
	// @@       before 'max_queue_delay_microseconds' timeout expires if at least
 | 
						|
	// @@       one batch slot is ready. 'max_queue_delay_microseconds' will be
 | 
						|
	// @@       ignored unless minimum_slot_utilization is set to a non-zero
 | 
						|
	// @@       value.
 | 
						|
	// @@
 | 
						|
	MinimumSlotUtilization float32 `protobuf:"fixed32,2,opt,name=minimum_slot_utilization,json=minimumSlotUtilization,proto3" json:"minimum_slot_utilization,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyDirect) Reset() {
 | 
						|
	*x = ModelSequenceBatching_StrategyDirect{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[41]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyDirect) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_StrategyDirect) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyDirect) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[41]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelSequenceBatching_StrategyDirect.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelSequenceBatching_StrategyDirect) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{11, 4}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyDirect) GetMaxQueueDelayMicroseconds() uint64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MaxQueueDelayMicroseconds
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyDirect) GetMinimumSlotUtilization() float32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MinimumSlotUtilization
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message StrategyOldest
 | 
						|
// @@
 | 
						|
// @@     The sequence batcher maintains up to 'max_candidate_sequences'
 | 
						|
// @@     candidate sequences. 'max_candidate_sequences' can be greater
 | 
						|
// @@     than the model's 'max_batch_size'. For inferencing the batcher
 | 
						|
// @@     chooses from the candidate sequences up to 'max_batch_size'
 | 
						|
// @@     inference requests. Requests are chosen in an oldest-first
 | 
						|
// @@     manner across all candidate sequences. A given sequence is
 | 
						|
// @@     not guaranteed to be assigned to the same batch slot for
 | 
						|
// @@     all inference requests of that sequence.
 | 
						|
// @@
 | 
						|
type ModelSequenceBatching_StrategyOldest struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: int32 max_candidate_sequences
 | 
						|
	// @@
 | 
						|
	// @@       Maximum number of candidate sequences that the batcher
 | 
						|
	// @@       maintains. Excess seqences are kept in an ordered backlog
 | 
						|
	// @@       and become candidates when existing candidate sequences
 | 
						|
	// @@       complete.
 | 
						|
	// @@
 | 
						|
	MaxCandidateSequences int32 `protobuf:"varint,1,opt,name=max_candidate_sequences,json=maxCandidateSequences,proto3" json:"max_candidate_sequences,omitempty"`
 | 
						|
	// @@    .. cpp:var:: int32 preferred_batch_size (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       Preferred batch sizes for dynamic batching of candidate
 | 
						|
	// @@       sequences. If a batch of one of these sizes can be formed
 | 
						|
	// @@       it will be executed immediately. If not specified a
 | 
						|
	// @@       preferred batch size will be chosen automatically
 | 
						|
	// @@       based on model and GPU characteristics.
 | 
						|
	// @@
 | 
						|
	PreferredBatchSize []int32 `protobuf:"varint,2,rep,packed,name=preferred_batch_size,json=preferredBatchSize,proto3" json:"preferred_batch_size,omitempty"`
 | 
						|
	// @@    .. cpp:var:: uint64 max_queue_delay_microseconds
 | 
						|
	// @@
 | 
						|
	// @@       The maximum time, in microseconds, a candidate request
 | 
						|
	// @@       will be delayed in the dynamic batch scheduling queue to
 | 
						|
	// @@       wait for additional requests for batching. Default is 0.
 | 
						|
	// @@
 | 
						|
	MaxQueueDelayMicroseconds uint64 `protobuf:"varint,3,opt,name=max_queue_delay_microseconds,json=maxQueueDelayMicroseconds,proto3" json:"max_queue_delay_microseconds,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyOldest) Reset() {
 | 
						|
	*x = ModelSequenceBatching_StrategyOldest{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[42]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyOldest) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelSequenceBatching_StrategyOldest) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyOldest) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[42]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelSequenceBatching_StrategyOldest.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelSequenceBatching_StrategyOldest) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{11, 5}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyOldest) GetMaxCandidateSequences() int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MaxCandidateSequences
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyOldest) GetPreferredBatchSize() []int32 {
 | 
						|
	if x != nil {
 | 
						|
		return x.PreferredBatchSize
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelSequenceBatching_StrategyOldest) GetMaxQueueDelayMicroseconds() uint64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.MaxQueueDelayMicroseconds
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
// @@  .. cpp:var:: message Step
 | 
						|
// @@
 | 
						|
// @@     Each step specifies a model included in the ensemble,
 | 
						|
// @@     maps ensemble tensor names to the model input tensors,
 | 
						|
// @@     and maps model output tensors to ensemble tensor names
 | 
						|
// @@
 | 
						|
type ModelEnsembling_Step struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@  .. cpp:var:: string model_name
 | 
						|
	// @@
 | 
						|
	// @@     The name of the model to execute for this step of the ensemble.
 | 
						|
	// @@
 | 
						|
	ModelName string `protobuf:"bytes,1,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"`
 | 
						|
	// @@  .. cpp:var:: int64 model_version
 | 
						|
	// @@
 | 
						|
	// @@     The version of the model to use for inference. If -1
 | 
						|
	// @@     the latest/most-recent version of the model is used.
 | 
						|
	// @@
 | 
						|
	ModelVersion int64 `protobuf:"varint,2,opt,name=model_version,json=modelVersion,proto3" json:"model_version,omitempty"`
 | 
						|
	// @@  .. cpp:var:: map<string,string> input_map
 | 
						|
	// @@
 | 
						|
	// @@     Map from name of an input tensor on this step's model to ensemble
 | 
						|
	// @@     tensor name. The ensemble tensor must have the same data type and
 | 
						|
	// @@     shape as the model input. Each model input must be assigned to
 | 
						|
	// @@     one ensemble tensor, but the same ensemble tensor can be assigned
 | 
						|
	// @@     to multiple model inputs.
 | 
						|
	// @@
 | 
						|
	InputMap map[string]string `protobuf:"bytes,3,rep,name=input_map,json=inputMap,proto3" json:"input_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
	// @@  .. cpp:var:: map<string,string> output_map
 | 
						|
	// @@
 | 
						|
	// @@     Map from name of an output tensor on this step's model to ensemble
 | 
						|
	// @@     tensor name. The data type and shape of the ensemble tensor will
 | 
						|
	// @@     be inferred from the model output. It is optional to assign all
 | 
						|
	// @@     model outputs to ensemble tensors. One ensemble tensor name
 | 
						|
	// @@     can appear in an output map only once.
 | 
						|
	// @@
 | 
						|
	OutputMap map[string]string `protobuf:"bytes,4,rep,name=output_map,json=outputMap,proto3" json:"output_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
	// @@  .. cpp:var:: string model_namespace
 | 
						|
	// @@
 | 
						|
	// @@     [RESERVED] currently this field is reserved for internal use, users
 | 
						|
	// @@     must not set any value to this field to avoid unexpected behavior.
 | 
						|
	// @@
 | 
						|
	ModelNamespace string `protobuf:"bytes,5,opt,name=model_namespace,json=modelNamespace,proto3" json:"model_namespace,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling_Step) Reset() {
 | 
						|
	*x = ModelEnsembling_Step{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[43]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling_Step) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelEnsembling_Step) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelEnsembling_Step) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[43]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelEnsembling_Step.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelEnsembling_Step) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{12, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling_Step) GetModelName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.ModelName
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling_Step) GetModelVersion() int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.ModelVersion
 | 
						|
	}
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling_Step) GetInputMap() map[string]string {
 | 
						|
	if x != nil {
 | 
						|
		return x.InputMap
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling_Step) GetOutputMap() map[string]string {
 | 
						|
	if x != nil {
 | 
						|
		return x.OutputMap
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelEnsembling_Step) GetModelNamespace() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.ModelNamespace
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message Input
 | 
						|
// @@
 | 
						|
// @@     Meta data associated with an input.
 | 
						|
// @@
 | 
						|
type ModelWarmup_Input struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: DataType data_type
 | 
						|
	// @@
 | 
						|
	// @@       The data-type of the input.
 | 
						|
	// @@
 | 
						|
	DataType DataType `protobuf:"varint,1,opt,name=data_type,json=dataType,proto3,enum=inference.v1.DataType" json:"data_type,omitempty"`
 | 
						|
	// @@    .. cpp:var:: int64 dims (repeated)
 | 
						|
	// @@
 | 
						|
	// @@       The shape of the input tensor, not including the batch dimension.
 | 
						|
	// @@
 | 
						|
	Dims []int64 `protobuf:"varint,2,rep,packed,name=dims,proto3" json:"dims,omitempty"`
 | 
						|
	// @@    .. cpp:var:: oneof input_data_type
 | 
						|
	// @@
 | 
						|
	// @@       Specify how the input data is generated. If the input has STRING
 | 
						|
	// @@       data type and 'random_data' is set, the data generation will fall
 | 
						|
	// @@       back to 'zero_data'.
 | 
						|
	// @@
 | 
						|
	//
 | 
						|
	// Types that are assignable to InputDataType:
 | 
						|
	//
 | 
						|
	//	*ModelWarmup_Input_ZeroData
 | 
						|
	//	*ModelWarmup_Input_RandomData
 | 
						|
	//	*ModelWarmup_Input_InputDataFile
 | 
						|
	InputDataType isModelWarmup_Input_InputDataType `protobuf_oneof:"input_data_type"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup_Input) Reset() {
 | 
						|
	*x = ModelWarmup_Input{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[46]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup_Input) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelWarmup_Input) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelWarmup_Input) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[46]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelWarmup_Input.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelWarmup_Input) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{14, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup_Input) GetDataType() DataType {
 | 
						|
	if x != nil {
 | 
						|
		return x.DataType
 | 
						|
	}
 | 
						|
	return DataType_TYPE_INVALID
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup_Input) GetDims() []int64 {
 | 
						|
	if x != nil {
 | 
						|
		return x.Dims
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (m *ModelWarmup_Input) GetInputDataType() isModelWarmup_Input_InputDataType {
 | 
						|
	if m != nil {
 | 
						|
		return m.InputDataType
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup_Input) GetZeroData() bool {
 | 
						|
	if x, ok := x.GetInputDataType().(*ModelWarmup_Input_ZeroData); ok {
 | 
						|
		return x.ZeroData
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup_Input) GetRandomData() bool {
 | 
						|
	if x, ok := x.GetInputDataType().(*ModelWarmup_Input_RandomData); ok {
 | 
						|
		return x.RandomData
 | 
						|
	}
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelWarmup_Input) GetInputDataFile() string {
 | 
						|
	if x, ok := x.GetInputDataType().(*ModelWarmup_Input_InputDataFile); ok {
 | 
						|
		return x.InputDataFile
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
type isModelWarmup_Input_InputDataType interface {
 | 
						|
	isModelWarmup_Input_InputDataType()
 | 
						|
}
 | 
						|
 | 
						|
type ModelWarmup_Input_ZeroData struct {
 | 
						|
	// @@
 | 
						|
	// @@    .. cpp:var:: bool zero_data
 | 
						|
	// @@
 | 
						|
	// @@       The identifier for using zeros as input data. Note that the
 | 
						|
	// @@       value of 'zero_data' will not be checked, instead, zero data
 | 
						|
	// @@       will be used as long as the field is set.
 | 
						|
	// @@
 | 
						|
	ZeroData bool `protobuf:"varint,3,opt,name=zero_data,json=zeroData,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type ModelWarmup_Input_RandomData struct {
 | 
						|
	// @@
 | 
						|
	// @@    .. cpp:var:: bool random_data
 | 
						|
	// @@
 | 
						|
	// @@       The identifier for using random data as input data. Note that
 | 
						|
	// @@       the value of 'random_data' will not be checked, instead,
 | 
						|
	// @@       random data will be used as long as the field is set.
 | 
						|
	// @@
 | 
						|
	RandomData bool `protobuf:"varint,4,opt,name=random_data,json=randomData,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
type ModelWarmup_Input_InputDataFile struct {
 | 
						|
	// @@    .. cpp:var:: string input_data_file
 | 
						|
	// @@
 | 
						|
	// @@       The file whose content will be used as raw input data in
 | 
						|
	// @@       row-major order. The file must be provided in a sub-directory
 | 
						|
	// @@       'warmup' under the model directory. The file contents should be
 | 
						|
	// @@       in binary format. For TYPE_STRING data-type, an element is
 | 
						|
	// @@       represented by a 4-byte unsigned integer giving the length
 | 
						|
	// @@       followed by the actual bytes.
 | 
						|
	// @@
 | 
						|
	InputDataFile string `protobuf:"bytes,5,opt,name=input_data_file,json=inputDataFile,proto3,oneof"`
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelWarmup_Input_ZeroData) isModelWarmup_Input_InputDataType() {}
 | 
						|
 | 
						|
func (*ModelWarmup_Input_RandomData) isModelWarmup_Input_InputDataType() {}
 | 
						|
 | 
						|
func (*ModelWarmup_Input_InputDataFile) isModelWarmup_Input_InputDataType() {}
 | 
						|
 | 
						|
// @@
 | 
						|
// @@  .. cpp:var:: message Agent
 | 
						|
// @@
 | 
						|
// @@     A repository agent that should be invoked for the specified
 | 
						|
// @@     repository actions for this model.
 | 
						|
// @@
 | 
						|
type ModelRepositoryAgents_Agent struct {
 | 
						|
	state         protoimpl.MessageState
 | 
						|
	sizeCache     protoimpl.SizeCache
 | 
						|
	unknownFields protoimpl.UnknownFields
 | 
						|
 | 
						|
	// @@    .. cpp:var:: string name
 | 
						|
	// @@
 | 
						|
	// @@       The name of the agent.
 | 
						|
	// @@
 | 
						|
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
 | 
						|
	// @@    .. cpp:var:: map<string, string> parameters
 | 
						|
	// @@
 | 
						|
	// @@       The parameters for the agent.
 | 
						|
	// @@
 | 
						|
	Parameters map[string]string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents_Agent) Reset() {
 | 
						|
	*x = ModelRepositoryAgents_Agent{}
 | 
						|
	if protoimpl.UnsafeEnabled {
 | 
						|
		mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[48]
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		ms.StoreMessageInfo(mi)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents_Agent) String() string {
 | 
						|
	return protoimpl.X.MessageStringOf(x)
 | 
						|
}
 | 
						|
 | 
						|
func (*ModelRepositoryAgents_Agent) ProtoMessage() {}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents_Agent) ProtoReflect() protoreflect.Message {
 | 
						|
	mi := &file_pkg_apis_inference_v1_model_config_proto_msgTypes[48]
 | 
						|
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						|
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
						|
		if ms.LoadMessageInfo() == nil {
 | 
						|
			ms.StoreMessageInfo(mi)
 | 
						|
		}
 | 
						|
		return ms
 | 
						|
	}
 | 
						|
	return mi.MessageOf(x)
 | 
						|
}
 | 
						|
 | 
						|
// Deprecated: Use ModelRepositoryAgents_Agent.ProtoReflect.Descriptor instead.
 | 
						|
func (*ModelRepositoryAgents_Agent) Descriptor() ([]byte, []int) {
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP(), []int{17, 0}
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents_Agent) GetName() string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Name
 | 
						|
	}
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (x *ModelRepositoryAgents_Agent) GetParameters() map[string]string {
 | 
						|
	if x != nil {
 | 
						|
		return x.Parameters
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
var File_pkg_apis_inference_v1_model_config_proto protoreflect.FileDescriptor
 | 
						|
 | 
						|
var file_pkg_apis_inference_v1_model_config_proto_rawDesc = []byte{
 | 
						|
	0x0a, 0x28, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x65, 0x72,
 | 
						|
	0x65, 0x6e, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6f,
 | 
						|
	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x69, 0x6e, 0x66, 0x65,
 | 
						|
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x22, 0xc3, 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x64,
 | 
						|
	0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x45, 0x0a,
 | 
						|
	0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
 | 
						|
	0x32, 0x27, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
 | 
						|
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72,
 | 
						|
	0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75,
 | 
						|
	0x72, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
 | 
						|
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
 | 
						|
	0x1a, 0x4c, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
 | 
						|
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
 | 
						|
	0x12, 0x16, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
 | 
						|
	0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e,
 | 
						|
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xf9,
 | 
						|
	0x04, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
 | 
						|
	0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
 | 
						|
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x6b, 0x69, 0x6e,
 | 
						|
	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65,
 | 
						|
	0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74,
 | 
						|
	0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04,
 | 
						|
	0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20,
 | 
						|
	0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0c, 0x72, 0x61,
 | 
						|
	0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
 | 
						|
	0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
 | 
						|
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72,
 | 
						|
	0x52, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a,
 | 
						|
	0x04, 0x67, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x67, 0x70, 0x75,
 | 
						|
	0x73, 0x12, 0x5d, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64,
 | 
						|
	0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69,
 | 
						|
	0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
 | 
						|
	0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53,
 | 
						|
	0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x10,
 | 
						|
	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73,
 | 
						|
	0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28,
 | 
						|
	0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61,
 | 
						|
	0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x73,
 | 
						|
	0x73, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c,
 | 
						|
	0x69, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x50,
 | 
						|
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xaf, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
 | 
						|
	0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x04, 0x6b, 0x69, 0x6e,
 | 
						|
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65,
 | 
						|
	0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74,
 | 
						|
	0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
 | 
						|
	0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
 | 
						|
	0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b,
 | 
						|
	0x69, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64,
 | 
						|
	0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
 | 
						|
	0x22, 0x25, 0x0a, 0x13, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76,
 | 
						|
	0x69, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x0a, 0x4b, 0x49, 0x4e, 0x44, 0x5f,
 | 
						|
	0x4e, 0x56, 0x44, 0x4c, 0x41, 0x10, 0x00, 0x22, 0x41, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12,
 | 
						|
	0x0d, 0x0a, 0x09, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0c,
 | 
						|
	0x0a, 0x08, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x47, 0x50, 0x55, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08,
 | 
						|
	0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4b, 0x49,
 | 
						|
	0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x10, 0x03, 0x22, 0x2a, 0x0a, 0x12, 0x4d, 0x6f,
 | 
						|
	0x64, 0x65, 0x6c, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65,
 | 
						|
	0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52,
 | 
						|
	0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x22, 0x8d, 0x03, 0x0a, 0x0a, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
 | 
						|
	0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
 | 
						|
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x64, 0x61, 0x74,
 | 
						|
	0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x69,
 | 
						|
	0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61,
 | 
						|
	0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37,
 | 
						|
	0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f,
 | 
						|
	0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f,
 | 
						|
	0x64, 0x65, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52,
 | 
						|
	0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18,
 | 
						|
	0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x72,
 | 
						|
	0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69,
 | 
						|
	0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
 | 
						|
	0x6c, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x52, 0x07,
 | 
						|
	0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x68,
 | 
						|
	0x61, 0x70, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
 | 
						|
	0x52, 0x0d, 0x69, 0x73, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12,
 | 
						|
	0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x67, 0x67, 0x65, 0x64, 0x5f,
 | 
						|
	0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c,
 | 
						|
	0x6f, 0x77, 0x52, 0x61, 0x67, 0x67, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a,
 | 
						|
	0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
 | 
						|
	0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0x3b, 0x0a, 0x06, 0x46, 0x6f, 0x72,
 | 
						|
	0x6d, 0x61, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4e, 0x4f,
 | 
						|
	0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4e,
 | 
						|
	0x48, 0x57, 0x43, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f,
 | 
						|
	0x4e, 0x43, 0x48, 0x57, 0x10, 0x02, 0x22, 0xf5, 0x01, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
 | 
						|
	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
 | 
						|
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x64, 0x61,
 | 
						|
	0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
 | 
						|
	0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74,
 | 
						|
	0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12,
 | 
						|
	0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64,
 | 
						|
	0x69, 0x6d, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x05,
 | 
						|
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
 | 
						|
	0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52,
 | 
						|
	0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x52, 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12,
 | 
						|
	0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d,
 | 
						|
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69,
 | 
						|
	0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61,
 | 
						|
	0x70, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
 | 
						|
	0x0d, 0x69, 0x73, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x22, 0x88,
 | 
						|
	0x03, 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x31, 0x0a,
 | 
						|
	0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x69, 0x6e,
 | 
						|
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68,
 | 
						|
	0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64,
 | 
						|
	0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
 | 
						|
	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d,
 | 
						|
	0x65, 0x12, 0x33, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
 | 
						|
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
 | 
						|
	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61,
 | 
						|
	0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
 | 
						|
	0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f,
 | 
						|
	0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xcd, 0x01, 0x0a, 0x04, 0x4b, 0x69,
 | 
						|
	0x6e, 0x64, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x4c, 0x45, 0x4d,
 | 
						|
	0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x42,
 | 
						|
	0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x43, 0x43, 0x55, 0x4d, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44,
 | 
						|
	0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x01,
 | 
						|
	0x12, 0x2d, 0x0a, 0x29, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x43, 0x43, 0x55, 0x4d, 0x55,
 | 
						|
	0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f,
 | 
						|
	0x55, 0x4e, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x02, 0x12,
 | 
						|
	0x24, 0x0a, 0x20, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x45, 0x4c, 0x45,
 | 
						|
	0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x41, 0x53, 0x5f, 0x53, 0x48,
 | 
						|
	0x41, 0x50, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x49,
 | 
						|
	0x54, 0x45, 0x4d, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x42,
 | 
						|
	0x41, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x5f,
 | 
						|
	0x46, 0x4c, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x10, 0x05, 0x22, 0xb1, 0x01, 0x0a, 0x0b, 0x42, 0x61,
 | 
						|
	0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72,
 | 
						|
	0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
 | 
						|
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6b, 0x69,
 | 
						|
	0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
 | 
						|
	0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74,
 | 
						|
	0x70, 0x75, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x21,
 | 
						|
	0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03,
 | 
						|
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75,
 | 
						|
	0x74, 0x22, 0x2a, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, 0x54,
 | 
						|
	0x43, 0x48, 0x5f, 0x53, 0x43, 0x41, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f,
 | 
						|
	0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x00, 0x22, 0xc7, 0x02,
 | 
						|
	0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
 | 
						|
	0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01,
 | 
						|
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
 | 
						|
	0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 | 
						|
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
 | 
						|
	0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02,
 | 
						|
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
 | 
						|
	0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
 | 
						|
	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x41, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c,
 | 
						|
	0x6c, 0x12, 0x47, 0x0a, 0x08, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x18, 0x03, 0x20,
 | 
						|
	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
 | 
						|
	0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50,
 | 
						|
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x48, 0x00,
 | 
						|
	0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x1a, 0x2b, 0x0a, 0x06, 0x4c, 0x61,
 | 
						|
	0x74, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73,
 | 
						|
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x56,
 | 
						|
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x05, 0x0a, 0x03, 0x41, 0x6c, 0x6c, 0x1a, 0x26,
 | 
						|
	0x0a, 0x08, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65,
 | 
						|
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x76, 0x65,
 | 
						|
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
 | 
						|
	0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x93, 0x11, 0x0a, 0x17, 0x4d, 0x6f, 0x64, 0x65,
 | 
						|
	0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c,
 | 
						|
	0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x01, 0x20, 0x01,
 | 
						|
	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
 | 
						|
	0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74,
 | 
						|
	0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52,
 | 
						|
	0x05, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
 | 
						|
	0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
 | 
						|
	0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74,
 | 
						|
	0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
 | 
						|
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70,
 | 
						|
	0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x04, 0x63, 0x75, 0x64, 0x61, 0x18,
 | 
						|
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
 | 
						|
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
 | 
						|
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64,
 | 
						|
	0x61, 0x52, 0x04, 0x63, 0x75, 0x64, 0x61, 0x12, 0x72, 0x0a, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75,
 | 
						|
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
 | 
						|
	0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65,
 | 
						|
	0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69,
 | 
						|
	0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45,
 | 
						|
	0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61,
 | 
						|
	0x74, 0x6f, 0x72, 0x73, 0x52, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41,
 | 
						|
	0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x68, 0x0a, 0x13, 0x69,
 | 
						|
	0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f,
 | 
						|
	0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
 | 
						|
	0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74,
 | 
						|
	0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e,
 | 
						|
	0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x66, 0x66,
 | 
						|
	0x65, 0x72, 0x52, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d,
 | 
						|
	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x6a, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
 | 
						|
	0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20,
 | 
						|
	0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
 | 
						|
	0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
 | 
						|
	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x69, 0x6e, 0x6e, 0x65,
 | 
						|
	0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x12, 0x6f,
 | 
						|
	0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72,
 | 
						|
	0x79, 0x12, 0x43, 0x0a, 0x1e, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x72, 0x6e,
 | 
						|
	0x65, 0x6c, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
 | 
						|
	0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x67, 0x61, 0x74, 0x68, 0x65,
 | 
						|
	0x72, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x54, 0x68, 0x72,
 | 
						|
	0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x61, 0x67, 0x65, 0x72, 0x5f,
 | 
						|
	0x62, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
 | 
						|
	0x65, 0x61, 0x67, 0x65, 0x72, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x1a, 0x1d, 0x0a,
 | 
						|
	0x05, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
 | 
						|
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0xd3, 0x06, 0x0a,
 | 
						|
	0x04, 0x43, 0x75, 0x64, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18,
 | 
						|
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x28, 0x0a,
 | 
						|
	0x10, 0x62, 0x75, 0x73, 0x79, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74,
 | 
						|
	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x62, 0x75, 0x73, 0x79, 0x57, 0x61, 0x69,
 | 
						|
	0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68,
 | 
						|
	0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6e,
 | 
						|
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
 | 
						|
	0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
 | 
						|
	0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65,
 | 
						|
	0x63, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2c, 0x0a, 0x12,
 | 
						|
	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x65,
 | 
						|
	0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
 | 
						|
	0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x85, 0x05, 0x0a, 0x09, 0x47,
 | 
						|
	0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63,
 | 
						|
	0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61,
 | 
						|
	0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x55, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74,
 | 
						|
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
 | 
						|
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d,
 | 
						|
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75,
 | 
						|
	0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x70,
 | 
						|
	0x75, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x6b,
 | 
						|
	0x0a, 0x11, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f,
 | 
						|
	0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6e, 0x66, 0x65,
 | 
						|
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70,
 | 
						|
	0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
 | 
						|
	0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e,
 | 
						|
	0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x70,
 | 
						|
	0x68, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x19, 0x0a, 0x05, 0x53,
 | 
						|
	0x68, 0x61, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28,
 | 
						|
	0x03, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x1a, 0x83, 0x02, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72,
 | 
						|
	0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73,
 | 
						|
	0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68,
 | 
						|
	0x53, 0x69, 0x7a, 0x65, 0x12, 0x60, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20,
 | 
						|
	0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
 | 
						|
	0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
 | 
						|
	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e,
 | 
						|
	0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42,
 | 
						|
	0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
 | 
						|
	0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x74, 0x0a, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45,
 | 
						|
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
						|
	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
 | 
						|
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
 | 
						|
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
 | 
						|
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64,
 | 
						|
	0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x53, 0x68, 0x61, 0x70,
 | 
						|
	0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x74, 0x0a, 0x0a,
 | 
						|
	0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
 | 
						|
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05,
 | 
						|
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6e,
 | 
						|
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
 | 
						|
	0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
 | 
						|
	0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65,
 | 
						|
	0x63, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
 | 
						|
	0x38, 0x01, 0x1a, 0xff, 0x03, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
 | 
						|
	0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x83, 0x01, 0x0a,
 | 
						|
	0x19, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61,
 | 
						|
	0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
 | 
						|
	0x32, 0x47, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
 | 
						|
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
 | 
						|
	0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
 | 
						|
	0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x41, 0x63,
 | 
						|
	0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x17, 0x67, 0x70, 0x75, 0x45, 0x78,
 | 
						|
	0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74,
 | 
						|
	0x6f, 0x72, 0x12, 0x83, 0x01, 0x0a, 0x19, 0x63, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75,
 | 
						|
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
 | 
						|
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
 | 
						|
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d,
 | 
						|
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45, 0x78,
 | 
						|
	0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74,
 | 
						|
	0x6f, 0x72, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52,
 | 
						|
	0x17, 0x63, 0x70, 0x75, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63,
 | 
						|
	0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0xd9, 0x01, 0x0a, 0x0b, 0x41, 0x63, 0x63,
 | 
						|
	0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
 | 
						|
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x77, 0x0a, 0x0a,
 | 
						|
	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
 | 
						|
	0x32, 0x57, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
 | 
						|
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
 | 
						|
	0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
 | 
						|
	0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x41, 0x63,
 | 
						|
	0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
 | 
						|
	0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d,
 | 
						|
	0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
 | 
						|
	0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
 | 
						|
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
 | 
						|
	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
 | 
						|
	0x3a, 0x02, 0x38, 0x01, 0x1a, 0x2c, 0x0a, 0x12, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65,
 | 
						|
	0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e,
 | 
						|
	0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62,
 | 
						|
	0x6c, 0x65, 0x22, 0x49, 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x69, 0x6f, 0x72,
 | 
						|
	0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f,
 | 
						|
	0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x49,
 | 
						|
	0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50,
 | 
						|
	0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x22, 0xad, 0x02,
 | 
						|
	0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69,
 | 
						|
	0x63, 0x79, 0x12, 0x53, 0x0a, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x61, 0x63,
 | 
						|
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x69, 0x6e, 0x66,
 | 
						|
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x51,
 | 
						|
	0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6f,
 | 
						|
	0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
 | 
						|
	0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x1c, 0x64, 0x65, 0x66, 0x61, 0x75,
 | 
						|
	0x6c, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f,
 | 
						|
	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x64,
 | 
						|
	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x69, 0x63,
 | 
						|
	0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x6c,
 | 
						|
	0x6f, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72,
 | 
						|
	0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
 | 
						|
	0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12,
 | 
						|
	0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x73, 0x69, 0x7a,
 | 
						|
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75,
 | 
						|
	0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x26, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
 | 
						|
	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54,
 | 
						|
	0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x22, 0xc0, 0x04,
 | 
						|
	0x0a, 0x14, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x61,
 | 
						|
	0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72,
 | 
						|
	0x72, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01,
 | 
						|
	0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x42,
 | 
						|
	0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f,
 | 
						|
	0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x69, 0x63, 0x72,
 | 
						|
	0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19,
 | 
						|
	0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x63,
 | 
						|
	0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x65,
 | 
						|
	0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03,
 | 
						|
	0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4f, 0x72,
 | 
						|
	0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
 | 
						|
	0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
 | 
						|
	0x0e, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12,
 | 
						|
	0x34, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72,
 | 
						|
	0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52,
 | 
						|
	0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
 | 
						|
	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x50, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
 | 
						|
	0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20,
 | 
						|
	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e,
 | 
						|
	0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c,
 | 
						|
	0x69, 0x63, 0x79, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x65, 0x75,
 | 
						|
	0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6f, 0x0a, 0x15, 0x70, 0x72, 0x69, 0x6f, 0x72,
 | 
						|
	0x69, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
 | 
						|
	0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
 | 
						|
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x79, 0x6e, 0x61, 0x6d,
 | 
						|
	0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72,
 | 
						|
	0x69, 0x74, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e,
 | 
						|
	0x74, 0x72, 0x79, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x51, 0x75, 0x65,
 | 
						|
	0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x66, 0x0a, 0x18, 0x50, 0x72, 0x69, 0x6f,
 | 
						|
	0x72, 0x69, 0x74, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45,
 | 
						|
	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
						|
	0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
 | 
						|
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
 | 
						|
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50,
 | 
						|
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
 | 
						|
	0x22, 0xf6, 0x0c, 0x0a, 0x15, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
 | 
						|
	0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x4c, 0x0a, 0x06, 0x64, 0x69,
 | 
						|
	0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x66,
 | 
						|
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53,
 | 
						|
	0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e,
 | 
						|
	0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x00,
 | 
						|
	0x52, 0x06, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x4c, 0x0a, 0x06, 0x6f, 0x6c, 0x64, 0x65,
 | 
						|
	0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
 | 
						|
	0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71,
 | 
						|
	0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74,
 | 
						|
	0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06,
 | 
						|
	0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65,
 | 
						|
	0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72,
 | 
						|
	0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b,
 | 
						|
	0x6d, 0x61, 0x78, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d,
 | 
						|
	0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x63,
 | 
						|
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x03,
 | 
						|
	0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
 | 
						|
	0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42,
 | 
						|
	0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49,
 | 
						|
	0x6e, 0x70, 0x75, 0x74, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x70,
 | 
						|
	0x75, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28,
 | 
						|
	0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31,
 | 
						|
	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61,
 | 
						|
	0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
 | 
						|
	0x61, 0x74, 0x65, 0x1a, 0xf5, 0x02, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12,
 | 
						|
	0x44, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e,
 | 
						|
	0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64,
 | 
						|
	0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69,
 | 
						|
	0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52,
 | 
						|
	0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66,
 | 
						|
	0x61, 0x6c, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52,
 | 
						|
	0x0e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x54, 0x72, 0x75, 0x65, 0x12,
 | 
						|
	0x26, 0x0a, 0x0f, 0x66, 0x70, 0x33, 0x32, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x74, 0x72,
 | 
						|
	0x75, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x66, 0x70, 0x33, 0x32, 0x46, 0x61,
 | 
						|
	0x6c, 0x73, 0x65, 0x54, 0x72, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
 | 
						|
	0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x08,
 | 
						|
	0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x54, 0x72, 0x75, 0x65, 0x12,
 | 
						|
	0x33, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01,
 | 
						|
	0x28, 0x0e, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
 | 
						|
	0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61,
 | 
						|
	0x54, 0x79, 0x70, 0x65, 0x22, 0x75, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x16,
 | 
						|
	0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45,
 | 
						|
	0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x54,
 | 
						|
	0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x41,
 | 
						|
	0x44, 0x59, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f,
 | 
						|
	0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x1b,
 | 
						|
	0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e,
 | 
						|
	0x43, 0x45, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x49, 0x44, 0x10, 0x03, 0x1a, 0x69, 0x0a, 0x0c, 0x43,
 | 
						|
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
 | 
						|
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
 | 
						|
	0x45, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
 | 
						|
	0x32, 0x2b, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
 | 
						|
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74,
 | 
						|
	0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x07, 0x63,
 | 
						|
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x1a, 0xb7, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x69,
 | 
						|
	0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f,
 | 
						|
	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x66,
 | 
						|
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79,
 | 
						|
	0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04,
 | 
						|
	0x64, 0x69, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64, 0x69, 0x6d, 0x73,
 | 
						|
	0x12, 0x1d, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20,
 | 
						|
	0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x7a, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12,
 | 
						|
	0x1d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
 | 
						|
	0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12,
 | 
						|
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
 | 
						|
	0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61,
 | 
						|
	0x1a, 0xe7, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e,
 | 
						|
	0x70, 0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
 | 
						|
	0x69, 0x6e, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74,
 | 
						|
	0x70, 0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
 | 
						|
	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x64, 0x61,
 | 
						|
	0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
 | 
						|
	0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74,
 | 
						|
	0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12,
 | 
						|
	0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64,
 | 
						|
	0x69, 0x6d, 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73,
 | 
						|
	0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x66,
 | 
						|
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53,
 | 
						|
	0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e,
 | 
						|
	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x69, 0x6e,
 | 
						|
	0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x8b, 0x01, 0x0a, 0x0e, 0x53,
 | 
						|
	0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a,
 | 
						|
	0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79,
 | 
						|
	0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20,
 | 
						|
	0x01, 0x28, 0x04, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x6c,
 | 
						|
	0x61, 0x79, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x38,
 | 
						|
	0x0a, 0x18, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x75,
 | 
						|
	0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
 | 
						|
	0x52, 0x16, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x55, 0x74, 0x69,
 | 
						|
	0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xbb, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72,
 | 
						|
	0x61, 0x74, 0x65, 0x67, 0x79, 0x4f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x6d,
 | 
						|
	0x61, 0x78, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71,
 | 
						|
	0x75, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x6d, 0x61,
 | 
						|
	0x78, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
 | 
						|
	0x63, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
 | 
						|
	0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
 | 
						|
	0x05, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63,
 | 
						|
	0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65,
 | 
						|
	0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65,
 | 
						|
	0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x6d, 0x61, 0x78,
 | 
						|
	0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73,
 | 
						|
	0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65,
 | 
						|
	0x67, 0x79, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xdb, 0x03, 0x0a, 0x0f, 0x4d, 0x6f,
 | 
						|
	0x64, 0x65, 0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a,
 | 
						|
	0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e,
 | 
						|
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
 | 
						|
	0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52,
 | 
						|
	0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x8f, 0x03, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x1d,
 | 
						|
	0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
 | 
						|
	0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a,
 | 
						|
	0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
 | 
						|
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69,
 | 
						|
	0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18,
 | 
						|
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
 | 
						|
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62,
 | 
						|
	0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d,
 | 
						|
	0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x61,
 | 
						|
	0x70, 0x12, 0x50, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18,
 | 
						|
	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
 | 
						|
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62,
 | 
						|
	0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
 | 
						|
	0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
 | 
						|
	0x4d, 0x61, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d,
 | 
						|
	0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f,
 | 
						|
	0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x3b, 0x0a, 0x0d,
 | 
						|
	0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
 | 
						|
	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
 | 
						|
	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
 | 
						|
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x4f, 0x75, 0x74,
 | 
						|
	0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
 | 
						|
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
 | 
						|
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
 | 
						|
	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x33, 0x0a, 0x0e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
 | 
						|
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72,
 | 
						|
	0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
						|
	0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc3, 0x03, 0x0a,
 | 
						|
	0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04,
 | 
						|
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
 | 
						|
	0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02,
 | 
						|
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12,
 | 
						|
	0x3d, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
 | 
						|
	0x25, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
 | 
						|
	0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74,
 | 
						|
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x14,
 | 
						|
	0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63,
 | 
						|
	0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xcf, 0x01, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x33,
 | 
						|
	0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
						|
	0x0e, 0x32, 0x16, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31,
 | 
						|
	0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54,
 | 
						|
	0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
 | 
						|
	0x03, 0x52, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f,
 | 
						|
	0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x7a, 0x65,
 | 
						|
	0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
 | 
						|
	0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x72,
 | 
						|
	0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x70,
 | 
						|
	0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01,
 | 
						|
	0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x46,
 | 
						|
	0x69, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74,
 | 
						|
	0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x5a, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73,
 | 
						|
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
 | 
						|
	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
 | 
						|
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
 | 
						|
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75,
 | 
						|
	0x70, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
 | 
						|
	0x38, 0x01, 0x22, 0x41, 0x0a, 0x0f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61,
 | 
						|
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x62, 0x72,
 | 
						|
	0x61, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03,
 | 
						|
	0x28, 0x09, 0x52, 0x11, 0x6f, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69, 0x6c,
 | 
						|
	0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x16, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x72,
 | 
						|
	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
 | 
						|
	0x1c, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
 | 
						|
	0x28, 0x08, 0x52, 0x09, 0x64, 0x65, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x64, 0x22, 0x92, 0x02,
 | 
						|
	0x0a, 0x15, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
 | 
						|
	0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74,
 | 
						|
	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65,
 | 
						|
	0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f,
 | 
						|
	0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x67, 0x65,
 | 
						|
	0x6e, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xb5, 0x01, 0x0a, 0x05, 0x41,
 | 
						|
	0x67, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
 | 
						|
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61,
 | 
						|
	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69,
 | 
						|
	0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
 | 
						|
	0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74,
 | 
						|
	0x73, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
 | 
						|
	0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
 | 
						|
	0x65, 0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
 | 
						|
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
 | 
						|
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
 | 
						|
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
 | 
						|
	0x38, 0x01, 0x22, 0x2c, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
						|
	0x6e, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62,
 | 
						|
	0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
						|
	0x22, 0xdd, 0x0d, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
 | 
						|
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
 | 
						|
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
 | 
						|
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
 | 
						|
	0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28,
 | 
						|
	0x09, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x47, 0x0a, 0x0e, 0x76, 0x65,
 | 
						|
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01,
 | 
						|
	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
 | 
						|
	0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
 | 
						|
	0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c,
 | 
						|
	0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68,
 | 
						|
	0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78,
 | 
						|
	0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x69, 0x6e, 0x70,
 | 
						|
	0x75, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72,
 | 
						|
	0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x70,
 | 
						|
	0x75, 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x75, 0x74,
 | 
						|
	0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x69, 0x6e, 0x66, 0x65,
 | 
						|
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x75,
 | 
						|
	0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x39, 0x0a, 0x0b,
 | 
						|
	0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x14, 0x20, 0x03, 0x28,
 | 
						|
	0x0b, 0x32, 0x18, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31,
 | 
						|
	0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x0a, 0x62, 0x61, 0x74,
 | 
						|
	0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x63, 0x68,
 | 
						|
	0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
 | 
						|
	0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74,
 | 
						|
	0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4f,
 | 
						|
	0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a,
 | 
						|
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6e,
 | 
						|
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
 | 
						|
	0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
 | 
						|
	0x63, 0x79, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
 | 
						|
	0x12, 0x4f, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x62, 0x61, 0x74, 0x63,
 | 
						|
	0x68, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x66,
 | 
						|
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44,
 | 
						|
	0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00,
 | 
						|
	0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e,
 | 
						|
	0x67, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61,
 | 
						|
	0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69,
 | 
						|
	0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
 | 
						|
	0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e,
 | 
						|
	0x67, 0x48, 0x00, 0x52, 0x10, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74,
 | 
						|
	0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x50, 0x0a, 0x13, 0x65, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c,
 | 
						|
	0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01,
 | 
						|
	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
 | 
						|
	0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e,
 | 
						|
	0x67, 0x48, 0x00, 0x52, 0x12, 0x65, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68,
 | 
						|
	0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x47, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61,
 | 
						|
	0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
 | 
						|
	0x20, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
 | 
						|
	0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75,
 | 
						|
	0x70, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
 | 
						|
	0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
 | 
						|
	0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
 | 
						|
	0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69,
 | 
						|
	0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5d, 0x0a, 0x12, 0x63, 0x63, 0x5f, 0x6d, 0x6f, 0x64,
 | 
						|
	0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03,
 | 
						|
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
 | 
						|
	0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x63,
 | 
						|
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e,
 | 
						|
	0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65,
 | 
						|
	0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f,
 | 
						|
	0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x66,
 | 
						|
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43,
 | 
						|
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, 0x67, 0x73,
 | 
						|
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, 0x67,
 | 
						|
	0x73, 0x12, 0x49, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18,
 | 
						|
	0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
 | 
						|
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
 | 
						|
	0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
 | 
						|
	0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x0c,
 | 
						|
	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x18, 0x10, 0x20, 0x03,
 | 
						|
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
 | 
						|
	0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x52, 0x0b, 0x6d,
 | 
						|
	0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x12, 0x48, 0x0a, 0x10, 0x6d, 0x6f,
 | 
						|
	0x64, 0x65, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12,
 | 
						|
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
 | 
						|
	0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
 | 
						|
	0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
 | 
						|
	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5e, 0x0a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x72,
 | 
						|
	0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
 | 
						|
	0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e,
 | 
						|
	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73,
 | 
						|
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x6d, 0x6f,
 | 
						|
	0x64, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
 | 
						|
	0x6c, 0x69, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, 0x65,
 | 
						|
	0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18,
 | 
						|
	0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
 | 
						|
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
 | 
						|
	0x74, 0x6f, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x65,
 | 
						|
	0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74,
 | 
						|
	0x73, 0x12, 0x47, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x61,
 | 
						|
	0x63, 0x68, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x69, 0x6e, 0x66, 0x65,
 | 
						|
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65,
 | 
						|
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73,
 | 
						|
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x63,
 | 
						|
	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e,
 | 
						|
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
 | 
						|
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
 | 
						|
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
 | 
						|
	0x3d, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74,
 | 
						|
	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
						|
	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
 | 
						|
	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5b,
 | 
						|
	0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
 | 
						|
	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
 | 
						|
	0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
 | 
						|
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x76,
 | 
						|
	0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
 | 
						|
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x73,
 | 
						|
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65,
 | 
						|
	0x2a, 0xfa, 0x01, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a,
 | 
						|
	0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12,
 | 
						|
	0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x0e,
 | 
						|
	0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x02, 0x12, 0x0f,
 | 
						|
	0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x03, 0x12,
 | 
						|
	0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x04,
 | 
						|
	0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10,
 | 
						|
	0x05, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x06,
 | 
						|
	0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x07,
 | 
						|
	0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x08,
 | 
						|
	0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x09,
 | 
						|
	0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x50, 0x31, 0x36, 0x10, 0x0a, 0x12,
 | 
						|
	0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x50, 0x33, 0x32, 0x10, 0x0b, 0x12, 0x0d,
 | 
						|
	0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x50, 0x36, 0x34, 0x10, 0x0c, 0x12, 0x0f, 0x0a,
 | 
						|
	0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0d, 0x12, 0x0d,
 | 
						|
	0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x46, 0x31, 0x36, 0x10, 0x0e, 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, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
 | 
						|
	0x65, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x62, 0x06,
 | 
						|
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
						|
}
 | 
						|
 | 
						|
var (
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_rawDescOnce sync.Once
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_rawDescData = file_pkg_apis_inference_v1_model_config_proto_rawDesc
 | 
						|
)
 | 
						|
 | 
						|
func file_pkg_apis_inference_v1_model_config_proto_rawDescGZIP() []byte {
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_rawDescOnce.Do(func() {
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_apis_inference_v1_model_config_proto_rawDescData)
 | 
						|
	})
 | 
						|
	return file_pkg_apis_inference_v1_model_config_proto_rawDescData
 | 
						|
}
 | 
						|
 | 
						|
var file_pkg_apis_inference_v1_model_config_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
 | 
						|
var file_pkg_apis_inference_v1_model_config_proto_msgTypes = make([]protoimpl.MessageInfo, 53)
 | 
						|
var file_pkg_apis_inference_v1_model_config_proto_goTypes = []interface{}{
 | 
						|
	(DataType)(0),                // 0: inference.v1.DataType
 | 
						|
	(ModelInstanceGroup_Kind)(0), // 1: inference.v1.ModelInstanceGroup.Kind
 | 
						|
	(ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind)(0), // 2: inference.v1.ModelInstanceGroup.SecondaryDevice.SecondaryDeviceKind
 | 
						|
	(ModelInput_Format)(0),                                    // 3: inference.v1.ModelInput.Format
 | 
						|
	(BatchInput_Kind)(0),                                      // 4: inference.v1.BatchInput.Kind
 | 
						|
	(BatchOutput_Kind)(0),                                     // 5: inference.v1.BatchOutput.Kind
 | 
						|
	(ModelOptimizationPolicy_ModelPriority)(0),                // 6: inference.v1.ModelOptimizationPolicy.ModelPriority
 | 
						|
	(ModelQueuePolicy_TimeoutAction)(0),                       // 7: inference.v1.ModelQueuePolicy.TimeoutAction
 | 
						|
	(ModelSequenceBatching_Control_Kind)(0),                   // 8: inference.v1.ModelSequenceBatching.Control.Kind
 | 
						|
	(*ModelRateLimiter)(nil),                                  // 9: inference.v1.ModelRateLimiter
 | 
						|
	(*ModelInstanceGroup)(nil),                                // 10: inference.v1.ModelInstanceGroup
 | 
						|
	(*ModelTensorReshape)(nil),                                // 11: inference.v1.ModelTensorReshape
 | 
						|
	(*ModelInput)(nil),                                        // 12: inference.v1.ModelInput
 | 
						|
	(*ModelOutput)(nil),                                       // 13: inference.v1.ModelOutput
 | 
						|
	(*BatchInput)(nil),                                        // 14: inference.v1.BatchInput
 | 
						|
	(*BatchOutput)(nil),                                       // 15: inference.v1.BatchOutput
 | 
						|
	(*ModelVersionPolicy)(nil),                                // 16: inference.v1.ModelVersionPolicy
 | 
						|
	(*ModelOptimizationPolicy)(nil),                           // 17: inference.v1.ModelOptimizationPolicy
 | 
						|
	(*ModelQueuePolicy)(nil),                                  // 18: inference.v1.ModelQueuePolicy
 | 
						|
	(*ModelDynamicBatching)(nil),                              // 19: inference.v1.ModelDynamicBatching
 | 
						|
	(*ModelSequenceBatching)(nil),                             // 20: inference.v1.ModelSequenceBatching
 | 
						|
	(*ModelEnsembling)(nil),                                   // 21: inference.v1.ModelEnsembling
 | 
						|
	(*ModelParameter)(nil),                                    // 22: inference.v1.ModelParameter
 | 
						|
	(*ModelWarmup)(nil),                                       // 23: inference.v1.ModelWarmup
 | 
						|
	(*ModelOperations)(nil),                                   // 24: inference.v1.ModelOperations
 | 
						|
	(*ModelTransactionPolicy)(nil),                            // 25: inference.v1.ModelTransactionPolicy
 | 
						|
	(*ModelRepositoryAgents)(nil),                             // 26: inference.v1.ModelRepositoryAgents
 | 
						|
	(*ModelResponseCache)(nil),                                // 27: inference.v1.ModelResponseCache
 | 
						|
	(*ModelConfig)(nil),                                       // 28: inference.v1.ModelConfig
 | 
						|
	(*ModelRateLimiter_Resource)(nil),                         // 29: inference.v1.ModelRateLimiter.Resource
 | 
						|
	(*ModelInstanceGroup_SecondaryDevice)(nil),                // 30: inference.v1.ModelInstanceGroup.SecondaryDevice
 | 
						|
	(*ModelVersionPolicy_Latest)(nil),                         // 31: inference.v1.ModelVersionPolicy.Latest
 | 
						|
	(*ModelVersionPolicy_All)(nil),                            // 32: inference.v1.ModelVersionPolicy.All
 | 
						|
	(*ModelVersionPolicy_Specific)(nil),                       // 33: inference.v1.ModelVersionPolicy.Specific
 | 
						|
	(*ModelOptimizationPolicy_Graph)(nil),                     // 34: inference.v1.ModelOptimizationPolicy.Graph
 | 
						|
	(*ModelOptimizationPolicy_Cuda)(nil),                      // 35: inference.v1.ModelOptimizationPolicy.Cuda
 | 
						|
	(*ModelOptimizationPolicy_ExecutionAccelerators)(nil),     // 36: inference.v1.ModelOptimizationPolicy.ExecutionAccelerators
 | 
						|
	(*ModelOptimizationPolicy_PinnedMemoryBuffer)(nil),        // 37: inference.v1.ModelOptimizationPolicy.PinnedMemoryBuffer
 | 
						|
	(*ModelOptimizationPolicy_Cuda_GraphSpec)(nil),            // 38: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec
 | 
						|
	(*ModelOptimizationPolicy_Cuda_GraphSpec_Shape)(nil),      // 39: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.Shape
 | 
						|
	(*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound)(nil), // 40: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound
 | 
						|
	nil, // 41: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.InputEntry
 | 
						|
	nil, // 42: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.InputEntry
 | 
						|
	(*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator)(nil), // 43: inference.v1.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator
 | 
						|
	nil,                                   // 44: inference.v1.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator.ParametersEntry
 | 
						|
	nil,                                   // 45: inference.v1.ModelDynamicBatching.PriorityQueuePolicyEntry
 | 
						|
	(*ModelSequenceBatching_Control)(nil), // 46: inference.v1.ModelSequenceBatching.Control
 | 
						|
	(*ModelSequenceBatching_ControlInput)(nil),   // 47: inference.v1.ModelSequenceBatching.ControlInput
 | 
						|
	(*ModelSequenceBatching_InitialState)(nil),   // 48: inference.v1.ModelSequenceBatching.InitialState
 | 
						|
	(*ModelSequenceBatching_State)(nil),          // 49: inference.v1.ModelSequenceBatching.State
 | 
						|
	(*ModelSequenceBatching_StrategyDirect)(nil), // 50: inference.v1.ModelSequenceBatching.StrategyDirect
 | 
						|
	(*ModelSequenceBatching_StrategyOldest)(nil), // 51: inference.v1.ModelSequenceBatching.StrategyOldest
 | 
						|
	(*ModelEnsembling_Step)(nil),                 // 52: inference.v1.ModelEnsembling.Step
 | 
						|
	nil,                                          // 53: inference.v1.ModelEnsembling.Step.InputMapEntry
 | 
						|
	nil,                                          // 54: inference.v1.ModelEnsembling.Step.OutputMapEntry
 | 
						|
	(*ModelWarmup_Input)(nil),                    // 55: inference.v1.ModelWarmup.Input
 | 
						|
	nil,                                          // 56: inference.v1.ModelWarmup.InputsEntry
 | 
						|
	(*ModelRepositoryAgents_Agent)(nil),          // 57: inference.v1.ModelRepositoryAgents.Agent
 | 
						|
	nil,                                          // 58: inference.v1.ModelRepositoryAgents.Agent.ParametersEntry
 | 
						|
	nil,                                          // 59: inference.v1.ModelConfig.CcModelFilenamesEntry
 | 
						|
	nil,                                          // 60: inference.v1.ModelConfig.MetricTagsEntry
 | 
						|
	nil,                                          // 61: inference.v1.ModelConfig.ParametersEntry
 | 
						|
}
 | 
						|
var file_pkg_apis_inference_v1_model_config_proto_depIdxs = []int32{
 | 
						|
	29, // 0: inference.v1.ModelRateLimiter.resources:type_name -> inference.v1.ModelRateLimiter.Resource
 | 
						|
	1,  // 1: inference.v1.ModelInstanceGroup.kind:type_name -> inference.v1.ModelInstanceGroup.Kind
 | 
						|
	9,  // 2: inference.v1.ModelInstanceGroup.rate_limiter:type_name -> inference.v1.ModelRateLimiter
 | 
						|
	30, // 3: inference.v1.ModelInstanceGroup.secondary_devices:type_name -> inference.v1.ModelInstanceGroup.SecondaryDevice
 | 
						|
	0,  // 4: inference.v1.ModelInput.data_type:type_name -> inference.v1.DataType
 | 
						|
	3,  // 5: inference.v1.ModelInput.format:type_name -> inference.v1.ModelInput.Format
 | 
						|
	11, // 6: inference.v1.ModelInput.reshape:type_name -> inference.v1.ModelTensorReshape
 | 
						|
	0,  // 7: inference.v1.ModelOutput.data_type:type_name -> inference.v1.DataType
 | 
						|
	11, // 8: inference.v1.ModelOutput.reshape:type_name -> inference.v1.ModelTensorReshape
 | 
						|
	4,  // 9: inference.v1.BatchInput.kind:type_name -> inference.v1.BatchInput.Kind
 | 
						|
	0,  // 10: inference.v1.BatchInput.data_type:type_name -> inference.v1.DataType
 | 
						|
	5,  // 11: inference.v1.BatchOutput.kind:type_name -> inference.v1.BatchOutput.Kind
 | 
						|
	31, // 12: inference.v1.ModelVersionPolicy.latest:type_name -> inference.v1.ModelVersionPolicy.Latest
 | 
						|
	32, // 13: inference.v1.ModelVersionPolicy.all:type_name -> inference.v1.ModelVersionPolicy.All
 | 
						|
	33, // 14: inference.v1.ModelVersionPolicy.specific:type_name -> inference.v1.ModelVersionPolicy.Specific
 | 
						|
	34, // 15: inference.v1.ModelOptimizationPolicy.graph:type_name -> inference.v1.ModelOptimizationPolicy.Graph
 | 
						|
	6,  // 16: inference.v1.ModelOptimizationPolicy.priority:type_name -> inference.v1.ModelOptimizationPolicy.ModelPriority
 | 
						|
	35, // 17: inference.v1.ModelOptimizationPolicy.cuda:type_name -> inference.v1.ModelOptimizationPolicy.Cuda
 | 
						|
	36, // 18: inference.v1.ModelOptimizationPolicy.execution_accelerators:type_name -> inference.v1.ModelOptimizationPolicy.ExecutionAccelerators
 | 
						|
	37, // 19: inference.v1.ModelOptimizationPolicy.input_pinned_memory:type_name -> inference.v1.ModelOptimizationPolicy.PinnedMemoryBuffer
 | 
						|
	37, // 20: inference.v1.ModelOptimizationPolicy.output_pinned_memory:type_name -> inference.v1.ModelOptimizationPolicy.PinnedMemoryBuffer
 | 
						|
	7,  // 21: inference.v1.ModelQueuePolicy.timeout_action:type_name -> inference.v1.ModelQueuePolicy.TimeoutAction
 | 
						|
	18, // 22: inference.v1.ModelDynamicBatching.default_queue_policy:type_name -> inference.v1.ModelQueuePolicy
 | 
						|
	45, // 23: inference.v1.ModelDynamicBatching.priority_queue_policy:type_name -> inference.v1.ModelDynamicBatching.PriorityQueuePolicyEntry
 | 
						|
	50, // 24: inference.v1.ModelSequenceBatching.direct:type_name -> inference.v1.ModelSequenceBatching.StrategyDirect
 | 
						|
	51, // 25: inference.v1.ModelSequenceBatching.oldest:type_name -> inference.v1.ModelSequenceBatching.StrategyOldest
 | 
						|
	47, // 26: inference.v1.ModelSequenceBatching.control_input:type_name -> inference.v1.ModelSequenceBatching.ControlInput
 | 
						|
	49, // 27: inference.v1.ModelSequenceBatching.state:type_name -> inference.v1.ModelSequenceBatching.State
 | 
						|
	52, // 28: inference.v1.ModelEnsembling.step:type_name -> inference.v1.ModelEnsembling.Step
 | 
						|
	56, // 29: inference.v1.ModelWarmup.inputs:type_name -> inference.v1.ModelWarmup.InputsEntry
 | 
						|
	57, // 30: inference.v1.ModelRepositoryAgents.agents:type_name -> inference.v1.ModelRepositoryAgents.Agent
 | 
						|
	16, // 31: inference.v1.ModelConfig.version_policy:type_name -> inference.v1.ModelVersionPolicy
 | 
						|
	12, // 32: inference.v1.ModelConfig.input:type_name -> inference.v1.ModelInput
 | 
						|
	13, // 33: inference.v1.ModelConfig.output:type_name -> inference.v1.ModelOutput
 | 
						|
	14, // 34: inference.v1.ModelConfig.batch_input:type_name -> inference.v1.BatchInput
 | 
						|
	15, // 35: inference.v1.ModelConfig.batch_output:type_name -> inference.v1.BatchOutput
 | 
						|
	17, // 36: inference.v1.ModelConfig.optimization:type_name -> inference.v1.ModelOptimizationPolicy
 | 
						|
	19, // 37: inference.v1.ModelConfig.dynamic_batching:type_name -> inference.v1.ModelDynamicBatching
 | 
						|
	20, // 38: inference.v1.ModelConfig.sequence_batching:type_name -> inference.v1.ModelSequenceBatching
 | 
						|
	21, // 39: inference.v1.ModelConfig.ensemble_scheduling:type_name -> inference.v1.ModelEnsembling
 | 
						|
	10, // 40: inference.v1.ModelConfig.instance_group:type_name -> inference.v1.ModelInstanceGroup
 | 
						|
	59, // 41: inference.v1.ModelConfig.cc_model_filenames:type_name -> inference.v1.ModelConfig.CcModelFilenamesEntry
 | 
						|
	60, // 42: inference.v1.ModelConfig.metric_tags:type_name -> inference.v1.ModelConfig.MetricTagsEntry
 | 
						|
	61, // 43: inference.v1.ModelConfig.parameters:type_name -> inference.v1.ModelConfig.ParametersEntry
 | 
						|
	23, // 44: inference.v1.ModelConfig.model_warmup:type_name -> inference.v1.ModelWarmup
 | 
						|
	24, // 45: inference.v1.ModelConfig.model_operations:type_name -> inference.v1.ModelOperations
 | 
						|
	25, // 46: inference.v1.ModelConfig.model_transaction_policy:type_name -> inference.v1.ModelTransactionPolicy
 | 
						|
	26, // 47: inference.v1.ModelConfig.model_repository_agents:type_name -> inference.v1.ModelRepositoryAgents
 | 
						|
	27, // 48: inference.v1.ModelConfig.response_cache:type_name -> inference.v1.ModelResponseCache
 | 
						|
	2,  // 49: inference.v1.ModelInstanceGroup.SecondaryDevice.kind:type_name -> inference.v1.ModelInstanceGroup.SecondaryDevice.SecondaryDeviceKind
 | 
						|
	38, // 50: inference.v1.ModelOptimizationPolicy.Cuda.graph_spec:type_name -> inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec
 | 
						|
	43, // 51: inference.v1.ModelOptimizationPolicy.ExecutionAccelerators.gpu_execution_accelerator:type_name -> inference.v1.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator
 | 
						|
	43, // 52: inference.v1.ModelOptimizationPolicy.ExecutionAccelerators.cpu_execution_accelerator:type_name -> inference.v1.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator
 | 
						|
	41, // 53: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.input:type_name -> inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.InputEntry
 | 
						|
	40, // 54: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.graph_lower_bound:type_name -> inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound
 | 
						|
	42, // 55: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.input:type_name -> inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.InputEntry
 | 
						|
	39, // 56: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.InputEntry.value:type_name -> inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.Shape
 | 
						|
	39, // 57: inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.InputEntry.value:type_name -> inference.v1.ModelOptimizationPolicy.Cuda.GraphSpec.Shape
 | 
						|
	44, // 58: inference.v1.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator.parameters:type_name -> inference.v1.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator.ParametersEntry
 | 
						|
	18, // 59: inference.v1.ModelDynamicBatching.PriorityQueuePolicyEntry.value:type_name -> inference.v1.ModelQueuePolicy
 | 
						|
	8,  // 60: inference.v1.ModelSequenceBatching.Control.kind:type_name -> inference.v1.ModelSequenceBatching.Control.Kind
 | 
						|
	0,  // 61: inference.v1.ModelSequenceBatching.Control.data_type:type_name -> inference.v1.DataType
 | 
						|
	46, // 62: inference.v1.ModelSequenceBatching.ControlInput.control:type_name -> inference.v1.ModelSequenceBatching.Control
 | 
						|
	0,  // 63: inference.v1.ModelSequenceBatching.InitialState.data_type:type_name -> inference.v1.DataType
 | 
						|
	0,  // 64: inference.v1.ModelSequenceBatching.State.data_type:type_name -> inference.v1.DataType
 | 
						|
	48, // 65: inference.v1.ModelSequenceBatching.State.initial_state:type_name -> inference.v1.ModelSequenceBatching.InitialState
 | 
						|
	53, // 66: inference.v1.ModelEnsembling.Step.input_map:type_name -> inference.v1.ModelEnsembling.Step.InputMapEntry
 | 
						|
	54, // 67: inference.v1.ModelEnsembling.Step.output_map:type_name -> inference.v1.ModelEnsembling.Step.OutputMapEntry
 | 
						|
	0,  // 68: inference.v1.ModelWarmup.Input.data_type:type_name -> inference.v1.DataType
 | 
						|
	55, // 69: inference.v1.ModelWarmup.InputsEntry.value:type_name -> inference.v1.ModelWarmup.Input
 | 
						|
	58, // 70: inference.v1.ModelRepositoryAgents.Agent.parameters:type_name -> inference.v1.ModelRepositoryAgents.Agent.ParametersEntry
 | 
						|
	22, // 71: inference.v1.ModelConfig.ParametersEntry.value:type_name -> inference.v1.ModelParameter
 | 
						|
	72, // [72:72] is the sub-list for method output_type
 | 
						|
	72, // [72:72] is the sub-list for method input_type
 | 
						|
	72, // [72:72] is the sub-list for extension type_name
 | 
						|
	72, // [72:72] is the sub-list for extension extendee
 | 
						|
	0,  // [0:72] is the sub-list for field type_name
 | 
						|
}
 | 
						|
 | 
						|
func init() { file_pkg_apis_inference_v1_model_config_proto_init() }
 | 
						|
func file_pkg_apis_inference_v1_model_config_proto_init() {
 | 
						|
	if File_pkg_apis_inference_v1_model_config_proto != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	if !protoimpl.UnsafeEnabled {
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelRateLimiter); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelInstanceGroup); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelTensorReshape); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelInput); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOutput); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*BatchInput); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*BatchOutput); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelVersionPolicy); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelQueuePolicy); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelDynamicBatching); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelSequenceBatching); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelEnsembling); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelParameter); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelWarmup); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOperations); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelTransactionPolicy); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelRepositoryAgents); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelResponseCache); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelConfig); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelRateLimiter_Resource); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelInstanceGroup_SecondaryDevice); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelVersionPolicy_Latest); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelVersionPolicy_All); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelVersionPolicy_Specific); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy_Graph); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy_Cuda); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy_ExecutionAccelerators); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy_PinnedMemoryBuffer); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy_Cuda_GraphSpec); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy_Cuda_GraphSpec_Shape); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelSequenceBatching_Control); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelSequenceBatching_ControlInput); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelSequenceBatching_InitialState); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelSequenceBatching_State); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelSequenceBatching_StrategyDirect); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelSequenceBatching_StrategyOldest); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelEnsembling_Step); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelWarmup_Input); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
		file_pkg_apis_inference_v1_model_config_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
 | 
						|
			switch v := v.(*ModelRepositoryAgents_Agent); i {
 | 
						|
			case 0:
 | 
						|
				return &v.state
 | 
						|
			case 1:
 | 
						|
				return &v.sizeCache
 | 
						|
			case 2:
 | 
						|
				return &v.unknownFields
 | 
						|
			default:
 | 
						|
				return nil
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_msgTypes[7].OneofWrappers = []interface{}{
 | 
						|
		(*ModelVersionPolicy_Latest_)(nil),
 | 
						|
		(*ModelVersionPolicy_All_)(nil),
 | 
						|
		(*ModelVersionPolicy_Specific_)(nil),
 | 
						|
	}
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_msgTypes[11].OneofWrappers = []interface{}{
 | 
						|
		(*ModelSequenceBatching_Direct)(nil),
 | 
						|
		(*ModelSequenceBatching_Oldest)(nil),
 | 
						|
	}
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_msgTypes[19].OneofWrappers = []interface{}{
 | 
						|
		(*ModelConfig_DynamicBatching)(nil),
 | 
						|
		(*ModelConfig_SequenceBatching)(nil),
 | 
						|
		(*ModelConfig_EnsembleScheduling)(nil),
 | 
						|
	}
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_msgTypes[39].OneofWrappers = []interface{}{
 | 
						|
		(*ModelSequenceBatching_InitialState_ZeroData)(nil),
 | 
						|
		(*ModelSequenceBatching_InitialState_DataFile)(nil),
 | 
						|
	}
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_msgTypes[46].OneofWrappers = []interface{}{
 | 
						|
		(*ModelWarmup_Input_ZeroData)(nil),
 | 
						|
		(*ModelWarmup_Input_RandomData)(nil),
 | 
						|
		(*ModelWarmup_Input_InputDataFile)(nil),
 | 
						|
	}
 | 
						|
	type x struct{}
 | 
						|
	out := protoimpl.TypeBuilder{
 | 
						|
		File: protoimpl.DescBuilder{
 | 
						|
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
						|
			RawDescriptor: file_pkg_apis_inference_v1_model_config_proto_rawDesc,
 | 
						|
			NumEnums:      9,
 | 
						|
			NumMessages:   53,
 | 
						|
			NumExtensions: 0,
 | 
						|
			NumServices:   0,
 | 
						|
		},
 | 
						|
		GoTypes:           file_pkg_apis_inference_v1_model_config_proto_goTypes,
 | 
						|
		DependencyIndexes: file_pkg_apis_inference_v1_model_config_proto_depIdxs,
 | 
						|
		EnumInfos:         file_pkg_apis_inference_v1_model_config_proto_enumTypes,
 | 
						|
		MessageInfos:      file_pkg_apis_inference_v1_model_config_proto_msgTypes,
 | 
						|
	}.Build()
 | 
						|
	File_pkg_apis_inference_v1_model_config_proto = out.File
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_rawDesc = nil
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_goTypes = nil
 | 
						|
	file_pkg_apis_inference_v1_model_config_proto_depIdxs = nil
 | 
						|
}
 |