# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/protobuf/unittest_custom_options.proto

from chromite.third_party.google.protobuf.internal import enum_type_wrapper
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
from chromite.third_party.google.protobuf import service as _service
from chromite.third_party.google.protobuf import service_reflection
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from chromite.third_party.google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/protobuf/unittest_custom_options.proto',
  package='protobuf_unittest',
  syntax='proto2',
  serialized_options=b'\200\001\001\210\001\001\220\001\001\360\350\301\035\352\255\300\345$\372\354\205;p\010d\022\016FileAnnotation\032\026\022\024NestedFileAnnotation\"\036\372\354\205;\031\022\027FileExtensionAnnotation*$\013\020\366\353\256\007\032\033\n\031EmbeddedMessageSetElement\014',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n-google/protobuf/unittest_custom_options.proto\x12\x11protobuf_unittest\x1a google/protobuf/descriptor.proto\"\xbf\x01\n\x1cTestMessageWithCustomOptions\x12\x1e\n\x06\x66ield1\x18\x01 \x01(\tB\x0e\x08\x01\xc1\xe0\xc3\x1d-\xe1u\n\x02\x00\x00\x00\x12\x15\n\x0boneof_field\x18\x02 \x01(\x05H\x00\";\n\x06\x41nEnum\x12\x0f\n\x0b\x41NENUM_VAL1\x10\x01\x12\x16\n\x0b\x41NENUM_VAL2\x10\x02\x1a\x05\xb0\x86\xfa\x05{\x1a\x08\xc5\xf6\xc9\x1d\xeb\xfc\xff\xff:\x10\x08\x00\xe0\xe9\xc2\x1d\xc8\xff\xff\xff\xff\xff\xff\xff\xff\x01\x42\x19\n\x07\x41nOneof\x12\x0e\xf8\xac\xc3\x1d\x9d\xff\xff\xff\xff\xff\xff\xff\xff\x01\"\x18\n\x16\x43ustomOptionFooRequest\"\x19\n\x17\x43ustomOptionFooResponse\"\x1e\n\x1c\x43ustomOptionFooClientMessage\"\x1e\n\x1c\x43ustomOptionFooServerMessage\"m\n\x1a\x44ummyMessageContainingEnum\"O\n\x0cTestEnumType\x12\x1a\n\x16TEST_OPTION_ENUM_TYPE1\x10\x16\x12#\n\x16TEST_OPTION_ENUM_TYPE2\x10\xe9\xff\xff\xff\xff\xff\xff\xff\xff\x01\"!\n\x1f\x44ummyMessageInvalidAsOptionType\"\x8a\x01\n\x1c\x43ustomOptionMinIntegerValues:j\xd0\xde\xb2\x1d\x00\xe8\xc6\xb2\x1d\x80\x80\x80\x80\xf8\xff\xff\xff\xff\x01\xb0\xbc\xb2\x1d\x80\x80\x80\x80\x80\x80\x80\x80\x80\x01\x80\x93\xb2\x1d\x00\xf8\xf5\xb0\x1d\x00\x80\xc4\xb0\x1d\xff\xff\xff\xff\x0f\xf8\x97\xb0\x1d\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x9d\xf5\xaf\x1d\x00\x00\x00\x00\x91\xee\xaf\x1d\x00\x00\x00\x00\x00\x00\x00\x00\xad\x8d\xaf\x1d\x00\x00\x00\x80\x99\xd6\xa8\x1d\x00\x00\x00\x00\x00\x00\x00\x80\"\x91\x01\n\x1c\x43ustomOptionMaxIntegerValues:q\xd0\xde\xb2\x1d\x01\xe8\xc6\xb2\x1d\xff\xff\xff\xff\x07\xb0\xbc\xb2\x1d\xff\xff\xff\xff\xff\xff\xff\xff\x7f\x80\x93\xb2\x1d\xff\xff\xff\xff\x0f\xf8\xf5\xb0\x1d\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x80\xc4\xb0\x1d\xfe\xff\xff\xff\x0f\xf8\x97\xb0\x1d\xfe\xff\xff\xff\xff\xff\xff\xff\xff\x01\x9d\xf5\xaf\x1d\xff\xff\xff\xff\x91\xee\xaf\x1d\xff\xff\xff\xff\xff\xff\xff\xff\xad\x8d\xaf\x1d\xff\xff\xff\x7f\x99\xd6\xa8\x1d\xff\xff\xff\xff\xff\xff\xff\x7f\"n\n\x17\x43ustomOptionOtherValues:S\xe8\xc6\xb2\x1d\x9c\xff\xff\xff\xff\xff\xff\xff\xff\x01\xf5\xdf\xa3\x1d\xe7\x87\x45\x41\xe9\xdc\xa2\x1d\xfbY\x8c\x42\xca\xc0\xf3?\xaa\xdc\xa2\x1d\x0eHello, \"World\"\xb2\xd9\xa2\x1d\x0bHello\x00World\x88\xd9\xa2\x1d\xe9\xff\xff\xff\xff\xff\xff\xff\xff\x01\"4\n\x1cSettingRealsFromPositiveInts:\x14\xf5\xdf\xa3\x1d\x00\x00@A\xe9\xdc\xa2\x1d\x00\x00\x00\x00\x00@c@\"4\n\x1cSettingRealsFromNegativeInts:\x14\xf5\xdf\xa3\x1d\x00\x00@\xc1\xe9\xdc\xa2\x1d\x00\x00\x00\x00\x00@c\xc0\"U\n\x12\x43omplexOptionType1\x12\x0b\n\x03\x66oo\x18\x01 \x01(\x05\x12\x0c\n\x04\x66oo2\x18\x02 \x01(\x05\x12\x0c\n\x04\x66oo3\x18\x03 \x01(\x05\x12\x0c\n\x04\x66oo4\x18\x04 \x03(\x05*\x08\x08\x64\x10\x80\x80\x80\x80\x02\"\x8b\x03\n\x12\x43omplexOptionType2\x12\x32\n\x03\x62\x61r\x18\x01 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType1\x12\x0b\n\x03\x62\x61z\x18\x02 \x01(\x05\x12\x46\n\x04\x66red\x18\x03 \x01(\x0b\x32\x38.protobuf_unittest.ComplexOptionType2.ComplexOptionType4\x12H\n\x06\x62\x61rney\x18\x04 \x03(\x0b\x32\x38.protobuf_unittest.ComplexOptionType2.ComplexOptionType4\x1a\x97\x01\n\x12\x43omplexOptionType4\x12\r\n\x05waldo\x18\x01 \x01(\x05\x32r\n\x0c\x63omplex_opt4\x12\x1f.google.protobuf.MessageOptions\x18\x8a\xf5\xd1\x03 \x01(\x0b\x32\x38.protobuf_unittest.ComplexOptionType2.ComplexOptionType4*\x08\x08\x64\x10\x80\x80\x80\x80\x02\"\x9c\x01\n\x12\x43omplexOptionType3\x12\x0b\n\x03qux\x18\x01 \x01(\x05\x12T\n\x12\x63omplexoptiontype5\x18\x02 \x01(\n28.protobuf_unittest.ComplexOptionType3.ComplexOptionType5\x1a#\n\x12\x43omplexOptionType5\x12\r\n\x05plugh\x18\x03 \x01(\x05\"\x1f\n\x0b\x43omplexOpt6\x12\x10\n\x05xyzzy\x18\xdf\xbf\xcf\x03 \x01(\x05\"\xf1\x01\n\x15VariousComplexOptions:\xd7\x01\xa2\xe2\x95\x1d\x02\x08*\xa2\xe2\x95\x1d\x06\xd8\x85\x9e\x1d\xc4\x02\xa2\xe2\x95\x1d\x08\x92\xf5\x9d\x1d\x03\x08\xec\x06\xa2\xe2\x95\x1d\x02 c\xa2\xe2\x95\x1d\x02 X\xaa\xfd\x90\x1d\x03\x10\xdb\x07\xaa\xfd\x90\x1d\x06\xf8\xe6\x97\x1d\x8e\x05\xaa\xfd\x90\x1d\x05\n\x03\x08\xe7\x05\xaa\xfd\x90\x1d\x08\n\x06\xd8\x85\x9e\x1d\xcf\x0f\xaa\xfd\x90\x1d\n\n\x08\x92\xf5\x9d\x1d\x03\x08\xd8\x0f\xaa\xfd\x90\x1d\x08\xc2\xac\x97\x1d\x03\x08\xe5\x05\xaa\xfd\x90\x1d\x0b\xc2\xac\x97\x1d\x06\xd8\x85\x9e\x1d\xce\x0f\xaa\xfd\x90\x1d\r\xc2\xac\x97\x1d\x08\x92\xf5\x9d\x1d\x03\x08\xc9\x10\xd2\xa8\x8f\x1d\x03\x08\xb3\x0f\xaa\xfd\x90\x1d\x05\x1a\x03\x08\xc1\x02\xaa\xfd\x90\x1d\x04\"\x02\x08\x65\xaa\xfd\x90\x1d\x05\"\x03\x08\xd4\x01\xfa\xde\x90\x1d\x02\x08\t\xfa\xde\x90\x1d\x04\x13\x18\x16\x14\xe3\xdc\xfc\x1c\xf8\xfd\xfb\x1c\x18\xe4\xdc\xfc\x1c\"#\n\x13\x41ggregateMessageSet*\x08\x08\x04\x10\xff\xff\xff\xff\x07:\x02\x08\x01\"\xa0\x01\n\x1a\x41ggregateMessageSetElement\x12\t\n\x01s\x18\x01 \x01(\t2w\n\x15message_set_extension\x12&.protobuf_unittest.AggregateMessageSet\x18\xf6\xeb\xae\x07 \x01(\x0b\x32-.protobuf_unittest.AggregateMessageSetElement\"\xfd\x01\n\tAggregate\x12\t\n\x01i\x18\x01 \x01(\x05\x12\t\n\x01s\x18\x02 \x01(\t\x12)\n\x03sub\x18\x03 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate\x12*\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1c.google.protobuf.FileOptions\x12\x34\n\x04mset\x18\x05 \x01(\x0b\x32&.protobuf_unittest.AggregateMessageSet2M\n\x06nested\x12\x1c.google.protobuf.FileOptions\x18\xa7\xd1\xb0\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate\"Y\n\x10\x41ggregateMessage\x12)\n\tfieldname\x18\x01 \x01(\x05\x42\x16\xf2\xa1\x87;\x11\x12\x0f\x46ieldAnnotation:\x1a\xc2\xd1\x86;\x15\x08\x65\x12\x11MessageAnnotation\"\xc9\x01\n\x10NestedOptionType\x1a;\n\rNestedMessage\x12\"\n\x0cnested_field\x18\x01 \x01(\x05\x42\x0c\xc1\xe0\xc3\x1d\xea\x03\x00\x00\x00\x00\x00\x00:\x06\xe0\xe9\xc2\x1d\xe9\x07\"5\n\nNestedEnum\x12\x1d\n\x11NESTED_ENUM_VALUE\x10\x01\x1a\x06\xb0\x86\xfa\x05\xec\x07\x1a\x08\xc5\xf6\xc9\x1d\xeb\x03\x00\x00\x32\x41\n\x10nested_extension\x12\x1c.google.protobuf.FileOptions\x18\xfd\xf8\xe2\x03 \x01(\x05\x42\x06\xc8\x8b\xca\x1d\xed\x07\"d\n\rOldOptionType\x12\x38\n\x05value\x18\x01 \x02(\x0e\x32).protobuf_unittest.OldOptionType.TestEnum\"\x19\n\x08TestEnum\x12\r\n\tOLD_VALUE\x10\x00\"s\n\rNewOptionType\x12\x38\n\x05value\x18\x01 \x02(\x0e\x32).protobuf_unittest.NewOptionType.TestEnum\"(\n\x08TestEnum\x12\r\n\tOLD_VALUE\x10\x00\x12\r\n\tNEW_VALUE\x10\x01\"-\n!TestMessageWithRequiredEnumOption:\x08\xfa\xe8\xfc\x94\x03\x02\x08\x00*6\n\nMethodOpt1\x12\x13\n\x0fMETHODOPT1_VAL1\x10\x01\x12\x13\n\x0fMETHODOPT1_VAL2\x10\x02*M\n\rAggregateEnum\x12%\n\x05VALUE\x10\x01\x1a\x1a\xca\xfc\x89;\x15\x12\x13\x45numValueAnnotation\x1a\x15\x92\x95\x88;\x10\x12\x0e\x45numAnnotation2\x8e\x01\n\x1cTestServiceWithCustomOptions\x12\x63\n\x03\x46oo\x12).protobuf_unittest.CustomOptionFooRequest\x1a*.protobuf_unittest.CustomOptionFooResponse\"\x05\xe0\xfa\x8c\x1e\x02\x1a\t\x90\xb2\x8b\x1e\xd3\xdb\x80\xcbI2\x99\x01\n\x10\x41ggregateService\x12k\n\x06Method\x12#.protobuf_unittest.AggregateMessage\x1a#.protobuf_unittest.AggregateMessage\"\x17\xca\xc8\x96;\x12\x12\x10MethodAnnotation\x1a\x18\xca\xfb\x8e;\x13\x12\x11ServiceAnnotation:2\n\tfile_opt1\x12\x1c.google.protobuf.FileOptions\x18\x8e\x9d\xd8\x03 \x01(\x04:8\n\x0cmessage_opt1\x12\x1f.google.protobuf.MessageOptions\x18\x9c\xad\xd8\x03 \x01(\x05:4\n\nfield_opt1\x12\x1d.google.protobuf.FieldOptions\x18\x88\xbc\xd8\x03 \x01(\x06:8\n\nfield_opt2\x12\x1d.google.protobuf.FieldOptions\x18\xb9\xa1\xd9\x03 \x01(\x05:\x02\x34\x32:4\n\noneof_opt1\x12\x1d.google.protobuf.OneofOptions\x18\xcf\xb5\xd8\x03 \x01(\x05:2\n\tenum_opt1\x12\x1c.google.protobuf.EnumOptions\x18\xe8\x9e\xd9\x03 \x01(\x0f:<\n\x0f\x65num_value_opt1\x12!.google.protobuf.EnumValueOptions\x18\xe6\xa0_ \x01(\x05:8\n\x0cservice_opt1\x12\x1f.google.protobuf.ServiceOptions\x18\xa2\xb6\xe1\x03 \x01(\x12:U\n\x0bmethod_opt1\x12\x1e.google.protobuf.MethodOptions\x18\xac\xcf\xe1\x03 \x01(\x0e\x32\x1d.protobuf_unittest.MethodOpt1:4\n\x08\x62ool_opt\x12\x1f.google.protobuf.MessageOptions\x18\xea\xab\xd6\x03 \x01(\x08:5\n\tint32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xed\xa8\xd6\x03 \x01(\x05:5\n\tint64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xc6\xa7\xd6\x03 \x01(\x03:6\n\nuint32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xb0\xa2\xd6\x03 \x01(\r:6\n\nuint64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xdf\x8e\xd6\x03 \x01(\x04:6\n\nsint32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xc0\x88\xd6\x03 \x01(\x11:6\n\nsint64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xff\x82\xd6\x03 \x01(\x12:7\n\x0b\x66ixed32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xd3\xfe\xd5\x03 \x01(\x07:7\n\x0b\x66ixed64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xe2\xfd\xd5\x03 \x01(\x06:8\n\x0csfixed32_opt\x12\x1f.google.protobuf.MessageOptions\x18\xd5\xf1\xd5\x03 \x01(\x0f:8\n\x0csfixed64_opt\x12\x1f.google.protobuf.MessageOptions\x18\xe3\x8a\xd5\x03 \x01(\x10:5\n\tfloat_opt\x12\x1f.google.protobuf.MessageOptions\x18\xfe\xbb\xd4\x03 \x01(\x02:6\n\ndouble_opt\x12\x1f.google.protobuf.MessageOptions\x18\xcd\xab\xd4\x03 \x01(\x01:6\n\nstring_opt\x12\x1f.google.protobuf.MessageOptions\x18\xc5\xab\xd4\x03 \x01(\t:5\n\tbytes_opt\x12\x1f.google.protobuf.MessageOptions\x18\x96\xab\xd4\x03 \x01(\x0c:p\n\x08\x65num_opt\x12\x1f.google.protobuf.MessageOptions\x18\x91\xab\xd4\x03 \x01(\x0e\x32:.protobuf_unittest.DummyMessageContainingEnum.TestEnumType:p\n\x10message_type_opt\x12\x1f.google.protobuf.MessageOptions\x18\xaf\xf2\xd3\x03 \x01(\x0b\x32\x32.protobuf_unittest.DummyMessageInvalidAsOptionType:6\n\x04quux\x12%.protobuf_unittest.ComplexOptionType1\x18\xdb\xe0\xd3\x03 \x01(\x05:^\n\x05\x63orge\x12%.protobuf_unittest.ComplexOptionType1\x18\xd2\xde\xd3\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType3:8\n\x06grault\x12%.protobuf_unittest.ComplexOptionType2\x18\xef\xfc\xd2\x03 \x01(\x05:_\n\x06garply\x12%.protobuf_unittest.ComplexOptionType2\x18\xc8\xf5\xd2\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType1:_\n\x0c\x63omplex_opt1\x12\x1f.google.protobuf.MessageOptions\x18\xa4\xdc\xd2\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType1:_\n\x0c\x63omplex_opt2\x12\x1f.google.protobuf.MessageOptions\x18\xd5\x8f\xd2\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType2:_\n\x0c\x63omplex_opt3\x12\x1f.google.protobuf.MessageOptions\x18\xef\x8b\xd2\x03 \x01(\x0b\x32%.protobuf_unittest.ComplexOptionType3:W\n\x0b\x63omplexopt6\x12\x1f.google.protobuf.MessageOptions\x18\xcc\xcb\xcf\x03 \x01(\n2\x1e.protobuf_unittest.ComplexOpt6:N\n\x07\x66ileopt\x12\x1c.google.protobuf.FileOptions\x18\xcf\xdd\xb0\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:P\n\x06msgopt\x12\x1f.google.protobuf.MessageOptions\x18\x98\xea\xb0\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:P\n\x08\x66ieldopt\x12\x1d.google.protobuf.FieldOptions\x18\x9e\xf4\xb0\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:N\n\x07\x65numopt\x12\x1c.google.protobuf.EnumOptions\x18\xd2\x82\xb1\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:V\n\nenumvalopt\x12!.google.protobuf.EnumValueOptions\x18\xc9\x9f\xb1\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:T\n\nserviceopt\x12\x1f.google.protobuf.ServiceOptions\x18\xb9\xef\xb1\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:R\n\tmethodopt\x12\x1e.google.protobuf.MethodOptions\x18\x89\xe9\xb2\x07 \x01(\x0b\x32\x1c.protobuf_unittest.Aggregate:_\n\x11required_enum_opt\x12\x1f.google.protobuf.MessageOptions\x18\x8f\xcd\xcf\x32 \x01(\x0b\x32 .protobuf_unittest.OldOptionTypeB\x87\x01\x80\x01\x01\x88\x01\x01\x90\x01\x01\xf0\xe8\xc1\x1d\xea\xad\xc0\xe5$\xfa\xec\x85;p\x08\x64\x12\x0e\x46ileAnnotation\x1a\x16\x12\x14NestedFileAnnotation\"\x1e\xfa\xec\x85;\x19\x12\x17\x46ileExtensionAnnotation*$\x0b\x10\xf6\xeb\xae\x07\x1a\x1b\n\x19\x45mbeddedMessageSetElement\x0c'
  ,
  dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,])

_METHODOPT1 = _descriptor.EnumDescriptor(
  name='MethodOpt1',
  full_name='protobuf_unittest.MethodOpt1',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='METHODOPT1_VAL1', index=0, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='METHODOPT1_VAL2', index=1, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3006,
  serialized_end=3060,
)
_sym_db.RegisterEnumDescriptor(_METHODOPT1)

MethodOpt1 = enum_type_wrapper.EnumTypeWrapper(_METHODOPT1)
_AGGREGATEENUM = _descriptor.EnumDescriptor(
  name='AggregateEnum',
  full_name='protobuf_unittest.AggregateEnum',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='VALUE', index=0, number=1,
      serialized_options=b'\312\374\211;\025\022\023EnumValueAnnotation',
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=b'\222\225\210;\020\022\016EnumAnnotation',
  serialized_start=3062,
  serialized_end=3139,
)
_sym_db.RegisterEnumDescriptor(_AGGREGATEENUM)

AggregateEnum = enum_type_wrapper.EnumTypeWrapper(_AGGREGATEENUM)
METHODOPT1_VAL1 = 1
METHODOPT1_VAL2 = 2
VALUE = 1

FILE_OPT1_FIELD_NUMBER = 7736974
file_opt1 = _descriptor.FieldDescriptor(
  name='file_opt1', full_name='protobuf_unittest.file_opt1', index=0,
  number=7736974, type=4, cpp_type=4, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
MESSAGE_OPT1_FIELD_NUMBER = 7739036
message_opt1 = _descriptor.FieldDescriptor(
  name='message_opt1', full_name='protobuf_unittest.message_opt1', index=1,
  number=7739036, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
FIELD_OPT1_FIELD_NUMBER = 7740936
field_opt1 = _descriptor.FieldDescriptor(
  name='field_opt1', full_name='protobuf_unittest.field_opt1', index=2,
  number=7740936, type=6, cpp_type=4, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
FIELD_OPT2_FIELD_NUMBER = 7753913
field_opt2 = _descriptor.FieldDescriptor(
  name='field_opt2', full_name='protobuf_unittest.field_opt2', index=3,
  number=7753913, type=5, cpp_type=1, label=1,
  has_default_value=True, default_value=42,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
ONEOF_OPT1_FIELD_NUMBER = 7740111
oneof_opt1 = _descriptor.FieldDescriptor(
  name='oneof_opt1', full_name='protobuf_unittest.oneof_opt1', index=4,
  number=7740111, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
ENUM_OPT1_FIELD_NUMBER = 7753576
enum_opt1 = _descriptor.FieldDescriptor(
  name='enum_opt1', full_name='protobuf_unittest.enum_opt1', index=5,
  number=7753576, type=15, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
ENUM_VALUE_OPT1_FIELD_NUMBER = 1560678
enum_value_opt1 = _descriptor.FieldDescriptor(
  name='enum_value_opt1', full_name='protobuf_unittest.enum_value_opt1', index=6,
  number=1560678, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
SERVICE_OPT1_FIELD_NUMBER = 7887650
service_opt1 = _descriptor.FieldDescriptor(
  name='service_opt1', full_name='protobuf_unittest.service_opt1', index=7,
  number=7887650, type=18, cpp_type=2, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
METHOD_OPT1_FIELD_NUMBER = 7890860
method_opt1 = _descriptor.FieldDescriptor(
  name='method_opt1', full_name='protobuf_unittest.method_opt1', index=8,
  number=7890860, type=14, cpp_type=8, label=1,
  has_default_value=False, default_value=1,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
BOOL_OPT_FIELD_NUMBER = 7706090
bool_opt = _descriptor.FieldDescriptor(
  name='bool_opt', full_name='protobuf_unittest.bool_opt', index=9,
  number=7706090, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
INT32_OPT_FIELD_NUMBER = 7705709
int32_opt = _descriptor.FieldDescriptor(
  name='int32_opt', full_name='protobuf_unittest.int32_opt', index=10,
  number=7705709, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
INT64_OPT_FIELD_NUMBER = 7705542
int64_opt = _descriptor.FieldDescriptor(
  name='int64_opt', full_name='protobuf_unittest.int64_opt', index=11,
  number=7705542, type=3, cpp_type=2, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
UINT32_OPT_FIELD_NUMBER = 7704880
uint32_opt = _descriptor.FieldDescriptor(
  name='uint32_opt', full_name='protobuf_unittest.uint32_opt', index=12,
  number=7704880, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
UINT64_OPT_FIELD_NUMBER = 7702367
uint64_opt = _descriptor.FieldDescriptor(
  name='uint64_opt', full_name='protobuf_unittest.uint64_opt', index=13,
  number=7702367, type=4, cpp_type=4, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
SINT32_OPT_FIELD_NUMBER = 7701568
sint32_opt = _descriptor.FieldDescriptor(
  name='sint32_opt', full_name='protobuf_unittest.sint32_opt', index=14,
  number=7701568, type=17, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
SINT64_OPT_FIELD_NUMBER = 7700863
sint64_opt = _descriptor.FieldDescriptor(
  name='sint64_opt', full_name='protobuf_unittest.sint64_opt', index=15,
  number=7700863, type=18, cpp_type=2, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
FIXED32_OPT_FIELD_NUMBER = 7700307
fixed32_opt = _descriptor.FieldDescriptor(
  name='fixed32_opt', full_name='protobuf_unittest.fixed32_opt', index=16,
  number=7700307, type=7, cpp_type=3, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
FIXED64_OPT_FIELD_NUMBER = 7700194
fixed64_opt = _descriptor.FieldDescriptor(
  name='fixed64_opt', full_name='protobuf_unittest.fixed64_opt', index=17,
  number=7700194, type=6, cpp_type=4, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
SFIXED32_OPT_FIELD_NUMBER = 7698645
sfixed32_opt = _descriptor.FieldDescriptor(
  name='sfixed32_opt', full_name='protobuf_unittest.sfixed32_opt', index=18,
  number=7698645, type=15, cpp_type=1, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
SFIXED64_OPT_FIELD_NUMBER = 7685475
sfixed64_opt = _descriptor.FieldDescriptor(
  name='sfixed64_opt', full_name='protobuf_unittest.sfixed64_opt', index=19,
  number=7685475, type=16, cpp_type=2, label=1,
  has_default_value=False, default_value=0,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
FLOAT_OPT_FIELD_NUMBER = 7675390
float_opt = _descriptor.FieldDescriptor(
  name='float_opt', full_name='protobuf_unittest.float_opt', index=20,
  number=7675390, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
DOUBLE_OPT_FIELD_NUMBER = 7673293
double_opt = _descriptor.FieldDescriptor(
  name='double_opt', full_name='protobuf_unittest.double_opt', index=21,
  number=7673293, type=1, cpp_type=5, label=1,
  has_default_value=False, default_value=float(0),
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
STRING_OPT_FIELD_NUMBER = 7673285
string_opt = _descriptor.FieldDescriptor(
  name='string_opt', full_name='protobuf_unittest.string_opt', index=22,
  number=7673285, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
BYTES_OPT_FIELD_NUMBER = 7673238
bytes_opt = _descriptor.FieldDescriptor(
  name='bytes_opt', full_name='protobuf_unittest.bytes_opt', index=23,
  number=7673238, type=12, cpp_type=9, label=1,
  has_default_value=False, default_value=b"",
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
ENUM_OPT_FIELD_NUMBER = 7673233
enum_opt = _descriptor.FieldDescriptor(
  name='enum_opt', full_name='protobuf_unittest.enum_opt', index=24,
  number=7673233, type=14, cpp_type=8, label=1,
  has_default_value=False, default_value=22,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
MESSAGE_TYPE_OPT_FIELD_NUMBER = 7665967
message_type_opt = _descriptor.FieldDescriptor(
  name='message_type_opt', full_name='protobuf_unittest.message_type_opt', index=25,
  number=7665967, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
QUUX_FIELD_NUMBER = 7663707
quux = _descriptor.FieldDescriptor(
  name='quux', full_name='protobuf_unittest.quux', index=26,
  number=7663707, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
CORGE_FIELD_NUMBER = 7663442
corge = _descriptor.FieldDescriptor(
  name='corge', full_name='protobuf_unittest.corge', index=27,
  number=7663442, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
GRAULT_FIELD_NUMBER = 7650927
grault = _descriptor.FieldDescriptor(
  name='grault', full_name='protobuf_unittest.grault', index=28,
  number=7650927, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
GARPLY_FIELD_NUMBER = 7649992
garply = _descriptor.FieldDescriptor(
  name='garply', full_name='protobuf_unittest.garply', index=29,
  number=7649992, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
COMPLEX_OPT1_FIELD_NUMBER = 7646756
complex_opt1 = _descriptor.FieldDescriptor(
  name='complex_opt1', full_name='protobuf_unittest.complex_opt1', index=30,
  number=7646756, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
COMPLEX_OPT2_FIELD_NUMBER = 7636949
complex_opt2 = _descriptor.FieldDescriptor(
  name='complex_opt2', full_name='protobuf_unittest.complex_opt2', index=31,
  number=7636949, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
COMPLEX_OPT3_FIELD_NUMBER = 7636463
complex_opt3 = _descriptor.FieldDescriptor(
  name='complex_opt3', full_name='protobuf_unittest.complex_opt3', index=32,
  number=7636463, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
COMPLEXOPT6_FIELD_NUMBER = 7595468
complexopt6 = _descriptor.FieldDescriptor(
  name='complexopt6', full_name='protobuf_unittest.complexopt6', index=33,
  number=7595468, type=10, cpp_type=10, label=1,
  has_default_value=False, default_value=None,
  message_type=None, enum_type=None, containing_type=None,
  is_extension=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
FILEOPT_FIELD_NUMBER = 15478479
fileopt = _descriptor.FieldDescriptor(
  name='fileopt', full_name='protobuf_unittest.fileopt', index=34,
  number=15478479, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
MSGOPT_FIELD_NUMBER = 15480088
msgopt = _descriptor.FieldDescriptor(
  name='msgopt', full_name='protobuf_unittest.msgopt', index=35,
  number=15480088, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
FIELDOPT_FIELD_NUMBER = 15481374
fieldopt = _descriptor.FieldDescriptor(
  name='fieldopt', full_name='protobuf_unittest.fieldopt', index=36,
  number=15481374, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
ENUMOPT_FIELD_NUMBER = 15483218
enumopt = _descriptor.FieldDescriptor(
  name='enumopt', full_name='protobuf_unittest.enumopt', index=37,
  number=15483218, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
ENUMVALOPT_FIELD_NUMBER = 15486921
enumvalopt = _descriptor.FieldDescriptor(
  name='enumvalopt', full_name='protobuf_unittest.enumvalopt', index=38,
  number=15486921, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
SERVICEOPT_FIELD_NUMBER = 15497145
serviceopt = _descriptor.FieldDescriptor(
  name='serviceopt', full_name='protobuf_unittest.serviceopt', index=39,
  number=15497145, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
METHODOPT_FIELD_NUMBER = 15512713
methodopt = _descriptor.FieldDescriptor(
  name='methodopt', full_name='protobuf_unittest.methodopt', index=40,
  number=15512713, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)
REQUIRED_ENUM_OPT_FIELD_NUMBER = 106161807
required_enum_opt = _descriptor.FieldDescriptor(
  name='required_enum_opt', full_name='protobuf_unittest.required_enum_opt', index=41,
  number=106161807, 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=True, extension_scope=None,
  serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key)

_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM = _descriptor.EnumDescriptor(
  name='AnEnum',
  full_name='protobuf_unittest.TestMessageWithCustomOptions.AnEnum',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ANENUM_VAL1', index=0, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ANENUM_VAL2', index=1, number=2,
      serialized_options=b'\260\206\372\005{',
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=b'\305\366\311\035\353\374\377\377',
  serialized_start=190,
  serialized_end=249,
)
_sym_db.RegisterEnumDescriptor(_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM)

_DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE = _descriptor.EnumDescriptor(
  name='TestEnumType',
  full_name='protobuf_unittest.DummyMessageContainingEnum.TestEnumType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TEST_OPTION_ENUM_TYPE1', index=0, number=22,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TEST_OPTION_ENUM_TYPE2', index=1, number=-23,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=443,
  serialized_end=522,
)
_sym_db.RegisterEnumDescriptor(_DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE)

_NESTEDOPTIONTYPE_NESTEDENUM = _descriptor.EnumDescriptor(
  name='NestedEnum',
  full_name='protobuf_unittest.NestedOptionType.NestedEnum',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NESTED_ENUM_VALUE', index=0, number=1,
      serialized_options=b'\260\206\372\005\354\007',
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=b'\305\366\311\035\353\003\000\000',
  serialized_start=2618,
  serialized_end=2671,
)
_sym_db.RegisterEnumDescriptor(_NESTEDOPTIONTYPE_NESTEDENUM)

_OLDOPTIONTYPE_TESTENUM = _descriptor.EnumDescriptor(
  name='TestEnum',
  full_name='protobuf_unittest.OldOptionType.TestEnum',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OLD_VALUE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2815,
  serialized_end=2840,
)
_sym_db.RegisterEnumDescriptor(_OLDOPTIONTYPE_TESTENUM)

_NEWOPTIONTYPE_TESTENUM = _descriptor.EnumDescriptor(
  name='TestEnum',
  full_name='protobuf_unittest.NewOptionType.TestEnum',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OLD_VALUE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='NEW_VALUE', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2917,
  serialized_end=2957,
)
_sym_db.RegisterEnumDescriptor(_NEWOPTIONTYPE_TESTENUM)


_TESTMESSAGEWITHCUSTOMOPTIONS = _descriptor.Descriptor(
  name='TestMessageWithCustomOptions',
  full_name='protobuf_unittest.TestMessageWithCustomOptions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='field1', full_name='protobuf_unittest.TestMessageWithCustomOptions.field1', 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=b'\010\001\301\340\303\035-\341u\n\002\000\000\000', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='oneof_field', full_name='protobuf_unittest.TestMessageWithCustomOptions.oneof_field', 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=[
    _TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM,
  ],
  serialized_options=b'\010\000\340\351\302\035\310\377\377\377\377\377\377\377\377\001',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='AnOneof', full_name='protobuf_unittest.TestMessageWithCustomOptions.AnOneof',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[], serialized_options=b'\370\254\303\035\235\377\377\377\377\377\377\377\377\001'),
  ],
  serialized_start=103,
  serialized_end=294,
)


_CUSTOMOPTIONFOOREQUEST = _descriptor.Descriptor(
  name='CustomOptionFooRequest',
  full_name='protobuf_unittest.CustomOptionFooRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=296,
  serialized_end=320,
)


_CUSTOMOPTIONFOORESPONSE = _descriptor.Descriptor(
  name='CustomOptionFooResponse',
  full_name='protobuf_unittest.CustomOptionFooResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=322,
  serialized_end=347,
)


_CUSTOMOPTIONFOOCLIENTMESSAGE = _descriptor.Descriptor(
  name='CustomOptionFooClientMessage',
  full_name='protobuf_unittest.CustomOptionFooClientMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=349,
  serialized_end=379,
)


_CUSTOMOPTIONFOOSERVERMESSAGE = _descriptor.Descriptor(
  name='CustomOptionFooServerMessage',
  full_name='protobuf_unittest.CustomOptionFooServerMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=381,
  serialized_end=411,
)


_DUMMYMESSAGECONTAININGENUM = _descriptor.Descriptor(
  name='DummyMessageContainingEnum',
  full_name='protobuf_unittest.DummyMessageContainingEnum',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=413,
  serialized_end=522,
)


_DUMMYMESSAGEINVALIDASOPTIONTYPE = _descriptor.Descriptor(
  name='DummyMessageInvalidAsOptionType',
  full_name='protobuf_unittest.DummyMessageInvalidAsOptionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=524,
  serialized_end=557,
)


_CUSTOMOPTIONMININTEGERVALUES = _descriptor.Descriptor(
  name='CustomOptionMinIntegerValues',
  full_name='protobuf_unittest.CustomOptionMinIntegerValues',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\320\336\262\035\000\350\306\262\035\200\200\200\200\370\377\377\377\377\001\260\274\262\035\200\200\200\200\200\200\200\200\200\001\200\223\262\035\000\370\365\260\035\000\200\304\260\035\377\377\377\377\017\370\227\260\035\377\377\377\377\377\377\377\377\377\001\235\365\257\035\000\000\000\000\221\356\257\035\000\000\000\000\000\000\000\000\255\215\257\035\000\000\000\200\231\326\250\035\000\000\000\000\000\000\000\200',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=560,
  serialized_end=698,
)


_CUSTOMOPTIONMAXINTEGERVALUES = _descriptor.Descriptor(
  name='CustomOptionMaxIntegerValues',
  full_name='protobuf_unittest.CustomOptionMaxIntegerValues',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\320\336\262\035\001\350\306\262\035\377\377\377\377\007\260\274\262\035\377\377\377\377\377\377\377\377\177\200\223\262\035\377\377\377\377\017\370\365\260\035\377\377\377\377\377\377\377\377\377\001\200\304\260\035\376\377\377\377\017\370\227\260\035\376\377\377\377\377\377\377\377\377\001\235\365\257\035\377\377\377\377\221\356\257\035\377\377\377\377\377\377\377\377\255\215\257\035\377\377\377\177\231\326\250\035\377\377\377\377\377\377\377\177',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=701,
  serialized_end=846,
)


_CUSTOMOPTIONOTHERVALUES = _descriptor.Descriptor(
  name='CustomOptionOtherValues',
  full_name='protobuf_unittest.CustomOptionOtherValues',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\350\306\262\035\234\377\377\377\377\377\377\377\377\001\365\337\243\035\347\207EA\351\334\242\035\373Y\214B\312\300\363?\252\334\242\035\016Hello, \"World\"\262\331\242\035\013Hello\000World\210\331\242\035\351\377\377\377\377\377\377\377\377\001',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=848,
  serialized_end=958,
)


_SETTINGREALSFROMPOSITIVEINTS = _descriptor.Descriptor(
  name='SettingRealsFromPositiveInts',
  full_name='protobuf_unittest.SettingRealsFromPositiveInts',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\365\337\243\035\000\000@A\351\334\242\035\000\000\000\000\000@c@',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=960,
  serialized_end=1012,
)


_SETTINGREALSFROMNEGATIVEINTS = _descriptor.Descriptor(
  name='SettingRealsFromNegativeInts',
  full_name='protobuf_unittest.SettingRealsFromNegativeInts',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\365\337\243\035\000\000@\301\351\334\242\035\000\000\000\000\000@c\300',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1014,
  serialized_end=1066,
)


_COMPLEXOPTIONTYPE1 = _descriptor.Descriptor(
  name='ComplexOptionType1',
  full_name='protobuf_unittest.ComplexOptionType1',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='foo', full_name='protobuf_unittest.ComplexOptionType1.foo', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='foo2', full_name='protobuf_unittest.ComplexOptionType1.foo2', 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),
    _descriptor.FieldDescriptor(
      name='foo3', full_name='protobuf_unittest.ComplexOptionType1.foo3', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='foo4', full_name='protobuf_unittest.ComplexOptionType1.foo4', index=3,
      number=4, type=5, cpp_type=1, 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=True,
  syntax='proto2',
  extension_ranges=[(100, 536870912), ],
  oneofs=[
  ],
  serialized_start=1068,
  serialized_end=1153,
)


_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4 = _descriptor.Descriptor(
  name='ComplexOptionType4',
  full_name='protobuf_unittest.ComplexOptionType2.ComplexOptionType4',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='waldo', full_name='protobuf_unittest.ComplexOptionType2.ComplexOptionType4.waldo', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
    _descriptor.FieldDescriptor(
      name='complex_opt4', full_name='protobuf_unittest.ComplexOptionType2.ComplexOptionType4.complex_opt4', index=0,
      number=7633546, 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=True, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1390,
  serialized_end=1541,
)

_COMPLEXOPTIONTYPE2 = _descriptor.Descriptor(
  name='ComplexOptionType2',
  full_name='protobuf_unittest.ComplexOptionType2',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='bar', full_name='protobuf_unittest.ComplexOptionType2.bar', 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='baz', full_name='protobuf_unittest.ComplexOptionType2.baz', 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),
    _descriptor.FieldDescriptor(
      name='fred', full_name='protobuf_unittest.ComplexOptionType2.fred', 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='barney', full_name='protobuf_unittest.ComplexOptionType2.barney', 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,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(100, 536870912), ],
  oneofs=[
  ],
  serialized_start=1156,
  serialized_end=1551,
)


_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5 = _descriptor.Descriptor(
  name='ComplexOptionType5',
  full_name='protobuf_unittest.ComplexOptionType3.ComplexOptionType5',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='plugh', full_name='protobuf_unittest.ComplexOptionType3.ComplexOptionType5.plugh', index=0,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1675,
  serialized_end=1710,
)

_COMPLEXOPTIONTYPE3 = _descriptor.Descriptor(
  name='ComplexOptionType3',
  full_name='protobuf_unittest.ComplexOptionType3',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='qux', full_name='protobuf_unittest.ComplexOptionType3.qux', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='complexoptiontype5', full_name='protobuf_unittest.ComplexOptionType3.complexoptiontype5', index=1,
      number=2, type=10, 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=[_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1554,
  serialized_end=1710,
)


_COMPLEXOPT6 = _descriptor.Descriptor(
  name='ComplexOpt6',
  full_name='protobuf_unittest.ComplexOpt6',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='xyzzy', full_name='protobuf_unittest.ComplexOpt6.xyzzy', index=0,
      number=7593951, 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=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1712,
  serialized_end=1743,
)


_VARIOUSCOMPLEXOPTIONS = _descriptor.Descriptor(
  name='VariousComplexOptions',
  full_name='protobuf_unittest.VariousComplexOptions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\242\342\225\035\002\010*\242\342\225\035\006\330\205\236\035\304\002\242\342\225\035\010\222\365\235\035\003\010\354\006\242\342\225\035\002 c\242\342\225\035\002 X\252\375\220\035\003\020\333\007\252\375\220\035\006\370\346\227\035\216\005\252\375\220\035\005\n\003\010\347\005\252\375\220\035\010\n\006\330\205\236\035\317\017\252\375\220\035\n\n\010\222\365\235\035\003\010\330\017\252\375\220\035\010\302\254\227\035\003\010\345\005\252\375\220\035\013\302\254\227\035\006\330\205\236\035\316\017\252\375\220\035\r\302\254\227\035\010\222\365\235\035\003\010\311\020\322\250\217\035\003\010\263\017\252\375\220\035\005\032\003\010\301\002\252\375\220\035\004\"\002\010e\252\375\220\035\005\"\003\010\324\001\372\336\220\035\002\010\t\372\336\220\035\004\023\030\026\024\343\334\374\034\370\375\373\034\030\344\334\374\034',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1746,
  serialized_end=1987,
)


_AGGREGATEMESSAGESET = _descriptor.Descriptor(
  name='AggregateMessageSet',
  full_name='protobuf_unittest.AggregateMessageSet',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\010\001',
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(4, 2147483647), ],
  oneofs=[
  ],
  serialized_start=1989,
  serialized_end=2024,
)


_AGGREGATEMESSAGESETELEMENT = _descriptor.Descriptor(
  name='AggregateMessageSetElement',
  full_name='protobuf_unittest.AggregateMessageSetElement',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='s', full_name='protobuf_unittest.AggregateMessageSetElement.s', 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),
  ],
  extensions=[
    _descriptor.FieldDescriptor(
      name='message_set_extension', full_name='protobuf_unittest.AggregateMessageSetElement.message_set_extension', index=0,
      number=15447542, 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=True, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2027,
  serialized_end=2187,
)


_AGGREGATE = _descriptor.Descriptor(
  name='Aggregate',
  full_name='protobuf_unittest.Aggregate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='i', full_name='protobuf_unittest.Aggregate.i', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='s', full_name='protobuf_unittest.Aggregate.s', 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='sub', full_name='protobuf_unittest.Aggregate.sub', 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='file', full_name='protobuf_unittest.Aggregate.file', 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='mset', full_name='protobuf_unittest.Aggregate.mset', 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=[
    _descriptor.FieldDescriptor(
      name='nested', full_name='protobuf_unittest.Aggregate.nested', index=0,
      number=15476903, 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=True, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2190,
  serialized_end=2443,
)


_AGGREGATEMESSAGE = _descriptor.Descriptor(
  name='AggregateMessage',
  full_name='protobuf_unittest.AggregateMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='fieldname', full_name='protobuf_unittest.AggregateMessage.fieldname', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=b'\362\241\207;\021\022\017FieldAnnotation', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\302\321\206;\025\010e\022\021MessageAnnotation',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2445,
  serialized_end=2534,
)


_NESTEDOPTIONTYPE_NESTEDMESSAGE = _descriptor.Descriptor(
  name='NestedMessage',
  full_name='protobuf_unittest.NestedOptionType.NestedMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='nested_field', full_name='protobuf_unittest.NestedOptionType.NestedMessage.nested_field', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=b'\301\340\303\035\352\003\000\000\000\000\000\000', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\340\351\302\035\351\007',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2557,
  serialized_end=2616,
)

_NESTEDOPTIONTYPE = _descriptor.Descriptor(
  name='NestedOptionType',
  full_name='protobuf_unittest.NestedOptionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
    _descriptor.FieldDescriptor(
      name='nested_extension', full_name='protobuf_unittest.NestedOptionType.nested_extension', index=0,
      number=7912573, 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=True, extension_scope=None,
      serialized_options=b'\310\213\312\035\355\007', file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  nested_types=[_NESTEDOPTIONTYPE_NESTEDMESSAGE, ],
  enum_types=[
    _NESTEDOPTIONTYPE_NESTEDENUM,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2537,
  serialized_end=2738,
)


_OLDOPTIONTYPE = _descriptor.Descriptor(
  name='OldOptionType',
  full_name='protobuf_unittest.OldOptionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.OldOptionType.value', index=0,
      number=1, type=14, cpp_type=8, label=2,
      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=[
    _OLDOPTIONTYPE_TESTENUM,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2740,
  serialized_end=2840,
)


_NEWOPTIONTYPE = _descriptor.Descriptor(
  name='NewOptionType',
  full_name='protobuf_unittest.NewOptionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='value', full_name='protobuf_unittest.NewOptionType.value', index=0,
      number=1, type=14, cpp_type=8, label=2,
      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=[
    _NEWOPTIONTYPE_TESTENUM,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2842,
  serialized_end=2957,
)


_TESTMESSAGEWITHREQUIREDENUMOPTION = _descriptor.Descriptor(
  name='TestMessageWithRequiredEnumOption',
  full_name='protobuf_unittest.TestMessageWithRequiredEnumOption',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=b'\372\350\374\224\003\002\010\000',
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2959,
  serialized_end=3004,
)

_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM.containing_type = _TESTMESSAGEWITHCUSTOMOPTIONS
_TESTMESSAGEWITHCUSTOMOPTIONS.oneofs_by_name['AnOneof'].fields.append(
  _TESTMESSAGEWITHCUSTOMOPTIONS.fields_by_name['oneof_field'])
_TESTMESSAGEWITHCUSTOMOPTIONS.fields_by_name['oneof_field'].containing_oneof = _TESTMESSAGEWITHCUSTOMOPTIONS.oneofs_by_name['AnOneof']
_DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE.containing_type = _DUMMYMESSAGECONTAININGENUM
_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4.containing_type = _COMPLEXOPTIONTYPE2
_COMPLEXOPTIONTYPE2.fields_by_name['bar'].message_type = _COMPLEXOPTIONTYPE1
_COMPLEXOPTIONTYPE2.fields_by_name['fred'].message_type = _COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4
_COMPLEXOPTIONTYPE2.fields_by_name['barney'].message_type = _COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4
_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5.containing_type = _COMPLEXOPTIONTYPE3
_COMPLEXOPTIONTYPE3.fields_by_name['complexoptiontype5'].message_type = _COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5
_AGGREGATE.fields_by_name['sub'].message_type = _AGGREGATE
_AGGREGATE.fields_by_name['file'].message_type = google_dot_protobuf_dot_descriptor__pb2._FILEOPTIONS
_AGGREGATE.fields_by_name['mset'].message_type = _AGGREGATEMESSAGESET
_NESTEDOPTIONTYPE_NESTEDMESSAGE.containing_type = _NESTEDOPTIONTYPE
_NESTEDOPTIONTYPE_NESTEDENUM.containing_type = _NESTEDOPTIONTYPE
_OLDOPTIONTYPE.fields_by_name['value'].enum_type = _OLDOPTIONTYPE_TESTENUM
_OLDOPTIONTYPE_TESTENUM.containing_type = _OLDOPTIONTYPE
_NEWOPTIONTYPE.fields_by_name['value'].enum_type = _NEWOPTIONTYPE_TESTENUM
_NEWOPTIONTYPE_TESTENUM.containing_type = _NEWOPTIONTYPE
DESCRIPTOR.message_types_by_name['TestMessageWithCustomOptions'] = _TESTMESSAGEWITHCUSTOMOPTIONS
DESCRIPTOR.message_types_by_name['CustomOptionFooRequest'] = _CUSTOMOPTIONFOOREQUEST
DESCRIPTOR.message_types_by_name['CustomOptionFooResponse'] = _CUSTOMOPTIONFOORESPONSE
DESCRIPTOR.message_types_by_name['CustomOptionFooClientMessage'] = _CUSTOMOPTIONFOOCLIENTMESSAGE
DESCRIPTOR.message_types_by_name['CustomOptionFooServerMessage'] = _CUSTOMOPTIONFOOSERVERMESSAGE
DESCRIPTOR.message_types_by_name['DummyMessageContainingEnum'] = _DUMMYMESSAGECONTAININGENUM
DESCRIPTOR.message_types_by_name['DummyMessageInvalidAsOptionType'] = _DUMMYMESSAGEINVALIDASOPTIONTYPE
DESCRIPTOR.message_types_by_name['CustomOptionMinIntegerValues'] = _CUSTOMOPTIONMININTEGERVALUES
DESCRIPTOR.message_types_by_name['CustomOptionMaxIntegerValues'] = _CUSTOMOPTIONMAXINTEGERVALUES
DESCRIPTOR.message_types_by_name['CustomOptionOtherValues'] = _CUSTOMOPTIONOTHERVALUES
DESCRIPTOR.message_types_by_name['SettingRealsFromPositiveInts'] = _SETTINGREALSFROMPOSITIVEINTS
DESCRIPTOR.message_types_by_name['SettingRealsFromNegativeInts'] = _SETTINGREALSFROMNEGATIVEINTS
DESCRIPTOR.message_types_by_name['ComplexOptionType1'] = _COMPLEXOPTIONTYPE1
DESCRIPTOR.message_types_by_name['ComplexOptionType2'] = _COMPLEXOPTIONTYPE2
DESCRIPTOR.message_types_by_name['ComplexOptionType3'] = _COMPLEXOPTIONTYPE3
DESCRIPTOR.message_types_by_name['ComplexOpt6'] = _COMPLEXOPT6
DESCRIPTOR.message_types_by_name['VariousComplexOptions'] = _VARIOUSCOMPLEXOPTIONS
DESCRIPTOR.message_types_by_name['AggregateMessageSet'] = _AGGREGATEMESSAGESET
DESCRIPTOR.message_types_by_name['AggregateMessageSetElement'] = _AGGREGATEMESSAGESETELEMENT
DESCRIPTOR.message_types_by_name['Aggregate'] = _AGGREGATE
DESCRIPTOR.message_types_by_name['AggregateMessage'] = _AGGREGATEMESSAGE
DESCRIPTOR.message_types_by_name['NestedOptionType'] = _NESTEDOPTIONTYPE
DESCRIPTOR.message_types_by_name['OldOptionType'] = _OLDOPTIONTYPE
DESCRIPTOR.message_types_by_name['NewOptionType'] = _NEWOPTIONTYPE
DESCRIPTOR.message_types_by_name['TestMessageWithRequiredEnumOption'] = _TESTMESSAGEWITHREQUIREDENUMOPTION
DESCRIPTOR.enum_types_by_name['MethodOpt1'] = _METHODOPT1
DESCRIPTOR.enum_types_by_name['AggregateEnum'] = _AGGREGATEENUM
DESCRIPTOR.extensions_by_name['file_opt1'] = file_opt1
DESCRIPTOR.extensions_by_name['message_opt1'] = message_opt1
DESCRIPTOR.extensions_by_name['field_opt1'] = field_opt1
DESCRIPTOR.extensions_by_name['field_opt2'] = field_opt2
DESCRIPTOR.extensions_by_name['oneof_opt1'] = oneof_opt1
DESCRIPTOR.extensions_by_name['enum_opt1'] = enum_opt1
DESCRIPTOR.extensions_by_name['enum_value_opt1'] = enum_value_opt1
DESCRIPTOR.extensions_by_name['service_opt1'] = service_opt1
DESCRIPTOR.extensions_by_name['method_opt1'] = method_opt1
DESCRIPTOR.extensions_by_name['bool_opt'] = bool_opt
DESCRIPTOR.extensions_by_name['int32_opt'] = int32_opt
DESCRIPTOR.extensions_by_name['int64_opt'] = int64_opt
DESCRIPTOR.extensions_by_name['uint32_opt'] = uint32_opt
DESCRIPTOR.extensions_by_name['uint64_opt'] = uint64_opt
DESCRIPTOR.extensions_by_name['sint32_opt'] = sint32_opt
DESCRIPTOR.extensions_by_name['sint64_opt'] = sint64_opt
DESCRIPTOR.extensions_by_name['fixed32_opt'] = fixed32_opt
DESCRIPTOR.extensions_by_name['fixed64_opt'] = fixed64_opt
DESCRIPTOR.extensions_by_name['sfixed32_opt'] = sfixed32_opt
DESCRIPTOR.extensions_by_name['sfixed64_opt'] = sfixed64_opt
DESCRIPTOR.extensions_by_name['float_opt'] = float_opt
DESCRIPTOR.extensions_by_name['double_opt'] = double_opt
DESCRIPTOR.extensions_by_name['string_opt'] = string_opt
DESCRIPTOR.extensions_by_name['bytes_opt'] = bytes_opt
DESCRIPTOR.extensions_by_name['enum_opt'] = enum_opt
DESCRIPTOR.extensions_by_name['message_type_opt'] = message_type_opt
DESCRIPTOR.extensions_by_name['quux'] = quux
DESCRIPTOR.extensions_by_name['corge'] = corge
DESCRIPTOR.extensions_by_name['grault'] = grault
DESCRIPTOR.extensions_by_name['garply'] = garply
DESCRIPTOR.extensions_by_name['complex_opt1'] = complex_opt1
DESCRIPTOR.extensions_by_name['complex_opt2'] = complex_opt2
DESCRIPTOR.extensions_by_name['complex_opt3'] = complex_opt3
DESCRIPTOR.extensions_by_name['complexopt6'] = complexopt6
DESCRIPTOR.extensions_by_name['fileopt'] = fileopt
DESCRIPTOR.extensions_by_name['msgopt'] = msgopt
DESCRIPTOR.extensions_by_name['fieldopt'] = fieldopt
DESCRIPTOR.extensions_by_name['enumopt'] = enumopt
DESCRIPTOR.extensions_by_name['enumvalopt'] = enumvalopt
DESCRIPTOR.extensions_by_name['serviceopt'] = serviceopt
DESCRIPTOR.extensions_by_name['methodopt'] = methodopt
DESCRIPTOR.extensions_by_name['required_enum_opt'] = required_enum_opt
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

TestMessageWithCustomOptions = _reflection.GeneratedProtocolMessageType('TestMessageWithCustomOptions', (_message.Message,), {
  'DESCRIPTOR' : _TESTMESSAGEWITHCUSTOMOPTIONS,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageWithCustomOptions)
  })
_sym_db.RegisterMessage(TestMessageWithCustomOptions)

CustomOptionFooRequest = _reflection.GeneratedProtocolMessageType('CustomOptionFooRequest', (_message.Message,), {
  'DESCRIPTOR' : _CUSTOMOPTIONFOOREQUEST,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionFooRequest)
  })
_sym_db.RegisterMessage(CustomOptionFooRequest)

CustomOptionFooResponse = _reflection.GeneratedProtocolMessageType('CustomOptionFooResponse', (_message.Message,), {
  'DESCRIPTOR' : _CUSTOMOPTIONFOORESPONSE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionFooResponse)
  })
_sym_db.RegisterMessage(CustomOptionFooResponse)

CustomOptionFooClientMessage = _reflection.GeneratedProtocolMessageType('CustomOptionFooClientMessage', (_message.Message,), {
  'DESCRIPTOR' : _CUSTOMOPTIONFOOCLIENTMESSAGE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionFooClientMessage)
  })
_sym_db.RegisterMessage(CustomOptionFooClientMessage)

CustomOptionFooServerMessage = _reflection.GeneratedProtocolMessageType('CustomOptionFooServerMessage', (_message.Message,), {
  'DESCRIPTOR' : _CUSTOMOPTIONFOOSERVERMESSAGE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionFooServerMessage)
  })
_sym_db.RegisterMessage(CustomOptionFooServerMessage)

DummyMessageContainingEnum = _reflection.GeneratedProtocolMessageType('DummyMessageContainingEnum', (_message.Message,), {
  'DESCRIPTOR' : _DUMMYMESSAGECONTAININGENUM,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.DummyMessageContainingEnum)
  })
_sym_db.RegisterMessage(DummyMessageContainingEnum)

DummyMessageInvalidAsOptionType = _reflection.GeneratedProtocolMessageType('DummyMessageInvalidAsOptionType', (_message.Message,), {
  'DESCRIPTOR' : _DUMMYMESSAGEINVALIDASOPTIONTYPE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.DummyMessageInvalidAsOptionType)
  })
_sym_db.RegisterMessage(DummyMessageInvalidAsOptionType)

CustomOptionMinIntegerValues = _reflection.GeneratedProtocolMessageType('CustomOptionMinIntegerValues', (_message.Message,), {
  'DESCRIPTOR' : _CUSTOMOPTIONMININTEGERVALUES,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionMinIntegerValues)
  })
_sym_db.RegisterMessage(CustomOptionMinIntegerValues)

CustomOptionMaxIntegerValues = _reflection.GeneratedProtocolMessageType('CustomOptionMaxIntegerValues', (_message.Message,), {
  'DESCRIPTOR' : _CUSTOMOPTIONMAXINTEGERVALUES,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionMaxIntegerValues)
  })
_sym_db.RegisterMessage(CustomOptionMaxIntegerValues)

CustomOptionOtherValues = _reflection.GeneratedProtocolMessageType('CustomOptionOtherValues', (_message.Message,), {
  'DESCRIPTOR' : _CUSTOMOPTIONOTHERVALUES,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.CustomOptionOtherValues)
  })
_sym_db.RegisterMessage(CustomOptionOtherValues)

SettingRealsFromPositiveInts = _reflection.GeneratedProtocolMessageType('SettingRealsFromPositiveInts', (_message.Message,), {
  'DESCRIPTOR' : _SETTINGREALSFROMPOSITIVEINTS,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.SettingRealsFromPositiveInts)
  })
_sym_db.RegisterMessage(SettingRealsFromPositiveInts)

SettingRealsFromNegativeInts = _reflection.GeneratedProtocolMessageType('SettingRealsFromNegativeInts', (_message.Message,), {
  'DESCRIPTOR' : _SETTINGREALSFROMNEGATIVEINTS,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.SettingRealsFromNegativeInts)
  })
_sym_db.RegisterMessage(SettingRealsFromNegativeInts)

ComplexOptionType1 = _reflection.GeneratedProtocolMessageType('ComplexOptionType1', (_message.Message,), {
  'DESCRIPTOR' : _COMPLEXOPTIONTYPE1,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType1)
  })
_sym_db.RegisterMessage(ComplexOptionType1)

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

  'ComplexOptionType4' : _reflection.GeneratedProtocolMessageType('ComplexOptionType4', (_message.Message,), {
    'DESCRIPTOR' : _COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4,
    '__module__' : 'google.protobuf.unittest_custom_options_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType2.ComplexOptionType4)
    })
  ,
  'DESCRIPTOR' : _COMPLEXOPTIONTYPE2,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType2)
  })
_sym_db.RegisterMessage(ComplexOptionType2)
_sym_db.RegisterMessage(ComplexOptionType2.ComplexOptionType4)

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

  'ComplexOptionType5' : _reflection.GeneratedProtocolMessageType('ComplexOptionType5', (_message.Message,), {
    'DESCRIPTOR' : _COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5,
    '__module__' : 'google.protobuf.unittest_custom_options_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType3.ComplexOptionType5)
    })
  ,
  'DESCRIPTOR' : _COMPLEXOPTIONTYPE3,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOptionType3)
  })
_sym_db.RegisterMessage(ComplexOptionType3)
_sym_db.RegisterMessage(ComplexOptionType3.ComplexOptionType5)

ComplexOpt6 = _reflection.GeneratedProtocolMessageType('ComplexOpt6', (_message.Message,), {
  'DESCRIPTOR' : _COMPLEXOPT6,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.ComplexOpt6)
  })
_sym_db.RegisterMessage(ComplexOpt6)

VariousComplexOptions = _reflection.GeneratedProtocolMessageType('VariousComplexOptions', (_message.Message,), {
  'DESCRIPTOR' : _VARIOUSCOMPLEXOPTIONS,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.VariousComplexOptions)
  })
_sym_db.RegisterMessage(VariousComplexOptions)

AggregateMessageSet = _reflection.GeneratedProtocolMessageType('AggregateMessageSet', (_message.Message,), {
  'DESCRIPTOR' : _AGGREGATEMESSAGESET,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.AggregateMessageSet)
  })
_sym_db.RegisterMessage(AggregateMessageSet)

AggregateMessageSetElement = _reflection.GeneratedProtocolMessageType('AggregateMessageSetElement', (_message.Message,), {
  'DESCRIPTOR' : _AGGREGATEMESSAGESETELEMENT,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.AggregateMessageSetElement)
  })
_sym_db.RegisterMessage(AggregateMessageSetElement)

Aggregate = _reflection.GeneratedProtocolMessageType('Aggregate', (_message.Message,), {
  'DESCRIPTOR' : _AGGREGATE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.Aggregate)
  })
_sym_db.RegisterMessage(Aggregate)

AggregateMessage = _reflection.GeneratedProtocolMessageType('AggregateMessage', (_message.Message,), {
  'DESCRIPTOR' : _AGGREGATEMESSAGE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.AggregateMessage)
  })
_sym_db.RegisterMessage(AggregateMessage)

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

  'NestedMessage' : _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), {
    'DESCRIPTOR' : _NESTEDOPTIONTYPE_NESTEDMESSAGE,
    '__module__' : 'google.protobuf.unittest_custom_options_pb2'
    # @@protoc_insertion_point(class_scope:protobuf_unittest.NestedOptionType.NestedMessage)
    })
  ,
  'DESCRIPTOR' : _NESTEDOPTIONTYPE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.NestedOptionType)
  })
_sym_db.RegisterMessage(NestedOptionType)
_sym_db.RegisterMessage(NestedOptionType.NestedMessage)

OldOptionType = _reflection.GeneratedProtocolMessageType('OldOptionType', (_message.Message,), {
  'DESCRIPTOR' : _OLDOPTIONTYPE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.OldOptionType)
  })
_sym_db.RegisterMessage(OldOptionType)

NewOptionType = _reflection.GeneratedProtocolMessageType('NewOptionType', (_message.Message,), {
  'DESCRIPTOR' : _NEWOPTIONTYPE,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.NewOptionType)
  })
_sym_db.RegisterMessage(NewOptionType)

TestMessageWithRequiredEnumOption = _reflection.GeneratedProtocolMessageType('TestMessageWithRequiredEnumOption', (_message.Message,), {
  'DESCRIPTOR' : _TESTMESSAGEWITHREQUIREDENUMOPTION,
  '__module__' : 'google.protobuf.unittest_custom_options_pb2'
  # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageWithRequiredEnumOption)
  })
_sym_db.RegisterMessage(TestMessageWithRequiredEnumOption)

google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(file_opt1)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(message_opt1)
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(field_opt1)
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(field_opt2)
google_dot_protobuf_dot_descriptor__pb2.OneofOptions.RegisterExtension(oneof_opt1)
google_dot_protobuf_dot_descriptor__pb2.EnumOptions.RegisterExtension(enum_opt1)
google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(enum_value_opt1)
google_dot_protobuf_dot_descriptor__pb2.ServiceOptions.RegisterExtension(service_opt1)
method_opt1.enum_type = _METHODOPT1
google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(method_opt1)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(bool_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(int32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(int64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(uint32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(uint64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(sint32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(sint64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(fixed32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(fixed64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(sfixed32_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(sfixed64_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(float_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(double_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(string_opt)
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(bytes_opt)
enum_opt.enum_type = _DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(enum_opt)
message_type_opt.message_type = _DUMMYMESSAGEINVALIDASOPTIONTYPE
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(message_type_opt)
ComplexOptionType1.RegisterExtension(quux)
corge.message_type = _COMPLEXOPTIONTYPE3
ComplexOptionType1.RegisterExtension(corge)
ComplexOptionType2.RegisterExtension(grault)
garply.message_type = _COMPLEXOPTIONTYPE1
ComplexOptionType2.RegisterExtension(garply)
complex_opt1.message_type = _COMPLEXOPTIONTYPE1
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(complex_opt1)
complex_opt2.message_type = _COMPLEXOPTIONTYPE2
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(complex_opt2)
complex_opt3.message_type = _COMPLEXOPTIONTYPE3
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(complex_opt3)
complexopt6.message_type = _COMPLEXOPT6
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(complexopt6)
fileopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(fileopt)
msgopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(msgopt)
fieldopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(fieldopt)
enumopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.EnumOptions.RegisterExtension(enumopt)
enumvalopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(enumvalopt)
serviceopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.ServiceOptions.RegisterExtension(serviceopt)
methodopt.message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(methodopt)
required_enum_opt.message_type = _OLDOPTIONTYPE
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(required_enum_opt)
_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4.extensions_by_name['complex_opt4'].message_type = _COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4.extensions_by_name['complex_opt4'])
_AGGREGATEMESSAGESETELEMENT.extensions_by_name['message_set_extension'].message_type = _AGGREGATEMESSAGESETELEMENT
AggregateMessageSet.RegisterExtension(_AGGREGATEMESSAGESETELEMENT.extensions_by_name['message_set_extension'])
_AGGREGATE.extensions_by_name['nested'].message_type = _AGGREGATE
google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(_AGGREGATE.extensions_by_name['nested'])
google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(_NESTEDOPTIONTYPE.extensions_by_name['nested_extension'])

DESCRIPTOR._options = None
_AGGREGATEENUM._options = None
_AGGREGATEENUM.values_by_name["VALUE"]._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS.oneofs_by_name['AnOneof']._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM.values_by_name["ANENUM_VAL2"]._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS.fields_by_name['field1']._options = None
_TESTMESSAGEWITHCUSTOMOPTIONS._options = None
_CUSTOMOPTIONMININTEGERVALUES._options = None
_CUSTOMOPTIONMAXINTEGERVALUES._options = None
_CUSTOMOPTIONOTHERVALUES._options = None
_SETTINGREALSFROMPOSITIVEINTS._options = None
_SETTINGREALSFROMNEGATIVEINTS._options = None
_VARIOUSCOMPLEXOPTIONS._options = None
_AGGREGATEMESSAGESET._options = None
_AGGREGATEMESSAGE.fields_by_name['fieldname']._options = None
_AGGREGATEMESSAGE._options = None
_NESTEDOPTIONTYPE_NESTEDMESSAGE.fields_by_name['nested_field']._options = None
_NESTEDOPTIONTYPE_NESTEDMESSAGE._options = None
_NESTEDOPTIONTYPE_NESTEDENUM._options = None
_NESTEDOPTIONTYPE_NESTEDENUM.values_by_name["NESTED_ENUM_VALUE"]._options = None
_NESTEDOPTIONTYPE.extensions_by_name['nested_extension']._options = None
_TESTMESSAGEWITHREQUIREDENUMOPTION._options = None

_TESTSERVICEWITHCUSTOMOPTIONS = _descriptor.ServiceDescriptor(
  name='TestServiceWithCustomOptions',
  full_name='protobuf_unittest.TestServiceWithCustomOptions',
  file=DESCRIPTOR,
  index=0,
  serialized_options=b'\220\262\213\036\323\333\200\313I',
  create_key=_descriptor._internal_create_key,
  serialized_start=3142,
  serialized_end=3284,
  methods=[
  _descriptor.MethodDescriptor(
    name='Foo',
    full_name='protobuf_unittest.TestServiceWithCustomOptions.Foo',
    index=0,
    containing_service=None,
    input_type=_CUSTOMOPTIONFOOREQUEST,
    output_type=_CUSTOMOPTIONFOORESPONSE,
    serialized_options=b'\340\372\214\036\002',
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_TESTSERVICEWITHCUSTOMOPTIONS)

DESCRIPTOR.services_by_name['TestServiceWithCustomOptions'] = _TESTSERVICEWITHCUSTOMOPTIONS


_AGGREGATESERVICE = _descriptor.ServiceDescriptor(
  name='AggregateService',
  full_name='protobuf_unittest.AggregateService',
  file=DESCRIPTOR,
  index=1,
  serialized_options=b'\312\373\216;\023\022\021ServiceAnnotation',
  create_key=_descriptor._internal_create_key,
  serialized_start=3287,
  serialized_end=3440,
  methods=[
  _descriptor.MethodDescriptor(
    name='Method',
    full_name='protobuf_unittest.AggregateService.Method',
    index=0,
    containing_service=None,
    input_type=_AGGREGATEMESSAGE,
    output_type=_AGGREGATEMESSAGE,
    serialized_options=b'\312\310\226;\022\022\020MethodAnnotation',
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_AGGREGATESERVICE)

DESCRIPTOR.services_by_name['AggregateService'] = _AGGREGATESERVICE

TestServiceWithCustomOptions = service_reflection.GeneratedServiceType('TestServiceWithCustomOptions', (_service.Service,), dict(
  DESCRIPTOR = _TESTSERVICEWITHCUSTOMOPTIONS,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  ))

TestServiceWithCustomOptions_Stub = service_reflection.GeneratedServiceStubType('TestServiceWithCustomOptions_Stub', (TestServiceWithCustomOptions,), dict(
  DESCRIPTOR = _TESTSERVICEWITHCUSTOMOPTIONS,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  ))


AggregateService = service_reflection.GeneratedServiceType('AggregateService', (_service.Service,), dict(
  DESCRIPTOR = _AGGREGATESERVICE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  ))

AggregateService_Stub = service_reflection.GeneratedServiceStubType('AggregateService_Stub', (AggregateService,), dict(
  DESCRIPTOR = _AGGREGATESERVICE,
  __module__ = 'google.protobuf.unittest_custom_options_pb2'
  ))


# @@protoc_insertion_point(module_scope)
