# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromiumos/config/api/component.proto

from google.protobuf import descriptor as _descriptor
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()


from chromite.api.gen_sdk.chromiumos.config.api import component_id_pb2 as chromiumos_dot_config_dot_api_dot_component__id__pb2
from chromite.api.gen_sdk.chromiumos.config.api import partner_id_pb2 as chromiumos_dot_config_dot_api_dot_partner__id__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromiumos/config/api/component.proto',
  package='chromiumos.config.api',
  syntax='proto3',
  serialized_options=b'Z(go.chromium.org/chromiumos/config/go/api',
  serialized_pb=b'\n%chromiumos/config/api/component.proto\x12\x15\x63hromiumos.config.api\x1a(chromiumos/config/api/component_id.proto\x1a&chromiumos/config/api/partner_id.proto\"\xf6&\n\tComponent\x12.\n\x02id\x18\x01 \x01(\x0b\x32\".chromiumos.config.api.ComponentId\x12\x39\n\x0fmanufacturer_id\x18\x08 \x01(\x0b\x32 .chromiumos.config.api.PartnerId\x12\x0c\n\x04name\x18\t \x01(\t\x12\x11\n\thwid_type\x18\x19 \x01(\t\x12\x12\n\nhwid_label\x18\x14 \x01(\t\x12\x36\n\x06\x61vl_id\x18\x15 \x01(\x0b\x32&.chromiumos.config.api.Component.AVLId\x12\x13\n\x0bpart_number\x18\x16 \x01(\t\x12\x33\n\x03soc\x18\x02 \x01(\x0b\x32$.chromiumos.config.api.Component.SocH\x00\x12\x39\n\x06memory\x18\x03 \x01(\x0b\x32\'.chromiumos.config.api.Component.MemoryH\x00\x12?\n\tbluetooth\x18\x04 \x01(\x0b\x32*.chromiumos.config.api.Component.BluetoothH\x00\x12\x39\n\x06\x63\x61mera\x18\x05 \x01(\x0b\x32\'.chromiumos.config.api.Component.CameraH\x00\x12=\n\x0btouchscreen\x18\x06 \x01(\x0b\x32&.chromiumos.config.api.Component.TouchH\x00\x12\x35\n\x04wifi\x18\x07 \x01(\x0b\x32%.chromiumos.config.api.Component.WifiH\x00\x12:\n\x08touchpad\x18\n \x01(\x0b\x32&.chromiumos.config.api.Component.TouchH\x00\x12\x46\n\rdisplay_panel\x18\x0b \x01(\x0b\x32-.chromiumos.config.api.Component.DisplayPanelH\x00\x12\x42\n\x0b\x61udio_codec\x18\x0c \x01(\x0b\x32+.chromiumos.config.api.Component.AudioCodecH\x00\x12;\n\x07\x62\x61ttery\x18\r \x01(\x0b\x32(.chromiumos.config.api.Component.BatteryH\x00\x12\x43\n\rec_flash_chip\x18\x0e \x01(\x0b\x32*.chromiumos.config.api.Component.FlashChipH\x00\x12G\n\x11system_flash_chip\x18\x0f \x01(\x0b\x32*.chromiumos.config.api.Component.FlashChipH\x00\x12\x41\n\x02\x65\x63\x18\x10 \x01(\x0b\x32\x33.chromiumos.config.api.Component.EmbeddedControllerH\x00\x12;\n\x07storage\x18\x11 \x01(\x0b\x32(.chromiumos.config.api.Component.StorageH\x00\x12\x33\n\x03tpm\x18\x12 \x01(\x0b\x32$.chromiumos.config.api.Component.TpmH\x00\x12\x42\n\x08usb_host\x18\x13 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbH\x00\x12\x39\n\x06stylus\x18\x17 \x01(\x0b\x32\'.chromiumos.config.api.Component.StylusH\x00\x12?\n\tamplifier\x18\x18 \x01(\x0b\x32*.chromiumos.config.api.Component.AmplifierH\x00\x12M\n\x0c\x64p_converter\x18\x1a \x01(\x0b\x32\x35.chromiumos.config.api.Component.DisplayPortConverterH\x00\x1a!\n\x05\x41VLId\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x0b\n\x03qid\x18\x02 \x01(\x05\x1a\xb7\x01\n\tInterface\x1a&\n\x03I2C\x12\x0f\n\x07product\x18\x01 \x01(\t\x12\x0e\n\x06vendor\x18\x02 \x01(\t\x1a@\n\x03Usb\x12\x11\n\tvendor_id\x18\x01 \x01(\t\x12\x12\n\nproduct_id\x18\x02 \x01(\t\x12\x12\n\nbcd_device\x18\x03 \x01(\t\x1a@\n\x03Pci\x12\x11\n\tvendor_id\x18\x01 \x01(\t\x12\x11\n\tdevice_id\x18\x02 \x01(\t\x12\x13\n\x0brevision_id\x18\x03 \x01(\t\x1a\xf7\x02\n\x03Soc\x12;\n\x06\x66\x61mily\x18\x01 \x01(\x0b\x32+.chromiumos.config.api.Component.Soc.Family\x12\r\n\x05model\x18\x02 \x01(\t\x12\r\n\x05\x63ores\x18\x03 \x01(\x05\x12>\n\x08\x66\x65\x61tures\x18\x04 \x03(\x0e\x32,.chromiumos.config.api.Component.Soc.Feature\x1aW\n\x06\x46\x61mily\x12?\n\x04\x61rch\x18\x01 \x01(\x0e\x32\x31.chromiumos.config.api.Component.Soc.Architecture\x12\x0c\n\x04name\x18\x02 \x01(\t\"S\n\x0c\x41rchitecture\x12\x1a\n\x16\x41RCHITECTURE_UNDEFINED\x10\x00\x12\x07\n\x03X86\x10\x01\x12\n\n\x06X86_64\x10\x02\x12\x07\n\x03\x41RM\x10\x03\x12\t\n\x05\x41RM64\x10\x04\"\'\n\x07\x46\x65\x61ture\x12\x13\n\x0f\x46\x45\x41TURE_UNKNOWN\x10\x00\x12\x07\n\x03SMT\x10\x01\x1a\xb4\x02\n\x06Memory\x12@\n\x07profile\x18\x01 \x01(\x0b\x32/.chromiumos.config.api.Component.Memory.Profile\x12\x13\n\x0bpart_number\x18\x02 \x01(\t\x1ap\n\x07Profile\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.chromiumos.config.api.Component.Memory.Type\x12\x11\n\tspeed_mhz\x18\x02 \x01(\x05\x12\x16\n\x0esize_megabytes\x18\x03 \x01(\x05\"[\n\x04Type\x12\x12\n\x0eTYPE_UNDEFINED\x10\x00\x12\x07\n\x03\x44\x44R\x10\x01\x12\x08\n\x04\x44\x44R2\x10\x02\x12\x08\n\x04\x44\x44R3\x10\x03\x12\x08\n\x04\x44\x44R4\x10\x04\x12\x0b\n\x07LP_DDR3\x10\x05\x12\x0b\n\x07LP_DDR4\x10\x06J\x04\x08\x03\x10\x04\x1aZ\n\tBluetooth\x12;\n\x03usb\x18\x04 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\x93\x03\n\x06\x43\x61mera\x12\x41\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0e\x32/.chromiumos.config.api.Component.Camera.Feature\x12\x45\n\nclock_type\x18\x02 \x01(\x0e\x32\x31.chromiumos.config.api.Component.Camera.ClockType\x12=\n\x03usb\x18\x03 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbH\x00\x12=\n\x03pci\x18\x04 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.PciH\x00\"0\n\x07\x46\x65\x61ture\x12\x13\n\x0f\x46\x45\x41TURE_UNKNOWN\x10\x00\x12\x10\n\x0c\x41\x43TIVITY_LED\x10\x01\"B\n\tClockType\x12\x18\n\x14\x43LOCK_TYPE_UNDEFINED\x10\x00\x12\r\n\tMONOTONIC\x10\x01\x12\x0c\n\x08\x42OOTTIME\x10\x02\x42\x0b\n\tinterface\x1a\xc9\x02\n\x0c\x44isplayPanel\x12\x12\n\nproduct_id\x18\x01 \x01(\t\x12L\n\nproperties\x18\x02 \x01(\x0b\x32\x38.chromiumos.config.api.Component.DisplayPanel.Properties\x1a\xad\x01\n\nProperties\x12\x10\n\x08width_px\x18\x01 \x01(\x05\x12\x11\n\theight_px\x18\x02 \x01(\x05\x12\x1a\n\x12\x64iagonal_milliinch\x18\x03 \x01(\x05\x12\x15\n\rpixels_per_in\x18\x04 \x01(\x05\x12G\n\x08\x66\x65\x61tures\x18\x05 \x03(\x0e\x32\x35.chromiumos.config.api.Component.DisplayPanel.Feature\"\'\n\x07\x46\x65\x61ture\x12\x13\n\x0f\x46\x45\x41TURE_UNKNOWN\x10\x00\x12\x07\n\x03HDR\x10\x01\x1a\x9e\x02\n\x05Touch\x12\x12\n\nproduct_id\x18\x02 \x01(\t\x12\x12\n\nfw_version\x18\x03 \x01(\t\x12\x16\n\x0eproduct_series\x18\x05 \x01(\t\x12\x13\n\x0b\x66w_checksum\x18\x06 \x01(\t\x12>\n\x04type\x18\x07 \x01(\x0e\x32\x30.chromiumos.config.api.Component.Touch.TouchType\x12;\n\x03usb\x18\x08 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.Usb\"7\n\tTouchType\x12\x18\n\x14TOUCH_TYPE_UNDEFINED\x10\x00\x12\x07\n\x03USB\x10\x01\x12\x07\n\x03I2C\x10\x02J\x04\x08\x01\x10\x02J\x04\x08\x04\x10\x05\x1a\xc8\x02\n\x04Wifi\x12=\n\x03pci\x18\x01 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.PciH\x00\x12T\n\x18supported_wlan_protocols\x18\x02 \x03(\x0e\x32\x32.chromiumos.config.api.Component.Wifi.WLANProtocol\"\x9d\x01\n\x0cWLANProtocol\x12\x19\n\x15WLAN_PROTOCOL_UNKNOWN\x10\x00\x12\x11\n\rIEEE_802_11_A\x10\x01\x12\x11\n\rIEEE_802_11_B\x10\x02\x12\x11\n\rIEEE_802_11_G\x10\x03\x12\x11\n\rIEEE_802_11_N\x10\x04\x12\x12\n\x0eIEEE_802_11_AC\x10\x05\x12\x12\n\x0eIEEE_802_11_AX\x10\x06\x42\x0b\n\tinterface\x1a\xe7\x01\n\rQualification\x12\x38\n\x0c\x63omponent_id\x18\x01 \x01(\x0b\x32\".chromiumos.config.api.ComponentId\x12\x45\n\x06status\x18\x02 \x01(\x0e\x32\x35.chromiumos.config.api.Component.Qualification.Status\"U\n\x06Status\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x00\x12\r\n\tREQUESTED\x10\x01\x12\x19\n\x15TECHNICALLY_QUALIFIED\x10\x02\x12\r\n\tQUALIFIED\x10\x03\x1a\x9a\x01\n\tAmplifier\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x44\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0e\x32\x32.chromiumos.config.api.Component.Amplifier.Feature\"9\n\x07\x46\x65\x61ture\x12\x13\n\x0f\x46\x45\x41TURE_UNKNOWN\x10\x00\x12\x19\n\x15\x42OOT_TIME_CALIBRATION\x10\x01\x1a\x1a\n\nAudioCodec\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x9a\x01\n\x07\x42\x61ttery\x12\r\n\x05model\x18\x01 \x01(\t\x12G\n\ntechnology\x18\x02 \x01(\x0e\x32\x33.chromiumos.config.api.Component.Battery.Technology\"7\n\nTechnology\x12\x10\n\x0cTECH_UNKNOWN\x10\x00\x12\n\n\x06LI_ION\x10\x01\x12\x0b\n\x07LI_POLY\x10\x02\x1a \n\tFlashChip\x12\x13\n\x0bpart_number\x18\x01 \x01(\t\x1a)\n\x12\x45mbeddedController\x12\x13\n\x0bpart_number\x18\x01 \x01(\t\x1a\x86\x02\n\x07Storage\x12\x14\n\x0c\x65mmc5_fw_ver\x18\x01 \x01(\t\x12\x0e\n\x06manfid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05oemid\x18\x04 \x01(\t\x12\x0b\n\x03prv\x18\x05 \x01(\t\x12\x0f\n\x07sectors\x18\x06 \x01(\t\x12\x42\n\x04type\x18\x07 \x01(\x0e\x32\x34.chromiumos.config.api.Component.Storage.StorageType\x12\x0f\n\x07size_gb\x18\x08 \x01(\r\"E\n\x0bStorageType\x12\x18\n\x14STORAGE_TYPE_UNKNOWN\x10\x00\x12\x08\n\x04\x45MMC\x10\x01\x12\x08\n\x04NVME\x10\x02\x12\x08\n\x04SATA\x10\x03\x1a\x31\n\x03Tpm\x12\x19\n\x11manufacturer_info\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x1a\x93\x01\n\x06Stylus\x12=\n\x03usb\x18\x01 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.UsbH\x00\x12=\n\x03i2c\x18\x02 \x01(\x0b\x32..chromiumos.config.api.Component.Interface.I2CH\x00\x42\x0b\n\tinterface\x1a$\n\x14\x44isplayPortConverter\x12\x0c\n\x04name\x18\x01 \x01(\tB\x06\n\x04typeB*Z(go.chromium.org/chromiumos/config/go/apib\x06proto3'
  ,
  dependencies=[chromiumos_dot_config_dot_api_dot_component__id__pb2.DESCRIPTOR,chromiumos_dot_config_dot_api_dot_partner__id__pb2.DESCRIPTOR,])



_COMPONENT_SOC_ARCHITECTURE = _descriptor.EnumDescriptor(
  name='Architecture',
  full_name='chromiumos.config.api.Component.Soc.Architecture',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ARCHITECTURE_UNDEFINED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='X86', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='X86_64', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ARM', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ARM64', index=4, number=4,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2079,
  serialized_end=2162,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_SOC_ARCHITECTURE)

_COMPONENT_SOC_FEATURE = _descriptor.EnumDescriptor(
  name='Feature',
  full_name='chromiumos.config.api.Component.Soc.Feature',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FEATURE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SMT', index=1, number=1,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2164,
  serialized_end=2203,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_SOC_FEATURE)

_COMPONENT_MEMORY_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='chromiumos.config.api.Component.Memory.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TYPE_UNDEFINED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DDR', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DDR2', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DDR3', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DDR4', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LP_DDR3', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LP_DDR4', index=6, number=6,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2417,
  serialized_end=2508,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_MEMORY_TYPE)

_COMPONENT_CAMERA_FEATURE = _descriptor.EnumDescriptor(
  name='Feature',
  full_name='chromiumos.config.api.Component.Camera.Feature',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FEATURE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ACTIVITY_LED', index=1, number=1,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2883,
  serialized_end=2931,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_CAMERA_FEATURE)

_COMPONENT_CAMERA_CLOCKTYPE = _descriptor.EnumDescriptor(
  name='ClockType',
  full_name='chromiumos.config.api.Component.Camera.ClockType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='CLOCK_TYPE_UNDEFINED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MONOTONIC', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BOOTTIME', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2933,
  serialized_end=2999,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_CAMERA_CLOCKTYPE)

_COMPONENT_DISPLAYPANEL_FEATURE = _descriptor.EnumDescriptor(
  name='Feature',
  full_name='chromiumos.config.api.Component.DisplayPanel.Feature',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FEATURE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HDR', index=1, number=1,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3305,
  serialized_end=3344,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_DISPLAYPANEL_FEATURE)

_COMPONENT_TOUCH_TOUCHTYPE = _descriptor.EnumDescriptor(
  name='TouchType',
  full_name='chromiumos.config.api.Component.Touch.TouchType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TOUCH_TYPE_UNDEFINED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='USB', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='I2C', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3566,
  serialized_end=3621,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_TOUCH_TOUCHTYPE)

_COMPONENT_WIFI_WLANPROTOCOL = _descriptor.EnumDescriptor(
  name='WLANProtocol',
  full_name='chromiumos.config.api.Component.Wifi.WLANProtocol',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='WLAN_PROTOCOL_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IEEE_802_11_A', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IEEE_802_11_B', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IEEE_802_11_G', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IEEE_802_11_N', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IEEE_802_11_AC', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IEEE_802_11_AX', index=6, number=6,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3794,
  serialized_end=3951,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_WIFI_WLANPROTOCOL)

_COMPONENT_QUALIFICATION_STATUS = _descriptor.EnumDescriptor(
  name='Status',
  full_name='chromiumos.config.api.Component.Qualification.Status',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='STATUS_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUESTED', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TECHNICALLY_QUALIFIED', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='QUALIFIED', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4113,
  serialized_end=4198,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_QUALIFICATION_STATUS)

_COMPONENT_AMPLIFIER_FEATURE = _descriptor.EnumDescriptor(
  name='Feature',
  full_name='chromiumos.config.api.Component.Amplifier.Feature',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FEATURE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BOOT_TIME_CALIBRATION', index=1, number=1,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4298,
  serialized_end=4355,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_AMPLIFIER_FEATURE)

_COMPONENT_BATTERY_TECHNOLOGY = _descriptor.EnumDescriptor(
  name='Technology',
  full_name='chromiumos.config.api.Component.Battery.Technology',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TECH_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LI_ION', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LI_POLY', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4485,
  serialized_end=4540,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_BATTERY_TECHNOLOGY)

_COMPONENT_STORAGE_STORAGETYPE = _descriptor.EnumDescriptor(
  name='StorageType',
  full_name='chromiumos.config.api.Component.Storage.StorageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='STORAGE_TYPE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EMMC', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NVME', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SATA', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4813,
  serialized_end=4882,
)
_sym_db.RegisterEnumDescriptor(_COMPONENT_STORAGE_STORAGETYPE)


_COMPONENT_AVLID = _descriptor.Descriptor(
  name='AVLId',
  full_name='chromiumos.config.api.Component.AVLId',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='cid', full_name='chromiumos.config.api.Component.AVLId.cid', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='qid', full_name='chromiumos.config.api.Component.AVLId.qid', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1606,
  serialized_end=1639,
)

_COMPONENT_INTERFACE_I2C = _descriptor.Descriptor(
  name='I2C',
  full_name='chromiumos.config.api.Component.Interface.I2C',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='product', full_name='chromiumos.config.api.Component.Interface.I2C.product', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='vendor', full_name='chromiumos.config.api.Component.Interface.I2C.vendor', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1655,
  serialized_end=1693,
)

_COMPONENT_INTERFACE_USB = _descriptor.Descriptor(
  name='Usb',
  full_name='chromiumos.config.api.Component.Interface.Usb',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='vendor_id', full_name='chromiumos.config.api.Component.Interface.Usb.vendor_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product_id', full_name='chromiumos.config.api.Component.Interface.Usb.product_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='bcd_device', full_name='chromiumos.config.api.Component.Interface.Usb.bcd_device', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1695,
  serialized_end=1759,
)

_COMPONENT_INTERFACE_PCI = _descriptor.Descriptor(
  name='Pci',
  full_name='chromiumos.config.api.Component.Interface.Pci',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='vendor_id', full_name='chromiumos.config.api.Component.Interface.Pci.vendor_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='device_id', full_name='chromiumos.config.api.Component.Interface.Pci.device_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='revision_id', full_name='chromiumos.config.api.Component.Interface.Pci.revision_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1761,
  serialized_end=1825,
)

_COMPONENT_INTERFACE = _descriptor.Descriptor(
  name='Interface',
  full_name='chromiumos.config.api.Component.Interface',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[_COMPONENT_INTERFACE_I2C, _COMPONENT_INTERFACE_USB, _COMPONENT_INTERFACE_PCI, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1642,
  serialized_end=1825,
)

_COMPONENT_SOC_FAMILY = _descriptor.Descriptor(
  name='Family',
  full_name='chromiumos.config.api.Component.Soc.Family',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='arch', full_name='chromiumos.config.api.Component.Soc.Family.arch', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='name', full_name='chromiumos.config.api.Component.Soc.Family.name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1990,
  serialized_end=2077,
)

_COMPONENT_SOC = _descriptor.Descriptor(
  name='Soc',
  full_name='chromiumos.config.api.Component.Soc',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='family', full_name='chromiumos.config.api.Component.Soc.family', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='model', full_name='chromiumos.config.api.Component.Soc.model', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='cores', full_name='chromiumos.config.api.Component.Soc.cores', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='features', full_name='chromiumos.config.api.Component.Soc.features', index=3,
      number=4, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_COMPONENT_SOC_FAMILY, ],
  enum_types=[
    _COMPONENT_SOC_ARCHITECTURE,
    _COMPONENT_SOC_FEATURE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1828,
  serialized_end=2203,
)

_COMPONENT_MEMORY_PROFILE = _descriptor.Descriptor(
  name='Profile',
  full_name='chromiumos.config.api.Component.Memory.Profile',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='chromiumos.config.api.Component.Memory.Profile.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='speed_mhz', full_name='chromiumos.config.api.Component.Memory.Profile.speed_mhz', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='size_megabytes', full_name='chromiumos.config.api.Component.Memory.Profile.size_megabytes', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2303,
  serialized_end=2415,
)

_COMPONENT_MEMORY = _descriptor.Descriptor(
  name='Memory',
  full_name='chromiumos.config.api.Component.Memory',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='profile', full_name='chromiumos.config.api.Component.Memory.profile', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='part_number', full_name='chromiumos.config.api.Component.Memory.part_number', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_COMPONENT_MEMORY_PROFILE, ],
  enum_types=[
    _COMPONENT_MEMORY_TYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2206,
  serialized_end=2514,
)

_COMPONENT_BLUETOOTH = _descriptor.Descriptor(
  name='Bluetooth',
  full_name='chromiumos.config.api.Component.Bluetooth',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='usb', full_name='chromiumos.config.api.Component.Bluetooth.usb', index=0,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2516,
  serialized_end=2606,
)

_COMPONENT_CAMERA = _descriptor.Descriptor(
  name='Camera',
  full_name='chromiumos.config.api.Component.Camera',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='features', full_name='chromiumos.config.api.Component.Camera.features', index=0,
      number=1, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='clock_type', full_name='chromiumos.config.api.Component.Camera.clock_type', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='usb', full_name='chromiumos.config.api.Component.Camera.usb', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='pci', full_name='chromiumos.config.api.Component.Camera.pci', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _COMPONENT_CAMERA_FEATURE,
    _COMPONENT_CAMERA_CLOCKTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='interface', full_name='chromiumos.config.api.Component.Camera.interface',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2609,
  serialized_end=3012,
)

_COMPONENT_DISPLAYPANEL_PROPERTIES = _descriptor.Descriptor(
  name='Properties',
  full_name='chromiumos.config.api.Component.DisplayPanel.Properties',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='width_px', full_name='chromiumos.config.api.Component.DisplayPanel.Properties.width_px', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='height_px', full_name='chromiumos.config.api.Component.DisplayPanel.Properties.height_px', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='diagonal_milliinch', full_name='chromiumos.config.api.Component.DisplayPanel.Properties.diagonal_milliinch', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='pixels_per_in', full_name='chromiumos.config.api.Component.DisplayPanel.Properties.pixels_per_in', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='features', full_name='chromiumos.config.api.Component.DisplayPanel.Properties.features', index=4,
      number=5, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3130,
  serialized_end=3303,
)

_COMPONENT_DISPLAYPANEL = _descriptor.Descriptor(
  name='DisplayPanel',
  full_name='chromiumos.config.api.Component.DisplayPanel',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='product_id', full_name='chromiumos.config.api.Component.DisplayPanel.product_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='properties', full_name='chromiumos.config.api.Component.DisplayPanel.properties', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_COMPONENT_DISPLAYPANEL_PROPERTIES, ],
  enum_types=[
    _COMPONENT_DISPLAYPANEL_FEATURE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3015,
  serialized_end=3344,
)

_COMPONENT_TOUCH = _descriptor.Descriptor(
  name='Touch',
  full_name='chromiumos.config.api.Component.Touch',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='product_id', full_name='chromiumos.config.api.Component.Touch.product_id', index=0,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fw_version', full_name='chromiumos.config.api.Component.Touch.fw_version', index=1,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product_series', full_name='chromiumos.config.api.Component.Touch.product_series', index=2,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fw_checksum', full_name='chromiumos.config.api.Component.Touch.fw_checksum', index=3,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='chromiumos.config.api.Component.Touch.type', index=4,
      number=7, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='usb', full_name='chromiumos.config.api.Component.Touch.usb', index=5,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _COMPONENT_TOUCH_TOUCHTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3347,
  serialized_end=3633,
)

_COMPONENT_WIFI = _descriptor.Descriptor(
  name='Wifi',
  full_name='chromiumos.config.api.Component.Wifi',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pci', full_name='chromiumos.config.api.Component.Wifi.pci', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supported_wlan_protocols', full_name='chromiumos.config.api.Component.Wifi.supported_wlan_protocols', index=1,
      number=2, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _COMPONENT_WIFI_WLANPROTOCOL,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='interface', full_name='chromiumos.config.api.Component.Wifi.interface',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=3636,
  serialized_end=3964,
)

_COMPONENT_QUALIFICATION = _descriptor.Descriptor(
  name='Qualification',
  full_name='chromiumos.config.api.Component.Qualification',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='component_id', full_name='chromiumos.config.api.Component.Qualification.component_id', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='status', full_name='chromiumos.config.api.Component.Qualification.status', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _COMPONENT_QUALIFICATION_STATUS,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3967,
  serialized_end=4198,
)

_COMPONENT_AMPLIFIER = _descriptor.Descriptor(
  name='Amplifier',
  full_name='chromiumos.config.api.Component.Amplifier',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='chromiumos.config.api.Component.Amplifier.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='features', full_name='chromiumos.config.api.Component.Amplifier.features', index=1,
      number=2, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _COMPONENT_AMPLIFIER_FEATURE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4201,
  serialized_end=4355,
)

_COMPONENT_AUDIOCODEC = _descriptor.Descriptor(
  name='AudioCodec',
  full_name='chromiumos.config.api.Component.AudioCodec',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='chromiumos.config.api.Component.AudioCodec.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4357,
  serialized_end=4383,
)

_COMPONENT_BATTERY = _descriptor.Descriptor(
  name='Battery',
  full_name='chromiumos.config.api.Component.Battery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='model', full_name='chromiumos.config.api.Component.Battery.model', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='technology', full_name='chromiumos.config.api.Component.Battery.technology', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _COMPONENT_BATTERY_TECHNOLOGY,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4386,
  serialized_end=4540,
)

_COMPONENT_FLASHCHIP = _descriptor.Descriptor(
  name='FlashChip',
  full_name='chromiumos.config.api.Component.FlashChip',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='part_number', full_name='chromiumos.config.api.Component.FlashChip.part_number', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4542,
  serialized_end=4574,
)

_COMPONENT_EMBEDDEDCONTROLLER = _descriptor.Descriptor(
  name='EmbeddedController',
  full_name='chromiumos.config.api.Component.EmbeddedController',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='part_number', full_name='chromiumos.config.api.Component.EmbeddedController.part_number', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4576,
  serialized_end=4617,
)

_COMPONENT_STORAGE = _descriptor.Descriptor(
  name='Storage',
  full_name='chromiumos.config.api.Component.Storage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='emmc5_fw_ver', full_name='chromiumos.config.api.Component.Storage.emmc5_fw_ver', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='manfid', full_name='chromiumos.config.api.Component.Storage.manfid', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='name', full_name='chromiumos.config.api.Component.Storage.name', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='oemid', full_name='chromiumos.config.api.Component.Storage.oemid', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='prv', full_name='chromiumos.config.api.Component.Storage.prv', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sectors', full_name='chromiumos.config.api.Component.Storage.sectors', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='chromiumos.config.api.Component.Storage.type', index=6,
      number=7, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='size_gb', full_name='chromiumos.config.api.Component.Storage.size_gb', index=7,
      number=8, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _COMPONENT_STORAGE_STORAGETYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4620,
  serialized_end=4882,
)

_COMPONENT_TPM = _descriptor.Descriptor(
  name='Tpm',
  full_name='chromiumos.config.api.Component.Tpm',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='manufacturer_info', full_name='chromiumos.config.api.Component.Tpm.manufacturer_info', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='version', full_name='chromiumos.config.api.Component.Tpm.version', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4884,
  serialized_end=4933,
)

_COMPONENT_STYLUS = _descriptor.Descriptor(
  name='Stylus',
  full_name='chromiumos.config.api.Component.Stylus',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='usb', full_name='chromiumos.config.api.Component.Stylus.usb', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='i2c', full_name='chromiumos.config.api.Component.Stylus.i2c', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='interface', full_name='chromiumos.config.api.Component.Stylus.interface',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=4936,
  serialized_end=5083,
)

_COMPONENT_DISPLAYPORTCONVERTER = _descriptor.Descriptor(
  name='DisplayPortConverter',
  full_name='chromiumos.config.api.Component.DisplayPortConverter',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='chromiumos.config.api.Component.DisplayPortConverter.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5085,
  serialized_end=5121,
)

_COMPONENT = _descriptor.Descriptor(
  name='Component',
  full_name='chromiumos.config.api.Component',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='chromiumos.config.api.Component.id', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='manufacturer_id', full_name='chromiumos.config.api.Component.manufacturer_id', index=1,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='name', full_name='chromiumos.config.api.Component.name', index=2,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='hwid_type', full_name='chromiumos.config.api.Component.hwid_type', index=3,
      number=25, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='hwid_label', full_name='chromiumos.config.api.Component.hwid_label', index=4,
      number=20, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='avl_id', full_name='chromiumos.config.api.Component.avl_id', index=5,
      number=21, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='part_number', full_name='chromiumos.config.api.Component.part_number', index=6,
      number=22, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='soc', full_name='chromiumos.config.api.Component.soc', index=7,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='memory', full_name='chromiumos.config.api.Component.memory', index=8,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='bluetooth', full_name='chromiumos.config.api.Component.bluetooth', index=9,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='camera', full_name='chromiumos.config.api.Component.camera', index=10,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='touchscreen', full_name='chromiumos.config.api.Component.touchscreen', index=11,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='wifi', full_name='chromiumos.config.api.Component.wifi', index=12,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='touchpad', full_name='chromiumos.config.api.Component.touchpad', index=13,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='display_panel', full_name='chromiumos.config.api.Component.display_panel', index=14,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='audio_codec', full_name='chromiumos.config.api.Component.audio_codec', index=15,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='battery', full_name='chromiumos.config.api.Component.battery', index=16,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ec_flash_chip', full_name='chromiumos.config.api.Component.ec_flash_chip', index=17,
      number=14, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='system_flash_chip', full_name='chromiumos.config.api.Component.system_flash_chip', index=18,
      number=15, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ec', full_name='chromiumos.config.api.Component.ec', index=19,
      number=16, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='storage', full_name='chromiumos.config.api.Component.storage', index=20,
      number=17, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tpm', full_name='chromiumos.config.api.Component.tpm', index=21,
      number=18, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='usb_host', full_name='chromiumos.config.api.Component.usb_host', index=22,
      number=19, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='stylus', full_name='chromiumos.config.api.Component.stylus', index=23,
      number=23, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='amplifier', full_name='chromiumos.config.api.Component.amplifier', index=24,
      number=24, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='dp_converter', full_name='chromiumos.config.api.Component.dp_converter', index=25,
      number=26, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_COMPONENT_AVLID, _COMPONENT_INTERFACE, _COMPONENT_SOC, _COMPONENT_MEMORY, _COMPONENT_BLUETOOTH, _COMPONENT_CAMERA, _COMPONENT_DISPLAYPANEL, _COMPONENT_TOUCH, _COMPONENT_WIFI, _COMPONENT_QUALIFICATION, _COMPONENT_AMPLIFIER, _COMPONENT_AUDIOCODEC, _COMPONENT_BATTERY, _COMPONENT_FLASHCHIP, _COMPONENT_EMBEDDEDCONTROLLER, _COMPONENT_STORAGE, _COMPONENT_TPM, _COMPONENT_STYLUS, _COMPONENT_DISPLAYPORTCONVERTER, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='type', full_name='chromiumos.config.api.Component.type',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=147,
  serialized_end=5129,
)

_COMPONENT_AVLID.containing_type = _COMPONENT
_COMPONENT_INTERFACE_I2C.containing_type = _COMPONENT_INTERFACE
_COMPONENT_INTERFACE_USB.containing_type = _COMPONENT_INTERFACE
_COMPONENT_INTERFACE_PCI.containing_type = _COMPONENT_INTERFACE
_COMPONENT_INTERFACE.containing_type = _COMPONENT
_COMPONENT_SOC_FAMILY.fields_by_name['arch'].enum_type = _COMPONENT_SOC_ARCHITECTURE
_COMPONENT_SOC_FAMILY.containing_type = _COMPONENT_SOC
_COMPONENT_SOC.fields_by_name['family'].message_type = _COMPONENT_SOC_FAMILY
_COMPONENT_SOC.fields_by_name['features'].enum_type = _COMPONENT_SOC_FEATURE
_COMPONENT_SOC.containing_type = _COMPONENT
_COMPONENT_SOC_ARCHITECTURE.containing_type = _COMPONENT_SOC
_COMPONENT_SOC_FEATURE.containing_type = _COMPONENT_SOC
_COMPONENT_MEMORY_PROFILE.fields_by_name['type'].enum_type = _COMPONENT_MEMORY_TYPE
_COMPONENT_MEMORY_PROFILE.containing_type = _COMPONENT_MEMORY
_COMPONENT_MEMORY.fields_by_name['profile'].message_type = _COMPONENT_MEMORY_PROFILE
_COMPONENT_MEMORY.containing_type = _COMPONENT
_COMPONENT_MEMORY_TYPE.containing_type = _COMPONENT_MEMORY
_COMPONENT_BLUETOOTH.fields_by_name['usb'].message_type = _COMPONENT_INTERFACE_USB
_COMPONENT_BLUETOOTH.containing_type = _COMPONENT
_COMPONENT_CAMERA.fields_by_name['features'].enum_type = _COMPONENT_CAMERA_FEATURE
_COMPONENT_CAMERA.fields_by_name['clock_type'].enum_type = _COMPONENT_CAMERA_CLOCKTYPE
_COMPONENT_CAMERA.fields_by_name['usb'].message_type = _COMPONENT_INTERFACE_USB
_COMPONENT_CAMERA.fields_by_name['pci'].message_type = _COMPONENT_INTERFACE_PCI
_COMPONENT_CAMERA.containing_type = _COMPONENT
_COMPONENT_CAMERA_FEATURE.containing_type = _COMPONENT_CAMERA
_COMPONENT_CAMERA_CLOCKTYPE.containing_type = _COMPONENT_CAMERA
_COMPONENT_CAMERA.oneofs_by_name['interface'].fields.append(
  _COMPONENT_CAMERA.fields_by_name['usb'])
_COMPONENT_CAMERA.fields_by_name['usb'].containing_oneof = _COMPONENT_CAMERA.oneofs_by_name['interface']
_COMPONENT_CAMERA.oneofs_by_name['interface'].fields.append(
  _COMPONENT_CAMERA.fields_by_name['pci'])
_COMPONENT_CAMERA.fields_by_name['pci'].containing_oneof = _COMPONENT_CAMERA.oneofs_by_name['interface']
_COMPONENT_DISPLAYPANEL_PROPERTIES.fields_by_name['features'].enum_type = _COMPONENT_DISPLAYPANEL_FEATURE
_COMPONENT_DISPLAYPANEL_PROPERTIES.containing_type = _COMPONENT_DISPLAYPANEL
_COMPONENT_DISPLAYPANEL.fields_by_name['properties'].message_type = _COMPONENT_DISPLAYPANEL_PROPERTIES
_COMPONENT_DISPLAYPANEL.containing_type = _COMPONENT
_COMPONENT_DISPLAYPANEL_FEATURE.containing_type = _COMPONENT_DISPLAYPANEL
_COMPONENT_TOUCH.fields_by_name['type'].enum_type = _COMPONENT_TOUCH_TOUCHTYPE
_COMPONENT_TOUCH.fields_by_name['usb'].message_type = _COMPONENT_INTERFACE_USB
_COMPONENT_TOUCH.containing_type = _COMPONENT
_COMPONENT_TOUCH_TOUCHTYPE.containing_type = _COMPONENT_TOUCH
_COMPONENT_WIFI.fields_by_name['pci'].message_type = _COMPONENT_INTERFACE_PCI
_COMPONENT_WIFI.fields_by_name['supported_wlan_protocols'].enum_type = _COMPONENT_WIFI_WLANPROTOCOL
_COMPONENT_WIFI.containing_type = _COMPONENT
_COMPONENT_WIFI_WLANPROTOCOL.containing_type = _COMPONENT_WIFI
_COMPONENT_WIFI.oneofs_by_name['interface'].fields.append(
  _COMPONENT_WIFI.fields_by_name['pci'])
_COMPONENT_WIFI.fields_by_name['pci'].containing_oneof = _COMPONENT_WIFI.oneofs_by_name['interface']
_COMPONENT_QUALIFICATION.fields_by_name['component_id'].message_type = chromiumos_dot_config_dot_api_dot_component__id__pb2._COMPONENTID
_COMPONENT_QUALIFICATION.fields_by_name['status'].enum_type = _COMPONENT_QUALIFICATION_STATUS
_COMPONENT_QUALIFICATION.containing_type = _COMPONENT
_COMPONENT_QUALIFICATION_STATUS.containing_type = _COMPONENT_QUALIFICATION
_COMPONENT_AMPLIFIER.fields_by_name['features'].enum_type = _COMPONENT_AMPLIFIER_FEATURE
_COMPONENT_AMPLIFIER.containing_type = _COMPONENT
_COMPONENT_AMPLIFIER_FEATURE.containing_type = _COMPONENT_AMPLIFIER
_COMPONENT_AUDIOCODEC.containing_type = _COMPONENT
_COMPONENT_BATTERY.fields_by_name['technology'].enum_type = _COMPONENT_BATTERY_TECHNOLOGY
_COMPONENT_BATTERY.containing_type = _COMPONENT
_COMPONENT_BATTERY_TECHNOLOGY.containing_type = _COMPONENT_BATTERY
_COMPONENT_FLASHCHIP.containing_type = _COMPONENT
_COMPONENT_EMBEDDEDCONTROLLER.containing_type = _COMPONENT
_COMPONENT_STORAGE.fields_by_name['type'].enum_type = _COMPONENT_STORAGE_STORAGETYPE
_COMPONENT_STORAGE.containing_type = _COMPONENT
_COMPONENT_STORAGE_STORAGETYPE.containing_type = _COMPONENT_STORAGE
_COMPONENT_TPM.containing_type = _COMPONENT
_COMPONENT_STYLUS.fields_by_name['usb'].message_type = _COMPONENT_INTERFACE_USB
_COMPONENT_STYLUS.fields_by_name['i2c'].message_type = _COMPONENT_INTERFACE_I2C
_COMPONENT_STYLUS.containing_type = _COMPONENT
_COMPONENT_STYLUS.oneofs_by_name['interface'].fields.append(
  _COMPONENT_STYLUS.fields_by_name['usb'])
_COMPONENT_STYLUS.fields_by_name['usb'].containing_oneof = _COMPONENT_STYLUS.oneofs_by_name['interface']
_COMPONENT_STYLUS.oneofs_by_name['interface'].fields.append(
  _COMPONENT_STYLUS.fields_by_name['i2c'])
_COMPONENT_STYLUS.fields_by_name['i2c'].containing_oneof = _COMPONENT_STYLUS.oneofs_by_name['interface']
_COMPONENT_DISPLAYPORTCONVERTER.containing_type = _COMPONENT
_COMPONENT.fields_by_name['id'].message_type = chromiumos_dot_config_dot_api_dot_component__id__pb2._COMPONENTID
_COMPONENT.fields_by_name['manufacturer_id'].message_type = chromiumos_dot_config_dot_api_dot_partner__id__pb2._PARTNERID
_COMPONENT.fields_by_name['avl_id'].message_type = _COMPONENT_AVLID
_COMPONENT.fields_by_name['soc'].message_type = _COMPONENT_SOC
_COMPONENT.fields_by_name['memory'].message_type = _COMPONENT_MEMORY
_COMPONENT.fields_by_name['bluetooth'].message_type = _COMPONENT_BLUETOOTH
_COMPONENT.fields_by_name['camera'].message_type = _COMPONENT_CAMERA
_COMPONENT.fields_by_name['touchscreen'].message_type = _COMPONENT_TOUCH
_COMPONENT.fields_by_name['wifi'].message_type = _COMPONENT_WIFI
_COMPONENT.fields_by_name['touchpad'].message_type = _COMPONENT_TOUCH
_COMPONENT.fields_by_name['display_panel'].message_type = _COMPONENT_DISPLAYPANEL
_COMPONENT.fields_by_name['audio_codec'].message_type = _COMPONENT_AUDIOCODEC
_COMPONENT.fields_by_name['battery'].message_type = _COMPONENT_BATTERY
_COMPONENT.fields_by_name['ec_flash_chip'].message_type = _COMPONENT_FLASHCHIP
_COMPONENT.fields_by_name['system_flash_chip'].message_type = _COMPONENT_FLASHCHIP
_COMPONENT.fields_by_name['ec'].message_type = _COMPONENT_EMBEDDEDCONTROLLER
_COMPONENT.fields_by_name['storage'].message_type = _COMPONENT_STORAGE
_COMPONENT.fields_by_name['tpm'].message_type = _COMPONENT_TPM
_COMPONENT.fields_by_name['usb_host'].message_type = _COMPONENT_INTERFACE_USB
_COMPONENT.fields_by_name['stylus'].message_type = _COMPONENT_STYLUS
_COMPONENT.fields_by_name['amplifier'].message_type = _COMPONENT_AMPLIFIER
_COMPONENT.fields_by_name['dp_converter'].message_type = _COMPONENT_DISPLAYPORTCONVERTER
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['soc'])
_COMPONENT.fields_by_name['soc'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['memory'])
_COMPONENT.fields_by_name['memory'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['bluetooth'])
_COMPONENT.fields_by_name['bluetooth'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['camera'])
_COMPONENT.fields_by_name['camera'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['touchscreen'])
_COMPONENT.fields_by_name['touchscreen'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['wifi'])
_COMPONENT.fields_by_name['wifi'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['touchpad'])
_COMPONENT.fields_by_name['touchpad'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['display_panel'])
_COMPONENT.fields_by_name['display_panel'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['audio_codec'])
_COMPONENT.fields_by_name['audio_codec'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['battery'])
_COMPONENT.fields_by_name['battery'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['ec_flash_chip'])
_COMPONENT.fields_by_name['ec_flash_chip'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['system_flash_chip'])
_COMPONENT.fields_by_name['system_flash_chip'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['ec'])
_COMPONENT.fields_by_name['ec'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['storage'])
_COMPONENT.fields_by_name['storage'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['tpm'])
_COMPONENT.fields_by_name['tpm'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['usb_host'])
_COMPONENT.fields_by_name['usb_host'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['stylus'])
_COMPONENT.fields_by_name['stylus'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['amplifier'])
_COMPONENT.fields_by_name['amplifier'].containing_oneof = _COMPONENT.oneofs_by_name['type']
_COMPONENT.oneofs_by_name['type'].fields.append(
  _COMPONENT.fields_by_name['dp_converter'])
_COMPONENT.fields_by_name['dp_converter'].containing_oneof = _COMPONENT.oneofs_by_name['type']
DESCRIPTOR.message_types_by_name['Component'] = _COMPONENT
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

  'AVLId' : _reflection.GeneratedProtocolMessageType('AVLId', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_AVLID,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.AVLId)
    })
  ,

  'Interface' : _reflection.GeneratedProtocolMessageType('Interface', (_message.Message,), {

    'I2C' : _reflection.GeneratedProtocolMessageType('I2C', (_message.Message,), {
      'DESCRIPTOR' : _COMPONENT_INTERFACE_I2C,
      '__module__' : 'chromiumos.config.api.component_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Interface.I2C)
      })
    ,

    'Usb' : _reflection.GeneratedProtocolMessageType('Usb', (_message.Message,), {
      'DESCRIPTOR' : _COMPONENT_INTERFACE_USB,
      '__module__' : 'chromiumos.config.api.component_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Interface.Usb)
      })
    ,

    'Pci' : _reflection.GeneratedProtocolMessageType('Pci', (_message.Message,), {
      'DESCRIPTOR' : _COMPONENT_INTERFACE_PCI,
      '__module__' : 'chromiumos.config.api.component_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Interface.Pci)
      })
    ,
    'DESCRIPTOR' : _COMPONENT_INTERFACE,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Interface)
    })
  ,

  'Soc' : _reflection.GeneratedProtocolMessageType('Soc', (_message.Message,), {

    'Family' : _reflection.GeneratedProtocolMessageType('Family', (_message.Message,), {
      'DESCRIPTOR' : _COMPONENT_SOC_FAMILY,
      '__module__' : 'chromiumos.config.api.component_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Soc.Family)
      })
    ,
    'DESCRIPTOR' : _COMPONENT_SOC,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Soc)
    })
  ,

  'Memory' : _reflection.GeneratedProtocolMessageType('Memory', (_message.Message,), {

    'Profile' : _reflection.GeneratedProtocolMessageType('Profile', (_message.Message,), {
      'DESCRIPTOR' : _COMPONENT_MEMORY_PROFILE,
      '__module__' : 'chromiumos.config.api.component_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Memory.Profile)
      })
    ,
    'DESCRIPTOR' : _COMPONENT_MEMORY,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Memory)
    })
  ,

  'Bluetooth' : _reflection.GeneratedProtocolMessageType('Bluetooth', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_BLUETOOTH,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Bluetooth)
    })
  ,

  'Camera' : _reflection.GeneratedProtocolMessageType('Camera', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_CAMERA,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Camera)
    })
  ,

  'DisplayPanel' : _reflection.GeneratedProtocolMessageType('DisplayPanel', (_message.Message,), {

    'Properties' : _reflection.GeneratedProtocolMessageType('Properties', (_message.Message,), {
      'DESCRIPTOR' : _COMPONENT_DISPLAYPANEL_PROPERTIES,
      '__module__' : 'chromiumos.config.api.component_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.DisplayPanel.Properties)
      })
    ,
    'DESCRIPTOR' : _COMPONENT_DISPLAYPANEL,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.DisplayPanel)
    })
  ,

  'Touch' : _reflection.GeneratedProtocolMessageType('Touch', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_TOUCH,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Touch)
    })
  ,

  'Wifi' : _reflection.GeneratedProtocolMessageType('Wifi', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_WIFI,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Wifi)
    })
  ,

  'Qualification' : _reflection.GeneratedProtocolMessageType('Qualification', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_QUALIFICATION,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Qualification)
    })
  ,

  'Amplifier' : _reflection.GeneratedProtocolMessageType('Amplifier', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_AMPLIFIER,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Amplifier)
    })
  ,

  'AudioCodec' : _reflection.GeneratedProtocolMessageType('AudioCodec', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_AUDIOCODEC,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.AudioCodec)
    })
  ,

  'Battery' : _reflection.GeneratedProtocolMessageType('Battery', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_BATTERY,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Battery)
    })
  ,

  'FlashChip' : _reflection.GeneratedProtocolMessageType('FlashChip', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_FLASHCHIP,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.FlashChip)
    })
  ,

  'EmbeddedController' : _reflection.GeneratedProtocolMessageType('EmbeddedController', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_EMBEDDEDCONTROLLER,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.EmbeddedController)
    })
  ,

  'Storage' : _reflection.GeneratedProtocolMessageType('Storage', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_STORAGE,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Storage)
    })
  ,

  'Tpm' : _reflection.GeneratedProtocolMessageType('Tpm', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_TPM,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Tpm)
    })
  ,

  'Stylus' : _reflection.GeneratedProtocolMessageType('Stylus', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_STYLUS,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.Stylus)
    })
  ,

  'DisplayPortConverter' : _reflection.GeneratedProtocolMessageType('DisplayPortConverter', (_message.Message,), {
    'DESCRIPTOR' : _COMPONENT_DISPLAYPORTCONVERTER,
    '__module__' : 'chromiumos.config.api.component_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component.DisplayPortConverter)
    })
  ,
  'DESCRIPTOR' : _COMPONENT,
  '__module__' : 'chromiumos.config.api.component_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.config.api.Component)
  })
_sym_db.RegisterMessage(Component)
_sym_db.RegisterMessage(Component.AVLId)
_sym_db.RegisterMessage(Component.Interface)
_sym_db.RegisterMessage(Component.Interface.I2C)
_sym_db.RegisterMessage(Component.Interface.Usb)
_sym_db.RegisterMessage(Component.Interface.Pci)
_sym_db.RegisterMessage(Component.Soc)
_sym_db.RegisterMessage(Component.Soc.Family)
_sym_db.RegisterMessage(Component.Memory)
_sym_db.RegisterMessage(Component.Memory.Profile)
_sym_db.RegisterMessage(Component.Bluetooth)
_sym_db.RegisterMessage(Component.Camera)
_sym_db.RegisterMessage(Component.DisplayPanel)
_sym_db.RegisterMessage(Component.DisplayPanel.Properties)
_sym_db.RegisterMessage(Component.Touch)
_sym_db.RegisterMessage(Component.Wifi)
_sym_db.RegisterMessage(Component.Qualification)
_sym_db.RegisterMessage(Component.Amplifier)
_sym_db.RegisterMessage(Component.AudioCodec)
_sym_db.RegisterMessage(Component.Battery)
_sym_db.RegisterMessage(Component.FlashChip)
_sym_db.RegisterMessage(Component.EmbeddedController)
_sym_db.RegisterMessage(Component.Storage)
_sym_db.RegisterMessage(Component.Tpm)
_sym_db.RegisterMessage(Component.Stylus)
_sym_db.RegisterMessage(Component.DisplayPortConverter)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
