# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromite/api/packages.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from chromite.api.gen.chromite.api import binhost_pb2 as chromite_dot_api_dot_binhost__pb2
from chromite.api.gen.chromite.api import build_api_pb2 as chromite_dot_api_dot_build__api__pb2
from chromite.api.gen.chromite.api import sysroot_pb2 as chromite_dot_api_dot_sysroot__pb2
from chromite.api.gen.chromiumos import common_pb2 as chromiumos_dot_common__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromite/api/packages.proto',
  package='chromite.api',
  syntax='proto3',
  serialized_options=_b('Z6go.chromium.org/chromiumos/infra/proto/go/chromite/api'),
  serialized_pb=_b('\n\x1b\x63hromite/api/packages.proto\x12\x0c\x63hromite.api\x1a\x1a\x63hromite/api/binhost.proto\x1a\x1c\x63hromite/api/build_api.proto\x1a\x1a\x63hromite/api/sysroot.proto\x1a\x17\x63hromiumos/common.proto\"\x93\x01\n\x13\x42uildsChromeRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12)\n\x08packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\"-\n\x14\x42uildsChromeResponse\x12\x15\n\rbuilds_chrome\x18\x01 \x01(\x08\"x\n\x15GetBestVisibleRequest\x12\x0c\n\x04\x61tom\x18\x01 \x01(\t\x12\"\n\x06\x63hroot\x18\x02 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x03 \x01(\x0b\x32\x17.chromiumos.BuildTarget\"G\n\x16GetBestVisibleResponse\x12-\n\x0cpackage_info\x18\x01 \x01(\x0b\x32\x17.chromiumos.PackageInfo\"l\n\x17GetChromeVersionRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\"+\n\x18GetChromeVersionResponse\x12\x0f\n\x07version\x18\x01 \x01(\t\"\x98\x01\n\x18GetTargetVersionsRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12)\n\x08packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\"\xd7\x01\n\x19GetTargetVersionsResponse\x12\x17\n\x0f\x61ndroid_version\x18\x01 \x01(\t\x12\x1e\n\x16\x61ndroid_branch_version\x18\x02 \x01(\t\x12\x1e\n\x16\x61ndroid_target_version\x18\x03 \x01(\t\x12\x16\n\x0e\x63hrome_version\x18\x04 \x01(\t\x12\x14\n\x0c\x66ull_version\x18\x05 \x01(\t\x12\x19\n\x11milestone_version\x18\x06 \x01(\t\x12\x18\n\x10platform_version\x18\x07 \x01(\t\"n\n\x19GetBuilderMetadataRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\"\x8a\x05\n\x1aGetBuilderMetadataResponse\x12[\n\x15\x62uild_target_metadata\x18\x01 \x03(\x0b\x32<.chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata\x12N\n\x0emodel_metadata\x18\x02 \x03(\x0b\x32\x36.chromite.api.GetBuilderMetadataResponse.ModelMetadata\x1a\xaa\x01\n\rModelMetadata\x12\x12\n\nmodel_name\x18\x01 \x01(\t\x12\x1b\n\x13\x65\x63_firmware_version\x18\x02 \x01(\t\x12\x17\n\x0f\x66irmware_key_id\x18\x03 \x01(\t\x12&\n\x1emain_readonly_firmware_version\x18\x04 \x01(\t\x12\'\n\x1fmain_readwrite_firmware_version\x18\x05 \x01(\t\x1a\x91\x02\n\x13\x42uildTargetMetadata\x12\x14\n\x0c\x62uild_target\x18\x01 \x01(\t\x12 \n\x18\x61ndroid_container_branch\x18\x02 \x01(\t\x12 \n\x18\x61ndroid_container_target\x18\x03 \x01(\t\x12!\n\x19\x61ndroid_container_version\x18\x04 \x01(\t\x12\x13\n\x0b\x61rc_use_set\x18\x05 \x01(\x08\x12\x1b\n\x13\x65\x63_firmware_version\x18\x06 \x01(\t\x12\x14\n\x0c\x66ingerprints\x18\x07 \x03(\t\x12\x16\n\x0ekernel_version\x18\x08 \x01(\t\x12\x1d\n\x15main_firmware_version\x18\t \x01(\t\"}\n\x18HasChromePrebuiltRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x0e\n\x06\x63hrome\x18\x03 \x01(\x08\"1\n\x19HasChromePrebuiltResponse\x12\x14\n\x0chas_prebuilt\x18\x01 \x01(\x08\"Y\n\x18NeedsChromeSourceRequest\x12=\n\x0finstall_request\x18\x01 \x01(\x0b\x32$.chromite.api.InstallPackagesRequest\"\xa9\x02\n\x19NeedsChromeSourceResponse\x12\x1b\n\x13needs_chrome_source\x18\x01 \x01(\x08\x12?\n\x07reasons\x18\x02 \x03(\x0e\x32..chromite.api.NeedsChromeSourceResponse.Reason\x12)\n\x08packages\x18\x03 \x03(\x0b\x32\x17.chromiumos.PackageInfo\x12\x15\n\rbuilds_chrome\x18\x04 \x01(\x08\"l\n\x06Reason\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0f\n\x0bNO_PREBUILT\x10\x01\x12\x12\n\x0e\x43OMPILE_SOURCE\x10\x02\x12\x0f\n\x0bLOCAL_UPREV\x10\x03\x12\x1b\n\x17\x46OLLOWER_LACKS_PREBUILT\x10\x04\"\xa6\x01\n\x12HasPrebuiltRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0c\x62uild_target\x18\x02 \x01(\x0b\x32\x17.chromiumos.BuildTarget\x12\x0e\n\x06\x63hrome\x18\x03 \x01(\x08\x12-\n\x0cpackage_info\x18\x04 \x01(\x0b\x32\x17.chromiumos.PackageInfo\"+\n\x13HasPrebuiltResponse\x12\x14\n\x0chas_prebuilt\x18\x01 \x01(\x08\"\xaf\x01\n\x14UprevPackagesRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12.\n\rbuild_targets\x18\x02 \x03(\x0b\x32\x17.chromiumos.BuildTarget\x12/\n\x0coverlay_type\x18\x03 \x01(\x0e\x32\x19.chromite.api.OverlayType\x12\x12\n\noutput_dir\x18\x04 \x01(\t\"\xa3\x02\n\x1cUprevVersionedPackageRequest\x12\"\n\x06\x63hroot\x18\x01 \x01(\x0b\x32\x12.chromiumos.Chroot\x12-\n\x0cpackage_info\x18\x02 \x01(\x0b\x32\x17.chromiumos.PackageInfo\x12\x43\n\x08versions\x18\x03 \x03(\x0b\x32\x31.chromite.api.UprevVersionedPackageRequest.GitRef\x12.\n\rbuild_targets\x18\x04 \x03(\x0b\x32\x17.chromiumos.BuildTarget\x1a;\n\x06GitRef\x12\x12\n\nrepository\x18\x01 \x01(\t\x12\x0b\n\x03ref\x18\x02 \x01(\t\x12\x10\n\x08revision\x18\x03 \x01(\t\"\x86\x01\n\x15UprevPackagesResponse\x12\x44\n\x10modified_ebuilds\x18\x01 \x03(\x0b\x32*.chromite.api.UprevPackagesResponse.Ebuild\x12\x0f\n\x07version\x18\x02 \x01(\t\x1a\x16\n\x06\x45\x62uild\x12\x0c\n\x04path\x18\x01 \x01(\t\"W\n\x1dUprevVersionedPackageResponse\x12\x36\n\tresponses\x18\x01 \x03(\x0b\x32#.chromite.api.UprevPackagesResponse2\x96\x07\n\x0ePackageService\x12U\n\x0c\x42uildsChrome\x12!.chromite.api.BuildsChromeRequest\x1a\".chromite.api.BuildsChromeResponse\x12[\n\x0eGetBestVisible\x12#.chromite.api.GetBestVisibleRequest\x1a$.chromite.api.GetBestVisibleResponse\x12\x61\n\x10GetChromeVersion\x12%.chromite.api.GetChromeVersionRequest\x1a&.chromite.api.GetChromeVersionResponse\x12\x64\n\x11GetTargetVersions\x12&.chromite.api.GetTargetVersionsRequest\x1a\'.chromite.api.GetTargetVersionsResponse\x12g\n\x12GetBuilderMetadata\x12\'.chromite.api.GetBuilderMetadataRequest\x1a(.chromite.api.GetBuilderMetadataResponse\x12\x64\n\x11HasChromePrebuilt\x12&.chromite.api.HasChromePrebuiltRequest\x1a\'.chromite.api.HasChromePrebuiltResponse\x12R\n\x0bHasPrebuilt\x12 .chromite.api.HasPrebuiltRequest\x1a!.chromite.api.HasPrebuiltResponse\x12X\n\x05Uprev\x12\".chromite.api.UprevPackagesRequest\x1a#.chromite.api.UprevPackagesResponse\"\x06\xc2\xed\x1a\x02\x10\x02\x12x\n\x15UprevVersionedPackage\x12*.chromite.api.UprevVersionedPackageRequest\x1a+.chromite.api.UprevVersionedPackageResponse\"\x06\xc2\xed\x1a\x02\x10\x02\x1a\x10\xc2\xed\x1a\x0c\n\x08packages\x10\x01\x42\x38Z6go.chromium.org/chromiumos/infra/proto/go/chromite/apib\x06proto3')
  ,
  dependencies=[chromite_dot_api_dot_binhost__pb2.DESCRIPTOR,chromite_dot_api_dot_build__api__pb2.DESCRIPTOR,chromite_dot_api_dot_sysroot__pb2.DESCRIPTOR,chromiumos_dot_common__pb2.DESCRIPTOR,])



_NEEDSCHROMESOURCERESPONSE_REASON = _descriptor.EnumDescriptor(
  name='Reason',
  full_name='chromite.api.NeedsChromeSourceResponse.Reason',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NO_PREBUILT', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='COMPILE_SOURCE', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOCAL_UPREV', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FOLLOWER_LACKS_PREBUILT', index=4, number=4,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2300,
  serialized_end=2408,
)
_sym_db.RegisterEnumDescriptor(_NEEDSCHROMESOURCERESPONSE_REASON)


_BUILDSCHROMEREQUEST = _descriptor.Descriptor(
  name='BuildsChromeRequest',
  full_name='chromite.api.BuildsChromeRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.BuildsChromeRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.BuildsChromeRequest.build_target', 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),
    _descriptor.FieldDescriptor(
      name='packages', full_name='chromite.api.BuildsChromeRequest.packages', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=157,
  serialized_end=304,
)


_BUILDSCHROMERESPONSE = _descriptor.Descriptor(
  name='BuildsChromeResponse',
  full_name='chromite.api.BuildsChromeResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='builds_chrome', full_name='chromite.api.BuildsChromeResponse.builds_chrome', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=306,
  serialized_end=351,
)


_GETBESTVISIBLEREQUEST = _descriptor.Descriptor(
  name='GetBestVisibleRequest',
  full_name='chromite.api.GetBestVisibleRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='atom', full_name='chromite.api.GetBestVisibleRequest.atom', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.GetBestVisibleRequest.chroot', 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),
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.GetBestVisibleRequest.build_target', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=353,
  serialized_end=473,
)


_GETBESTVISIBLERESPONSE = _descriptor.Descriptor(
  name='GetBestVisibleResponse',
  full_name='chromite.api.GetBestVisibleResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='package_info', full_name='chromite.api.GetBestVisibleResponse.package_info', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=475,
  serialized_end=546,
)


_GETCHROMEVERSIONREQUEST = _descriptor.Descriptor(
  name='GetChromeVersionRequest',
  full_name='chromite.api.GetChromeVersionRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.GetChromeVersionRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.GetChromeVersionRequest.build_target', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=548,
  serialized_end=656,
)


_GETCHROMEVERSIONRESPONSE = _descriptor.Descriptor(
  name='GetChromeVersionResponse',
  full_name='chromite.api.GetChromeVersionResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='version', full_name='chromite.api.GetChromeVersionResponse.version', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=658,
  serialized_end=701,
)


_GETTARGETVERSIONSREQUEST = _descriptor.Descriptor(
  name='GetTargetVersionsRequest',
  full_name='chromite.api.GetTargetVersionsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.GetTargetVersionsRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.GetTargetVersionsRequest.build_target', 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),
    _descriptor.FieldDescriptor(
      name='packages', full_name='chromite.api.GetTargetVersionsRequest.packages', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=704,
  serialized_end=856,
)


_GETTARGETVERSIONSRESPONSE = _descriptor.Descriptor(
  name='GetTargetVersionsResponse',
  full_name='chromite.api.GetTargetVersionsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='android_version', full_name='chromite.api.GetTargetVersionsResponse.android_version', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='android_branch_version', full_name='chromite.api.GetTargetVersionsResponse.android_branch_version', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='android_target_version', full_name='chromite.api.GetTargetVersionsResponse.android_target_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),
    _descriptor.FieldDescriptor(
      name='chrome_version', full_name='chromite.api.GetTargetVersionsResponse.chrome_version', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='full_version', full_name='chromite.api.GetTargetVersionsResponse.full_version', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='milestone_version', full_name='chromite.api.GetTargetVersionsResponse.milestone_version', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='platform_version', full_name='chromite.api.GetTargetVersionsResponse.platform_version', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=859,
  serialized_end=1074,
)


_GETBUILDERMETADATAREQUEST = _descriptor.Descriptor(
  name='GetBuilderMetadataRequest',
  full_name='chromite.api.GetBuilderMetadataRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.GetBuilderMetadataRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.GetBuilderMetadataRequest.build_target', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1076,
  serialized_end=1186,
)


_GETBUILDERMETADATARESPONSE_MODELMETADATA = _descriptor.Descriptor(
  name='ModelMetadata',
  full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='model_name', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.model_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ec_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.ec_firmware_version', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='firmware_key_id', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.firmware_key_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='main_readonly_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.main_readonly_firmware_version', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='main_readwrite_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.ModelMetadata.main_readwrite_firmware_version', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1393,
  serialized_end=1563,
)

_GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA = _descriptor.Descriptor(
  name='BuildTargetMetadata',
  full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.build_target', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='android_container_branch', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.android_container_branch', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='android_container_target', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.android_container_target', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='android_container_version', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.android_container_version', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='arc_use_set', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.arc_use_set', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ec_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.ec_firmware_version', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fingerprints', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.fingerprints', index=6,
      number=7, 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),
    _descriptor.FieldDescriptor(
      name='kernel_version', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.kernel_version', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='main_firmware_version', full_name='chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata.main_firmware_version', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1566,
  serialized_end=1839,
)

_GETBUILDERMETADATARESPONSE = _descriptor.Descriptor(
  name='GetBuilderMetadataResponse',
  full_name='chromite.api.GetBuilderMetadataResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='build_target_metadata', full_name='chromite.api.GetBuilderMetadataResponse.build_target_metadata', index=0,
      number=1, 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),
    _descriptor.FieldDescriptor(
      name='model_metadata', full_name='chromite.api.GetBuilderMetadataResponse.model_metadata', index=1,
      number=2, 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),
  ],
  extensions=[
  ],
  nested_types=[_GETBUILDERMETADATARESPONSE_MODELMETADATA, _GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1189,
  serialized_end=1839,
)


_HASCHROMEPREBUILTREQUEST = _descriptor.Descriptor(
  name='HasChromePrebuiltRequest',
  full_name='chromite.api.HasChromePrebuiltRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.HasChromePrebuiltRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.HasChromePrebuiltRequest.build_target', 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),
    _descriptor.FieldDescriptor(
      name='chrome', full_name='chromite.api.HasChromePrebuiltRequest.chrome', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1841,
  serialized_end=1966,
)


_HASCHROMEPREBUILTRESPONSE = _descriptor.Descriptor(
  name='HasChromePrebuiltResponse',
  full_name='chromite.api.HasChromePrebuiltResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='has_prebuilt', full_name='chromite.api.HasChromePrebuiltResponse.has_prebuilt', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1968,
  serialized_end=2017,
)


_NEEDSCHROMESOURCEREQUEST = _descriptor.Descriptor(
  name='NeedsChromeSourceRequest',
  full_name='chromite.api.NeedsChromeSourceRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='install_request', full_name='chromite.api.NeedsChromeSourceRequest.install_request', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2019,
  serialized_end=2108,
)


_NEEDSCHROMESOURCERESPONSE = _descriptor.Descriptor(
  name='NeedsChromeSourceResponse',
  full_name='chromite.api.NeedsChromeSourceResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='needs_chrome_source', full_name='chromite.api.NeedsChromeSourceResponse.needs_chrome_source', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='reasons', full_name='chromite.api.NeedsChromeSourceResponse.reasons', 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),
    _descriptor.FieldDescriptor(
      name='packages', full_name='chromite.api.NeedsChromeSourceResponse.packages', 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),
    _descriptor.FieldDescriptor(
      name='builds_chrome', full_name='chromite.api.NeedsChromeSourceResponse.builds_chrome', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NEEDSCHROMESOURCERESPONSE_REASON,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2111,
  serialized_end=2408,
)


_HASPREBUILTREQUEST = _descriptor.Descriptor(
  name='HasPrebuiltRequest',
  full_name='chromite.api.HasPrebuiltRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.HasPrebuiltRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='build_target', full_name='chromite.api.HasPrebuiltRequest.build_target', 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),
    _descriptor.FieldDescriptor(
      name='chrome', full_name='chromite.api.HasPrebuiltRequest.chrome', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='package_info', full_name='chromite.api.HasPrebuiltRequest.package_info', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2411,
  serialized_end=2577,
)


_HASPREBUILTRESPONSE = _descriptor.Descriptor(
  name='HasPrebuiltResponse',
  full_name='chromite.api.HasPrebuiltResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='has_prebuilt', full_name='chromite.api.HasPrebuiltResponse.has_prebuilt', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2579,
  serialized_end=2622,
)


_UPREVPACKAGESREQUEST = _descriptor.Descriptor(
  name='UprevPackagesRequest',
  full_name='chromite.api.UprevPackagesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.UprevPackagesRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='build_targets', full_name='chromite.api.UprevPackagesRequest.build_targets', index=1,
      number=2, 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),
    _descriptor.FieldDescriptor(
      name='overlay_type', full_name='chromite.api.UprevPackagesRequest.overlay_type', 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),
    _descriptor.FieldDescriptor(
      name='output_dir', full_name='chromite.api.UprevPackagesRequest.output_dir', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2625,
  serialized_end=2800,
)


_UPREVVERSIONEDPACKAGEREQUEST_GITREF = _descriptor.Descriptor(
  name='GitRef',
  full_name='chromite.api.UprevVersionedPackageRequest.GitRef',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='repository', full_name='chromite.api.UprevVersionedPackageRequest.GitRef.repository', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ref', full_name='chromite.api.UprevVersionedPackageRequest.GitRef.ref', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='revision', full_name='chromite.api.UprevVersionedPackageRequest.GitRef.revision', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3035,
  serialized_end=3094,
)

_UPREVVERSIONEDPACKAGEREQUEST = _descriptor.Descriptor(
  name='UprevVersionedPackageRequest',
  full_name='chromite.api.UprevVersionedPackageRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='chroot', full_name='chromite.api.UprevVersionedPackageRequest.chroot', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='package_info', full_name='chromite.api.UprevVersionedPackageRequest.package_info', 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),
    _descriptor.FieldDescriptor(
      name='versions', full_name='chromite.api.UprevVersionedPackageRequest.versions', 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),
    _descriptor.FieldDescriptor(
      name='build_targets', full_name='chromite.api.UprevVersionedPackageRequest.build_targets', index=3,
      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),
  ],
  extensions=[
  ],
  nested_types=[_UPREVVERSIONEDPACKAGEREQUEST_GITREF, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2803,
  serialized_end=3094,
)


_UPREVPACKAGESRESPONSE_EBUILD = _descriptor.Descriptor(
  name='Ebuild',
  full_name='chromite.api.UprevPackagesResponse.Ebuild',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='path', full_name='chromite.api.UprevPackagesResponse.Ebuild.path', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3209,
  serialized_end=3231,
)

_UPREVPACKAGESRESPONSE = _descriptor.Descriptor(
  name='UprevPackagesResponse',
  full_name='chromite.api.UprevPackagesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='modified_ebuilds', full_name='chromite.api.UprevPackagesResponse.modified_ebuilds', index=0,
      number=1, 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),
    _descriptor.FieldDescriptor(
      name='version', full_name='chromite.api.UprevPackagesResponse.version', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_UPREVPACKAGESRESPONSE_EBUILD, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3097,
  serialized_end=3231,
)


_UPREVVERSIONEDPACKAGERESPONSE = _descriptor.Descriptor(
  name='UprevVersionedPackageResponse',
  full_name='chromite.api.UprevVersionedPackageResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='responses', full_name='chromite.api.UprevVersionedPackageResponse.responses', index=0,
      number=1, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3233,
  serialized_end=3320,
)

_BUILDSCHROMEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_BUILDSCHROMEREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_BUILDSCHROMEREQUEST.fields_by_name['packages'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_GETBESTVISIBLEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETBESTVISIBLEREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_GETBESTVISIBLERESPONSE.fields_by_name['package_info'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_GETCHROMEVERSIONREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETCHROMEVERSIONREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_GETTARGETVERSIONSREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETTARGETVERSIONSREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_GETTARGETVERSIONSREQUEST.fields_by_name['packages'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_GETBUILDERMETADATAREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_GETBUILDERMETADATAREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_GETBUILDERMETADATARESPONSE_MODELMETADATA.containing_type = _GETBUILDERMETADATARESPONSE
_GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA.containing_type = _GETBUILDERMETADATARESPONSE
_GETBUILDERMETADATARESPONSE.fields_by_name['build_target_metadata'].message_type = _GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA
_GETBUILDERMETADATARESPONSE.fields_by_name['model_metadata'].message_type = _GETBUILDERMETADATARESPONSE_MODELMETADATA
_HASCHROMEPREBUILTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_HASCHROMEPREBUILTREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_NEEDSCHROMESOURCEREQUEST.fields_by_name['install_request'].message_type = chromite_dot_api_dot_sysroot__pb2._INSTALLPACKAGESREQUEST
_NEEDSCHROMESOURCERESPONSE.fields_by_name['reasons'].enum_type = _NEEDSCHROMESOURCERESPONSE_REASON
_NEEDSCHROMESOURCERESPONSE.fields_by_name['packages'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_NEEDSCHROMESOURCERESPONSE_REASON.containing_type = _NEEDSCHROMESOURCERESPONSE
_HASPREBUILTREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_HASPREBUILTREQUEST.fields_by_name['build_target'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_HASPREBUILTREQUEST.fields_by_name['package_info'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_UPREVPACKAGESREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_UPREVPACKAGESREQUEST.fields_by_name['build_targets'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_UPREVPACKAGESREQUEST.fields_by_name['overlay_type'].enum_type = chromite_dot_api_dot_binhost__pb2._OVERLAYTYPE
_UPREVVERSIONEDPACKAGEREQUEST_GITREF.containing_type = _UPREVVERSIONEDPACKAGEREQUEST
_UPREVVERSIONEDPACKAGEREQUEST.fields_by_name['chroot'].message_type = chromiumos_dot_common__pb2._CHROOT
_UPREVVERSIONEDPACKAGEREQUEST.fields_by_name['package_info'].message_type = chromiumos_dot_common__pb2._PACKAGEINFO
_UPREVVERSIONEDPACKAGEREQUEST.fields_by_name['versions'].message_type = _UPREVVERSIONEDPACKAGEREQUEST_GITREF
_UPREVVERSIONEDPACKAGEREQUEST.fields_by_name['build_targets'].message_type = chromiumos_dot_common__pb2._BUILDTARGET
_UPREVPACKAGESRESPONSE_EBUILD.containing_type = _UPREVPACKAGESRESPONSE
_UPREVPACKAGESRESPONSE.fields_by_name['modified_ebuilds'].message_type = _UPREVPACKAGESRESPONSE_EBUILD
_UPREVVERSIONEDPACKAGERESPONSE.fields_by_name['responses'].message_type = _UPREVPACKAGESRESPONSE
DESCRIPTOR.message_types_by_name['BuildsChromeRequest'] = _BUILDSCHROMEREQUEST
DESCRIPTOR.message_types_by_name['BuildsChromeResponse'] = _BUILDSCHROMERESPONSE
DESCRIPTOR.message_types_by_name['GetBestVisibleRequest'] = _GETBESTVISIBLEREQUEST
DESCRIPTOR.message_types_by_name['GetBestVisibleResponse'] = _GETBESTVISIBLERESPONSE
DESCRIPTOR.message_types_by_name['GetChromeVersionRequest'] = _GETCHROMEVERSIONREQUEST
DESCRIPTOR.message_types_by_name['GetChromeVersionResponse'] = _GETCHROMEVERSIONRESPONSE
DESCRIPTOR.message_types_by_name['GetTargetVersionsRequest'] = _GETTARGETVERSIONSREQUEST
DESCRIPTOR.message_types_by_name['GetTargetVersionsResponse'] = _GETTARGETVERSIONSRESPONSE
DESCRIPTOR.message_types_by_name['GetBuilderMetadataRequest'] = _GETBUILDERMETADATAREQUEST
DESCRIPTOR.message_types_by_name['GetBuilderMetadataResponse'] = _GETBUILDERMETADATARESPONSE
DESCRIPTOR.message_types_by_name['HasChromePrebuiltRequest'] = _HASCHROMEPREBUILTREQUEST
DESCRIPTOR.message_types_by_name['HasChromePrebuiltResponse'] = _HASCHROMEPREBUILTRESPONSE
DESCRIPTOR.message_types_by_name['NeedsChromeSourceRequest'] = _NEEDSCHROMESOURCEREQUEST
DESCRIPTOR.message_types_by_name['NeedsChromeSourceResponse'] = _NEEDSCHROMESOURCERESPONSE
DESCRIPTOR.message_types_by_name['HasPrebuiltRequest'] = _HASPREBUILTREQUEST
DESCRIPTOR.message_types_by_name['HasPrebuiltResponse'] = _HASPREBUILTRESPONSE
DESCRIPTOR.message_types_by_name['UprevPackagesRequest'] = _UPREVPACKAGESREQUEST
DESCRIPTOR.message_types_by_name['UprevVersionedPackageRequest'] = _UPREVVERSIONEDPACKAGEREQUEST
DESCRIPTOR.message_types_by_name['UprevPackagesResponse'] = _UPREVPACKAGESRESPONSE
DESCRIPTOR.message_types_by_name['UprevVersionedPackageResponse'] = _UPREVVERSIONEDPACKAGERESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

BuildsChromeRequest = _reflection.GeneratedProtocolMessageType('BuildsChromeRequest', (_message.Message,), dict(
  DESCRIPTOR = _BUILDSCHROMEREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildsChromeRequest)
  ))
_sym_db.RegisterMessage(BuildsChromeRequest)

BuildsChromeResponse = _reflection.GeneratedProtocolMessageType('BuildsChromeResponse', (_message.Message,), dict(
  DESCRIPTOR = _BUILDSCHROMERESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.BuildsChromeResponse)
  ))
_sym_db.RegisterMessage(BuildsChromeResponse)

GetBestVisibleRequest = _reflection.GeneratedProtocolMessageType('GetBestVisibleRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETBESTVISIBLEREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetBestVisibleRequest)
  ))
_sym_db.RegisterMessage(GetBestVisibleRequest)

GetBestVisibleResponse = _reflection.GeneratedProtocolMessageType('GetBestVisibleResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETBESTVISIBLERESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetBestVisibleResponse)
  ))
_sym_db.RegisterMessage(GetBestVisibleResponse)

GetChromeVersionRequest = _reflection.GeneratedProtocolMessageType('GetChromeVersionRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETCHROMEVERSIONREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetChromeVersionRequest)
  ))
_sym_db.RegisterMessage(GetChromeVersionRequest)

GetChromeVersionResponse = _reflection.GeneratedProtocolMessageType('GetChromeVersionResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETCHROMEVERSIONRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetChromeVersionResponse)
  ))
_sym_db.RegisterMessage(GetChromeVersionResponse)

GetTargetVersionsRequest = _reflection.GeneratedProtocolMessageType('GetTargetVersionsRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETTARGETVERSIONSREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetTargetVersionsRequest)
  ))
_sym_db.RegisterMessage(GetTargetVersionsRequest)

GetTargetVersionsResponse = _reflection.GeneratedProtocolMessageType('GetTargetVersionsResponse', (_message.Message,), dict(
  DESCRIPTOR = _GETTARGETVERSIONSRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetTargetVersionsResponse)
  ))
_sym_db.RegisterMessage(GetTargetVersionsResponse)

GetBuilderMetadataRequest = _reflection.GeneratedProtocolMessageType('GetBuilderMetadataRequest', (_message.Message,), dict(
  DESCRIPTOR = _GETBUILDERMETADATAREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetBuilderMetadataRequest)
  ))
_sym_db.RegisterMessage(GetBuilderMetadataRequest)

GetBuilderMetadataResponse = _reflection.GeneratedProtocolMessageType('GetBuilderMetadataResponse', (_message.Message,), dict(

  ModelMetadata = _reflection.GeneratedProtocolMessageType('ModelMetadata', (_message.Message,), dict(
    DESCRIPTOR = _GETBUILDERMETADATARESPONSE_MODELMETADATA,
    __module__ = 'chromite.api.packages_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.GetBuilderMetadataResponse.ModelMetadata)
    ))
  ,

  BuildTargetMetadata = _reflection.GeneratedProtocolMessageType('BuildTargetMetadata', (_message.Message,), dict(
    DESCRIPTOR = _GETBUILDERMETADATARESPONSE_BUILDTARGETMETADATA,
    __module__ = 'chromite.api.packages_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.GetBuilderMetadataResponse.BuildTargetMetadata)
    ))
  ,
  DESCRIPTOR = _GETBUILDERMETADATARESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.GetBuilderMetadataResponse)
  ))
_sym_db.RegisterMessage(GetBuilderMetadataResponse)
_sym_db.RegisterMessage(GetBuilderMetadataResponse.ModelMetadata)
_sym_db.RegisterMessage(GetBuilderMetadataResponse.BuildTargetMetadata)

HasChromePrebuiltRequest = _reflection.GeneratedProtocolMessageType('HasChromePrebuiltRequest', (_message.Message,), dict(
  DESCRIPTOR = _HASCHROMEPREBUILTREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.HasChromePrebuiltRequest)
  ))
_sym_db.RegisterMessage(HasChromePrebuiltRequest)

HasChromePrebuiltResponse = _reflection.GeneratedProtocolMessageType('HasChromePrebuiltResponse', (_message.Message,), dict(
  DESCRIPTOR = _HASCHROMEPREBUILTRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.HasChromePrebuiltResponse)
  ))
_sym_db.RegisterMessage(HasChromePrebuiltResponse)

NeedsChromeSourceRequest = _reflection.GeneratedProtocolMessageType('NeedsChromeSourceRequest', (_message.Message,), dict(
  DESCRIPTOR = _NEEDSCHROMESOURCEREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.NeedsChromeSourceRequest)
  ))
_sym_db.RegisterMessage(NeedsChromeSourceRequest)

NeedsChromeSourceResponse = _reflection.GeneratedProtocolMessageType('NeedsChromeSourceResponse', (_message.Message,), dict(
  DESCRIPTOR = _NEEDSCHROMESOURCERESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.NeedsChromeSourceResponse)
  ))
_sym_db.RegisterMessage(NeedsChromeSourceResponse)

HasPrebuiltRequest = _reflection.GeneratedProtocolMessageType('HasPrebuiltRequest', (_message.Message,), dict(
  DESCRIPTOR = _HASPREBUILTREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.HasPrebuiltRequest)
  ))
_sym_db.RegisterMessage(HasPrebuiltRequest)

HasPrebuiltResponse = _reflection.GeneratedProtocolMessageType('HasPrebuiltResponse', (_message.Message,), dict(
  DESCRIPTOR = _HASPREBUILTRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.HasPrebuiltResponse)
  ))
_sym_db.RegisterMessage(HasPrebuiltResponse)

UprevPackagesRequest = _reflection.GeneratedProtocolMessageType('UprevPackagesRequest', (_message.Message,), dict(
  DESCRIPTOR = _UPREVPACKAGESREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.UprevPackagesRequest)
  ))
_sym_db.RegisterMessage(UprevPackagesRequest)

UprevVersionedPackageRequest = _reflection.GeneratedProtocolMessageType('UprevVersionedPackageRequest', (_message.Message,), dict(

  GitRef = _reflection.GeneratedProtocolMessageType('GitRef', (_message.Message,), dict(
    DESCRIPTOR = _UPREVVERSIONEDPACKAGEREQUEST_GITREF,
    __module__ = 'chromite.api.packages_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.UprevVersionedPackageRequest.GitRef)
    ))
  ,
  DESCRIPTOR = _UPREVVERSIONEDPACKAGEREQUEST,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.UprevVersionedPackageRequest)
  ))
_sym_db.RegisterMessage(UprevVersionedPackageRequest)
_sym_db.RegisterMessage(UprevVersionedPackageRequest.GitRef)

UprevPackagesResponse = _reflection.GeneratedProtocolMessageType('UprevPackagesResponse', (_message.Message,), dict(

  Ebuild = _reflection.GeneratedProtocolMessageType('Ebuild', (_message.Message,), dict(
    DESCRIPTOR = _UPREVPACKAGESRESPONSE_EBUILD,
    __module__ = 'chromite.api.packages_pb2'
    # @@protoc_insertion_point(class_scope:chromite.api.UprevPackagesResponse.Ebuild)
    ))
  ,
  DESCRIPTOR = _UPREVPACKAGESRESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.UprevPackagesResponse)
  ))
_sym_db.RegisterMessage(UprevPackagesResponse)
_sym_db.RegisterMessage(UprevPackagesResponse.Ebuild)

UprevVersionedPackageResponse = _reflection.GeneratedProtocolMessageType('UprevVersionedPackageResponse', (_message.Message,), dict(
  DESCRIPTOR = _UPREVVERSIONEDPACKAGERESPONSE,
  __module__ = 'chromite.api.packages_pb2'
  # @@protoc_insertion_point(class_scope:chromite.api.UprevVersionedPackageResponse)
  ))
_sym_db.RegisterMessage(UprevVersionedPackageResponse)


DESCRIPTOR._options = None

_PACKAGESERVICE = _descriptor.ServiceDescriptor(
  name='PackageService',
  full_name='chromite.api.PackageService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=_b('\302\355\032\014\n\010packages\020\001'),
  serialized_start=3323,
  serialized_end=4241,
  methods=[
  _descriptor.MethodDescriptor(
    name='BuildsChrome',
    full_name='chromite.api.PackageService.BuildsChrome',
    index=0,
    containing_service=None,
    input_type=_BUILDSCHROMEREQUEST,
    output_type=_BUILDSCHROMERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetBestVisible',
    full_name='chromite.api.PackageService.GetBestVisible',
    index=1,
    containing_service=None,
    input_type=_GETBESTVISIBLEREQUEST,
    output_type=_GETBESTVISIBLERESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetChromeVersion',
    full_name='chromite.api.PackageService.GetChromeVersion',
    index=2,
    containing_service=None,
    input_type=_GETCHROMEVERSIONREQUEST,
    output_type=_GETCHROMEVERSIONRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetTargetVersions',
    full_name='chromite.api.PackageService.GetTargetVersions',
    index=3,
    containing_service=None,
    input_type=_GETTARGETVERSIONSREQUEST,
    output_type=_GETTARGETVERSIONSRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetBuilderMetadata',
    full_name='chromite.api.PackageService.GetBuilderMetadata',
    index=4,
    containing_service=None,
    input_type=_GETBUILDERMETADATAREQUEST,
    output_type=_GETBUILDERMETADATARESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='HasChromePrebuilt',
    full_name='chromite.api.PackageService.HasChromePrebuilt',
    index=5,
    containing_service=None,
    input_type=_HASCHROMEPREBUILTREQUEST,
    output_type=_HASCHROMEPREBUILTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='HasPrebuilt',
    full_name='chromite.api.PackageService.HasPrebuilt',
    index=6,
    containing_service=None,
    input_type=_HASPREBUILTREQUEST,
    output_type=_HASPREBUILTRESPONSE,
    serialized_options=None,
  ),
  _descriptor.MethodDescriptor(
    name='Uprev',
    full_name='chromite.api.PackageService.Uprev',
    index=7,
    containing_service=None,
    input_type=_UPREVPACKAGESREQUEST,
    output_type=_UPREVPACKAGESRESPONSE,
    serialized_options=_b('\302\355\032\002\020\002'),
  ),
  _descriptor.MethodDescriptor(
    name='UprevVersionedPackage',
    full_name='chromite.api.PackageService.UprevVersionedPackage',
    index=8,
    containing_service=None,
    input_type=_UPREVVERSIONEDPACKAGEREQUEST,
    output_type=_UPREVVERSIONEDPACKAGERESPONSE,
    serialized_options=_b('\302\355\032\002\020\002'),
  ),
])
_sym_db.RegisterServiceDescriptor(_PACKAGESERVICE)

DESCRIPTOR.services_by_name['PackageService'] = _PACKAGESERVICE

# @@protoc_insertion_point(module_scope)
