# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: MIL.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tMIL.proto\x12\x1c\x43oreML.Specification.MILSpec\"\xf3\x02\n\x07Program\x12\x0f\n\x07version\x18\x01 \x01(\x03\x12G\n\tfunctions\x18\x02 \x03(\x0b\x32\x34.CoreML.Specification.MILSpec.Program.FunctionsEntry\x12\x11\n\tdocString\x18\x03 \x01(\t\x12I\n\nattributes\x18\x04 \x03(\x0b\x32\x35.CoreML.Specification.MILSpec.Program.AttributesEntry\x1aX\n\x0e\x46unctionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.CoreML.Specification.MILSpec.Function:\x02\x38\x01\x1aV\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.CoreML.Specification.MILSpec.Value:\x02\x38\x01\"\xbe\x03\n\x08\x46unction\x12<\n\x06inputs\x18\x01 \x03(\x0b\x32,.CoreML.Specification.MILSpec.NamedValueType\x12\r\n\x05opset\x18\x02 \x01(\t\x12_\n\x15\x62lock_specializations\x18\x03 \x03(\x0b\x32@.CoreML.Specification.MILSpec.Function.BlockSpecializationsEntry\x12J\n\nattributes\x18\x04 \x03(\x0b\x32\x36.CoreML.Specification.MILSpec.Function.AttributesEntry\x1a`\n\x19\x42lockSpecializationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.CoreML.Specification.MILSpec.Block:\x02\x38\x01\x1aV\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.CoreML.Specification.MILSpec.Value:\x02\x38\x01\"\xb4\x02\n\x05\x42lock\x12<\n\x06inputs\x18\x01 \x03(\x0b\x32,.CoreML.Specification.MILSpec.NamedValueType\x12\x0f\n\x07outputs\x18\x02 \x03(\t\x12;\n\noperations\x18\x03 \x03(\x0b\x32\'.CoreML.Specification.MILSpec.Operation\x12G\n\nattributes\x18\x04 \x03(\x0b\x32\x33.CoreML.Specification.MILSpec.Block.AttributesEntry\x1aV\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.CoreML.Specification.MILSpec.Value:\x02\x38\x01\"\xa9\x01\n\x08\x41rgument\x12\x41\n\targuments\x18\x01 \x03(\x0b\x32..CoreML.Specification.MILSpec.Argument.Binding\x1aZ\n\x07\x42inding\x12\x0e\n\x04name\x18\x01 \x01(\tH\x00\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32#.CoreML.Specification.MILSpec.ValueH\x00\x42\t\n\x07\x62inding\"\xce\x03\n\tOperation\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x43\n\x06inputs\x18\x02 \x03(\x0b\x32\x33.CoreML.Specification.MILSpec.Operation.InputsEntry\x12=\n\x07outputs\x18\x03 \x03(\x0b\x32,.CoreML.Specification.MILSpec.NamedValueType\x12\x33\n\x06\x62locks\x18\x04 \x03(\x0b\x32#.CoreML.Specification.MILSpec.Block\x12K\n\nattributes\x18\x05 \x03(\x0b\x32\x37.CoreML.Specification.MILSpec.Operation.AttributesEntry\x1aU\n\x0bInputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.CoreML.Specification.MILSpec.Argument:\x02\x38\x01\x1aV\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.CoreML.Specification.MILSpec.Value:\x02\x38\x01\"U\n\x0eNamedValueType\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.ValueType\"\xd3\x02\n\tValueType\x12>\n\ntensorType\x18\x01 \x01(\x0b\x32(.CoreML.Specification.MILSpec.TensorTypeH\x00\x12:\n\x08listType\x18\x02 \x01(\x0b\x32&.CoreML.Specification.MILSpec.ListTypeH\x00\x12<\n\ttupleType\x18\x03 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.TupleTypeH\x00\x12\x46\n\x0e\x64ictionaryType\x18\x04 \x01(\x0b\x32,.CoreML.Specification.MILSpec.DictionaryTypeH\x00\x12<\n\tstateType\x18\x05 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.StateTypeH\x00\x42\x06\n\x04type\"\xb7\x02\n\nTensorType\x12\x38\n\x08\x64\x61taType\x18\x01 \x01(\x0e\x32&.CoreML.Specification.MILSpec.DataType\x12\x0c\n\x04rank\x18\x02 \x01(\x03\x12;\n\ndimensions\x18\x03 \x03(\x0b\x32\'.CoreML.Specification.MILSpec.Dimension\x12L\n\nattributes\x18\x04 \x03(\x0b\x32\x38.CoreML.Specification.MILSpec.TensorType.AttributesEntry\x1aV\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.CoreML.Specification.MILSpec.Value:\x02\x38\x01\"C\n\tTupleType\x12\x36\n\x05types\x18\x01 \x03(\x0b\x32\'.CoreML.Specification.MILSpec.ValueType\"z\n\x08ListType\x12\x35\n\x04type\x18\x01 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.ValueType\x12\x37\n\x06length\x18\x02 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.Dimension\"\x86\x01\n\x0e\x44ictionaryType\x12\x38\n\x07keyType\x18\x01 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.ValueType\x12:\n\tvalueType\x18\x02 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.ValueType\"I\n\tStateType\x12<\n\x0bwrappedType\x18\x01 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.ValueType\"\xfd\x01\n\tDimension\x12M\n\x08\x63onstant\x18\x01 \x01(\x0b\x32\x39.CoreML.Specification.MILSpec.Dimension.ConstantDimensionH\x00\x12K\n\x07unknown\x18\x02 \x01(\x0b\x32\x38.CoreML.Specification.MILSpec.Dimension.UnknownDimensionH\x00\x1a!\n\x11\x43onstantDimension\x12\x0c\n\x04size\x18\x01 \x01(\x04\x1a$\n\x10UnknownDimension\x12\x10\n\x08variadic\x18\x01 \x01(\x08\x42\x0b\n\tdimension\"\xb9\x04\n\x05Value\x12\x11\n\tdocString\x18\x01 \x01(\t\x12\x35\n\x04type\x18\x02 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.ValueType\x12L\n\x0eimmediateValue\x18\x03 \x01(\x0b\x32\x32.CoreML.Specification.MILSpec.Value.ImmediateValueH\x00\x12J\n\rblobFileValue\x18\x05 \x01(\x0b\x32\x31.CoreML.Specification.MILSpec.Value.BlobFileValueH\x00\x1a\x8f\x02\n\x0eImmediateValue\x12;\n\x06tensor\x18\x01 \x01(\x0b\x32).CoreML.Specification.MILSpec.TensorValueH\x00\x12\x39\n\x05tuple\x18\x02 \x01(\x0b\x32(.CoreML.Specification.MILSpec.TupleValueH\x00\x12\x37\n\x04list\x18\x03 \x01(\x0b\x32\'.CoreML.Specification.MILSpec.ListValueH\x00\x12\x43\n\ndictionary\x18\x04 \x01(\x0b\x32-.CoreML.Specification.MILSpec.DictionaryValueH\x00\x42\x07\n\x05value\x1a\x31\n\rBlobFileValue\x12\x10\n\x08\x66ileName\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x42\x07\n\x05value\"\xac\x06\n\x0bTensorValue\x12J\n\x06\x66loats\x18\x01 \x01(\x0b\x32\x38.CoreML.Specification.MILSpec.TensorValue.RepeatedFloatsH\x00\x12\x46\n\x04ints\x18\x02 \x01(\x0b\x32\x36.CoreML.Specification.MILSpec.TensorValue.RepeatedIntsH\x00\x12H\n\x05\x62ools\x18\x03 \x01(\x0b\x32\x37.CoreML.Specification.MILSpec.TensorValue.RepeatedBoolsH\x00\x12L\n\x07strings\x18\x04 \x01(\x0b\x32\x39.CoreML.Specification.MILSpec.TensorValue.RepeatedStringsH\x00\x12N\n\x08longInts\x18\x05 \x01(\x0b\x32:.CoreML.Specification.MILSpec.TensorValue.RepeatedLongIntsH\x00\x12L\n\x07\x64oubles\x18\x06 \x01(\x0b\x32\x39.CoreML.Specification.MILSpec.TensorValue.RepeatedDoublesH\x00\x12H\n\x05\x62ytes\x18\x07 \x01(\x0b\x32\x37.CoreML.Specification.MILSpec.TensorValue.RepeatedBytesH\x00\x1a$\n\x0eRepeatedFloats\x12\x12\n\x06values\x18\x01 \x03(\x02\x42\x02\x10\x01\x1a%\n\x0fRepeatedDoubles\x12\x12\n\x06values\x18\x01 \x03(\x01\x42\x02\x10\x01\x1a\"\n\x0cRepeatedInts\x12\x12\n\x06values\x18\x01 \x03(\x05\x42\x02\x10\x01\x1a&\n\x10RepeatedLongInts\x12\x12\n\x06values\x18\x01 \x03(\x03\x42\x02\x10\x01\x1a#\n\rRepeatedBools\x12\x12\n\x06values\x18\x01 \x03(\x08\x42\x02\x10\x01\x1a!\n\x0fRepeatedStrings\x12\x0e\n\x06values\x18\x01 \x03(\t\x1a\x1f\n\rRepeatedBytes\x12\x0e\n\x06values\x18\x01 \x01(\x0c\x42\x07\n\x05value\"A\n\nTupleValue\x12\x33\n\x06values\x18\x01 \x03(\x0b\x32#.CoreML.Specification.MILSpec.Value\"@\n\tListValue\x12\x33\n\x06values\x18\x01 \x03(\x0b\x32#.CoreML.Specification.MILSpec.Value\"\xd3\x01\n\x0f\x44ictionaryValue\x12J\n\x06values\x18\x01 \x03(\x0b\x32:.CoreML.Specification.MILSpec.DictionaryValue.KeyValuePair\x1at\n\x0cKeyValuePair\x12\x30\n\x03key\x18\x01 \x01(\x0b\x32#.CoreML.Specification.MILSpec.Value\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.CoreML.Specification.MILSpec.Value*\xa3\x02\n\x08\x44\x61taType\x12\x0f\n\x0bUNUSED_TYPE\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x10\n\x0c\x46LOAT8E4M3FN\x10(\x12\x0e\n\nFLOAT8E5M2\x10)\x12\x0b\n\x07\x46LOAT16\x10\n\x12\x0b\n\x07\x46LOAT32\x10\x0b\x12\x0b\n\x07\x46LOAT64\x10\x0c\x12\x0c\n\x08\x42\x46LOAT16\x10\r\x12\x08\n\x04INT8\x10\x15\x12\t\n\x05INT16\x10\x16\x12\t\n\x05INT32\x10\x17\x12\t\n\x05INT64\x10\x18\x12\x08\n\x04INT4\x10\x19\x12\t\n\x05UINT8\x10\x1f\x12\n\n\x06UINT16\x10 \x12\n\n\x06UINT32\x10!\x12\n\n\x06UINT64\x10\"\x12\t\n\x05UINT4\x10#\x12\t\n\x05UINT2\x10$\x12\t\n\x05UINT1\x10%\x12\t\n\x05UINT6\x10&\x12\t\n\x05UINT3\x10\'B\x02H\x03\x62\x06proto3')

_DATATYPE = DESCRIPTOR.enum_types_by_name['DataType']
DataType = enum_type_wrapper.EnumTypeWrapper(_DATATYPE)
UNUSED_TYPE = 0
BOOL = 1
STRING = 2
FLOAT8E4M3FN = 40
FLOAT8E5M2 = 41
FLOAT16 = 10
FLOAT32 = 11
FLOAT64 = 12
BFLOAT16 = 13
INT8 = 21
INT16 = 22
INT32 = 23
INT64 = 24
INT4 = 25
UINT8 = 31
UINT16 = 32
UINT32 = 33
UINT64 = 34
UINT4 = 35
UINT2 = 36
UINT1 = 37
UINT6 = 38
UINT3 = 39


_PROGRAM = DESCRIPTOR.message_types_by_name['Program']
_PROGRAM_FUNCTIONSENTRY = _PROGRAM.nested_types_by_name['FunctionsEntry']
_PROGRAM_ATTRIBUTESENTRY = _PROGRAM.nested_types_by_name['AttributesEntry']
_FUNCTION = DESCRIPTOR.message_types_by_name['Function']
_FUNCTION_BLOCKSPECIALIZATIONSENTRY = _FUNCTION.nested_types_by_name['BlockSpecializationsEntry']
_FUNCTION_ATTRIBUTESENTRY = _FUNCTION.nested_types_by_name['AttributesEntry']
_BLOCK = DESCRIPTOR.message_types_by_name['Block']
_BLOCK_ATTRIBUTESENTRY = _BLOCK.nested_types_by_name['AttributesEntry']
_ARGUMENT = DESCRIPTOR.message_types_by_name['Argument']
_ARGUMENT_BINDING = _ARGUMENT.nested_types_by_name['Binding']
_OPERATION = DESCRIPTOR.message_types_by_name['Operation']
_OPERATION_INPUTSENTRY = _OPERATION.nested_types_by_name['InputsEntry']
_OPERATION_ATTRIBUTESENTRY = _OPERATION.nested_types_by_name['AttributesEntry']
_NAMEDVALUETYPE = DESCRIPTOR.message_types_by_name['NamedValueType']
_VALUETYPE = DESCRIPTOR.message_types_by_name['ValueType']
_TENSORTYPE = DESCRIPTOR.message_types_by_name['TensorType']
_TENSORTYPE_ATTRIBUTESENTRY = _TENSORTYPE.nested_types_by_name['AttributesEntry']
_TUPLETYPE = DESCRIPTOR.message_types_by_name['TupleType']
_LISTTYPE = DESCRIPTOR.message_types_by_name['ListType']
_DICTIONARYTYPE = DESCRIPTOR.message_types_by_name['DictionaryType']
_STATETYPE = DESCRIPTOR.message_types_by_name['StateType']
_DIMENSION = DESCRIPTOR.message_types_by_name['Dimension']
_DIMENSION_CONSTANTDIMENSION = _DIMENSION.nested_types_by_name['ConstantDimension']
_DIMENSION_UNKNOWNDIMENSION = _DIMENSION.nested_types_by_name['UnknownDimension']
_VALUE = DESCRIPTOR.message_types_by_name['Value']
_VALUE_IMMEDIATEVALUE = _VALUE.nested_types_by_name['ImmediateValue']
_VALUE_BLOBFILEVALUE = _VALUE.nested_types_by_name['BlobFileValue']
_TENSORVALUE = DESCRIPTOR.message_types_by_name['TensorValue']
_TENSORVALUE_REPEATEDFLOATS = _TENSORVALUE.nested_types_by_name['RepeatedFloats']
_TENSORVALUE_REPEATEDDOUBLES = _TENSORVALUE.nested_types_by_name['RepeatedDoubles']
_TENSORVALUE_REPEATEDINTS = _TENSORVALUE.nested_types_by_name['RepeatedInts']
_TENSORVALUE_REPEATEDLONGINTS = _TENSORVALUE.nested_types_by_name['RepeatedLongInts']
_TENSORVALUE_REPEATEDBOOLS = _TENSORVALUE.nested_types_by_name['RepeatedBools']
_TENSORVALUE_REPEATEDSTRINGS = _TENSORVALUE.nested_types_by_name['RepeatedStrings']
_TENSORVALUE_REPEATEDBYTES = _TENSORVALUE.nested_types_by_name['RepeatedBytes']
_TUPLEVALUE = DESCRIPTOR.message_types_by_name['TupleValue']
_LISTVALUE = DESCRIPTOR.message_types_by_name['ListValue']
_DICTIONARYVALUE = DESCRIPTOR.message_types_by_name['DictionaryValue']
_DICTIONARYVALUE_KEYVALUEPAIR = _DICTIONARYVALUE.nested_types_by_name['KeyValuePair']
Program = _reflection.GeneratedProtocolMessageType('Program', (_message.Message,), {

  'FunctionsEntry' : _reflection.GeneratedProtocolMessageType('FunctionsEntry', (_message.Message,), {
    'DESCRIPTOR' : _PROGRAM_FUNCTIONSENTRY,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Program.FunctionsEntry)
    })
  ,

  'AttributesEntry' : _reflection.GeneratedProtocolMessageType('AttributesEntry', (_message.Message,), {
    'DESCRIPTOR' : _PROGRAM_ATTRIBUTESENTRY,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Program.AttributesEntry)
    })
  ,
  'DESCRIPTOR' : _PROGRAM,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Program)
  })
_sym_db.RegisterMessage(Program)
_sym_db.RegisterMessage(Program.FunctionsEntry)
_sym_db.RegisterMessage(Program.AttributesEntry)

Function = _reflection.GeneratedProtocolMessageType('Function', (_message.Message,), {

  'BlockSpecializationsEntry' : _reflection.GeneratedProtocolMessageType('BlockSpecializationsEntry', (_message.Message,), {
    'DESCRIPTOR' : _FUNCTION_BLOCKSPECIALIZATIONSENTRY,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Function.BlockSpecializationsEntry)
    })
  ,

  'AttributesEntry' : _reflection.GeneratedProtocolMessageType('AttributesEntry', (_message.Message,), {
    'DESCRIPTOR' : _FUNCTION_ATTRIBUTESENTRY,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Function.AttributesEntry)
    })
  ,
  'DESCRIPTOR' : _FUNCTION,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Function)
  })
_sym_db.RegisterMessage(Function)
_sym_db.RegisterMessage(Function.BlockSpecializationsEntry)
_sym_db.RegisterMessage(Function.AttributesEntry)

Block = _reflection.GeneratedProtocolMessageType('Block', (_message.Message,), {

  'AttributesEntry' : _reflection.GeneratedProtocolMessageType('AttributesEntry', (_message.Message,), {
    'DESCRIPTOR' : _BLOCK_ATTRIBUTESENTRY,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Block.AttributesEntry)
    })
  ,
  'DESCRIPTOR' : _BLOCK,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Block)
  })
_sym_db.RegisterMessage(Block)
_sym_db.RegisterMessage(Block.AttributesEntry)

Argument = _reflection.GeneratedProtocolMessageType('Argument', (_message.Message,), {

  'Binding' : _reflection.GeneratedProtocolMessageType('Binding', (_message.Message,), {
    'DESCRIPTOR' : _ARGUMENT_BINDING,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Argument.Binding)
    })
  ,
  'DESCRIPTOR' : _ARGUMENT,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Argument)
  })
_sym_db.RegisterMessage(Argument)
_sym_db.RegisterMessage(Argument.Binding)

Operation = _reflection.GeneratedProtocolMessageType('Operation', (_message.Message,), {

  'InputsEntry' : _reflection.GeneratedProtocolMessageType('InputsEntry', (_message.Message,), {
    'DESCRIPTOR' : _OPERATION_INPUTSENTRY,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Operation.InputsEntry)
    })
  ,

  'AttributesEntry' : _reflection.GeneratedProtocolMessageType('AttributesEntry', (_message.Message,), {
    'DESCRIPTOR' : _OPERATION_ATTRIBUTESENTRY,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Operation.AttributesEntry)
    })
  ,
  'DESCRIPTOR' : _OPERATION,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Operation)
  })
_sym_db.RegisterMessage(Operation)
_sym_db.RegisterMessage(Operation.InputsEntry)
_sym_db.RegisterMessage(Operation.AttributesEntry)

NamedValueType = _reflection.GeneratedProtocolMessageType('NamedValueType', (_message.Message,), {
  'DESCRIPTOR' : _NAMEDVALUETYPE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.NamedValueType)
  })
_sym_db.RegisterMessage(NamedValueType)

ValueType = _reflection.GeneratedProtocolMessageType('ValueType', (_message.Message,), {
  'DESCRIPTOR' : _VALUETYPE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.ValueType)
  })
_sym_db.RegisterMessage(ValueType)

TensorType = _reflection.GeneratedProtocolMessageType('TensorType', (_message.Message,), {

  'AttributesEntry' : _reflection.GeneratedProtocolMessageType('AttributesEntry', (_message.Message,), {
    'DESCRIPTOR' : _TENSORTYPE_ATTRIBUTESENTRY,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorType.AttributesEntry)
    })
  ,
  'DESCRIPTOR' : _TENSORTYPE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorType)
  })
_sym_db.RegisterMessage(TensorType)
_sym_db.RegisterMessage(TensorType.AttributesEntry)

TupleType = _reflection.GeneratedProtocolMessageType('TupleType', (_message.Message,), {
  'DESCRIPTOR' : _TUPLETYPE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TupleType)
  })
_sym_db.RegisterMessage(TupleType)

ListType = _reflection.GeneratedProtocolMessageType('ListType', (_message.Message,), {
  'DESCRIPTOR' : _LISTTYPE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.ListType)
  })
_sym_db.RegisterMessage(ListType)

DictionaryType = _reflection.GeneratedProtocolMessageType('DictionaryType', (_message.Message,), {
  'DESCRIPTOR' : _DICTIONARYTYPE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.DictionaryType)
  })
_sym_db.RegisterMessage(DictionaryType)

StateType = _reflection.GeneratedProtocolMessageType('StateType', (_message.Message,), {
  'DESCRIPTOR' : _STATETYPE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.StateType)
  })
_sym_db.RegisterMessage(StateType)

Dimension = _reflection.GeneratedProtocolMessageType('Dimension', (_message.Message,), {

  'ConstantDimension' : _reflection.GeneratedProtocolMessageType('ConstantDimension', (_message.Message,), {
    'DESCRIPTOR' : _DIMENSION_CONSTANTDIMENSION,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Dimension.ConstantDimension)
    })
  ,

  'UnknownDimension' : _reflection.GeneratedProtocolMessageType('UnknownDimension', (_message.Message,), {
    'DESCRIPTOR' : _DIMENSION_UNKNOWNDIMENSION,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Dimension.UnknownDimension)
    })
  ,
  'DESCRIPTOR' : _DIMENSION,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Dimension)
  })
_sym_db.RegisterMessage(Dimension)
_sym_db.RegisterMessage(Dimension.ConstantDimension)
_sym_db.RegisterMessage(Dimension.UnknownDimension)

Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), {

  'ImmediateValue' : _reflection.GeneratedProtocolMessageType('ImmediateValue', (_message.Message,), {
    'DESCRIPTOR' : _VALUE_IMMEDIATEVALUE,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Value.ImmediateValue)
    })
  ,

  'BlobFileValue' : _reflection.GeneratedProtocolMessageType('BlobFileValue', (_message.Message,), {
    'DESCRIPTOR' : _VALUE_BLOBFILEVALUE,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Value.BlobFileValue)
    })
  ,
  'DESCRIPTOR' : _VALUE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.Value)
  })
_sym_db.RegisterMessage(Value)
_sym_db.RegisterMessage(Value.ImmediateValue)
_sym_db.RegisterMessage(Value.BlobFileValue)

TensorValue = _reflection.GeneratedProtocolMessageType('TensorValue', (_message.Message,), {

  'RepeatedFloats' : _reflection.GeneratedProtocolMessageType('RepeatedFloats', (_message.Message,), {
    'DESCRIPTOR' : _TENSORVALUE_REPEATEDFLOATS,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorValue.RepeatedFloats)
    })
  ,

  'RepeatedDoubles' : _reflection.GeneratedProtocolMessageType('RepeatedDoubles', (_message.Message,), {
    'DESCRIPTOR' : _TENSORVALUE_REPEATEDDOUBLES,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorValue.RepeatedDoubles)
    })
  ,

  'RepeatedInts' : _reflection.GeneratedProtocolMessageType('RepeatedInts', (_message.Message,), {
    'DESCRIPTOR' : _TENSORVALUE_REPEATEDINTS,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorValue.RepeatedInts)
    })
  ,

  'RepeatedLongInts' : _reflection.GeneratedProtocolMessageType('RepeatedLongInts', (_message.Message,), {
    'DESCRIPTOR' : _TENSORVALUE_REPEATEDLONGINTS,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorValue.RepeatedLongInts)
    })
  ,

  'RepeatedBools' : _reflection.GeneratedProtocolMessageType('RepeatedBools', (_message.Message,), {
    'DESCRIPTOR' : _TENSORVALUE_REPEATEDBOOLS,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorValue.RepeatedBools)
    })
  ,

  'RepeatedStrings' : _reflection.GeneratedProtocolMessageType('RepeatedStrings', (_message.Message,), {
    'DESCRIPTOR' : _TENSORVALUE_REPEATEDSTRINGS,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorValue.RepeatedStrings)
    })
  ,

  'RepeatedBytes' : _reflection.GeneratedProtocolMessageType('RepeatedBytes', (_message.Message,), {
    'DESCRIPTOR' : _TENSORVALUE_REPEATEDBYTES,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorValue.RepeatedBytes)
    })
  ,
  'DESCRIPTOR' : _TENSORVALUE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TensorValue)
  })
_sym_db.RegisterMessage(TensorValue)
_sym_db.RegisterMessage(TensorValue.RepeatedFloats)
_sym_db.RegisterMessage(TensorValue.RepeatedDoubles)
_sym_db.RegisterMessage(TensorValue.RepeatedInts)
_sym_db.RegisterMessage(TensorValue.RepeatedLongInts)
_sym_db.RegisterMessage(TensorValue.RepeatedBools)
_sym_db.RegisterMessage(TensorValue.RepeatedStrings)
_sym_db.RegisterMessage(TensorValue.RepeatedBytes)

TupleValue = _reflection.GeneratedProtocolMessageType('TupleValue', (_message.Message,), {
  'DESCRIPTOR' : _TUPLEVALUE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.TupleValue)
  })
_sym_db.RegisterMessage(TupleValue)

ListValue = _reflection.GeneratedProtocolMessageType('ListValue', (_message.Message,), {
  'DESCRIPTOR' : _LISTVALUE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.ListValue)
  })
_sym_db.RegisterMessage(ListValue)

DictionaryValue = _reflection.GeneratedProtocolMessageType('DictionaryValue', (_message.Message,), {

  'KeyValuePair' : _reflection.GeneratedProtocolMessageType('KeyValuePair', (_message.Message,), {
    'DESCRIPTOR' : _DICTIONARYVALUE_KEYVALUEPAIR,
    '__module__' : 'MIL_pb2'
    # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.DictionaryValue.KeyValuePair)
    })
  ,
  'DESCRIPTOR' : _DICTIONARYVALUE,
  '__module__' : 'MIL_pb2'
  # @@protoc_insertion_point(class_scope:CoreML.Specification.MILSpec.DictionaryValue)
  })
_sym_db.RegisterMessage(DictionaryValue)
_sym_db.RegisterMessage(DictionaryValue.KeyValuePair)

if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'H\003'
  _PROGRAM_FUNCTIONSENTRY._options = None
  _PROGRAM_FUNCTIONSENTRY._serialized_options = b'8\001'
  _PROGRAM_ATTRIBUTESENTRY._options = None
  _PROGRAM_ATTRIBUTESENTRY._serialized_options = b'8\001'
  _FUNCTION_BLOCKSPECIALIZATIONSENTRY._options = None
  _FUNCTION_BLOCKSPECIALIZATIONSENTRY._serialized_options = b'8\001'
  _FUNCTION_ATTRIBUTESENTRY._options = None
  _FUNCTION_ATTRIBUTESENTRY._serialized_options = b'8\001'
  _BLOCK_ATTRIBUTESENTRY._options = None
  _BLOCK_ATTRIBUTESENTRY._serialized_options = b'8\001'
  _OPERATION_INPUTSENTRY._options = None
  _OPERATION_INPUTSENTRY._serialized_options = b'8\001'
  _OPERATION_ATTRIBUTESENTRY._options = None
  _OPERATION_ATTRIBUTESENTRY._serialized_options = b'8\001'
  _TENSORTYPE_ATTRIBUTESENTRY._options = None
  _TENSORTYPE_ATTRIBUTESENTRY._serialized_options = b'8\001'
  _TENSORVALUE_REPEATEDFLOATS.fields_by_name['values']._options = None
  _TENSORVALUE_REPEATEDFLOATS.fields_by_name['values']._serialized_options = b'\020\001'
  _TENSORVALUE_REPEATEDDOUBLES.fields_by_name['values']._options = None
  _TENSORVALUE_REPEATEDDOUBLES.fields_by_name['values']._serialized_options = b'\020\001'
  _TENSORVALUE_REPEATEDINTS.fields_by_name['values']._options = None
  _TENSORVALUE_REPEATEDINTS.fields_by_name['values']._serialized_options = b'\020\001'
  _TENSORVALUE_REPEATEDLONGINTS.fields_by_name['values']._options = None
  _TENSORVALUE_REPEATEDLONGINTS.fields_by_name['values']._serialized_options = b'\020\001'
  _TENSORVALUE_REPEATEDBOOLS.fields_by_name['values']._options = None
  _TENSORVALUE_REPEATEDBOOLS.fields_by_name['values']._serialized_options = b'\020\001'
  _DATATYPE._serialized_start=4953
  _DATATYPE._serialized_end=5244
  _PROGRAM._serialized_start=44
  _PROGRAM._serialized_end=415
  _PROGRAM_FUNCTIONSENTRY._serialized_start=239
  _PROGRAM_FUNCTIONSENTRY._serialized_end=327
  _PROGRAM_ATTRIBUTESENTRY._serialized_start=329
  _PROGRAM_ATTRIBUTESENTRY._serialized_end=415
  _FUNCTION._serialized_start=418
  _FUNCTION._serialized_end=864
  _FUNCTION_BLOCKSPECIALIZATIONSENTRY._serialized_start=680
  _FUNCTION_BLOCKSPECIALIZATIONSENTRY._serialized_end=776
  _FUNCTION_ATTRIBUTESENTRY._serialized_start=329
  _FUNCTION_ATTRIBUTESENTRY._serialized_end=415
  _BLOCK._serialized_start=867
  _BLOCK._serialized_end=1175
  _BLOCK_ATTRIBUTESENTRY._serialized_start=329
  _BLOCK_ATTRIBUTESENTRY._serialized_end=415
  _ARGUMENT._serialized_start=1178
  _ARGUMENT._serialized_end=1347
  _ARGUMENT_BINDING._serialized_start=1257
  _ARGUMENT_BINDING._serialized_end=1347
  _OPERATION._serialized_start=1350
  _OPERATION._serialized_end=1812
  _OPERATION_INPUTSENTRY._serialized_start=1639
  _OPERATION_INPUTSENTRY._serialized_end=1724
  _OPERATION_ATTRIBUTESENTRY._serialized_start=329
  _OPERATION_ATTRIBUTESENTRY._serialized_end=415
  _NAMEDVALUETYPE._serialized_start=1814
  _NAMEDVALUETYPE._serialized_end=1899
  _VALUETYPE._serialized_start=1902
  _VALUETYPE._serialized_end=2241
  _TENSORTYPE._serialized_start=2244
  _TENSORTYPE._serialized_end=2555
  _TENSORTYPE_ATTRIBUTESENTRY._serialized_start=329
  _TENSORTYPE_ATTRIBUTESENTRY._serialized_end=415
  _TUPLETYPE._serialized_start=2557
  _TUPLETYPE._serialized_end=2624
  _LISTTYPE._serialized_start=2626
  _LISTTYPE._serialized_end=2748
  _DICTIONARYTYPE._serialized_start=2751
  _DICTIONARYTYPE._serialized_end=2885
  _STATETYPE._serialized_start=2887
  _STATETYPE._serialized_end=2960
  _DIMENSION._serialized_start=2963
  _DIMENSION._serialized_end=3216
  _DIMENSION_CONSTANTDIMENSION._serialized_start=3132
  _DIMENSION_CONSTANTDIMENSION._serialized_end=3165
  _DIMENSION_UNKNOWNDIMENSION._serialized_start=3167
  _DIMENSION_UNKNOWNDIMENSION._serialized_end=3203
  _VALUE._serialized_start=3219
  _VALUE._serialized_end=3788
  _VALUE_IMMEDIATEVALUE._serialized_start=3457
  _VALUE_IMMEDIATEVALUE._serialized_end=3728
  _VALUE_BLOBFILEVALUE._serialized_start=3730
  _VALUE_BLOBFILEVALUE._serialized_end=3779
  _TENSORVALUE._serialized_start=3791
  _TENSORVALUE._serialized_end=4603
  _TENSORVALUE_REPEATEDFLOATS._serialized_start=4338
  _TENSORVALUE_REPEATEDFLOATS._serialized_end=4374
  _TENSORVALUE_REPEATEDDOUBLES._serialized_start=4376
  _TENSORVALUE_REPEATEDDOUBLES._serialized_end=4413
  _TENSORVALUE_REPEATEDINTS._serialized_start=4415
  _TENSORVALUE_REPEATEDINTS._serialized_end=4449
  _TENSORVALUE_REPEATEDLONGINTS._serialized_start=4451
  _TENSORVALUE_REPEATEDLONGINTS._serialized_end=4489
  _TENSORVALUE_REPEATEDBOOLS._serialized_start=4491
  _TENSORVALUE_REPEATEDBOOLS._serialized_end=4526
  _TENSORVALUE_REPEATEDSTRINGS._serialized_start=4528
  _TENSORVALUE_REPEATEDSTRINGS._serialized_end=4561
  _TENSORVALUE_REPEATEDBYTES._serialized_start=4563
  _TENSORVALUE_REPEATEDBYTES._serialized_end=4594
  _TUPLEVALUE._serialized_start=4605
  _TUPLEVALUE._serialized_end=4670
  _LISTVALUE._serialized_start=4672
  _LISTVALUE._serialized_end=4736
  _DICTIONARYVALUE._serialized_start=4739
  _DICTIONARYVALUE._serialized_end=4950
  _DICTIONARYVALUE_KEYVALUEPAIR._serialized_start=4834
  _DICTIONARYVALUE_KEYVALUEPAIR._serialized_end=4950
# @@protoc_insertion_point(module_scope)
