# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromiumos/config/api/topology.proto
"""Generated protocol buffer code."""
from chromite.third_party.google.protobuf import descriptor as _descriptor
from chromite.third_party.google.protobuf import message as _message
from chromite.third_party.google.protobuf import reflection as _reflection
from chromite.third_party.google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from chromite.api.gen.chromiumos.config.api import component_pb2 as chromiumos_dot_config_dot_api_dot_component__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromiumos/config/api/topology.proto',
  package='chromiumos.config.api',
  syntax='proto3',
  serialized_options=b'Z(go.chromium.org/chromiumos/config/go/api',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n$chromiumos/config/api/topology.proto\x12\x15\x63hromiumos.config.api\x1a%chromiumos/config/api/component.proto\"\xdf\x05\n\x08Topology\x12\n\n\x02id\x18\x01 \x01(\t\x12\x32\n\x04type\x18\x02 \x01(\x0e\x32$.chromiumos.config.api.Topology.Type\x12\x45\n\x0b\x64\x65scription\x18\x03 \x03(\x0b\x32\x30.chromiumos.config.api.Topology.DescriptionEntry\x12\x41\n\x10hardware_feature\x18\x04 \x01(\x0b\x32\'.chromiumos.config.api.HardwareFeatures\x1a\x32\n\x10\x44\x65scriptionEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd4\x03\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\n\n\x06SCREEN\x10\x01\x12\x0f\n\x0b\x46ORM_FACTOR\x10\x02\x12\t\n\x05\x41UDIO\x10\x03\x12\n\n\x06STYLUS\x10\x04\x12\x0c\n\x08KEYBOARD\x10\x05\x12\x0b\n\x07THERMAL\x10\x06\x12\n\n\x06\x43\x41MERA\x10\x07\x12(\n$ACCELEROMETER_GYROSCOPE_MAGNETOMETER\x10\x08\x12\x0f\n\x0b\x46INGERPRINT\x10\t\x12\x14\n\x10PROXIMITY_SENSOR\x10\n\x12\x12\n\x0e\x44\x41UGHTER_BOARD\x10\x0b\x12\x18\n\x14NON_VOLATILE_STORAGE\x10\x0c\x12\x07\n\x03RAM\x10\r\x12\x08\n\x04WIFI\x10\x0e\x12\r\n\tLTE_BOARD\x10\x0f\x12\r\n\tSD_READER\x10\x10\x12\x13\n\x0fMOTHERBOARD_USB\x10\x11\x12\r\n\tBLUETOOTH\x10\x12\x12\x0e\n\nBARRELJACK\x10\x13\x12\x10\n\x0cPOWER_BUTTON\x10\x14\x12\x11\n\rVOLUME_BUTTON\x10\x15\x12\x06\n\x02\x45\x43\x10\x16\x12\t\n\x05TOUCH\x10\x17\x12\x07\n\x03TPM\x10\x18\x12\x1a\n\x16MICROPHONE_MUTE_SWITCH\x10\x19\x12\x0b\n\x07\x42\x41TTERY\x10\x1a\x12\x08\n\x04HDMI\x10\x1b\x12\x07\n\x03SOC\x10\x1c\"\xa8\x01\n\x08\x44uration\x12\x32\n\x04type\x18\x01 \x01(\x0e\x32$.chromiumos.config.api.Duration.Type\x12\r\n\x05value\x18\x02 \x01(\x05\"Y\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x10\n\x0cMILLISECONDS\x10\x01\x12\x0b\n\x07SECONDS\x10\x02\x12\x0b\n\x07MINUTES\x10\x03\x12\t\n\x05HOURS\x10\x04\x12\x08\n\x04\x44\x41YS\x10\x05\"\xab\x46\n\x10HardwareFeatures\x12;\n\x05usb_c\x18\x01 \x01(\x0b\x32,.chromiumos.config.api.HardwareFeatures.UsbC\x12;\n\x05usb_a\x18\x02 \x01(\x0b\x32,.chromiumos.config.api.HardwareFeatures.UsbA\x12\x38\n\x03lte\x18\x03 \x01(\x0b\x32+.chromiumos.config.api.HardwareFeatures.Lte\x12:\n\x04hdmi\x18\x04 \x01(\x0b\x32,.chromiumos.config.api.HardwareFeatures.Hdmi\x12P\n\tfw_config\x18\x05 \x01(\x0b\x32=.chromiumos.config.api.HardwareFeatures.FirmwareConfiguration\x12<\n\x05\x61udio\x18\x06 \x01(\x0b\x32-.chromiumos.config.api.HardwareFeatures.Audio\x12>\n\x06\x63\x61mera\x18\x07 \x01(\x0b\x32..chromiumos.config.api.HardwareFeatures.Camera\x12L\n\raccelerometer\x18\x08 \x01(\x0b\x32\x35.chromiumos.config.api.HardwareFeatures.Accelerometer\x12\x44\n\tgyroscope\x18\t \x01(\x0b\x32\x31.chromiumos.config.api.HardwareFeatures.Gyroscope\x12J\n\x0cmagnetometer\x18\n \x01(\x0b\x32\x34.chromiumos.config.api.HardwareFeatures.Magnetometer\x12I\n\x0clight_sensor\x18\x0b \x01(\x0b\x32\x33.chromiumos.config.api.HardwareFeatures.LightSensor\x12>\n\x06screen\x18\x0c \x01(\x0b\x32..chromiumos.config.api.HardwareFeatures.Screen\x12G\n\x0b\x66orm_factor\x18\r \x01(\x0b\x32\x32.chromiumos.config.api.HardwareFeatures.FormFactor\x12>\n\x06stylus\x18\x0e \x01(\x0b\x32..chromiumos.config.api.HardwareFeatures.Stylus\x12\x42\n\x08keyboard\x18\x0f \x01(\x0b\x32\x30.chromiumos.config.api.HardwareFeatures.Keyboard\x12>\n\x06memory\x18\x10 \x01(\x0b\x32..chromiumos.config.api.HardwareFeatures.Memory\x12H\n\x0b\x66ingerprint\x18\x11 \x01(\x0b\x32\x33.chromiumos.config.api.HardwareFeatures.Fingerprint\x12@\n\x07storage\x18\x12 \x01(\x0b\x32/.chromiumos.config.api.HardwareFeatures.Storage\x12\x44\n\tbluetooth\x18\x13 \x01(\x0b\x32\x31.chromiumos.config.api.HardwareFeatures.Bluetooth\x12\x46\n\nbarreljack\x18\x14 \x01(\x0b\x32\x32.chromiumos.config.api.HardwareFeatures.BarrelJack\x12:\n\x04wifi\x18\x17 \x01(\x0b\x32,.chromiumos.config.api.HardwareFeatures.Wifi\x12\x44\n\x0cpower_button\x18\x15 \x01(\x0b\x32..chromiumos.config.api.HardwareFeatures.Button\x12\x45\n\rvolume_button\x18\x16 \x01(\x0b\x32..chromiumos.config.api.HardwareFeatures.Button\x12W\n\x13\x65mbedded_controller\x18\x18 \x01(\x0b\x32:.chromiumos.config.api.HardwareFeatures.EmbeddedController\x12^\n\x17trusted_platform_module\x18\x19 \x01(\x0b\x32=.chromiumos.config.api.HardwareFeatures.TrustedPlatformModule\x12\x46\n\nhotwording\x18\x1a \x01(\x0b\x32\x32.chromiumos.config.api.HardwareFeatures.Hotwording\x12@\n\x07\x64isplay\x18\x1b \x01(\x0b\x32/.chromiumos.config.api.HardwareFeatures.Display\x12\x42\n\x08touchpad\x18\x1c \x01(\x0b\x32\x30.chromiumos.config.api.HardwareFeatures.Touchpad\x12\\\n\x16microphone_mute_switch\x18\x1d \x01(\x0b\x32<.chromiumos.config.api.HardwareFeatures.MicrophoneMuteSwitch\x12@\n\x07\x62\x61ttery\x18\x1e \x01(\x0b\x32/.chromiumos.config.api.HardwareFeatures.Battery\x12M\n\x0eprivacy_screen\x18\x1f \x01(\x0b\x32\x35.chromiumos.config.api.HardwareFeatures.PrivacyScreen\x12\x38\n\x03soc\x18  \x01(\x0b\x32+.chromiumos.config.api.HardwareFeatures.Soc\x1a\x16\n\x05\x43ount\x12\r\n\x05value\x18\x01 \x01(\r\x1a\x44\n\x04UsbC\x12<\n\x05\x63ount\x18\x01 \x01(\x0b\x32-.chromiumos.config.api.HardwareFeatures.Count\x1a\x44\n\x04UsbA\x12<\n\x05\x63ount\x18\x01 \x01(\x0b\x32-.chromiumos.config.api.HardwareFeatures.Count\x1aV\n\x03Lte\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12\r\n\x05model\x18\x02 \x01(\t\x1aH\n\x04Hdmi\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\x34\n\x15\x46irmwareConfiguration\x12\r\n\x05value\x18\x01 \x01(\r\x12\x0c\n\x04mask\x18\x02 \x01(\r\x1a\x89\x06\n\x05\x41udio\x12M\n\x0b\x61udio_codec\x18\x01 \x01(\x0e\x32\x38.chromiumos.config.api.HardwareFeatures.Audio.AudioCodec\x12L\n\x0bspeaker_amp\x18\x02 \x01(\x0e\x32\x37.chromiumos.config.api.HardwareFeatures.Audio.Amplifier\x12Q\n\x0fheadphone_codec\x18\x03 \x01(\x0e\x32\x38.chromiumos.config.api.HardwareFeatures.Audio.AudioCodec\x12\x45\n\x0elid_microphone\x18\x04 \x01(\x0b\x32-.chromiumos.config.api.HardwareFeatures.Count\x12\x46\n\x0f\x62\x61se_microphone\x18\x05 \x01(\x0b\x32-.chromiumos.config.api.HardwareFeatures.Count\x12\x45\n\x11speaker_amplifier\x18\x06 \x01(\x0b\x32*.chromiumos.config.api.Component.Amplifier\"\x9d\x01\n\nAudioCodec\x12\x17\n\x13\x41UDIO_CODEC_UNKNOWN\x10\x00\x12\n\n\x06RT5682\x10\x01\x12\x0c\n\x08\x41LC5682I\x10\x02\x12\x0b\n\x07\x41LC5682\x10\x03\x12\n\n\x06\x44\x41\x37\x32\x31\x39\x10\x08\x12\r\n\tNAU88L25B\x10\n\x12\x0b\n\x07\x43S42L42\x10\x0b\x12\x0e\n\nALC5682IVS\x10\x0c\x12\x0b\n\x07WCD9385\x10\r\"\x04\x08\x04\x10\x07\"\x04\x08\t\x10\t\"\x99\x01\n\tAmplifier\x12\x15\n\x11\x41MPLIFIER_UNKNOWN\x10\x00\x12\x0c\n\x08MAX98357\x10\x04\x12\x0c\n\x08MAX98373\x10\x05\x12\x0c\n\x08MAX98360\x10\x06\x12\n\n\x06RT1015\x10\x07\x12\x0b\n\x07\x41LC1011\x10\t\x12\x0b\n\x07RT1015P\x10\n\x12\x0b\n\x07\x41LC1019\x10\x0b\x12\x0c\n\x08MAX98390\x10\x0c\"\x04\x08\x01\x10\x03\"\x04\x08\x08\x10\x08\x1a\xf9\x05\n\x06\x43\x61mera\x12\x46\n\x07\x64\x65vices\x18\x04 \x03(\x0b\x32\x35.chromiumos.config.api.HardwareFeatures.Camera.Device\x1a\xd2\x02\n\x06\x44\x65vice\x12K\n\tinterface\x18\x02 \x01(\x0e\x32\x38.chromiumos.config.api.HardwareFeatures.Camera.Interface\x12\x45\n\x06\x66\x61\x63ing\x18\x03 \x01(\x0e\x32\x35.chromiumos.config.api.HardwareFeatures.Camera.Facing\x12O\n\x0borientation\x18\x04 \x01(\x0e\x32:.chromiumos.config.api.HardwareFeatures.Camera.Orientation\x12\r\n\x05\x66lags\x18\x05 \x01(\r\x12\x0b\n\x03ids\x18\x06 \x03(\t\x12G\n\x0eprivacy_switch\x18\x07 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\"I\n\tInterface\x12\x15\n\x11INTERFACE_UNKNOWN\x10\x00\x12\x11\n\rINTERFACE_USB\x10\x01\x12\x12\n\x0eINTERFACE_MIPI\x10\x02\"?\n\x06\x46\x61\x63ing\x12\x12\n\x0e\x46\x41\x43ING_UNKNOWN\x10\x00\x12\x10\n\x0c\x46\x41\x43ING_FRONT\x10\x01\x12\x0f\n\x0b\x46\x41\x43ING_BACK\x10\x02\"w\n\x0bOrientation\x12\x17\n\x13ORIENTATION_UNKNOWN\x10\x00\x12\x11\n\rORIENTATION_0\x10\x01\x12\x12\n\x0eORIENTATION_90\x10\x02\x12\x13\n\x0fORIENTATION_180\x10\x03\x12\x13\n\x0fORIENTATION_270\x10\x04\"M\n\x05\x46lags\x12\x0e\n\nFLAGS_NONE\x10\x00\x12\x17\n\x13\x46LAGS_SUPPORT_1080P\x10\x01\x12\x1b\n\x17\x46LAGS_SUPPORT_AUTOFOCUS\x10\x02\x1a\xa8\x01\n\rAccelerometer\x12J\n\x11lid_accelerometer\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12K\n\x12\x62\x61se_accelerometer\x18\x02 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\x9c\x01\n\tGyroscope\x12\x46\n\rlid_gyroscope\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12G\n\x0e\x62\x61se_gyroscope\x18\x02 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\xa5\x01\n\x0cMagnetometer\x12I\n\x10lid_magnetometer\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12J\n\x11\x62\x61se_magnetometer\x18\x02 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\xa2\x01\n\x0bLightSensor\x12H\n\x0flid_lightsensor\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12I\n\x10\x62\x61se_lightsensor\x18\x02 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\xaa\x01\n\x06Screen\x12R\n\x10panel_properties\x18\x03 \x01(\x0b\x32\x38.chromiumos.config.api.Component.DisplayPanel.Properties\x12\x46\n\rtouch_support\x18\x02 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.PresentJ\x04\x08\x01\x10\x02\x1a\xff\x01\n\nFormFactor\x12V\n\x0b\x66orm_factor\x18\x01 \x01(\x0e\x32\x41.chromiumos.config.api.HardwareFeatures.FormFactor.FormFactorType\"\x98\x01\n\x0e\x46ormFactorType\x12\x17\n\x13\x46ORM_FACTOR_UNKNOWN\x10\x00\x12\r\n\tCLAMSHELL\x10\x01\x12\x0f\n\x0b\x43ONVERTIBLE\x10\x02\x12\x0e\n\nDETACHABLE\x10\x03\x12\x0e\n\nCHROMEBASE\x10\x04\x12\r\n\tCHROMEBOX\x10\x05\x12\r\n\tCHROMEBIT\x10\x06\x12\x0f\n\x0b\x43HROMESLATE\x10\x07\x1a\x9b\x01\n\x06Stylus\x12I\n\x06stylus\x18\x01 \x01(\x0e\x32\x39.chromiumos.config.api.HardwareFeatures.Stylus.StylusType\"F\n\nStylusType\x12\x12\n\x0eSTYLUS_UNKNOWN\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x0c\n\x08INTERNAL\x10\x02\x12\x0c\n\x08\x45XTERNAL\x10\x03\x1a\x84\x03\n\x08Keyboard\x12T\n\rkeyboard_type\x18\x01 \x01(\x0e\x32=.chromiumos.config.api.HardwareFeatures.Keyboard.KeyboardType\x12\x42\n\tbacklight\x18\x02 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12\x45\n\x0cpower_button\x18\x03 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12\x44\n\x0bnumeric_pad\x18\x04 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\"Q\n\x0cKeyboardType\x12\x19\n\x15KEYBOARD_TYPE_UNKNOWN\x10\x00\x12\x0c\n\x08INTERNAL\x10\x01\x12\x08\n\x04NONE\x10\x02\x12\x0e\n\nDETACHABLE\x10\x03\x1aJ\n\x06Memory\x12@\n\x07profile\x18\x01 \x01(\x0b\x32/.chromiumos.config.api.Component.Memory.Profile\x1a\xc8\x02\n\x0b\x46ingerprint\x12N\n\x08location\x18\x01 \x01(\x0e\x32<.chromiumos.config.api.HardwareFeatures.Fingerprint.Location\x12\r\n\x05\x62oard\x18\x02 \x01(\t\x12\x12\n\nro_version\x18\x03 \x01(\t\"\xc5\x01\n\x08Location\x12\x14\n\x10LOCATION_UNKNOWN\x10\x00\x12\x19\n\x15POWER_BUTTON_TOP_LEFT\x10\x01\x12\x18\n\x14KEYBOARD_BOTTOM_LEFT\x10\x02\x12\x19\n\x15KEYBOARD_BOTTOM_RIGHT\x10\x03\x12\x16\n\x12KEYBOARD_TOP_RIGHT\x10\x04\x12\x0f\n\x0bNOT_PRESENT\x10\x05\x12\x0e\n\nRIGHT_SIDE\x10\x06\x12\r\n\tLEFT_SIDE\x10\x07\x12\x0b\n\x07PRESENT\x10\x08\x1a\x66\n\x07Storage\x12J\n\x0cstorage_type\x18\x01 \x01(\x0e\x32\x34.chromiumos.config.api.Component.Storage.StorageType\x12\x0f\n\x07size_gb\x18\x02 \x01(\r\x1a\x8c\x01\n\tBluetooth\x12=\n\tcomponent\x18\x01 \x01(\x0b\x32*.chromiumos.config.api.Component.Bluetooth\x12@\n\x07present\x18\x02 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1aN\n\nBarrelJack\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\xf7\x01\n\x04Wifi\x12T\n\x18supported_wlan_protocols\x18\x01 \x03(\x0e\x32\x32.chromiumos.config.api.Component.Wifi.WLANProtocol\x12I\n\nwifi_chips\x18\x02 \x03(\x0e\x32\x35.chromiumos.config.api.HardwareFeatures.Wifi.WifiChip\"N\n\x08WifiChip\x12\x15\n\x11WIFI_CHIP_UNKNOWN\x10\x00\x12\x15\n\x11WIRELESS_86ED801D\x10\x01\x12\x14\n\x10WIRELESS_REALTEK\x10\x02\x1a\xa0\x02\n\x06\x42utton\x12\x45\n\x06region\x18\x01 \x01(\x0e\x32\x35.chromiumos.config.api.HardwareFeatures.Button.Region\x12\x41\n\x04\x65\x64ge\x18\x02 \x01(\x0e\x32\x33.chromiumos.config.api.HardwareFeatures.Button.Edge\x12\x10\n\x08position\x18\x03 \x01(\x02\"6\n\x06Region\x12\x12\n\x0eREGION_UNKNOWN\x10\x00\x12\n\n\x06SCREEN\x10\x01\x12\x0c\n\x08KEYBOARD\x10\x02\"B\n\x04\x45\x64ge\x12\x10\n\x0c\x45\x44GE_UNKNOWN\x10\x00\x12\x08\n\x04LEFT\x10\x01\x12\t\n\x05RIGHT\x10\x02\x12\x07\n\x03TOP\x10\x03\x12\n\n\x06\x42OTTOM\x10\x04\x1a\xc9\x02\n\x12\x45mbeddedController\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12\x62\n\x07\x65\x63_type\x18\x02 \x01(\x0e\x32Q.chromiumos.config.api.HardwareFeatures.EmbeddedController.EmbeddedControllerType\x12\x41\n\x04part\x18\x03 \x01(\x0b\x32\x33.chromiumos.config.api.Component.EmbeddedController\"J\n\x16\x45mbeddedControllerType\x12\x13\n\x0f\x45\x43_TYPE_UNKNOWN\x10\x00\x12\r\n\tEC_CHROME\x10\x01\x12\x0c\n\x08\x45\x43_WILCO\x10\x02\x1a\xe0\x01\n\x15TrustedPlatformModule\x12i\n\x08tpm_type\x18\x01 \x01(\x0e\x32W.chromiumos.config.api.HardwareFeatures.TrustedPlatformModule.TrustedPlatformModuleType\"\\\n\x19TrustedPlatformModuleType\x12\x14\n\x10TPM_TYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTHIRD_PARTY\x10\x01\x12\x0b\n\x07GSC_H1B\x10\x02\x12\x0b\n\x07GSC_H1D\x10\x03\x1aN\n\nHotwording\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\xa9\x01\n\x07\x44isplay\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.chromiumos.config.api.HardwareFeatures.Display.Type\"Z\n\x04Type\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x11\n\rTYPE_INTERNAL\x10\x01\x12\x11\n\rTYPE_EXTERNAL\x10\x02\x12\x1a\n\x16TYPE_INTERNAL_EXTERNAL\x10\x03\x1aL\n\x08Touchpad\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1aX\n\x14MicrophoneMuteSwitch\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\xb6\x05\n\x07\x42\x61ttery\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x12J\n\x08lifetime\x18\x02 \x01(\x0b\x32\x38.chromiumos.config.api.HardwareFeatures.Battery.Lifetime\x12J\n\x08\x63harging\x18\x03 \x01(\x0b\x32\x38.chromiumos.config.api.HardwareFeatures.Battery.Charging\x1a\x9f\x02\n\x08Lifetime\x12\x35\n\x0cshipping_min\x18\x01 \x01(\x0b\x32\x1f.chromiumos.config.api.Duration\x12\x37\n\x0e\x64\x65\x65p_sleep_min\x18\x02 \x01(\x0b\x32\x1f.chromiumos.config.api.Duration\x12\x34\n\x0bsuspend_min\x18\x03 \x01(\x0b\x32\x1f.chromiumos.config.api.Duration\x12\x38\n\x0flucid_sleep_min\x18\x04 \x01(\x0b\x32\x1f.chromiumos.config.api.Duration\x12\x33\n\nactive_min\x18\x05 \x01(\x0b\x32\x1f.chromiumos.config.api.Duration\x1a\xae\x01\n\x08\x43harging\x12\x33\n\nactive_max\x18\x01 \x01(\x0b\x32\x1f.chromiumos.config.api.Duration\x12\x34\n\x0bsuspend_max\x18\x02 \x01(\x0b\x32\x1f.chromiumos.config.api.Duration\x12\x37\n\x0e\x64\x65\x65p_sleep_max\x18\x03 \x01(\x0b\x32\x1f.chromiumos.config.api.Duration\x1aQ\n\rPrivacyScreen\x12@\n\x07present\x18\x01 \x01(\x0e\x32/.chromiumos.config.api.HardwareFeatures.Present\x1a\x45\n\x03Soc\x12>\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0e\x32,.chromiumos.config.api.Component.Soc.Feature\"<\n\x07Present\x12\x13\n\x0fPRESENT_UNKNOWN\x10\x00\x12\x0b\n\x07PRESENT\x10\x01\x12\x0f\n\x0bNOT_PRESENT\x10\x02\x42*Z(go.chromium.org/chromiumos/config/go/apib\x06proto3'
  ,
  dependencies=[chromiumos_dot_config_dot_api_dot_component__pb2.DESCRIPTOR,])



_TOPOLOGY_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='chromiumos.config.api.Topology.Type',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TYPE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SCREEN', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FORM_FACTOR', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='AUDIO', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='STYLUS', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KEYBOARD', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='THERMAL', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CAMERA', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ACCELEROMETER_GYROSCOPE_MAGNETOMETER', index=8, number=8,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FINGERPRINT', index=9, number=9,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='PROXIMITY_SENSOR', index=10, number=10,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DAUGHTER_BOARD', index=11, number=11,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NON_VOLATILE_STORAGE', index=12, number=12,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RAM', index=13, number=13,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='WIFI', index=14, number=14,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='LTE_BOARD', index=15, number=15,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SD_READER', index=16, number=16,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MOTHERBOARD_USB', index=17, number=17,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='BLUETOOTH', index=18, number=18,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='BARRELJACK', index=19, number=19,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='POWER_BUTTON', index=20, number=20,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='VOLUME_BUTTON', index=21, number=21,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EC', index=22, number=22,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TOUCH', index=23, number=23,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TPM', index=24, number=24,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MICROPHONE_MUTE_SWITCH', index=25, number=25,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='BATTERY', index=26, number=26,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HDMI', index=27, number=27,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SOC', index=28, number=28,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=370,
  serialized_end=838,
)
_sym_db.RegisterEnumDescriptor(_TOPOLOGY_TYPE)

_DURATION_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='chromiumos.config.api.Duration.Type',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TYPE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MILLISECONDS', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SECONDS', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MINUTES', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='HOURS', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DAYS', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=920,
  serialized_end=1009,
)
_sym_db.RegisterEnumDescriptor(_DURATION_TYPE)

_HARDWAREFEATURES_AUDIO_AUDIOCODEC = _descriptor.EnumDescriptor(
  name='AudioCodec',
  full_name='chromiumos.config.api.HardwareFeatures.Audio.AudioCodec',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='AUDIO_CODEC_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RT5682', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ALC5682I', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ALC5682', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DA7219', index=4, number=8,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NAU88L25B', index=5, number=10,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CS42L42', index=6, number=11,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ALC5682IVS', index=7, number=12,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='WCD9385', index=8, number=13,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4128,
  serialized_end=4285,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_AUDIO_AUDIOCODEC)

_HARDWAREFEATURES_AUDIO_AMPLIFIER = _descriptor.EnumDescriptor(
  name='Amplifier',
  full_name='chromiumos.config.api.HardwareFeatures.Audio.Amplifier',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='AMPLIFIER_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MAX98357', index=1, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MAX98373', index=2, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MAX98360', index=3, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RT1015', index=4, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ALC1011', index=5, number=9,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RT1015P', index=6, number=10,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ALC1019', index=7, number=11,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='MAX98390', index=8, number=12,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4288,
  serialized_end=4441,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_AUDIO_AMPLIFIER)

_HARDWAREFEATURES_CAMERA_INTERFACE = _descriptor.EnumDescriptor(
  name='Interface',
  full_name='chromiumos.config.api.HardwareFeatures.Camera.Interface',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='INTERFACE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='INTERFACE_USB', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='INTERFACE_MIPI', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4867,
  serialized_end=4940,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_CAMERA_INTERFACE)

_HARDWAREFEATURES_CAMERA_FACING = _descriptor.EnumDescriptor(
  name='Facing',
  full_name='chromiumos.config.api.HardwareFeatures.Camera.Facing',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FACING_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FACING_FRONT', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FACING_BACK', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4942,
  serialized_end=5005,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_CAMERA_FACING)

_HARDWAREFEATURES_CAMERA_ORIENTATION = _descriptor.EnumDescriptor(
  name='Orientation',
  full_name='chromiumos.config.api.HardwareFeatures.Camera.Orientation',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ORIENTATION_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ORIENTATION_0', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ORIENTATION_90', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ORIENTATION_180', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ORIENTATION_270', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=5007,
  serialized_end=5126,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_CAMERA_ORIENTATION)

_HARDWAREFEATURES_CAMERA_FLAGS = _descriptor.EnumDescriptor(
  name='Flags',
  full_name='chromiumos.config.api.HardwareFeatures.Camera.Flags',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FLAGS_NONE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FLAGS_SUPPORT_1080P', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='FLAGS_SUPPORT_AUTOFOCUS', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=5128,
  serialized_end=5205,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_CAMERA_FLAGS)

_HARDWAREFEATURES_FORMFACTOR_FORMFACTORTYPE = _descriptor.EnumDescriptor(
  name='FormFactorType',
  full_name='chromiumos.config.api.HardwareFeatures.FormFactor.FormFactorType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FORM_FACTOR_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CLAMSHELL', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CONVERTIBLE', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DETACHABLE', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CHROMEBASE', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CHROMEBOX', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CHROMEBIT', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CHROMESLATE', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=6147,
  serialized_end=6299,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_FORMFACTOR_FORMFACTORTYPE)

_HARDWAREFEATURES_STYLUS_STYLUSTYPE = _descriptor.EnumDescriptor(
  name='StylusType',
  full_name='chromiumos.config.api.HardwareFeatures.Stylus.StylusType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='STYLUS_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NONE', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='INTERNAL', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EXTERNAL', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=6387,
  serialized_end=6457,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_STYLUS_STYLUSTYPE)

_HARDWAREFEATURES_KEYBOARD_KEYBOARDTYPE = _descriptor.EnumDescriptor(
  name='KeyboardType',
  full_name='chromiumos.config.api.HardwareFeatures.Keyboard.KeyboardType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='KEYBOARD_TYPE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='INTERNAL', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NONE', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DETACHABLE', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=6767,
  serialized_end=6848,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_KEYBOARD_KEYBOARDTYPE)

_HARDWAREFEATURES_FINGERPRINT_LOCATION = _descriptor.EnumDescriptor(
  name='Location',
  full_name='chromiumos.config.api.HardwareFeatures.Fingerprint.Location',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LOCATION_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='POWER_BUTTON_TOP_LEFT', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KEYBOARD_BOTTOM_LEFT', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KEYBOARD_BOTTOM_RIGHT', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KEYBOARD_TOP_RIGHT', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NOT_PRESENT', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_SIDE', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='LEFT_SIDE', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='PRESENT', index=8, number=8,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=7058,
  serialized_end=7255,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_FINGERPRINT_LOCATION)

_HARDWAREFEATURES_WIFI_WIFICHIP = _descriptor.EnumDescriptor(
  name='WifiChip',
  full_name='chromiumos.config.api.HardwareFeatures.Wifi.WifiChip',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='WIFI_CHIP_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='WIRELESS_86ED801D', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='WIRELESS_REALTEK', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=7754,
  serialized_end=7832,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_WIFI_WIFICHIP)

_HARDWAREFEATURES_BUTTON_REGION = _descriptor.EnumDescriptor(
  name='Region',
  full_name='chromiumos.config.api.HardwareFeatures.Button.Region',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='REGION_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='SCREEN', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KEYBOARD', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8001,
  serialized_end=8055,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_BUTTON_REGION)

_HARDWAREFEATURES_BUTTON_EDGE = _descriptor.EnumDescriptor(
  name='Edge',
  full_name='chromiumos.config.api.HardwareFeatures.Button.Edge',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EDGE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='LEFT', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RIGHT', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TOP', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='BOTTOM', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8057,
  serialized_end=8123,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_BUTTON_EDGE)

_HARDWAREFEATURES_EMBEDDEDCONTROLLER_EMBEDDEDCONTROLLERTYPE = _descriptor.EnumDescriptor(
  name='EmbeddedControllerType',
  full_name='chromiumos.config.api.HardwareFeatures.EmbeddedController.EmbeddedControllerType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EC_TYPE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EC_CHROME', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EC_WILCO', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8381,
  serialized_end=8455,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_EMBEDDEDCONTROLLER_EMBEDDEDCONTROLLERTYPE)

_HARDWAREFEATURES_TRUSTEDPLATFORMMODULE_TRUSTEDPLATFORMMODULETYPE = _descriptor.EnumDescriptor(
  name='TrustedPlatformModuleType',
  full_name='chromiumos.config.api.HardwareFeatures.TrustedPlatformModule.TrustedPlatformModuleType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TPM_TYPE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='THIRD_PARTY', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='GSC_H1B', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='GSC_H1D', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8590,
  serialized_end=8682,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_TRUSTEDPLATFORMMODULE_TRUSTEDPLATFORMMODULETYPE)

_HARDWAREFEATURES_DISPLAY_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='chromiumos.config.api.HardwareFeatures.Display.Type',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TYPE_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TYPE_INTERNAL', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TYPE_EXTERNAL', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TYPE_INTERNAL_EXTERNAL', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8844,
  serialized_end=8934,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_DISPLAY_TYPE)

_HARDWAREFEATURES_PRESENT = _descriptor.EnumDescriptor(
  name='Present',
  full_name='chromiumos.config.api.HardwareFeatures.Present',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PRESENT_UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='PRESENT', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NOT_PRESENT', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=9955,
  serialized_end=10015,
)
_sym_db.RegisterEnumDescriptor(_HARDWAREFEATURES_PRESENT)


_TOPOLOGY_DESCRIPTIONENTRY = _descriptor.Descriptor(
  name='DescriptionEntry',
  full_name='chromiumos.config.api.Topology.DescriptionEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='chromiumos.config.api.Topology.DescriptionEntry.key', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='chromiumos.config.api.Topology.DescriptionEntry.value', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'8\001',
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=317,
  serialized_end=367,
)

_TOPOLOGY = _descriptor.Descriptor(
  name='Topology',
  full_name='chromiumos.config.api.Topology',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='chromiumos.config.api.Topology.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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='type', full_name='chromiumos.config.api.Topology.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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='description', full_name='chromiumos.config.api.Topology.description', index=2,
      number=3, type=11, cpp_type=10, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='hardware_feature', full_name='chromiumos.config.api.Topology.hardware_feature', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_TOPOLOGY_DESCRIPTIONENTRY, ],
  enum_types=[
    _TOPOLOGY_TYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=103,
  serialized_end=838,
)


_DURATION = _descriptor.Descriptor(
  name='Duration',
  full_name='chromiumos.config.api.Duration',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='chromiumos.config.api.Duration.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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='value', full_name='chromiumos.config.api.Duration.value', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _DURATION_TYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=841,
  serialized_end=1009,
)


_HARDWAREFEATURES_COUNT = _descriptor.Descriptor(
  name='Count',
  full_name='chromiumos.config.api.HardwareFeatures.Count',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='chromiumos.config.api.HardwareFeatures.Count.value', index=0,
      number=1, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3283,
  serialized_end=3305,
)

_HARDWAREFEATURES_USBC = _descriptor.Descriptor(
  name='UsbC',
  full_name='chromiumos.config.api.HardwareFeatures.UsbC',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='count', full_name='chromiumos.config.api.HardwareFeatures.UsbC.count', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3307,
  serialized_end=3375,
)

_HARDWAREFEATURES_USBA = _descriptor.Descriptor(
  name='UsbA',
  full_name='chromiumos.config.api.HardwareFeatures.UsbA',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='count', full_name='chromiumos.config.api.HardwareFeatures.UsbA.count', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3377,
  serialized_end=3445,
)

_HARDWAREFEATURES_LTE = _descriptor.Descriptor(
  name='Lte',
  full_name='chromiumos.config.api.HardwareFeatures.Lte',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.Lte.present', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='model', full_name='chromiumos.config.api.HardwareFeatures.Lte.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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3447,
  serialized_end=3533,
)

_HARDWAREFEATURES_HDMI = _descriptor.Descriptor(
  name='Hdmi',
  full_name='chromiumos.config.api.HardwareFeatures.Hdmi',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.Hdmi.present', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3535,
  serialized_end=3607,
)

_HARDWAREFEATURES_FIRMWARECONFIGURATION = _descriptor.Descriptor(
  name='FirmwareConfiguration',
  full_name='chromiumos.config.api.HardwareFeatures.FirmwareConfiguration',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='chromiumos.config.api.HardwareFeatures.FirmwareConfiguration.value', index=0,
      number=1, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mask', full_name='chromiumos.config.api.HardwareFeatures.FirmwareConfiguration.mask', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3609,
  serialized_end=3661,
)

_HARDWAREFEATURES_AUDIO = _descriptor.Descriptor(
  name='Audio',
  full_name='chromiumos.config.api.HardwareFeatures.Audio',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='audio_codec', full_name='chromiumos.config.api.HardwareFeatures.Audio.audio_codec', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='speaker_amp', full_name='chromiumos.config.api.HardwareFeatures.Audio.speaker_amp', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='headphone_codec', full_name='chromiumos.config.api.HardwareFeatures.Audio.headphone_codec', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lid_microphone', full_name='chromiumos.config.api.HardwareFeatures.Audio.lid_microphone', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='base_microphone', full_name='chromiumos.config.api.HardwareFeatures.Audio.base_microphone', index=4,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='speaker_amplifier', full_name='chromiumos.config.api.HardwareFeatures.Audio.speaker_amplifier', index=5,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_AUDIO_AUDIOCODEC,
    _HARDWAREFEATURES_AUDIO_AMPLIFIER,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3664,
  serialized_end=4441,
)

_HARDWAREFEATURES_CAMERA_DEVICE = _descriptor.Descriptor(
  name='Device',
  full_name='chromiumos.config.api.HardwareFeatures.Camera.Device',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='interface', full_name='chromiumos.config.api.HardwareFeatures.Camera.Device.interface', index=0,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='facing', full_name='chromiumos.config.api.HardwareFeatures.Camera.Device.facing', index=1,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='orientation', full_name='chromiumos.config.api.HardwareFeatures.Camera.Device.orientation', index=2,
      number=4, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='flags', full_name='chromiumos.config.api.HardwareFeatures.Camera.Device.flags', index=3,
      number=5, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ids', full_name='chromiumos.config.api.HardwareFeatures.Camera.Device.ids', index=4,
      number=6, type=9, cpp_type=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='privacy_switch', full_name='chromiumos.config.api.HardwareFeatures.Camera.Device.privacy_switch', index=5,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4527,
  serialized_end=4865,
)

_HARDWAREFEATURES_CAMERA = _descriptor.Descriptor(
  name='Camera',
  full_name='chromiumos.config.api.HardwareFeatures.Camera',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='devices', full_name='chromiumos.config.api.HardwareFeatures.Camera.devices', index=0,
      number=4, type=11, cpp_type=10, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_HARDWAREFEATURES_CAMERA_DEVICE, ],
  enum_types=[
    _HARDWAREFEATURES_CAMERA_INTERFACE,
    _HARDWAREFEATURES_CAMERA_FACING,
    _HARDWAREFEATURES_CAMERA_ORIENTATION,
    _HARDWAREFEATURES_CAMERA_FLAGS,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4444,
  serialized_end=5205,
)

_HARDWAREFEATURES_ACCELEROMETER = _descriptor.Descriptor(
  name='Accelerometer',
  full_name='chromiumos.config.api.HardwareFeatures.Accelerometer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='lid_accelerometer', full_name='chromiumos.config.api.HardwareFeatures.Accelerometer.lid_accelerometer', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='base_accelerometer', full_name='chromiumos.config.api.HardwareFeatures.Accelerometer.base_accelerometer', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5208,
  serialized_end=5376,
)

_HARDWAREFEATURES_GYROSCOPE = _descriptor.Descriptor(
  name='Gyroscope',
  full_name='chromiumos.config.api.HardwareFeatures.Gyroscope',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='lid_gyroscope', full_name='chromiumos.config.api.HardwareFeatures.Gyroscope.lid_gyroscope', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='base_gyroscope', full_name='chromiumos.config.api.HardwareFeatures.Gyroscope.base_gyroscope', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5379,
  serialized_end=5535,
)

_HARDWAREFEATURES_MAGNETOMETER = _descriptor.Descriptor(
  name='Magnetometer',
  full_name='chromiumos.config.api.HardwareFeatures.Magnetometer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='lid_magnetometer', full_name='chromiumos.config.api.HardwareFeatures.Magnetometer.lid_magnetometer', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='base_magnetometer', full_name='chromiumos.config.api.HardwareFeatures.Magnetometer.base_magnetometer', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5538,
  serialized_end=5703,
)

_HARDWAREFEATURES_LIGHTSENSOR = _descriptor.Descriptor(
  name='LightSensor',
  full_name='chromiumos.config.api.HardwareFeatures.LightSensor',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='lid_lightsensor', full_name='chromiumos.config.api.HardwareFeatures.LightSensor.lid_lightsensor', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='base_lightsensor', full_name='chromiumos.config.api.HardwareFeatures.LightSensor.base_lightsensor', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5706,
  serialized_end=5868,
)

_HARDWAREFEATURES_SCREEN = _descriptor.Descriptor(
  name='Screen',
  full_name='chromiumos.config.api.HardwareFeatures.Screen',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='panel_properties', full_name='chromiumos.config.api.HardwareFeatures.Screen.panel_properties', index=0,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='touch_support', full_name='chromiumos.config.api.HardwareFeatures.Screen.touch_support', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5871,
  serialized_end=6041,
)

_HARDWAREFEATURES_FORMFACTOR = _descriptor.Descriptor(
  name='FormFactor',
  full_name='chromiumos.config.api.HardwareFeatures.FormFactor',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='form_factor', full_name='chromiumos.config.api.HardwareFeatures.FormFactor.form_factor', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_FORMFACTOR_FORMFACTORTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6044,
  serialized_end=6299,
)

_HARDWAREFEATURES_STYLUS = _descriptor.Descriptor(
  name='Stylus',
  full_name='chromiumos.config.api.HardwareFeatures.Stylus',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='stylus', full_name='chromiumos.config.api.HardwareFeatures.Stylus.stylus', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_STYLUS_STYLUSTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6302,
  serialized_end=6457,
)

_HARDWAREFEATURES_KEYBOARD = _descriptor.Descriptor(
  name='Keyboard',
  full_name='chromiumos.config.api.HardwareFeatures.Keyboard',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='keyboard_type', full_name='chromiumos.config.api.HardwareFeatures.Keyboard.keyboard_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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='backlight', full_name='chromiumos.config.api.HardwareFeatures.Keyboard.backlight', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='power_button', full_name='chromiumos.config.api.HardwareFeatures.Keyboard.power_button', index=2,
      number=3, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='numeric_pad', full_name='chromiumos.config.api.HardwareFeatures.Keyboard.numeric_pad', index=3,
      number=4, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_KEYBOARD_KEYBOARDTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6460,
  serialized_end=6848,
)

_HARDWAREFEATURES_MEMORY = _descriptor.Descriptor(
  name='Memory',
  full_name='chromiumos.config.api.HardwareFeatures.Memory',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='profile', full_name='chromiumos.config.api.HardwareFeatures.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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6850,
  serialized_end=6924,
)

_HARDWAREFEATURES_FINGERPRINT = _descriptor.Descriptor(
  name='Fingerprint',
  full_name='chromiumos.config.api.HardwareFeatures.Fingerprint',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='location', full_name='chromiumos.config.api.HardwareFeatures.Fingerprint.location', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='board', full_name='chromiumos.config.api.HardwareFeatures.Fingerprint.board', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ro_version', full_name='chromiumos.config.api.HardwareFeatures.Fingerprint.ro_version', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_FINGERPRINT_LOCATION,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6927,
  serialized_end=7255,
)

_HARDWAREFEATURES_STORAGE = _descriptor.Descriptor(
  name='Storage',
  full_name='chromiumos.config.api.HardwareFeatures.Storage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='storage_type', full_name='chromiumos.config.api.HardwareFeatures.Storage.storage_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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='size_gb', full_name='chromiumos.config.api.HardwareFeatures.Storage.size_gb', index=1,
      number=2, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7257,
  serialized_end=7359,
)

_HARDWAREFEATURES_BLUETOOTH = _descriptor.Descriptor(
  name='Bluetooth',
  full_name='chromiumos.config.api.HardwareFeatures.Bluetooth',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='component', full_name='chromiumos.config.api.HardwareFeatures.Bluetooth.component', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.Bluetooth.present', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7362,
  serialized_end=7502,
)

_HARDWAREFEATURES_BARRELJACK = _descriptor.Descriptor(
  name='BarrelJack',
  full_name='chromiumos.config.api.HardwareFeatures.BarrelJack',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.BarrelJack.present', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7504,
  serialized_end=7582,
)

_HARDWAREFEATURES_WIFI = _descriptor.Descriptor(
  name='Wifi',
  full_name='chromiumos.config.api.HardwareFeatures.Wifi',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='supported_wlan_protocols', full_name='chromiumos.config.api.HardwareFeatures.Wifi.supported_wlan_protocols', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='wifi_chips', full_name='chromiumos.config.api.HardwareFeatures.Wifi.wifi_chips', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_WIFI_WIFICHIP,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7585,
  serialized_end=7832,
)

_HARDWAREFEATURES_BUTTON = _descriptor.Descriptor(
  name='Button',
  full_name='chromiumos.config.api.HardwareFeatures.Button',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='region', full_name='chromiumos.config.api.HardwareFeatures.Button.region', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='edge', full_name='chromiumos.config.api.HardwareFeatures.Button.edge', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='position', full_name='chromiumos.config.api.HardwareFeatures.Button.position', index=2,
      number=3, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_BUTTON_REGION,
    _HARDWAREFEATURES_BUTTON_EDGE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7835,
  serialized_end=8123,
)

_HARDWAREFEATURES_EMBEDDEDCONTROLLER = _descriptor.Descriptor(
  name='EmbeddedController',
  full_name='chromiumos.config.api.HardwareFeatures.EmbeddedController',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.EmbeddedController.present', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='ec_type', full_name='chromiumos.config.api.HardwareFeatures.EmbeddedController.ec_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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='part', full_name='chromiumos.config.api.HardwareFeatures.EmbeddedController.part', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_EMBEDDEDCONTROLLER_EMBEDDEDCONTROLLERTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8126,
  serialized_end=8455,
)

_HARDWAREFEATURES_TRUSTEDPLATFORMMODULE = _descriptor.Descriptor(
  name='TrustedPlatformModule',
  full_name='chromiumos.config.api.HardwareFeatures.TrustedPlatformModule',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='tpm_type', full_name='chromiumos.config.api.HardwareFeatures.TrustedPlatformModule.tpm_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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_TRUSTEDPLATFORMMODULE_TRUSTEDPLATFORMMODULETYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8458,
  serialized_end=8682,
)

_HARDWAREFEATURES_HOTWORDING = _descriptor.Descriptor(
  name='Hotwording',
  full_name='chromiumos.config.api.HardwareFeatures.Hotwording',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.Hotwording.present', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8684,
  serialized_end=8762,
)

_HARDWAREFEATURES_DISPLAY = _descriptor.Descriptor(
  name='Display',
  full_name='chromiumos.config.api.HardwareFeatures.Display',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='chromiumos.config.api.HardwareFeatures.Display.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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _HARDWAREFEATURES_DISPLAY_TYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8765,
  serialized_end=8934,
)

_HARDWAREFEATURES_TOUCHPAD = _descriptor.Descriptor(
  name='Touchpad',
  full_name='chromiumos.config.api.HardwareFeatures.Touchpad',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.Touchpad.present', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=8936,
  serialized_end=9012,
)

_HARDWAREFEATURES_MICROPHONEMUTESWITCH = _descriptor.Descriptor(
  name='MicrophoneMuteSwitch',
  full_name='chromiumos.config.api.HardwareFeatures.MicrophoneMuteSwitch',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.MicrophoneMuteSwitch.present', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9014,
  serialized_end=9102,
)

_HARDWAREFEATURES_BATTERY_LIFETIME = _descriptor.Descriptor(
  name='Lifetime',
  full_name='chromiumos.config.api.HardwareFeatures.Battery.Lifetime',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='shipping_min', full_name='chromiumos.config.api.HardwareFeatures.Battery.Lifetime.shipping_min', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='deep_sleep_min', full_name='chromiumos.config.api.HardwareFeatures.Battery.Lifetime.deep_sleep_min', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='suspend_min', full_name='chromiumos.config.api.HardwareFeatures.Battery.Lifetime.suspend_min', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lucid_sleep_min', full_name='chromiumos.config.api.HardwareFeatures.Battery.Lifetime.lucid_sleep_min', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='active_min', full_name='chromiumos.config.api.HardwareFeatures.Battery.Lifetime.active_min', index=4,
      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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9335,
  serialized_end=9622,
)

_HARDWAREFEATURES_BATTERY_CHARGING = _descriptor.Descriptor(
  name='Charging',
  full_name='chromiumos.config.api.HardwareFeatures.Battery.Charging',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='active_max', full_name='chromiumos.config.api.HardwareFeatures.Battery.Charging.active_max', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='suspend_max', full_name='chromiumos.config.api.HardwareFeatures.Battery.Charging.suspend_max', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='deep_sleep_max', full_name='chromiumos.config.api.HardwareFeatures.Battery.Charging.deep_sleep_max', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9625,
  serialized_end=9799,
)

_HARDWAREFEATURES_BATTERY = _descriptor.Descriptor(
  name='Battery',
  full_name='chromiumos.config.api.HardwareFeatures.Battery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.Battery.present', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lifetime', full_name='chromiumos.config.api.HardwareFeatures.Battery.lifetime', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='charging', full_name='chromiumos.config.api.HardwareFeatures.Battery.charging', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_HARDWAREFEATURES_BATTERY_LIFETIME, _HARDWAREFEATURES_BATTERY_CHARGING, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9105,
  serialized_end=9799,
)

_HARDWAREFEATURES_PRIVACYSCREEN = _descriptor.Descriptor(
  name='PrivacyScreen',
  full_name='chromiumos.config.api.HardwareFeatures.PrivacyScreen',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='present', full_name='chromiumos.config.api.HardwareFeatures.PrivacyScreen.present', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9801,
  serialized_end=9882,
)

_HARDWAREFEATURES_SOC = _descriptor.Descriptor(
  name='Soc',
  full_name='chromiumos.config.api.HardwareFeatures.Soc',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='features', full_name='chromiumos.config.api.HardwareFeatures.Soc.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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=9884,
  serialized_end=9953,
)

_HARDWAREFEATURES = _descriptor.Descriptor(
  name='HardwareFeatures',
  full_name='chromiumos.config.api.HardwareFeatures',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='usb_c', full_name='chromiumos.config.api.HardwareFeatures.usb_c', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='usb_a', full_name='chromiumos.config.api.HardwareFeatures.usb_a', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='lte', full_name='chromiumos.config.api.HardwareFeatures.lte', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='hdmi', full_name='chromiumos.config.api.HardwareFeatures.hdmi', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='fw_config', full_name='chromiumos.config.api.HardwareFeatures.fw_config', index=4,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='audio', full_name='chromiumos.config.api.HardwareFeatures.audio', index=5,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='camera', full_name='chromiumos.config.api.HardwareFeatures.camera', index=6,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='accelerometer', full_name='chromiumos.config.api.HardwareFeatures.accelerometer', index=7,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='gyroscope', full_name='chromiumos.config.api.HardwareFeatures.gyroscope', index=8,
      number=9, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='magnetometer', full_name='chromiumos.config.api.HardwareFeatures.magnetometer', index=9,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='light_sensor', full_name='chromiumos.config.api.HardwareFeatures.light_sensor', index=10,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='screen', full_name='chromiumos.config.api.HardwareFeatures.screen', index=11,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='form_factor', full_name='chromiumos.config.api.HardwareFeatures.form_factor', index=12,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='stylus', full_name='chromiumos.config.api.HardwareFeatures.stylus', index=13,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='keyboard', full_name='chromiumos.config.api.HardwareFeatures.keyboard', index=14,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='memory', full_name='chromiumos.config.api.HardwareFeatures.memory', index=15,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='fingerprint', full_name='chromiumos.config.api.HardwareFeatures.fingerprint', index=16,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='storage', full_name='chromiumos.config.api.HardwareFeatures.storage', index=17,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='bluetooth', full_name='chromiumos.config.api.HardwareFeatures.bluetooth', index=18,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='barreljack', full_name='chromiumos.config.api.HardwareFeatures.barreljack', index=19,
      number=20, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='wifi', full_name='chromiumos.config.api.HardwareFeatures.wifi', index=20,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='power_button', full_name='chromiumos.config.api.HardwareFeatures.power_button', index=21,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='volume_button', full_name='chromiumos.config.api.HardwareFeatures.volume_button', index=22,
      number=22, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='embedded_controller', full_name='chromiumos.config.api.HardwareFeatures.embedded_controller', index=23,
      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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='trusted_platform_module', full_name='chromiumos.config.api.HardwareFeatures.trusted_platform_module', index=24,
      number=25, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='hotwording', full_name='chromiumos.config.api.HardwareFeatures.hotwording', 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='display', full_name='chromiumos.config.api.HardwareFeatures.display', index=26,
      number=27, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='touchpad', full_name='chromiumos.config.api.HardwareFeatures.touchpad', index=27,
      number=28, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='microphone_mute_switch', full_name='chromiumos.config.api.HardwareFeatures.microphone_mute_switch', index=28,
      number=29, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='battery', full_name='chromiumos.config.api.HardwareFeatures.battery', index=29,
      number=30, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='privacy_screen', full_name='chromiumos.config.api.HardwareFeatures.privacy_screen', index=30,
      number=31, 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,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='soc', full_name='chromiumos.config.api.HardwareFeatures.soc', index=31,
      number=32, 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_HARDWAREFEATURES_COUNT, _HARDWAREFEATURES_USBC, _HARDWAREFEATURES_USBA, _HARDWAREFEATURES_LTE, _HARDWAREFEATURES_HDMI, _HARDWAREFEATURES_FIRMWARECONFIGURATION, _HARDWAREFEATURES_AUDIO, _HARDWAREFEATURES_CAMERA, _HARDWAREFEATURES_ACCELEROMETER, _HARDWAREFEATURES_GYROSCOPE, _HARDWAREFEATURES_MAGNETOMETER, _HARDWAREFEATURES_LIGHTSENSOR, _HARDWAREFEATURES_SCREEN, _HARDWAREFEATURES_FORMFACTOR, _HARDWAREFEATURES_STYLUS, _HARDWAREFEATURES_KEYBOARD, _HARDWAREFEATURES_MEMORY, _HARDWAREFEATURES_FINGERPRINT, _HARDWAREFEATURES_STORAGE, _HARDWAREFEATURES_BLUETOOTH, _HARDWAREFEATURES_BARRELJACK, _HARDWAREFEATURES_WIFI, _HARDWAREFEATURES_BUTTON, _HARDWAREFEATURES_EMBEDDEDCONTROLLER, _HARDWAREFEATURES_TRUSTEDPLATFORMMODULE, _HARDWAREFEATURES_HOTWORDING, _HARDWAREFEATURES_DISPLAY, _HARDWAREFEATURES_TOUCHPAD, _HARDWAREFEATURES_MICROPHONEMUTESWITCH, _HARDWAREFEATURES_BATTERY, _HARDWAREFEATURES_PRIVACYSCREEN, _HARDWAREFEATURES_SOC, ],
  enum_types=[
    _HARDWAREFEATURES_PRESENT,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1012,
  serialized_end=10015,
)

_TOPOLOGY_DESCRIPTIONENTRY.containing_type = _TOPOLOGY
_TOPOLOGY.fields_by_name['type'].enum_type = _TOPOLOGY_TYPE
_TOPOLOGY.fields_by_name['description'].message_type = _TOPOLOGY_DESCRIPTIONENTRY
_TOPOLOGY.fields_by_name['hardware_feature'].message_type = _HARDWAREFEATURES
_TOPOLOGY_TYPE.containing_type = _TOPOLOGY
_DURATION.fields_by_name['type'].enum_type = _DURATION_TYPE
_DURATION_TYPE.containing_type = _DURATION
_HARDWAREFEATURES_COUNT.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_USBC.fields_by_name['count'].message_type = _HARDWAREFEATURES_COUNT
_HARDWAREFEATURES_USBC.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_USBA.fields_by_name['count'].message_type = _HARDWAREFEATURES_COUNT
_HARDWAREFEATURES_USBA.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_LTE.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_LTE.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_HDMI.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_HDMI.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_FIRMWARECONFIGURATION.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_AUDIO.fields_by_name['audio_codec'].enum_type = _HARDWAREFEATURES_AUDIO_AUDIOCODEC
_HARDWAREFEATURES_AUDIO.fields_by_name['speaker_amp'].enum_type = _HARDWAREFEATURES_AUDIO_AMPLIFIER
_HARDWAREFEATURES_AUDIO.fields_by_name['headphone_codec'].enum_type = _HARDWAREFEATURES_AUDIO_AUDIOCODEC
_HARDWAREFEATURES_AUDIO.fields_by_name['lid_microphone'].message_type = _HARDWAREFEATURES_COUNT
_HARDWAREFEATURES_AUDIO.fields_by_name['base_microphone'].message_type = _HARDWAREFEATURES_COUNT
_HARDWAREFEATURES_AUDIO.fields_by_name['speaker_amplifier'].message_type = chromiumos_dot_config_dot_api_dot_component__pb2._COMPONENT_AMPLIFIER
_HARDWAREFEATURES_AUDIO.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_AUDIO_AUDIOCODEC.containing_type = _HARDWAREFEATURES_AUDIO
_HARDWAREFEATURES_AUDIO_AMPLIFIER.containing_type = _HARDWAREFEATURES_AUDIO
_HARDWAREFEATURES_CAMERA_DEVICE.fields_by_name['interface'].enum_type = _HARDWAREFEATURES_CAMERA_INTERFACE
_HARDWAREFEATURES_CAMERA_DEVICE.fields_by_name['facing'].enum_type = _HARDWAREFEATURES_CAMERA_FACING
_HARDWAREFEATURES_CAMERA_DEVICE.fields_by_name['orientation'].enum_type = _HARDWAREFEATURES_CAMERA_ORIENTATION
_HARDWAREFEATURES_CAMERA_DEVICE.fields_by_name['privacy_switch'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_CAMERA_DEVICE.containing_type = _HARDWAREFEATURES_CAMERA
_HARDWAREFEATURES_CAMERA.fields_by_name['devices'].message_type = _HARDWAREFEATURES_CAMERA_DEVICE
_HARDWAREFEATURES_CAMERA.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_CAMERA_INTERFACE.containing_type = _HARDWAREFEATURES_CAMERA
_HARDWAREFEATURES_CAMERA_FACING.containing_type = _HARDWAREFEATURES_CAMERA
_HARDWAREFEATURES_CAMERA_ORIENTATION.containing_type = _HARDWAREFEATURES_CAMERA
_HARDWAREFEATURES_CAMERA_FLAGS.containing_type = _HARDWAREFEATURES_CAMERA
_HARDWAREFEATURES_ACCELEROMETER.fields_by_name['lid_accelerometer'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_ACCELEROMETER.fields_by_name['base_accelerometer'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_ACCELEROMETER.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_GYROSCOPE.fields_by_name['lid_gyroscope'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_GYROSCOPE.fields_by_name['base_gyroscope'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_GYROSCOPE.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_MAGNETOMETER.fields_by_name['lid_magnetometer'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_MAGNETOMETER.fields_by_name['base_magnetometer'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_MAGNETOMETER.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_LIGHTSENSOR.fields_by_name['lid_lightsensor'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_LIGHTSENSOR.fields_by_name['base_lightsensor'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_LIGHTSENSOR.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_SCREEN.fields_by_name['panel_properties'].message_type = chromiumos_dot_config_dot_api_dot_component__pb2._COMPONENT_DISPLAYPANEL_PROPERTIES
_HARDWAREFEATURES_SCREEN.fields_by_name['touch_support'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_SCREEN.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_FORMFACTOR.fields_by_name['form_factor'].enum_type = _HARDWAREFEATURES_FORMFACTOR_FORMFACTORTYPE
_HARDWAREFEATURES_FORMFACTOR.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_FORMFACTOR_FORMFACTORTYPE.containing_type = _HARDWAREFEATURES_FORMFACTOR
_HARDWAREFEATURES_STYLUS.fields_by_name['stylus'].enum_type = _HARDWAREFEATURES_STYLUS_STYLUSTYPE
_HARDWAREFEATURES_STYLUS.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_STYLUS_STYLUSTYPE.containing_type = _HARDWAREFEATURES_STYLUS
_HARDWAREFEATURES_KEYBOARD.fields_by_name['keyboard_type'].enum_type = _HARDWAREFEATURES_KEYBOARD_KEYBOARDTYPE
_HARDWAREFEATURES_KEYBOARD.fields_by_name['backlight'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_KEYBOARD.fields_by_name['power_button'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_KEYBOARD.fields_by_name['numeric_pad'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_KEYBOARD.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_KEYBOARD_KEYBOARDTYPE.containing_type = _HARDWAREFEATURES_KEYBOARD
_HARDWAREFEATURES_MEMORY.fields_by_name['profile'].message_type = chromiumos_dot_config_dot_api_dot_component__pb2._COMPONENT_MEMORY_PROFILE
_HARDWAREFEATURES_MEMORY.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_FINGERPRINT.fields_by_name['location'].enum_type = _HARDWAREFEATURES_FINGERPRINT_LOCATION
_HARDWAREFEATURES_FINGERPRINT.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_FINGERPRINT_LOCATION.containing_type = _HARDWAREFEATURES_FINGERPRINT
_HARDWAREFEATURES_STORAGE.fields_by_name['storage_type'].enum_type = chromiumos_dot_config_dot_api_dot_component__pb2._COMPONENT_STORAGE_STORAGETYPE
_HARDWAREFEATURES_STORAGE.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_BLUETOOTH.fields_by_name['component'].message_type = chromiumos_dot_config_dot_api_dot_component__pb2._COMPONENT_BLUETOOTH
_HARDWAREFEATURES_BLUETOOTH.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_BLUETOOTH.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_BARRELJACK.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_BARRELJACK.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_WIFI.fields_by_name['supported_wlan_protocols'].enum_type = chromiumos_dot_config_dot_api_dot_component__pb2._COMPONENT_WIFI_WLANPROTOCOL
_HARDWAREFEATURES_WIFI.fields_by_name['wifi_chips'].enum_type = _HARDWAREFEATURES_WIFI_WIFICHIP
_HARDWAREFEATURES_WIFI.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_WIFI_WIFICHIP.containing_type = _HARDWAREFEATURES_WIFI
_HARDWAREFEATURES_BUTTON.fields_by_name['region'].enum_type = _HARDWAREFEATURES_BUTTON_REGION
_HARDWAREFEATURES_BUTTON.fields_by_name['edge'].enum_type = _HARDWAREFEATURES_BUTTON_EDGE
_HARDWAREFEATURES_BUTTON.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_BUTTON_REGION.containing_type = _HARDWAREFEATURES_BUTTON
_HARDWAREFEATURES_BUTTON_EDGE.containing_type = _HARDWAREFEATURES_BUTTON
_HARDWAREFEATURES_EMBEDDEDCONTROLLER.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_EMBEDDEDCONTROLLER.fields_by_name['ec_type'].enum_type = _HARDWAREFEATURES_EMBEDDEDCONTROLLER_EMBEDDEDCONTROLLERTYPE
_HARDWAREFEATURES_EMBEDDEDCONTROLLER.fields_by_name['part'].message_type = chromiumos_dot_config_dot_api_dot_component__pb2._COMPONENT_EMBEDDEDCONTROLLER
_HARDWAREFEATURES_EMBEDDEDCONTROLLER.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_EMBEDDEDCONTROLLER_EMBEDDEDCONTROLLERTYPE.containing_type = _HARDWAREFEATURES_EMBEDDEDCONTROLLER
_HARDWAREFEATURES_TRUSTEDPLATFORMMODULE.fields_by_name['tpm_type'].enum_type = _HARDWAREFEATURES_TRUSTEDPLATFORMMODULE_TRUSTEDPLATFORMMODULETYPE
_HARDWAREFEATURES_TRUSTEDPLATFORMMODULE.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_TRUSTEDPLATFORMMODULE_TRUSTEDPLATFORMMODULETYPE.containing_type = _HARDWAREFEATURES_TRUSTEDPLATFORMMODULE
_HARDWAREFEATURES_HOTWORDING.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_HOTWORDING.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_DISPLAY.fields_by_name['type'].enum_type = _HARDWAREFEATURES_DISPLAY_TYPE
_HARDWAREFEATURES_DISPLAY.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_DISPLAY_TYPE.containing_type = _HARDWAREFEATURES_DISPLAY
_HARDWAREFEATURES_TOUCHPAD.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_TOUCHPAD.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_MICROPHONEMUTESWITCH.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_MICROPHONEMUTESWITCH.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_BATTERY_LIFETIME.fields_by_name['shipping_min'].message_type = _DURATION
_HARDWAREFEATURES_BATTERY_LIFETIME.fields_by_name['deep_sleep_min'].message_type = _DURATION
_HARDWAREFEATURES_BATTERY_LIFETIME.fields_by_name['suspend_min'].message_type = _DURATION
_HARDWAREFEATURES_BATTERY_LIFETIME.fields_by_name['lucid_sleep_min'].message_type = _DURATION
_HARDWAREFEATURES_BATTERY_LIFETIME.fields_by_name['active_min'].message_type = _DURATION
_HARDWAREFEATURES_BATTERY_LIFETIME.containing_type = _HARDWAREFEATURES_BATTERY
_HARDWAREFEATURES_BATTERY_CHARGING.fields_by_name['active_max'].message_type = _DURATION
_HARDWAREFEATURES_BATTERY_CHARGING.fields_by_name['suspend_max'].message_type = _DURATION
_HARDWAREFEATURES_BATTERY_CHARGING.fields_by_name['deep_sleep_max'].message_type = _DURATION
_HARDWAREFEATURES_BATTERY_CHARGING.containing_type = _HARDWAREFEATURES_BATTERY
_HARDWAREFEATURES_BATTERY.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_BATTERY.fields_by_name['lifetime'].message_type = _HARDWAREFEATURES_BATTERY_LIFETIME
_HARDWAREFEATURES_BATTERY.fields_by_name['charging'].message_type = _HARDWAREFEATURES_BATTERY_CHARGING
_HARDWAREFEATURES_BATTERY.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_PRIVACYSCREEN.fields_by_name['present'].enum_type = _HARDWAREFEATURES_PRESENT
_HARDWAREFEATURES_PRIVACYSCREEN.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES_SOC.fields_by_name['features'].enum_type = chromiumos_dot_config_dot_api_dot_component__pb2._COMPONENT_SOC_FEATURE
_HARDWAREFEATURES_SOC.containing_type = _HARDWAREFEATURES
_HARDWAREFEATURES.fields_by_name['usb_c'].message_type = _HARDWAREFEATURES_USBC
_HARDWAREFEATURES.fields_by_name['usb_a'].message_type = _HARDWAREFEATURES_USBA
_HARDWAREFEATURES.fields_by_name['lte'].message_type = _HARDWAREFEATURES_LTE
_HARDWAREFEATURES.fields_by_name['hdmi'].message_type = _HARDWAREFEATURES_HDMI
_HARDWAREFEATURES.fields_by_name['fw_config'].message_type = _HARDWAREFEATURES_FIRMWARECONFIGURATION
_HARDWAREFEATURES.fields_by_name['audio'].message_type = _HARDWAREFEATURES_AUDIO
_HARDWAREFEATURES.fields_by_name['camera'].message_type = _HARDWAREFEATURES_CAMERA
_HARDWAREFEATURES.fields_by_name['accelerometer'].message_type = _HARDWAREFEATURES_ACCELEROMETER
_HARDWAREFEATURES.fields_by_name['gyroscope'].message_type = _HARDWAREFEATURES_GYROSCOPE
_HARDWAREFEATURES.fields_by_name['magnetometer'].message_type = _HARDWAREFEATURES_MAGNETOMETER
_HARDWAREFEATURES.fields_by_name['light_sensor'].message_type = _HARDWAREFEATURES_LIGHTSENSOR
_HARDWAREFEATURES.fields_by_name['screen'].message_type = _HARDWAREFEATURES_SCREEN
_HARDWAREFEATURES.fields_by_name['form_factor'].message_type = _HARDWAREFEATURES_FORMFACTOR
_HARDWAREFEATURES.fields_by_name['stylus'].message_type = _HARDWAREFEATURES_STYLUS
_HARDWAREFEATURES.fields_by_name['keyboard'].message_type = _HARDWAREFEATURES_KEYBOARD
_HARDWAREFEATURES.fields_by_name['memory'].message_type = _HARDWAREFEATURES_MEMORY
_HARDWAREFEATURES.fields_by_name['fingerprint'].message_type = _HARDWAREFEATURES_FINGERPRINT
_HARDWAREFEATURES.fields_by_name['storage'].message_type = _HARDWAREFEATURES_STORAGE
_HARDWAREFEATURES.fields_by_name['bluetooth'].message_type = _HARDWAREFEATURES_BLUETOOTH
_HARDWAREFEATURES.fields_by_name['barreljack'].message_type = _HARDWAREFEATURES_BARRELJACK
_HARDWAREFEATURES.fields_by_name['wifi'].message_type = _HARDWAREFEATURES_WIFI
_HARDWAREFEATURES.fields_by_name['power_button'].message_type = _HARDWAREFEATURES_BUTTON
_HARDWAREFEATURES.fields_by_name['volume_button'].message_type = _HARDWAREFEATURES_BUTTON
_HARDWAREFEATURES.fields_by_name['embedded_controller'].message_type = _HARDWAREFEATURES_EMBEDDEDCONTROLLER
_HARDWAREFEATURES.fields_by_name['trusted_platform_module'].message_type = _HARDWAREFEATURES_TRUSTEDPLATFORMMODULE
_HARDWAREFEATURES.fields_by_name['hotwording'].message_type = _HARDWAREFEATURES_HOTWORDING
_HARDWAREFEATURES.fields_by_name['display'].message_type = _HARDWAREFEATURES_DISPLAY
_HARDWAREFEATURES.fields_by_name['touchpad'].message_type = _HARDWAREFEATURES_TOUCHPAD
_HARDWAREFEATURES.fields_by_name['microphone_mute_switch'].message_type = _HARDWAREFEATURES_MICROPHONEMUTESWITCH
_HARDWAREFEATURES.fields_by_name['battery'].message_type = _HARDWAREFEATURES_BATTERY
_HARDWAREFEATURES.fields_by_name['privacy_screen'].message_type = _HARDWAREFEATURES_PRIVACYSCREEN
_HARDWAREFEATURES.fields_by_name['soc'].message_type = _HARDWAREFEATURES_SOC
_HARDWAREFEATURES_PRESENT.containing_type = _HARDWAREFEATURES
DESCRIPTOR.message_types_by_name['Topology'] = _TOPOLOGY
DESCRIPTOR.message_types_by_name['Duration'] = _DURATION
DESCRIPTOR.message_types_by_name['HardwareFeatures'] = _HARDWAREFEATURES
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

  'DescriptionEntry' : _reflection.GeneratedProtocolMessageType('DescriptionEntry', (_message.Message,), {
    'DESCRIPTOR' : _TOPOLOGY_DESCRIPTIONENTRY,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.Topology.DescriptionEntry)
    })
  ,
  'DESCRIPTOR' : _TOPOLOGY,
  '__module__' : 'chromiumos.config.api.topology_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.config.api.Topology)
  })
_sym_db.RegisterMessage(Topology)
_sym_db.RegisterMessage(Topology.DescriptionEntry)

Duration = _reflection.GeneratedProtocolMessageType('Duration', (_message.Message,), {
  'DESCRIPTOR' : _DURATION,
  '__module__' : 'chromiumos.config.api.topology_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.config.api.Duration)
  })
_sym_db.RegisterMessage(Duration)

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

  'Count' : _reflection.GeneratedProtocolMessageType('Count', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_COUNT,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Count)
    })
  ,

  'UsbC' : _reflection.GeneratedProtocolMessageType('UsbC', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_USBC,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.UsbC)
    })
  ,

  'UsbA' : _reflection.GeneratedProtocolMessageType('UsbA', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_USBA,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.UsbA)
    })
  ,

  'Lte' : _reflection.GeneratedProtocolMessageType('Lte', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_LTE,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Lte)
    })
  ,

  'Hdmi' : _reflection.GeneratedProtocolMessageType('Hdmi', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_HDMI,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Hdmi)
    })
  ,

  'FirmwareConfiguration' : _reflection.GeneratedProtocolMessageType('FirmwareConfiguration', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_FIRMWARECONFIGURATION,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.FirmwareConfiguration)
    })
  ,

  'Audio' : _reflection.GeneratedProtocolMessageType('Audio', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_AUDIO,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Audio)
    })
  ,

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

    'Device' : _reflection.GeneratedProtocolMessageType('Device', (_message.Message,), {
      'DESCRIPTOR' : _HARDWAREFEATURES_CAMERA_DEVICE,
      '__module__' : 'chromiumos.config.api.topology_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Camera.Device)
      })
    ,
    'DESCRIPTOR' : _HARDWAREFEATURES_CAMERA,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Camera)
    })
  ,

  'Accelerometer' : _reflection.GeneratedProtocolMessageType('Accelerometer', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_ACCELEROMETER,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Accelerometer)
    })
  ,

  'Gyroscope' : _reflection.GeneratedProtocolMessageType('Gyroscope', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_GYROSCOPE,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Gyroscope)
    })
  ,

  'Magnetometer' : _reflection.GeneratedProtocolMessageType('Magnetometer', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_MAGNETOMETER,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Magnetometer)
    })
  ,

  'LightSensor' : _reflection.GeneratedProtocolMessageType('LightSensor', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_LIGHTSENSOR,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.LightSensor)
    })
  ,

  'Screen' : _reflection.GeneratedProtocolMessageType('Screen', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_SCREEN,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Screen)
    })
  ,

  'FormFactor' : _reflection.GeneratedProtocolMessageType('FormFactor', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_FORMFACTOR,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.FormFactor)
    })
  ,

  'Stylus' : _reflection.GeneratedProtocolMessageType('Stylus', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_STYLUS,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Stylus)
    })
  ,

  'Keyboard' : _reflection.GeneratedProtocolMessageType('Keyboard', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_KEYBOARD,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Keyboard)
    })
  ,

  'Memory' : _reflection.GeneratedProtocolMessageType('Memory', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_MEMORY,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Memory)
    })
  ,

  'Fingerprint' : _reflection.GeneratedProtocolMessageType('Fingerprint', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_FINGERPRINT,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Fingerprint)
    })
  ,

  'Storage' : _reflection.GeneratedProtocolMessageType('Storage', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_STORAGE,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Storage)
    })
  ,

  'Bluetooth' : _reflection.GeneratedProtocolMessageType('Bluetooth', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_BLUETOOTH,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Bluetooth)
    })
  ,

  'BarrelJack' : _reflection.GeneratedProtocolMessageType('BarrelJack', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_BARRELJACK,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.BarrelJack)
    })
  ,

  'Wifi' : _reflection.GeneratedProtocolMessageType('Wifi', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_WIFI,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Wifi)
    })
  ,

  'Button' : _reflection.GeneratedProtocolMessageType('Button', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_BUTTON,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Button)
    })
  ,

  'EmbeddedController' : _reflection.GeneratedProtocolMessageType('EmbeddedController', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_EMBEDDEDCONTROLLER,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.EmbeddedController)
    })
  ,

  'TrustedPlatformModule' : _reflection.GeneratedProtocolMessageType('TrustedPlatformModule', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_TRUSTEDPLATFORMMODULE,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.TrustedPlatformModule)
    })
  ,

  'Hotwording' : _reflection.GeneratedProtocolMessageType('Hotwording', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_HOTWORDING,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Hotwording)
    })
  ,

  'Display' : _reflection.GeneratedProtocolMessageType('Display', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_DISPLAY,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Display)
    })
  ,

  'Touchpad' : _reflection.GeneratedProtocolMessageType('Touchpad', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_TOUCHPAD,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Touchpad)
    })
  ,

  'MicrophoneMuteSwitch' : _reflection.GeneratedProtocolMessageType('MicrophoneMuteSwitch', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_MICROPHONEMUTESWITCH,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.MicrophoneMuteSwitch)
    })
  ,

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

    'Lifetime' : _reflection.GeneratedProtocolMessageType('Lifetime', (_message.Message,), {
      'DESCRIPTOR' : _HARDWAREFEATURES_BATTERY_LIFETIME,
      '__module__' : 'chromiumos.config.api.topology_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Battery.Lifetime)
      })
    ,

    'Charging' : _reflection.GeneratedProtocolMessageType('Charging', (_message.Message,), {
      'DESCRIPTOR' : _HARDWAREFEATURES_BATTERY_CHARGING,
      '__module__' : 'chromiumos.config.api.topology_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Battery.Charging)
      })
    ,
    'DESCRIPTOR' : _HARDWAREFEATURES_BATTERY,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Battery)
    })
  ,

  'PrivacyScreen' : _reflection.GeneratedProtocolMessageType('PrivacyScreen', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_PRIVACYSCREEN,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.PrivacyScreen)
    })
  ,

  'Soc' : _reflection.GeneratedProtocolMessageType('Soc', (_message.Message,), {
    'DESCRIPTOR' : _HARDWAREFEATURES_SOC,
    '__module__' : 'chromiumos.config.api.topology_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures.Soc)
    })
  ,
  'DESCRIPTOR' : _HARDWAREFEATURES,
  '__module__' : 'chromiumos.config.api.topology_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.config.api.HardwareFeatures)
  })
_sym_db.RegisterMessage(HardwareFeatures)
_sym_db.RegisterMessage(HardwareFeatures.Count)
_sym_db.RegisterMessage(HardwareFeatures.UsbC)
_sym_db.RegisterMessage(HardwareFeatures.UsbA)
_sym_db.RegisterMessage(HardwareFeatures.Lte)
_sym_db.RegisterMessage(HardwareFeatures.Hdmi)
_sym_db.RegisterMessage(HardwareFeatures.FirmwareConfiguration)
_sym_db.RegisterMessage(HardwareFeatures.Audio)
_sym_db.RegisterMessage(HardwareFeatures.Camera)
_sym_db.RegisterMessage(HardwareFeatures.Camera.Device)
_sym_db.RegisterMessage(HardwareFeatures.Accelerometer)
_sym_db.RegisterMessage(HardwareFeatures.Gyroscope)
_sym_db.RegisterMessage(HardwareFeatures.Magnetometer)
_sym_db.RegisterMessage(HardwareFeatures.LightSensor)
_sym_db.RegisterMessage(HardwareFeatures.Screen)
_sym_db.RegisterMessage(HardwareFeatures.FormFactor)
_sym_db.RegisterMessage(HardwareFeatures.Stylus)
_sym_db.RegisterMessage(HardwareFeatures.Keyboard)
_sym_db.RegisterMessage(HardwareFeatures.Memory)
_sym_db.RegisterMessage(HardwareFeatures.Fingerprint)
_sym_db.RegisterMessage(HardwareFeatures.Storage)
_sym_db.RegisterMessage(HardwareFeatures.Bluetooth)
_sym_db.RegisterMessage(HardwareFeatures.BarrelJack)
_sym_db.RegisterMessage(HardwareFeatures.Wifi)
_sym_db.RegisterMessage(HardwareFeatures.Button)
_sym_db.RegisterMessage(HardwareFeatures.EmbeddedController)
_sym_db.RegisterMessage(HardwareFeatures.TrustedPlatformModule)
_sym_db.RegisterMessage(HardwareFeatures.Hotwording)
_sym_db.RegisterMessage(HardwareFeatures.Display)
_sym_db.RegisterMessage(HardwareFeatures.Touchpad)
_sym_db.RegisterMessage(HardwareFeatures.MicrophoneMuteSwitch)
_sym_db.RegisterMessage(HardwareFeatures.Battery)
_sym_db.RegisterMessage(HardwareFeatures.Battery.Lifetime)
_sym_db.RegisterMessage(HardwareFeatures.Battery.Charging)
_sym_db.RegisterMessage(HardwareFeatures.PrivacyScreen)
_sym_db.RegisterMessage(HardwareFeatures.Soc)


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