Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
PK!  protobuf/text_encoding.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Encoding related utilities.""" import re import six # Lookup table for utf8 _cescape_utf8_to_str = [chr(i) for i in range(0, 256)] _cescape_utf8_to_str[9] = r'\t' # optional escape _cescape_utf8_to_str[10] = r'\n' # optional escape _cescape_utf8_to_str[13] = r'\r' # optional escape _cescape_utf8_to_str[39] = r"\'" # optional escape _cescape_utf8_to_str[34] = r'\"' # necessary escape _cescape_utf8_to_str[92] = r'\\' # necessary escape # Lookup table for non-utf8, with necessary escapes at (o >= 127 or o < 32) _cescape_byte_to_str = ([r'\%03o' % i for i in range(0, 32)] + [chr(i) for i in range(32, 127)] + [r'\%03o' % i for i in range(127, 256)]) _cescape_byte_to_str[9] = r'\t' # optional escape _cescape_byte_to_str[10] = r'\n' # optional escape _cescape_byte_to_str[13] = r'\r' # optional escape _cescape_byte_to_str[39] = r"\'" # optional escape _cescape_byte_to_str[34] = r'\"' # necessary escape _cescape_byte_to_str[92] = r'\\' # necessary escape def CEscape(text, as_utf8): """Escape a bytes string for use in an ascii protocol buffer. text.encode('string_escape') does not seem to satisfy our needs as it encodes unprintable characters using two-digit hex escapes whereas our C++ unescaping function allows hex escapes to be any length. So, "\0011".encode('string_escape') ends up being "\\x011", which will be decoded in C++ as a single-character string with char code 0x11. Args: text: A byte string to be escaped as_utf8: Specifies if result should be returned in UTF-8 encoding Returns: Escaped string """ # PY3 hack: make Ord work for str and bytes: # //platforms/networking/data uses unicode here, hence basestring. Ord = ord if isinstance(text, six.string_types) else lambda x: x if as_utf8: return ''.join(_cescape_utf8_to_str[Ord(c)] for c in text) return ''.join(_cescape_byte_to_str[Ord(c)] for c in text) _CUNESCAPE_HEX = re.compile(r'(\\+)x([0-9a-fA-F])(?![0-9a-fA-F])') _cescape_highbit_to_str = ([chr(i) for i in range(0, 127)] + [r'\%03o' % i for i in range(127, 256)]) def CUnescape(text): """Unescape a text string with C-style escape sequences to UTF-8 bytes.""" def ReplaceHex(m): # Only replace the match if the number of leading back slashes is odd. i.e. # the slash itself is not escaped. if len(m.group(1)) & 1: return m.group(1) + 'x0' + m.group(2) return m.group(0) # This is required because the 'string_escape' encoding doesn't # allow single-digit hex escapes (like '\xf'). result = _CUNESCAPE_HEX.sub(ReplaceHex, text) if str is bytes: # PY2 return result.decode('string_escape') result = ''.join(_cescape_highbit_to_str[ord(c)] for c in result) return (result.encode('ascii') # Make it bytes to allow decode. .decode('unicode_escape') # Make it bytes again to return the proper type. .encode('raw_unicode_escape')) PK! Ͼ,,protobuf/message.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # TODO(robinson): We should just make these methods all "pure-virtual" and move # all implementation out, into reflection.py for now. """Contains an abstract base class for protocol messages.""" __author__ = 'robinson@google.com (Will Robinson)' class Error(Exception): pass class DecodeError(Error): pass class EncodeError(Error): pass class Message(object): """Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. TODO(robinson): Link to an HTML document here. TODO(robinson): Document that instances of this class will also have an Extensions attribute with __getitem__ and __setitem__. Again, not sure how to best convey this. TODO(robinson): Document that the class must also have a static RegisterExtension(extension_field) method. Not sure how to best express at this point. """ # TODO(robinson): Document these fields and methods. __slots__ = [] DESCRIPTOR = None def __deepcopy__(self, memo=None): clone = type(self)() clone.MergeFrom(self) return clone def __eq__(self, other_msg): """Recursively compares two messages by value and structure.""" raise NotImplementedError def __ne__(self, other_msg): # Can't just say self != other_msg, since that would infinitely recurse. :) return not self == other_msg def __hash__(self): raise TypeError('unhashable object') def __str__(self): """Outputs a human-readable representation of the message.""" raise NotImplementedError def __unicode__(self): """Outputs a human-readable representation of the message.""" raise NotImplementedError def MergeFrom(self, other_msg): """Merges the contents of the specified message into current message. This method merges the contents of the specified message into the current message. Singular fields that are set in the specified message overwrite the corresponding fields in the current message. Repeated fields are appended. Singular sub-messages and groups are recursively merged. Args: other_msg: Message to merge into the current message. """ raise NotImplementedError def CopyFrom(self, other_msg): """Copies the content of the specified message into the current message. The method clears the current message and then merges the specified message using MergeFrom. Args: other_msg: Message to copy into the current one. """ if self is other_msg: return self.Clear() self.MergeFrom(other_msg) def Clear(self): """Clears all data that was set in the message.""" raise NotImplementedError def SetInParent(self): """Mark this as present in the parent. This normally happens automatically when you assign a field of a sub-message, but sometimes you want to make the sub-message present while keeping it empty. If you find yourself using this, you may want to reconsider your design.""" raise NotImplementedError def IsInitialized(self): """Checks if the message is initialized. Returns: The method returns True if the message is initialized (i.e. all of its required fields are set). """ raise NotImplementedError # TODO(robinson): MergeFromString() should probably return None and be # implemented in terms of a helper that returns the # of bytes read. Our # deserialization routines would use the helper when recursively # deserializing, but the end user would almost always just want the no-return # MergeFromString(). def MergeFromString(self, serialized): """Merges serialized protocol buffer data into this message. When we find a field in |serialized| that is already present in this message: - If it's a "repeated" field, we append to the end of our list. - Else, if it's a scalar, we overwrite our field. - Else, (it's a nonrepeated composite), we recursively merge into the existing composite. TODO(robinson): Document handling of unknown fields. Args: serialized: Any object that allows us to call buffer(serialized) to access a string of bytes using the buffer interface. TODO(robinson): When we switch to a helper, this will return None. Returns: The number of bytes read from |serialized|. For non-group messages, this will always be len(serialized), but for messages which are actually groups, this will generally be less than len(serialized), since we must stop when we reach an END_GROUP tag. Note that if we *do* stop because of an END_GROUP tag, the number of bytes returned does not include the bytes for the END_GROUP tag information. """ raise NotImplementedError def ParseFromString(self, serialized): """Parse serialized protocol buffer data into this message. Like MergeFromString(), except we clear the object first and do not return the value that MergeFromString returns. """ self.Clear() self.MergeFromString(serialized) def SerializeToString(self, **kwargs): """Serializes the protocol message to a binary string. Arguments: **kwargs: Keyword arguments to the serialize method, accepts the following keyword args: deterministic: If true, requests deterministic serialization of the protobuf, with predictable ordering of map keys. Returns: A binary string representation of the message if all of the required fields in the message are set (i.e. the message is initialized). Raises: message.EncodeError if the message isn't initialized. """ raise NotImplementedError def SerializePartialToString(self, **kwargs): """Serializes the protocol message to a binary string. This method is similar to SerializeToString but doesn't check if the message is initialized. Arguments: **kwargs: Keyword arguments to the serialize method, accepts the following keyword args: deterministic: If true, requests deterministic serialization of the protobuf, with predictable ordering of map keys. Returns: A string representation of the partial message. """ raise NotImplementedError # TODO(robinson): Decide whether we like these better # than auto-generated has_foo() and clear_foo() methods # on the instances themselves. This way is less consistent # with C++, but it makes reflection-type access easier and # reduces the number of magically autogenerated things. # # TODO(robinson): Be sure to document (and test) exactly # which field names are accepted here. Are we case-sensitive? # What do we do with fields that share names with Python keywords # like 'lambda' and 'yield'? # # nnorwitz says: # """ # Typically (in python), an underscore is appended to names that are # keywords. So they would become lambda_ or yield_. # """ def ListFields(self): """Returns a list of (FieldDescriptor, value) tuples for all fields in the message which are not empty. A message field is non-empty if HasField() would return true. A singular primitive field is non-empty if HasField() would return true in proto2 or it is non zero in proto3. A repeated field is non-empty if it contains at least one element. The fields are ordered by field number""" raise NotImplementedError def HasField(self, field_name): """Checks if a certain field is set for the message, or if any field inside a oneof group is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.""" raise NotImplementedError def ClearField(self, field_name): """Clears the contents of a given field, or the field set inside a oneof group. If the name neither refers to a defined field or oneof group, ValueError is raised.""" raise NotImplementedError def WhichOneof(self, oneof_group): """Returns the name of the field that is set inside a oneof group, or None if no field is set. If no group with the given name exists, ValueError will be raised.""" raise NotImplementedError def HasExtension(self, extension_handle): raise NotImplementedError def ClearExtension(self, extension_handle): raise NotImplementedError def DiscardUnknownFields(self): raise NotImplementedError def ByteSize(self): """Returns the serialized size of this message. Recursively calls ByteSize() on all contained messages. """ raise NotImplementedError def _SetListener(self, message_listener): """Internal method used by the protocol message implementation. Clients should not call this directly. Sets a listener that this message will call on certain state transitions. The purpose of this method is to register back-edges from children to parents at runtime, for the purpose of setting "has" bits and byte-size-dirty bits in the parent and ancestor objects whenever a child or descendant object is modified. If the client wants to disconnect this Message from the object tree, she explicitly sets callback to None. If message_listener is None, unregisters any existing listener. Otherwise, message_listener must implement the MessageListener interface in internal/message_listener.py, and we discard any listener registered via a previous _SetListener() call. """ raise NotImplementedError def __getstate__(self): """Support the pickle protocol.""" return dict(serialized=self.SerializePartialToString()) def __setstate__(self, state): """Support the pickle protocol.""" self.__init__() self.ParseFromString(state['serialized']) PK!Qtbbprotobuf/__init__.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Copyright 2007 Google Inc. All Rights Reserved. __version__ = '3.5.0' if __name__ != '__main__': try: __import__('pkg_resources').declare_namespace(__name__) except ImportError: __path__ = __import__('pkgutil').extend_path(__path__, __name__) PK!c+z(protobuf/unittest_no_arena_import_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_no_arena_import.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest_no_arena_import.proto', package='proto2_arena_unittest', syntax='proto2', serialized_pb=_b('\n.google/protobuf/unittest_no_arena_import.proto\x12\x15proto2_arena_unittest\"\'\n\x1aImportNoArenaNestedMessage\x12\t\n\x01\x64\x18\x01 \x01(\x05') ) _IMPORTNOARENANESTEDMESSAGE = _descriptor.Descriptor( name='ImportNoArenaNestedMessage', full_name='proto2_arena_unittest.ImportNoArenaNestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='d', full_name='proto2_arena_unittest.ImportNoArenaNestedMessage.d', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=73, serialized_end=112, ) DESCRIPTOR.message_types_by_name['ImportNoArenaNestedMessage'] = _IMPORTNOARENANESTEDMESSAGE _sym_db.RegisterFileDescriptor(DESCRIPTOR) ImportNoArenaNestedMessage = _reflection.GeneratedProtocolMessageType('ImportNoArenaNestedMessage', (_message.Message,), dict( DESCRIPTOR = _IMPORTNOARENANESTEDMESSAGE, __module__ = 'google.protobuf.unittest_no_arena_import_pb2' # @@protoc_insertion_point(class_scope:proto2_arena_unittest.ImportNoArenaNestedMessage) )) _sym_db.RegisterMessage(ImportNoArenaNestedMessage) # @@protoc_insertion_point(module_scope) PK! protobuf/source_context_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/source_context.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/source_context.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n$google/protobuf/source_context.proto\x12\x0fgoogle.protobuf\"\"\n\rSourceContext\x12\x11\n\tfile_name\x18\x01 \x01(\tB\x95\x01\n\x13\x63om.google.protobufB\x12SourceContextProtoP\x01ZAgoogle.golang.org/genproto/protobuf/source_context;source_context\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') ) _SOURCECONTEXT = _descriptor.Descriptor( name='SourceContext', full_name='google.protobuf.SourceContext', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='file_name', full_name='google.protobuf.SourceContext.file_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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=57, serialized_end=91, ) DESCRIPTOR.message_types_by_name['SourceContext'] = _SOURCECONTEXT _sym_db.RegisterFileDescriptor(DESCRIPTOR) SourceContext = _reflection.GeneratedProtocolMessageType('SourceContext', (_message.Message,), dict( DESCRIPTOR = _SOURCECONTEXT, __module__ = 'google.protobuf.source_context_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.SourceContext) )) _sym_db.RegisterMessage(SourceContext) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\022SourceContextProtoP\001ZAgoogle.golang.org/genproto/protobuf/source_context;source_context\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) # @@protoc_insertion_point(module_scope) PK!*``'protobuf/unittest_custom_options_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_custom_options.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import service as _service from google.protobuf import service_reflection from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from 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_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, values=[ _descriptor.EnumValueDescriptor( name='METHODOPT1_VAL1', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='METHODOPT1_VAL2', index=1, number=2, options=None, type=None), ], containing_type=None, 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, values=[ _descriptor.EnumValueDescriptor( name='VALUE', index=0, number=1, options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\312\374\211;\025\022\023EnumValueAnnotation')), type=None), ], containing_type=None, options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) 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, options=None, file=DESCRIPTOR) _TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM = _descriptor.EnumDescriptor( name='AnEnum', full_name='protobuf_unittest.TestMessageWithCustomOptions.AnEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='ANENUM_VAL1', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='ANENUM_VAL2', index=1, number=2, options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\260\206\372\005{')), type=None), ], containing_type=None, options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _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, values=[ _descriptor.EnumValueDescriptor( name='TEST_OPTION_ENUM_TYPE1', index=0, number=22, options=None, type=None), _descriptor.EnumValueDescriptor( name='TEST_OPTION_ENUM_TYPE2', index=1, number=-23, options=None, type=None), ], containing_type=None, 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, values=[ _descriptor.EnumValueDescriptor( name='NESTED_ENUM_VALUE', index=0, number=1, options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\260\206\372\005\354\007')), type=None), ], containing_type=None, options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _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, values=[ _descriptor.EnumValueDescriptor( name='OLD_VALUE', index=0, number=0, options=None, type=None), ], containing_type=None, 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, values=[ _descriptor.EnumValueDescriptor( name='OLD_VALUE', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='NEW_VALUE', index=1, number=1, options=None, type=None), ], containing_type=None, 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, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001\301\340\303\035-\341u\n\002\000\000\000')), file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM, ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, fields=[], options=_descriptor._ParseOptions(descriptor_pb2.OneofOptions(), _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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], 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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], 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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], 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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], 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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ _DUMMYMESSAGECONTAININGENUM_TESTENUMTYPE, ], 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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], 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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, 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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], 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, 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, options=None, file=DESCRIPTOR), ], 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], 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, 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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4, ], enum_types=[ ], 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, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], 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, 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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5, ], enum_types=[ ], 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, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], 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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, 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, options=None, file=DESCRIPTOR), ], 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], 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, 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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), _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, options=None, file=DESCRIPTOR), ], 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], 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, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\362\241\207;\021\022\017FieldAnnotation')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\301\340\303\035\352\003\000\000\000\000\000\000')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\213\312\035\355\007')), file=DESCRIPTOR), ], nested_types=[_NESTEDOPTIONTYPE_NESTEDMESSAGE, ], enum_types=[ _NESTEDOPTIONTYPE_NESTEDENUM, ], 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, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _OLDOPTIONTYPE_TESTENUM, ], 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, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _NEWOPTIONTYPE_TESTENUM, ], 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, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( ComplexOptionType4 = _reflection.GeneratedProtocolMessageType('ComplexOptionType4', (_message.Message,), dict( 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,), dict( ComplexOptionType5 = _reflection.GeneratedProtocolMessageType('ComplexOptionType5', (_message.Message,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( 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,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( 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,), dict( 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,), dict( 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,), dict( 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.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _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')) _AGGREGATEENUM.has_options = True _AGGREGATEENUM._options = _descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\222\225\210;\020\022\016EnumAnnotation')) _AGGREGATEENUM.values_by_name["VALUE"].has_options = True _AGGREGATEENUM.values_by_name["VALUE"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\312\374\211;\025\022\023EnumValueAnnotation')) _TESTMESSAGEWITHCUSTOMOPTIONS.oneofs_by_name['AnOneof'].has_options = True _TESTMESSAGEWITHCUSTOMOPTIONS.oneofs_by_name['AnOneof']._options = _descriptor._ParseOptions(descriptor_pb2.OneofOptions(), _b('\370\254\303\035\235\377\377\377\377\377\377\377\377\001')) _TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM.has_options = True _TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM._options = _descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\305\366\311\035\353\374\377\377')) _TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM.values_by_name["ANENUM_VAL2"].has_options = True _TESTMESSAGEWITHCUSTOMOPTIONS_ANENUM.values_by_name["ANENUM_VAL2"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\260\206\372\005{')) _TESTMESSAGEWITHCUSTOMOPTIONS.fields_by_name['field1'].has_options = True _TESTMESSAGEWITHCUSTOMOPTIONS.fields_by_name['field1']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001\301\340\303\035-\341u\n\002\000\000\000')) _TESTMESSAGEWITHCUSTOMOPTIONS.has_options = True _TESTMESSAGEWITHCUSTOMOPTIONS._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\010\000\340\351\302\035\310\377\377\377\377\377\377\377\377\001')) _CUSTOMOPTIONMININTEGERVALUES.has_options = True _CUSTOMOPTIONMININTEGERVALUES._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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')) _CUSTOMOPTIONMAXINTEGERVALUES.has_options = True _CUSTOMOPTIONMAXINTEGERVALUES._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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')) _CUSTOMOPTIONOTHERVALUES.has_options = True _CUSTOMOPTIONOTHERVALUES._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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')) _SETTINGREALSFROMPOSITIVEINTS.has_options = True _SETTINGREALSFROMPOSITIVEINTS._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\365\337\243\035\000\000@A\351\334\242\035\000\000\000\000\000@c@')) _SETTINGREALSFROMNEGATIVEINTS.has_options = True _SETTINGREALSFROMNEGATIVEINTS._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\365\337\243\035\000\000@\301\351\334\242\035\000\000\000\000\000@c\300')) _VARIOUSCOMPLEXOPTIONS.has_options = True _VARIOUSCOMPLEXOPTIONS._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _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')) _AGGREGATEMESSAGESET.has_options = True _AGGREGATEMESSAGESET._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\010\001')) _AGGREGATEMESSAGE.fields_by_name['fieldname'].has_options = True _AGGREGATEMESSAGE.fields_by_name['fieldname']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\362\241\207;\021\022\017FieldAnnotation')) _AGGREGATEMESSAGE.has_options = True _AGGREGATEMESSAGE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\302\321\206;\025\010e\022\021MessageAnnotation')) _NESTEDOPTIONTYPE_NESTEDMESSAGE.fields_by_name['nested_field'].has_options = True _NESTEDOPTIONTYPE_NESTEDMESSAGE.fields_by_name['nested_field']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\301\340\303\035\352\003\000\000\000\000\000\000')) _NESTEDOPTIONTYPE_NESTEDMESSAGE.has_options = True _NESTEDOPTIONTYPE_NESTEDMESSAGE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\340\351\302\035\351\007')) _NESTEDOPTIONTYPE_NESTEDENUM.has_options = True _NESTEDOPTIONTYPE_NESTEDENUM._options = _descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\305\366\311\035\353\003\000\000')) _NESTEDOPTIONTYPE_NESTEDENUM.values_by_name["NESTED_ENUM_VALUE"].has_options = True _NESTEDOPTIONTYPE_NESTEDENUM.values_by_name["NESTED_ENUM_VALUE"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\260\206\372\005\354\007')) _NESTEDOPTIONTYPE.extensions_by_name['nested_extension'].has_options = True _NESTEDOPTIONTYPE.extensions_by_name['nested_extension']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\213\312\035\355\007')) _TESTMESSAGEWITHREQUIREDENUMOPTION.has_options = True _TESTMESSAGEWITHREQUIREDENUMOPTION._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\372\350\374\224\003\002\010\000')) _TESTSERVICEWITHCUSTOMOPTIONS = _descriptor.ServiceDescriptor( name='TestServiceWithCustomOptions', full_name='protobuf_unittest.TestServiceWithCustomOptions', file=DESCRIPTOR, index=0, options=_descriptor._ParseOptions(descriptor_pb2.ServiceOptions(), _b('\220\262\213\036\323\333\200\313I')), 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, options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\340\372\214\036\002')), ), ]) _sym_db.RegisterServiceDescriptor(_TESTSERVICEWITHCUSTOMOPTIONS) DESCRIPTOR.services_by_name['TestServiceWithCustomOptions'] = _TESTSERVICEWITHCUSTOMOPTIONS _AGGREGATESERVICE = _descriptor.ServiceDescriptor( name='AggregateService', full_name='protobuf_unittest.AggregateService', file=DESCRIPTOR, index=1, options=_descriptor._ParseOptions(descriptor_pb2.ServiceOptions(), _b('\312\373\216;\023\022\021ServiceAnnotation')), 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, options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\312\310\226;\022\022\020MethodAnnotation')), ), ]) _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) PK!@gƕ,protobuf/unittest_no_generic_services_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_no_generic_services.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest_no_generic_services.proto', package='google.protobuf.no_generic_services_test', syntax='proto2', serialized_pb=_b('\n2google/protobuf/unittest_no_generic_services.proto\x12(google.protobuf.no_generic_services_test\"#\n\x0bTestMessage\x12\t\n\x01\x61\x18\x01 \x01(\x05*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02*\x13\n\x08TestEnum\x12\x07\n\x03\x46OO\x10\x01\x32\x82\x01\n\x0bTestService\x12s\n\x03\x46oo\x12\x35.google.protobuf.no_generic_services_test.TestMessage\x1a\x35.google.protobuf.no_generic_services_test.TestMessage:N\n\x0etest_extension\x12\x35.google.protobuf.no_generic_services_test.TestMessage\x18\xe8\x07 \x01(\x05') ) _TESTENUM = _descriptor.EnumDescriptor( name='TestEnum', full_name='google.protobuf.no_generic_services_test.TestEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOO', index=0, number=1, options=None, type=None), ], containing_type=None, options=None, serialized_start=133, serialized_end=152, ) _sym_db.RegisterEnumDescriptor(_TESTENUM) TestEnum = enum_type_wrapper.EnumTypeWrapper(_TESTENUM) FOO = 1 TEST_EXTENSION_FIELD_NUMBER = 1000 test_extension = _descriptor.FieldDescriptor( name='test_extension', full_name='google.protobuf.no_generic_services_test.test_extension', index=0, number=1000, 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, options=None, file=DESCRIPTOR) _TESTMESSAGE = _descriptor.Descriptor( name='TestMessage', full_name='google.protobuf.no_generic_services_test.TestMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='google.protobuf.no_generic_services_test.TestMessage.a', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=96, serialized_end=131, ) DESCRIPTOR.message_types_by_name['TestMessage'] = _TESTMESSAGE DESCRIPTOR.enum_types_by_name['TestEnum'] = _TESTENUM DESCRIPTOR.extensions_by_name['test_extension'] = test_extension _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestMessage = _reflection.GeneratedProtocolMessageType('TestMessage', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGE, __module__ = 'google.protobuf.unittest_no_generic_services_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.no_generic_services_test.TestMessage) )) _sym_db.RegisterMessage(TestMessage) TestMessage.RegisterExtension(test_extension) _TESTSERVICE = _descriptor.ServiceDescriptor( name='TestService', full_name='google.protobuf.no_generic_services_test.TestService', file=DESCRIPTOR, index=0, options=None, serialized_start=155, serialized_end=285, methods=[ _descriptor.MethodDescriptor( name='Foo', full_name='google.protobuf.no_generic_services_test.TestService.Foo', index=0, containing_service=None, input_type=_TESTMESSAGE, output_type=_TESTMESSAGE, options=None, ), ]) _sym_db.RegisterServiceDescriptor(_TESTSERVICE) DESCRIPTOR.services_by_name['TestService'] = _TESTSERVICE # @@protoc_insertion_point(module_scope) PK!l՚,,protobuf/descriptor_database.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Provides a container for DescriptorProtos.""" __author__ = 'matthewtoia@google.com (Matt Toia)' class Error(Exception): pass class DescriptorDatabaseConflictingDefinitionError(Error): """Raised when a proto is added with the same name & different descriptor.""" class DescriptorDatabase(object): """A container accepting FileDescriptorProtos and maps DescriptorProtos.""" def __init__(self): self._file_desc_protos_by_file = {} self._file_desc_protos_by_symbol = {} def Add(self, file_desc_proto): """Adds the FileDescriptorProto and its types to this database. Args: file_desc_proto: The FileDescriptorProto to add. Raises: DescriptorDatabaseConflictingDefinitionError: if an attempt is made to add a proto with the same name but different definition than an exisiting proto in the database. """ proto_name = file_desc_proto.name if proto_name not in self._file_desc_protos_by_file: self._file_desc_protos_by_file[proto_name] = file_desc_proto elif self._file_desc_protos_by_file[proto_name] != file_desc_proto: raise DescriptorDatabaseConflictingDefinitionError( '%s already added, but with different descriptor.' % proto_name) # Add all the top-level descriptors to the index. package = file_desc_proto.package for message in file_desc_proto.message_type: self._file_desc_protos_by_symbol.update( (name, file_desc_proto) for name in _ExtractSymbols(message, package)) for enum in file_desc_proto.enum_type: self._file_desc_protos_by_symbol[ '.'.join((package, enum.name))] = file_desc_proto for extension in file_desc_proto.extension: self._file_desc_protos_by_symbol[ '.'.join((package, extension.name))] = file_desc_proto for service in file_desc_proto.service: self._file_desc_protos_by_symbol[ '.'.join((package, service.name))] = file_desc_proto def FindFileByName(self, name): """Finds the file descriptor proto by file name. Typically the file name is a relative path ending to a .proto file. The proto with the given name will have to have been added to this database using the Add method or else an error will be raised. Args: name: The file name to find. Returns: The file descriptor proto matching the name. Raises: KeyError if no file by the given name was added. """ return self._file_desc_protos_by_file[name] def FindFileContainingSymbol(self, symbol): """Finds the file descriptor proto containing the specified symbol. The symbol should be a fully qualified name including the file descriptor's package and any containing messages. Some examples: 'some.package.name.Message' 'some.package.name.Message.NestedEnum' 'some.package.name.Message.some_field' The file descriptor proto containing the specified symbol must be added to this database using the Add method or else an error will be raised. Args: symbol: The fully qualified symbol name. Returns: The file descriptor proto containing the symbol. Raises: KeyError if no file contains the specified symbol. """ try: return self._file_desc_protos_by_symbol[symbol] except KeyError: # Fields, enum values, and nested extensions are not in # _file_desc_protos_by_symbol. Try to find the top level # descriptor. Non-existent nested symbol under a valid top level # descriptor can also be found. The behavior is the same with # protobuf C++. top_level, _, _ = symbol.rpartition('.') return self._file_desc_protos_by_symbol[top_level] def _ExtractSymbols(desc_proto, package): """Pulls out all the symbols from a descriptor proto. Args: desc_proto: The proto to extract symbols from. package: The package containing the descriptor type. Yields: The fully qualified name found in the descriptor. """ message_name = package + '.' + desc_proto.name if package else desc_proto.name yield message_name for nested_type in desc_proto.nested_type: for symbol in _ExtractSymbols(nested_type, message_name): yield symbol for enum_type in desc_proto.enum_type: yield '.'.join((message_name, enum_type.name)) PK!&' - -protobuf/wrappers_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/wrappers.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/wrappers.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n\x1egoogle/protobuf/wrappers.proto\x12\x0fgoogle.protobuf\"\x1c\n\x0b\x44oubleValue\x12\r\n\x05value\x18\x01 \x01(\x01\"\x1b\n\nFloatValue\x12\r\n\x05value\x18\x01 \x01(\x02\"\x1b\n\nInt64Value\x12\r\n\x05value\x18\x01 \x01(\x03\"\x1c\n\x0bUInt64Value\x12\r\n\x05value\x18\x01 \x01(\x04\"\x1b\n\nInt32Value\x12\r\n\x05value\x18\x01 \x01(\x05\"\x1c\n\x0bUInt32Value\x12\r\n\x05value\x18\x01 \x01(\r\"\x1a\n\tBoolValue\x12\r\n\x05value\x18\x01 \x01(\x08\"\x1c\n\x0bStringValue\x12\r\n\x05value\x18\x01 \x01(\t\"\x1b\n\nBytesValue\x12\r\n\x05value\x18\x01 \x01(\x0c\x42|\n\x13\x63om.google.protobufB\rWrappersProtoP\x01Z*github.com/golang/protobuf/ptypes/wrappers\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') ) _DOUBLEVALUE = _descriptor.Descriptor( name='DoubleValue', full_name='google.protobuf.DoubleValue', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.DoubleValue.value', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=51, serialized_end=79, ) _FLOATVALUE = _descriptor.Descriptor( name='FloatValue', full_name='google.protobuf.FloatValue', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.FloatValue.value', index=0, number=1, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=81, serialized_end=108, ) _INT64VALUE = _descriptor.Descriptor( name='Int64Value', full_name='google.protobuf.Int64Value', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.Int64Value.value', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=110, serialized_end=137, ) _UINT64VALUE = _descriptor.Descriptor( name='UInt64Value', full_name='google.protobuf.UInt64Value', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.UInt64Value.value', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=139, serialized_end=167, ) _INT32VALUE = _descriptor.Descriptor( name='Int32Value', full_name='google.protobuf.Int32Value', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.Int32Value.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=169, serialized_end=196, ) _UINT32VALUE = _descriptor.Descriptor( name='UInt32Value', full_name='google.protobuf.UInt32Value', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.UInt32Value.value', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=198, serialized_end=226, ) _BOOLVALUE = _descriptor.Descriptor( name='BoolValue', full_name='google.protobuf.BoolValue', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.BoolValue.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=228, serialized_end=254, ) _STRINGVALUE = _descriptor.Descriptor( name='StringValue', full_name='google.protobuf.StringValue', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.StringValue.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=256, serialized_end=284, ) _BYTESVALUE = _descriptor.Descriptor( name='BytesValue', full_name='google.protobuf.BytesValue', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.BytesValue.value', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=286, serialized_end=313, ) DESCRIPTOR.message_types_by_name['DoubleValue'] = _DOUBLEVALUE DESCRIPTOR.message_types_by_name['FloatValue'] = _FLOATVALUE DESCRIPTOR.message_types_by_name['Int64Value'] = _INT64VALUE DESCRIPTOR.message_types_by_name['UInt64Value'] = _UINT64VALUE DESCRIPTOR.message_types_by_name['Int32Value'] = _INT32VALUE DESCRIPTOR.message_types_by_name['UInt32Value'] = _UINT32VALUE DESCRIPTOR.message_types_by_name['BoolValue'] = _BOOLVALUE DESCRIPTOR.message_types_by_name['StringValue'] = _STRINGVALUE DESCRIPTOR.message_types_by_name['BytesValue'] = _BYTESVALUE _sym_db.RegisterFileDescriptor(DESCRIPTOR) DoubleValue = _reflection.GeneratedProtocolMessageType('DoubleValue', (_message.Message,), dict( DESCRIPTOR = _DOUBLEVALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.DoubleValue) )) _sym_db.RegisterMessage(DoubleValue) FloatValue = _reflection.GeneratedProtocolMessageType('FloatValue', (_message.Message,), dict( DESCRIPTOR = _FLOATVALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.FloatValue) )) _sym_db.RegisterMessage(FloatValue) Int64Value = _reflection.GeneratedProtocolMessageType('Int64Value', (_message.Message,), dict( DESCRIPTOR = _INT64VALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Int64Value) )) _sym_db.RegisterMessage(Int64Value) UInt64Value = _reflection.GeneratedProtocolMessageType('UInt64Value', (_message.Message,), dict( DESCRIPTOR = _UINT64VALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.UInt64Value) )) _sym_db.RegisterMessage(UInt64Value) Int32Value = _reflection.GeneratedProtocolMessageType('Int32Value', (_message.Message,), dict( DESCRIPTOR = _INT32VALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Int32Value) )) _sym_db.RegisterMessage(Int32Value) UInt32Value = _reflection.GeneratedProtocolMessageType('UInt32Value', (_message.Message,), dict( DESCRIPTOR = _UINT32VALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.UInt32Value) )) _sym_db.RegisterMessage(UInt32Value) BoolValue = _reflection.GeneratedProtocolMessageType('BoolValue', (_message.Message,), dict( DESCRIPTOR = _BOOLVALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.BoolValue) )) _sym_db.RegisterMessage(BoolValue) StringValue = _reflection.GeneratedProtocolMessageType('StringValue', (_message.Message,), dict( DESCRIPTOR = _STRINGVALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.StringValue) )) _sym_db.RegisterMessage(StringValue) BytesValue = _reflection.GeneratedProtocolMessageType('BytesValue', (_message.Message,), dict( DESCRIPTOR = _BYTESVALUE, __module__ = 'google.protobuf.wrappers_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.BytesValue) )) _sym_db.RegisterMessage(BytesValue) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\rWrappersProtoP\001Z*github.com/golang/protobuf/ptypes/wrappers\370\001\001\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) # @@protoc_insertion_point(module_scope) PK!E!protobuf/unittest_no_arena_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_no_arena.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import unittest_import_pb2 as google_dot_protobuf_dot_unittest__import__pb2 try: google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google_dot_protobuf_dot_unittest__import__public__pb2 except AttributeError: google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google.protobuf.unittest_import_public_pb2 from google.protobuf import unittest_arena_pb2 as google_dot_protobuf_dot_unittest__arena__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest_no_arena.proto', package='protobuf_unittest_no_arena', syntax='proto2', serialized_pb=_b('\n\'google/protobuf/unittest_no_arena.proto\x12\x1aprotobuf_unittest_no_arena\x1a%google/protobuf/unittest_import.proto\x1a$google/protobuf/unittest_arena.proto\"\xd0\x1a\n\x0cTestAllTypes\x12\x16\n\x0eoptional_int32\x18\x01 \x01(\x05\x12\x16\n\x0eoptional_int64\x18\x02 \x01(\x03\x12\x17\n\x0foptional_uint32\x18\x03 \x01(\r\x12\x17\n\x0foptional_uint64\x18\x04 \x01(\x04\x12\x17\n\x0foptional_sint32\x18\x05 \x01(\x11\x12\x17\n\x0foptional_sint64\x18\x06 \x01(\x12\x12\x18\n\x10optional_fixed32\x18\x07 \x01(\x07\x12\x18\n\x10optional_fixed64\x18\x08 \x01(\x06\x12\x19\n\x11optional_sfixed32\x18\t \x01(\x0f\x12\x19\n\x11optional_sfixed64\x18\n \x01(\x10\x12\x16\n\x0eoptional_float\x18\x0b \x01(\x02\x12\x17\n\x0foptional_double\x18\x0c \x01(\x01\x12\x15\n\roptional_bool\x18\r \x01(\x08\x12\x17\n\x0foptional_string\x18\x0e \x01(\t\x12\x16\n\x0eoptional_bytes\x18\x0f \x01(\x0c\x12M\n\roptionalgroup\x18\x10 \x01(\n26.protobuf_unittest_no_arena.TestAllTypes.OptionalGroup\x12W\n\x17optional_nested_message\x18\x12 \x01(\x0b\x32\x36.protobuf_unittest_no_arena.TestAllTypes.NestedMessage\x12L\n\x18optional_foreign_message\x18\x13 \x01(\x0b\x32*.protobuf_unittest_no_arena.ForeignMessage\x12H\n\x17optional_import_message\x18\x14 \x01(\x0b\x32\'.protobuf_unittest_import.ImportMessage\x12Q\n\x14optional_nested_enum\x18\x15 \x01(\x0e\x32\x33.protobuf_unittest_no_arena.TestAllTypes.NestedEnum\x12\x46\n\x15optional_foreign_enum\x18\x16 \x01(\x0e\x32\'.protobuf_unittest_no_arena.ForeignEnum\x12\x42\n\x14optional_import_enum\x18\x17 \x01(\x0e\x32$.protobuf_unittest_import.ImportEnum\x12!\n\x15optional_string_piece\x18\x18 \x01(\tB\x02\x08\x02\x12\x19\n\roptional_cord\x18\x19 \x01(\tB\x02\x08\x01\x12U\n\x1eoptional_public_import_message\x18\x1a \x01(\x0b\x32-.protobuf_unittest_import.PublicImportMessage\x12T\n\x10optional_message\x18\x1b \x01(\x0b\x32\x36.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB\x02(\x01\x12\x16\n\x0erepeated_int32\x18\x1f \x03(\x05\x12\x16\n\x0erepeated_int64\x18 \x03(\x03\x12\x17\n\x0frepeated_uint32\x18! \x03(\r\x12\x17\n\x0frepeated_uint64\x18\" \x03(\x04\x12\x17\n\x0frepeated_sint32\x18# \x03(\x11\x12\x17\n\x0frepeated_sint64\x18$ \x03(\x12\x12\x18\n\x10repeated_fixed32\x18% \x03(\x07\x12\x18\n\x10repeated_fixed64\x18& \x03(\x06\x12\x19\n\x11repeated_sfixed32\x18\' \x03(\x0f\x12\x19\n\x11repeated_sfixed64\x18( \x03(\x10\x12\x16\n\x0erepeated_float\x18) \x03(\x02\x12\x17\n\x0frepeated_double\x18* \x03(\x01\x12\x15\n\rrepeated_bool\x18+ \x03(\x08\x12\x17\n\x0frepeated_string\x18, \x03(\t\x12\x16\n\x0erepeated_bytes\x18- \x03(\x0c\x12M\n\rrepeatedgroup\x18. \x03(\n26.protobuf_unittest_no_arena.TestAllTypes.RepeatedGroup\x12W\n\x17repeated_nested_message\x18\x30 \x03(\x0b\x32\x36.protobuf_unittest_no_arena.TestAllTypes.NestedMessage\x12L\n\x18repeated_foreign_message\x18\x31 \x03(\x0b\x32*.protobuf_unittest_no_arena.ForeignMessage\x12H\n\x17repeated_import_message\x18\x32 \x03(\x0b\x32\'.protobuf_unittest_import.ImportMessage\x12Q\n\x14repeated_nested_enum\x18\x33 \x03(\x0e\x32\x33.protobuf_unittest_no_arena.TestAllTypes.NestedEnum\x12\x46\n\x15repeated_foreign_enum\x18\x34 \x03(\x0e\x32\'.protobuf_unittest_no_arena.ForeignEnum\x12\x42\n\x14repeated_import_enum\x18\x35 \x03(\x0e\x32$.protobuf_unittest_import.ImportEnum\x12!\n\x15repeated_string_piece\x18\x36 \x03(\tB\x02\x08\x02\x12\x19\n\rrepeated_cord\x18\x37 \x03(\tB\x02\x08\x01\x12Y\n\x15repeated_lazy_message\x18\x39 \x03(\x0b\x32\x36.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB\x02(\x01\x12\x19\n\rdefault_int32\x18= \x01(\x05:\x02\x34\x31\x12\x19\n\rdefault_int64\x18> \x01(\x03:\x02\x34\x32\x12\x1a\n\x0e\x64\x65\x66\x61ult_uint32\x18? \x01(\r:\x02\x34\x33\x12\x1a\n\x0e\x64\x65\x66\x61ult_uint64\x18@ \x01(\x04:\x02\x34\x34\x12\x1b\n\x0e\x64\x65\x66\x61ult_sint32\x18\x41 \x01(\x11:\x03-45\x12\x1a\n\x0e\x64\x65\x66\x61ult_sint64\x18\x42 \x01(\x12:\x02\x34\x36\x12\x1b\n\x0f\x64\x65\x66\x61ult_fixed32\x18\x43 \x01(\x07:\x02\x34\x37\x12\x1b\n\x0f\x64\x65\x66\x61ult_fixed64\x18\x44 \x01(\x06:\x02\x34\x38\x12\x1c\n\x10\x64\x65\x66\x61ult_sfixed32\x18\x45 \x01(\x0f:\x02\x34\x39\x12\x1d\n\x10\x64\x65\x66\x61ult_sfixed64\x18\x46 \x01(\x10:\x03-50\x12\x1b\n\rdefault_float\x18G \x01(\x02:\x04\x35\x31.5\x12\x1d\n\x0e\x64\x65\x66\x61ult_double\x18H \x01(\x01:\x05\x35\x32\x30\x30\x30\x12\x1a\n\x0c\x64\x65\x66\x61ult_bool\x18I \x01(\x08:\x04true\x12\x1d\n\x0e\x64\x65\x66\x61ult_string\x18J \x01(\t:\x05hello\x12\x1c\n\rdefault_bytes\x18K \x01(\x0c:\x05world\x12U\n\x13\x64\x65\x66\x61ult_nested_enum\x18Q \x01(\x0e\x32\x33.protobuf_unittest_no_arena.TestAllTypes.NestedEnum:\x03\x42\x41R\x12R\n\x14\x64\x65\x66\x61ult_foreign_enum\x18R \x01(\x0e\x32\'.protobuf_unittest_no_arena.ForeignEnum:\x0b\x46OREIGN_BAR\x12M\n\x13\x64\x65\x66\x61ult_import_enum\x18S \x01(\x0e\x32$.protobuf_unittest_import.ImportEnum:\nIMPORT_BAR\x12%\n\x14\x64\x65\x66\x61ult_string_piece\x18T \x01(\t:\x03\x61\x62\x63\x42\x02\x08\x02\x12\x1d\n\x0c\x64\x65\x66\x61ult_cord\x18U \x01(\t:\x03\x31\x32\x33\x42\x02\x08\x01\x12\x16\n\x0coneof_uint32\x18o \x01(\rH\x00\x12V\n\x14oneof_nested_message\x18p \x01(\x0b\x32\x36.protobuf_unittest_no_arena.TestAllTypes.NestedMessageH\x00\x12\x16\n\x0coneof_string\x18q \x01(\tH\x00\x12\x15\n\x0boneof_bytes\x18r \x01(\x0cH\x00\x12_\n\x19lazy_oneof_nested_message\x18s \x01(\x0b\x32\x36.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB\x02(\x01H\x00\x1a\x1b\n\rNestedMessage\x12\n\n\x02\x62\x62\x18\x01 \x01(\x05\x1a\x1a\n\rOptionalGroup\x12\t\n\x01\x61\x18\x11 \x01(\x05\x1a\x1a\n\rRepeatedGroup\x12\t\n\x01\x61\x18/ \x01(\x05\"9\n\nNestedEnum\x12\x07\n\x03\x46OO\x10\x01\x12\x07\n\x03\x42\x41R\x10\x02\x12\x07\n\x03\x42\x41Z\x10\x03\x12\x10\n\x03NEG\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x42\r\n\x0boneof_field\"\x1b\n\x0e\x46oreignMessage\x12\t\n\x01\x63\x18\x01 \x01(\x05\"P\n\x12TestNoArenaMessage\x12:\n\rarena_message\x18\x01 \x01(\x0b\x32#.proto2_arena_unittest.ArenaMessage*@\n\x0b\x46oreignEnum\x12\x0f\n\x0b\x46OREIGN_FOO\x10\x04\x12\x0f\n\x0b\x46OREIGN_BAR\x10\x05\x12\x0f\n\x0b\x46OREIGN_BAZ\x10\x06\x42%B\rUnittestProtoH\x01\x80\x01\x01\x88\x01\x01\x90\x01\x01\xf8\x01\x00\xa2\x02\x05NOARN') , dependencies=[google_dot_protobuf_dot_unittest__import__pb2.DESCRIPTOR,google_dot_protobuf_dot_unittest__arena__pb2.DESCRIPTOR,]) _FOREIGNENUM = _descriptor.EnumDescriptor( name='ForeignEnum', full_name='protobuf_unittest_no_arena.ForeignEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOREIGN_FOO', index=0, number=4, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAR', index=1, number=5, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAZ', index=2, number=6, options=None, type=None), ], containing_type=None, options=None, serialized_start=3670, serialized_end=3734, ) _sym_db.RegisterEnumDescriptor(_FOREIGNENUM) ForeignEnum = enum_type_wrapper.EnumTypeWrapper(_FOREIGNENUM) FOREIGN_FOO = 4 FOREIGN_BAR = 5 FOREIGN_BAZ = 6 _TESTALLTYPES_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='protobuf_unittest_no_arena.TestAllTypes.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOO', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR', index=1, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAZ', index=2, number=3, options=None, type=None), _descriptor.EnumValueDescriptor( name='NEG', index=3, number=-1, options=None, type=None), ], containing_type=None, options=None, serialized_start=3485, serialized_end=3542, ) _sym_db.RegisterEnumDescriptor(_TESTALLTYPES_NESTEDENUM) _TESTALLTYPES_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='protobuf_unittest_no_arena.TestAllTypes.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='bb', full_name='protobuf_unittest_no_arena.TestAllTypes.NestedMessage.bb', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3400, serialized_end=3427, ) _TESTALLTYPES_OPTIONALGROUP = _descriptor.Descriptor( name='OptionalGroup', full_name='protobuf_unittest_no_arena.TestAllTypes.OptionalGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest_no_arena.TestAllTypes.OptionalGroup.a', index=0, number=17, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3429, serialized_end=3455, ) _TESTALLTYPES_REPEATEDGROUP = _descriptor.Descriptor( name='RepeatedGroup', full_name='protobuf_unittest_no_arena.TestAllTypes.RepeatedGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest_no_arena.TestAllTypes.RepeatedGroup.a', index=0, number=47, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3457, serialized_end=3483, ) _TESTALLTYPES = _descriptor.Descriptor( name='TestAllTypes', full_name='protobuf_unittest_no_arena.TestAllTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_int32', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_int32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int64', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_int64', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint32', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_uint32', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint64', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_uint64', index=3, number=4, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint32', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_sint32', index=4, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint64', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_sint64', index=5, number=6, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed32', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_fixed32', index=6, number=7, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed64', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_fixed64', index=7, number=8, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed32', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_sfixed32', index=8, number=9, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed64', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_sfixed64', index=9, number=10, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_float', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_float', index=10, number=11, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_double', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_double', index=11, number=12, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bool', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_bool', index=12, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_string', index=13, number=14, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bytes', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_bytes', index=14, number=15, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optionalgroup', full_name='protobuf_unittest_no_arena.TestAllTypes.optionalgroup', index=15, number=16, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_message', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_nested_message', index=16, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_message', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_foreign_message', index=17, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_import_message', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_import_message', index=18, number=20, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_nested_enum', index=19, number=21, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_foreign_enum', index=20, number=22, type=14, cpp_type=8, label=1, has_default_value=False, default_value=4, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_import_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_import_enum', index=21, number=23, type=14, cpp_type=8, label=1, has_default_value=False, default_value=7, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string_piece', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_string_piece', index=22, number=24, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_cord', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_cord', index=23, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_public_import_message', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_public_import_message', index=24, number=26, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_message', full_name='protobuf_unittest_no_arena.TestAllTypes.optional_message', index=25, number=27, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int32', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_int32', index=26, number=31, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int64', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_int64', index=27, number=32, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint32', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_uint32', index=28, number=33, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint64', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_uint64', index=29, number=34, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint32', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_sint32', index=30, number=35, type=17, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint64', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_sint64', index=31, number=36, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed32', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_fixed32', index=32, number=37, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed64', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_fixed64', index=33, number=38, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed32', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_sfixed32', index=34, number=39, type=15, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed64', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_sfixed64', index=35, number=40, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_float', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_float', index=36, number=41, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_double', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_double', index=37, number=42, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bool', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_bool', index=38, number=43, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_string', index=39, number=44, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bytes', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_bytes', index=40, number=45, type=12, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeatedgroup', full_name='protobuf_unittest_no_arena.TestAllTypes.repeatedgroup', index=41, number=46, type=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_message', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_nested_message', index=42, number=48, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_message', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_foreign_message', index=43, number=49, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_import_message', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_import_message', index=44, number=50, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_nested_enum', index=45, number=51, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_foreign_enum', index=46, number=52, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_import_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_import_enum', index=47, number=53, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string_piece', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_string_piece', index=48, number=54, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_cord', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_cord', index=49, number=55, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_lazy_message', full_name='protobuf_unittest_no_arena.TestAllTypes.repeated_lazy_message', index=50, number=57, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_int32', full_name='protobuf_unittest_no_arena.TestAllTypes.default_int32', index=51, number=61, type=5, cpp_type=1, label=1, has_default_value=True, default_value=41, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_int64', full_name='protobuf_unittest_no_arena.TestAllTypes.default_int64', index=52, number=62, type=3, cpp_type=2, label=1, has_default_value=True, default_value=42, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_uint32', full_name='protobuf_unittest_no_arena.TestAllTypes.default_uint32', index=53, number=63, type=13, cpp_type=3, label=1, has_default_value=True, default_value=43, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_uint64', full_name='protobuf_unittest_no_arena.TestAllTypes.default_uint64', index=54, number=64, type=4, cpp_type=4, label=1, has_default_value=True, default_value=44, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_sint32', full_name='protobuf_unittest_no_arena.TestAllTypes.default_sint32', index=55, number=65, type=17, cpp_type=1, label=1, has_default_value=True, default_value=-45, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_sint64', full_name='protobuf_unittest_no_arena.TestAllTypes.default_sint64', index=56, number=66, type=18, cpp_type=2, label=1, has_default_value=True, default_value=46, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_fixed32', full_name='protobuf_unittest_no_arena.TestAllTypes.default_fixed32', index=57, number=67, type=7, cpp_type=3, label=1, has_default_value=True, default_value=47, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_fixed64', full_name='protobuf_unittest_no_arena.TestAllTypes.default_fixed64', index=58, number=68, type=6, cpp_type=4, label=1, has_default_value=True, default_value=48, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_sfixed32', full_name='protobuf_unittest_no_arena.TestAllTypes.default_sfixed32', index=59, number=69, type=15, cpp_type=1, label=1, has_default_value=True, default_value=49, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_sfixed64', full_name='protobuf_unittest_no_arena.TestAllTypes.default_sfixed64', index=60, number=70, type=16, cpp_type=2, label=1, has_default_value=True, default_value=-50, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_float', full_name='protobuf_unittest_no_arena.TestAllTypes.default_float', index=61, number=71, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(51.5), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_double', full_name='protobuf_unittest_no_arena.TestAllTypes.default_double', index=62, number=72, type=1, cpp_type=5, label=1, has_default_value=True, default_value=float(52000), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_bool', full_name='protobuf_unittest_no_arena.TestAllTypes.default_bool', index=63, number=73, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_string', full_name='protobuf_unittest_no_arena.TestAllTypes.default_string', index=64, number=74, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("hello").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_bytes', full_name='protobuf_unittest_no_arena.TestAllTypes.default_bytes', index=65, number=75, type=12, cpp_type=9, label=1, has_default_value=True, default_value=_b("world"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_nested_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.default_nested_enum', index=66, number=81, type=14, cpp_type=8, label=1, has_default_value=True, default_value=2, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_foreign_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.default_foreign_enum', index=67, number=82, type=14, cpp_type=8, label=1, has_default_value=True, default_value=5, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_import_enum', full_name='protobuf_unittest_no_arena.TestAllTypes.default_import_enum', index=68, number=83, type=14, cpp_type=8, label=1, has_default_value=True, default_value=8, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_string_piece', full_name='protobuf_unittest_no_arena.TestAllTypes.default_string_piece', index=69, number=84, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("abc").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_cord', full_name='protobuf_unittest_no_arena.TestAllTypes.default_cord', index=70, number=85, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("123").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_uint32', full_name='protobuf_unittest_no_arena.TestAllTypes.oneof_uint32', index=71, number=111, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_nested_message', full_name='protobuf_unittest_no_arena.TestAllTypes.oneof_nested_message', index=72, number=112, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_string', full_name='protobuf_unittest_no_arena.TestAllTypes.oneof_string', index=73, number=113, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_bytes', full_name='protobuf_unittest_no_arena.TestAllTypes.oneof_bytes', index=74, number=114, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='lazy_oneof_nested_message', full_name='protobuf_unittest_no_arena.TestAllTypes.lazy_oneof_nested_message', index=75, number=115, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTALLTYPES_NESTEDMESSAGE, _TESTALLTYPES_OPTIONALGROUP, _TESTALLTYPES_REPEATEDGROUP, ], enum_types=[ _TESTALLTYPES_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='oneof_field', full_name='protobuf_unittest_no_arena.TestAllTypes.oneof_field', index=0, containing_type=None, fields=[]), ], serialized_start=149, serialized_end=3557, ) _FOREIGNMESSAGE = _descriptor.Descriptor( name='ForeignMessage', full_name='protobuf_unittest_no_arena.ForeignMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='c', full_name='protobuf_unittest_no_arena.ForeignMessage.c', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3559, serialized_end=3586, ) _TESTNOARENAMESSAGE = _descriptor.Descriptor( name='TestNoArenaMessage', full_name='protobuf_unittest_no_arena.TestNoArenaMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='arena_message', full_name='protobuf_unittest_no_arena.TestNoArenaMessage.arena_message', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3588, serialized_end=3668, ) _TESTALLTYPES_NESTEDMESSAGE.containing_type = _TESTALLTYPES _TESTALLTYPES_OPTIONALGROUP.containing_type = _TESTALLTYPES _TESTALLTYPES_REPEATEDGROUP.containing_type = _TESTALLTYPES _TESTALLTYPES.fields_by_name['optionalgroup'].message_type = _TESTALLTYPES_OPTIONALGROUP _TESTALLTYPES.fields_by_name['optional_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['optional_foreign_message'].message_type = _FOREIGNMESSAGE _TESTALLTYPES.fields_by_name['optional_import_message'].message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE _TESTALLTYPES.fields_by_name['optional_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _TESTALLTYPES.fields_by_name['optional_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPES.fields_by_name['optional_import_enum'].enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM _TESTALLTYPES.fields_by_name['optional_public_import_message'].message_type = google_dot_protobuf_dot_unittest__import__public__pb2._PUBLICIMPORTMESSAGE _TESTALLTYPES.fields_by_name['optional_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['repeatedgroup'].message_type = _TESTALLTYPES_REPEATEDGROUP _TESTALLTYPES.fields_by_name['repeated_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['repeated_foreign_message'].message_type = _FOREIGNMESSAGE _TESTALLTYPES.fields_by_name['repeated_import_message'].message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE _TESTALLTYPES.fields_by_name['repeated_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _TESTALLTYPES.fields_by_name['repeated_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPES.fields_by_name['repeated_import_enum'].enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM _TESTALLTYPES.fields_by_name['repeated_lazy_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['default_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _TESTALLTYPES.fields_by_name['default_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPES.fields_by_name['default_import_enum'].enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM _TESTALLTYPES.fields_by_name['oneof_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['lazy_oneof_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES_NESTEDENUM.containing_type = _TESTALLTYPES _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_uint32']) _TESTALLTYPES.fields_by_name['oneof_uint32'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_nested_message']) _TESTALLTYPES.fields_by_name['oneof_nested_message'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_string']) _TESTALLTYPES.fields_by_name['oneof_string'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_bytes']) _TESTALLTYPES.fields_by_name['oneof_bytes'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['lazy_oneof_nested_message']) _TESTALLTYPES.fields_by_name['lazy_oneof_nested_message'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTNOARENAMESSAGE.fields_by_name['arena_message'].message_type = google_dot_protobuf_dot_unittest__arena__pb2._ARENAMESSAGE DESCRIPTOR.message_types_by_name['TestAllTypes'] = _TESTALLTYPES DESCRIPTOR.message_types_by_name['ForeignMessage'] = _FOREIGNMESSAGE DESCRIPTOR.message_types_by_name['TestNoArenaMessage'] = _TESTNOARENAMESSAGE DESCRIPTOR.enum_types_by_name['ForeignEnum'] = _FOREIGNENUM _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestAllTypes = _reflection.GeneratedProtocolMessageType('TestAllTypes', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPES_NESTEDMESSAGE, __module__ = 'google.protobuf.unittest_no_arena_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest_no_arena.TestAllTypes.NestedMessage) )) , OptionalGroup = _reflection.GeneratedProtocolMessageType('OptionalGroup', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPES_OPTIONALGROUP, __module__ = 'google.protobuf.unittest_no_arena_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest_no_arena.TestAllTypes.OptionalGroup) )) , RepeatedGroup = _reflection.GeneratedProtocolMessageType('RepeatedGroup', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPES_REPEATEDGROUP, __module__ = 'google.protobuf.unittest_no_arena_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest_no_arena.TestAllTypes.RepeatedGroup) )) , DESCRIPTOR = _TESTALLTYPES, __module__ = 'google.protobuf.unittest_no_arena_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest_no_arena.TestAllTypes) )) _sym_db.RegisterMessage(TestAllTypes) _sym_db.RegisterMessage(TestAllTypes.NestedMessage) _sym_db.RegisterMessage(TestAllTypes.OptionalGroup) _sym_db.RegisterMessage(TestAllTypes.RepeatedGroup) ForeignMessage = _reflection.GeneratedProtocolMessageType('ForeignMessage', (_message.Message,), dict( DESCRIPTOR = _FOREIGNMESSAGE, __module__ = 'google.protobuf.unittest_no_arena_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest_no_arena.ForeignMessage) )) _sym_db.RegisterMessage(ForeignMessage) TestNoArenaMessage = _reflection.GeneratedProtocolMessageType('TestNoArenaMessage', (_message.Message,), dict( DESCRIPTOR = _TESTNOARENAMESSAGE, __module__ = 'google.protobuf.unittest_no_arena_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest_no_arena.TestNoArenaMessage) )) _sym_db.RegisterMessage(TestNoArenaMessage) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('B\rUnittestProtoH\001\200\001\001\210\001\001\220\001\001\370\001\000\242\002\005NOARN')) _TESTALLTYPES.fields_by_name['optional_string_piece'].has_options = True _TESTALLTYPES.fields_by_name['optional_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPES.fields_by_name['optional_cord'].has_options = True _TESTALLTYPES.fields_by_name['optional_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPES.fields_by_name['optional_message'].has_options = True _TESTALLTYPES.fields_by_name['optional_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTALLTYPES.fields_by_name['repeated_string_piece'].has_options = True _TESTALLTYPES.fields_by_name['repeated_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPES.fields_by_name['repeated_cord'].has_options = True _TESTALLTYPES.fields_by_name['repeated_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPES.fields_by_name['repeated_lazy_message'].has_options = True _TESTALLTYPES.fields_by_name['repeated_lazy_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTALLTYPES.fields_by_name['default_string_piece'].has_options = True _TESTALLTYPES.fields_by_name['default_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPES.fields_by_name['default_cord'].has_options = True _TESTALLTYPES.fields_by_name['default_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPES.fields_by_name['lazy_oneof_nested_message'].has_options = True _TESTALLTYPES.fields_by_name['lazy_oneof_nested_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) # @@protoc_insertion_point(module_scope) PK!= protobuf/any_test_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/any_test.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/any_test.proto', package='protobuf_unittest', syntax='proto3', serialized_pb=_b('\n\x1egoogle/protobuf/any_test.proto\x12\x11protobuf_unittest\x1a\x19google/protobuf/any.proto\"y\n\x07TestAny\x12\x13\n\x0bint32_value\x18\x01 \x01(\x05\x12\'\n\tany_value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x30\n\x12repeated_any_value\x18\x03 \x03(\x0b\x32\x14.google.protobuf.Anyb\x06proto3') , dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,]) _TESTANY = _descriptor.Descriptor( name='TestAny', full_name='protobuf_unittest.TestAny', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='int32_value', full_name='protobuf_unittest.TestAny.int32_value', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='any_value', full_name='protobuf_unittest.TestAny.any_value', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_any_value', full_name='protobuf_unittest.TestAny.repeated_any_value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=80, serialized_end=201, ) _TESTANY.fields_by_name['any_value'].message_type = google_dot_protobuf_dot_any__pb2._ANY _TESTANY.fields_by_name['repeated_any_value'].message_type = google_dot_protobuf_dot_any__pb2._ANY DESCRIPTOR.message_types_by_name['TestAny'] = _TESTANY _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestAny = _reflection.GeneratedProtocolMessageType('TestAny', (_message.Message,), dict( DESCRIPTOR = _TESTANY, __module__ = 'google.protobuf.any_test_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestAny) )) _sym_db.RegisterMessage(TestAny) # @@protoc_insertion_point(module_scope) PK!@\\protobuf/descriptor_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/descriptor.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() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/descriptor.proto', package='google.protobuf', syntax='proto2', serialized_pb=_b('\n google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"G\n\x11\x46ileDescriptorSet\x12\x32\n\x04\x66ile\x18\x01 \x03(\x0b\x32$.google.protobuf.FileDescriptorProto\"\xdb\x03\n\x13\x46ileDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07package\x18\x02 \x01(\t\x12\x12\n\ndependency\x18\x03 \x03(\t\x12\x19\n\x11public_dependency\x18\n \x03(\x05\x12\x17\n\x0fweak_dependency\x18\x0b \x03(\x05\x12\x36\n\x0cmessage_type\x18\x04 \x03(\x0b\x32 .google.protobuf.DescriptorProto\x12\x37\n\tenum_type\x18\x05 \x03(\x0b\x32$.google.protobuf.EnumDescriptorProto\x12\x38\n\x07service\x18\x06 \x03(\x0b\x32\'.google.protobuf.ServiceDescriptorProto\x12\x38\n\textension\x18\x07 \x03(\x0b\x32%.google.protobuf.FieldDescriptorProto\x12-\n\x07options\x18\x08 \x01(\x0b\x32\x1c.google.protobuf.FileOptions\x12\x39\n\x10source_code_info\x18\t \x01(\x0b\x32\x1f.google.protobuf.SourceCodeInfo\x12\x0e\n\x06syntax\x18\x0c \x01(\t\"\xa9\x05\n\x0f\x44\x65scriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x05\x66ield\x18\x02 \x03(\x0b\x32%.google.protobuf.FieldDescriptorProto\x12\x38\n\textension\x18\x06 \x03(\x0b\x32%.google.protobuf.FieldDescriptorProto\x12\x35\n\x0bnested_type\x18\x03 \x03(\x0b\x32 .google.protobuf.DescriptorProto\x12\x37\n\tenum_type\x18\x04 \x03(\x0b\x32$.google.protobuf.EnumDescriptorProto\x12H\n\x0f\x65xtension_range\x18\x05 \x03(\x0b\x32/.google.protobuf.DescriptorProto.ExtensionRange\x12\x39\n\noneof_decl\x18\x08 \x03(\x0b\x32%.google.protobuf.OneofDescriptorProto\x12\x30\n\x07options\x18\x07 \x01(\x0b\x32\x1f.google.protobuf.MessageOptions\x12\x46\n\x0ereserved_range\x18\t \x03(\x0b\x32..google.protobuf.DescriptorProto.ReservedRange\x12\x15\n\rreserved_name\x18\n \x03(\t\x1a\x65\n\x0e\x45xtensionRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\x12\x37\n\x07options\x18\x03 \x01(\x0b\x32&.google.protobuf.ExtensionRangeOptions\x1a+\n\rReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\"g\n\x15\x45xtensionRangeOptions\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xbc\x05\n\x14\x46ieldDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12:\n\x05label\x18\x04 \x01(\x0e\x32+.google.protobuf.FieldDescriptorProto.Label\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32*.google.protobuf.FieldDescriptorProto.Type\x12\x11\n\ttype_name\x18\x06 \x01(\t\x12\x10\n\x08\x65xtendee\x18\x02 \x01(\t\x12\x15\n\rdefault_value\x18\x07 \x01(\t\x12\x13\n\x0boneof_index\x18\t \x01(\x05\x12\x11\n\tjson_name\x18\n \x01(\t\x12.\n\x07options\x18\x08 \x01(\x0b\x32\x1d.google.protobuf.FieldOptions\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03\"T\n\x14OneofDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12.\n\x07options\x18\x02 \x01(\x0b\x32\x1d.google.protobuf.OneofOptions\"\xa4\x02\n\x13\x45numDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x03(\x0b\x32).google.protobuf.EnumValueDescriptorProto\x12-\n\x07options\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.EnumOptions\x12N\n\x0ereserved_range\x18\x04 \x03(\x0b\x32\x36.google.protobuf.EnumDescriptorProto.EnumReservedRange\x12\x15\n\rreserved_name\x18\x05 \x03(\t\x1a/\n\x11\x45numReservedRange\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x05\"l\n\x18\x45numValueDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05\x12\x32\n\x07options\x18\x03 \x01(\x0b\x32!.google.protobuf.EnumValueOptions\"\x90\x01\n\x16ServiceDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x06method\x18\x02 \x03(\x0b\x32&.google.protobuf.MethodDescriptorProto\x12\x30\n\x07options\x18\x03 \x01(\x0b\x32\x1f.google.protobuf.ServiceOptions\"\xc1\x01\n\x15MethodDescriptorProto\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\ninput_type\x18\x02 \x01(\t\x12\x13\n\x0boutput_type\x18\x03 \x01(\t\x12/\n\x07options\x18\x04 \x01(\x0b\x32\x1e.google.protobuf.MethodOptions\x12\x1f\n\x10\x63lient_streaming\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x1f\n\x10server_streaming\x18\x06 \x01(\x08:\x05\x66\x61lse\"\xf0\x05\n\x0b\x46ileOptions\x12\x14\n\x0cjava_package\x18\x01 \x01(\t\x12\x1c\n\x14java_outer_classname\x18\x08 \x01(\t\x12\"\n\x13java_multiple_files\x18\n \x01(\x08:\x05\x66\x61lse\x12)\n\x1djava_generate_equals_and_hash\x18\x14 \x01(\x08\x42\x02\x18\x01\x12%\n\x16java_string_check_utf8\x18\x1b \x01(\x08:\x05\x66\x61lse\x12\x46\n\x0coptimize_for\x18\t \x01(\x0e\x32).google.protobuf.FileOptions.OptimizeMode:\x05SPEED\x12\x12\n\ngo_package\x18\x0b \x01(\t\x12\"\n\x13\x63\x63_generic_services\x18\x10 \x01(\x08:\x05\x66\x61lse\x12$\n\x15java_generic_services\x18\x11 \x01(\x08:\x05\x66\x61lse\x12\"\n\x13py_generic_services\x18\x12 \x01(\x08:\x05\x66\x61lse\x12#\n\x14php_generic_services\x18* \x01(\x08:\x05\x66\x61lse\x12\x19\n\ndeprecated\x18\x17 \x01(\x08:\x05\x66\x61lse\x12\x1f\n\x10\x63\x63_enable_arenas\x18\x1f \x01(\x08:\x05\x66\x61lse\x12\x19\n\x11objc_class_prefix\x18$ \x01(\t\x12\x18\n\x10\x63sharp_namespace\x18% \x01(\t\x12\x14\n\x0cswift_prefix\x18\' \x01(\t\x12\x18\n\x10php_class_prefix\x18( \x01(\t\x12\x15\n\rphp_namespace\x18) \x01(\t\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption\":\n\x0cOptimizeMode\x12\t\n\x05SPEED\x10\x01\x12\r\n\tCODE_SIZE\x10\x02\x12\x10\n\x0cLITE_RUNTIME\x10\x03*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08&\x10\'\"\xf2\x01\n\x0eMessageOptions\x12&\n\x17message_set_wire_format\x18\x01 \x01(\x08:\x05\x66\x61lse\x12.\n\x1fno_standard_descriptor_accessor\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x19\n\ndeprecated\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x11\n\tmap_entry\x18\x07 \x01(\x08\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\x9e\x03\n\x0c\x46ieldOptions\x12:\n\x05\x63type\x18\x01 \x01(\x0e\x32#.google.protobuf.FieldOptions.CType:\x06STRING\x12\x0e\n\x06packed\x18\x02 \x01(\x08\x12?\n\x06jstype\x18\x06 \x01(\x0e\x32$.google.protobuf.FieldOptions.JSType:\tJS_NORMAL\x12\x13\n\x04lazy\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x19\n\ndeprecated\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x13\n\x04weak\x18\n \x01(\x08:\x05\x66\x61lse\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption\"/\n\x05\x43Type\x12\n\n\x06STRING\x10\x00\x12\x08\n\x04\x43ORD\x10\x01\x12\x10\n\x0cSTRING_PIECE\x10\x02\"5\n\x06JSType\x12\r\n\tJS_NORMAL\x10\x00\x12\r\n\tJS_STRING\x10\x01\x12\r\n\tJS_NUMBER\x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05\"^\n\x0cOneofOptions\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x93\x01\n\x0b\x45numOptions\x12\x13\n\x0b\x61llow_alias\x18\x02 \x01(\x08\x12\x19\n\ndeprecated\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x05\x10\x06\"}\n\x10\x45numValueOptions\x12\x19\n\ndeprecated\x18\x01 \x01(\x08:\x05\x66\x61lse\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"{\n\x0eServiceOptions\x12\x19\n\ndeprecated\x18! \x01(\x08:\x05\x66\x61lse\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xad\x02\n\rMethodOptions\x12\x19\n\ndeprecated\x18! \x01(\x08:\x05\x66\x61lse\x12_\n\x11idempotency_level\x18\" \x01(\x0e\x32/.google.protobuf.MethodOptions.IdempotencyLevel:\x13IDEMPOTENCY_UNKNOWN\x12\x43\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b\x32$.google.protobuf.UninterpretedOption\"P\n\x10IdempotencyLevel\x12\x17\n\x13IDEMPOTENCY_UNKNOWN\x10\x00\x12\x13\n\x0fNO_SIDE_EFFECTS\x10\x01\x12\x0e\n\nIDEMPOTENT\x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9e\x02\n\x13UninterpretedOption\x12;\n\x04name\x18\x02 \x03(\x0b\x32-.google.protobuf.UninterpretedOption.NamePart\x12\x18\n\x10identifier_value\x18\x03 \x01(\t\x12\x1a\n\x12positive_int_value\x18\x04 \x01(\x04\x12\x1a\n\x12negative_int_value\x18\x05 \x01(\x03\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x14\n\x0cstring_value\x18\x07 \x01(\x0c\x12\x17\n\x0f\x61ggregate_value\x18\x08 \x01(\t\x1a\x33\n\x08NamePart\x12\x11\n\tname_part\x18\x01 \x02(\t\x12\x14\n\x0cis_extension\x18\x02 \x02(\x08\"\xd5\x01\n\x0eSourceCodeInfo\x12:\n\x08location\x18\x01 \x03(\x0b\x32(.google.protobuf.SourceCodeInfo.Location\x1a\x86\x01\n\x08Location\x12\x10\n\x04path\x18\x01 \x03(\x05\x42\x02\x10\x01\x12\x10\n\x04span\x18\x02 \x03(\x05\x42\x02\x10\x01\x12\x18\n\x10leading_comments\x18\x03 \x01(\t\x12\x19\n\x11trailing_comments\x18\x04 \x01(\t\x12!\n\x19leading_detached_comments\x18\x06 \x03(\t\"\xa7\x01\n\x11GeneratedCodeInfo\x12\x41\n\nannotation\x18\x01 \x03(\x0b\x32-.google.protobuf.GeneratedCodeInfo.Annotation\x1aO\n\nAnnotation\x12\x10\n\x04path\x18\x01 \x03(\x05\x42\x02\x10\x01\x12\x13\n\x0bsource_file\x18\x02 \x01(\t\x12\r\n\x05\x62\x65gin\x18\x03 \x01(\x05\x12\x0b\n\x03\x65nd\x18\x04 \x01(\x05\x42\x8f\x01\n\x13\x63om.google.protobufB\x10\x44\x65scriptorProtosH\x01Z>github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.Reflection') ) _FIELDDESCRIPTORPROTO_TYPE = _descriptor.EnumDescriptor( name='Type', full_name='google.protobuf.FieldDescriptorProto.Type', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='TYPE_DOUBLE', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_FLOAT', index=1, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_INT64', index=2, number=3, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_UINT64', index=3, number=4, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_INT32', index=4, number=5, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_FIXED64', index=5, number=6, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_FIXED32', index=6, number=7, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_BOOL', index=7, number=8, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_STRING', index=8, number=9, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_GROUP', index=9, number=10, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_MESSAGE', index=10, number=11, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_BYTES', index=11, number=12, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_UINT32', index=12, number=13, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_ENUM', index=13, number=14, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_SFIXED32', index=14, number=15, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_SFIXED64', index=15, number=16, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_SINT32', index=16, number=17, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_SINT64', index=17, number=18, options=None, type=None), ], containing_type=None, options=None, serialized_start=1715, serialized_end=2025, ) _sym_db.RegisterEnumDescriptor(_FIELDDESCRIPTORPROTO_TYPE) _FIELDDESCRIPTORPROTO_LABEL = _descriptor.EnumDescriptor( name='Label', full_name='google.protobuf.FieldDescriptorProto.Label', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='LABEL_OPTIONAL', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='LABEL_REQUIRED', index=1, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='LABEL_REPEATED', index=2, number=3, options=None, type=None), ], containing_type=None, options=None, serialized_start=2027, serialized_end=2094, ) _sym_db.RegisterEnumDescriptor(_FIELDDESCRIPTORPROTO_LABEL) _FILEOPTIONS_OPTIMIZEMODE = _descriptor.EnumDescriptor( name='OptimizeMode', full_name='google.protobuf.FileOptions.OptimizeMode', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='SPEED', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='CODE_SIZE', index=1, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='LITE_RUNTIME', index=2, number=3, options=None, type=None), ], containing_type=None, options=None, serialized_start=3608, serialized_end=3666, ) _sym_db.RegisterEnumDescriptor(_FILEOPTIONS_OPTIMIZEMODE) _FIELDOPTIONS_CTYPE = _descriptor.EnumDescriptor( name='CType', full_name='google.protobuf.FieldOptions.CType', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='STRING', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='CORD', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='STRING_PIECE', index=2, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=4226, serialized_end=4273, ) _sym_db.RegisterEnumDescriptor(_FIELDOPTIONS_CTYPE) _FIELDOPTIONS_JSTYPE = _descriptor.EnumDescriptor( name='JSType', full_name='google.protobuf.FieldOptions.JSType', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='JS_NORMAL', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='JS_STRING', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='JS_NUMBER', index=2, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=4275, serialized_end=4328, ) _sym_db.RegisterEnumDescriptor(_FIELDOPTIONS_JSTYPE) _METHODOPTIONS_IDEMPOTENCYLEVEL = _descriptor.EnumDescriptor( name='IdempotencyLevel', full_name='google.protobuf.MethodOptions.IdempotencyLevel', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='IDEMPOTENCY_UNKNOWN', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='NO_SIDE_EFFECTS', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='IDEMPOTENT', index=2, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=5056, serialized_end=5136, ) _sym_db.RegisterEnumDescriptor(_METHODOPTIONS_IDEMPOTENCYLEVEL) _FILEDESCRIPTORSET = _descriptor.Descriptor( name='FileDescriptorSet', full_name='google.protobuf.FileDescriptorSet', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='file', full_name='google.protobuf.FileDescriptorSet.file', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=53, serialized_end=124, ) _FILEDESCRIPTORPROTO = _descriptor.Descriptor( name='FileDescriptorProto', full_name='google.protobuf.FileDescriptorProto', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.FileDescriptorProto.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='package', full_name='google.protobuf.FileDescriptorProto.package', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dependency', full_name='google.protobuf.FileDescriptorProto.dependency', index=2, number=3, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='public_dependency', full_name='google.protobuf.FileDescriptorProto.public_dependency', index=3, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='weak_dependency', full_name='google.protobuf.FileDescriptorProto.weak_dependency', index=4, number=11, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='message_type', full_name='google.protobuf.FileDescriptorProto.message_type', index=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='enum_type', full_name='google.protobuf.FileDescriptorProto.enum_type', index=6, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='service', full_name='google.protobuf.FileDescriptorProto.service', index=7, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extension', full_name='google.protobuf.FileDescriptorProto.extension', index=8, number=7, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.FileDescriptorProto.options', index=9, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='source_code_info', full_name='google.protobuf.FileDescriptorProto.source_code_info', index=10, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='syntax', full_name='google.protobuf.FileDescriptorProto.syntax', index=11, number=12, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=127, serialized_end=602, ) _DESCRIPTORPROTO_EXTENSIONRANGE = _descriptor.Descriptor( name='ExtensionRange', full_name='google.protobuf.DescriptorProto.ExtensionRange', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='start', full_name='google.protobuf.DescriptorProto.ExtensionRange.start', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='end', full_name='google.protobuf.DescriptorProto.ExtensionRange.end', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.DescriptorProto.ExtensionRange.options', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1140, serialized_end=1241, ) _DESCRIPTORPROTO_RESERVEDRANGE = _descriptor.Descriptor( name='ReservedRange', full_name='google.protobuf.DescriptorProto.ReservedRange', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='start', full_name='google.protobuf.DescriptorProto.ReservedRange.start', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='end', full_name='google.protobuf.DescriptorProto.ReservedRange.end', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1243, serialized_end=1286, ) _DESCRIPTORPROTO = _descriptor.Descriptor( name='DescriptorProto', full_name='google.protobuf.DescriptorProto', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.DescriptorProto.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field', full_name='google.protobuf.DescriptorProto.field', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extension', full_name='google.protobuf.DescriptorProto.extension', index=2, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_type', full_name='google.protobuf.DescriptorProto.nested_type', index=3, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='enum_type', full_name='google.protobuf.DescriptorProto.enum_type', index=4, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extension_range', full_name='google.protobuf.DescriptorProto.extension_range', index=5, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_decl', full_name='google.protobuf.DescriptorProto.oneof_decl', index=6, number=8, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.DescriptorProto.options', index=7, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reserved_range', full_name='google.protobuf.DescriptorProto.reserved_range', index=8, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reserved_name', full_name='google.protobuf.DescriptorProto.reserved_name', index=9, number=10, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_DESCRIPTORPROTO_EXTENSIONRANGE, _DESCRIPTORPROTO_RESERVEDRANGE, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=605, serialized_end=1286, ) _EXTENSIONRANGEOPTIONS = _descriptor.Descriptor( name='ExtensionRangeOptions', full_name='google.protobuf.ExtensionRangeOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.ExtensionRangeOptions.uninterpreted_option', index=0, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=1288, serialized_end=1391, ) _FIELDDESCRIPTORPROTO = _descriptor.Descriptor( name='FieldDescriptorProto', full_name='google.protobuf.FieldDescriptorProto', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.FieldDescriptorProto.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='number', full_name='google.protobuf.FieldDescriptorProto.number', index=1, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='label', full_name='google.protobuf.FieldDescriptorProto.label', index=2, number=4, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type', full_name='google.protobuf.FieldDescriptorProto.type', index=3, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type_name', full_name='google.protobuf.FieldDescriptorProto.type_name', index=4, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extendee', full_name='google.protobuf.FieldDescriptorProto.extendee', index=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_value', full_name='google.protobuf.FieldDescriptorProto.default_value', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_index', full_name='google.protobuf.FieldDescriptorProto.oneof_index', index=7, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='json_name', full_name='google.protobuf.FieldDescriptorProto.json_name', index=8, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.FieldDescriptorProto.options', index=9, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _FIELDDESCRIPTORPROTO_TYPE, _FIELDDESCRIPTORPROTO_LABEL, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1394, serialized_end=2094, ) _ONEOFDESCRIPTORPROTO = _descriptor.Descriptor( name='OneofDescriptorProto', full_name='google.protobuf.OneofDescriptorProto', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.OneofDescriptorProto.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.OneofDescriptorProto.options', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2096, serialized_end=2180, ) _ENUMDESCRIPTORPROTO_ENUMRESERVEDRANGE = _descriptor.Descriptor( name='EnumReservedRange', full_name='google.protobuf.EnumDescriptorProto.EnumReservedRange', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='start', full_name='google.protobuf.EnumDescriptorProto.EnumReservedRange.start', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='end', full_name='google.protobuf.EnumDescriptorProto.EnumReservedRange.end', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2428, serialized_end=2475, ) _ENUMDESCRIPTORPROTO = _descriptor.Descriptor( name='EnumDescriptorProto', full_name='google.protobuf.EnumDescriptorProto', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.EnumDescriptorProto.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.EnumDescriptorProto.value', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.EnumDescriptorProto.options', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reserved_range', full_name='google.protobuf.EnumDescriptorProto.reserved_range', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reserved_name', full_name='google.protobuf.EnumDescriptorProto.reserved_name', index=4, number=5, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_ENUMDESCRIPTORPROTO_ENUMRESERVEDRANGE, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2183, serialized_end=2475, ) _ENUMVALUEDESCRIPTORPROTO = _descriptor.Descriptor( name='EnumValueDescriptorProto', full_name='google.protobuf.EnumValueDescriptorProto', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.EnumValueDescriptorProto.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='number', full_name='google.protobuf.EnumValueDescriptorProto.number', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.EnumValueDescriptorProto.options', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2477, serialized_end=2585, ) _SERVICEDESCRIPTORPROTO = _descriptor.Descriptor( name='ServiceDescriptorProto', full_name='google.protobuf.ServiceDescriptorProto', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.ServiceDescriptorProto.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='method', full_name='google.protobuf.ServiceDescriptorProto.method', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.ServiceDescriptorProto.options', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2588, serialized_end=2732, ) _METHODDESCRIPTORPROTO = _descriptor.Descriptor( name='MethodDescriptorProto', full_name='google.protobuf.MethodDescriptorProto', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.MethodDescriptorProto.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='input_type', full_name='google.protobuf.MethodDescriptorProto.input_type', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='output_type', full_name='google.protobuf.MethodDescriptorProto.output_type', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.MethodDescriptorProto.options', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='client_streaming', full_name='google.protobuf.MethodDescriptorProto.client_streaming', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='server_streaming', full_name='google.protobuf.MethodDescriptorProto.server_streaming', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2735, serialized_end=2928, ) _FILEOPTIONS = _descriptor.Descriptor( name='FileOptions', full_name='google.protobuf.FileOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='java_package', full_name='google.protobuf.FileOptions.java_package', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='java_outer_classname', full_name='google.protobuf.FileOptions.java_outer_classname', index=1, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='java_multiple_files', full_name='google.protobuf.FileOptions.java_multiple_files', index=2, number=10, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='java_generate_equals_and_hash', full_name='google.protobuf.FileOptions.java_generate_equals_and_hash', index=3, number=20, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='java_string_check_utf8', full_name='google.protobuf.FileOptions.java_string_check_utf8', index=4, number=27, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optimize_for', full_name='google.protobuf.FileOptions.optimize_for', index=5, number=9, type=14, cpp_type=8, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='go_package', full_name='google.protobuf.FileOptions.go_package', index=6, number=11, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cc_generic_services', full_name='google.protobuf.FileOptions.cc_generic_services', index=7, number=16, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='java_generic_services', full_name='google.protobuf.FileOptions.java_generic_services', index=8, number=17, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='py_generic_services', full_name='google.protobuf.FileOptions.py_generic_services', index=9, number=18, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='php_generic_services', full_name='google.protobuf.FileOptions.php_generic_services', index=10, number=42, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='deprecated', full_name='google.protobuf.FileOptions.deprecated', index=11, number=23, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cc_enable_arenas', full_name='google.protobuf.FileOptions.cc_enable_arenas', index=12, number=31, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='objc_class_prefix', full_name='google.protobuf.FileOptions.objc_class_prefix', index=13, number=36, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='csharp_namespace', full_name='google.protobuf.FileOptions.csharp_namespace', index=14, number=37, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='swift_prefix', full_name='google.protobuf.FileOptions.swift_prefix', index=15, number=39, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='php_class_prefix', full_name='google.protobuf.FileOptions.php_class_prefix', index=16, number=40, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='php_namespace', full_name='google.protobuf.FileOptions.php_namespace', index=17, number=41, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.FileOptions.uninterpreted_option', index=18, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _FILEOPTIONS_OPTIMIZEMODE, ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=2931, serialized_end=3683, ) _MESSAGEOPTIONS = _descriptor.Descriptor( name='MessageOptions', full_name='google.protobuf.MessageOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='message_set_wire_format', full_name='google.protobuf.MessageOptions.message_set_wire_format', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='no_standard_descriptor_accessor', full_name='google.protobuf.MessageOptions.no_standard_descriptor_accessor', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='deprecated', full_name='google.protobuf.MessageOptions.deprecated', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_entry', full_name='google.protobuf.MessageOptions.map_entry', index=3, number=7, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.MessageOptions.uninterpreted_option', index=4, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=3686, serialized_end=3928, ) _FIELDOPTIONS = _descriptor.Descriptor( name='FieldOptions', full_name='google.protobuf.FieldOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='ctype', full_name='google.protobuf.FieldOptions.ctype', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed', full_name='google.protobuf.FieldOptions.packed', index=1, number=2, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='jstype', full_name='google.protobuf.FieldOptions.jstype', index=2, number=6, type=14, cpp_type=8, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='lazy', full_name='google.protobuf.FieldOptions.lazy', index=3, number=5, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='deprecated', full_name='google.protobuf.FieldOptions.deprecated', index=4, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='weak', full_name='google.protobuf.FieldOptions.weak', index=5, number=10, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.FieldOptions.uninterpreted_option', index=6, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _FIELDOPTIONS_CTYPE, _FIELDOPTIONS_JSTYPE, ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=3931, serialized_end=4345, ) _ONEOFOPTIONS = _descriptor.Descriptor( name='OneofOptions', full_name='google.protobuf.OneofOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.OneofOptions.uninterpreted_option', index=0, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=4347, serialized_end=4441, ) _ENUMOPTIONS = _descriptor.Descriptor( name='EnumOptions', full_name='google.protobuf.EnumOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='allow_alias', full_name='google.protobuf.EnumOptions.allow_alias', index=0, number=2, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='deprecated', full_name='google.protobuf.EnumOptions.deprecated', index=1, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.EnumOptions.uninterpreted_option', index=2, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=4444, serialized_end=4591, ) _ENUMVALUEOPTIONS = _descriptor.Descriptor( name='EnumValueOptions', full_name='google.protobuf.EnumValueOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='deprecated', full_name='google.protobuf.EnumValueOptions.deprecated', index=0, number=1, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.EnumValueOptions.uninterpreted_option', index=1, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=4593, serialized_end=4718, ) _SERVICEOPTIONS = _descriptor.Descriptor( name='ServiceOptions', full_name='google.protobuf.ServiceOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='deprecated', full_name='google.protobuf.ServiceOptions.deprecated', index=0, number=33, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.ServiceOptions.uninterpreted_option', index=1, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=4720, serialized_end=4843, ) _METHODOPTIONS = _descriptor.Descriptor( name='MethodOptions', full_name='google.protobuf.MethodOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='deprecated', full_name='google.protobuf.MethodOptions.deprecated', index=0, number=33, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='idempotency_level', full_name='google.protobuf.MethodOptions.idempotency_level', index=1, number=34, type=14, cpp_type=8, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='uninterpreted_option', full_name='google.protobuf.MethodOptions.uninterpreted_option', index=2, number=999, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _METHODOPTIONS_IDEMPOTENCYLEVEL, ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=4846, serialized_end=5147, ) _UNINTERPRETEDOPTION_NAMEPART = _descriptor.Descriptor( name='NamePart', full_name='google.protobuf.UninterpretedOption.NamePart', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name_part', full_name='google.protobuf.UninterpretedOption.NamePart.name_part', index=0, number=1, type=9, cpp_type=9, label=2, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_extension', full_name='google.protobuf.UninterpretedOption.NamePart.is_extension', index=1, number=2, type=8, cpp_type=7, label=2, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5385, serialized_end=5436, ) _UNINTERPRETEDOPTION = _descriptor.Descriptor( name='UninterpretedOption', full_name='google.protobuf.UninterpretedOption', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.UninterpretedOption.name', index=0, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='identifier_value', full_name='google.protobuf.UninterpretedOption.identifier_value', index=1, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='positive_int_value', full_name='google.protobuf.UninterpretedOption.positive_int_value', index=2, number=4, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='negative_int_value', full_name='google.protobuf.UninterpretedOption.negative_int_value', index=3, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='double_value', full_name='google.protobuf.UninterpretedOption.double_value', index=4, number=6, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='string_value', full_name='google.protobuf.UninterpretedOption.string_value', index=5, number=7, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='aggregate_value', full_name='google.protobuf.UninterpretedOption.aggregate_value', index=6, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_UNINTERPRETEDOPTION_NAMEPART, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5150, serialized_end=5436, ) _SOURCECODEINFO_LOCATION = _descriptor.Descriptor( name='Location', full_name='google.protobuf.SourceCodeInfo.Location', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='path', full_name='google.protobuf.SourceCodeInfo.Location.path', index=0, number=1, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='span', full_name='google.protobuf.SourceCodeInfo.Location.span', index=1, number=2, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='leading_comments', full_name='google.protobuf.SourceCodeInfo.Location.leading_comments', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='trailing_comments', full_name='google.protobuf.SourceCodeInfo.Location.trailing_comments', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='leading_detached_comments', full_name='google.protobuf.SourceCodeInfo.Location.leading_detached_comments', index=4, number=6, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5518, serialized_end=5652, ) _SOURCECODEINFO = _descriptor.Descriptor( name='SourceCodeInfo', full_name='google.protobuf.SourceCodeInfo', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='location', full_name='google.protobuf.SourceCodeInfo.location', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_SOURCECODEINFO_LOCATION, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5439, serialized_end=5652, ) _GENERATEDCODEINFO_ANNOTATION = _descriptor.Descriptor( name='Annotation', full_name='google.protobuf.GeneratedCodeInfo.Annotation', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='path', full_name='google.protobuf.GeneratedCodeInfo.Annotation.path', index=0, number=1, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='source_file', full_name='google.protobuf.GeneratedCodeInfo.Annotation.source_file', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='begin', full_name='google.protobuf.GeneratedCodeInfo.Annotation.begin', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='end', full_name='google.protobuf.GeneratedCodeInfo.Annotation.end', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5743, serialized_end=5822, ) _GENERATEDCODEINFO = _descriptor.Descriptor( name='GeneratedCodeInfo', full_name='google.protobuf.GeneratedCodeInfo', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='annotation', full_name='google.protobuf.GeneratedCodeInfo.annotation', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_GENERATEDCODEINFO_ANNOTATION, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5655, serialized_end=5822, ) _FILEDESCRIPTORSET.fields_by_name['file'].message_type = _FILEDESCRIPTORPROTO _FILEDESCRIPTORPROTO.fields_by_name['message_type'].message_type = _DESCRIPTORPROTO _FILEDESCRIPTORPROTO.fields_by_name['enum_type'].message_type = _ENUMDESCRIPTORPROTO _FILEDESCRIPTORPROTO.fields_by_name['service'].message_type = _SERVICEDESCRIPTORPROTO _FILEDESCRIPTORPROTO.fields_by_name['extension'].message_type = _FIELDDESCRIPTORPROTO _FILEDESCRIPTORPROTO.fields_by_name['options'].message_type = _FILEOPTIONS _FILEDESCRIPTORPROTO.fields_by_name['source_code_info'].message_type = _SOURCECODEINFO _DESCRIPTORPROTO_EXTENSIONRANGE.fields_by_name['options'].message_type = _EXTENSIONRANGEOPTIONS _DESCRIPTORPROTO_EXTENSIONRANGE.containing_type = _DESCRIPTORPROTO _DESCRIPTORPROTO_RESERVEDRANGE.containing_type = _DESCRIPTORPROTO _DESCRIPTORPROTO.fields_by_name['field'].message_type = _FIELDDESCRIPTORPROTO _DESCRIPTORPROTO.fields_by_name['extension'].message_type = _FIELDDESCRIPTORPROTO _DESCRIPTORPROTO.fields_by_name['nested_type'].message_type = _DESCRIPTORPROTO _DESCRIPTORPROTO.fields_by_name['enum_type'].message_type = _ENUMDESCRIPTORPROTO _DESCRIPTORPROTO.fields_by_name['extension_range'].message_type = _DESCRIPTORPROTO_EXTENSIONRANGE _DESCRIPTORPROTO.fields_by_name['oneof_decl'].message_type = _ONEOFDESCRIPTORPROTO _DESCRIPTORPROTO.fields_by_name['options'].message_type = _MESSAGEOPTIONS _DESCRIPTORPROTO.fields_by_name['reserved_range'].message_type = _DESCRIPTORPROTO_RESERVEDRANGE _EXTENSIONRANGEOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _FIELDDESCRIPTORPROTO.fields_by_name['label'].enum_type = _FIELDDESCRIPTORPROTO_LABEL _FIELDDESCRIPTORPROTO.fields_by_name['type'].enum_type = _FIELDDESCRIPTORPROTO_TYPE _FIELDDESCRIPTORPROTO.fields_by_name['options'].message_type = _FIELDOPTIONS _FIELDDESCRIPTORPROTO_TYPE.containing_type = _FIELDDESCRIPTORPROTO _FIELDDESCRIPTORPROTO_LABEL.containing_type = _FIELDDESCRIPTORPROTO _ONEOFDESCRIPTORPROTO.fields_by_name['options'].message_type = _ONEOFOPTIONS _ENUMDESCRIPTORPROTO_ENUMRESERVEDRANGE.containing_type = _ENUMDESCRIPTORPROTO _ENUMDESCRIPTORPROTO.fields_by_name['value'].message_type = _ENUMVALUEDESCRIPTORPROTO _ENUMDESCRIPTORPROTO.fields_by_name['options'].message_type = _ENUMOPTIONS _ENUMDESCRIPTORPROTO.fields_by_name['reserved_range'].message_type = _ENUMDESCRIPTORPROTO_ENUMRESERVEDRANGE _ENUMVALUEDESCRIPTORPROTO.fields_by_name['options'].message_type = _ENUMVALUEOPTIONS _SERVICEDESCRIPTORPROTO.fields_by_name['method'].message_type = _METHODDESCRIPTORPROTO _SERVICEDESCRIPTORPROTO.fields_by_name['options'].message_type = _SERVICEOPTIONS _METHODDESCRIPTORPROTO.fields_by_name['options'].message_type = _METHODOPTIONS _FILEOPTIONS.fields_by_name['optimize_for'].enum_type = _FILEOPTIONS_OPTIMIZEMODE _FILEOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _FILEOPTIONS_OPTIMIZEMODE.containing_type = _FILEOPTIONS _MESSAGEOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _FIELDOPTIONS.fields_by_name['ctype'].enum_type = _FIELDOPTIONS_CTYPE _FIELDOPTIONS.fields_by_name['jstype'].enum_type = _FIELDOPTIONS_JSTYPE _FIELDOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _FIELDOPTIONS_CTYPE.containing_type = _FIELDOPTIONS _FIELDOPTIONS_JSTYPE.containing_type = _FIELDOPTIONS _ONEOFOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _ENUMOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _ENUMVALUEOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _SERVICEOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _METHODOPTIONS.fields_by_name['idempotency_level'].enum_type = _METHODOPTIONS_IDEMPOTENCYLEVEL _METHODOPTIONS.fields_by_name['uninterpreted_option'].message_type = _UNINTERPRETEDOPTION _METHODOPTIONS_IDEMPOTENCYLEVEL.containing_type = _METHODOPTIONS _UNINTERPRETEDOPTION_NAMEPART.containing_type = _UNINTERPRETEDOPTION _UNINTERPRETEDOPTION.fields_by_name['name'].message_type = _UNINTERPRETEDOPTION_NAMEPART _SOURCECODEINFO_LOCATION.containing_type = _SOURCECODEINFO _SOURCECODEINFO.fields_by_name['location'].message_type = _SOURCECODEINFO_LOCATION _GENERATEDCODEINFO_ANNOTATION.containing_type = _GENERATEDCODEINFO _GENERATEDCODEINFO.fields_by_name['annotation'].message_type = _GENERATEDCODEINFO_ANNOTATION DESCRIPTOR.message_types_by_name['FileDescriptorSet'] = _FILEDESCRIPTORSET DESCRIPTOR.message_types_by_name['FileDescriptorProto'] = _FILEDESCRIPTORPROTO DESCRIPTOR.message_types_by_name['DescriptorProto'] = _DESCRIPTORPROTO DESCRIPTOR.message_types_by_name['ExtensionRangeOptions'] = _EXTENSIONRANGEOPTIONS DESCRIPTOR.message_types_by_name['FieldDescriptorProto'] = _FIELDDESCRIPTORPROTO DESCRIPTOR.message_types_by_name['OneofDescriptorProto'] = _ONEOFDESCRIPTORPROTO DESCRIPTOR.message_types_by_name['EnumDescriptorProto'] = _ENUMDESCRIPTORPROTO DESCRIPTOR.message_types_by_name['EnumValueDescriptorProto'] = _ENUMVALUEDESCRIPTORPROTO DESCRIPTOR.message_types_by_name['ServiceDescriptorProto'] = _SERVICEDESCRIPTORPROTO DESCRIPTOR.message_types_by_name['MethodDescriptorProto'] = _METHODDESCRIPTORPROTO DESCRIPTOR.message_types_by_name['FileOptions'] = _FILEOPTIONS DESCRIPTOR.message_types_by_name['MessageOptions'] = _MESSAGEOPTIONS DESCRIPTOR.message_types_by_name['FieldOptions'] = _FIELDOPTIONS DESCRIPTOR.message_types_by_name['OneofOptions'] = _ONEOFOPTIONS DESCRIPTOR.message_types_by_name['EnumOptions'] = _ENUMOPTIONS DESCRIPTOR.message_types_by_name['EnumValueOptions'] = _ENUMVALUEOPTIONS DESCRIPTOR.message_types_by_name['ServiceOptions'] = _SERVICEOPTIONS DESCRIPTOR.message_types_by_name['MethodOptions'] = _METHODOPTIONS DESCRIPTOR.message_types_by_name['UninterpretedOption'] = _UNINTERPRETEDOPTION DESCRIPTOR.message_types_by_name['SourceCodeInfo'] = _SOURCECODEINFO DESCRIPTOR.message_types_by_name['GeneratedCodeInfo'] = _GENERATEDCODEINFO _sym_db.RegisterFileDescriptor(DESCRIPTOR) FileDescriptorSet = _reflection.GeneratedProtocolMessageType('FileDescriptorSet', (_message.Message,), dict( DESCRIPTOR = _FILEDESCRIPTORSET, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorSet) )) _sym_db.RegisterMessage(FileDescriptorSet) FileDescriptorProto = _reflection.GeneratedProtocolMessageType('FileDescriptorProto', (_message.Message,), dict( DESCRIPTOR = _FILEDESCRIPTORPROTO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorProto) )) _sym_db.RegisterMessage(FileDescriptorProto) DescriptorProto = _reflection.GeneratedProtocolMessageType('DescriptorProto', (_message.Message,), dict( ExtensionRange = _reflection.GeneratedProtocolMessageType('ExtensionRange', (_message.Message,), dict( DESCRIPTOR = _DESCRIPTORPROTO_EXTENSIONRANGE, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ExtensionRange) )) , ReservedRange = _reflection.GeneratedProtocolMessageType('ReservedRange', (_message.Message,), dict( DESCRIPTOR = _DESCRIPTORPROTO_RESERVEDRANGE, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ReservedRange) )) , DESCRIPTOR = _DESCRIPTORPROTO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto) )) _sym_db.RegisterMessage(DescriptorProto) _sym_db.RegisterMessage(DescriptorProto.ExtensionRange) _sym_db.RegisterMessage(DescriptorProto.ReservedRange) ExtensionRangeOptions = _reflection.GeneratedProtocolMessageType('ExtensionRangeOptions', (_message.Message,), dict( DESCRIPTOR = _EXTENSIONRANGEOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.ExtensionRangeOptions) )) _sym_db.RegisterMessage(ExtensionRangeOptions) FieldDescriptorProto = _reflection.GeneratedProtocolMessageType('FieldDescriptorProto', (_message.Message,), dict( DESCRIPTOR = _FIELDDESCRIPTORPROTO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.FieldDescriptorProto) )) _sym_db.RegisterMessage(FieldDescriptorProto) OneofDescriptorProto = _reflection.GeneratedProtocolMessageType('OneofDescriptorProto', (_message.Message,), dict( DESCRIPTOR = _ONEOFDESCRIPTORPROTO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.OneofDescriptorProto) )) _sym_db.RegisterMessage(OneofDescriptorProto) EnumDescriptorProto = _reflection.GeneratedProtocolMessageType('EnumDescriptorProto', (_message.Message,), dict( EnumReservedRange = _reflection.GeneratedProtocolMessageType('EnumReservedRange', (_message.Message,), dict( DESCRIPTOR = _ENUMDESCRIPTORPROTO_ENUMRESERVEDRANGE, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto.EnumReservedRange) )) , DESCRIPTOR = _ENUMDESCRIPTORPROTO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto) )) _sym_db.RegisterMessage(EnumDescriptorProto) _sym_db.RegisterMessage(EnumDescriptorProto.EnumReservedRange) EnumValueDescriptorProto = _reflection.GeneratedProtocolMessageType('EnumValueDescriptorProto', (_message.Message,), dict( DESCRIPTOR = _ENUMVALUEDESCRIPTORPROTO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.EnumValueDescriptorProto) )) _sym_db.RegisterMessage(EnumValueDescriptorProto) ServiceDescriptorProto = _reflection.GeneratedProtocolMessageType('ServiceDescriptorProto', (_message.Message,), dict( DESCRIPTOR = _SERVICEDESCRIPTORPROTO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.ServiceDescriptorProto) )) _sym_db.RegisterMessage(ServiceDescriptorProto) MethodDescriptorProto = _reflection.GeneratedProtocolMessageType('MethodDescriptorProto', (_message.Message,), dict( DESCRIPTOR = _METHODDESCRIPTORPROTO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.MethodDescriptorProto) )) _sym_db.RegisterMessage(MethodDescriptorProto) FileOptions = _reflection.GeneratedProtocolMessageType('FileOptions', (_message.Message,), dict( DESCRIPTOR = _FILEOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.FileOptions) )) _sym_db.RegisterMessage(FileOptions) MessageOptions = _reflection.GeneratedProtocolMessageType('MessageOptions', (_message.Message,), dict( DESCRIPTOR = _MESSAGEOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.MessageOptions) )) _sym_db.RegisterMessage(MessageOptions) FieldOptions = _reflection.GeneratedProtocolMessageType('FieldOptions', (_message.Message,), dict( DESCRIPTOR = _FIELDOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions) )) _sym_db.RegisterMessage(FieldOptions) OneofOptions = _reflection.GeneratedProtocolMessageType('OneofOptions', (_message.Message,), dict( DESCRIPTOR = _ONEOFOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.OneofOptions) )) _sym_db.RegisterMessage(OneofOptions) EnumOptions = _reflection.GeneratedProtocolMessageType('EnumOptions', (_message.Message,), dict( DESCRIPTOR = _ENUMOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.EnumOptions) )) _sym_db.RegisterMessage(EnumOptions) EnumValueOptions = _reflection.GeneratedProtocolMessageType('EnumValueOptions', (_message.Message,), dict( DESCRIPTOR = _ENUMVALUEOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.EnumValueOptions) )) _sym_db.RegisterMessage(EnumValueOptions) ServiceOptions = _reflection.GeneratedProtocolMessageType('ServiceOptions', (_message.Message,), dict( DESCRIPTOR = _SERVICEOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.ServiceOptions) )) _sym_db.RegisterMessage(ServiceOptions) MethodOptions = _reflection.GeneratedProtocolMessageType('MethodOptions', (_message.Message,), dict( DESCRIPTOR = _METHODOPTIONS, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.MethodOptions) )) _sym_db.RegisterMessage(MethodOptions) UninterpretedOption = _reflection.GeneratedProtocolMessageType('UninterpretedOption', (_message.Message,), dict( NamePart = _reflection.GeneratedProtocolMessageType('NamePart', (_message.Message,), dict( DESCRIPTOR = _UNINTERPRETEDOPTION_NAMEPART, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption.NamePart) )) , DESCRIPTOR = _UNINTERPRETEDOPTION, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption) )) _sym_db.RegisterMessage(UninterpretedOption) _sym_db.RegisterMessage(UninterpretedOption.NamePart) SourceCodeInfo = _reflection.GeneratedProtocolMessageType('SourceCodeInfo', (_message.Message,), dict( Location = _reflection.GeneratedProtocolMessageType('Location', (_message.Message,), dict( DESCRIPTOR = _SOURCECODEINFO_LOCATION, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo.Location) )) , DESCRIPTOR = _SOURCECODEINFO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo) )) _sym_db.RegisterMessage(SourceCodeInfo) _sym_db.RegisterMessage(SourceCodeInfo.Location) GeneratedCodeInfo = _reflection.GeneratedProtocolMessageType('GeneratedCodeInfo', (_message.Message,), dict( Annotation = _reflection.GeneratedProtocolMessageType('Annotation', (_message.Message,), dict( DESCRIPTOR = _GENERATEDCODEINFO_ANNOTATION, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.GeneratedCodeInfo.Annotation) )) , DESCRIPTOR = _GENERATEDCODEINFO, __module__ = 'google.protobuf.descriptor_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.GeneratedCodeInfo) )) _sym_db.RegisterMessage(GeneratedCodeInfo) _sym_db.RegisterMessage(GeneratedCodeInfo.Annotation) # @@protoc_insertion_point(module_scope) PK!P=++protobuf/service_reflection.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Contains metaclasses used to create protocol service and service stub classes from ServiceDescriptor objects at runtime. The GeneratedServiceType and GeneratedServiceStubType metaclasses are used to inject all useful functionality into the classes output by the protocol compiler at compile-time. """ __author__ = 'petar@google.com (Petar Petrov)' class GeneratedServiceType(type): """Metaclass for service classes created at runtime from ServiceDescriptors. Implementations for all methods described in the Service class are added here by this class. We also create properties to allow getting/setting all fields in the protocol message. The protocol compiler currently uses this metaclass to create protocol service classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = ServiceDescriptor(.....) class MyProtoService(service.Service): __metaclass__ = GeneratedServiceType DESCRIPTOR = mydescriptor myservice_instance = MyProtoService() ... """ _DESCRIPTOR_KEY = 'DESCRIPTOR' def __init__(cls, name, bases, dictionary): """Creates a message service class. Args: name: Name of the class (ignored, but required by the metaclass protocol). bases: Base classes of the class being constructed. dictionary: The class dictionary of the class being constructed. dictionary[_DESCRIPTOR_KEY] must contain a ServiceDescriptor object describing this protocol service type. """ # Don't do anything if this class doesn't have a descriptor. This happens # when a service class is subclassed. if GeneratedServiceType._DESCRIPTOR_KEY not in dictionary: return descriptor = dictionary[GeneratedServiceType._DESCRIPTOR_KEY] service_builder = _ServiceBuilder(descriptor) service_builder.BuildService(cls) class GeneratedServiceStubType(GeneratedServiceType): """Metaclass for service stubs created at runtime from ServiceDescriptors. This class has similar responsibilities as GeneratedServiceType, except that it creates the service stub classes. """ _DESCRIPTOR_KEY = 'DESCRIPTOR' def __init__(cls, name, bases, dictionary): """Creates a message service stub class. Args: name: Name of the class (ignored, here). bases: Base classes of the class being constructed. dictionary: The class dictionary of the class being constructed. dictionary[_DESCRIPTOR_KEY] must contain a ServiceDescriptor object describing this protocol service type. """ super(GeneratedServiceStubType, cls).__init__(name, bases, dictionary) # Don't do anything if this class doesn't have a descriptor. This happens # when a service stub is subclassed. if GeneratedServiceStubType._DESCRIPTOR_KEY not in dictionary: return descriptor = dictionary[GeneratedServiceStubType._DESCRIPTOR_KEY] service_stub_builder = _ServiceStubBuilder(descriptor) service_stub_builder.BuildServiceStub(cls) class _ServiceBuilder(object): """This class constructs a protocol service class using a service descriptor. Given a service descriptor, this class constructs a class that represents the specified service descriptor. One service builder instance constructs exactly one service class. That means all instances of that class share the same builder. """ def __init__(self, service_descriptor): """Initializes an instance of the service class builder. Args: service_descriptor: ServiceDescriptor to use when constructing the service class. """ self.descriptor = service_descriptor def BuildService(self, cls): """Constructs the service class. Args: cls: The class that will be constructed. """ # CallMethod needs to operate with an instance of the Service class. This # internal wrapper function exists only to be able to pass the service # instance to the method that does the real CallMethod work. def _WrapCallMethod(srvc, method_descriptor, rpc_controller, request, callback): return self._CallMethod(srvc, method_descriptor, rpc_controller, request, callback) self.cls = cls cls.CallMethod = _WrapCallMethod cls.GetDescriptor = staticmethod(lambda: self.descriptor) cls.GetDescriptor.__doc__ = "Returns the service descriptor." cls.GetRequestClass = self._GetRequestClass cls.GetResponseClass = self._GetResponseClass for method in self.descriptor.methods: setattr(cls, method.name, self._GenerateNonImplementedMethod(method)) def _CallMethod(self, srvc, method_descriptor, rpc_controller, request, callback): """Calls the method described by a given method descriptor. Args: srvc: Instance of the service for which this method is called. method_descriptor: Descriptor that represent the method to call. rpc_controller: RPC controller to use for this method's execution. request: Request protocol message. callback: A callback to invoke after the method has completed. """ if method_descriptor.containing_service != self.descriptor: raise RuntimeError( 'CallMethod() given method descriptor for wrong service type.') method = getattr(srvc, method_descriptor.name) return method(rpc_controller, request, callback) def _GetRequestClass(self, method_descriptor): """Returns the class of the request protocol message. Args: method_descriptor: Descriptor of the method for which to return the request protocol message class. Returns: A class that represents the input protocol message of the specified method. """ if method_descriptor.containing_service != self.descriptor: raise RuntimeError( 'GetRequestClass() given method descriptor for wrong service type.') return method_descriptor.input_type._concrete_class def _GetResponseClass(self, method_descriptor): """Returns the class of the response protocol message. Args: method_descriptor: Descriptor of the method for which to return the response protocol message class. Returns: A class that represents the output protocol message of the specified method. """ if method_descriptor.containing_service != self.descriptor: raise RuntimeError( 'GetResponseClass() given method descriptor for wrong service type.') return method_descriptor.output_type._concrete_class def _GenerateNonImplementedMethod(self, method): """Generates and returns a method that can be set for a service methods. Args: method: Descriptor of the service method for which a method is to be generated. Returns: A method that can be added to the service class. """ return lambda inst, rpc_controller, request, callback: ( self._NonImplementedMethod(method.name, rpc_controller, callback)) def _NonImplementedMethod(self, method_name, rpc_controller, callback): """The body of all methods in the generated service class. Args: method_name: Name of the method being executed. rpc_controller: RPC controller used to execute this method. callback: A callback which will be invoked when the method finishes. """ rpc_controller.SetFailed('Method %s not implemented.' % method_name) callback(None) class _ServiceStubBuilder(object): """Constructs a protocol service stub class using a service descriptor. Given a service descriptor, this class constructs a suitable stub class. A stub is just a type-safe wrapper around an RpcChannel which emulates a local implementation of the service. One service stub builder instance constructs exactly one class. It means all instances of that class share the same service stub builder. """ def __init__(self, service_descriptor): """Initializes an instance of the service stub class builder. Args: service_descriptor: ServiceDescriptor to use when constructing the stub class. """ self.descriptor = service_descriptor def BuildServiceStub(self, cls): """Constructs the stub class. Args: cls: The class that will be constructed. """ def _ServiceStubInit(stub, rpc_channel): stub.rpc_channel = rpc_channel self.cls = cls cls.__init__ = _ServiceStubInit for method in self.descriptor.methods: setattr(cls, method.name, self._GenerateStubMethod(method)) def _GenerateStubMethod(self, method): return (lambda inst, rpc_controller, request, callback=None: self._StubMethod(inst, method, rpc_controller, request, callback)) def _StubMethod(self, stub, method_descriptor, rpc_controller, request, callback): """The body of all service methods in the generated stub class. Args: stub: Stub instance. method_descriptor: Descriptor of the invoked method. rpc_controller: Rpc controller to execute the method. request: Request protocol message. callback: A callback to execute when the method finishes. Returns: Response message (in case of blocking call). """ return stub.rpc_channel.CallMethod( method_descriptor, rpc_controller, request, method_descriptor.output_type._concrete_class, callback) PK!@D**protobuf/struct_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/struct.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/struct.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n\x1cgoogle/protobuf/struct.proto\x12\x0fgoogle.protobuf\"\x84\x01\n\x06Struct\x12\x33\n\x06\x66ields\x18\x01 \x03(\x0b\x32#.google.protobuf.Struct.FieldsEntry\x1a\x45\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"\xea\x01\n\x05Value\x12\x30\n\nnull_value\x18\x01 \x01(\x0e\x32\x1a.google.protobuf.NullValueH\x00\x12\x16\n\x0cnumber_value\x18\x02 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x03 \x01(\tH\x00\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12/\n\x0cstruct_value\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x12\x30\n\nlist_value\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.ListValueH\x00\x42\x06\n\x04kind\"3\n\tListValue\x12&\n\x06values\x18\x01 \x03(\x0b\x32\x16.google.protobuf.Value*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00\x42\x81\x01\n\x13\x63om.google.protobufB\x0bStructProtoP\x01Z1github.com/golang/protobuf/ptypes/struct;structpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') ) _NULLVALUE = _descriptor.EnumDescriptor( name='NullValue', full_name='google.protobuf.NullValue', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='NULL_VALUE', index=0, number=0, options=None, type=None), ], containing_type=None, options=None, serialized_start=474, serialized_end=501, ) _sym_db.RegisterEnumDescriptor(_NULLVALUE) NullValue = enum_type_wrapper.EnumTypeWrapper(_NULLVALUE) NULL_VALUE = 0 _STRUCT_FIELDSENTRY = _descriptor.Descriptor( name='FieldsEntry', full_name='google.protobuf.Struct.FieldsEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='google.protobuf.Struct.FieldsEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.Struct.FieldsEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=113, serialized_end=182, ) _STRUCT = _descriptor.Descriptor( name='Struct', full_name='google.protobuf.Struct', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='fields', full_name='google.protobuf.Struct.fields', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_STRUCT_FIELDSENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=50, serialized_end=182, ) _VALUE = _descriptor.Descriptor( name='Value', full_name='google.protobuf.Value', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='null_value', full_name='google.protobuf.Value.null_value', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='number_value', full_name='google.protobuf.Value.number_value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='string_value', full_name='google.protobuf.Value.string_value', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bool_value', full_name='google.protobuf.Value.bool_value', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='struct_value', full_name='google.protobuf.Value.struct_value', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='list_value', full_name='google.protobuf.Value.list_value', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='kind', full_name='google.protobuf.Value.kind', index=0, containing_type=None, fields=[]), ], serialized_start=185, serialized_end=419, ) _LISTVALUE = _descriptor.Descriptor( name='ListValue', full_name='google.protobuf.ListValue', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='values', full_name='google.protobuf.ListValue.values', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=421, serialized_end=472, ) _STRUCT_FIELDSENTRY.fields_by_name['value'].message_type = _VALUE _STRUCT_FIELDSENTRY.containing_type = _STRUCT _STRUCT.fields_by_name['fields'].message_type = _STRUCT_FIELDSENTRY _VALUE.fields_by_name['null_value'].enum_type = _NULLVALUE _VALUE.fields_by_name['struct_value'].message_type = _STRUCT _VALUE.fields_by_name['list_value'].message_type = _LISTVALUE _VALUE.oneofs_by_name['kind'].fields.append( _VALUE.fields_by_name['null_value']) _VALUE.fields_by_name['null_value'].containing_oneof = _VALUE.oneofs_by_name['kind'] _VALUE.oneofs_by_name['kind'].fields.append( _VALUE.fields_by_name['number_value']) _VALUE.fields_by_name['number_value'].containing_oneof = _VALUE.oneofs_by_name['kind'] _VALUE.oneofs_by_name['kind'].fields.append( _VALUE.fields_by_name['string_value']) _VALUE.fields_by_name['string_value'].containing_oneof = _VALUE.oneofs_by_name['kind'] _VALUE.oneofs_by_name['kind'].fields.append( _VALUE.fields_by_name['bool_value']) _VALUE.fields_by_name['bool_value'].containing_oneof = _VALUE.oneofs_by_name['kind'] _VALUE.oneofs_by_name['kind'].fields.append( _VALUE.fields_by_name['struct_value']) _VALUE.fields_by_name['struct_value'].containing_oneof = _VALUE.oneofs_by_name['kind'] _VALUE.oneofs_by_name['kind'].fields.append( _VALUE.fields_by_name['list_value']) _VALUE.fields_by_name['list_value'].containing_oneof = _VALUE.oneofs_by_name['kind'] _LISTVALUE.fields_by_name['values'].message_type = _VALUE DESCRIPTOR.message_types_by_name['Struct'] = _STRUCT DESCRIPTOR.message_types_by_name['Value'] = _VALUE DESCRIPTOR.message_types_by_name['ListValue'] = _LISTVALUE DESCRIPTOR.enum_types_by_name['NullValue'] = _NULLVALUE _sym_db.RegisterFileDescriptor(DESCRIPTOR) Struct = _reflection.GeneratedProtocolMessageType('Struct', (_message.Message,), dict( FieldsEntry = _reflection.GeneratedProtocolMessageType('FieldsEntry', (_message.Message,), dict( DESCRIPTOR = _STRUCT_FIELDSENTRY, __module__ = 'google.protobuf.struct_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Struct.FieldsEntry) )) , DESCRIPTOR = _STRUCT, __module__ = 'google.protobuf.struct_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Struct) )) _sym_db.RegisterMessage(Struct) _sym_db.RegisterMessage(Struct.FieldsEntry) Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), dict( DESCRIPTOR = _VALUE, __module__ = 'google.protobuf.struct_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Value) )) _sym_db.RegisterMessage(Value) ListValue = _reflection.GeneratedProtocolMessageType('ListValue', (_message.Message,), dict( DESCRIPTOR = _LISTVALUE, __module__ = 'google.protobuf.struct_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.ListValue) )) _sym_db.RegisterMessage(ListValue) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\013StructProtoP\001Z1github.com/golang/protobuf/ptypes/struct;structpb\370\001\001\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) _STRUCT_FIELDSENTRY.has_options = True _STRUCT_FIELDSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) PK!Pͷ#protobuf/symbol_database.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """A database of Python protocol buffer generated symbols. SymbolDatabase is the MessageFactory for messages generated at compile time, and makes it easy to create new instances of a registered type, given only the type's protocol buffer symbol name. Example usage: db = symbol_database.SymbolDatabase() # Register symbols of interest, from one or multiple files. db.RegisterFileDescriptor(my_proto_pb2.DESCRIPTOR) db.RegisterMessage(my_proto_pb2.MyMessage) db.RegisterEnumDescriptor(my_proto_pb2.MyEnum.DESCRIPTOR) # The database can be used as a MessageFactory, to generate types based on # their name: types = db.GetMessages(['my_proto.proto']) my_message_instance = types['MyMessage']() # The database's underlying descriptor pool can be queried, so it's not # necessary to know a type's filename to be able to generate it: filename = db.pool.FindFileContainingSymbol('MyMessage') my_message_instance = db.GetMessages([filename])['MyMessage']() # This functionality is also provided directly via a convenience method: my_message_instance = db.GetSymbol('MyMessage')() """ from google.protobuf import descriptor_pool from google.protobuf import message_factory class SymbolDatabase(message_factory.MessageFactory): """A database of Python generated symbols.""" def RegisterMessage(self, message): """Registers the given message type in the local database. Calls to GetSymbol() and GetMessages() will return messages registered here. Args: message: a message.Message, to be registered. Returns: The provided message. """ desc = message.DESCRIPTOR self._classes[desc] = message self.RegisterMessageDescriptor(desc) return message def RegisterMessageDescriptor(self, message_descriptor): """Registers the given message descriptor in the local database. Args: message_descriptor: a descriptor.MessageDescriptor. """ self.pool.AddDescriptor(message_descriptor) def RegisterEnumDescriptor(self, enum_descriptor): """Registers the given enum descriptor in the local database. Args: enum_descriptor: a descriptor.EnumDescriptor. Returns: The provided descriptor. """ self.pool.AddEnumDescriptor(enum_descriptor) return enum_descriptor def RegisterServiceDescriptor(self, service_descriptor): """Registers the given service descriptor in the local database. Args: service_descriptor: a descriptor.ServiceDescriptor. Returns: The provided descriptor. """ self.pool.AddServiceDescriptor(service_descriptor) def RegisterFileDescriptor(self, file_descriptor): """Registers the given file descriptor in the local database. Args: file_descriptor: a descriptor.FileDescriptor. Returns: The provided descriptor. """ self.pool.AddFileDescriptor(file_descriptor) def GetSymbol(self, symbol): """Tries to find a symbol in the local database. Currently, this method only returns message.Message instances, however, if may be extended in future to support other symbol types. Args: symbol: A str, a protocol buffer symbol. Returns: A Python class corresponding to the symbol. Raises: KeyError: if the symbol could not be found. """ return self._classes[self.pool.FindMessageTypeByName(symbol)] def GetMessages(self, files): # TODO(amauryfa): Fix the differences with MessageFactory. """Gets all registered messages from a specified file. Only messages already created and registered will be returned; (this is the case for imported _pb2 modules) But unlike MessageFactory, this version also returns already defined nested messages, but does not register any message extensions. Args: files: The file names to extract messages from. Returns: A dictionary mapping proto names to the message classes. Raises: KeyError: if a file could not be found. """ def _GetAllMessages(desc): """Walk a message Descriptor and recursively yields all message names.""" yield desc for msg_desc in desc.nested_types: for nested_desc in _GetAllMessages(msg_desc): yield nested_desc result = {} for file_name in files: file_desc = self.pool.FindFileByName(file_name) for msg_desc in list(file_desc.message_types_by_name.values()): for desc in _GetAllMessages(msg_desc): try: result[desc.full_name] = self._classes[desc] except KeyError: # This descriptor has no registered class, skip it. pass return result _DEFAULT = SymbolDatabase(pool=descriptor_pool.Default()) def Default(): """Returns the default SymbolDatabase.""" return _DEFAULT PK!֗%protobuf/unittest_proto3_arena_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_proto3_arena.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import unittest_import_pb2 as google_dot_protobuf_dot_unittest__import__pb2 try: google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google_dot_protobuf_dot_unittest__import__public__pb2 except AttributeError: google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google.protobuf.unittest_import_public_pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest_proto3_arena.proto', package='proto3_arena_unittest', syntax='proto3', serialized_pb=_b('\n+google/protobuf/unittest_proto3_arena.proto\x12\x15proto3_arena_unittest\x1a%google/protobuf/unittest_import.proto\"\xc9\x11\n\x0cTestAllTypes\x12\x16\n\x0eoptional_int32\x18\x01 \x01(\x05\x12\x16\n\x0eoptional_int64\x18\x02 \x01(\x03\x12\x17\n\x0foptional_uint32\x18\x03 \x01(\r\x12\x17\n\x0foptional_uint64\x18\x04 \x01(\x04\x12\x17\n\x0foptional_sint32\x18\x05 \x01(\x11\x12\x17\n\x0foptional_sint64\x18\x06 \x01(\x12\x12\x18\n\x10optional_fixed32\x18\x07 \x01(\x07\x12\x18\n\x10optional_fixed64\x18\x08 \x01(\x06\x12\x19\n\x11optional_sfixed32\x18\t \x01(\x0f\x12\x19\n\x11optional_sfixed64\x18\n \x01(\x10\x12\x16\n\x0eoptional_float\x18\x0b \x01(\x02\x12\x17\n\x0foptional_double\x18\x0c \x01(\x01\x12\x15\n\roptional_bool\x18\r \x01(\x08\x12\x17\n\x0foptional_string\x18\x0e \x01(\t\x12\x16\n\x0eoptional_bytes\x18\x0f \x01(\x0c\x12R\n\x17optional_nested_message\x18\x12 \x01(\x0b\x32\x31.proto3_arena_unittest.TestAllTypes.NestedMessage\x12G\n\x18optional_foreign_message\x18\x13 \x01(\x0b\x32%.proto3_arena_unittest.ForeignMessage\x12H\n\x17optional_import_message\x18\x14 \x01(\x0b\x32\'.protobuf_unittest_import.ImportMessage\x12L\n\x14optional_nested_enum\x18\x15 \x01(\x0e\x32..proto3_arena_unittest.TestAllTypes.NestedEnum\x12\x41\n\x15optional_foreign_enum\x18\x16 \x01(\x0e\x32\".proto3_arena_unittest.ForeignEnum\x12!\n\x15optional_string_piece\x18\x18 \x01(\tB\x02\x08\x02\x12\x19\n\roptional_cord\x18\x19 \x01(\tB\x02\x08\x01\x12U\n\x1eoptional_public_import_message\x18\x1a \x01(\x0b\x32-.protobuf_unittest_import.PublicImportMessage\x12T\n\x15optional_lazy_message\x18\x1b \x01(\x0b\x32\x31.proto3_arena_unittest.TestAllTypes.NestedMessageB\x02(\x01\x12Q\n\x1coptional_lazy_import_message\x18s \x01(\x0b\x32\'.protobuf_unittest_import.ImportMessageB\x02(\x01\x12\x16\n\x0erepeated_int32\x18\x1f \x03(\x05\x12\x16\n\x0erepeated_int64\x18 \x03(\x03\x12\x17\n\x0frepeated_uint32\x18! \x03(\r\x12\x17\n\x0frepeated_uint64\x18\" \x03(\x04\x12\x17\n\x0frepeated_sint32\x18# \x03(\x11\x12\x17\n\x0frepeated_sint64\x18$ \x03(\x12\x12\x18\n\x10repeated_fixed32\x18% \x03(\x07\x12\x18\n\x10repeated_fixed64\x18& \x03(\x06\x12\x19\n\x11repeated_sfixed32\x18\' \x03(\x0f\x12\x19\n\x11repeated_sfixed64\x18( \x03(\x10\x12\x16\n\x0erepeated_float\x18) \x03(\x02\x12\x17\n\x0frepeated_double\x18* \x03(\x01\x12\x15\n\rrepeated_bool\x18+ \x03(\x08\x12\x17\n\x0frepeated_string\x18, \x03(\t\x12\x16\n\x0erepeated_bytes\x18- \x03(\x0c\x12R\n\x17repeated_nested_message\x18\x30 \x03(\x0b\x32\x31.proto3_arena_unittest.TestAllTypes.NestedMessage\x12G\n\x18repeated_foreign_message\x18\x31 \x03(\x0b\x32%.proto3_arena_unittest.ForeignMessage\x12H\n\x17repeated_import_message\x18\x32 \x03(\x0b\x32\'.protobuf_unittest_import.ImportMessage\x12L\n\x14repeated_nested_enum\x18\x33 \x03(\x0e\x32..proto3_arena_unittest.TestAllTypes.NestedEnum\x12\x41\n\x15repeated_foreign_enum\x18\x34 \x03(\x0e\x32\".proto3_arena_unittest.ForeignEnum\x12!\n\x15repeated_string_piece\x18\x36 \x03(\tB\x02\x08\x02\x12\x19\n\rrepeated_cord\x18\x37 \x03(\tB\x02\x08\x01\x12T\n\x15repeated_lazy_message\x18\x39 \x03(\x0b\x32\x31.proto3_arena_unittest.TestAllTypes.NestedMessageB\x02(\x01\x12\x16\n\x0coneof_uint32\x18o \x01(\rH\x00\x12Q\n\x14oneof_nested_message\x18p \x01(\x0b\x32\x31.proto3_arena_unittest.TestAllTypes.NestedMessageH\x00\x12\x16\n\x0coneof_string\x18q \x01(\tH\x00\x12\x15\n\x0boneof_bytes\x18r \x01(\x0cH\x00\x1a\x1b\n\rNestedMessage\x12\n\n\x02\x62\x62\x18\x01 \x01(\x05\"C\n\nNestedEnum\x12\x08\n\x04ZERO\x10\x00\x12\x07\n\x03\x46OO\x10\x01\x12\x07\n\x03\x42\x41R\x10\x02\x12\x07\n\x03\x42\x41Z\x10\x03\x12\x10\n\x03NEG\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x42\r\n\x0boneof_field\"\xae\x03\n\x0fTestPackedTypes\x12\x18\n\x0cpacked_int32\x18Z \x03(\x05\x42\x02\x10\x01\x12\x18\n\x0cpacked_int64\x18[ \x03(\x03\x42\x02\x10\x01\x12\x19\n\rpacked_uint32\x18\\ \x03(\rB\x02\x10\x01\x12\x19\n\rpacked_uint64\x18] \x03(\x04\x42\x02\x10\x01\x12\x19\n\rpacked_sint32\x18^ \x03(\x11\x42\x02\x10\x01\x12\x19\n\rpacked_sint64\x18_ \x03(\x12\x42\x02\x10\x01\x12\x1a\n\x0epacked_fixed32\x18` \x03(\x07\x42\x02\x10\x01\x12\x1a\n\x0epacked_fixed64\x18\x61 \x03(\x06\x42\x02\x10\x01\x12\x1b\n\x0fpacked_sfixed32\x18\x62 \x03(\x0f\x42\x02\x10\x01\x12\x1b\n\x0fpacked_sfixed64\x18\x63 \x03(\x10\x42\x02\x10\x01\x12\x18\n\x0cpacked_float\x18\x64 \x03(\x02\x42\x02\x10\x01\x12\x19\n\rpacked_double\x18\x65 \x03(\x01\x42\x02\x10\x01\x12\x17\n\x0bpacked_bool\x18\x66 \x03(\x08\x42\x02\x10\x01\x12;\n\x0bpacked_enum\x18g \x03(\x0e\x32\".proto3_arena_unittest.ForeignEnumB\x02\x10\x01\"\xdf\x03\n\x11TestUnpackedTypes\x12\x1a\n\x0erepeated_int32\x18\x01 \x03(\x05\x42\x02\x10\x00\x12\x1a\n\x0erepeated_int64\x18\x02 \x03(\x03\x42\x02\x10\x00\x12\x1b\n\x0frepeated_uint32\x18\x03 \x03(\rB\x02\x10\x00\x12\x1b\n\x0frepeated_uint64\x18\x04 \x03(\x04\x42\x02\x10\x00\x12\x1b\n\x0frepeated_sint32\x18\x05 \x03(\x11\x42\x02\x10\x00\x12\x1b\n\x0frepeated_sint64\x18\x06 \x03(\x12\x42\x02\x10\x00\x12\x1c\n\x10repeated_fixed32\x18\x07 \x03(\x07\x42\x02\x10\x00\x12\x1c\n\x10repeated_fixed64\x18\x08 \x03(\x06\x42\x02\x10\x00\x12\x1d\n\x11repeated_sfixed32\x18\t \x03(\x0f\x42\x02\x10\x00\x12\x1d\n\x11repeated_sfixed64\x18\n \x03(\x10\x42\x02\x10\x00\x12\x1a\n\x0erepeated_float\x18\x0b \x03(\x02\x42\x02\x10\x00\x12\x1b\n\x0frepeated_double\x18\x0c \x03(\x01\x42\x02\x10\x00\x12\x19\n\rrepeated_bool\x18\r \x03(\x08\x42\x02\x10\x00\x12P\n\x14repeated_nested_enum\x18\x0e \x03(\x0e\x32..proto3_arena_unittest.TestAllTypes.NestedEnumB\x02\x10\x00\"\xc7\x01\n\x12NestedTestAllTypes\x12\x38\n\x05\x63hild\x18\x01 \x01(\x0b\x32).proto3_arena_unittest.NestedTestAllTypes\x12\x34\n\x07payload\x18\x02 \x01(\x0b\x32#.proto3_arena_unittest.TestAllTypes\x12\x41\n\x0erepeated_child\x18\x03 \x03(\x0b\x32).proto3_arena_unittest.NestedTestAllTypes\"\x1b\n\x0e\x46oreignMessage\x12\t\n\x01\x63\x18\x01 \x01(\x05\"\x12\n\x10TestEmptyMessage*R\n\x0b\x46oreignEnum\x12\x10\n\x0c\x46OREIGN_ZERO\x10\x00\x12\x0f\n\x0b\x46OREIGN_FOO\x10\x04\x12\x0f\n\x0b\x46OREIGN_BAR\x10\x05\x12\x0f\n\x0b\x46OREIGN_BAZ\x10\x06\x42\x03\xf8\x01\x01\x62\x06proto3') , dependencies=[google_dot_protobuf_dot_unittest__import__pb2.DESCRIPTOR,]) _FOREIGNENUM = _descriptor.EnumDescriptor( name='ForeignEnum', full_name='proto3_arena_unittest.ForeignEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOREIGN_ZERO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_FOO', index=1, number=4, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAR', index=2, number=5, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAZ', index=3, number=6, options=None, type=None), ], containing_type=None, options=None, serialized_start=3527, serialized_end=3609, ) _sym_db.RegisterEnumDescriptor(_FOREIGNENUM) ForeignEnum = enum_type_wrapper.EnumTypeWrapper(_FOREIGNENUM) FOREIGN_ZERO = 0 FOREIGN_FOO = 4 FOREIGN_BAR = 5 FOREIGN_BAZ = 6 _TESTALLTYPES_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='proto3_arena_unittest.TestAllTypes.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='ZERO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOO', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR', index=2, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAZ', index=3, number=3, options=None, type=None), _descriptor.EnumValueDescriptor( name='NEG', index=4, number=-1, options=None, type=None), ], containing_type=None, options=None, serialized_start=2277, serialized_end=2344, ) _sym_db.RegisterEnumDescriptor(_TESTALLTYPES_NESTEDENUM) _TESTALLTYPES_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='proto3_arena_unittest.TestAllTypes.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='bb', full_name='proto3_arena_unittest.TestAllTypes.NestedMessage.bb', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2248, serialized_end=2275, ) _TESTALLTYPES = _descriptor.Descriptor( name='TestAllTypes', full_name='proto3_arena_unittest.TestAllTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_int32', full_name='proto3_arena_unittest.TestAllTypes.optional_int32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int64', full_name='proto3_arena_unittest.TestAllTypes.optional_int64', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint32', full_name='proto3_arena_unittest.TestAllTypes.optional_uint32', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint64', full_name='proto3_arena_unittest.TestAllTypes.optional_uint64', index=3, number=4, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint32', full_name='proto3_arena_unittest.TestAllTypes.optional_sint32', index=4, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint64', full_name='proto3_arena_unittest.TestAllTypes.optional_sint64', index=5, number=6, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed32', full_name='proto3_arena_unittest.TestAllTypes.optional_fixed32', index=6, number=7, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed64', full_name='proto3_arena_unittest.TestAllTypes.optional_fixed64', index=7, number=8, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed32', full_name='proto3_arena_unittest.TestAllTypes.optional_sfixed32', index=8, number=9, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed64', full_name='proto3_arena_unittest.TestAllTypes.optional_sfixed64', index=9, number=10, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_float', full_name='proto3_arena_unittest.TestAllTypes.optional_float', index=10, number=11, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_double', full_name='proto3_arena_unittest.TestAllTypes.optional_double', index=11, number=12, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bool', full_name='proto3_arena_unittest.TestAllTypes.optional_bool', index=12, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string', full_name='proto3_arena_unittest.TestAllTypes.optional_string', index=13, number=14, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bytes', full_name='proto3_arena_unittest.TestAllTypes.optional_bytes', index=14, number=15, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_message', full_name='proto3_arena_unittest.TestAllTypes.optional_nested_message', index=15, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_message', full_name='proto3_arena_unittest.TestAllTypes.optional_foreign_message', index=16, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_import_message', full_name='proto3_arena_unittest.TestAllTypes.optional_import_message', index=17, number=20, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_enum', full_name='proto3_arena_unittest.TestAllTypes.optional_nested_enum', index=18, number=21, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_enum', full_name='proto3_arena_unittest.TestAllTypes.optional_foreign_enum', index=19, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string_piece', full_name='proto3_arena_unittest.TestAllTypes.optional_string_piece', index=20, number=24, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_cord', full_name='proto3_arena_unittest.TestAllTypes.optional_cord', index=21, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_public_import_message', full_name='proto3_arena_unittest.TestAllTypes.optional_public_import_message', index=22, number=26, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_lazy_message', full_name='proto3_arena_unittest.TestAllTypes.optional_lazy_message', index=23, number=27, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_lazy_import_message', full_name='proto3_arena_unittest.TestAllTypes.optional_lazy_import_message', index=24, number=115, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int32', full_name='proto3_arena_unittest.TestAllTypes.repeated_int32', index=25, number=31, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int64', full_name='proto3_arena_unittest.TestAllTypes.repeated_int64', index=26, number=32, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint32', full_name='proto3_arena_unittest.TestAllTypes.repeated_uint32', index=27, number=33, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint64', full_name='proto3_arena_unittest.TestAllTypes.repeated_uint64', index=28, number=34, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint32', full_name='proto3_arena_unittest.TestAllTypes.repeated_sint32', index=29, number=35, type=17, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint64', full_name='proto3_arena_unittest.TestAllTypes.repeated_sint64', index=30, number=36, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed32', full_name='proto3_arena_unittest.TestAllTypes.repeated_fixed32', index=31, number=37, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed64', full_name='proto3_arena_unittest.TestAllTypes.repeated_fixed64', index=32, number=38, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed32', full_name='proto3_arena_unittest.TestAllTypes.repeated_sfixed32', index=33, number=39, type=15, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed64', full_name='proto3_arena_unittest.TestAllTypes.repeated_sfixed64', index=34, number=40, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_float', full_name='proto3_arena_unittest.TestAllTypes.repeated_float', index=35, number=41, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_double', full_name='proto3_arena_unittest.TestAllTypes.repeated_double', index=36, number=42, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bool', full_name='proto3_arena_unittest.TestAllTypes.repeated_bool', index=37, number=43, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string', full_name='proto3_arena_unittest.TestAllTypes.repeated_string', index=38, number=44, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bytes', full_name='proto3_arena_unittest.TestAllTypes.repeated_bytes', index=39, number=45, type=12, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_message', full_name='proto3_arena_unittest.TestAllTypes.repeated_nested_message', index=40, number=48, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_message', full_name='proto3_arena_unittest.TestAllTypes.repeated_foreign_message', index=41, number=49, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_import_message', full_name='proto3_arena_unittest.TestAllTypes.repeated_import_message', index=42, number=50, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_enum', full_name='proto3_arena_unittest.TestAllTypes.repeated_nested_enum', index=43, number=51, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_enum', full_name='proto3_arena_unittest.TestAllTypes.repeated_foreign_enum', index=44, number=52, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string_piece', full_name='proto3_arena_unittest.TestAllTypes.repeated_string_piece', index=45, number=54, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_cord', full_name='proto3_arena_unittest.TestAllTypes.repeated_cord', index=46, number=55, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_lazy_message', full_name='proto3_arena_unittest.TestAllTypes.repeated_lazy_message', index=47, number=57, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_uint32', full_name='proto3_arena_unittest.TestAllTypes.oneof_uint32', index=48, number=111, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_nested_message', full_name='proto3_arena_unittest.TestAllTypes.oneof_nested_message', index=49, number=112, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_string', full_name='proto3_arena_unittest.TestAllTypes.oneof_string', index=50, number=113, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_bytes', full_name='proto3_arena_unittest.TestAllTypes.oneof_bytes', index=51, number=114, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTALLTYPES_NESTEDMESSAGE, ], enum_types=[ _TESTALLTYPES_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='oneof_field', full_name='proto3_arena_unittest.TestAllTypes.oneof_field', index=0, containing_type=None, fields=[]), ], serialized_start=110, serialized_end=2359, ) _TESTPACKEDTYPES = _descriptor.Descriptor( name='TestPackedTypes', full_name='proto3_arena_unittest.TestPackedTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='packed_int32', full_name='proto3_arena_unittest.TestPackedTypes.packed_int32', index=0, number=90, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_int64', full_name='proto3_arena_unittest.TestPackedTypes.packed_int64', index=1, number=91, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_uint32', full_name='proto3_arena_unittest.TestPackedTypes.packed_uint32', index=2, number=92, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_uint64', full_name='proto3_arena_unittest.TestPackedTypes.packed_uint64', index=3, number=93, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_sint32', full_name='proto3_arena_unittest.TestPackedTypes.packed_sint32', index=4, number=94, type=17, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_sint64', full_name='proto3_arena_unittest.TestPackedTypes.packed_sint64', index=5, number=95, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_fixed32', full_name='proto3_arena_unittest.TestPackedTypes.packed_fixed32', index=6, number=96, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_fixed64', full_name='proto3_arena_unittest.TestPackedTypes.packed_fixed64', index=7, number=97, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_sfixed32', full_name='proto3_arena_unittest.TestPackedTypes.packed_sfixed32', index=8, number=98, type=15, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_sfixed64', full_name='proto3_arena_unittest.TestPackedTypes.packed_sfixed64', index=9, number=99, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_float', full_name='proto3_arena_unittest.TestPackedTypes.packed_float', index=10, number=100, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_double', full_name='proto3_arena_unittest.TestPackedTypes.packed_double', index=11, number=101, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_bool', full_name='proto3_arena_unittest.TestPackedTypes.packed_bool', index=12, number=102, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_enum', full_name='proto3_arena_unittest.TestPackedTypes.packed_enum', index=13, number=103, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2362, serialized_end=2792, ) _TESTUNPACKEDTYPES = _descriptor.Descriptor( name='TestUnpackedTypes', full_name='proto3_arena_unittest.TestUnpackedTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='repeated_int32', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_int32', index=0, number=1, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int64', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_int64', index=1, number=2, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint32', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_uint32', index=2, number=3, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint64', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_uint64', index=3, number=4, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint32', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_sint32', index=4, number=5, type=17, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint64', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_sint64', index=5, number=6, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed32', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_fixed32', index=6, number=7, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed64', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_fixed64', index=7, number=8, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed32', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_sfixed32', index=8, number=9, type=15, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed64', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_sfixed64', index=9, number=10, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_float', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_float', index=10, number=11, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_double', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_double', index=11, number=12, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bool', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_bool', index=12, number=13, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_enum', full_name='proto3_arena_unittest.TestUnpackedTypes.repeated_nested_enum', index=13, number=14, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2795, serialized_end=3274, ) _NESTEDTESTALLTYPES = _descriptor.Descriptor( name='NestedTestAllTypes', full_name='proto3_arena_unittest.NestedTestAllTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='child', full_name='proto3_arena_unittest.NestedTestAllTypes.child', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='payload', full_name='proto3_arena_unittest.NestedTestAllTypes.payload', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_child', full_name='proto3_arena_unittest.NestedTestAllTypes.repeated_child', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3277, serialized_end=3476, ) _FOREIGNMESSAGE = _descriptor.Descriptor( name='ForeignMessage', full_name='proto3_arena_unittest.ForeignMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='c', full_name='proto3_arena_unittest.ForeignMessage.c', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3478, serialized_end=3505, ) _TESTEMPTYMESSAGE = _descriptor.Descriptor( name='TestEmptyMessage', full_name='proto3_arena_unittest.TestEmptyMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3507, serialized_end=3525, ) _TESTALLTYPES_NESTEDMESSAGE.containing_type = _TESTALLTYPES _TESTALLTYPES.fields_by_name['optional_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['optional_foreign_message'].message_type = _FOREIGNMESSAGE _TESTALLTYPES.fields_by_name['optional_import_message'].message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE _TESTALLTYPES.fields_by_name['optional_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _TESTALLTYPES.fields_by_name['optional_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPES.fields_by_name['optional_public_import_message'].message_type = google_dot_protobuf_dot_unittest__import__public__pb2._PUBLICIMPORTMESSAGE _TESTALLTYPES.fields_by_name['optional_lazy_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['optional_lazy_import_message'].message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE _TESTALLTYPES.fields_by_name['repeated_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['repeated_foreign_message'].message_type = _FOREIGNMESSAGE _TESTALLTYPES.fields_by_name['repeated_import_message'].message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE _TESTALLTYPES.fields_by_name['repeated_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _TESTALLTYPES.fields_by_name['repeated_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPES.fields_by_name['repeated_lazy_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['oneof_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES_NESTEDENUM.containing_type = _TESTALLTYPES _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_uint32']) _TESTALLTYPES.fields_by_name['oneof_uint32'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_nested_message']) _TESTALLTYPES.fields_by_name['oneof_nested_message'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_string']) _TESTALLTYPES.fields_by_name['oneof_string'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_bytes']) _TESTALLTYPES.fields_by_name['oneof_bytes'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTPACKEDTYPES.fields_by_name['packed_enum'].enum_type = _FOREIGNENUM _TESTUNPACKEDTYPES.fields_by_name['repeated_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _NESTEDTESTALLTYPES.fields_by_name['child'].message_type = _NESTEDTESTALLTYPES _NESTEDTESTALLTYPES.fields_by_name['payload'].message_type = _TESTALLTYPES _NESTEDTESTALLTYPES.fields_by_name['repeated_child'].message_type = _NESTEDTESTALLTYPES DESCRIPTOR.message_types_by_name['TestAllTypes'] = _TESTALLTYPES DESCRIPTOR.message_types_by_name['TestPackedTypes'] = _TESTPACKEDTYPES DESCRIPTOR.message_types_by_name['TestUnpackedTypes'] = _TESTUNPACKEDTYPES DESCRIPTOR.message_types_by_name['NestedTestAllTypes'] = _NESTEDTESTALLTYPES DESCRIPTOR.message_types_by_name['ForeignMessage'] = _FOREIGNMESSAGE DESCRIPTOR.message_types_by_name['TestEmptyMessage'] = _TESTEMPTYMESSAGE DESCRIPTOR.enum_types_by_name['ForeignEnum'] = _FOREIGNENUM _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestAllTypes = _reflection.GeneratedProtocolMessageType('TestAllTypes', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPES_NESTEDMESSAGE, __module__ = 'google.protobuf.unittest_proto3_arena_pb2' # @@protoc_insertion_point(class_scope:proto3_arena_unittest.TestAllTypes.NestedMessage) )) , DESCRIPTOR = _TESTALLTYPES, __module__ = 'google.protobuf.unittest_proto3_arena_pb2' # @@protoc_insertion_point(class_scope:proto3_arena_unittest.TestAllTypes) )) _sym_db.RegisterMessage(TestAllTypes) _sym_db.RegisterMessage(TestAllTypes.NestedMessage) TestPackedTypes = _reflection.GeneratedProtocolMessageType('TestPackedTypes', (_message.Message,), dict( DESCRIPTOR = _TESTPACKEDTYPES, __module__ = 'google.protobuf.unittest_proto3_arena_pb2' # @@protoc_insertion_point(class_scope:proto3_arena_unittest.TestPackedTypes) )) _sym_db.RegisterMessage(TestPackedTypes) TestUnpackedTypes = _reflection.GeneratedProtocolMessageType('TestUnpackedTypes', (_message.Message,), dict( DESCRIPTOR = _TESTUNPACKEDTYPES, __module__ = 'google.protobuf.unittest_proto3_arena_pb2' # @@protoc_insertion_point(class_scope:proto3_arena_unittest.TestUnpackedTypes) )) _sym_db.RegisterMessage(TestUnpackedTypes) NestedTestAllTypes = _reflection.GeneratedProtocolMessageType('NestedTestAllTypes', (_message.Message,), dict( DESCRIPTOR = _NESTEDTESTALLTYPES, __module__ = 'google.protobuf.unittest_proto3_arena_pb2' # @@protoc_insertion_point(class_scope:proto3_arena_unittest.NestedTestAllTypes) )) _sym_db.RegisterMessage(NestedTestAllTypes) ForeignMessage = _reflection.GeneratedProtocolMessageType('ForeignMessage', (_message.Message,), dict( DESCRIPTOR = _FOREIGNMESSAGE, __module__ = 'google.protobuf.unittest_proto3_arena_pb2' # @@protoc_insertion_point(class_scope:proto3_arena_unittest.ForeignMessage) )) _sym_db.RegisterMessage(ForeignMessage) TestEmptyMessage = _reflection.GeneratedProtocolMessageType('TestEmptyMessage', (_message.Message,), dict( DESCRIPTOR = _TESTEMPTYMESSAGE, __module__ = 'google.protobuf.unittest_proto3_arena_pb2' # @@protoc_insertion_point(class_scope:proto3_arena_unittest.TestEmptyMessage) )) _sym_db.RegisterMessage(TestEmptyMessage) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\370\001\001')) _TESTALLTYPES.fields_by_name['optional_string_piece'].has_options = True _TESTALLTYPES.fields_by_name['optional_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPES.fields_by_name['optional_cord'].has_options = True _TESTALLTYPES.fields_by_name['optional_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPES.fields_by_name['optional_lazy_message'].has_options = True _TESTALLTYPES.fields_by_name['optional_lazy_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTALLTYPES.fields_by_name['optional_lazy_import_message'].has_options = True _TESTALLTYPES.fields_by_name['optional_lazy_import_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTALLTYPES.fields_by_name['repeated_string_piece'].has_options = True _TESTALLTYPES.fields_by_name['repeated_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPES.fields_by_name['repeated_cord'].has_options = True _TESTALLTYPES.fields_by_name['repeated_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPES.fields_by_name['repeated_lazy_message'].has_options = True _TESTALLTYPES.fields_by_name['repeated_lazy_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTPACKEDTYPES.fields_by_name['packed_int32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_int32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_int64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_int64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_uint32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_uint32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_uint64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_uint64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_sint32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_sint32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_sint64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_sint64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_fixed32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_fixed32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_fixed64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_fixed64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_sfixed32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_sfixed32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_sfixed64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_sfixed64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_float'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_float']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_double'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_double']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_bool'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_bool']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_enum'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_enum']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTUNPACKEDTYPES.fields_by_name['repeated_int32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_int32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_int64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_int64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_uint32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_uint32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_uint64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_uint64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_sint32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_sint32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_sint64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_sint64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_fixed32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_fixed32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_fixed64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_fixed64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_sfixed32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_sfixed32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_sfixed64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_sfixed64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_float'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_float']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_double'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_double']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_bool'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_bool']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['repeated_nested_enum'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['repeated_nested_enum']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) # @@protoc_insertion_point(module_scope) PK!8p)protobuf/unittest_mset_wire_format_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_mset_wire_format.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest_mset_wire_format.proto', package='proto2_wireformat_unittest', syntax='proto2', serialized_pb=_b('\n/google/protobuf/unittest_mset_wire_format.proto\x12\x1aproto2_wireformat_unittest\"\x1e\n\x0eTestMessageSet*\x08\x08\x04\x10\xff\xff\xff\xff\x07:\x02\x08\x01\"d\n!TestMessageSetWireFormatContainer\x12?\n\x0bmessage_set\x18\x01 \x01(\x0b\x32*.proto2_wireformat_unittest.TestMessageSetB)H\x01\xf8\x01\x01\xaa\x02!Google.ProtocolBuffers.TestProtos') ) _TESTMESSAGESET = _descriptor.Descriptor( name='TestMessageSet', full_name='proto2_wireformat_unittest.TestMessageSet', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\010\001')), is_extendable=True, syntax='proto2', extension_ranges=[(4, 2147483647), ], oneofs=[ ], serialized_start=79, serialized_end=109, ) _TESTMESSAGESETWIREFORMATCONTAINER = _descriptor.Descriptor( name='TestMessageSetWireFormatContainer', full_name='proto2_wireformat_unittest.TestMessageSetWireFormatContainer', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='message_set', full_name='proto2_wireformat_unittest.TestMessageSetWireFormatContainer.message_set', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=111, serialized_end=211, ) _TESTMESSAGESETWIREFORMATCONTAINER.fields_by_name['message_set'].message_type = _TESTMESSAGESET DESCRIPTOR.message_types_by_name['TestMessageSet'] = _TESTMESSAGESET DESCRIPTOR.message_types_by_name['TestMessageSetWireFormatContainer'] = _TESTMESSAGESETWIREFORMATCONTAINER _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestMessageSet = _reflection.GeneratedProtocolMessageType('TestMessageSet', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESET, __module__ = 'google.protobuf.unittest_mset_wire_format_pb2' # @@protoc_insertion_point(class_scope:proto2_wireformat_unittest.TestMessageSet) )) _sym_db.RegisterMessage(TestMessageSet) TestMessageSetWireFormatContainer = _reflection.GeneratedProtocolMessageType('TestMessageSetWireFormatContainer', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESETWIREFORMATCONTAINER, __module__ = 'google.protobuf.unittest_mset_wire_format_pb2' # @@protoc_insertion_point(class_scope:proto2_wireformat_unittest.TestMessageSetWireFormatContainer) )) _sym_db.RegisterMessage(TestMessageSetWireFormatContainer) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('H\001\370\001\001\252\002!Google.ProtocolBuffers.TestProtos')) _TESTMESSAGESET.has_options = True _TESTMESSAGESET._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\010\001')) # @@protoc_insertion_point(module_scope) PK! 7protobuf/__pycache__/proto_builder.cpython-36.opt-1.pycnu[3 hX @s|dZyddlmZWn ek r4ddlmZYnXddlZddlZddlmZddlm Z ddZ d dd Z d d Z dS) zDynamic Protobuf class creator.) OrderedDictN)descriptor_pb2)message_factorycCs|jj|}|j|}|S)a8Get a proto class from the MessageFactory by name. Args: factory: a MessageFactory instance. full_name: str, the fully qualified name of the proto type. Returns: A class, for the type identified by full_name. Raises: KeyError, if the proto is not found in the factory's descriptor pool. )poolZFindMessageTypeByNameZ GetPrototype)factory full_nameZproto_descriptor proto_clsr #/usr/lib/python3.6/proto_builder.py_GetMessageFromFactory,s  r c Cstj|d}|dk r8yt||}|Stk r6YnXt|j}t|tsVt|}t j }x4|D],\}}|j |j d|j t |j dqdW|jd} |dkrd|j}yt||}|Stk rYnX|jjt| ||t||S)aCreate a Protobuf class whose fields are basic types. Note: this doesn't validate field names! Args: fields: dict of {name: field_type} mappings for each field in the proto. If this is an OrderedDict the order will be maintained, otherwise the fields will be sorted by name. full_name: optional str, the fully-qualified name of the proto type. pool: optional DescriptorPool instance. Returns: a class, the new protobuf class with a FileDescriptor. )rNzutf-8z.protoz6net.proto2.python.public.proto_builder.AnonymousProto_)rZMessageFactoryr KeyErrorlistitems isinstancersortedhashlibZsha1updateencodestrZ hexdigestrZAdd_MakeFileDescriptorProto) Zfieldsrrrr field_itemsZ fields_hashf_namef_typeproto_file_namer r r MakeSimpleProtoClass<s4       rc Cs|jdd\}}tj}tjj|jdd||_||_|j j }||_x@t |dD]2\}\}} |j j } || _|| _ tjj| _| | _qRW|S)zAPopulate FileDescriptorProto for MessageFactory's DescriptorPool../)rsplitrZFileDescriptorProtoospathjoinreplacenamepackageZ message_typeadd enumerateZfieldZnumberZFieldDescriptorProtoZLABEL_OPTIONALZlabeltype) rrrr$r#Z file_protoZ desc_protoZf_numberrrZ field_protor r r rts    r)NN) __doc__ collectionsr ImportErrorZ ordereddictrrZgoogle.protobufrrr rrr r r r s   8PK!T6protobuf/__pycache__/duration_pb2.cpython-36.opt-1.pycnu[3 h @sRddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejed e_eje jed!e_dS)"NcCs|S)N)xrr"/usr/lib/python3.6/duration_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/duration.protozgoogle.protobufZproto3u google/protobuf/duration.protogoogle.protobuf"* Duration seconds ( nanos (B| com.google.protobufB DurationProtoPZ*github.com/golang/protobuf/ptypes/durationø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbDurationzgoogle.protobuf.DurationZsecondsz google.protobuf.Duration.secondsF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileZnanoszgoogle.protobuf.Duration.nanos3])rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.duration_pb2) DESCRIPTOR __module__Tu com.google.protobufB DurationProtoPZ*github.com/golang/protobuf/ptypes/durationø¢GPBªGoogle.Protobuf.WellKnownTypes)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ _DURATIONZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsd           PK!NKQKQ/protobuf/__pycache__/json_format.cpython-36.pycnu[3 hr@sdZdZyddlmZWn ek r8ddlmZYnXddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddlmZddlmZdZeejjejjejjejjgZeejjejjgZeejjejjgZd Zd Zd Ze j e j!d Z"e j d Z#Gddde$Z%Gddde%Z&Gddde%Z'd=ddZ(d>ddZ)ddZ*Gddde+Z,ddZ-d d!Z.d"d#Z/d?d$d%Z0d@d&d'Z1e j2e3fZ4Gd(d)d)e+Z5dAd*d+Z6d,d-Z7d.d/Z8d0d1Z9d2d3gd4d5gd4d5gd6d7gd8d9gd4d5gd:d;gd<Z:dS)BatContains routines for printing protocol messages in JSON format. Simple usage example: # Create a proto object and serialize it to a json format string. message = my_proto_pb2.MyMessage(foo='bar') json_string = json_format.MessageToJson(message) # Parse a json format string to proto object. message = json_format.Parse(json_string, my_proto_pb2.MyMessage()) zjieluo@google.com (Jie Luo)) OrderedDictN) methodcaller) descriptor)symbol_databasez%Y-%m-%dT%H:%M:%SZInfinityz -InfinityZNaNzF[\ud800-\udbff](?![\udc00-\udfff])|(?|D]6}t|trn|rhd} qrd} n|} j ||||| <qPW|||<qj t j j krfdd|D||<qjr} | jjjr| jt j jkr| j t j jkr| j} d| j|f}j |||<qj |||<qWjr|j} x| jD]j t j j krdjt j jks@jrpq@jrj}nj}||krq@tri||<n,j t j j krg||<nj j||<q@WWn6tk r} ztdjj| WYdd} ~ XnX|S) z?Converts normal message according to Proto3 JSON Specification.valuetruefalsecsg|]}j|qSr )_FieldToJsonObject).0k)r r"r r sz8_Printer._RegularMessageToJsonObject..z[%s.%s]z#Failed to serialize {0} field: {1}.N) ListFieldsrname json_namer!rfields_by_name isinstanceboolr1labelrrLABEL_REPEATED is_extensionZcontaining_typerZmessage_set_wire_formatrrZLABEL_OPTIONALr(rr'fieldscpp_typeCPPTYPE_MESSAGEcontaining_oneofZ default_value ValueErrorr format) r"rr&r>r.r6Zv_fieldZjs_mapkeyZ recorded_keyfr-er )r r"r r,sf           "z$_Printer._RegularMessageToJsonObjectcCs|jtjjkr|j|S|jtjjkr^|jjj|d}|dk rD|j S|j j dkrT|St dn|jtjj kr|jtjjkrtj|jdS|SnZ|jtjjkrt|S|jtkrt|S|jtkrtj|r|dkrtStStj|rtS|S)zConverts Value message according to Proto3 JSON Specification.ZkindN null_value list_value struct_value)Z WhichOneof_ListValueMessageToJsonObjectrarbgetattrr'r8r1)r"rZwhichr.Zoneof_descriptorr r r _ValueMessageToJsonObject1s    z"_Printer._ValueMessageToJsonObjectcsfdd|jDS)zBConverts ListValue message according to Proto3 JSON Specification.csg|]}j|qSr )re)r2r.)r"r r r4Csz:_Printer._ListValueMessageToJsonObject..)values)r"rr )r"r rcAs z&_Printer._ListValueMessageToJsonObjectcCs.|j}i}x|D]}|j||||<qW|S)z?Converts Struct message according to Proto3 JSON Specification.)r>re)r"rr>retrDr r r _StructMessageToJsonObjectFs  z#_Printer._StructMessageToJsonObjectcCs|j|jjd|jS)Nr.)r1r'r8r.)r"rr r r r*Nsz$_Printer._WrapperMessageToJsonObjectN)FF)rrr r r#rrr,r1r^r_rercrhr*r r r r rs  E!rcCs |jjdkS)Nzgoogle/protobuf/wrappers.proto)rLr6)r-r r r r)Ssr)cCs8i}x.|D]&\}}||kr(tdj||||<q W|S)Nz'Failed to load JSON: duplicate key {0}.)rrC)r&resultr6r.r r r _DuplicateCheckerWs  rjc CsZtj}|jdd}y|jj|}Wn"tk rHtdj|YnX|j|}|S)N/z1Can not find message descriptor by type_url: {0}.) rZDefaultsplitZpoolZFindMessageTypeByNameKeyError TypeErrorrCZ GetPrototype)r[ZdbZ type_namer-Z message_classr r r r\`s r\cCst|tjs|jd}y(tjdkr.tj|}ntj|td}Wn4t k rr}zt dj t |WYdd}~XnXt |||S)abParses a JSON representation of a protocol message into a message. Args: text: Message JSON representation. message: A protocol buffer message to merge into. ignore_unknown_fields: If True, do not raise errors for unknown fields. Returns: The same message passed as argument. Raises:: ParseError: On JSON parsing problems. zutf-8r)Zobject_pairs_hookzFailed to load JSON: {0}.N)rrq)r9six text_typerQsys version_infor$loadsrjrBrrCrT ParseDict)textrignore_unknown_fieldsr&rFr r r Parsens   $rzcCst|}|j|||S)a.Parses a JSON dictionary representation into a message. Args: js_dict: Dict representation of a JSON message. message: A protocol buffer message to merge into. ignore_unknown_fields: If True, do not raise errors for unknown fields. Returns: The same message passed as argument. )_ParserConvertMessage)Zjs_dictrryparserr r r rws  rwc@s`eZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ dS)r{z(JSON format parser for protocol message.cCs ||_dS)N)ry)r"ryr r r r#sz_Parser.__init__cCsT|j}|j}t|r"|j||n.|tkrDtt|d|||n |j||dS)zConvert a JSON object into a message. Args: value: A JSON object. message: A WKT or regular protocol message to record the data. Raises: ParseError: In case of convert problems. rlN)r'r(r)_ConvertWrapperMessager+r_ConvertFieldValuePair)r"r.rr-r(r r r r|s z_Parser.ConvertMessagecCsg}|j}tdd|jD}xl|D]b}y|j|d}|sN|jj|d}| rtj|r|jsttdj |j |dd}dj |j ddd}|j j|}|s|jrw&tdj |j ||j||krtdj |jj ||j||jdk r(|jj} | |krtd j |jj | |j| ||} | dkrz|jtjjkrl|jj d krlt||j} d | _n |j|jw&t|r|j|j|j| ||n,|jtjjkrt|j|jt| t std j || |jtjjkr8x| D]B} t||jj!} | dkr$| jj d kr$td |j"| | qWn:x| D]0} | dkrTtd t||jjt#| |q>WnZ|jtjjkr|j$r|j |} n t||j} | j%|j"| | nt&||jt#| |Wq&tk r$} z6|r|jdkrtdj || n tt'| WYdd} ~ Xq&t(k rV} ztdj || WYdd} ~ Xq&t)k r} ztdj || WYdd} ~ Xq&Xq&WdS)zConvert field value pairs into regular message. Args: js: A JSON object to convert the field value pairs. message: A regular protocol message to record the data. Raises: ParseError: In case of problems converting. css|]}|j|fVqdS)N)r7)r2rEr r r sz1_Parser._ConvertFieldValuePair..Nz)Message type {0} does not have extensionsrl.zVMessage type "{0}" has no field named "{1}". Available Fields(except extensions): {2}z9Message type "{0}" should not have multiple "{1}" fields.z?Message type "{0}" should not have multiple "{1}" oneof fields.zgoogle.protobuf.Valuerz.repeated field {0} must be in [] which is {1}.zAnull is not allowed to be used as an element in a repeated field.zFailed to parse {0} field: {1}zFailed to parse {0} field: {1}.rmrm)*r'dictr>rKr8_VALID_EXTENSION_NAMEmatchZ is_extendablerrCr(joinrnZ ExtensionsZ_FindExtensionByNameryappendrAr6r?rrr@rrdr` ClearFieldr!_ConvertMapFieldValuer;r<r9listaddr|_ConvertScalarFieldValuer=Z SetInParentsetattrrTrBrp)r"r&rnamesr-Zfields_by_json_namer6r Z identifierZ oneof_namer.r]itemrFr r r rs                           z_Parser._ConvertFieldValuePairc Cst|tr| rdSy |d}Wntk r<tdYnXt|}|j}|j}t|rl|j|d|n8|t krt t |d|d||n|d=|j |||j |_ ||_dS)z/Convert a JSON representation into Any message.Nz@typez*@type is missing when parsing any message.r.rl)r9rrorr\r'r(r)r~r+rrZSerializeToStringr.r[)r"r.rr[r]r-r(r r r _ConvertAnyMessages$   z_Parser._ConvertAnyMessagecCs|j|dS)z?Convert a JSON representation into message with FromJsonString.N)ZFromJsonString)r"r.rr r r _ConvertGenericMessage7sz_Parser._ConvertGenericMessagecCst|tr|j||jnjt|tr4|j||jnP|dkrDd|_n@t|trV||_ n.t|t j rj||_ nt|t r|||_ntddS)z1Convert a JSON representation into Value message.Nrz"Unexpected type for Value message.)r9r_ConvertStructMessagerbr_ConvertListValueMessagerar`r:Z bool_valuerrZ string_typesZ string_value _INT_OR_FLOATZ number_valuer)r"r.rr r r _ConvertValueMessage=s     z_Parser._ConvertValueMessagecCsFt|tstdj||jdx|D]}|j||jjq(WdS)z5Convert a JSON representation into ListValue message.z%ListValue must be in [] which is {0}.rfN)r9rrrCrrrfr)r"r.rrr r r rNs     z _Parser._ConvertListValueMessagecCs@t|tstdj|x"|D]}|j|||j|qWdS)z2Convert a JSON representation into Struct message.z&Struct must be in a dict which is {0}.N)r9rrrCrr>)r"r.rrDr r r rWs    z_Parser._ConvertStructMessagecCs"|jjd}t|dt||dS)z3Convert a JSON representation into Wrapper message.r.N)r'r8rr)r"r.rr r r r r~`s z_Parser._ConvertWrapperMessagecCst|tstdj|j||jjd}|jjd}x^|D]V}t||d}|jt j j krv|j ||t ||j|q:t|||t ||j|<q:WdS)a5Convert map field value for a message map field. Args: value: A JSON object to convert the map field value. message: A protocol message to record the converted data. field: The descriptor of the map field to be converted. Raises: ParseError: In case of convert problems. z-Map field {0} must be in a dict which is {1}.rDr.TN)r9rrrCr6rr8rr?rrr@r|rd)r"r.rr Z key_fieldZ value_fieldrD key_valuer r r res       z_Parser._ConvertMapFieldValueN)rrr r r#r|rrrrrrr~rr r r r r{sj  r{c Cs$|jtkrt|S|jtkr$t|S|jtjjkr)s         <    f 0PK!yTT/protobuf/__pycache__/text_format.cpython-36.pycnu[3 h @s dZdZddlZddlZddlZejr*eZddlm Z ddl m Z ddl m Z ddd d d gZ e je je je jfZejd ejZejd ejZee jje jjgZedOZdZGdddeZGdddeZ Gddde!Z"dPddZ#ddZ$dQddZ%dRdd Z&dSdd Z'ddZ(Gd d!d!e!Z)dTd"d#Z*dUd$d Z+dVd%d&Z,dWd'd(Z-Gd)d*d*e!Z.d+d,Z/d-d.Z0d/d0Z1d1d2Z2Gd3d4d4e!Z3e3Z4d5d6Z5d7d8Z6d9d:Z7d;d<Z8d=d>Z9d?d@Z:dXdAdBZ;dYdCdDZdIdJZ?dKdLZ@dMdNZAdS)\abContains routines for printing protocol messages in text format. Simple usage example: # Create a proto object and serialize it to a text proto string. message = my_proto_pb2.MyMessage(foo='bar') text_proto = text_format.MessageToString(message) # Parse a text proto string. message = text_format.Parse(text_proto, my_proto_pb2.MyMessage()) z kenton@google.com (Kenton Varda)N) type_checkers) descriptor) text_encodingMessageToString PrintMessage PrintFieldPrintFieldValueMergez-?inf(?:inity)?f?znanf?'"zgoogle.protobuf.Anyc@seZdZdZdS)Errorz'Top-level module error for text_format.N)__name__ __module__ __qualname____doc__rr!/usr/lib/python3.6/text_format.pyr Isr cs2eZdZdZd fdd ZddZddZZS) ParseErrorz3Thrown in case of text parsing or tokenizing error.Ncsr|dk r:|dk r:t|}|dk r.|dj|7}dj||}|dk rTtt|j|ntt|j||_||_dS)Nz:{0}z {0} : {1})strformatsuperr__init___line_column)selfmessagelinecolumnloc) __class__rrrPs zParseError.__init__cCs|jS)N)r)rrrrGetLine]szParseError.GetLinecCs|jS)N)r)rrrr GetColumn`szParseError.GetColumn)NNN)r rrrrr r! __classcell__rr)rrrMs rc@s,eZdZddZddZddZddZd S) TextWritercCs tjrtj|_n tj|_dS)N)sixPY2ioBytesIO_writerStringIO)ras_utf8rrrrfs zTextWriter.__init__cCs(tjrt|tjr|jd}|jj|S)Nzutf-8)r$r% isinstance text_typeencoder(write)rvalrrrr.ls  zTextWriter.writecCs |jjS)N)r(close)rrrrr0rszTextWriter.closecCs |jjS)N)r(getvalue)rrrrr1uszTextWriter.getvalueN)r rrrr.r0r1rrrrr#dsr#Fc CsLt|} t| ||||||||| } | j|| j} | j|rH| jS| S)aConvert protobuf message to text format. Floating point values can be formatted compactly with 15 digits of precision (which is the most that IEEE 754 "double" can guarantee) using float_format='.15g'. To ensure that converting to text and back to a proto will result in an identical value, float_format='.17g' should be used. Args: message: The protocol buffers message. as_utf8: Produce text output in UTF8 format. as_one_line: Don't introduce newlines between fields. pointy_brackets: If True, use angle brackets instead of curly braces for nesting. use_index_order: If True, print fields of a proto message using the order defined in source code instead of the field number. By default, use the field number order. float_format: If set, use this to specify floating point number formatting (per the "Format Specification Mini-Language"); otherwise, str() is used. use_field_number: If True, print field numbers instead of names. descriptor_pool: A DescriptorPool used to resolve Any types. indent: The indent level, in terms of spaces, for pretty print. message_formatter: A function(message, indent, as_one_line): unicode|None to custom format selected sub-messages (usually based on message type). Use to pretty print parts of the protobuf for easier diffing. Returns: A string of the text formatted protocol buffer message. )r#_Printerrr1r0rstrip) rr* as_one_linepointy_bracketsuse_index_order float_formatuse_field_numberdescriptor_poolindentmessage_formatteroutprinterresultrrrrys&  cCs"|jtjjko |jjo |jjjS)N)typerFieldDescriptor TYPE_MESSAGE message_typeZ has_options GetOptionsZ map_entry)fieldrrr _IsMapEntrysrEc Cs(t||||||||| | } | j|dS)N)r2r) rr<r:r*r4r5r6r7r8r9r;r=rrrrs c Cs&t|||||||| } | j||dS)z%Print a single field name/value pair.N)r2r) rDvaluer<r:r*r4r5r6r7r;r=rrrrs  c Cs&t|||||||| } | j||dS)z0Print a single field value (not including name).N)r2r) rDrFr<r:r*r4r5r6r7r;r=rrrrs  c Csd|dkrddlm}|j}ddlm}|j}y|j|}Wntk rRdSX|j|}|S)a!Returns a protobuf message instance. Args: type_name: Fully-qualified protobuf message type name string. descriptor_pool: DescriptorPool instance. Returns: A Message instance of type matching type_name, or None if the a Descriptor wasn't found matching type_name. Nr)r9)symbol_database)google.protobufr9ZDefaultrGZFindMessageTypeByNameKeyErrorZ GetPrototype)Z type_namer9Zpool_modrGZdatabasemessage_descriptorrBrrr_BuildMessageFromTypeNames    rKc @sJeZdZdZdddZddZd d Zd d Zd dZddZ ddZ dS)r2z)Text format printer for protocol message.rFNc Cs@||_||_||_||_||_||_||_||_| |_| |_ dS)aZInitialize the Printer. Floating point values can be formatted compactly with 15 digits of precision (which is the most that IEEE 754 "double" can guarantee) using float_format='.15g'. To ensure that converting to text and back to a proto will result in an identical value, float_format='.17g' should be used. Args: out: To record the text format result. indent: The indent level for pretty print. as_utf8: Produce text output in UTF8 format. as_one_line: Don't introduce newlines between fields. pointy_brackets: If True, use angle brackets instead of curly braces for nesting. use_index_order: If True, print fields of a proto message using the order defined in source code instead of the field number. By default, use the field number order. float_format: If set, use this to specify floating point number formatting (per the "Format Specification Mini-Language"); otherwise, str() is used. use_field_number: If True, print field numbers instead of names. descriptor_pool: A DescriptorPool used to resolve Any types. message_formatter: A function(message, indent, as_one_line): unicode|None to custom format selected sub-messages (usually based on message type). Use to pretty print parts of the protobuf for easier diffing. N) r<r:r*r4r5r6r7r8r9r;) rr<r:r*r4r5r6r7r8r9r;rrrrs%z_Printer.__init__cCsht|j|j}|r`|j|j|jjd|jd|jf|j ||jj|j rVdnddSdSdS)z5Serializes if message is a google.protobuf.Any field.z%s[%s]  TFN) rKZTypeNamer9MergeFromStringrFr<r.r:Ztype_url_PrintMessageFieldValuer4)rrZpacked_messagerrr_TryPrintAsAnyMessage.s  z_Printer._TryPrintAsAnyMessagecCsV|j||j|j}|dkrdS|j}|jd|j|j||j|jrLdnddS)NFrLrMT)r;r:r4r<r.)rrZ formattedr<rrr_TryCustomFormatMessage;s z _Printer._TryCustomFormatMessagecCs|jr|j|rdS|jjtkr.|j|r.dS|j}|jrL|jdddx|D]z\}}t |rxht |D]$}|j |||d}|j ||qlWqR|j tjjkrx&|D]}|j ||qWqR|j ||qRWdS)zeConvert protobuf message to text format. Args: message: The protocol buffers message. NcSs |djS)Nr)index)xrrrSsz'_Printer.PrintMessage..)key)rUrF)r;rQ DESCRIPTOR full_name_ANY_FULL_TYPE_NAMErPZ ListFieldsr6sortrEsorted GetEntryClassrlabelrr@LABEL_REPEATED)rrZfieldsrDrFrUZ entry_submsgelementrrrrFs"   z_Printer.PrintMessagecCs|j}|jd|j|jr.|jt|jn|jr|jd|jjj rv|j t j j krv|jt j jkrv|j|jjn |j|j|jdn*|j t j jkr|j|jjn |j|j|jt j jkr|jd|j|||jr|jdn |jddS)z%Print a single field name/value pair.rL[]z: rMN)r<r.r:r8rnumber is_extensioncontaining_typerCZmessage_set_wire_formatr?rr@rAr\ZLABEL_OPTIONALrBrW TYPE_GROUPnamecpp_typeCPPTYPE_MESSAGErr4)rrDrFr<rrrrds*        z_Printer.PrintFieldcCs|jrd}d}nd}d}|jrF|jjd||j||jj|nL|jjd||jd7_|j||jd8_|jjd|j|dS) N<>{}z %s z %s rL)r5r4r<r.rr:)rrFZopenbZclosebrrrrOs  z _Printer._PrintMessageFieldValuecCs<|j}|jtjjkr"|j|n|jtjjkrf|jjj |d}|dk rV|j |j n|j t |n|jtjj kr|j dt|tjr|jd}n|}|jtjjkrd}n|j}|j tj|||j dnf|jtjjkr|r|j dn |j dn<|jtkr*|jdk r*|j dj|j|n|j t |dS)zPrint a single field value (not including name). For repeated fields, the value should be a single element. Args: field: The descriptor of the field to be printed. value: The value of the field. Nr zutf-8Ftruefalsez{1:{0}})r<rfrr@rgrOZ CPPTYPE_ENUM enum_typevalues_by_numbergetr.rerZCPPTYPE_STRINGr+r$r,r-r? TYPE_BYTESr*rZCEscapeZ CPPTYPE_BOOL _FLOAT_TYPESr7r)rrDrFr< enum_valueZ out_valueZ out_as_utf8rrrrs2       z_Printer.PrintFieldValue) rFFFFNFNN) r rrrrrPrQrrrOrrrrrr2s  &  !r2cCs>t|ts&tjr|jd}n |jd}t|jd||||dS)aParses a text representation of a protocol message into a message. NOTE: for historical reasons this function does not clear the input message. This is different from what the binary msg.ParseFrom(...) does. Example a = MyProto() a.repeated_field.append('test') b = MyProto() text_format.Parse(repr(a), b) text_format.Parse(repr(a), b) # repeated_field contains ["test", "test"] # Binary version: b.ParseFromString(a.SerializeToString()) # repeated_field is now "test" Caller is responsible for clearing the message as needed. Args: text: Message text representation. message: A protocol buffer message to merge into. allow_unknown_extension: if True, skip over missing extensions and keep parsing allow_field_number: if True, both field number and field name are allowed. descriptor_pool: A DescriptorPool used to resolve Any types. Returns: The same message passed as argument. Raises: ParseError: On text parsing problems. zutf-8rM)r9)r+rr$PY3decoder- ParseLinessplit)textrallow_unknown_extensionallow_field_numberr9rrrParses%    r|cCs>t|ts&tjr|jd}n |jd}t|jd||||dS)a^Parses a text representation of a protocol message into a message. Like Parse(), but allows repeated values for a non-repeated field, and uses the last one. Args: text: Message text representation. message: A protocol buffer message to merge into. allow_unknown_extension: if True, skip over missing extensions and keep parsing allow_field_number: if True, both field number and field name are allowed. descriptor_pool: A DescriptorPool used to resolve Any types. Returns: The same message passed as argument. Raises: ParseError: On text parsing problems. zutf-8rM)r9)r+rr$rurvr- MergeLinesrx)ryrrzr{r9rrrr s   cCst|||d}|j||S)aParses a text representation of a protocol message into a message. Args: lines: An iterable of lines of a message's text representation. message: A protocol buffer message to merge into. allow_unknown_extension: if True, skip over missing extensions and keep parsing allow_field_number: if True, both field number and field name are allowed. descriptor_pool: A DescriptorPool used to resolve Any types. Returns: The same message passed as argument. Raises: ParseError: On text parsing problems. )r9)_Parserrw)linesrrzr{r9parserrrrrwsrwcCst|||d}|j||S)aParses a text representation of a protocol message into a message. Args: lines: An iterable of lines of a message's text representation. message: A protocol buffer message to merge into. allow_unknown_extension: if True, skip over missing extensions and keep parsing allow_field_number: if True, both field number and field name are allowed. descriptor_pool: A DescriptorPool used to resolve Any types. Returns: The same message passed as argument. Raises: ParseError: On text parsing problems. )r9)r~r})rrrzr{r9rrrrr}3sr}c@sneZdZdZdddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ e ddZddZdS)r~z(Text format parser for protocol message.FNcCs||_||_||_dS)N)rzr{r9)rrzr{r9rrrrQsz_Parser.__init__cCs&t|ts|jd}|j|jd|S)zBParses a text representation of a protocol message into a message.zutf-8rM)r+rrvrwrx)rryrrrrParseFromStringYs  z_Parser.ParseFromStringcCsd|_|j|||S)zBParses a text representation of a protocol message into a message.F)_allow_multiple_scalars _ParseOrMerge)rrrrrrrw_s z_Parser.ParseLinescCs|j|jd|S)zBMerges a text representation of a protocol message into a message.rM)Z _MergeLinesrx)rryrrrrrNesz_Parser.MergeFromStringcCsd|_|j|||S)zBMerges a text representation of a protocol message into a message.T)rr)rrrrrrr}is z_Parser.MergeLinescCs&t|}x|js |j||q WdS)zConverts a text representation of a protocol message into a message. Args: lines: Lines of a message's text representation. message: A protocol buffer message to merge into. Raises: ParseError: On text parsing problems. N) TokenizerAtEnd _MergeField)rrr tokenizerrrrros  z_Parser._ParseOrMergec Cs|j}|jdr|jg}x|jdr6|j|jqWdj|}|jsX|jd|j|jj |}|s|j rtd}q|jd|n||j kr|jd||jf|j dn|j }|jr|jrt|dd}|jj|d}| r|jr|jj|}nh|jj|d}|s8|jj|jd}|r8|jtjjkr8d}|r`|jtjjkr`|jj|kr`d}|sz|jd |j|f|r^|j r|jr|j|jj}|dk r||jkr|jd |j||jj|jf|jtjj kr|jd |j!}n|j d |j"}|j#tjj$krP|jdrPx8|||||jdr>P|j d q$Wn ||||n|j sjt%t&||jd s|jd dS)zMerges a single protocol message field into a message. Args: tokenizer: A tokenizer to parse the field name and values. message: A protocol message to record the data. Raises: ParseError: In case of text parsing problems. r_.z+Message type "%s" does not have extensions.NzExtension "%s" not registered. Did you import the _pb2 module which defines it? If you are trying to place the extension in the MessageSet field of another message that is in an Any or MessageSet field, that message's _pb2 module must be imported as wellz1Extension "%s" does not extend message type "%s".r`Tz*Message type "%s" has no field named "%s".zbField "%s" is specified along with field "%s", another member of oneof "%s" for message type "%s".:,;)'rV TryConsumeConsumeIdentifierappendjoinZ is_extendableParseErrorPreviousTokenrW ExtensionsZ_FindExtensionByNamerzrcConsumeConsumeIdentifierOrNumberr{isdigit ParseIntegerZfields_by_numberrqZ_FindExtensionByNumberfields_by_namelowerr?rr@rdrBrerZcontaining_oneofZ WhichOneofrfrg_MergeMessageField_MergeScalarFieldr\r]AssertionError_SkipFieldContents) rrrrJrerDraZ which_oneofZmergerrrrr}s                     z_Parser._MergeFieldcCs|jg}|jd|j|j|jd|j|j|jd|jg}x|jdrj|j|jqPWdj|dj|fS)zBConsumes a google.protobuf.Any type URL and returns the type name.r/)rrrrr)rrprefixrerrr_ConsumeAnyTypeUrls      z_Parser._ConsumeAnyTypeUrlcCst|}|jdrd}n|jdd}|jjtko:|jdr |j|\}}|jd|jd|jdrpd}n|jdd}t||j} | st d|x2|j|s|j r|j d |f|j || qW|j tjjkrt||jj} n t||j} | j| |d n||j tjjkr^|jr2|j|j} n*|rLt||jj} nt||jj} n(|jrr|j|} n t||j} | jx8|j|s|j r|j d |f|j || qW|r|jjd j} | tjjkrt||j| j} | j| jn| jt||j| j<d S) a"Merges a single scalar field into a message. Args: tokenizer: A tokenizer to parse the field value. message: The message of which field is a member. field: The descriptor of the field to be merged. Raises: ParseError: In case of text parsing problems. rhrirjrkr_r`rz$Type %s not found in descriptor poolzExpected "%s".)type_url_prefixrFN)rErrrBrWrXrrKr9rrrrr\rr@r]getattrreaddZPackrbrr[Z SetInParentrrfrgrUZ MergeFromrF)rrrrDZ is_map_entryZ end_tokenrZpacked_type_nameZexpanded_any_end_tokenZexpanded_any_sub_messageZ any_messageZ sub_messageZ value_cpptyperFrrrrsb                z_Parser._MergeMessageFieldcCs|j}t|do|jdkS)Nsyntaxproto3)rVhasattrr)rrJrrr_IsProto3SyntaxAs z_Parser._IsProto3SyntaxcCs|j}d}|jtjjtjjtjjfkr0t|}n|jtjjtjj tjj fkrVt |}n|jtjj tjj fkrvt|}n|jtjjtjjfkrt|}n|jtjjtjjfkr|j}nr|jtjjkr|j}nZ|jtjjkr|j}nB|jtjjkr|j}n*|jtjjkr|j|}ntd|j|jtjjkrf|j rR|j!|j"|nt#||j$j"|n|j%| }|j r|j& r|r|j'|r|j(d|j)j*|j*fn ||j!|<nF|j& r|r|j+|j$r|j(d|j)j*|j$fnt,||j$|dS)aHMerges a single scalar field into a message. Args: tokenizer: A tokenizer to parse the field value. message: A protocol message to record the data. field: The descriptor of the field to be merged. Raises: ParseError: In case of text parsing problems. RuntimeError: On runtime errors. NzUnknown field type %dz;Message type "%s" should not have multiple "%s" extensions.z7Message type "%s" should not have multiple "%s" fields.)-rzr?rr@Z TYPE_INT32Z TYPE_SINT32Z TYPE_SFIXED32 _ConsumeInt32Z TYPE_INT64Z TYPE_SINT64Z TYPE_SFIXED64 _ConsumeInt64Z TYPE_UINT32Z TYPE_FIXED32_ConsumeUint32Z TYPE_UINT64Z TYPE_FIXED64_ConsumeUint64Z TYPE_FLOATZ TYPE_DOUBLE ConsumeFloatZ TYPE_BOOL ConsumeBoolZ TYPE_STRING ConsumeStringrrConsumeByteStringZ TYPE_ENUM ConsumeEnum RuntimeErrorr\r]rbrrrrerrZ HasExtensionrrVrWZHasFieldsetattr)rrrrD_rFZcan_check_presencerrrrGs\                       z_Parser._MergeScalarField)FFN)r rrrrrrwrNr}rrrr staticmethodrrrrrrr~Ns mH r~cCs8|jdr,|jd r,|jd r,t|nt|dS)z}Skips over contents (value or message) of a field. Args: tokenizer: A tokenizer to parse the field name and values. rrjrhN)r LookingAt_SkipFieldValue_SkipFieldMessage)rrrrrs  rcCs^|jdr6|jx|jdr(|jqW|jdn|jt||jdsZ|jddS)zSkips over a complete field (name and value/message). Args: tokenizer: A tokenizer to parse the field name and values. r_rr`rrN)rrrr)rrrr _SkipFields     rcCsR|jdrd}n|jdd}x$|jd rB|jd rBt|q W|j|dS)zfSkips over a field message. Args: tokenizer: A tokenizer to parse the field name and values. rhrirjrkN)rrrr)rZ delimiterrrrrs   rcCsT|jrx |jrq WdS|j rPt| rPt| rP|j rPtd|jdS)zSkips over a field value. Args: tokenizer: A tokenizer to parse the field name and values. Raises: ParseError: In case an invalid field value is found. NzInvalid field value: )TryConsumeByteStringTryConsumeIdentifier_TryConsumeInt64_TryConsumeUint64TryConsumeFloatrtoken)rrrrrs    rc@sHeZdZdZejdZejdejZejdejZ ejdj ddgdd e DZ ejd Z ejd ZdEd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(ZdFd*d+Zd,d-Zd.d/Zd0d1Z d2d3Z!d4d5Z"d6d7Z#d8d9Z$d:d;Z%dd?Z'd@dAZ(dBdCZ)dDS)GrzProtocol buffer text representation tokenizer. This class handles the lower level string parsing by splitting it into meaningful tokens. It was directly ported from the Java protocol buffer API. z\s+z (\s*#.*$)z (\s|(#.*$))+|z[a-zA-Z_][0-9a-zA-Z_+-]*z#([0-9+-]|(\.[0-9]))[0-9a-zA-Z_.+-]*cCsg|]}dj|dqS)z!{qt}([^{qt}\n\\]|\\.)*({qt}|\\?$))Zqt)r).0Zmarkrrr szTokenizer.z [^\d\W]\w*z\w+TcCsld|_d|_d|_d|_d|_t||_d|_d|_d|_ d|_ ||_ |rP|j pT|j |_|j|jdS)NrT)Z _positionrrZ _token_startriter_lines _current_line_previous_line_previous_column _more_lines_skip_comments_WHITESPACE_OR_COMMENT _WHITESPACE_whitespace_pattern_SkipWhitespace NextToken)rrZ skip_commentsrrrrs  zTokenizer.__init__cCs |j|kS)N)r)rrrrrrszTokenizer.LookingAtcCs|j S)z^Checks the end of the text was reached. Returns: True iff the end was reached. )r)rrrrr szTokenizer.AtEndc Cs`xZt|j|jkrZyt|j|_Wn tk rBd|_d|_dSX|jd7_d|_qWdS)NrFrr)lenrrnextr StopIterationrr)rrrr_PopLineszTokenizer._PopLinecCsFx@|j|jj|j|j}|s"Pt|jd}|j|7_qWdS)Nr)rrmatchrrrgroup)rrZlengthrrrrszTokenizer._SkipWhitespacecCs|j|kr|jdSdS)zTries to consume a given piece of text. Args: token: Text to consume. Returns: True iff the text was consumed. TF)rr)rrrrrr's zTokenizer.TryConsumecCs|j|s|jd|dS)zConsumes a piece of text. Args: token: Text to consume. Raises: ParseError: If the text couldn't be consumed. zExpected "%s".N)rr)rrrrrr5s zTokenizer.ConsumecCs(|j}|jj|s|jd|j|S)NzExpected comment.)r_COMMENTrrr)rr>rrrConsumeCommentAs   zTokenizer.ConsumeCommentcCs:|jdko|jdk}|j}|j}|j|ko0| }||fS)zCConsumes a comment, returns a 2-tuple (trailing bool, comment str).r)rrrr)rZ just_startedZbefore_parsingZcommentZtrailingrrrConsumeCommentOrTrailingCommentHs  z)Tokenizer.ConsumeCommentOrTrailingCommentc Cs&y |jdStk r dSXdS)NTF)rr)rrrrrXs zTokenizer.TryConsumeIdentifiercCs(|j}|jj|s|jd|j|S)zConsumes protocol message field identifier. Returns: Identifier string. Raises: ParseError: If an identifier couldn't be consumed. zExpected identifier.)r _IDENTIFIERrrr)rr>rrrr_s   zTokenizer.ConsumeIdentifierc Cs&y |jdStk r dSXdS)NTF)rr)rrrrTryConsumeIdentifierOrNumberns z&Tokenizer.TryConsumeIdentifierOrNumbercCs,|j}|jj|s |jd||j|S)zConsumes protocol message field identifier. Returns: Identifier string. Raises: ParseError: If an identifier couldn't be consumed. z&Expected identifier or number, got %s.)r_IDENTIFIER_OR_NUMBERrrr)rr>rrrrus  z#Tokenizer.ConsumeIdentifierOrNumberc Cs&y |jdStk r dSXdS)NTF)ConsumeIntegerr)rrrrTryConsumeIntegers zTokenizer.TryConsumeIntegerFcCsPyt|j|d}Wn0tk rB}z|jt|WYdd}~XnX|j|S)zConsumes an integer number. Args: is_long: True if the value should be returned as a long integer. Returns: The integer parsed. Raises: ParseError: If an integer couldn't be consumed. )is_longN)_ParseAbstractIntegerr ValueErrorrrr)rrr>errrrs  zTokenizer.ConsumeIntegerc Cs&y |jdStk r dSXdS)NTF)rr)rrrrrs zTokenizer.TryConsumeFloatcCsLyt|j}Wn0tk r>}z|jt|WYdd}~XnX|j|S)zConsumes an floating point number. Returns: The number parsed. Raises: ParseError: If a floating point number couldn't be consumed. N) ParseFloatrrrrr)rr>rrrrrs  zTokenizer.ConsumeFloatcCsLyt|j}Wn0tk r>}z|jt|WYdd}~XnX|j|S)zConsumes a boolean value. Returns: The bool parsed. Raises: ParseError: If a boolean value couldn't be consumed. N) ParseBoolrrrrr)rr>rrrrrs  zTokenizer.ConsumeBoolc Cs&y |jdStk r dSXdS)NTF)rr)rrrrrs zTokenizer.TryConsumeByteStringcCsF|j}y tj|dStk r@}z|j|WYdd}~XnXdS)zConsumes a string value. Returns: The string parsed. Raises: ParseError: If a string value couldn't be consumed. zutf-8N)rr$r,UnicodeDecodeError_StringParseError)rZ the_bytesrrrrrs  zTokenizer.ConsumeStringcCs<|jg}x&|jr0|jdtkr0|j|jq Wdj|S)zConsumes a byte array value. Returns: The array parsed (as a string). Raises: ParseError: If a byte array value couldn't be consumed. r)_ConsumeSingleByteStringr_QUOTESrr)rZthe_listrrrrs zTokenizer.ConsumeByteStringcCs|j}t|dks|dtkr.|jd|ft|dksJ|d|dkrZ|jd|fytj|dd}Wn0tk r}z|jt|WYdd}~XnX|j|S) aOConsume one token of a string literal. String literals (whether bytes or text) can come in multiple adjacent tokens which are automatically concatenated, like in C or Python. This method only consumes one token. Returns: The token parsed. Raises: ParseError: When the wrong format data is found. rrzExpected string but found: %rrlzString missing ending quote: %rNrr) rrrrrZ CUnescaperrr)rryr>rrrrrs  z"Tokenizer._ConsumeSingleByteStringcCsNyt||j}Wn0tk r@}z|jt|WYdd}~XnX|j|S)N) ParseEnumrrrrr)rrDr>rrrrrs  zTokenizer.ConsumeEnumcCst||jd|jdS)zCreates and *returns* a ParseError for the previously read token. Args: message: A message to set for the exception. Returns: A ParseError instance. r)rrr)rrrrrr s z!Tokenizer.ParseErrorPreviousTokencCst||jd|jdS)z9Creates and *returns* a ParseError for the current token.r)rrr)rrrrrrszTokenizer.ParseErrorcCs|jdt|S)NzCouldn't parse string: )rr)rrrrrrszTokenizer._StringParseErrorcCs|j|_|j|_|jt|j7_|j|jsrrrrrs  rcCs2t||d}tdt|t|}|j||S)aParses an integer. Args: text: The text to parse. is_signed: True if a signed integer must be parsed. is_long: True if a long integer must be parsed. Returns: The integer value. Raises: ValueError: Thrown Iff the text is not a valid integer. )rrl)r_INTEGER_CHECKERSintZ CheckValue)ryrrr>Zcheckerrrrrs  rc CsBy|rt|dSt|dSWn tk r<td|YnXdS)a Parses an integer without checking size/signedness. Args: text: The text to parse. is_long: True if the value should be returned as a long integer. Returns: The integer value. Raises: ValueError: Thrown Iff the text is not a valid integer. rzCouldn't parse integer: %sN)rr)ryrrrrrs  rcCsyt|Stk rtj|r@|ddkr6tdStdSnBtj|rRtdSyt|jdStk rtd|YnXYnXdS) zParse a floating point number. Args: text: Text to parse. Returns: The number parsed. Raises: ValueError: If a floating point number couldn't be parsed. r-z-infinfnanfzCouldn't parse float: %sN)floatr_FLOAT_INFINITYr _FLOAT_NANr3)ryrrrrs     rcCs$|d kr dS|dkrd Std d S)zParse a boolean value. Args: text: Text to parse. Returns: Boolean values parsed Raises: ValueError: If text is not a valid boolean. rmt1TrueTrnr0FalseFzExpected "true" or "false".N)rmrrr)rnrrr)r)ryrrrrs rc Cs|j}yt|d}Wn<tk rP|jj|d}|dkrLtd|j|fYnFXt|jdrn|jjdkrn|S|j j|d}|dkrtd|j|f|j S)a&Parse an enum value. The value can be specified by a number (the enum value), or by a string literal (the enum name). Args: field: Enum field descriptor. value: String value. Returns: Enum value number. Raises: ValueError: If the enum value could not be parsed. rNz%Enum type "%s" has no value named %s.rrz+Enum type "%s" has no value with number %d.) rorrZvalues_by_namerqrWrfilerrpra)rDrFZenum_descriptorrartrrrrs   r)r r ) FFFFNFNrN) rFFFFNFNN)rFFFFNN)rFFFFNN)FFN)FFN)FFN)FFN)FF)FF)FF)F)Br __author__r&rr$rurZlongZgoogle.protobuf.internalrrHrr__all__ZUint32ValueCheckerZInt32ValueCheckerZUint64ValueCheckerZInt64ValueCheckerrr IGNORECASErr frozensetr@Z CPPTYPE_FLOATZCPPTYPE_DOUBLErsrrX Exceptionr robjectr#rrErrrrKr2r|r rwr}r~rrrrrZ _Tokenizerrrrrrrrrrrrrrrrrr)s      )   J / #  AW     PK!80:[[+protobuf/__pycache__/any_pb2.cpython-36.pycnu[3 h~ @s`ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejddddddddedjdddddddedejddddddddedddddddedggggddd ggddd Zeejd<ejee jdejfeed!d"Zejed#e_eje jed$e_dS)%NcCs|S)N)xrr/usr/lib/python3.6/any_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/any.protozgoogle.protobufZproto3u google/protobuf/any.protogoogle.protobuf"& Any type_url (  value ( Bo com.google.protobufBAnyProtoPZ%github.com/golang/protobuf/ptypes/any¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbAnyzgoogle.protobuf.AnyZtype_urlzgoogle.protobuf.Any.type_url Fzutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfilevaluezgoogle.protobuf.Any.value .T)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.any_pb2) DESCRIPTOR __module__Tuq com.google.protobufBAnyProtoPZ%github.com/golang/protobuf/ptypes/any¢GPBªGoogle.Protobuf.WellKnownTypes) sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr"Z DescriptorZFieldDescriptordecodeZ_ANYZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsd           PK! 1protobuf/__pycache__/proto_builder.cpython-36.pycnu[3 hX @s|dZyddlmZWn ek r4ddlmZYnXddlZddlZddlmZddlm Z ddZ d dd Z d d Z dS) zDynamic Protobuf class creator.) OrderedDictN)descriptor_pb2)message_factorycCs|jj|}|j|}|S)a8Get a proto class from the MessageFactory by name. Args: factory: a MessageFactory instance. full_name: str, the fully qualified name of the proto type. Returns: A class, for the type identified by full_name. Raises: KeyError, if the proto is not found in the factory's descriptor pool. )poolZFindMessageTypeByNameZ GetPrototype)factory full_nameZproto_descriptor proto_clsr #/usr/lib/python3.6/proto_builder.py_GetMessageFromFactory,s  r c Cstj|d}|dk r8yt||}|Stk r6YnXt|j}t|tsVt|}t j }x4|D],\}}|j |j d|j t |j dqdW|jd} |dkrd|j}yt||}|Stk rYnX|jjt| ||t||S)aCreate a Protobuf class whose fields are basic types. Note: this doesn't validate field names! Args: fields: dict of {name: field_type} mappings for each field in the proto. If this is an OrderedDict the order will be maintained, otherwise the fields will be sorted by name. full_name: optional str, the fully-qualified name of the proto type. pool: optional DescriptorPool instance. Returns: a class, the new protobuf class with a FileDescriptor. )rNzutf-8z.protoz6net.proto2.python.public.proto_builder.AnonymousProto_)rZMessageFactoryr KeyErrorlistitems isinstancersortedhashlibZsha1updateencodestrZ hexdigestrZAdd_MakeFileDescriptorProto) Zfieldsrrrr field_itemsZ fields_hashf_namef_typeproto_file_namer r r MakeSimpleProtoClass<s4       rc Cs|jdd\}}tj}tjj|jdd||_||_|j j }||_x@t |dD]2\}\}} |j j } || _|| _ tjj| _| | _qRW|S)zAPopulate FileDescriptorProto for MessageFactory's DescriptorPool../)rsplitrZFileDescriptorProtoospathjoinreplacenamepackageZ message_typeadd enumerateZfieldZnumberZFieldDescriptorProtoZLABEL_OPTIONALZlabeltype) rrrr$r#Z file_protoZ desc_protoZf_numberrrZ field_protor r r rts    r)NN) __doc__ collectionsr ImportErrorZ ordereddictrrZgoogle.protobufrrr rrr r r r s   8PK!9P>protobuf/__pycache__/unittest_import_public_pb2.cpython-36.pycnu[3 h& @s*ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejede_eje jede_dS)NcCs|S)N)xrr0/usr/lib/python3.6/unittest_import_public_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z,google/protobuf/unittest_import_public.protoZprotobuf_unittest_importZproto2z ,google/protobuf/unittest_import_public.protoprotobuf_unittest_import" PublicImportMessage e (B com.google.protobuf.test)namepackagesyntaxZ serialized_pbPublicImportMessagez,protobuf_unittest_import.PublicImportMessageez.protobuf_unittest_import.PublicImportMessage.eF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileJj)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz*google.protobuf.unittest_import_public_pb2) DESCRIPTOR __module__Tz com.google.protobuf.test)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ_PUBLICIMPORTMESSAGEZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsV           PK!H'3protobuf/__pycache__/message_factory.cpython-36.pycnu[3 h@sNdZdZddlmZddlmZddlmZGdddeZeZdd Z d S) aoProvides a factory class for generating dynamic messages. The easiest way to use this class is if you have access to the FileDescriptor protos containing the messages you want to create you can just do the following: message_classes = message_factory.GetMessages(iterable_of_file_descriptors) my_proto_instance = message_classes['some.proto.package.MessageName']() z"matthewtoia@google.com (Matt Toia))descriptor_pool)message) reflectionc@s*eZdZdZd ddZddZddZdS) MessageFactoryz@Factory for creating Proto2 messages from descriptors in a pool.NcCs|p tj|_i|_dS)zInitializes a new factory.N)rZDescriptorPoolpool_classes)selfrr %/usr/lib/python3.6/message_factory.py__init__2szMessageFactory.__init__cCs||jkr|j}ttkr&|jjdd}tj|tjf|dd}||j|<x |j D]}|j rP|j |j qPWx>|j j D]2}|j|jkr|j |j|j|j}|j|qtW|j|S)aDBuilds a proto2 message class based on the passed in descriptor. Passing a descriptor with a fully qualified name matching a previous invocation will cause the same class to be returned. Args: descriptor: The descriptor to build from. Returns: A class describing the passed in descriptor. asciiignoreN) DESCRIPTOR __module__)rnamestrbytesencoderZGeneratedProtocolMessageTyperZMessageZfieldsZ message_type GetPrototyper extensionscontaining_typeRegisterExtension)rZ descriptorZdescriptor_nameZ result_classZfield extensionextended_classr r r r9s$       zMessageFactory.GetPrototypecCsi}x|D]~}|jj|}x&t|jjD]}|j|||j<q*WxDt|jjD]2}|j|j krn|j|j|j |j}|j |qRWq W|S)aGets all the messages from a specified file. This will find and resolve dependencies, failing if the descriptor pool cannot satisfy them. Args: files: The file names to extract messages from. Returns: A dictionary mapping proto names to the message classes. This will include any dependent messages as well as any messages defined in the same file as a specified message. ) rZFindFileByNamelistZmessage_types_by_namevaluesrZ full_nameZextensions_by_namerrr)rfilesresult file_nameZ file_descZdescrrr r r GetMessagesYs      zMessageFactory.GetMessages)N)__name__r __qualname____doc__r rrr r r r r/s  rcsJdd|Dfddxr4jdqWtjdd|DS)a^Builds a dictionary of all the messages available in a set of files. Args: file_protos: Iterable of FileDescriptorProto to build messages out of. Returns: A dictionary mapping proto names to the message classes. This will include any dependent messages as well as any messages defined in the same file as a specified message. cSsi|] }||jqSr )r).0 file_protor r r szGetMessages..cs6x$|jD]}|krj|qWtjj|dS)N) dependencypop_FACTORYrZAdd)r$r&)_AddFile file_by_namer r r)s zGetMessages.._AddFilecSsg|] }|jqSr )r)r#r$r r r szGetMessages..)popitemr(r)Z file_protosr )r)r*r rs rN) r" __author__Zgoogle.protobufrrrobjectrr(rr r r r &s   OPK!Qq7protobuf/__pycache__/timestamp_pb2.cpython-36.opt-1.pycnu[3 h @sRddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejed e_eje jed!e_dS)"NcCs|S)N)xrr#/usr/lib/python3.6/timestamp_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/timestamp.protozgoogle.protobufZproto3u google/protobuf/timestamp.protogoogle.protobuf"+ Timestamp seconds ( nanos (B~ com.google.protobufBTimestampProtoPZ+github.com/golang/protobuf/ptypes/timestampø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb Timestampzgoogle.protobuf.TimestampZsecondsz!google.protobuf.Timestamp.secondsF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileZnanoszgoogle.protobuf.Timestamp.nanos4_)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.timestamp_pb2) DESCRIPTOR __module__Tu com.google.protobufBTimestampProtoPZ+github.com/golang/protobuf/ptypes/timestampø¢GPBªGoogle.Protobuf.WellKnownTypes)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ _TIMESTAMPZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsd           PK!Duyuy2protobuf/__pycache__/descriptor_pb2.cpython-36.pycnu[3 h\*@s%ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z e j Z ejd d d ed dZejdddeejddddddejddddddejddddddejddddddejddddddejddddddejddddddejddd dddejd!d d"dddejd#d"d$dddejd%d$d&dddejd'd&d(dddejd)d(d*dddejd+d*d,dddejd-d,d.dddejd/d.d0dddejd1d0d2dddejd3d2d4dddgddd5d6d7 Ze jeejd8d9deejd:dddddejd;dddddejdd7 Ze jeejd?d@deejdAdddddejdBdddddejdCdddddgdddDdEd7 Ze jeejdFdGdeejdHdddddejdIdddddejdJdddddgdddKdLd7 Ze jeejdMdNdeejdOdddddejdPdddddejdQdddddgdddRdSd7 Ze jeejdTdUdeejdVdddddejdWdddddejdXdddddgdddYdZd7 Ze jeejd[d\dedejd]d^ddd&d$dd_gdddd_dded`ggggdd_d ggdadbdcZejdddededejdfdgddd"d"dd_edhjdidddd_dded`ejdjdkddd"d"dd_edhjdidddd_dded`ejdldmddd"d"dd_gdddd_dded`ejdndodd$dddd_gdddd_dded`ejdpdqdd&dddd_gdddd_dded`ejdrdsddd&d$dd_gdddd_dded`ejdtduddd&d$dd_gdddd_dded`ejdvdwddd&d$dd_gdddd_dded`ejdxdyd dd&d$dd_gdddd_dded`ejdzd{d"d d&d$dd_ddddd_dded`ejd|d}d$d"d&d$dd_ddddd_dded`ejd~dd&d(d"d"dd_edhjdidddd_dded`g gggdd_d ggdddcZejdddedejdddddddd_ddddd_dded`ejdddddddd_ddddd_dded`ejdzdddd&d$dd_ddddd_dded`ggggdd_d ggdddcZejdddedejdddddddd_ddddd_dded`ejdddddddd_ddddd_dded`ggggdd_d ggdddcZejdddedejdfdddd"d"dd_edhjdidddd_dded`ejddddd&d$dd_gdddd_dded`ejdxdddd&d$dd_gdddd_dded`ejddddd&d$dd_gdddd_dded`ejdtdddd&d$dd_gdddd_dded`ejddddd&d$dd_gdddd_dded`ejdddd d&d$dd_gdddd_dded`ejdzdddd&d$dd_ddddd_dded`ejddd d"d&d$dd_gdddd_dded`ejddd"d$d"d"dd_gdddd_dded`g geeggdd_d ggdddcZ ejdddedejddddd&d$dd_gdddd_dded`ggggddd dggdddcZ!ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejdddddddd_ddddd_dded`ejddddd,d dd_ddddd_dded`ejddddd,d dd_ddddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejdddd"dddd_ddddd_dded`ejddd d$d"d"dd_edhjdidddd_dded`ejdzdd"d d&d$dd_ddddd_dded`g ggeegdd_d ggdd>dcZ"ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejdzdddd&d$dd_ddddd_dded`ggggdd_d ggdddcZ#ejdddedejdddddddd_ddddd_dded`ejdddddddd_ddddd_dded`ggggdd_d ggdddcZ$ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejddddd&d$dd_gdddd_dded`ejdzdddd&d$dd_ddddd_dded`ejddddd&d$dd_gdddd_dded`ejddddd"d"dd_gdddd_dded`gge$ggdd_d ggdddcZ%ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejdddddddd_ddddd_dded`ejdzdddd&d$dd_ddddd_dded`ggggdd_d ggdddcZ&ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejddddd&d$dd_gdddd_dded`ejdzdddd&d$dd_ddddd_dded`ggggdd_d ggdddcZ'ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejdzdddd&d$dd_ddddd_dded`ejddddd dddd_dddd_dded`ejddddd dddd_dddd_dded`ggggdd_d ggdddcZ(ejdddedejddddd"d"dd_edhjdidddd_dded`ejdddd d"d"dd_edhjdidddd_dded`ejdddd$d dddd_dddd_dded`ejddddd ddd_d_dddd_dded`ejddddd dddd_dddd_dded`ejdddd"d,d ddddddd_dded`ejdddd&d"d"dd_edhjdidddd_dded`ejdddd0d dddd_dddd_dded`ejd d d d2d dddd_dddd_dded`ejd d d"d4d dddd_dddd_dded`ejd dd$dd dddd_dddd_dded`ejddd&dd dddd_dddd_dded`ejddd(dd dddd_dddd_dded`ejddd*dd"d"dd_edhjdidddd_dded`ejddd,dd"d"dd_edhjdidddd_dded`ejddd.dd"d"dd_edhjdidddd_dded`ejdd d0d!d"d"dd_edhjdidddd_dded`ejd"d#d2d$d"d"dd_edhjdidddd_dded`ejdd%d4dd&d$dd_gdddd_dded`gggegddd dggd&d'dcZ)ejd(d)dedejd*d+ddd dddd_dddd_dded`ejd,d-ddd dddd_dddd_dded`ejdd.ddd dddd_dddd_dded`ejd/d0ddd ddd_d_dddd_dded`ejdd1ddd&d$dd_gdddd_dded`ggggddd dggd2d3dcZ*ejd4d5dedejd6d7ddd,d ddddddd_dded`ejd8d9ddd ddd_d_dddd_dded`ejd:d;ddd,d ddddddd_dded`ejd<d=ddd dddd_dddd_dded`ejdd>ddd dddd_dddd_dded`ejd?d@dd$d dddd_dddd_dded`ejddAddd&d$dd_gdddd_dded`gggeegddd dggdBdCdcZ+ejdDdEdedejddFddd&d$dd_gdddd_dded`ggggddd dggdGdHdcZ,ejdIdJdedejdKdLddd ddd_d_dddd_dded`ejddMddd dddd_dddd_dded`ejddNddd&d$dd_gdddd_dded`ggggddd dggdOdPdcZ-ejdQdRdedejddSddd dddd_dddd_dded`ejddTddd&d$dd_gdddd_dded`ggggddd dggdUdVdcZ.ejdWdXdedejddYddZd dddd_dddd_dded`ejdd[ddd&d$dd_gdddd_dded`ggggddd dggd\d]dcZ/ejd^d_dedejdd`ddZd dddd_dddd_dded`ejdadbddcd,d ddddddd_dded`ejdddddd&d$dd_gdddd_dded`gggegddd dggdedfdcZ0ejdgdhdedejdidjddd"d"dd_edhjdidddd_dded`ejdkdlddd ddd_d_dddd_dded`ggggdd_d ggdmdndcZ1ejdodpdedejdfdqddd&d$dd_gdddd_dded`ejdrdsddd"d"dd_edhjdidddd_dded`ejdtdudddddd_ddddd_dded`ejdvdwdddddd_ddddd_dded`ejdxdydddddd_e2ddddd_dded`ejdzd{ddd(d"dd_edhdddd_dded`ejd|d}dd d"d"dd_edhjdidddd_dded`gge1ggdd_d ggd~dndcZ3ejdddedejdddddddd_gdddd_dded`ejdddddddd_gdddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_gdddd_dded`ggggdd_d ggdddcZ4ejdddedejddddd&d$dd_gdddd_dded`gge4ggdd_d ggdddcZ5ejdddedejdddddddd_gdddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejdddddddd_ddddd_dded`ejdddddddd_ddddd_dded`ggggdd_d ggdddcZ6ejdddedejddddd&d$dd_gdddd_dded`gge6ggdd_d ggdddcZ7eej8d]_9e ej8dr_9e%ej8dt_9e'ej8dv_9e"ej8dx_9e)ej8dz_9e5ej8d|_9e!ej8dz_9e e_:e e_:e"e j8d_9e"e j8dx_9e e j8d_9e%e j8dt_9ee j8d_9e#e j8d_9e*e j8dz_9ee j8d_9e3e!j8d_9ee"j8d_;ee"j8d_;e+e"j8dz_9e"e_:e"e_:e,e#j8dz_9e%e$_:e&e%j8d_9e-e%j8dz_9e$e%j8d_9e.e&j8dz_9e(e'j8d_9e/e'j8dz_9e0e(j8dz_9ee)j8d_;e3e)j8d_9e)e_:e3e*j8d_9ee+j8d6_;ee+j8d:_;e3e+j8d_9e+e_:e+e_:e3e,j8d_9e3e-j8d_9e3e.j8d_9e3e/j8d_9ee0j8da_;e3e0j8d_9e0e_:e3e1_:e1e3j8df_9e5e4_:e4e5j8d_9e7e6_:e6e7j8d_9eejd[ej?fe@eddZAe jBeAe j>ddej?fe@eddZCe jBeCe j>dej?fe@e j>dej?fe@edde j>dej?fe@edde ddZDe jBeDe jBeDjEe jBeDjFe j>dej?fe@e!ddZGe jBeGe j>dej?fe@e"ddZHe jBeHe j>dej?fe@e#ddZIe jBeIe j>dej?fe@e j>dej?fe@e$dde%ddZJe jBeJe jBeJjKe j>dej?fe@e&ddZLe jBeLe j>dej?fe@e'ddZMe jBeMe j>dej?fe@e(ddZNe jBeNe j>dej?fe@e)ddZOe jBeOe j>d(ej?fe@e*ddZPe jBePe j>d4ej?fe@e+ddZQe jBeQe j>dDej?fe@e,ddZRe jBeRe j>dIej?fe@e-ddZSe jBeSe j>dQej?fe@e.ddZTe jBeTe j>dWej?fe@e/ddZUe jBeUe j>d^ej?fe@e0ddZVe jBeVe j>doej?fe@e j>dgej?fe@e1dde3ddZWe jBeWe jBeWjXe j>dej?fe@e j>dej?fe@e4dde5ddZYe jBeYe jBeYjZe j>dej?fe@e j>dej?fe@e6dde7ddZ[e jBe[e jBe[j\dS(NcCs|S)N)xrr$/usr/lib/python3.6/descriptor_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_databasez google/protobuf/descriptor.protozgoogle.protobufZproto2u google/protobuf/descriptor.protogoogle.protobuf"G FileDescriptorSet2 file ( 2$.google.protobuf.FileDescriptorProto"Û FileDescriptorProto name (  package (  dependency (  public_dependency ( weak_dependency (6 message_type ( 2 .google.protobuf.DescriptorProto7 enum_type ( 2$.google.protobuf.EnumDescriptorProto8 service ( 2'.google.protobuf.ServiceDescriptorProto8 extension ( 2%.google.protobuf.FieldDescriptorProto- options ( 2.google.protobuf.FileOptions9 source_code_info ( 2.google.protobuf.SourceCodeInfo syntax ( "© DescriptorProto name ( 4 field ( 2%.google.protobuf.FieldDescriptorProto8 extension ( 2%.google.protobuf.FieldDescriptorProto5 nested_type ( 2 .google.protobuf.DescriptorProto7 enum_type ( 2$.google.protobuf.EnumDescriptorProtoH extension_range ( 2/.google.protobuf.DescriptorProto.ExtensionRange9 oneof_decl ( 2%.google.protobuf.OneofDescriptorProto0 options ( 2.google.protobuf.MessageOptionsF reserved_range ( 2..google.protobuf.DescriptorProto.ReservedRange reserved_name ( e ExtensionRange start ( end (7 options ( 2&.google.protobuf.ExtensionRangeOptions+ ReservedRange start ( end ("g ExtensionRangeOptionsC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€"¼ FieldDescriptorProto name (  number (: label (2+.google.protobuf.FieldDescriptorProto.Label8 type (2*.google.protobuf.FieldDescriptorProto.Type type_name (  extendee (  default_value (  oneof_index ( json_name ( . options ( 2.google.protobuf.FieldOptions"¶ Type TYPE_DOUBLE TYPE_FLOAT TYPE_INT64 TYPE_UINT64 TYPE_INT32 TYPE_FIXED64 TYPE_FIXED32 TYPE_BOOL TYPE_STRING  TYPE_GROUP  TYPE_MESSAGE  TYPE_BYTES  TYPE_UINT32  TYPE_ENUM TYPE_SFIXED32 TYPE_SFIXED64 TYPE_SINT32 TYPE_SINT64"C Label LABEL_OPTIONAL LABEL_REQUIRED LABEL_REPEATED"T OneofDescriptorProto name ( . options ( 2.google.protobuf.OneofOptions"¤ EnumDescriptorProto name ( 8 value ( 2).google.protobuf.EnumValueDescriptorProto- options ( 2.google.protobuf.EnumOptionsN reserved_range ( 26.google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_name ( / EnumReservedRange start ( end ("l EnumValueDescriptorProto name (  number (2 options ( 2!.google.protobuf.EnumValueOptions" ServiceDescriptorProto name ( 6 method ( 2&.google.protobuf.MethodDescriptorProto0 options ( 2.google.protobuf.ServiceOptions"Á MethodDescriptorProto name (  input_type (  output_type ( / options ( 2.google.protobuf.MethodOptions client_streaming (:false server_streaming (:false"ð FileOptions java_package (  java_outer_classname ( " java_multiple_files (:false) java_generate_equals_and_hash (B% java_string_check_utf8 (:falseF optimize_for (2).google.protobuf.FileOptions.OptimizeMode:SPEED go_package ( " cc_generic_services (:false$ java_generic_services (:false" py_generic_services (:false# php_generic_services* (:false deprecated (:false cc_enable_arenas (:false objc_class_prefix$ (  csharp_namespace% (  swift_prefix' (  php_class_prefix( (  php_namespace) ( C uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption": OptimizeMode SPEED CODE_SIZE LITE_RUNTIME* 耀€€J&'"ò MessageOptions& message_set_wire_format (:false. no_standard_descriptor_accessor (:false deprecated (:false map_entry (C uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€J J  "ž FieldOptions: ctype (2#.google.protobuf.FieldOptions.CType:STRING packed (? jstype (2$.google.protobuf.FieldOptions.JSType: JS_NORMAL lazy (:false deprecated (:false weak (:falseC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption"/ CType STRING CORD STRING_PIECE"5 JSType JS_NORMAL JS_STRING JS_NUMBER* 耀€€J"^ OneofOptionsC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€"“ EnumOptions allow_alias ( deprecated (:falseC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€J"} EnumValueOptions deprecated (:falseC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€"{ ServiceOptions deprecated! (:falseC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€"­ MethodOptions deprecated! (:false_ idempotency_level" (2/.google.protobuf.MethodOptions.IdempotencyLevel:IDEMPOTENCY_UNKNOWNC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption"P IdempotencyLevel IDEMPOTENCY_UNKNOWN NO_SIDE_EFFECTS IDEMPOTENT* 耀€€"ž UninterpretedOption; name ( 2-.google.protobuf.UninterpretedOption.NamePart identifier_value (  positive_int_value ( negative_int_value ( double_value ( string_value (  aggregate_value ( 3 NamePart name_part (  is_extension ("Õ SourceCodeInfo: location ( 2(.google.protobuf.SourceCodeInfo.Location† Location path (B span (B leading_comments (  trailing_comments ( ! leading_detached_comments ( "§ GeneratedCodeInfoA annotation ( 2-.google.protobuf.GeneratedCodeInfo.AnnotationO Annotation path (B source_file (  begin ( end (B com.google.protobufBDescriptorProtosHZ>github.com/golang/protobuf/protoc-gen-go/descriptor;descriptorø¢GPBªGoogle.Protobuf.Reflection)namepackagesyntaxZ serialized_pbZTypez)google.protobuf.FieldDescriptorProto.TypeZ TYPE_DOUBLE)r indexnumberoptionstypeZ TYPE_FLOATZ TYPE_INT64Z TYPE_UINT64Z TYPE_INT32Z TYPE_FIXED64Z TYPE_FIXED32Z TYPE_BOOLZ TYPE_STRING Z TYPE_GROUP Z TYPE_MESSAGE Z TYPE_BYTES Z TYPE_UINT32 Z TYPE_ENUMZ TYPE_SFIXED32Z TYPE_SFIXED64Z TYPE_SINT32Z TYPE_SINT64ii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZLabelz*google.protobuf.FieldDescriptorProto.LabelZLABEL_OPTIONALZLABEL_REQUIREDZLABEL_REPEATEDii.Z OptimizeModez(google.protobuf.FileOptions.OptimizeModeZSPEEDZ CODE_SIZEZ LITE_RUNTIMEiiRZCTypez"google.protobuf.FieldOptions.CTypeSTRINGZCORDZ STRING_PIECEiiZJSTypez#google.protobuf.FieldOptions.JSTypeZ JS_NORMALZ JS_STRINGZ JS_NUMBERiiZIdempotencyLevelz.google.protobuf.MethodOptions.IdempotencyLevelZIDEMPOTENCY_UNKNOWNZNO_SIDE_EFFECTSZ IDEMPOTENTiiFileDescriptorSetz!google.protobuf.FileDescriptorSetr'z&google.protobuf.FileDescriptorSet.fileF)r r%rrrZcpp_typelabelZhas_default_value default_value message_type enum_typer) is_extensionZextension_scoperr'5|)r r%r&r'r)Zfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr*r+FileDescriptorProtoz#google.protobuf.FileDescriptorProtor z(google.protobuf.FileDescriptorProto.namezutf-8rz+google.protobuf.FileDescriptorProto.packageZ dependencyz.google.protobuf.FileDescriptorProto.dependencyZpublic_dependencyz5google.protobuf.FileDescriptorProto.public_dependencyZweak_dependencyz3google.protobuf.FileDescriptorProto.weak_dependencyr0z0google.protobuf.FileDescriptorProto.message_typer1z-google.protobuf.FileDescriptorProto.enum_typeZservicez+google.protobuf.FileDescriptorProto.service extensionz-google.protobuf.FileDescriptorProto.extensionrz+google.protobuf.FileDescriptorProto.optionsZsource_code_infoz4google.protobuf.FileDescriptorProto.source_code_inforz*google.protobuf.FileDescriptorProto.syntaxiZExtensionRangez.google.protobuf.DescriptorProto.ExtensionRangestartz4google.protobuf.DescriptorProto.ExtensionRange.startendz2google.protobuf.DescriptorProto.ExtensionRange.endz6google.protobuf.DescriptorProto.ExtensionRange.optionsiti ReservedRangez-google.protobuf.DescriptorProto.ReservedRangez3google.protobuf.DescriptorProto.ReservedRange.startz1google.protobuf.DescriptorProto.ReservedRange.endiiDescriptorProtozgoogle.protobuf.DescriptorProtoz$google.protobuf.DescriptorProto.nameZfieldz%google.protobuf.DescriptorProto.fieldz)google.protobuf.DescriptorProto.extensionZ nested_typez+google.protobuf.DescriptorProto.nested_typez)google.protobuf.DescriptorProto.enum_typeZextension_rangez/google.protobuf.DescriptorProto.extension_rangeZ oneof_declz*google.protobuf.DescriptorProto.oneof_declz'google.protobuf.DescriptorProto.optionsZreserved_rangez.google.protobuf.DescriptorProto.reserved_rangeZ reserved_namez-google.protobuf.DescriptorProto.reserved_namei]ExtensionRangeOptionsz%google.protobuf.ExtensionRangeOptionsZuninterpreted_optionz:google.protobuf.ExtensionRangeOptions.uninterpreted_optioniT iioFieldDescriptorProtoz$google.protobuf.FieldDescriptorProtoz)google.protobuf.FieldDescriptorProto.namerz+google.protobuf.FieldDescriptorProto.numberr.z*google.protobuf.FieldDescriptorProto.labelrz)google.protobuf.FieldDescriptorProto.typeZ type_namez.google.protobuf.FieldDescriptorProto.type_nameZextendeez-google.protobuf.FieldDescriptorProto.extendeer/z2google.protobuf.FieldDescriptorProto.default_valueZ oneof_indexz0google.protobuf.FieldDescriptorProto.oneof_indexZ json_namez.google.protobuf.FieldDescriptorProto.json_namez,google.protobuf.FieldDescriptorProto.optionsirOneofDescriptorProtoz$google.protobuf.OneofDescriptorProtoz)google.protobuf.OneofDescriptorProto.namez,google.protobuf.OneofDescriptorProto.optionsi0iEnumReservedRangez5google.protobuf.EnumDescriptorProto.EnumReservedRangez;google.protobuf.EnumDescriptorProto.EnumReservedRange.startz9google.protobuf.EnumDescriptorProto.EnumReservedRange.endi| i EnumDescriptorProtoz#google.protobuf.EnumDescriptorProtoz(google.protobuf.EnumDescriptorProto.namevaluez)google.protobuf.EnumDescriptorProto.valuez+google.protobuf.EnumDescriptorProto.optionsz2google.protobuf.EnumDescriptorProto.reserved_rangez1google.protobuf.EnumDescriptorProto.reserved_nameiEnumValueDescriptorProtoz(google.protobuf.EnumValueDescriptorProtoz-google.protobuf.EnumValueDescriptorProto.namez/google.protobuf.EnumValueDescriptorProto.numberz0google.protobuf.EnumValueDescriptorProto.optionsi i ServiceDescriptorProtoz&google.protobuf.ServiceDescriptorProtoz+google.protobuf.ServiceDescriptorProto.namemethodz-google.protobuf.ServiceDescriptorProto.methodz.google.protobuf.ServiceDescriptorProto.optionsi i MethodDescriptorProtoz%google.protobuf.MethodDescriptorProtoz*google.protobuf.MethodDescriptorProto.nameZ input_typez0google.protobuf.MethodDescriptorProto.input_typeZ output_typez1google.protobuf.MethodDescriptorProto.output_typez-google.protobuf.MethodDescriptorProto.optionsZclient_streamingz6google.protobuf.MethodDescriptorProto.client_streamingZserver_streamingz6google.protobuf.MethodDescriptorProto.server_streamingi ip FileOptionszgoogle.protobuf.FileOptionsZ java_packagez(google.protobuf.FileOptions.java_packageZjava_outer_classnamez0google.protobuf.FileOptions.java_outer_classnameZjava_multiple_filesz/google.protobuf.FileOptions.java_multiple_filesZjava_generate_equals_and_hashz9google.protobuf.FileOptions.java_generate_equals_and_hashZjava_string_check_utf8z2google.protobuf.FileOptions.java_string_check_utf8Z optimize_forz(google.protobuf.FileOptions.optimize_forZ go_packagez&google.protobuf.FileOptions.go_packageZcc_generic_servicesz/google.protobuf.FileOptions.cc_generic_servicesZjava_generic_servicesz1google.protobuf.FileOptions.java_generic_servicesZpy_generic_servicesz/google.protobuf.FileOptions.py_generic_servicesZphp_generic_servicesz0google.protobuf.FileOptions.php_generic_services*Z deprecatedz&google.protobuf.FileOptions.deprecatedZcc_enable_arenasz,google.protobuf.FileOptions.cc_enable_arenasZobjc_class_prefixz-google.protobuf.FileOptions.objc_class_prefix$Zcsharp_namespacez,google.protobuf.FileOptions.csharp_namespace%Z swift_prefixz(google.protobuf.FileOptions.swift_prefix'Zphp_class_prefixz,google.protobuf.FileOptions.php_class_prefix(Z php_namespacez)google.protobuf.FileOptions.php_namespace)z0google.protobuf.FileOptions.uninterpreted_optionis icMessageOptionszgoogle.protobuf.MessageOptionsZmessage_set_wire_formatz6google.protobuf.MessageOptions.message_set_wire_formatZno_standard_descriptor_accessorz>google.protobuf.MessageOptions.no_standard_descriptor_accessorz)google.protobuf.MessageOptions.deprecatedZ map_entryz(google.protobuf.MessageOptions.map_entryz3google.protobuf.MessageOptions.uninterpreted_optionifiX FieldOptionszgoogle.protobuf.FieldOptionsZctypez"google.protobuf.FieldOptions.ctypeZpackedz#google.protobuf.FieldOptions.packedZjstypez#google.protobuf.FieldOptions.jstypeZlazyz!google.protobuf.FieldOptions.lazyz'google.protobuf.FieldOptions.deprecatedZweakz!google.protobuf.FieldOptions.weakz1google.protobuf.FieldOptions.uninterpreted_optioni[i OneofOptionszgoogle.protobuf.OneofOptionsz1google.protobuf.OneofOptions.uninterpreted_optioniiY EnumOptionszgoogle.protobuf.EnumOptionsZ allow_aliasz'google.protobuf.EnumOptions.allow_aliasz&google.protobuf.EnumOptions.deprecatedz0google.protobuf.EnumOptions.uninterpreted_optioni\iEnumValueOptionsz google.protobuf.EnumValueOptionsz+google.protobuf.EnumValueOptions.deprecatedz5google.protobuf.EnumValueOptions.uninterpreted_optioniinServiceOptionszgoogle.protobuf.ServiceOptionsz)google.protobuf.ServiceOptions.deprecated!z3google.protobuf.ServiceOptions.uninterpreted_optionipi MethodOptionszgoogle.protobuf.MethodOptionsz(google.protobuf.MethodOptions.deprecatedZidempotency_levelz/google.protobuf.MethodOptions.idempotency_level"z2google.protobuf.MethodOptions.uninterpreted_optioniiNamePartz,google.protobuf.UninterpretedOption.NamePartZ name_partz6google.protobuf.UninterpretedOption.NamePart.name_partr2z9google.protobuf.UninterpretedOption.NamePart.is_extensioni i<UninterpretedOptionz#google.protobuf.UninterpretedOptionz(google.protobuf.UninterpretedOption.nameZidentifier_valuez4google.protobuf.UninterpretedOption.identifier_valueZpositive_int_valuez6google.protobuf.UninterpretedOption.positive_int_valueZnegative_int_valuez6google.protobuf.UninterpretedOption.negative_int_valueZ double_valuez0google.protobuf.UninterpretedOption.double_valueZ string_valuez0google.protobuf.UninterpretedOption.string_valueZaggregate_valuez3google.protobuf.UninterpretedOption.aggregate_valueiLocationz'google.protobuf.SourceCodeInfo.Locationpathz,google.protobuf.SourceCodeInfo.Location.pathspanz,google.protobuf.SourceCodeInfo.Location.spanZleading_commentsz8google.protobuf.SourceCodeInfo.Location.leading_commentsZtrailing_commentsz9google.protobuf.SourceCodeInfo.Location.trailing_commentsZleading_detached_commentszAgoogle.protobuf.SourceCodeInfo.Location.leading_detached_commentsiiSourceCodeInfozgoogle.protobuf.SourceCodeInfolocationz'google.protobuf.SourceCodeInfo.locationi? Annotationz,google.protobuf.GeneratedCodeInfo.Annotationz1google.protobuf.GeneratedCodeInfo.Annotation.pathZ source_filez8google.protobuf.GeneratedCodeInfo.Annotation.source_fileZbeginz2google.protobuf.GeneratedCodeInfo.Annotation.beginz0google.protobuf.GeneratedCodeInfo.Annotation.endioiGeneratedCodeInfoz!google.protobuf.GeneratedCodeInfoZ annotationz,google.protobuf.GeneratedCodeInfo.annotationizgoogle.protobuf.descriptor_pb2) DESCRIPTOR __module__)r:r=rhri)rDrhri)r_rhri)rarhri)rfrhri)r@rA)r@rA)r@rA)r@rA)r@rA)r@rA)r@rA)r@rA)r@rA)]sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaseZDefaultZ_sym_dbZFileDescriptorrhZEnumDescriptorZEnumValueDescriptorZ_FIELDDESCRIPTORPROTO_TYPEZRegisterEnumDescriptorZ_FIELDDESCRIPTORPROTO_LABELZ_FILEOPTIONS_OPTIMIZEMODEZ_FIELDOPTIONS_CTYPEZ_FIELDOPTIONS_JSTYPEZ_METHODOPTIONS_IDEMPOTENCYLEVELZ DescriptorZFieldDescriptorZ_FILEDESCRIPTORSETdecodeZ_FILEDESCRIPTORPROTOZ_DESCRIPTORPROTO_EXTENSIONRANGEZ_DESCRIPTORPROTO_RESERVEDRANGEZ_DESCRIPTORPROTOZ_EXTENSIONRANGEOPTIONSZ_FIELDDESCRIPTORPROTOZ_ONEOFDESCRIPTORPROTOZ&_ENUMDESCRIPTORPROTO_ENUMRESERVEDRANGEZ_ENUMDESCRIPTORPROTOZ_ENUMVALUEDESCRIPTORPROTOZ_SERVICEDESCRIPTORPROTOZ_METHODDESCRIPTORPROTOZ _FILEOPTIONSZ_MESSAGEOPTIONSZ _FIELDOPTIONSZ _ONEOFOPTIONSZ _ENUMOPTIONSZ_ENUMVALUEOPTIONSZ_SERVICEOPTIONSZ_METHODOPTIONSZ_UNINTERPRETEDOPTION_NAMEPARTfloatZ_UNINTERPRETEDOPTIONZ_SOURCECODEINFO_LOCATIONZ_SOURCECODEINFOZ_GENERATEDCODEINFO_ANNOTATIONZ_GENERATEDCODEINFOZfields_by_namer0r)r1Zmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr-ZRegisterMessager6r>r:r=r?rBrCrErDrGrHrJrKrVrWrXrYrZr[r]r`r_rdrargrfrrrrs                                                                                                                                                                                                            PK!7H Jprotobuf/__pycache__/unittest_no_generic_services_pb2.cpython-36.opt-1.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZejd d deddZejdddeejddddddgddddd ZejeejeZdZdZejdddddddddddddddedZejd d!dedejd"d#dddddddddddddedggggdddd2ggd%d&d'Zeejd <eej d<eej!d<ej"ee j#d e j$fe%ed(d)Z&ej'e&e&j(eej)d*d+eddd,d-ej*d.d/ddeedd0gd1Z+ej,e+e+ej-d*<dS)3NcCs|S)N)xrr6/usr/lib/python3.6/unittest_no_generic_services_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2z2google/protobuf/unittest_no_generic_services.protoz(google.protobuf.no_generic_services_testZproto2ut 2google/protobuf/unittest_no_generic_services.proto(google.protobuf.no_generic_services_test"# TestMessage a (* 耀€€* TestEnum FOO2‚ TestServices Foo5.google.protobuf.no_generic_services_test.TestMessage5.google.protobuf.no_generic_services_test.TestMessage:N test_extension5.google.protobuf.no_generic_services_test.TestMessageè ()namepackagesyntaxZ serialized_pbTestEnumz1google.protobuf.no_generic_services_test.TestEnumFOO)rindexnumberoptionstype) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endtest_extensionz7google.protobuf.no_generic_services_test.test_extensionFT)rrrrrZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typerZ is_extensionZextension_scoperr TestMessagez4google.protobuf.no_generic_services_test.TestMessageaz6google.protobuf.no_generic_services_test.TestMessage.a `)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr r!z0google.protobuf.unittest_no_generic_services_pb2) DESCRIPTOR __module__Z TestServicez4google.protobuf.no_generic_services_test.TestServiceiZFooz8google.protobuf.no_generic_services_test.TestService.Foo)rrrZcontaining_serviceZ input_typeZ output_typer)rrrrrr r!methods)r"r').sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbZFileDescriptorr+ZEnumDescriptorZEnumValueDescriptorZ _TESTENUMZRegisterEnumDescriptorZEnumTypeWrapperrrZTEST_EXTENSION_FIELD_NUMBERZFieldDescriptorr#Z DescriptorZ _TESTMESSAGEZmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr%ZRegisterMessageZRegisterExtensionZServiceDescriptorZMethodDescriptorZ _TESTSERVICEZRegisterServiceDescriptorZservices_by_namerrrrs                   PK!;D222protobuf/__pycache__/field_mask_pb2.cpython-36.pycnu[3 hv @s*ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejddddddddgddddddedggggddd ggdddZeejd<ejee jdejfeeddZejede_eje jede_dS)NcCs|S)N)xrr$/usr/lib/python3.6/field_mask_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z google/protobuf/field_mask.protozgoogle.protobufZproto3u google/protobuf/field_mask.protogoogle.protobuf" FieldMask paths ( B‰ com.google.protobufBFieldMaskProtoPZ9google.golang.org/genproto/protobuf/field_mask;field_mask¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb FieldMaskzgoogle.protobuf.FieldMaskpathszgoogle.protobuf.FieldMask.paths F)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile5O)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.field_mask_pb2) DESCRIPTOR __module__Tu com.google.protobufBFieldMaskProtoPZ9google.golang.org/genproto/protobuf/field_mask;field_mask¢GPBªGoogle.Protobuf.WellKnownTypes)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ _FIELDMASKZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsV           PK!w Gprotobuf/__pycache__/unittest_mset_wire_format_pb2.cpython-36.opt-1.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedggggeje jeddd d'ggdddZejdddedejdddddddd ddddd dded!ggggdd d ggd"d#dZeejd_eejd<eejd<ejee jdejfeed$d%Zejee jdejfeed$d%Z eje de_!eje j"ed&e_#de_!eje jede_#dS)(NcCs|S)N)xrr3/usr/lib/python3.6/unittest_mset_wire_format_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z/google/protobuf/unittest_mset_wire_format.protoZproto2_wireformat_unittestZproto2u /google/protobuf/unittest_mset_wire_format.protoproto2_wireformat_unittest" TestMessageSet*ÿÿÿÿ:"d !TestMessageSetWireFormatContainer? message_set ( 2*.proto2_wireformat_unittest.TestMessageSetB)Høª!Google.ProtocolBuffers.TestProtos)namepackagesyntaxZ serialized_pbTestMessageSetz)proto2_wireformat_unittest.TestMessageSetzTOm)r full_namefilenamefilecontaining_typeZfields extensionsZ nested_typesZ enum_typesoptionsZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_end!TestMessageSetWireFormatContainerzs               PK!\'(kk9protobuf/__pycache__/descriptor_pool.cpython-36.opt-1.pycnu[3 h@sdZdZddlZddlmZddlmZddlmZejZddZd d Z d d Z Gd dde Z ddZ erxejjZne ZddZdS)aJProvides DescriptorPool to use as a container for proto2 descriptors. The DescriptorPool is used in conjection with a DescriptorDatabase to maintain a collection of protocol buffer descriptors for use when dynamically creating message types at runtime. For most applications protocol buffers should be used via modules generated by the protocol buffer compiler tool. This should only be used when the type of protocol buffers used in an application or library cannot be predetermined. Below is a straightforward example on how to use this class: pool = DescriptorPool() file_descriptor_protos = [ ... ] for file_descriptor_proto in file_descriptor_protos: pool.Add(file_descriptor_proto) my_message_descriptor = pool.FindMessageTypeByName('some.package.MessageType') The message descriptor can be used in conjunction with the message_factory module in order to create a protocol buffer class that can be encoded and decoded. If you want to get a Python class for the specified proto, use the helper functions inside google.protobuf.message_factory directly instead of this class. z"matthewtoia@google.com (Matt Toia)N) descriptor)descriptor_database) text_encodingcCs |jdS)aLRemove leading period from fully-qualified type name. Due to b/13860351 in descriptor_database.py, types in the root namespace are generated with a leading period. This function removes that prefix. Args: name: A str, the fully-qualified symbol name. Returns: A str, the normalized fully-qualified symbol name. .)lstrip)namer%/usr/lib/python3.6/descriptor_pool.py_NormalizeFullyQualifiedNameFs r cCs|jdr|jSdSdS)zCReturns the value of the field `options`, or None if it is not set.optionsN)HasFieldr )Zdescriptor_protorrr _OptionsOrNoneUs r cCs6|jo4|jjo4|jjjo4|jtjjko4|j tjj kS)N) is_extensioncontaining_typeZ has_optionsZ GetOptionsZmessage_set_wire_formattyperFieldDescriptor TYPE_MESSAGElabelZLABEL_OPTIONAL)fieldrrr _IsMessageSetExtension]s  rc@s&eZdZdZerdFddZdGddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.ZdHd/d0ZdId1d2ZdJd4d5Zd6d7Zd8d9Zd:d;Z dd?Z"d@dAZ#dBdCZ$dDdEZ%dS)KDescriptorPoolzGA collection of protobufs dynamically constructed by descriptor protos.NcCs tjj|S)N)r_messager)cls descriptor_dbrrr __new__jszDescriptorPool.__new__cCsJtj|_||_i|_i|_i|_i|_i|_t j t |_ t j t |_ dS)aInitializes a Pool of proto buffs. The descriptor_db argument to the constructor is provided to allow specialized file descriptor proto lookup code to be triggered on demand. An example would be an implementation which will read and compile a file specified in a call to FindFileByName() and not require the call to Add() at all. Results from this database will be cached internally here as well. Args: descriptor_db: A secondary source of file descriptors. N)rZDescriptorDatabase _internal_db_descriptor_db _descriptors_enum_descriptors_service_descriptors_file_descriptors_toplevel_extensions collections defaultdictdict_extensions_by_name_extensions_by_number)selfrrrr __init__ns  zDescriptorPool.__init__cCs|jj|dS)zAdds the FileDescriptorProto and its types to this pool. Args: file_desc_proto: The FileDescriptorProto to add. N)rAdd)r'file_desc_protorrr r)szDescriptorPool.AddcCs&ddlm}|jj|}|j|dS)zAdds the FileDescriptorProto and its types to this pool. Args: serialized_file_desc_proto: A bytes string, serialization of the FileDescriptorProto to add. r)descriptor_pb2N)google.protobufr+ZFileDescriptorProtoZ FromStringr))r'Zserialized_file_desc_protor+r*rrr AddSerializedFiles z DescriptorPool.AddSerializedFilecCs0t|tjstd||j|j<|j|jdS)aAdds a Descriptor to the pool, non-recursively. If the Descriptor contains nested messages or enums, the caller must explicitly register them. This method also registers the FileDescriptor associated with the message. Args: desc: A Descriptor. z+Expected instance of descriptor.Descriptor.N) isinstancer Descriptor TypeErrorr full_name_AddFileDescriptorfile)r'descrrr AddDescriptors  zDescriptorPool.AddDescriptorcCs0t|tjstd||j|j<|j|jdS)zAdds an EnumDescriptor to the pool. This method also registers the FileDescriptor associated with the enum. Args: enum_desc: An EnumDescriptor. z/Expected instance of descriptor.EnumDescriptor.N)r.rEnumDescriptorr0rr1r2r3)r'Z enum_descrrr AddEnumDescriptors  z DescriptorPool.AddEnumDescriptorcCs$t|tjstd||j|j<dS)z^Adds a ServiceDescriptor to the pool. Args: service_desc: A ServiceDescriptor. z2Expected instance of descriptor.ServiceDescriptor.N)r.rServiceDescriptorr0rr1)r'Z service_descrrr AddServiceDescriptors z#DescriptorPool.AddServiceDescriptorcCst|tjo|jstd|jdkr0||j|j<y|j|j |j }Wnt k rZYn(X||k rt d|j|j|j j|j f||j|j |j <||j |j |j<t|r||j |j |jj<dS)a;Adds a FieldDescriptor describing an extension to the pool. Args: extension: A FieldDescriptor. Raises: AssertionError: when another extension with the same number extends the same message. TypeError: when the specified extension is not a descriptor.FieldDescriptor. z!Expected an extension descriptor.NzSExtensions "%s" and "%s" both try to extend message type "%s" with field number %d.)r.rrrr0extension_scoper!r1r&rnumberKeyErrorAssertionErrorr%r message_type)r' extensionZ existing_descrrr AddExtensionDescriptors&   z%DescriptorPool.AddExtensionDescriptorcCs|j|dS)zAdds a FileDescriptor to the pool, non-recursively. If the FileDescriptor contains messages or enums, the caller must explicitly register them. Args: file_desc: A FileDescriptor. N)r2)r' file_descrrr AddFileDescriptors z DescriptorPool.AddFileDescriptorcCs$t|tjstd||j|j<dS)zAdds a FileDescriptor to the pool, non-recursively. If the FileDescriptor contains messages or enums, the caller must explicitly register them. Args: file_desc: A FileDescriptor. z/Expected instance of descriptor.FileDescriptor.N)r.rFileDescriptorr0r r)r'rArrr r2s z!DescriptorPool._AddFileDescriptorcCsy |j|Stk rYnXy|jj|}Wn:tk rj}z|jrV|jj|}n|WYdd}~XnX|s|td||j|S)zGets a FileDescriptor by file name. Args: file_name: The path to the file to get a descriptor for. Returns: A FileDescriptor for the named file. Raises: KeyError: if the file cannot be found in the pool. NzCannot find a file named %s)r r<rFindFileByNamer!_ConvertFileProtoToFileDescriptor)r' file_name file_protoerrorrrr rDs   zDescriptorPool.FindFileByNamec3Cst|}y |j|jStk r(YnXy |j|jStk rJYnXy |j|jStk rlYnXy |j|Stk rYnXy |j|jStk rYnX|jd\}}}y|j |}|jStk rtd|YnXdS)aGets the FileDescriptor for the file containing the specified symbol. Args: symbol: The name of the symbol to search for. Returns: A FileDescriptor that contains the specified symbol. Raises: KeyError: if the file cannot be found in the pool. rz Cannot find a file containing %sN) r rr3r<rr_FindFileContainingSymbolInDbr! rpartitionFindMessageTypeByName)r'symbol message_name_extension_namemessagerrr FindFileContainingSymbol+s6       z'DescriptorPool.FindFileContainingSymbolcCs&t|}||jkr|j||j|S)zLoads the named descriptor from the pool. Args: full_name: The full name of the descriptor to load. Returns: The descriptor for the named type. Raises: KeyError: if the message cannot be found in the pool. )r rrI)r'r1rrr rK[s   z$DescriptorPool.FindMessageTypeByNamecCs&t|}||jkr|j||j|S)zLoads the named enum descriptor from the pool. Args: full_name: The full name of the enum descriptor to load. Returns: The enum descriptor for the named type. Raises: KeyError: if the enum cannot be found in the pool. )r rrI)r'r1rrr FindEnumTypeByNamems   z!DescriptorPool.FindEnumTypeByNamecCs,t|}|jd\}}}|j|}|j|S)aLoads the named field descriptor from the pool. Args: full_name: The full name of the field descriptor to load. Returns: The field descriptor for the named field. Raises: KeyError: if the field cannot be found in the pool. r)r rJrKZfields_by_name)r'r1rMrNZ field_namemessage_descriptorrrr FindFieldByNames  zDescriptorPool.FindFieldByNamecCs,t|}|jd\}}}|j|}|j|S)aLoads the named oneof descriptor from the pool. Args: full_name: The full name of the oneof descriptor to load. Returns: The oneof descriptor for the named oneof. Raises: KeyError: if the oneof cannot be found in the pool. r)r rJrKZoneofs_by_name)r'r1rMrNZ oneof_namerSrrr FindOneofByNames  zDescriptorPool.FindOneofByNamecCspt|}y |j|Stk r&YnX|jd\}}}y|j|}Wntk rd|j|}YnX|j|S)aLoads the named extension descriptor from the pool. Args: full_name: The full name of the extension descriptor to load. Returns: A FieldDescriptor, describing the named extension. Raises: KeyError: if the extension cannot be found in the pool. r)r r!r<rJrKrIextensions_by_name)r'r1rMrNrOscoperrr FindExtensionByNames  z"DescriptorPool.FindExtensionByNamecCs|j||S)aGets the extension of the specified message with the specified number. Extensions have to be registered to this pool by calling AddExtensionDescriptor. Args: message_descriptor: descriptor of the extended message. number: integer, number of the extension field. Returns: A FieldDescriptor describing the extension. Raises: KeyError: when no extension with the given number is known for the specified message. )r&)r'rSr;rrr FindExtensionByNumbersz$DescriptorPool.FindExtensionByNumbercCst|j|jS)a!Gets all the known extension of a given message. Extensions have to be registered to this pool by calling AddExtensionDescriptor. Args: message_descriptor: descriptor of the extended message. Returns: A list of FieldDescriptor describing the extensions. )listr&values)r'rSrrr FindAllExtensionss z DescriptorPool.FindAllExtensionscCs&t|}||jkr|j||j|S)aLoads the named service descriptor from the pool. Args: full_name: The full name of the service descriptor to load. Returns: The service descriptor for the named service. Raises: KeyError: if the service cannot be found in the pool. )r rrI)r'r1rrr FindServiceByNames   z DescriptorPool.FindServiceByNamecCsfy|jj|}Wn:tk rJ}z|jr6|jj|}n|WYdd}~XnX|s\td||j|S)a"Finds the file in descriptor DB containing the specified symbol. Args: symbol: The name of the symbol to search for. Returns: A FileDescriptor that contains the specified symbol. Raises: KeyError: if the file cannot be found in the descriptor database. Nz Cannot find a file containing %s)rrQr<rrE)r'rLrGrHrrr rIs  z,DescriptorPool._FindFileContainingSymbolInDbc s8|jjkr,tj|j}fdd|jDfdd|jD}tj|j|j|j t ||j |d}i}xD|D]<}|j j t|jj|j ddt|jjDqxWx0|jD]&}j||j|||j }||j|j<qWx*|jD] } j| |j|d||j| j<qWx`t|jD]R\} } j| |j| |dd } j|j| j|| _j| | |j|| |j| j<q"Wx |jD]} j|j| |qW|jrt|j}nd }x,|jD]"} j|| j|}||j| j<qWx4t|jD]&\} }j || ||j||j!|j<qWj"||j|j<j|jS) aDCreates a FileDescriptor from a proto or returns a cached copy. This method also has the side effect of loading all the symbols found in the file into the appropriate dictionaries in the pool. Args: file_proto: The proto to convert. Returns: A FileDescriptor matching the passed in proto. csg|]}j|qSr)rD).0n)r'rr szDDescriptorPool._ConvertFileProtoToFileDescriptor..csg|] }|qSrr)r^i) direct_depsrr r`s)Zpoolrpackagesyntaxr Z serialized_pb dependenciesZpublic_dependenciescss|]}t|j|fVqdS)N)_PrefixWithDotr1)r^enumrrr ,szCDescriptorPool._ConvertFileProtoToFileDescriptor..NT)r)#rr rZ_GetDeps dependencyZpublic_dependencyrrCrcrdr ZSerializeToStringupdate_ExtractSymbolsZmessage_types_by_namer[Zenum_types_by_namer>_ConvertMessageDescriptor enum_type_ConvertEnumDescriptor enumerater?_MakeFieldDescriptor_GetTypeFromScopeextendeer _SetFieldTyperV_SetAllFieldTypesrfZservice_MakeServiceDescriptorZservices_by_namer))r'rGZ built_depsZ public_depsZfile_descriptorrWrkr>Z message_descroindexextension_protoextension_desc desc_protoZdesc_proto_prefixr4 service_protor)rbr'r rEsf                z0DescriptorPool._ConvertFileProtoToFileDescriptorcs|rdj||jfn|jdkr*d}nj}dkr\}}|jd rL|j}| |jj| || || |_qLW|t<|j<|S)aAdds the proto to the pool in the specified package. Args: desc_proto: The descriptor_pb2.DescriptorProto protobuf message. package: The package the proto should be located in. file_desc: The file containing this message. scope: Dict mapping short and full symbols to message and enum types. syntax: string indicating syntax of the file ("proto2" or "proto3") Returns: The added descriptor. rNcsg|]}j|qSr)rn)r^nested) desc_namerArWr'rdrr r`zsz.csg|]}j|dqS)N)rp)r^rg)r~rArWr'rr r`~scs g|]\}}j||qSr)rr)r^rxr)r~rAr'rr r`sc s$g|]\}}j||ddqS)T)r)rr)r^rxr?)r~rAr'rr r`sc s4g|],\}}tj|jdj|jf|dg|jqS)rN)rZOneofDescriptorrjoinr )r^rxr4)r~rr r`scSsg|]}|j|jfqSr)startend)r^rrrr r`sTF)rr1filenamerfieldsoneofs nested_types enum_types extensionsr is_extendableextension_rangesr3Zserialized_startZserialized_endrd oneof_index)rr nested_typerorqrr?Z oneof_declZextension_rangerr/r rrrr rrappendZcontaining_oneofrfr)r'r{rcrArWrdrFr}Zenumsrrrrrr4rgZ field_index field_descrr)r~rArWr'rdr rn]sf          z(DescriptorPool._ConvertMessageDescriptorc s|rdj||jf}n|j}|dkr*d}n|j}fddt|jD}tj|j|||||t|d} | |d|<| j|<| S)aMake a protobuf EnumDescriptor given an EnumDescriptorProto protobuf. Args: enum_proto: The descriptor_pb2.EnumDescriptorProto protobuf message. package: Optional package name for the new message EnumDescriptor. file_desc: The file containing the enum descriptor. containing_type: The type containing this enum. scope: Scope containing available types. Returns: The added descriptor rNcsg|]\}}j||qSr)_MakeEnumValueDescriptor)r^rxvalue)r'rr r`sz9DescriptorPool._ConvertEnumDescriptor..)rr1rr3r[rr z.%s)rrrqrrr6r r) r'Z enum_protorcrArrWZ enum_namerFr[r4r)r'r rps$    z%DescriptorPool._ConvertEnumDescriptorFcCsR|rdj||jf}n|j}tj|j|||j|jdddd|jdd|dt||dS)aCreates a field descriptor from a FieldDescriptorProto. For message and enum type fields, this method will do a look up in the pool for the appropriate descriptor for that type. If it is unavailable, it will fall back to the _source function to create it. If this type is still unavailable, construction will fail. Args: field_proto: The proto describing the field. message_name: The name of the containing message. index: Index of the field file_desc: The file containing the field descriptor. is_extension: Indication that this field is for an extension. Returns: An initialized FieldDescriptor object rNF)rr1rxr;rcpp_typer>rorrhas_default_value default_valuerr:r r3)rrrrr;rrr )r' field_protorMrxrArr1rrr rrs(z#DescriptorPool._MakeFieldDescriptorc Cst|}|j||j|}|dkr,t|j}ndj||jg}x*t|j|jD]\}}|j||||qLWx@tt|j |j D]*\}} |j||j || _ |j|| ||q|Wx|j D]} |j|| |qWdS)aSets all the descriptor's fields's types. This method also sets the containing types on any extensions. Args: package: The current package of desc_proto. desc_proto: The message descriptor to update. scope: Enclosing scope of available types. rN)rfrsrrziprrrurZr?rrtrrrv) r'rcr{rWZ main_descZnested_packagerrryrzrrrr rvs   z DescriptorPool._SetAllFieldTypescCs |jr|j||j|}nd}|jdsHt|tjr>tjj|_n tjj |_tjj |j|_ |jtjjkst|jtjj krz||_ |jtjj kr||_|jtjjkrd|_g|_nh|jdrvd|_|jtjjks|jtjjkrt|j|_n|jtjjkr|j|_nr|jtjjkr$|jjdk|_nP|jtjj krH|jj|jj|_n,|jtjjkrhtj|j|_n t|j|_nd|_|jtjjks|jtjjkrd|_np|jtjjkrd|_nX|jtjjkrd|_n@|jtjj kr|jjd j|_n|jtjjkrd |_nd |_|j|_dS) aSets the field's type, cpp_type, message_type and enum_type. Args: field_proto: Data about the field in proto format. field_desc: The descriptor to modiy. package: The package the field's container is in. scope: Enclosing scope of available types. NrFrTtruegrir) type_namersr r.rr/rrrZ TYPE_ENUMZProtoTypeToCppProtoTyperZ TYPE_GROUPr>rorZLABEL_REPEATEDrrZ TYPE_DOUBLEZ TYPE_FLOATfloatZ TYPE_STRINGZ TYPE_BOOLlowerZvalues_by_namer;Z TYPE_BYTESrZ CUnescapeintr[)r'rrrcrWr4rrr ru s^          zDescriptorPool._SetFieldTypecCstj|j||jt|ddS)zCreates a enum value descriptor object from a enum value proto. Args: value_proto: The proto describing the enum value. index: The index of the enum value. Returns: An initialized EnumValueDescriptor object. N)rrxr;r r)rZEnumValueDescriptorrr;r )r'Z value_protorxrrr rfs z'DescriptorPool._MakeEnumValueDescriptorcsdrdj|jfn|jfddt|jD}tj|j||t||d}|j<|S)aMake a protobuf ServiceDescriptor given a ServiceDescriptorProto. Args: service_proto: The descriptor_pb2.ServiceDescriptorProto protobuf message. service_index: The index of the service in the File. scope: Dict mapping short and full symbols to message and enum types. package: Optional package name for the new message EnumDescriptor. file_desc: The file containing the service descriptor. Returns: The added descriptor. rcs"g|]\}}j||qSr)_MakeMethodDescriptor)r^rx method_proto)rcrWr' service_namerr r`sz9DescriptorPool._MakeServiceDescriptor..)rr1rxmethodsr r3)rrrqmethodrr8r r)r'r|Z service_indexrWrcrArr4r)rcrWr'rr rwxs z%DescriptorPool._MakeServiceDescriptorc CsNdj||jf}|j||j|}|j||j|}tj|j||d||t|dS)aCreates a method descriptor from a MethodDescriptorProto. Args: method_proto: The proto describing the method. service_name: The name of the containing service. package: Optional package name to look up for types. scope: Scope containing available types. index: Index of the method in the service. Returns: An initialized MethodDescriptor object. rN)rr1rxZcontaining_service input_type output_typer )rrrsrrrZMethodDescriptorr ) r'rrrcrWrxr1rrrrr rs  z$DescriptorPool._MakeMethodDescriptorccs^xX|D]P}t|j|fVx|j|jD] }|Vq(Wx|jD]}t|j|fVq>WqWdS)zPulls out all the symbols from descriptor protos. Args: descriptors: The messages to extract descriptors from. Yields: A two element tuple of the type name and descriptor object. N)rfr1rmrr)r'Z descriptorsr4rLrgrrr rms   zDescriptorPool._ExtractSymbolsccs8x2|D]*}|j|}|Vx|jD] }|Vq"WqWdS)zRecursively finds dependencies for file protos. Args: dependencies: The names of the files being depended on. Yields: Each direct and indirect dependency. N)rDre)r'rerkZdep_descZ parent_deprrr rjs   zDescriptorPool._GetDepscCsR||krJt|jd}x2|rHdj||g}||kr<|}Pq|jdqW||S)a?Finds a given type name in the current scope. Args: package: The package the proto should be located in. type_name: The name of the type to be found in the scope. scope: Dict mapping short and full symbols to message and enum types. Returns: The descriptor for the requested type. r)rfsplitrpop)r'rcrrWZ componentsZpossible_matchrrr rss z DescriptorPool._GetTypeFromScope)N)N)NNNN)NNNN)F)&__name__ __module__ __qualname____doc___USE_C_DESCRIPTORSrr(r)r-r5r7r9r@rBr2rDrQrKrRrTrUrXrYr\r]rIrErnrprrrvrurrwrrmrjrsrrrr resJ    * 0U P & + F rcCs|jdr|Sd|S)Nrz.%s) startswith)rrrr rfsrfcCstS)N)_DEFAULTrrrr Defaultsr)r __author__r"r,rrrrr r robjectrrfrZ default_poolrrrrrr 8s,     PK!S+}}.protobuf/__pycache__/descriptor.cpython-36.pycnu[3 h@sbdZdZddlZddlmZdZejdkrTddlZddlZddl m Z e e ddZGd d d e Z Gd d d e ZerGd ddeZneZGdddejeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZGd!d"d"eZd#d$Zd%d&Zd'd(Zd)d*Zd/d-d.Z dS)0zDescriptors essentially contain exactly the information found in a .proto file, in types that make this information accessible in Python. z#robinson@google.com (Will Robinson)N)api_implementationFcpp)_message_USE_C_DESCRIPTORSc@seZdZdZdS)ErrorzBase error for this module.N)__name__ __module__ __qualname____doc__r r /usr/lib/python3.6/descriptor.pyr2src@seZdZdZdS)TypeTransformationErrorzHError transforming between python proto type and corresponding C++ type.N)rrr r r r r r r 6sr cseZdZfddZZS)DescriptorMetaclasscs(tt|j|rdSt||jr$dSdS)NTF)superr__instancecheck__ isinstance_C_DESCRIPTOR_CLASS)clsobj) __class__r r r@s  z%DescriptorMetaclass.__instancecheck__)rrr r __classcell__r r )rr r?src@s0eZdZdZerfZddZddZddZdS) DescriptorBaseaDescriptors base class. This class is the base of all descriptor classes. It provides common options related functionality. Attributes: has_options: True if the descriptor has non-default options. Usually it is not necessary to read this -- just call GetOptions() which will happily return the default instance. However, it's sometimes useful for efficiency, and also useful inside the protobuf implementation to avoid some bootstrapping issues. cCs||_||_|dk |_dS)zInitialize the descriptor given its options message and the name of the class of the options message. The name of the class is required in case the options message is None and has to be created. N)_options_options_class_name has_options)selfoptionsoptions_class_namer r r __init___szDescriptorBase.__init__cCs||_||_|dk |_dS)zSets the descriptor's options This function is used in generated proto2 files to update descriptor options. It must not be used outside proto2. N)rrr)rrrr r r _SetOptionsjszDescriptorBase._SetOptionsc CsZ|jr |jSddlm}yt||j}Wn"tk rJtd|jYnX||_|jS)zRetrieves descriptor options. This method returns the options set or creates the default options for the descriptor. r)descriptor_pb2zUnknown options class name %s!)rgoogle.protobufr getattrrAttributeError RuntimeError)rr Z options_classr r r GetOptionsvs zDescriptorBase.GetOptionsN) rrr r rrrrr%r r r r rKs    rcs*eZdZdZdfdd ZddZZS)_NestedDescriptorBasez0Common class for descriptors that can be nested.Nc s:tt|j||||_||_||_||_||_||_dS)aCConstructor. Args: options: Protocol message options or None to use default message options. options_class_name: (str) The class name of the above options. name: (str) Name of this protocol message type. full_name: (str) Fully-qualified name of this protocol message type, which will include protocol "package" name and the name of any enclosing types. file: (FileDescriptor) Reference to file info. containing_type: if provided, this is a nested descriptor, with this descriptor as parent, otherwise None. serialized_start: The start index (inclusive) in block in the file.serialized_pb that describes this descriptor. serialized_end: The end index (exclusive) in block in the file.serialized_pb that describes this descriptor. N) rr&rname full_namefilecontaining_type_serialized_start_serialized_end) rrrr'r(r)r*serialized_startserialized_end)rr r rs z_NestedDescriptorBase.__init__cCsF|jdk r:|jdk r:|jdk r:|j|jj|j|jntddS)zCopies this to the matching proto in descriptor_pb2. Args: proto: An empty proto instance from descriptor_pb2. Raises: Error: If self couldnt be serialized, due to to few constructor arguments. Nz*Descriptor does not contain serialization.)r)r+r,ParseFromString serialized_pbr)rprotor r r CopyToProtos    z!_NestedDescriptorBase.CopyToProto)NN)rrr r rr2rr r )rr r&s!r&csVeZdZdZer ejZdddZdfdd Z e dd Z d d Z fd d Z ZS) Descriptorai Descriptor for a protocol message type. A Descriptor instance has the following attributes: name: (str) Name of this protocol message type. full_name: (str) Fully-qualified name of this protocol message type, which will include protocol "package" name and the name of any enclosing types. containing_type: (Descriptor) Reference to the descriptor of the type containing us, or None if this is top-level. fields: (list of FieldDescriptors) Field descriptors for all fields in this type. fields_by_number: (dict int -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "number" attribute in each FieldDescriptor. fields_by_name: (dict str -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "name" attribute in each FieldDescriptor. fields_by_camelcase_name: (dict str -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "camelcase_name" attribute in each FieldDescriptor. nested_types: (list of Descriptors) Descriptor references for all protocol message types nested within this one. nested_types_by_name: (dict str -> Descriptor) Same Descriptor objects as in |nested_types|, but indexed by "name" attribute in each Descriptor. enum_types: (list of EnumDescriptors) EnumDescriptor references for all enums contained within this type. enum_types_by_name: (dict str ->EnumDescriptor) Same EnumDescriptor objects as in |enum_types|, but indexed by "name" attribute in each EnumDescriptor. enum_values_by_name: (dict str -> EnumValueDescriptor) Dict mapping from enum value name to EnumValueDescriptor for that value. extensions: (list of FieldDescriptor) All extensions defined directly within this message type (NOT within a nested type). extensions_by_name: (dict, string -> FieldDescriptor) Same FieldDescriptor objects as |extensions|, but indexed by "name" attribute of each FieldDescriptor. is_extendable: Does this type define any extension ranges? oneofs: (list of OneofDescriptor) The list of descriptors for oneof fields in this message. oneofs_by_name: (dict str -> OneofDescriptor) Same objects as in |oneofs|, but indexed by "name" attribute. file: (FileDescriptor) Reference to file descriptor. NTcCstjjtjj|S)N)rMessage_CheckCalledFromGeneratedFile default_poolZFindMessageTypeByName)rr'r(filenamer*fields nested_types enum_types extensionsr is_extendableextension_rangesoneofsr)r-r.syntaxr r r __new__s zDescriptor.__new__c sjtt|j| d||| |||d||_x|jD] }||_q.Wtdd|D|_tdd|D|_d|_||_ x|D] }||_qvWtdd|D|_ ||_ x|j D] }||_qWtdd|D|_ td d|D|_ ||_x|jD] }||_qWtd d|D|_| |_| |_| dk r&| ng|_td d|jD|_x|jD] }||_qJW|pbd |_dS) zArguments to __init__() are as described in the description of Descriptor fields above. Note that filename is an obsolete argument, that is not used anymore. Please use file.name to access this as an attribute. ZMessageOptions)r-r.css|]}|j|fVqdS)N)number).0fr r r sz&Descriptor.__init__..css|]}|j|fVqdS)N)r')rBrCr r r rDsNcss|]}|j|fVqdS)N)r')rBtr r r rD%scss|]}|j|fVqdS)N)r')rBrEr r r rD*scss$|]}|jD]}|j|fVq qdS)N)valuesr')rBrEvr r r rD,scss|]}|j|fVqdS)N)r')rBrCr r r rD1scss|]}|j|fVqdS)N)r')rBor r r rD5sproto2)rr3rr8r*dictZfields_by_numberZfields_by_name_fields_by_camelcase_namer9Znested_types_by_namer:enum_types_by_nameZenum_values_by_namer;extension_scopeextensions_by_namer<r=r>Zoneofs_by_namer?)rr'r(r7r*r8r9r:r;rr<r=r>r)r-r.r?field nested_type enum_type extensionZoneof)rr r rs>            zDescriptor.__init__cCs&|jdkr tdd|jD|_|jS)Ncss|]}|j|fVqdS)N)camelcase_name)rBrCr r r rD>sz6Descriptor.fields_by_camelcase_name..)rKrJr8)rr r r fields_by_camelcase_name:s z#Descriptor.fields_by_camelcase_namecCs|j|j|jS)asReturns the string name of an enum value. This is just a small helper method to simplify a common operation. Args: enum: string name of the Enum. value: int, value of the enum. Returns: string name of the enum value. Raises: KeyError if either the Enum doesn't exist or the value is not a valid value for the enum. )rLvalues_by_numberr')renumvaluer r r EnumValueNameAszDescriptor.EnumValueNamecstt|j|dS)zvCopies this to a descriptor_pb2.DescriptorProto. Args: proto: An empty descriptor_pb2.DescriptorProto. N)rr3r2)rr1)rr r r2SszDescriptor.CopyToProto)NTNNNNNN)NTNNNNNN)rrr r rrr3rr@rpropertyrTrXr2rr r )rr r3s6 0 r3c$s0eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd Zd Z d Z!eeeeeeeeeeeeeee eeeeeeeeee eeee ee eee e e iZ"dZ#dZ$dZ%dZ&d"Z'dZ(dZ)e*re+j,Z-d#ddZ.d$fdd Z/e0ddZ1e2dd Z3Z4S)%FieldDescriptora Descriptor for a single field in a .proto file. A FieldDescriptor instance has the following attributes: name: (str) Name of this field, exactly as it appears in .proto. full_name: (str) Name of this field, including containing scope. This is particularly relevant for extensions. camelcase_name: (str) Camelcase name of this field. index: (int) Dense, 0-indexed index giving the order that this field textually appears within its message in the .proto file. number: (int) Tag number declared for this field in the .proto file. type: (One of the TYPE_* constants below) Declared type. cpp_type: (One of the CPPTYPE_* constants below) C++ type used to represent this field. label: (One of the LABEL_* constants below) Tells whether this field is optional, required, or repeated. has_default_value: (bool) True if this field has a default value defined, otherwise false. default_value: (Varies) Default value of this field. Only meaningful for non-repeated scalar fields. Repeated fields should always set this to [], and non-repeated composite fields should always set this to None. containing_type: (Descriptor) Descriptor of the protocol message type that contains this field. Set by the Descriptor constructor if we're passed into one. Somewhat confusingly, for extension fields, this is the descriptor of the EXTENDED message, not the descriptor of the message containing this field. (See is_extension and extension_scope below). message_type: (Descriptor) If a composite field, a descriptor of the message type contained in this field. Otherwise, this is None. enum_type: (EnumDescriptor) If this field contains an enum, a descriptor of that enum. Otherwise, this is None. is_extension: True iff this describes an extension field. extension_scope: (Descriptor) Only meaningful if is_extension is True. Gives the message that immediately contains this extension field. Will be None iff we're a top-level (file-level) extension field. options: (descriptor_pb2.FieldOptions) Protocol message field options or None to use default field options. containing_oneof: (OneofDescriptor) If the field is a member of a oneof union, contains its descriptor. Otherwise, None. file: (FileDescriptor) Reference to file descriptor.  i8JiNNTcCs*tjj| rtjj|Stjj|SdS)N)rr4r5r6FindExtensionByNameFindFieldByName)rr'r(indexrAtypecpp_typelabel default_value message_typerQr* is_extensionrMrhas_default_valuecontaining_oneof json_namer)r r r r@s  zFieldDescriptor.__new__cstt|j|d||_||_||_d|_|dkr>t||_n||_||_ ||_ ||_ ||_ ||_ ||_||_| |_| |_| |_| |_| |_||_tjdkr| rtjj||_qtjj||_nd|_dS)aThe arguments are as described in the description of FieldDescriptor attributes above. Note that containing_type may be None, and may be set later if necessary (to deal with circular references between message types, for example). Likewise for extension_scope. Z FieldOptionsNr)rrZrr'r(r)_camelcase_name _ToJsonNameryrprArqrrrsrwrtr*rurQrvrMrxrTyperr6rnZ _cdescriptorro)rr'r(rprArqrrrsrtrurQr*rvrMrrwrxryr))rr r rs4   zFieldDescriptor.__init__cCs|jdkrt|j|_|jS)N)rz _ToCamelCaser')rr r r rS!s  zFieldDescriptor.camelcase_namec Cs0y tj|Stk r*td|YnXdS)aConverts from a Python proto type to a C++ Proto Type. The Python ProtocolBuffer classes specify both the 'Python' datatype and the 'C++' datatype - and they're not the same. This helper method should translate from one to another. Args: proto_type: the Python proto type (descriptor.FieldDescriptor.TYPE_*) Returns: descriptor.FieldDescriptor.CPPTYPE_*, the C++ type. Raises: TypeTransformationError: when the Python proto type isn't known. zUnknown proto_type: %sN)rZ_PYTHON_TO_CPP_PROTO_TYPE_MAPKeyErrorr )Z proto_typer r r ProtoTypeToCppProtoType's z'FieldDescriptor.ProtoTypeToCppProtoTypei i)NTNNN)NTNNN)5rrr r Z TYPE_DOUBLEZ TYPE_FLOATZ TYPE_INT64Z TYPE_UINT64Z TYPE_INT32Z TYPE_FIXED64Z TYPE_FIXED32Z TYPE_BOOLZ TYPE_STRINGZ TYPE_GROUPZ TYPE_MESSAGEZ TYPE_BYTESZ TYPE_UINT32Z TYPE_ENUMZ TYPE_SFIXED32Z TYPE_SFIXED64Z TYPE_SINT32Z TYPE_SINT64ZMAX_TYPEZ CPPTYPE_INT32Z CPPTYPE_INT64ZCPPTYPE_UINT32ZCPPTYPE_UINT64ZCPPTYPE_DOUBLEZ CPPTYPE_FLOATZ CPPTYPE_BOOLZ CPPTYPE_ENUMZCPPTYPE_STRINGZCPPTYPE_MESSAGEZ MAX_CPPTYPEr~ZLABEL_OPTIONALZLABEL_REQUIREDZLABEL_REPEATEDZ MAX_LABELZMAX_FIELD_NUMBERZFIRST_RESERVED_FIELD_NUMBERZLAST_RESERVED_FIELD_NUMBERrrrZrr@rrYrS staticmethodrrr r )rr rZhs3 & rZcsBeZdZdZer ejZd ddZd fdd Z fddZ Z S) EnumDescriptoraDescriptor for an enum defined in a .proto file. An EnumDescriptor instance has the following attributes: name: (str) Name of the enum type. full_name: (str) Full name of the type, including package name and any enclosing type(s). values: (list of EnumValueDescriptors) List of the values in this enum. values_by_name: (dict str -> EnumValueDescriptor) Same as |values|, but indexed by the "name" field of each EnumValueDescriptor. values_by_number: (dict int -> EnumValueDescriptor) Same as |values|, but indexed by the "number" field of each EnumValueDescriptor. containing_type: (Descriptor) Descriptor of the immediate containing type of this enum, or None if this is an enum defined at the top level in a .proto file. Set by Descriptor's constructor if we're passed into one. file: (FileDescriptor) Reference to file descriptor. options: (descriptor_pb2.EnumOptions) Enum options message or None to use default enum options. Nc Cstjjtjj|S)N)rr4r5r6ZFindEnumTypeByName) rr'r(r7rFr*rr)r-r.r r r r@Xs zEnumDescriptor.__new__c shtt|j|d|||||| d||_x|jD] } || _q.Wtdd|D|_tdd|D|_dS)zArguments are as described in the attribute description above. Note that filename is an obsolete argument, that is not used anymore. Please use file.name to access this as an attribute. Z EnumOptions)r-r.css|]}|j|fVqdS)N)r')rBrGr r r rDnsz*EnumDescriptor.__init__..css|]}|j|fVqdS)N)rA)rBrGr r r rDosN)rrrrFrqrJZvalues_by_namerU) rr'r(r7rFr*rr)r-r.rW)rr r r^s    zEnumDescriptor.__init__cstt|j|dS)z~Copies this to a descriptor_pb2.EnumDescriptorProto. Args: proto: An empty descriptor_pb2.EnumDescriptorProto. N)rrr2)rr1)rr r r2qszEnumDescriptor.CopyToProto)NNNNN)NNNNN) rrr r rrrrr@rr2rr r )rr r<s rcs6eZdZdZer ejZdddZdfdd Z Z S) EnumValueDescriptora,Descriptor for a single value within an enum. name: (str) Name of this value. index: (int) Dense, 0-indexed index giving the order that this value appears textually within its enum in the .proto file. number: (int) Actual number assigned to this enum value. type: (EnumDescriptor) EnumDescriptor to which this value belongs. Set by EnumDescriptor's constructor if we're passed into one. options: (descriptor_pb2.EnumValueOptions) Enum value options message or None to use default enum value options options. NcCstjjdS)N)rr4r5)rr'rprArqrr r r r@s zEnumValueDescriptor.__new__cs.tt|j|d||_||_||_||_dS)z>Arguments are as described in the attribute description above.ZEnumValueOptionsN)rrrr'rprArq)rr'rprArqr)rr r rs zEnumValueDescriptor.__init__)NN)NN) rrr r rrrrr@rrr r )rr r{s   rcs6eZdZdZer ejZdddZdfdd Z Z S) OneofDescriptora Descriptor for a oneof field. name: (str) Name of the oneof field. full_name: (str) Full name of the oneof field, including package name. index: (int) 0-based index giving the order of the oneof field inside its containing type. containing_type: (Descriptor) Descriptor of the protocol message type that contains this field. Set by the Descriptor constructor if we're passed into one. fields: (list of FieldDescriptor) The list of field descriptors this oneof can contain. NcCstjjtjj|S)N)rr4r5r6ZFindOneofByName)rr'r(rpr*r8rr r r r@s zOneofDescriptor.__new__cs4tt|j|d||_||_||_||_||_dS)z>Arguments are as described in the attribute description above.Z OneofOptionsN)rrrr'r(rpr*r8)rr'r(rpr*r8r)rr r rs zOneofDescriptor.__init__)N)N) rrr r rrrrr@rrr r )rr rs   rcsJeZdZdZer ejZd ddZd fdd Z ddZ fd d Z Z S) ServiceDescriptoraDescriptor for a service. name: (str) Name of the service. full_name: (str) Full name of the service, including package name. index: (int) 0-indexed index giving the order that this services definition appears withing the .proto file. methods: (list of MethodDescriptor) List of methods provided by this service. methods_by_name: (dict str -> MethodDescriptor) Same MethodDescriptor objects as in |methods_by_name|, but indexed by "name" attribute in each MethodDescriptor. options: (descriptor_pb2.ServiceOptions) Service options message or None to use default service options. file: (FileDescriptor) Reference to file info. Nc Cstjjtjj|S)N)rr4r5r6ZFindServiceByName) rr'r(rpmethodsrr)r-r.r r r r@s zServiceDescriptor.__new__c sZtt|j|d|||d||d||_||_tdd|D|_x|jD] } || _qHWdS)NZServiceOptions)r-r.css|]}|j|fVqdS)N)r')rBmr r r rDsz-ServiceDescriptor.__init__..)rrrrprrJmethods_by_namecontaining_service) rr'r(rprrr)r-r.method)rr r rs   zServiceDescriptor.__init__cCs|jj|dS)z>Searches for the specified method, and returns its descriptor.N)rget)rr'r r r FindMethodByNamesz"ServiceDescriptor.FindMethodByNamecstt|j|dS)zCopies this to a descriptor_pb2.ServiceDescriptorProto. Args: proto: An empty descriptor_pb2.ServiceDescriptorProto. N)rrr2)rr1)rr r r2szServiceDescriptor.CopyToProto)NNNN)NNNN) rrr r rrrrr@rrr2rr r )rr rs  rcs6eZdZdZer ejZdddZdfdd Z Z S) MethodDescriptoraDescriptor for a method in a service. name: (str) Name of the method within the service. full_name: (str) Full name of method. index: (int) 0-indexed index of the method inside the service. containing_service: (ServiceDescriptor) The service that contains this method. input_type: The descriptor of the message that this method accepts. output_type: The descriptor of the message that this method returns. options: (descriptor_pb2.MethodOptions) Method options message or None to use default method options. NcCstjjtjj|S)N)rr4r5r6r)rr'r(rpr input_type output_typerr r r r@s zMethodDescriptor.__new__cs:tt|j|d||_||_||_||_||_||_dS)zThe arguments are as described in the description of MethodDescriptor attributes above. Note that containing_service may be None, and may be set later if necessary. Z MethodOptionsN) rrrr'r(rprrr)rr'r(rprrrr)rr r r szMethodDescriptor.__init__)N)N) rrr r rrrrr@rrr r )rr rs   rcsBeZdZdZer$ejZd fdd Zd fdd Z ddZ Z S) FileDescriptora;Descriptor for a file. Mimics the descriptor_pb2.FileDescriptorProto. Note that enum_types_by_name, extensions_by_name, and dependencies fields are only set by the message_factory module, and not by the generated proto code. name: name of file, relative to root of source tree. package: name of the package syntax: string indicating syntax of the file (can be "proto2" or "proto3") serialized_pb: (str) Byte string of serialized descriptor_pb2.FileDescriptorProto. dependencies: List of other FileDescriptors this FileDescriptor depends on. public_dependencies: A list of FileDescriptors, subset of the dependencies above, which were declared as "public". message_types_by_name: Dict of message names of their descriptors. enum_types_by_name: Dict of enum names and their descriptors. extensions_by_name: Dict of extension names and their descriptors. services_by_name: Dict of services names and their descriptors. pool: the DescriptorPool this descriptor belongs to. When not passed to the constructor, the global default pool is used. Nc s$|rtjj|Stt|j|SdS)N)rr6AddSerializedFilerrr@) rr'packagerr0 dependenciespublic_dependenciesr?pool)rr r r@5s zFileDescriptor.__new__c stt|j|d|dkr.ddlm} | j}||_i|_||_||_ |pLd|_ ||_ i|_ i|_ i|_|png|_|pxg|_tjdkr|j dk rtjj|j dS)z Constructor.Z FileOptionsNr)descriptor_poolrIr)rrrr!rZDefaultrmessage_types_by_namer'rr?r0rLrNZservices_by_namerrrr|rr6r) rr'rrr0rrr?rr)rr r rAs$      zFileDescriptor.__init__cCs|j|jdS)z~Copies this to a descriptor_pb2.FileDescriptorProto. Args: proto: An empty descriptor_pb2.FileDescriptorProto. N)r/r0)rr1r r r r2[szFileDescriptor.CopyToProto)NNNNNN)NNNNNN) rrr r rrrrr@rr2rr r )rr rs rcCs|j||S)zParses serialized options. This helper function is used to parse serialized options in generated proto2 files. It must not be used outside proto2. )r/)messagestringr r r _ParseOptionsds rcCsrd}g}x>|D]6}|dkr$|rDd}q|r<|j|jd}q||7}qW|rh|djrh|dj|d<dj|S)z+Converts name to camel-case and returns it.F_Tr)appendupperisupperlowerjoin)r'capitalize_nextresultcr r r r}ns  r}cCs|jdr|jSdSdS)zCReturns the value of the field `options`, or None if it is not set.rN)HasFieldr)Zdescriptor_protor r r _OptionsOrNones rcCsNd}g}x:|D]2}|dkr d}q|r8|j|jd}q||7}qWdj|S)z*Converts name to Json name and returns it.FrTr)rrr)r'rrrr r r r{s  r{rTcCsltjdkr|rddlm}|j}|jjj|tt j }|rht j j |jdd|d|_||_n |d|_tjj|tjj|j}tr|j|jS|jg}|r|jd|i} xH|jD]>} dj || jg} t| j| ddd t| jD} | | | <qWi} x@|jD]6}dj ||jg} t|dj |d |d }|| | <qWg}x|jD]}dj ||jg} d} d}|jr|j}nd}|j d r|j!}dj |||j"dd dg}|| kr| |}n|| kr| |} t#|j| |j$d |j$|j%t#j&|j%|j'd|| dd dt(|d |d}|j)|qTWdj |}t*|j|dd|t+| j,t+| j,gt(|d S)aMake a protobuf Descriptor given a DescriptorProto protobuf. Handles nested descriptors. Note that this is limited to the scope of defining a message inside of another message. Composite fields can currently only be resolved if the message is defined in the same scope as the field. Args: desc_proto: The descriptor_pb2.DescriptorProto protobuf message. package: Optional package name for the new message Descriptor (string). build_file_if_cpp: Update the C++ descriptor pool if api matches. Set to False on recursion, so no duplicates are created. syntax: The syntax/semantics that should be used. Set to "proto3" to get proto3 field presence semantics. Returns: A Descriptor for protobuf messages. rr)r ./z.protoNcSs g|]\}}t|j||jqSr )rr'rA)rBZiiZenum_valr r r sz"MakeDescriptor..F)rbuild_file_if_cppr? type_namer[)rrwry)r)-rr|r!r ZFileDescriptorProtoruaddZ MergeFromstruuidZuuid4ospathrreplacer'rrr6ZAddZFindFileByNamerrinsertrQr enumeraterWrPMakeDescriptorrOryrrrfindrZrArqrrsrrr3listrF)Z desc_protorrr?r Zfile_descriptor_protoZ proto_namerZfull_message_namer:Z enum_protor(Z enum_descr9Z nested_protoZ nested_descr8Z field_protoryrZfull_type_namerOZ desc_namer r r rsz                 r)rTN)!r __author__ZsixZgoogle.protobuf.internalrrr|rrZgoogle.protobuf.pyextrr" Exceptionrr rqrZwith_metaclassrr&r3rZrrrrrrrr}rr{rr r r r !s@     =8)U?#!5'I PK!zX665protobuf/__pycache__/text_format.cpython-36.opt-1.pycnu[3 h @s dZdZddlZddlZddlZejr*eZddlm Z ddl m Z ddl m Z ddd d d gZ e je je je jfZejd ejZejd ejZee jje jjgZedOZdZGdddeZGdddeZ Gddde!Z"dPddZ#ddZ$dQddZ%dRdd Z&dSdd Z'ddZ(Gd d!d!e!Z)dTd"d#Z*dUd$d Z+dVd%d&Z,dWd'd(Z-Gd)d*d*e!Z.d+d,Z/d-d.Z0d/d0Z1d1d2Z2Gd3d4d4e!Z3e3Z4d5d6Z5d7d8Z6d9d:Z7d;d<Z8d=d>Z9d?d@Z:dXdAdBZ;dYdCdDZdIdJZ?dKdLZ@dMdNZAdS)\abContains routines for printing protocol messages in text format. Simple usage example: # Create a proto object and serialize it to a text proto string. message = my_proto_pb2.MyMessage(foo='bar') text_proto = text_format.MessageToString(message) # Parse a text proto string. message = text_format.Parse(text_proto, my_proto_pb2.MyMessage()) z kenton@google.com (Kenton Varda)N) type_checkers) descriptor) text_encodingMessageToString PrintMessage PrintFieldPrintFieldValueMergez-?inf(?:inity)?f?znanf?'"zgoogle.protobuf.Anyc@seZdZdZdS)Errorz'Top-level module error for text_format.N)__name__ __module__ __qualname____doc__rr!/usr/lib/python3.6/text_format.pyr Isr cs2eZdZdZd fdd ZddZddZZS) ParseErrorz3Thrown in case of text parsing or tokenizing error.Ncsr|dk r:|dk r:t|}|dk r.|dj|7}dj||}|dk rTtt|j|ntt|j||_||_dS)Nz:{0}z {0} : {1})strformatsuperr__init___line_column)selfmessagelinecolumnloc) __class__rrrPs zParseError.__init__cCs|jS)N)r)rrrrGetLine]szParseError.GetLinecCs|jS)N)r)rrrr GetColumn`szParseError.GetColumn)NNN)r rrrrr r! __classcell__rr)rrrMs rc@s,eZdZddZddZddZddZd S) TextWritercCs tjrtj|_n tj|_dS)N)sixPY2ioBytesIO_writerStringIO)ras_utf8rrrrfs zTextWriter.__init__cCs(tjrt|tjr|jd}|jj|S)Nzutf-8)r$r% isinstance text_typeencoder(write)rvalrrrr.ls  zTextWriter.writecCs |jjS)N)r(close)rrrrr0rszTextWriter.closecCs |jjS)N)r(getvalue)rrrrr1uszTextWriter.getvalueN)r rrrr.r0r1rrrrr#dsr#Fc CsLt|} t| ||||||||| } | j|| j} | j|rH| jS| S)aConvert protobuf message to text format. Floating point values can be formatted compactly with 15 digits of precision (which is the most that IEEE 754 "double" can guarantee) using float_format='.15g'. To ensure that converting to text and back to a proto will result in an identical value, float_format='.17g' should be used. Args: message: The protocol buffers message. as_utf8: Produce text output in UTF8 format. as_one_line: Don't introduce newlines between fields. pointy_brackets: If True, use angle brackets instead of curly braces for nesting. use_index_order: If True, print fields of a proto message using the order defined in source code instead of the field number. By default, use the field number order. float_format: If set, use this to specify floating point number formatting (per the "Format Specification Mini-Language"); otherwise, str() is used. use_field_number: If True, print field numbers instead of names. descriptor_pool: A DescriptorPool used to resolve Any types. indent: The indent level, in terms of spaces, for pretty print. message_formatter: A function(message, indent, as_one_line): unicode|None to custom format selected sub-messages (usually based on message type). Use to pretty print parts of the protobuf for easier diffing. Returns: A string of the text formatted protocol buffer message. )r#_Printerrr1r0rstrip) rr* as_one_linepointy_bracketsuse_index_order float_formatuse_field_numberdescriptor_poolindentmessage_formatteroutprinterresultrrrrys&  cCs"|jtjjko |jjo |jjjS)N)typerFieldDescriptor TYPE_MESSAGE message_typeZ has_options GetOptionsZ map_entry)fieldrrr _IsMapEntrysrEc Cs(t||||||||| | } | j|dS)N)r2r) rr<r:r*r4r5r6r7r8r9r;r=rrrrs c Cs&t|||||||| } | j||dS)z%Print a single field name/value pair.N)r2r) rDvaluer<r:r*r4r5r6r7r;r=rrrrs  c Cs&t|||||||| } | j||dS)z0Print a single field value (not including name).N)r2r) rDrFr<r:r*r4r5r6r7r;r=rrrrs  c Csd|dkrddlm}|j}ddlm}|j}y|j|}Wntk rRdSX|j|}|S)a!Returns a protobuf message instance. Args: type_name: Fully-qualified protobuf message type name string. descriptor_pool: DescriptorPool instance. Returns: A Message instance of type matching type_name, or None if the a Descriptor wasn't found matching type_name. Nr)r9)symbol_database)google.protobufr9ZDefaultrGZFindMessageTypeByNameKeyErrorZ GetPrototype)Z type_namer9Zpool_modrGZdatabasemessage_descriptorrBrrr_BuildMessageFromTypeNames    rKc @sJeZdZdZdddZddZd d Zd d Zd dZddZ ddZ dS)r2z)Text format printer for protocol message.rFNc Cs@||_||_||_||_||_||_||_||_| |_| |_ dS)aZInitialize the Printer. Floating point values can be formatted compactly with 15 digits of precision (which is the most that IEEE 754 "double" can guarantee) using float_format='.15g'. To ensure that converting to text and back to a proto will result in an identical value, float_format='.17g' should be used. Args: out: To record the text format result. indent: The indent level for pretty print. as_utf8: Produce text output in UTF8 format. as_one_line: Don't introduce newlines between fields. pointy_brackets: If True, use angle brackets instead of curly braces for nesting. use_index_order: If True, print fields of a proto message using the order defined in source code instead of the field number. By default, use the field number order. float_format: If set, use this to specify floating point number formatting (per the "Format Specification Mini-Language"); otherwise, str() is used. use_field_number: If True, print field numbers instead of names. descriptor_pool: A DescriptorPool used to resolve Any types. message_formatter: A function(message, indent, as_one_line): unicode|None to custom format selected sub-messages (usually based on message type). Use to pretty print parts of the protobuf for easier diffing. N) r<r:r*r4r5r6r7r8r9r;) rr<r:r*r4r5r6r7r8r9r;rrrrs%z_Printer.__init__cCsht|j|j}|r`|j|j|jjd|jd|jf|j ||jj|j rVdnddSdSdS)z5Serializes if message is a google.protobuf.Any field.z%s[%s]  TFN) rKZTypeNamer9MergeFromStringrFr<r.r:Ztype_url_PrintMessageFieldValuer4)rrZpacked_messagerrr_TryPrintAsAnyMessage.s  z_Printer._TryPrintAsAnyMessagecCsV|j||j|j}|dkrdS|j}|jd|j|j||j|jrLdnddS)NFrLrMT)r;r:r4r<r.)rrZ formattedr<rrr_TryCustomFormatMessage;s z _Printer._TryCustomFormatMessagecCs|jr|j|rdS|jjtkr.|j|r.dS|j}|jrL|jdddx|D]z\}}t |rxht |D]$}|j |||d}|j ||qlWqR|j tjjkrx&|D]}|j ||qWqR|j ||qRWdS)zeConvert protobuf message to text format. Args: message: The protocol buffers message. NcSs |djS)Nr)index)xrrrSsz'_Printer.PrintMessage..)key)rUrF)r;rQ DESCRIPTOR full_name_ANY_FULL_TYPE_NAMErPZ ListFieldsr6sortrEsorted GetEntryClassrlabelrr@LABEL_REPEATED)rrZfieldsrDrFrUZ entry_submsgelementrrrrFs"   z_Printer.PrintMessagecCs|j}|jd|j|jr.|jt|jn|jr|jd|jjj rv|j t j j krv|jt j jkrv|j|jjn |j|j|jdn*|j t j jkr|j|jjn |j|j|jt j jkr|jd|j|||jr|jdn |jddS)z%Print a single field name/value pair.rL[]z: rMN)r<r.r:r8rnumber is_extensioncontaining_typerCZmessage_set_wire_formatr?rr@rAr\ZLABEL_OPTIONALrBrW TYPE_GROUPnamecpp_typeCPPTYPE_MESSAGErr4)rrDrFr<rrrrds*        z_Printer.PrintFieldcCs|jrd}d}nd}d}|jrF|jjd||j||jj|nL|jjd||jd7_|j||jd8_|jjd|j|dS) N<>{}z %s z %s rL)r5r4r<r.rr:)rrFZopenbZclosebrrrrOs  z _Printer._PrintMessageFieldValuecCs<|j}|jtjjkr"|j|n|jtjjkrf|jjj |d}|dk rV|j |j n|j t |n|jtjj kr|j dt|tjr|jd}n|}|jtjjkrd}n|j}|j tj|||j dnf|jtjjkr|r|j dn |j dn<|jtkr*|jdk r*|j dj|j|n|j t |dS)zPrint a single field value (not including name). For repeated fields, the value should be a single element. Args: field: The descriptor of the field to be printed. value: The value of the field. Nr zutf-8Ftruefalsez{1:{0}})r<rfrr@rgrOZ CPPTYPE_ENUM enum_typevalues_by_numbergetr.rerZCPPTYPE_STRINGr+r$r,r-r? TYPE_BYTESr*rZCEscapeZ CPPTYPE_BOOL _FLOAT_TYPESr7r)rrDrFr< enum_valueZ out_valueZ out_as_utf8rrrrs2       z_Printer.PrintFieldValue) rFFFFNFNN) r rrrrrPrQrrrOrrrrrr2s  &  !r2cCs>t|ts&tjr|jd}n |jd}t|jd||||dS)aParses a text representation of a protocol message into a message. NOTE: for historical reasons this function does not clear the input message. This is different from what the binary msg.ParseFrom(...) does. Example a = MyProto() a.repeated_field.append('test') b = MyProto() text_format.Parse(repr(a), b) text_format.Parse(repr(a), b) # repeated_field contains ["test", "test"] # Binary version: b.ParseFromString(a.SerializeToString()) # repeated_field is now "test" Caller is responsible for clearing the message as needed. Args: text: Message text representation. message: A protocol buffer message to merge into. allow_unknown_extension: if True, skip over missing extensions and keep parsing allow_field_number: if True, both field number and field name are allowed. descriptor_pool: A DescriptorPool used to resolve Any types. Returns: The same message passed as argument. Raises: ParseError: On text parsing problems. zutf-8rM)r9)r+rr$PY3decoder- ParseLinessplit)textrallow_unknown_extensionallow_field_numberr9rrrParses%    r|cCs>t|ts&tjr|jd}n |jd}t|jd||||dS)a^Parses a text representation of a protocol message into a message. Like Parse(), but allows repeated values for a non-repeated field, and uses the last one. Args: text: Message text representation. message: A protocol buffer message to merge into. allow_unknown_extension: if True, skip over missing extensions and keep parsing allow_field_number: if True, both field number and field name are allowed. descriptor_pool: A DescriptorPool used to resolve Any types. Returns: The same message passed as argument. Raises: ParseError: On text parsing problems. zutf-8rM)r9)r+rr$rurvr- MergeLinesrx)ryrrzr{r9rrrr s   cCst|||d}|j||S)aParses a text representation of a protocol message into a message. Args: lines: An iterable of lines of a message's text representation. message: A protocol buffer message to merge into. allow_unknown_extension: if True, skip over missing extensions and keep parsing allow_field_number: if True, both field number and field name are allowed. descriptor_pool: A DescriptorPool used to resolve Any types. Returns: The same message passed as argument. Raises: ParseError: On text parsing problems. )r9)_Parserrw)linesrrzr{r9parserrrrrwsrwcCst|||d}|j||S)aParses a text representation of a protocol message into a message. Args: lines: An iterable of lines of a message's text representation. message: A protocol buffer message to merge into. allow_unknown_extension: if True, skip over missing extensions and keep parsing allow_field_number: if True, both field number and field name are allowed. descriptor_pool: A DescriptorPool used to resolve Any types. Returns: The same message passed as argument. Raises: ParseError: On text parsing problems. )r9)r~r})rrrzr{r9rrrrr}3sr}c@sneZdZdZdddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ e ddZddZdS)r~z(Text format parser for protocol message.FNcCs||_||_||_dS)N)rzr{r9)rrzr{r9rrrrQsz_Parser.__init__cCs&t|ts|jd}|j|jd|S)zBParses a text representation of a protocol message into a message.zutf-8rM)r+rrvrwrx)rryrrrrParseFromStringYs  z_Parser.ParseFromStringcCsd|_|j|||S)zBParses a text representation of a protocol message into a message.F)_allow_multiple_scalars _ParseOrMerge)rrrrrrrw_s z_Parser.ParseLinescCs|j|jd|S)zBMerges a text representation of a protocol message into a message.rM)Z _MergeLinesrx)rryrrrrrNesz_Parser.MergeFromStringcCsd|_|j|||S)zBMerges a text representation of a protocol message into a message.T)rr)rrrrrrr}is z_Parser.MergeLinescCs&t|}x|js |j||q WdS)zConverts a text representation of a protocol message into a message. Args: lines: Lines of a message's text representation. message: A protocol buffer message to merge into. Raises: ParseError: On text parsing problems. N) TokenizerAtEnd _MergeField)rrr tokenizerrrrros  z_Parser._ParseOrMergec Cs|j}|jdr|jg}x|jdr6|j|jqWdj|}|jsX|jd|j|jj |}|s|j rtd}q|jd|n||j kr|jd||jf|j dn|j }|jr|jrt|dd}|jj|d}| r|jr|jj|}nh|jj|d}|s8|jj|jd}|r8|jtjjkr8d}|r`|jtjjkr`|jj|kr`d}|sz|jd |j|f|r^|j r|jr|j|jj}|dk r||jkr|jd |j||jj|jf|jtjj kr|jd |j!}n|j d |j"}|j#tjj$krP|jdrPx8|||||jdr>P|j d q$Wn ||||nt%||jd s||jd dS)zMerges a single protocol message field into a message. Args: tokenizer: A tokenizer to parse the field name and values. message: A protocol message to record the data. Raises: ParseError: In case of text parsing problems. r_.z+Message type "%s" does not have extensions.NzExtension "%s" not registered. Did you import the _pb2 module which defines it? If you are trying to place the extension in the MessageSet field of another message that is in an Any or MessageSet field, that message's _pb2 module must be imported as wellz1Extension "%s" does not extend message type "%s".r`Tz*Message type "%s" has no field named "%s".zbField "%s" is specified along with field "%s", another member of oneof "%s" for message type "%s".:,;)&rV TryConsumeConsumeIdentifierappendjoinZ is_extendableParseErrorPreviousTokenrW ExtensionsZ_FindExtensionByNamerzrcConsumeConsumeIdentifierOrNumberr{isdigit ParseIntegerZfields_by_numberrqZ_FindExtensionByNumberfields_by_namelowerr?rr@rdrBrerZcontaining_oneofZ WhichOneofrfrg_MergeMessageField_MergeScalarFieldr\r]_SkipFieldContents) rrrrJrerDraZ which_oneofZmergerrrrr}s                    z_Parser._MergeFieldcCs|jg}|jd|j|j|jd|j|j|jd|jg}x|jdrj|j|jqPWdj|dj|fS)zBConsumes a google.protobuf.Any type URL and returns the type name.r/)rrrrr)rrprefixrerrr_ConsumeAnyTypeUrls      z_Parser._ConsumeAnyTypeUrlcCst|}|jdrd}n|jdd}|jjtko:|jdr |j|\}}|jd|jd|jdrpd}n|jdd}t||j} | st d|x2|j|s|j r|j d |f|j || qW|j tjjkrt||jj} n t||j} | j| |d n||j tjjkr^|jr2|j|j} n*|rLt||jj} nt||jj} n(|jrr|j|} n t||j} | jx8|j|s|j r|j d |f|j || qW|r|jjd j} | tjjkrt||j| j} | j| jn| jt||j| j<d S) a"Merges a single scalar field into a message. Args: tokenizer: A tokenizer to parse the field value. message: The message of which field is a member. field: The descriptor of the field to be merged. Raises: ParseError: In case of text parsing problems. rhrirjrkr_r`rz$Type %s not found in descriptor poolzExpected "%s".)type_url_prefixrFN)rErrrBrWrXrrKr9rrrrr\rr@r]getattrreaddZPackrbrr[Z SetInParentrrfrgrUZ MergeFromrF)rrrrDZ is_map_entryZ end_tokenrZpacked_type_nameZexpanded_any_end_tokenZexpanded_any_sub_messageZ any_messageZ sub_messageZ value_cpptyperFrrrrsb                z_Parser._MergeMessageFieldcCs|j}t|do|jdkS)Nsyntaxproto3)rVhasattrr)rrJrrr_IsProto3SyntaxAs z_Parser._IsProto3SyntaxcCs|j}d}|jtjjtjjtjjfkr0t|}n|jtjjtjj tjj fkrVt |}n|jtjj tjj fkrvt|}n|jtjjtjjfkrt|}n|jtjjtjjfkr|j}nr|jtjjkr|j}nZ|jtjjkr|j}nB|jtjjkr|j}n*|jtjjkr|j|}ntd|j|jtjjkrf|j rR|j!|j"|nt#||j$j"|n|j%| }|j r|j& r|r|j'|r|j(d|j)j*|j*fn ||j!|<nF|j& r|r|j+|j$r|j(d|j)j*|j$fnt,||j$|dS)aHMerges a single scalar field into a message. Args: tokenizer: A tokenizer to parse the field value. message: A protocol message to record the data. field: The descriptor of the field to be merged. Raises: ParseError: In case of text parsing problems. RuntimeError: On runtime errors. NzUnknown field type %dz;Message type "%s" should not have multiple "%s" extensions.z7Message type "%s" should not have multiple "%s" fields.)-rzr?rr@Z TYPE_INT32Z TYPE_SINT32Z TYPE_SFIXED32 _ConsumeInt32Z TYPE_INT64Z TYPE_SINT64Z TYPE_SFIXED64 _ConsumeInt64Z TYPE_UINT32Z TYPE_FIXED32_ConsumeUint32Z TYPE_UINT64Z TYPE_FIXED64_ConsumeUint64Z TYPE_FLOATZ TYPE_DOUBLE ConsumeFloatZ TYPE_BOOL ConsumeBoolZ TYPE_STRING ConsumeStringrrConsumeByteStringZ TYPE_ENUM ConsumeEnum RuntimeErrorr\r]rbrrrrerrZ HasExtensionrrVrWZHasFieldsetattr)rrrrD_rFZcan_check_presencerrrrGs\                       z_Parser._MergeScalarField)FFN)r rrrrrrwrNr}rrrr staticmethodrrrrrrr~Ns mH r~cCs8|jdr,|jd r,|jd r,t|nt|dS)z}Skips over contents (value or message) of a field. Args: tokenizer: A tokenizer to parse the field name and values. rrjrhN)r LookingAt_SkipFieldValue_SkipFieldMessage)rrrrrs  rcCs^|jdr6|jx|jdr(|jqW|jdn|jt||jdsZ|jddS)zSkips over a complete field (name and value/message). Args: tokenizer: A tokenizer to parse the field name and values. r_rr`rrN)rrrr)rrrr _SkipFields     rcCsR|jdrd}n|jdd}x$|jd rB|jd rBt|q W|j|dS)zfSkips over a field message. Args: tokenizer: A tokenizer to parse the field name and values. rhrirjrkN)rrrr)rZ delimiterrrrrs   rcCsT|jrx |jrq WdS|j rPt| rPt| rP|j rPtd|jdS)zSkips over a field value. Args: tokenizer: A tokenizer to parse the field name and values. Raises: ParseError: In case an invalid field value is found. NzInvalid field value: )TryConsumeByteStringTryConsumeIdentifier_TryConsumeInt64_TryConsumeUint64TryConsumeFloatrtoken)rrrrrs    rc@sHeZdZdZejdZejdejZejdejZ ejdj ddgdd e DZ ejd Z ejd ZdEd dZddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(ZdFd*d+Zd,d-Zd.d/Zd0d1Z d2d3Z!d4d5Z"d6d7Z#d8d9Z$d:d;Z%dd?Z'd@dAZ(dBdCZ)dDS)GrzProtocol buffer text representation tokenizer. This class handles the lower level string parsing by splitting it into meaningful tokens. It was directly ported from the Java protocol buffer API. z\s+z (\s*#.*$)z (\s|(#.*$))+|z[a-zA-Z_][0-9a-zA-Z_+-]*z#([0-9+-]|(\.[0-9]))[0-9a-zA-Z_.+-]*cCsg|]}dj|dqS)z!{qt}([^{qt}\n\\]|\\.)*({qt}|\\?$))Zqt)r).0Zmarkrrr szTokenizer.z [^\d\W]\w*z\w+TcCsld|_d|_d|_d|_d|_t||_d|_d|_d|_ d|_ ||_ |rP|j pT|j |_|j|jdS)NrT)Z _positionrrZ _token_startriter_lines _current_line_previous_line_previous_column _more_lines_skip_comments_WHITESPACE_OR_COMMENT _WHITESPACE_whitespace_pattern_SkipWhitespace NextToken)rrZ skip_commentsrrrrs  zTokenizer.__init__cCs |j|kS)N)r)rrrrrrszTokenizer.LookingAtcCs|j S)z^Checks the end of the text was reached. Returns: True iff the end was reached. )r)rrrrr szTokenizer.AtEndc Cs`xZt|j|jkrZyt|j|_Wn tk rBd|_d|_dSX|jd7_d|_qWdS)NrFrr)lenrrnextr StopIterationrr)rrrr_PopLineszTokenizer._PopLinecCsFx@|j|jj|j|j}|s"Pt|jd}|j|7_qWdS)Nr)rrmatchrrrgroup)rrZlengthrrrrszTokenizer._SkipWhitespacecCs|j|kr|jdSdS)zTries to consume a given piece of text. Args: token: Text to consume. Returns: True iff the text was consumed. TF)rr)rrrrrr's zTokenizer.TryConsumecCs|j|s|jd|dS)zConsumes a piece of text. Args: token: Text to consume. Raises: ParseError: If the text couldn't be consumed. zExpected "%s".N)rr)rrrrrr5s zTokenizer.ConsumecCs(|j}|jj|s|jd|j|S)NzExpected comment.)r_COMMENTrrr)rr>rrrConsumeCommentAs   zTokenizer.ConsumeCommentcCs:|jdko|jdk}|j}|j}|j|ko0| }||fS)zCConsumes a comment, returns a 2-tuple (trailing bool, comment str).r)rrrr)rZ just_startedZbefore_parsingZcommentZtrailingrrrConsumeCommentOrTrailingCommentHs  z)Tokenizer.ConsumeCommentOrTrailingCommentc Cs&y |jdStk r dSXdS)NTF)rr)rrrrrXs zTokenizer.TryConsumeIdentifiercCs(|j}|jj|s|jd|j|S)zConsumes protocol message field identifier. Returns: Identifier string. Raises: ParseError: If an identifier couldn't be consumed. zExpected identifier.)r _IDENTIFIERrrr)rr>rrrr_s   zTokenizer.ConsumeIdentifierc Cs&y |jdStk r dSXdS)NTF)rr)rrrrTryConsumeIdentifierOrNumberns z&Tokenizer.TryConsumeIdentifierOrNumbercCs,|j}|jj|s |jd||j|S)zConsumes protocol message field identifier. Returns: Identifier string. Raises: ParseError: If an identifier couldn't be consumed. z&Expected identifier or number, got %s.)r_IDENTIFIER_OR_NUMBERrrr)rr>rrrrus  z#Tokenizer.ConsumeIdentifierOrNumberc Cs&y |jdStk r dSXdS)NTF)ConsumeIntegerr)rrrrTryConsumeIntegers zTokenizer.TryConsumeIntegerFcCsPyt|j|d}Wn0tk rB}z|jt|WYdd}~XnX|j|S)zConsumes an integer number. Args: is_long: True if the value should be returned as a long integer. Returns: The integer parsed. Raises: ParseError: If an integer couldn't be consumed. )is_longN)_ParseAbstractIntegerr ValueErrorrrr)rrr>errrrs  zTokenizer.ConsumeIntegerc Cs&y |jdStk r dSXdS)NTF)rr)rrrrrs zTokenizer.TryConsumeFloatcCsLyt|j}Wn0tk r>}z|jt|WYdd}~XnX|j|S)zConsumes an floating point number. Returns: The number parsed. Raises: ParseError: If a floating point number couldn't be consumed. N) ParseFloatrrrrr)rr>rrrrrs  zTokenizer.ConsumeFloatcCsLyt|j}Wn0tk r>}z|jt|WYdd}~XnX|j|S)zConsumes a boolean value. Returns: The bool parsed. Raises: ParseError: If a boolean value couldn't be consumed. N) ParseBoolrrrrr)rr>rrrrrs  zTokenizer.ConsumeBoolc Cs&y |jdStk r dSXdS)NTF)rr)rrrrrs zTokenizer.TryConsumeByteStringcCsF|j}y tj|dStk r@}z|j|WYdd}~XnXdS)zConsumes a string value. Returns: The string parsed. Raises: ParseError: If a string value couldn't be consumed. zutf-8N)rr$r,UnicodeDecodeError_StringParseError)rZ the_bytesrrrrrs  zTokenizer.ConsumeStringcCs<|jg}x&|jr0|jdtkr0|j|jq Wdj|S)zConsumes a byte array value. Returns: The array parsed (as a string). Raises: ParseError: If a byte array value couldn't be consumed. r)_ConsumeSingleByteStringr_QUOTESrr)rZthe_listrrrrs zTokenizer.ConsumeByteStringcCs|j}t|dks|dtkr.|jd|ft|dksJ|d|dkrZ|jd|fytj|dd}Wn0tk r}z|jt|WYdd}~XnX|j|S) aOConsume one token of a string literal. String literals (whether bytes or text) can come in multiple adjacent tokens which are automatically concatenated, like in C or Python. This method only consumes one token. Returns: The token parsed. Raises: ParseError: When the wrong format data is found. rrzExpected string but found: %rrlzString missing ending quote: %rNrr) rrrrrZ CUnescaperrr)rryr>rrrrrs  z"Tokenizer._ConsumeSingleByteStringcCsNyt||j}Wn0tk r@}z|jt|WYdd}~XnX|j|S)N) ParseEnumrrrrr)rrDr>rrrrrs  zTokenizer.ConsumeEnumcCst||jd|jdS)zCreates and *returns* a ParseError for the previously read token. Args: message: A message to set for the exception. Returns: A ParseError instance. r)rrr)rrrrrr s z!Tokenizer.ParseErrorPreviousTokencCst||jd|jdS)z9Creates and *returns* a ParseError for the current token.r)rrr)rrrrrrszTokenizer.ParseErrorcCs|jdt|S)NzCouldn't parse string: )rr)rrrrrrszTokenizer._StringParseErrorcCs|j|_|j|_|jt|j7_|j|jsrrrrrs  rcCs2t||d}tdt|t|}|j||S)aParses an integer. Args: text: The text to parse. is_signed: True if a signed integer must be parsed. is_long: True if a long integer must be parsed. Returns: The integer value. Raises: ValueError: Thrown Iff the text is not a valid integer. )rrl)r_INTEGER_CHECKERSintZ CheckValue)ryrrr>Zcheckerrrrrs  rc CsBy|rt|dSt|dSWn tk r<td|YnXdS)a Parses an integer without checking size/signedness. Args: text: The text to parse. is_long: True if the value should be returned as a long integer. Returns: The integer value. Raises: ValueError: Thrown Iff the text is not a valid integer. rzCouldn't parse integer: %sN)rr)ryrrrrrs  rcCsyt|Stk rtj|r@|ddkr6tdStdSnBtj|rRtdSyt|jdStk rtd|YnXYnXdS) zParse a floating point number. Args: text: Text to parse. Returns: The number parsed. Raises: ValueError: If a floating point number couldn't be parsed. r-z-infinfnanfzCouldn't parse float: %sN)floatr_FLOAT_INFINITYr _FLOAT_NANr3)ryrrrrs     rcCs$|d kr dS|dkrd Std d S)zParse a boolean value. Args: text: Text to parse. Returns: Boolean values parsed Raises: ValueError: If text is not a valid boolean. rmt1TrueTrnr0FalseFzExpected "true" or "false".N)rmrrr)rnrrr)r)ryrrrrs rc Cs|j}yt|d}Wn<tk rP|jj|d}|dkrLtd|j|fYnFXt|jdrn|jjdkrn|S|j j|d}|dkrtd|j|f|j S)a&Parse an enum value. The value can be specified by a number (the enum value), or by a string literal (the enum name). Args: field: Enum field descriptor. value: String value. Returns: Enum value number. Raises: ValueError: If the enum value could not be parsed. rNz%Enum type "%s" has no value named %s.rrz+Enum type "%s" has no value with number %d.) rorrZvalues_by_namerqrWrfilerrpra)rDrFZenum_descriptorrartrrrrs   r)r r ) FFFFNFNrN) rFFFFNFNN)rFFFFNN)rFFFFNN)FFN)FFN)FFN)FFN)FF)FF)FF)F)Br __author__r&rr$rurZlongZgoogle.protobuf.internalrrHrr__all__ZUint32ValueCheckerZInt32ValueCheckerZUint64ValueCheckerZInt64ValueCheckerrr IGNORECASErr frozensetr@Z CPPTYPE_FLOATZCPPTYPE_DOUBLErsrrX Exceptionr robjectr#rrErrrrKr2r|r rwr}r~rrrrrZ _Tokenizerrrrrrrrrrrrrrrrrr)s      )   J / #  AW     PK!J 4protobuf/__pycache__/reflection.cpython-36.opt-1.pycnu[3 h@sddZdZddlmZddlmZejdkr:ddlmZ n ddlm Z e j Z iZ dd Z d d Zd S) a Contains a metaclass and helper functions used to create protocol message classes from Descriptor objects at runtime. Recall that a metaclass is the "type" of a class. (A class is to a metaclass what an instance is to a class.) In this case, we use the GeneratedProtocolMessageType metaclass to inject all the useful functionality into the classes output by the protocol compiler at compile-time. The upshot of all this is that the real implementation details for ALL pure-Python protocol buffers are *here in this file*. z#robinson@google.com (Will Robinson))api_implementation)messageZcpp) cpp_message)python_messagecCst|}|}|j||S)zGenerate a new Message instance from this Descriptor and a byte string. Args: descriptor: Protobuf Descriptor object byte_str: Serialized protocol buffer byte string Returns: Newly created protobuf Message object. ) MakeClassZParseFromString) descriptorZbyte_strZ result_classZnew_msgr /usr/lib/python3.6/reflection.py ParseMessageCs  r cCsh|tkrt|Si}x&t|jjD]\}}t|||<q$W||tj<tt|jt j f|}|t|<|S)aConstruct a class object for a protobuf described by descriptor. Composite descriptors are handled by defining the new class as a member of the parent class, recursing as deep as necessary. This is the dynamic equivalent to: class Parent(message.Message): __metaclass__ = GeneratedProtocolMessageType DESCRIPTOR = descriptor class Child(message.Message): __metaclass__ = GeneratedProtocolMessageType DESCRIPTOR = descriptor.nested_types[0] Sample usage: file_descriptor = descriptor_pb2.FileDescriptorProto() file_descriptor.ParseFromString(proto2_string) msg_descriptor = descriptor.MakeDescriptor(file_descriptor.message_type[0]) msg_class = reflection.MakeClass(msg_descriptor) msg = msg_class() Args: descriptor: A descriptor.Descriptor object describing the protobuf. Returns: The Message class object described by the descriptor. ) MESSAGE_CLASS_CACHElistZnested_types_by_nameitemsrGeneratedProtocolMessageTypeZ_DESCRIPTOR_KEYstrnamerZMessage)rZ attributesrZ nested_typeresultrrr rSs rN)__doc__ __author__Zgoogle.protobuf.internalrZgoogle.protobufrZTypeZgoogle.protobuf.pyextrZ message_implrrr r rrrrr .s    PK!Kt!!2protobuf/__pycache__/type_pb2.cpython-36.opt-1.pycnu[3 hcU!@s ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZdd lmZejdddedejejgdZejdddeejddddddejddddddgddddd ZejeejeZdZdZejdddeejddddddejddddddejd d!d!dddejd"dddddejd#d$d$dddejd%d&d&dddejd'd(d(dddejd)d*d*dddejd+d,d,dddejd-d.d.dddejd/d0d0dddejd1d2d2dddejd3d4d4dddejd5d6d6dddejd7d8d8dddejd9d:d:dddejd;dd>dddejd?d@d@dddgdddAdBd ZejeejdCdDdeejdEdddddejdFdddddejdGd!d!dddejdHdddddgdddIdJd Z eje ej!dKdLdedej"dMdNddd.d.ddOedPj#dQddddOddedRej"dSdTdd!d2d0ddOgddddOddedRej"dUdVd!dd.d.ddOgddddOddedRej"dWdXdd$d2d0ddOgddddOddedRej"dYdZd$d&d2d0ddOdddddOddedRej"d[d\d&d(d8d,ddOdddddOddedRggggddOdggd]d^d_Z$ej!d`dadedej"dbdcddd8d,ddOdddddOddedRej"dddedd!d8d,ddOdddddOddedRej"dfdgd!dd&dddOdddddOddedRej"dMdhdd$d.d.ddOedPj#dQddddOddedRej"didjd$d(d.d.ddOedPj#dQddddOddedRej"dkdld&d*d&dddOdddddOddedRej"dmdnd(d,d,d*ddOdOddddOddedRej"dWdod*d.d2d0ddOgddddOddedRej"dpdqd,d0d.d.ddOedPj#dQddddOddedRej"drdsd.d2d.d.ddOedPj#dQddddOddedRg ggee gddOdggdtdJd_Z%ej!dudvdedej"dMdwddd.d.ddOedPj#dQddddOddedRej"dxdydd!d2d0ddOgddddOddedRej"dWdzd!dd2d0ddOgddddOddedRej"dYd{dd$d2d0ddOdddddOddedRej"d[d|d$d&d8d,ddOdddddOddedRggggddOdggd}d~d_Z&ej!dddedej"dMdddd.d.ddOedPj#dQddddOddedRej"dfddd!d&dddOdddddOddedRej"dWdd!dd2d0ddOgddddOddedRggggddOdggddd_Z'ej!dddedej"dMdddd.d.ddOedPj#dQddddOddedRej"dddd!d2d0ddOdddddOddedRggggddOdggddd_Z(e%e$j)dS_*e(e$j)dW_*ej+e$j)dY_*ee$j)d[_,ee%j)db_,e e%j)dd_,e(e%j)dW_*e%e_-e%e _-e'e&j)dx_*e(e&j)dW_*ej+e&j)dY_*ee&j)d[_,e(e'j)dW_*ej.e(j)d_*e$ej/dK<e%ej/d`<e&ej/du<e'ej/d<e(ej/d<eej0d<ej1ee j2dKe j3fe4e$ddZ5ej6e5e j2d`e j3fe4e%ddZ7ej6e7e j2due j3fe4e&ddZ8ej6e8e j2de j3fe4e'ddZ9ej6e9e j2de j3fe4e(ddZ:ej6e:de_;ejdS)NcCs|S)N)xrr/usr/lib/python3.6/type_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)any_pb2)source_context_pb2zgoogle/protobuf/type.protozgoogle.protobufZproto3uA google/protobuf/type.protogoogle.protobufgoogle/protobuf/any.proto$google/protobuf/source_context.proto"× Type name ( & fields ( 2.google.protobuf.Field oneofs ( ( options ( 2.google.protobuf.Option6 source_context ( 2.google.protobuf.SourceContext' syntax (2.google.protobuf.Syntax"Õ Field) kind (2.google.protobuf.Field.Kind7 cardinality (2".google.protobuf.Field.Cardinality number ( name (  type_url (  oneof_index ( packed (( options ( 2.google.protobuf.Option json_name (  default_value ( "È Kind TYPE_UNKNOWN TYPE_DOUBLE TYPE_FLOAT TYPE_INT64 TYPE_UINT64 TYPE_INT32 TYPE_FIXED64 TYPE_FIXED32 TYPE_BOOL TYPE_STRING  TYPE_GROUP  TYPE_MESSAGE  TYPE_BYTES  TYPE_UINT32  TYPE_ENUM TYPE_SFIXED32 TYPE_SFIXED64 TYPE_SINT32 TYPE_SINT64"t Cardinality CARDINALITY_UNKNOWN CARDINALITY_OPTIONAL CARDINALITY_REQUIRED CARDINALITY_REPEATED"Î Enum name ( - enumvalue ( 2.google.protobuf.EnumValue( options ( 2.google.protobuf.Option6 source_context ( 2.google.protobuf.SourceContext' syntax (2.google.protobuf.Syntax"S EnumValue name (  number (( options ( 2.google.protobuf.Option"; Option name ( # value ( 2.google.protobuf.Any*. Syntax SYNTAX_PROTO2 SYNTAX_PROTO3B} com.google.protobufB TypeProtoPZ/google.golang.org/genproto/protobuf/ptype;ptypeø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbZ dependenciesSyntaxzgoogle.protobuf.Syntax SYNTAX_PROTO2)rindexnumberoptionstype SYNTAX_PROTO3ii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZKindzgoogle.protobuf.Field.KindZ TYPE_UNKNOWNZ TYPE_DOUBLEZ TYPE_FLOATZ TYPE_INT64Z TYPE_UINT64Z TYPE_INT32Z TYPE_FIXED64Z TYPE_FIXED32Z TYPE_BOOLZ TYPE_STRING Z TYPE_GROUP Z TYPE_MESSAGE Z TYPE_BYTES Z TYPE_UINT32 Z TYPE_ENUMZ TYPE_SFIXED32Z TYPE_SFIXED64Z TYPE_SINT32Z TYPE_SINT64ibiZ Cardinalityz!google.protobuf.Field.CardinalityZCARDINALITY_UNKNOWNZCARDINALITY_OPTIONALZCARDINALITY_REQUIREDZCARDINALITY_REPEATEDii Typezgoogle.protobuf.Typerzgoogle.protobuf.Type.nameFzutf-8)rrrrrZcpp_typeZlabelZhas_default_value default_value message_type enum_typer Z is_extensionZextension_scoperrfieldszgoogle.protobuf.Type.fieldsoneofszgoogle.protobuf.Type.oneofsrzgoogle.protobuf.Type.optionsZsource_contextz#google.protobuf.Type.source_contextrzgoogle.protobuf.Type.syntaxqiH)rrrrr r8 extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesr9r!r"Fieldzgoogle.protobuf.FieldZkindzgoogle.protobuf.Field.kindZ cardinalityz!google.protobuf.Field.cardinalityrzgoogle.protobuf.Field.numberzgoogle.protobuf.Field.nameZtype_urlzgoogle.protobuf.Field.type_urlZ oneof_indexz!google.protobuf.Field.oneof_indexZpackedzgoogle.protobuf.Field.packedzgoogle.protobuf.Field.optionsZ json_namezgoogle.protobuf.Field.json_namer5z#google.protobuf.Field.default_valueiKEnumzgoogle.protobuf.Enumzgoogle.protobuf.Enum.nameZ enumvaluezgoogle.protobuf.Enum.enumvaluezgoogle.protobuf.Enum.optionsz#google.protobuf.Enum.source_contextzgoogle.protobuf.Enum.syntaxi#i EnumValuezgoogle.protobuf.EnumValuezgoogle.protobuf.EnumValue.namez google.protobuf.EnumValue.numberz!google.protobuf.EnumValue.optionsiiFOptionzgoogle.protobuf.Optionzgoogle.protobuf.Option.namevaluezgoogle.protobuf.Option.valueiHizgoogle.protobuf.type_pb2) DESCRIPTOR __module__Tu com.google.protobufB TypeProtoPZ/google.golang.org/genproto/protobuf/ptype;ptypeø¢GPBªGoogle.Protobuf.WellKnownTypes)?sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ google_dot_protobuf_dot_any__pb2rZ,google_dot_protobuf_dot_source__context__pb2ZFileDescriptorrAZEnumDescriptorZEnumValueDescriptorZ_SYNTAXZRegisterEnumDescriptorZEnumTypeWrapperrrrZ _FIELD_KINDZ_FIELD_CARDINALITYZ DescriptorZFieldDescriptordecodeZ_TYPEZ_FIELDZ_ENUMZ _ENUMVALUEZ_OPTIONZfields_by_namer6Z_SOURCECONTEXTr7r Z_ANYZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr3ZRegisterMessager<r=r>r?Z has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                                            PK!T'DD3protobuf/__pycache__/symbol_database.cpython-36.pycnu[3 h@sHdZddlmZddlmZGdddejZeejdZddZd S) aRA database of Python protocol buffer generated symbols. SymbolDatabase is the MessageFactory for messages generated at compile time, and makes it easy to create new instances of a registered type, given only the type's protocol buffer symbol name. Example usage: db = symbol_database.SymbolDatabase() # Register symbols of interest, from one or multiple files. db.RegisterFileDescriptor(my_proto_pb2.DESCRIPTOR) db.RegisterMessage(my_proto_pb2.MyMessage) db.RegisterEnumDescriptor(my_proto_pb2.MyEnum.DESCRIPTOR) # The database can be used as a MessageFactory, to generate types based on # their name: types = db.GetMessages(['my_proto.proto']) my_message_instance = types['MyMessage']() # The database's underlying descriptor pool can be queried, so it's not # necessary to know a type's filename to be able to generate it: filename = db.pool.FindFileContainingSymbol('MyMessage') my_message_instance = db.GetMessages([filename])['MyMessage']() # This functionality is also provided directly via a convenience method: my_message_instance = db.GetSymbol('MyMessage')() )descriptor_pool)message_factoryc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS)SymbolDatabasez'A database of Python generated symbols.cCs|j}||j|<|j||S)zRegisters the given message type in the local database. Calls to GetSymbol() and GetMessages() will return messages registered here. Args: message: a message.Message, to be registered. Returns: The provided message. )Z DESCRIPTOR_classesRegisterMessageDescriptor)selfmessagedescr %/usr/lib/python3.6/symbol_database.pyRegisterMessageDs   zSymbolDatabase.RegisterMessagecCs|jj|dS)zRegisters the given message descriptor in the local database. Args: message_descriptor: a descriptor.MessageDescriptor. N)poolZ AddDescriptor)rZmessage_descriptorr r r rUsz(SymbolDatabase.RegisterMessageDescriptorcCs|jj||S)zRegisters the given enum descriptor in the local database. Args: enum_descriptor: a descriptor.EnumDescriptor. Returns: The provided descriptor. )r ZAddEnumDescriptor)rZenum_descriptorr r r RegisterEnumDescriptor]s z%SymbolDatabase.RegisterEnumDescriptorcCs|jj|dS)zRegisters the given service descriptor in the local database. Args: service_descriptor: a descriptor.ServiceDescriptor. Returns: The provided descriptor. N)r ZAddServiceDescriptor)rZservice_descriptorr r r RegisterServiceDescriptoris z(SymbolDatabase.RegisterServiceDescriptorcCs|jj|dS)zRegisters the given file descriptor in the local database. Args: file_descriptor: a descriptor.FileDescriptor. Returns: The provided descriptor. N)r ZAddFileDescriptor)rZfile_descriptorr r r RegisterFileDescriptorts z%SymbolDatabase.RegisterFileDescriptorcCs|j|jj|S)axTries to find a symbol in the local database. Currently, this method only returns message.Message instances, however, if may be extended in future to support other symbol types. Args: symbol: A str, a protocol buffer symbol. Returns: A Python class corresponding to the symbol. Raises: KeyError: if the symbol could not be found. )rr ZFindMessageTypeByName)rZsymbolr r r GetSymbolszSymbolDatabase.GetSymbolcsfddi}xl|D]d}|jj|}xRt|jjD]@}x:|D].}y|j|||j<WqDtk rpYqDXqDWq6WqW|S)aGets all registered messages from a specified file. Only messages already created and registered will be returned; (this is the case for imported _pb2 modules) But unlike MessageFactory, this version also returns already defined nested messages, but does not register any message extensions. Args: files: The file names to extract messages from. Returns: A dictionary mapping proto names to the message classes. Raises: KeyError: if a file could not be found. c3s2|Vx&|jD]}x|D] }|VqWqWdS)zCWalk a message Descriptor and recursively yields all message names.N)Z nested_types)r msg_descZ nested_desc)_GetAllMessagesr r rs z3SymbolDatabase.GetMessages.._GetAllMessages)r ZFindFileByNamelistZmessage_types_by_namevaluesrZ full_nameKeyError)rfilesresult file_nameZ file_descrr r )rr GetMessagess   zSymbolDatabase.GetMessagesN) __name__ __module__ __qualname____doc__r rrrrrrr r r r rAs   r)r cCstS)z#Returns the default SymbolDatabase.)_DEFAULTr r r r Defaultsr N)rZgoogle.protobufrrZMessageFactoryrr rr r r r :s   wPK!>Di9"9"1protobuf/__pycache__/service.cpython-36.opt-1.pycnu[3 h#@sLdZdZGdddeZGdddeZGdddeZGdd d eZd S) aeDEPRECATED: Declares the RPC service interfaces. This module declares the abstract interfaces underlying proto2 RPC services. These are intended to be independent of any particular RPC implementation, so that proto2 services can be used on top of a variety of implementations. Starting with version 2.3.0, RPC implementations should not try to build on these, but should instead provide code generator plugins which generate code specific to the particular RPC implementation. This way the generated code can be more appropriate for the implementation in use and can avoid unnecessary layers of indirection. zpetar@google.com (Petar Petrov)c@seZdZdZdS) RpcExceptionz4Exception raised on failed blocking RPC method call.N)__name__ __module__ __qualname____doc__rr/usr/lib/python3.6/service.pyr.src@s0eZdZdZddZddZddZdd Zd S) ServiceajAbstract base interface for protocol-buffer-based RPC services. Services themselves are abstract classes (implemented either by servers or as stubs), but they subclass this base interface. The methods of this interface can be used to call the methods of the service without knowing its exact type at compile time (analogous to the Message interface). cCstdS)z$Retrieves this service's descriptor.N)NotImplementedErrorrrrr GetDescriptor=szService.GetDescriptorcCstdS)a>Calls a method of the service specified by method_descriptor. If "done" is None then the call is blocking and the response message will be returned directly. Otherwise the call is asynchronous and "done" will later be called with the response value. In the blocking case, RpcException will be raised on error. Preconditions: * method_descriptor.service == GetDescriptor * request is of the exact same classes as returned by GetRequestClass(method). * After the call has started, the request must not be modified. * "rpc_controller" is of the correct type for the RPC implementation being used by this Service. For stubs, the "correct type" depends on the RpcChannel which the stub is using. Postconditions: * "done" will be called when the method is complete. This may be before CallMethod() returns or it may be at some point in the future. * If the RPC failed, the response value passed to "done" will be None. Further details about the failure can be found by querying the RpcController. N)r )selfmethod_descriptorrpc_controllerrequestdonerrr CallMethodAszService.CallMethodcCstdS)aReturns the class of the request message for the specified method. CallMethod() requires that the request is of a particular subclass of Message. GetRequestClass() gets the default instance of this required type. Example: method = service.GetDescriptor().FindMethodByName("Foo") request = stub.GetRequestClass(method)() request.ParseFromString(input) service.CallMethod(method, request, callback) N)r )r r rrrGetRequestClass]s zService.GetRequestClasscCstdS)aReturns the class of the response message for the specified method. This method isn't really needed, as the RpcChannel's CallMethod constructs the response protocol message. It's provided anyway in case it is useful for the caller to know the response type in advance. N)r )r r rrrGetResponseClasslszService.GetResponseClassN)rrrrr rrrrrrrr3s rc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS) RpcControlleraAn RpcController mediates a single method call. The primary purpose of the controller is to provide a way to manipulate settings specific to the RPC implementation and to find out about RPC-level errors. The methods provided by the RpcController interface are intended to be a "least common denominator" set of features which we expect all implementations to support. Specific implementations may provide more advanced features (e.g. deadline propagation). cCstdS)zResets the RpcController to its initial state. After the RpcController has been reset, it may be reused in a new call. Must not be called while an RPC is in progress. N)r )r rrrResetszRpcController.ResetcCstdS)a>Returns true if the call failed. After a call has finished, returns true if the call failed. The possible reasons for failure depend on the RPC implementation. Failed() must not be called before a call has finished. If Failed() returns true, the contents of the response message are undefined. N)r )r rrrFailedszRpcController.FailedcCstdS)zEIf Failed is true, returns a human-readable description of the error.N)r )r rrr ErrorTextszRpcController.ErrorTextcCstdS)aInitiate cancellation. Advises the RPC system that the caller desires that the RPC call be canceled. The RPC system may cancel it immediately, may wait awhile and then cancel it, or may not even cancel the call at all. If the call is canceled, the "done" callback will still be called and the RpcController will indicate that the call failed at that time. N)r )r rrr StartCancels zRpcController.StartCancelcCstdS)aWSets a failure reason. Causes Failed() to return true on the client side. "reason" will be incorporated into the message returned by ErrorText(). If you find you need to return machine-readable information about failures, you should incorporate it into your response protocol buffer and should NOT call SetFailed(). N)r )r reasonrrr SetFaileds zRpcController.SetFailedcCstdS)zChecks if the client cancelled the RPC. If true, indicates that the client canceled the RPC, so the server may as well give up on replying to it. The server should still call the final "done" callback. N)r )r rrr IsCanceledszRpcController.IsCanceledcCstdS)aSets a callback to invoke on cancel. Asks that the given callback be called when the RPC is canceled. The callback will always be called exactly once. If the RPC completes without being canceled, the callback will be called after completion. If the RPC has already been canceled when NotifyOnCancel() is called, the callback will be called immediately. NotifyOnCancel() must be called no more than once per request. N)r )r callbackrrrNotifyOnCancels zRpcController.NotifyOnCancelN) rrrrrrrrrrrrrrrrvs     rc@seZdZdZddZdS) RpcChannela4Abstract interface for an RPC channel. An RpcChannel represents a communication line to a service which can be used to call that service's methods. The service may be running on another machine. Normally, you should not use an RpcChannel directly, but instead construct a stub {@link Service} wrapping it. Example: Example: RpcChannel channel = rpcImpl.Channel("remotehost.example.com:1234") RpcController controller = rpcImpl.Controller() MyService service = MyService_Stub(channel) service.MyMethod(controller, request, callback) cCstdS)abCalls the method identified by the descriptor. Call the given method of the remote service. The signature of this procedure looks the same as Service.CallMethod(), but the requirements are less strict in one important way: the request object doesn't have to be of any specific class as long as its descriptor is method.input_type. N)r )r r r rZresponse_classrrrrrs zRpcChannel.CallMethodN)rrrrrrrrrrsrN)r __author__ Exceptionrobjectrrrrrrr)s CSPK!)tORR0protobuf/__pycache__/wrappers_pb2.cpython-36.pycnu[3 h -@s@ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejddddddddedddddddedggggddd ggdddZejdddedejddddddddedddddddedggggddd ggd d!dZejd"d#dedejdd$dddddddddddddedggggddd ggd%d&dZejd'd(dedejdd)ddd*d*dddddddddedggggddd ggd+d,dZejd-d.dedejdd/dddddddddddddedggggddd ggd0d1dZejd2d3dedejdd4ddd5ddddddddddedggggddd ggd6d7dZejd8d9dedejdd:ddd;ddZejd?d@dedejddAdddBdBddedCjdDddddddedggggddd ggdEdFdZejdGdHdedejddIdddJdBddedCddddddedggggddd ggdKdLdZeejd<eejd<eejd"<eejd'<eejd-<eejd2<eejd8<eejd?<eejdG<ejee j dej!fe"edMdNZ#ej$e#e j dej!fe"edMdNZ%ej$e%e j d"ej!fe"edMdNZ&ej$e&e j d'ej!fe"edMdNZ'ej$e'e j d-ej!fe"edMdNZ(ej$e(e j d2ej!fe"edMdNZ)ej$e)e j d8ej!fe"edMdNZ*ej$e*e j d?ej!fe"edMdNZ+ej$e+e j dGej!fe"edMdNZ,ej$e,dOe_-ej.e j/edPe_0dS)QNcCs|S)N)xrr"/usr/lib/python3.6/wrappers_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/wrappers.protozgoogle.protobufZproto3u google/protobuf/wrappers.protogoogle.protobuf" DoubleValue value (" FloatValue value (" Int64Value value (" UInt64Value value (" Int32Value value (" UInt32Value value ( " BoolValue value (" StringValue value ( " BytesValue value ( B| com.google.protobufB WrappersProtoPZ*github.com/golang/protobuf/ptypes/wrappersø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb DoubleValuezgoogle.protobuf.DoubleValuevaluez!google.protobuf.DoubleValue.valueF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile3O)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_end FloatValuezgoogle.protobuf.FloatValuez google.protobuf.FloatValue.valueQl Int64Valuezgoogle.protobuf.Int64Valuez google.protobuf.Int64Value.valuen UInt64Valuezgoogle.protobuf.UInt64Valuez!google.protobuf.UInt64Value.value Int32Valuezgoogle.protobuf.Int32Valuez google.protobuf.Int32Value.value UInt32Valuezgoogle.protobuf.UInt32Valuez!google.protobuf.UInt32Value.value BoolValuezgoogle.protobuf.BoolValuezgoogle.protobuf.BoolValue.value StringValuezgoogle.protobuf.StringValuez!google.protobuf.StringValue.value zutf-8i BytesValuezgoogle.protobuf.BytesValuez google.protobuf.BytesValue.value ii9zgoogle.protobuf.wrappers_pb2) DESCRIPTOR __module__Tu com.google.protobufB WrappersProtoPZ*github.com/golang/protobuf/ptypes/wrappersø¢GPBªGoogle.Protobuf.WellKnownTypes)1sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr=Z DescriptorZFieldDescriptorfloatZ _DOUBLEVALUEZ _FLOATVALUEZ _INT64VALUEZ _UINT64VALUEZ _INT32VALUEZ _UINT32VALUEZ _BOOLVALUEdecodeZ _STRINGVALUEZ _BYTESVALUEZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerr$r'r+r.r2r7r;Z has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                                           PK!Qq1protobuf/__pycache__/timestamp_pb2.cpython-36.pycnu[3 h @sRddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejed e_eje jed!e_dS)"NcCs|S)N)xrr#/usr/lib/python3.6/timestamp_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/timestamp.protozgoogle.protobufZproto3u google/protobuf/timestamp.protogoogle.protobuf"+ Timestamp seconds ( nanos (B~ com.google.protobufBTimestampProtoPZ+github.com/golang/protobuf/ptypes/timestampø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb Timestampzgoogle.protobuf.TimestampZsecondsz!google.protobuf.Timestamp.secondsF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileZnanoszgoogle.protobuf.Timestamp.nanos4_)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.timestamp_pb2) DESCRIPTOR __module__Tu com.google.protobufBTimestampProtoPZ+github.com/golang/protobuf/ptypes/timestampø¢GPBªGoogle.Protobuf.WellKnownTypes)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ _TIMESTAMPZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsd           PK!Kt!!,protobuf/__pycache__/type_pb2.cpython-36.pycnu[3 hcU!@s ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZdd lmZejdddedejejgdZejdddeejddddddejddddddgddddd ZejeejeZdZdZejdddeejddddddejddddddejd d!d!dddejd"dddddejd#d$d$dddejd%d&d&dddejd'd(d(dddejd)d*d*dddejd+d,d,dddejd-d.d.dddejd/d0d0dddejd1d2d2dddejd3d4d4dddejd5d6d6dddejd7d8d8dddejd9d:d:dddejd;dd>dddejd?d@d@dddgdddAdBd ZejeejdCdDdeejdEdddddejdFdddddejdGd!d!dddejdHdddddgdddIdJd Z eje ej!dKdLdedej"dMdNddd.d.ddOedPj#dQddddOddedRej"dSdTdd!d2d0ddOgddddOddedRej"dUdVd!dd.d.ddOgddddOddedRej"dWdXdd$d2d0ddOgddddOddedRej"dYdZd$d&d2d0ddOdddddOddedRej"d[d\d&d(d8d,ddOdddddOddedRggggddOdggd]d^d_Z$ej!d`dadedej"dbdcddd8d,ddOdddddOddedRej"dddedd!d8d,ddOdddddOddedRej"dfdgd!dd&dddOdddddOddedRej"dMdhdd$d.d.ddOedPj#dQddddOddedRej"didjd$d(d.d.ddOedPj#dQddddOddedRej"dkdld&d*d&dddOdddddOddedRej"dmdnd(d,d,d*ddOdOddddOddedRej"dWdod*d.d2d0ddOgddddOddedRej"dpdqd,d0d.d.ddOedPj#dQddddOddedRej"drdsd.d2d.d.ddOedPj#dQddddOddedRg ggee gddOdggdtdJd_Z%ej!dudvdedej"dMdwddd.d.ddOedPj#dQddddOddedRej"dxdydd!d2d0ddOgddddOddedRej"dWdzd!dd2d0ddOgddddOddedRej"dYd{dd$d2d0ddOdddddOddedRej"d[d|d$d&d8d,ddOdddddOddedRggggddOdggd}d~d_Z&ej!dddedej"dMdddd.d.ddOedPj#dQddddOddedRej"dfddd!d&dddOdddddOddedRej"dWdd!dd2d0ddOgddddOddedRggggddOdggddd_Z'ej!dddedej"dMdddd.d.ddOedPj#dQddddOddedRej"dddd!d2d0ddOdddddOddedRggggddOdggddd_Z(e%e$j)dS_*e(e$j)dW_*ej+e$j)dY_*ee$j)d[_,ee%j)db_,e e%j)dd_,e(e%j)dW_*e%e_-e%e _-e'e&j)dx_*e(e&j)dW_*ej+e&j)dY_*ee&j)d[_,e(e'j)dW_*ej.e(j)d_*e$ej/dK<e%ej/d`<e&ej/du<e'ej/d<e(ej/d<eej0d<ej1ee j2dKe j3fe4e$ddZ5ej6e5e j2d`e j3fe4e%ddZ7ej6e7e j2due j3fe4e&ddZ8ej6e8e j2de j3fe4e'ddZ9ej6e9e j2de j3fe4e(ddZ:ej6e:de_;ejdS)NcCs|S)N)xrr/usr/lib/python3.6/type_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)any_pb2)source_context_pb2zgoogle/protobuf/type.protozgoogle.protobufZproto3uA google/protobuf/type.protogoogle.protobufgoogle/protobuf/any.proto$google/protobuf/source_context.proto"× Type name ( & fields ( 2.google.protobuf.Field oneofs ( ( options ( 2.google.protobuf.Option6 source_context ( 2.google.protobuf.SourceContext' syntax (2.google.protobuf.Syntax"Õ Field) kind (2.google.protobuf.Field.Kind7 cardinality (2".google.protobuf.Field.Cardinality number ( name (  type_url (  oneof_index ( packed (( options ( 2.google.protobuf.Option json_name (  default_value ( "È Kind TYPE_UNKNOWN TYPE_DOUBLE TYPE_FLOAT TYPE_INT64 TYPE_UINT64 TYPE_INT32 TYPE_FIXED64 TYPE_FIXED32 TYPE_BOOL TYPE_STRING  TYPE_GROUP  TYPE_MESSAGE  TYPE_BYTES  TYPE_UINT32  TYPE_ENUM TYPE_SFIXED32 TYPE_SFIXED64 TYPE_SINT32 TYPE_SINT64"t Cardinality CARDINALITY_UNKNOWN CARDINALITY_OPTIONAL CARDINALITY_REQUIRED CARDINALITY_REPEATED"Î Enum name ( - enumvalue ( 2.google.protobuf.EnumValue( options ( 2.google.protobuf.Option6 source_context ( 2.google.protobuf.SourceContext' syntax (2.google.protobuf.Syntax"S EnumValue name (  number (( options ( 2.google.protobuf.Option"; Option name ( # value ( 2.google.protobuf.Any*. Syntax SYNTAX_PROTO2 SYNTAX_PROTO3B} com.google.protobufB TypeProtoPZ/google.golang.org/genproto/protobuf/ptype;ptypeø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbZ dependenciesSyntaxzgoogle.protobuf.Syntax SYNTAX_PROTO2)rindexnumberoptionstype SYNTAX_PROTO3ii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZKindzgoogle.protobuf.Field.KindZ TYPE_UNKNOWNZ TYPE_DOUBLEZ TYPE_FLOATZ TYPE_INT64Z TYPE_UINT64Z TYPE_INT32Z TYPE_FIXED64Z TYPE_FIXED32Z TYPE_BOOLZ TYPE_STRING Z TYPE_GROUP Z TYPE_MESSAGE Z TYPE_BYTES Z TYPE_UINT32 Z TYPE_ENUMZ TYPE_SFIXED32Z TYPE_SFIXED64Z TYPE_SINT32Z TYPE_SINT64ibiZ Cardinalityz!google.protobuf.Field.CardinalityZCARDINALITY_UNKNOWNZCARDINALITY_OPTIONALZCARDINALITY_REQUIREDZCARDINALITY_REPEATEDii Typezgoogle.protobuf.Typerzgoogle.protobuf.Type.nameFzutf-8)rrrrrZcpp_typeZlabelZhas_default_value default_value message_type enum_typer Z is_extensionZextension_scoperrfieldszgoogle.protobuf.Type.fieldsoneofszgoogle.protobuf.Type.oneofsrzgoogle.protobuf.Type.optionsZsource_contextz#google.protobuf.Type.source_contextrzgoogle.protobuf.Type.syntaxqiH)rrrrr r8 extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesr9r!r"Fieldzgoogle.protobuf.FieldZkindzgoogle.protobuf.Field.kindZ cardinalityz!google.protobuf.Field.cardinalityrzgoogle.protobuf.Field.numberzgoogle.protobuf.Field.nameZtype_urlzgoogle.protobuf.Field.type_urlZ oneof_indexz!google.protobuf.Field.oneof_indexZpackedzgoogle.protobuf.Field.packedzgoogle.protobuf.Field.optionsZ json_namezgoogle.protobuf.Field.json_namer5z#google.protobuf.Field.default_valueiKEnumzgoogle.protobuf.Enumzgoogle.protobuf.Enum.nameZ enumvaluezgoogle.protobuf.Enum.enumvaluezgoogle.protobuf.Enum.optionsz#google.protobuf.Enum.source_contextzgoogle.protobuf.Enum.syntaxi#i EnumValuezgoogle.protobuf.EnumValuezgoogle.protobuf.EnumValue.namez google.protobuf.EnumValue.numberz!google.protobuf.EnumValue.optionsiiFOptionzgoogle.protobuf.Optionzgoogle.protobuf.Option.namevaluezgoogle.protobuf.Option.valueiHizgoogle.protobuf.type_pb2) DESCRIPTOR __module__Tu com.google.protobufB TypeProtoPZ/google.golang.org/genproto/protobuf/ptype;ptypeø¢GPBªGoogle.Protobuf.WellKnownTypes)?sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ google_dot_protobuf_dot_any__pb2rZ,google_dot_protobuf_dot_source__context__pb2ZFileDescriptorrAZEnumDescriptorZEnumValueDescriptorZ_SYNTAXZRegisterEnumDescriptorZEnumTypeWrapperrrrZ _FIELD_KINDZ_FIELD_CARDINALITYZ DescriptorZFieldDescriptordecodeZ_TYPEZ_FIELDZ_ENUMZ _ENUMVALUEZ_OPTIONZfields_by_namer6Z_SOURCECONTEXTr7r Z_ANYZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr3ZRegisterMessager<r=r>r?Z has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                                            PK!˦0 6protobuf/__pycache__/unittest_arena_pb2.cpython-36.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejdddddddddddddddedggggdddggdddZejdddedejddddd d!ddgddddddedejd"d#dd$d d!ddgddddddedggggdddggd%d&dZeejd_ejejd"_eejd<eejd<ejee jdejfeed'd(Zej ee jdejfeed'd(Z!ej e!d)e_"ej#e j$ed*e_%dS)+NcCs|S)N)xrr(/usr/lib/python3.6/unittest_arena_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_no_arena_import_pb2z$google/protobuf/unittest_arena.protoZproto2_arena_unittestZproto2uE $google/protobuf/unittest_arena.protoproto2_arena_unittest.google/protobuf/unittest_no_arena_import.proto" NestedMessage d ("² ArenaMessageE repeated_nested_message ( 2$.proto2_arena_unittest.NestedMessage[ repeated_import_no_arena_message ( 21.proto2_arena_unittest.ImportNoArenaNestedMessageBø)namepackagesyntaxZ serialized_pbZ dependencies NestedMessagez#proto2_arena_unittest.NestedMessagedz%proto2_arena_unittest.NestedMessage.dF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileo)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_end ArenaMessagez"proto2_arena_unittest.ArenaMessageZrepeated_nested_messagez:proto2_arena_unittest.ArenaMessage.repeated_nested_message Z repeated_import_no_arena_messagezCproto2_arena_unittest.ArenaMessage.repeated_import_no_arena_messagei>z"google.protobuf.unittest_arena_pb2) DESCRIPTOR __module__Tuø)&sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ8google_dot_protobuf_dot_unittest__no__arena__import__pb2ZFileDescriptorr&Z DescriptorZFieldDescriptorZ_NESTEDMESSAGEZ _ARENAMESSAGEZfields_by_namerZ_IMPORTNOARENANESTEDMESSAGEZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager!Z has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                 PK!h3protobuf/__pycache__/empty_pb2.cpython-36.opt-1.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedggggddd ggdddZeejd<ejee jdejfeeddZejede_eje jede_dS)NcCs|S)N)xrr/usr/lib/python3.6/empty_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/empty.protozgoogle.protobufZproto3u google/protobuf/empty.protogoogle.protobuf" EmptyBv com.google.protobufB EmptyProtoPZ'github.com/golang/protobuf/ptypes/emptyø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbEmptyzgoogle.protobuf.EmptyF07)rZ full_namefilenamefileZcontaining_typeZfields extensionsZ nested_typesZ enum_typesZoptionsZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.empty_pb2) DESCRIPTOR __module__Tuy com.google.protobufB EmptyProtoPZ'github.com/golang/protobuf/ptypes/emptyø¢GPBªGoogle.Protobuf.WellKnownTypes)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZ_EMPTYZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsJ          PK!q))1protobuf/__pycache__/message.cpython-36.opt-1.pycnu[3 h,@sLdZdZGdddeZGdddeZGdddeZGdd d eZd S) z6Contains an abstract base class for protocol messages.z#robinson@google.com (Will Robinson)c@s eZdZdS)ErrorN)__name__ __module__ __qualname__rr/usr/lib/python3.6/message.pyr'src@s eZdZdS) DecodeErrorN)rrrrrrrr(src@s eZdZdS) EncodeErrorN)rrrrrrrr)src@seZdZdZgZdZd7ddZddZddZd d Z d d Z d dZ ddZ ddZ ddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6ZdS)8MessageaUAbstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. TODO(robinson): Link to an HTML document here. TODO(robinson): Document that instances of this class will also have an Extensions attribute with __getitem__ and __setitem__. Again, not sure how to best convey this. TODO(robinson): Document that the class must also have a static RegisterExtension(extension_field) method. Not sure how to best express at this point. NcCst|}|j||S)N)type MergeFrom)selfmemoZclonerrr __deepcopy__Es  zMessage.__deepcopy__cCstdS)z9Recursively compares two messages by value and structure.N)NotImplementedError)r other_msgrrr__eq__JszMessage.__eq__cCs ||k S)Nr)r rrrr__ne__NszMessage.__ne__cCs tddS)Nzunhashable object) TypeError)r rrr__hash__RszMessage.__hash__cCstdS)z7Outputs a human-readable representation of the message.N)r)r rrr__str__UszMessage.__str__cCstdS)z7Outputs a human-readable representation of the message.N)r)r rrr __unicode__YszMessage.__unicode__cCstdS)aMerges the contents of the specified message into current message. This method merges the contents of the specified message into the current message. Singular fields that are set in the specified message overwrite the corresponding fields in the current message. Repeated fields are appended. Singular sub-messages and groups are recursively merged. Args: other_msg: Message to merge into the current message. N)r)r rrrrr ]s zMessage.MergeFromcCs"||kr dS|j|j|dS)zCopies the content of the specified message into the current message. The method clears the current message and then merges the specified message using MergeFrom. Args: other_msg: Message to copy into the current one. N)Clearr )r rrrrCopyFromjs zMessage.CopyFromcCstdS)z,Clears all data that was set in the message.N)r)r rrrrxsz Message.ClearcCstdS)aMark this as present in the parent. This normally happens automatically when you assign a field of a sub-message, but sometimes you want to make the sub-message present while keeping it empty. If you find yourself using this, you may want to reconsider your design.N)r)r rrr SetInParent|szMessage.SetInParentcCstdS)zChecks if the message is initialized. Returns: The method returns True if the message is initialized (i.e. all of its required fields are set). N)r)r rrr IsInitializedszMessage.IsInitializedcCstdS)aZMerges serialized protocol buffer data into this message. When we find a field in |serialized| that is already present in this message: - If it's a "repeated" field, we append to the end of our list. - Else, if it's a scalar, we overwrite our field. - Else, (it's a nonrepeated composite), we recursively merge into the existing composite. TODO(robinson): Document handling of unknown fields. Args: serialized: Any object that allows us to call buffer(serialized) to access a string of bytes using the buffer interface. TODO(robinson): When we switch to a helper, this will return None. Returns: The number of bytes read from |serialized|. For non-group messages, this will always be len(serialized), but for messages which are actually groups, this will generally be less than len(serialized), since we must stop when we reach an END_GROUP tag. Note that if we *do* stop because of an END_GROUP tag, the number of bytes returned does not include the bytes for the END_GROUP tag information. N)r)r serializedrrrMergeFromStringszMessage.MergeFromStringcCs|j|j|dS)zParse serialized protocol buffer data into this message. Like MergeFromString(), except we clear the object first and do not return the value that MergeFromString returns. N)rr)r rrrrParseFromStringszMessage.ParseFromStringcKstdS)aSerializes the protocol message to a binary string. Arguments: **kwargs: Keyword arguments to the serialize method, accepts the following keyword args: deterministic: If true, requests deterministic serialization of the protobuf, with predictable ordering of map keys. Returns: A binary string representation of the message if all of the required fields in the message are set (i.e. the message is initialized). Raises: message.EncodeError if the message isn't initialized. N)r)r kwargsrrrSerializeToStringszMessage.SerializeToStringcKstdS)aSerializes the protocol message to a binary string. This method is similar to SerializeToString but doesn't check if the message is initialized. Arguments: **kwargs: Keyword arguments to the serialize method, accepts the following keyword args: deterministic: If true, requests deterministic serialization of the protobuf, with predictable ordering of map keys. Returns: A string representation of the partial message. N)r)r rrrrSerializePartialToStringsz Message.SerializePartialToStringcCstdS)aReturns a list of (FieldDescriptor, value) tuples for all fields in the message which are not empty. A message field is non-empty if HasField() would return true. A singular primitive field is non-empty if HasField() would return true in proto2 or it is non zero in proto3. A repeated field is non-empty if it contains at least one element. The fields are ordered by field numberN)r)r rrr ListFieldsszMessage.ListFieldscCstdS)zChecks if a certain field is set for the message, or if any field inside a oneof group is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.N)r)r field_namerrrHasFieldszMessage.HasFieldcCstdS)zClears the contents of a given field, or the field set inside a oneof group. If the name neither refers to a defined field or oneof group, ValueError is raised.N)r)r r"rrr ClearFieldszMessage.ClearFieldcCstdS)zReturns the name of the field that is set inside a oneof group, or None if no field is set. If no group with the given name exists, ValueError will be raised.N)r)r Z oneof_grouprrr WhichOneofszMessage.WhichOneofcCstdS)N)r)r extension_handlerrr HasExtension szMessage.HasExtensioncCstdS)N)r)r r&rrrClearExtension szMessage.ClearExtensioncCstdS)N)r)r rrrDiscardUnknownFieldsszMessage.DiscardUnknownFieldscCstdS)zmReturns the serialized size of this message. Recursively calls ByteSize() on all contained messages. N)r)r rrrByteSizeszMessage.ByteSizecCstdS)a6Internal method used by the protocol message implementation. Clients should not call this directly. Sets a listener that this message will call on certain state transitions. The purpose of this method is to register back-edges from children to parents at runtime, for the purpose of setting "has" bits and byte-size-dirty bits in the parent and ancestor objects whenever a child or descendant object is modified. If the client wants to disconnect this Message from the object tree, she explicitly sets callback to None. If message_listener is None, unregisters any existing listener. Otherwise, message_listener must implement the MessageListener interface in internal/message_listener.py, and we discard any listener registered via a previous _SetListener() call. N)r)r Zmessage_listenerrrr _SetListenerszMessage._SetListenercCst|jdS)zSupport the pickle protocol.)r)dictr )r rrr __getstate__-szMessage.__getstate__cCs|j|j|ddS)zSupport the pickle protocol.rN)__init__r)r staterrr __setstate__1szMessage.__setstate__)N) rrr__doc__ __slots__Z DESCRIPTORrrrrrrr rrrrrrrr r!r#r$r%r'r(r)r*r+r-r0rrrrr ,s:    ! r N)r1 __author__ Exceptionrrrobjectr rrrr#s PK!J .protobuf/__pycache__/reflection.cpython-36.pycnu[3 h@sddZdZddlmZddlmZejdkr:ddlmZ n ddlm Z e j Z iZ dd Z d d Zd S) a Contains a metaclass and helper functions used to create protocol message classes from Descriptor objects at runtime. Recall that a metaclass is the "type" of a class. (A class is to a metaclass what an instance is to a class.) In this case, we use the GeneratedProtocolMessageType metaclass to inject all the useful functionality into the classes output by the protocol compiler at compile-time. The upshot of all this is that the real implementation details for ALL pure-Python protocol buffers are *here in this file*. z#robinson@google.com (Will Robinson))api_implementation)messageZcpp) cpp_message)python_messagecCst|}|}|j||S)zGenerate a new Message instance from this Descriptor and a byte string. Args: descriptor: Protobuf Descriptor object byte_str: Serialized protocol buffer byte string Returns: Newly created protobuf Message object. ) MakeClassZParseFromString) descriptorZbyte_strZ result_classZnew_msgr /usr/lib/python3.6/reflection.py ParseMessageCs  r cCsh|tkrt|Si}x&t|jjD]\}}t|||<q$W||tj<tt|jt j f|}|t|<|S)aConstruct a class object for a protobuf described by descriptor. Composite descriptors are handled by defining the new class as a member of the parent class, recursing as deep as necessary. This is the dynamic equivalent to: class Parent(message.Message): __metaclass__ = GeneratedProtocolMessageType DESCRIPTOR = descriptor class Child(message.Message): __metaclass__ = GeneratedProtocolMessageType DESCRIPTOR = descriptor.nested_types[0] Sample usage: file_descriptor = descriptor_pb2.FileDescriptorProto() file_descriptor.ParseFromString(proto2_string) msg_descriptor = descriptor.MakeDescriptor(file_descriptor.message_type[0]) msg_class = reflection.MakeClass(msg_descriptor) msg = msg_class() Args: descriptor: A descriptor.Descriptor object describing the protobuf. Returns: The Message class object described by the descriptor. ) MESSAGE_CLASS_CACHElistZnested_types_by_nameitemsrGeneratedProtocolMessageTypeZ_DESCRIPTOR_KEYstrnamerZMessage)rZ attributesrZ nested_typeresultrrr rSs rN)__doc__ __author__Zgoogle.protobuf.internalrZgoogle.protobufrZTypeZgoogle.protobuf.pyextrZ message_implrrr r rrrrr .s    PK!x;I;I;protobuf/__pycache__/map_proto2_unittest_pb2.cpython-36.pycnu[3 hY+@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZy ejZWnek rejjjZYnXejd ddedejgdZejdddeejddddddejddddddejddddddgddddd ZejeejeZejdddeejddddddejd dddddejd!dddddejd"dddddgddd#d$d Z eje eje Z!dZ"dZ#dZ$dZ%dZ&dZ'dZ(ej)d%d&dedej*d'd(ddd)ddd*ddddd*dded+ej*d,d-ddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggd1d2d3Z-ej)d4d5dedej*d'd6ddd)ddd*ddddd*dded+ej*d,d7ddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggd8d9d3Z.ej)d:d;dedej*dd?d@dd*gdddd*dded+ej*dAdBddCd?d@dd*gdddd*dded+gge-e.ggdd*dggdDd9d3Z/ej)d%dEdedej*d'dFddd)ddd*ddddd*dded+ej*d,dGddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggdHdId3Z0ej)d4dJdedej*d'dKddd)ddd*ddddd*dded+ej*d,dLddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggdMdNd3Z1ej)dOdPdedej*dd?d@dd*gdddd*dded+ej*dAdRddCd?d@dd*gdddd*dded+gge0e1ggdd*dggdSdNd3Z2ej)dTdUdedej*d'dVddd)ddd*ddddd*dded+ej*d,dWddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggdXdYd3Z3ej)dZd[dedej*d\d]ddd?d@dd*gdddd*dded+gge3ggdd*dggd^dYd3Z4ej)d_d`dedej*d'daddd)ddd*ddddd*dded+ej*d,dbddd)ddd*ddddd*dded+ggggej+ej,ed0d*dggdcddd3Z5ej)dedfdedej*dgdhddd?d@dd*gdddd*dded+gge5ggdd*dggdiddd3Z6ej)djdkdedej*d'dlddd)ddd*ddddd*dded+ej*d,dmddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggdndod3Z7ej)dpdqdedej*d'drdddddd*ddddd*dded+ej*d,dsddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggdtdud3Z8ej)dvdwdedej*d'dxdddyddd*ddddd*dded+ej*d,dzddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggd{d|d3Z9ej)d}d~dedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Z:ej)dddedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Z;ej)dddedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Zej)dddedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Z?ej)dddedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Z@ej)dddedej*d'dddd/ddd*d*dddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3ZAej)dddedej*d'ddddddd*edjBddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3ZCej)dddedej*ddddd?d@dd*gdddd*dded+ej*ddddd?d@dd*gdddd*dded+ej*ddddd?d@dd*gdddd*dded+ej*ddddd?d@dd*gdddd*dded+ej*dddd)d?d@dd*gdddd*dded+ej*ddd)dd?d@dd*gdddd*dded+ej*ddddd?d@dd*gdddd*dded+ej*dddd/d?d@dd*gdddd*dded+ej*ddd/dd?d@dd*gdddd*dded+ej*dddd@d?d@dd*gdddd*dded+ej*ddd@d?d?d@dd*gdddd*dded+ej*ddd?dd?d@dd*gdddd*dded+g ge7e8e9e:e;ee?e@eAeCg gdd*dggddd3ZDej)dddedej*dgdddd?d@dd*ddddd*dded+ggggdd*dggddd3ZEee-jFd,_Ge/e-_Hee.jFd,_Ge/e._He-e/jFd<_Ie.e/jFdA_Ie e0jFd,_Ge2e0_He e1jFd,_Ge2e1_He0e2jFd<_Ie1e2jFdA_IejJe3jFd,_Ge4e3_He3e4jFd\_Ie6e5_He5e6jFdg_Ie6e7jFd,_IeDe7_He6e8jFd,_IeDe8_He6e9jFd,_IeDe9_He6e:jFd,_IeDe:_He6e;jFd,_IeDe;_He6ejFd,_IeDe>_He6e?jFd,_IeDe?_He6e@jFd,_IeDe@_He6eAjFd,_IeDeA_He6eCjFd,_IeDeC_He7eDjFd_Ie8eDjFd_Ie9eDjFd_Ie:eDjFd_Ie;eDjFd_IeeDjFd_Ie?eDjFd_Ie@eDjFd_IeAeDjFd_IeCeDjFd_IeDeEjFdg_Ie/ejKd:<e2ejKdO<e4ejKdZ<e6ejKde<eDejKd<eEejKd<eejLd<e ejLd<ejMee jNd:e jOfePe jNd%e jOfePe-ddߍe jNd4e jOfePe.ddߍe/ddZQejReQejReQjSejReQjTe jNdOe jOfePe jNd%e jOfePe0ddߍe jNd4e jOfePe1ddߍe2ddZUejReUejReUjSejReUjTe jNdZe jOfePe jNdTe jOfePe3ddߍe4ddZVejReVejReVjWe jNdee jOfePe jNd_e jOfePe5ddߍe6ddZXejReXejReXjYe jNde jOfePe jNdje jOfePe7ddߍe jNdpe jOfePe8ddߍe jNdve jOfePe9ddߍe jNd}e jOfePe:ddߍe jNde jOfePe;ddߍe jNde jOfePeddߍe jNde jOfePe?ddߍe jNde jOfePe@ddߍe jNde jOfePeAddߍe jNde jOfePeCddߍeDddZZejReZejReZj[ejReZj\ejReZj]ejReZj^ejReZj_ejReZj`ejReZjaejReZjbejReZjcejReZjdejReZjeejReZjfe jNde jOfePeEddߍZgejRegde_hej+ejiede_jde-_hej+ej,ed0e-_jde._hej+ej,ed0e._jde0_hej+ej,ed0e0_jde1_hej+ej,ed0e1_jde3_hej+ej,ed0e3_jde5_hej+ej,ed0e5_jde7_hej+ej,ed0e7_jde8_hej+ej,ed0e8_jde9_hej+ej,ed0e9_jde:_hej+ej,ed0e:_jde;_hej+ej,ed0e;_jde<_hej+ej,ed0e<_jde=_hej+ej,ed0e=_jde>_hej+ej,ed0e>_jde?_hej+ej,ed0e?_jde@_hej+ej,ed0e@_jdeA_hej+ej,ed0eA_jdeC_hej+ej,ed0eC_jdS)NcCs|S)N)xrr-/usr/lib/python3.6/map_proto2_unittest_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_import_pb2z)google/protobuf/map_proto2_unittest.protoZprotobuf_unittestZproto2up )google/protobuf/map_proto2_unittest.protoprotobuf_unittest%google/protobuf/unittest_import.proto"Û TestEnumMapJ known_map_fielde ( 21.protobuf_unittest.TestEnumMap.KnownMapFieldEntryN unknown_map_fieldf ( 23.protobuf_unittest.TestEnumMap.UnknownMapFieldEntryV KnownMapFieldEntry key (/ value (2 .protobuf_unittest.Proto2MapEnum:8X UnknownMapFieldEntry key (/ value (2 .protobuf_unittest.Proto2MapEnum:8"ˆ TestEnumMapPlusExtraS known_map_fielde ( 2:.protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntryW unknown_map_fieldf ( 2<.protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry_ KnownMapFieldEntry key (8 value (2).protobuf_unittest.Proto2MapEnumPlusExtra:8a UnknownMapFieldEntry key (8 value (2).protobuf_unittest.Proto2MapEnumPlusExtra:8"Ç TestImportEnumMapP import_enum_amp ( 27.protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry` ImportEnumAmpEntry key (9 value (2*.protobuf_unittest_import.ImportEnumForMap:8"m TestIntIntMap2 m ( 2'.protobuf_unittest.TestIntIntMap.MEntry( MEntry key ( value (:8"¸ TestMaps8 m_int32 ( 2'.protobuf_unittest.TestMaps.MInt32Entry8 m_int64 ( 2'.protobuf_unittest.TestMaps.MInt64Entry: m_uint32 ( 2(.protobuf_unittest.TestMaps.MUint32Entry: m_uint64 ( 2(.protobuf_unittest.TestMaps.MUint64Entry: m_sint32 ( 2(.protobuf_unittest.TestMaps.MSint32Entry: m_sint64 ( 2(.protobuf_unittest.TestMaps.MSint64Entry< m_fixed32 ( 2).protobuf_unittest.TestMaps.MFixed32Entry< m_fixed64 ( 2).protobuf_unittest.TestMaps.MFixed64Entry> m_sfixed32 ( 2*.protobuf_unittest.TestMaps.MSfixed32Entry> m_sfixed64 ( 2*.protobuf_unittest.TestMaps.MSfixed64Entry6 m_bool ( 2&.protobuf_unittest.TestMaps.MBoolEntry: m_string ( 2(.protobuf_unittest.TestMaps.MStringEntryO MInt32Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8O MInt64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8P MUint32Entry key ( / value ( 2 .protobuf_unittest.TestIntIntMap:8P MUint64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8P MSint32Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8P MSint64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8Q MFixed32Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8Q MFixed64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8R MSfixed32Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8R MSfixed64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8N MBoolEntry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8P MStringEntry key ( / value ( 2 .protobuf_unittest.TestIntIntMap:8"< TestSubmessageMaps& m ( 2.protobuf_unittest.TestMaps*Z Proto2MapEnum PROTO2_MAP_ENUM_FOO PROTO2_MAP_ENUM_BAR PROTO2_MAP_ENUM_BAZ*† Proto2MapEnumPlusExtra E_PROTO2_MAP_ENUM_FOO E_PROTO2_MAP_ENUM_BAR E_PROTO2_MAP_ENUM_BAZ E_PROTO2_MAP_ENUM_EXTRABø)namepackagesyntaxZ serialized_pbZ dependencies Proto2MapEnumzprotobuf_unittest.Proto2MapEnumPROTO2_MAP_ENUM_FOO)rindexnumberoptionstypePROTO2_MAP_ENUM_BARPROTO2_MAP_ENUM_BAZi i ) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endProto2MapEnumPlusExtraz(protobuf_unittest.Proto2MapEnumPlusExtraE_PROTO2_MAP_ENUM_FOOE_PROTO2_MAP_ENUM_BARE_PROTO2_MAP_ENUM_BAZE_PROTO2_MAP_ENUM_EXTRAi ie KnownMapFieldEntryz0protobuf_unittest.TestEnumMap.KnownMapFieldEntrykeyz4protobuf_unittest.TestEnumMap.KnownMapFieldEntry.keyF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer!Z is_extensionZextension_scoperrvaluez6protobuf_unittest.TestEnumMap.KnownMapFieldEntry.valuez8iii)rrrrr!Zfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr"r#UnknownMapFieldEntryz2protobuf_unittest.TestEnumMap.UnknownMapFieldEntryz6protobuf_unittest.TestEnumMap.UnknownMapFieldEntry.keyz8protobuf_unittest.TestEnumMap.UnknownMapFieldEntry.valueiki TestEnumMapzprotobuf_unittest.TestEnumMapZknown_map_fieldz-protobuf_unittest.TestEnumMap.known_map_fielde Zunknown_map_fieldz/protobuf_unittest.TestEnumMap.unknown_map_fieldfhz9protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntryz=protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry.keyz?protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry.valueiiz;protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntryz?protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry.keyzAprotobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry.valueiiNTestEnumMapPlusExtraz&protobuf_unittest.TestEnumMapPlusExtraz6protobuf_unittest.TestEnumMapPlusExtra.known_map_fieldz8protobuf_unittest.TestEnumMapPlusExtra.unknown_map_fieldiImportEnumAmpEntryz6protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntryz:protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry.keyzs$                                                                                                               PK! &z.protobuf/__pycache__/struct_pb2.cpython-36.pycnu[3 h*@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZejd d deddZejdddeejddddddgddddd ZejeejeZdZejdddedejddddddddedjd dddddded!ejd"d#dd$d%d&ddddddddded!ggggejejed'ddggd(d)d*Zejd+d,dedejd-d.ddd%d&ddgdddddded!ggeggdddggd/d)d*Z ejd0d1dedejd2d3ddd4d5ddddddddded!ejd6d7dd$dd8dde!ddddddded!ejd9d:d$dddddedjd dddddded!ejd;dddddddddded!ejd?d@d=d8d%d&ddddddddded!ejdAdBd8dCd%d&ddddddddded!ggggdddgej"dDdEddgdFgdGdHd*Z#ejdIdJdedejdKdLddd%d&ddgdddddded!ggggdddggdMdNd*Z$e#ej%d"_&e e_'ee j%d-_&ee#j%d2_(e e#j%d?_&e$e#j%dA_&e#j)dDj*j+e#j%d2e#j)dDe#j%d2_,e#j)dDj*j+e#j%d6e#j)dDe#j%d6_,e#j)dDj*j+e#j%d9e#j)dDe#j%d9_,e#j)dDj*j+e#j%d;e#j)dDe#j%d;_,e#j)dDj*j+e#j%d?e#j)dDe#j%d?_,e#j)dDj*j+e#j%dAe#j)dDe#j%dA_,e#e$j%dK_&e ej-d+<e#ej-d0<e$ej-dI<eej.d<ej/ee j0d+e j1fe2e j0de j1fe2edOdPe dOdQZ3ej4e3ej4e3j5e j0d0e j1fe2e#dOdPZ6ej4e6e j0dIe j1fe2e$dOdPZ7ej4e7dRe_8ejej9edSe_:dRe_8ejejed'e_:dS)TNcCs|S)N)xrr /usr/lib/python3.6/struct_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/struct.protozgoogle.protobufZproto3u google/protobuf/struct.protogoogle.protobuf"„ Struct3 fields ( 2#.google.protobuf.Struct.FieldsEntryE FieldsEntry key ( % value ( 2.google.protobuf.Value:8"ê Value0 null_value (2.google.protobuf.NullValueH number_value (H string_value ( H bool_value (H/ struct_value ( 2.google.protobuf.StructH0 list_value ( 2.google.protobuf.ListValueHB kind"3 ListValue& values ( 2.google.protobuf.Value* NullValue NULL_VALUEB com.google.protobufB StructProtoPZ1github.com/golang/protobuf/ptypes/struct;structpbø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb NullValuezgoogle.protobuf.NullValue NULL_VALUE)rindexnumberoptionstypeii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_end FieldsEntryz"google.protobuf.Struct.FieldsEntrykeyz&google.protobuf.Struct.FieldsEntry.key Fzutf-8)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrvaluez(google.protobuf.Struct.FieldsEntry.value z8q)rrrrrfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrrStructzgoogle.protobuf.Structr,zgoogle.protobuf.Struct.fields2Valuezgoogle.protobuf.ValueZ null_valuez google.protobuf.Value.null_valueZ number_valuez"google.protobuf.Value.number_valueZ string_valuez"google.protobuf.Value.string_valueZ bool_valuez google.protobuf.Value.bool_valueZ struct_valuez"google.protobuf.Value.struct_valueZ list_valuez google.protobuf.Value.list_valueZkindzgoogle.protobuf.Value.kind)rrrrr,i ListValuezgoogle.protobuf.ListValuerz google.protobuf.ListValue.valuesiizgoogle.protobuf.struct_pb2) DESCRIPTOR __module__)rr9r:Tu com.google.protobufB StructProtoPZ1github.com/golang/protobuf/ptypes/struct;structpbø¢GPBªGoogle.Protobuf.WellKnownTypes);sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbZFileDescriptorr9ZEnumDescriptorZEnumValueDescriptorZ _NULLVALUEZRegisterEnumDescriptorZEnumTypeWrapperrrZ DescriptorZFieldDescriptordecodeZ _ParseOptionsZMessageOptionsZ_STRUCT_FIELDSENTRYZ_STRUCTfloatZOneofDescriptorZ_VALUEZ _LISTVALUEZfields_by_namer$rr%Zoneofs_by_namer,appendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr.ZRegisterMessagerr0r8Z has_optionsZ FileOptionsZ_optionsrrrrs                                            PK!Zl&oo=protobuf/__pycache__/descriptor_database.cpython-36.opt-1.pycnu[3 h,@sDdZdZGdddeZGdddeZGdddeZdd Zd S) z*Provides a container for DescriptorProtos.z"matthewtoia@google.com (Matt Toia)c@s eZdZdS)ErrorN)__name__ __module__ __qualname__rr)/usr/lib/python3.6/descriptor_database.pyr$src@seZdZdZdS),DescriptorDatabaseConflictingDefinitionErrorzGRaised when a proto is added with the same name & different descriptor.N)rrr__doc__rrrrr(src@s0eZdZdZddZddZddZdd Zd S) DescriptorDatabasezEA container accepting FileDescriptorProtos and maps DescriptorProtos.cCsi|_i|_dS)N)_file_desc_protos_by_file_file_desc_protos_by_symbol)selfrrr__init__/szDescriptorDatabase.__init__csj}||jkr|j|<n|j|kr6td|j}x.jD]$}|jjfddt||DqDWx$jD]}|jdj ||jf<qtWx$j D]}|jdj ||jf<qWx$j D]}|jdj ||jf<qWdS)aMAdds the FileDescriptorProto and its types to this database. Args: file_desc_proto: The FileDescriptorProto to add. Raises: DescriptorDatabaseConflictingDefinitionError: if an attempt is made to add a proto with the same name but different definition than an exisiting proto in the database. z0%s already added, but with different descriptor.c3s|]}|fVqdS)Nr).0name)file_desc_protorr Hsz)DescriptorDatabase.Add...N) rr rpackageZ message_typer update_ExtractSymbols enum_typejoin extensionservice)r rZ proto_namermessageenumrrr)rrAdd3s        zDescriptorDatabase.AddcCs |j|S)aFinds the file descriptor proto by file name. Typically the file name is a relative path ending to a .proto file. The proto with the given name will have to have been added to this database using the Add method or else an error will be raised. Args: name: The file name to find. Returns: The file descriptor proto matching the name. Raises: KeyError if no file by the given name was added. )r )r rrrrFindFileByNameSsz!DescriptorDatabase.FindFileByNamec Cs:y |j|Stk r4|jd\}}}|j|SXdS)aFinds the file descriptor proto containing the specified symbol. The symbol should be a fully qualified name including the file descriptor's package and any containing messages. Some examples: 'some.package.name.Message' 'some.package.name.Message.NestedEnum' 'some.package.name.Message.some_field' The file descriptor proto containing the specified symbol must be added to this database using the Add method or else an error will be raised. Args: symbol: The fully qualified symbol name. Returns: The file descriptor proto containing the symbol. Raises: KeyError if no file contains the specified symbol. rN)r KeyError rpartition)r symbolZ top_level_rrrFindFileContainingSymbolfs  z+DescriptorDatabase.FindFileContainingSymbolN)rrrrr rrr"rrrrr ,s  r ccsn|r|d|jn|j}|Vx(|jD]}xt||D] }|Vq6Wq&Wx |jD]}dj||jfVqPWdS)zPulls out all the symbols from a descriptor proto. Args: desc_proto: The proto to extract symbols from. package: The package containing the descriptor type. Yields: The fully qualified name found in the descriptor. rN)r nested_typerrr)Z desc_protorZ message_namer#r rrrrrs   rN)r __author__ Exceptionrrobjectr rrrrrs \PK!S+}}4protobuf/__pycache__/descriptor.cpython-36.opt-1.pycnu[3 h@sbdZdZddlZddlmZdZejdkrTddlZddlZddl m Z e e ddZGd d d e Z Gd d d e ZerGd ddeZneZGdddejeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZGd!d"d"eZd#d$Zd%d&Zd'd(Zd)d*Zd/d-d.Z dS)0zDescriptors essentially contain exactly the information found in a .proto file, in types that make this information accessible in Python. z#robinson@google.com (Will Robinson)N)api_implementationFcpp)_message_USE_C_DESCRIPTORSc@seZdZdZdS)ErrorzBase error for this module.N)__name__ __module__ __qualname____doc__r r /usr/lib/python3.6/descriptor.pyr2src@seZdZdZdS)TypeTransformationErrorzHError transforming between python proto type and corresponding C++ type.N)rrr r r r r r r 6sr cseZdZfddZZS)DescriptorMetaclasscs(tt|j|rdSt||jr$dSdS)NTF)superr__instancecheck__ isinstance_C_DESCRIPTOR_CLASS)clsobj) __class__r r r@s  z%DescriptorMetaclass.__instancecheck__)rrr r __classcell__r r )rr r?src@s0eZdZdZerfZddZddZddZdS) DescriptorBaseaDescriptors base class. This class is the base of all descriptor classes. It provides common options related functionality. Attributes: has_options: True if the descriptor has non-default options. Usually it is not necessary to read this -- just call GetOptions() which will happily return the default instance. However, it's sometimes useful for efficiency, and also useful inside the protobuf implementation to avoid some bootstrapping issues. cCs||_||_|dk |_dS)zInitialize the descriptor given its options message and the name of the class of the options message. The name of the class is required in case the options message is None and has to be created. N)_options_options_class_name has_options)selfoptionsoptions_class_namer r r __init___szDescriptorBase.__init__cCs||_||_|dk |_dS)zSets the descriptor's options This function is used in generated proto2 files to update descriptor options. It must not be used outside proto2. N)rrr)rrrr r r _SetOptionsjszDescriptorBase._SetOptionsc CsZ|jr |jSddlm}yt||j}Wn"tk rJtd|jYnX||_|jS)zRetrieves descriptor options. This method returns the options set or creates the default options for the descriptor. r)descriptor_pb2zUnknown options class name %s!)rgoogle.protobufr getattrrAttributeError RuntimeError)rr Z options_classr r r GetOptionsvs zDescriptorBase.GetOptionsN) rrr r rrrrr%r r r r rKs    rcs*eZdZdZdfdd ZddZZS)_NestedDescriptorBasez0Common class for descriptors that can be nested.Nc s:tt|j||||_||_||_||_||_||_dS)aCConstructor. Args: options: Protocol message options or None to use default message options. options_class_name: (str) The class name of the above options. name: (str) Name of this protocol message type. full_name: (str) Fully-qualified name of this protocol message type, which will include protocol "package" name and the name of any enclosing types. file: (FileDescriptor) Reference to file info. containing_type: if provided, this is a nested descriptor, with this descriptor as parent, otherwise None. serialized_start: The start index (inclusive) in block in the file.serialized_pb that describes this descriptor. serialized_end: The end index (exclusive) in block in the file.serialized_pb that describes this descriptor. N) rr&rname full_namefilecontaining_type_serialized_start_serialized_end) rrrr'r(r)r*serialized_startserialized_end)rr r rs z_NestedDescriptorBase.__init__cCsF|jdk r:|jdk r:|jdk r:|j|jj|j|jntddS)zCopies this to the matching proto in descriptor_pb2. Args: proto: An empty proto instance from descriptor_pb2. Raises: Error: If self couldnt be serialized, due to to few constructor arguments. Nz*Descriptor does not contain serialization.)r)r+r,ParseFromString serialized_pbr)rprotor r r CopyToProtos    z!_NestedDescriptorBase.CopyToProto)NN)rrr r rr2rr r )rr r&s!r&csVeZdZdZer ejZdddZdfdd Z e dd Z d d Z fd d Z ZS) Descriptorai Descriptor for a protocol message type. A Descriptor instance has the following attributes: name: (str) Name of this protocol message type. full_name: (str) Fully-qualified name of this protocol message type, which will include protocol "package" name and the name of any enclosing types. containing_type: (Descriptor) Reference to the descriptor of the type containing us, or None if this is top-level. fields: (list of FieldDescriptors) Field descriptors for all fields in this type. fields_by_number: (dict int -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "number" attribute in each FieldDescriptor. fields_by_name: (dict str -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "name" attribute in each FieldDescriptor. fields_by_camelcase_name: (dict str -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "camelcase_name" attribute in each FieldDescriptor. nested_types: (list of Descriptors) Descriptor references for all protocol message types nested within this one. nested_types_by_name: (dict str -> Descriptor) Same Descriptor objects as in |nested_types|, but indexed by "name" attribute in each Descriptor. enum_types: (list of EnumDescriptors) EnumDescriptor references for all enums contained within this type. enum_types_by_name: (dict str ->EnumDescriptor) Same EnumDescriptor objects as in |enum_types|, but indexed by "name" attribute in each EnumDescriptor. enum_values_by_name: (dict str -> EnumValueDescriptor) Dict mapping from enum value name to EnumValueDescriptor for that value. extensions: (list of FieldDescriptor) All extensions defined directly within this message type (NOT within a nested type). extensions_by_name: (dict, string -> FieldDescriptor) Same FieldDescriptor objects as |extensions|, but indexed by "name" attribute of each FieldDescriptor. is_extendable: Does this type define any extension ranges? oneofs: (list of OneofDescriptor) The list of descriptors for oneof fields in this message. oneofs_by_name: (dict str -> OneofDescriptor) Same objects as in |oneofs|, but indexed by "name" attribute. file: (FileDescriptor) Reference to file descriptor. NTcCstjjtjj|S)N)rMessage_CheckCalledFromGeneratedFile default_poolZFindMessageTypeByName)rr'r(filenamer*fields nested_types enum_types extensionsr is_extendableextension_rangesoneofsr)r-r.syntaxr r r __new__s zDescriptor.__new__c sjtt|j| d||| |||d||_x|jD] }||_q.Wtdd|D|_tdd|D|_d|_||_ x|D] }||_qvWtdd|D|_ ||_ x|j D] }||_qWtdd|D|_ td d|D|_ ||_x|jD] }||_qWtd d|D|_| |_| |_| dk r&| ng|_td d|jD|_x|jD] }||_qJW|pbd |_dS) zArguments to __init__() are as described in the description of Descriptor fields above. Note that filename is an obsolete argument, that is not used anymore. Please use file.name to access this as an attribute. ZMessageOptions)r-r.css|]}|j|fVqdS)N)number).0fr r r sz&Descriptor.__init__..css|]}|j|fVqdS)N)r')rBrCr r r rDsNcss|]}|j|fVqdS)N)r')rBtr r r rD%scss|]}|j|fVqdS)N)r')rBrEr r r rD*scss$|]}|jD]}|j|fVq qdS)N)valuesr')rBrEvr r r rD,scss|]}|j|fVqdS)N)r')rBrCr r r rD1scss|]}|j|fVqdS)N)r')rBor r r rD5sproto2)rr3rr8r*dictZfields_by_numberZfields_by_name_fields_by_camelcase_namer9Znested_types_by_namer:enum_types_by_nameZenum_values_by_namer;extension_scopeextensions_by_namer<r=r>Zoneofs_by_namer?)rr'r(r7r*r8r9r:r;rr<r=r>r)r-r.r?field nested_type enum_type extensionZoneof)rr r rs>            zDescriptor.__init__cCs&|jdkr tdd|jD|_|jS)Ncss|]}|j|fVqdS)N)camelcase_name)rBrCr r r rD>sz6Descriptor.fields_by_camelcase_name..)rKrJr8)rr r r fields_by_camelcase_name:s z#Descriptor.fields_by_camelcase_namecCs|j|j|jS)asReturns the string name of an enum value. This is just a small helper method to simplify a common operation. Args: enum: string name of the Enum. value: int, value of the enum. Returns: string name of the enum value. Raises: KeyError if either the Enum doesn't exist or the value is not a valid value for the enum. )rLvalues_by_numberr')renumvaluer r r EnumValueNameAszDescriptor.EnumValueNamecstt|j|dS)zvCopies this to a descriptor_pb2.DescriptorProto. Args: proto: An empty descriptor_pb2.DescriptorProto. N)rr3r2)rr1)rr r r2SszDescriptor.CopyToProto)NTNNNNNN)NTNNNNNN)rrr r rrr3rr@rpropertyrTrXr2rr r )rr r3s6 0 r3c$s0eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd Zd Z d Z!eeeeeeeeeeeeeee eeeeeeeeee eeee ee eee e e iZ"dZ#dZ$dZ%dZ&d"Z'dZ(dZ)e*re+j,Z-d#ddZ.d$fdd Z/e0ddZ1e2dd Z3Z4S)%FieldDescriptora Descriptor for a single field in a .proto file. A FieldDescriptor instance has the following attributes: name: (str) Name of this field, exactly as it appears in .proto. full_name: (str) Name of this field, including containing scope. This is particularly relevant for extensions. camelcase_name: (str) Camelcase name of this field. index: (int) Dense, 0-indexed index giving the order that this field textually appears within its message in the .proto file. number: (int) Tag number declared for this field in the .proto file. type: (One of the TYPE_* constants below) Declared type. cpp_type: (One of the CPPTYPE_* constants below) C++ type used to represent this field. label: (One of the LABEL_* constants below) Tells whether this field is optional, required, or repeated. has_default_value: (bool) True if this field has a default value defined, otherwise false. default_value: (Varies) Default value of this field. Only meaningful for non-repeated scalar fields. Repeated fields should always set this to [], and non-repeated composite fields should always set this to None. containing_type: (Descriptor) Descriptor of the protocol message type that contains this field. Set by the Descriptor constructor if we're passed into one. Somewhat confusingly, for extension fields, this is the descriptor of the EXTENDED message, not the descriptor of the message containing this field. (See is_extension and extension_scope below). message_type: (Descriptor) If a composite field, a descriptor of the message type contained in this field. Otherwise, this is None. enum_type: (EnumDescriptor) If this field contains an enum, a descriptor of that enum. Otherwise, this is None. is_extension: True iff this describes an extension field. extension_scope: (Descriptor) Only meaningful if is_extension is True. Gives the message that immediately contains this extension field. Will be None iff we're a top-level (file-level) extension field. options: (descriptor_pb2.FieldOptions) Protocol message field options or None to use default field options. containing_oneof: (OneofDescriptor) If the field is a member of a oneof union, contains its descriptor. Otherwise, None. file: (FileDescriptor) Reference to file descriptor.  i8JiNNTcCs*tjj| rtjj|Stjj|SdS)N)rr4r5r6FindExtensionByNameFindFieldByName)rr'r(indexrAtypecpp_typelabel default_value message_typerQr* is_extensionrMrhas_default_valuecontaining_oneof json_namer)r r r r@s  zFieldDescriptor.__new__cstt|j|d||_||_||_d|_|dkr>t||_n||_||_ ||_ ||_ ||_ ||_ ||_||_| |_| |_| |_| |_| |_||_tjdkr| rtjj||_qtjj||_nd|_dS)aThe arguments are as described in the description of FieldDescriptor attributes above. Note that containing_type may be None, and may be set later if necessary (to deal with circular references between message types, for example). Likewise for extension_scope. Z FieldOptionsNr)rrZrr'r(r)_camelcase_name _ToJsonNameryrprArqrrrsrwrtr*rurQrvrMrxrTyperr6rnZ _cdescriptorro)rr'r(rprArqrrrsrtrurQr*rvrMrrwrxryr))rr r rs4   zFieldDescriptor.__init__cCs|jdkrt|j|_|jS)N)rz _ToCamelCaser')rr r r rS!s  zFieldDescriptor.camelcase_namec Cs0y tj|Stk r*td|YnXdS)aConverts from a Python proto type to a C++ Proto Type. The Python ProtocolBuffer classes specify both the 'Python' datatype and the 'C++' datatype - and they're not the same. This helper method should translate from one to another. Args: proto_type: the Python proto type (descriptor.FieldDescriptor.TYPE_*) Returns: descriptor.FieldDescriptor.CPPTYPE_*, the C++ type. Raises: TypeTransformationError: when the Python proto type isn't known. zUnknown proto_type: %sN)rZ_PYTHON_TO_CPP_PROTO_TYPE_MAPKeyErrorr )Z proto_typer r r ProtoTypeToCppProtoType's z'FieldDescriptor.ProtoTypeToCppProtoTypei i)NTNNN)NTNNN)5rrr r Z TYPE_DOUBLEZ TYPE_FLOATZ TYPE_INT64Z TYPE_UINT64Z TYPE_INT32Z TYPE_FIXED64Z TYPE_FIXED32Z TYPE_BOOLZ TYPE_STRINGZ TYPE_GROUPZ TYPE_MESSAGEZ TYPE_BYTESZ TYPE_UINT32Z TYPE_ENUMZ TYPE_SFIXED32Z TYPE_SFIXED64Z TYPE_SINT32Z TYPE_SINT64ZMAX_TYPEZ CPPTYPE_INT32Z CPPTYPE_INT64ZCPPTYPE_UINT32ZCPPTYPE_UINT64ZCPPTYPE_DOUBLEZ CPPTYPE_FLOATZ CPPTYPE_BOOLZ CPPTYPE_ENUMZCPPTYPE_STRINGZCPPTYPE_MESSAGEZ MAX_CPPTYPEr~ZLABEL_OPTIONALZLABEL_REQUIREDZLABEL_REPEATEDZ MAX_LABELZMAX_FIELD_NUMBERZFIRST_RESERVED_FIELD_NUMBERZLAST_RESERVED_FIELD_NUMBERrrrZrr@rrYrS staticmethodrrr r )rr rZhs3 & rZcsBeZdZdZer ejZd ddZd fdd Z fddZ Z S) EnumDescriptoraDescriptor for an enum defined in a .proto file. An EnumDescriptor instance has the following attributes: name: (str) Name of the enum type. full_name: (str) Full name of the type, including package name and any enclosing type(s). values: (list of EnumValueDescriptors) List of the values in this enum. values_by_name: (dict str -> EnumValueDescriptor) Same as |values|, but indexed by the "name" field of each EnumValueDescriptor. values_by_number: (dict int -> EnumValueDescriptor) Same as |values|, but indexed by the "number" field of each EnumValueDescriptor. containing_type: (Descriptor) Descriptor of the immediate containing type of this enum, or None if this is an enum defined at the top level in a .proto file. Set by Descriptor's constructor if we're passed into one. file: (FileDescriptor) Reference to file descriptor. options: (descriptor_pb2.EnumOptions) Enum options message or None to use default enum options. Nc Cstjjtjj|S)N)rr4r5r6ZFindEnumTypeByName) rr'r(r7rFr*rr)r-r.r r r r@Xs zEnumDescriptor.__new__c shtt|j|d|||||| d||_x|jD] } || _q.Wtdd|D|_tdd|D|_dS)zArguments are as described in the attribute description above. Note that filename is an obsolete argument, that is not used anymore. Please use file.name to access this as an attribute. Z EnumOptions)r-r.css|]}|j|fVqdS)N)r')rBrGr r r rDnsz*EnumDescriptor.__init__..css|]}|j|fVqdS)N)rA)rBrGr r r rDosN)rrrrFrqrJZvalues_by_namerU) rr'r(r7rFr*rr)r-r.rW)rr r r^s    zEnumDescriptor.__init__cstt|j|dS)z~Copies this to a descriptor_pb2.EnumDescriptorProto. Args: proto: An empty descriptor_pb2.EnumDescriptorProto. N)rrr2)rr1)rr r r2qszEnumDescriptor.CopyToProto)NNNNN)NNNNN) rrr r rrrrr@rr2rr r )rr r<s rcs6eZdZdZer ejZdddZdfdd Z Z S) EnumValueDescriptora,Descriptor for a single value within an enum. name: (str) Name of this value. index: (int) Dense, 0-indexed index giving the order that this value appears textually within its enum in the .proto file. number: (int) Actual number assigned to this enum value. type: (EnumDescriptor) EnumDescriptor to which this value belongs. Set by EnumDescriptor's constructor if we're passed into one. options: (descriptor_pb2.EnumValueOptions) Enum value options message or None to use default enum value options options. NcCstjjdS)N)rr4r5)rr'rprArqrr r r r@s zEnumValueDescriptor.__new__cs.tt|j|d||_||_||_||_dS)z>Arguments are as described in the attribute description above.ZEnumValueOptionsN)rrrr'rprArq)rr'rprArqr)rr r rs zEnumValueDescriptor.__init__)NN)NN) rrr r rrrrr@rrr r )rr r{s   rcs6eZdZdZer ejZdddZdfdd Z Z S) OneofDescriptora Descriptor for a oneof field. name: (str) Name of the oneof field. full_name: (str) Full name of the oneof field, including package name. index: (int) 0-based index giving the order of the oneof field inside its containing type. containing_type: (Descriptor) Descriptor of the protocol message type that contains this field. Set by the Descriptor constructor if we're passed into one. fields: (list of FieldDescriptor) The list of field descriptors this oneof can contain. NcCstjjtjj|S)N)rr4r5r6ZFindOneofByName)rr'r(rpr*r8rr r r r@s zOneofDescriptor.__new__cs4tt|j|d||_||_||_||_||_dS)z>Arguments are as described in the attribute description above.Z OneofOptionsN)rrrr'r(rpr*r8)rr'r(rpr*r8r)rr r rs zOneofDescriptor.__init__)N)N) rrr r rrrrr@rrr r )rr rs   rcsJeZdZdZer ejZd ddZd fdd Z ddZ fd d Z Z S) ServiceDescriptoraDescriptor for a service. name: (str) Name of the service. full_name: (str) Full name of the service, including package name. index: (int) 0-indexed index giving the order that this services definition appears withing the .proto file. methods: (list of MethodDescriptor) List of methods provided by this service. methods_by_name: (dict str -> MethodDescriptor) Same MethodDescriptor objects as in |methods_by_name|, but indexed by "name" attribute in each MethodDescriptor. options: (descriptor_pb2.ServiceOptions) Service options message or None to use default service options. file: (FileDescriptor) Reference to file info. Nc Cstjjtjj|S)N)rr4r5r6ZFindServiceByName) rr'r(rpmethodsrr)r-r.r r r r@s zServiceDescriptor.__new__c sZtt|j|d|||d||d||_||_tdd|D|_x|jD] } || _qHWdS)NZServiceOptions)r-r.css|]}|j|fVqdS)N)r')rBmr r r rDsz-ServiceDescriptor.__init__..)rrrrprrJmethods_by_namecontaining_service) rr'r(rprrr)r-r.method)rr r rs   zServiceDescriptor.__init__cCs|jj|dS)z>Searches for the specified method, and returns its descriptor.N)rget)rr'r r r FindMethodByNamesz"ServiceDescriptor.FindMethodByNamecstt|j|dS)zCopies this to a descriptor_pb2.ServiceDescriptorProto. Args: proto: An empty descriptor_pb2.ServiceDescriptorProto. N)rrr2)rr1)rr r r2szServiceDescriptor.CopyToProto)NNNN)NNNN) rrr r rrrrr@rrr2rr r )rr rs  rcs6eZdZdZer ejZdddZdfdd Z Z S) MethodDescriptoraDescriptor for a method in a service. name: (str) Name of the method within the service. full_name: (str) Full name of method. index: (int) 0-indexed index of the method inside the service. containing_service: (ServiceDescriptor) The service that contains this method. input_type: The descriptor of the message that this method accepts. output_type: The descriptor of the message that this method returns. options: (descriptor_pb2.MethodOptions) Method options message or None to use default method options. NcCstjjtjj|S)N)rr4r5r6r)rr'r(rpr input_type output_typerr r r r@s zMethodDescriptor.__new__cs:tt|j|d||_||_||_||_||_||_dS)zThe arguments are as described in the description of MethodDescriptor attributes above. Note that containing_service may be None, and may be set later if necessary. Z MethodOptionsN) rrrr'r(rprrr)rr'r(rprrrr)rr r r szMethodDescriptor.__init__)N)N) rrr r rrrrr@rrr r )rr rs   rcsBeZdZdZer$ejZd fdd Zd fdd Z ddZ Z S) FileDescriptora;Descriptor for a file. Mimics the descriptor_pb2.FileDescriptorProto. Note that enum_types_by_name, extensions_by_name, and dependencies fields are only set by the message_factory module, and not by the generated proto code. name: name of file, relative to root of source tree. package: name of the package syntax: string indicating syntax of the file (can be "proto2" or "proto3") serialized_pb: (str) Byte string of serialized descriptor_pb2.FileDescriptorProto. dependencies: List of other FileDescriptors this FileDescriptor depends on. public_dependencies: A list of FileDescriptors, subset of the dependencies above, which were declared as "public". message_types_by_name: Dict of message names of their descriptors. enum_types_by_name: Dict of enum names and their descriptors. extensions_by_name: Dict of extension names and their descriptors. services_by_name: Dict of services names and their descriptors. pool: the DescriptorPool this descriptor belongs to. When not passed to the constructor, the global default pool is used. Nc s$|rtjj|Stt|j|SdS)N)rr6AddSerializedFilerrr@) rr'packagerr0 dependenciespublic_dependenciesr?pool)rr r r@5s zFileDescriptor.__new__c stt|j|d|dkr.ddlm} | j}||_i|_||_||_ |pLd|_ ||_ i|_ i|_ i|_|png|_|pxg|_tjdkr|j dk rtjj|j dS)z Constructor.Z FileOptionsNr)descriptor_poolrIr)rrrr!rZDefaultrmessage_types_by_namer'rr?r0rLrNZservices_by_namerrrr|rr6r) rr'rrr0rrr?rr)rr r rAs$      zFileDescriptor.__init__cCs|j|jdS)z~Copies this to a descriptor_pb2.FileDescriptorProto. Args: proto: An empty descriptor_pb2.FileDescriptorProto. N)r/r0)rr1r r r r2[szFileDescriptor.CopyToProto)NNNNNN)NNNNNN) rrr r rrrrr@rr2rr r )rr rs rcCs|j||S)zParses serialized options. This helper function is used to parse serialized options in generated proto2 files. It must not be used outside proto2. )r/)messagestringr r r _ParseOptionsds rcCsrd}g}x>|D]6}|dkr$|rDd}q|r<|j|jd}q||7}qW|rh|djrh|dj|d<dj|S)z+Converts name to camel-case and returns it.F_Tr)appendupperisupperlowerjoin)r'capitalize_nextresultcr r r r}ns  r}cCs|jdr|jSdSdS)zCReturns the value of the field `options`, or None if it is not set.rN)HasFieldr)Zdescriptor_protor r r _OptionsOrNones rcCsNd}g}x:|D]2}|dkr d}q|r8|j|jd}q||7}qWdj|S)z*Converts name to Json name and returns it.FrTr)rrr)r'rrrr r r r{s  r{rTcCsltjdkr|rddlm}|j}|jjj|tt j }|rht j j |jdd|d|_||_n |d|_tjj|tjj|j}tr|j|jS|jg}|r|jd|i} xH|jD]>} dj || jg} t| j| ddd t| jD} | | | <qWi} x@|jD]6}dj ||jg} t|dj |d |d }|| | <qWg}x|jD]}dj ||jg} d} d}|jr|j}nd}|j d r|j!}dj |||j"dd dg}|| kr| |}n|| kr| |} t#|j| |j$d |j$|j%t#j&|j%|j'd|| dd dt(|d |d}|j)|qTWdj |}t*|j|dd|t+| j,t+| j,gt(|d S)aMake a protobuf Descriptor given a DescriptorProto protobuf. Handles nested descriptors. Note that this is limited to the scope of defining a message inside of another message. Composite fields can currently only be resolved if the message is defined in the same scope as the field. Args: desc_proto: The descriptor_pb2.DescriptorProto protobuf message. package: Optional package name for the new message Descriptor (string). build_file_if_cpp: Update the C++ descriptor pool if api matches. Set to False on recursion, so no duplicates are created. syntax: The syntax/semantics that should be used. Set to "proto3" to get proto3 field presence semantics. Returns: A Descriptor for protobuf messages. rr)r ./z.protoNcSs g|]\}}t|j||jqSr )rr'rA)rBZiiZenum_valr r r sz"MakeDescriptor..F)rbuild_file_if_cppr? type_namer[)rrwry)r)-rr|r!r ZFileDescriptorProtoruaddZ MergeFromstruuidZuuid4ospathrreplacer'rrr6ZAddZFindFileByNamerrinsertrQr enumeraterWrPMakeDescriptorrOryrrrfindrZrArqrrsrrr3listrF)Z desc_protorrr?r Zfile_descriptor_protoZ proto_namerZfull_message_namer:Z enum_protor(Z enum_descr9Z nested_protoZ nested_descr8Z field_protoryrZfull_type_namerOZ desc_namer r r rsz                 r)rTN)!r __author__ZsixZgoogle.protobuf.internalrrr|rrZgoogle.protobuf.pyextrr" Exceptionrr rqrZwith_metaclassrr&r3rZrrrrrrrr}rr{rr r r r !s@     =8)U?#!5'I PK!yV\ǚǚBprotobuf/__pycache__/test_messages_proto2_pb2.cpython-36.opt-1.pycnu[3 h̤q@s+ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZejd d deddZejdddeejddddddejddddddejddddddgddddd ZejeejeZdZdZdZdZejdddddddd ddddd!dded"Zejd#d$deejd%dddddejd&dddddejd'dddddejd(dddddgddd)d*d Zejeej d+d,dedejd-d.dddddd ddddd dded"ejd/d0ddd1d2dd ddddd dded"ggggdd dggd3d4d5Z!ej d6d7dedejd8d9dddddd ddddd dded"ejd:d;dddddd ddddd dded"ggggej"ej#ed<d dggd=d>d5Z$ej d?d@dedejd8dAdddddd ddddd dded"ejd:dBdddddd ddddd dded"ggggej"ej#ed<d dggdCdDd5Z%ej dEdFdedejd8dGdddHddd ddddd dded"ejd:dIdddHddd ddddd dded"ggggej"ej#ed<d dggdJdKd5Z&ej dLdMdedejd8dNdddOdOdd ddddd dded"ejd:dPdddOdOdd ddddd dded"ggggej"ej#ed<d dggdQdRd5Z'ej dSdTdedejd8dUdddVddd ddddd dded"ejd:dWdddVddd ddddd dded"ggggej"ej#ed<d dggdXdYd5Z(ej dZd[dedejd8d\ddd]ddd ddddd dded"ejd:d^ddd]ddd ddddd dded"ggggej"ej#ed<d dggd_d`d5Z)ej dadbdedejd8dcddddddd ddddd dded"ejd:deddddddd ddddd dded"ggggej"ej#ed<d dggdfdgd5Z*ej dhdidedejd8djdddkdOdd ddddd dded"ejd:dldddkdOdd ddddd dded"ggggej"ej#ed<d dggdmdnd5Z+ej dodpdedejd8dqdddrddd ddddd dded"ejd:dsdddrddd ddddd dded"ggggej"ej#ed<d dggdtdud5Z,ej dvdwdedejd8dxdddyddd ddddd dded"ejd:dzdddyddd ddddd dded"ggggej"ej#ed<d dggd{d|d5Z-ej d}d~dedejd8ddddddd ddddd dded"ejd:dddddkdd e.ddddd dded"ggggej"ej#ed<d dggddd5Z/ej dddedejd8ddddddd ddddd dded"ejd:ddddddd e.ddddd dded"ggggej"ej#ed<d dggddd5Z0ej dddedejd8dddddddd d dddd dded"ejd:dddddddd d dddd dded"ggggej"ej#ed<d dggddd5Z1ej dddedejd8ddddddd edj2ddddd dded"ejd:ddddddd edj2ddddd dded"ggggej"ej#ed<d dggddd5Z3ej dddedejd8ddddddd edj2ddddd dded"ejd:ddddddd eddddd dded"ggggej"ej#ed<d dggddd5Z4ej dddedejd8ddddddd edj2ddddd dded"ejd:dddd1d2dd ddddd dded"ggggej"ej#ed<d dggddd5Z5ej dddedejd8ddddddd edj2ddddd dded"ejd:dddd1d2dd ddddd dded"ggggej"ej#ed<d dggddd5Z6ej dddedejd8ddddddd edj2ddddd dded"ejd:ddddddd ddddd dded"ggggej"ej#ed<d dggddd5Z7ej dddedejd8ddddddd edj2ddddd dded"ejd:ddddddd ddddd dded"ggggej"ej#ed<d dggddd5Z8ej dddedejdddddddd ddddd dded"ejdddddHddd ddddd dded"ggggdd dggddd5Z9ej dddedggggej"ej#edŃd!ddggddd5Z:ej dddedejdddddddd edj2ddddd dded"gejddddd1d2dd ddddd!dded"gggdd dggddd5Z;ej dddedejdddddddd ddddd dded"gejddddd1d2dd ddddd!dded"gggdd dggddd5Zdddd gdddd dded"ejd?d@d#dAdddd gdddd dded"ejdBdCd'dDd1d2dd gdddd dded"ejdEdFd+dGd1d2dd gdddd dded"ejdHdId/dJdddd gdddd dded"ejdKdLd2dMdddd gdddd dded"ejdNdOd5dPdddd gdddd dej"ej=ed ed"ejdQdRd8dSdddd gdddd dej"ej=edŃed"ejdTdUd;dVd1d2dd gdddd dded"ejdWdXd>dYd1d2dd gdddd dded"ejdZd[dAd\d1d2dd gdddd dded"ejd]d^d_d`d1d2dd gdddd dded"ejdadbdcddd1d2dd gdddd dded"ejdedfdDdgd1d2dd gdddd dded"ejdhdidGdjd1d2dd gdddd dded"ejdkdldmdnd1d2dd gdddd dded"ejdodpdJdqd1d2dd gdddd dded"ejdrdsdMdtd1d2dd gdddd dded"ejdudvdwdxd1d2dd gdddd dded"ejdydzdPd{d1d2dd gdddd dded"ejd|d}dSd~d1d2dd gdddd dded"ejdddVdd1d2dd gdddd dded"ejdddYdd1d2dd gdddd dded"ejddd\dd1d2dd gdddd dded"ejddd`dd1d2dd gdddd dded"ejdddddd1d2dd gdddd dded"ejdddgdd1d2dd gdddd dded"ejdddjddHddd ddddd dded"ejdddndd1d2dd ddddd dded"ejdddqddddd edj2ddddd dded"ejdddtddddd eddddd dded"ejdddxdddddd d dddd dded"ejddd{ddOdOdd ddddd dded"ejddd~dddkdd e.ddddd dded"ejdddddddd e.ddddd dded"ejdddddddd ddddd dded"ejddddd2d2dd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdĐdŐdƐddddd ddddd dded"ejdȐdɐdʐddddd ddddd dded"ejd̐d͐dΐddddd ddddd dded"ejdАdѐdҐddddd ddddd dded"ejdԐdՐd֐ddddd ddddd dded"ejdؐdِdڐddddd ddddd dded"ejdܐdݐdސddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"gZge!e$e%e&e'e(e)e*e+e,e-e/e0e1e3e4e5e6e7e8e9e:e;eddddgdgdƐdd5Z?ej dddedejdddddddd ddddd dded"ggggdd dggddd5Z@e?e!jAd/_Be?e!_Ce?e$_Ce?e%_Ce?e&_Ce?e'_Ce?e(_Ce?e)_Ce?e*_Ce?e+_Ce?e,_Ce?e-_Ce?e/_Ce?e0_Ce?e1_Ce?e3_Ce?e4_Ce!e5jAd:_Be?e5_Ce@e6jAd:_Be?e6_Cee7jAd:_De?e7_Cee8jAd:_De?e8_Ce?e9_Ce?e:_Ce?e;_Ce?e<_Ce!e?jAd_Be@e?jAd_Bee?jAd_Dee?jAd_De?e?jAd _Be!e?jAdB_Be@e?jAdE_Bee?jAdH_Dee?jAdK_De$e?jAdT_Be%e?jAdW_Be&e?jAdZ_Be'e?jAd]_Be(e?jAda_Be)e?jAde_Be*e?jAdh_Be+e?jAdk_Be,e?jAdo_Be-e?jAdr_Be/e?jAdu_Be0e?jAdy_Be1e?jAd|_Be3e?jAd_Be4e?jAd_Be5e?jAd_Be6e?jAd_Be7e?jAd_Be8e?jAd_Be!e?jAd_Bee?jAd_De9e?jAd_Be?e_Ce?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?ejId<e@ejId<eejJd<eejKd<ejLee jMde jNfeOe jMd+e jNfeOe!dde jMd6e jNfeOe$dde jMd?e jNfeOe%dde jMdEe jNfeOe&dde jMdLe jNfeOe'dde jMdSe jNfeOe(dde jMdZe jNfeOe)dde jMdae jNfeOe*dde jMdhe jNfeOe+dde jMdoe jNfeOe,dde jMdve jNfeOe-dde jMd}e jNfeOe/dde jMde jNfeOe0dde jMde jNfeOe1dde jMde jNfeOe3dde jMde jNfeOe4dde jMde jNfeOe5dde jMde jNfeOe6dde jMde jNfeOe7dde jMde jNfeOe8dde jMde jNfeOe9dde jMde jNfeOe:dde jMde jNfeOe;dde jMde jNfeOe<dde?ddZPejQePejQePjRejQePjSejQePjTejQePjUejQePjVejQePjWejQePjXejQePjYejQePjZejQePj[ejQePj\ejQePj]ejQePj^ejQePj_ejQePj`ejQePjaejQePjbejQePjcejQePjdejQePjeejQePjfejQePjgejQePjhejQePjie jMde jNfeOe@ddZjejQejePjkee;e;jKd_BePjgjke;jKdesrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2z*google/protobuf/test_messages_proto2.protozprotobuf_test_messages.proto2Zproto2u *google/protobuf/test_messages_proto2.protoprotobuf_test_messages.proto2"Þ2 TestAllTypesProto2 optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( ` optional_nested_message ( 2?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageU optional_foreign_message ( 23.protobuf_test_messages.proto2.ForeignMessageProto2Z optional_nested_enum (2<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumO optional_foreign_enum (20.protobuf_test_messages.proto2.ForeignEnumProto2! optional_string_piece ( B optional_cord ( BL recursive_message ( 21.protobuf_test_messages.proto2.TestAllTypesProto2 repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( ` repeated_nested_message0 ( 2?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageU repeated_foreign_message1 ( 23.protobuf_test_messages.proto2.ForeignMessageProto2Z repeated_nested_enum3 (2<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumO repeated_foreign_enum4 (20.protobuf_test_messages.proto2.ForeignEnumProto2! repeated_string_piece6 ( B repeated_cord7 ( B] map_int32_int328 ( 2D.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry] map_int64_int649 ( 2D.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entrya map_uint32_uint32: ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entrya map_uint64_uint64; ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entrya map_sint32_sint32< ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entrya map_sint64_sint64= ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entrye map_fixed32_fixed32> ( 2H.protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entrye map_fixed64_fixed64? ( 2H.protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entryi map_sfixed32_sfixed32@ ( 2J.protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entryi map_sfixed64_sfixed64A ( 2J.protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry] map_int32_floatB ( 2D.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry_ map_int32_doubleC ( 2E.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntryY map_bool_boolD ( 2B.protobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntrya map_string_stringE ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry_ map_string_bytesF ( 2E.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntryp map_string_nested_messageG ( 2M.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntryr map_string_foreign_messageH ( 2N.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntryj map_string_nested_enumI ( 2J.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntryl map_string_foreign_enumJ ( 2K.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry oneof_uint32o ( H_ oneof_nested_messagep ( 2?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageH oneof_stringq ( H oneof_bytesr ( H oneof_bools (H oneof_uint64t (H oneof_floatu (H oneof_doublev (HR oneof_enumw (2<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumHE dataÉ ( 26.protobuf_test_messages.proto2.TestAllTypesProto2.Data fieldname1‘ ( field_name2’ ( _field_name3“ ( field__name4_” ( field0name5• ( field_0_name6– ( fieldName7— ( FieldName8˜ ( field_Name9™ ( Field_Name10š ( FIELD_NAME11› ( FIELD_name12œ ( __field_name13 ( __Field_name14ž ( field__name15Ÿ ( field__Name16  ( field_name17__¡ ( Field_name18__¢ (b NestedMessage a (F corecursive ( 21.protobuf_test_messages.proto2.TestAllTypesProto24 MapInt32Int32Entry key ( value (:84 MapInt64Int64Entry key ( value (:86 MapUint32Uint32Entry key (  value ( :86 MapUint64Uint64Entry key ( value (:86 MapSint32Sint32Entry key ( value (:86 MapSint64Sint64Entry key ( value (:88 MapFixed32Fixed32Entry key ( value (:88 MapFixed64Fixed64Entry key ( value (:8: MapSfixed32Sfixed32Entry key ( value (:8: MapSfixed64Sfixed64Entry key ( value (:84 MapInt32FloatEntry key ( value (:85 MapInt32DoubleEntry key ( value (:82 MapBoolBoolEntry key ( value (:86 MapStringStringEntry key (  value ( :85 MapStringBytesEntry key (  value ( :8~ MapStringNestedMessageEntry key ( N value ( 2?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage:8s MapStringForeignMessageEntry key ( B value ( 23.protobuf_test_messages.proto2.ForeignMessageProto2:8x MapStringNestedEnumEntry key ( K value (2<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum:8m MapStringForeignEnumEntry key ( ? value (20.protobuf_test_messages.proto2.ForeignEnumProto2:83 Data group_int32Ê ( group_uint32Ë ( ! MessageSetCorrect*ÿÿÿÿ:à MessageSetCorrectExtension1 str ( 2³ message_set_extensionC.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectù»^ ( 2M.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1ß MessageSetCorrectExtension2 i (2´ message_set_extensionC.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect³ü ( 2M.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2"9 NestedEnum FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿ*xÉB oneof_field"! ForeignMessageProto2 c (*F ForeignEnumProto2 FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZ:J extension_int321.protobuf_test_messages.proto2.TestAllTypesProto2x (B/ (com.google.protobuf_test_messages.proto2Hø)namepackagesyntaxZ serialized_pbForeignEnumProto2z/protobuf_test_messages.proto2.ForeignEnumProto2 FOREIGN_FOO)rindexnumberoptionstype FOREIGN_BAR FOREIGN_BAZii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endxextension_int32z-protobuf_test_messages.proto2.extension_int32FT)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer Z is_extensionZextension_scoperrZ NestedEnumz;protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumZFOOZBARZBAZZNEGi]i NestedMessagez>protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageaz@protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage.aZ corecursivezJprotobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage.corecursive ii)rrrrr fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr!r"MapInt32Int32EntryzCprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32EntrykeyzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry.keyvaluezIprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry.valuez8iiNMapInt64Int64EntryzCprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64EntryzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry.keyzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry.valueiPiMapUint32Uint32EntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry.key zKprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry.valueiiMapUint64Uint64EntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry.keyzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry.valueiiMapSint32Sint32EntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry.keyzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry.valueii,MapSint64Sint64EntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry.keyzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry.valuei.idMapFixed32Fixed32EntryzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32EntryzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry.keyzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry.valueifiMapFixed64Fixed64EntryzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64EntryzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry.keyzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry.valueiiMapSfixed32Sfixed32EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32EntryzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry.keyzOprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry.valueiiMapSfixed64Sfixed64EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64EntryzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry.keyzOprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry.valueiiPMapInt32FloatEntryzCprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntryzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry.keyzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry.valueiRiMapInt32DoubleEntryzDprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntryzHprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry.keyzJprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry.valueiiMapBoolBoolEntryzAprotobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry.keyzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry.valueiiMapStringStringEntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry.key zutf-8zKprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry.valueii)MapStringBytesEntryzDprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntryzHprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry.keyzJprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry.value i+i`MapStringNestedMessageEntryzLprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntryzPprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry.keyzRprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry.valueibiMapStringForeignMessageEntryzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntryzQprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry.keyzSprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry.valueiiUMapStringNestedEnumEntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntryzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry.keyzOprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry.valueiWiMapStringForeignEnumEntryzJprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntryzNprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry.keyzPprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry.valueii>Dataz5protobuf_test_messages.proto2.TestAllTypesProto2.DataZ group_int32zAprotobuf_test_messages.proto2.TestAllTypesProto2.Data.group_int32Z group_uint32zBprotobuf_test_messages.proto2.TestAllTypesProto2.Data.group_uint32i@isMessageSetCorrectzBprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectziuiMessageSetCorrectExtension1zLprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1strzPprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1.strZmessage_set_extensionzbprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1.message_set_extensioniiiyMessageSetCorrectExtension2zLprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2izNprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2.izbprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2.message_set_extensioni?i|i[TestAllTypesProto2z0protobuf_test_messages.proto2.TestAllTypesProto2Zoptional_int32z?protobuf_test_messages.proto2.TestAllTypesProto2.optional_int32Zoptional_int64z?protobuf_test_messages.proto2.TestAllTypesProto2.optional_int64Zoptional_uint32z@protobuf_test_messages.proto2.TestAllTypesProto2.optional_uint32Zoptional_uint64z@protobuf_test_messages.proto2.TestAllTypesProto2.optional_uint64Zoptional_sint32z@protobuf_test_messages.proto2.TestAllTypesProto2.optional_sint32Zoptional_sint64z@protobuf_test_messages.proto2.TestAllTypesProto2.optional_sint64Zoptional_fixed32zAprotobuf_test_messages.proto2.TestAllTypesProto2.optional_fixed32Zoptional_fixed64zAprotobuf_test_messages.proto2.TestAllTypesProto2.optional_fixed64Zoptional_sfixed32zBprotobuf_test_messages.proto2.TestAllTypesProto2.optional_sfixed32Zoptional_sfixed64zBprotobuf_test_messages.proto2.TestAllTypesProto2.optional_sfixed64Zoptional_floatz?protobuf_test_messages.proto2.TestAllTypesProto2.optional_floatZoptional_doublez@protobuf_test_messages.proto2.TestAllTypesProto2.optional_doubleZ optional_boolz>protobuf_test_messages.proto2.TestAllTypesProto2.optional_boolZoptional_stringz@protobuf_test_messages.proto2.TestAllTypesProto2.optional_stringZoptional_bytesz?protobuf_test_messages.proto2.TestAllTypesProto2.optional_bytesZoptional_nested_messagezHprotobuf_test_messages.proto2.TestAllTypesProto2.optional_nested_messageZoptional_foreign_messagezIprotobuf_test_messages.proto2.TestAllTypesProto2.optional_foreign_messageZoptional_nested_enumzEprotobuf_test_messages.proto2.TestAllTypesProto2.optional_nested_enumZoptional_foreign_enumzFprotobuf_test_messages.proto2.TestAllTypesProto2.optional_foreign_enumZoptional_string_piecezFprotobuf_test_messages.proto2.TestAllTypesProto2.optional_string_piecezZ optional_cordz>protobuf_test_messages.proto2.TestAllTypesProto2.optional_cordZrecursive_messagezBprotobuf_test_messages.proto2.TestAllTypesProto2.recursive_messageZrepeated_int32z?protobuf_test_messages.proto2.TestAllTypesProto2.repeated_int32Zrepeated_int64z?protobuf_test_messages.proto2.TestAllTypesProto2.repeated_int64 Zrepeated_uint32z@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_uint32!Zrepeated_uint64z@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_uint64"Zrepeated_sint32z@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_sint32#Zrepeated_sint64z@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_sint64$Zrepeated_fixed32zAprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_fixed32%Zrepeated_fixed64zAprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_fixed64&Zrepeated_sfixed32zBprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_sfixed32'Zrepeated_sfixed64zBprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_sfixed64(Zrepeated_floatz?protobuf_test_messages.proto2.TestAllTypesProto2.repeated_float)Zrepeated_doublez@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_double*Z repeated_boolz>protobuf_test_messages.proto2.TestAllTypesProto2.repeated_bool+Zrepeated_stringz@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_string,Zrepeated_bytesz?protobuf_test_messages.proto2.TestAllTypesProto2.repeated_bytes-Zrepeated_nested_messagezHprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_nested_message0Zrepeated_foreign_messagezIprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_foreign_message1Zrepeated_nested_enumzEprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_nested_enum3Zrepeated_foreign_enumzFprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_foreign_enum4Zrepeated_string_piecezFprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_string_piece6Z repeated_cordz>protobuf_test_messages.proto2.TestAllTypesProto2.repeated_cord7Zmap_int32_int32z@protobuf_test_messages.proto2.TestAllTypesProto2.map_int32_int328Zmap_int64_int64z@protobuf_test_messages.proto2.TestAllTypesProto2.map_int64_int649Zmap_uint32_uint32zBprotobuf_test_messages.proto2.TestAllTypesProto2.map_uint32_uint32:Zmap_uint64_uint64zBprotobuf_test_messages.proto2.TestAllTypesProto2.map_uint64_uint64.;Zmap_sint32_sint32zBprotobuf_test_messages.proto2.TestAllTypesProto2.map_sint32_sint32/<Zmap_sint64_sint64zBprotobuf_test_messages.proto2.TestAllTypesProto2.map_sint64_sint64=Zmap_fixed32_fixed32zDprotobuf_test_messages.proto2.TestAllTypesProto2.map_fixed32_fixed32>Zmap_fixed64_fixed64zDprotobuf_test_messages.proto2.TestAllTypesProto2.map_fixed64_fixed642?Zmap_sfixed32_sfixed32zFprotobuf_test_messages.proto2.TestAllTypesProto2.map_sfixed32_sfixed32@Zmap_sfixed64_sfixed64zFprotobuf_test_messages.proto2.TestAllTypesProto2.map_sfixed64_sfixed64AZmap_int32_floatz@protobuf_test_messages.proto2.TestAllTypesProto2.map_int32_float5BZmap_int32_doublezAprotobuf_test_messages.proto2.TestAllTypesProto2.map_int32_doubleCZ map_bool_boolz>protobuf_test_messages.proto2.TestAllTypesProto2.map_bool_boolDZmap_string_stringzBprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_stringEZmap_string_byteszAprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_bytesFZmap_string_nested_messagezJprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_nested_messageGZmap_string_foreign_messagezKprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_foreign_messageHZmap_string_nested_enumzGprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_nested_enumIZmap_string_foreign_enumzHprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_foreign_enumJZ oneof_uint32z=protobuf_test_messages.proto2.TestAllTypesProto2.oneof_uint32oZoneof_nested_messagezEprotobuf_test_messages.proto2.TestAllTypesProto2.oneof_nested_messagepZ oneof_stringz=protobuf_test_messages.proto2.TestAllTypesProto2.oneof_stringqZ oneof_byteszprotobuf_test_messages.proto2.TestAllTypesProto2.field__name4_KiZ field0name5zprotobuf_test_messages.proto2.TestAllTypesProto2.field_0_name6MiZ fieldName7z;protobuf_test_messages.proto2.TestAllTypesProto2.fieldName7NiZ FieldName8z;protobuf_test_messages.proto2.TestAllTypesProto2.FieldName8OiZ field_Name9zprotobuf_test_messages.proto2.TestAllTypesProto2.field__name15ViZ field__Name16z>protobuf_test_messages.proto2.TestAllTypesProto2.field__Name16WiZfield_name17__z?protobuf_test_messages.proto2.TestAllTypesProto2.field_name17__XiZField_name18__z?protobuf_test_messages.proto2.TestAllTypesProto2.Field_name18__YiZ oneof_fieldzr@rBrCrDrFrIrKrLrMrOrPrSrUrXrru0 (com.google.protobuf_test_messages.proto2Hø)r5rT)r#r)osys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbZFileDescriptorrZEnumDescriptorZEnumValueDescriptorZ_FOREIGNENUMPROTO2ZRegisterEnumDescriptorZEnumTypeWrapperrrrrZEXTENSION_INT32_FIELD_NUMBERZFieldDescriptorr$Z_TESTALLTYPESPROTO2_NESTEDENUMZ DescriptorZ!_TESTALLTYPESPROTO2_NESTEDMESSAGEZ _ParseOptionsZMessageOptionsZ&_TESTALLTYPESPROTO2_MAPINT32INT32ENTRYZ&_TESTALLTYPESPROTO2_MAPINT64INT64ENTRYZ(_TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRYZ(_TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRYZ(_TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRYZ(_TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRYZ*_TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRYZ*_TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRYZ,_TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRYZ,_TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRYfloatZ&_TESTALLTYPESPROTO2_MAPINT32FLOATENTRYZ'_TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRYZ$_TESTALLTYPESPROTO2_MAPBOOLBOOLENTRYdecodeZ(_TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRYZ'_TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRYZ/_TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRYZ0_TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRYZ,_TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRYZ-_TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRYZ_TESTALLTYPESPROTO2_DATAZ%_TESTALLTYPESPROTO2_MESSAGESETCORRECTZ/_TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1Z/_TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2Z FieldOptionsZOneofDescriptorZ_TESTALLTYPESPROTO2Z_FOREIGNMESSAGEPROTO2Zfields_by_namer&r r'Zoneofs_by_namer,appendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZZRegisterMessager(r.r1r2r4r6r8r:r<r>r@rBrCrDrFrIrKrLrMrOrPrSrUrXrZRegisterExtensionZ has_optionsZ FileOptionsZ_optionsrrrrsJ                                                                                                                                                                                       2                                                                       PK!x;I;IAprotobuf/__pycache__/map_proto2_unittest_pb2.cpython-36.opt-1.pycnu[3 hY+@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZy ejZWnek rejjjZYnXejd ddedejgdZejdddeejddddddejddddddejddddddgddddd ZejeejeZejdddeejddddddejd dddddejd!dddddejd"dddddgddd#d$d Z eje eje Z!dZ"dZ#dZ$dZ%dZ&dZ'dZ(ej)d%d&dedej*d'd(ddd)ddd*ddddd*dded+ej*d,d-ddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggd1d2d3Z-ej)d4d5dedej*d'd6ddd)ddd*ddddd*dded+ej*d,d7ddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggd8d9d3Z.ej)d:d;dedej*dd?d@dd*gdddd*dded+ej*dAdBddCd?d@dd*gdddd*dded+gge-e.ggdd*dggdDd9d3Z/ej)d%dEdedej*d'dFddd)ddd*ddddd*dded+ej*d,dGddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggdHdId3Z0ej)d4dJdedej*d'dKddd)ddd*ddddd*dded+ej*d,dLddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggdMdNd3Z1ej)dOdPdedej*dd?d@dd*gdddd*dded+ej*dAdRddCd?d@dd*gdddd*dded+gge0e1ggdd*dggdSdNd3Z2ej)dTdUdedej*d'dVddd)ddd*ddddd*dded+ej*d,dWddd.d/dd*ddddd*dded+ggggej+ej,ed0d*dggdXdYd3Z3ej)dZd[dedej*d\d]ddd?d@dd*gdddd*dded+gge3ggdd*dggd^dYd3Z4ej)d_d`dedej*d'daddd)ddd*ddddd*dded+ej*d,dbddd)ddd*ddddd*dded+ggggej+ej,ed0d*dggdcddd3Z5ej)dedfdedej*dgdhddd?d@dd*gdddd*dded+gge5ggdd*dggdiddd3Z6ej)djdkdedej*d'dlddd)ddd*ddddd*dded+ej*d,dmddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggdndod3Z7ej)dpdqdedej*d'drdddddd*ddddd*dded+ej*d,dsddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggdtdud3Z8ej)dvdwdedej*d'dxdddyddd*ddddd*dded+ej*d,dzddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggd{d|d3Z9ej)d}d~dedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Z:ej)dddedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Z;ej)dddedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Zej)dddedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Z?ej)dddedej*d'ddddddd*ddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3Z@ej)dddedej*d'dddd/ddd*d*dddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3ZAej)dddedej*d'ddddddd*edjBddddd*dded+ej*d,dddd?d@dd*ddddd*dded+ggggej+ej,ed0d*dggddd3ZCej)dddedej*ddddd?d@dd*gdddd*dded+ej*ddddd?d@dd*gdddd*dded+ej*ddddd?d@dd*gdddd*dded+ej*ddddd?d@dd*gdddd*dded+ej*dddd)d?d@dd*gdddd*dded+ej*ddd)dd?d@dd*gdddd*dded+ej*ddddd?d@dd*gdddd*dded+ej*dddd/d?d@dd*gdddd*dded+ej*ddd/dd?d@dd*gdddd*dded+ej*dddd@d?d@dd*gdddd*dded+ej*ddd@d?d?d@dd*gdddd*dded+ej*ddd?dd?d@dd*gdddd*dded+g ge7e8e9e:e;ee?e@eAeCg gdd*dggddd3ZDej)dddedej*dgdddd?d@dd*ddddd*dded+ggggdd*dggddd3ZEee-jFd,_Ge/e-_Hee.jFd,_Ge/e._He-e/jFd<_Ie.e/jFdA_Ie e0jFd,_Ge2e0_He e1jFd,_Ge2e1_He0e2jFd<_Ie1e2jFdA_IejJe3jFd,_Ge4e3_He3e4jFd\_Ie6e5_He5e6jFdg_Ie6e7jFd,_IeDe7_He6e8jFd,_IeDe8_He6e9jFd,_IeDe9_He6e:jFd,_IeDe:_He6e;jFd,_IeDe;_He6ejFd,_IeDe>_He6e?jFd,_IeDe?_He6e@jFd,_IeDe@_He6eAjFd,_IeDeA_He6eCjFd,_IeDeC_He7eDjFd_Ie8eDjFd_Ie9eDjFd_Ie:eDjFd_Ie;eDjFd_IeeDjFd_Ie?eDjFd_Ie@eDjFd_IeAeDjFd_IeCeDjFd_IeDeEjFdg_Ie/ejKd:<e2ejKdO<e4ejKdZ<e6ejKde<eDejKd<eEejKd<eejLd<e ejLd<ejMee jNd:e jOfePe jNd%e jOfePe-ddߍe jNd4e jOfePe.ddߍe/ddZQejReQejReQjSejReQjTe jNdOe jOfePe jNd%e jOfePe0ddߍe jNd4e jOfePe1ddߍe2ddZUejReUejReUjSejReUjTe jNdZe jOfePe jNdTe jOfePe3ddߍe4ddZVejReVejReVjWe jNdee jOfePe jNd_e jOfePe5ddߍe6ddZXejReXejReXjYe jNde jOfePe jNdje jOfePe7ddߍe jNdpe jOfePe8ddߍe jNdve jOfePe9ddߍe jNd}e jOfePe:ddߍe jNde jOfePe;ddߍe jNde jOfePeddߍe jNde jOfePe?ddߍe jNde jOfePe@ddߍe jNde jOfePeAddߍe jNde jOfePeCddߍeDddZZejReZejReZj[ejReZj\ejReZj]ejReZj^ejReZj_ejReZj`ejReZjaejReZjbejReZjcejReZjdejReZjeejReZjfe jNde jOfePeEddߍZgejRegde_hej+ejiede_jde-_hej+ej,ed0e-_jde._hej+ej,ed0e._jde0_hej+ej,ed0e0_jde1_hej+ej,ed0e1_jde3_hej+ej,ed0e3_jde5_hej+ej,ed0e5_jde7_hej+ej,ed0e7_jde8_hej+ej,ed0e8_jde9_hej+ej,ed0e9_jde:_hej+ej,ed0e:_jde;_hej+ej,ed0e;_jde<_hej+ej,ed0e<_jde=_hej+ej,ed0e=_jde>_hej+ej,ed0e>_jde?_hej+ej,ed0e?_jde@_hej+ej,ed0e@_jdeA_hej+ej,ed0eA_jdeC_hej+ej,ed0eC_jdS)NcCs|S)N)xrr-/usr/lib/python3.6/map_proto2_unittest_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_import_pb2z)google/protobuf/map_proto2_unittest.protoZprotobuf_unittestZproto2up )google/protobuf/map_proto2_unittest.protoprotobuf_unittest%google/protobuf/unittest_import.proto"Û TestEnumMapJ known_map_fielde ( 21.protobuf_unittest.TestEnumMap.KnownMapFieldEntryN unknown_map_fieldf ( 23.protobuf_unittest.TestEnumMap.UnknownMapFieldEntryV KnownMapFieldEntry key (/ value (2 .protobuf_unittest.Proto2MapEnum:8X UnknownMapFieldEntry key (/ value (2 .protobuf_unittest.Proto2MapEnum:8"ˆ TestEnumMapPlusExtraS known_map_fielde ( 2:.protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntryW unknown_map_fieldf ( 2<.protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry_ KnownMapFieldEntry key (8 value (2).protobuf_unittest.Proto2MapEnumPlusExtra:8a UnknownMapFieldEntry key (8 value (2).protobuf_unittest.Proto2MapEnumPlusExtra:8"Ç TestImportEnumMapP import_enum_amp ( 27.protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry` ImportEnumAmpEntry key (9 value (2*.protobuf_unittest_import.ImportEnumForMap:8"m TestIntIntMap2 m ( 2'.protobuf_unittest.TestIntIntMap.MEntry( MEntry key ( value (:8"¸ TestMaps8 m_int32 ( 2'.protobuf_unittest.TestMaps.MInt32Entry8 m_int64 ( 2'.protobuf_unittest.TestMaps.MInt64Entry: m_uint32 ( 2(.protobuf_unittest.TestMaps.MUint32Entry: m_uint64 ( 2(.protobuf_unittest.TestMaps.MUint64Entry: m_sint32 ( 2(.protobuf_unittest.TestMaps.MSint32Entry: m_sint64 ( 2(.protobuf_unittest.TestMaps.MSint64Entry< m_fixed32 ( 2).protobuf_unittest.TestMaps.MFixed32Entry< m_fixed64 ( 2).protobuf_unittest.TestMaps.MFixed64Entry> m_sfixed32 ( 2*.protobuf_unittest.TestMaps.MSfixed32Entry> m_sfixed64 ( 2*.protobuf_unittest.TestMaps.MSfixed64Entry6 m_bool ( 2&.protobuf_unittest.TestMaps.MBoolEntry: m_string ( 2(.protobuf_unittest.TestMaps.MStringEntryO MInt32Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8O MInt64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8P MUint32Entry key ( / value ( 2 .protobuf_unittest.TestIntIntMap:8P MUint64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8P MSint32Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8P MSint64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8Q MFixed32Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8Q MFixed64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8R MSfixed32Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8R MSfixed64Entry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8N MBoolEntry key (/ value ( 2 .protobuf_unittest.TestIntIntMap:8P MStringEntry key ( / value ( 2 .protobuf_unittest.TestIntIntMap:8"< TestSubmessageMaps& m ( 2.protobuf_unittest.TestMaps*Z Proto2MapEnum PROTO2_MAP_ENUM_FOO PROTO2_MAP_ENUM_BAR PROTO2_MAP_ENUM_BAZ*† Proto2MapEnumPlusExtra E_PROTO2_MAP_ENUM_FOO E_PROTO2_MAP_ENUM_BAR E_PROTO2_MAP_ENUM_BAZ E_PROTO2_MAP_ENUM_EXTRABø)namepackagesyntaxZ serialized_pbZ dependencies Proto2MapEnumzprotobuf_unittest.Proto2MapEnumPROTO2_MAP_ENUM_FOO)rindexnumberoptionstypePROTO2_MAP_ENUM_BARPROTO2_MAP_ENUM_BAZi i ) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endProto2MapEnumPlusExtraz(protobuf_unittest.Proto2MapEnumPlusExtraE_PROTO2_MAP_ENUM_FOOE_PROTO2_MAP_ENUM_BARE_PROTO2_MAP_ENUM_BAZE_PROTO2_MAP_ENUM_EXTRAi ie KnownMapFieldEntryz0protobuf_unittest.TestEnumMap.KnownMapFieldEntrykeyz4protobuf_unittest.TestEnumMap.KnownMapFieldEntry.keyF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer!Z is_extensionZextension_scoperrvaluez6protobuf_unittest.TestEnumMap.KnownMapFieldEntry.valuez8iii)rrrrr!Zfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr"r#UnknownMapFieldEntryz2protobuf_unittest.TestEnumMap.UnknownMapFieldEntryz6protobuf_unittest.TestEnumMap.UnknownMapFieldEntry.keyz8protobuf_unittest.TestEnumMap.UnknownMapFieldEntry.valueiki TestEnumMapzprotobuf_unittest.TestEnumMapZknown_map_fieldz-protobuf_unittest.TestEnumMap.known_map_fielde Zunknown_map_fieldz/protobuf_unittest.TestEnumMap.unknown_map_fieldfhz9protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntryz=protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry.keyz?protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry.valueiiz;protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntryz?protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry.keyzAprotobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry.valueiiNTestEnumMapPlusExtraz&protobuf_unittest.TestEnumMapPlusExtraz6protobuf_unittest.TestEnumMapPlusExtra.known_map_fieldz8protobuf_unittest.TestEnumMapPlusExtra.unknown_map_fieldiImportEnumAmpEntryz6protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntryz:protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry.keyzs$                                                                                                               PK!)tORR6protobuf/__pycache__/wrappers_pb2.cpython-36.opt-1.pycnu[3 h -@s@ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejddddddddedddddddedggggddd ggdddZejdddedejddddddddedddddddedggggddd ggd d!dZejd"d#dedejdd$dddddddddddddedggggddd ggd%d&dZejd'd(dedejdd)ddd*d*dddddddddedggggddd ggd+d,dZejd-d.dedejdd/dddddddddddddedggggddd ggd0d1dZejd2d3dedejdd4ddd5ddddddddddedggggddd ggd6d7dZejd8d9dedejdd:ddd;ddZejd?d@dedejddAdddBdBddedCjdDddddddedggggddd ggdEdFdZejdGdHdedejddIdddJdBddedCddddddedggggddd ggdKdLdZeejd<eejd<eejd"<eejd'<eejd-<eejd2<eejd8<eejd?<eejdG<ejee j dej!fe"edMdNZ#ej$e#e j dej!fe"edMdNZ%ej$e%e j d"ej!fe"edMdNZ&ej$e&e j d'ej!fe"edMdNZ'ej$e'e j d-ej!fe"edMdNZ(ej$e(e j d2ej!fe"edMdNZ)ej$e)e j d8ej!fe"edMdNZ*ej$e*e j d?ej!fe"edMdNZ+ej$e+e j dGej!fe"edMdNZ,ej$e,dOe_-ej.e j/edPe_0dS)QNcCs|S)N)xrr"/usr/lib/python3.6/wrappers_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/wrappers.protozgoogle.protobufZproto3u google/protobuf/wrappers.protogoogle.protobuf" DoubleValue value (" FloatValue value (" Int64Value value (" UInt64Value value (" Int32Value value (" UInt32Value value ( " BoolValue value (" StringValue value ( " BytesValue value ( B| com.google.protobufB WrappersProtoPZ*github.com/golang/protobuf/ptypes/wrappersø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb DoubleValuezgoogle.protobuf.DoubleValuevaluez!google.protobuf.DoubleValue.valueF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile3O)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_end FloatValuezgoogle.protobuf.FloatValuez google.protobuf.FloatValue.valueQl Int64Valuezgoogle.protobuf.Int64Valuez google.protobuf.Int64Value.valuen UInt64Valuezgoogle.protobuf.UInt64Valuez!google.protobuf.UInt64Value.value Int32Valuezgoogle.protobuf.Int32Valuez google.protobuf.Int32Value.value UInt32Valuezgoogle.protobuf.UInt32Valuez!google.protobuf.UInt32Value.value BoolValuezgoogle.protobuf.BoolValuezgoogle.protobuf.BoolValue.value StringValuezgoogle.protobuf.StringValuez!google.protobuf.StringValue.value zutf-8i BytesValuezgoogle.protobuf.BytesValuez google.protobuf.BytesValue.value ii9zgoogle.protobuf.wrappers_pb2) DESCRIPTOR __module__Tu com.google.protobufB WrappersProtoPZ*github.com/golang/protobuf/ptypes/wrappersø¢GPBªGoogle.Protobuf.WellKnownTypes)1sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr=Z DescriptorZFieldDescriptorfloatZ _DOUBLEVALUEZ _FLOATVALUEZ _INT64VALUEZ _UINT64VALUEZ _INT32VALUEZ _UINT32VALUEZ _BOOLVALUEdecodeZ _STRINGVALUEZ _BYTESVALUEZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerr$r'r+r.r2r7r;Z has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                                           PK!?protobuf/__pycache__/unittest_custom_options_pb2.cpython-36.pycnu[3 h`@s&ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZdd lmZdd lmZe jZdd lmZejdddedejgdZejdddeejddddddejddddddgddddd ZejeejeZejdddeejdddejejed ddgdejejed!d"d#d Z eje eje Z!dZ"dZ#dZ$d$Z%ej&d%d&dd$d'd'dd(ddddd)dded*Z'd+Z(ej&d,d-dd+d.ddd(ddddd)dded*Z)d/Z*ej&d0d1dd/d2d'dd(ddddd)dded*Z+d3Z,ej&d4d5dd3d.ddd)d6dddd)dded*Z-d7Z.ej&d8d9d'd7d.ddd(ddddd)dded*Z/d:Z0ej&d;dZ2ej&d?d@d2d>d.ddd(ddddd)dded*Z3dAZ4ej&dBdCdDdAdEddd(ddddd)dded*Z5dFZ6ej&dGdHdIdFdJdIdd(ddddd)dded*Z7dKZ8ej&dLdMdNdKdIdDdd(d(dddd)dded*Z9dOZ:ej&dPdQdRdOd.ddd(ddddd)dded*Z;dSZej&dXdYdZdWd[ddd(ddddd)dded*Z?d\Z@ej&d]d^d[d\d'd'dd(ddddd)dded*ZAd_ZBej&d`dadJd_dbddd(ddddd)dded*ZCdcZDej&ddded=dcdEddd(ddddd)dded*ZEdfZFej&dgdhdidfdDddd(ddddd)dded*ZGdjZHej&dkdldbdjd2d'dd(ddddd)dded*ZIdmZJej&dndodEdmd=ddd(ddddd)dded*ZKdpZLej&dqdrdsdpdiddd(ddddd)dded*ZMdtZNej&dudvdwdtdd2dd(eOddddd)dded*ZPdxZQej&dydzd{dxdd.dd(eOddddd)dded*ZRd|ZSej&d}d~dd|dNdNdd(edjTddddd)dded*ZUdZVej&dddddZdNdd(eddddd)dded*ZWdZXej&dddddJdIdd(ddddd)dded*ZYdZZej&dddddVdRdd(ddddd)dded*Z[dZ\ej&ddddd.ddd(ddddd)dded*Z]dZ^ej&dddddVdRdd(ddddd)dded*Z_dZ`ej&ddddd.ddd(ddddd)dded*ZadZbej&dddddVdRdd(ddddd)dded*ZcdZdej&dddddVdRdd(ddddd)dded*ZedZfej&dddddVdRdd(ddddd)dded*ZgdZhej&dddddVdRdd(ddddd)dded*ZidZjej&dddddRdRdd(ddddd)dded*ZkdZlej&dddddVdRdd(ddddd)dded*ZmdZnej&dddddVdRdd(ddddd)dded*ZodZpej&dddddVdRdd(ddddd)dded*ZqdZrej&dddddVdRdd(ddddd)dded*ZsdZtej&dddddVdRdd(ddddd)dded*ZudZvej&dddddVdRdd(ddddd)dded*ZwdZxej&dddddVdRdd(ddddd)dded*ZydZzej&dddddVdRdd(ddddd)dded*Z{ejdddeejddddddejdddejejed҃ddgdejejedӃddd Z|eje|ejdddeejddddddejddddddgddddd Z}eje}ejdddeejdddejejed߃ddgdejejedddd Z~eje~ejdddeejddddddgddddd Zejeejdddeejddddddejddddddgddddd Zejeejdddedej&dddddNdNdd(edjTddddd(dejejeded*ej&ddddd.ddd(ddddd(dded*ggge|gejejedd(dgejddddgejejeddgdddZejdddedggggdd(dggdddZejdddedggggdd(dggdddZejdddedggggdd(dggdddZejdddedggggdd(dggd d dZejd d dedggge}gdd(dggd ddZejdddedggggdd(dggdddZejdddedggggejejedd(dggdddZejdddedggggejejedd(dggdddZejdddedggggejejedd(dggdd dZejd!d"dedggggejejed#d(dggd$d%dZejd&d'dedggggejejed(d(dggd)d*dZejd+d,dedej&d-d.ddd.ddd(ddddd(dded*ej&d/d0ddd.ddd(ddddd(dded*ej&d1d2ddd.ddd(ddddd(dded*ej&d3d4dd'd.ddd(gdddd(dded*ggggdd)ddggd7d8dZejd9d:dedej&d;ddd?dVdRdd(ddddd)dded*gggdd(dggd@dAdZejdBdCdedej&dDdEdddVdRdd(ddddd(dded*ej&dFdGddd.ddd(ddddd(dded*ej&dHdIdddVdRdd(ddddd(dded*ej&dJdKdd'dVdRdd(gdddd(dded*ggeggdd)ddggdLdMdZejdNdOdedej&dPdQddd.ddd(ddddd(dded*ggggdd(dggdRdSdZejdTdUdedej&dVdWddd.ddd(ddddd(dded*ej&dXdYdddRdRdd(ddddd(dded*ggeggdd(dggdZdSdZejd[d\dedej&d]d^dd_d.ddd(ddddd(dded*ggggdd(dggd`dadZejdbdcdedggggejejeddd(dggdedfdZejdgdhdedggggejejedid)ddggdkdldZejdmdndedej&dodpdddNdNdd(edjTddddd(dded*gej&dqdrddsdVdRdd(ddddd)dded*gggdd(dggdtdudZejdvdwdedej&dxdyddd.ddd(ddddd(dded*ej&dodzdddNdNdd(edjTddddd(dded*ej&d{d|dddVdRdd(ddddd(dded*ej&d}d~dd'dVdRdd(ddddd(dded*ej&ddd'd.dVdRdd(ddddd(dded*gej&dddddVdRdd(ddddd)dded*gggdd(dggdddZejdddedej&ddddd.ddd(ddddd(dejejeded*ggggejejedd(dggdddZejdddedej&ddddd.ddd(ddddd(dejejeded*ggggejejedd(dggdddZejdddedgej&ddddd.ddd(ddddd)dejejeded*gege~gdd(dggdddZejdddedej&dddddJdIdd(ddddd(dded*gggegdd(dggdddZejdddedej&dddddJdIdd(ddddd(dded*gggegdd(dggdddZejdddedggggejejedd(dggdddZee|_ejdjjejdejdejd_ee}_ee_eejdD_eejdH_eejdJ_ee_eejdX_eejd{_ejejd}_eejd_ee_ee~_eejd_ee_eejd_ee_eejd<eejd<eejd<eejd<eejd<eejd <eejd<eejd<eejd<eejd<eejd!<eejd&<eejd+<eejdB<eejdT<eejd[<eejdb<eejdg<eejdm<eejdv<eejd<eejd<eejd<eejd<eejd<eejd<e ejd<e'ejd%<e)ejd,<e+ejd0<e-ejd4<e/ejd8<e1ejd;<e3ejd?<e5ejdB<e7ejdG<e9ejdL<e;ejdP<e=ejdT<e?ejdX<eAejd]<eCejd`<eEejdd<eGejdg<eIejdk<eKejdn<eMejdq<ePejdu<eRejdy<eUejd}<eWejd<eYejd<e[ejd<e]ejd<e_ejd<eaejd<ecejd<eeejd<egejd<eiejd<ekejd<emejd<eoejd<eqejd<esejd<euejd<ewejd<eyejd<e{ejd<ejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jd e jfeeddZejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jd!e jfeeddZejee jd&e jfeeddZejee jd+e jfeeddZejee jdBe jfee jd9e jfeeddeddZejeejeje jdTe jfee jdNe jfeeddeddZejeƒejejÃe jd[e jfeeddZejeăe jdbe jfeeddZejeŃe jdge jfeeddZejeƃe jdme jfeeddZejeǃe jdve jfeeddZejeȃe jde jfeeddZejeɃe jde jfee jde jfeeddeddZejeʃejej˃e jde jfeeddZejẽe jde jfeeddZeje̓e jde jfeeddZeje΃ejje'ejje)ejje+ejje-ejje/ejje1ejje3ejje5ee7_ejje7ejje9ejje;ejje=ejje?ejjeAejjeCejjeEejjeGejjeIejjeKejjeMejjePejjeRejjeUejjeWe}eY_ejjeYee[_ejje[eje]ee__eje_ejeaeec_ejeceee_ejjeeeeg_ejjegeei_ejjeieek_ejjekeem_ejjemeeo_ejjeoeeq_ejjeqees_ejjeseeu_ejjeueew_ejjeweey_ejjeyee{_ejje{eejd=_ejjejd=eejdq_ejejdqeejd_ejjejdejjejdd)e_ejejσede_d)e _ejejed!e _d)e jd_ejejed e jd_d)ejd_ejejedejd_d)e|_ejejedӃe|_d)e|jd_ejejed҃e|jd_d)ejd_ejejedejd_d)e_ejejede_d)e_ejejede_d)e_ejejede_d)e_ejejede_d)e_ejejed#e_d)e_ejejed(e_d)e_ejejedde_d)e_ejejedie_d)ejd_ejejedejd_d)e_ejejede_d)ejd_ejejedejd_d)e_ejejede_d)e~_ejejede~_d)e~jd_ejejed߃e~jd_d)ejd_ejejedejd_d)e_ejejede_ej֐ddedejejуedddejאddddeeejej҃eddgdZeje؃eejڐd<ej֐ddedejejуedddejאddddeeejej҃edÃdgdZejeۃeejڐd<ejܐdejfeeؐddZejߐdefeeؐddZejܐdejfeeېddZejߐdefeeېddZdS(NcCs|S)N)xrr1/usr/lib/python3.6/unittest_custom_options_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)service)service_reflection)descriptor_pb2z-google/protobuf/unittest_custom_options.protoZprotobuf_unittestZproto2u -google/protobuf/unittest_custom_options.protoprotobuf_unittest google/protobuf/descriptor.proto"¿ TestMessageWithCustomOptions field1 ( BÁàÃ-áu  oneof_field (H"; AnEnum ANENUM_VAL1 ANENUM_VAL2°†ú{ÅöÉëüÿÿ:àéÂÈÿÿÿÿÿÿÿÿB AnOneofø¬Ãÿÿÿÿÿÿÿÿ" CustomOptionFooRequest" CustomOptionFooResponse" CustomOptionFooClientMessage" CustomOptionFooServerMessage"m DummyMessageContainingEnum"O TestEnumType TEST_OPTION_ENUM_TYPE1# TEST_OPTION_ENUM_TYPE2éÿÿÿÿÿÿÿÿ"! DummyMessageInvalidAsOptionType"Š CustomOptionMinIntegerValues:jÐÞ²èÆ²€€€€øÿÿÿÿ°¼²€€€€€€€€€€“²øõ°€Ä°ÿÿÿÿø—°ÿÿÿÿÿÿÿÿÿõ¯‘¯€™Ö¨€"‘ CustomOptionMaxIntegerValues:qÐÞ²èÆ²ÿÿÿÿ°¼²ÿÿÿÿÿÿÿÿ€“²ÿÿÿÿøõ°ÿÿÿÿÿÿÿÿÿ€Ä°þÿÿÿø—°þÿÿÿÿÿÿÿÿõ¯ÿÿÿÿ‘î¯ÿÿÿÿÿÿÿÿ­¯ÿÿÿ™Ö¨ÿÿÿÿÿÿÿ"n CustomOptionOtherValues:SèÆ²œÿÿÿÿÿÿÿÿõߣç‡EAéÜ¢ûYŒBÊÀó?ªÜ¢Hello, "World"²Ù¢ HelloWorldˆÙ¢éÿÿÿÿÿÿÿÿ"4 SettingRealsFromPositiveInts:õߣ@AéÜ¢@c@"4 SettingRealsFromNegativeInts:õߣ@ÁéÜ¢@cÀ"U ComplexOptionType1 foo ( foo2 ( foo3 ( foo4 (*d€€€€"‹ ComplexOptionType22 bar ( 2%.protobuf_unittest.ComplexOptionType1 baz (F fred ( 28.protobuf_unittest.ComplexOptionType2.ComplexOptionType4H barney ( 28.protobuf_unittest.ComplexOptionType2.ComplexOptionType4— ComplexOptionType4 waldo (2r complex_opt4.google.protobuf.MessageOptionsŠõÑ ( 28.protobuf_unittest.ComplexOptionType2.ComplexOptionType4*d€€€€"œ ComplexOptionType3 qux (T complexoptiontype5 ( 28.protobuf_unittest.ComplexOptionType3.ComplexOptionType5# ComplexOptionType5 plugh (" ComplexOpt6 xyzzyß¿Ï ("ñ VariousComplexOptions:×¢â•*¢â•؅žÄ¢â•’õì¢â• c¢â• XªýÛªýøæ—Žªý çªý ؅žÏªý ’õØªý¬—åªý ¬—؅žÎªý ¬—’õÉÒ¨³ªýÁªý"eªý"Ôúސ úސãÜüøýûäÜü"# AggregateMessageSet*ÿÿÿÿ:"  AggregateMessageSetElement s ( 2w message_set_extension&.protobuf_unittest.AggregateMessageSetöë® ( 2-.protobuf_unittest.AggregateMessageSetElement"ý Aggregate i ( s ( ) sub ( 2.protobuf_unittest.Aggregate* file ( 2.google.protobuf.FileOptions4 mset ( 2&.protobuf_unittest.AggregateMessageSet2M nested.google.protobuf.FileOptions§Ñ° ( 2.protobuf_unittest.Aggregate"Y AggregateMessage) fieldname (Bò¡‡;FieldAnnotation:Âц;eMessageAnnotation"É NestedOptionType; NestedMessage" nested_field (B ÁàÃê:àéÂé"5 NestedEnum NESTED_ENUM_VALUE°†úìÅöÉë2A nested_extension.google.protobuf.FileOptionsýøâ (BȋÊí"d OldOptionType8 value (2).protobuf_unittest.OldOptionType.TestEnum" TestEnum OLD_VALUE"s NewOptionType8 value (2).protobuf_unittest.NewOptionType.TestEnum"( TestEnum OLD_VALUE NEW_VALUE"- !TestMessageWithRequiredEnumOption:úèü”*6 MethodOpt1 METHODOPT1_VAL1 METHODOPT1_VAL2*M AggregateEnum% VALUEÊü‰;EnumValueAnnotation’•ˆ;EnumAnnotation2Ž TestServiceWithCustomOptionsc Foo).protobuf_unittest.CustomOptionFooRequest*.protobuf_unittest.CustomOptionFooResponse"àúŒ ²‹ÓۀËI2™ AggregateServicek Method#.protobuf_unittest.AggregateMessage#.protobuf_unittest.AggregateMessage"ÊȖ;MethodAnnotationÊûŽ;ServiceAnnotation:2 file_opt1.google.protobuf.FileOptionsŽØ (:8 message_opt1.google.protobuf.MessageOptionsœ­Ø (:4 field_opt1.google.protobuf.FieldOptionsˆ¼Ø (:8 field_opt2.google.protobuf.FieldOptions¹¡Ù (:42:4 oneof_opt1.google.protobuf.OneofOptionsϵØ (:2 enum_opt1.google.protobuf.EnumOptionsèžÙ (:< enum_value_opt1!.google.protobuf.EnumValueOptionsæ _ (:8 service_opt1.google.protobuf.ServiceOptions¢¶á (:U method_opt1.google.protobuf.MethodOptions¬Ïá (2.protobuf_unittest.MethodOpt1:4 bool_opt.google.protobuf.MessageOptionsê«Ö (:5 int32_opt.google.protobuf.MessageOptionsí¨Ö (:5 int64_opt.google.protobuf.MessageOptionsƧÖ (:6 uint32_opt.google.protobuf.MessageOptions°¢Ö ( :6 uint64_opt.google.protobuf.MessageOptionsߎÖ (:6 sint32_opt.google.protobuf.MessageOptionsÀˆÖ (:6 sint64_opt.google.protobuf.MessageOptionsÿ‚Ö (:7 fixed32_opt.google.protobuf.MessageOptionsÓþÕ (:7 fixed64_opt.google.protobuf.MessageOptionsâýÕ (:8 sfixed32_opt.google.protobuf.MessageOptionsÕñÕ (:8 sfixed64_opt.google.protobuf.MessageOptionsãŠÕ (:5 float_opt.google.protobuf.MessageOptionsþ»Ô (:6 double_opt.google.protobuf.MessageOptionsÍ«Ô (:6 string_opt.google.protobuf.MessageOptionsÅ«Ô ( :5 bytes_opt.google.protobuf.MessageOptions–«Ô ( :p enum_opt.google.protobuf.MessageOptions‘«Ô (2:.protobuf_unittest.DummyMessageContainingEnum.TestEnumType:p message_type_opt.google.protobuf.MessageOptions¯òÓ ( 22.protobuf_unittest.DummyMessageInvalidAsOptionType:6 quux%.protobuf_unittest.ComplexOptionType1ÛàÓ (:^ corge%.protobuf_unittest.ComplexOptionType1ÒÞÓ ( 2%.protobuf_unittest.ComplexOptionType3:8 grault%.protobuf_unittest.ComplexOptionType2ïüÒ (:_ garply%.protobuf_unittest.ComplexOptionType2ÈõÒ ( 2%.protobuf_unittest.ComplexOptionType1:_ complex_opt1.google.protobuf.MessageOptions¤ÜÒ ( 2%.protobuf_unittest.ComplexOptionType1:_ complex_opt2.google.protobuf.MessageOptionsՏÒ ( 2%.protobuf_unittest.ComplexOptionType2:_ complex_opt3.google.protobuf.MessageOptionsï‹Ò ( 2%.protobuf_unittest.ComplexOptionType3:W complexopt6.google.protobuf.MessageOptionsÌËÏ ( 2.protobuf_unittest.ComplexOpt6:N fileopt.google.protobuf.FileOptionsÏݰ ( 2.protobuf_unittest.Aggregate:P msgopt.google.protobuf.MessageOptions˜ê° ( 2.protobuf_unittest.Aggregate:P fieldopt.google.protobuf.FieldOptionsžô° ( 2.protobuf_unittest.Aggregate:N enumopt.google.protobuf.EnumOptions҂± ( 2.protobuf_unittest.Aggregate:V enumvalopt!.google.protobuf.EnumValueOptionsɟ± ( 2.protobuf_unittest.Aggregate:T serviceopt.google.protobuf.ServiceOptions¹ï± ( 2.protobuf_unittest.Aggregate:R methodopt.google.protobuf.MethodOptions‰é² ( 2.protobuf_unittest.Aggregate:_ required_enum_opt.google.protobuf.MessageOptionsÍÏ2 ( 2 .protobuf_unittest.OldOptionTypeB‡€ˆðèÁê­Àå$úì…;pdFileAnnotationNestedFileAnnotation"úì…;FileExtensionAnnotation*$ öë® EmbeddedMessageSetElement )namepackagesyntaxZ serialized_pbZ dependencies MethodOpt1zprotobuf_unittest.MethodOpt1METHODOPT1_VAL1)rindexnumberoptionstypeMETHODOPT1_VAL2i i ) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_end AggregateEnumzprotobuf_unittest.AggregateEnumVALUEuÊü‰;EnumValueAnnotationu’•ˆ;EnumAnnotationi iC iv file_opt1zprotobuf_unittest.file_opt1FT)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer!Z is_extensionZextension_scoperriv message_opt1zprotobuf_unittest.message_opt1iv field_opt1zprotobuf_unittest.field_opt1iPv field_opt2zprotobuf_unittest.field_opt2*iv oneof_opt1zprotobuf_unittest.oneof_opt1ihOv enum_opt1zprotobuf_unittest.enum_opt1ifenum_value_opt1z!protobuf_unittest.enum_value_opt1i"[x service_opt1zprotobuf_unittest.service_opt1igx method_opt1zprotobuf_unittest.method_opt1iubool_optzprotobuf_unittest.bool_opt imu int32_optzprotobuf_unittest.int32_opt iƓu int64_optzprotobuf_unittest.int64_opt i0u uint32_optzprotobuf_unittest.uint32_opt i_u uint64_optzprotobuf_unittest.uint64_opti@u sint32_optzprotobuf_unittest.sint32_optiu sint64_optzprotobuf_unittest.sint64_optiSu fixed32_optzprotobuf_unittest.fixed32_opti~u fixed64_optzprotobuf_unittest.fixed64_optixu sfixed32_optzprotobuf_unittest.sfixed32_opticEu sfixed64_optzprotobuf_unittest.sfixed64_optiu float_optzprotobuf_unittest.float_optiu double_optzprotobuf_unittest.double_optiu string_optzprotobuf_unittest.string_optzutf-8iu bytes_optzprotobuf_unittest.bytes_optiuenum_optzprotobuf_unittest.enum_opti/tmessage_type_optz"protobuf_unittest.message_type_opti[tquuxzprotobuf_unittest.quuxiRtcorgezprotobuf_unittest.corgeiotgraultzprotobuf_unittest.graultiȺtgarplyzprotobuf_unittest.garplyi$t complex_opt1zprotobuf_unittest.complex_opt1iՇt complex_opt2zprotobuf_unittest.complex_opt2it complex_opt3zprotobuf_unittest.complex_opt3 is complexopt6zprotobuf_unittest.complexopt6!i.fileoptzprotobuf_unittest.fileopt"i5msgoptzprotobuf_unittest.msgopt#i:fieldoptzprotobuf_unittest.fieldopt$iRAenumoptzprotobuf_unittest.enumopt%iO enumvaloptzprotobuf_unittest.enumvalopt&iw serviceoptzprotobuf_unittest.serviceopt'i methodoptzprotobuf_unittest.methodopt(iSrequired_enum_optz#protobuf_unittest.required_enum_opt)ZAnEnumz5protobuf_unittest.TestMessageWithCustomOptions.AnEnumZ ANENUM_VAL1Z ANENUM_VAL2u°†ú{uÅöÉëüÿÿZ TestEnumTypez9protobuf_unittest.DummyMessageContainingEnum.TestEnumTypeZTEST_OPTION_ENUM_TYPE1ZTEST_OPTION_ENUM_TYPE2ii Z NestedEnumz-protobuf_unittest.NestedOptionType.NestedEnumZNESTED_ENUM_VALUEu °†úìu ÅöÉëi: io ZTestEnumz(protobuf_unittest.OldOptionType.TestEnumZ OLD_VALUEi i z(protobuf_unittest.NewOptionType.TestEnumZ NEW_VALUEie i TestMessageWithCustomOptionsz.protobuf_unittest.TestMessageWithCustomOptionsZfield1z5protobuf_unittest.TestMessageWithCustomOptions.field1uÁàÃ-áu Z oneof_fieldz:protobuf_unittest.TestMessageWithCustomOptions.oneof_fielduàéÂÈÿÿÿÿÿÿÿÿZAnOneofz6protobuf_unittest.TestMessageWithCustomOptions.AnOneofuø¬Ãÿÿÿÿÿÿÿÿ)rrrr!fieldsrgi&)rrrrr!r} extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr"r#CustomOptionFooRequestz(protobuf_unittest.CustomOptionFooRequesti(i@CustomOptionFooResponsez)protobuf_unittest.CustomOptionFooResponseiBi[CustomOptionFooClientMessagez.protobuf_unittest.CustomOptionFooClientMessagei]i{CustomOptionFooServerMessagez.protobuf_unittest.CustomOptionFooServerMessagei}iDummyMessageContainingEnumz,protobuf_unittest.DummyMessageContainingEnumiDummyMessageInvalidAsOptionTypez1protobuf_unittest.DummyMessageInvalidAsOptionTypei i-CustomOptionMinIntegerValuesz.protobuf_unittest.CustomOptionMinIntegerValuesuÐÞ²èÆ²€€€€øÿÿÿÿ°¼²€€€€€€€€€€“²øõ°€Ä°ÿÿÿÿø—°ÿÿÿÿÿÿÿÿÿõ¯‘¯€™Ö¨€i0iCustomOptionMaxIntegerValuesz.protobuf_unittest.CustomOptionMaxIntegerValuesuÐÞ²èÆ²ÿÿÿÿ°¼²ÿÿÿÿÿÿÿÿ€“²ÿÿÿÿøõ°ÿÿÿÿÿÿÿÿÿ€Ä°þÿÿÿø—°þÿÿÿÿÿÿÿÿõ¯ÿÿÿÿ‘î¯ÿÿÿÿÿÿÿÿ­¯ÿÿÿ™Ö¨ÿÿÿÿÿÿÿiiNCustomOptionOtherValuesz)protobuf_unittest.CustomOptionOtherValuesu~èÆ²œÿÿÿÿÿÿÿÿõߣç‡EAéÜ¢ûYŒBÊÀó?ªÜ¢Hello, "World"²Ù¢ HelloWorldˆÙ¢éÿÿÿÿÿÿÿÿiPiSettingRealsFromPositiveIntsz.protobuf_unittest.SettingRealsFromPositiveIntsuõߣ@AéÜ¢@c@iiSettingRealsFromNegativeIntsz.protobuf_unittest.SettingRealsFromNegativeIntsuõߣ@ÁéÜ¢@cÀii*ComplexOptionType1z$protobuf_unittest.ComplexOptionType1Zfooz(protobuf_unittest.ComplexOptionType1.fooZfoo2z)protobuf_unittest.ComplexOptionType1.foo2Zfoo3z)protobuf_unittest.ComplexOptionType1.foo3Zfoo4z)protobuf_unittest.ComplexOptionType1.foo4d i,iComplexOptionType4z7protobuf_unittest.ComplexOptionType2.ComplexOptionType4Zwaldoz=protobuf_unittest.ComplexOptionType2.ComplexOptionType4.waldoZ complex_opt4zDprotobuf_unittest.ComplexOptionType2.ComplexOptionType4.complex_opt4iztiniComplexOptionType2z$protobuf_unittest.ComplexOptionType2Zbarz(protobuf_unittest.ComplexOptionType2.barZbazz(protobuf_unittest.ComplexOptionType2.bazZfredz)protobuf_unittest.ComplexOptionType2.fredZbarneyz+protobuf_unittest.ComplexOptionType2.barneyiiComplexOptionType5z7protobuf_unittest.ComplexOptionType3.ComplexOptionType5Zplughz=protobuf_unittest.ComplexOptionType3.ComplexOptionType5.plughiiComplexOptionType3z$protobuf_unittest.ComplexOptionType3Zquxz(protobuf_unittest.ComplexOptionType3.quxZcomplexoptiontype5z7protobuf_unittest.ComplexOptionType3.complexoptiontype5i ComplexOpt6zprotobuf_unittest.ComplexOpt6Zxyzzyz#protobuf_unittest.ComplexOpt6.xyzzyisiiVariousComplexOptionsz'protobuf_unittest.VariousComplexOptionsuD¢â•*¢â•؅žÄ¢â•’õì¢â• c¢â• XªýÛªýøæ—Žªý çªý ؅žÏªý ’õØªý¬—åªý ¬—؅žÎªý ¬—’õÉÒ¨³ªýÁªý"eªý"Ôúސ úސãÜüøýûäÜüiiAggregateMessageSetz%protobuf_unittest.AggregateMessageSetziiAggregateMessageSetElementz,protobuf_unittest.AggregateMessageSetElementsz.protobuf_unittest.AggregateMessageSetElement.sZmessage_set_extensionzBprotobuf_unittest.AggregateMessageSetElement.message_set_extensioniii Aggregatezprotobuf_unittest.Aggregateizprotobuf_unittest.Aggregate.izprotobuf_unittest.Aggregate.ssubzprotobuf_unittest.Aggregate.subrz protobuf_unittest.Aggregate.fileZmsetz protobuf_unittest.Aggregate.msetnestedz"protobuf_unittest.Aggregate.nestedi(ii AggregateMessagez"protobuf_unittest.AggregateMessageZ fieldnamez,protobuf_unittest.AggregateMessage.fieldnameuò¡‡;FieldAnnotationuÂц;eMessageAnnotationi i NestedMessagez0protobuf_unittest.NestedOptionType.NestedMessageZ nested_fieldz=protobuf_unittest.NestedOptionType.NestedMessage.nested_fielduÁàÃêu àéÂéi i8 NestedOptionTypez"protobuf_unittest.NestedOptionTypeZnested_extensionz3protobuf_unittest.NestedOptionType.nested_extensioni}xu ȋÊíi i OldOptionTypezprotobuf_unittest.OldOptionTypevaluez%protobuf_unittest.OldOptionType.valuei NewOptionTypezprotobuf_unittest.NewOptionTypez%protobuf_unittest.NewOptionType.valuei !TestMessageWithRequiredEnumOptionz3protobuf_unittest.TestMessageWithRequiredEnumOptionu úèü”i i z+google.protobuf.unittest_custom_options_pb2) DESCRIPTOR __module__)rrr)rrr)rrru€ˆðèÁê­Àå$úì…;pdFileAnnotationNestedFileAnnotation"úì…;FileExtensionAnnotation*$ öë® EmbeddedMessageSetElement TestServiceWithCustomOptionsz.protobuf_unittest.TestServiceWithCustomOptionsu²‹ÓۀËIiF i ZFooz2protobuf_unittest.TestServiceWithCustomOptions.FoouàúŒ)rrrZcontaining_serviceZ input_typeZ output_typer)rrrrrr"r#methodsAggregateServicez"protobuf_unittest.AggregateServiceuÊûŽ;ServiceAnnotationi ip ZMethodz)protobuf_unittest.AggregateService.MethoduÊȖ;MethodAnnotation!TestServiceWithCustomOptions_StubAggregateService_Stubi)rr)rr)r'r)sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZ_servicerrZDefaultZ_sym_dbZ'google_dot_protobuf_dot_descriptor__pb2ZFileDescriptorrZEnumDescriptorZEnumValueDescriptorZ _METHODOPT1ZRegisterEnumDescriptorZEnumTypeWrapperrZ _ParseOptionsZEnumValueOptionsZ EnumOptionsZ_AGGREGATEENUMr$rrr%ZFILE_OPT1_FIELD_NUMBERZFieldDescriptorr&ZMESSAGE_OPT1_FIELD_NUMBERr*ZFIELD_OPT1_FIELD_NUMBERr,ZFIELD_OPT2_FIELD_NUMBERr.ZONEOF_OPT1_FIELD_NUMBERr0ZENUM_OPT1_FIELD_NUMBERr1ZENUM_VALUE_OPT1_FIELD_NUMBERr3ZSERVICE_OPT1_FIELD_NUMBERr4ZMETHOD_OPT1_FIELD_NUMBERr7ZBOOL_OPT_FIELD_NUMBERr:ZINT32_OPT_FIELD_NUMBERr<ZINT64_OPT_FIELD_NUMBERr>ZUINT32_OPT_FIELD_NUMBERr@ZUINT64_OPT_FIELD_NUMBERrCZSINT32_OPT_FIELD_NUMBERrDZSINT64_OPT_FIELD_NUMBERrFZFIXED32_OPT_FIELD_NUMBERrGZFIXED64_OPT_FIELD_NUMBERrIZSFIXED32_OPT_FIELD_NUMBERrJZSFIXED64_OPT_FIELD_NUMBERrKZFLOAT_OPT_FIELD_NUMBERfloatrMZDOUBLE_OPT_FIELD_NUMBERrOZSTRING_OPT_FIELD_NUMBERdecoderQZBYTES_OPT_FIELD_NUMBERrTZENUM_OPT_FIELD_NUMBERrVZMESSAGE_TYPE_OPT_FIELD_NUMBERrXZQUUX_FIELD_NUMBERrZZCORGE_FIELD_NUMBERr\ZGRAULT_FIELD_NUMBERr^ZGARPLY_FIELD_NUMBERr`ZCOMPLEX_OPT1_FIELD_NUMBERrbZCOMPLEX_OPT2_FIELD_NUMBERrdZCOMPLEX_OPT3_FIELD_NUMBERrfZCOMPLEXOPT6_FIELD_NUMBERrhZFILEOPT_FIELD_NUMBERrjZMSGOPT_FIELD_NUMBERrlZFIELDOPT_FIELD_NUMBERrnZENUMOPT_FIELD_NUMBERrpZENUMVALOPT_FIELD_NUMBERrrZSERVICEOPT_FIELD_NUMBERrtZMETHODOPT_FIELD_NUMBERrvZREQUIRED_ENUM_OPT_FIELD_NUMBERrxZ$_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUMZ(_DUMMYMESSAGECONTAININGENUM_TESTENUMTYPEZ_NESTEDOPTIONTYPE_NESTEDENUMZ_OLDOPTIONTYPE_TESTENUMZ_NEWOPTIONTYPE_TESTENUMZ DescriptorZ FieldOptionsZMessageOptionsZOneofDescriptorZ OneofOptionsZ_TESTMESSAGEWITHCUSTOMOPTIONSZ_CUSTOMOPTIONFOOREQUESTZ_CUSTOMOPTIONFOORESPONSEZ_CUSTOMOPTIONFOOCLIENTMESSAGEZ_CUSTOMOPTIONFOOSERVERMESSAGEZ_DUMMYMESSAGECONTAININGENUMZ _DUMMYMESSAGEINVALIDASOPTIONTYPEZ_CUSTOMOPTIONMININTEGERVALUESZ_CUSTOMOPTIONMAXINTEGERVALUESZ_CUSTOMOPTIONOTHERVALUESZ_SETTINGREALSFROMPOSITIVEINTSZ_SETTINGREALSFROMNEGATIVEINTSZ_COMPLEXOPTIONTYPE1Z&_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4Z_COMPLEXOPTIONTYPE2Z&_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5Z_COMPLEXOPTIONTYPE3Z _COMPLEXOPT6Z_VARIOUSCOMPLEXOPTIONSZ_AGGREGATEMESSAGESETZ_AGGREGATEMESSAGESETELEMENTZ _AGGREGATEZ_AGGREGATEMESSAGEZ_NESTEDOPTIONTYPE_NESTEDMESSAGEZ_NESTEDOPTIONTYPEZ_OLDOPTIONTYPEZ_NEWOPTIONTYPEZ"_TESTMESSAGEWITHREQUIREDENUMOPTIONr!Zoneofs_by_namer}appendZfields_by_nameZcontaining_oneofr(Z _FILEOPTIONSr)Zmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr|ZRegisterMessagerrrrrrrrrrrrrrrrrrrrrrrrrrrZ FileOptionsZRegisterExtensionZServiceOptionsZ MethodOptionsZ has_optionsZ_optionsZvalues_by_nameZServiceDescriptorZMethodDescriptorZ_TESTSERVICEWITHCUSTOMOPTIONSZRegisterServiceDescriptorZservices_by_nameZ_AGGREGATESERVICEZGeneratedServiceTypeZServicerZGeneratedServiceStubTyperrrrrrrs                                                                                                                                                                                                                                                                                            $  $  PK!E3k3k3protobuf/__pycache__/descriptor_pool.cpython-36.pycnu[3 h@sdZdZddlZddlmZddlmZddlmZejZddZd d Z d d Z Gd dde Z ddZ erxejjZne ZddZdS)aJProvides DescriptorPool to use as a container for proto2 descriptors. The DescriptorPool is used in conjection with a DescriptorDatabase to maintain a collection of protocol buffer descriptors for use when dynamically creating message types at runtime. For most applications protocol buffers should be used via modules generated by the protocol buffer compiler tool. This should only be used when the type of protocol buffers used in an application or library cannot be predetermined. Below is a straightforward example on how to use this class: pool = DescriptorPool() file_descriptor_protos = [ ... ] for file_descriptor_proto in file_descriptor_protos: pool.Add(file_descriptor_proto) my_message_descriptor = pool.FindMessageTypeByName('some.package.MessageType') The message descriptor can be used in conjunction with the message_factory module in order to create a protocol buffer class that can be encoded and decoded. If you want to get a Python class for the specified proto, use the helper functions inside google.protobuf.message_factory directly instead of this class. z"matthewtoia@google.com (Matt Toia)N) descriptor)descriptor_database) text_encodingcCs |jdS)aLRemove leading period from fully-qualified type name. Due to b/13860351 in descriptor_database.py, types in the root namespace are generated with a leading period. This function removes that prefix. Args: name: A str, the fully-qualified symbol name. Returns: A str, the normalized fully-qualified symbol name. .)lstrip)namer%/usr/lib/python3.6/descriptor_pool.py_NormalizeFullyQualifiedNameFs r cCs|jdr|jSdSdS)zCReturns the value of the field `options`, or None if it is not set.optionsN)HasFieldr )Zdescriptor_protorrr _OptionsOrNoneUs r cCs6|jo4|jjo4|jjjo4|jtjjko4|j tjj kS)N) is_extensioncontaining_typeZ has_optionsZ GetOptionsZmessage_set_wire_formattyperFieldDescriptor TYPE_MESSAGElabelZLABEL_OPTIONAL)fieldrrr _IsMessageSetExtension]s  rc@s&eZdZdZerdFddZdGddZddZd d Zd d Z d dZ ddZ ddZ ddZ ddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.ZdHd/d0ZdId1d2ZdJd4d5Zd6d7Zd8d9Zd:d;Z dd?Z"d@dAZ#dBdCZ$dDdEZ%dS)KDescriptorPoolzGA collection of protobufs dynamically constructed by descriptor protos.NcCs tjj|S)N)r_messager)cls descriptor_dbrrr __new__jszDescriptorPool.__new__cCsJtj|_||_i|_i|_i|_i|_i|_t j t |_ t j t |_ dS)aInitializes a Pool of proto buffs. The descriptor_db argument to the constructor is provided to allow specialized file descriptor proto lookup code to be triggered on demand. An example would be an implementation which will read and compile a file specified in a call to FindFileByName() and not require the call to Add() at all. Results from this database will be cached internally here as well. Args: descriptor_db: A secondary source of file descriptors. N)rZDescriptorDatabase _internal_db_descriptor_db _descriptors_enum_descriptors_service_descriptors_file_descriptors_toplevel_extensions collections defaultdictdict_extensions_by_name_extensions_by_number)selfrrrr __init__ns  zDescriptorPool.__init__cCs|jj|dS)zAdds the FileDescriptorProto and its types to this pool. Args: file_desc_proto: The FileDescriptorProto to add. N)rAdd)r'file_desc_protorrr r)szDescriptorPool.AddcCs&ddlm}|jj|}|j|dS)zAdds the FileDescriptorProto and its types to this pool. Args: serialized_file_desc_proto: A bytes string, serialization of the FileDescriptorProto to add. r)descriptor_pb2N)google.protobufr+ZFileDescriptorProtoZ FromStringr))r'Zserialized_file_desc_protor+r*rrr AddSerializedFiles z DescriptorPool.AddSerializedFilecCs0t|tjstd||j|j<|j|jdS)aAdds a Descriptor to the pool, non-recursively. If the Descriptor contains nested messages or enums, the caller must explicitly register them. This method also registers the FileDescriptor associated with the message. Args: desc: A Descriptor. z+Expected instance of descriptor.Descriptor.N) isinstancer Descriptor TypeErrorr full_name_AddFileDescriptorfile)r'descrrr AddDescriptors  zDescriptorPool.AddDescriptorcCs0t|tjstd||j|j<|j|jdS)zAdds an EnumDescriptor to the pool. This method also registers the FileDescriptor associated with the enum. Args: enum_desc: An EnumDescriptor. z/Expected instance of descriptor.EnumDescriptor.N)r.rEnumDescriptorr0rr1r2r3)r'Z enum_descrrr AddEnumDescriptors  z DescriptorPool.AddEnumDescriptorcCs$t|tjstd||j|j<dS)z^Adds a ServiceDescriptor to the pool. Args: service_desc: A ServiceDescriptor. z2Expected instance of descriptor.ServiceDescriptor.N)r.rServiceDescriptorr0rr1)r'Z service_descrrr AddServiceDescriptors z#DescriptorPool.AddServiceDescriptorcCst|tjo|jstd|jdkr0||j|j<y|j|j |j }Wnt k rZYn(X||k rt d|j|j|j j|j f||j|j |j <||j |j |j<t|r||j |j |jj<dS)a;Adds a FieldDescriptor describing an extension to the pool. Args: extension: A FieldDescriptor. Raises: AssertionError: when another extension with the same number extends the same message. TypeError: when the specified extension is not a descriptor.FieldDescriptor. z!Expected an extension descriptor.NzSExtensions "%s" and "%s" both try to extend message type "%s" with field number %d.)r.rrrr0extension_scoper!r1r&rnumberKeyErrorAssertionErrorr%r message_type)r' extensionZ existing_descrrr AddExtensionDescriptors&   z%DescriptorPool.AddExtensionDescriptorcCs|j|dS)zAdds a FileDescriptor to the pool, non-recursively. If the FileDescriptor contains messages or enums, the caller must explicitly register them. Args: file_desc: A FileDescriptor. N)r2)r' file_descrrr AddFileDescriptors z DescriptorPool.AddFileDescriptorcCs$t|tjstd||j|j<dS)zAdds a FileDescriptor to the pool, non-recursively. If the FileDescriptor contains messages or enums, the caller must explicitly register them. Args: file_desc: A FileDescriptor. z/Expected instance of descriptor.FileDescriptor.N)r.rFileDescriptorr0r r)r'rArrr r2s z!DescriptorPool._AddFileDescriptorcCsy |j|Stk rYnXy|jj|}Wn:tk rj}z|jrV|jj|}n|WYdd}~XnX|s|td||j|S)zGets a FileDescriptor by file name. Args: file_name: The path to the file to get a descriptor for. Returns: A FileDescriptor for the named file. Raises: KeyError: if the file cannot be found in the pool. NzCannot find a file named %s)r r<rFindFileByNamer!_ConvertFileProtoToFileDescriptor)r' file_name file_protoerrorrrr rDs   zDescriptorPool.FindFileByNamec3Cst|}y |j|jStk r(YnXy |j|jStk rJYnXy |j|jStk rlYnXy |j|Stk rYnXy |j|jStk rYnX|jd\}}}y|j |}|j |st |jStk rtd|YnXdS)aGets the FileDescriptor for the file containing the specified symbol. Args: symbol: The name of the symbol to search for. Returns: A FileDescriptor that contains the specified symbol. Raises: KeyError: if the file cannot be found in the pool. rz Cannot find a file containing %sN) r rr3r<rr_FindFileContainingSymbolInDbr! rpartitionFindMessageTypeByNameextensions_by_namer=)r'symbol message_name_extension_namemessagerrr FindFileContainingSymbol+s8       z'DescriptorPool.FindFileContainingSymbolcCs&t|}||jkr|j||j|S)zLoads the named descriptor from the pool. Args: full_name: The full name of the descriptor to load. Returns: The descriptor for the named type. Raises: KeyError: if the message cannot be found in the pool. )r rrI)r'r1rrr rK[s   z$DescriptorPool.FindMessageTypeByNamecCs&t|}||jkr|j||j|S)zLoads the named enum descriptor from the pool. Args: full_name: The full name of the enum descriptor to load. Returns: The enum descriptor for the named type. Raises: KeyError: if the enum cannot be found in the pool. )r rrI)r'r1rrr FindEnumTypeByNamems   z!DescriptorPool.FindEnumTypeByNamecCs,t|}|jd\}}}|j|}|j|S)aLoads the named field descriptor from the pool. Args: full_name: The full name of the field descriptor to load. Returns: The field descriptor for the named field. Raises: KeyError: if the field cannot be found in the pool. r)r rJrKZfields_by_name)r'r1rNrOZ field_namemessage_descriptorrrr FindFieldByNames  zDescriptorPool.FindFieldByNamecCs,t|}|jd\}}}|j|}|j|S)aLoads the named oneof descriptor from the pool. Args: full_name: The full name of the oneof descriptor to load. Returns: The oneof descriptor for the named oneof. Raises: KeyError: if the oneof cannot be found in the pool. r)r rJrKZoneofs_by_name)r'r1rNrOZ oneof_namerTrrr FindOneofByNames  zDescriptorPool.FindOneofByNamecCspt|}y |j|Stk r&YnX|jd\}}}y|j|}Wntk rd|j|}YnX|j|S)aLoads the named extension descriptor from the pool. Args: full_name: The full name of the extension descriptor to load. Returns: A FieldDescriptor, describing the named extension. Raises: KeyError: if the extension cannot be found in the pool. r)r r!r<rJrKrIrL)r'r1rNrOrPscoperrr FindExtensionByNames  z"DescriptorPool.FindExtensionByNamecCs|j||S)aGets the extension of the specified message with the specified number. Extensions have to be registered to this pool by calling AddExtensionDescriptor. Args: message_descriptor: descriptor of the extended message. number: integer, number of the extension field. Returns: A FieldDescriptor describing the extension. Raises: KeyError: when no extension with the given number is known for the specified message. )r&)r'rTr;rrr FindExtensionByNumbersz$DescriptorPool.FindExtensionByNumbercCst|j|jS)a!Gets all the known extension of a given message. Extensions have to be registered to this pool by calling AddExtensionDescriptor. Args: message_descriptor: descriptor of the extended message. Returns: A list of FieldDescriptor describing the extensions. )listr&values)r'rTrrr FindAllExtensionss z DescriptorPool.FindAllExtensionscCs&t|}||jkr|j||j|S)aLoads the named service descriptor from the pool. Args: full_name: The full name of the service descriptor to load. Returns: The service descriptor for the named service. Raises: KeyError: if the service cannot be found in the pool. )r rrI)r'r1rrr FindServiceByNames   z DescriptorPool.FindServiceByNamecCsfy|jj|}Wn:tk rJ}z|jr6|jj|}n|WYdd}~XnX|s\td||j|S)a"Finds the file in descriptor DB containing the specified symbol. Args: symbol: The name of the symbol to search for. Returns: A FileDescriptor that contains the specified symbol. Raises: KeyError: if the file cannot be found in the descriptor database. Nz Cannot find a file containing %s)rrRr<rrE)r'rMrGrHrrr rIs  z,DescriptorPool._FindFileContainingSymbolInDbc s8|jjkr,tj|j}fdd|jDfdd|jD}tj|j|j|j t ||j |d}i}xD|D]<}|j j t|jj|j ddt|jjDqxWx0|jD]&}j||j|||j }||j|j<qWx*|jD] } j| |j|d||j| j<qWx`t|jD]R\} } j| |j| |dd } j|j| j|| _j| | |j|| |j| j<q"Wx |jD]} j|j| |qW|jrt|j}nd }x,|jD]"} j|| j|}||j| j<qWx4t|jD]&\} }j || ||j||j!|j<qWj"||j|j<j|jS) aDCreates a FileDescriptor from a proto or returns a cached copy. This method also has the side effect of loading all the symbols found in the file into the appropriate dictionaries in the pool. Args: file_proto: The proto to convert. Returns: A FileDescriptor matching the passed in proto. csg|]}j|qSr)rD).0n)r'rr szDDescriptorPool._ConvertFileProtoToFileDescriptor..csg|] }|qSrr)r^i) direct_depsrr r`s)Zpoolrpackagesyntaxr Z serialized_pb dependenciesZpublic_dependenciescss|]}t|j|fVqdS)N)_PrefixWithDotr1)r^enumrrr ,szCDescriptorPool._ConvertFileProtoToFileDescriptor..NT)r)#rr rZ_GetDeps dependencyZpublic_dependencyrrCrcrdr ZSerializeToStringupdate_ExtractSymbolsZmessage_types_by_namer[Zenum_types_by_namer>_ConvertMessageDescriptor enum_type_ConvertEnumDescriptor enumerater?_MakeFieldDescriptor_GetTypeFromScopeextendeer _SetFieldTyperL_SetAllFieldTypesrfZservice_MakeServiceDescriptorZservices_by_namer))r'rGZ built_depsZ public_depsZfile_descriptorrWrkr>Z message_descroindexextension_protoextension_desc desc_protoZdesc_proto_prefixr4 service_protor)rbr'r rEsf                z0DescriptorPool._ConvertFileProtoToFileDescriptorcs|rdj||jfn|jdkr*d}nj}dkr\}}|jd rL|j}| |jj| || || |_qLW|t<|j<|S)aAdds the proto to the pool in the specified package. Args: desc_proto: The descriptor_pb2.DescriptorProto protobuf message. package: The package the proto should be located in. file_desc: The file containing this message. scope: Dict mapping short and full symbols to message and enum types. syntax: string indicating syntax of the file ("proto2" or "proto3") Returns: The added descriptor. rNcsg|]}j|qSr)rn)r^nested) desc_namerArWr'rdrr r`zsz.csg|]}j|dqS)N)rp)r^rg)r~rArWr'rr r`~scs g|]\}}j||qSr)rr)r^rxr)r~rAr'rr r`sc s$g|]\}}j||ddqS)T)r)rr)r^rxr?)r~rAr'rr r`sc s4g|],\}}tj|jdj|jf|dg|jqS)rN)rZOneofDescriptorrjoinr )r^rxr4)r~rr r`scSsg|]}|j|jfqSr)startend)r^rrrr r`sTF)rr1filenamerfieldsoneofs nested_types enum_types extensionsr is_extendableextension_rangesr3Zserialized_startZserialized_endrd oneof_index)rr nested_typerorqrr?Z oneof_declZextension_rangerr/r rrrr rrappendZcontaining_oneofrfr)r'r{rcrArWrdrFr}Zenumsrrrrrr4rgZ field_index field_descrr)r~rArWr'rdr rn]sf          z(DescriptorPool._ConvertMessageDescriptorc s|rdj||jf}n|j}|dkr*d}n|j}fddt|jD}tj|j|||||t|d} | |d|<| j|<| S)aMake a protobuf EnumDescriptor given an EnumDescriptorProto protobuf. Args: enum_proto: The descriptor_pb2.EnumDescriptorProto protobuf message. package: Optional package name for the new message EnumDescriptor. file_desc: The file containing the enum descriptor. containing_type: The type containing this enum. scope: Scope containing available types. Returns: The added descriptor rNcsg|]\}}j||qSr)_MakeEnumValueDescriptor)r^rxvalue)r'rr r`sz9DescriptorPool._ConvertEnumDescriptor..)rr1rr3r[rr z.%s)rrrqrrr6r r) r'Z enum_protorcrArrWZ enum_namerFr[r4r)r'r rps$    z%DescriptorPool._ConvertEnumDescriptorFcCsR|rdj||jf}n|j}tj|j|||j|jdddd|jdd|dt||dS)aCreates a field descriptor from a FieldDescriptorProto. For message and enum type fields, this method will do a look up in the pool for the appropriate descriptor for that type. If it is unavailable, it will fall back to the _source function to create it. If this type is still unavailable, construction will fail. Args: field_proto: The proto describing the field. message_name: The name of the containing message. index: Index of the field file_desc: The file containing the field descriptor. is_extension: Indication that this field is for an extension. Returns: An initialized FieldDescriptor object rNF)rr1rxr;rcpp_typer>rorrhas_default_value default_valuerr:r r3)rrrrr;rrr )r' field_protorNrxrArr1rrr rrs(z#DescriptorPool._MakeFieldDescriptorc Cst|}|j||j|}|dkr,t|j}ndj||jg}x*t|j|jD]\}}|j||||qLWx@tt|j |j D]*\}} |j||j || _ |j|| ||q|Wx|j D]} |j|| |qWdS)aSets all the descriptor's fields's types. This method also sets the containing types on any extensions. Args: package: The current package of desc_proto. desc_proto: The message descriptor to update. scope: Enclosing scope of available types. rN)rfrsrrziprrrurZr?rrtrrrv) r'rcr{rWZ main_descZnested_packagerrryrzrrrr rvs   z DescriptorPool._SetAllFieldTypescCs |jr|j||j|}nd}|jdsHt|tjr>tjj|_n tjj |_tjj |j|_ |jtjjkst|jtjj krz||_ |jtjj kr||_|jtjjkrd|_g|_nh|jdrvd|_|jtjjks|jtjjkrt|j|_n|jtjjkr|j|_nr|jtjjkr$|jjdk|_nP|jtjj krH|jj|jj|_n,|jtjjkrhtj|j|_n t|j|_nd|_|jtjjks|jtjjkrd|_np|jtjjkrd|_nX|jtjjkrd|_n@|jtjj kr|jjd j|_n|jtjjkrd |_nd |_|j|_dS) aSets the field's type, cpp_type, message_type and enum_type. Args: field_proto: Data about the field in proto format. field_desc: The descriptor to modiy. package: The package the field's container is in. scope: Enclosing scope of available types. NrFrTtruegrir) type_namersr r.rr/rrrZ TYPE_ENUMZProtoTypeToCppProtoTyperZ TYPE_GROUPr>rorZLABEL_REPEATEDrrZ TYPE_DOUBLEZ TYPE_FLOATfloatZ TYPE_STRINGZ TYPE_BOOLlowerZvalues_by_namer;Z TYPE_BYTESrZ CUnescapeintr[)r'rrrcrWr4rrr ru s^          zDescriptorPool._SetFieldTypecCstj|j||jt|ddS)zCreates a enum value descriptor object from a enum value proto. Args: value_proto: The proto describing the enum value. index: The index of the enum value. Returns: An initialized EnumValueDescriptor object. N)rrxr;r r)rZEnumValueDescriptorrr;r )r'Z value_protorxrrr rfs z'DescriptorPool._MakeEnumValueDescriptorcsdrdj|jfn|jfddt|jD}tj|j||t||d}|j<|S)aMake a protobuf ServiceDescriptor given a ServiceDescriptorProto. Args: service_proto: The descriptor_pb2.ServiceDescriptorProto protobuf message. service_index: The index of the service in the File. scope: Dict mapping short and full symbols to message and enum types. package: Optional package name for the new message EnumDescriptor. file_desc: The file containing the service descriptor. Returns: The added descriptor. rcs"g|]\}}j||qSr)_MakeMethodDescriptor)r^rx method_proto)rcrWr' service_namerr r`sz9DescriptorPool._MakeServiceDescriptor..)rr1rxmethodsr r3)rrrqmethodrr8r r)r'r|Z service_indexrWrcrArr4r)rcrWr'rr rwxs z%DescriptorPool._MakeServiceDescriptorc CsNdj||jf}|j||j|}|j||j|}tj|j||d||t|dS)aCreates a method descriptor from a MethodDescriptorProto. Args: method_proto: The proto describing the method. service_name: The name of the containing service. package: Optional package name to look up for types. scope: Scope containing available types. index: Index of the method in the service. Returns: An initialized MethodDescriptor object. rN)rr1rxZcontaining_service input_type output_typer )rrrsrrrZMethodDescriptorr ) r'rrrcrWrxr1rrrrr rs  z$DescriptorPool._MakeMethodDescriptorccs^xX|D]P}t|j|fVx|j|jD] }|Vq(Wx|jD]}t|j|fVq>WqWdS)zPulls out all the symbols from descriptor protos. Args: descriptors: The messages to extract descriptors from. Yields: A two element tuple of the type name and descriptor object. N)rfr1rmrr)r'Z descriptorsr4rMrgrrr rms   zDescriptorPool._ExtractSymbolsccs8x2|D]*}|j|}|Vx|jD] }|Vq"WqWdS)zRecursively finds dependencies for file protos. Args: dependencies: The names of the files being depended on. Yields: Each direct and indirect dependency. N)rDre)r'rerkZdep_descZ parent_deprrr rjs   zDescriptorPool._GetDepscCsR||krJt|jd}x2|rHdj||g}||kr<|}Pq|jdqW||S)a?Finds a given type name in the current scope. Args: package: The package the proto should be located in. type_name: The name of the type to be found in the scope. scope: Dict mapping short and full symbols to message and enum types. Returns: The descriptor for the requested type. r)rfsplitrpop)r'rcrrWZ componentsZpossible_matchrrr rss z DescriptorPool._GetTypeFromScope)N)N)NNNN)NNNN)F)&__name__ __module__ __qualname____doc___USE_C_DESCRIPTORSrr(r)r-r5r7r9r@rBr2rDrRrKrSrUrVrXrYr\r]rIrErnrprrrvrurrwrrmrjrsrrrr resJ    * 0U P & + F rcCs|jdr|Sd|S)Nrz.%s) startswith)rrrr rfsrfcCstS)N)_DEFAULTrrrr Defaultsr)r __author__r"r,rrrrr r robjectrrfrZ default_poolrrrrrr 8s,     PK!q))+protobuf/__pycache__/message.cpython-36.pycnu[3 h,@sLdZdZGdddeZGdddeZGdddeZGdd d eZd S) z6Contains an abstract base class for protocol messages.z#robinson@google.com (Will Robinson)c@s eZdZdS)ErrorN)__name__ __module__ __qualname__rr/usr/lib/python3.6/message.pyr'src@s eZdZdS) DecodeErrorN)rrrrrrrr(src@s eZdZdS) EncodeErrorN)rrrrrrrr)src@seZdZdZgZdZd7ddZddZddZd d Z d d Z d dZ ddZ ddZ ddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6ZdS)8MessageaUAbstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. TODO(robinson): Link to an HTML document here. TODO(robinson): Document that instances of this class will also have an Extensions attribute with __getitem__ and __setitem__. Again, not sure how to best convey this. TODO(robinson): Document that the class must also have a static RegisterExtension(extension_field) method. Not sure how to best express at this point. NcCst|}|j||S)N)type MergeFrom)selfmemoZclonerrr __deepcopy__Es  zMessage.__deepcopy__cCstdS)z9Recursively compares two messages by value and structure.N)NotImplementedError)r other_msgrrr__eq__JszMessage.__eq__cCs ||k S)Nr)r rrrr__ne__NszMessage.__ne__cCs tddS)Nzunhashable object) TypeError)r rrr__hash__RszMessage.__hash__cCstdS)z7Outputs a human-readable representation of the message.N)r)r rrr__str__UszMessage.__str__cCstdS)z7Outputs a human-readable representation of the message.N)r)r rrr __unicode__YszMessage.__unicode__cCstdS)aMerges the contents of the specified message into current message. This method merges the contents of the specified message into the current message. Singular fields that are set in the specified message overwrite the corresponding fields in the current message. Repeated fields are appended. Singular sub-messages and groups are recursively merged. Args: other_msg: Message to merge into the current message. N)r)r rrrrr ]s zMessage.MergeFromcCs"||kr dS|j|j|dS)zCopies the content of the specified message into the current message. The method clears the current message and then merges the specified message using MergeFrom. Args: other_msg: Message to copy into the current one. N)Clearr )r rrrrCopyFromjs zMessage.CopyFromcCstdS)z,Clears all data that was set in the message.N)r)r rrrrxsz Message.ClearcCstdS)aMark this as present in the parent. This normally happens automatically when you assign a field of a sub-message, but sometimes you want to make the sub-message present while keeping it empty. If you find yourself using this, you may want to reconsider your design.N)r)r rrr SetInParent|szMessage.SetInParentcCstdS)zChecks if the message is initialized. Returns: The method returns True if the message is initialized (i.e. all of its required fields are set). N)r)r rrr IsInitializedszMessage.IsInitializedcCstdS)aZMerges serialized protocol buffer data into this message. When we find a field in |serialized| that is already present in this message: - If it's a "repeated" field, we append to the end of our list. - Else, if it's a scalar, we overwrite our field. - Else, (it's a nonrepeated composite), we recursively merge into the existing composite. TODO(robinson): Document handling of unknown fields. Args: serialized: Any object that allows us to call buffer(serialized) to access a string of bytes using the buffer interface. TODO(robinson): When we switch to a helper, this will return None. Returns: The number of bytes read from |serialized|. For non-group messages, this will always be len(serialized), but for messages which are actually groups, this will generally be less than len(serialized), since we must stop when we reach an END_GROUP tag. Note that if we *do* stop because of an END_GROUP tag, the number of bytes returned does not include the bytes for the END_GROUP tag information. N)r)r serializedrrrMergeFromStringszMessage.MergeFromStringcCs|j|j|dS)zParse serialized protocol buffer data into this message. Like MergeFromString(), except we clear the object first and do not return the value that MergeFromString returns. N)rr)r rrrrParseFromStringszMessage.ParseFromStringcKstdS)aSerializes the protocol message to a binary string. Arguments: **kwargs: Keyword arguments to the serialize method, accepts the following keyword args: deterministic: If true, requests deterministic serialization of the protobuf, with predictable ordering of map keys. Returns: A binary string representation of the message if all of the required fields in the message are set (i.e. the message is initialized). Raises: message.EncodeError if the message isn't initialized. N)r)r kwargsrrrSerializeToStringszMessage.SerializeToStringcKstdS)aSerializes the protocol message to a binary string. This method is similar to SerializeToString but doesn't check if the message is initialized. Arguments: **kwargs: Keyword arguments to the serialize method, accepts the following keyword args: deterministic: If true, requests deterministic serialization of the protobuf, with predictable ordering of map keys. Returns: A string representation of the partial message. N)r)r rrrrSerializePartialToStringsz Message.SerializePartialToStringcCstdS)aReturns a list of (FieldDescriptor, value) tuples for all fields in the message which are not empty. A message field is non-empty if HasField() would return true. A singular primitive field is non-empty if HasField() would return true in proto2 or it is non zero in proto3. A repeated field is non-empty if it contains at least one element. The fields are ordered by field numberN)r)r rrr ListFieldsszMessage.ListFieldscCstdS)zChecks if a certain field is set for the message, or if any field inside a oneof group is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.N)r)r field_namerrrHasFieldszMessage.HasFieldcCstdS)zClears the contents of a given field, or the field set inside a oneof group. If the name neither refers to a defined field or oneof group, ValueError is raised.N)r)r r"rrr ClearFieldszMessage.ClearFieldcCstdS)zReturns the name of the field that is set inside a oneof group, or None if no field is set. If no group with the given name exists, ValueError will be raised.N)r)r Z oneof_grouprrr WhichOneofszMessage.WhichOneofcCstdS)N)r)r extension_handlerrr HasExtension szMessage.HasExtensioncCstdS)N)r)r r&rrrClearExtension szMessage.ClearExtensioncCstdS)N)r)r rrrDiscardUnknownFieldsszMessage.DiscardUnknownFieldscCstdS)zmReturns the serialized size of this message. Recursively calls ByteSize() on all contained messages. N)r)r rrrByteSizeszMessage.ByteSizecCstdS)a6Internal method used by the protocol message implementation. Clients should not call this directly. Sets a listener that this message will call on certain state transitions. The purpose of this method is to register back-edges from children to parents at runtime, for the purpose of setting "has" bits and byte-size-dirty bits in the parent and ancestor objects whenever a child or descendant object is modified. If the client wants to disconnect this Message from the object tree, she explicitly sets callback to None. If message_listener is None, unregisters any existing listener. Otherwise, message_listener must implement the MessageListener interface in internal/message_listener.py, and we discard any listener registered via a previous _SetListener() call. N)r)r Zmessage_listenerrrr _SetListenerszMessage._SetListenercCst|jdS)zSupport the pickle protocol.)r)dictr )r rrr __getstate__-szMessage.__getstate__cCs|j|j|ddS)zSupport the pickle protocol.rN)__init__r)r staterrr __setstate__1szMessage.__setstate__)N) rrr__doc__ __slots__Z DESCRIPTORrrrrrrr rrrrrrrr r!r#r$r%r'r(r)r*r+r-r0rrrrr ,s:    ! r N)r1 __author__ Exceptionrrrobjectr rrrr#s PK!ǍPP?protobuf/__pycache__/unittest_no_arena_pb2.cpython-36.opt-1.pycnu[3 hl@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZy ejZWnek rejjjZYnXdd lmZejdddedejejgdZejdddeejddddddejddddddejddddddgddddd Zejeej eZ!dZ"dZ#dZ$ejd!d"deejd#dddddejd$dddddejd%dddddejd&ddGdddgddd'd(d Z%eje%ej&d)d*dedej'd+d,dddddd-ddddd-dded.ggggdd-dggd/d0d1Z(ej&d2d3dedej'd4d5dd6dddd-ddddd-dded.ggggdd-dggd7d8d1Z)ej&d9d:dedej'd4d;ddd1Z*ej&d?d@dedej'dAdBdddddd-ddddd-dded.ej'dCdDdddddd-ddddd-dded.ej'dEdFdddGddd-ddddd-dded.ej'dHdIdddddd-ddddd-dded.ej'dJdKddd6ddd-ddddd-dded.ej'dLdMdddNddd-ddddd-dded.ej'dOdPddQdQddd-ddddd-dded.ej'dRdSdQdTdddd-ddddd-dded.ej'dUdVdTdWdXddd-ddddd-dded.ej'dYdZdWd[d\ddd-ddddd-dded.ej'd]d^d[d_dddd-e+ddddd-dded.ej'd`dad_dbdddd-e+ddddd-dded.ej'dcdddbdGdTdQdd-d-dddd-dded.ej'dedfdGdgdWdWdd-edhj,didddd-dded.ej'djdkdgdXdbdWdd-edhdddd-dded.ej'dldmdXd\d[d[dd-ddddd-dded.ej'dndod\dNd_d[dd-ddddd-dded.ej'dpdqd6drd_d[dd-ddddd-dded.ej'dsdtdNdud_d[dd-ddddd-dded.ej'dvdwdrdxdgdTdd-ddddd-dded.ej'dydzdud{dgdTdd-ddddd-dded.ej'd|d}dxd~dgdTdd-dQdddd-dded.ej'ddd{ddWdWdd-edhj,didddd-dej-ej.eded.ej'ddd~ddWdWdd-edhj,didddd-dej-ej.eded.ej'ddddd_d[dd-ddddd-dded.ej'ddddd_d[dd-ddddd-dej-ej.eded.ej'dddddddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'dddddGddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'ddddd6ddd-gdddd-dded.ej'dddddNddd-gdddd-dded.ej'dddddQddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'dddddXddd-gdddd-dded.ej'ddddd\ddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'dddddTdQdd-gdddd-dded.ej'dddddWdWdd-gdddd-dded.ej'dddddbdWdd-gdddd-dded.ej'ddddd[d[dd-gdddd-dded.ej'ddddd_d[dd-gdddd-dded.ej'ddddd_d[dd-gdddd-dded.ej'ddddd_d[dd-gdddd-dded.ej'dddddgdTdd-gdddd-dded.ej'dddddgdTdd-gdddd-dded.ej'ddddedej'd?d@ddd_d[dd-ddddd-dded.ggggdd-dggdAdBd1Z2e0e(_3e0e)_3e0e*_3e)e0j4dl_5e(e0j4dn_5e1e0j4dp_5ej6e0j4ds_5e%e0j4dv_7ee0j4dy_7ej8e0j4d|_7ej9e0j4d_5e(e0j4d_5e*e0j4d_5e(e0j4d_5e1e0j4d_5ej6e0j4d_5e%e0j4d_7ee0j4d_7ej8e0j4d_7e(e0j4d_5e%e0j4d_7ee0j4d_7ej8e0j4d_7e(e0j4d&_5e(e0j4d/_5e0e%_3e0j:d2j;je2j4d?_5e0ej?d?<e1ej?d7<e2ej?d=<eej@d<ejAee jBd?e jCfeDe jBd)e jCfeDe(dCdDe jBd2e jCfeDe)dCdDe jBd9e jCfeDe*dCdDe0dCdEZEejFeEejFeEjGejFeEjHejFeEjIe jBd7e jCfeDe1dCdDZJejFeJe jBd=e jCfeDe2dCdDZKejFeKde_Lej-ejMedFe_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d/_Lej-ej.ede0j4d/_NdS(JNcCs|S)N)xrr+/usr/lib/python3.6/unittest_no_arena_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_import_pb2)unittest_arena_pb2z'google/protobuf/unittest_no_arena.protoZprotobuf_unittest_no_arenaZproto2u 'google/protobuf/unittest_no_arena.protoprotobuf_unittest_no_arena%google/protobuf/unittest_import.proto$google/protobuf/unittest_arena.proto"Ð TestAllTypes optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( M optionalgroup ( 26.protobuf_unittest_no_arena.TestAllTypes.OptionalGroupW optional_nested_message ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageL optional_foreign_message ( 2*.protobuf_unittest_no_arena.ForeignMessageH optional_import_message ( 2'.protobuf_unittest_import.ImportMessageQ optional_nested_enum (23.protobuf_unittest_no_arena.TestAllTypes.NestedEnumF optional_foreign_enum (2'.protobuf_unittest_no_arena.ForeignEnumB optional_import_enum (2$.protobuf_unittest_import.ImportEnum! optional_string_piece ( B optional_cord ( BU optional_public_import_message ( 2-.protobuf_unittest_import.PublicImportMessageT optional_message ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB( repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( M repeatedgroup. ( 26.protobuf_unittest_no_arena.TestAllTypes.RepeatedGroupW repeated_nested_message0 ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageL repeated_foreign_message1 ( 2*.protobuf_unittest_no_arena.ForeignMessageH repeated_import_message2 ( 2'.protobuf_unittest_import.ImportMessageQ repeated_nested_enum3 (23.protobuf_unittest_no_arena.TestAllTypes.NestedEnumF repeated_foreign_enum4 (2'.protobuf_unittest_no_arena.ForeignEnumB repeated_import_enum5 (2$.protobuf_unittest_import.ImportEnum! repeated_string_piece6 ( B repeated_cord7 ( BY repeated_lazy_message9 ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB( default_int32= (:41 default_int64> (:42 default_uint32? ( :43 default_uint64@ (:44 default_sint32A (:-45 default_sint64B (:46 default_fixed32C (:47 default_fixed64D (:48 default_sfixed32E (:49 default_sfixed64F (:-50 default_floatG (:51.5 default_doubleH (:52000 default_boolI (:true default_stringJ ( :hello default_bytesK ( :worldU default_nested_enumQ (23.protobuf_unittest_no_arena.TestAllTypes.NestedEnum:BARR default_foreign_enumR (2'.protobuf_unittest_no_arena.ForeignEnum: FOREIGN_BARM default_import_enumS (2$.protobuf_unittest_import.ImportEnum: IMPORT_BAR% default_string_pieceT ( :abcB default_cordU ( :123B oneof_uint32o ( HV oneof_nested_messagep ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageH oneof_stringq ( H oneof_bytesr ( H_ lazy_oneof_nested_messages ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB(H NestedMessage bb ( OptionalGroup a ( RepeatedGroup a/ ("9 NestedEnum FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿB oneof_field" ForeignMessage c ("P TestNoArenaMessage: arena_message ( 2#.proto2_arena_unittest.ArenaMessage*@ ForeignEnum FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZB%B UnittestProtoH€ˆø¢NOARN)namepackagesyntaxZ serialized_pbZ dependencies ForeignEnumz&protobuf_unittest_no_arena.ForeignEnum FOREIGN_FOO)rindexnumberoptionstype FOREIGN_BAR FOREIGN_BAZiVi) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZ NestedEnumz2protobuf_unittest_no_arena.TestAllTypes.NestedEnumZFOOZBARZBAZZNEGi i NestedMessagez5protobuf_unittest_no_arena.TestAllTypes.NestedMessageZbbz8protobuf_unittest_no_arena.TestAllTypes.NestedMessage.bbF)rr!rrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer%Z is_extensionZextension_scoperr#iH ic )rr!r"r#r%fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr&r' OptionalGroupz5protobuf_unittest_no_arena.TestAllTypes.OptionalGroupaz7protobuf_unittest_no_arena.TestAllTypes.OptionalGroup.aie i RepeatedGroupz5protobuf_unittest_no_arena.TestAllTypes.RepeatedGroupz7protobuf_unittest_no_arena.TestAllTypes.RepeatedGroup.a/i i TestAllTypesz'protobuf_unittest_no_arena.TestAllTypesZoptional_int32z6protobuf_unittest_no_arena.TestAllTypes.optional_int32Zoptional_int64z6protobuf_unittest_no_arena.TestAllTypes.optional_int64Zoptional_uint32z7protobuf_unittest_no_arena.TestAllTypes.optional_uint32 Zoptional_uint64z7protobuf_unittest_no_arena.TestAllTypes.optional_uint64Zoptional_sint32z7protobuf_unittest_no_arena.TestAllTypes.optional_sint32Zoptional_sint64z7protobuf_unittest_no_arena.TestAllTypes.optional_sint64Zoptional_fixed32z8protobuf_unittest_no_arena.TestAllTypes.optional_fixed32Zoptional_fixed64z8protobuf_unittest_no_arena.TestAllTypes.optional_fixed64Zoptional_sfixed32z9protobuf_unittest_no_arena.TestAllTypes.optional_sfixed32 Zoptional_sfixed64z9protobuf_unittest_no_arena.TestAllTypes.optional_sfixed64 Zoptional_floatz6protobuf_unittest_no_arena.TestAllTypes.optional_float Zoptional_doublez7protobuf_unittest_no_arena.TestAllTypes.optional_double Z optional_boolz5protobuf_unittest_no_arena.TestAllTypes.optional_boolZoptional_stringz7protobuf_unittest_no_arena.TestAllTypes.optional_stringzutf-8Zoptional_bytesz6protobuf_unittest_no_arena.TestAllTypes.optional_bytesZ optionalgroupz5protobuf_unittest_no_arena.TestAllTypes.optionalgroupZoptional_nested_messagez?protobuf_unittest_no_arena.TestAllTypes.optional_nested_messageZoptional_foreign_messagez@protobuf_unittest_no_arena.TestAllTypes.optional_foreign_messageZoptional_import_messagez?protobuf_unittest_no_arena.TestAllTypes.optional_import_messageZoptional_nested_enumzZdefault_uint32z6protobuf_unittest_no_arena.TestAllTypes.default_uint32?Zdefault_uint64z6protobuf_unittest_no_arena.TestAllTypes.default_uint64@Zdefault_sint32z6protobuf_unittest_no_arena.TestAllTypes.default_sint32AZdefault_sint64z6protobuf_unittest_no_arena.TestAllTypes.default_sint648BZdefault_fixed32z7protobuf_unittest_no_arena.TestAllTypes.default_fixed32CZdefault_fixed64z7protobuf_unittest_no_arena.TestAllTypes.default_fixed64:DZdefault_sfixed32z8protobuf_unittest_no_arena.TestAllTypes.default_sfixed32;EZdefault_sfixed64z8protobuf_unittest_no_arena.TestAllTypes.default_sfixed64<FZ default_floatz5protobuf_unittest_no_arena.TestAllTypes.default_floatGgI@Zdefault_doublez6protobuf_unittest_no_arena.TestAllTypes.default_doubleHi Z default_boolz4protobuf_unittest_no_arena.TestAllTypes.default_boolIZdefault_stringz6protobuf_unittest_no_arena.TestAllTypes.default_stringJZhelloZ default_bytesz5protobuf_unittest_no_arena.TestAllTypes.default_bytesKZworldZdefault_nested_enumz;protobuf_unittest_no_arena.TestAllTypes.default_nested_enumQZdefault_foreign_enumzsx                                                                                      PK!&; ; 7protobuf/__pycache__/text_encoding.cpython-36.opt-1.pycnu[3 h @s dZddlZddlZddeddDZded<ded <d ed <d ed <ded<ded<ddeddDddeddDddeddDZded<ded <d ed <d ed <ded<ded<ddZejdZddeddDddeddDZ ddZ dS)zEncoding related utilities.NcCsg|] }t|qS)chr).0irr#/usr/lib/python3.6/text_encoding.py %srz\t z\n z\r z\''z\""z\\\cCsg|] }d|qS)z\%03or)rrrrrr/s cCsg|] }t|qSr)r)rrrrrr0scCsg|] }d|qS)z\%03or)rrrrrr1scsLt|tjrtndd|r4djfdd|DSdjfdd|DS)a-Escape a bytes string for use in an ascii protocol buffer. text.encode('string_escape') does not seem to satisfy our needs as it encodes unprintable characters using two-digit hex escapes whereas our C++ unescaping function allows hex escapes to be any length. So, "1".encode('string_escape') ends up being "\x011", which will be decoded in C++ as a single-character string with char code 0x11. Args: text: A byte string to be escaped as_utf8: Specifies if result should be returned in UTF-8 encoding Returns: Escaped string cSs|S)Nr)xrrrLszCEscape..c3s|]}t|VqdS)N)_cescape_utf8_to_str)rc)Ordrr NszCEscape..c3s|]}t|VqdS)N)_cescape_byte_to_str)rr)rrrrOs) isinstancesixZ string_typesordjoin)textZas_utf8r)rrCEscape;srz"(\\+)x([0-9a-fA-F])(?![0-9a-fA-F])cCsg|] }t|qSr)r)rrrrrrSscCsg|] }d|qS)z\%03or)rrrrrrTscCsPdd}tj||}ttkr&|jdSdjdd|D}|jdjdjd S) zDUnescape a text string with C-style escape sequences to UTF-8 bytes.cSs4t|jdd@r*|jdd|jdS|jdS)NZx0r)lengroup)mrrr ReplaceHexZszCUnescape..ReplaceHexZ string_escapercss|]}tt|VqdS)N)_cescape_highbit_to_strr)rrrrrrgszCUnescape..asciiZunicode_escapeZraw_unicode_escape)_CUNESCAPE_HEXsubstrbytesdecoderencode)rr$resultrrr CUnescapeWs   r.) __doc__rerrangerrrcompiler'r%r.rrrrs,& PK!NKQKQ5protobuf/__pycache__/json_format.cpython-36.opt-1.pycnu[3 hr@sdZdZyddlmZWn ek r8ddlmZYnXddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddlmZddlmZdZeejjejjejjejjgZeejjejjgZeejjejjgZd Zd Zd Ze j e j!d Z"e j d Z#Gddde$Z%Gddde%Z&Gddde%Z'd=ddZ(d>ddZ)ddZ*Gddde+Z,ddZ-d d!Z.d"d#Z/d?d$d%Z0d@d&d'Z1e j2e3fZ4Gd(d)d)e+Z5dAd*d+Z6d,d-Z7d.d/Z8d0d1Z9d2d3gd4d5gd4d5gd6d7gd8d9gd4d5gd:d;gd<Z:dS)BatContains routines for printing protocol messages in JSON format. Simple usage example: # Create a proto object and serialize it to a json format string. message = my_proto_pb2.MyMessage(foo='bar') json_string = json_format.MessageToJson(message) # Parse a json format string to proto object. message = json_format.Parse(json_string, my_proto_pb2.MyMessage()) zjieluo@google.com (Jie Luo)) OrderedDictN) methodcaller) descriptor)symbol_databasez%Y-%m-%dT%H:%M:%SZInfinityz -InfinityZNaNzF[\ud800-\udbff](?![\udc00-\udfff])|(?|D]6}t|trn|rhd} qrd} n|} j ||||| <qPW|||<qj t j j krfdd|D||<qjr} | jjjr| jt j jkr| j t j jkr| j} d| j|f}j |||<qj |||<qWjr|j} x| jD]j t j j krdjt j jks@jrpq@jrj}nj}||krq@tri||<n,j t j j krg||<nj j||<q@WWn6tk r} ztdjj| WYdd} ~ XnX|S) z?Converts normal message according to Proto3 JSON Specification.valuetruefalsecsg|]}j|qSr )_FieldToJsonObject).0k)r r"r r sz8_Printer._RegularMessageToJsonObject..z[%s.%s]z#Failed to serialize {0} field: {1}.N) ListFieldsrname json_namer!rfields_by_name isinstanceboolr1labelrrLABEL_REPEATED is_extensionZcontaining_typerZmessage_set_wire_formatrrZLABEL_OPTIONALr(rr'fieldscpp_typeCPPTYPE_MESSAGEcontaining_oneofZ default_value ValueErrorr format) r"rr&r>r.r6Zv_fieldZjs_mapkeyZ recorded_keyfr-er )r r"r r,sf           "z$_Printer._RegularMessageToJsonObjectcCs|jtjjkr|j|S|jtjjkr^|jjj|d}|dk rD|j S|j j dkrT|St dn|jtjj kr|jtjjkrtj|jdS|SnZ|jtjjkrt|S|jtkrt|S|jtkrtj|r|dkrtStStj|rtS|S)zConverts Value message according to Proto3 JSON Specification.ZkindN null_value list_value struct_value)Z WhichOneof_ListValueMessageToJsonObjectrarbgetattrr'r8r1)r"rZwhichr.Zoneof_descriptorr r r _ValueMessageToJsonObject1s    z"_Printer._ValueMessageToJsonObjectcsfdd|jDS)zBConverts ListValue message according to Proto3 JSON Specification.csg|]}j|qSr )re)r2r.)r"r r r4Csz:_Printer._ListValueMessageToJsonObject..)values)r"rr )r"r rcAs z&_Printer._ListValueMessageToJsonObjectcCs.|j}i}x|D]}|j||||<qW|S)z?Converts Struct message according to Proto3 JSON Specification.)r>re)r"rr>retrDr r r _StructMessageToJsonObjectFs  z#_Printer._StructMessageToJsonObjectcCs|j|jjd|jS)Nr.)r1r'r8r.)r"rr r r r*Nsz$_Printer._WrapperMessageToJsonObjectN)FF)rrr r r#rrr,r1r^r_rercrhr*r r r r rs  E!rcCs |jjdkS)Nzgoogle/protobuf/wrappers.proto)rLr6)r-r r r r)Ssr)cCs8i}x.|D]&\}}||kr(tdj||||<q W|S)Nz'Failed to load JSON: duplicate key {0}.)rrC)r&resultr6r.r r r _DuplicateCheckerWs  rjc CsZtj}|jdd}y|jj|}Wn"tk rHtdj|YnX|j|}|S)N/z1Can not find message descriptor by type_url: {0}.) rZDefaultsplitZpoolZFindMessageTypeByNameKeyError TypeErrorrCZ GetPrototype)r[ZdbZ type_namer-Z message_classr r r r\`s r\cCst|tjs|jd}y(tjdkr.tj|}ntj|td}Wn4t k rr}zt dj t |WYdd}~XnXt |||S)abParses a JSON representation of a protocol message into a message. Args: text: Message JSON representation. message: A protocol buffer message to merge into. ignore_unknown_fields: If True, do not raise errors for unknown fields. Returns: The same message passed as argument. Raises:: ParseError: On JSON parsing problems. zutf-8r)Zobject_pairs_hookzFailed to load JSON: {0}.N)rrq)r9six text_typerQsys version_infor$loadsrjrBrrCrT ParseDict)textrignore_unknown_fieldsr&rFr r r Parsens   $rzcCst|}|j|||S)a.Parses a JSON dictionary representation into a message. Args: js_dict: Dict representation of a JSON message. message: A protocol buffer message to merge into. ignore_unknown_fields: If True, do not raise errors for unknown fields. Returns: The same message passed as argument. )_ParserConvertMessage)Zjs_dictrryparserr r r rws  rwc@s`eZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ dS)r{z(JSON format parser for protocol message.cCs ||_dS)N)ry)r"ryr r r r#sz_Parser.__init__cCsT|j}|j}t|r"|j||n.|tkrDtt|d|||n |j||dS)zConvert a JSON object into a message. Args: value: A JSON object. message: A WKT or regular protocol message to record the data. Raises: ParseError: In case of convert problems. rlN)r'r(r)_ConvertWrapperMessager+r_ConvertFieldValuePair)r"r.rr-r(r r r r|s z_Parser.ConvertMessagecCsg}|j}tdd|jD}xl|D]b}y|j|d}|sN|jj|d}| rtj|r|jsttdj |j |dd}dj |j ddd}|j j|}|s|jrw&tdj |j ||j||krtdj |jj ||j||jdk r(|jj} | |krtd j |jj | |j| ||} | dkrz|jtjjkrl|jj d krlt||j} d | _n |j|jw&t|r|j|j|j| ||n,|jtjjkrt|j|jt| t std j || |jtjjkr8x| D]B} t||jj!} | dkr$| jj d kr$td |j"| | qWn:x| D]0} | dkrTtd t||jjt#| |q>WnZ|jtjjkr|j$r|j |} n t||j} | j%|j"| | nt&||jt#| |Wq&tk r$} z6|r|jdkrtdj || n tt'| WYdd} ~ Xq&t(k rV} ztdj || WYdd} ~ Xq&t)k r} ztdj || WYdd} ~ Xq&Xq&WdS)zConvert field value pairs into regular message. Args: js: A JSON object to convert the field value pairs. message: A regular protocol message to record the data. Raises: ParseError: In case of problems converting. css|]}|j|fVqdS)N)r7)r2rEr r r sz1_Parser._ConvertFieldValuePair..Nz)Message type {0} does not have extensionsrl.zVMessage type "{0}" has no field named "{1}". Available Fields(except extensions): {2}z9Message type "{0}" should not have multiple "{1}" fields.z?Message type "{0}" should not have multiple "{1}" oneof fields.zgoogle.protobuf.Valuerz.repeated field {0} must be in [] which is {1}.zAnull is not allowed to be used as an element in a repeated field.zFailed to parse {0} field: {1}zFailed to parse {0} field: {1}.rmrm)*r'dictr>rKr8_VALID_EXTENSION_NAMEmatchZ is_extendablerrCr(joinrnZ ExtensionsZ_FindExtensionByNameryappendrAr6r?rrr@rrdr` ClearFieldr!_ConvertMapFieldValuer;r<r9listaddr|_ConvertScalarFieldValuer=Z SetInParentsetattrrTrBrp)r"r&rnamesr-Zfields_by_json_namer6r Z identifierZ oneof_namer.r]itemrFr r r rs                           z_Parser._ConvertFieldValuePairc Cst|tr| rdSy |d}Wntk r<tdYnXt|}|j}|j}t|rl|j|d|n8|t krt t |d|d||n|d=|j |||j |_ ||_dS)z/Convert a JSON representation into Any message.Nz@typez*@type is missing when parsing any message.r.rl)r9rrorr\r'r(r)r~r+rrZSerializeToStringr.r[)r"r.rr[r]r-r(r r r _ConvertAnyMessages$   z_Parser._ConvertAnyMessagecCs|j|dS)z?Convert a JSON representation into message with FromJsonString.N)ZFromJsonString)r"r.rr r r _ConvertGenericMessage7sz_Parser._ConvertGenericMessagecCst|tr|j||jnjt|tr4|j||jnP|dkrDd|_n@t|trV||_ n.t|t j rj||_ nt|t r|||_ntddS)z1Convert a JSON representation into Value message.Nrz"Unexpected type for Value message.)r9r_ConvertStructMessagerbr_ConvertListValueMessagerar`r:Z bool_valuerrZ string_typesZ string_value _INT_OR_FLOATZ number_valuer)r"r.rr r r _ConvertValueMessage=s     z_Parser._ConvertValueMessagecCsFt|tstdj||jdx|D]}|j||jjq(WdS)z5Convert a JSON representation into ListValue message.z%ListValue must be in [] which is {0}.rfN)r9rrrCrrrfr)r"r.rrr r r rNs     z _Parser._ConvertListValueMessagecCs@t|tstdj|x"|D]}|j|||j|qWdS)z2Convert a JSON representation into Struct message.z&Struct must be in a dict which is {0}.N)r9rrrCrr>)r"r.rrDr r r rWs    z_Parser._ConvertStructMessagecCs"|jjd}t|dt||dS)z3Convert a JSON representation into Wrapper message.r.N)r'r8rr)r"r.rr r r r r~`s z_Parser._ConvertWrapperMessagecCst|tstdj|j||jjd}|jjd}x^|D]V}t||d}|jt j j krv|j ||t ||j|q:t|||t ||j|<q:WdS)a5Convert map field value for a message map field. Args: value: A JSON object to convert the map field value. message: A protocol message to record the converted data. field: The descriptor of the map field to be converted. Raises: ParseError: In case of convert problems. z-Map field {0} must be in a dict which is {1}.rDr.TN)r9rrrCr6rr8rr?rrr@r|rd)r"r.rr Z key_fieldZ value_fieldrD key_valuer r r res       z_Parser._ConvertMapFieldValueN)rrr r r#r|rrrrrrr~rr r r r r{sj  r{c Cs$|jtkrt|S|jtkr$t|S|jtjjkr)s         <    f 0PK!w Aprotobuf/__pycache__/unittest_mset_wire_format_pb2.cpython-36.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedggggeje jeddd d'ggdddZejdddedejdddddddd ddddd dded!ggggdd d ggd"d#dZeejd_eejd<eejd<ejee jdejfeed$d%Zejee jdejfeed$d%Z eje de_!eje j"ed&e_#de_!eje jede_#dS)(NcCs|S)N)xrr3/usr/lib/python3.6/unittest_mset_wire_format_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z/google/protobuf/unittest_mset_wire_format.protoZproto2_wireformat_unittestZproto2u /google/protobuf/unittest_mset_wire_format.protoproto2_wireformat_unittest" TestMessageSet*ÿÿÿÿ:"d !TestMessageSetWireFormatContainer? message_set ( 2*.proto2_wireformat_unittest.TestMessageSetB)Høª!Google.ProtocolBuffers.TestProtos)namepackagesyntaxZ serialized_pbTestMessageSetz)proto2_wireformat_unittest.TestMessageSetzTOm)r full_namefilenamefilecontaining_typeZfields extensionsZ nested_typesZ enum_typesoptionsZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_end!TestMessageSetWireFormatContainerzs               PK!U MMFprotobuf/__pycache__/unittest_no_arena_import_pb2.cpython-36.opt-1.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejedS)NcCs|S)N)xrr2/usr/lib/python3.6/unittest_no_arena_import_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z.google/protobuf/unittest_no_arena_import.protoZproto2_arena_unittestZproto2zp .google/protobuf/unittest_no_arena_import.protoproto2_arena_unittest"' ImportNoArenaNestedMessage d ()namepackagesyntaxZ serialized_pbImportNoArenaNestedMessagez0proto2_arena_unittest.ImportNoArenaNestedMessagedz2proto2_arena_unittest.ImportNoArenaNestedMessage.dF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileIp)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz,google.protobuf.unittest_no_arena_import_pb2) DESCRIPTOR __module__)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ_IMPORTNOARENANESTEDMESSAGEZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrsR          PK!h-protobuf/__pycache__/empty_pb2.cpython-36.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedggggddd ggdddZeejd<ejee jdejfeeddZejede_eje jede_dS)NcCs|S)N)xrr/usr/lib/python3.6/empty_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/empty.protozgoogle.protobufZproto3u google/protobuf/empty.protogoogle.protobuf" EmptyBv com.google.protobufB EmptyProtoPZ'github.com/golang/protobuf/ptypes/emptyø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbEmptyzgoogle.protobuf.EmptyF07)rZ full_namefilenamefileZcontaining_typeZfields extensionsZ nested_typesZ enum_typesZoptionsZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.empty_pb2) DESCRIPTOR __module__Tuy com.google.protobufB EmptyProtoPZ'github.com/golang/protobuf/ptypes/emptyø¢GPBªGoogle.Protobuf.WellKnownTypes)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZ_EMPTYZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsJ          PK!T0protobuf/__pycache__/duration_pb2.cpython-36.pycnu[3 h @sRddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejed e_eje jed!e_dS)"NcCs|S)N)xrr"/usr/lib/python3.6/duration_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/duration.protozgoogle.protobufZproto3u google/protobuf/duration.protogoogle.protobuf"* Duration seconds ( nanos (B| com.google.protobufB DurationProtoPZ*github.com/golang/protobuf/ptypes/durationø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbDurationzgoogle.protobuf.DurationZsecondsz google.protobuf.Duration.secondsF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileZnanoszgoogle.protobuf.Duration.nanos3])rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.duration_pb2) DESCRIPTOR __module__Tu com.google.protobufB DurationProtoPZ*github.com/golang/protobuf/ptypes/durationø¢GPBªGoogle.Protobuf.WellKnownTypes)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ _DURATIONZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsd           PK!XBprotobuf/__pycache__/test_messages_proto3_pb2.cpython-36.opt-1.pycnu[3 h/@s<0ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZdd lmZddlmZddlmZddlmZddlmZejdddedejejejejejejgdZejdddeej ddddddej ddddddej ddddddgdddd d! Z!ej"e!ej#e!Z$dZ%dZ&dZ'ejd"d#deej d$dddddej d%dddddej d&dddddej d'ddRdddgddd(d)d! Z(ej"e(ej)d*d+dedej*d,d-ddd.ddd/ddddd/dded0ej*d1d2ddd3d4dd/ddddd/dded0ggggdd/dggd5d6d7Z+ej)d8d9dedej*d:d;ddd.ddd/ddddd/dded0ej*dd/dggd?d@d7Z.ej)dAdBdedej*d:dCdddddd/ddddd/dded0ej*dd/dggdEdFd7Z/ej)dGdHdedej*d:dIdddJddd/ddddd/dded0ej*dd/dggdLdMd7Z0ej)dNdOdedej*d:dPdddQdQdd/ddddd/dded0ej*dd/dggdSdTd7Z1ej)dUdVdedej*d:dWdddXddd/ddddd/dded0ej*dd/dggdZd[d7Z2ej)d\d]dedej*d:d^ddd_ddd/ddddd/dded0ej*dd/dggdadbd7Z3ej)dcdddedej*d:dedddfddd/ddddd/dded0ej*dd/dggdhdid7Z4ej)djdkdedej*d:dldddmdQdd/ddddd/dded0ej*dd/dggdodpd7Z5ej)dqdrdedej*d:dsdddtddd/ddddd/dded0ej*dd/dggdvdwd7Z6ej)dxdydedej*d:dzddd{ddd/ddddd/dded0ej*dd/dggd}d~d7Z7ej)dddedej*d:dddd.ddd/ddddd/dded0ej*dd/dggddd7Z9ej)dddedej*d:dddd.ddd/ddddd/dded0ej*dd/dggddd7Z:ej)dddedej*d:dddddfdd/d/dddd/dded0ej*dd/dggddd7Z;ej)dddedej*d:ddddddd/edjd/dggddd7Z=ej)dddedej*d:ddddddd/edjd/dggddd7Z>ej)dddedej*d:ddddddd/edjd/dggddd7Z?ej)dddedej*d:ddddddd/edjd/dggddd7Z@ej)dddedej*d:ddddddd/edjd/dggddd7ZAej)dddedej*d:ddddddd/edjd/dggddd7ZBej)dddedej*ddddd.ddd/ddddd/dded0ej*dddddddd/ddddd/dded0ej*dddddJddd/ddddd/dded0ej*ddddQdQdQdd/ddddd/dded0ej*dddQd.dXddd/ddddd/dded0ej*ddd.dmd_ddd/ddddd/dded0ej*dddmdfdfddd/ddddd/dded0ej*dddfddmdQdd/ddddd/dded0ej*dddddtddd/ddddd/dded0ej*dddd4d{ddd/ddddd/dded0ej*ddd4d3ddmdd/e8ddddd/dded0ej*ddd3ddd.dd/e8ddddd/dded0ej*ddddJddfdd/d/dddd/dded0ej*dddJddddd/edjd3d4dd/gdddd/dded0ej*d?d@dAdBd3d4dd/gdddd/dded0ej*dCdDdEdFd3d4dd/gdddd/dded0ej*dGdHd&dId3d4dd/gdddd/dded0ej*dJdKd)dLd3d4dd/gdddd/dded0ej*dMdNdOdPd3d4dd/gdddd/dded0ej*dQdRd,dSd3d4dd/gdddd/dded0ej*dTdUd/dVd3d4dd/gdddd/dded0ej*dWdXdYdZd3d4dd/gdddd/dded0ej*d[d\d2d]d3d4dd/gdddd/dded0ej*d^d_d5d`d3d4dd/gdddd/dded0ej*dadbd8dcd3d4dd/gdddd/dded0ej*ddded;dfd3d4dd/gdddd/dded0ej*dgdhd>did3d4dd/gdddd/dded0ej*djdkdBdld3d4dd/gdddd/dded0ej*dmdndFdod3d4dd/gdddd/dded0ej*dpdqdIdrd3d4dd/gdddd/dded0ej*dsdtdLdudJddd/ddddd/dded0ej*dvdwdPdxd3d4dd/ddddd/dded0ej*dydzdSd{dddd/edjd.ddd/ddddd/dded0ej*d?d@ddAd.ddd/ddddd/dded0gwge+e.e/e0e1e2e3e4e5e6e7e9e:e;e=e>e?e@eAeBge(gdd/dgejDdBdCddgdDgdEdFd7ZEej)dGdHdedej*dIdJddd.ddd/ddddd/dded0ggggdd/dggdKdLd7ZFeEe+jGd1_HeEe+_IeEe._IeEe/_IeEe0_IeEe1_IeEe2_IeEe3_IeEe4_IeEe5_IeEe6_IeEe7_IeEe9_IeEe:_IeEe;_IeEe=_IeEe>_Ie+e?jGd<_HeEe?_IeFe@jGd<_HeEe@_Ie(eAjGd<_JeEeA_Ie!eBjGd<_JeEeB_Ie+eEjGd_HeFeEjGd_He(eEjGd_Je!eEjGd_JeEeEjGd_He+eEjGd$_HeFeEjGd'_He(eEjGd*_Je!eEjGd-_Je.eEjGd6_He/eEjGd9_He0eEjGd<_He1eEjGd?_He2eEjGdC_He3eEjGdG_He4eEjGdJ_He5eEjGdM_He6eEjGdQ_He7eEjGdT_He9eEjGdW_He:eEjGd[_He;eEjGd^_He=eEjGda_He>eEjGdd_He?eEjGdg_He@eEjGdj_HeAeEjGdm_HeBeEjGdp_He+eEjGdv_He(eEjGd_JejKeEjGd_HejLeEjGd_HejMeEjGd_HejNeEjGd_HejOeEjGd_HejPeEjGd_HejQeEjGd_HejReEjGd_HejSeEjGd_HejKeEjGd_HejLeEjGd_HejMeEjGd_HejNeEjGd_HejOeEjGd_HejPeEjGd_HejQeEjGd_HejReEjGd_HejSeEjGd_HejTeEjGd_HejUeEjGd_HejVeEjGd_HejWeEjGd_HejXeEjGd_HejYeEjGd_HejTeEjGd_HejUeEjGd_HejVeEjGd_HejWeEjGd_HejXeEjGd_HejYeEjGd_HeEe(_IeEjZdBj[j\eEjGdseEjZdBeEjGds_]eEjZdBj[j\eEjGdveEjZdBeEjGdv_]eEjZdBj[j\eEjGdyeEjZdBeEjGdy_]eEjZdBj[j\eEjGd|eEjZdBeEjGd|_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEej^d<eFej^dG<e!ej_d<ej`ee jade jbfece jad*e jbfece+dMdNe jad8e jbfece.dMdNe jadAe jbfece/dMdNe jadGe jbfece0dMdNe jadNe jbfece1dMdNe jadUe jbfece2dMdNe jad\e jbfece3dMdNe jadce jbfece4dMdNe jadje jbfece5dMdNe jadqe jbfece6dMdNe jadxe jbfece7dMdNe jade jbfece9dMdNe jade jbfece:dMdNe jade jbfece;dMdNe jade jbfece=dMdNe jade jbfece>dMdNe jade jbfece?dMdNe jade jbfece@dMdNe jade jbfeceAdMdNe jade jbfeceBdMdNeEdMdOZdejeedejeedjfejeedjgejeedjhejeedjiejeedjjejeedjkejeedjlejeedjmejeedjnejeedjoejeedjpejeedjqejeedjrejeedjsejeedjtejeedjuejeedjvejeedjwejeedjxejeedjye jadGe jbfeceFdMdNZzejeezdPe_{ej,ej|edQe_}dPe._{ej,ej-ed>e._}dPe/_{ej,ej-ed>e/_}dPe0_{ej,ej-ed>e0_}dPe1_{ej,ej-ed>e1_}dPe2_{ej,ej-ed>e2_}dPe3_{ej,ej-ed>e3_}dPe4_{ej,ej-ed>e4_}dPe5_{ej,ej-ed>e5_}dPe6_{ej,ej-ed>e6_}dPe7_{ej,ej-ed>e7_}dPe9_{ej,ej-ed>e9_}dPe:_{ej,ej-ed>e:_}dPe;_{ej,ej-ed>e;_}dPe=_{ej,ej-ed>e=_}dPe>_{ej,ej-ed>e>_}dPe?_{ej,ej-ed>e?_}dPe@_{ej,ej-ed>e@_}dPeA_{ej,ej-ed>eA_}dPeB_{ej,ej-ed>eB_}dPeEjGd_{ej,ejCedeEjGd_}dPeEjGd_{ej,ejCedeEjGd_}dPeEjGd0_{ej,ejCedeEjGd0_}dPeEjGd3_{ej,ejCedeEjGd3_}dS(SNcCs|S)N)xrr./usr/lib/python3.6/test_messages_proto3_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)any_pb2) duration_pb2)field_mask_pb2) struct_pb2) timestamp_pb2) wrappers_pb2z*google/protobuf/test_messages_proto3.protozprotobuf_test_messages.proto3Zproto3u *google/protobuf/test_messages_proto3.protoprotobuf_test_messages.proto3google/protobuf/any.protogoogle/protobuf/duration.proto google/protobuf/field_mask.protogoogle/protobuf/struct.protogoogle/protobuf/timestamp.protogoogle/protobuf/wrappers.proto"´; TestAllTypesProto3 optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( ` optional_nested_message ( 2?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageO optional_foreign_message ( 2-.protobuf_test_messages.proto3.ForeignMessageZ optional_nested_enum (2<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumI optional_foreign_enum (2*.protobuf_test_messages.proto3.ForeignEnum! optional_string_piece ( B optional_cord ( BL recursive_message ( 21.protobuf_test_messages.proto3.TestAllTypesProto3 repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( ` repeated_nested_message0 ( 2?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageO repeated_foreign_message1 ( 2-.protobuf_test_messages.proto3.ForeignMessageZ repeated_nested_enum3 (2<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumI repeated_foreign_enum4 (2*.protobuf_test_messages.proto3.ForeignEnum! repeated_string_piece6 ( B repeated_cord7 ( B] map_int32_int328 ( 2D.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry] map_int64_int649 ( 2D.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entrya map_uint32_uint32: ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entrya map_uint64_uint64; ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entrya map_sint32_sint32< ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entrya map_sint64_sint64= ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entrye map_fixed32_fixed32> ( 2H.protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entrye map_fixed64_fixed64? ( 2H.protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entryi map_sfixed32_sfixed32@ ( 2J.protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entryi map_sfixed64_sfixed64A ( 2J.protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry] map_int32_floatB ( 2D.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry_ map_int32_doubleC ( 2E.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntryY map_bool_boolD ( 2B.protobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntrya map_string_stringE ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry_ map_string_bytesF ( 2E.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntryp map_string_nested_messageG ( 2M.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntryr map_string_foreign_messageH ( 2N.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntryj map_string_nested_enumI ( 2J.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntryl map_string_foreign_enumJ ( 2K.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry oneof_uint32o ( H_ oneof_nested_messagep ( 2?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageH oneof_stringq ( H oneof_bytesr ( H oneof_bools (H oneof_uint64t (H oneof_floatu (H oneof_doublev (HR oneof_enumw (2<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumH: optional_bool_wrapperÉ ( 2.google.protobuf.BoolValue< optional_int32_wrapperÊ ( 2.google.protobuf.Int32Value< optional_int64_wrapperË ( 2.google.protobuf.Int64Value> optional_uint32_wrapperÌ ( 2.google.protobuf.UInt32Value> optional_uint64_wrapperÍ ( 2.google.protobuf.UInt64Value< optional_float_wrapperÎ ( 2.google.protobuf.FloatValue> optional_double_wrapperÏ ( 2.google.protobuf.DoubleValue> optional_string_wrapperÐ ( 2.google.protobuf.StringValue< optional_bytes_wrapperÑ ( 2.google.protobuf.BytesValue: repeated_bool_wrapperÓ ( 2.google.protobuf.BoolValue< repeated_int32_wrapperÔ ( 2.google.protobuf.Int32Value< repeated_int64_wrapperÕ ( 2.google.protobuf.Int64Value> repeated_uint32_wrapperÖ ( 2.google.protobuf.UInt32Value> repeated_uint64_wrapper× ( 2.google.protobuf.UInt64Value< repeated_float_wrapperØ ( 2.google.protobuf.FloatValue> repeated_double_wrapperÙ ( 2.google.protobuf.DoubleValue> repeated_string_wrapperÚ ( 2.google.protobuf.StringValue< repeated_bytes_wrapperÛ ( 2.google.protobuf.BytesValue5 optional_duration­ ( 2.google.protobuf.Duration7 optional_timestamp® ( 2.google.protobuf.Timestamp8 optional_field_mask¯ ( 2.google.protobuf.FieldMask1 optional_struct° ( 2.google.protobuf.Struct+ optional_any± ( 2.google.protobuf.Any/ optional_value² ( 2.google.protobuf.Value5 repeated_duration· ( 2.google.protobuf.Duration7 repeated_timestamp¸ ( 2.google.protobuf.Timestamp7 repeated_fieldmask¹ ( 2.google.protobuf.FieldMask1 repeated_structÄ ( 2.google.protobuf.Struct+ repeated_any» ( 2.google.protobuf.Any/ repeated_value¼ ( 2.google.protobuf.Value fieldname1‘ ( field_name2’ ( _field_name3“ ( field__name4_” ( field0name5• ( field_0_name6– ( fieldName7— ( FieldName8˜ ( field_Name9™ ( Field_Name10š ( FIELD_NAME11› ( FIELD_name12œ ( __field_name13 ( __Field_name14ž ( field__name15Ÿ ( field__Name16  ( field_name17__¡ ( Field_name18__¢ (b NestedMessage a (F corecursive ( 21.protobuf_test_messages.proto3.TestAllTypesProto34 MapInt32Int32Entry key ( value (:84 MapInt64Int64Entry key ( value (:86 MapUint32Uint32Entry key (  value ( :86 MapUint64Uint64Entry key ( value (:86 MapSint32Sint32Entry key ( value (:86 MapSint64Sint64Entry key ( value (:88 MapFixed32Fixed32Entry key ( value (:88 MapFixed64Fixed64Entry key ( value (:8: MapSfixed32Sfixed32Entry key ( value (:8: MapSfixed64Sfixed64Entry key ( value (:84 MapInt32FloatEntry key ( value (:85 MapInt32DoubleEntry key ( value (:82 MapBoolBoolEntry key ( value (:86 MapStringStringEntry key (  value ( :85 MapStringBytesEntry key (  value ( :8~ MapStringNestedMessageEntry key ( N value ( 2?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage:8m MapStringForeignMessageEntry key ( < value ( 2-.protobuf_test_messages.proto3.ForeignMessage:8x MapStringNestedEnumEntry key ( K value (2<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum:8g MapStringForeignEnumEntry key ( 9 value (2*.protobuf_test_messages.proto3.ForeignEnum:8"9 NestedEnum FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿB oneof_fieldJõÿ" ForeignMessage c (*@ ForeignEnum FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZB8 (com.google.protobuf_test_messages.proto3Hø¢Proto3bproto3)namepackagesyntaxZ serialized_pbZ dependencies ForeignEnumz)protobuf_test_messages.proto3.ForeignEnum FOREIGN_FOO)rindexnumberoptionstype FOREIGN_BAR FOREIGN_BAZii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZ NestedEnumz;protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumZFOOZBARZBAZZNEGini NestedMessagez>protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageaz@protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage.aF)rr"rrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer&Z is_extensionZextension_scoperr$Z corecursivezJprotobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage.corecursive iiR)rr"r#r$r&fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr'r(MapInt32Int32EntryzCprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32EntrykeyzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry.keyvaluezIprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry.valuez8iTiMapInt64Int64EntryzCprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64EntryzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry.keyzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry.valueiiMapUint32Uint32EntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry.key zKprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry.valueiiMapUint64Uint64EntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry.keyzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry.valueii.MapSint32Sint32EntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry.keyzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry.valuei0ifMapSint64Sint64EntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry.keyzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry.valueihiMapFixed32Fixed32EntryzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32EntryzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry.keyzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry.valueiiMapFixed64Fixed64EntryzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64EntryzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry.keyzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry.valueiiMapSfixed32Sfixed32EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32EntryzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry.keyzOprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry.valueiiNMapSfixed64Sfixed64EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64EntryzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry.keyzOprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry.valueiPiMapInt32FloatEntryzCprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntryzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry.keyzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry.valueiiMapInt32DoubleEntryzDprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntryzHprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry.keyzJprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry.valueiiMapBoolBoolEntryzAprotobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry.keyzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry.valueii+MapStringStringEntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry.key zutf-8zKprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry.valuei-icMapStringBytesEntryzDprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntryzHprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry.keyzJprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry.value ieiMapStringNestedMessageEntryzLprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntryzPprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry.keyzRprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry.valueiiMapStringForeignMessageEntryzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntryzQprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry.keyzSprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry.valueiiMapStringNestedEnumEntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntryzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry.keyzOprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry.valueiiMapStringForeignEnumEntryzJprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntryzNprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry.keyzPprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry.valueiilTestAllTypesProto3z0protobuf_test_messages.proto3.TestAllTypesProto3Zoptional_int32z?protobuf_test_messages.proto3.TestAllTypesProto3.optional_int32Zoptional_int64z?protobuf_test_messages.proto3.TestAllTypesProto3.optional_int64Zoptional_uint32z@protobuf_test_messages.proto3.TestAllTypesProto3.optional_uint32Zoptional_uint64z@protobuf_test_messages.proto3.TestAllTypesProto3.optional_uint64Zoptional_sint32z@protobuf_test_messages.proto3.TestAllTypesProto3.optional_sint32Zoptional_sint64z@protobuf_test_messages.proto3.TestAllTypesProto3.optional_sint64Zoptional_fixed32zAprotobuf_test_messages.proto3.TestAllTypesProto3.optional_fixed32Zoptional_fixed64zAprotobuf_test_messages.proto3.TestAllTypesProto3.optional_fixed64Zoptional_sfixed32zBprotobuf_test_messages.proto3.TestAllTypesProto3.optional_sfixed32Zoptional_sfixed64zBprotobuf_test_messages.proto3.TestAllTypesProto3.optional_sfixed64Zoptional_floatz?protobuf_test_messages.proto3.TestAllTypesProto3.optional_floatZoptional_doublez@protobuf_test_messages.proto3.TestAllTypesProto3.optional_doubleZ optional_boolz>protobuf_test_messages.proto3.TestAllTypesProto3.optional_boolZoptional_stringz@protobuf_test_messages.proto3.TestAllTypesProto3.optional_stringZoptional_bytesz?protobuf_test_messages.proto3.TestAllTypesProto3.optional_bytesZoptional_nested_messagezHprotobuf_test_messages.proto3.TestAllTypesProto3.optional_nested_messageZoptional_foreign_messagezIprotobuf_test_messages.proto3.TestAllTypesProto3.optional_foreign_messageZoptional_nested_enumzEprotobuf_test_messages.proto3.TestAllTypesProto3.optional_nested_enumZoptional_foreign_enumzFprotobuf_test_messages.proto3.TestAllTypesProto3.optional_foreign_enumZoptional_string_piecezFprotobuf_test_messages.proto3.TestAllTypesProto3.optional_string_piecezZ optional_cordz>protobuf_test_messages.proto3.TestAllTypesProto3.optional_cordzZrecursive_messagezBprotobuf_test_messages.proto3.TestAllTypesProto3.recursive_messageZrepeated_int32z?protobuf_test_messages.proto3.TestAllTypesProto3.repeated_int32Zrepeated_int64z?protobuf_test_messages.proto3.TestAllTypesProto3.repeated_int64 Zrepeated_uint32z@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_uint32!Zrepeated_uint64z@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_uint64"Zrepeated_sint32z@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_sint32#Zrepeated_sint64z@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_sint64$Zrepeated_fixed32zAprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_fixed32%Zrepeated_fixed64zAprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_fixed64&Zrepeated_sfixed32zBprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_sfixed32'Zrepeated_sfixed64zBprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_sfixed64(Zrepeated_floatz?protobuf_test_messages.proto3.TestAllTypesProto3.repeated_float)Zrepeated_doublez@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_double*Z repeated_boolz>protobuf_test_messages.proto3.TestAllTypesProto3.repeated_bool+Zrepeated_stringz@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_string,Zrepeated_bytesz?protobuf_test_messages.proto3.TestAllTypesProto3.repeated_bytes-Zrepeated_nested_messagezHprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_nested_message0Zrepeated_foreign_messagezIprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_foreign_message1Zrepeated_nested_enumzEprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_nested_enum3Zrepeated_foreign_enumzFprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_foreign_enum4Zrepeated_string_piecezFprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_string_piece6Z repeated_cordz>protobuf_test_messages.proto3.TestAllTypesProto3.repeated_cord7Zmap_int32_int32z@protobuf_test_messages.proto3.TestAllTypesProto3.map_int32_int328Zmap_int64_int64z@protobuf_test_messages.proto3.TestAllTypesProto3.map_int64_int649Zmap_uint32_uint32zBprotobuf_test_messages.proto3.TestAllTypesProto3.map_uint32_uint32:Zmap_uint64_uint64zBprotobuf_test_messages.proto3.TestAllTypesProto3.map_uint64_uint64.;Zmap_sint32_sint32zBprotobuf_test_messages.proto3.TestAllTypesProto3.map_sint32_sint32/<Zmap_sint64_sint64zBprotobuf_test_messages.proto3.TestAllTypesProto3.map_sint64_sint64=Zmap_fixed32_fixed32zDprotobuf_test_messages.proto3.TestAllTypesProto3.map_fixed32_fixed32>Zmap_fixed64_fixed64zDprotobuf_test_messages.proto3.TestAllTypesProto3.map_fixed64_fixed642?Zmap_sfixed32_sfixed32zFprotobuf_test_messages.proto3.TestAllTypesProto3.map_sfixed32_sfixed32@Zmap_sfixed64_sfixed64zFprotobuf_test_messages.proto3.TestAllTypesProto3.map_sfixed64_sfixed64AZmap_int32_floatz@protobuf_test_messages.proto3.TestAllTypesProto3.map_int32_float5BZmap_int32_doublezAprotobuf_test_messages.proto3.TestAllTypesProto3.map_int32_doubleCZ map_bool_boolz>protobuf_test_messages.proto3.TestAllTypesProto3.map_bool_boolDZmap_string_stringzBprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_stringEZmap_string_byteszAprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_bytesFZmap_string_nested_messagezJprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_nested_messageGZmap_string_foreign_messagezKprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_foreign_messageHZmap_string_nested_enumzGprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_nested_enumIZmap_string_foreign_enumzHprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_foreign_enumJZ oneof_uint32z=protobuf_test_messages.proto3.TestAllTypesProto3.oneof_uint32oZoneof_nested_messagezEprotobuf_test_messages.proto3.TestAllTypesProto3.oneof_nested_messagepZ oneof_stringz=protobuf_test_messages.proto3.TestAllTypesProto3.oneof_stringqZ oneof_byteszprotobuf_test_messages.proto3.TestAllTypesProto3.field__name4_hiZ field0name5zprotobuf_test_messages.proto3.TestAllTypesProto3.field_0_name6jiZ fieldName7z;protobuf_test_messages.proto3.TestAllTypesProto3.fieldName7kiZ FieldName8z;protobuf_test_messages.proto3.TestAllTypesProto3.FieldName8liZ field_Name9zprotobuf_test_messages.proto3.TestAllTypesProto3.field__name15iZ field__Name16z>protobuf_test_messages.proto3.TestAllTypesProto3.field__Name16iZfield_name17__z?protobuf_test_messages.proto3.TestAllTypesProto3.field_name17__iZField_name18__z?protobuf_test_messages.proto3.TestAllTypesProto3.Field_name18__iZ oneof_fieldzr@rBrDrFrGrHrJrMrOrPrQrSrrTu: (com.google.protobuf_test_messages.proto3Hø¢Proto3)~sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ google_dot_protobuf_dot_any__pb2rZ%google_dot_protobuf_dot_duration__pb2rZ(google_dot_protobuf_dot_field__mask__pb2rZ#google_dot_protobuf_dot_struct__pb2rZ&google_dot_protobuf_dot_timestamp__pb2rZ%google_dot_protobuf_dot_wrappers__pb2ZFileDescriptorrZEnumDescriptorZEnumValueDescriptorZ _FOREIGNENUMZRegisterEnumDescriptorZEnumTypeWrapperrrrr Z_TESTALLTYPESPROTO3_NESTEDENUMZ DescriptorZFieldDescriptorZ!_TESTALLTYPESPROTO3_NESTEDMESSAGEZ _ParseOptionsZMessageOptionsZ&_TESTALLTYPESPROTO3_MAPINT32INT32ENTRYZ&_TESTALLTYPESPROTO3_MAPINT64INT64ENTRYZ(_TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRYZ(_TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRYZ(_TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRYZ(_TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRYZ*_TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRYZ*_TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRYZ,_TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRYZ,_TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRYfloatZ&_TESTALLTYPESPROTO3_MAPINT32FLOATENTRYZ'_TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRYZ$_TESTALLTYPESPROTO3_MAPBOOLBOOLENTRYdecodeZ(_TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRYZ'_TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRYZ/_TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRYZ0_TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRYZ,_TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRYZ-_TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRYZ FieldOptionsZOneofDescriptorZ_TESTALLTYPESPROTO3Z_FOREIGNMESSAGEZfields_by_namer,r&r-Z _BOOLVALUEZ _INT32VALUEZ _INT64VALUEZ _UINT32VALUEZ _UINT64VALUEZ _FLOATVALUEZ _DOUBLEVALUEZ _STRINGVALUEZ _BYTESVALUEZ _DURATIONZ _TIMESTAMPZ _FIELDMASKZ_STRUCTZ_ANYZ_VALUEZoneofs_by_namer0appendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrTZRegisterMessager)r2r5r6r8r:r<r>r@rBrDrFrGrHrJrMrOrPrQrSrZ has_optionsZ FileOptionsZ_optionsrrrrs                                                                                                                                                                                                                               *                                                            PK! y~;protobuf/__pycache__/unittest_mset_pb2.cpython-36.opt-1.pycnu[3 h&@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejdddddddddddddddedggggdddggdddZejdddedejdd dd!d"ddddddddddedgejd#d$dd%ddddddddd&ddedgggdddggd'd(dZejd)d*dedejd+d,dd-d.d.dded/jd0ddddddedgejd#d1dd2ddddddddd&ddedgggdddggd3d4dZejd5d6dedejd7d8dd9d"dd9ddddddddedejd:d;ddddZejd?d@dedejdAdBddddddgddddddedggeggdddggdCd>dZejejd_ee_eejdA_eejd<eejd<eejd)<eejd?<ej ee j!dej"fe#edDdEZ$ej%e$e j!dej"fe#edDdEZ&ej%e&e j!d)ej"fe#edDdEZ'ej%e'e j!d?ej"fe#e j!d5ej"fe#edDdEedDdFZ(ej%e(ej%e(j)eej*d#_ej+j,ej*d#eej*d#_ej+j,ej*d#d&e_-ej.e j/edGe_0dS)HNcCs|S)N)xrr'/usr/lib/python3.6/unittest_mset_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_mset_wire_format_pb2z#google/protobuf/unittest_mset.protoZprotobuf_unittestZproto2u #google/protobuf/unittest_mset.protoprotobuf_unittest/google/protobuf/unittest_mset_wire_format.proto"Z TestMessageSetContainer? message_set ( 2*.proto2_wireformat_unittest.TestMessageSet"Ÿ TestMessageSetExtension1 i (2x message_set_extension*.proto2_wireformat_unittest.TestMessageSet°¦^ ( 2+.protobuf_unittest.TestMessageSetExtension1"¡ TestMessageSetExtension2 str ( 2x message_set_extension*.proto2_wireformat_unittest.TestMessageSetù»^ ( 2+.protobuf_unittest.TestMessageSetExtension2"n RawMessageSet3 item ( 2%.protobuf_unittest.RawMessageSet.Item( Item type_id ( message ( BHø)namepackagesyntaxZ serialized_pbZ dependenciesTestMessageSetContainerz)protobuf_unittest.TestMessageSetContainerZ message_setz5protobuf_unittest.TestMessageSetContainer.message_set F)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfilek)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endTestMessageSetExtension1z*protobuf_unittest.TestMessageSetExtension1iz,protobuf_unittest.TestMessageSetExtension1.iZmessage_set_extensionz@protobuf_unittest.TestMessageSetExtension1.message_set_extensioni0TigTestMessageSetExtension2z*protobuf_unittest.TestMessageSetExtension2strz.protobuf_unittest.TestMessageSetExtension2.str zutf-8z@protobuf_unittest.TestMessageSetExtension2.message_set_extensioniiji Itemz$protobuf_unittest.RawMessageSet.ItemZtype_idz,protobuf_unittest.RawMessageSet.Item.type_idr z,protobuf_unittest.RawMessageSet.Item.message iSi{ RawMessageSetzprotobuf_unittest.RawMessageSetitemz$protobuf_unittest.RawMessageSet.itemi z!google.protobuf.unittest_mset_pb2) DESCRIPTOR __module__)r+r0r1uHø)1sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ9google_dot_protobuf_dot_unittest__mset__wire__format__pb2ZFileDescriptorr0Z DescriptorZFieldDescriptorZ_TESTMESSAGESETCONTAINERZ_TESTMESSAGESETEXTENSION1decodeZ_TESTMESSAGESETEXTENSION2Z_RAWMESSAGESET_ITEMZ_RAWMESSAGESETZ_TESTMESSAGESETZfields_by_namerrZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager!r&r.r+Zextensions_by_nameZTestMessageSetZRegisterExtensionZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsl                               PK!5u4''6protobuf/__pycache__/service_reflection.cpython-36.pycnu[3 h+@sLdZdZGdddeZGdddeZGdddeZGdd d eZd S) a*Contains metaclasses used to create protocol service and service stub classes from ServiceDescriptor objects at runtime. The GeneratedServiceType and GeneratedServiceStubType metaclasses are used to inject all useful functionality into the classes output by the protocol compiler at compile-time. zpetar@google.com (Petar Petrov)c@seZdZdZdZddZdS)GeneratedServiceTypeaMetaclass for service classes created at runtime from ServiceDescriptors. Implementations for all methods described in the Service class are added here by this class. We also create properties to allow getting/setting all fields in the protocol message. The protocol compiler currently uses this metaclass to create protocol service classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = ServiceDescriptor(.....) class MyProtoService(service.Service): __metaclass__ = GeneratedServiceType DESCRIPTOR = mydescriptor myservice_instance = MyProtoService() ... DESCRIPTORcCs.tj|krdS|tj}t|}|j|dS)aCreates a message service class. Args: name: Name of the class (ignored, but required by the metaclass protocol). bases: Base classes of the class being constructed. dictionary: The class dictionary of the class being constructed. dictionary[_DESCRIPTOR_KEY] must contain a ServiceDescriptor object describing this protocol service type. N)r_DESCRIPTOR_KEY_ServiceBuilder BuildService)clsnamebases dictionary descriptorZservice_builderr (/usr/lib/python3.6/service_reflection.py__init__@s  zGeneratedServiceType.__init__N)__name__ __module__ __qualname____doc__rr r r r r r*srcs$eZdZdZdZfddZZS)GeneratedServiceStubTypezMetaclass for service stubs created at runtime from ServiceDescriptors. This class has similar responsibilities as GeneratedServiceType, except that it creates the service stub classes. rcsBtt|j|||tj|kr"dS|tj}t|}|j|dS)a`Creates a message service stub class. Args: name: Name of the class (ignored, here). bases: Base classes of the class being constructed. dictionary: The class dictionary of the class being constructed. dictionary[_DESCRIPTOR_KEY] must contain a ServiceDescriptor object describing this protocol service type. N)superrr r_ServiceStubBuilderBuildServiceStub)rrrr r Zservice_stub_builder) __class__r r r ^s   z!GeneratedServiceStubType.__init__)rrrrrr __classcell__r r )rr rTsrc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS)raDThis class constructs a protocol service class using a service descriptor. Given a service descriptor, this class constructs a class that represents the specified service descriptor. One service builder instance constructs exactly one service class. That means all instances of that class share the same builder. cCs ||_dS)zInitializes an instance of the service class builder. Args: service_descriptor: ServiceDescriptor to use when constructing the service class. N)r )selfservice_descriptorr r r r |sz_ServiceBuilder.__init__cslfdd}|_||_tfdd|_d|j_j|_j|_x$j j D]}t ||j j |qLWdS)z\Constructs the service class. Args: cls: The class that will be constructed. csj|||||S)N) _CallMethod)srvcmethod_descriptorrpc_controllerrequestcallback)rr r _WrapCallMethodsz5_ServiceBuilder.BuildService.._WrapCallMethodcsjS)N)r r )rr r sz._ServiceBuilder.BuildService..zReturns the service descriptor.N)r CallMethod staticmethodZ GetDescriptorr_GetRequestClassZGetRequestClass_GetResponseClassZGetResponseClassr methodssetattrr_GenerateNonImplementedMethod)rrr methodr )rr rs z_ServiceBuilder.BuildServicecCs,|j|jkrtdt||j}||||S)aCalls the method described by a given method descriptor. Args: srvc: Instance of the service for which this method is called. method_descriptor: Descriptor that represent the method to call. rpc_controller: RPC controller to use for this method's execution. request: Request protocol message. callback: A callback to invoke after the method has completed. z.r )rr)r )r)rr r(s z-_ServiceBuilder._GenerateNonImplementedMethodcCs|jd||ddS)a The body of all methods in the generated service class. Args: method_name: Name of the method being executed. rpc_controller: RPC controller used to execute this method. callback: A callback which will be invoked when the method finishes. zMethod %s not implemented.N)Z SetFailed)rZ method_namerrr r r r/sz%_ServiceBuilder._NonImplementedMethodN) rrrrr rrr$r%r(r/r r r r rrs  rc@s0eZdZdZddZddZddZdd Zd S) raConstructs a protocol service stub class using a service descriptor. Given a service descriptor, this class constructs a suitable stub class. A stub is just a type-safe wrapper around an RpcChannel which emulates a local implementation of the service. One service stub builder instance constructs exactly one class. It means all instances of that class share the same service stub builder. cCs ||_dS)zInitializes an instance of the service stub class builder. Args: service_descriptor: ServiceDescriptor to use when constructing the stub class. N)r )rrr r r r sz_ServiceStubBuilder.__init__cCs>dd}||_||_x$|jjD]}t||j|j|qWdS)zYConstructs the stub class. Args: cls: The class that will be constructed. cSs ||_dS)N) rpc_channel)stubr1r r r _ServiceStubInitsz>_ServiceStubBuilder.BuildServiceStub.._ServiceStubInitN)rr r r&r'r_GenerateStubMethod)rrr3r)r r r rs z$_ServiceStubBuilder.BuildServiceStubcsdfdd S)Ncsj||||S)N) _StubMethod)r0rrr)r)rr r r! sz9_ServiceStubBuilder._GenerateStubMethod..)Nr )rr)r )r)rr r4 sz'_ServiceStubBuilder._GenerateStubMethodcCs|jj||||jj|S)aThe body of all service methods in the generated stub class. Args: stub: Stub instance. method_descriptor: Descriptor of the invoked method. rpc_controller: Rpc controller to execute the method. request: Request protocol message. callback: A callback to execute when the method finishes. Returns: Response message (in case of blocking call). )r1r"r.r-)rr2rrrrr r r r5 s z_ServiceStubBuilder._StubMethodN)rrrrr rr4r5r r r r rs   rN)r __author__typerrobjectrrr r r r %s *tPK!z#1protobuf/__pycache__/api_pb2.cpython-36.opt-1.pycnu[3 h*@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZdd lmZejd ddedejejgdZejdddedejddddddddedjdddddddedejdddddd ddgddddddedejd!d"dddd ddgddddddedejd#d$dd%ddddedjdddddddedejd&d'd%d(dd dddddddddedejd)d*d(d+dd ddgddddddedejd,d-d+d.d/d0dddddddddedggggdddggd1d2d3Zejd4d5dedejdd6ddddddedjdddddddedejd7d8ddddddedjdddddddedejd9d:ddd0d.dddddddddedejd;dd%d(d0d.dddddddddedejd!d?d(d+dd ddgddddddedejd,d@d+d.d/d0dddddddddedggggdddggdAdBd3ZejdCdDdedejddEddddddedjdddddddedejdFdGddddddedjdddddddedggggdddggdHdId3Zeejd_ejejd!_ejejd&_eejd)_ejejd,_ ejejd!_ejejd,_ eej!d<eej!d4<eej!dC<ej"ee j#dej$fe%edJdKZ&ej'e&e j#d4ej$fe%edJdKZ(ej'e(e j#dCej$fe%edJdKZ)ej'e)dLe_*ej+e j,edMe_-dS)NNcCs|S)N)xrr/usr/lib/python3.6/api_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)source_context_pb2)type_pb2zgoogle/protobuf/api.protozgoogle.protobufZproto3u google/protobuf/api.protogoogle.protobuf$google/protobuf/source_context.protogoogle/protobuf/type.proto" Api name ( ( methods ( 2.google.protobuf.Method( options ( 2.google.protobuf.Option version ( 6 source_context ( 2.google.protobuf.SourceContext& mixins ( 2.google.protobuf.Mixin' syntax (2.google.protobuf.Syntax"Õ Method name (  request_type_url (  request_streaming ( response_type_url (  response_streaming (( options ( 2.google.protobuf.Option' syntax (2.google.protobuf.Syntax"# Mixin name (  root ( Bu com.google.protobufBApiProtoPZ+google.golang.org/genproto/protobuf/api;api¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbZ dependenciesApizgoogle.protobuf.Apirzgoogle.protobuf.Api.name Fzutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfilemethodszgoogle.protobuf.Api.methods rzgoogle.protobuf.Api.optionsversionzgoogle.protobuf.Api.versionZsource_contextz"google.protobuf.Api.source_contextZmixinszgoogle.protobuf.Api.mixinsrzgoogle.protobuf.Api.syntaxqir)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endMethodzgoogle.protobuf.Methodzgoogle.protobuf.Method.nameZrequest_type_urlz'google.protobuf.Method.request_type_urlZrequest_streamingz(google.protobuf.Method.request_streamingZresponse_type_urlz(google.protobuf.Method.response_type_urlZresponse_streamingz)google.protobuf.Method.response_streamingzgoogle.protobuf.Method.optionszgoogle.protobuf.Method.syntaxiuiJMixinzgoogle.protobuf.Mixinzgoogle.protobuf.Mixin.namerootzgoogle.protobuf.Mixin.rootiLiozgoogle.protobuf.api_pb2) DESCRIPTOR __module__Tuw com.google.protobufBApiProtoPZ+google.golang.org/genproto/protobuf/api;api¢GPBªGoogle.Protobuf.WellKnownTypes).sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ,google_dot_protobuf_dot_source__context__pb2rZ!google_dot_protobuf_dot_type__pb2ZFileDescriptorr0Z DescriptorZFieldDescriptordecodeZ_APIZ_METHODZ_MIXINZfields_by_namerZ_OPTIONZ_SOURCECONTEXTZ_SYNTAXrZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager-r.Z has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                      PK!5u4''<protobuf/__pycache__/service_reflection.cpython-36.opt-1.pycnu[3 h+@sLdZdZGdddeZGdddeZGdddeZGdd d eZd S) a*Contains metaclasses used to create protocol service and service stub classes from ServiceDescriptor objects at runtime. The GeneratedServiceType and GeneratedServiceStubType metaclasses are used to inject all useful functionality into the classes output by the protocol compiler at compile-time. zpetar@google.com (Petar Petrov)c@seZdZdZdZddZdS)GeneratedServiceTypeaMetaclass for service classes created at runtime from ServiceDescriptors. Implementations for all methods described in the Service class are added here by this class. We also create properties to allow getting/setting all fields in the protocol message. The protocol compiler currently uses this metaclass to create protocol service classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = ServiceDescriptor(.....) class MyProtoService(service.Service): __metaclass__ = GeneratedServiceType DESCRIPTOR = mydescriptor myservice_instance = MyProtoService() ... DESCRIPTORcCs.tj|krdS|tj}t|}|j|dS)aCreates a message service class. Args: name: Name of the class (ignored, but required by the metaclass protocol). bases: Base classes of the class being constructed. dictionary: The class dictionary of the class being constructed. dictionary[_DESCRIPTOR_KEY] must contain a ServiceDescriptor object describing this protocol service type. N)r_DESCRIPTOR_KEY_ServiceBuilder BuildService)clsnamebases dictionary descriptorZservice_builderr (/usr/lib/python3.6/service_reflection.py__init__@s  zGeneratedServiceType.__init__N)__name__ __module__ __qualname____doc__rr r r r r r*srcs$eZdZdZdZfddZZS)GeneratedServiceStubTypezMetaclass for service stubs created at runtime from ServiceDescriptors. This class has similar responsibilities as GeneratedServiceType, except that it creates the service stub classes. rcsBtt|j|||tj|kr"dS|tj}t|}|j|dS)a`Creates a message service stub class. Args: name: Name of the class (ignored, here). bases: Base classes of the class being constructed. dictionary: The class dictionary of the class being constructed. dictionary[_DESCRIPTOR_KEY] must contain a ServiceDescriptor object describing this protocol service type. N)superrr r_ServiceStubBuilderBuildServiceStub)rrrr r Zservice_stub_builder) __class__r r r ^s   z!GeneratedServiceStubType.__init__)rrrrrr __classcell__r r )rr rTsrc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS)raDThis class constructs a protocol service class using a service descriptor. Given a service descriptor, this class constructs a class that represents the specified service descriptor. One service builder instance constructs exactly one service class. That means all instances of that class share the same builder. cCs ||_dS)zInitializes an instance of the service class builder. Args: service_descriptor: ServiceDescriptor to use when constructing the service class. N)r )selfservice_descriptorr r r r |sz_ServiceBuilder.__init__cslfdd}|_||_tfdd|_d|j_j|_j|_x$j j D]}t ||j j |qLWdS)z\Constructs the service class. Args: cls: The class that will be constructed. csj|||||S)N) _CallMethod)srvcmethod_descriptorrpc_controllerrequestcallback)rr r _WrapCallMethodsz5_ServiceBuilder.BuildService.._WrapCallMethodcsjS)N)r r )rr r sz._ServiceBuilder.BuildService..zReturns the service descriptor.N)r CallMethod staticmethodZ GetDescriptorr_GetRequestClassZGetRequestClass_GetResponseClassZGetResponseClassr methodssetattrr_GenerateNonImplementedMethod)rrr methodr )rr rs z_ServiceBuilder.BuildServicecCs,|j|jkrtdt||j}||||S)aCalls the method described by a given method descriptor. Args: srvc: Instance of the service for which this method is called. method_descriptor: Descriptor that represent the method to call. rpc_controller: RPC controller to use for this method's execution. request: Request protocol message. callback: A callback to invoke after the method has completed. z.r )rr)r )r)rr r(s z-_ServiceBuilder._GenerateNonImplementedMethodcCs|jd||ddS)a The body of all methods in the generated service class. Args: method_name: Name of the method being executed. rpc_controller: RPC controller used to execute this method. callback: A callback which will be invoked when the method finishes. zMethod %s not implemented.N)Z SetFailed)rZ method_namerrr r r r/sz%_ServiceBuilder._NonImplementedMethodN) rrrrr rrr$r%r(r/r r r r rrs  rc@s0eZdZdZddZddZddZdd Zd S) raConstructs a protocol service stub class using a service descriptor. Given a service descriptor, this class constructs a suitable stub class. A stub is just a type-safe wrapper around an RpcChannel which emulates a local implementation of the service. One service stub builder instance constructs exactly one class. It means all instances of that class share the same service stub builder. cCs ||_dS)zInitializes an instance of the service stub class builder. Args: service_descriptor: ServiceDescriptor to use when constructing the stub class. N)r )rrr r r r sz_ServiceStubBuilder.__init__cCs>dd}||_||_x$|jjD]}t||j|j|qWdS)zYConstructs the stub class. Args: cls: The class that will be constructed. cSs ||_dS)N) rpc_channel)stubr1r r r _ServiceStubInitsz>_ServiceStubBuilder.BuildServiceStub.._ServiceStubInitN)rr r r&r'r_GenerateStubMethod)rrr3r)r r r rs z$_ServiceStubBuilder.BuildServiceStubcsdfdd S)Ncsj||||S)N) _StubMethod)r0rrr)r)rr r r! sz9_ServiceStubBuilder._GenerateStubMethod..)Nr )rr)r )r)rr r4 sz'_ServiceStubBuilder._GenerateStubMethodcCs|jj||||jj|S)aThe body of all service methods in the generated stub class. Args: stub: Stub instance. method_descriptor: Descriptor of the invoked method. rpc_controller: Rpc controller to execute the method. request: Request protocol message. callback: A callback to execute when the method finishes. Returns: Response message (in case of blocking call). )r1r"r.r-)rr2rrrrr r r r5 s z_ServiceStubBuilder._StubMethodN)rrrrr rr4r5r r r r rs   rN)r __author__typerrobjectrrr r r r %s *tPK!ǍPP9protobuf/__pycache__/unittest_no_arena_pb2.cpython-36.pycnu[3 hl@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZy ejZWnek rejjjZYnXdd lmZejdddedejejgdZejdddeejddddddejddddddejddddddgddddd Zejeej eZ!dZ"dZ#dZ$ejd!d"deejd#dddddejd$dddddejd%dddddejd&ddGdddgddd'd(d Z%eje%ej&d)d*dedej'd+d,dddddd-ddddd-dded.ggggdd-dggd/d0d1Z(ej&d2d3dedej'd4d5dd6dddd-ddddd-dded.ggggdd-dggd7d8d1Z)ej&d9d:dedej'd4d;ddd1Z*ej&d?d@dedej'dAdBdddddd-ddddd-dded.ej'dCdDdddddd-ddddd-dded.ej'dEdFdddGddd-ddddd-dded.ej'dHdIdddddd-ddddd-dded.ej'dJdKddd6ddd-ddddd-dded.ej'dLdMdddNddd-ddddd-dded.ej'dOdPddQdQddd-ddddd-dded.ej'dRdSdQdTdddd-ddddd-dded.ej'dUdVdTdWdXddd-ddddd-dded.ej'dYdZdWd[d\ddd-ddddd-dded.ej'd]d^d[d_dddd-e+ddddd-dded.ej'd`dad_dbdddd-e+ddddd-dded.ej'dcdddbdGdTdQdd-d-dddd-dded.ej'dedfdGdgdWdWdd-edhj,didddd-dded.ej'djdkdgdXdbdWdd-edhdddd-dded.ej'dldmdXd\d[d[dd-ddddd-dded.ej'dndod\dNd_d[dd-ddddd-dded.ej'dpdqd6drd_d[dd-ddddd-dded.ej'dsdtdNdud_d[dd-ddddd-dded.ej'dvdwdrdxdgdTdd-ddddd-dded.ej'dydzdud{dgdTdd-ddddd-dded.ej'd|d}dxd~dgdTdd-dQdddd-dded.ej'ddd{ddWdWdd-edhj,didddd-dej-ej.eded.ej'ddd~ddWdWdd-edhj,didddd-dej-ej.eded.ej'ddddd_d[dd-ddddd-dded.ej'ddddd_d[dd-ddddd-dej-ej.eded.ej'dddddddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'dddddGddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'ddddd6ddd-gdddd-dded.ej'dddddNddd-gdddd-dded.ej'dddddQddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'dddddXddd-gdddd-dded.ej'ddddd\ddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'dddddddd-gdddd-dded.ej'dddddTdQdd-gdddd-dded.ej'dddddWdWdd-gdddd-dded.ej'dddddbdWdd-gdddd-dded.ej'ddddd[d[dd-gdddd-dded.ej'ddddd_d[dd-gdddd-dded.ej'ddddd_d[dd-gdddd-dded.ej'ddddd_d[dd-gdddd-dded.ej'dddddgdTdd-gdddd-dded.ej'dddddgdTdd-gdddd-dded.ej'ddddedej'd?d@ddd_d[dd-ddddd-dded.ggggdd-dggdAdBd1Z2e0e(_3e0e)_3e0e*_3e)e0j4dl_5e(e0j4dn_5e1e0j4dp_5ej6e0j4ds_5e%e0j4dv_7ee0j4dy_7ej8e0j4d|_7ej9e0j4d_5e(e0j4d_5e*e0j4d_5e(e0j4d_5e1e0j4d_5ej6e0j4d_5e%e0j4d_7ee0j4d_7ej8e0j4d_7e(e0j4d_5e%e0j4d_7ee0j4d_7ej8e0j4d_7e(e0j4d&_5e(e0j4d/_5e0e%_3e0j:d2j;je2j4d?_5e0ej?d?<e1ej?d7<e2ej?d=<eej@d<ejAee jBd?e jCfeDe jBd)e jCfeDe(dCdDe jBd2e jCfeDe)dCdDe jBd9e jCfeDe*dCdDe0dCdEZEejFeEejFeEjGejFeEjHejFeEjIe jBd7e jCfeDe1dCdDZJejFeJe jBd=e jCfeDe2dCdDZKejFeKde_Lej-ejMedFe_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d_Lej-ej.ede0j4d_Nde0j4d/_Lej-ej.ede0j4d/_NdS(JNcCs|S)N)xrr+/usr/lib/python3.6/unittest_no_arena_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_import_pb2)unittest_arena_pb2z'google/protobuf/unittest_no_arena.protoZprotobuf_unittest_no_arenaZproto2u 'google/protobuf/unittest_no_arena.protoprotobuf_unittest_no_arena%google/protobuf/unittest_import.proto$google/protobuf/unittest_arena.proto"Ð TestAllTypes optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( M optionalgroup ( 26.protobuf_unittest_no_arena.TestAllTypes.OptionalGroupW optional_nested_message ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageL optional_foreign_message ( 2*.protobuf_unittest_no_arena.ForeignMessageH optional_import_message ( 2'.protobuf_unittest_import.ImportMessageQ optional_nested_enum (23.protobuf_unittest_no_arena.TestAllTypes.NestedEnumF optional_foreign_enum (2'.protobuf_unittest_no_arena.ForeignEnumB optional_import_enum (2$.protobuf_unittest_import.ImportEnum! optional_string_piece ( B optional_cord ( BU optional_public_import_message ( 2-.protobuf_unittest_import.PublicImportMessageT optional_message ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB( repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( M repeatedgroup. ( 26.protobuf_unittest_no_arena.TestAllTypes.RepeatedGroupW repeated_nested_message0 ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageL repeated_foreign_message1 ( 2*.protobuf_unittest_no_arena.ForeignMessageH repeated_import_message2 ( 2'.protobuf_unittest_import.ImportMessageQ repeated_nested_enum3 (23.protobuf_unittest_no_arena.TestAllTypes.NestedEnumF repeated_foreign_enum4 (2'.protobuf_unittest_no_arena.ForeignEnumB repeated_import_enum5 (2$.protobuf_unittest_import.ImportEnum! repeated_string_piece6 ( B repeated_cord7 ( BY repeated_lazy_message9 ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB( default_int32= (:41 default_int64> (:42 default_uint32? ( :43 default_uint64@ (:44 default_sint32A (:-45 default_sint64B (:46 default_fixed32C (:47 default_fixed64D (:48 default_sfixed32E (:49 default_sfixed64F (:-50 default_floatG (:51.5 default_doubleH (:52000 default_boolI (:true default_stringJ ( :hello default_bytesK ( :worldU default_nested_enumQ (23.protobuf_unittest_no_arena.TestAllTypes.NestedEnum:BARR default_foreign_enumR (2'.protobuf_unittest_no_arena.ForeignEnum: FOREIGN_BARM default_import_enumS (2$.protobuf_unittest_import.ImportEnum: IMPORT_BAR% default_string_pieceT ( :abcB default_cordU ( :123B oneof_uint32o ( HV oneof_nested_messagep ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageH oneof_stringq ( H oneof_bytesr ( H_ lazy_oneof_nested_messages ( 26.protobuf_unittest_no_arena.TestAllTypes.NestedMessageB(H NestedMessage bb ( OptionalGroup a ( RepeatedGroup a/ ("9 NestedEnum FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿB oneof_field" ForeignMessage c ("P TestNoArenaMessage: arena_message ( 2#.proto2_arena_unittest.ArenaMessage*@ ForeignEnum FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZB%B UnittestProtoH€ˆø¢NOARN)namepackagesyntaxZ serialized_pbZ dependencies ForeignEnumz&protobuf_unittest_no_arena.ForeignEnum FOREIGN_FOO)rindexnumberoptionstype FOREIGN_BAR FOREIGN_BAZiVi) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZ NestedEnumz2protobuf_unittest_no_arena.TestAllTypes.NestedEnumZFOOZBARZBAZZNEGi i NestedMessagez5protobuf_unittest_no_arena.TestAllTypes.NestedMessageZbbz8protobuf_unittest_no_arena.TestAllTypes.NestedMessage.bbF)rr!rrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer%Z is_extensionZextension_scoperr#iH ic )rr!r"r#r%fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr&r' OptionalGroupz5protobuf_unittest_no_arena.TestAllTypes.OptionalGroupaz7protobuf_unittest_no_arena.TestAllTypes.OptionalGroup.aie i RepeatedGroupz5protobuf_unittest_no_arena.TestAllTypes.RepeatedGroupz7protobuf_unittest_no_arena.TestAllTypes.RepeatedGroup.a/i i TestAllTypesz'protobuf_unittest_no_arena.TestAllTypesZoptional_int32z6protobuf_unittest_no_arena.TestAllTypes.optional_int32Zoptional_int64z6protobuf_unittest_no_arena.TestAllTypes.optional_int64Zoptional_uint32z7protobuf_unittest_no_arena.TestAllTypes.optional_uint32 Zoptional_uint64z7protobuf_unittest_no_arena.TestAllTypes.optional_uint64Zoptional_sint32z7protobuf_unittest_no_arena.TestAllTypes.optional_sint32Zoptional_sint64z7protobuf_unittest_no_arena.TestAllTypes.optional_sint64Zoptional_fixed32z8protobuf_unittest_no_arena.TestAllTypes.optional_fixed32Zoptional_fixed64z8protobuf_unittest_no_arena.TestAllTypes.optional_fixed64Zoptional_sfixed32z9protobuf_unittest_no_arena.TestAllTypes.optional_sfixed32 Zoptional_sfixed64z9protobuf_unittest_no_arena.TestAllTypes.optional_sfixed64 Zoptional_floatz6protobuf_unittest_no_arena.TestAllTypes.optional_float Zoptional_doublez7protobuf_unittest_no_arena.TestAllTypes.optional_double Z optional_boolz5protobuf_unittest_no_arena.TestAllTypes.optional_boolZoptional_stringz7protobuf_unittest_no_arena.TestAllTypes.optional_stringzutf-8Zoptional_bytesz6protobuf_unittest_no_arena.TestAllTypes.optional_bytesZ optionalgroupz5protobuf_unittest_no_arena.TestAllTypes.optionalgroupZoptional_nested_messagez?protobuf_unittest_no_arena.TestAllTypes.optional_nested_messageZoptional_foreign_messagez@protobuf_unittest_no_arena.TestAllTypes.optional_foreign_messageZoptional_import_messagez?protobuf_unittest_no_arena.TestAllTypes.optional_import_messageZoptional_nested_enumzZdefault_uint32z6protobuf_unittest_no_arena.TestAllTypes.default_uint32?Zdefault_uint64z6protobuf_unittest_no_arena.TestAllTypes.default_uint64@Zdefault_sint32z6protobuf_unittest_no_arena.TestAllTypes.default_sint32AZdefault_sint64z6protobuf_unittest_no_arena.TestAllTypes.default_sint648BZdefault_fixed32z7protobuf_unittest_no_arena.TestAllTypes.default_fixed32CZdefault_fixed64z7protobuf_unittest_no_arena.TestAllTypes.default_fixed64:DZdefault_sfixed32z8protobuf_unittest_no_arena.TestAllTypes.default_sfixed32;EZdefault_sfixed64z8protobuf_unittest_no_arena.TestAllTypes.default_sfixed64<FZ default_floatz5protobuf_unittest_no_arena.TestAllTypes.default_floatGgI@Zdefault_doublez6protobuf_unittest_no_arena.TestAllTypes.default_doubleHi Z default_boolz4protobuf_unittest_no_arena.TestAllTypes.default_boolIZdefault_stringz6protobuf_unittest_no_arena.TestAllTypes.default_stringJZhelloZ default_bytesz5protobuf_unittest_no_arena.TestAllTypes.default_bytesKZworldZdefault_nested_enumz;protobuf_unittest_no_arena.TestAllTypes.default_nested_enumQZdefault_foreign_enumzsx                                                                                      PK!9PDprotobuf/__pycache__/unittest_import_public_pb2.cpython-36.opt-1.pycnu[3 h& @s*ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejede_eje jede_dS)NcCs|S)N)xrr0/usr/lib/python3.6/unittest_import_public_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z,google/protobuf/unittest_import_public.protoZprotobuf_unittest_importZproto2z ,google/protobuf/unittest_import_public.protoprotobuf_unittest_import" PublicImportMessage e (B com.google.protobuf.test)namepackagesyntaxZ serialized_pbPublicImportMessagez,protobuf_unittest_import.PublicImportMessageez.protobuf_unittest_import.PublicImportMessage.eF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileJj)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz*google.protobuf.unittest_import_public_pb2) DESCRIPTOR __module__Tz com.google.protobuf.test)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ_PUBLICIMPORTMESSAGEZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsV           PK!;D228protobuf/__pycache__/field_mask_pb2.cpython-36.opt-1.pycnu[3 hv @s*ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejddddddddgddddddedggggddd ggdddZeejd<ejee jdejfeeddZejede_eje jede_dS)NcCs|S)N)xrr$/usr/lib/python3.6/field_mask_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z google/protobuf/field_mask.protozgoogle.protobufZproto3u google/protobuf/field_mask.protogoogle.protobuf" FieldMask paths ( B‰ com.google.protobufBFieldMaskProtoPZ9google.golang.org/genproto/protobuf/field_mask;field_mask¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb FieldMaskzgoogle.protobuf.FieldMaskpathszgoogle.protobuf.FieldMask.paths F)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile5O)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.field_mask_pb2) DESCRIPTOR __module__Tu com.google.protobufBFieldMaskProtoPZ9google.golang.org/genproto/protobuf/field_mask;field_mask¢GPBªGoogle.Protobuf.WellKnownTypes)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ _FIELDMASKZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsV           PK!T'DD9protobuf/__pycache__/symbol_database.cpython-36.opt-1.pycnu[3 h@sHdZddlmZddlmZGdddejZeejdZddZd S) aRA database of Python protocol buffer generated symbols. SymbolDatabase is the MessageFactory for messages generated at compile time, and makes it easy to create new instances of a registered type, given only the type's protocol buffer symbol name. Example usage: db = symbol_database.SymbolDatabase() # Register symbols of interest, from one or multiple files. db.RegisterFileDescriptor(my_proto_pb2.DESCRIPTOR) db.RegisterMessage(my_proto_pb2.MyMessage) db.RegisterEnumDescriptor(my_proto_pb2.MyEnum.DESCRIPTOR) # The database can be used as a MessageFactory, to generate types based on # their name: types = db.GetMessages(['my_proto.proto']) my_message_instance = types['MyMessage']() # The database's underlying descriptor pool can be queried, so it's not # necessary to know a type's filename to be able to generate it: filename = db.pool.FindFileContainingSymbol('MyMessage') my_message_instance = db.GetMessages([filename])['MyMessage']() # This functionality is also provided directly via a convenience method: my_message_instance = db.GetSymbol('MyMessage')() )descriptor_pool)message_factoryc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS)SymbolDatabasez'A database of Python generated symbols.cCs|j}||j|<|j||S)zRegisters the given message type in the local database. Calls to GetSymbol() and GetMessages() will return messages registered here. Args: message: a message.Message, to be registered. Returns: The provided message. )Z DESCRIPTOR_classesRegisterMessageDescriptor)selfmessagedescr %/usr/lib/python3.6/symbol_database.pyRegisterMessageDs   zSymbolDatabase.RegisterMessagecCs|jj|dS)zRegisters the given message descriptor in the local database. Args: message_descriptor: a descriptor.MessageDescriptor. N)poolZ AddDescriptor)rZmessage_descriptorr r r rUsz(SymbolDatabase.RegisterMessageDescriptorcCs|jj||S)zRegisters the given enum descriptor in the local database. Args: enum_descriptor: a descriptor.EnumDescriptor. Returns: The provided descriptor. )r ZAddEnumDescriptor)rZenum_descriptorr r r RegisterEnumDescriptor]s z%SymbolDatabase.RegisterEnumDescriptorcCs|jj|dS)zRegisters the given service descriptor in the local database. Args: service_descriptor: a descriptor.ServiceDescriptor. Returns: The provided descriptor. N)r ZAddServiceDescriptor)rZservice_descriptorr r r RegisterServiceDescriptoris z(SymbolDatabase.RegisterServiceDescriptorcCs|jj|dS)zRegisters the given file descriptor in the local database. Args: file_descriptor: a descriptor.FileDescriptor. Returns: The provided descriptor. N)r ZAddFileDescriptor)rZfile_descriptorr r r RegisterFileDescriptorts z%SymbolDatabase.RegisterFileDescriptorcCs|j|jj|S)axTries to find a symbol in the local database. Currently, this method only returns message.Message instances, however, if may be extended in future to support other symbol types. Args: symbol: A str, a protocol buffer symbol. Returns: A Python class corresponding to the symbol. Raises: KeyError: if the symbol could not be found. )rr ZFindMessageTypeByName)rZsymbolr r r GetSymbolszSymbolDatabase.GetSymbolcsfddi}xl|D]d}|jj|}xRt|jjD]@}x:|D].}y|j|||j<WqDtk rpYqDXqDWq6WqW|S)aGets all registered messages from a specified file. Only messages already created and registered will be returned; (this is the case for imported _pb2 modules) But unlike MessageFactory, this version also returns already defined nested messages, but does not register any message extensions. Args: files: The file names to extract messages from. Returns: A dictionary mapping proto names to the message classes. Raises: KeyError: if a file could not be found. c3s2|Vx&|jD]}x|D] }|VqWqWdS)zCWalk a message Descriptor and recursively yields all message names.N)Z nested_types)r msg_descZ nested_desc)_GetAllMessagesr r rs z3SymbolDatabase.GetMessages.._GetAllMessages)r ZFindFileByNamelistZmessage_types_by_namevaluesrZ full_nameKeyError)rfilesresult file_nameZ file_descrr r )rr GetMessagess   zSymbolDatabase.GetMessagesN) __name__ __module__ __qualname____doc__r rrrrrrr r r r rAs   r)r cCstS)z#Returns the default SymbolDatabase.)_DEFAULTr r r r Defaultsr N)rZgoogle.protobufrrZMessageFactoryrr rr r r r :s   wPK!͕<protobuf/__pycache__/source_context_pb2.cpython-36.opt-1.pycnu[3 h @s4ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejddddddddedjdddddddedggggddd ggdddZeejd<ejee jdejfeeddZejede_eje jed e_dS)!NcCs|S)N)xrr(/usr/lib/python3.6/source_context_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z$google/protobuf/source_context.protozgoogle.protobufZproto3u $google/protobuf/source_context.protogoogle.protobuf"" SourceContext file_name ( B• com.google.protobufBSourceContextProtoPZAgoogle.golang.org/genproto/protobuf/source_context;source_context¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb SourceContextzgoogle.protobuf.SourceContext file_namez'google.protobuf.SourceContext.file_name Fzutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile9[)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz"google.protobuf.source_context_pb2) DESCRIPTOR __module__Tu com.google.protobufBSourceContextProtoPZAgoogle.golang.org/genproto/protobuf/source_context;source_context¢GPBªGoogle.Protobuf.WellKnownTypes) sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr Z DescriptorZFieldDescriptordecodeZ_SOURCECONTEXTZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsV           PK!U MM@protobuf/__pycache__/unittest_no_arena_import_pb2.cpython-36.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejedS)NcCs|S)N)xrr2/usr/lib/python3.6/unittest_no_arena_import_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z.google/protobuf/unittest_no_arena_import.protoZproto2_arena_unittestZproto2zp .google/protobuf/unittest_no_arena_import.protoproto2_arena_unittest"' ImportNoArenaNestedMessage d ()namepackagesyntaxZ serialized_pbImportNoArenaNestedMessagez0proto2_arena_unittest.ImportNoArenaNestedMessagedz2proto2_arena_unittest.ImportNoArenaNestedMessage.dF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileIp)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz,google.protobuf.unittest_no_arena_import_pb2) DESCRIPTOR __module__)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorrZ DescriptorZFieldDescriptorZ_IMPORTNOARENANESTEDMESSAGEZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrsR          PK!NUUCprotobuf/__pycache__/unittest_proto3_arena_pb2.cpython-36.opt-1.pycnu[3 hS@stddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZy ejZWnek rejjjZYnXejd ddedejgdZejdddeejddddddejddddddejddddddejddddddgddddd ZejeejeZdZ dZ!dZ"dZ#ejd!d"deejd#dddddejd$dddddejd%dddddejd&dddddejd'dd8dddgddd(d)d Z$eje$ej%d*d+dedej&d,d-dddddd.ddddd.dded/ggggdd.dggd0d1d2Z'ej%d3d4dedej&d5d6dddddd.ddddd.dded/ej&d7d8dddddd.ddddd.dded/ej&d9d:ddd;ddd.ddddd.dded/ej&dd?ddd@ddd.ddddd.dded/ej&dAdBdddCddd.ddddd.dded/ej&dDdEddFdFddd.ddddd.dded/ej&dGdHdFdIdddd.ddddd.dded/ej&dJdKdIdLdMddd.ddddd.dded/ej&dNdOdLdPdQddd.ddddd.dded/ej&dRdSdPdTdddd.e(ddddd.dded/ej&dUdVdTdWdddd.e(ddddd.dded/ej&dXdYdWd;dIdFdd.d.dddd.dded/ej&dZd[d;d\dLdLdd.ed]j)d^dddd.dded/ej&d_d`d\dMdWdLdd.ed]dddd.dded/ej&dadbdMdCdTdPdd.ddddd.dded/ej&dcdddQdedTdPdd.ddddd.dded/ej&dfdgd@dhdTdPdd.ddddd.dded/ej&didjdCdkd\dIdd.ddddd.dded/ej&dldmdednd\dIdd.ddddd.dded/ej&dodpdhdqdLdLdd.ed]j)d^dddd.dej*ej+edred/ej&dsdtdkdudLdLdd.ed]j)d^dddd.dej*ej+edved/ej&dwdxdndydTdPdd.ddddd.dded/ej&dzd{d|d}dTdPdd.ddddd.dej*ej+ed~ed/ej&dddqddTdPdd.ddddd.dej*ej+ed~ed/ej&ddduddddd.gdddd.dded/ej&dddyddddd.gdddd.dded/ej&ddd}dd;ddd.gdddd.dded/ej&dddddddd.gdddd.dded/ej&ddddd@ddd.gdddd.dded/ej&dddddCddd.gdddd.dded/ej&dddddFddd.gdddd.dded/ej&dddddddd.gdddd.dded/ej&dddddMddd.gdddd.dded/ej&dddddQddd.gdddd.dded/ej&dddddddd.gdddd.dded/ej&dddddddd.gdddd.dded/ej&dddddIdFdd.gdddd.dded/ej&dddddLdLdd.gdddd.dded/ej&dddddWdLdd.gdddd.dded/ej&dddddTdPdd.gdddd.dded/ej&dddddTdPdd.gdddd.dded/ej&dddddTdPdd.gdddd.dded/ej&ddddd\dIdd.gdddd.dded/ej&ddddd\dIdd.gdddd.dded/ej&dddddLdLdd.gdddd.dej*ej+edred/ej&dddddLdLdd.gdddd.dej*ej+edved/ej&dddddTdPdd.gdddd.dej*ej+ed~ed/ej&ddddd;ddd.ddddd.dded/ej&dddddTdPdd.ddddd.dded/ej&dddddLdLdd.ed]j)d^dddd.dded/ej&dddddWdLdd.ed]dddd.dded/g4ge'ge$gdd.dgej,ddddgdڍgddd2Z-ej%dddedej&dddddddd.gdddd.dej*ej+eded/ej&dddddddd.gdddd.dej*ej+eded/ej&ddddd;ddd.gdddd.dej*ej+eded/ej&dddddddd.gdddd.dej*ej+eded/ej&ddddd@ddd.gdddd.dej*ej+eded/ej&dddddCddd.gdddd.dej*ej+eded/ej&dddddFddd.gdddd.dej*ej+eded/ej&dddFddddd.gdddd.dej*ej+eded/ej&dddIddMddd.gdddd.dej*ej+eded/ej&dddLddQddd.gdddd.dej*ej+eded/ej&dddPddddd.gdddd.dej*ej+eded/ej&dddTddddd.gdddd.dej*ej+eded/ej&dddWddIdFdd.gdddd.dej*ej+eded/ej&ddd;d d\dIdd.gdddd.dej*ej+eded/ggggdd.dggd d d2Z.ej%d d dedej&dddddddd.gdddd.dej*ej+eded/ej&dddddddd.gdddd.dej*ej+eded/ej&ddddd;ddd.gdddd.dej*ej+eded/ej&dddddddd.gdddd.dej*ej+eded/ej&ddddd@ddd.gdddd.dej*ej+eded/ej&dddddCddd.gdddd.dej*ej+eded/ej&ddddFdFddd.gdddd.dej*ej+eded/ej&dddFdIdddd.gdddd.dej*ej+eded/ej&dddIdLdMddd.gdddd.dej*ej+eded/ej&dddLdPdQddd.gdddd.dej*ej+eded/ej&dddPdTdddd.gdddd.dej*ej+eded/ej&dddTdWdddd.gdddd.dej*ej+eded/ej&dddWd;dIdFdd.gdddd.dej*ej+eded/ej&ddd;d\d\dIdd.gdddd.dej*ej+eded/ggggdd.dggddd2Z/ej%dd dedej&d!d"dddTdPdd.ddddd.dded/ej&d#d$dddTdPdd.ddddd.dded/ej&d%d&dddTdPdd.gdddd.dded/ggggdd.dggd'd(d2Z0ej%d)d*dedej&d+d,dddddd.ddddd.dded/ggggdd.dggd-d.d2Z1ej%d/d0dedggggdd.dggd1d2d2Z2e-e'_3e'e-j4da_5e1e-j4dc_5ej6e-j4df_5e$e-j4di_7ee-j4dl_7ej8e-j4dw_5e'e-j4dz_5ej6e-j4d_5e'e-j4d_5e1e-j4d_5ej6e-j4d_5e$e-j4d_7ee-j4d_7e'e-j4d_5e'e-j4d_5e-e$_3e-j9dj:j;e-j4de-j9de-j4d_d<ej?ee j@d3e jAfeBe j@d*e jAfeBe'd3d4e-d3d5ZCejDeCejDeCjEe j@de jAfeBe.d3d4ZFejDeFe j@d e jAfeBe/d3d4ZGejDeGe j@de jAfeBe0d3d4ZHejDeHe j@d)e jAfeBe1d3d4ZIejDeIe j@d/e jAfeBe2d3d4ZJejDeJd6e_Kej*ejLed7e_Md6e-j4do_Kej*ej+edre-j4do_Md6e-j4ds_Kej*ej+edve-j4ds_Md6e-j4dz_Kej*ej+ed~e-j4dz_Md6e-j4d_Kej*ej+ed~e-j4d_Md6e-j4d_Kej*ej+edre-j4d_Md6e-j4d_Kej*ej+edve-j4d_Md6e-j4d_Kej*ej+ed~e-j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_MdS(9NcCs|S)N)xrr//usr/lib/python3.6/unittest_proto3_arena_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_import_pb2z+google/protobuf/unittest_proto3_arena.protoZproto3_arena_unittestZproto3u4 +google/protobuf/unittest_proto3_arena.protoproto3_arena_unittest%google/protobuf/unittest_import.proto"É TestAllTypes optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( R optional_nested_message ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageG optional_foreign_message ( 2%.proto3_arena_unittest.ForeignMessageH optional_import_message ( 2'.protobuf_unittest_import.ImportMessageL optional_nested_enum (2..proto3_arena_unittest.TestAllTypes.NestedEnumA optional_foreign_enum (2".proto3_arena_unittest.ForeignEnum! optional_string_piece ( B optional_cord ( BU optional_public_import_message ( 2-.protobuf_unittest_import.PublicImportMessageT optional_lazy_message ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageB(Q optional_lazy_import_messages ( 2'.protobuf_unittest_import.ImportMessageB( repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( R repeated_nested_message0 ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageG repeated_foreign_message1 ( 2%.proto3_arena_unittest.ForeignMessageH repeated_import_message2 ( 2'.protobuf_unittest_import.ImportMessageL repeated_nested_enum3 (2..proto3_arena_unittest.TestAllTypes.NestedEnumA repeated_foreign_enum4 (2".proto3_arena_unittest.ForeignEnum! repeated_string_piece6 ( B repeated_cord7 ( BT repeated_lazy_message9 ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageB( oneof_uint32o ( HQ oneof_nested_messagep ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageH oneof_stringq ( H oneof_bytesr ( H NestedMessage bb ("C NestedEnum ZERO FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿB oneof_field"® TestPackedTypes packed_int32Z (B packed_int64[ (B packed_uint32\ ( B packed_uint64] (B packed_sint32^ (B packed_sint64_ (B packed_fixed32` (B packed_fixed64a (B packed_sfixed32b (B packed_sfixed64c (B packed_floatd (B packed_doublee (B packed_boolf (B; packed_enumg (2".proto3_arena_unittest.ForeignEnumB"ß TestUnpackedTypes repeated_int32 (B repeated_int64 (B repeated_uint32 ( B repeated_uint64 (B repeated_sint32 (B repeated_sint64 (B repeated_fixed32 (B repeated_fixed64 (B repeated_sfixed32 (B repeated_sfixed64 (B repeated_float (B repeated_double (B repeated_bool (BP repeated_nested_enum (2..proto3_arena_unittest.TestAllTypes.NestedEnumB"Ç NestedTestAllTypes8 child ( 2).proto3_arena_unittest.NestedTestAllTypes4 payload ( 2#.proto3_arena_unittest.TestAllTypesA repeated_child ( 2).proto3_arena_unittest.NestedTestAllTypes" ForeignMessage c (" TestEmptyMessage*R ForeignEnum FOREIGN_ZERO FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZBøbproto3)namepackagesyntaxZ serialized_pbZ dependencies ForeignEnumz!proto3_arena_unittest.ForeignEnum FOREIGN_ZERO)rindexnumberoptionstype FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZi i) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZ NestedEnumz-proto3_arena_unittest.TestAllTypes.NestedEnumZZEROZFOOZBARZBAZZNEGii( NestedMessagez0proto3_arena_unittest.TestAllTypes.NestedMessageZbbz3proto3_arena_unittest.TestAllTypes.NestedMessage.bbF)rr!rrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer%Z is_extensionZextension_scoperr#ii)rr!r"r#r%fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr&r' TestAllTypesz"proto3_arena_unittest.TestAllTypesZoptional_int32z1proto3_arena_unittest.TestAllTypes.optional_int32Zoptional_int64z1proto3_arena_unittest.TestAllTypes.optional_int64Zoptional_uint32z2proto3_arena_unittest.TestAllTypes.optional_uint32 Zoptional_uint64z2proto3_arena_unittest.TestAllTypes.optional_uint64Zoptional_sint32z2proto3_arena_unittest.TestAllTypes.optional_sint32Zoptional_sint64z2proto3_arena_unittest.TestAllTypes.optional_sint64Zoptional_fixed32z3proto3_arena_unittest.TestAllTypes.optional_fixed32Zoptional_fixed64z3proto3_arena_unittest.TestAllTypes.optional_fixed64Zoptional_sfixed32z4proto3_arena_unittest.TestAllTypes.optional_sfixed32 Zoptional_sfixed64z4proto3_arena_unittest.TestAllTypes.optional_sfixed64 Zoptional_floatz1proto3_arena_unittest.TestAllTypes.optional_float Zoptional_doublez2proto3_arena_unittest.TestAllTypes.optional_double Z optional_boolz0proto3_arena_unittest.TestAllTypes.optional_boolZoptional_stringz2proto3_arena_unittest.TestAllTypes.optional_stringzutf-8Zoptional_bytesz1proto3_arena_unittest.TestAllTypes.optional_bytesZoptional_nested_messagez:proto3_arena_unittest.TestAllTypes.optional_nested_messageZoptional_foreign_messagez;proto3_arena_unittest.TestAllTypes.optional_foreign_messageZoptional_import_messagez:proto3_arena_unittest.TestAllTypes.optional_import_messageZoptional_nested_enumz7proto3_arena_unittest.TestAllTypes.optional_nested_enumZoptional_foreign_enumz8proto3_arena_unittest.TestAllTypes.optional_foreign_enumZoptional_string_piecez8proto3_arena_unittest.TestAllTypes.optional_string_piecezZ optional_cordz0proto3_arena_unittest.TestAllTypes.optional_cordzZoptional_public_import_messagezAproto3_arena_unittest.TestAllTypes.optional_public_import_messageZoptional_lazy_messagez8proto3_arena_unittest.TestAllTypes.optional_lazy_messagez(Zoptional_lazy_import_messagez?proto3_arena_unittest.TestAllTypes.optional_lazy_import_messagesZrepeated_int32z1proto3_arena_unittest.TestAllTypes.repeated_int32Zrepeated_int64z1proto3_arena_unittest.TestAllTypes.repeated_int64 Zrepeated_uint32z2proto3_arena_unittest.TestAllTypes.repeated_uint32!Zrepeated_uint64z2proto3_arena_unittest.TestAllTypes.repeated_uint64"Zrepeated_sint32z2proto3_arena_unittest.TestAllTypes.repeated_sint32#Zrepeated_sint64z2proto3_arena_unittest.TestAllTypes.repeated_sint64$Zrepeated_fixed32z3proto3_arena_unittest.TestAllTypes.repeated_fixed32%Zrepeated_fixed64z3proto3_arena_unittest.TestAllTypes.repeated_fixed64&Zrepeated_sfixed32z4proto3_arena_unittest.TestAllTypes.repeated_sfixed32'Zrepeated_sfixed64z4proto3_arena_unittest.TestAllTypes.repeated_sfixed64(Zrepeated_floatz1proto3_arena_unittest.TestAllTypes.repeated_float)Zrepeated_doublez2proto3_arena_unittest.TestAllTypes.repeated_double*Z repeated_boolz0proto3_arena_unittest.TestAllTypes.repeated_bool+Zrepeated_stringz2proto3_arena_unittest.TestAllTypes.repeated_string,Zrepeated_bytesz1proto3_arena_unittest.TestAllTypes.repeated_bytes-Zrepeated_nested_messagez:proto3_arena_unittest.TestAllTypes.repeated_nested_message0Zrepeated_foreign_messagez;proto3_arena_unittest.TestAllTypes.repeated_foreign_message1Zrepeated_import_messagez:proto3_arena_unittest.TestAllTypes.repeated_import_message2Zrepeated_nested_enumz7proto3_arena_unittest.TestAllTypes.repeated_nested_enum3Zrepeated_foreign_enumz8proto3_arena_unittest.TestAllTypes.repeated_foreign_enum4Zrepeated_string_piecez8proto3_arena_unittest.TestAllTypes.repeated_string_piece6Z repeated_cordz0proto3_arena_unittest.TestAllTypes.repeated_cord.7Zrepeated_lazy_messagez8proto3_arena_unittest.TestAllTypes.repeated_lazy_message/9Z oneof_uint32z/proto3_arena_unittest.TestAllTypes.oneof_uint32oZoneof_nested_messagez7proto3_arena_unittest.TestAllTypes.oneof_nested_messagepZ oneof_stringz/proto3_arena_unittest.TestAllTypes.oneof_stringqZ oneof_bytesz.proto3_arena_unittest.TestAllTypes.oneof_bytesrZ oneof_fieldz.proto3_arena_unittest.TestAllTypes.oneof_field)rr!rr%r+ni7 TestPackedTypesz%proto3_arena_unittest.TestPackedTypesZ packed_int32z2proto3_arena_unittest.TestPackedTypes.packed_int32ZzZ packed_int64z2proto3_arena_unittest.TestPackedTypes.packed_int64[Z packed_uint32z3proto3_arena_unittest.TestPackedTypes.packed_uint32\Z packed_uint64z3proto3_arena_unittest.TestPackedTypes.packed_uint64]Z packed_sint32z3proto3_arena_unittest.TestPackedTypes.packed_sint32^Z packed_sint64z3proto3_arena_unittest.TestPackedTypes.packed_sint64_Zpacked_fixed32z4proto3_arena_unittest.TestPackedTypes.packed_fixed32`Zpacked_fixed64z4proto3_arena_unittest.TestPackedTypes.packed_fixed64aZpacked_sfixed32z5proto3_arena_unittest.TestPackedTypes.packed_sfixed32bZpacked_sfixed64z5proto3_arena_unittest.TestPackedTypes.packed_sfixed64cZ packed_floatz2proto3_arena_unittest.TestPackedTypes.packed_floatdZ packed_doublez3proto3_arena_unittest.TestPackedTypes.packed_doubleeZ packed_boolz1proto3_arena_unittest.TestPackedTypes.packed_boolfZ packed_enumz1proto3_arena_unittest.TestPackedTypes.packed_enumgi: i TestUnpackedTypesz'proto3_arena_unittest.TestUnpackedTypesz6proto3_arena_unittest.TestUnpackedTypes.repeated_int32zz6proto3_arena_unittest.TestUnpackedTypes.repeated_int64z7proto3_arena_unittest.TestUnpackedTypes.repeated_uint32z7proto3_arena_unittest.TestUnpackedTypes.repeated_uint64z7proto3_arena_unittest.TestUnpackedTypes.repeated_sint32z7proto3_arena_unittest.TestUnpackedTypes.repeated_sint64z8proto3_arena_unittest.TestUnpackedTypes.repeated_fixed32z8proto3_arena_unittest.TestUnpackedTypes.repeated_fixed64z9proto3_arena_unittest.TestUnpackedTypes.repeated_sfixed32z9proto3_arena_unittest.TestUnpackedTypes.repeated_sfixed64z6proto3_arena_unittest.TestUnpackedTypes.repeated_floatz7proto3_arena_unittest.TestUnpackedTypes.repeated_doublez5proto3_arena_unittest.TestUnpackedTypes.repeated_boolzsH                                                                     PK!yV\ǚǚ<protobuf/__pycache__/test_messages_proto2_pb2.cpython-36.pycnu[3 h̤q@s+ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZejd d deddZejdddeejddddddejddddddejddddddgddddd ZejeejeZdZdZdZdZejdddddddd ddddd!dded"Zejd#d$deejd%dddddejd&dddddejd'dddddejd(dddddgddd)d*d Zejeej d+d,dedejd-d.dddddd ddddd dded"ejd/d0ddd1d2dd ddddd dded"ggggdd dggd3d4d5Z!ej d6d7dedejd8d9dddddd ddddd dded"ejd:d;dddddd ddddd dded"ggggej"ej#ed<d dggd=d>d5Z$ej d?d@dedejd8dAdddddd ddddd dded"ejd:dBdddddd ddddd dded"ggggej"ej#ed<d dggdCdDd5Z%ej dEdFdedejd8dGdddHddd ddddd dded"ejd:dIdddHddd ddddd dded"ggggej"ej#ed<d dggdJdKd5Z&ej dLdMdedejd8dNdddOdOdd ddddd dded"ejd:dPdddOdOdd ddddd dded"ggggej"ej#ed<d dggdQdRd5Z'ej dSdTdedejd8dUdddVddd ddddd dded"ejd:dWdddVddd ddddd dded"ggggej"ej#ed<d dggdXdYd5Z(ej dZd[dedejd8d\ddd]ddd ddddd dded"ejd:d^ddd]ddd ddddd dded"ggggej"ej#ed<d dggd_d`d5Z)ej dadbdedejd8dcddddddd ddddd dded"ejd:deddddddd ddddd dded"ggggej"ej#ed<d dggdfdgd5Z*ej dhdidedejd8djdddkdOdd ddddd dded"ejd:dldddkdOdd ddddd dded"ggggej"ej#ed<d dggdmdnd5Z+ej dodpdedejd8dqdddrddd ddddd dded"ejd:dsdddrddd ddddd dded"ggggej"ej#ed<d dggdtdud5Z,ej dvdwdedejd8dxdddyddd ddddd dded"ejd:dzdddyddd ddddd dded"ggggej"ej#ed<d dggd{d|d5Z-ej d}d~dedejd8ddddddd ddddd dded"ejd:dddddkdd e.ddddd dded"ggggej"ej#ed<d dggddd5Z/ej dddedejd8ddddddd ddddd dded"ejd:ddddddd e.ddddd dded"ggggej"ej#ed<d dggddd5Z0ej dddedejd8dddddddd d dddd dded"ejd:dddddddd d dddd dded"ggggej"ej#ed<d dggddd5Z1ej dddedejd8ddddddd edj2ddddd dded"ejd:ddddddd edj2ddddd dded"ggggej"ej#ed<d dggddd5Z3ej dddedejd8ddddddd edj2ddddd dded"ejd:ddddddd eddddd dded"ggggej"ej#ed<d dggddd5Z4ej dddedejd8ddddddd edj2ddddd dded"ejd:dddd1d2dd ddddd dded"ggggej"ej#ed<d dggddd5Z5ej dddedejd8ddddddd edj2ddddd dded"ejd:dddd1d2dd ddddd dded"ggggej"ej#ed<d dggddd5Z6ej dddedejd8ddddddd edj2ddddd dded"ejd:ddddddd ddddd dded"ggggej"ej#ed<d dggddd5Z7ej dddedejd8ddddddd edj2ddddd dded"ejd:ddddddd ddddd dded"ggggej"ej#ed<d dggddd5Z8ej dddedejdddddddd ddddd dded"ejdddddHddd ddddd dded"ggggdd dggddd5Z9ej dddedggggej"ej#edŃd!ddggddd5Z:ej dddedejdddddddd edj2ddddd dded"gejddddd1d2dd ddddd!dded"gggdd dggddd5Z;ej dddedejdddddddd ddddd dded"gejddddd1d2dd ddddd!dded"gggdd dggddd5Zdddd gdddd dded"ejd?d@d#dAdddd gdddd dded"ejdBdCd'dDd1d2dd gdddd dded"ejdEdFd+dGd1d2dd gdddd dded"ejdHdId/dJdddd gdddd dded"ejdKdLd2dMdddd gdddd dded"ejdNdOd5dPdddd gdddd dej"ej=ed ed"ejdQdRd8dSdddd gdddd dej"ej=edŃed"ejdTdUd;dVd1d2dd gdddd dded"ejdWdXd>dYd1d2dd gdddd dded"ejdZd[dAd\d1d2dd gdddd dded"ejd]d^d_d`d1d2dd gdddd dded"ejdadbdcddd1d2dd gdddd dded"ejdedfdDdgd1d2dd gdddd dded"ejdhdidGdjd1d2dd gdddd dded"ejdkdldmdnd1d2dd gdddd dded"ejdodpdJdqd1d2dd gdddd dded"ejdrdsdMdtd1d2dd gdddd dded"ejdudvdwdxd1d2dd gdddd dded"ejdydzdPd{d1d2dd gdddd dded"ejd|d}dSd~d1d2dd gdddd dded"ejdddVdd1d2dd gdddd dded"ejdddYdd1d2dd gdddd dded"ejddd\dd1d2dd gdddd dded"ejddd`dd1d2dd gdddd dded"ejdddddd1d2dd gdddd dded"ejdddgdd1d2dd gdddd dded"ejdddjddHddd ddddd dded"ejdddndd1d2dd ddddd dded"ejdddqddddd edj2ddddd dded"ejdddtddddd eddddd dded"ejdddxdddddd d dddd dded"ejddd{ddOdOdd ddddd dded"ejddd~dddkdd e.ddddd dded"ejdddddddd e.ddddd dded"ejdddddddd ddddd dded"ejddddd2d2dd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdĐdŐdƐddddd ddddd dded"ejdȐdɐdʐddddd ddddd dded"ejd̐d͐dΐddddd ddddd dded"ejdАdѐdҐddddd ddddd dded"ejdԐdՐd֐ddddd ddddd dded"ejdؐdِdڐddddd ddddd dded"ejdܐdݐdސddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"ejdddddddd ddddd dded"gZge!e$e%e&e'e(e)e*e+e,e-e/e0e1e3e4e5e6e7e8e9e:e;eddddgdgdƐdd5Z?ej dddedejdddddddd ddddd dded"ggggdd dggddd5Z@e?e!jAd/_Be?e!_Ce?e$_Ce?e%_Ce?e&_Ce?e'_Ce?e(_Ce?e)_Ce?e*_Ce?e+_Ce?e,_Ce?e-_Ce?e/_Ce?e0_Ce?e1_Ce?e3_Ce?e4_Ce!e5jAd:_Be?e5_Ce@e6jAd:_Be?e6_Cee7jAd:_De?e7_Cee8jAd:_De?e8_Ce?e9_Ce?e:_Ce?e;_Ce?e<_Ce!e?jAd_Be@e?jAd_Bee?jAd_Dee?jAd_De?e?jAd _Be!e?jAdB_Be@e?jAdE_Bee?jAdH_Dee?jAdK_De$e?jAdT_Be%e?jAdW_Be&e?jAdZ_Be'e?jAd]_Be(e?jAda_Be)e?jAde_Be*e?jAdh_Be+e?jAdk_Be,e?jAdo_Be-e?jAdr_Be/e?jAdu_Be0e?jAdy_Be1e?jAd|_Be3e?jAd_Be4e?jAd_Be5e?jAd_Be6e?jAd_Be7e?jAd_Be8e?jAd_Be!e?jAd_Bee?jAd_De9e?jAd_Be?e_Ce?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?jEdjFjGe?jAde?jEde?jAd_He?ejId<e@ejId<eejJd<eejKd<ejLee jMde jNfeOe jMd+e jNfeOe!dde jMd6e jNfeOe$dde jMd?e jNfeOe%dde jMdEe jNfeOe&dde jMdLe jNfeOe'dde jMdSe jNfeOe(dde jMdZe jNfeOe)dde jMdae jNfeOe*dde jMdhe jNfeOe+dde jMdoe jNfeOe,dde jMdve jNfeOe-dde jMd}e jNfeOe/dde jMde jNfeOe0dde jMde jNfeOe1dde jMde jNfeOe3dde jMde jNfeOe4dde jMde jNfeOe5dde jMde jNfeOe6dde jMde jNfeOe7dde jMde jNfeOe8dde jMde jNfeOe9dde jMde jNfeOe:dde jMde jNfeOe;dde jMde jNfeOe<dde?ddZPejQePejQePjRejQePjSejQePjTejQePjUejQePjVejQePjWejQePjXejQePjYejQePjZejQePj[ejQePj\ejQePj]ejQePj^ejQePj_ejQePj`ejQePjaejQePjbejQePjcejQePjdejQePjeejQePjfejQePjgejQePjhejQePjie jMde jNfeOe@ddZjejQejePjkee;e;jKd_BePjgjke;jKdesrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2z*google/protobuf/test_messages_proto2.protozprotobuf_test_messages.proto2Zproto2u *google/protobuf/test_messages_proto2.protoprotobuf_test_messages.proto2"Þ2 TestAllTypesProto2 optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( ` optional_nested_message ( 2?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageU optional_foreign_message ( 23.protobuf_test_messages.proto2.ForeignMessageProto2Z optional_nested_enum (2<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumO optional_foreign_enum (20.protobuf_test_messages.proto2.ForeignEnumProto2! optional_string_piece ( B optional_cord ( BL recursive_message ( 21.protobuf_test_messages.proto2.TestAllTypesProto2 repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( ` repeated_nested_message0 ( 2?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageU repeated_foreign_message1 ( 23.protobuf_test_messages.proto2.ForeignMessageProto2Z repeated_nested_enum3 (2<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumO repeated_foreign_enum4 (20.protobuf_test_messages.proto2.ForeignEnumProto2! repeated_string_piece6 ( B repeated_cord7 ( B] map_int32_int328 ( 2D.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry] map_int64_int649 ( 2D.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entrya map_uint32_uint32: ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entrya map_uint64_uint64; ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entrya map_sint32_sint32< ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entrya map_sint64_sint64= ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entrye map_fixed32_fixed32> ( 2H.protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entrye map_fixed64_fixed64? ( 2H.protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entryi map_sfixed32_sfixed32@ ( 2J.protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entryi map_sfixed64_sfixed64A ( 2J.protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry] map_int32_floatB ( 2D.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry_ map_int32_doubleC ( 2E.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntryY map_bool_boolD ( 2B.protobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntrya map_string_stringE ( 2F.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry_ map_string_bytesF ( 2E.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntryp map_string_nested_messageG ( 2M.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntryr map_string_foreign_messageH ( 2N.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntryj map_string_nested_enumI ( 2J.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntryl map_string_foreign_enumJ ( 2K.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry oneof_uint32o ( H_ oneof_nested_messagep ( 2?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageH oneof_stringq ( H oneof_bytesr ( H oneof_bools (H oneof_uint64t (H oneof_floatu (H oneof_doublev (HR oneof_enumw (2<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumHE dataÉ ( 26.protobuf_test_messages.proto2.TestAllTypesProto2.Data fieldname1‘ ( field_name2’ ( _field_name3“ ( field__name4_” ( field0name5• ( field_0_name6– ( fieldName7— ( FieldName8˜ ( field_Name9™ ( Field_Name10š ( FIELD_NAME11› ( FIELD_name12œ ( __field_name13 ( __Field_name14ž ( field__name15Ÿ ( field__Name16  ( field_name17__¡ ( Field_name18__¢ (b NestedMessage a (F corecursive ( 21.protobuf_test_messages.proto2.TestAllTypesProto24 MapInt32Int32Entry key ( value (:84 MapInt64Int64Entry key ( value (:86 MapUint32Uint32Entry key (  value ( :86 MapUint64Uint64Entry key ( value (:86 MapSint32Sint32Entry key ( value (:86 MapSint64Sint64Entry key ( value (:88 MapFixed32Fixed32Entry key ( value (:88 MapFixed64Fixed64Entry key ( value (:8: MapSfixed32Sfixed32Entry key ( value (:8: MapSfixed64Sfixed64Entry key ( value (:84 MapInt32FloatEntry key ( value (:85 MapInt32DoubleEntry key ( value (:82 MapBoolBoolEntry key ( value (:86 MapStringStringEntry key (  value ( :85 MapStringBytesEntry key (  value ( :8~ MapStringNestedMessageEntry key ( N value ( 2?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage:8s MapStringForeignMessageEntry key ( B value ( 23.protobuf_test_messages.proto2.ForeignMessageProto2:8x MapStringNestedEnumEntry key ( K value (2<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum:8m MapStringForeignEnumEntry key ( ? value (20.protobuf_test_messages.proto2.ForeignEnumProto2:83 Data group_int32Ê ( group_uint32Ë ( ! MessageSetCorrect*ÿÿÿÿ:à MessageSetCorrectExtension1 str ( 2³ message_set_extensionC.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectù»^ ( 2M.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1ß MessageSetCorrectExtension2 i (2´ message_set_extensionC.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect³ü ( 2M.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2"9 NestedEnum FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿ*xÉB oneof_field"! ForeignMessageProto2 c (*F ForeignEnumProto2 FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZ:J extension_int321.protobuf_test_messages.proto2.TestAllTypesProto2x (B/ (com.google.protobuf_test_messages.proto2Hø)namepackagesyntaxZ serialized_pbForeignEnumProto2z/protobuf_test_messages.proto2.ForeignEnumProto2 FOREIGN_FOO)rindexnumberoptionstype FOREIGN_BAR FOREIGN_BAZii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endxextension_int32z-protobuf_test_messages.proto2.extension_int32FT)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer Z is_extensionZextension_scoperrZ NestedEnumz;protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumZFOOZBARZBAZZNEGi]i NestedMessagez>protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageaz@protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage.aZ corecursivezJprotobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage.corecursive ii)rrrrr fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr!r"MapInt32Int32EntryzCprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32EntrykeyzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry.keyvaluezIprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry.valuez8iiNMapInt64Int64EntryzCprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64EntryzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry.keyzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry.valueiPiMapUint32Uint32EntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry.key zKprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry.valueiiMapUint64Uint64EntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry.keyzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry.valueiiMapSint32Sint32EntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry.keyzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry.valueii,MapSint64Sint64EntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry.keyzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry.valuei.idMapFixed32Fixed32EntryzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32EntryzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry.keyzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry.valueifiMapFixed64Fixed64EntryzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64EntryzKprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry.keyzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry.valueiiMapSfixed32Sfixed32EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32EntryzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry.keyzOprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry.valueiiMapSfixed64Sfixed64EntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64EntryzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry.keyzOprotobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry.valueiiPMapInt32FloatEntryzCprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntryzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry.keyzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry.valueiRiMapInt32DoubleEntryzDprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntryzHprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry.keyzJprotobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry.valueiiMapBoolBoolEntryzAprotobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry.keyzGprotobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry.valueiiMapStringStringEntryzEprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry.key zutf-8zKprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry.valueii)MapStringBytesEntryzDprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntryzHprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry.keyzJprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry.value i+i`MapStringNestedMessageEntryzLprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntryzPprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry.keyzRprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry.valueibiMapStringForeignMessageEntryzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntryzQprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry.keyzSprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry.valueiiUMapStringNestedEnumEntryzIprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntryzMprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry.keyzOprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry.valueiWiMapStringForeignEnumEntryzJprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntryzNprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry.keyzPprotobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry.valueii>Dataz5protobuf_test_messages.proto2.TestAllTypesProto2.DataZ group_int32zAprotobuf_test_messages.proto2.TestAllTypesProto2.Data.group_int32Z group_uint32zBprotobuf_test_messages.proto2.TestAllTypesProto2.Data.group_uint32i@isMessageSetCorrectzBprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectziuiMessageSetCorrectExtension1zLprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1strzPprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1.strZmessage_set_extensionzbprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1.message_set_extensioniiiyMessageSetCorrectExtension2zLprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2izNprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2.izbprotobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2.message_set_extensioni?i|i[TestAllTypesProto2z0protobuf_test_messages.proto2.TestAllTypesProto2Zoptional_int32z?protobuf_test_messages.proto2.TestAllTypesProto2.optional_int32Zoptional_int64z?protobuf_test_messages.proto2.TestAllTypesProto2.optional_int64Zoptional_uint32z@protobuf_test_messages.proto2.TestAllTypesProto2.optional_uint32Zoptional_uint64z@protobuf_test_messages.proto2.TestAllTypesProto2.optional_uint64Zoptional_sint32z@protobuf_test_messages.proto2.TestAllTypesProto2.optional_sint32Zoptional_sint64z@protobuf_test_messages.proto2.TestAllTypesProto2.optional_sint64Zoptional_fixed32zAprotobuf_test_messages.proto2.TestAllTypesProto2.optional_fixed32Zoptional_fixed64zAprotobuf_test_messages.proto2.TestAllTypesProto2.optional_fixed64Zoptional_sfixed32zBprotobuf_test_messages.proto2.TestAllTypesProto2.optional_sfixed32Zoptional_sfixed64zBprotobuf_test_messages.proto2.TestAllTypesProto2.optional_sfixed64Zoptional_floatz?protobuf_test_messages.proto2.TestAllTypesProto2.optional_floatZoptional_doublez@protobuf_test_messages.proto2.TestAllTypesProto2.optional_doubleZ optional_boolz>protobuf_test_messages.proto2.TestAllTypesProto2.optional_boolZoptional_stringz@protobuf_test_messages.proto2.TestAllTypesProto2.optional_stringZoptional_bytesz?protobuf_test_messages.proto2.TestAllTypesProto2.optional_bytesZoptional_nested_messagezHprotobuf_test_messages.proto2.TestAllTypesProto2.optional_nested_messageZoptional_foreign_messagezIprotobuf_test_messages.proto2.TestAllTypesProto2.optional_foreign_messageZoptional_nested_enumzEprotobuf_test_messages.proto2.TestAllTypesProto2.optional_nested_enumZoptional_foreign_enumzFprotobuf_test_messages.proto2.TestAllTypesProto2.optional_foreign_enumZoptional_string_piecezFprotobuf_test_messages.proto2.TestAllTypesProto2.optional_string_piecezZ optional_cordz>protobuf_test_messages.proto2.TestAllTypesProto2.optional_cordZrecursive_messagezBprotobuf_test_messages.proto2.TestAllTypesProto2.recursive_messageZrepeated_int32z?protobuf_test_messages.proto2.TestAllTypesProto2.repeated_int32Zrepeated_int64z?protobuf_test_messages.proto2.TestAllTypesProto2.repeated_int64 Zrepeated_uint32z@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_uint32!Zrepeated_uint64z@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_uint64"Zrepeated_sint32z@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_sint32#Zrepeated_sint64z@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_sint64$Zrepeated_fixed32zAprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_fixed32%Zrepeated_fixed64zAprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_fixed64&Zrepeated_sfixed32zBprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_sfixed32'Zrepeated_sfixed64zBprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_sfixed64(Zrepeated_floatz?protobuf_test_messages.proto2.TestAllTypesProto2.repeated_float)Zrepeated_doublez@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_double*Z repeated_boolz>protobuf_test_messages.proto2.TestAllTypesProto2.repeated_bool+Zrepeated_stringz@protobuf_test_messages.proto2.TestAllTypesProto2.repeated_string,Zrepeated_bytesz?protobuf_test_messages.proto2.TestAllTypesProto2.repeated_bytes-Zrepeated_nested_messagezHprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_nested_message0Zrepeated_foreign_messagezIprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_foreign_message1Zrepeated_nested_enumzEprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_nested_enum3Zrepeated_foreign_enumzFprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_foreign_enum4Zrepeated_string_piecezFprotobuf_test_messages.proto2.TestAllTypesProto2.repeated_string_piece6Z repeated_cordz>protobuf_test_messages.proto2.TestAllTypesProto2.repeated_cord7Zmap_int32_int32z@protobuf_test_messages.proto2.TestAllTypesProto2.map_int32_int328Zmap_int64_int64z@protobuf_test_messages.proto2.TestAllTypesProto2.map_int64_int649Zmap_uint32_uint32zBprotobuf_test_messages.proto2.TestAllTypesProto2.map_uint32_uint32:Zmap_uint64_uint64zBprotobuf_test_messages.proto2.TestAllTypesProto2.map_uint64_uint64.;Zmap_sint32_sint32zBprotobuf_test_messages.proto2.TestAllTypesProto2.map_sint32_sint32/<Zmap_sint64_sint64zBprotobuf_test_messages.proto2.TestAllTypesProto2.map_sint64_sint64=Zmap_fixed32_fixed32zDprotobuf_test_messages.proto2.TestAllTypesProto2.map_fixed32_fixed32>Zmap_fixed64_fixed64zDprotobuf_test_messages.proto2.TestAllTypesProto2.map_fixed64_fixed642?Zmap_sfixed32_sfixed32zFprotobuf_test_messages.proto2.TestAllTypesProto2.map_sfixed32_sfixed32@Zmap_sfixed64_sfixed64zFprotobuf_test_messages.proto2.TestAllTypesProto2.map_sfixed64_sfixed64AZmap_int32_floatz@protobuf_test_messages.proto2.TestAllTypesProto2.map_int32_float5BZmap_int32_doublezAprotobuf_test_messages.proto2.TestAllTypesProto2.map_int32_doubleCZ map_bool_boolz>protobuf_test_messages.proto2.TestAllTypesProto2.map_bool_boolDZmap_string_stringzBprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_stringEZmap_string_byteszAprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_bytesFZmap_string_nested_messagezJprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_nested_messageGZmap_string_foreign_messagezKprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_foreign_messageHZmap_string_nested_enumzGprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_nested_enumIZmap_string_foreign_enumzHprotobuf_test_messages.proto2.TestAllTypesProto2.map_string_foreign_enumJZ oneof_uint32z=protobuf_test_messages.proto2.TestAllTypesProto2.oneof_uint32oZoneof_nested_messagezEprotobuf_test_messages.proto2.TestAllTypesProto2.oneof_nested_messagepZ oneof_stringz=protobuf_test_messages.proto2.TestAllTypesProto2.oneof_stringqZ oneof_byteszprotobuf_test_messages.proto2.TestAllTypesProto2.field__name4_KiZ field0name5zprotobuf_test_messages.proto2.TestAllTypesProto2.field_0_name6MiZ fieldName7z;protobuf_test_messages.proto2.TestAllTypesProto2.fieldName7NiZ FieldName8z;protobuf_test_messages.proto2.TestAllTypesProto2.FieldName8OiZ field_Name9zprotobuf_test_messages.proto2.TestAllTypesProto2.field__name15ViZ field__Name16z>protobuf_test_messages.proto2.TestAllTypesProto2.field__Name16WiZfield_name17__z?protobuf_test_messages.proto2.TestAllTypesProto2.field_name17__XiZField_name18__z?protobuf_test_messages.proto2.TestAllTypesProto2.Field_name18__YiZ oneof_fieldzr@rBrCrDrFrIrKrLrMrOrPrSrUrXrru0 (com.google.protobuf_test_messages.proto2Hø)r5rT)r#r)osys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbZFileDescriptorrZEnumDescriptorZEnumValueDescriptorZ_FOREIGNENUMPROTO2ZRegisterEnumDescriptorZEnumTypeWrapperrrrrZEXTENSION_INT32_FIELD_NUMBERZFieldDescriptorr$Z_TESTALLTYPESPROTO2_NESTEDENUMZ DescriptorZ!_TESTALLTYPESPROTO2_NESTEDMESSAGEZ _ParseOptionsZMessageOptionsZ&_TESTALLTYPESPROTO2_MAPINT32INT32ENTRYZ&_TESTALLTYPESPROTO2_MAPINT64INT64ENTRYZ(_TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRYZ(_TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRYZ(_TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRYZ(_TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRYZ*_TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRYZ*_TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRYZ,_TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRYZ,_TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRYfloatZ&_TESTALLTYPESPROTO2_MAPINT32FLOATENTRYZ'_TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRYZ$_TESTALLTYPESPROTO2_MAPBOOLBOOLENTRYdecodeZ(_TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRYZ'_TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRYZ/_TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRYZ0_TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRYZ,_TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRYZ-_TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRYZ_TESTALLTYPESPROTO2_DATAZ%_TESTALLTYPESPROTO2_MESSAGESETCORRECTZ/_TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1Z/_TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2Z FieldOptionsZOneofDescriptorZ_TESTALLTYPESPROTO2Z_FOREIGNMESSAGEPROTO2Zfields_by_namer&r r'Zoneofs_by_namer,appendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZZRegisterMessager(r.r1r2r4r6r8r:r<r>r@rBrCrDrFrIrKrLrMrOrPrSrUrXrZRegisterExtensionZ has_optionsZ FileOptionsZ_optionsrrrrsJ                                                                                                                                                                                       2                                                                       PK!Duyuy8protobuf/__pycache__/descriptor_pb2.cpython-36.opt-1.pycnu[3 h\*@s%ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z e j Z ejd d d ed dZejdddeejddddddejddddddejddddddejddddddejddddddejddddddejddddddejddd dddejd!d d"dddejd#d"d$dddejd%d$d&dddejd'd&d(dddejd)d(d*dddejd+d*d,dddejd-d,d.dddejd/d.d0dddejd1d0d2dddejd3d2d4dddgddd5d6d7 Ze jeejd8d9deejd:dddddejd;dddddejdd7 Ze jeejd?d@deejdAdddddejdBdddddejdCdddddgdddDdEd7 Ze jeejdFdGdeejdHdddddejdIdddddejdJdddddgdddKdLd7 Ze jeejdMdNdeejdOdddddejdPdddddejdQdddddgdddRdSd7 Ze jeejdTdUdeejdVdddddejdWdddddejdXdddddgdddYdZd7 Ze jeejd[d\dedejd]d^ddd&d$dd_gdddd_dded`ggggdd_d ggdadbdcZejdddededejdfdgddd"d"dd_edhjdidddd_dded`ejdjdkddd"d"dd_edhjdidddd_dded`ejdldmddd"d"dd_gdddd_dded`ejdndodd$dddd_gdddd_dded`ejdpdqdd&dddd_gdddd_dded`ejdrdsddd&d$dd_gdddd_dded`ejdtduddd&d$dd_gdddd_dded`ejdvdwddd&d$dd_gdddd_dded`ejdxdyd dd&d$dd_gdddd_dded`ejdzd{d"d d&d$dd_ddddd_dded`ejd|d}d$d"d&d$dd_ddddd_dded`ejd~dd&d(d"d"dd_edhjdidddd_dded`g gggdd_d ggdddcZejdddedejdddddddd_ddddd_dded`ejdddddddd_ddddd_dded`ejdzdddd&d$dd_ddddd_dded`ggggdd_d ggdddcZejdddedejdddddddd_ddddd_dded`ejdddddddd_ddddd_dded`ggggdd_d ggdddcZejdddedejdfdddd"d"dd_edhjdidddd_dded`ejddddd&d$dd_gdddd_dded`ejdxdddd&d$dd_gdddd_dded`ejddddd&d$dd_gdddd_dded`ejdtdddd&d$dd_gdddd_dded`ejddddd&d$dd_gdddd_dded`ejdddd d&d$dd_gdddd_dded`ejdzdddd&d$dd_ddddd_dded`ejddd d"d&d$dd_gdddd_dded`ejddd"d$d"d"dd_gdddd_dded`g geeggdd_d ggdddcZ ejdddedejddddd&d$dd_gdddd_dded`ggggddd dggdddcZ!ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejdddddddd_ddddd_dded`ejddddd,d dd_ddddd_dded`ejddddd,d dd_ddddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejdddd"dddd_ddddd_dded`ejddd d$d"d"dd_edhjdidddd_dded`ejdzdd"d d&d$dd_ddddd_dded`g ggeegdd_d ggdd>dcZ"ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejdzdddd&d$dd_ddddd_dded`ggggdd_d ggdddcZ#ejdddedejdddddddd_ddddd_dded`ejdddddddd_ddddd_dded`ggggdd_d ggdddcZ$ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejddddd&d$dd_gdddd_dded`ejdzdddd&d$dd_ddddd_dded`ejddddd&d$dd_gdddd_dded`ejddddd"d"dd_gdddd_dded`gge$ggdd_d ggdddcZ%ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejdddddddd_ddddd_dded`ejdzdddd&d$dd_ddddd_dded`ggggdd_d ggdddcZ&ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejddddd&d$dd_gdddd_dded`ejdzdddd&d$dd_ddddd_dded`ggggdd_d ggdddcZ'ejdddedejdfdddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejdzdddd&d$dd_ddddd_dded`ejddddd dddd_dddd_dded`ejddddd dddd_dddd_dded`ggggdd_d ggdddcZ(ejdddedejddddd"d"dd_edhjdidddd_dded`ejdddd d"d"dd_edhjdidddd_dded`ejdddd$d dddd_dddd_dded`ejddddd ddd_d_dddd_dded`ejddddd dddd_dddd_dded`ejdddd"d,d ddddddd_dded`ejdddd&d"d"dd_edhjdidddd_dded`ejdddd0d dddd_dddd_dded`ejd d d d2d dddd_dddd_dded`ejd d d"d4d dddd_dddd_dded`ejd dd$dd dddd_dddd_dded`ejddd&dd dddd_dddd_dded`ejddd(dd dddd_dddd_dded`ejddd*dd"d"dd_edhjdidddd_dded`ejddd,dd"d"dd_edhjdidddd_dded`ejddd.dd"d"dd_edhjdidddd_dded`ejdd d0d!d"d"dd_edhjdidddd_dded`ejd"d#d2d$d"d"dd_edhjdidddd_dded`ejdd%d4dd&d$dd_gdddd_dded`gggegddd dggd&d'dcZ)ejd(d)dedejd*d+ddd dddd_dddd_dded`ejd,d-ddd dddd_dddd_dded`ejdd.ddd dddd_dddd_dded`ejd/d0ddd ddd_d_dddd_dded`ejdd1ddd&d$dd_gdddd_dded`ggggddd dggd2d3dcZ*ejd4d5dedejd6d7ddd,d ddddddd_dded`ejd8d9ddd ddd_d_dddd_dded`ejd:d;ddd,d ddddddd_dded`ejd<d=ddd dddd_dddd_dded`ejdd>ddd dddd_dddd_dded`ejd?d@dd$d dddd_dddd_dded`ejddAddd&d$dd_gdddd_dded`gggeegddd dggdBdCdcZ+ejdDdEdedejddFddd&d$dd_gdddd_dded`ggggddd dggdGdHdcZ,ejdIdJdedejdKdLddd ddd_d_dddd_dded`ejddMddd dddd_dddd_dded`ejddNddd&d$dd_gdddd_dded`ggggddd dggdOdPdcZ-ejdQdRdedejddSddd dddd_dddd_dded`ejddTddd&d$dd_gdddd_dded`ggggddd dggdUdVdcZ.ejdWdXdedejddYddZd dddd_dddd_dded`ejdd[ddd&d$dd_gdddd_dded`ggggddd dggd\d]dcZ/ejd^d_dedejdd`ddZd dddd_dddd_dded`ejdadbddcd,d ddddddd_dded`ejdddddd&d$dd_gdddd_dded`gggegddd dggdedfdcZ0ejdgdhdedejdidjddd"d"dd_edhjdidddd_dded`ejdkdlddd ddd_d_dddd_dded`ggggdd_d ggdmdndcZ1ejdodpdedejdfdqddd&d$dd_gdddd_dded`ejdrdsddd"d"dd_edhjdidddd_dded`ejdtdudddddd_ddddd_dded`ejdvdwdddddd_ddddd_dded`ejdxdydddddd_e2ddddd_dded`ejdzd{ddd(d"dd_edhdddd_dded`ejd|d}dd d"d"dd_edhjdidddd_dded`gge1ggdd_d ggd~dndcZ3ejdddedejdddddddd_gdddd_dded`ejdddddddd_gdddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejddddd"d"dd_gdddd_dded`ggggdd_d ggdddcZ4ejdddedejddddd&d$dd_gdddd_dded`gge4ggdd_d ggdddcZ5ejdddedejdddddddd_gdddd_dded`ejddddd"d"dd_edhjdidddd_dded`ejdddddddd_ddddd_dded`ejdddddddd_ddddd_dded`ggggdd_d ggdddcZ6ejdddedejddddd&d$dd_gdddd_dded`gge6ggdd_d ggdddcZ7eej8d]_9e ej8dr_9e%ej8dt_9e'ej8dv_9e"ej8dx_9e)ej8dz_9e5ej8d|_9e!ej8dz_9e e_:e e_:e"e j8d_9e"e j8dx_9e e j8d_9e%e j8dt_9ee j8d_9e#e j8d_9e*e j8dz_9ee j8d_9e3e!j8d_9ee"j8d_;ee"j8d_;e+e"j8dz_9e"e_:e"e_:e,e#j8dz_9e%e$_:e&e%j8d_9e-e%j8dz_9e$e%j8d_9e.e&j8dz_9e(e'j8d_9e/e'j8dz_9e0e(j8dz_9ee)j8d_;e3e)j8d_9e)e_:e3e*j8d_9ee+j8d6_;ee+j8d:_;e3e+j8d_9e+e_:e+e_:e3e,j8d_9e3e-j8d_9e3e.j8d_9e3e/j8d_9ee0j8da_;e3e0j8d_9e0e_:e3e1_:e1e3j8df_9e5e4_:e4e5j8d_9e7e6_:e6e7j8d_9eejd[ej?fe@eddZAe jBeAe j>ddej?fe@eddZCe jBeCe j>dej?fe@e j>dej?fe@edde j>dej?fe@edde ddZDe jBeDe jBeDjEe jBeDjFe j>dej?fe@e!ddZGe jBeGe j>dej?fe@e"ddZHe jBeHe j>dej?fe@e#ddZIe jBeIe j>dej?fe@e j>dej?fe@e$dde%ddZJe jBeJe jBeJjKe j>dej?fe@e&ddZLe jBeLe j>dej?fe@e'ddZMe jBeMe j>dej?fe@e(ddZNe jBeNe j>dej?fe@e)ddZOe jBeOe j>d(ej?fe@e*ddZPe jBePe j>d4ej?fe@e+ddZQe jBeQe j>dDej?fe@e,ddZRe jBeRe j>dIej?fe@e-ddZSe jBeSe j>dQej?fe@e.ddZTe jBeTe j>dWej?fe@e/ddZUe jBeUe j>d^ej?fe@e0ddZVe jBeVe j>doej?fe@e j>dgej?fe@e1dde3ddZWe jBeWe jBeWjXe j>dej?fe@e j>dej?fe@e4dde5ddZYe jBeYe jBeYjZe j>dej?fe@e j>dej?fe@e6dde7ddZ[e jBe[e jBe[j\dS(NcCs|S)N)xrr$/usr/lib/python3.6/descriptor_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_databasez google/protobuf/descriptor.protozgoogle.protobufZproto2u google/protobuf/descriptor.protogoogle.protobuf"G FileDescriptorSet2 file ( 2$.google.protobuf.FileDescriptorProto"Û FileDescriptorProto name (  package (  dependency (  public_dependency ( weak_dependency (6 message_type ( 2 .google.protobuf.DescriptorProto7 enum_type ( 2$.google.protobuf.EnumDescriptorProto8 service ( 2'.google.protobuf.ServiceDescriptorProto8 extension ( 2%.google.protobuf.FieldDescriptorProto- options ( 2.google.protobuf.FileOptions9 source_code_info ( 2.google.protobuf.SourceCodeInfo syntax ( "© DescriptorProto name ( 4 field ( 2%.google.protobuf.FieldDescriptorProto8 extension ( 2%.google.protobuf.FieldDescriptorProto5 nested_type ( 2 .google.protobuf.DescriptorProto7 enum_type ( 2$.google.protobuf.EnumDescriptorProtoH extension_range ( 2/.google.protobuf.DescriptorProto.ExtensionRange9 oneof_decl ( 2%.google.protobuf.OneofDescriptorProto0 options ( 2.google.protobuf.MessageOptionsF reserved_range ( 2..google.protobuf.DescriptorProto.ReservedRange reserved_name ( e ExtensionRange start ( end (7 options ( 2&.google.protobuf.ExtensionRangeOptions+ ReservedRange start ( end ("g ExtensionRangeOptionsC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€"¼ FieldDescriptorProto name (  number (: label (2+.google.protobuf.FieldDescriptorProto.Label8 type (2*.google.protobuf.FieldDescriptorProto.Type type_name (  extendee (  default_value (  oneof_index ( json_name ( . options ( 2.google.protobuf.FieldOptions"¶ Type TYPE_DOUBLE TYPE_FLOAT TYPE_INT64 TYPE_UINT64 TYPE_INT32 TYPE_FIXED64 TYPE_FIXED32 TYPE_BOOL TYPE_STRING  TYPE_GROUP  TYPE_MESSAGE  TYPE_BYTES  TYPE_UINT32  TYPE_ENUM TYPE_SFIXED32 TYPE_SFIXED64 TYPE_SINT32 TYPE_SINT64"C Label LABEL_OPTIONAL LABEL_REQUIRED LABEL_REPEATED"T OneofDescriptorProto name ( . options ( 2.google.protobuf.OneofOptions"¤ EnumDescriptorProto name ( 8 value ( 2).google.protobuf.EnumValueDescriptorProto- options ( 2.google.protobuf.EnumOptionsN reserved_range ( 26.google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_name ( / EnumReservedRange start ( end ("l EnumValueDescriptorProto name (  number (2 options ( 2!.google.protobuf.EnumValueOptions" ServiceDescriptorProto name ( 6 method ( 2&.google.protobuf.MethodDescriptorProto0 options ( 2.google.protobuf.ServiceOptions"Á MethodDescriptorProto name (  input_type (  output_type ( / options ( 2.google.protobuf.MethodOptions client_streaming (:false server_streaming (:false"ð FileOptions java_package (  java_outer_classname ( " java_multiple_files (:false) java_generate_equals_and_hash (B% java_string_check_utf8 (:falseF optimize_for (2).google.protobuf.FileOptions.OptimizeMode:SPEED go_package ( " cc_generic_services (:false$ java_generic_services (:false" py_generic_services (:false# php_generic_services* (:false deprecated (:false cc_enable_arenas (:false objc_class_prefix$ (  csharp_namespace% (  swift_prefix' (  php_class_prefix( (  php_namespace) ( C uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption": OptimizeMode SPEED CODE_SIZE LITE_RUNTIME* 耀€€J&'"ò MessageOptions& message_set_wire_format (:false. no_standard_descriptor_accessor (:false deprecated (:false map_entry (C uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€J J  "ž FieldOptions: ctype (2#.google.protobuf.FieldOptions.CType:STRING packed (? jstype (2$.google.protobuf.FieldOptions.JSType: JS_NORMAL lazy (:false deprecated (:false weak (:falseC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption"/ CType STRING CORD STRING_PIECE"5 JSType JS_NORMAL JS_STRING JS_NUMBER* 耀€€J"^ OneofOptionsC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€"“ EnumOptions allow_alias ( deprecated (:falseC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€J"} EnumValueOptions deprecated (:falseC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€"{ ServiceOptions deprecated! (:falseC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption* 耀€€"­ MethodOptions deprecated! (:false_ idempotency_level" (2/.google.protobuf.MethodOptions.IdempotencyLevel:IDEMPOTENCY_UNKNOWNC uninterpreted_optionç ( 2$.google.protobuf.UninterpretedOption"P IdempotencyLevel IDEMPOTENCY_UNKNOWN NO_SIDE_EFFECTS IDEMPOTENT* 耀€€"ž UninterpretedOption; name ( 2-.google.protobuf.UninterpretedOption.NamePart identifier_value (  positive_int_value ( negative_int_value ( double_value ( string_value (  aggregate_value ( 3 NamePart name_part (  is_extension ("Õ SourceCodeInfo: location ( 2(.google.protobuf.SourceCodeInfo.Location† Location path (B span (B leading_comments (  trailing_comments ( ! leading_detached_comments ( "§ GeneratedCodeInfoA annotation ( 2-.google.protobuf.GeneratedCodeInfo.AnnotationO Annotation path (B source_file (  begin ( end (B com.google.protobufBDescriptorProtosHZ>github.com/golang/protobuf/protoc-gen-go/descriptor;descriptorø¢GPBªGoogle.Protobuf.Reflection)namepackagesyntaxZ serialized_pbZTypez)google.protobuf.FieldDescriptorProto.TypeZ TYPE_DOUBLE)r indexnumberoptionstypeZ TYPE_FLOATZ TYPE_INT64Z TYPE_UINT64Z TYPE_INT32Z TYPE_FIXED64Z TYPE_FIXED32Z TYPE_BOOLZ TYPE_STRING Z TYPE_GROUP Z TYPE_MESSAGE Z TYPE_BYTES Z TYPE_UINT32 Z TYPE_ENUMZ TYPE_SFIXED32Z TYPE_SFIXED64Z TYPE_SINT32Z TYPE_SINT64ii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZLabelz*google.protobuf.FieldDescriptorProto.LabelZLABEL_OPTIONALZLABEL_REQUIREDZLABEL_REPEATEDii.Z OptimizeModez(google.protobuf.FileOptions.OptimizeModeZSPEEDZ CODE_SIZEZ LITE_RUNTIMEiiRZCTypez"google.protobuf.FieldOptions.CTypeSTRINGZCORDZ STRING_PIECEiiZJSTypez#google.protobuf.FieldOptions.JSTypeZ JS_NORMALZ JS_STRINGZ JS_NUMBERiiZIdempotencyLevelz.google.protobuf.MethodOptions.IdempotencyLevelZIDEMPOTENCY_UNKNOWNZNO_SIDE_EFFECTSZ IDEMPOTENTiiFileDescriptorSetz!google.protobuf.FileDescriptorSetr'z&google.protobuf.FileDescriptorSet.fileF)r r%rrrZcpp_typelabelZhas_default_value default_value message_type enum_typer) is_extensionZextension_scoperr'5|)r r%r&r'r)Zfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr*r+FileDescriptorProtoz#google.protobuf.FileDescriptorProtor z(google.protobuf.FileDescriptorProto.namezutf-8rz+google.protobuf.FileDescriptorProto.packageZ dependencyz.google.protobuf.FileDescriptorProto.dependencyZpublic_dependencyz5google.protobuf.FileDescriptorProto.public_dependencyZweak_dependencyz3google.protobuf.FileDescriptorProto.weak_dependencyr0z0google.protobuf.FileDescriptorProto.message_typer1z-google.protobuf.FileDescriptorProto.enum_typeZservicez+google.protobuf.FileDescriptorProto.service extensionz-google.protobuf.FileDescriptorProto.extensionrz+google.protobuf.FileDescriptorProto.optionsZsource_code_infoz4google.protobuf.FileDescriptorProto.source_code_inforz*google.protobuf.FileDescriptorProto.syntaxiZExtensionRangez.google.protobuf.DescriptorProto.ExtensionRangestartz4google.protobuf.DescriptorProto.ExtensionRange.startendz2google.protobuf.DescriptorProto.ExtensionRange.endz6google.protobuf.DescriptorProto.ExtensionRange.optionsiti ReservedRangez-google.protobuf.DescriptorProto.ReservedRangez3google.protobuf.DescriptorProto.ReservedRange.startz1google.protobuf.DescriptorProto.ReservedRange.endiiDescriptorProtozgoogle.protobuf.DescriptorProtoz$google.protobuf.DescriptorProto.nameZfieldz%google.protobuf.DescriptorProto.fieldz)google.protobuf.DescriptorProto.extensionZ nested_typez+google.protobuf.DescriptorProto.nested_typez)google.protobuf.DescriptorProto.enum_typeZextension_rangez/google.protobuf.DescriptorProto.extension_rangeZ oneof_declz*google.protobuf.DescriptorProto.oneof_declz'google.protobuf.DescriptorProto.optionsZreserved_rangez.google.protobuf.DescriptorProto.reserved_rangeZ reserved_namez-google.protobuf.DescriptorProto.reserved_namei]ExtensionRangeOptionsz%google.protobuf.ExtensionRangeOptionsZuninterpreted_optionz:google.protobuf.ExtensionRangeOptions.uninterpreted_optioniT iioFieldDescriptorProtoz$google.protobuf.FieldDescriptorProtoz)google.protobuf.FieldDescriptorProto.namerz+google.protobuf.FieldDescriptorProto.numberr.z*google.protobuf.FieldDescriptorProto.labelrz)google.protobuf.FieldDescriptorProto.typeZ type_namez.google.protobuf.FieldDescriptorProto.type_nameZextendeez-google.protobuf.FieldDescriptorProto.extendeer/z2google.protobuf.FieldDescriptorProto.default_valueZ oneof_indexz0google.protobuf.FieldDescriptorProto.oneof_indexZ json_namez.google.protobuf.FieldDescriptorProto.json_namez,google.protobuf.FieldDescriptorProto.optionsirOneofDescriptorProtoz$google.protobuf.OneofDescriptorProtoz)google.protobuf.OneofDescriptorProto.namez,google.protobuf.OneofDescriptorProto.optionsi0iEnumReservedRangez5google.protobuf.EnumDescriptorProto.EnumReservedRangez;google.protobuf.EnumDescriptorProto.EnumReservedRange.startz9google.protobuf.EnumDescriptorProto.EnumReservedRange.endi| i EnumDescriptorProtoz#google.protobuf.EnumDescriptorProtoz(google.protobuf.EnumDescriptorProto.namevaluez)google.protobuf.EnumDescriptorProto.valuez+google.protobuf.EnumDescriptorProto.optionsz2google.protobuf.EnumDescriptorProto.reserved_rangez1google.protobuf.EnumDescriptorProto.reserved_nameiEnumValueDescriptorProtoz(google.protobuf.EnumValueDescriptorProtoz-google.protobuf.EnumValueDescriptorProto.namez/google.protobuf.EnumValueDescriptorProto.numberz0google.protobuf.EnumValueDescriptorProto.optionsi i ServiceDescriptorProtoz&google.protobuf.ServiceDescriptorProtoz+google.protobuf.ServiceDescriptorProto.namemethodz-google.protobuf.ServiceDescriptorProto.methodz.google.protobuf.ServiceDescriptorProto.optionsi i MethodDescriptorProtoz%google.protobuf.MethodDescriptorProtoz*google.protobuf.MethodDescriptorProto.nameZ input_typez0google.protobuf.MethodDescriptorProto.input_typeZ output_typez1google.protobuf.MethodDescriptorProto.output_typez-google.protobuf.MethodDescriptorProto.optionsZclient_streamingz6google.protobuf.MethodDescriptorProto.client_streamingZserver_streamingz6google.protobuf.MethodDescriptorProto.server_streamingi ip FileOptionszgoogle.protobuf.FileOptionsZ java_packagez(google.protobuf.FileOptions.java_packageZjava_outer_classnamez0google.protobuf.FileOptions.java_outer_classnameZjava_multiple_filesz/google.protobuf.FileOptions.java_multiple_filesZjava_generate_equals_and_hashz9google.protobuf.FileOptions.java_generate_equals_and_hashZjava_string_check_utf8z2google.protobuf.FileOptions.java_string_check_utf8Z optimize_forz(google.protobuf.FileOptions.optimize_forZ go_packagez&google.protobuf.FileOptions.go_packageZcc_generic_servicesz/google.protobuf.FileOptions.cc_generic_servicesZjava_generic_servicesz1google.protobuf.FileOptions.java_generic_servicesZpy_generic_servicesz/google.protobuf.FileOptions.py_generic_servicesZphp_generic_servicesz0google.protobuf.FileOptions.php_generic_services*Z deprecatedz&google.protobuf.FileOptions.deprecatedZcc_enable_arenasz,google.protobuf.FileOptions.cc_enable_arenasZobjc_class_prefixz-google.protobuf.FileOptions.objc_class_prefix$Zcsharp_namespacez,google.protobuf.FileOptions.csharp_namespace%Z swift_prefixz(google.protobuf.FileOptions.swift_prefix'Zphp_class_prefixz,google.protobuf.FileOptions.php_class_prefix(Z php_namespacez)google.protobuf.FileOptions.php_namespace)z0google.protobuf.FileOptions.uninterpreted_optionis icMessageOptionszgoogle.protobuf.MessageOptionsZmessage_set_wire_formatz6google.protobuf.MessageOptions.message_set_wire_formatZno_standard_descriptor_accessorz>google.protobuf.MessageOptions.no_standard_descriptor_accessorz)google.protobuf.MessageOptions.deprecatedZ map_entryz(google.protobuf.MessageOptions.map_entryz3google.protobuf.MessageOptions.uninterpreted_optionifiX FieldOptionszgoogle.protobuf.FieldOptionsZctypez"google.protobuf.FieldOptions.ctypeZpackedz#google.protobuf.FieldOptions.packedZjstypez#google.protobuf.FieldOptions.jstypeZlazyz!google.protobuf.FieldOptions.lazyz'google.protobuf.FieldOptions.deprecatedZweakz!google.protobuf.FieldOptions.weakz1google.protobuf.FieldOptions.uninterpreted_optioni[i OneofOptionszgoogle.protobuf.OneofOptionsz1google.protobuf.OneofOptions.uninterpreted_optioniiY EnumOptionszgoogle.protobuf.EnumOptionsZ allow_aliasz'google.protobuf.EnumOptions.allow_aliasz&google.protobuf.EnumOptions.deprecatedz0google.protobuf.EnumOptions.uninterpreted_optioni\iEnumValueOptionsz google.protobuf.EnumValueOptionsz+google.protobuf.EnumValueOptions.deprecatedz5google.protobuf.EnumValueOptions.uninterpreted_optioniinServiceOptionszgoogle.protobuf.ServiceOptionsz)google.protobuf.ServiceOptions.deprecated!z3google.protobuf.ServiceOptions.uninterpreted_optionipi MethodOptionszgoogle.protobuf.MethodOptionsz(google.protobuf.MethodOptions.deprecatedZidempotency_levelz/google.protobuf.MethodOptions.idempotency_level"z2google.protobuf.MethodOptions.uninterpreted_optioniiNamePartz,google.protobuf.UninterpretedOption.NamePartZ name_partz6google.protobuf.UninterpretedOption.NamePart.name_partr2z9google.protobuf.UninterpretedOption.NamePart.is_extensioni i<UninterpretedOptionz#google.protobuf.UninterpretedOptionz(google.protobuf.UninterpretedOption.nameZidentifier_valuez4google.protobuf.UninterpretedOption.identifier_valueZpositive_int_valuez6google.protobuf.UninterpretedOption.positive_int_valueZnegative_int_valuez6google.protobuf.UninterpretedOption.negative_int_valueZ double_valuez0google.protobuf.UninterpretedOption.double_valueZ string_valuez0google.protobuf.UninterpretedOption.string_valueZaggregate_valuez3google.protobuf.UninterpretedOption.aggregate_valueiLocationz'google.protobuf.SourceCodeInfo.Locationpathz,google.protobuf.SourceCodeInfo.Location.pathspanz,google.protobuf.SourceCodeInfo.Location.spanZleading_commentsz8google.protobuf.SourceCodeInfo.Location.leading_commentsZtrailing_commentsz9google.protobuf.SourceCodeInfo.Location.trailing_commentsZleading_detached_commentszAgoogle.protobuf.SourceCodeInfo.Location.leading_detached_commentsiiSourceCodeInfozgoogle.protobuf.SourceCodeInfolocationz'google.protobuf.SourceCodeInfo.locationi? Annotationz,google.protobuf.GeneratedCodeInfo.Annotationz1google.protobuf.GeneratedCodeInfo.Annotation.pathZ source_filez8google.protobuf.GeneratedCodeInfo.Annotation.source_fileZbeginz2google.protobuf.GeneratedCodeInfo.Annotation.beginz0google.protobuf.GeneratedCodeInfo.Annotation.endioiGeneratedCodeInfoz!google.protobuf.GeneratedCodeInfoZ annotationz,google.protobuf.GeneratedCodeInfo.annotationizgoogle.protobuf.descriptor_pb2) DESCRIPTOR __module__)r:r=rhri)rDrhri)r_rhri)rarhri)rfrhri)r@rA)r@rA)r@rA)r@rA)r@rA)r@rA)r@rA)r@rA)r@rA)]sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaseZDefaultZ_sym_dbZFileDescriptorrhZEnumDescriptorZEnumValueDescriptorZ_FIELDDESCRIPTORPROTO_TYPEZRegisterEnumDescriptorZ_FIELDDESCRIPTORPROTO_LABELZ_FILEOPTIONS_OPTIMIZEMODEZ_FIELDOPTIONS_CTYPEZ_FIELDOPTIONS_JSTYPEZ_METHODOPTIONS_IDEMPOTENCYLEVELZ DescriptorZFieldDescriptorZ_FILEDESCRIPTORSETdecodeZ_FILEDESCRIPTORPROTOZ_DESCRIPTORPROTO_EXTENSIONRANGEZ_DESCRIPTORPROTO_RESERVEDRANGEZ_DESCRIPTORPROTOZ_EXTENSIONRANGEOPTIONSZ_FIELDDESCRIPTORPROTOZ_ONEOFDESCRIPTORPROTOZ&_ENUMDESCRIPTORPROTO_ENUMRESERVEDRANGEZ_ENUMDESCRIPTORPROTOZ_ENUMVALUEDESCRIPTORPROTOZ_SERVICEDESCRIPTORPROTOZ_METHODDESCRIPTORPROTOZ _FILEOPTIONSZ_MESSAGEOPTIONSZ _FIELDOPTIONSZ _ONEOFOPTIONSZ _ENUMOPTIONSZ_ENUMVALUEOPTIONSZ_SERVICEOPTIONSZ_METHODOPTIONSZ_UNINTERPRETEDOPTION_NAMEPARTfloatZ_UNINTERPRETEDOPTIONZ_SOURCECODEINFO_LOCATIONZ_SOURCECODEINFOZ_GENERATEDCODEINFO_ANNOTATIONZ_GENERATEDCODEINFOZfields_by_namer0r)r1Zmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr-ZRegisterMessager6r>r:r=r?rBrCrErDrGrHrJrKrVrWrXrYrZr[r]r`r_rdrargrfrrrrs                                                                                                                                                                                                            PK!o@6protobuf/__pycache__/unittest_pb2.cpython-36.opt-1.pycnu[3 h<j@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZdd lmZdd lmZe jZddlmZy ejZWnek rejjjZYnXejdddedejgdZejdddeejddddddejddddddejddddddgdddd d! Zej eej!eZ"ejd"d#deejd$dddddejd%dddddejd&dddddejd'dddddejd(dddddgdej#ej$ed)d*d+d! Z%ej e%ej!e%Z&ejd,d-deejd.dd/dddejd0dd1dddejd2dd3dddejd4dddddejd6dddddejd8dddddejd9dddddgddd:d;d! Z'ej e'ej!e'Z(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0d/Z1d1Z2d3Z3dZ4dZ5dZ6dZ7dZ8ej9dddddd?dded@Z:dZ;ej9dAdBdddddd>ddddd?dded@Zddddd?dded@Z>dZ?ej9dFdGdddddd>ddddd?dded@Z@dZAej9dHdIdddJddd>ddddd?dded@ZBdZCej9dKdLdddMddd>ddddd?dded@ZDdNZEej9dOdPddNdNddd>ddddd?dded@ZFdQZGej9dRdSdNdQdddd>ddddd?dded@ZHdTZIej9dUdVdQdTd5ddd>ddddd?dded@ZJdWZKej9dXdYdTdWdZddd>ddddd?dded@ZLd[ZMej9d\d]dWd[dddd>eNddddd?dded@ZOd^ZPej9d_d`d[d^dddd>eNddddd?dded@ZQdEZRej9dadbd^dEdQdNdd>d>dddd?dded@ZSdcZTej9dddedEdcdTdTdd>edfjUdgdddd?dded@ZVd5ZWej9dhdidcd5d^dTdd>edfdddd?dded@ZXdZZYej9djdkd5dZdWdWdd>ddddd?dded@ZZdMZ[ej9dldmdZdMd[dWdd>ddddd?dded@Z\dnZ]ej9dodpdJdnd[dWdd>ddddd?dded@Z^dqZ_ej9drdsdMdqd[dWdd>ddddd?dded@Z`dtZaej9dudvdndtdcdQdd>ddddd?dded@ZbdwZcej9dxdydqdwdcdQdd>ddddd?dded@ZddzZeej9d{d|dtdzdcdQdd>dNdddd?dded@Zfd}Zgej9d~ddwd}dTdTdd>edfjUdgdddd?dej#ejheded@ZidZjej9dddzddTdTdd>edfjUdgdddd?dej#ejheded@ZkdZlej9ddd}dd[dWdd>ddddd?dded@ZmdZnej9ddddd[dWdd>ddddd?dej#ejheded@ZodZpej9dddddddd>gdddd?dded@ZqdZrej9dddddddd>gdddd?dded@ZsdZtej9dddddEddd>gdddd?dded@ZudZvej9dddddddd>gdddd?dded@ZwdZxej9dddddJddd>gdddd?dded@ZydZzej9dddddMddd>gdddd?dded@Z{dZ|ej9dddddNddd>gdddd?dded@Z}dZ~ej9dddddddd>gdddd?dded@ZdZej9ddddd5ddd>gdddd?dded@ZdZej9dddddZddd>gdddd?dded@ZdZej9dddddddd>gdddd?dded@ZdZej9dddddddd>gdddd?dded@ZdZej9dddddQdNdd>gdddd?dded@ZdZej9dddddTdTdd>gdddd?dded@ZdZej9ddddd^dTdd>gdddd?dded@ZdZej9dddddWdWdd>gdddd?dded@ZdZej9ddddd[dWdd>gdddd?dded@ZdZej9ddddd[dWdd>gdddd?dded@ZdZej9ddddd[dWdd>gdddd?dded@ZdZej9dddddcdQdd>gdddd?dded@ZdZej9dddddcdQdd>gdddd?dded@ZdZej9dddddcdQdd>gdddd?dded@ZdZej9dddddTdTdd>gdddd?dej#ejheded@ZdZej9dddddTdTdd>gdddd?dej#ejheded@ZdZej9ddddd[dWdd>gdddd?dej#ejheded@ZdZej9dddddddd?ddddd?dded@ZdZej9dddddddd?ddddd?dded@ZdZej9dddddEddd?ddddd?dded@ZdZej9dddddddd?ddddd?dded@ZdZej9dddddJddd?ddddd?dded@ZdZej9dddddMddd?ddddd?dded@ZdZej9dddddNddd?ddddd?dded@ZdZej9dddddddd?ddddd?dded@ZdZej9ddddd5ddd?ddddd?dded@ZdZej9dddddZddd?ddddd?dded@ZdZej9dddddddd?eNddddd?dded@ZdZej9dddސddddd?eNddddd?dded@ZdZej9dddddQdNdd?d?dddd?dded@ZdZej9d d dddTdTdd?ed jUdgdddd?dded@Zd Zej9d ddd d^dTdd?eddddd?dded@ZdZej9dddddcdQdd?ddddd?dded@ZdZej9dddddcdQdd?ddddd?dded@ZÐdZej9dddddcdQdd?dQdddd?dded@ZŐdZej9dddddTdTdd?edjUdgdddd?dej#ejheded@ZǐdZej9dddddTdTdd?ed jUdgdddd?dej#ejheded@Zɐd!Zej9d"d#dd!dEddd>ddddd?dded@Zːd$Zej9d%d&dd$d[dWdd>ddddd?dded@Z͐d'Zej9d(d)dd'dTdTdd>edfjUdgdddd?dded@Zϐd*Zej9d+d,dd*d^dTdd>edfdddd?dded@ZdZej9d-d.d ddTdTdd>edfjUdgdddd?dded@ZdZej9d/d0d1ddddd>ddddd?dded@ZՐd2Zej9d3d4d5d2dddd>gdddd?dej#ejhed)ed@Zאd6Zej9d7d8d9d6dddd>gdddd?dej#ejhed)ed@Zِd:Zej9d;d<d=d:dEddd>gdddd?dej#ejhed)ed@Zېd>Zej9d?d@dAd>dddd>gdddd?dej#ejhed)ed@ZݐdBZej9dCdDddBdJddd>gdddd?dej#ejhed)ed@ZߐdEZej9dFdGddEdMddd>gdddd?dej#ejhed)ed@ZdHZej9dIdJddHdNddd>gdddd?dej#ejhed)ed@ZdKZej9dLdMddKdddd>gdddd?dej#ejhed)ed@ZdNZej9dOdPddNd5ddd>gdddd?dej#ejhed)ed@ZdQZej9dRdSdTdQdZddd>gdddd?dej#ejhed)ed@ZdUZej9dVdWdXdUdddd>gdddd?dej#ejhed)ed@ZdYZej9dZd[d\dYdddd>gdddd?dej#ejhed)ed@Zd]Zej9d^d_d`d]dQdNdd>gdddd?dej#ejhed)ed@ZdaZej9dbdcd2dadcdQdd>gdddd?dej#ejhed)ed@Zd2Zej9ddded6d2dddd>gdddd?dej#ejhedfed@Zd6Zej9dgdhd:d6dddd>gdddd?dej#ejhedfed@Zd:Zej9didjd>d:dEddd>gdddd?dej#ejhedfed@Zd>Zej9dkdldBd>dddd>gdddd?dej#ejhedfed@ZdBZej9dmdndEdBdJddd>gdddd?dej#ejhedfed@ZdEZej9dodpdHdEdMddd>gdddd?dej#ejhedfed@ZdHZej9dqdrdKdHdNddd>gdddd?dej#ejhedfed@ZdKZej9dsdtdNdKdddd>gdddd?dej#ejhedfed@ZdNZej9dudvdQdNd5ddd>gdddd?dej#ejhedfed@ZdQZej9dwdxdUdQdZddd>gdddd?dej#ejhedfed@ZdUZej9dydzdYdUdddd>gdddd?dej#ejhedfed@ZdYZej9d{d|d]dYdddd>gdddd?dej#ejhedfed@Z d]Z ej9d}d~dad]dQdNdd>gdddd?dej#ejhedfed@Z daZ ej9ddddadcdQdd>gdddd?dej#ejhedfed@Z dZej9ddddd[dWdd>ddddd?dded@Zejdddeejddddddejddddddejd&dddddejddddddgddddd! Zej eejdddeejddddddejddddddejd&dddddgddddd! Zej eejdddeejddddddejddddddejddddddgddddd! Zej eejdddedej9dddddddd>ddddd>dded@ggggdd>dggdddZejdddedej9ddddJdddd>ddddd>dded@ggggdd>dggdddZejdddedej9dddddddd>ddddd>dded@ggggdd>dggdddZejdddedej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddEddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddJddd>ddddd>dded@ej9dddddMddd>ddddd>dded@ej9ddddNdNddd>ddddd>dded@ej9dddNdQdddd>ddddd>dded@ej9dddQdTd5ddd>ddddd>dded@ej9dddTdWdZddd>ddddd>dded@ej9dddWd[dddd>eNddddd>dded@ej9dÐdd[d^dddd>eNddddd>dded@ej9dŐdd^dEdQdNdd>d>dddd>dded@ej9dǐddEdcdTdTdd>edfjUdgdddd>dded@ej9dɐddcd5d^dTdd>edfdddd>dded@ej9dːdd5dZdWdWdd>ddddd>dded@ej9d͐ddZdMd[dWdd>ddddd>dded@ej9dϐddJdnd[dWdd>ddddd>dded@ej9dѐddMdqd[dWdd>ddddd>dded@ej9dӐddndtdcdQdd>ddddd>dded@ej9dՐddqdwdcdQdd>ddddd>dded@ej9dאddtdzdcdQdd>dNdddd>dded@ej9dِddwd}dTdTdd>edfjUdgdddd>dej#ejheded@ej9dېddzddTdTdd>edfjUdgdddd>dej#ejheded@ej9dݐdd}dd[dWdd>ddddd>dded@ej9dߐdddd[dWdd>ddddd>dej#ejheded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddEddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddJddd>gdddd>dded@ej9dddddMddd>gdddd>dded@ej9dddddNddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9ddddd5ddd>gdddd>dded@ej9dddddZddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddQdNdd>gdddd>dded@ej9dddddTdTdd>gdddd>dded@ej9ddddd^dTdd>gdddd>dded@ej9dddddWdWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9dddddcdQdd>gdddd>dded@ej9d d dddcdQdd>gdddd>dded@ej9d d dddcdQdd>gdddd>dded@ej9d ddddTdTdd>gdddd>dej#ejheded@ej9dddddTdTdd>gdddd>dej#ejheded@ej9ddddd[dWdd>gdddd>dej#ejheded@ej9dddddddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9dddddEddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9dddddJddd?ddddd>dded@ej9dddddMddd?ddddd>dded@ej9dd dddNddd?ddddd>dded@ej9d!d"dddddd?ddddd>dded@ej9d#d$ddd5ddd?ddddd>dded@ej9d%d&dddZddd?ddddd>dded@ej9d'd(dddddd?eNddddd>dded@ej9d)d*dސddddd?eNddddd>dded@ej9d+d,dddQdNdd?d?dddd>dded@ej9d-d.dddTdTdd?ed jUdgdddd>dded@ej9d/d0dd d^dTdd?eddddd>dded@ej9d1d2dddcdQdd?ddddd>dded@ej9d3d4dddcdQdd?ddddd>dded@ej9d5d6dddcdQdd?dQdddd>dded@ej9d7d8dddTdTdd?edjUdgdddd>dej#ejheded@ej9d9d:dddTdTdd?ed jUdgdddd>dej#ejheded@ej9d;dddddd>dded@ej9d=d>dd$d[dWdd>ddddd>dded@ej9d?d@dd'dTdTdd>edfjUdgdddd>dded@ej9dAdBdd*d^dTdd>edfdddd>dded@gKgeeegegdd>dgejdCdDddgdEgd>dFdZejdGdHdedej9dIdJddd[dWdd>ddddd>dded@ej9dKdLddd[dWdd>ddddd>dded@ej9dMdNddd[dWdd>gdddd>dded@ggggdd>dggdOdPdZejdQdRdedej9dSdTdddddd>ddddd>dej#ejhedUed@ggggdd>dggdVdWdZejdXdYdedggggej#ejedUd>dggdZd[dZejd\d]dedej9d^d_dddddd>ddddd>dded@ej9d`dadddddd>ddddd>dded@ggggdd>dggdbdcdZejdddededggggdd>dggdfdgdZejdhdidedggggdd?ddggdkdldZejdmdndedej9ddoddJdddd>ddddd>dded@ggggdd>dggdpdqdZ ejdrdsdedej9ddtdddddd>ddddd>dded@ggggdd>dggdudvdZ!ejdwdxdedgej9dydzdd{dTdTdd?edyjUdgdddd?dded@ej9d|d}dd~dTdTdd>edfjUdgdddd?dded@gggdd>dggdddZ"ejdddedej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9ddddNdddd>ddddd>dded@ej9dddNdQdddd>ddddd>dded@ej9dddQdTdddd>ddddd>dded@ej9dddTdWdddd>ddddd>dded@ej9dddWd[dddd>ddddd>dded@ej9ddd[d^dddd>ddddd>dded@ej9ddd^dEdddd>ddddd>dded@ej9dddEdcdddd>ddddd>dded@ej9dddcd5dddd>ddddd>dded@ej9ddd5dZdddd>ddddd>dded@ej9dddZdJdddd>ddddd>dded@ej9dddJdMdddd>ddddd>dded@ej9dddMdndddd>ddddd>dded@ej9dddndqdddd>ddddd>dded@ej9dddqdtdddd>ddddd>dded@ej9dddtdwdddd>ddddd>dded@ej9dddwdzdddd>ddddd>dded@ej9dddzd}dddd>ddddd>dded@ej9ddd}ddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9d^ddddddd>ddddd>dded@g!ej9dÐdddd[dWdd>ddddd?dded@ej9dƐdddd[dWdd>gdddd?dded@gggdd>dggdɐdʐdZ#ejdːddedej9d͐dddd[dWdd>ddddd>dded@ej9dϐdddd[dWdd>gdddd>dded@ej9dѐddddddd>ddddd>dded@ggggdd>dggdӐdԐdZ$ejdՐddedej9d͐dddd[dWdd>ddddd>dded@ej9dϐdddd[dWdd>gdddd>dded@ej9dِdddd[dWdd>ddddd>dded@ggggdd>dggdېdܐdZ%ejdݐddedej9dߐdddd[dWdd>ddddd>dded@ggggdd>dggdddZ&ejdddedggggdd>dggdddZ'ejdddedggggdd?ddggdddZ(ejdddedggggdd?ddddggdddZ)ejdddedej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ggggdd>dggdddZ*ejdddedej9ddddd[dWdd>ddddd>dded@ej9dddddddd>ddddd>dded@ggggdd>dggdddZ+ejdddedej9ddddd[dWdd>ddddd>dded@ggggdd>dggdddZ,ejdddedej9ddddd[dWdd>ddddd>dded@ej9d d ddd[dWdd>ddddd>dded@ggggdd>dggd d dZ-ejd ddedej9ddddd[dWdd>ddddd>dded@ej9dddddWdWdd>ddddd>dded@gge,e-ggdd>dggdd dZ.ejdddedej9ddddd[dWdd>ddddd>dded@ej9dddddddd>ddddd>dded@ggggdd>dggdddZ/ejdddedej9dddddddd>ddddd>dded@ggggdd>dggdddZ0ejdddedej9dddddWdWdd>ddddd>dded@gge0ggdd>dggdddZ1ejd d!dedej9dd"ddd[dWdd>ddddd>dded@gge1ggdd>dggd#ddZ2ejd$d%dedej9dd&dddddd>ddddd>dded@ggggdd>dggd'd(dZ3ejd)d*dedej9dd+dddddd>ddddd>dded@ggggdd>dggd,d-dZ4ejd.d/dedej9dd0dddddd>ddddd>dded@ej9d1d2dddWdWdd>ddddd>dded@ej9d3d4dddWdWdd>ddddd>dded@gge3e4ggdd>dggd5d-dZ5ejd6d7dedej9dd8ddd[dWdd>ddddd>dej#ejhed9ed@ggggdd>dggd:d;dZ6ejd<d=dedej9dd>ddd[dWdd>ddddd>dej#ejheded@ggggdd>dggd?d@dZ7ejddAdedej9dBdCdddddd>gdddd>dded@ej9dDdEddd[dWdd>gdddd>dded@ggggdd>dggdFdGdZ8ejdHdIdedej9d͐dJddd[dWdd>ddddd>dded@gge8ggdd>dggdKdGdZ9ejdLdMdedej9dNdOdddddd>ddddd>dded@ej9dPdQdddTdTdd>edfjUdgdddd>dded@ej9dRdSdddcdQdd>ddddd>dded@ej9dTdUddd[dWdd>ddddd>dded@ej9dVdWdddTdTdd>edfjUdgdddd>dej#ejheded@ej9dXdYdddTdTdd>edfjUdgdddd>dej#ejheded@ej9dZd[ddNdddd>gdddd>dded@ej9d\d]dNdQdTdTdd>gdddd>dded@ej9d^d_dQdTdcdQdd>gdddd>dded@ej9d`dadTdWd[dWdd>gdddd>dded@ej9dbdcdWd[dTdTdd>gdddd>dej#ejheded@ej9ddded[d^dTdTdd>gdddd>dej#ejheded@g gggdd>dggdfdgdZ:ejddhdedej9didjdddddd>ddddd>dded@ej9ddkdddddd>ddddd>dded@ggggdd>dggdldmdZ;ejdndodedej9dpdqdd[dTdTdd>edfjUdgdddd>dded@ej9drdsdddddd>ddddd>dded@ej9dtduddYdddd>eNddddd>dded@ej9d͐dvddwd[dWdd>ddddd>dded@gge;ggdd?dddggdxdydZdded@ej9dddddEddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9ddddtdddd?ddddd>dded@ej9ddddwdddd?ddddd>dded@ej9dddNddTdTdd?edjUdgdddd>dded@ej9dddQdNdddd?eNddddd>dded@ej9dddTdQdddd?eNddddd>dded@ej9dddWdTdddd?eNddddd>dded@ej9ddd[dWdddd?eNddddd>dded@ej9ddd^d[dddd?eNddddd>dded@ej9dddEd^dddd?eNddddd>dded@ej9dddcdEdddd?eNddddd>dded@ej9ddd5dcdddd?ddddd>dded@ej9dddZd5dddd?ddddd>dded@ej9dddJdZdddd?ddddd>dded@ej9dddMdJdddd?ddddd>dded@ej9dddndMdddd?ddddd>dded@ej9dddqdndddd?ddddd>dded@ej9dddtdqdTdTdd?edjUdgdddd>dded@ej9dddwdzdTdTdd?edjUdgdddd>dded@ej9dddzd}d^dTdd?eddddd>dded@ej9ddd}ddTdTdd?edjUdgdddd>dej#ejheded@ej9dddddTdTdd?edjUdgdddd>dej#ejheded@ej9dddddTdTdd?edÃjUdgdddd>dded@ggggdd>dggdĐdŐdZ=ejdƐddedej9dȐddddcdQdd>d/dddd>dded@ggggdd>dggdʐdːdZ>ejd̐ddedej9dΐddddTdTdd>edfjUdgdddd>dded@ggggdd>dggdАdѐdZ?ejdҐddedej9dΐddddTdTdd>gdddd>dded@ggggdd>dggdՐd֐dZ@ejdאddedej9dΐdddd^dTdd>edfdddd>dded@ggggdd>dggdڐdېdZAejdܐddedej9dΐdddd^dTdd>gdddd>dded@ggggdd>dggdߐddZBejdddedej9dΐddddddd>ddddd>dded@ggggdd>dggdddZCejdddedej9dΐddddEddd>ddddd>dded@ggggdd>dggdddZDejdddedej9dΐddddddd>ddddd>dded@ggggdd>dggdddZEejdddedej9dΐddddddd>ddddd>dded@ggggdd>dggdddZFejdddedej9dΐddddQdNdd>d>dddd>dded@ggggdd>dggdddZGejdddedej9dddddddd>ddddd>dded@ej9dddddTdTdd>edfjUdgdddd>dded@ggggdd>dggdddZHejdddedej9dddddddd>ddddd>dded@ej9dddddTdTdd>edfjUdgdddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9dd dddWdWdd>ddddd>dded@ggeHggdd>dgejd1d ddgdEgd d dZIejdd dedej9dddddddd>ddddd>dded@ej9dddddTdTdd>edfjUdgdddd>dded@ggggdd>dggdddZJejdddedej9dddddddd>ddddd>dded@ej9dddddTdTdd>edfjUdgdddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9dddddWdWdd>ddddd>dded@ggeJggdd>dggdddZKejdddedej9ddddTdddd>ddddd>dded@ej9ddddWdTdTdd>edfjUdgdddd>dded@ggggdd>dggdddZLejdddedej9dddddddd>ddddd>dded@ej9d d!dddddd>gdddd>dded@ggggdd>dggd"d#dZMejd$d%dedej9dd&dddddd>ddddd>dded@ej9dd'dddTdTdd>edfjUdgdddd>dded@ej9d(d)dddTdTdd>edfjUdgdddd>dej#ejheded@ej9d*d+dddTdTdd>edfjUdgdddd>dej#ejheded@ej9d,d-ddd^dTdd>edfdddd>dded@ej9d.d/dddcdQdd>ddddd>dded@ej9dd0ddNd[dWdd>ddddd>dded@ej9dd1dNdQdWdWdd>ddddd>dded@ej9d2d3dQd[d[dWdd>ddddd>dej#ejheded@ej9d4d5dTd^dddd?ddddd>dded@ej9d6d7dWdEdTdTdd?ed8jUdgdddd>dded@ej9d9d:d[dcdTdTdd?ed;jUdgdddd>dej#ejheded@ej9d<d=d^d5dTdTdd?ed>jUdgdddd>dej#ejheded@ej9d?d@dEdZd^dTdd?edAdddd>dded@ej9dBdCdcdJdcdQdd?ddddd>dded@ej9dDdEd5dMdddd>ddddd>dded@ej9dFdGdZdndTdTdd?ed&jUdgdddd>dded@ggeLeMgegdd>dgejd1dHddgdEejd3dIddgdEgdJdKdZNejddLdedej9dMdNdddddd>eNddddd>dded@ggggdd>dggdOdPdZOejdQdRdedej9ddSdddddd>ddddd>dded@ej9ddTdddTdTdd>edfjUdgdddd>dded@ej9ddUddd[dWdd>ddddd>dded@ggeOggdd>dgejd1dVddgdEgdWdXdZPejdYdZdedej9d[d\dd2dddd>gdddd>dej#ejhed)ed@ej9d]d^dd6dddd>gdddd>dej#ejhed)ed@ej9d_d`dd:dEddd>gdddd>dej#ejhed)ed@ej9dadbdd>dddd>gdddd>dej#ejhed)ed@ej9dcddddBdJddd>gdddd>dej#ejhed)ed@ej9dedfddEdMddd>gdddd>dej#ejhed)ed@ej9dgdhddHdNddd>gdddd>dej#ejhed)ed@ej9didjdNdKdddd>gdddd>dej#ejhed)ed@ej9dkdldQdNd5ddd>gdddd>dej#ejhed)ed@ej9dmdndTdQdZddd>gdddd>dej#ejhed)ed@ej9dodpdWdUdddd>gdddd>dej#ejhed)ed@ej9dqdrd[dYdddd>gdddd>dej#ejhed)ed@ej9dsdtd^d]dQdNdd>gdddd>dej#ejhed)ed@ej9dudvdEdadcdQdd>gdddd>dej#ejhed)ed@ggggdd>dggdwdxdZQejdydzdedej9d{d|dd2dddd>gdddd>dej#ejhedfed@ej9d}d~dd6dddd>gdddd>dej#ejhedfed@ej9dddd:dEddd>gdddd>dej#ejhedfed@ej9dddd>dddd>gdddd>dej#ejhedfed@ej9ddddBdJddd>gdddd>dej#ejhedfed@ej9ddddEdMddd>gdddd>dej#ejhedfed@ej9ddddHdNddd>gdddd>dej#ejhedfed@ej9dddNdKdddd>gdddd>dej#ejhedfed@ej9dddQdNd5ddd>gdddd>dej#ejhedfed@ej9dddTdQdZddd>gdddd>dej#ejhedfed@ej9dddWdUdddd>gdddd>dej#ejhedfed@ej9ddd[dYdddd>gdddd>dej#ejhedfed@ej9ddd^d]dQdNdd>gdddd>dej#ejhedfed@ej9dddEdadcdQdd>gdddd>dej#ejhedfed@ggggdd>dggdddZRejdddedggggdd?ddggdddZSejdddedggggdd?ddggdddZTejdddedej9dddddddd>ddddd>dded@ggggdd>dggdddZUejdddedej9dddddNddd>ddddd>dded@ej9dddddcdQdd>ddddd>dded@ej9dddddcdQdd>ddddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9dddddTdTdd>gdddd>dded@ej9dddddJddd>gdddd>dej#ejhed)ed@ggeUgegdd>dggdddZVejdddedej9dddd^dNddd>gdddd>dded@ej9ddddEdddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ggggdd>dggd̐d͐dZWejdΐddedej9dАddd[d[dWdd>ddddd>dded@ggggdd>dggdҐdӐdZXejdԐddedej9dАdddtd[dWdd>ddddd>dded@ggggdd>dggdאdؐdZYejdِddedej9dАdddd[dWdd>gdddd>dded@ej9dܐdddd[dWdd>gdddd>dded@ej9dސdddd[dWdd>gdddd>dded@ej9ddddWdWdWdd>gdddd>dded@ej9ddddqdWdWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ggeXeYggdd>dggddؐdZZejdddedej9dddd[d[dWdd>ddddd>dded@ggggdd>dggdddZ[ejdddedej9ddddtd[dWdd>ddddd>dded@ggggdd>dggdddZ\ejdddedej9ddddd[dWdd>ddddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9dːdddWdWdWdd>ddddd>dded@ej9ddddqdWdWdd>gdddd>dded@gej9ddddd[dWdd>ddddd?dded@ej9ddddd[dWdd>gdddd?dded@geZe[e\ggdd?ddggdddZ]ejdddedej9dddddTdTdd?edjUdgdddd>dded@ggggdd>dggdddZ^ejd d dedggggdd>dggd d dZ_ejd ddedggggdd>dggdddZ`ejdddedggggdd>dggdddZaejdddedggggdd>dggdddZbejdddedggggdd>dggdddZcejdddedggggdd>dggdd dZdejd!d"dedej9d#d$dddddd>ddddd>dded@ej9d%d&dddddd>ddddd>dded@ej9d'd(dddddd>ddddd>dded@ej9d)d*dddddd>ddddd>dded@ej9d+d,dddddd>ddddd>dded@ej9d-d.dddddd>ddddd>ddd/ed0ggggdd>dggd1d2dZeejdd3dedej9d4d5dd6dddd>ddddd>dded@ggggdd>dggd7d8dZfejd9d:dedej9d;dedfjUdgdddd>dded@ej9d=d>dddTdTdd>edfjUdgdddd>dded@ggggej#ejed?d>dggd@dAdZgejdBdCdedej9ddDddEdddd>ddddd>dded@ej9dFdGddHdddd>ddddd>dded@ej9ddIddJdddd>gdddd>dej#ejhedfed@ej9d[dKddLdddd>gdddd>dej#ejhed)ed@ej9dMdNddOdcdQdd>ddddd>dded@ej9dǐdPddQdTdTdd>edfjUdgdddd>dded@ej9dɐdRddSd^dTdd>edfdddd>dded@ej9d͐dTdNdUd[dWdd>ddddd>dded@ej9dːdVdQdWdWdWdd>ddddd>dded@ej9dXdYdTdZd[dWdd>gdddd>dded@ej9d;d[dWd\dEddd>ddddd>dded@ej9d]d^d[d_d[dWdd>ddddd>dded@ej9d?d`d^dadTdTdd>edfjUdgdddd>dded@ej9dAdbdEdcd^dTdd>edfdddd>dded@ggefegggdd?ddgejdCddddgdEgdedfdZhee_iee_iee_ieejjd_keejjd_keejjd_kejlejjd_keejjd_meejjd_mejnejjd_mejoejjd_keejjd_keejjd_keejjd_keejjd_kejlejjd_keejjd_meejjd _mejnejjd _meejjd_keejjd1_meejjd3_mejnejjd5_meejjd=_kee_iejpdCjqjrejjd;ejpdCejjd;_sejpdCjqjrejjd=ejpdCejjd=_sejpdCjqjrejjd?ejpdCejjd?_sejpdCjqjrejjdAejpdCejjdA_seejjdI_keejjdK_keejjdM_ke#e$jjd_ke#e$jjd_ke#e%jjd_ke#e%jjd_ke#e%jjd_kee&jjd_ke+e+jjd_ke/e,jjd_ke.e,_ie,e-jjd_kee-jjd _ke.e-_ie/e.jjd_ke-e.jjd_ke.e/jjd_ke1e0_ie0e1jjd_ke2e1_ie1e2jjd_ke5e3_ie5e4_ie3e5jjd1_ke4e5jjd3_kee6jjd_kee7jjd_kee8jjdD_ke9e8_ie8e9jjd_kee:jjdR_mee:jjdT_kee:jjd^_mee:jjd`_ke<e;_ie;e<jjd_ke'e>jjd_meIeH_ieeIjjd_keHeIjjd_keIjpd1jqjreIjjdeIjpd1eIjjd_seIjpd1jqjreIjjdeIjpd1eIjjd_seIjpd1jqjreIjjdeIjpd1eIjjd_seIjpd1jqjreIjjdeIjpd1eIjjd_seKeJ_ieeKjjd_keJeKjjd_keNeL_ieNeM_ieeNjjd._meMeNjjd_keLeNjjd_keMeNjjd2_keeNjjdB_meNe_ieNjpd1jqjreNjjdeNjpd1eNjjd_seNjpd1jqjreNjjdeNjpd1eNjjd_seNjpd1jqjreNjjd(eNjpd1eNjjd(_seNjpd1jqjreNjjd*eNjpd1eNjjd*_seNjpd1jqjreNjjd,eNjpd1eNjjd,_seNjpd1jqjreNjjd.eNjpd1eNjjd._seNjpd1jqjreNjjdeNjpd1eNjjd_seNjpd1jqjreNjjdeNjpd1eNjjd_seNjpd1jqjreNjjd2eNjpd1eNjjd2_seNjpd3jqjreNjjd4eNjpd3eNjjd4_seNjpd3jqjreNjjd6eNjpd3eNjjd6_seNjpd3jqjreNjjd9eNjpd3eNjjd9_seNjpd3jqjreNjjd<eNjpd3eNjjd<_seNjpd3jqjreNjjd?eNjpd3eNjjd?_seNjpd3jqjreNjjdBeNjpd3eNjjdB_sePeO_ieOePjjd_kePjpd1jqjrePjjdePjpd1ePjjd_sePjpd1jqjrePjjdePjpd1ePjjd_sePjpd1jqjrePjjdePjpd1ePjjd_seeQjjdu_meeRjjd_meVeU_ieeVjjd_meeVjjd_meeVjjd_keUeVjjd_keVe_ieeXjjd_keZeX_ieeYjjd_keZeY_ieeZjjd_keeZjjd_keeZjjd_keXeZjjd_keYeZjjd_keeZjjd_keeZjjd_ke]eZ_iee[jjd_ke]e[_iee\jjd_ke]e\_iee]jjd_kee]jjd_kee]jjd_ke[e]jjd_ke\e]jjd_kehef_ieheg_ieehjjdM_meehjjd_kefehjjd_kegehjjdX_keehjjd]_kehjpdCjqjrehjjd;ehjpdCehjjd;_sehjpdCjqjrehjjd]ehjpdCehjjd]_sehjpdCjqjrehjjd?ehjpdCehjjd?_sehjpdCjqjrehjjdAehjpdCehjjdA_seejtd<eejtdG<eejtdQ<eejtdX<eejtd\<eejtdd<eejtdh<e ejtdm<e!ejtdr<e"ejtdw<e#ejtd<e$ejtd<e%ejtd<e&ejtd<e'ejtd<e(ejtd<e)ejtd<e*ejtd<e+ejtd<e.ejtd <e/ejtd<e2ejtd <e5ejtd.<e6ejtd6<e7ejtd<<e9ejtdH<e:ejtdL<eejtd<e?ejtd<e@ejtd<eAejtd<eBejtd<eCejtd<eDejtd<eEejtd<eFejtd<eGejtd<eIejtd<eKejtd<eNejtd$<ePejtdQ<eQejtdY<eRejtdy<eSejtd<eTejtd<eVejtd<eWejtd<e]ejtd<e^ejtd<e_ejtd <e`ejtd <eaejtd<ebejtd<ecejtd<edejtd<eeejtd!<ehejtdB<eejud<e%ejud"<e'ejud,<e:ejvd<<eejvdC<e@ejvdF<eBejvdH<eDejvdK<eFejvdO<eHejvdR<eJejvdU<eLejvdX<eOejvd\<eQejvd_<eSejvda<eVejvdd<eXejvdh<eZejvdj<e\ejvdl<e^ejvdo<e`ejvdr<ebejvdu<edejvdx<efejvd{<eiejvd~<ekejvd<emejvd<eoejvd<eqejvd<esejvd<euejvd<ewejvd<eyejvd<e{ejvd<e}ejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd <eejvd <eejvd<eejvd<eejvd<eejvd<eejvd<eejvd"<eejvd%<eejvd(<eejvd+<eejvd-<eejvd/<eejvd3<eejvd7<eejvd;<eejvd?<eejvdC<eejvdF<eejvdI<eejvdL<eejvdO<eejvdR<eejvdV<eejvdZ<eejvd^<eejvdb<eejvdd<eejvdg<eejvdi<eejvdk<eejvdm<eejvdo<eejvdq<eejvds<eejvdu<eejvdw<eejvdy<e ejvd{<e ejvd}<e ejvd<eejvd<ejwee jxde jyfeze jxde jyfezedgdhe jxde jyfezedgdhe jxde jyfezedgdhedgdiZ{ej|e{ej|e{j}ej|e{j~ej|e{je jxdGe jyfezedgdhZej|ee jxdQe jyfezedgdhZej|ee jxdXe jyfezedgdhZej|ee jxd\e jyfezedgdhZej|ee jxdde jyfezedgdhZej|ee jxdhe jyfezedgdhZej|ee jxdme jyfeze dgdhZej|ee jxdre jyfeze!dgdhZej|ee jxdwe jyfeze"dgdhZej|ee jxde jyfeze#dgdhZej|ee jxde jyfeze$dgdhZej|ee jxde jyfeze%dgdhZej|ee jxde jyfeze&dgdhZej|ee jxde jyfeze'dgdhZej|ee jxde jyfeze(dgdhZej|ee jxde jyfeze)dgdhZej|ee jxde jyfeze*dgdhZej|ee jxde jyfeze+dgdhZej|ee jxd e jyfeze jxde jyfeze,dgdhe jxde jyfeze-dgdhe.dgdjZej|eej|ejej|eje jxde jyfeze/dgdhZej|ee jxd e jyfeze jxde jyfeze jxde jyfeze0dgdhe1dgdke2dgdlZej|eej|ejej|ejje jxd.e jyfeze jxd$e jyfeze3dgdhe jxd)e jyfeze4dgdhe5dgdmZej|eej|ejej|eje jxd6e jyfeze6dgdhZej|ee jxddgdhZej|ee jxde jyfeze?dgdhZej|ee jxde jyfeze@dgdhZej|ee jxde jyfezeAdgdhZej|ee jxde jyfezeBdgdhZej|ee jxde jyfezeCdgdhZej|ee jxde jyfezeDdgdhZej|ee jxde jyfezeEdgdhZej|ee jxde jyfezeFdgdhZej|ee jxde jyfezeGdgdhZej|ee jxde jyfeze jxde jyfezeHdgdheIdgdoZej|eej|eje jxde jyfeze jxde jyfezeJdgdheKdgdoZej|eej|eje jxd$e jyfeze jxde jyfezeLdgdhe jxde jyfezeMdgdheNdgdpZej|eej|ejej|ej}e jxdQe jyfeze jxde jyfezeOdgdhePdgdnZej|eej|ej}e jxdYe jyfezeQdgdhZej|ee jxdye jyfezeRdgdhZej|ee jxde jyfezeSdgdhZej|ee jxde jyfezeTdgdhZej|ee jxde jyfeze jxde jyfezeUdgdheVdgdqZej|eej|eje jxde jyfezeWdgdhZej|ee jxde jyfeze jxde jyfeze jxde jyfezeXdgdhe jxde jyfezeYdgdheZdgdre jxde jyfeze[dgdhe jxde jyfeze\dgdhe]dgdsZej|eej|ejej|ejjej|ejjej|ej~ej|eje jxde jyfeze^dgdhZej|ee jxd e jyfeze_dgdhZej|ee jxd e jyfeze`dgdhZej|ee jxde jyfezeadgdhZej|ee jxde jyfezebdgdhZej|ee jxde jyfezecdgdhZej|ee jxde jyfezeddgdhZej|ee jxd!e jyfezeedgdhZej|ee jxdBe jyfeze jxde jyfezefdgdhe jxd9e jyfezegdgdhehdgdtZej|eƒej|ej~ej|ejÃeje:eje<eje>eje@ejeBejeDejeFejeHejeJejeLejeOejeQejeSejeVejeXe eZ_kejeZee\_keje\ee^_keje^ejle`_keje`eeb_mejebeed_mejedejnef_mejefejeiejekejoem_kejemeeo_kejeoejeqejesejeuejewejeyeje{eje}ejeejeejeejeejeejeejeejee!e_kejeee_kejeee_kejeejle_kejeee_mejeee_mejeejne_mejeejeejeee_kejeejeejeejeejeejeejeejeejeejeejeejeejeejeejeejeee_mejeeeÐ_mejeÃejneŐ_mejeŃejeǃejeɃeje˃ee͐_keje̓ejeσejeуejeӃejeՃeje׃ejeكejeۃeje݃eje߃ejeejeejeejeejeejeejeejeee_mejeejeejeejeejeejeejeejeejĐeejĐeejĐeejĐeejĐe ejĐe ee _mejĐe ee_kejĐeejĐe"jvdyejĐe"jvd|e#e#jvd_kejĐe#jvde#e#jvd_kejĐe#jvdee]jvd_kejĐe]jvdee]jvd_kejĐe]jvdd?e_ej#ejƃedue_d?e%_ej#ej$ed)e%_d?ei_ej#ejhedei_d?ek_ej#ejhedek_d?eo_ej#ejhedeo_d?e_ej#ejhede_d?e_ej#ejhede_d?e_ej#ejhede_d?eǐ_ej#ejhedeǐ_d?eɐ_ej#ejhedeɐ_d?eא_ej#ejhed)eא_d?eِ_ej#ejhed)eِ_d?eې_ej#ejhed)eې_d?eݐ_ej#ejhed)eݐ_d?eߐ_ej#ejhed)eߐ_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e _ej#ejhedfe _d?e _ej#ejhedfe _d?e _ej#ejhedfe _d?ejjd_ej#ejhedejjd_d?ejjd_ej#ejhedejjd_d?ejjd_ej#ejhedejjd_d?ejjd _ej#ejhedejjd _d?ejjd_ej#ejhedejjd_d?ejjd_ej#ejhedejjd_d?ejjd7_ej#ejhedejjd7_d?ejjd9_ej#ejhedejjd9_d?ejjdS_ej#ejhedUejjdS_d?e_ej#ejedUe_d?e6jjd_ej#ejhed9e6jjd_d?e7jjd_ej#ejhede7jjd_d?e:jjdV_ej#ejhede:jjdV_d?e:jjdX_ej#ejhede:jjdX_d?e:jjdb_ej#ejhede:jjdb_d?e:jjdd_ej#ejhede:jjdd_d?e=jjd_ej#ejhede=jjd_d?e=jjd_ej#ejhede=jjd_d?eNjjd(_ej#ejhedeNjjd(_d?eNjjd*_ej#ejhedeNjjd*_d?eNjjd2_ej#ejhedeNjjd2_d?eNjjd9_ej#ejhedeNjjd9_d?eNjjd<_ej#ejhedeNjjd<_d?eQjjd[_ej#ejhed)eQjjd[_d?eQjjd]_ej#ejhed)eQjjd]_d?eQjjd__ej#ejhed)eQjjd__d?eQjjda_ej#ejhed)eQjjda_d?eQjjdc_ej#ejhed)eQjjdc_d?eQjjde_ej#ejhed)eQjjde_d?eQjjdg_ej#ejhed)eQjjdg_d?eQjjdi_ej#ejhed)eQjjdi_d?eQjjdk_ej#ejhed)eQjjdk_d?eQjjdm_ej#ejhed)eQjjdm_d?eQjjdo_ej#ejhed)eQjjdo_d?eQjjdq_ej#ejhed)eQjjdq_d?eQjjds_ej#ejhed)eQjjds_d?eQjjdu_ej#ejhed)eQjjdu_d?eRjjd{_ej#ejhedfeRjjd{_d?eRjjd}_ej#ejhedfeRjjd}_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eVjjd_ej#ejhed)eVjjd_d?eg_ej#ejed?eg_d?ehjjd_ej#ejhedfehjjd_d?ehjjd[_ej#ejhed)ehjjd[_ejȐdvdwedddxdyejɐd$dzdde_e`dd{ejɐd)d|ddeceddd{gd}Zejːeʃeej̐dv<ej͐dvejfezeʐdgdhZejАd~efezeʐdgdhZdS(NcCs|S)N)xrr"/usr/lib/python3.6/unittest_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)service)service_reflection)descriptor_pb2)unittest_import_pb2zgoogle/protobuf/unittest.protoZprotobuf_unittestZproto2uG] google/protobuf/unittest.protoprotobuf_unittest%google/protobuf/unittest_import.proto"í TestAllTypes optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( D optionalgroup ( 2-.protobuf_unittest.TestAllTypes.OptionalGroupN optional_nested_message ( 2-.protobuf_unittest.TestAllTypes.NestedMessageC optional_foreign_message ( 2!.protobuf_unittest.ForeignMessageH optional_import_message ( 2'.protobuf_unittest_import.ImportMessageH optional_nested_enum (2*.protobuf_unittest.TestAllTypes.NestedEnum= optional_foreign_enum (2.protobuf_unittest.ForeignEnumB optional_import_enum (2$.protobuf_unittest_import.ImportEnum! optional_string_piece ( B optional_cord ( BU optional_public_import_message ( 2-.protobuf_unittest_import.PublicImportMessageP optional_lazy_message ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB( repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( D repeatedgroup. ( 2-.protobuf_unittest.TestAllTypes.RepeatedGroupN repeated_nested_message0 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageC repeated_foreign_message1 ( 2!.protobuf_unittest.ForeignMessageH repeated_import_message2 ( 2'.protobuf_unittest_import.ImportMessageH repeated_nested_enum3 (2*.protobuf_unittest.TestAllTypes.NestedEnum= repeated_foreign_enum4 (2.protobuf_unittest.ForeignEnumB repeated_import_enum5 (2$.protobuf_unittest_import.ImportEnum! repeated_string_piece6 ( B repeated_cord7 ( BP repeated_lazy_message9 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB( default_int32= (:41 default_int64> (:42 default_uint32? ( :43 default_uint64@ (:44 default_sint32A (:-45 default_sint64B (:46 default_fixed32C (:47 default_fixed64D (:48 default_sfixed32E (:49 default_sfixed64F (:-50 default_floatG (:51.5 default_doubleH (:52000 default_boolI (:true default_stringJ ( :hello default_bytesK ( :worldL default_nested_enumQ (2*.protobuf_unittest.TestAllTypes.NestedEnum:BARI default_foreign_enumR (2.protobuf_unittest.ForeignEnum: FOREIGN_BARM default_import_enumS (2$.protobuf_unittest_import.ImportEnum: IMPORT_BAR% default_string_pieceT ( :abcB default_cordU ( :123B oneof_uint32o ( HM oneof_nested_messagep ( 2-.protobuf_unittest.TestAllTypes.NestedMessageH oneof_stringq ( H oneof_bytesr ( H NestedMessage bb ( OptionalGroup a ( RepeatedGroup a/ ("9 NestedEnum FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿB oneof_field"» NestedTestAllTypes4 child ( 2%.protobuf_unittest.NestedTestAllTypes0 payload ( 2.protobuf_unittest.TestAllTypes= repeated_child ( 2%.protobuf_unittest.NestedTestAllTypes"4 TestDeprecatedFields deprecated_int32 (B" TestDeprecatedMessage:"& ForeignMessage c ( d ("0 TestReservedFieldsJJJ  RbarRbaz" TestAllExtensions*€€€€"$ OptionalGroup_extension a ("$ RepeatedGroup_extension a/ ("˜ TestNestedExtension29 test$.protobuf_unittest.TestAllExtensionsê ( :test2F nested_string_extension$.protobuf_unittest.TestAllExtensionsë ( "Õ TestRequired a ( dummy2 ( b ( dummy4 ( dummy5 ( dummy6 ( dummy7 ( dummy8 ( dummy9 ( dummy10 ( dummy11 ( dummy12 ( dummy13 ( dummy14 ( dummy15 ( dummy16 ( dummy17 ( dummy18 ( dummy19 ( dummy20 ( dummy21 ( dummy22 ( dummy23 ( dummy24 ( dummy25 ( dummy26 ( dummy27 ( dummy28 ( dummy29 ( dummy30 ( dummy31 ( dummy32 ( c! (2V single$.protobuf_unittest.TestAllExtensionsè ( 2.protobuf_unittest.TestRequired2U multi$.protobuf_unittest.TestAllExtensionsé ( 2.protobuf_unittest.TestRequired"š TestRequiredForeign9 optional_message ( 2.protobuf_unittest.TestRequired9 repeated_message ( 2.protobuf_unittest.TestRequired dummy ("Æ TestRequiredMessage9 optional_message ( 2.protobuf_unittest.TestRequired9 repeated_message ( 2.protobuf_unittest.TestRequired9 required_message ( 2.protobuf_unittest.TestRequired"Z TestForeignNestedE foreign_nested ( 2-.protobuf_unittest.TestAllTypes.NestedMessage" TestEmptyMessage"* TestEmptyMessageWithExtensions*€€€€"7 TestMultipleExtensionRanges**+*¯ ”!* €€€€€€"4 TestReallyLargeTagNumber a ( bbÿÿÿ ("U TestRecursiveMessage2 a ( 2'.protobuf_unittest.TestRecursiveMessage i ("á TestMutualRecursionA3 bb ( 2'.protobuf_unittest.TestMutualRecursionBB subgroup ( 20.protobuf_unittest.TestMutualRecursionA.SubGroup@ SubMessage2 b ( 2'.protobuf_unittest.TestMutualRecursionB SubGroupG sub_message ( 22.protobuf_unittest.TestMutualRecursionA.SubMessage8 not_in_this_scc ( 2.protobuf_unittest.TestAllTypes"b TestMutualRecursionB2 a ( 2'.protobuf_unittest.TestMutualRecursionA optional_int32 ("Ê TestIsInitializedD sub_message ( 2/.protobuf_unittest.TestIsInitialized.SubMessageo SubMessageJ subgroup ( 28.protobuf_unittest.TestIsInitialized.SubMessage.SubGroup SubGroup i ("³ TestDupFieldNumber a (6 foo ( 2).protobuf_unittest.TestDupFieldNumber.Foo6 bar ( 2).protobuf_unittest.TestDupFieldNumber.Bar Foo a ( Bar a ("L TestEagerMessage8 sub_message ( 2.protobuf_unittest.TestAllTypesB("K TestLazyMessage8 sub_message ( 2.protobuf_unittest.TestAllTypesB("€ TestNestedMessageHasBitsZ optional_nested_message ( 29.protobuf_unittest.TestNestedMessageHasBits.NestedMessage‡ NestedMessage$ nestedmessage_repeated_int32 (P %nestedmessage_repeated_foreignmessage ( 2!.protobuf_unittest.ForeignMessage"å TestCamelCaseFieldNames PrimitiveField ( StringField ( 1 EnumField (2.protobuf_unittest.ForeignEnum7 MessageField ( 2!.protobuf_unittest.ForeignMessage StringPieceField ( B CordField ( B RepeatedPrimitiveField ( RepeatedStringField ( 9 RepeatedEnumField (2.protobuf_unittest.ForeignEnum? RepeatedMessageField ( 2!.protobuf_unittest.ForeignMessage$ RepeatedStringPieceField ( B RepeatedCordField ( B"Õ TestFieldOrderings my_string (  my_int ( my_floate (U optional_nested_messageÈ ( 23.protobuf_unittest.TestFieldOrderings.NestedMessage' NestedMessage oo ( bb (* * e"¶ TestExtremeDefaultValues? escaped_bytes ( :(\000\001\007\010\014\n\r\t\013\\\'\"\376 large_uint32 ( : 4294967295* large_uint64 (:18446744073709551615 small_int32 (: -2147483647) small_int64 (:-9223372036854775807' really_small_int32 (: -21474836480 really_small_int64 (:-9223372036854775808 utf8_string ( :ሴ zero_float (:0 one_float (:1 small_float (:1.5 negative_one_float (:-1 negative_float (:-1.5 large_float (:2e+08$ small_negative_float (:-8e-28 inf_double (:inf neg_inf_double (:-inf nan_double (:nan inf_float (:inf neg_inf_float (:-inf nan_float (:nan+ cpp_trigraph ( :? ? ?? ?? ??? ??/ ??- string_with_zero ( :hello" bytes_with_zero ( : wor\000ld( string_piece_with_zero ( :abcB cord_with_zero ( :123B& replacement_string ( : ${unknown}"K SparseEnumMessage6 sparse_enum (2!.protobuf_unittest.TestSparseEnum" OneString data ( " MoreString data ( " OneBytes data ( " MoreBytes data ( " Int32Message data (" Uint32Message data ( " Int64Message data (" Uint64Message data (" BoolMessage data ("Ð TestOneof foo_int (H foo_string ( H6 foo_message ( 2.protobuf_unittest.TestAllTypesH9 foogroup ( 2%.protobuf_unittest.TestOneof.FooGroupH FooGroup a ( b ( B foo"ç TestOneofBackwardsCompatible foo_int ( foo_string ( 4 foo_message ( 2.protobuf_unittest.TestAllTypesJ foogroup ( 28.protobuf_unittest.TestOneofBackwardsCompatible.FooGroup FooGroup a ( b ( "ž TestOneof2 foo_int (H foo_string ( H foo_cord ( BH foo_string_piece ( BH foo_bytes ( H< foo_enum (2(.protobuf_unittest.TestOneof2.NestedEnumHB foo_message ( 2+.protobuf_unittest.TestOneof2.NestedMessageH: foogroup ( 2&.protobuf_unittest.TestOneof2.FooGroupHK foo_lazy_message ( 2+.protobuf_unittest.TestOneof2.NestedMessageB(H bar_int (:5H bar_string ( :STRINGH bar_cord ( :CORDBH& bar_string_piece ( :SPIECEBH bar_bytes ( :BYTESHA bar_enum (2(.protobuf_unittest.TestOneof2.NestedEnum:BARH baz_int ( baz_string ( :BAZ FooGroup a ( b ( 3 NestedMessage qux_int ( corge_int ("' NestedEnum FOO BAR BAZB fooB bar"¸ TestRequiredOneof foo_int (H foo_string ( HI foo_message ( 22.protobuf_unittest.TestRequiredOneof.NestedMessageH( NestedMessage required_double (B foo"ª TestPackedTypes packed_int32Z (B packed_int64[ (B packed_uint32\ ( B packed_uint64] (B packed_sint32^ (B packed_sint64_ (B packed_fixed32` (B packed_fixed64a (B packed_sfixed32b (B packed_sfixed64c (B packed_floatd (B packed_doublee (B packed_boolf (B7 packed_enumg (2.protobuf_unittest.ForeignEnumB"È TestUnpackedTypes unpacked_int32Z (B unpacked_int64[ (B unpacked_uint32\ ( B unpacked_uint64] (B unpacked_sint32^ (B unpacked_sint64_ (B unpacked_fixed32` (B unpacked_fixed64a (B unpacked_sfixed32b (B unpacked_sfixed64c (B unpacked_floatd (B unpacked_doublee (B unpacked_boolf (B9 unpacked_enumg (2.protobuf_unittest.ForeignEnumB" TestPackedExtensions*€€€€"" TestUnpackedExtensions*€€€€"™ TestDynamicExtensions scalar_extensionÐ (7 enum_extensionÑ (2.protobuf_unittest.ForeignEnumY dynamic_enum_extensionÒ (28.protobuf_unittest.TestDynamicExtensions.DynamicEnumType= message_extensionÓ ( 2!.protobuf_unittest.ForeignMessage_ dynamic_message_extensionÔ ( 2;.protobuf_unittest.TestDynamicExtensions.DynamicMessageType repeated_extensionÕ (  packed_extensionÖ (B, DynamicMessageType dynamic_field´ ("G DynamicEnumType DYNAMIC_FOO˜ DYNAMIC_BAR™ DYNAMIC_BAZš"À #TestRepeatedScalarDifferentTagSizes repeated_fixed32 ( repeated_int32 ( repeated_fixed64þ ( repeated_int64ÿ ( repeated_floatþÿ ( repeated_uint64ÿÿ ("÷ TestParsingMerge; required_all_types ( 2.protobuf_unittest.TestAllTypes; optional_all_types ( 2.protobuf_unittest.TestAllTypes; repeated_all_types ( 2.protobuf_unittest.TestAllTypesH optionalgroup ( 21.protobuf_unittest.TestParsingMerge.OptionalGroupH repeatedgroup ( 21.protobuf_unittest.TestParsingMerge.RepeatedGroupª RepeatedFieldsGenerator/ field1 ( 2.protobuf_unittest.TestAllTypes/ field2 ( 2.protobuf_unittest.TestAllTypes/ field3 ( 2.protobuf_unittest.TestAllTypesR group1 ( 2B.protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1R group2 ( 2B.protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2. ext1è ( 2.protobuf_unittest.TestAllTypes. ext2é ( 2.protobuf_unittest.TestAllTypes9 Group1/ field1 ( 2.protobuf_unittest.TestAllTypes9 Group2/ field1 ( 2.protobuf_unittest.TestAllTypesR OptionalGroupA optional_group_all_types ( 2.protobuf_unittest.TestAllTypesR RepeatedGroupA repeated_group_all_types ( 2.protobuf_unittest.TestAllTypes* 耀€€2[ optional_ext#.protobuf_unittest.TestParsingMergeè ( 2.protobuf_unittest.TestAllTypes2[ repeated_ext#.protobuf_unittest.TestParsingMergeé ( 2.protobuf_unittest.TestAllTypes"D TestCommentInjectionMessage% a ( :*/ <- Neither should this." FooRequest" FooResponse" FooClientMessage" FooServerMessage" BarRequest" BarResponse"’ TestJsonName field_name1 ( fieldName2 ( FieldName3 ( _field_name4 ( FIELD_NAME5 ( field_name6 (R@type"ý TestHugeFieldNumbers optional_int32ðøÿÿ ( fixed_32ñøÿÿ ( repeated_int32òøÿÿ (B packed_int32óøÿÿ (B9 optional_enumôøÿÿ (2.protobuf_unittest.ForeignEnum optional_stringõøÿÿ (  optional_bytesöøÿÿ ( ? optional_message÷øÿÿ ( 2!.protobuf_unittest.ForeignMessageP optionalgroupøøÿÿ ( 25.protobuf_unittest.TestHugeFieldNumbers.OptionalGroup[ string_string_mapúøÿÿ ( 2<.protobuf_unittest.TestHugeFieldNumbers.StringStringMapEntry oneof_uint32ûøÿÿ ( HC oneof_test_all_typesüøÿÿ ( 2.protobuf_unittest.TestAllTypesH oneof_stringýøÿÿ ( H oneof_bytesþøÿÿ ( H$ OptionalGroup group_aùøÿÿ (6 StringStringMapEntry key (  value ( :8* àªÿÿðøÿÿB oneof_field*@ ForeignEnum FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZ*K TestEnumWithDupValue FOO1 BAR1 BAZ FOO2 BAR2*‰ TestSparseEnum SPARSE_A{ SPARSE_B¦ç SPARSE_C²±€ SPARSE_Dñÿÿÿÿÿÿÿÿ SPARSE_E´Þüÿÿÿÿÿÿ SPARSE_F SPARSE_G2™ TestServiceD Foo.protobuf_unittest.FooRequest.protobuf_unittest.FooResponseD Bar.protobuf_unittest.BarRequest.protobuf_unittest.BarResponse:F optional_int32_extension$.protobuf_unittest.TestAllExtensions (:F optional_int64_extension$.protobuf_unittest.TestAllExtensions (:G optional_uint32_extension$.protobuf_unittest.TestAllExtensions ( :G optional_uint64_extension$.protobuf_unittest.TestAllExtensions (:G optional_sint32_extension$.protobuf_unittest.TestAllExtensions (:G optional_sint64_extension$.protobuf_unittest.TestAllExtensions (:H optional_fixed32_extension$.protobuf_unittest.TestAllExtensions (:H optional_fixed64_extension$.protobuf_unittest.TestAllExtensions (:I optional_sfixed32_extension$.protobuf_unittest.TestAllExtensions (:I optional_sfixed64_extension$.protobuf_unittest.TestAllExtensions (:F optional_float_extension$.protobuf_unittest.TestAllExtensions (:G optional_double_extension$.protobuf_unittest.TestAllExtensions (:E optional_bool_extension$.protobuf_unittest.TestAllExtensions (:G optional_string_extension$.protobuf_unittest.TestAllExtensions ( :F optional_bytes_extension$.protobuf_unittest.TestAllExtensions ( :q optionalgroup_extension$.protobuf_unittest.TestAllExtensions ( 2*.protobuf_unittest.OptionalGroup_extension:~ !optional_nested_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest.TestAllTypes.NestedMessage:s "optional_foreign_message_extension$.protobuf_unittest.TestAllExtensions ( 2!.protobuf_unittest.ForeignMessage:x !optional_import_message_extension$.protobuf_unittest.TestAllExtensions ( 2'.protobuf_unittest_import.ImportMessage:x optional_nested_enum_extension$.protobuf_unittest.TestAllExtensions (2*.protobuf_unittest.TestAllTypes.NestedEnum:m optional_foreign_enum_extension$.protobuf_unittest.TestAllExtensions (2.protobuf_unittest.ForeignEnum:r optional_import_enum_extension$.protobuf_unittest.TestAllExtensions (2$.protobuf_unittest_import.ImportEnum:Q optional_string_piece_extension$.protobuf_unittest.TestAllExtensions ( B:I optional_cord_extension$.protobuf_unittest.TestAllExtensions ( B:… (optional_public_import_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest_import.PublicImportMessage:€ optional_lazy_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB(:F repeated_int32_extension$.protobuf_unittest.TestAllExtensions (:F repeated_int64_extension$.protobuf_unittest.TestAllExtensions (:G repeated_uint32_extension$.protobuf_unittest.TestAllExtensions! ( :G repeated_uint64_extension$.protobuf_unittest.TestAllExtensions" (:G repeated_sint32_extension$.protobuf_unittest.TestAllExtensions# (:G repeated_sint64_extension$.protobuf_unittest.TestAllExtensions$ (:H repeated_fixed32_extension$.protobuf_unittest.TestAllExtensions% (:H repeated_fixed64_extension$.protobuf_unittest.TestAllExtensions& (:I repeated_sfixed32_extension$.protobuf_unittest.TestAllExtensions' (:I repeated_sfixed64_extension$.protobuf_unittest.TestAllExtensions( (:F repeated_float_extension$.protobuf_unittest.TestAllExtensions) (:G repeated_double_extension$.protobuf_unittest.TestAllExtensions* (:E repeated_bool_extension$.protobuf_unittest.TestAllExtensions+ (:G repeated_string_extension$.protobuf_unittest.TestAllExtensions, ( :F repeated_bytes_extension$.protobuf_unittest.TestAllExtensions- ( :q repeatedgroup_extension$.protobuf_unittest.TestAllExtensions. ( 2*.protobuf_unittest.RepeatedGroup_extension:~ !repeated_nested_message_extension$.protobuf_unittest.TestAllExtensions0 ( 2-.protobuf_unittest.TestAllTypes.NestedMessage:s "repeated_foreign_message_extension$.protobuf_unittest.TestAllExtensions1 ( 2!.protobuf_unittest.ForeignMessage:x !repeated_import_message_extension$.protobuf_unittest.TestAllExtensions2 ( 2'.protobuf_unittest_import.ImportMessage:x repeated_nested_enum_extension$.protobuf_unittest.TestAllExtensions3 (2*.protobuf_unittest.TestAllTypes.NestedEnum:m repeated_foreign_enum_extension$.protobuf_unittest.TestAllExtensions4 (2.protobuf_unittest.ForeignEnum:r repeated_import_enum_extension$.protobuf_unittest.TestAllExtensions5 (2$.protobuf_unittest_import.ImportEnum:Q repeated_string_piece_extension$.protobuf_unittest.TestAllExtensions6 ( B:I repeated_cord_extension$.protobuf_unittest.TestAllExtensions7 ( B:€ repeated_lazy_message_extension$.protobuf_unittest.TestAllExtensions9 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB(:I default_int32_extension$.protobuf_unittest.TestAllExtensions= (:41:I default_int64_extension$.protobuf_unittest.TestAllExtensions> (:42:J default_uint32_extension$.protobuf_unittest.TestAllExtensions? ( :43:J default_uint64_extension$.protobuf_unittest.TestAllExtensions@ (:44:K default_sint32_extension$.protobuf_unittest.TestAllExtensionsA (:-45:J default_sint64_extension$.protobuf_unittest.TestAllExtensionsB (:46:K default_fixed32_extension$.protobuf_unittest.TestAllExtensionsC (:47:K default_fixed64_extension$.protobuf_unittest.TestAllExtensionsD (:48:L default_sfixed32_extension$.protobuf_unittest.TestAllExtensionsE (:49:M default_sfixed64_extension$.protobuf_unittest.TestAllExtensionsF (:-50:K default_float_extension$.protobuf_unittest.TestAllExtensionsG (:51.5:M default_double_extension$.protobuf_unittest.TestAllExtensionsH (:52000:J default_bool_extension$.protobuf_unittest.TestAllExtensionsI (:true:M default_string_extension$.protobuf_unittest.TestAllExtensionsJ ( :hello:L default_bytes_extension$.protobuf_unittest.TestAllExtensionsK ( :world:| default_nested_enum_extension$.protobuf_unittest.TestAllExtensionsQ (2*.protobuf_unittest.TestAllTypes.NestedEnum:BAR:y default_foreign_enum_extension$.protobuf_unittest.TestAllExtensionsR (2.protobuf_unittest.ForeignEnum: FOREIGN_BAR:} default_import_enum_extension$.protobuf_unittest.TestAllExtensionsS (2$.protobuf_unittest_import.ImportEnum: IMPORT_BAR:U default_string_piece_extension$.protobuf_unittest.TestAllExtensionsT ( :abcB:M default_cord_extension$.protobuf_unittest.TestAllExtensionsU ( :123B:D oneof_uint32_extension$.protobuf_unittest.TestAllExtensionso ( :{ oneof_nested_message_extension$.protobuf_unittest.TestAllExtensionsp ( 2-.protobuf_unittest.TestAllTypes.NestedMessage:D oneof_string_extension$.protobuf_unittest.TestAllExtensionsq ( :C oneof_bytes_extension$.protobuf_unittest.TestAllExtensionsr ( :B my_extension_string%.protobuf_unittest.TestFieldOrderings2 ( :? my_extension_int%.protobuf_unittest.TestFieldOrderings (:K packed_int32_extension'.protobuf_unittest.TestPackedExtensionsZ (B:K packed_int64_extension'.protobuf_unittest.TestPackedExtensions[ (B:L packed_uint32_extension'.protobuf_unittest.TestPackedExtensions\ ( B:L packed_uint64_extension'.protobuf_unittest.TestPackedExtensions] (B:L packed_sint32_extension'.protobuf_unittest.TestPackedExtensions^ (B:L packed_sint64_extension'.protobuf_unittest.TestPackedExtensions_ (B:M packed_fixed32_extension'.protobuf_unittest.TestPackedExtensions` (B:M packed_fixed64_extension'.protobuf_unittest.TestPackedExtensionsa (B:N packed_sfixed32_extension'.protobuf_unittest.TestPackedExtensionsb (B:N packed_sfixed64_extension'.protobuf_unittest.TestPackedExtensionsc (B:K packed_float_extension'.protobuf_unittest.TestPackedExtensionsd (B:L packed_double_extension'.protobuf_unittest.TestPackedExtensionse (B:J packed_bool_extension'.protobuf_unittest.TestPackedExtensionsf (B:j packed_enum_extension'.protobuf_unittest.TestPackedExtensionsg (2.protobuf_unittest.ForeignEnumB:O unpacked_int32_extension).protobuf_unittest.TestUnpackedExtensionsZ (B:O unpacked_int64_extension).protobuf_unittest.TestUnpackedExtensions[ (B:P unpacked_uint32_extension).protobuf_unittest.TestUnpackedExtensions\ ( B:P unpacked_uint64_extension).protobuf_unittest.TestUnpackedExtensions] (B:P unpacked_sint32_extension).protobuf_unittest.TestUnpackedExtensions^ (B:P unpacked_sint64_extension).protobuf_unittest.TestUnpackedExtensions_ (B:Q unpacked_fixed32_extension).protobuf_unittest.TestUnpackedExtensions` (B:Q unpacked_fixed64_extension).protobuf_unittest.TestUnpackedExtensionsa (B:R unpacked_sfixed32_extension).protobuf_unittest.TestUnpackedExtensionsb (B:R unpacked_sfixed64_extension).protobuf_unittest.TestUnpackedExtensionsc (B:O unpacked_float_extension).protobuf_unittest.TestUnpackedExtensionsd (B:P unpacked_double_extension).protobuf_unittest.TestUnpackedExtensionse (B:N unpacked_bool_extension).protobuf_unittest.TestUnpackedExtensionsf (B:n unpacked_enum_extension).protobuf_unittest.TestUnpackedExtensionsg (2.protobuf_unittest.ForeignEnumB:d test_all_types'.protobuf_unittest.TestHugeFieldNumbersàªÿÿ ( 2.protobuf_unittest.TestAllTypesBB UnittestProtoH€ˆø)namepackagesyntaxZ serialized_pbZ dependencies ForeignEnumzprotobuf_unittest.ForeignEnum FOREIGN_FOO)rindexnumberoptionstype FOREIGN_BAR FOREIGN_BAZi6i<7) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endTestEnumWithDupValuez&protobuf_unittest.TestEnumWithDupValueFOO1BAR1BAZFOO2BAR2zi>7i7TestSparseEnumz protobuf_unittest.TestSparseEnumSPARSE_A{SPARSE_BiSPARSE_CiSPARSE_DSPARSE_EiSPARSE_FSPARSE_Gi7i8optional_int32_extensionz*protobuf_unittest.optional_int32_extensionFT)rr"rrrcpp_typelabelhas_default_value default_value message_type enum_typer& is_extensionextension_scoperr$optional_int64_extensionz*protobuf_unittest.optional_int64_extensionoptional_uint32_extensionz+protobuf_unittest.optional_uint32_extension optional_uint64_extensionz+protobuf_unittest.optional_uint64_extensionoptional_sint32_extensionz+protobuf_unittest.optional_sint32_extensionoptional_sint64_extensionz+protobuf_unittest.optional_sint64_extensionoptional_fixed32_extensionz,protobuf_unittest.optional_fixed32_extensionoptional_fixed64_extensionz,protobuf_unittest.optional_fixed64_extension optional_sfixed32_extensionz-protobuf_unittest.optional_sfixed32_extension optional_sfixed64_extensionz-protobuf_unittest.optional_sfixed64_extension optional_float_extensionz*protobuf_unittest.optional_float_extension optional_double_extensionz+protobuf_unittest.optional_double_extensionoptional_bool_extensionz)protobuf_unittest.optional_bool_extensionoptional_string_extensionz+protobuf_unittest.optional_string_extensionzutf-8optional_bytes_extensionz*protobuf_unittest.optional_bytes_extensionoptionalgroup_extensionz)protobuf_unittest.optionalgroup_extension!optional_nested_message_extensionz3protobuf_unittest.optional_nested_message_extension"optional_foreign_message_extensionz4protobuf_unittest.optional_foreign_message_extension!optional_import_message_extensionz3protobuf_unittest.optional_import_message_extensionoptional_nested_enum_extensionz0protobuf_unittest.optional_nested_enum_extensionoptional_foreign_enum_extensionz1protobuf_unittest.optional_foreign_enum_extensionoptional_import_enum_extensionz0protobuf_unittest.optional_import_enum_extensionoptional_string_piece_extensionz1protobuf_unittest.optional_string_piece_extensionzoptional_cord_extensionz)protobuf_unittest.optional_cord_extensionz(optional_public_import_message_extensionz:protobuf_unittest.optional_public_import_message_extensionoptional_lazy_message_extensionz1protobuf_unittest.optional_lazy_message_extensionz(repeated_int32_extensionz*protobuf_unittest.repeated_int32_extension repeated_int64_extensionz*protobuf_unittest.repeated_int64_extension!repeated_uint32_extensionz+protobuf_unittest.repeated_uint32_extension"repeated_uint64_extensionz+protobuf_unittest.repeated_uint64_extension#repeated_sint32_extensionz+protobuf_unittest.repeated_sint32_extension$repeated_sint64_extensionz+protobuf_unittest.repeated_sint64_extension%repeated_fixed32_extensionz,protobuf_unittest.repeated_fixed32_extension&repeated_fixed64_extensionz,protobuf_unittest.repeated_fixed64_extension'repeated_sfixed32_extensionz-protobuf_unittest.repeated_sfixed32_extension(repeated_sfixed64_extensionz-protobuf_unittest.repeated_sfixed64_extension)repeated_float_extensionz*protobuf_unittest.repeated_float_extension*repeated_double_extensionz+protobuf_unittest.repeated_double_extension+repeated_bool_extensionz)protobuf_unittest.repeated_bool_extension,repeated_string_extensionz+protobuf_unittest.repeated_string_extension-repeated_bytes_extensionz*protobuf_unittest.repeated_bytes_extension.repeatedgroup_extensionz)protobuf_unittest.repeatedgroup_extension0!repeated_nested_message_extensionz3protobuf_unittest.repeated_nested_message_extension1"repeated_foreign_message_extensionz4protobuf_unittest.repeated_foreign_message_extension2!repeated_import_message_extensionz3protobuf_unittest.repeated_import_message_extension3repeated_nested_enum_extensionz0protobuf_unittest.repeated_nested_enum_extension4repeated_foreign_enum_extensionz1protobuf_unittest.repeated_foreign_enum_extension5repeated_import_enum_extensionz0protobuf_unittest.repeated_import_enum_extension/6repeated_string_piece_extensionz1protobuf_unittest.repeated_string_piece_extension7repeated_cord_extensionz)protobuf_unittest.repeated_cord_extension9repeated_lazy_message_extensionz1protobuf_unittest.repeated_lazy_message_extension=default_int32_extensionz)protobuf_unittest.default_int32_extension>default_int64_extensionz)protobuf_unittest.default_int64_extension?default_uint32_extensionz*protobuf_unittest.default_uint32_extension@default_uint64_extensionz*protobuf_unittest.default_uint64_extensionAdefault_sint32_extensionz*protobuf_unittest.default_sint32_extensionBdefault_sint64_extensionz*protobuf_unittest.default_sint64_extension8Cdefault_fixed32_extensionz+protobuf_unittest.default_fixed32_extensionDdefault_fixed64_extensionz+protobuf_unittest.default_fixed64_extension:Edefault_sfixed32_extensionz,protobuf_unittest.default_sfixed32_extension;Fdefault_sfixed64_extensionz,protobuf_unittest.default_sfixed64_extension<Gdefault_float_extensionz)protobuf_unittest.default_float_extensiongI@Hdefault_double_extensionz*protobuf_unittest.default_double_extensioni Idefault_bool_extensionz(protobuf_unittest.default_bool_extensionJdefault_string_extensionz*protobuf_unittest.default_string_extensionZhelloKdefault_bytes_extensionz)protobuf_unittest.default_bytes_extensionZworldQdefault_nested_enum_extensionz/protobuf_unittest.default_nested_enum_extensionRdefault_foreign_enum_extensionz0protobuf_unittest.default_foreign_enum_extensionSdefault_import_enum_extensionz/protobuf_unittest.default_import_enum_extensionTdefault_string_piece_extensionz0protobuf_unittest.default_string_piece_extensionabcUdefault_cord_extensionz(protobuf_unittest.default_cord_extensionZ123ooneof_uint32_extensionz(protobuf_unittest.oneof_uint32_extensionponeof_nested_message_extensionz0protobuf_unittest.oneof_nested_message_extensionqoneof_string_extensionz(protobuf_unittest.oneof_string_extensionroneof_bytes_extensionz'protobuf_unittest.oneof_bytes_extensionmy_extension_stringz%protobuf_unittest.my_extension_stringmy_extension_intz"protobuf_unittest.my_extension_intLZpacked_int32_extensionz(protobuf_unittest.packed_int32_extensionM[packed_int64_extensionz(protobuf_unittest.packed_int64_extensionN\packed_uint32_extensionz)protobuf_unittest.packed_uint32_extensionO]packed_uint64_extensionz)protobuf_unittest.packed_uint64_extensionP^packed_sint32_extensionz)protobuf_unittest.packed_sint32_extension_packed_sint64_extensionz)protobuf_unittest.packed_sint64_extension`packed_fixed32_extensionz*protobuf_unittest.packed_fixed32_extensionapacked_fixed64_extensionz*protobuf_unittest.packed_fixed64_extensionbpacked_sfixed32_extensionz+protobuf_unittest.packed_sfixed32_extensioncpacked_sfixed64_extensionz+protobuf_unittest.packed_sfixed64_extensionVdpacked_float_extensionz(protobuf_unittest.packed_float_extensionWepacked_double_extensionz)protobuf_unittest.packed_double_extensionXfpacked_bool_extensionz'protobuf_unittest.packed_bool_extensionYgpacked_enum_extensionz'protobuf_unittest.packed_enum_extensionunpacked_int32_extensionz*protobuf_unittest.unpacked_int32_extensionzunpacked_int64_extensionz*protobuf_unittest.unpacked_int64_extensionunpacked_uint32_extensionz+protobuf_unittest.unpacked_uint32_extensionunpacked_uint64_extensionz+protobuf_unittest.unpacked_uint64_extensionunpacked_sint32_extensionz+protobuf_unittest.unpacked_sint32_extensionunpacked_sint64_extensionz+protobuf_unittest.unpacked_sint64_extensionunpacked_fixed32_extensionz,protobuf_unittest.unpacked_fixed32_extensionunpacked_fixed64_extensionz,protobuf_unittest.unpacked_fixed64_extensionunpacked_sfixed32_extensionz-protobuf_unittest.unpacked_sfixed32_extensionunpacked_sfixed64_extensionz-protobuf_unittest.unpacked_sfixed64_extensionunpacked_float_extensionz*protobuf_unittest.unpacked_float_extensionunpacked_double_extensionz+protobuf_unittest.unpacked_double_extensionunpacked_bool_extensionz)protobuf_unittest.unpacked_bool_extensionunpacked_enum_extensionz)protobuf_unittest.unpacked_enum_extensionh`test_all_typesz protobuf_unittest.test_all_typesiZ NestedEnumz)protobuf_unittest.TestAllTypes.NestedEnumZFOOZBARZNEGi i z'protobuf_unittest.TestOneof2.NestedEnumi ZDynamicEnumTypez7protobuf_unittest.TestDynamicExtensions.DynamicEnumTypeZ DYNAMIC_FOOiZ DYNAMIC_BARiZ DYNAMIC_BAZii,i- NestedMessagez,protobuf_unittest.TestAllTypes.NestedMessageZbbz/protobuf_unittest.TestAllTypes.NestedMessage.bbi- iH )rr"r#r$r&fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr'r( OptionalGroupz,protobuf_unittest.TestAllTypes.OptionalGroupaz.protobuf_unittest.TestAllTypes.OptionalGroup.aiJ id RepeatedGroupz,protobuf_unittest.TestAllTypes.RepeatedGroupz.protobuf_unittest.TestAllTypes.RepeatedGroup.aif i TestAllTypeszprotobuf_unittest.TestAllTypesZoptional_int32z-protobuf_unittest.TestAllTypes.optional_int32Zoptional_int64z-protobuf_unittest.TestAllTypes.optional_int64Zoptional_uint32z.protobuf_unittest.TestAllTypes.optional_uint32Zoptional_uint64z.protobuf_unittest.TestAllTypes.optional_uint64Zoptional_sint32z.protobuf_unittest.TestAllTypes.optional_sint32Zoptional_sint64z.protobuf_unittest.TestAllTypes.optional_sint64Zoptional_fixed32z/protobuf_unittest.TestAllTypes.optional_fixed32Zoptional_fixed64z/protobuf_unittest.TestAllTypes.optional_fixed64Zoptional_sfixed32z0protobuf_unittest.TestAllTypes.optional_sfixed32Zoptional_sfixed64z0protobuf_unittest.TestAllTypes.optional_sfixed64Zoptional_floatz-protobuf_unittest.TestAllTypes.optional_floatZoptional_doublez.protobuf_unittest.TestAllTypes.optional_doubleZ optional_boolz,protobuf_unittest.TestAllTypes.optional_boolZoptional_stringz.protobuf_unittest.TestAllTypes.optional_stringZoptional_bytesz-protobuf_unittest.TestAllTypes.optional_bytesZ optionalgroupz,protobuf_unittest.TestAllTypes.optionalgroupZoptional_nested_messagez6protobuf_unittest.TestAllTypes.optional_nested_messageZoptional_foreign_messagez7protobuf_unittest.TestAllTypes.optional_foreign_messageZoptional_import_messagez6protobuf_unittest.TestAllTypes.optional_import_messageZoptional_nested_enumz3protobuf_unittest.TestAllTypes.optional_nested_enumZoptional_foreign_enumz4protobuf_unittest.TestAllTypes.optional_foreign_enumZoptional_import_enumz3protobuf_unittest.TestAllTypes.optional_import_enumZoptional_string_piecez4protobuf_unittest.TestAllTypes.optional_string_pieceZ optional_cordz,protobuf_unittest.TestAllTypes.optional_cordZoptional_public_import_messagez=protobuf_unittest.TestAllTypes.optional_public_import_messageZoptional_lazy_messagez4protobuf_unittest.TestAllTypes.optional_lazy_messageZrepeated_int32z-protobuf_unittest.TestAllTypes.repeated_int32Zrepeated_int64z-protobuf_unittest.TestAllTypes.repeated_int64Zrepeated_uint32z.protobuf_unittest.TestAllTypes.repeated_uint32Zrepeated_uint64z.protobuf_unittest.TestAllTypes.repeated_uint64Zrepeated_sint32z.protobuf_unittest.TestAllTypes.repeated_sint32Zrepeated_sint64z.protobuf_unittest.TestAllTypes.repeated_sint64Zrepeated_fixed32z/protobuf_unittest.TestAllTypes.repeated_fixed32Zrepeated_fixed64z/protobuf_unittest.TestAllTypes.repeated_fixed64Zrepeated_sfixed32z0protobuf_unittest.TestAllTypes.repeated_sfixed32Zrepeated_sfixed64z0protobuf_unittest.TestAllTypes.repeated_sfixed64Zrepeated_floatz-protobuf_unittest.TestAllTypes.repeated_floatZrepeated_doublez.protobuf_unittest.TestAllTypes.repeated_doubleZ repeated_boolz,protobuf_unittest.TestAllTypes.repeated_boolZrepeated_stringz.protobuf_unittest.TestAllTypes.repeated_stringZrepeated_bytesz-protobuf_unittest.TestAllTypes.repeated_bytesZ repeatedgroupz,protobuf_unittest.TestAllTypes.repeatedgroupZrepeated_nested_messagez6protobuf_unittest.TestAllTypes.repeated_nested_messageZrepeated_foreign_messagez7protobuf_unittest.TestAllTypes.repeated_foreign_messageZrepeated_import_messagez6protobuf_unittest.TestAllTypes.repeated_import_messageZrepeated_nested_enumz3protobuf_unittest.TestAllTypes.repeated_nested_enumZrepeated_foreign_enumz4protobuf_unittest.TestAllTypes.repeated_foreign_enumZrepeated_import_enumz3protobuf_unittest.TestAllTypes.repeated_import_enumZrepeated_string_piecez4protobuf_unittest.TestAllTypes.repeated_string_pieceZ repeated_cordz,protobuf_unittest.TestAllTypes.repeated_cordZrepeated_lazy_messagez4protobuf_unittest.TestAllTypes.repeated_lazy_messageZ default_int32z,protobuf_unittest.TestAllTypes.default_int32Z default_int64z,protobuf_unittest.TestAllTypes.default_int64Zdefault_uint32z-protobuf_unittest.TestAllTypes.default_uint32Zdefault_uint64z-protobuf_unittest.TestAllTypes.default_uint64Zdefault_sint32z-protobuf_unittest.TestAllTypes.default_sint32Zdefault_sint64z-protobuf_unittest.TestAllTypes.default_sint64Zdefault_fixed32z.protobuf_unittest.TestAllTypes.default_fixed32Zdefault_fixed64z.protobuf_unittest.TestAllTypes.default_fixed64Zdefault_sfixed32z/protobuf_unittest.TestAllTypes.default_sfixed32Zdefault_sfixed64z/protobuf_unittest.TestAllTypes.default_sfixed64Z default_floatz,protobuf_unittest.TestAllTypes.default_floatZdefault_doublez-protobuf_unittest.TestAllTypes.default_doubleZ default_boolz+protobuf_unittest.TestAllTypes.default_boolZdefault_stringz-protobuf_unittest.TestAllTypes.default_stringZ default_bytesz,protobuf_unittest.TestAllTypes.default_bytesZdefault_nested_enumz2protobuf_unittest.TestAllTypes.default_nested_enumZdefault_foreign_enumz3protobuf_unittest.TestAllTypes.default_foreign_enumZdefault_import_enumz2protobuf_unittest.TestAllTypes.default_import_enumZdefault_string_piecez3protobuf_unittest.TestAllTypes.default_string_pieceZ default_cordz+protobuf_unittest.TestAllTypes.default_cordZ oneof_uint32z+protobuf_unittest.TestAllTypes.oneof_uint32Zoneof_nested_messagez3protobuf_unittest.TestAllTypes.oneof_nested_messageZ oneof_stringz+protobuf_unittest.TestAllTypes.oneof_stringZ oneof_bytesz*protobuf_unittest.TestAllTypes.oneof_bytesZ oneof_fieldz*protobuf_unittest.TestAllTypes.oneof_field)rr"rr&ri NestedTestAllTypesz$protobuf_unittest.NestedTestAllTypesZchildz*protobuf_unittest.NestedTestAllTypes.childZpayloadz,protobuf_unittest.NestedTestAllTypes.payloadZrepeated_childz3protobuf_unittest.NestedTestAllTypes.repeated_childi i TestDeprecatedFieldsz&protobuf_unittest.TestDeprecatedFieldsZdeprecated_int32z7protobuf_unittest.TestDeprecatedFields.deprecated_int32zi i TestDeprecatedMessagez'protobuf_unittest.TestDeprecatedMessagei i ForeignMessagez protobuf_unittest.ForeignMessagecz"protobuf_unittest.ForeignMessage.cdz"protobuf_unittest.ForeignMessage.di iTestReservedFieldsz$protobuf_unittest.TestReservedFieldsii5TestAllExtensionsz#protobuf_unittest.TestAllExtensions i7iTOptionalGroup_extensionz)protobuf_unittest.OptionalGroup_extensionz+protobuf_unittest.OptionalGroup_extension.aiVizRepeatedGroup_extensionz)protobuf_unittest.RepeatedGroup_extensionz+protobuf_unittest.RepeatedGroup_extension.ai|iTestNestedExtensionz%protobuf_unittest.TestNestedExtensionZtestz*protobuf_unittest.TestNestedExtension.testiZnested_string_extensionz=protobuf_unittest.TestNestedExtension.nested_string_extensioniii; TestRequiredzprotobuf_unittest.TestRequiredz protobuf_unittest.TestRequired.aZdummy2z%protobuf_unittest.TestRequired.dummy2bz protobuf_unittest.TestRequired.bZdummy4z%protobuf_unittest.TestRequired.dummy4Zdummy5z%protobuf_unittest.TestRequired.dummy5Zdummy6z%protobuf_unittest.TestRequired.dummy6Zdummy7z%protobuf_unittest.TestRequired.dummy7Zdummy8z%protobuf_unittest.TestRequired.dummy8Zdummy9z%protobuf_unittest.TestRequired.dummy9Zdummy10z&protobuf_unittest.TestRequired.dummy10Zdummy11z&protobuf_unittest.TestRequired.dummy11Zdummy12z&protobuf_unittest.TestRequired.dummy12Zdummy13z&protobuf_unittest.TestRequired.dummy13Zdummy14z&protobuf_unittest.TestRequired.dummy14Zdummy15z&protobuf_unittest.TestRequired.dummy15Zdummy16z&protobuf_unittest.TestRequired.dummy16Zdummy17z&protobuf_unittest.TestRequired.dummy17Zdummy18z&protobuf_unittest.TestRequired.dummy18Zdummy19z&protobuf_unittest.TestRequired.dummy19Zdummy20z&protobuf_unittest.TestRequired.dummy20Zdummy21z&protobuf_unittest.TestRequired.dummy21Zdummy22z&protobuf_unittest.TestRequired.dummy22Zdummy23z&protobuf_unittest.TestRequired.dummy23Zdummy24z&protobuf_unittest.TestRequired.dummy24Zdummy25z&protobuf_unittest.TestRequired.dummy25Zdummy26z&protobuf_unittest.TestRequired.dummy26Zdummy27z&protobuf_unittest.TestRequired.dummy27Zdummy28z&protobuf_unittest.TestRequired.dummy28Zdummy29z&protobuf_unittest.TestRequired.dummy29Zdummy30z&protobuf_unittest.TestRequired.dummy30Zdummy31z&protobuf_unittest.TestRequired.dummy31Zdummy32z&protobuf_unittest.TestRequired.dummy32z protobuf_unittest.TestRequired.cZsinglez%protobuf_unittest.TestRequired.singleZmultiz$protobuf_unittest.TestRequired.multiii>iTestRequiredForeignz%protobuf_unittest.TestRequiredForeignZoptional_messagez6protobuf_unittest.TestRequiredForeign.optional_messageZrepeated_messagez6protobuf_unittest.TestRequiredForeign.repeated_messageZdummyz+protobuf_unittest.TestRequiredForeign.dummyiiTestRequiredMessagez%protobuf_unittest.TestRequiredMessagez6protobuf_unittest.TestRequiredMessage.optional_messagez6protobuf_unittest.TestRequiredMessage.repeated_messageZrequired_messagez6protobuf_unittest.TestRequiredMessage.required_messageiiyTestForeignNestedz#protobuf_unittest.TestForeignNestedZforeign_nestedz2protobuf_unittest.TestForeignNested.foreign_nestedi{iTestEmptyMessagez"protobuf_unittest.TestEmptyMessageiiTestEmptyMessageWithExtensionsz0protobuf_unittest.TestEmptyMessageWithExtensionsiiTestMultipleExtensionRangesz-protobuf_unittest.TestMultipleExtensionRanges/iiNTestReallyLargeTagNumberz*protobuf_unittest.TestReallyLargeTagNumberz,protobuf_unittest.TestReallyLargeTagNumber.az-protobuf_unittest.TestReallyLargeTagNumber.bbiiPiTestRecursiveMessagez&protobuf_unittest.TestRecursiveMessagez(protobuf_unittest.TestRecursiveMessage.aiz(protobuf_unittest.TestRecursiveMessage.iii SubMessagez1protobuf_unittest.TestMutualRecursionA.SubMessagez3protobuf_unittest.TestMutualRecursionA.SubMessage.bioiSubGroupz/protobuf_unittest.TestMutualRecursionA.SubGroupZ sub_messagez;protobuf_unittest.TestMutualRecursionA.SubGroup.sub_messageZnot_in_this_sccz?protobuf_unittest.TestMutualRecursionA.SubGroup.not_in_this_sccii?TestMutualRecursionAz&protobuf_unittest.TestMutualRecursionAz)protobuf_unittest.TestMutualRecursionA.bbZsubgroupz/protobuf_unittest.TestMutualRecursionA.subgroupiTestMutualRecursionBz&protobuf_unittest.TestMutualRecursionBz(protobuf_unittest.TestMutualRecursionB.az5protobuf_unittest.TestMutualRecursionB.optional_int32iAiz7protobuf_unittest.TestIsInitialized.SubMessage.SubGroupz9protobuf_unittest.TestIsInitialized.SubMessage.SubGroup.ii[ipz.protobuf_unittest.TestIsInitialized.SubMessagez7protobuf_unittest.TestIsInitialized.SubMessage.subgroupiTestIsInitializedz#protobuf_unittest.TestIsInitializedz/protobuf_unittest.TestIsInitialized.sub_messageiFooz(protobuf_unittest.TestDupFieldNumber.Fooz*protobuf_unittest.TestDupFieldNumber.Foo.aiiBarz(protobuf_unittest.TestDupFieldNumber.Barz*protobuf_unittest.TestDupFieldNumber.Bar.aii&TestDupFieldNumberz$protobuf_unittest.TestDupFieldNumberz&protobuf_unittest.TestDupFieldNumber.aZfooz(protobuf_unittest.TestDupFieldNumber.fooZbarz(protobuf_unittest.TestDupFieldNumber.barisTestEagerMessagez"protobuf_unittest.TestEagerMessagez.protobuf_unittest.TestEagerMessage.sub_messagez(i(itTestLazyMessagez!protobuf_unittest.TestLazyMessagez-protobuf_unittest.TestLazyMessage.sub_messageiviz8protobuf_unittest.TestNestedMessageHasBits.NestedMessageZnestedmessage_repeated_int32zUprotobuf_unittest.TestNestedMessageHasBits.NestedMessage.nestedmessage_repeated_int32Z%nestedmessage_repeated_foreignmessagez^protobuf_unittest.TestNestedMessageHasBits.NestedMessage.nestedmessage_repeated_foreignmessagei=iTestNestedMessageHasBitsz*protobuf_unittest.TestNestedMessageHasBitszBprotobuf_unittest.TestNestedMessageHasBits.optional_nested_messageiTestCamelCaseFieldNamesz)protobuf_unittest.TestCamelCaseFieldNamesZPrimitiveFieldz8protobuf_unittest.TestCamelCaseFieldNames.PrimitiveFieldZ StringFieldz5protobuf_unittest.TestCamelCaseFieldNames.StringFieldZ EnumFieldz3protobuf_unittest.TestCamelCaseFieldNames.EnumFieldZ MessageFieldz6protobuf_unittest.TestCamelCaseFieldNames.MessageFieldZStringPieceFieldz:protobuf_unittest.TestCamelCaseFieldNames.StringPieceFieldZ CordFieldz3protobuf_unittest.TestCamelCaseFieldNames.CordFieldZRepeatedPrimitiveFieldz@protobuf_unittest.TestCamelCaseFieldNames.RepeatedPrimitiveFieldZRepeatedStringFieldz=protobuf_unittest.TestCamelCaseFieldNames.RepeatedStringFieldZRepeatedEnumFieldz;protobuf_unittest.TestCamelCaseFieldNames.RepeatedEnumFieldZRepeatedMessageFieldz>protobuf_unittest.TestCamelCaseFieldNames.RepeatedMessageFieldZRepeatedStringPieceFieldzBprotobuf_unittest.TestCamelCaseFieldNames.RepeatedStringPieceFieldZRepeatedCordFieldz;protobuf_unittest.TestCamelCaseFieldNames.RepeatedCordFieldiiz2protobuf_unittest.TestFieldOrderings.NestedMessageZooz5protobuf_unittest.TestFieldOrderings.NestedMessage.ooz5protobuf_unittest.TestFieldOrderings.NestedMessage.bbiQixTestFieldOrderingsz$protobuf_unittest.TestFieldOrderingsZ my_stringz.protobuf_unittest.TestFieldOrderings.my_stringZmy_intz+protobuf_unittest.TestFieldOrderings.my_intZmy_floatz-protobuf_unittest.TestFieldOrderings.my_floatzprotobuf_unittest.TestDynamicExtensions.dynamic_enum_extensioniZmessage_extensionz9protobuf_unittest.TestDynamicExtensions.message_extensioniZdynamic_message_extensionzAprotobuf_unittest.TestDynamicExtensions.dynamic_message_extensioniZrepeated_extensionz:protobuf_unittest.TestDynamicExtensions.repeated_extensioniZpacked_extensionz8protobuf_unittest.TestDynamicExtensions.packed_extensionii*#TestRepeatedScalarDifferentTagSizesz5protobuf_unittest.TestRepeatedScalarDifferentTagSizeszFprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_fixed32zDprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_int32zFprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_fixed64izDprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_int64izDprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_floatizEprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_uint64ii-i-Group1zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1Zfield1zHprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1.field1i0i1Group2zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2zHprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2.field1i1iP1RepeatedFieldsGeneratorz:protobuf_unittest.TestParsingMerge.RepeatedFieldsGeneratorzAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field1Zfield2zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field2Zfield3zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field3Zgroup1zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.group1Zgroup2zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.group2Zext1z?protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.ext1Zext2z?protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.ext2i&/z0protobuf_unittest.TestParsingMerge.OptionalGroupZoptional_group_all_typeszIprotobuf_unittest.TestParsingMerge.OptionalGroup.optional_group_all_typesiR1i1z0protobuf_unittest.TestParsingMerge.RepeatedGroupZrepeated_group_all_typeszIprotobuf_unittest.TestParsingMerge.RepeatedGroup.repeated_group_all_typesi1i1TestParsingMergez"protobuf_unittest.TestParsingMergeZrequired_all_typesz5protobuf_unittest.TestParsingMerge.required_all_typesZoptional_all_typesz5protobuf_unittest.TestParsingMerge.optional_all_typesZrepeated_all_typesz5protobuf_unittest.TestParsingMerge.repeated_all_typesz0protobuf_unittest.TestParsingMerge.optionalgroupz0protobuf_unittest.TestParsingMerge.repeatedgroupZ optional_extz/protobuf_unittest.TestParsingMerge.optional_extZ repeated_extz/protobuf_unittest.TestParsingMerge.repeated_exti-i2TestCommentInjectionMessagez-protobuf_unittest.TestCommentInjectionMessagez/protobuf_unittest.TestCommentInjectionMessage.az*/ <- Neither should this.i2i3 FooRequestzprotobuf_unittest.FooRequesti3i3 FooResponsezprotobuf_unittest.FooResponsei3i 3FooClientMessagez"protobuf_unittest.FooClientMessagei"3i43FooServerMessagez"protobuf_unittest.FooServerMessagei63iH3 BarRequestzprotobuf_unittest.BarRequestiJ3iV3 BarResponsezprotobuf_unittest.BarResponseiX3ie3 TestJsonNamezprotobuf_unittest.TestJsonNameZ field_name1z*protobuf_unittest.TestJsonName.field_name1Z fieldName2z)protobuf_unittest.TestJsonName.fieldName2Z FieldName3z)protobuf_unittest.TestJsonName.FieldName3Z _field_name4z+protobuf_unittest.TestJsonName._field_name4Z FIELD_NAME5z*protobuf_unittest.TestJsonName.FIELD_NAME5Z field_name6z*protobuf_unittest.TestJsonName.field_name6z@type)rr"rrrr:r;r<r=r>r?r&r@rArZ json_namer$ih3i3z4protobuf_unittest.TestHugeFieldNumbers.OptionalGroupZgroup_azZ_IMPORTMESSAGEr?Z _IMPORTENUMZ_PUBLICIMPORTMESSAGEZoneofs_by_namerappendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrrrrr!r"r$r%r&r'r*r+r,r-r.r/r3r4r8r6r7r9r:r=r;r<r>r?r@rArBrDrErFrHrIrJrKrLrMrNrOrQrPrRrSrUrVrWrXrYr[rZr\r`r_r]r^rarbrcrdrerfrgrhrlriZRegisterExtensionZ has_optionsZ FileOptionsZ_optionsZServiceDescriptorZMethodDescriptorZ _TESTSERVICEZRegisterServiceDescriptorZservices_by_nameZGeneratedServiceTypeZServicerpZGeneratedServiceStubTyperrrrrrs-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  $$$$$$$$& &$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&$ &$PK!f"s s 7protobuf/__pycache__/unittest_import_pb2.cpython-36.pycnu[3 h@sNddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZdd lTejdddedejgejgdZejdddeejddddddejddddddejddddddgddddd ZejeejeZejd!d"deejd#dddddejd$dddddejd%dddddgddd&d'd ZejeejeZdZdZdZ dZ!dZ"dZ#ej$d(d)dedej%d*d+ddd,ddd-ddddd-dded.ggggdd-dggd/d0d1Z&e&ej'd(<eej(d<eej(d!<ej)ee j*d(e j+fe,e&d2d3Z-ej.e-d4e_/ej0ej1ed5e_2dS)6NcCs|S)N)xrr)/usr/lib/python3.6/unittest_import_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_import_public_pb2)*z%google/protobuf/unittest_import.protoZprotobuf_unittest_importZproto2u  %google/protobuf/unittest_import.protoprotobuf_unittest_import,google/protobuf/unittest_import_public.proto" ImportMessage d (*< ImportEnum IMPORT_FOO IMPORT_BAR IMPORT_BAZ *1 ImportEnumForMap UNKNOWN FOO BARB com.google.protobuf.testHøP)namepackagesyntaxZ serialized_pbZ dependenciesZpublic_dependencies ImportEnumz#protobuf_unittest_import.ImportEnum IMPORT_FOO)rindexnumberoptionstype IMPORT_BAR IMPORT_BAZ ) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endImportEnumForMapz)protobuf_unittest_import.ImportEnumForMapUNKNOWNFOOBAR ImportMessagez&protobuf_unittest_import.ImportMessagedz(protobuf_unittest_import.ImportMessage.dF)rr#rrrZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typer'Z is_extensionZextension_scoperr%q)rr#r$r%r'Zfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr(r)z#google.protobuf.unittest_import_pb2) DESCRIPTOR __module__Tu com.google.protobuf.testHø)3sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ5google_dot_protobuf_dot_unittest__import__public__pb2Z*google.protobuf.unittest_import_public_pb2ZFileDescriptorr6ZEnumDescriptorZEnumValueDescriptorZ _IMPORTENUMZRegisterEnumDescriptorZEnumTypeWrapperrZ_IMPORTENUMFORMAPr*rrrr+r,r-Z DescriptorZFieldDescriptorZ_IMPORTMESSAGEZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr0ZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                   PK!>Di9"9"+protobuf/__pycache__/service.cpython-36.pycnu[3 h#@sLdZdZGdddeZGdddeZGdddeZGdd d eZd S) aeDEPRECATED: Declares the RPC service interfaces. This module declares the abstract interfaces underlying proto2 RPC services. These are intended to be independent of any particular RPC implementation, so that proto2 services can be used on top of a variety of implementations. Starting with version 2.3.0, RPC implementations should not try to build on these, but should instead provide code generator plugins which generate code specific to the particular RPC implementation. This way the generated code can be more appropriate for the implementation in use and can avoid unnecessary layers of indirection. zpetar@google.com (Petar Petrov)c@seZdZdZdS) RpcExceptionz4Exception raised on failed blocking RPC method call.N)__name__ __module__ __qualname____doc__rr/usr/lib/python3.6/service.pyr.src@s0eZdZdZddZddZddZdd Zd S) ServiceajAbstract base interface for protocol-buffer-based RPC services. Services themselves are abstract classes (implemented either by servers or as stubs), but they subclass this base interface. The methods of this interface can be used to call the methods of the service without knowing its exact type at compile time (analogous to the Message interface). cCstdS)z$Retrieves this service's descriptor.N)NotImplementedErrorrrrr GetDescriptor=szService.GetDescriptorcCstdS)a>Calls a method of the service specified by method_descriptor. If "done" is None then the call is blocking and the response message will be returned directly. Otherwise the call is asynchronous and "done" will later be called with the response value. In the blocking case, RpcException will be raised on error. Preconditions: * method_descriptor.service == GetDescriptor * request is of the exact same classes as returned by GetRequestClass(method). * After the call has started, the request must not be modified. * "rpc_controller" is of the correct type for the RPC implementation being used by this Service. For stubs, the "correct type" depends on the RpcChannel which the stub is using. Postconditions: * "done" will be called when the method is complete. This may be before CallMethod() returns or it may be at some point in the future. * If the RPC failed, the response value passed to "done" will be None. Further details about the failure can be found by querying the RpcController. N)r )selfmethod_descriptorrpc_controllerrequestdonerrr CallMethodAszService.CallMethodcCstdS)aReturns the class of the request message for the specified method. CallMethod() requires that the request is of a particular subclass of Message. GetRequestClass() gets the default instance of this required type. Example: method = service.GetDescriptor().FindMethodByName("Foo") request = stub.GetRequestClass(method)() request.ParseFromString(input) service.CallMethod(method, request, callback) N)r )r r rrrGetRequestClass]s zService.GetRequestClasscCstdS)aReturns the class of the response message for the specified method. This method isn't really needed, as the RpcChannel's CallMethod constructs the response protocol message. It's provided anyway in case it is useful for the caller to know the response type in advance. N)r )r r rrrGetResponseClasslszService.GetResponseClassN)rrrrr rrrrrrrr3s rc@sHeZdZdZddZddZddZdd Zd d Zd d Z ddZ dS) RpcControlleraAn RpcController mediates a single method call. The primary purpose of the controller is to provide a way to manipulate settings specific to the RPC implementation and to find out about RPC-level errors. The methods provided by the RpcController interface are intended to be a "least common denominator" set of features which we expect all implementations to support. Specific implementations may provide more advanced features (e.g. deadline propagation). cCstdS)zResets the RpcController to its initial state. After the RpcController has been reset, it may be reused in a new call. Must not be called while an RPC is in progress. N)r )r rrrResetszRpcController.ResetcCstdS)a>Returns true if the call failed. After a call has finished, returns true if the call failed. The possible reasons for failure depend on the RPC implementation. Failed() must not be called before a call has finished. If Failed() returns true, the contents of the response message are undefined. N)r )r rrrFailedszRpcController.FailedcCstdS)zEIf Failed is true, returns a human-readable description of the error.N)r )r rrr ErrorTextszRpcController.ErrorTextcCstdS)aInitiate cancellation. Advises the RPC system that the caller desires that the RPC call be canceled. The RPC system may cancel it immediately, may wait awhile and then cancel it, or may not even cancel the call at all. If the call is canceled, the "done" callback will still be called and the RpcController will indicate that the call failed at that time. N)r )r rrr StartCancels zRpcController.StartCancelcCstdS)aWSets a failure reason. Causes Failed() to return true on the client side. "reason" will be incorporated into the message returned by ErrorText(). If you find you need to return machine-readable information about failures, you should incorporate it into your response protocol buffer and should NOT call SetFailed(). N)r )r reasonrrr SetFaileds zRpcController.SetFailedcCstdS)zChecks if the client cancelled the RPC. If true, indicates that the client canceled the RPC, so the server may as well give up on replying to it. The server should still call the final "done" callback. N)r )r rrr IsCanceledszRpcController.IsCanceledcCstdS)aSets a callback to invoke on cancel. Asks that the given callback be called when the RPC is canceled. The callback will always be called exactly once. If the RPC completes without being canceled, the callback will be called after completion. If the RPC has already been canceled when NotifyOnCancel() is called, the callback will be called immediately. NotifyOnCancel() must be called no more than once per request. N)r )r callbackrrrNotifyOnCancels zRpcController.NotifyOnCancelN) rrrrrrrrrrrrrrrrvs     rc@seZdZdZddZdS) RpcChannela4Abstract interface for an RPC channel. An RpcChannel represents a communication line to a service which can be used to call that service's methods. The service may be running on another machine. Normally, you should not use an RpcChannel directly, but instead construct a stub {@link Service} wrapping it. Example: Example: RpcChannel channel = rpcImpl.Channel("remotehost.example.com:1234") RpcController controller = rpcImpl.Controller() MyService service = MyService_Stub(channel) service.MyMethod(controller, request, callback) cCstdS)abCalls the method identified by the descriptor. Call the given method of the remote service. The signature of this procedure looks the same as Service.CallMethod(), but the requirements are less strict in one important way: the request object doesn't have to be of any specific class as long as its descriptor is method.input_type. N)r )r r r rZresponse_classrrrrrs zRpcChannel.CallMethodN)rrrrrrrrrrsrN)r __author__ Exceptionrobjectrrrrrrr)s CSPK!z#+protobuf/__pycache__/api_pb2.cpython-36.pycnu[3 h*@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZdd lmZejd ddedejejgdZejdddedejddddddddedjdddddddedejdddddd ddgddddddedejd!d"dddd ddgddddddedejd#d$dd%ddddedjdddddddedejd&d'd%d(dd dddddddddedejd)d*d(d+dd ddgddddddedejd,d-d+d.d/d0dddddddddedggggdddggd1d2d3Zejd4d5dedejdd6ddddddedjdddddddedejd7d8ddddddedjdddddddedejd9d:ddd0d.dddddddddedejd;dd%d(d0d.dddddddddedejd!d?d(d+dd ddgddddddedejd,d@d+d.d/d0dddddddddedggggdddggdAdBd3ZejdCdDdedejddEddddddedjdddddddedejdFdGddddddedjdddddddedggggdddggdHdId3Zeejd_ejejd!_ejejd&_eejd)_ejejd,_ ejejd!_ejejd,_ eej!d<eej!d4<eej!dC<ej"ee j#dej$fe%edJdKZ&ej'e&e j#d4ej$fe%edJdKZ(ej'e(e j#dCej$fe%edJdKZ)ej'e)dLe_*ej+e j,edMe_-dS)NNcCs|S)N)xrr/usr/lib/python3.6/api_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)source_context_pb2)type_pb2zgoogle/protobuf/api.protozgoogle.protobufZproto3u google/protobuf/api.protogoogle.protobuf$google/protobuf/source_context.protogoogle/protobuf/type.proto" Api name ( ( methods ( 2.google.protobuf.Method( options ( 2.google.protobuf.Option version ( 6 source_context ( 2.google.protobuf.SourceContext& mixins ( 2.google.protobuf.Mixin' syntax (2.google.protobuf.Syntax"Õ Method name (  request_type_url (  request_streaming ( response_type_url (  response_streaming (( options ( 2.google.protobuf.Option' syntax (2.google.protobuf.Syntax"# Mixin name (  root ( Bu com.google.protobufBApiProtoPZ+google.golang.org/genproto/protobuf/api;api¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbZ dependenciesApizgoogle.protobuf.Apirzgoogle.protobuf.Api.name Fzutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfilemethodszgoogle.protobuf.Api.methods rzgoogle.protobuf.Api.optionsversionzgoogle.protobuf.Api.versionZsource_contextz"google.protobuf.Api.source_contextZmixinszgoogle.protobuf.Api.mixinsrzgoogle.protobuf.Api.syntaxqir)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endMethodzgoogle.protobuf.Methodzgoogle.protobuf.Method.nameZrequest_type_urlz'google.protobuf.Method.request_type_urlZrequest_streamingz(google.protobuf.Method.request_streamingZresponse_type_urlz(google.protobuf.Method.response_type_urlZresponse_streamingz)google.protobuf.Method.response_streamingzgoogle.protobuf.Method.optionszgoogle.protobuf.Method.syntaxiuiJMixinzgoogle.protobuf.Mixinzgoogle.protobuf.Mixin.namerootzgoogle.protobuf.Mixin.rootiLiozgoogle.protobuf.api_pb2) DESCRIPTOR __module__Tuw com.google.protobufBApiProtoPZ+google.golang.org/genproto/protobuf/api;api¢GPBªGoogle.Protobuf.WellKnownTypes).sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ,google_dot_protobuf_dot_source__context__pb2rZ!google_dot_protobuf_dot_type__pb2ZFileDescriptorr0Z DescriptorZFieldDescriptordecodeZ_APIZ_METHODZ_MIXINZfields_by_namerZ_OPTIONZ_SOURCECONTEXTZ_SYNTAXrZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager-r.Z has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                      PK!X<protobuf/__pycache__/test_messages_proto3_pb2.cpython-36.pycnu[3 h/@s<0ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZdd lmZddlmZddlmZddlmZddlmZejdddedejejejejejejgdZejdddeej ddddddej ddddddej ddddddgdddd d! Z!ej"e!ej#e!Z$dZ%dZ&dZ'ejd"d#deej d$dddddej d%dddddej d&dddddej d'ddRdddgddd(d)d! Z(ej"e(ej)d*d+dedej*d,d-ddd.ddd/ddddd/dded0ej*d1d2ddd3d4dd/ddddd/dded0ggggdd/dggd5d6d7Z+ej)d8d9dedej*d:d;ddd.ddd/ddddd/dded0ej*dd/dggd?d@d7Z.ej)dAdBdedej*d:dCdddddd/ddddd/dded0ej*dd/dggdEdFd7Z/ej)dGdHdedej*d:dIdddJddd/ddddd/dded0ej*dd/dggdLdMd7Z0ej)dNdOdedej*d:dPdddQdQdd/ddddd/dded0ej*dd/dggdSdTd7Z1ej)dUdVdedej*d:dWdddXddd/ddddd/dded0ej*dd/dggdZd[d7Z2ej)d\d]dedej*d:d^ddd_ddd/ddddd/dded0ej*dd/dggdadbd7Z3ej)dcdddedej*d:dedddfddd/ddddd/dded0ej*dd/dggdhdid7Z4ej)djdkdedej*d:dldddmdQdd/ddddd/dded0ej*dd/dggdodpd7Z5ej)dqdrdedej*d:dsdddtddd/ddddd/dded0ej*dd/dggdvdwd7Z6ej)dxdydedej*d:dzddd{ddd/ddddd/dded0ej*dd/dggd}d~d7Z7ej)dddedej*d:dddd.ddd/ddddd/dded0ej*dd/dggddd7Z9ej)dddedej*d:dddd.ddd/ddddd/dded0ej*dd/dggddd7Z:ej)dddedej*d:dddddfdd/d/dddd/dded0ej*dd/dggddd7Z;ej)dddedej*d:ddddddd/edjd/dggddd7Z=ej)dddedej*d:ddddddd/edjd/dggddd7Z>ej)dddedej*d:ddddddd/edjd/dggddd7Z?ej)dddedej*d:ddddddd/edjd/dggddd7Z@ej)dddedej*d:ddddddd/edjd/dggddd7ZAej)dddedej*d:ddddddd/edjd/dggddd7ZBej)dddedej*ddddd.ddd/ddddd/dded0ej*dddddddd/ddddd/dded0ej*dddddJddd/ddddd/dded0ej*ddddQdQdQdd/ddddd/dded0ej*dddQd.dXddd/ddddd/dded0ej*ddd.dmd_ddd/ddddd/dded0ej*dddmdfdfddd/ddddd/dded0ej*dddfddmdQdd/ddddd/dded0ej*dddddtddd/ddddd/dded0ej*dddd4d{ddd/ddddd/dded0ej*ddd4d3ddmdd/e8ddddd/dded0ej*ddd3ddd.dd/e8ddddd/dded0ej*ddddJddfdd/d/dddd/dded0ej*dddJddddd/edjd3d4dd/gdddd/dded0ej*d?d@dAdBd3d4dd/gdddd/dded0ej*dCdDdEdFd3d4dd/gdddd/dded0ej*dGdHd&dId3d4dd/gdddd/dded0ej*dJdKd)dLd3d4dd/gdddd/dded0ej*dMdNdOdPd3d4dd/gdddd/dded0ej*dQdRd,dSd3d4dd/gdddd/dded0ej*dTdUd/dVd3d4dd/gdddd/dded0ej*dWdXdYdZd3d4dd/gdddd/dded0ej*d[d\d2d]d3d4dd/gdddd/dded0ej*d^d_d5d`d3d4dd/gdddd/dded0ej*dadbd8dcd3d4dd/gdddd/dded0ej*ddded;dfd3d4dd/gdddd/dded0ej*dgdhd>did3d4dd/gdddd/dded0ej*djdkdBdld3d4dd/gdddd/dded0ej*dmdndFdod3d4dd/gdddd/dded0ej*dpdqdIdrd3d4dd/gdddd/dded0ej*dsdtdLdudJddd/ddddd/dded0ej*dvdwdPdxd3d4dd/ddddd/dded0ej*dydzdSd{dddd/edjd.ddd/ddddd/dded0ej*d?d@ddAd.ddd/ddddd/dded0gwge+e.e/e0e1e2e3e4e5e6e7e9e:e;e=e>e?e@eAeBge(gdd/dgejDdBdCddgdDgdEdFd7ZEej)dGdHdedej*dIdJddd.ddd/ddddd/dded0ggggdd/dggdKdLd7ZFeEe+jGd1_HeEe+_IeEe._IeEe/_IeEe0_IeEe1_IeEe2_IeEe3_IeEe4_IeEe5_IeEe6_IeEe7_IeEe9_IeEe:_IeEe;_IeEe=_IeEe>_Ie+e?jGd<_HeEe?_IeFe@jGd<_HeEe@_Ie(eAjGd<_JeEeA_Ie!eBjGd<_JeEeB_Ie+eEjGd_HeFeEjGd_He(eEjGd_Je!eEjGd_JeEeEjGd_He+eEjGd$_HeFeEjGd'_He(eEjGd*_Je!eEjGd-_Je.eEjGd6_He/eEjGd9_He0eEjGd<_He1eEjGd?_He2eEjGdC_He3eEjGdG_He4eEjGdJ_He5eEjGdM_He6eEjGdQ_He7eEjGdT_He9eEjGdW_He:eEjGd[_He;eEjGd^_He=eEjGda_He>eEjGdd_He?eEjGdg_He@eEjGdj_HeAeEjGdm_HeBeEjGdp_He+eEjGdv_He(eEjGd_JejKeEjGd_HejLeEjGd_HejMeEjGd_HejNeEjGd_HejOeEjGd_HejPeEjGd_HejQeEjGd_HejReEjGd_HejSeEjGd_HejKeEjGd_HejLeEjGd_HejMeEjGd_HejNeEjGd_HejOeEjGd_HejPeEjGd_HejQeEjGd_HejReEjGd_HejSeEjGd_HejTeEjGd_HejUeEjGd_HejVeEjGd_HejWeEjGd_HejXeEjGd_HejYeEjGd_HejTeEjGd_HejUeEjGd_HejVeEjGd_HejWeEjGd_HejXeEjGd_HejYeEjGd_HeEe(_IeEjZdBj[j\eEjGdseEjZdBeEjGds_]eEjZdBj[j\eEjGdveEjZdBeEjGdv_]eEjZdBj[j\eEjGdyeEjZdBeEjGdy_]eEjZdBj[j\eEjGd|eEjZdBeEjGd|_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEjZdBj[j\eEjGdeEjZdBeEjGd_]eEej^d<eFej^dG<e!ej_d<ej`ee jade jbfece jad*e jbfece+dMdNe jad8e jbfece.dMdNe jadAe jbfece/dMdNe jadGe jbfece0dMdNe jadNe jbfece1dMdNe jadUe jbfece2dMdNe jad\e jbfece3dMdNe jadce jbfece4dMdNe jadje jbfece5dMdNe jadqe jbfece6dMdNe jadxe jbfece7dMdNe jade jbfece9dMdNe jade jbfece:dMdNe jade jbfece;dMdNe jade jbfece=dMdNe jade jbfece>dMdNe jade jbfece?dMdNe jade jbfece@dMdNe jade jbfeceAdMdNe jade jbfeceBdMdNeEdMdOZdejeedejeedjfejeedjgejeedjhejeedjiejeedjjejeedjkejeedjlejeedjmejeedjnejeedjoejeedjpejeedjqejeedjrejeedjsejeedjtejeedjuejeedjvejeedjwejeedjxejeedjye jadGe jbfeceFdMdNZzejeezdPe_{ej,ej|edQe_}dPe._{ej,ej-ed>e._}dPe/_{ej,ej-ed>e/_}dPe0_{ej,ej-ed>e0_}dPe1_{ej,ej-ed>e1_}dPe2_{ej,ej-ed>e2_}dPe3_{ej,ej-ed>e3_}dPe4_{ej,ej-ed>e4_}dPe5_{ej,ej-ed>e5_}dPe6_{ej,ej-ed>e6_}dPe7_{ej,ej-ed>e7_}dPe9_{ej,ej-ed>e9_}dPe:_{ej,ej-ed>e:_}dPe;_{ej,ej-ed>e;_}dPe=_{ej,ej-ed>e=_}dPe>_{ej,ej-ed>e>_}dPe?_{ej,ej-ed>e?_}dPe@_{ej,ej-ed>e@_}dPeA_{ej,ej-ed>eA_}dPeB_{ej,ej-ed>eB_}dPeEjGd_{ej,ejCedeEjGd_}dPeEjGd_{ej,ejCedeEjGd_}dPeEjGd0_{ej,ejCedeEjGd0_}dPeEjGd3_{ej,ejCedeEjGd3_}dS(SNcCs|S)N)xrr./usr/lib/python3.6/test_messages_proto3_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)any_pb2) duration_pb2)field_mask_pb2) struct_pb2) timestamp_pb2) wrappers_pb2z*google/protobuf/test_messages_proto3.protozprotobuf_test_messages.proto3Zproto3u *google/protobuf/test_messages_proto3.protoprotobuf_test_messages.proto3google/protobuf/any.protogoogle/protobuf/duration.proto google/protobuf/field_mask.protogoogle/protobuf/struct.protogoogle/protobuf/timestamp.protogoogle/protobuf/wrappers.proto"´; TestAllTypesProto3 optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( ` optional_nested_message ( 2?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageO optional_foreign_message ( 2-.protobuf_test_messages.proto3.ForeignMessageZ optional_nested_enum (2<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumI optional_foreign_enum (2*.protobuf_test_messages.proto3.ForeignEnum! optional_string_piece ( B optional_cord ( BL recursive_message ( 21.protobuf_test_messages.proto3.TestAllTypesProto3 repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( ` repeated_nested_message0 ( 2?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageO repeated_foreign_message1 ( 2-.protobuf_test_messages.proto3.ForeignMessageZ repeated_nested_enum3 (2<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumI repeated_foreign_enum4 (2*.protobuf_test_messages.proto3.ForeignEnum! repeated_string_piece6 ( B repeated_cord7 ( B] map_int32_int328 ( 2D.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry] map_int64_int649 ( 2D.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entrya map_uint32_uint32: ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entrya map_uint64_uint64; ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entrya map_sint32_sint32< ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entrya map_sint64_sint64= ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entrye map_fixed32_fixed32> ( 2H.protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entrye map_fixed64_fixed64? ( 2H.protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entryi map_sfixed32_sfixed32@ ( 2J.protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entryi map_sfixed64_sfixed64A ( 2J.protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry] map_int32_floatB ( 2D.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry_ map_int32_doubleC ( 2E.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntryY map_bool_boolD ( 2B.protobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntrya map_string_stringE ( 2F.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry_ map_string_bytesF ( 2E.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntryp map_string_nested_messageG ( 2M.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntryr map_string_foreign_messageH ( 2N.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntryj map_string_nested_enumI ( 2J.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntryl map_string_foreign_enumJ ( 2K.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry oneof_uint32o ( H_ oneof_nested_messagep ( 2?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageH oneof_stringq ( H oneof_bytesr ( H oneof_bools (H oneof_uint64t (H oneof_floatu (H oneof_doublev (HR oneof_enumw (2<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumH: optional_bool_wrapperÉ ( 2.google.protobuf.BoolValue< optional_int32_wrapperÊ ( 2.google.protobuf.Int32Value< optional_int64_wrapperË ( 2.google.protobuf.Int64Value> optional_uint32_wrapperÌ ( 2.google.protobuf.UInt32Value> optional_uint64_wrapperÍ ( 2.google.protobuf.UInt64Value< optional_float_wrapperÎ ( 2.google.protobuf.FloatValue> optional_double_wrapperÏ ( 2.google.protobuf.DoubleValue> optional_string_wrapperÐ ( 2.google.protobuf.StringValue< optional_bytes_wrapperÑ ( 2.google.protobuf.BytesValue: repeated_bool_wrapperÓ ( 2.google.protobuf.BoolValue< repeated_int32_wrapperÔ ( 2.google.protobuf.Int32Value< repeated_int64_wrapperÕ ( 2.google.protobuf.Int64Value> repeated_uint32_wrapperÖ ( 2.google.protobuf.UInt32Value> repeated_uint64_wrapper× ( 2.google.protobuf.UInt64Value< repeated_float_wrapperØ ( 2.google.protobuf.FloatValue> repeated_double_wrapperÙ ( 2.google.protobuf.DoubleValue> repeated_string_wrapperÚ ( 2.google.protobuf.StringValue< repeated_bytes_wrapperÛ ( 2.google.protobuf.BytesValue5 optional_duration­ ( 2.google.protobuf.Duration7 optional_timestamp® ( 2.google.protobuf.Timestamp8 optional_field_mask¯ ( 2.google.protobuf.FieldMask1 optional_struct° ( 2.google.protobuf.Struct+ optional_any± ( 2.google.protobuf.Any/ optional_value² ( 2.google.protobuf.Value5 repeated_duration· ( 2.google.protobuf.Duration7 repeated_timestamp¸ ( 2.google.protobuf.Timestamp7 repeated_fieldmask¹ ( 2.google.protobuf.FieldMask1 repeated_structÄ ( 2.google.protobuf.Struct+ repeated_any» ( 2.google.protobuf.Any/ repeated_value¼ ( 2.google.protobuf.Value fieldname1‘ ( field_name2’ ( _field_name3“ ( field__name4_” ( field0name5• ( field_0_name6– ( fieldName7— ( FieldName8˜ ( field_Name9™ ( Field_Name10š ( FIELD_NAME11› ( FIELD_name12œ ( __field_name13 ( __Field_name14ž ( field__name15Ÿ ( field__Name16  ( field_name17__¡ ( Field_name18__¢ (b NestedMessage a (F corecursive ( 21.protobuf_test_messages.proto3.TestAllTypesProto34 MapInt32Int32Entry key ( value (:84 MapInt64Int64Entry key ( value (:86 MapUint32Uint32Entry key (  value ( :86 MapUint64Uint64Entry key ( value (:86 MapSint32Sint32Entry key ( value (:86 MapSint64Sint64Entry key ( value (:88 MapFixed32Fixed32Entry key ( value (:88 MapFixed64Fixed64Entry key ( value (:8: MapSfixed32Sfixed32Entry key ( value (:8: MapSfixed64Sfixed64Entry key ( value (:84 MapInt32FloatEntry key ( value (:85 MapInt32DoubleEntry key ( value (:82 MapBoolBoolEntry key ( value (:86 MapStringStringEntry key (  value ( :85 MapStringBytesEntry key (  value ( :8~ MapStringNestedMessageEntry key ( N value ( 2?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage:8m MapStringForeignMessageEntry key ( < value ( 2-.protobuf_test_messages.proto3.ForeignMessage:8x MapStringNestedEnumEntry key ( K value (2<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum:8g MapStringForeignEnumEntry key ( 9 value (2*.protobuf_test_messages.proto3.ForeignEnum:8"9 NestedEnum FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿB oneof_fieldJõÿ" ForeignMessage c (*@ ForeignEnum FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZB8 (com.google.protobuf_test_messages.proto3Hø¢Proto3bproto3)namepackagesyntaxZ serialized_pbZ dependencies ForeignEnumz)protobuf_test_messages.proto3.ForeignEnum FOREIGN_FOO)rindexnumberoptionstype FOREIGN_BAR FOREIGN_BAZii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZ NestedEnumz;protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumZFOOZBARZBAZZNEGini NestedMessagez>protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageaz@protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage.aF)rr"rrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer&Z is_extensionZextension_scoperr$Z corecursivezJprotobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage.corecursive iiR)rr"r#r$r&fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr'r(MapInt32Int32EntryzCprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32EntrykeyzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry.keyvaluezIprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry.valuez8iTiMapInt64Int64EntryzCprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64EntryzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry.keyzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry.valueiiMapUint32Uint32EntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry.key zKprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry.valueiiMapUint64Uint64EntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry.keyzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry.valueii.MapSint32Sint32EntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry.keyzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry.valuei0ifMapSint64Sint64EntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry.keyzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry.valueihiMapFixed32Fixed32EntryzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32EntryzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry.keyzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry.valueiiMapFixed64Fixed64EntryzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64EntryzKprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry.keyzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry.valueiiMapSfixed32Sfixed32EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32EntryzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry.keyzOprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry.valueiiNMapSfixed64Sfixed64EntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64EntryzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry.keyzOprotobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry.valueiPiMapInt32FloatEntryzCprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntryzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry.keyzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry.valueiiMapInt32DoubleEntryzDprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntryzHprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry.keyzJprotobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry.valueiiMapBoolBoolEntryzAprotobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry.keyzGprotobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry.valueii+MapStringStringEntryzEprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry.key zutf-8zKprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry.valuei-icMapStringBytesEntryzDprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntryzHprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry.keyzJprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry.value ieiMapStringNestedMessageEntryzLprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntryzPprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry.keyzRprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry.valueiiMapStringForeignMessageEntryzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntryzQprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry.keyzSprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry.valueiiMapStringNestedEnumEntryzIprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntryzMprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry.keyzOprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry.valueiiMapStringForeignEnumEntryzJprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntryzNprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry.keyzPprotobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry.valueiilTestAllTypesProto3z0protobuf_test_messages.proto3.TestAllTypesProto3Zoptional_int32z?protobuf_test_messages.proto3.TestAllTypesProto3.optional_int32Zoptional_int64z?protobuf_test_messages.proto3.TestAllTypesProto3.optional_int64Zoptional_uint32z@protobuf_test_messages.proto3.TestAllTypesProto3.optional_uint32Zoptional_uint64z@protobuf_test_messages.proto3.TestAllTypesProto3.optional_uint64Zoptional_sint32z@protobuf_test_messages.proto3.TestAllTypesProto3.optional_sint32Zoptional_sint64z@protobuf_test_messages.proto3.TestAllTypesProto3.optional_sint64Zoptional_fixed32zAprotobuf_test_messages.proto3.TestAllTypesProto3.optional_fixed32Zoptional_fixed64zAprotobuf_test_messages.proto3.TestAllTypesProto3.optional_fixed64Zoptional_sfixed32zBprotobuf_test_messages.proto3.TestAllTypesProto3.optional_sfixed32Zoptional_sfixed64zBprotobuf_test_messages.proto3.TestAllTypesProto3.optional_sfixed64Zoptional_floatz?protobuf_test_messages.proto3.TestAllTypesProto3.optional_floatZoptional_doublez@protobuf_test_messages.proto3.TestAllTypesProto3.optional_doubleZ optional_boolz>protobuf_test_messages.proto3.TestAllTypesProto3.optional_boolZoptional_stringz@protobuf_test_messages.proto3.TestAllTypesProto3.optional_stringZoptional_bytesz?protobuf_test_messages.proto3.TestAllTypesProto3.optional_bytesZoptional_nested_messagezHprotobuf_test_messages.proto3.TestAllTypesProto3.optional_nested_messageZoptional_foreign_messagezIprotobuf_test_messages.proto3.TestAllTypesProto3.optional_foreign_messageZoptional_nested_enumzEprotobuf_test_messages.proto3.TestAllTypesProto3.optional_nested_enumZoptional_foreign_enumzFprotobuf_test_messages.proto3.TestAllTypesProto3.optional_foreign_enumZoptional_string_piecezFprotobuf_test_messages.proto3.TestAllTypesProto3.optional_string_piecezZ optional_cordz>protobuf_test_messages.proto3.TestAllTypesProto3.optional_cordzZrecursive_messagezBprotobuf_test_messages.proto3.TestAllTypesProto3.recursive_messageZrepeated_int32z?protobuf_test_messages.proto3.TestAllTypesProto3.repeated_int32Zrepeated_int64z?protobuf_test_messages.proto3.TestAllTypesProto3.repeated_int64 Zrepeated_uint32z@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_uint32!Zrepeated_uint64z@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_uint64"Zrepeated_sint32z@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_sint32#Zrepeated_sint64z@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_sint64$Zrepeated_fixed32zAprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_fixed32%Zrepeated_fixed64zAprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_fixed64&Zrepeated_sfixed32zBprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_sfixed32'Zrepeated_sfixed64zBprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_sfixed64(Zrepeated_floatz?protobuf_test_messages.proto3.TestAllTypesProto3.repeated_float)Zrepeated_doublez@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_double*Z repeated_boolz>protobuf_test_messages.proto3.TestAllTypesProto3.repeated_bool+Zrepeated_stringz@protobuf_test_messages.proto3.TestAllTypesProto3.repeated_string,Zrepeated_bytesz?protobuf_test_messages.proto3.TestAllTypesProto3.repeated_bytes-Zrepeated_nested_messagezHprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_nested_message0Zrepeated_foreign_messagezIprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_foreign_message1Zrepeated_nested_enumzEprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_nested_enum3Zrepeated_foreign_enumzFprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_foreign_enum4Zrepeated_string_piecezFprotobuf_test_messages.proto3.TestAllTypesProto3.repeated_string_piece6Z repeated_cordz>protobuf_test_messages.proto3.TestAllTypesProto3.repeated_cord7Zmap_int32_int32z@protobuf_test_messages.proto3.TestAllTypesProto3.map_int32_int328Zmap_int64_int64z@protobuf_test_messages.proto3.TestAllTypesProto3.map_int64_int649Zmap_uint32_uint32zBprotobuf_test_messages.proto3.TestAllTypesProto3.map_uint32_uint32:Zmap_uint64_uint64zBprotobuf_test_messages.proto3.TestAllTypesProto3.map_uint64_uint64.;Zmap_sint32_sint32zBprotobuf_test_messages.proto3.TestAllTypesProto3.map_sint32_sint32/<Zmap_sint64_sint64zBprotobuf_test_messages.proto3.TestAllTypesProto3.map_sint64_sint64=Zmap_fixed32_fixed32zDprotobuf_test_messages.proto3.TestAllTypesProto3.map_fixed32_fixed32>Zmap_fixed64_fixed64zDprotobuf_test_messages.proto3.TestAllTypesProto3.map_fixed64_fixed642?Zmap_sfixed32_sfixed32zFprotobuf_test_messages.proto3.TestAllTypesProto3.map_sfixed32_sfixed32@Zmap_sfixed64_sfixed64zFprotobuf_test_messages.proto3.TestAllTypesProto3.map_sfixed64_sfixed64AZmap_int32_floatz@protobuf_test_messages.proto3.TestAllTypesProto3.map_int32_float5BZmap_int32_doublezAprotobuf_test_messages.proto3.TestAllTypesProto3.map_int32_doubleCZ map_bool_boolz>protobuf_test_messages.proto3.TestAllTypesProto3.map_bool_boolDZmap_string_stringzBprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_stringEZmap_string_byteszAprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_bytesFZmap_string_nested_messagezJprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_nested_messageGZmap_string_foreign_messagezKprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_foreign_messageHZmap_string_nested_enumzGprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_nested_enumIZmap_string_foreign_enumzHprotobuf_test_messages.proto3.TestAllTypesProto3.map_string_foreign_enumJZ oneof_uint32z=protobuf_test_messages.proto3.TestAllTypesProto3.oneof_uint32oZoneof_nested_messagezEprotobuf_test_messages.proto3.TestAllTypesProto3.oneof_nested_messagepZ oneof_stringz=protobuf_test_messages.proto3.TestAllTypesProto3.oneof_stringqZ oneof_byteszprotobuf_test_messages.proto3.TestAllTypesProto3.field__name4_hiZ field0name5zprotobuf_test_messages.proto3.TestAllTypesProto3.field_0_name6jiZ fieldName7z;protobuf_test_messages.proto3.TestAllTypesProto3.fieldName7kiZ FieldName8z;protobuf_test_messages.proto3.TestAllTypesProto3.FieldName8liZ field_Name9zprotobuf_test_messages.proto3.TestAllTypesProto3.field__name15iZ field__Name16z>protobuf_test_messages.proto3.TestAllTypesProto3.field__Name16iZfield_name17__z?protobuf_test_messages.proto3.TestAllTypesProto3.field_name17__iZField_name18__z?protobuf_test_messages.proto3.TestAllTypesProto3.Field_name18__iZ oneof_fieldzr@rBrDrFrGrHrJrMrOrPrQrSrrTu: (com.google.protobuf_test_messages.proto3Hø¢Proto3)~sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ google_dot_protobuf_dot_any__pb2rZ%google_dot_protobuf_dot_duration__pb2rZ(google_dot_protobuf_dot_field__mask__pb2rZ#google_dot_protobuf_dot_struct__pb2rZ&google_dot_protobuf_dot_timestamp__pb2rZ%google_dot_protobuf_dot_wrappers__pb2ZFileDescriptorrZEnumDescriptorZEnumValueDescriptorZ _FOREIGNENUMZRegisterEnumDescriptorZEnumTypeWrapperrrrr Z_TESTALLTYPESPROTO3_NESTEDENUMZ DescriptorZFieldDescriptorZ!_TESTALLTYPESPROTO3_NESTEDMESSAGEZ _ParseOptionsZMessageOptionsZ&_TESTALLTYPESPROTO3_MAPINT32INT32ENTRYZ&_TESTALLTYPESPROTO3_MAPINT64INT64ENTRYZ(_TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRYZ(_TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRYZ(_TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRYZ(_TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRYZ*_TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRYZ*_TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRYZ,_TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRYZ,_TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRYfloatZ&_TESTALLTYPESPROTO3_MAPINT32FLOATENTRYZ'_TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRYZ$_TESTALLTYPESPROTO3_MAPBOOLBOOLENTRYdecodeZ(_TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRYZ'_TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRYZ/_TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRYZ0_TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRYZ,_TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRYZ-_TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRYZ FieldOptionsZOneofDescriptorZ_TESTALLTYPESPROTO3Z_FOREIGNMESSAGEZfields_by_namer,r&r-Z _BOOLVALUEZ _INT32VALUEZ _INT64VALUEZ _UINT32VALUEZ _UINT64VALUEZ _FLOATVALUEZ _DOUBLEVALUEZ _STRINGVALUEZ _BYTESVALUEZ _DURATIONZ _TIMESTAMPZ _FIELDMASKZ_STRUCTZ_ANYZ_VALUEZoneofs_by_namer0appendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrTZRegisterMessager)r2r5r6r8r:r<r>r@rBrDrFrGrHrJrMrOrPrQrSrZ has_optionsZ FileOptionsZ_optionsrrrrs                                                                                                                                                                                                                               *                                                            PK!80:[[1protobuf/__pycache__/any_pb2.cpython-36.opt-1.pycnu[3 h~ @s`ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejddddddddedjdddddddedejddddddddedddddddedggggddd ggddd Zeejd<ejee jdejfeed!d"Zejed#e_eje jed$e_dS)%NcCs|S)N)xrr/usr/lib/python3.6/any_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/any.protozgoogle.protobufZproto3u google/protobuf/any.protogoogle.protobuf"& Any type_url (  value ( Bo com.google.protobufBAnyProtoPZ%github.com/golang/protobuf/ptypes/any¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pbAnyzgoogle.protobuf.AnyZtype_urlzgoogle.protobuf.Any.type_url Fzutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfilevaluezgoogle.protobuf.Any.value .T)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.any_pb2) DESCRIPTOR __module__Tuq com.google.protobufBAnyProtoPZ%github.com/golang/protobuf/ptypes/any¢GPBªGoogle.Protobuf.WellKnownTypes) sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr"Z DescriptorZFieldDescriptordecodeZ_ANYZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsd           PK!&; ; 1protobuf/__pycache__/text_encoding.cpython-36.pycnu[3 h @s dZddlZddlZddeddDZded<ded <d ed <d ed <ded<ded<ddeddDddeddDddeddDZded<ded <d ed <d ed <ded<ded<ddZejdZddeddDddeddDZ ddZ dS)zEncoding related utilities.NcCsg|] }t|qS)chr).0irr#/usr/lib/python3.6/text_encoding.py %srz\t z\n z\r z\''z\""z\\\cCsg|] }d|qS)z\%03or)rrrrrr/s cCsg|] }t|qSr)r)rrrrrr0scCsg|] }d|qS)z\%03or)rrrrrr1scsLt|tjrtndd|r4djfdd|DSdjfdd|DS)a-Escape a bytes string for use in an ascii protocol buffer. text.encode('string_escape') does not seem to satisfy our needs as it encodes unprintable characters using two-digit hex escapes whereas our C++ unescaping function allows hex escapes to be any length. So, "1".encode('string_escape') ends up being "\x011", which will be decoded in C++ as a single-character string with char code 0x11. Args: text: A byte string to be escaped as_utf8: Specifies if result should be returned in UTF-8 encoding Returns: Escaped string cSs|S)Nr)xrrrLszCEscape..c3s|]}t|VqdS)N)_cescape_utf8_to_str)rc)Ordrr NszCEscape..c3s|]}t|VqdS)N)_cescape_byte_to_str)rr)rrrrOs) isinstancesixZ string_typesordjoin)textZas_utf8r)rrCEscape;srz"(\\+)x([0-9a-fA-F])(?![0-9a-fA-F])cCsg|] }t|qSr)r)rrrrrrSscCsg|] }d|qS)z\%03or)rrrrrrTscCsPdd}tj||}ttkr&|jdSdjdd|D}|jdjdjd S) zDUnescape a text string with C-style escape sequences to UTF-8 bytes.cSs4t|jdd@r*|jdd|jdS|jdS)NZx0r)lengroup)mrrr ReplaceHexZszCUnescape..ReplaceHexZ string_escapercss|]}tt|VqdS)N)_cescape_highbit_to_strr)rrrrrrgszCUnescape..asciiZunicode_escapeZraw_unicode_escape)_CUNESCAPE_HEXsubstrbytesdecoderencode)rr$resultrrr CUnescapeWs   r.) __doc__rerrangerrrcompiler'r%r.rrrrs,& PK!NUU=protobuf/__pycache__/unittest_proto3_arena_pb2.cpython-36.pycnu[3 hS@stddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZy ejZWnek rejjjZYnXejd ddedejgdZejdddeejddddddejddddddejddddddejddddddgddddd ZejeejeZdZ dZ!dZ"dZ#ejd!d"deejd#dddddejd$dddddejd%dddddejd&dddddejd'dd8dddgddd(d)d Z$eje$ej%d*d+dedej&d,d-dddddd.ddddd.dded/ggggdd.dggd0d1d2Z'ej%d3d4dedej&d5d6dddddd.ddddd.dded/ej&d7d8dddddd.ddddd.dded/ej&d9d:ddd;ddd.ddddd.dded/ej&dd?ddd@ddd.ddddd.dded/ej&dAdBdddCddd.ddddd.dded/ej&dDdEddFdFddd.ddddd.dded/ej&dGdHdFdIdddd.ddddd.dded/ej&dJdKdIdLdMddd.ddddd.dded/ej&dNdOdLdPdQddd.ddddd.dded/ej&dRdSdPdTdddd.e(ddddd.dded/ej&dUdVdTdWdddd.e(ddddd.dded/ej&dXdYdWd;dIdFdd.d.dddd.dded/ej&dZd[d;d\dLdLdd.ed]j)d^dddd.dded/ej&d_d`d\dMdWdLdd.ed]dddd.dded/ej&dadbdMdCdTdPdd.ddddd.dded/ej&dcdddQdedTdPdd.ddddd.dded/ej&dfdgd@dhdTdPdd.ddddd.dded/ej&didjdCdkd\dIdd.ddddd.dded/ej&dldmdednd\dIdd.ddddd.dded/ej&dodpdhdqdLdLdd.ed]j)d^dddd.dej*ej+edred/ej&dsdtdkdudLdLdd.ed]j)d^dddd.dej*ej+edved/ej&dwdxdndydTdPdd.ddddd.dded/ej&dzd{d|d}dTdPdd.ddddd.dej*ej+ed~ed/ej&dddqddTdPdd.ddddd.dej*ej+ed~ed/ej&ddduddddd.gdddd.dded/ej&dddyddddd.gdddd.dded/ej&ddd}dd;ddd.gdddd.dded/ej&dddddddd.gdddd.dded/ej&ddddd@ddd.gdddd.dded/ej&dddddCddd.gdddd.dded/ej&dddddFddd.gdddd.dded/ej&dddddddd.gdddd.dded/ej&dddddMddd.gdddd.dded/ej&dddddQddd.gdddd.dded/ej&dddddddd.gdddd.dded/ej&dddddddd.gdddd.dded/ej&dddddIdFdd.gdddd.dded/ej&dddddLdLdd.gdddd.dded/ej&dddddWdLdd.gdddd.dded/ej&dddddTdPdd.gdddd.dded/ej&dddddTdPdd.gdddd.dded/ej&dddddTdPdd.gdddd.dded/ej&ddddd\dIdd.gdddd.dded/ej&ddddd\dIdd.gdddd.dded/ej&dddddLdLdd.gdddd.dej*ej+edred/ej&dddddLdLdd.gdddd.dej*ej+edved/ej&dddddTdPdd.gdddd.dej*ej+ed~ed/ej&ddddd;ddd.ddddd.dded/ej&dddddTdPdd.ddddd.dded/ej&dddddLdLdd.ed]j)d^dddd.dded/ej&dddddWdLdd.ed]dddd.dded/g4ge'ge$gdd.dgej,ddddgdڍgddd2Z-ej%dddedej&dddddddd.gdddd.dej*ej+eded/ej&dddddddd.gdddd.dej*ej+eded/ej&ddddd;ddd.gdddd.dej*ej+eded/ej&dddddddd.gdddd.dej*ej+eded/ej&ddddd@ddd.gdddd.dej*ej+eded/ej&dddddCddd.gdddd.dej*ej+eded/ej&dddddFddd.gdddd.dej*ej+eded/ej&dddFddddd.gdddd.dej*ej+eded/ej&dddIddMddd.gdddd.dej*ej+eded/ej&dddLddQddd.gdddd.dej*ej+eded/ej&dddPddddd.gdddd.dej*ej+eded/ej&dddTddddd.gdddd.dej*ej+eded/ej&dddWddIdFdd.gdddd.dej*ej+eded/ej&ddd;d d\dIdd.gdddd.dej*ej+eded/ggggdd.dggd d d2Z.ej%d d dedej&dddddddd.gdddd.dej*ej+eded/ej&dddddddd.gdddd.dej*ej+eded/ej&ddddd;ddd.gdddd.dej*ej+eded/ej&dddddddd.gdddd.dej*ej+eded/ej&ddddd@ddd.gdddd.dej*ej+eded/ej&dddddCddd.gdddd.dej*ej+eded/ej&ddddFdFddd.gdddd.dej*ej+eded/ej&dddFdIdddd.gdddd.dej*ej+eded/ej&dddIdLdMddd.gdddd.dej*ej+eded/ej&dddLdPdQddd.gdddd.dej*ej+eded/ej&dddPdTdddd.gdddd.dej*ej+eded/ej&dddTdWdddd.gdddd.dej*ej+eded/ej&dddWd;dIdFdd.gdddd.dej*ej+eded/ej&ddd;d\d\dIdd.gdddd.dej*ej+eded/ggggdd.dggddd2Z/ej%dd dedej&d!d"dddTdPdd.ddddd.dded/ej&d#d$dddTdPdd.ddddd.dded/ej&d%d&dddTdPdd.gdddd.dded/ggggdd.dggd'd(d2Z0ej%d)d*dedej&d+d,dddddd.ddddd.dded/ggggdd.dggd-d.d2Z1ej%d/d0dedggggdd.dggd1d2d2Z2e-e'_3e'e-j4da_5e1e-j4dc_5ej6e-j4df_5e$e-j4di_7ee-j4dl_7ej8e-j4dw_5e'e-j4dz_5ej6e-j4d_5e'e-j4d_5e1e-j4d_5ej6e-j4d_5e$e-j4d_7ee-j4d_7e'e-j4d_5e'e-j4d_5e-e$_3e-j9dj:j;e-j4de-j9de-j4d_d<ej?ee j@d3e jAfeBe j@d*e jAfeBe'd3d4e-d3d5ZCejDeCejDeCjEe j@de jAfeBe.d3d4ZFejDeFe j@d e jAfeBe/d3d4ZGejDeGe j@de jAfeBe0d3d4ZHejDeHe j@d)e jAfeBe1d3d4ZIejDeIe j@d/e jAfeBe2d3d4ZJejDeJd6e_Kej*ejLed7e_Md6e-j4do_Kej*ej+edre-j4do_Md6e-j4ds_Kej*ej+edve-j4ds_Md6e-j4dz_Kej*ej+ed~e-j4dz_Md6e-j4d_Kej*ej+ed~e-j4d_Md6e-j4d_Kej*ej+edre-j4d_Md6e-j4d_Kej*ej+edve-j4d_Md6e-j4d_Kej*ej+ed~e-j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e.j4d_Kej*ej+ede.j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_Md6e/j4d_Kej*ej+ede/j4d_MdS(9NcCs|S)N)xrr//usr/lib/python3.6/unittest_proto3_arena_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_import_pb2z+google/protobuf/unittest_proto3_arena.protoZproto3_arena_unittestZproto3u4 +google/protobuf/unittest_proto3_arena.protoproto3_arena_unittest%google/protobuf/unittest_import.proto"É TestAllTypes optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( R optional_nested_message ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageG optional_foreign_message ( 2%.proto3_arena_unittest.ForeignMessageH optional_import_message ( 2'.protobuf_unittest_import.ImportMessageL optional_nested_enum (2..proto3_arena_unittest.TestAllTypes.NestedEnumA optional_foreign_enum (2".proto3_arena_unittest.ForeignEnum! optional_string_piece ( B optional_cord ( BU optional_public_import_message ( 2-.protobuf_unittest_import.PublicImportMessageT optional_lazy_message ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageB(Q optional_lazy_import_messages ( 2'.protobuf_unittest_import.ImportMessageB( repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( R repeated_nested_message0 ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageG repeated_foreign_message1 ( 2%.proto3_arena_unittest.ForeignMessageH repeated_import_message2 ( 2'.protobuf_unittest_import.ImportMessageL repeated_nested_enum3 (2..proto3_arena_unittest.TestAllTypes.NestedEnumA repeated_foreign_enum4 (2".proto3_arena_unittest.ForeignEnum! repeated_string_piece6 ( B repeated_cord7 ( BT repeated_lazy_message9 ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageB( oneof_uint32o ( HQ oneof_nested_messagep ( 21.proto3_arena_unittest.TestAllTypes.NestedMessageH oneof_stringq ( H oneof_bytesr ( H NestedMessage bb ("C NestedEnum ZERO FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿB oneof_field"® TestPackedTypes packed_int32Z (B packed_int64[ (B packed_uint32\ ( B packed_uint64] (B packed_sint32^ (B packed_sint64_ (B packed_fixed32` (B packed_fixed64a (B packed_sfixed32b (B packed_sfixed64c (B packed_floatd (B packed_doublee (B packed_boolf (B; packed_enumg (2".proto3_arena_unittest.ForeignEnumB"ß TestUnpackedTypes repeated_int32 (B repeated_int64 (B repeated_uint32 ( B repeated_uint64 (B repeated_sint32 (B repeated_sint64 (B repeated_fixed32 (B repeated_fixed64 (B repeated_sfixed32 (B repeated_sfixed64 (B repeated_float (B repeated_double (B repeated_bool (BP repeated_nested_enum (2..proto3_arena_unittest.TestAllTypes.NestedEnumB"Ç NestedTestAllTypes8 child ( 2).proto3_arena_unittest.NestedTestAllTypes4 payload ( 2#.proto3_arena_unittest.TestAllTypesA repeated_child ( 2).proto3_arena_unittest.NestedTestAllTypes" ForeignMessage c (" TestEmptyMessage*R ForeignEnum FOREIGN_ZERO FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZBøbproto3)namepackagesyntaxZ serialized_pbZ dependencies ForeignEnumz!proto3_arena_unittest.ForeignEnum FOREIGN_ZERO)rindexnumberoptionstype FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZi i) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZ NestedEnumz-proto3_arena_unittest.TestAllTypes.NestedEnumZZEROZFOOZBARZBAZZNEGii( NestedMessagez0proto3_arena_unittest.TestAllTypes.NestedMessageZbbz3proto3_arena_unittest.TestAllTypes.NestedMessage.bbF)rr!rrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer%Z is_extensionZextension_scoperr#ii)rr!r"r#r%fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr&r' TestAllTypesz"proto3_arena_unittest.TestAllTypesZoptional_int32z1proto3_arena_unittest.TestAllTypes.optional_int32Zoptional_int64z1proto3_arena_unittest.TestAllTypes.optional_int64Zoptional_uint32z2proto3_arena_unittest.TestAllTypes.optional_uint32 Zoptional_uint64z2proto3_arena_unittest.TestAllTypes.optional_uint64Zoptional_sint32z2proto3_arena_unittest.TestAllTypes.optional_sint32Zoptional_sint64z2proto3_arena_unittest.TestAllTypes.optional_sint64Zoptional_fixed32z3proto3_arena_unittest.TestAllTypes.optional_fixed32Zoptional_fixed64z3proto3_arena_unittest.TestAllTypes.optional_fixed64Zoptional_sfixed32z4proto3_arena_unittest.TestAllTypes.optional_sfixed32 Zoptional_sfixed64z4proto3_arena_unittest.TestAllTypes.optional_sfixed64 Zoptional_floatz1proto3_arena_unittest.TestAllTypes.optional_float Zoptional_doublez2proto3_arena_unittest.TestAllTypes.optional_double Z optional_boolz0proto3_arena_unittest.TestAllTypes.optional_boolZoptional_stringz2proto3_arena_unittest.TestAllTypes.optional_stringzutf-8Zoptional_bytesz1proto3_arena_unittest.TestAllTypes.optional_bytesZoptional_nested_messagez:proto3_arena_unittest.TestAllTypes.optional_nested_messageZoptional_foreign_messagez;proto3_arena_unittest.TestAllTypes.optional_foreign_messageZoptional_import_messagez:proto3_arena_unittest.TestAllTypes.optional_import_messageZoptional_nested_enumz7proto3_arena_unittest.TestAllTypes.optional_nested_enumZoptional_foreign_enumz8proto3_arena_unittest.TestAllTypes.optional_foreign_enumZoptional_string_piecez8proto3_arena_unittest.TestAllTypes.optional_string_piecezZ optional_cordz0proto3_arena_unittest.TestAllTypes.optional_cordzZoptional_public_import_messagezAproto3_arena_unittest.TestAllTypes.optional_public_import_messageZoptional_lazy_messagez8proto3_arena_unittest.TestAllTypes.optional_lazy_messagez(Zoptional_lazy_import_messagez?proto3_arena_unittest.TestAllTypes.optional_lazy_import_messagesZrepeated_int32z1proto3_arena_unittest.TestAllTypes.repeated_int32Zrepeated_int64z1proto3_arena_unittest.TestAllTypes.repeated_int64 Zrepeated_uint32z2proto3_arena_unittest.TestAllTypes.repeated_uint32!Zrepeated_uint64z2proto3_arena_unittest.TestAllTypes.repeated_uint64"Zrepeated_sint32z2proto3_arena_unittest.TestAllTypes.repeated_sint32#Zrepeated_sint64z2proto3_arena_unittest.TestAllTypes.repeated_sint64$Zrepeated_fixed32z3proto3_arena_unittest.TestAllTypes.repeated_fixed32%Zrepeated_fixed64z3proto3_arena_unittest.TestAllTypes.repeated_fixed64&Zrepeated_sfixed32z4proto3_arena_unittest.TestAllTypes.repeated_sfixed32'Zrepeated_sfixed64z4proto3_arena_unittest.TestAllTypes.repeated_sfixed64(Zrepeated_floatz1proto3_arena_unittest.TestAllTypes.repeated_float)Zrepeated_doublez2proto3_arena_unittest.TestAllTypes.repeated_double*Z repeated_boolz0proto3_arena_unittest.TestAllTypes.repeated_bool+Zrepeated_stringz2proto3_arena_unittest.TestAllTypes.repeated_string,Zrepeated_bytesz1proto3_arena_unittest.TestAllTypes.repeated_bytes-Zrepeated_nested_messagez:proto3_arena_unittest.TestAllTypes.repeated_nested_message0Zrepeated_foreign_messagez;proto3_arena_unittest.TestAllTypes.repeated_foreign_message1Zrepeated_import_messagez:proto3_arena_unittest.TestAllTypes.repeated_import_message2Zrepeated_nested_enumz7proto3_arena_unittest.TestAllTypes.repeated_nested_enum3Zrepeated_foreign_enumz8proto3_arena_unittest.TestAllTypes.repeated_foreign_enum4Zrepeated_string_piecez8proto3_arena_unittest.TestAllTypes.repeated_string_piece6Z repeated_cordz0proto3_arena_unittest.TestAllTypes.repeated_cord.7Zrepeated_lazy_messagez8proto3_arena_unittest.TestAllTypes.repeated_lazy_message/9Z oneof_uint32z/proto3_arena_unittest.TestAllTypes.oneof_uint32oZoneof_nested_messagez7proto3_arena_unittest.TestAllTypes.oneof_nested_messagepZ oneof_stringz/proto3_arena_unittest.TestAllTypes.oneof_stringqZ oneof_bytesz.proto3_arena_unittest.TestAllTypes.oneof_bytesrZ oneof_fieldz.proto3_arena_unittest.TestAllTypes.oneof_field)rr!rr%r+ni7 TestPackedTypesz%proto3_arena_unittest.TestPackedTypesZ packed_int32z2proto3_arena_unittest.TestPackedTypes.packed_int32ZzZ packed_int64z2proto3_arena_unittest.TestPackedTypes.packed_int64[Z packed_uint32z3proto3_arena_unittest.TestPackedTypes.packed_uint32\Z packed_uint64z3proto3_arena_unittest.TestPackedTypes.packed_uint64]Z packed_sint32z3proto3_arena_unittest.TestPackedTypes.packed_sint32^Z packed_sint64z3proto3_arena_unittest.TestPackedTypes.packed_sint64_Zpacked_fixed32z4proto3_arena_unittest.TestPackedTypes.packed_fixed32`Zpacked_fixed64z4proto3_arena_unittest.TestPackedTypes.packed_fixed64aZpacked_sfixed32z5proto3_arena_unittest.TestPackedTypes.packed_sfixed32bZpacked_sfixed64z5proto3_arena_unittest.TestPackedTypes.packed_sfixed64cZ packed_floatz2proto3_arena_unittest.TestPackedTypes.packed_floatdZ packed_doublez3proto3_arena_unittest.TestPackedTypes.packed_doubleeZ packed_boolz1proto3_arena_unittest.TestPackedTypes.packed_boolfZ packed_enumz1proto3_arena_unittest.TestPackedTypes.packed_enumgi: i TestUnpackedTypesz'proto3_arena_unittest.TestUnpackedTypesz6proto3_arena_unittest.TestUnpackedTypes.repeated_int32zz6proto3_arena_unittest.TestUnpackedTypes.repeated_int64z7proto3_arena_unittest.TestUnpackedTypes.repeated_uint32z7proto3_arena_unittest.TestUnpackedTypes.repeated_uint64z7proto3_arena_unittest.TestUnpackedTypes.repeated_sint32z7proto3_arena_unittest.TestUnpackedTypes.repeated_sint64z8proto3_arena_unittest.TestUnpackedTypes.repeated_fixed32z8proto3_arena_unittest.TestUnpackedTypes.repeated_fixed64z9proto3_arena_unittest.TestUnpackedTypes.repeated_sfixed32z9proto3_arena_unittest.TestUnpackedTypes.repeated_sfixed64z6proto3_arena_unittest.TestUnpackedTypes.repeated_floatz7proto3_arena_unittest.TestUnpackedTypes.repeated_doublez5proto3_arena_unittest.TestUnpackedTypes.repeated_boolzsH                                                                     PK!f"s s =protobuf/__pycache__/unittest_import_pb2.cpython-36.opt-1.pycnu[3 h@sNddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZdd lTejdddedejgejgdZejdddeejddddddejddddddejddddddgddddd ZejeejeZejd!d"deejd#dddddejd$dddddejd%dddddgddd&d'd ZejeejeZdZdZdZ dZ!dZ"dZ#ej$d(d)dedej%d*d+ddd,ddd-ddddd-dded.ggggdd-dggd/d0d1Z&e&ej'd(<eej(d<eej(d!<ej)ee j*d(e j+fe,e&d2d3Z-ej.e-d4e_/ej0ej1ed5e_2dS)6NcCs|S)N)xrr)/usr/lib/python3.6/unittest_import_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_import_public_pb2)*z%google/protobuf/unittest_import.protoZprotobuf_unittest_importZproto2u  %google/protobuf/unittest_import.protoprotobuf_unittest_import,google/protobuf/unittest_import_public.proto" ImportMessage d (*< ImportEnum IMPORT_FOO IMPORT_BAR IMPORT_BAZ *1 ImportEnumForMap UNKNOWN FOO BARB com.google.protobuf.testHøP)namepackagesyntaxZ serialized_pbZ dependenciesZpublic_dependencies ImportEnumz#protobuf_unittest_import.ImportEnum IMPORT_FOO)rindexnumberoptionstype IMPORT_BAR IMPORT_BAZ ) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endImportEnumForMapz)protobuf_unittest_import.ImportEnumForMapUNKNOWNFOOBAR ImportMessagez&protobuf_unittest_import.ImportMessagedz(protobuf_unittest_import.ImportMessage.dF)rr#rrrZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typer'Z is_extensionZextension_scoperr%q)rr#r$r%r'Zfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr(r)z#google.protobuf.unittest_import_pb2) DESCRIPTOR __module__Tu com.google.protobuf.testHø)3sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ5google_dot_protobuf_dot_unittest__import__public__pb2Z*google.protobuf.unittest_import_public_pb2ZFileDescriptorr6ZEnumDescriptorZEnumValueDescriptorZ _IMPORTENUMZRegisterEnumDescriptorZEnumTypeWrapperrZ_IMPORTENUMFORMAPr*rrrr+r,r-Z DescriptorZFieldDescriptorZ_IMPORTMESSAGEZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr0ZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                   PK!H'9protobuf/__pycache__/message_factory.cpython-36.opt-1.pycnu[3 h@sNdZdZddlmZddlmZddlmZGdddeZeZdd Z d S) aoProvides a factory class for generating dynamic messages. The easiest way to use this class is if you have access to the FileDescriptor protos containing the messages you want to create you can just do the following: message_classes = message_factory.GetMessages(iterable_of_file_descriptors) my_proto_instance = message_classes['some.proto.package.MessageName']() z"matthewtoia@google.com (Matt Toia))descriptor_pool)message) reflectionc@s*eZdZdZd ddZddZddZdS) MessageFactoryz@Factory for creating Proto2 messages from descriptors in a pool.NcCs|p tj|_i|_dS)zInitializes a new factory.N)rZDescriptorPoolpool_classes)selfrr %/usr/lib/python3.6/message_factory.py__init__2szMessageFactory.__init__cCs||jkr|j}ttkr&|jjdd}tj|tjf|dd}||j|<x |j D]}|j rP|j |j qPWx>|j j D]2}|j|jkr|j |j|j|j}|j|qtW|j|S)aDBuilds a proto2 message class based on the passed in descriptor. Passing a descriptor with a fully qualified name matching a previous invocation will cause the same class to be returned. Args: descriptor: The descriptor to build from. Returns: A class describing the passed in descriptor. asciiignoreN) DESCRIPTOR __module__)rnamestrbytesencoderZGeneratedProtocolMessageTyperZMessageZfieldsZ message_type GetPrototyper extensionscontaining_typeRegisterExtension)rZ descriptorZdescriptor_nameZ result_classZfield extensionextended_classr r r r9s$       zMessageFactory.GetPrototypecCsi}x|D]~}|jj|}x&t|jjD]}|j|||j<q*WxDt|jjD]2}|j|j krn|j|j|j |j}|j |qRWq W|S)aGets all the messages from a specified file. This will find and resolve dependencies, failing if the descriptor pool cannot satisfy them. Args: files: The file names to extract messages from. Returns: A dictionary mapping proto names to the message classes. This will include any dependent messages as well as any messages defined in the same file as a specified message. ) rZFindFileByNamelistZmessage_types_by_namevaluesrZ full_nameZextensions_by_namerrr)rfilesresult file_nameZ file_descZdescrrr r r GetMessagesYs      zMessageFactory.GetMessages)N)__name__r __qualname____doc__r rrr r r r r/s  rcsJdd|Dfddxr4jdqWtjdd|DS)a^Builds a dictionary of all the messages available in a set of files. Args: file_protos: Iterable of FileDescriptorProto to build messages out of. Returns: A dictionary mapping proto names to the message classes. This will include any dependent messages as well as any messages defined in the same file as a specified message. cSsi|] }||jqSr )r).0 file_protor r r szGetMessages..cs6x$|jD]}|krj|qWtjj|dS)N) dependencypop_FACTORYrZAdd)r$r&)_AddFile file_by_namer r r)s zGetMessages.._AddFilecSsg|] }|jqSr )r)r#r$r r r szGetMessages..)popitemr(r)Z file_protosr )r)r*r rs rN) r" __author__Zgoogle.protobufrrrobjectrr(rr r r r &s   OPK!˦0 <protobuf/__pycache__/unittest_arena_pb2.cpython-36.opt-1.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejdddddddddddddddedggggdddggdddZejdddedejddddd d!ddgddddddedejd"d#dd$d d!ddgddddddedggggdddggd%d&dZeejd_ejejd"_eejd<eejd<ejee jdejfeed'd(Zej ee jdejfeed'd(Z!ej e!d)e_"ej#e j$ed*e_%dS)+NcCs|S)N)xrr(/usr/lib/python3.6/unittest_arena_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_no_arena_import_pb2z$google/protobuf/unittest_arena.protoZproto2_arena_unittestZproto2uE $google/protobuf/unittest_arena.protoproto2_arena_unittest.google/protobuf/unittest_no_arena_import.proto" NestedMessage d ("² ArenaMessageE repeated_nested_message ( 2$.proto2_arena_unittest.NestedMessage[ repeated_import_no_arena_message ( 21.proto2_arena_unittest.ImportNoArenaNestedMessageBø)namepackagesyntaxZ serialized_pbZ dependencies NestedMessagez#proto2_arena_unittest.NestedMessagedz%proto2_arena_unittest.NestedMessage.dF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileo)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_end ArenaMessagez"proto2_arena_unittest.ArenaMessageZrepeated_nested_messagez:proto2_arena_unittest.ArenaMessage.repeated_nested_message Z repeated_import_no_arena_messagezCproto2_arena_unittest.ArenaMessage.repeated_import_no_arena_messagei>z"google.protobuf.unittest_arena_pb2) DESCRIPTOR __module__Tuø)&sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ8google_dot_protobuf_dot_unittest__no__arena__import__pb2ZFileDescriptorr&Z DescriptorZFieldDescriptorZ_NESTEDMESSAGEZ _ARENAMESSAGEZfields_by_namerZ_IMPORTNOARENANESTEDMESSAGEZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager!Z has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs                 PK!F-BB4protobuf/__pycache__/map_unittest_pb2.cpython-36.pycnu[3 h*@s5ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZdd lmZejdddedejejgdZejdddeejddddddejddddddejddddddgddddd ZejeejeZdZdZdZejdddeejd dddddgddd!d"d Z eje ej!d#d$dedej"d%d&ddd'ddd(ddddd(dded)ej"d*d+ddd'ddd(ddddd(dded)ggggej#ej$ed,d(dggd-d.d/Z%ej!d0d1dedej"d%d2dddddd(ddddd(dded)ej"d*d3dddddd(ddddd(dded)ggggej#ej$ed,d(dggd4d5d/Z&ej!d6d7dedej"d%d8ddd9ddd(ddddd(dded)ej"d*d:ddd9ddd(ddddd(dded)ggggej#ej$ed,d(dggd;ddedej"d%d?ddd@d@dd(ddddd(dded)ej"d*dAddd@d@dd(ddddd(dded)ggggej#ej$ed,d(dggdBdCd/Z(ej!dDdEdedej"d%dFdddGddd(ddddd(dded)ej"d*dHdddGddd(ddddd(dded)ggggej#ej$ed,d(dggdIdJd/Z)ej!dKdLdedej"d%dMdddNddd(ddddd(dded)ej"d*dOdddNddd(ddddd(dded)ggggej#ej$ed,d(dggdPdQd/Z*ej!dRdSdedej"d%dTdddUddd(ddddd(dded)ej"d*dVdddUddd(ddddd(dded)ggggej#ej$ed,d(dggdWdXd/Z+ej!dYdZdedej"d%d[ddd\d@dd(ddddd(dded)ej"d*d]ddd\d@dd(ddddd(dded)ggggej#ej$ed,d(dggd^d_d/Z,ej!d`dadedej"d%dbdddcddd(ddddd(dded)ej"d*dddddcddd(ddddd(dded)ggggej#ej$ed,d(dggdedfd/Z-ej!dgdhdedej"d%didddjddd(ddddd(dded)ej"d*dkdddjddd(ddddd(dded)ggggej#ej$ed,d(dggdldmd/Z.ej!dndodedej"d%dpddd'ddd(ddddd(dded)ej"d*dqdddd\dd(e/ddddd(dded)ggggej#ej$ed,d(dggdrdsd/Z0ej!dtdudedej"d%dvddd'ddd(ddddd(dded)ej"d*dwdddd'dd(e/ddddd(dded)ggggej#ej$ed,d(dggdxdyd/Z1ej!dzd{dedej"d%d|ddd}dUdd(d(dddd(dded)ej"d*d~ddd}dUdd(d(dddd(dded)ggggej#ej$ed,d(dggddd/Z2ej!dddedej"d%ddddddd(edj3ddddd(dded)ej"d*ddddddd(edj3ddddd(dded)ggggej#ej$ed,d(dggddd/Z4ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(eddddd(dded)ggggej#ej$ed,d(dggddd/Z5ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddd}dd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z6ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z7ej!dddedej"d%ddddddd(edj3ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z8ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z9ej!dddedej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddd@dddd(gdddd(dded)ej"ddd@d'dddd(gdddd(dded)ej"ddd'd\dddd(gdddd(dded)ej"ddd\dUdddd(gdddd(dded)ej"dddUd}dddd(gdddd(dded)ej"ddd}ddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddd9dddd(gdddd(dded)ej"ddd9ddddd(gdddd(dded)ej"ddddcdddd(gdddd(dded)ej"dddcdjdddd(gdddd(dded)ej"dddjdGdddd(gdddd(dded)ej"dddGdNdddd(gdddd(dded)ej"dddNddddd(gdddd(dded)gge%e&e'e(e)e*e+e,e-e.e0e1e2e4e5e6e7e8e9ggdd(dggddd/Z:ej!dddedej"dddddddd(ddddd(dded)ggggdd(dggddd/Z;ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Zej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*dddd'ddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z?ej!dddedej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)gge>e?ggdd(dggddd/Z@ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/ZAej!dddedej"dddddddd(gdddd(dded)ggeAggdd(dggddd/ZBej!d#ddedej"d%dddd'ddd(ddddd(dded)ej"d*dddd'ddd(ddddd(dded)ggggej#ej$ed,d(dggd-d.d/ZCej!d0ddedej"d%d dddddd(ddddd(dded)ej"d*d dddddd(ddddd(dded)ggggej#ej$ed,d(dggd4d5d/ZDej!d6d dedej"d%d ddd9ddd(ddddd(dded)ej"d*d ddd9ddd(ddddd(dded)ggggej#ej$ed,d(dggd;dd?dedej"dd@dddddd(gdddd(dded)ej"ddAdddddd(gdddd(dded)ej"ddBdddddd(gdddd(dded)ej"ddCdd@dddd(gdddd(dded)ej"ddDd@d'dddd(gdddd(dded)ej"ddEd'd\dddd(gdddd(dded)ej"ddFd\dUdddd(gdddd(dded)ej"ddGdUd}dddd(gdddd(dded)ej"ddHd}ddddd(gdddd(dded)ej"ddIdddddd(gdddd(dded)ej"ddJdddddd(gdddd(dded)ej"dĐdKdddddd(gdddd(dded)ej"dƐdLdd9dddd(gdddd(dded)ej"dȐdMd9ddddd(gdddd(dded)ej"dʐdNddcdddd(gdddd(dded)ej"d̐dOdcdjdddd(gdddd(dded)ej"dΐdPdjdGdddd(gdddd(dded)ej"dQdRdGdNdddd(gdddd(dded)ggeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTggdd(dggdSd=d/ZUej!dTdUdedej"d%dVdddddd(edj3ddddd(dded)ej"d*dWdddddd(ddddd(dded)ggggej#ej$ed,d(dggdXdYd/ZVej!dZd[dedej"d\d]dddddd(gdddd(dded)ggeVge gdd(dggd^d"d/ZWej!d_d`dedej"d%daddd'ddd(ddddd(dded)ej"d*dbddd'ddd(ddddd(dded)ggggej#ej$ed,d(dggdcddd/ZXej!dedfdedej"dgdhdddddd(gdddd(dded)ggeXggdd(dggdiddd/ZYej!djdkdedej"d%dldddddd(edj3ddddd(dded)ej"d*dmdddddd(ddddd(dded)ggggej#ej$ed,d(dggdndod/ZZej!dpdqdedej"drdsdddddd(gdddd(dded)ggeZggdd(dggdtdod/Z[e:e%_\e:e&_\e:e'_\e:e(_\e:e)_\e:e*_\e:e+_\e:e,_\e:e-_\e:e._\e:e0_\e:e1_\e:e2_\e:e4_\e:e5_\ee6j]d*_^e:e6_\ej_e7j]d*_`e:e7_\ej_e8j]d*_`e:e8_\ejae9j]d*_`e:e9_\e%e:j]d_`e&e:j]d_`e'e:j]d_`e(e:j]d_`e)e:j]d_`e*e:j]d_`e+e:j]d_`e,e:j]d_`e-e:j]d_`e.e:j]d_`e0e:j]d_`e1e:j]d_`e2e:j]d_`e4e:j]d_`e5e:j]d_`e6e:j]d_`e7e:j]d_`e8e:j]d_`e9e:j]d_`e:e;j]d_`ejae_\e@e?_\e>e@j]d_`e?e@j]d_`ejbeAj]d*_`eBeA_\eAeBj]d_`eUeC_\eUeD_\eUeE_\eUeF_\eUeG_\eUeH_\eUeI_\eUeJ_\eUeK_\eUeL_\eUeM_\eUeN_\eUeO_\eUeP_\eUeQ_\eeRj]d*_^eUeR_\ej_eSj]d*_`eUeS_\ej_eTj]d*_`eUeT_\eCeUj]d_`eDeUj]d_`eEeUj]d_`eFeUj]d_`eGeUj]d_`eHeUj]d_`eIeUj]d_`eJeUj]d_`eKeUj]d_`eLeUj]d_`eMeUj]d_`eNeUj]d_`eOeUj]d_`ePeUj]d_`eQeUj]d_`eReUj]d_`eSeUj]d_`eTeUj]dQ_`eWeVj]d*_`eWeV_\eVeWj]d\_`eWe _\eYeX_\eXeYj]dg_`e[eZj]d*_`e[eZ_\eZe[j]dr_`e:ejcd<e;ejcd<e=ejcd<e@ejcd<eBejcd<eUejcd><eWejcdZ<eYejcde<e[ejcdp<eejdd<ejeee jfde jgfehe jfd#e jgfehe%dudve jfd0e jgfehe&dudve jfd6e jgfehe'dudve jfd=e jgfehe(dudve jfdDe jgfehe)dudve jfdKe jgfehe*dudve jfdRe jgfehe+dudve jfdYe jgfehe,dudve jfd`e jgfehe-dudve jfdge jgfehe.dudve jfdne jgfehe0dudve jfdte jgfehe1dudve jfdze jgfehe2dudve jfde jgfehe4dudve jfde jgfehe5dudve jfde jgfehe6dudve jfde jgfehe7dudve jfde jgfehe8dudve jfde jgfehe9dudve:dudwZiejjeiejjeijkejjeijlejjeijmejjeijnejjeijoejjeijpejjeijqejjeijrejjeijsejjeijtejjeijuejjeijvejjeijwejjeijxejjeijyejjeijzejjeij{ejjeij|ejjeij}e jfde jgfehe;dudvZ~ejje~e jfde jgfehe jfde jgfehe<dudve=dudxZejjeejjeje jfde jgfehe jfde jgfehe>dudve jfde jgfehe?dudve@dudyZejjeejjejejjeje jfde jgfehe jfde jgfeheAdudveBdudzZejjeejjeje jfd>e jgfehe jfd#e jgfeheCdudve jfd0e jgfeheDdudve jfd6e jgfeheEdudve jfd=e jgfeheFdudve jfdDe jgfeheGdudve jfdKe jgfeheHdudve jfdRe jgfeheIdudve jfdYe jgfeheJdudve jfd`e jgfeheKdudve jfdge jgfeheLdudve jfdne jgfeheMdudve jfdte jgfeheNdudve jfdze jgfeheOdudve jfde jgfehePdudve jfde jgfeheQdudve jfde jgfeheRdudve jfde jgfeheSdudve jfd8e jgfeheTdudveUdud{Zejjeejjejkejjejlejjejmejjejnejjejoejjejpejjejqejjejrejjejsejjejtejjejuejjejvejjejwejjejxejjejyejjejzejjej{ejjeje jfdZe jgfehe jfdTe jgfeheVdudveWdud|Zejjeejjeje jfdee jgfehe jfd_e jgfeheXdudveYdud}Zejjeejjeje jfdpe jgfehe jfdje jgfeheZdudve[dud~Zejjeejjejde_ej#ejede_de%_ej#ej$ed,e%_de&_ej#ej$ed,e&_de'_ej#ej$ed,e'_de(_ej#ej$ed,e(_de)_ej#ej$ed,e)_de*_ej#ej$ed,e*_de+_ej#ej$ed,e+_de,_ej#ej$ed,e,_de-_ej#ej$ed,e-_de._ej#ej$ed,e._de0_ej#ej$ed,e0_de1_ej#ej$ed,e1_de2_ej#ej$ed,e2_de4_ej#ej$ed,e4_de5_ej#ej$ed,e5_de6_ej#ej$ed,e6_de7_ej#ej$ed,e7_de8_ej#ej$ed,e8_de9_ej#ej$ed,e9_de<_ej#ej$ed,e<_de>_ej#ej$ed,e>_de?_ej#ej$ed,e?_deA_ej#ej$ed,eA_deC_ej#ej$ed,eC_deD_ej#ej$ed,eD_deE_ej#ej$ed,eE_deF_ej#ej$ed,eF_deG_ej#ej$ed,eG_deH_ej#ej$ed,eH_deI_ej#ej$ed,eI_deJ_ej#ej$ed,eJ_deK_ej#ej$ed,eK_deL_ej#ej$ed,eL_deM_ej#ej$ed,eM_deN_ej#ej$ed,eN_deO_ej#ej$ed,eO_deP_ej#ej$ed,eP_deQ_ej#ej$ed,eQ_deR_ej#ej$ed,eR_deS_ej#ej$ed,eS_deT_ej#ej$ed,eT_deV_ej#ej$ed,eV_deX_ej#ej$ed,eX_deZ_ej#ej$ed,eZ_dS(NcCs|S)N)xrr&/usr/lib/python3.6/map_unittest_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2) unittest_pb2)unittest_no_arena_pb2z"google/protobuf/map_unittest.protoZprotobuf_unittestZproto3u "google/protobuf/map_unittest.protoprotobuf_unittestgoogle/protobuf/unittest.proto'google/protobuf/unittest_no_arena.proto"ÿ TestMapF map_int32_int32 ( 2-.protobuf_unittest.TestMap.MapInt32Int32EntryF map_int64_int64 ( 2-.protobuf_unittest.TestMap.MapInt64Int64EntryJ map_uint32_uint32 ( 2/.protobuf_unittest.TestMap.MapUint32Uint32EntryJ map_uint64_uint64 ( 2/.protobuf_unittest.TestMap.MapUint64Uint64EntryJ map_sint32_sint32 ( 2/.protobuf_unittest.TestMap.MapSint32Sint32EntryJ map_sint64_sint64 ( 2/.protobuf_unittest.TestMap.MapSint64Sint64EntryN map_fixed32_fixed32 ( 21.protobuf_unittest.TestMap.MapFixed32Fixed32EntryN map_fixed64_fixed64 ( 21.protobuf_unittest.TestMap.MapFixed64Fixed64EntryR map_sfixed32_sfixed32 ( 23.protobuf_unittest.TestMap.MapSfixed32Sfixed32EntryR map_sfixed64_sfixed64 ( 23.protobuf_unittest.TestMap.MapSfixed64Sfixed64EntryF map_int32_float ( 2-.protobuf_unittest.TestMap.MapInt32FloatEntryH map_int32_double ( 2..protobuf_unittest.TestMap.MapInt32DoubleEntryB map_bool_bool ( 2+.protobuf_unittest.TestMap.MapBoolBoolEntryJ map_string_string ( 2/.protobuf_unittest.TestMap.MapStringStringEntryF map_int32_bytes ( 2-.protobuf_unittest.TestMap.MapInt32BytesEntryD map_int32_enum ( 2,.protobuf_unittest.TestMap.MapInt32EnumEntryY map_int32_foreign_message ( 26.protobuf_unittest.TestMap.MapInt32ForeignMessageEntry[ map_string_foreign_message ( 27.protobuf_unittest.TestMap.MapStringForeignMessageEntryM map_int32_all_types ( 20.protobuf_unittest.TestMap.MapInt32AllTypesEntry4 MapInt32Int32Entry key ( value (:84 MapInt64Int64Entry key ( value (:86 MapUint32Uint32Entry key (  value ( :86 MapUint64Uint64Entry key ( value (:86 MapSint32Sint32Entry key ( value (:86 MapSint64Sint64Entry key ( value (:88 MapFixed32Fixed32Entry key ( value (:88 MapFixed64Fixed64Entry key ( value (:8: MapSfixed32Sfixed32Entry key ( value (:8: MapSfixed64Sfixed64Entry key ( value (:84 MapInt32FloatEntry key ( value (:85 MapInt32DoubleEntry key ( value (:82 MapBoolBoolEntry key ( value (:86 MapStringStringEntry key (  value ( :84 MapInt32BytesEntry key ( value ( :8O MapInt32EnumEntry key () value (2.protobuf_unittest.MapEnum:8` MapInt32ForeignMessageEntry key (0 value ( 2!.protobuf_unittest.ForeignMessage:8a MapStringForeignMessageEntry key ( 0 value ( 2!.protobuf_unittest.ForeignMessage:8X MapInt32AllTypesEntry key (. value ( 2.protobuf_unittest.TestAllTypes:8"A TestMapSubmessage, test_map ( 2.protobuf_unittest.TestMap"¼ TestMessageMapQ map_int32_message ( 26.protobuf_unittest.TestMessageMap.MapInt32MessageEntryW MapInt32MessageEntry key (. value ( 2.protobuf_unittest.TestAllTypes:8"ã TestSameTypeMap: map1 ( 2,.protobuf_unittest.TestSameTypeMap.Map1Entry: map2 ( 2,.protobuf_unittest.TestSameTypeMap.Map2Entry+ Map1Entry key ( value (:8+ Map2Entry key ( value (:8"¶ TestRequiredMessageMapJ map_field ( 27.protobuf_unittest.TestRequiredMessageMap.MapFieldEntryP MapFieldEntry key (. value ( 2.protobuf_unittest.TestRequired:8"Ò TestArenaMapK map_int32_int32 ( 22.protobuf_unittest.TestArenaMap.MapInt32Int32EntryK map_int64_int64 ( 22.protobuf_unittest.TestArenaMap.MapInt64Int64EntryO map_uint32_uint32 ( 24.protobuf_unittest.TestArenaMap.MapUint32Uint32EntryO map_uint64_uint64 ( 24.protobuf_unittest.TestArenaMap.MapUint64Uint64EntryO map_sint32_sint32 ( 24.protobuf_unittest.TestArenaMap.MapSint32Sint32EntryO map_sint64_sint64 ( 24.protobuf_unittest.TestArenaMap.MapSint64Sint64EntryS map_fixed32_fixed32 ( 26.protobuf_unittest.TestArenaMap.MapFixed32Fixed32EntryS map_fixed64_fixed64 ( 26.protobuf_unittest.TestArenaMap.MapFixed64Fixed64EntryW map_sfixed32_sfixed32 ( 28.protobuf_unittest.TestArenaMap.MapSfixed32Sfixed32EntryW map_sfixed64_sfixed64 ( 28.protobuf_unittest.TestArenaMap.MapSfixed64Sfixed64EntryK map_int32_float ( 22.protobuf_unittest.TestArenaMap.MapInt32FloatEntryM map_int32_double ( 23.protobuf_unittest.TestArenaMap.MapInt32DoubleEntryG map_bool_bool ( 20.protobuf_unittest.TestArenaMap.MapBoolBoolEntryO map_string_string ( 24.protobuf_unittest.TestArenaMap.MapStringStringEntryK map_int32_bytes ( 22.protobuf_unittest.TestArenaMap.MapInt32BytesEntryI map_int32_enum ( 21.protobuf_unittest.TestArenaMap.MapInt32EnumEntry^ map_int32_foreign_message ( 2;.protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntryn "map_int32_foreign_message_no_arena ( 2B.protobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry4 MapInt32Int32Entry key ( value (:84 MapInt64Int64Entry key ( value (:86 MapUint32Uint32Entry key (  value ( :86 MapUint64Uint64Entry key ( value (:86 MapSint32Sint32Entry key ( value (:86 MapSint64Sint64Entry key ( value (:88 MapFixed32Fixed32Entry key ( value (:88 MapFixed64Fixed64Entry key ( value (:8: MapSfixed32Sfixed32Entry key ( value (:8: MapSfixed64Sfixed64Entry key ( value (:84 MapInt32FloatEntry key ( value (:85 MapInt32DoubleEntry key ( value (:82 MapBoolBoolEntry key ( value (:86 MapStringStringEntry key (  value ( :84 MapInt32BytesEntry key ( value ( :8O MapInt32EnumEntry key () value (2.protobuf_unittest.MapEnum:8` MapInt32ForeignMessageEntry key (0 value ( 2!.protobuf_unittest.ForeignMessage:8p "MapInt32ForeignMessageNoArenaEntry key (9 value ( 2*.protobuf_unittest_no_arena.ForeignMessage:8"ä MessageContainingEnumCalledTypeJ type ( 2<.protobuf_unittest.MessageContainingEnumCalledType.TypeEntry_ TypeEntry key ( A value ( 22.protobuf_unittest.MessageContainingEnumCalledType:8" Type TYPE_FOO" MessageContainingMapCalledEntryL entry ( 2=.protobuf_unittest.MessageContainingMapCalledEntry.EntryEntry, EntryEntry key ( value (:8"­ TestRecursiveMapMessage< a ( 21.protobuf_unittest.TestRecursiveMapMessage.AEntryT AEntry key ( 9 value ( 2*.protobuf_unittest.TestRecursiveMapMessage:8*? MapEnum MAP_ENUM_FOO MAP_ENUM_BAR MAP_ENUM_BAZBøbproto3)namepackagesyntaxZ serialized_pbZ dependenciesMapEnumzprotobuf_unittest.MapEnum MAP_ENUM_FOO)rindexnumberoptionstype MAP_ENUM_BAR MAP_ENUM_BAZi1ip) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZTypez6protobuf_unittest.MessageContainingEnumCalledType.TypeZTYPE_FOOiiMapInt32Int32Entryz,protobuf_unittest.TestMap.MapInt32Int32Entrykeyz0protobuf_unittest.TestMap.MapInt32Int32Entry.keyF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer"Z is_extensionZextension_scoperr valuez2protobuf_unittest.TestMap.MapInt32Int32Entry.valuez8iMi)rrrr r"Zfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr#r$MapInt64Int64Entryz,protobuf_unittest.TestMap.MapInt64Int64Entryz0protobuf_unittest.TestMap.MapInt64Int64Entry.keyz2protobuf_unittest.TestMap.MapInt64Int64Entry.valueiiMapUint32Uint32Entryz.protobuf_unittest.TestMap.MapUint32Uint32Entryz2protobuf_unittest.TestMap.MapUint32Uint32Entry.key z4protobuf_unittest.TestMap.MapUint32Uint32Entry.valueiiMapUint64Uint64Entryz.protobuf_unittest.TestMap.MapUint64Uint64Entryz2protobuf_unittest.TestMap.MapUint64Uint64Entry.keyz4protobuf_unittest.TestMap.MapUint64Uint64Entry.valueii'MapSint32Sint32Entryz.protobuf_unittest.TestMap.MapSint32Sint32Entryz2protobuf_unittest.TestMap.MapSint32Sint32Entry.keyz4protobuf_unittest.TestMap.MapSint32Sint32Entry.valuei)i_MapSint64Sint64Entryz.protobuf_unittest.TestMap.MapSint64Sint64Entryz2protobuf_unittest.TestMap.MapSint64Sint64Entry.keyz4protobuf_unittest.TestMap.MapSint64Sint64Entry.valueiaiMapFixed32Fixed32Entryz0protobuf_unittest.TestMap.MapFixed32Fixed32Entryz4protobuf_unittest.TestMap.MapFixed32Fixed32Entry.keyz6protobuf_unittest.TestMap.MapFixed32Fixed32Entry.valueiiMapFixed64Fixed64Entryz0protobuf_unittest.TestMap.MapFixed64Fixed64Entryz4protobuf_unittest.TestMap.MapFixed64Fixed64Entry.keyz6protobuf_unittest.TestMap.MapFixed64Fixed64Entry.valueii MapSfixed32Sfixed32Entryz2protobuf_unittest.TestMap.MapSfixed32Sfixed32Entryz6protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry.keyz8protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry.valuei iGMapSfixed64Sfixed64Entryz2protobuf_unittest.TestMap.MapSfixed64Sfixed64Entryz6protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry.keyz8protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry.valueiIiMapInt32FloatEntryz,protobuf_unittest.TestMap.MapInt32FloatEntryz0protobuf_unittest.TestMap.MapInt32FloatEntry.keyz2protobuf_unittest.TestMap.MapInt32FloatEntry.valueiiMapInt32DoubleEntryz-protobuf_unittest.TestMap.MapInt32DoubleEntryz1protobuf_unittest.TestMap.MapInt32DoubleEntry.keyz3protobuf_unittest.TestMap.MapInt32DoubleEntry.valueiiMapBoolBoolEntryz*protobuf_unittest.TestMap.MapBoolBoolEntryz.protobuf_unittest.TestMap.MapBoolBoolEntry.keyz0protobuf_unittest.TestMap.MapBoolBoolEntry.valueii$ MapStringStringEntryz.protobuf_unittest.TestMap.MapStringStringEntryz2protobuf_unittest.TestMap.MapStringStringEntry.key zutf-8z4protobuf_unittest.TestMap.MapStringStringEntry.valuei& i\ MapInt32BytesEntryz,protobuf_unittest.TestMap.MapInt32BytesEntryz0protobuf_unittest.TestMap.MapInt32BytesEntry.keyz2protobuf_unittest.TestMap.MapInt32BytesEntry.value i^ i MapInt32EnumEntryz+protobuf_unittest.TestMap.MapInt32EnumEntryz/protobuf_unittest.TestMap.MapInt32EnumEntry.keyz1protobuf_unittest.TestMap.MapInt32EnumEntry.valuei i MapInt32ForeignMessageEntryz5protobuf_unittest.TestMap.MapInt32ForeignMessageEntryz9protobuf_unittest.TestMap.MapInt32ForeignMessageEntry.keyz;protobuf_unittest.TestMap.MapInt32ForeignMessageEntry.value i iE MapStringForeignMessageEntryz6protobuf_unittest.TestMap.MapStringForeignMessageEntryz:protobuf_unittest.TestMap.MapStringForeignMessageEntry.keyzprotobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry.keyz@protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry.value"MapInt32ForeignMessageNoArenaEntryzAprotobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntryzEprotobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry.keyzGprotobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry.valueii TestArenaMapzprotobuf_unittest.TestArenaMapz.protobuf_unittest.TestArenaMap.map_int32_int32z.protobuf_unittest.TestArenaMap.map_int64_int64z0protobuf_unittest.TestArenaMap.map_uint32_uint32z0protobuf_unittest.TestArenaMap.map_uint64_uint64z0protobuf_unittest.TestArenaMap.map_sint32_sint32z0protobuf_unittest.TestArenaMap.map_sint64_sint64z2protobuf_unittest.TestArenaMap.map_fixed32_fixed32z2protobuf_unittest.TestArenaMap.map_fixed64_fixed64z4protobuf_unittest.TestArenaMap.map_sfixed32_sfixed32z4protobuf_unittest.TestArenaMap.map_sfixed64_sfixed64z.protobuf_unittest.TestArenaMap.map_int32_floatz/protobuf_unittest.TestArenaMap.map_int32_doublez,protobuf_unittest.TestArenaMap.map_bool_boolz0protobuf_unittest.TestArenaMap.map_string_stringz.protobuf_unittest.TestArenaMap.map_int32_bytesz-protobuf_unittest.TestArenaMap.map_int32_enumz8protobuf_unittest.TestArenaMap.map_int32_foreign_messageZ"map_int32_foreign_message_no_arenazAprotobuf_unittest.TestArenaMap.map_int32_foreign_message_no_arenai TypeEntryz;protobuf_unittest.MessageContainingEnumCalledType.TypeEntryz?protobuf_unittest.MessageContainingEnumCalledType.TypeEntry.keyzAprotobuf_unittest.MessageContainingEnumCalledType.TypeEntry.valueijiMessageContainingEnumCalledTypez1protobuf_unittest.MessageContainingEnumCalledTyperz6protobuf_unittest.MessageContainingEnumCalledType.typei EntryEntryzr?rArDrFrHrKrLrbrc)rQrbrc)rSrTrbrc)rVrbrc)r%r,r-r/r1r3r5r7r9r;r=r>r?rArDrFrHrXrbrc)rZrbrc)r\rbrc)r_rbrcTuø)sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ%google_dot_protobuf_dot_unittest__pb2rZ0google_dot_protobuf_dot_unittest__no__arena__pb2ZFileDescriptorrbZEnumDescriptorZEnumValueDescriptorZ_MAPENUMZRegisterEnumDescriptorZEnumTypeWrapperrrrrZ%_MESSAGECONTAININGENUMCALLEDTYPE_TYPEZ DescriptorZFieldDescriptorZ _ParseOptionsZMessageOptionsZ_TESTMAP_MAPINT32INT32ENTRYZ_TESTMAP_MAPINT64INT64ENTRYZ_TESTMAP_MAPUINT32UINT32ENTRYZ_TESTMAP_MAPUINT64UINT64ENTRYZ_TESTMAP_MAPSINT32SINT32ENTRYZ_TESTMAP_MAPSINT64SINT64ENTRYZ_TESTMAP_MAPFIXED32FIXED32ENTRYZ_TESTMAP_MAPFIXED64FIXED64ENTRYZ!_TESTMAP_MAPSFIXED32SFIXED32ENTRYZ!_TESTMAP_MAPSFIXED64SFIXED64ENTRYfloatZ_TESTMAP_MAPINT32FLOATENTRYZ_TESTMAP_MAPINT32DOUBLEENTRYZ_TESTMAP_MAPBOOLBOOLENTRYdecodeZ_TESTMAP_MAPSTRINGSTRINGENTRYZ_TESTMAP_MAPINT32BYTESENTRYZ_TESTMAP_MAPINT32ENUMENTRYZ$_TESTMAP_MAPINT32FOREIGNMESSAGEENTRYZ%_TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRYZ_TESTMAP_MAPINT32ALLTYPESENTRYZ_TESTMAPZ_TESTMAPSUBMESSAGEZ$_TESTMESSAGEMAP_MAPINT32MESSAGEENTRYZ_TESTMESSAGEMAPZ_TESTSAMETYPEMAP_MAP1ENTRYZ_TESTSAMETYPEMAP_MAP2ENTRYZ_TESTSAMETYPEMAPZ%_TESTREQUIREDMESSAGEMAP_MAPFIELDENTRYZ_TESTREQUIREDMESSAGEMAPZ _TESTARENAMAP_MAPINT32INT32ENTRYZ _TESTARENAMAP_MAPINT64INT64ENTRYZ"_TESTARENAMAP_MAPUINT32UINT32ENTRYZ"_TESTARENAMAP_MAPUINT64UINT64ENTRYZ"_TESTARENAMAP_MAPSINT32SINT32ENTRYZ"_TESTARENAMAP_MAPSINT64SINT64ENTRYZ$_TESTARENAMAP_MAPFIXED32FIXED32ENTRYZ$_TESTARENAMAP_MAPFIXED64FIXED64ENTRYZ&_TESTARENAMAP_MAPSFIXED32SFIXED32ENTRYZ&_TESTARENAMAP_MAPSFIXED64SFIXED64ENTRYZ _TESTARENAMAP_MAPINT32FLOATENTRYZ!_TESTARENAMAP_MAPINT32DOUBLEENTRYZ_TESTARENAMAP_MAPBOOLBOOLENTRYZ"_TESTARENAMAP_MAPSTRINGSTRINGENTRYZ _TESTARENAMAP_MAPINT32BYTESENTRYZ_TESTARENAMAP_MAPINT32ENUMENTRYZ)_TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRYZ0_TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRYZ _TESTARENAMAPZ*_MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRYZ _MESSAGECONTAININGENUMCALLEDTYPEZ+_MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRYZ _MESSAGECONTAININGMAPCALLEDENTRYZ_TESTRECURSIVEMAPMESSAGE_AENTRYZ_TESTRECURSIVEMAPMESSAGEr"Zfields_by_namer)Z_FOREIGNMESSAGEr(Z _TESTALLTYPESZ _TESTREQUIREDZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrMZRegisterMessager%r,r-r/r1r3r5r7r9r;r=r>r?rArDrFrHrKrLrPrRrQrUrSrTrWrVrYrXr[rZr]r\r`r_Z has_optionsZ FileOptionsZ_optionsrrrrs                               (                              &                                                                                                                                                                       PK!Eprotobuf/__pycache__/unittest_custom_options_pb2.cpython-36.opt-1.pycnu[3 h`@s&ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZdd lmZdd lmZe jZdd lmZejdddedejgdZejdddeejddddddejddddddgddddd ZejeejeZejdddeejdddejejed ddgdejejed!d"d#d Z eje eje Z!dZ"dZ#dZ$d$Z%ej&d%d&dd$d'd'dd(ddddd)dded*Z'd+Z(ej&d,d-dd+d.ddd(ddddd)dded*Z)d/Z*ej&d0d1dd/d2d'dd(ddddd)dded*Z+d3Z,ej&d4d5dd3d.ddd)d6dddd)dded*Z-d7Z.ej&d8d9d'd7d.ddd(ddddd)dded*Z/d:Z0ej&d;dZ2ej&d?d@d2d>d.ddd(ddddd)dded*Z3dAZ4ej&dBdCdDdAdEddd(ddddd)dded*Z5dFZ6ej&dGdHdIdFdJdIdd(ddddd)dded*Z7dKZ8ej&dLdMdNdKdIdDdd(d(dddd)dded*Z9dOZ:ej&dPdQdRdOd.ddd(ddddd)dded*Z;dSZej&dXdYdZdWd[ddd(ddddd)dded*Z?d\Z@ej&d]d^d[d\d'd'dd(ddddd)dded*ZAd_ZBej&d`dadJd_dbddd(ddddd)dded*ZCdcZDej&ddded=dcdEddd(ddddd)dded*ZEdfZFej&dgdhdidfdDddd(ddddd)dded*ZGdjZHej&dkdldbdjd2d'dd(ddddd)dded*ZIdmZJej&dndodEdmd=ddd(ddddd)dded*ZKdpZLej&dqdrdsdpdiddd(ddddd)dded*ZMdtZNej&dudvdwdtdd2dd(eOddddd)dded*ZPdxZQej&dydzd{dxdd.dd(eOddddd)dded*ZRd|ZSej&d}d~dd|dNdNdd(edjTddddd)dded*ZUdZVej&dddddZdNdd(eddddd)dded*ZWdZXej&dddddJdIdd(ddddd)dded*ZYdZZej&dddddVdRdd(ddddd)dded*Z[dZ\ej&ddddd.ddd(ddddd)dded*Z]dZ^ej&dddddVdRdd(ddddd)dded*Z_dZ`ej&ddddd.ddd(ddddd)dded*ZadZbej&dddddVdRdd(ddddd)dded*ZcdZdej&dddddVdRdd(ddddd)dded*ZedZfej&dddddVdRdd(ddddd)dded*ZgdZhej&dddddVdRdd(ddddd)dded*ZidZjej&dddddRdRdd(ddddd)dded*ZkdZlej&dddddVdRdd(ddddd)dded*ZmdZnej&dddddVdRdd(ddddd)dded*ZodZpej&dddddVdRdd(ddddd)dded*ZqdZrej&dddddVdRdd(ddddd)dded*ZsdZtej&dddddVdRdd(ddddd)dded*ZudZvej&dddddVdRdd(ddddd)dded*ZwdZxej&dddddVdRdd(ddddd)dded*ZydZzej&dddddVdRdd(ddddd)dded*Z{ejdddeejddddddejdddejejed҃ddgdejejedӃddd Z|eje|ejdddeejddddddejddddddgddddd Z}eje}ejdddeejdddejejed߃ddgdejejedddd Z~eje~ejdddeejddddddgddddd Zejeejdddeejddddddejddddddgddddd Zejeejdddedej&dddddNdNdd(edjTddddd(dejejeded*ej&ddddd.ddd(ddddd(dded*ggge|gejejedd(dgejddddgejejeddgdddZejdddedggggdd(dggdddZejdddedggggdd(dggdddZejdddedggggdd(dggdddZejdddedggggdd(dggd d dZejd d dedggge}gdd(dggd ddZejdddedggggdd(dggdddZejdddedggggejejedd(dggdddZejdddedggggejejedd(dggdddZejdddedggggejejedd(dggdd dZejd!d"dedggggejejed#d(dggd$d%dZejd&d'dedggggejejed(d(dggd)d*dZejd+d,dedej&d-d.ddd.ddd(ddddd(dded*ej&d/d0ddd.ddd(ddddd(dded*ej&d1d2ddd.ddd(ddddd(dded*ej&d3d4dd'd.ddd(gdddd(dded*ggggdd)ddggd7d8dZejd9d:dedej&d;ddd?dVdRdd(ddddd)dded*gggdd(dggd@dAdZejdBdCdedej&dDdEdddVdRdd(ddddd(dded*ej&dFdGddd.ddd(ddddd(dded*ej&dHdIdddVdRdd(ddddd(dded*ej&dJdKdd'dVdRdd(gdddd(dded*ggeggdd)ddggdLdMdZejdNdOdedej&dPdQddd.ddd(ddddd(dded*ggggdd(dggdRdSdZejdTdUdedej&dVdWddd.ddd(ddddd(dded*ej&dXdYdddRdRdd(ddddd(dded*ggeggdd(dggdZdSdZejd[d\dedej&d]d^dd_d.ddd(ddddd(dded*ggggdd(dggd`dadZejdbdcdedggggejejeddd(dggdedfdZejdgdhdedggggejejedid)ddggdkdldZejdmdndedej&dodpdddNdNdd(edjTddddd(dded*gej&dqdrddsdVdRdd(ddddd)dded*gggdd(dggdtdudZejdvdwdedej&dxdyddd.ddd(ddddd(dded*ej&dodzdddNdNdd(edjTddddd(dded*ej&d{d|dddVdRdd(ddddd(dded*ej&d}d~dd'dVdRdd(ddddd(dded*ej&ddd'd.dVdRdd(ddddd(dded*gej&dddddVdRdd(ddddd)dded*gggdd(dggdddZejdddedej&ddddd.ddd(ddddd(dejejeded*ggggejejedd(dggdddZejdddedej&ddddd.ddd(ddddd(dejejeded*ggggejejedd(dggdddZejdddedgej&ddddd.ddd(ddddd)dejejeded*gege~gdd(dggdddZejdddedej&dddddJdIdd(ddddd(dded*gggegdd(dggdddZejdddedej&dddddJdIdd(ddddd(dded*gggegdd(dggdddZejdddedggggejejedd(dggdddZee|_ejdjjejdejdejd_ee}_ee_eejdD_eejdH_eejdJ_ee_eejdX_eejd{_ejejd}_eejd_ee_ee~_eejd_ee_eejd_ee_eejd<eejd<eejd<eejd<eejd<eejd <eejd<eejd<eejd<eejd<eejd!<eejd&<eejd+<eejdB<eejdT<eejd[<eejdb<eejdg<eejdm<eejdv<eejd<eejd<eejd<eejd<eejd<eejd<e ejd<e'ejd%<e)ejd,<e+ejd0<e-ejd4<e/ejd8<e1ejd;<e3ejd?<e5ejdB<e7ejdG<e9ejdL<e;ejdP<e=ejdT<e?ejdX<eAejd]<eCejd`<eEejdd<eGejdg<eIejdk<eKejdn<eMejdq<ePejdu<eRejdy<eUejd}<eWejd<eYejd<e[ejd<e]ejd<e_ejd<eaejd<ecejd<eeejd<egejd<eiejd<ekejd<emejd<eoejd<eqejd<esejd<euejd<ewejd<eyejd<e{ejd<ejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jd e jfeeddZejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jde jfeeddZejee jd!e jfeeddZejee jd&e jfeeddZejee jd+e jfeeddZejee jdBe jfee jd9e jfeeddeddZejeejeje jdTe jfee jdNe jfeeddeddZejeƒejejÃe jd[e jfeeddZejeăe jdbe jfeeddZejeŃe jdge jfeeddZejeƃe jdme jfeeddZejeǃe jdve jfeeddZejeȃe jde jfeeddZejeɃe jde jfee jde jfeeddeddZejeʃejej˃e jde jfeeddZejẽe jde jfeeddZeje̓e jde jfeeddZeje΃ejje'ejje)ejje+ejje-ejje/ejje1ejje3ejje5ee7_ejje7ejje9ejje;ejje=ejje?ejjeAejjeCejjeEejjeGejjeIejjeKejjeMejjePejjeRejjeUejjeWe}eY_ejjeYee[_ejje[eje]ee__eje_ejeaeec_ejeceee_ejjeeeeg_ejjegeei_ejjeieek_ejjekeem_ejjemeeo_ejjeoeeq_ejjeqees_ejjeseeu_ejjeueew_ejjeweey_ejjeyee{_ejje{eejd=_ejjejd=eejdq_ejejdqeejd_ejjejdejjejdd)e_ejejσede_d)e _ejejed!e _d)e jd_ejejed e jd_d)ejd_ejejedejd_d)e|_ejejedӃe|_d)e|jd_ejejed҃e|jd_d)ejd_ejejedejd_d)e_ejejede_d)e_ejejede_d)e_ejejede_d)e_ejejede_d)e_ejejed#e_d)e_ejejed(e_d)e_ejejedde_d)e_ejejedie_d)ejd_ejejedejd_d)e_ejejede_d)ejd_ejejedejd_d)e_ejejede_d)e~_ejejede~_d)e~jd_ejejed߃e~jd_d)ejd_ejejedejd_d)e_ejejede_ej֐ddedejejуedddejאddddeeejej҃eddgdZeje؃eejڐd<ej֐ddedejejуedddejאddddeeejej҃edÃdgdZejeۃeejڐd<ejܐdejfeeؐddZejߐdefeeؐddZejܐdejfeeېddZejߐdefeeېddZdS(NcCs|S)N)xrr1/usr/lib/python3.6/unittest_custom_options_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)service)service_reflection)descriptor_pb2z-google/protobuf/unittest_custom_options.protoZprotobuf_unittestZproto2u -google/protobuf/unittest_custom_options.protoprotobuf_unittest google/protobuf/descriptor.proto"¿ TestMessageWithCustomOptions field1 ( BÁàÃ-áu  oneof_field (H"; AnEnum ANENUM_VAL1 ANENUM_VAL2°†ú{ÅöÉëüÿÿ:àéÂÈÿÿÿÿÿÿÿÿB AnOneofø¬Ãÿÿÿÿÿÿÿÿ" CustomOptionFooRequest" CustomOptionFooResponse" CustomOptionFooClientMessage" CustomOptionFooServerMessage"m DummyMessageContainingEnum"O TestEnumType TEST_OPTION_ENUM_TYPE1# TEST_OPTION_ENUM_TYPE2éÿÿÿÿÿÿÿÿ"! DummyMessageInvalidAsOptionType"Š CustomOptionMinIntegerValues:jÐÞ²èÆ²€€€€øÿÿÿÿ°¼²€€€€€€€€€€“²øõ°€Ä°ÿÿÿÿø—°ÿÿÿÿÿÿÿÿÿõ¯‘¯€™Ö¨€"‘ CustomOptionMaxIntegerValues:qÐÞ²èÆ²ÿÿÿÿ°¼²ÿÿÿÿÿÿÿÿ€“²ÿÿÿÿøõ°ÿÿÿÿÿÿÿÿÿ€Ä°þÿÿÿø—°þÿÿÿÿÿÿÿÿõ¯ÿÿÿÿ‘î¯ÿÿÿÿÿÿÿÿ­¯ÿÿÿ™Ö¨ÿÿÿÿÿÿÿ"n CustomOptionOtherValues:SèÆ²œÿÿÿÿÿÿÿÿõߣç‡EAéÜ¢ûYŒBÊÀó?ªÜ¢Hello, "World"²Ù¢ HelloWorldˆÙ¢éÿÿÿÿÿÿÿÿ"4 SettingRealsFromPositiveInts:õߣ@AéÜ¢@c@"4 SettingRealsFromNegativeInts:õߣ@ÁéÜ¢@cÀ"U ComplexOptionType1 foo ( foo2 ( foo3 ( foo4 (*d€€€€"‹ ComplexOptionType22 bar ( 2%.protobuf_unittest.ComplexOptionType1 baz (F fred ( 28.protobuf_unittest.ComplexOptionType2.ComplexOptionType4H barney ( 28.protobuf_unittest.ComplexOptionType2.ComplexOptionType4— ComplexOptionType4 waldo (2r complex_opt4.google.protobuf.MessageOptionsŠõÑ ( 28.protobuf_unittest.ComplexOptionType2.ComplexOptionType4*d€€€€"œ ComplexOptionType3 qux (T complexoptiontype5 ( 28.protobuf_unittest.ComplexOptionType3.ComplexOptionType5# ComplexOptionType5 plugh (" ComplexOpt6 xyzzyß¿Ï ("ñ VariousComplexOptions:×¢â•*¢â•؅žÄ¢â•’õì¢â• c¢â• XªýÛªýøæ—Žªý çªý ؅žÏªý ’õØªý¬—åªý ¬—؅žÎªý ¬—’õÉÒ¨³ªýÁªý"eªý"Ôúސ úސãÜüøýûäÜü"# AggregateMessageSet*ÿÿÿÿ:"  AggregateMessageSetElement s ( 2w message_set_extension&.protobuf_unittest.AggregateMessageSetöë® ( 2-.protobuf_unittest.AggregateMessageSetElement"ý Aggregate i ( s ( ) sub ( 2.protobuf_unittest.Aggregate* file ( 2.google.protobuf.FileOptions4 mset ( 2&.protobuf_unittest.AggregateMessageSet2M nested.google.protobuf.FileOptions§Ñ° ( 2.protobuf_unittest.Aggregate"Y AggregateMessage) fieldname (Bò¡‡;FieldAnnotation:Âц;eMessageAnnotation"É NestedOptionType; NestedMessage" nested_field (B ÁàÃê:àéÂé"5 NestedEnum NESTED_ENUM_VALUE°†úìÅöÉë2A nested_extension.google.protobuf.FileOptionsýøâ (BȋÊí"d OldOptionType8 value (2).protobuf_unittest.OldOptionType.TestEnum" TestEnum OLD_VALUE"s NewOptionType8 value (2).protobuf_unittest.NewOptionType.TestEnum"( TestEnum OLD_VALUE NEW_VALUE"- !TestMessageWithRequiredEnumOption:úèü”*6 MethodOpt1 METHODOPT1_VAL1 METHODOPT1_VAL2*M AggregateEnum% VALUEÊü‰;EnumValueAnnotation’•ˆ;EnumAnnotation2Ž TestServiceWithCustomOptionsc Foo).protobuf_unittest.CustomOptionFooRequest*.protobuf_unittest.CustomOptionFooResponse"àúŒ ²‹ÓۀËI2™ AggregateServicek Method#.protobuf_unittest.AggregateMessage#.protobuf_unittest.AggregateMessage"ÊȖ;MethodAnnotationÊûŽ;ServiceAnnotation:2 file_opt1.google.protobuf.FileOptionsŽØ (:8 message_opt1.google.protobuf.MessageOptionsœ­Ø (:4 field_opt1.google.protobuf.FieldOptionsˆ¼Ø (:8 field_opt2.google.protobuf.FieldOptions¹¡Ù (:42:4 oneof_opt1.google.protobuf.OneofOptionsϵØ (:2 enum_opt1.google.protobuf.EnumOptionsèžÙ (:< enum_value_opt1!.google.protobuf.EnumValueOptionsæ _ (:8 service_opt1.google.protobuf.ServiceOptions¢¶á (:U method_opt1.google.protobuf.MethodOptions¬Ïá (2.protobuf_unittest.MethodOpt1:4 bool_opt.google.protobuf.MessageOptionsê«Ö (:5 int32_opt.google.protobuf.MessageOptionsí¨Ö (:5 int64_opt.google.protobuf.MessageOptionsƧÖ (:6 uint32_opt.google.protobuf.MessageOptions°¢Ö ( :6 uint64_opt.google.protobuf.MessageOptionsߎÖ (:6 sint32_opt.google.protobuf.MessageOptionsÀˆÖ (:6 sint64_opt.google.protobuf.MessageOptionsÿ‚Ö (:7 fixed32_opt.google.protobuf.MessageOptionsÓþÕ (:7 fixed64_opt.google.protobuf.MessageOptionsâýÕ (:8 sfixed32_opt.google.protobuf.MessageOptionsÕñÕ (:8 sfixed64_opt.google.protobuf.MessageOptionsãŠÕ (:5 float_opt.google.protobuf.MessageOptionsþ»Ô (:6 double_opt.google.protobuf.MessageOptionsÍ«Ô (:6 string_opt.google.protobuf.MessageOptionsÅ«Ô ( :5 bytes_opt.google.protobuf.MessageOptions–«Ô ( :p enum_opt.google.protobuf.MessageOptions‘«Ô (2:.protobuf_unittest.DummyMessageContainingEnum.TestEnumType:p message_type_opt.google.protobuf.MessageOptions¯òÓ ( 22.protobuf_unittest.DummyMessageInvalidAsOptionType:6 quux%.protobuf_unittest.ComplexOptionType1ÛàÓ (:^ corge%.protobuf_unittest.ComplexOptionType1ÒÞÓ ( 2%.protobuf_unittest.ComplexOptionType3:8 grault%.protobuf_unittest.ComplexOptionType2ïüÒ (:_ garply%.protobuf_unittest.ComplexOptionType2ÈõÒ ( 2%.protobuf_unittest.ComplexOptionType1:_ complex_opt1.google.protobuf.MessageOptions¤ÜÒ ( 2%.protobuf_unittest.ComplexOptionType1:_ complex_opt2.google.protobuf.MessageOptionsՏÒ ( 2%.protobuf_unittest.ComplexOptionType2:_ complex_opt3.google.protobuf.MessageOptionsï‹Ò ( 2%.protobuf_unittest.ComplexOptionType3:W complexopt6.google.protobuf.MessageOptionsÌËÏ ( 2.protobuf_unittest.ComplexOpt6:N fileopt.google.protobuf.FileOptionsÏݰ ( 2.protobuf_unittest.Aggregate:P msgopt.google.protobuf.MessageOptions˜ê° ( 2.protobuf_unittest.Aggregate:P fieldopt.google.protobuf.FieldOptionsžô° ( 2.protobuf_unittest.Aggregate:N enumopt.google.protobuf.EnumOptions҂± ( 2.protobuf_unittest.Aggregate:V enumvalopt!.google.protobuf.EnumValueOptionsɟ± ( 2.protobuf_unittest.Aggregate:T serviceopt.google.protobuf.ServiceOptions¹ï± ( 2.protobuf_unittest.Aggregate:R methodopt.google.protobuf.MethodOptions‰é² ( 2.protobuf_unittest.Aggregate:_ required_enum_opt.google.protobuf.MessageOptionsÍÏ2 ( 2 .protobuf_unittest.OldOptionTypeB‡€ˆðèÁê­Àå$úì…;pdFileAnnotationNestedFileAnnotation"úì…;FileExtensionAnnotation*$ öë® EmbeddedMessageSetElement )namepackagesyntaxZ serialized_pbZ dependencies MethodOpt1zprotobuf_unittest.MethodOpt1METHODOPT1_VAL1)rindexnumberoptionstypeMETHODOPT1_VAL2i i ) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_end AggregateEnumzprotobuf_unittest.AggregateEnumVALUEuÊü‰;EnumValueAnnotationu’•ˆ;EnumAnnotationi iC iv file_opt1zprotobuf_unittest.file_opt1FT)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer!Z is_extensionZextension_scoperriv message_opt1zprotobuf_unittest.message_opt1iv field_opt1zprotobuf_unittest.field_opt1iPv field_opt2zprotobuf_unittest.field_opt2*iv oneof_opt1zprotobuf_unittest.oneof_opt1ihOv enum_opt1zprotobuf_unittest.enum_opt1ifenum_value_opt1z!protobuf_unittest.enum_value_opt1i"[x service_opt1zprotobuf_unittest.service_opt1igx method_opt1zprotobuf_unittest.method_opt1iubool_optzprotobuf_unittest.bool_opt imu int32_optzprotobuf_unittest.int32_opt iƓu int64_optzprotobuf_unittest.int64_opt i0u uint32_optzprotobuf_unittest.uint32_opt i_u uint64_optzprotobuf_unittest.uint64_opti@u sint32_optzprotobuf_unittest.sint32_optiu sint64_optzprotobuf_unittest.sint64_optiSu fixed32_optzprotobuf_unittest.fixed32_opti~u fixed64_optzprotobuf_unittest.fixed64_optixu sfixed32_optzprotobuf_unittest.sfixed32_opticEu sfixed64_optzprotobuf_unittest.sfixed64_optiu float_optzprotobuf_unittest.float_optiu double_optzprotobuf_unittest.double_optiu string_optzprotobuf_unittest.string_optzutf-8iu bytes_optzprotobuf_unittest.bytes_optiuenum_optzprotobuf_unittest.enum_opti/tmessage_type_optz"protobuf_unittest.message_type_opti[tquuxzprotobuf_unittest.quuxiRtcorgezprotobuf_unittest.corgeiotgraultzprotobuf_unittest.graultiȺtgarplyzprotobuf_unittest.garplyi$t complex_opt1zprotobuf_unittest.complex_opt1iՇt complex_opt2zprotobuf_unittest.complex_opt2it complex_opt3zprotobuf_unittest.complex_opt3 is complexopt6zprotobuf_unittest.complexopt6!i.fileoptzprotobuf_unittest.fileopt"i5msgoptzprotobuf_unittest.msgopt#i:fieldoptzprotobuf_unittest.fieldopt$iRAenumoptzprotobuf_unittest.enumopt%iO enumvaloptzprotobuf_unittest.enumvalopt&iw serviceoptzprotobuf_unittest.serviceopt'i methodoptzprotobuf_unittest.methodopt(iSrequired_enum_optz#protobuf_unittest.required_enum_opt)ZAnEnumz5protobuf_unittest.TestMessageWithCustomOptions.AnEnumZ ANENUM_VAL1Z ANENUM_VAL2u°†ú{uÅöÉëüÿÿZ TestEnumTypez9protobuf_unittest.DummyMessageContainingEnum.TestEnumTypeZTEST_OPTION_ENUM_TYPE1ZTEST_OPTION_ENUM_TYPE2ii Z NestedEnumz-protobuf_unittest.NestedOptionType.NestedEnumZNESTED_ENUM_VALUEu °†úìu ÅöÉëi: io ZTestEnumz(protobuf_unittest.OldOptionType.TestEnumZ OLD_VALUEi i z(protobuf_unittest.NewOptionType.TestEnumZ NEW_VALUEie i TestMessageWithCustomOptionsz.protobuf_unittest.TestMessageWithCustomOptionsZfield1z5protobuf_unittest.TestMessageWithCustomOptions.field1uÁàÃ-áu Z oneof_fieldz:protobuf_unittest.TestMessageWithCustomOptions.oneof_fielduàéÂÈÿÿÿÿÿÿÿÿZAnOneofz6protobuf_unittest.TestMessageWithCustomOptions.AnOneofuø¬Ãÿÿÿÿÿÿÿÿ)rrrr!fieldsrgi&)rrrrr!r} extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr"r#CustomOptionFooRequestz(protobuf_unittest.CustomOptionFooRequesti(i@CustomOptionFooResponsez)protobuf_unittest.CustomOptionFooResponseiBi[CustomOptionFooClientMessagez.protobuf_unittest.CustomOptionFooClientMessagei]i{CustomOptionFooServerMessagez.protobuf_unittest.CustomOptionFooServerMessagei}iDummyMessageContainingEnumz,protobuf_unittest.DummyMessageContainingEnumiDummyMessageInvalidAsOptionTypez1protobuf_unittest.DummyMessageInvalidAsOptionTypei i-CustomOptionMinIntegerValuesz.protobuf_unittest.CustomOptionMinIntegerValuesuÐÞ²èÆ²€€€€øÿÿÿÿ°¼²€€€€€€€€€€“²øõ°€Ä°ÿÿÿÿø—°ÿÿÿÿÿÿÿÿÿõ¯‘¯€™Ö¨€i0iCustomOptionMaxIntegerValuesz.protobuf_unittest.CustomOptionMaxIntegerValuesuÐÞ²èÆ²ÿÿÿÿ°¼²ÿÿÿÿÿÿÿÿ€“²ÿÿÿÿøõ°ÿÿÿÿÿÿÿÿÿ€Ä°þÿÿÿø—°þÿÿÿÿÿÿÿÿõ¯ÿÿÿÿ‘î¯ÿÿÿÿÿÿÿÿ­¯ÿÿÿ™Ö¨ÿÿÿÿÿÿÿiiNCustomOptionOtherValuesz)protobuf_unittest.CustomOptionOtherValuesu~èÆ²œÿÿÿÿÿÿÿÿõߣç‡EAéÜ¢ûYŒBÊÀó?ªÜ¢Hello, "World"²Ù¢ HelloWorldˆÙ¢éÿÿÿÿÿÿÿÿiPiSettingRealsFromPositiveIntsz.protobuf_unittest.SettingRealsFromPositiveIntsuõߣ@AéÜ¢@c@iiSettingRealsFromNegativeIntsz.protobuf_unittest.SettingRealsFromNegativeIntsuõߣ@ÁéÜ¢@cÀii*ComplexOptionType1z$protobuf_unittest.ComplexOptionType1Zfooz(protobuf_unittest.ComplexOptionType1.fooZfoo2z)protobuf_unittest.ComplexOptionType1.foo2Zfoo3z)protobuf_unittest.ComplexOptionType1.foo3Zfoo4z)protobuf_unittest.ComplexOptionType1.foo4d i,iComplexOptionType4z7protobuf_unittest.ComplexOptionType2.ComplexOptionType4Zwaldoz=protobuf_unittest.ComplexOptionType2.ComplexOptionType4.waldoZ complex_opt4zDprotobuf_unittest.ComplexOptionType2.ComplexOptionType4.complex_opt4iztiniComplexOptionType2z$protobuf_unittest.ComplexOptionType2Zbarz(protobuf_unittest.ComplexOptionType2.barZbazz(protobuf_unittest.ComplexOptionType2.bazZfredz)protobuf_unittest.ComplexOptionType2.fredZbarneyz+protobuf_unittest.ComplexOptionType2.barneyiiComplexOptionType5z7protobuf_unittest.ComplexOptionType3.ComplexOptionType5Zplughz=protobuf_unittest.ComplexOptionType3.ComplexOptionType5.plughiiComplexOptionType3z$protobuf_unittest.ComplexOptionType3Zquxz(protobuf_unittest.ComplexOptionType3.quxZcomplexoptiontype5z7protobuf_unittest.ComplexOptionType3.complexoptiontype5i ComplexOpt6zprotobuf_unittest.ComplexOpt6Zxyzzyz#protobuf_unittest.ComplexOpt6.xyzzyisiiVariousComplexOptionsz'protobuf_unittest.VariousComplexOptionsuD¢â•*¢â•؅žÄ¢â•’õì¢â• c¢â• XªýÛªýøæ—Žªý çªý ؅žÏªý ’õØªý¬—åªý ¬—؅žÎªý ¬—’õÉÒ¨³ªýÁªý"eªý"Ôúސ úސãÜüøýûäÜüiiAggregateMessageSetz%protobuf_unittest.AggregateMessageSetziiAggregateMessageSetElementz,protobuf_unittest.AggregateMessageSetElementsz.protobuf_unittest.AggregateMessageSetElement.sZmessage_set_extensionzBprotobuf_unittest.AggregateMessageSetElement.message_set_extensioniii Aggregatezprotobuf_unittest.Aggregateizprotobuf_unittest.Aggregate.izprotobuf_unittest.Aggregate.ssubzprotobuf_unittest.Aggregate.subrz protobuf_unittest.Aggregate.fileZmsetz protobuf_unittest.Aggregate.msetnestedz"protobuf_unittest.Aggregate.nestedi(ii AggregateMessagez"protobuf_unittest.AggregateMessageZ fieldnamez,protobuf_unittest.AggregateMessage.fieldnameuò¡‡;FieldAnnotationuÂц;eMessageAnnotationi i NestedMessagez0protobuf_unittest.NestedOptionType.NestedMessageZ nested_fieldz=protobuf_unittest.NestedOptionType.NestedMessage.nested_fielduÁàÃêu àéÂéi i8 NestedOptionTypez"protobuf_unittest.NestedOptionTypeZnested_extensionz3protobuf_unittest.NestedOptionType.nested_extensioni}xu ȋÊíi i OldOptionTypezprotobuf_unittest.OldOptionTypevaluez%protobuf_unittest.OldOptionType.valuei NewOptionTypezprotobuf_unittest.NewOptionTypez%protobuf_unittest.NewOptionType.valuei !TestMessageWithRequiredEnumOptionz3protobuf_unittest.TestMessageWithRequiredEnumOptionu úèü”i i z+google.protobuf.unittest_custom_options_pb2) DESCRIPTOR __module__)rrr)rrr)rrru€ˆðèÁê­Àå$úì…;pdFileAnnotationNestedFileAnnotation"úì…;FileExtensionAnnotation*$ öë® EmbeddedMessageSetElement TestServiceWithCustomOptionsz.protobuf_unittest.TestServiceWithCustomOptionsu²‹ÓۀËIiF i ZFooz2protobuf_unittest.TestServiceWithCustomOptions.FoouàúŒ)rrrZcontaining_serviceZ input_typeZ output_typer)rrrrrr"r#methodsAggregateServicez"protobuf_unittest.AggregateServiceuÊûŽ;ServiceAnnotationi ip ZMethodz)protobuf_unittest.AggregateService.MethoduÊȖ;MethodAnnotation!TestServiceWithCustomOptions_StubAggregateService_Stubi)rr)rr)r'r)sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZ_servicerrZDefaultZ_sym_dbZ'google_dot_protobuf_dot_descriptor__pb2ZFileDescriptorrZEnumDescriptorZEnumValueDescriptorZ _METHODOPT1ZRegisterEnumDescriptorZEnumTypeWrapperrZ _ParseOptionsZEnumValueOptionsZ EnumOptionsZ_AGGREGATEENUMr$rrr%ZFILE_OPT1_FIELD_NUMBERZFieldDescriptorr&ZMESSAGE_OPT1_FIELD_NUMBERr*ZFIELD_OPT1_FIELD_NUMBERr,ZFIELD_OPT2_FIELD_NUMBERr.ZONEOF_OPT1_FIELD_NUMBERr0ZENUM_OPT1_FIELD_NUMBERr1ZENUM_VALUE_OPT1_FIELD_NUMBERr3ZSERVICE_OPT1_FIELD_NUMBERr4ZMETHOD_OPT1_FIELD_NUMBERr7ZBOOL_OPT_FIELD_NUMBERr:ZINT32_OPT_FIELD_NUMBERr<ZINT64_OPT_FIELD_NUMBERr>ZUINT32_OPT_FIELD_NUMBERr@ZUINT64_OPT_FIELD_NUMBERrCZSINT32_OPT_FIELD_NUMBERrDZSINT64_OPT_FIELD_NUMBERrFZFIXED32_OPT_FIELD_NUMBERrGZFIXED64_OPT_FIELD_NUMBERrIZSFIXED32_OPT_FIELD_NUMBERrJZSFIXED64_OPT_FIELD_NUMBERrKZFLOAT_OPT_FIELD_NUMBERfloatrMZDOUBLE_OPT_FIELD_NUMBERrOZSTRING_OPT_FIELD_NUMBERdecoderQZBYTES_OPT_FIELD_NUMBERrTZENUM_OPT_FIELD_NUMBERrVZMESSAGE_TYPE_OPT_FIELD_NUMBERrXZQUUX_FIELD_NUMBERrZZCORGE_FIELD_NUMBERr\ZGRAULT_FIELD_NUMBERr^ZGARPLY_FIELD_NUMBERr`ZCOMPLEX_OPT1_FIELD_NUMBERrbZCOMPLEX_OPT2_FIELD_NUMBERrdZCOMPLEX_OPT3_FIELD_NUMBERrfZCOMPLEXOPT6_FIELD_NUMBERrhZFILEOPT_FIELD_NUMBERrjZMSGOPT_FIELD_NUMBERrlZFIELDOPT_FIELD_NUMBERrnZENUMOPT_FIELD_NUMBERrpZENUMVALOPT_FIELD_NUMBERrrZSERVICEOPT_FIELD_NUMBERrtZMETHODOPT_FIELD_NUMBERrvZREQUIRED_ENUM_OPT_FIELD_NUMBERrxZ$_TESTMESSAGEWITHCUSTOMOPTIONS_ANENUMZ(_DUMMYMESSAGECONTAININGENUM_TESTENUMTYPEZ_NESTEDOPTIONTYPE_NESTEDENUMZ_OLDOPTIONTYPE_TESTENUMZ_NEWOPTIONTYPE_TESTENUMZ DescriptorZ FieldOptionsZMessageOptionsZOneofDescriptorZ OneofOptionsZ_TESTMESSAGEWITHCUSTOMOPTIONSZ_CUSTOMOPTIONFOOREQUESTZ_CUSTOMOPTIONFOORESPONSEZ_CUSTOMOPTIONFOOCLIENTMESSAGEZ_CUSTOMOPTIONFOOSERVERMESSAGEZ_DUMMYMESSAGECONTAININGENUMZ _DUMMYMESSAGEINVALIDASOPTIONTYPEZ_CUSTOMOPTIONMININTEGERVALUESZ_CUSTOMOPTIONMAXINTEGERVALUESZ_CUSTOMOPTIONOTHERVALUESZ_SETTINGREALSFROMPOSITIVEINTSZ_SETTINGREALSFROMNEGATIVEINTSZ_COMPLEXOPTIONTYPE1Z&_COMPLEXOPTIONTYPE2_COMPLEXOPTIONTYPE4Z_COMPLEXOPTIONTYPE2Z&_COMPLEXOPTIONTYPE3_COMPLEXOPTIONTYPE5Z_COMPLEXOPTIONTYPE3Z _COMPLEXOPT6Z_VARIOUSCOMPLEXOPTIONSZ_AGGREGATEMESSAGESETZ_AGGREGATEMESSAGESETELEMENTZ _AGGREGATEZ_AGGREGATEMESSAGEZ_NESTEDOPTIONTYPE_NESTEDMESSAGEZ_NESTEDOPTIONTYPEZ_OLDOPTIONTYPEZ_NEWOPTIONTYPEZ"_TESTMESSAGEWITHREQUIREDENUMOPTIONr!Zoneofs_by_namer}appendZfields_by_nameZcontaining_oneofr(Z _FILEOPTIONSr)Zmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr|ZRegisterMessagerrrrrrrrrrrrrrrrrrrrrrrrrrrZ FileOptionsZRegisterExtensionZServiceOptionsZ MethodOptionsZ has_optionsZ_optionsZvalues_by_nameZServiceDescriptorZMethodDescriptorZ_TESTSERVICEWITHCUSTOMOPTIONSZRegisterServiceDescriptorZservices_by_nameZ_AGGREGATESERVICEZGeneratedServiceTypeZServicerZGeneratedServiceStubTyperrrrrrrs                                                                                                                                                                                                                                                                                            $  $  PK!9??,protobuf/__pycache__/__init__.cpython-36.pycnu[3 hb @sHdZedkrDyedjeWn$ek rBedjeeZYnXdS)z3.5.0__main__Z pkg_resourcesZpkgutilN) __version____name__ __import__Zdeclare_namespace ImportErrorZ extend_path__path__rr/usr/lib/python3.6/__init__.py!s PK! &z4protobuf/__pycache__/struct_pb2.cpython-36.opt-1.pycnu[3 h*@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZejd d deddZejdddeejddddddgddddd ZejeejeZdZejdddedejddddddddedjd dddddded!ejd"d#dd$d%d&ddddddddded!ggggejejed'ddggd(d)d*Zejd+d,dedejd-d.ddd%d&ddgdddddded!ggeggdddggd/d)d*Z ejd0d1dedejd2d3ddd4d5ddddddddded!ejd6d7dd$dd8dde!ddddddded!ejd9d:d$dddddedjd dddddded!ejd;dddddddddded!ejd?d@d=d8d%d&ddddddddded!ejdAdBd8dCd%d&ddddddddded!ggggdddgej"dDdEddgdFgdGdHd*Z#ejdIdJdedejdKdLddd%d&ddgdddddded!ggggdddggdMdNd*Z$e#ej%d"_&e e_'ee j%d-_&ee#j%d2_(e e#j%d?_&e$e#j%dA_&e#j)dDj*j+e#j%d2e#j)dDe#j%d2_,e#j)dDj*j+e#j%d6e#j)dDe#j%d6_,e#j)dDj*j+e#j%d9e#j)dDe#j%d9_,e#j)dDj*j+e#j%d;e#j)dDe#j%d;_,e#j)dDj*j+e#j%d?e#j)dDe#j%d?_,e#j)dDj*j+e#j%dAe#j)dDe#j%dA_,e#e$j%dK_&e ej-d+<e#ej-d0<e$ej-dI<eej.d<ej/ee j0d+e j1fe2e j0de j1fe2edOdPe dOdQZ3ej4e3ej4e3j5e j0d0e j1fe2e#dOdPZ6ej4e6e j0dIe j1fe2e$dOdPZ7ej4e7dRe_8ejej9edSe_:dRe_8ejejed'e_:dS)TNcCs|S)N)xrr /usr/lib/python3.6/struct_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2zgoogle/protobuf/struct.protozgoogle.protobufZproto3u google/protobuf/struct.protogoogle.protobuf"„ Struct3 fields ( 2#.google.protobuf.Struct.FieldsEntryE FieldsEntry key ( % value ( 2.google.protobuf.Value:8"ê Value0 null_value (2.google.protobuf.NullValueH number_value (H string_value ( H bool_value (H/ struct_value ( 2.google.protobuf.StructH0 list_value ( 2.google.protobuf.ListValueHB kind"3 ListValue& values ( 2.google.protobuf.Value* NullValue NULL_VALUEB com.google.protobufB StructProtoPZ1github.com/golang/protobuf/ptypes/struct;structpbø¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb NullValuezgoogle.protobuf.NullValue NULL_VALUE)rindexnumberoptionstypeii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_end FieldsEntryz"google.protobuf.Struct.FieldsEntrykeyz&google.protobuf.Struct.FieldsEntry.key Fzutf-8)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrvaluez(google.protobuf.Struct.FieldsEntry.value z8q)rrrrrfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrrStructzgoogle.protobuf.Structr,zgoogle.protobuf.Struct.fields2Valuezgoogle.protobuf.ValueZ null_valuez google.protobuf.Value.null_valueZ number_valuez"google.protobuf.Value.number_valueZ string_valuez"google.protobuf.Value.string_valueZ bool_valuez google.protobuf.Value.bool_valueZ struct_valuez"google.protobuf.Value.struct_valueZ list_valuez google.protobuf.Value.list_valueZkindzgoogle.protobuf.Value.kind)rrrrr,i ListValuezgoogle.protobuf.ListValuerz google.protobuf.ListValue.valuesiizgoogle.protobuf.struct_pb2) DESCRIPTOR __module__)rr9r:Tu com.google.protobufB StructProtoPZ1github.com/golang/protobuf/ptypes/struct;structpbø¢GPBªGoogle.Protobuf.WellKnownTypes);sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbZFileDescriptorr9ZEnumDescriptorZEnumValueDescriptorZ _NULLVALUEZRegisterEnumDescriptorZEnumTypeWrapperrrZ DescriptorZFieldDescriptordecodeZ _ParseOptionsZMessageOptionsZ_STRUCT_FIELDSENTRYZ_STRUCTfloatZOneofDescriptorZ_VALUEZ _LISTVALUEZfields_by_namer$rr%Zoneofs_by_namer,appendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr.ZRegisterMessagerr0r8Z has_optionsZ FileOptionsZ_optionsrrrrs                                            PK!0px0protobuf/__pycache__/any_test_pb2.cpython-36.pycnu[3 h @sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejdddddddddddddddedejdddddddddddddddedejddddddddgddddddedggggdddggd d!d"Zejejd_ejejd_eejd<ejee jdejfeed#d$ZejedS)%NcCs|S)N)xrr"/usr/lib/python3.6/any_test_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)any_pb2zgoogle/protobuf/any_test.protoZprotobuf_unittestZproto3z google/protobuf/any_test.protoprotobuf_unittestgoogle/protobuf/any.proto"y TestAny int32_value (' any_value ( 2.google.protobuf.Any0 repeated_any_value ( 2.google.protobuf.Anybproto3)namepackagesyntaxZ serialized_pbZ dependenciesTestAnyzprotobuf_unittest.TestAnyZ int32_valuez%protobuf_unittest.TestAny.int32_valueF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileZ any_valuez#protobuf_unittest.TestAny.any_value Zrepeated_any_valuez,protobuf_unittest.TestAny.repeated_any_valueP)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.any_test_pb2) DESCRIPTOR __module__) sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ google_dot_protobuf_dot_any__pb2ZFileDescriptorr#Z DescriptorZFieldDescriptorZ_TESTANYZ_ANYZfields_by_namerZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrsv           PK!9??2protobuf/__pycache__/__init__.cpython-36.opt-1.pycnu[3 hb @sHdZedkrDyedjeWn$ek rBedjeeZYnXdS)z3.5.0__main__Z pkg_resourcesZpkgutilN) __version____name__ __import__Zdeclare_namespace ImportErrorZ extend_path__path__rr/usr/lib/python3.6/__init__.py!s PK!o@0protobuf/__pycache__/unittest_pb2.cpython-36.pycnu[3 h<j@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZdd lmZdd lmZe jZddlmZy ejZWnek rejjjZYnXejdddedejgdZejdddeejddddddejddddddejddddddgdddd d! Zej eej!eZ"ejd"d#deejd$dddddejd%dddddejd&dddddejd'dddddejd(dddddgdej#ej$ed)d*d+d! Z%ej e%ej!e%Z&ejd,d-deejd.dd/dddejd0dd1dddejd2dd3dddejd4dddddejd6dddddejd8dddddejd9dddddgddd:d;d! Z'ej e'ej!e'Z(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0d/Z1d1Z2d3Z3dZ4dZ5dZ6dZ7dZ8ej9dddddd?dded@Z:dZ;ej9dAdBdddddd>ddddd?dded@Zddddd?dded@Z>dZ?ej9dFdGdddddd>ddddd?dded@Z@dZAej9dHdIdddJddd>ddddd?dded@ZBdZCej9dKdLdddMddd>ddddd?dded@ZDdNZEej9dOdPddNdNddd>ddddd?dded@ZFdQZGej9dRdSdNdQdddd>ddddd?dded@ZHdTZIej9dUdVdQdTd5ddd>ddddd?dded@ZJdWZKej9dXdYdTdWdZddd>ddddd?dded@ZLd[ZMej9d\d]dWd[dddd>eNddddd?dded@ZOd^ZPej9d_d`d[d^dddd>eNddddd?dded@ZQdEZRej9dadbd^dEdQdNdd>d>dddd?dded@ZSdcZTej9dddedEdcdTdTdd>edfjUdgdddd?dded@ZVd5ZWej9dhdidcd5d^dTdd>edfdddd?dded@ZXdZZYej9djdkd5dZdWdWdd>ddddd?dded@ZZdMZ[ej9dldmdZdMd[dWdd>ddddd?dded@Z\dnZ]ej9dodpdJdnd[dWdd>ddddd?dded@Z^dqZ_ej9drdsdMdqd[dWdd>ddddd?dded@Z`dtZaej9dudvdndtdcdQdd>ddddd?dded@ZbdwZcej9dxdydqdwdcdQdd>ddddd?dded@ZddzZeej9d{d|dtdzdcdQdd>dNdddd?dded@Zfd}Zgej9d~ddwd}dTdTdd>edfjUdgdddd?dej#ejheded@ZidZjej9dddzddTdTdd>edfjUdgdddd?dej#ejheded@ZkdZlej9ddd}dd[dWdd>ddddd?dded@ZmdZnej9ddddd[dWdd>ddddd?dej#ejheded@ZodZpej9dddddddd>gdddd?dded@ZqdZrej9dddddddd>gdddd?dded@ZsdZtej9dddddEddd>gdddd?dded@ZudZvej9dddddddd>gdddd?dded@ZwdZxej9dddddJddd>gdddd?dded@ZydZzej9dddddMddd>gdddd?dded@Z{dZ|ej9dddddNddd>gdddd?dded@Z}dZ~ej9dddddddd>gdddd?dded@ZdZej9ddddd5ddd>gdddd?dded@ZdZej9dddddZddd>gdddd?dded@ZdZej9dddddddd>gdddd?dded@ZdZej9dddddddd>gdddd?dded@ZdZej9dddddQdNdd>gdddd?dded@ZdZej9dddddTdTdd>gdddd?dded@ZdZej9ddddd^dTdd>gdddd?dded@ZdZej9dddddWdWdd>gdddd?dded@ZdZej9ddddd[dWdd>gdddd?dded@ZdZej9ddddd[dWdd>gdddd?dded@ZdZej9ddddd[dWdd>gdddd?dded@ZdZej9dddddcdQdd>gdddd?dded@ZdZej9dddddcdQdd>gdddd?dded@ZdZej9dddddcdQdd>gdddd?dded@ZdZej9dddddTdTdd>gdddd?dej#ejheded@ZdZej9dddddTdTdd>gdddd?dej#ejheded@ZdZej9ddddd[dWdd>gdddd?dej#ejheded@ZdZej9dddddddd?ddddd?dded@ZdZej9dddddddd?ddddd?dded@ZdZej9dddddEddd?ddddd?dded@ZdZej9dddddddd?ddddd?dded@ZdZej9dddddJddd?ddddd?dded@ZdZej9dddddMddd?ddddd?dded@ZdZej9dddddNddd?ddddd?dded@ZdZej9dddddddd?ddddd?dded@ZdZej9ddddd5ddd?ddddd?dded@ZdZej9dddddZddd?ddddd?dded@ZdZej9dddddddd?eNddddd?dded@ZdZej9dddސddddd?eNddddd?dded@ZdZej9dddddQdNdd?d?dddd?dded@ZdZej9d d dddTdTdd?ed jUdgdddd?dded@Zd Zej9d ddd d^dTdd?eddddd?dded@ZdZej9dddddcdQdd?ddddd?dded@ZdZej9dddddcdQdd?ddddd?dded@ZÐdZej9dddddcdQdd?dQdddd?dded@ZŐdZej9dddddTdTdd?edjUdgdddd?dej#ejheded@ZǐdZej9dddddTdTdd?ed jUdgdddd?dej#ejheded@Zɐd!Zej9d"d#dd!dEddd>ddddd?dded@Zːd$Zej9d%d&dd$d[dWdd>ddddd?dded@Z͐d'Zej9d(d)dd'dTdTdd>edfjUdgdddd?dded@Zϐd*Zej9d+d,dd*d^dTdd>edfdddd?dded@ZdZej9d-d.d ddTdTdd>edfjUdgdddd?dded@ZdZej9d/d0d1ddddd>ddddd?dded@ZՐd2Zej9d3d4d5d2dddd>gdddd?dej#ejhed)ed@Zאd6Zej9d7d8d9d6dddd>gdddd?dej#ejhed)ed@Zِd:Zej9d;d<d=d:dEddd>gdddd?dej#ejhed)ed@Zېd>Zej9d?d@dAd>dddd>gdddd?dej#ejhed)ed@ZݐdBZej9dCdDddBdJddd>gdddd?dej#ejhed)ed@ZߐdEZej9dFdGddEdMddd>gdddd?dej#ejhed)ed@ZdHZej9dIdJddHdNddd>gdddd?dej#ejhed)ed@ZdKZej9dLdMddKdddd>gdddd?dej#ejhed)ed@ZdNZej9dOdPddNd5ddd>gdddd?dej#ejhed)ed@ZdQZej9dRdSdTdQdZddd>gdddd?dej#ejhed)ed@ZdUZej9dVdWdXdUdddd>gdddd?dej#ejhed)ed@ZdYZej9dZd[d\dYdddd>gdddd?dej#ejhed)ed@Zd]Zej9d^d_d`d]dQdNdd>gdddd?dej#ejhed)ed@ZdaZej9dbdcd2dadcdQdd>gdddd?dej#ejhed)ed@Zd2Zej9ddded6d2dddd>gdddd?dej#ejhedfed@Zd6Zej9dgdhd:d6dddd>gdddd?dej#ejhedfed@Zd:Zej9didjd>d:dEddd>gdddd?dej#ejhedfed@Zd>Zej9dkdldBd>dddd>gdddd?dej#ejhedfed@ZdBZej9dmdndEdBdJddd>gdddd?dej#ejhedfed@ZdEZej9dodpdHdEdMddd>gdddd?dej#ejhedfed@ZdHZej9dqdrdKdHdNddd>gdddd?dej#ejhedfed@ZdKZej9dsdtdNdKdddd>gdddd?dej#ejhedfed@ZdNZej9dudvdQdNd5ddd>gdddd?dej#ejhedfed@ZdQZej9dwdxdUdQdZddd>gdddd?dej#ejhedfed@ZdUZej9dydzdYdUdddd>gdddd?dej#ejhedfed@ZdYZej9d{d|d]dYdddd>gdddd?dej#ejhedfed@Z d]Z ej9d}d~dad]dQdNdd>gdddd?dej#ejhedfed@Z daZ ej9ddddadcdQdd>gdddd?dej#ejhedfed@Z dZej9ddddd[dWdd>ddddd?dded@Zejdddeejddddddejddddddejd&dddddejddddddgddddd! Zej eejdddeejddddddejddddddejd&dddddgddddd! Zej eejdddeejddddddejddddddejddddddgddddd! Zej eejdddedej9dddddddd>ddddd>dded@ggggdd>dggdddZejdddedej9ddddJdddd>ddddd>dded@ggggdd>dggdddZejdddedej9dddddddd>ddddd>dded@ggggdd>dggdddZejdddedej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddEddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddJddd>ddddd>dded@ej9dddddMddd>ddddd>dded@ej9ddddNdNddd>ddddd>dded@ej9dddNdQdddd>ddddd>dded@ej9dddQdTd5ddd>ddddd>dded@ej9dddTdWdZddd>ddddd>dded@ej9dddWd[dddd>eNddddd>dded@ej9dÐdd[d^dddd>eNddddd>dded@ej9dŐdd^dEdQdNdd>d>dddd>dded@ej9dǐddEdcdTdTdd>edfjUdgdddd>dded@ej9dɐddcd5d^dTdd>edfdddd>dded@ej9dːdd5dZdWdWdd>ddddd>dded@ej9d͐ddZdMd[dWdd>ddddd>dded@ej9dϐddJdnd[dWdd>ddddd>dded@ej9dѐddMdqd[dWdd>ddddd>dded@ej9dӐddndtdcdQdd>ddddd>dded@ej9dՐddqdwdcdQdd>ddddd>dded@ej9dאddtdzdcdQdd>dNdddd>dded@ej9dِddwd}dTdTdd>edfjUdgdddd>dej#ejheded@ej9dېddzddTdTdd>edfjUdgdddd>dej#ejheded@ej9dݐdd}dd[dWdd>ddddd>dded@ej9dߐdddd[dWdd>ddddd>dej#ejheded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddEddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddJddd>gdddd>dded@ej9dddddMddd>gdddd>dded@ej9dddddNddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9ddddd5ddd>gdddd>dded@ej9dddddZddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddQdNdd>gdddd>dded@ej9dddddTdTdd>gdddd>dded@ej9ddddd^dTdd>gdddd>dded@ej9dddddWdWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9dddddcdQdd>gdddd>dded@ej9d d dddcdQdd>gdddd>dded@ej9d d dddcdQdd>gdddd>dded@ej9d ddddTdTdd>gdddd>dej#ejheded@ej9dddddTdTdd>gdddd>dej#ejheded@ej9ddddd[dWdd>gdddd>dej#ejheded@ej9dddddddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9dddddEddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9dddddJddd?ddddd>dded@ej9dddddMddd?ddddd>dded@ej9dd dddNddd?ddddd>dded@ej9d!d"dddddd?ddddd>dded@ej9d#d$ddd5ddd?ddddd>dded@ej9d%d&dddZddd?ddddd>dded@ej9d'd(dddddd?eNddddd>dded@ej9d)d*dސddddd?eNddddd>dded@ej9d+d,dddQdNdd?d?dddd>dded@ej9d-d.dddTdTdd?ed jUdgdddd>dded@ej9d/d0dd d^dTdd?eddddd>dded@ej9d1d2dddcdQdd?ddddd>dded@ej9d3d4dddcdQdd?ddddd>dded@ej9d5d6dddcdQdd?dQdddd>dded@ej9d7d8dddTdTdd?edjUdgdddd>dej#ejheded@ej9d9d:dddTdTdd?ed jUdgdddd>dej#ejheded@ej9d;dddddd>dded@ej9d=d>dd$d[dWdd>ddddd>dded@ej9d?d@dd'dTdTdd>edfjUdgdddd>dded@ej9dAdBdd*d^dTdd>edfdddd>dded@gKgeeegegdd>dgejdCdDddgdEgd>dFdZejdGdHdedej9dIdJddd[dWdd>ddddd>dded@ej9dKdLddd[dWdd>ddddd>dded@ej9dMdNddd[dWdd>gdddd>dded@ggggdd>dggdOdPdZejdQdRdedej9dSdTdddddd>ddddd>dej#ejhedUed@ggggdd>dggdVdWdZejdXdYdedggggej#ejedUd>dggdZd[dZejd\d]dedej9d^d_dddddd>ddddd>dded@ej9d`dadddddd>ddddd>dded@ggggdd>dggdbdcdZejdddededggggdd>dggdfdgdZejdhdidedggggdd?ddggdkdldZejdmdndedej9ddoddJdddd>ddddd>dded@ggggdd>dggdpdqdZ ejdrdsdedej9ddtdddddd>ddddd>dded@ggggdd>dggdudvdZ!ejdwdxdedgej9dydzdd{dTdTdd?edyjUdgdddd?dded@ej9d|d}dd~dTdTdd>edfjUdgdddd?dded@gggdd>dggdddZ"ejdddedej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9ddddNdddd>ddddd>dded@ej9dddNdQdddd>ddddd>dded@ej9dddQdTdddd>ddddd>dded@ej9dddTdWdddd>ddddd>dded@ej9dddWd[dddd>ddddd>dded@ej9ddd[d^dddd>ddddd>dded@ej9ddd^dEdddd>ddddd>dded@ej9dddEdcdddd>ddddd>dded@ej9dddcd5dddd>ddddd>dded@ej9ddd5dZdddd>ddddd>dded@ej9dddZdJdddd>ddddd>dded@ej9dddJdMdddd>ddddd>dded@ej9dddMdndddd>ddddd>dded@ej9dddndqdddd>ddddd>dded@ej9dddqdtdddd>ddddd>dded@ej9dddtdwdddd>ddddd>dded@ej9dddwdzdddd>ddddd>dded@ej9dddzd}dddd>ddddd>dded@ej9ddd}ddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ej9d^ddddddd>ddddd>dded@g!ej9dÐdddd[dWdd>ddddd?dded@ej9dƐdddd[dWdd>gdddd?dded@gggdd>dggdɐdʐdZ#ejdːddedej9d͐dddd[dWdd>ddddd>dded@ej9dϐdddd[dWdd>gdddd>dded@ej9dѐddddddd>ddddd>dded@ggggdd>dggdӐdԐdZ$ejdՐddedej9d͐dddd[dWdd>ddddd>dded@ej9dϐdddd[dWdd>gdddd>dded@ej9dِdddd[dWdd>ddddd>dded@ggggdd>dggdېdܐdZ%ejdݐddedej9dߐdddd[dWdd>ddddd>dded@ggggdd>dggdddZ&ejdddedggggdd>dggdddZ'ejdddedggggdd?ddggdddZ(ejdddedggggdd?ddddggdddZ)ejdddedej9dddddddd>ddddd>dded@ej9dddddddd>ddddd>dded@ggggdd>dggdddZ*ejdddedej9ddddd[dWdd>ddddd>dded@ej9dddddddd>ddddd>dded@ggggdd>dggdddZ+ejdddedej9ddddd[dWdd>ddddd>dded@ggggdd>dggdddZ,ejdddedej9ddddd[dWdd>ddddd>dded@ej9d d ddd[dWdd>ddddd>dded@ggggdd>dggd d dZ-ejd ddedej9ddddd[dWdd>ddddd>dded@ej9dddddWdWdd>ddddd>dded@gge,e-ggdd>dggdd dZ.ejdddedej9ddddd[dWdd>ddddd>dded@ej9dddddddd>ddddd>dded@ggggdd>dggdddZ/ejdddedej9dddddddd>ddddd>dded@ggggdd>dggdddZ0ejdddedej9dddddWdWdd>ddddd>dded@gge0ggdd>dggdddZ1ejd d!dedej9dd"ddd[dWdd>ddddd>dded@gge1ggdd>dggd#ddZ2ejd$d%dedej9dd&dddddd>ddddd>dded@ggggdd>dggd'd(dZ3ejd)d*dedej9dd+dddddd>ddddd>dded@ggggdd>dggd,d-dZ4ejd.d/dedej9dd0dddddd>ddddd>dded@ej9d1d2dddWdWdd>ddddd>dded@ej9d3d4dddWdWdd>ddddd>dded@gge3e4ggdd>dggd5d-dZ5ejd6d7dedej9dd8ddd[dWdd>ddddd>dej#ejhed9ed@ggggdd>dggd:d;dZ6ejd<d=dedej9dd>ddd[dWdd>ddddd>dej#ejheded@ggggdd>dggd?d@dZ7ejddAdedej9dBdCdddddd>gdddd>dded@ej9dDdEddd[dWdd>gdddd>dded@ggggdd>dggdFdGdZ8ejdHdIdedej9d͐dJddd[dWdd>ddddd>dded@gge8ggdd>dggdKdGdZ9ejdLdMdedej9dNdOdddddd>ddddd>dded@ej9dPdQdddTdTdd>edfjUdgdddd>dded@ej9dRdSdddcdQdd>ddddd>dded@ej9dTdUddd[dWdd>ddddd>dded@ej9dVdWdddTdTdd>edfjUdgdddd>dej#ejheded@ej9dXdYdddTdTdd>edfjUdgdddd>dej#ejheded@ej9dZd[ddNdddd>gdddd>dded@ej9d\d]dNdQdTdTdd>gdddd>dded@ej9d^d_dQdTdcdQdd>gdddd>dded@ej9d`dadTdWd[dWdd>gdddd>dded@ej9dbdcdWd[dTdTdd>gdddd>dej#ejheded@ej9ddded[d^dTdTdd>gdddd>dej#ejheded@g gggdd>dggdfdgdZ:ejddhdedej9didjdddddd>ddddd>dded@ej9ddkdddddd>ddddd>dded@ggggdd>dggdldmdZ;ejdndodedej9dpdqdd[dTdTdd>edfjUdgdddd>dded@ej9drdsdddddd>ddddd>dded@ej9dtduddYdddd>eNddddd>dded@ej9d͐dvddwd[dWdd>ddddd>dded@gge;ggdd?dddggdxdydZdded@ej9dddddEddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9dddddddd?ddddd>dded@ej9ddddtdddd?ddddd>dded@ej9ddddwdddd?ddddd>dded@ej9dddNddTdTdd?edjUdgdddd>dded@ej9dddQdNdddd?eNddddd>dded@ej9dddTdQdddd?eNddddd>dded@ej9dddWdTdddd?eNddddd>dded@ej9ddd[dWdddd?eNddddd>dded@ej9ddd^d[dddd?eNddddd>dded@ej9dddEd^dddd?eNddddd>dded@ej9dddcdEdddd?eNddddd>dded@ej9ddd5dcdddd?ddddd>dded@ej9dddZd5dddd?ddddd>dded@ej9dddJdZdddd?ddddd>dded@ej9dddMdJdddd?ddddd>dded@ej9dddndMdddd?ddddd>dded@ej9dddqdndddd?ddddd>dded@ej9dddtdqdTdTdd?edjUdgdddd>dded@ej9dddwdzdTdTdd?edjUdgdddd>dded@ej9dddzd}d^dTdd?eddddd>dded@ej9ddd}ddTdTdd?edjUdgdddd>dej#ejheded@ej9dddddTdTdd?edjUdgdddd>dej#ejheded@ej9dddddTdTdd?edÃjUdgdddd>dded@ggggdd>dggdĐdŐdZ=ejdƐddedej9dȐddddcdQdd>d/dddd>dded@ggggdd>dggdʐdːdZ>ejd̐ddedej9dΐddddTdTdd>edfjUdgdddd>dded@ggggdd>dggdАdѐdZ?ejdҐddedej9dΐddddTdTdd>gdddd>dded@ggggdd>dggdՐd֐dZ@ejdאddedej9dΐdddd^dTdd>edfdddd>dded@ggggdd>dggdڐdېdZAejdܐddedej9dΐdddd^dTdd>gdddd>dded@ggggdd>dggdߐddZBejdddedej9dΐddddddd>ddddd>dded@ggggdd>dggdddZCejdddedej9dΐddddEddd>ddddd>dded@ggggdd>dggdddZDejdddedej9dΐddddddd>ddddd>dded@ggggdd>dggdddZEejdddedej9dΐddddddd>ddddd>dded@ggggdd>dggdddZFejdddedej9dΐddddQdNdd>d>dddd>dded@ggggdd>dggdddZGejdddedej9dddddddd>ddddd>dded@ej9dddddTdTdd>edfjUdgdddd>dded@ggggdd>dggdddZHejdddedej9dddddddd>ddddd>dded@ej9dddddTdTdd>edfjUdgdddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9dd dddWdWdd>ddddd>dded@ggeHggdd>dgejd1d ddgdEgd d dZIejdd dedej9dddddddd>ddddd>dded@ej9dddddTdTdd>edfjUdgdddd>dded@ggggdd>dggdddZJejdddedej9dddddddd>ddddd>dded@ej9dddddTdTdd>edfjUdgdddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9dddddWdWdd>ddddd>dded@ggeJggdd>dggdddZKejdddedej9ddddTdddd>ddddd>dded@ej9ddddWdTdTdd>edfjUdgdddd>dded@ggggdd>dggdddZLejdddedej9dddddddd>ddddd>dded@ej9d d!dddddd>gdddd>dded@ggggdd>dggd"d#dZMejd$d%dedej9dd&dddddd>ddddd>dded@ej9dd'dddTdTdd>edfjUdgdddd>dded@ej9d(d)dddTdTdd>edfjUdgdddd>dej#ejheded@ej9d*d+dddTdTdd>edfjUdgdddd>dej#ejheded@ej9d,d-ddd^dTdd>edfdddd>dded@ej9d.d/dddcdQdd>ddddd>dded@ej9dd0ddNd[dWdd>ddddd>dded@ej9dd1dNdQdWdWdd>ddddd>dded@ej9d2d3dQd[d[dWdd>ddddd>dej#ejheded@ej9d4d5dTd^dddd?ddddd>dded@ej9d6d7dWdEdTdTdd?ed8jUdgdddd>dded@ej9d9d:d[dcdTdTdd?ed;jUdgdddd>dej#ejheded@ej9d<d=d^d5dTdTdd?ed>jUdgdddd>dej#ejheded@ej9d?d@dEdZd^dTdd?edAdddd>dded@ej9dBdCdcdJdcdQdd?ddddd>dded@ej9dDdEd5dMdddd>ddddd>dded@ej9dFdGdZdndTdTdd?ed&jUdgdddd>dded@ggeLeMgegdd>dgejd1dHddgdEejd3dIddgdEgdJdKdZNejddLdedej9dMdNdddddd>eNddddd>dded@ggggdd>dggdOdPdZOejdQdRdedej9ddSdddddd>ddddd>dded@ej9ddTdddTdTdd>edfjUdgdddd>dded@ej9ddUddd[dWdd>ddddd>dded@ggeOggdd>dgejd1dVddgdEgdWdXdZPejdYdZdedej9d[d\dd2dddd>gdddd>dej#ejhed)ed@ej9d]d^dd6dddd>gdddd>dej#ejhed)ed@ej9d_d`dd:dEddd>gdddd>dej#ejhed)ed@ej9dadbdd>dddd>gdddd>dej#ejhed)ed@ej9dcddddBdJddd>gdddd>dej#ejhed)ed@ej9dedfddEdMddd>gdddd>dej#ejhed)ed@ej9dgdhddHdNddd>gdddd>dej#ejhed)ed@ej9didjdNdKdddd>gdddd>dej#ejhed)ed@ej9dkdldQdNd5ddd>gdddd>dej#ejhed)ed@ej9dmdndTdQdZddd>gdddd>dej#ejhed)ed@ej9dodpdWdUdddd>gdddd>dej#ejhed)ed@ej9dqdrd[dYdddd>gdddd>dej#ejhed)ed@ej9dsdtd^d]dQdNdd>gdddd>dej#ejhed)ed@ej9dudvdEdadcdQdd>gdddd>dej#ejhed)ed@ggggdd>dggdwdxdZQejdydzdedej9d{d|dd2dddd>gdddd>dej#ejhedfed@ej9d}d~dd6dddd>gdddd>dej#ejhedfed@ej9dddd:dEddd>gdddd>dej#ejhedfed@ej9dddd>dddd>gdddd>dej#ejhedfed@ej9ddddBdJddd>gdddd>dej#ejhedfed@ej9ddddEdMddd>gdddd>dej#ejhedfed@ej9ddddHdNddd>gdddd>dej#ejhedfed@ej9dddNdKdddd>gdddd>dej#ejhedfed@ej9dddQdNd5ddd>gdddd>dej#ejhedfed@ej9dddTdQdZddd>gdddd>dej#ejhedfed@ej9dddWdUdddd>gdddd>dej#ejhedfed@ej9ddd[dYdddd>gdddd>dej#ejhedfed@ej9ddd^d]dQdNdd>gdddd>dej#ejhedfed@ej9dddEdadcdQdd>gdddd>dej#ejhedfed@ggggdd>dggdddZRejdddedggggdd?ddggdddZSejdddedggggdd?ddggdddZTejdddedej9dddddddd>ddddd>dded@ggggdd>dggdddZUejdddedej9dddddNddd>ddddd>dded@ej9dddddcdQdd>ddddd>dded@ej9dddddcdQdd>ddddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9dddddTdTdd>gdddd>dded@ej9dddddJddd>gdddd>dej#ejhed)ed@ggeUgegdd>dggdddZVejdddedej9dddd^dNddd>gdddd>dded@ej9ddddEdddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ej9dddddddd>gdddd>dded@ggggdd>dggd̐d͐dZWejdΐddedej9dАddd[d[dWdd>ddddd>dded@ggggdd>dggdҐdӐdZXejdԐddedej9dАdddtd[dWdd>ddddd>dded@ggggdd>dggdאdؐdZYejdِddedej9dАdddd[dWdd>gdddd>dded@ej9dܐdddd[dWdd>gdddd>dded@ej9dސdddd[dWdd>gdddd>dded@ej9ddddWdWdWdd>gdddd>dded@ej9ddddqdWdWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9ddddd[dWdd>gdddd>dded@ggeXeYggdd>dggddؐdZZejdddedej9dddd[d[dWdd>ddddd>dded@ggggdd>dggdddZ[ejdddedej9ddddtd[dWdd>ddddd>dded@ggggdd>dggdddZ\ejdddedej9ddddd[dWdd>ddddd>dded@ej9ddddd[dWdd>ddddd>dded@ej9ddddd[dWdd>gdddd>dded@ej9dːdddWdWdWdd>ddddd>dded@ej9ddddqdWdWdd>gdddd>dded@gej9ddddd[dWdd>ddddd?dded@ej9ddddd[dWdd>gdddd?dded@geZe[e\ggdd?ddggdddZ]ejdddedej9dddddTdTdd?edjUdgdddd>dded@ggggdd>dggdddZ^ejd d dedggggdd>dggd d dZ_ejd ddedggggdd>dggdddZ`ejdddedggggdd>dggdddZaejdddedggggdd>dggdddZbejdddedggggdd>dggdddZcejdddedggggdd>dggdd dZdejd!d"dedej9d#d$dddddd>ddddd>dded@ej9d%d&dddddd>ddddd>dded@ej9d'd(dddddd>ddddd>dded@ej9d)d*dddddd>ddddd>dded@ej9d+d,dddddd>ddddd>dded@ej9d-d.dddddd>ddddd>ddd/ed0ggggdd>dggd1d2dZeejdd3dedej9d4d5dd6dddd>ddddd>dded@ggggdd>dggd7d8dZfejd9d:dedej9d;dedfjUdgdddd>dded@ej9d=d>dddTdTdd>edfjUdgdddd>dded@ggggej#ejed?d>dggd@dAdZgejdBdCdedej9ddDddEdddd>ddddd>dded@ej9dFdGddHdddd>ddddd>dded@ej9ddIddJdddd>gdddd>dej#ejhedfed@ej9d[dKddLdddd>gdddd>dej#ejhed)ed@ej9dMdNddOdcdQdd>ddddd>dded@ej9dǐdPddQdTdTdd>edfjUdgdddd>dded@ej9dɐdRddSd^dTdd>edfdddd>dded@ej9d͐dTdNdUd[dWdd>ddddd>dded@ej9dːdVdQdWdWdWdd>ddddd>dded@ej9dXdYdTdZd[dWdd>gdddd>dded@ej9d;d[dWd\dEddd>ddddd>dded@ej9d]d^d[d_d[dWdd>ddddd>dded@ej9d?d`d^dadTdTdd>edfjUdgdddd>dded@ej9dAdbdEdcd^dTdd>edfdddd>dded@ggefegggdd?ddgejdCddddgdEgdedfdZhee_iee_iee_ieejjd_keejjd_keejjd_kejlejjd_keejjd_meejjd_mejnejjd_mejoejjd_keejjd_keejjd_keejjd_keejjd_kejlejjd_keejjd_meejjd _mejnejjd _meejjd_keejjd1_meejjd3_mejnejjd5_meejjd=_kee_iejpdCjqjrejjd;ejpdCejjd;_sejpdCjqjrejjd=ejpdCejjd=_sejpdCjqjrejjd?ejpdCejjd?_sejpdCjqjrejjdAejpdCejjdA_seejjdI_keejjdK_keejjdM_ke#e$jjd_ke#e$jjd_ke#e%jjd_ke#e%jjd_ke#e%jjd_kee&jjd_ke+e+jjd_ke/e,jjd_ke.e,_ie,e-jjd_kee-jjd _ke.e-_ie/e.jjd_ke-e.jjd_ke.e/jjd_ke1e0_ie0e1jjd_ke2e1_ie1e2jjd_ke5e3_ie5e4_ie3e5jjd1_ke4e5jjd3_kee6jjd_kee7jjd_kee8jjdD_ke9e8_ie8e9jjd_kee:jjdR_mee:jjdT_kee:jjd^_mee:jjd`_ke<e;_ie;e<jjd_ke'e>jjd_meIeH_ieeIjjd_keHeIjjd_keIjpd1jqjreIjjdeIjpd1eIjjd_seIjpd1jqjreIjjdeIjpd1eIjjd_seIjpd1jqjreIjjdeIjpd1eIjjd_seIjpd1jqjreIjjdeIjpd1eIjjd_seKeJ_ieeKjjd_keJeKjjd_keNeL_ieNeM_ieeNjjd._meMeNjjd_keLeNjjd_keMeNjjd2_keeNjjdB_meNe_ieNjpd1jqjreNjjdeNjpd1eNjjd_seNjpd1jqjreNjjdeNjpd1eNjjd_seNjpd1jqjreNjjd(eNjpd1eNjjd(_seNjpd1jqjreNjjd*eNjpd1eNjjd*_seNjpd1jqjreNjjd,eNjpd1eNjjd,_seNjpd1jqjreNjjd.eNjpd1eNjjd._seNjpd1jqjreNjjdeNjpd1eNjjd_seNjpd1jqjreNjjdeNjpd1eNjjd_seNjpd1jqjreNjjd2eNjpd1eNjjd2_seNjpd3jqjreNjjd4eNjpd3eNjjd4_seNjpd3jqjreNjjd6eNjpd3eNjjd6_seNjpd3jqjreNjjd9eNjpd3eNjjd9_seNjpd3jqjreNjjd<eNjpd3eNjjd<_seNjpd3jqjreNjjd?eNjpd3eNjjd?_seNjpd3jqjreNjjdBeNjpd3eNjjdB_sePeO_ieOePjjd_kePjpd1jqjrePjjdePjpd1ePjjd_sePjpd1jqjrePjjdePjpd1ePjjd_sePjpd1jqjrePjjdePjpd1ePjjd_seeQjjdu_meeRjjd_meVeU_ieeVjjd_meeVjjd_meeVjjd_keUeVjjd_keVe_ieeXjjd_keZeX_ieeYjjd_keZeY_ieeZjjd_keeZjjd_keeZjjd_keXeZjjd_keYeZjjd_keeZjjd_keeZjjd_ke]eZ_iee[jjd_ke]e[_iee\jjd_ke]e\_iee]jjd_kee]jjd_kee]jjd_ke[e]jjd_ke\e]jjd_kehef_ieheg_ieehjjdM_meehjjd_kefehjjd_kegehjjdX_keehjjd]_kehjpdCjqjrehjjd;ehjpdCehjjd;_sehjpdCjqjrehjjd]ehjpdCehjjd]_sehjpdCjqjrehjjd?ehjpdCehjjd?_sehjpdCjqjrehjjdAehjpdCehjjdA_seejtd<eejtdG<eejtdQ<eejtdX<eejtd\<eejtdd<eejtdh<e ejtdm<e!ejtdr<e"ejtdw<e#ejtd<e$ejtd<e%ejtd<e&ejtd<e'ejtd<e(ejtd<e)ejtd<e*ejtd<e+ejtd<e.ejtd <e/ejtd<e2ejtd <e5ejtd.<e6ejtd6<e7ejtd<<e9ejtdH<e:ejtdL<eejtd<e?ejtd<e@ejtd<eAejtd<eBejtd<eCejtd<eDejtd<eEejtd<eFejtd<eGejtd<eIejtd<eKejtd<eNejtd$<ePejtdQ<eQejtdY<eRejtdy<eSejtd<eTejtd<eVejtd<eWejtd<e]ejtd<e^ejtd<e_ejtd <e`ejtd <eaejtd<ebejtd<ecejtd<edejtd<eeejtd!<ehejtdB<eejud<e%ejud"<e'ejud,<e:ejvd<<eejvdC<e@ejvdF<eBejvdH<eDejvdK<eFejvdO<eHejvdR<eJejvdU<eLejvdX<eOejvd\<eQejvd_<eSejvda<eVejvdd<eXejvdh<eZejvdj<e\ejvdl<e^ejvdo<e`ejvdr<ebejvdu<edejvdx<efejvd{<eiejvd~<ekejvd<emejvd<eoejvd<eqejvd<esejvd<euejvd<ewejvd<eyejvd<e{ejvd<e}ejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd<eejvd <eejvd <eejvd<eejvd<eejvd<eejvd<eejvd<eejvd"<eejvd%<eejvd(<eejvd+<eejvd-<eejvd/<eejvd3<eejvd7<eejvd;<eejvd?<eejvdC<eejvdF<eejvdI<eejvdL<eejvdO<eejvdR<eejvdV<eejvdZ<eejvd^<eejvdb<eejvdd<eejvdg<eejvdi<eejvdk<eejvdm<eejvdo<eejvdq<eejvds<eejvdu<eejvdw<eejvdy<e ejvd{<e ejvd}<e ejvd<eejvd<ejwee jxde jyfeze jxde jyfezedgdhe jxde jyfezedgdhe jxde jyfezedgdhedgdiZ{ej|e{ej|e{j}ej|e{j~ej|e{je jxdGe jyfezedgdhZej|ee jxdQe jyfezedgdhZej|ee jxdXe jyfezedgdhZej|ee jxd\e jyfezedgdhZej|ee jxdde jyfezedgdhZej|ee jxdhe jyfezedgdhZej|ee jxdme jyfeze dgdhZej|ee jxdre jyfeze!dgdhZej|ee jxdwe jyfeze"dgdhZej|ee jxde jyfeze#dgdhZej|ee jxde jyfeze$dgdhZej|ee jxde jyfeze%dgdhZej|ee jxde jyfeze&dgdhZej|ee jxde jyfeze'dgdhZej|ee jxde jyfeze(dgdhZej|ee jxde jyfeze)dgdhZej|ee jxde jyfeze*dgdhZej|ee jxde jyfeze+dgdhZej|ee jxd e jyfeze jxde jyfeze,dgdhe jxde jyfeze-dgdhe.dgdjZej|eej|ejej|eje jxde jyfeze/dgdhZej|ee jxd e jyfeze jxde jyfeze jxde jyfeze0dgdhe1dgdke2dgdlZej|eej|ejej|ejje jxd.e jyfeze jxd$e jyfeze3dgdhe jxd)e jyfeze4dgdhe5dgdmZej|eej|ejej|eje jxd6e jyfeze6dgdhZej|ee jxddgdhZej|ee jxde jyfeze?dgdhZej|ee jxde jyfeze@dgdhZej|ee jxde jyfezeAdgdhZej|ee jxde jyfezeBdgdhZej|ee jxde jyfezeCdgdhZej|ee jxde jyfezeDdgdhZej|ee jxde jyfezeEdgdhZej|ee jxde jyfezeFdgdhZej|ee jxde jyfezeGdgdhZej|ee jxde jyfeze jxde jyfezeHdgdheIdgdoZej|eej|eje jxde jyfeze jxde jyfezeJdgdheKdgdoZej|eej|eje jxd$e jyfeze jxde jyfezeLdgdhe jxde jyfezeMdgdheNdgdpZej|eej|ejej|ej}e jxdQe jyfeze jxde jyfezeOdgdhePdgdnZej|eej|ej}e jxdYe jyfezeQdgdhZej|ee jxdye jyfezeRdgdhZej|ee jxde jyfezeSdgdhZej|ee jxde jyfezeTdgdhZej|ee jxde jyfeze jxde jyfezeUdgdheVdgdqZej|eej|eje jxde jyfezeWdgdhZej|ee jxde jyfeze jxde jyfeze jxde jyfezeXdgdhe jxde jyfezeYdgdheZdgdre jxde jyfeze[dgdhe jxde jyfeze\dgdhe]dgdsZej|eej|ejej|ejjej|ejjej|ej~ej|eje jxde jyfeze^dgdhZej|ee jxd e jyfeze_dgdhZej|ee jxd e jyfeze`dgdhZej|ee jxde jyfezeadgdhZej|ee jxde jyfezebdgdhZej|ee jxde jyfezecdgdhZej|ee jxde jyfezeddgdhZej|ee jxd!e jyfezeedgdhZej|ee jxdBe jyfeze jxde jyfezefdgdhe jxd9e jyfezegdgdhehdgdtZej|eƒej|ej~ej|ejÃeje:eje<eje>eje@ejeBejeDejeFejeHejeJejeLejeOejeQejeSejeVejeXe eZ_kejeZee\_keje\ee^_keje^ejle`_keje`eeb_mejebeed_mejedejnef_mejefejeiejekejoem_kejemeeo_kejeoejeqejesejeuejewejeyeje{eje}ejeejeejeejeejeejeejeejee!e_kejeee_kejeee_kejeejle_kejeee_mejeee_mejeejne_mejeejeejeee_kejeejeejeejeejeejeejeejeejeejeejeejeejeejeejeejeee_mejeeeÐ_mejeÃejneŐ_mejeŃejeǃejeɃeje˃ee͐_keje̓ejeσejeуejeӃejeՃeje׃ejeكejeۃeje݃eje߃ejeejeejeejeejeejeejeejeee_mejeejeejeejeejeejeejeejeejĐeejĐeejĐeejĐeejĐe ejĐe ee _mejĐe ee_kejĐeejĐe"jvdyejĐe"jvd|e#e#jvd_kejĐe#jvde#e#jvd_kejĐe#jvdee]jvd_kejĐe]jvdee]jvd_kejĐe]jvdd?e_ej#ejƃedue_d?e%_ej#ej$ed)e%_d?ei_ej#ejhedei_d?ek_ej#ejhedek_d?eo_ej#ejhedeo_d?e_ej#ejhede_d?e_ej#ejhede_d?e_ej#ejhede_d?eǐ_ej#ejhedeǐ_d?eɐ_ej#ejhedeɐ_d?eא_ej#ejhed)eא_d?eِ_ej#ejhed)eِ_d?eې_ej#ejhed)eې_d?eݐ_ej#ejhed)eݐ_d?eߐ_ej#ejhed)eߐ_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhed)e_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e_ej#ejhedfe_d?e _ej#ejhedfe _d?e _ej#ejhedfe _d?e _ej#ejhedfe _d?ejjd_ej#ejhedejjd_d?ejjd_ej#ejhedejjd_d?ejjd_ej#ejhedejjd_d?ejjd _ej#ejhedejjd _d?ejjd_ej#ejhedejjd_d?ejjd_ej#ejhedejjd_d?ejjd7_ej#ejhedejjd7_d?ejjd9_ej#ejhedejjd9_d?ejjdS_ej#ejhedUejjdS_d?e_ej#ejedUe_d?e6jjd_ej#ejhed9e6jjd_d?e7jjd_ej#ejhede7jjd_d?e:jjdV_ej#ejhede:jjdV_d?e:jjdX_ej#ejhede:jjdX_d?e:jjdb_ej#ejhede:jjdb_d?e:jjdd_ej#ejhede:jjdd_d?e=jjd_ej#ejhede=jjd_d?e=jjd_ej#ejhede=jjd_d?eNjjd(_ej#ejhedeNjjd(_d?eNjjd*_ej#ejhedeNjjd*_d?eNjjd2_ej#ejhedeNjjd2_d?eNjjd9_ej#ejhedeNjjd9_d?eNjjd<_ej#ejhedeNjjd<_d?eQjjd[_ej#ejhed)eQjjd[_d?eQjjd]_ej#ejhed)eQjjd]_d?eQjjd__ej#ejhed)eQjjd__d?eQjjda_ej#ejhed)eQjjda_d?eQjjdc_ej#ejhed)eQjjdc_d?eQjjde_ej#ejhed)eQjjde_d?eQjjdg_ej#ejhed)eQjjdg_d?eQjjdi_ej#ejhed)eQjjdi_d?eQjjdk_ej#ejhed)eQjjdk_d?eQjjdm_ej#ejhed)eQjjdm_d?eQjjdo_ej#ejhed)eQjjdo_d?eQjjdq_ej#ejhed)eQjjdq_d?eQjjds_ej#ejhed)eQjjds_d?eQjjdu_ej#ejhed)eQjjdu_d?eRjjd{_ej#ejhedfeRjjd{_d?eRjjd}_ej#ejhedfeRjjd}_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eRjjd_ej#ejhedfeRjjd_d?eVjjd_ej#ejhed)eVjjd_d?eg_ej#ejed?eg_d?ehjjd_ej#ejhedfehjjd_d?ehjjd[_ej#ejhed)ehjjd[_ejȐdvdwedddxdyejɐd$dzdde_e`dd{ejɐd)d|ddeceddd{gd}Zejːeʃeej̐dv<ej͐dvejfezeʐdgdhZejАd~efezeʐdgdhZdS(NcCs|S)N)xrr"/usr/lib/python3.6/unittest_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)service)service_reflection)descriptor_pb2)unittest_import_pb2zgoogle/protobuf/unittest.protoZprotobuf_unittestZproto2uG] google/protobuf/unittest.protoprotobuf_unittest%google/protobuf/unittest_import.proto"í TestAllTypes optional_int32 ( optional_int64 ( optional_uint32 (  optional_uint64 ( optional_sint32 ( optional_sint64 ( optional_fixed32 ( optional_fixed64 ( optional_sfixed32 ( optional_sfixed64 ( optional_float ( optional_double ( optional_bool ( optional_string (  optional_bytes ( D optionalgroup ( 2-.protobuf_unittest.TestAllTypes.OptionalGroupN optional_nested_message ( 2-.protobuf_unittest.TestAllTypes.NestedMessageC optional_foreign_message ( 2!.protobuf_unittest.ForeignMessageH optional_import_message ( 2'.protobuf_unittest_import.ImportMessageH optional_nested_enum (2*.protobuf_unittest.TestAllTypes.NestedEnum= optional_foreign_enum (2.protobuf_unittest.ForeignEnumB optional_import_enum (2$.protobuf_unittest_import.ImportEnum! optional_string_piece ( B optional_cord ( BU optional_public_import_message ( 2-.protobuf_unittest_import.PublicImportMessageP optional_lazy_message ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB( repeated_int32 ( repeated_int64 ( repeated_uint32! (  repeated_uint64" ( repeated_sint32# ( repeated_sint64$ ( repeated_fixed32% ( repeated_fixed64& ( repeated_sfixed32' ( repeated_sfixed64( ( repeated_float) ( repeated_double* ( repeated_bool+ ( repeated_string, (  repeated_bytes- ( D repeatedgroup. ( 2-.protobuf_unittest.TestAllTypes.RepeatedGroupN repeated_nested_message0 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageC repeated_foreign_message1 ( 2!.protobuf_unittest.ForeignMessageH repeated_import_message2 ( 2'.protobuf_unittest_import.ImportMessageH repeated_nested_enum3 (2*.protobuf_unittest.TestAllTypes.NestedEnum= repeated_foreign_enum4 (2.protobuf_unittest.ForeignEnumB repeated_import_enum5 (2$.protobuf_unittest_import.ImportEnum! repeated_string_piece6 ( B repeated_cord7 ( BP repeated_lazy_message9 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB( default_int32= (:41 default_int64> (:42 default_uint32? ( :43 default_uint64@ (:44 default_sint32A (:-45 default_sint64B (:46 default_fixed32C (:47 default_fixed64D (:48 default_sfixed32E (:49 default_sfixed64F (:-50 default_floatG (:51.5 default_doubleH (:52000 default_boolI (:true default_stringJ ( :hello default_bytesK ( :worldL default_nested_enumQ (2*.protobuf_unittest.TestAllTypes.NestedEnum:BARI default_foreign_enumR (2.protobuf_unittest.ForeignEnum: FOREIGN_BARM default_import_enumS (2$.protobuf_unittest_import.ImportEnum: IMPORT_BAR% default_string_pieceT ( :abcB default_cordU ( :123B oneof_uint32o ( HM oneof_nested_messagep ( 2-.protobuf_unittest.TestAllTypes.NestedMessageH oneof_stringq ( H oneof_bytesr ( H NestedMessage bb ( OptionalGroup a ( RepeatedGroup a/ ("9 NestedEnum FOO BAR BAZ NEGÿÿÿÿÿÿÿÿÿB oneof_field"» NestedTestAllTypes4 child ( 2%.protobuf_unittest.NestedTestAllTypes0 payload ( 2.protobuf_unittest.TestAllTypes= repeated_child ( 2%.protobuf_unittest.NestedTestAllTypes"4 TestDeprecatedFields deprecated_int32 (B" TestDeprecatedMessage:"& ForeignMessage c ( d ("0 TestReservedFieldsJJJ  RbarRbaz" TestAllExtensions*€€€€"$ OptionalGroup_extension a ("$ RepeatedGroup_extension a/ ("˜ TestNestedExtension29 test$.protobuf_unittest.TestAllExtensionsê ( :test2F nested_string_extension$.protobuf_unittest.TestAllExtensionsë ( "Õ TestRequired a ( dummy2 ( b ( dummy4 ( dummy5 ( dummy6 ( dummy7 ( dummy8 ( dummy9 ( dummy10 ( dummy11 ( dummy12 ( dummy13 ( dummy14 ( dummy15 ( dummy16 ( dummy17 ( dummy18 ( dummy19 ( dummy20 ( dummy21 ( dummy22 ( dummy23 ( dummy24 ( dummy25 ( dummy26 ( dummy27 ( dummy28 ( dummy29 ( dummy30 ( dummy31 ( dummy32 ( c! (2V single$.protobuf_unittest.TestAllExtensionsè ( 2.protobuf_unittest.TestRequired2U multi$.protobuf_unittest.TestAllExtensionsé ( 2.protobuf_unittest.TestRequired"š TestRequiredForeign9 optional_message ( 2.protobuf_unittest.TestRequired9 repeated_message ( 2.protobuf_unittest.TestRequired dummy ("Æ TestRequiredMessage9 optional_message ( 2.protobuf_unittest.TestRequired9 repeated_message ( 2.protobuf_unittest.TestRequired9 required_message ( 2.protobuf_unittest.TestRequired"Z TestForeignNestedE foreign_nested ( 2-.protobuf_unittest.TestAllTypes.NestedMessage" TestEmptyMessage"* TestEmptyMessageWithExtensions*€€€€"7 TestMultipleExtensionRanges**+*¯ ”!* €€€€€€"4 TestReallyLargeTagNumber a ( bbÿÿÿ ("U TestRecursiveMessage2 a ( 2'.protobuf_unittest.TestRecursiveMessage i ("á TestMutualRecursionA3 bb ( 2'.protobuf_unittest.TestMutualRecursionBB subgroup ( 20.protobuf_unittest.TestMutualRecursionA.SubGroup@ SubMessage2 b ( 2'.protobuf_unittest.TestMutualRecursionB SubGroupG sub_message ( 22.protobuf_unittest.TestMutualRecursionA.SubMessage8 not_in_this_scc ( 2.protobuf_unittest.TestAllTypes"b TestMutualRecursionB2 a ( 2'.protobuf_unittest.TestMutualRecursionA optional_int32 ("Ê TestIsInitializedD sub_message ( 2/.protobuf_unittest.TestIsInitialized.SubMessageo SubMessageJ subgroup ( 28.protobuf_unittest.TestIsInitialized.SubMessage.SubGroup SubGroup i ("³ TestDupFieldNumber a (6 foo ( 2).protobuf_unittest.TestDupFieldNumber.Foo6 bar ( 2).protobuf_unittest.TestDupFieldNumber.Bar Foo a ( Bar a ("L TestEagerMessage8 sub_message ( 2.protobuf_unittest.TestAllTypesB("K TestLazyMessage8 sub_message ( 2.protobuf_unittest.TestAllTypesB("€ TestNestedMessageHasBitsZ optional_nested_message ( 29.protobuf_unittest.TestNestedMessageHasBits.NestedMessage‡ NestedMessage$ nestedmessage_repeated_int32 (P %nestedmessage_repeated_foreignmessage ( 2!.protobuf_unittest.ForeignMessage"å TestCamelCaseFieldNames PrimitiveField ( StringField ( 1 EnumField (2.protobuf_unittest.ForeignEnum7 MessageField ( 2!.protobuf_unittest.ForeignMessage StringPieceField ( B CordField ( B RepeatedPrimitiveField ( RepeatedStringField ( 9 RepeatedEnumField (2.protobuf_unittest.ForeignEnum? RepeatedMessageField ( 2!.protobuf_unittest.ForeignMessage$ RepeatedStringPieceField ( B RepeatedCordField ( B"Õ TestFieldOrderings my_string (  my_int ( my_floate (U optional_nested_messageÈ ( 23.protobuf_unittest.TestFieldOrderings.NestedMessage' NestedMessage oo ( bb (* * e"¶ TestExtremeDefaultValues? escaped_bytes ( :(\000\001\007\010\014\n\r\t\013\\\'\"\376 large_uint32 ( : 4294967295* large_uint64 (:18446744073709551615 small_int32 (: -2147483647) small_int64 (:-9223372036854775807' really_small_int32 (: -21474836480 really_small_int64 (:-9223372036854775808 utf8_string ( :ሴ zero_float (:0 one_float (:1 small_float (:1.5 negative_one_float (:-1 negative_float (:-1.5 large_float (:2e+08$ small_negative_float (:-8e-28 inf_double (:inf neg_inf_double (:-inf nan_double (:nan inf_float (:inf neg_inf_float (:-inf nan_float (:nan+ cpp_trigraph ( :? ? ?? ?? ??? ??/ ??- string_with_zero ( :hello" bytes_with_zero ( : wor\000ld( string_piece_with_zero ( :abcB cord_with_zero ( :123B& replacement_string ( : ${unknown}"K SparseEnumMessage6 sparse_enum (2!.protobuf_unittest.TestSparseEnum" OneString data ( " MoreString data ( " OneBytes data ( " MoreBytes data ( " Int32Message data (" Uint32Message data ( " Int64Message data (" Uint64Message data (" BoolMessage data ("Ð TestOneof foo_int (H foo_string ( H6 foo_message ( 2.protobuf_unittest.TestAllTypesH9 foogroup ( 2%.protobuf_unittest.TestOneof.FooGroupH FooGroup a ( b ( B foo"ç TestOneofBackwardsCompatible foo_int ( foo_string ( 4 foo_message ( 2.protobuf_unittest.TestAllTypesJ foogroup ( 28.protobuf_unittest.TestOneofBackwardsCompatible.FooGroup FooGroup a ( b ( "ž TestOneof2 foo_int (H foo_string ( H foo_cord ( BH foo_string_piece ( BH foo_bytes ( H< foo_enum (2(.protobuf_unittest.TestOneof2.NestedEnumHB foo_message ( 2+.protobuf_unittest.TestOneof2.NestedMessageH: foogroup ( 2&.protobuf_unittest.TestOneof2.FooGroupHK foo_lazy_message ( 2+.protobuf_unittest.TestOneof2.NestedMessageB(H bar_int (:5H bar_string ( :STRINGH bar_cord ( :CORDBH& bar_string_piece ( :SPIECEBH bar_bytes ( :BYTESHA bar_enum (2(.protobuf_unittest.TestOneof2.NestedEnum:BARH baz_int ( baz_string ( :BAZ FooGroup a ( b ( 3 NestedMessage qux_int ( corge_int ("' NestedEnum FOO BAR BAZB fooB bar"¸ TestRequiredOneof foo_int (H foo_string ( HI foo_message ( 22.protobuf_unittest.TestRequiredOneof.NestedMessageH( NestedMessage required_double (B foo"ª TestPackedTypes packed_int32Z (B packed_int64[ (B packed_uint32\ ( B packed_uint64] (B packed_sint32^ (B packed_sint64_ (B packed_fixed32` (B packed_fixed64a (B packed_sfixed32b (B packed_sfixed64c (B packed_floatd (B packed_doublee (B packed_boolf (B7 packed_enumg (2.protobuf_unittest.ForeignEnumB"È TestUnpackedTypes unpacked_int32Z (B unpacked_int64[ (B unpacked_uint32\ ( B unpacked_uint64] (B unpacked_sint32^ (B unpacked_sint64_ (B unpacked_fixed32` (B unpacked_fixed64a (B unpacked_sfixed32b (B unpacked_sfixed64c (B unpacked_floatd (B unpacked_doublee (B unpacked_boolf (B9 unpacked_enumg (2.protobuf_unittest.ForeignEnumB" TestPackedExtensions*€€€€"" TestUnpackedExtensions*€€€€"™ TestDynamicExtensions scalar_extensionÐ (7 enum_extensionÑ (2.protobuf_unittest.ForeignEnumY dynamic_enum_extensionÒ (28.protobuf_unittest.TestDynamicExtensions.DynamicEnumType= message_extensionÓ ( 2!.protobuf_unittest.ForeignMessage_ dynamic_message_extensionÔ ( 2;.protobuf_unittest.TestDynamicExtensions.DynamicMessageType repeated_extensionÕ (  packed_extensionÖ (B, DynamicMessageType dynamic_field´ ("G DynamicEnumType DYNAMIC_FOO˜ DYNAMIC_BAR™ DYNAMIC_BAZš"À #TestRepeatedScalarDifferentTagSizes repeated_fixed32 ( repeated_int32 ( repeated_fixed64þ ( repeated_int64ÿ ( repeated_floatþÿ ( repeated_uint64ÿÿ ("÷ TestParsingMerge; required_all_types ( 2.protobuf_unittest.TestAllTypes; optional_all_types ( 2.protobuf_unittest.TestAllTypes; repeated_all_types ( 2.protobuf_unittest.TestAllTypesH optionalgroup ( 21.protobuf_unittest.TestParsingMerge.OptionalGroupH repeatedgroup ( 21.protobuf_unittest.TestParsingMerge.RepeatedGroupª RepeatedFieldsGenerator/ field1 ( 2.protobuf_unittest.TestAllTypes/ field2 ( 2.protobuf_unittest.TestAllTypes/ field3 ( 2.protobuf_unittest.TestAllTypesR group1 ( 2B.protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1R group2 ( 2B.protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2. ext1è ( 2.protobuf_unittest.TestAllTypes. ext2é ( 2.protobuf_unittest.TestAllTypes9 Group1/ field1 ( 2.protobuf_unittest.TestAllTypes9 Group2/ field1 ( 2.protobuf_unittest.TestAllTypesR OptionalGroupA optional_group_all_types ( 2.protobuf_unittest.TestAllTypesR RepeatedGroupA repeated_group_all_types ( 2.protobuf_unittest.TestAllTypes* 耀€€2[ optional_ext#.protobuf_unittest.TestParsingMergeè ( 2.protobuf_unittest.TestAllTypes2[ repeated_ext#.protobuf_unittest.TestParsingMergeé ( 2.protobuf_unittest.TestAllTypes"D TestCommentInjectionMessage% a ( :*/ <- Neither should this." FooRequest" FooResponse" FooClientMessage" FooServerMessage" BarRequest" BarResponse"’ TestJsonName field_name1 ( fieldName2 ( FieldName3 ( _field_name4 ( FIELD_NAME5 ( field_name6 (R@type"ý TestHugeFieldNumbers optional_int32ðøÿÿ ( fixed_32ñøÿÿ ( repeated_int32òøÿÿ (B packed_int32óøÿÿ (B9 optional_enumôøÿÿ (2.protobuf_unittest.ForeignEnum optional_stringõøÿÿ (  optional_bytesöøÿÿ ( ? optional_message÷øÿÿ ( 2!.protobuf_unittest.ForeignMessageP optionalgroupøøÿÿ ( 25.protobuf_unittest.TestHugeFieldNumbers.OptionalGroup[ string_string_mapúøÿÿ ( 2<.protobuf_unittest.TestHugeFieldNumbers.StringStringMapEntry oneof_uint32ûøÿÿ ( HC oneof_test_all_typesüøÿÿ ( 2.protobuf_unittest.TestAllTypesH oneof_stringýøÿÿ ( H oneof_bytesþøÿÿ ( H$ OptionalGroup group_aùøÿÿ (6 StringStringMapEntry key (  value ( :8* àªÿÿðøÿÿB oneof_field*@ ForeignEnum FOREIGN_FOO FOREIGN_BAR FOREIGN_BAZ*K TestEnumWithDupValue FOO1 BAR1 BAZ FOO2 BAR2*‰ TestSparseEnum SPARSE_A{ SPARSE_B¦ç SPARSE_C²±€ SPARSE_Dñÿÿÿÿÿÿÿÿ SPARSE_E´Þüÿÿÿÿÿÿ SPARSE_F SPARSE_G2™ TestServiceD Foo.protobuf_unittest.FooRequest.protobuf_unittest.FooResponseD Bar.protobuf_unittest.BarRequest.protobuf_unittest.BarResponse:F optional_int32_extension$.protobuf_unittest.TestAllExtensions (:F optional_int64_extension$.protobuf_unittest.TestAllExtensions (:G optional_uint32_extension$.protobuf_unittest.TestAllExtensions ( :G optional_uint64_extension$.protobuf_unittest.TestAllExtensions (:G optional_sint32_extension$.protobuf_unittest.TestAllExtensions (:G optional_sint64_extension$.protobuf_unittest.TestAllExtensions (:H optional_fixed32_extension$.protobuf_unittest.TestAllExtensions (:H optional_fixed64_extension$.protobuf_unittest.TestAllExtensions (:I optional_sfixed32_extension$.protobuf_unittest.TestAllExtensions (:I optional_sfixed64_extension$.protobuf_unittest.TestAllExtensions (:F optional_float_extension$.protobuf_unittest.TestAllExtensions (:G optional_double_extension$.protobuf_unittest.TestAllExtensions (:E optional_bool_extension$.protobuf_unittest.TestAllExtensions (:G optional_string_extension$.protobuf_unittest.TestAllExtensions ( :F optional_bytes_extension$.protobuf_unittest.TestAllExtensions ( :q optionalgroup_extension$.protobuf_unittest.TestAllExtensions ( 2*.protobuf_unittest.OptionalGroup_extension:~ !optional_nested_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest.TestAllTypes.NestedMessage:s "optional_foreign_message_extension$.protobuf_unittest.TestAllExtensions ( 2!.protobuf_unittest.ForeignMessage:x !optional_import_message_extension$.protobuf_unittest.TestAllExtensions ( 2'.protobuf_unittest_import.ImportMessage:x optional_nested_enum_extension$.protobuf_unittest.TestAllExtensions (2*.protobuf_unittest.TestAllTypes.NestedEnum:m optional_foreign_enum_extension$.protobuf_unittest.TestAllExtensions (2.protobuf_unittest.ForeignEnum:r optional_import_enum_extension$.protobuf_unittest.TestAllExtensions (2$.protobuf_unittest_import.ImportEnum:Q optional_string_piece_extension$.protobuf_unittest.TestAllExtensions ( B:I optional_cord_extension$.protobuf_unittest.TestAllExtensions ( B:… (optional_public_import_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest_import.PublicImportMessage:€ optional_lazy_message_extension$.protobuf_unittest.TestAllExtensions ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB(:F repeated_int32_extension$.protobuf_unittest.TestAllExtensions (:F repeated_int64_extension$.protobuf_unittest.TestAllExtensions (:G repeated_uint32_extension$.protobuf_unittest.TestAllExtensions! ( :G repeated_uint64_extension$.protobuf_unittest.TestAllExtensions" (:G repeated_sint32_extension$.protobuf_unittest.TestAllExtensions# (:G repeated_sint64_extension$.protobuf_unittest.TestAllExtensions$ (:H repeated_fixed32_extension$.protobuf_unittest.TestAllExtensions% (:H repeated_fixed64_extension$.protobuf_unittest.TestAllExtensions& (:I repeated_sfixed32_extension$.protobuf_unittest.TestAllExtensions' (:I repeated_sfixed64_extension$.protobuf_unittest.TestAllExtensions( (:F repeated_float_extension$.protobuf_unittest.TestAllExtensions) (:G repeated_double_extension$.protobuf_unittest.TestAllExtensions* (:E repeated_bool_extension$.protobuf_unittest.TestAllExtensions+ (:G repeated_string_extension$.protobuf_unittest.TestAllExtensions, ( :F repeated_bytes_extension$.protobuf_unittest.TestAllExtensions- ( :q repeatedgroup_extension$.protobuf_unittest.TestAllExtensions. ( 2*.protobuf_unittest.RepeatedGroup_extension:~ !repeated_nested_message_extension$.protobuf_unittest.TestAllExtensions0 ( 2-.protobuf_unittest.TestAllTypes.NestedMessage:s "repeated_foreign_message_extension$.protobuf_unittest.TestAllExtensions1 ( 2!.protobuf_unittest.ForeignMessage:x !repeated_import_message_extension$.protobuf_unittest.TestAllExtensions2 ( 2'.protobuf_unittest_import.ImportMessage:x repeated_nested_enum_extension$.protobuf_unittest.TestAllExtensions3 (2*.protobuf_unittest.TestAllTypes.NestedEnum:m repeated_foreign_enum_extension$.protobuf_unittest.TestAllExtensions4 (2.protobuf_unittest.ForeignEnum:r repeated_import_enum_extension$.protobuf_unittest.TestAllExtensions5 (2$.protobuf_unittest_import.ImportEnum:Q repeated_string_piece_extension$.protobuf_unittest.TestAllExtensions6 ( B:I repeated_cord_extension$.protobuf_unittest.TestAllExtensions7 ( B:€ repeated_lazy_message_extension$.protobuf_unittest.TestAllExtensions9 ( 2-.protobuf_unittest.TestAllTypes.NestedMessageB(:I default_int32_extension$.protobuf_unittest.TestAllExtensions= (:41:I default_int64_extension$.protobuf_unittest.TestAllExtensions> (:42:J default_uint32_extension$.protobuf_unittest.TestAllExtensions? ( :43:J default_uint64_extension$.protobuf_unittest.TestAllExtensions@ (:44:K default_sint32_extension$.protobuf_unittest.TestAllExtensionsA (:-45:J default_sint64_extension$.protobuf_unittest.TestAllExtensionsB (:46:K default_fixed32_extension$.protobuf_unittest.TestAllExtensionsC (:47:K default_fixed64_extension$.protobuf_unittest.TestAllExtensionsD (:48:L default_sfixed32_extension$.protobuf_unittest.TestAllExtensionsE (:49:M default_sfixed64_extension$.protobuf_unittest.TestAllExtensionsF (:-50:K default_float_extension$.protobuf_unittest.TestAllExtensionsG (:51.5:M default_double_extension$.protobuf_unittest.TestAllExtensionsH (:52000:J default_bool_extension$.protobuf_unittest.TestAllExtensionsI (:true:M default_string_extension$.protobuf_unittest.TestAllExtensionsJ ( :hello:L default_bytes_extension$.protobuf_unittest.TestAllExtensionsK ( :world:| default_nested_enum_extension$.protobuf_unittest.TestAllExtensionsQ (2*.protobuf_unittest.TestAllTypes.NestedEnum:BAR:y default_foreign_enum_extension$.protobuf_unittest.TestAllExtensionsR (2.protobuf_unittest.ForeignEnum: FOREIGN_BAR:} default_import_enum_extension$.protobuf_unittest.TestAllExtensionsS (2$.protobuf_unittest_import.ImportEnum: IMPORT_BAR:U default_string_piece_extension$.protobuf_unittest.TestAllExtensionsT ( :abcB:M default_cord_extension$.protobuf_unittest.TestAllExtensionsU ( :123B:D oneof_uint32_extension$.protobuf_unittest.TestAllExtensionso ( :{ oneof_nested_message_extension$.protobuf_unittest.TestAllExtensionsp ( 2-.protobuf_unittest.TestAllTypes.NestedMessage:D oneof_string_extension$.protobuf_unittest.TestAllExtensionsq ( :C oneof_bytes_extension$.protobuf_unittest.TestAllExtensionsr ( :B my_extension_string%.protobuf_unittest.TestFieldOrderings2 ( :? my_extension_int%.protobuf_unittest.TestFieldOrderings (:K packed_int32_extension'.protobuf_unittest.TestPackedExtensionsZ (B:K packed_int64_extension'.protobuf_unittest.TestPackedExtensions[ (B:L packed_uint32_extension'.protobuf_unittest.TestPackedExtensions\ ( B:L packed_uint64_extension'.protobuf_unittest.TestPackedExtensions] (B:L packed_sint32_extension'.protobuf_unittest.TestPackedExtensions^ (B:L packed_sint64_extension'.protobuf_unittest.TestPackedExtensions_ (B:M packed_fixed32_extension'.protobuf_unittest.TestPackedExtensions` (B:M packed_fixed64_extension'.protobuf_unittest.TestPackedExtensionsa (B:N packed_sfixed32_extension'.protobuf_unittest.TestPackedExtensionsb (B:N packed_sfixed64_extension'.protobuf_unittest.TestPackedExtensionsc (B:K packed_float_extension'.protobuf_unittest.TestPackedExtensionsd (B:L packed_double_extension'.protobuf_unittest.TestPackedExtensionse (B:J packed_bool_extension'.protobuf_unittest.TestPackedExtensionsf (B:j packed_enum_extension'.protobuf_unittest.TestPackedExtensionsg (2.protobuf_unittest.ForeignEnumB:O unpacked_int32_extension).protobuf_unittest.TestUnpackedExtensionsZ (B:O unpacked_int64_extension).protobuf_unittest.TestUnpackedExtensions[ (B:P unpacked_uint32_extension).protobuf_unittest.TestUnpackedExtensions\ ( B:P unpacked_uint64_extension).protobuf_unittest.TestUnpackedExtensions] (B:P unpacked_sint32_extension).protobuf_unittest.TestUnpackedExtensions^ (B:P unpacked_sint64_extension).protobuf_unittest.TestUnpackedExtensions_ (B:Q unpacked_fixed32_extension).protobuf_unittest.TestUnpackedExtensions` (B:Q unpacked_fixed64_extension).protobuf_unittest.TestUnpackedExtensionsa (B:R unpacked_sfixed32_extension).protobuf_unittest.TestUnpackedExtensionsb (B:R unpacked_sfixed64_extension).protobuf_unittest.TestUnpackedExtensionsc (B:O unpacked_float_extension).protobuf_unittest.TestUnpackedExtensionsd (B:P unpacked_double_extension).protobuf_unittest.TestUnpackedExtensionse (B:N unpacked_bool_extension).protobuf_unittest.TestUnpackedExtensionsf (B:n unpacked_enum_extension).protobuf_unittest.TestUnpackedExtensionsg (2.protobuf_unittest.ForeignEnumB:d test_all_types'.protobuf_unittest.TestHugeFieldNumbersàªÿÿ ( 2.protobuf_unittest.TestAllTypesBB UnittestProtoH€ˆø)namepackagesyntaxZ serialized_pbZ dependencies ForeignEnumzprotobuf_unittest.ForeignEnum FOREIGN_FOO)rindexnumberoptionstype FOREIGN_BAR FOREIGN_BAZi6i<7) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endTestEnumWithDupValuez&protobuf_unittest.TestEnumWithDupValueFOO1BAR1BAZFOO2BAR2zi>7i7TestSparseEnumz protobuf_unittest.TestSparseEnumSPARSE_A{SPARSE_BiSPARSE_CiSPARSE_DSPARSE_EiSPARSE_FSPARSE_Gi7i8optional_int32_extensionz*protobuf_unittest.optional_int32_extensionFT)rr"rrrcpp_typelabelhas_default_value default_value message_type enum_typer& is_extensionextension_scoperr$optional_int64_extensionz*protobuf_unittest.optional_int64_extensionoptional_uint32_extensionz+protobuf_unittest.optional_uint32_extension optional_uint64_extensionz+protobuf_unittest.optional_uint64_extensionoptional_sint32_extensionz+protobuf_unittest.optional_sint32_extensionoptional_sint64_extensionz+protobuf_unittest.optional_sint64_extensionoptional_fixed32_extensionz,protobuf_unittest.optional_fixed32_extensionoptional_fixed64_extensionz,protobuf_unittest.optional_fixed64_extension optional_sfixed32_extensionz-protobuf_unittest.optional_sfixed32_extension optional_sfixed64_extensionz-protobuf_unittest.optional_sfixed64_extension optional_float_extensionz*protobuf_unittest.optional_float_extension optional_double_extensionz+protobuf_unittest.optional_double_extensionoptional_bool_extensionz)protobuf_unittest.optional_bool_extensionoptional_string_extensionz+protobuf_unittest.optional_string_extensionzutf-8optional_bytes_extensionz*protobuf_unittest.optional_bytes_extensionoptionalgroup_extensionz)protobuf_unittest.optionalgroup_extension!optional_nested_message_extensionz3protobuf_unittest.optional_nested_message_extension"optional_foreign_message_extensionz4protobuf_unittest.optional_foreign_message_extension!optional_import_message_extensionz3protobuf_unittest.optional_import_message_extensionoptional_nested_enum_extensionz0protobuf_unittest.optional_nested_enum_extensionoptional_foreign_enum_extensionz1protobuf_unittest.optional_foreign_enum_extensionoptional_import_enum_extensionz0protobuf_unittest.optional_import_enum_extensionoptional_string_piece_extensionz1protobuf_unittest.optional_string_piece_extensionzoptional_cord_extensionz)protobuf_unittest.optional_cord_extensionz(optional_public_import_message_extensionz:protobuf_unittest.optional_public_import_message_extensionoptional_lazy_message_extensionz1protobuf_unittest.optional_lazy_message_extensionz(repeated_int32_extensionz*protobuf_unittest.repeated_int32_extension repeated_int64_extensionz*protobuf_unittest.repeated_int64_extension!repeated_uint32_extensionz+protobuf_unittest.repeated_uint32_extension"repeated_uint64_extensionz+protobuf_unittest.repeated_uint64_extension#repeated_sint32_extensionz+protobuf_unittest.repeated_sint32_extension$repeated_sint64_extensionz+protobuf_unittest.repeated_sint64_extension%repeated_fixed32_extensionz,protobuf_unittest.repeated_fixed32_extension&repeated_fixed64_extensionz,protobuf_unittest.repeated_fixed64_extension'repeated_sfixed32_extensionz-protobuf_unittest.repeated_sfixed32_extension(repeated_sfixed64_extensionz-protobuf_unittest.repeated_sfixed64_extension)repeated_float_extensionz*protobuf_unittest.repeated_float_extension*repeated_double_extensionz+protobuf_unittest.repeated_double_extension+repeated_bool_extensionz)protobuf_unittest.repeated_bool_extension,repeated_string_extensionz+protobuf_unittest.repeated_string_extension-repeated_bytes_extensionz*protobuf_unittest.repeated_bytes_extension.repeatedgroup_extensionz)protobuf_unittest.repeatedgroup_extension0!repeated_nested_message_extensionz3protobuf_unittest.repeated_nested_message_extension1"repeated_foreign_message_extensionz4protobuf_unittest.repeated_foreign_message_extension2!repeated_import_message_extensionz3protobuf_unittest.repeated_import_message_extension3repeated_nested_enum_extensionz0protobuf_unittest.repeated_nested_enum_extension4repeated_foreign_enum_extensionz1protobuf_unittest.repeated_foreign_enum_extension5repeated_import_enum_extensionz0protobuf_unittest.repeated_import_enum_extension/6repeated_string_piece_extensionz1protobuf_unittest.repeated_string_piece_extension7repeated_cord_extensionz)protobuf_unittest.repeated_cord_extension9repeated_lazy_message_extensionz1protobuf_unittest.repeated_lazy_message_extension=default_int32_extensionz)protobuf_unittest.default_int32_extension>default_int64_extensionz)protobuf_unittest.default_int64_extension?default_uint32_extensionz*protobuf_unittest.default_uint32_extension@default_uint64_extensionz*protobuf_unittest.default_uint64_extensionAdefault_sint32_extensionz*protobuf_unittest.default_sint32_extensionBdefault_sint64_extensionz*protobuf_unittest.default_sint64_extension8Cdefault_fixed32_extensionz+protobuf_unittest.default_fixed32_extensionDdefault_fixed64_extensionz+protobuf_unittest.default_fixed64_extension:Edefault_sfixed32_extensionz,protobuf_unittest.default_sfixed32_extension;Fdefault_sfixed64_extensionz,protobuf_unittest.default_sfixed64_extension<Gdefault_float_extensionz)protobuf_unittest.default_float_extensiongI@Hdefault_double_extensionz*protobuf_unittest.default_double_extensioni Idefault_bool_extensionz(protobuf_unittest.default_bool_extensionJdefault_string_extensionz*protobuf_unittest.default_string_extensionZhelloKdefault_bytes_extensionz)protobuf_unittest.default_bytes_extensionZworldQdefault_nested_enum_extensionz/protobuf_unittest.default_nested_enum_extensionRdefault_foreign_enum_extensionz0protobuf_unittest.default_foreign_enum_extensionSdefault_import_enum_extensionz/protobuf_unittest.default_import_enum_extensionTdefault_string_piece_extensionz0protobuf_unittest.default_string_piece_extensionabcUdefault_cord_extensionz(protobuf_unittest.default_cord_extensionZ123ooneof_uint32_extensionz(protobuf_unittest.oneof_uint32_extensionponeof_nested_message_extensionz0protobuf_unittest.oneof_nested_message_extensionqoneof_string_extensionz(protobuf_unittest.oneof_string_extensionroneof_bytes_extensionz'protobuf_unittest.oneof_bytes_extensionmy_extension_stringz%protobuf_unittest.my_extension_stringmy_extension_intz"protobuf_unittest.my_extension_intLZpacked_int32_extensionz(protobuf_unittest.packed_int32_extensionM[packed_int64_extensionz(protobuf_unittest.packed_int64_extensionN\packed_uint32_extensionz)protobuf_unittest.packed_uint32_extensionO]packed_uint64_extensionz)protobuf_unittest.packed_uint64_extensionP^packed_sint32_extensionz)protobuf_unittest.packed_sint32_extension_packed_sint64_extensionz)protobuf_unittest.packed_sint64_extension`packed_fixed32_extensionz*protobuf_unittest.packed_fixed32_extensionapacked_fixed64_extensionz*protobuf_unittest.packed_fixed64_extensionbpacked_sfixed32_extensionz+protobuf_unittest.packed_sfixed32_extensioncpacked_sfixed64_extensionz+protobuf_unittest.packed_sfixed64_extensionVdpacked_float_extensionz(protobuf_unittest.packed_float_extensionWepacked_double_extensionz)protobuf_unittest.packed_double_extensionXfpacked_bool_extensionz'protobuf_unittest.packed_bool_extensionYgpacked_enum_extensionz'protobuf_unittest.packed_enum_extensionunpacked_int32_extensionz*protobuf_unittest.unpacked_int32_extensionzunpacked_int64_extensionz*protobuf_unittest.unpacked_int64_extensionunpacked_uint32_extensionz+protobuf_unittest.unpacked_uint32_extensionunpacked_uint64_extensionz+protobuf_unittest.unpacked_uint64_extensionunpacked_sint32_extensionz+protobuf_unittest.unpacked_sint32_extensionunpacked_sint64_extensionz+protobuf_unittest.unpacked_sint64_extensionunpacked_fixed32_extensionz,protobuf_unittest.unpacked_fixed32_extensionunpacked_fixed64_extensionz,protobuf_unittest.unpacked_fixed64_extensionunpacked_sfixed32_extensionz-protobuf_unittest.unpacked_sfixed32_extensionunpacked_sfixed64_extensionz-protobuf_unittest.unpacked_sfixed64_extensionunpacked_float_extensionz*protobuf_unittest.unpacked_float_extensionunpacked_double_extensionz+protobuf_unittest.unpacked_double_extensionunpacked_bool_extensionz)protobuf_unittest.unpacked_bool_extensionunpacked_enum_extensionz)protobuf_unittest.unpacked_enum_extensionh`test_all_typesz protobuf_unittest.test_all_typesiZ NestedEnumz)protobuf_unittest.TestAllTypes.NestedEnumZFOOZBARZNEGi i z'protobuf_unittest.TestOneof2.NestedEnumi ZDynamicEnumTypez7protobuf_unittest.TestDynamicExtensions.DynamicEnumTypeZ DYNAMIC_FOOiZ DYNAMIC_BARiZ DYNAMIC_BAZii,i- NestedMessagez,protobuf_unittest.TestAllTypes.NestedMessageZbbz/protobuf_unittest.TestAllTypes.NestedMessage.bbi- iH )rr"r#r$r&fields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr'r( OptionalGroupz,protobuf_unittest.TestAllTypes.OptionalGroupaz.protobuf_unittest.TestAllTypes.OptionalGroup.aiJ id RepeatedGroupz,protobuf_unittest.TestAllTypes.RepeatedGroupz.protobuf_unittest.TestAllTypes.RepeatedGroup.aif i TestAllTypeszprotobuf_unittest.TestAllTypesZoptional_int32z-protobuf_unittest.TestAllTypes.optional_int32Zoptional_int64z-protobuf_unittest.TestAllTypes.optional_int64Zoptional_uint32z.protobuf_unittest.TestAllTypes.optional_uint32Zoptional_uint64z.protobuf_unittest.TestAllTypes.optional_uint64Zoptional_sint32z.protobuf_unittest.TestAllTypes.optional_sint32Zoptional_sint64z.protobuf_unittest.TestAllTypes.optional_sint64Zoptional_fixed32z/protobuf_unittest.TestAllTypes.optional_fixed32Zoptional_fixed64z/protobuf_unittest.TestAllTypes.optional_fixed64Zoptional_sfixed32z0protobuf_unittest.TestAllTypes.optional_sfixed32Zoptional_sfixed64z0protobuf_unittest.TestAllTypes.optional_sfixed64Zoptional_floatz-protobuf_unittest.TestAllTypes.optional_floatZoptional_doublez.protobuf_unittest.TestAllTypes.optional_doubleZ optional_boolz,protobuf_unittest.TestAllTypes.optional_boolZoptional_stringz.protobuf_unittest.TestAllTypes.optional_stringZoptional_bytesz-protobuf_unittest.TestAllTypes.optional_bytesZ optionalgroupz,protobuf_unittest.TestAllTypes.optionalgroupZoptional_nested_messagez6protobuf_unittest.TestAllTypes.optional_nested_messageZoptional_foreign_messagez7protobuf_unittest.TestAllTypes.optional_foreign_messageZoptional_import_messagez6protobuf_unittest.TestAllTypes.optional_import_messageZoptional_nested_enumz3protobuf_unittest.TestAllTypes.optional_nested_enumZoptional_foreign_enumz4protobuf_unittest.TestAllTypes.optional_foreign_enumZoptional_import_enumz3protobuf_unittest.TestAllTypes.optional_import_enumZoptional_string_piecez4protobuf_unittest.TestAllTypes.optional_string_pieceZ optional_cordz,protobuf_unittest.TestAllTypes.optional_cordZoptional_public_import_messagez=protobuf_unittest.TestAllTypes.optional_public_import_messageZoptional_lazy_messagez4protobuf_unittest.TestAllTypes.optional_lazy_messageZrepeated_int32z-protobuf_unittest.TestAllTypes.repeated_int32Zrepeated_int64z-protobuf_unittest.TestAllTypes.repeated_int64Zrepeated_uint32z.protobuf_unittest.TestAllTypes.repeated_uint32Zrepeated_uint64z.protobuf_unittest.TestAllTypes.repeated_uint64Zrepeated_sint32z.protobuf_unittest.TestAllTypes.repeated_sint32Zrepeated_sint64z.protobuf_unittest.TestAllTypes.repeated_sint64Zrepeated_fixed32z/protobuf_unittest.TestAllTypes.repeated_fixed32Zrepeated_fixed64z/protobuf_unittest.TestAllTypes.repeated_fixed64Zrepeated_sfixed32z0protobuf_unittest.TestAllTypes.repeated_sfixed32Zrepeated_sfixed64z0protobuf_unittest.TestAllTypes.repeated_sfixed64Zrepeated_floatz-protobuf_unittest.TestAllTypes.repeated_floatZrepeated_doublez.protobuf_unittest.TestAllTypes.repeated_doubleZ repeated_boolz,protobuf_unittest.TestAllTypes.repeated_boolZrepeated_stringz.protobuf_unittest.TestAllTypes.repeated_stringZrepeated_bytesz-protobuf_unittest.TestAllTypes.repeated_bytesZ repeatedgroupz,protobuf_unittest.TestAllTypes.repeatedgroupZrepeated_nested_messagez6protobuf_unittest.TestAllTypes.repeated_nested_messageZrepeated_foreign_messagez7protobuf_unittest.TestAllTypes.repeated_foreign_messageZrepeated_import_messagez6protobuf_unittest.TestAllTypes.repeated_import_messageZrepeated_nested_enumz3protobuf_unittest.TestAllTypes.repeated_nested_enumZrepeated_foreign_enumz4protobuf_unittest.TestAllTypes.repeated_foreign_enumZrepeated_import_enumz3protobuf_unittest.TestAllTypes.repeated_import_enumZrepeated_string_piecez4protobuf_unittest.TestAllTypes.repeated_string_pieceZ repeated_cordz,protobuf_unittest.TestAllTypes.repeated_cordZrepeated_lazy_messagez4protobuf_unittest.TestAllTypes.repeated_lazy_messageZ default_int32z,protobuf_unittest.TestAllTypes.default_int32Z default_int64z,protobuf_unittest.TestAllTypes.default_int64Zdefault_uint32z-protobuf_unittest.TestAllTypes.default_uint32Zdefault_uint64z-protobuf_unittest.TestAllTypes.default_uint64Zdefault_sint32z-protobuf_unittest.TestAllTypes.default_sint32Zdefault_sint64z-protobuf_unittest.TestAllTypes.default_sint64Zdefault_fixed32z.protobuf_unittest.TestAllTypes.default_fixed32Zdefault_fixed64z.protobuf_unittest.TestAllTypes.default_fixed64Zdefault_sfixed32z/protobuf_unittest.TestAllTypes.default_sfixed32Zdefault_sfixed64z/protobuf_unittest.TestAllTypes.default_sfixed64Z default_floatz,protobuf_unittest.TestAllTypes.default_floatZdefault_doublez-protobuf_unittest.TestAllTypes.default_doubleZ default_boolz+protobuf_unittest.TestAllTypes.default_boolZdefault_stringz-protobuf_unittest.TestAllTypes.default_stringZ default_bytesz,protobuf_unittest.TestAllTypes.default_bytesZdefault_nested_enumz2protobuf_unittest.TestAllTypes.default_nested_enumZdefault_foreign_enumz3protobuf_unittest.TestAllTypes.default_foreign_enumZdefault_import_enumz2protobuf_unittest.TestAllTypes.default_import_enumZdefault_string_piecez3protobuf_unittest.TestAllTypes.default_string_pieceZ default_cordz+protobuf_unittest.TestAllTypes.default_cordZ oneof_uint32z+protobuf_unittest.TestAllTypes.oneof_uint32Zoneof_nested_messagez3protobuf_unittest.TestAllTypes.oneof_nested_messageZ oneof_stringz+protobuf_unittest.TestAllTypes.oneof_stringZ oneof_bytesz*protobuf_unittest.TestAllTypes.oneof_bytesZ oneof_fieldz*protobuf_unittest.TestAllTypes.oneof_field)rr"rr&ri NestedTestAllTypesz$protobuf_unittest.NestedTestAllTypesZchildz*protobuf_unittest.NestedTestAllTypes.childZpayloadz,protobuf_unittest.NestedTestAllTypes.payloadZrepeated_childz3protobuf_unittest.NestedTestAllTypes.repeated_childi i TestDeprecatedFieldsz&protobuf_unittest.TestDeprecatedFieldsZdeprecated_int32z7protobuf_unittest.TestDeprecatedFields.deprecated_int32zi i TestDeprecatedMessagez'protobuf_unittest.TestDeprecatedMessagei i ForeignMessagez protobuf_unittest.ForeignMessagecz"protobuf_unittest.ForeignMessage.cdz"protobuf_unittest.ForeignMessage.di iTestReservedFieldsz$protobuf_unittest.TestReservedFieldsii5TestAllExtensionsz#protobuf_unittest.TestAllExtensions i7iTOptionalGroup_extensionz)protobuf_unittest.OptionalGroup_extensionz+protobuf_unittest.OptionalGroup_extension.aiVizRepeatedGroup_extensionz)protobuf_unittest.RepeatedGroup_extensionz+protobuf_unittest.RepeatedGroup_extension.ai|iTestNestedExtensionz%protobuf_unittest.TestNestedExtensionZtestz*protobuf_unittest.TestNestedExtension.testiZnested_string_extensionz=protobuf_unittest.TestNestedExtension.nested_string_extensioniii; TestRequiredzprotobuf_unittest.TestRequiredz protobuf_unittest.TestRequired.aZdummy2z%protobuf_unittest.TestRequired.dummy2bz protobuf_unittest.TestRequired.bZdummy4z%protobuf_unittest.TestRequired.dummy4Zdummy5z%protobuf_unittest.TestRequired.dummy5Zdummy6z%protobuf_unittest.TestRequired.dummy6Zdummy7z%protobuf_unittest.TestRequired.dummy7Zdummy8z%protobuf_unittest.TestRequired.dummy8Zdummy9z%protobuf_unittest.TestRequired.dummy9Zdummy10z&protobuf_unittest.TestRequired.dummy10Zdummy11z&protobuf_unittest.TestRequired.dummy11Zdummy12z&protobuf_unittest.TestRequired.dummy12Zdummy13z&protobuf_unittest.TestRequired.dummy13Zdummy14z&protobuf_unittest.TestRequired.dummy14Zdummy15z&protobuf_unittest.TestRequired.dummy15Zdummy16z&protobuf_unittest.TestRequired.dummy16Zdummy17z&protobuf_unittest.TestRequired.dummy17Zdummy18z&protobuf_unittest.TestRequired.dummy18Zdummy19z&protobuf_unittest.TestRequired.dummy19Zdummy20z&protobuf_unittest.TestRequired.dummy20Zdummy21z&protobuf_unittest.TestRequired.dummy21Zdummy22z&protobuf_unittest.TestRequired.dummy22Zdummy23z&protobuf_unittest.TestRequired.dummy23Zdummy24z&protobuf_unittest.TestRequired.dummy24Zdummy25z&protobuf_unittest.TestRequired.dummy25Zdummy26z&protobuf_unittest.TestRequired.dummy26Zdummy27z&protobuf_unittest.TestRequired.dummy27Zdummy28z&protobuf_unittest.TestRequired.dummy28Zdummy29z&protobuf_unittest.TestRequired.dummy29Zdummy30z&protobuf_unittest.TestRequired.dummy30Zdummy31z&protobuf_unittest.TestRequired.dummy31Zdummy32z&protobuf_unittest.TestRequired.dummy32z protobuf_unittest.TestRequired.cZsinglez%protobuf_unittest.TestRequired.singleZmultiz$protobuf_unittest.TestRequired.multiii>iTestRequiredForeignz%protobuf_unittest.TestRequiredForeignZoptional_messagez6protobuf_unittest.TestRequiredForeign.optional_messageZrepeated_messagez6protobuf_unittest.TestRequiredForeign.repeated_messageZdummyz+protobuf_unittest.TestRequiredForeign.dummyiiTestRequiredMessagez%protobuf_unittest.TestRequiredMessagez6protobuf_unittest.TestRequiredMessage.optional_messagez6protobuf_unittest.TestRequiredMessage.repeated_messageZrequired_messagez6protobuf_unittest.TestRequiredMessage.required_messageiiyTestForeignNestedz#protobuf_unittest.TestForeignNestedZforeign_nestedz2protobuf_unittest.TestForeignNested.foreign_nestedi{iTestEmptyMessagez"protobuf_unittest.TestEmptyMessageiiTestEmptyMessageWithExtensionsz0protobuf_unittest.TestEmptyMessageWithExtensionsiiTestMultipleExtensionRangesz-protobuf_unittest.TestMultipleExtensionRanges/iiNTestReallyLargeTagNumberz*protobuf_unittest.TestReallyLargeTagNumberz,protobuf_unittest.TestReallyLargeTagNumber.az-protobuf_unittest.TestReallyLargeTagNumber.bbiiPiTestRecursiveMessagez&protobuf_unittest.TestRecursiveMessagez(protobuf_unittest.TestRecursiveMessage.aiz(protobuf_unittest.TestRecursiveMessage.iii SubMessagez1protobuf_unittest.TestMutualRecursionA.SubMessagez3protobuf_unittest.TestMutualRecursionA.SubMessage.bioiSubGroupz/protobuf_unittest.TestMutualRecursionA.SubGroupZ sub_messagez;protobuf_unittest.TestMutualRecursionA.SubGroup.sub_messageZnot_in_this_sccz?protobuf_unittest.TestMutualRecursionA.SubGroup.not_in_this_sccii?TestMutualRecursionAz&protobuf_unittest.TestMutualRecursionAz)protobuf_unittest.TestMutualRecursionA.bbZsubgroupz/protobuf_unittest.TestMutualRecursionA.subgroupiTestMutualRecursionBz&protobuf_unittest.TestMutualRecursionBz(protobuf_unittest.TestMutualRecursionB.az5protobuf_unittest.TestMutualRecursionB.optional_int32iAiz7protobuf_unittest.TestIsInitialized.SubMessage.SubGroupz9protobuf_unittest.TestIsInitialized.SubMessage.SubGroup.ii[ipz.protobuf_unittest.TestIsInitialized.SubMessagez7protobuf_unittest.TestIsInitialized.SubMessage.subgroupiTestIsInitializedz#protobuf_unittest.TestIsInitializedz/protobuf_unittest.TestIsInitialized.sub_messageiFooz(protobuf_unittest.TestDupFieldNumber.Fooz*protobuf_unittest.TestDupFieldNumber.Foo.aiiBarz(protobuf_unittest.TestDupFieldNumber.Barz*protobuf_unittest.TestDupFieldNumber.Bar.aii&TestDupFieldNumberz$protobuf_unittest.TestDupFieldNumberz&protobuf_unittest.TestDupFieldNumber.aZfooz(protobuf_unittest.TestDupFieldNumber.fooZbarz(protobuf_unittest.TestDupFieldNumber.barisTestEagerMessagez"protobuf_unittest.TestEagerMessagez.protobuf_unittest.TestEagerMessage.sub_messagez(i(itTestLazyMessagez!protobuf_unittest.TestLazyMessagez-protobuf_unittest.TestLazyMessage.sub_messageiviz8protobuf_unittest.TestNestedMessageHasBits.NestedMessageZnestedmessage_repeated_int32zUprotobuf_unittest.TestNestedMessageHasBits.NestedMessage.nestedmessage_repeated_int32Z%nestedmessage_repeated_foreignmessagez^protobuf_unittest.TestNestedMessageHasBits.NestedMessage.nestedmessage_repeated_foreignmessagei=iTestNestedMessageHasBitsz*protobuf_unittest.TestNestedMessageHasBitszBprotobuf_unittest.TestNestedMessageHasBits.optional_nested_messageiTestCamelCaseFieldNamesz)protobuf_unittest.TestCamelCaseFieldNamesZPrimitiveFieldz8protobuf_unittest.TestCamelCaseFieldNames.PrimitiveFieldZ StringFieldz5protobuf_unittest.TestCamelCaseFieldNames.StringFieldZ EnumFieldz3protobuf_unittest.TestCamelCaseFieldNames.EnumFieldZ MessageFieldz6protobuf_unittest.TestCamelCaseFieldNames.MessageFieldZStringPieceFieldz:protobuf_unittest.TestCamelCaseFieldNames.StringPieceFieldZ CordFieldz3protobuf_unittest.TestCamelCaseFieldNames.CordFieldZRepeatedPrimitiveFieldz@protobuf_unittest.TestCamelCaseFieldNames.RepeatedPrimitiveFieldZRepeatedStringFieldz=protobuf_unittest.TestCamelCaseFieldNames.RepeatedStringFieldZRepeatedEnumFieldz;protobuf_unittest.TestCamelCaseFieldNames.RepeatedEnumFieldZRepeatedMessageFieldz>protobuf_unittest.TestCamelCaseFieldNames.RepeatedMessageFieldZRepeatedStringPieceFieldzBprotobuf_unittest.TestCamelCaseFieldNames.RepeatedStringPieceFieldZRepeatedCordFieldz;protobuf_unittest.TestCamelCaseFieldNames.RepeatedCordFieldiiz2protobuf_unittest.TestFieldOrderings.NestedMessageZooz5protobuf_unittest.TestFieldOrderings.NestedMessage.ooz5protobuf_unittest.TestFieldOrderings.NestedMessage.bbiQixTestFieldOrderingsz$protobuf_unittest.TestFieldOrderingsZ my_stringz.protobuf_unittest.TestFieldOrderings.my_stringZmy_intz+protobuf_unittest.TestFieldOrderings.my_intZmy_floatz-protobuf_unittest.TestFieldOrderings.my_floatzprotobuf_unittest.TestDynamicExtensions.dynamic_enum_extensioniZmessage_extensionz9protobuf_unittest.TestDynamicExtensions.message_extensioniZdynamic_message_extensionzAprotobuf_unittest.TestDynamicExtensions.dynamic_message_extensioniZrepeated_extensionz:protobuf_unittest.TestDynamicExtensions.repeated_extensioniZpacked_extensionz8protobuf_unittest.TestDynamicExtensions.packed_extensionii*#TestRepeatedScalarDifferentTagSizesz5protobuf_unittest.TestRepeatedScalarDifferentTagSizeszFprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_fixed32zDprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_int32zFprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_fixed64izDprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_int64izDprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_floatizEprotobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_uint64ii-i-Group1zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1Zfield1zHprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1.field1i0i1Group2zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2zHprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2.field1i1iP1RepeatedFieldsGeneratorz:protobuf_unittest.TestParsingMerge.RepeatedFieldsGeneratorzAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field1Zfield2zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field2Zfield3zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field3Zgroup1zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.group1Zgroup2zAprotobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.group2Zext1z?protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.ext1Zext2z?protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.ext2i&/z0protobuf_unittest.TestParsingMerge.OptionalGroupZoptional_group_all_typeszIprotobuf_unittest.TestParsingMerge.OptionalGroup.optional_group_all_typesiR1i1z0protobuf_unittest.TestParsingMerge.RepeatedGroupZrepeated_group_all_typeszIprotobuf_unittest.TestParsingMerge.RepeatedGroup.repeated_group_all_typesi1i1TestParsingMergez"protobuf_unittest.TestParsingMergeZrequired_all_typesz5protobuf_unittest.TestParsingMerge.required_all_typesZoptional_all_typesz5protobuf_unittest.TestParsingMerge.optional_all_typesZrepeated_all_typesz5protobuf_unittest.TestParsingMerge.repeated_all_typesz0protobuf_unittest.TestParsingMerge.optionalgroupz0protobuf_unittest.TestParsingMerge.repeatedgroupZ optional_extz/protobuf_unittest.TestParsingMerge.optional_extZ repeated_extz/protobuf_unittest.TestParsingMerge.repeated_exti-i2TestCommentInjectionMessagez-protobuf_unittest.TestCommentInjectionMessagez/protobuf_unittest.TestCommentInjectionMessage.az*/ <- Neither should this.i2i3 FooRequestzprotobuf_unittest.FooRequesti3i3 FooResponsezprotobuf_unittest.FooResponsei3i 3FooClientMessagez"protobuf_unittest.FooClientMessagei"3i43FooServerMessagez"protobuf_unittest.FooServerMessagei63iH3 BarRequestzprotobuf_unittest.BarRequestiJ3iV3 BarResponsezprotobuf_unittest.BarResponseiX3ie3 TestJsonNamezprotobuf_unittest.TestJsonNameZ field_name1z*protobuf_unittest.TestJsonName.field_name1Z fieldName2z)protobuf_unittest.TestJsonName.fieldName2Z FieldName3z)protobuf_unittest.TestJsonName.FieldName3Z _field_name4z+protobuf_unittest.TestJsonName._field_name4Z FIELD_NAME5z*protobuf_unittest.TestJsonName.FIELD_NAME5Z field_name6z*protobuf_unittest.TestJsonName.field_name6z@type)rr"rrrr:r;r<r=r>r?r&r@rArZ json_namer$ih3i3z4protobuf_unittest.TestHugeFieldNumbers.OptionalGroupZgroup_azZ_IMPORTMESSAGEr?Z _IMPORTENUMZ_PUBLICIMPORTMESSAGEZoneofs_by_namerappendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrrrrr!r"r$r%r&r'r*r+r,r-r.r/r3r4r8r6r7r9r:r=r;r<r>r?r@rArBrDrErFrHrIrJrKrLrMrNrOrQrPrRrSrUrVrWrXrYr[rZr\r`r_r]r^rarbrcrdrerfrgrhrlriZRegisterExtensionZ has_optionsZ FileOptionsZ_optionsZServiceDescriptorZMethodDescriptorZ _TESTSERVICEZRegisterServiceDescriptorZservices_by_nameZGeneratedServiceTypeZServicerpZGeneratedServiceStubTyperrrrrrs-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  $$$$$$$$& &$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&$ &$PK!Zl&oo7protobuf/__pycache__/descriptor_database.cpython-36.pycnu[3 h,@sDdZdZGdddeZGdddeZGdddeZdd Zd S) z*Provides a container for DescriptorProtos.z"matthewtoia@google.com (Matt Toia)c@s eZdZdS)ErrorN)__name__ __module__ __qualname__rr)/usr/lib/python3.6/descriptor_database.pyr$src@seZdZdZdS),DescriptorDatabaseConflictingDefinitionErrorzGRaised when a proto is added with the same name & different descriptor.N)rrr__doc__rrrrr(src@s0eZdZdZddZddZddZdd Zd S) DescriptorDatabasezEA container accepting FileDescriptorProtos and maps DescriptorProtos.cCsi|_i|_dS)N)_file_desc_protos_by_file_file_desc_protos_by_symbol)selfrrr__init__/szDescriptorDatabase.__init__csj}||jkr|j|<n|j|kr6td|j}x.jD]$}|jjfddt||DqDWx$jD]}|jdj ||jf<qtWx$j D]}|jdj ||jf<qWx$j D]}|jdj ||jf<qWdS)aMAdds the FileDescriptorProto and its types to this database. Args: file_desc_proto: The FileDescriptorProto to add. Raises: DescriptorDatabaseConflictingDefinitionError: if an attempt is made to add a proto with the same name but different definition than an exisiting proto in the database. z0%s already added, but with different descriptor.c3s|]}|fVqdS)Nr).0name)file_desc_protorr Hsz)DescriptorDatabase.Add...N) rr rpackageZ message_typer update_ExtractSymbols enum_typejoin extensionservice)r rZ proto_namermessageenumrrr)rrAdd3s        zDescriptorDatabase.AddcCs |j|S)aFinds the file descriptor proto by file name. Typically the file name is a relative path ending to a .proto file. The proto with the given name will have to have been added to this database using the Add method or else an error will be raised. Args: name: The file name to find. Returns: The file descriptor proto matching the name. Raises: KeyError if no file by the given name was added. )r )r rrrrFindFileByNameSsz!DescriptorDatabase.FindFileByNamec Cs:y |j|Stk r4|jd\}}}|j|SXdS)aFinds the file descriptor proto containing the specified symbol. The symbol should be a fully qualified name including the file descriptor's package and any containing messages. Some examples: 'some.package.name.Message' 'some.package.name.Message.NestedEnum' 'some.package.name.Message.some_field' The file descriptor proto containing the specified symbol must be added to this database using the Add method or else an error will be raised. Args: symbol: The fully qualified symbol name. Returns: The file descriptor proto containing the symbol. Raises: KeyError if no file contains the specified symbol. rN)r KeyError rpartition)r symbolZ top_level_rrrFindFileContainingSymbolfs  z+DescriptorDatabase.FindFileContainingSymbolN)rrrrr rrr"rrrrr ,s  r ccsn|r|d|jn|j}|Vx(|jD]}xt||D] }|Vq6Wq&Wx |jD]}dj||jfVqPWdS)zPulls out all the symbols from a descriptor proto. Args: desc_proto: The proto to extract symbols from. package: The package containing the descriptor type. Yields: The fully qualified name found in the descriptor. rN)r nested_typerrr)Z desc_protorZ message_namer#r rrrrrs   rN)r __author__ Exceptionrrobjectr rrrrrs \PK!0px6protobuf/__pycache__/any_test_pb2.cpython-36.opt-1.pycnu[3 h @sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejdddddddddddddddedejdddddddddddddddedejddddddddgddddddedggggdddggd d!d"Zejejd_ejejd_eejd<ejee jdejfeed#d$ZejedS)%NcCs|S)N)xrr"/usr/lib/python3.6/any_test_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)any_pb2zgoogle/protobuf/any_test.protoZprotobuf_unittestZproto3z google/protobuf/any_test.protoprotobuf_unittestgoogle/protobuf/any.proto"y TestAny int32_value (' any_value ( 2.google.protobuf.Any0 repeated_any_value ( 2.google.protobuf.Anybproto3)namepackagesyntaxZ serialized_pbZ dependenciesTestAnyzprotobuf_unittest.TestAnyZ int32_valuez%protobuf_unittest.TestAny.int32_valueF)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileZ any_valuez#protobuf_unittest.TestAny.any_value Zrepeated_any_valuez,protobuf_unittest.TestAny.repeated_any_valueP)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endzgoogle.protobuf.any_test_pb2) DESCRIPTOR __module__) sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ google_dot_protobuf_dot_any__pb2ZFileDescriptorr#Z DescriptorZFieldDescriptorZ_TESTANYZ_ANYZfields_by_namerZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrsv           PK!͕6protobuf/__pycache__/source_context_pb2.cpython-36.pycnu[3 h @s4ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejddddddddedjdddddddedggggddd ggdddZeejd<ejee jdejfeeddZejede_eje jed e_dS)!NcCs|S)N)xrr(/usr/lib/python3.6/source_context_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z$google/protobuf/source_context.protozgoogle.protobufZproto3u $google/protobuf/source_context.protogoogle.protobuf"" SourceContext file_name ( B• com.google.protobufBSourceContextProtoPZAgoogle.golang.org/genproto/protobuf/source_context;source_context¢GPBªGoogle.Protobuf.WellKnownTypesbproto3)namepackagesyntaxZ serialized_pb SourceContextzgoogle.protobuf.SourceContext file_namez'google.protobuf.SourceContext.file_name Fzutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile9[)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz"google.protobuf.source_context_pb2) DESCRIPTOR __module__Tu com.google.protobufBSourceContextProtoPZAgoogle.golang.org/genproto/protobuf/source_context;source_context¢GPBªGoogle.Protobuf.WellKnownTypes) sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr Z DescriptorZFieldDescriptordecodeZ_SOURCECONTEXTZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsV           PK!7H Dprotobuf/__pycache__/unittest_no_generic_services_pb2.cpython-36.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZejd d deddZejdddeejddddddgddddd ZejeejeZdZdZejdddddddddddddddedZejd d!dedejd"d#dddddddddddddedggggdddd2ggd%d&d'Zeejd <eej d<eej!d<ej"ee j#d e j$fe%ed(d)Z&ej'e&e&j(eej)d*d+eddd,d-ej*d.d/ddeedd0gd1Z+ej,e+e+ej-d*<dS)3NcCs|S)N)xrr6/usr/lib/python3.6/unittest_no_generic_services_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2z2google/protobuf/unittest_no_generic_services.protoz(google.protobuf.no_generic_services_testZproto2ut 2google/protobuf/unittest_no_generic_services.proto(google.protobuf.no_generic_services_test"# TestMessage a (* 耀€€* TestEnum FOO2‚ TestServices Foo5.google.protobuf.no_generic_services_test.TestMessage5.google.protobuf.no_generic_services_test.TestMessage:N test_extension5.google.protobuf.no_generic_services_test.TestMessageè ()namepackagesyntaxZ serialized_pbTestEnumz1google.protobuf.no_generic_services_test.TestEnumFOO)rindexnumberoptionstype) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endtest_extensionz7google.protobuf.no_generic_services_test.test_extensionFT)rrrrrZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typerZ is_extensionZextension_scoperr TestMessagez4google.protobuf.no_generic_services_test.TestMessageaz6google.protobuf.no_generic_services_test.TestMessage.a `)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr r!z0google.protobuf.unittest_no_generic_services_pb2) DESCRIPTOR __module__Z TestServicez4google.protobuf.no_generic_services_test.TestServiceiZFooz8google.protobuf.no_generic_services_test.TestService.Foo)rrrZcontaining_serviceZ input_typeZ output_typer)rrrrrr r!methods)r"r').sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbZFileDescriptorr+ZEnumDescriptorZEnumValueDescriptorZ _TESTENUMZRegisterEnumDescriptorZEnumTypeWrapperrrZTEST_EXTENSION_FIELD_NUMBERZFieldDescriptorr#Z DescriptorZ _TESTMESSAGEZmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr%ZRegisterMessageZRegisterExtensionZServiceDescriptorZMethodDescriptorZ _TESTSERVICEZRegisterServiceDescriptorZservices_by_namerrrrs                   PK!F-BB:protobuf/__pycache__/map_unittest_pb2.cpython-36.opt-1.pycnu[3 h*@s5ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZdd lmZejdddedejejgdZejdddeejddddddejddddddejddddddgddddd ZejeejeZdZdZdZejdddeejd dddddgddd!d"d Z eje ej!d#d$dedej"d%d&ddd'ddd(ddddd(dded)ej"d*d+ddd'ddd(ddddd(dded)ggggej#ej$ed,d(dggd-d.d/Z%ej!d0d1dedej"d%d2dddddd(ddddd(dded)ej"d*d3dddddd(ddddd(dded)ggggej#ej$ed,d(dggd4d5d/Z&ej!d6d7dedej"d%d8ddd9ddd(ddddd(dded)ej"d*d:ddd9ddd(ddddd(dded)ggggej#ej$ed,d(dggd;ddedej"d%d?ddd@d@dd(ddddd(dded)ej"d*dAddd@d@dd(ddddd(dded)ggggej#ej$ed,d(dggdBdCd/Z(ej!dDdEdedej"d%dFdddGddd(ddddd(dded)ej"d*dHdddGddd(ddddd(dded)ggggej#ej$ed,d(dggdIdJd/Z)ej!dKdLdedej"d%dMdddNddd(ddddd(dded)ej"d*dOdddNddd(ddddd(dded)ggggej#ej$ed,d(dggdPdQd/Z*ej!dRdSdedej"d%dTdddUddd(ddddd(dded)ej"d*dVdddUddd(ddddd(dded)ggggej#ej$ed,d(dggdWdXd/Z+ej!dYdZdedej"d%d[ddd\d@dd(ddddd(dded)ej"d*d]ddd\d@dd(ddddd(dded)ggggej#ej$ed,d(dggd^d_d/Z,ej!d`dadedej"d%dbdddcddd(ddddd(dded)ej"d*dddddcddd(ddddd(dded)ggggej#ej$ed,d(dggdedfd/Z-ej!dgdhdedej"d%didddjddd(ddddd(dded)ej"d*dkdddjddd(ddddd(dded)ggggej#ej$ed,d(dggdldmd/Z.ej!dndodedej"d%dpddd'ddd(ddddd(dded)ej"d*dqdddd\dd(e/ddddd(dded)ggggej#ej$ed,d(dggdrdsd/Z0ej!dtdudedej"d%dvddd'ddd(ddddd(dded)ej"d*dwdddd'dd(e/ddddd(dded)ggggej#ej$ed,d(dggdxdyd/Z1ej!dzd{dedej"d%d|ddd}dUdd(d(dddd(dded)ej"d*d~ddd}dUdd(d(dddd(dded)ggggej#ej$ed,d(dggddd/Z2ej!dddedej"d%ddddddd(edj3ddddd(dded)ej"d*ddddddd(edj3ddddd(dded)ggggej#ej$ed,d(dggddd/Z4ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(eddddd(dded)ggggej#ej$ed,d(dggddd/Z5ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddd}dd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z6ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z7ej!dddedej"d%ddddddd(edj3ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z8ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z9ej!dddedej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddd@dddd(gdddd(dded)ej"ddd@d'dddd(gdddd(dded)ej"ddd'd\dddd(gdddd(dded)ej"ddd\dUdddd(gdddd(dded)ej"dddUd}dddd(gdddd(dded)ej"ddd}ddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)ej"dddd9dddd(gdddd(dded)ej"ddd9ddddd(gdddd(dded)ej"ddddcdddd(gdddd(dded)ej"dddcdjdddd(gdddd(dded)ej"dddjdGdddd(gdddd(dded)ej"dddGdNdddd(gdddd(dded)ej"dddNddddd(gdddd(dded)gge%e&e'e(e)e*e+e,e-e.e0e1e2e4e5e6e7e8e9ggdd(dggddd/Z:ej!dddedej"dddddddd(ddddd(dded)ggggdd(dggddd/Z;ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Zej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*dddd'ddd(ddddd(dded)ggggej#ej$ed,d(dggddd/Z?ej!dddedej"dddddddd(gdddd(dded)ej"dddddddd(gdddd(dded)gge>e?ggdd(dggddd/Z@ej!dddedej"d%dddd'ddd(ddddd(dded)ej"d*ddddddd(ddddd(dded)ggggej#ej$ed,d(dggddd/ZAej!dddedej"dddddddd(gdddd(dded)ggeAggdd(dggddd/ZBej!d#ddedej"d%dddd'ddd(ddddd(dded)ej"d*dddd'ddd(ddddd(dded)ggggej#ej$ed,d(dggd-d.d/ZCej!d0ddedej"d%d dddddd(ddddd(dded)ej"d*d dddddd(ddddd(dded)ggggej#ej$ed,d(dggd4d5d/ZDej!d6d dedej"d%d ddd9ddd(ddddd(dded)ej"d*d ddd9ddd(ddddd(dded)ggggej#ej$ed,d(dggd;dd?dedej"dd@dddddd(gdddd(dded)ej"ddAdddddd(gdddd(dded)ej"ddBdddddd(gdddd(dded)ej"ddCdd@dddd(gdddd(dded)ej"ddDd@d'dddd(gdddd(dded)ej"ddEd'd\dddd(gdddd(dded)ej"ddFd\dUdddd(gdddd(dded)ej"ddGdUd}dddd(gdddd(dded)ej"ddHd}ddddd(gdddd(dded)ej"ddIdddddd(gdddd(dded)ej"ddJdddddd(gdddd(dded)ej"dĐdKdddddd(gdddd(dded)ej"dƐdLdd9dddd(gdddd(dded)ej"dȐdMd9ddddd(gdddd(dded)ej"dʐdNddcdddd(gdddd(dded)ej"d̐dOdcdjdddd(gdddd(dded)ej"dΐdPdjdGdddd(gdddd(dded)ej"dQdRdGdNdddd(gdddd(dded)ggeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTggdd(dggdSd=d/ZUej!dTdUdedej"d%dVdddddd(edj3ddddd(dded)ej"d*dWdddddd(ddddd(dded)ggggej#ej$ed,d(dggdXdYd/ZVej!dZd[dedej"d\d]dddddd(gdddd(dded)ggeVge gdd(dggd^d"d/ZWej!d_d`dedej"d%daddd'ddd(ddddd(dded)ej"d*dbddd'ddd(ddddd(dded)ggggej#ej$ed,d(dggdcddd/ZXej!dedfdedej"dgdhdddddd(gdddd(dded)ggeXggdd(dggdiddd/ZYej!djdkdedej"d%dldddddd(edj3ddddd(dded)ej"d*dmdddddd(ddddd(dded)ggggej#ej$ed,d(dggdndod/ZZej!dpdqdedej"drdsdddddd(gdddd(dded)ggeZggdd(dggdtdod/Z[e:e%_\e:e&_\e:e'_\e:e(_\e:e)_\e:e*_\e:e+_\e:e,_\e:e-_\e:e._\e:e0_\e:e1_\e:e2_\e:e4_\e:e5_\ee6j]d*_^e:e6_\ej_e7j]d*_`e:e7_\ej_e8j]d*_`e:e8_\ejae9j]d*_`e:e9_\e%e:j]d_`e&e:j]d_`e'e:j]d_`e(e:j]d_`e)e:j]d_`e*e:j]d_`e+e:j]d_`e,e:j]d_`e-e:j]d_`e.e:j]d_`e0e:j]d_`e1e:j]d_`e2e:j]d_`e4e:j]d_`e5e:j]d_`e6e:j]d_`e7e:j]d_`e8e:j]d_`e9e:j]d_`e:e;j]d_`ejae_\e@e?_\e>e@j]d_`e?e@j]d_`ejbeAj]d*_`eBeA_\eAeBj]d_`eUeC_\eUeD_\eUeE_\eUeF_\eUeG_\eUeH_\eUeI_\eUeJ_\eUeK_\eUeL_\eUeM_\eUeN_\eUeO_\eUeP_\eUeQ_\eeRj]d*_^eUeR_\ej_eSj]d*_`eUeS_\ej_eTj]d*_`eUeT_\eCeUj]d_`eDeUj]d_`eEeUj]d_`eFeUj]d_`eGeUj]d_`eHeUj]d_`eIeUj]d_`eJeUj]d_`eKeUj]d_`eLeUj]d_`eMeUj]d_`eNeUj]d_`eOeUj]d_`ePeUj]d_`eQeUj]d_`eReUj]d_`eSeUj]d_`eTeUj]dQ_`eWeVj]d*_`eWeV_\eVeWj]d\_`eWe _\eYeX_\eXeYj]dg_`e[eZj]d*_`e[eZ_\eZe[j]dr_`e:ejcd<e;ejcd<e=ejcd<e@ejcd<eBejcd<eUejcd><eWejcdZ<eYejcde<e[ejcdp<eejdd<ejeee jfde jgfehe jfd#e jgfehe%dudve jfd0e jgfehe&dudve jfd6e jgfehe'dudve jfd=e jgfehe(dudve jfdDe jgfehe)dudve jfdKe jgfehe*dudve jfdRe jgfehe+dudve jfdYe jgfehe,dudve jfd`e jgfehe-dudve jfdge jgfehe.dudve jfdne jgfehe0dudve jfdte jgfehe1dudve jfdze jgfehe2dudve jfde jgfehe4dudve jfde jgfehe5dudve jfde jgfehe6dudve jfde jgfehe7dudve jfde jgfehe8dudve jfde jgfehe9dudve:dudwZiejjeiejjeijkejjeijlejjeijmejjeijnejjeijoejjeijpejjeijqejjeijrejjeijsejjeijtejjeijuejjeijvejjeijwejjeijxejjeijyejjeijzejjeij{ejjeij|ejjeij}e jfde jgfehe;dudvZ~ejje~e jfde jgfehe jfde jgfehe<dudve=dudxZejjeejjeje jfde jgfehe jfde jgfehe>dudve jfde jgfehe?dudve@dudyZejjeejjejejjeje jfde jgfehe jfde jgfeheAdudveBdudzZejjeejjeje jfd>e jgfehe jfd#e jgfeheCdudve jfd0e jgfeheDdudve jfd6e jgfeheEdudve jfd=e jgfeheFdudve jfdDe jgfeheGdudve jfdKe jgfeheHdudve jfdRe jgfeheIdudve jfdYe jgfeheJdudve jfd`e jgfeheKdudve jfdge jgfeheLdudve jfdne jgfeheMdudve jfdte jgfeheNdudve jfdze jgfeheOdudve jfde jgfehePdudve jfde jgfeheQdudve jfde jgfeheRdudve jfde jgfeheSdudve jfd8e jgfeheTdudveUdud{Zejjeejjejkejjejlejjejmejjejnejjejoejjejpejjejqejjejrejjejsejjejtejjejuejjejvejjejwejjejxejjejyejjejzejjej{ejjeje jfdZe jgfehe jfdTe jgfeheVdudveWdud|Zejjeejjeje jfdee jgfehe jfd_e jgfeheXdudveYdud}Zejjeejjeje jfdpe jgfehe jfdje jgfeheZdudve[dud~Zejjeejjejde_ej#ejede_de%_ej#ej$ed,e%_de&_ej#ej$ed,e&_de'_ej#ej$ed,e'_de(_ej#ej$ed,e(_de)_ej#ej$ed,e)_de*_ej#ej$ed,e*_de+_ej#ej$ed,e+_de,_ej#ej$ed,e,_de-_ej#ej$ed,e-_de._ej#ej$ed,e._de0_ej#ej$ed,e0_de1_ej#ej$ed,e1_de2_ej#ej$ed,e2_de4_ej#ej$ed,e4_de5_ej#ej$ed,e5_de6_ej#ej$ed,e6_de7_ej#ej$ed,e7_de8_ej#ej$ed,e8_de9_ej#ej$ed,e9_de<_ej#ej$ed,e<_de>_ej#ej$ed,e>_de?_ej#ej$ed,e?_deA_ej#ej$ed,eA_deC_ej#ej$ed,eC_deD_ej#ej$ed,eD_deE_ej#ej$ed,eE_deF_ej#ej$ed,eF_deG_ej#ej$ed,eG_deH_ej#ej$ed,eH_deI_ej#ej$ed,eI_deJ_ej#ej$ed,eJ_deK_ej#ej$ed,eK_deL_ej#ej$ed,eL_deM_ej#ej$ed,eM_deN_ej#ej$ed,eN_deO_ej#ej$ed,eO_deP_ej#ej$ed,eP_deQ_ej#ej$ed,eQ_deR_ej#ej$ed,eR_deS_ej#ej$ed,eS_deT_ej#ej$ed,eT_deV_ej#ej$ed,eV_deX_ej#ej$ed,eX_deZ_ej#ej$ed,eZ_dS(NcCs|S)N)xrr&/usr/lib/python3.6/map_unittest_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2) unittest_pb2)unittest_no_arena_pb2z"google/protobuf/map_unittest.protoZprotobuf_unittestZproto3u "google/protobuf/map_unittest.protoprotobuf_unittestgoogle/protobuf/unittest.proto'google/protobuf/unittest_no_arena.proto"ÿ TestMapF map_int32_int32 ( 2-.protobuf_unittest.TestMap.MapInt32Int32EntryF map_int64_int64 ( 2-.protobuf_unittest.TestMap.MapInt64Int64EntryJ map_uint32_uint32 ( 2/.protobuf_unittest.TestMap.MapUint32Uint32EntryJ map_uint64_uint64 ( 2/.protobuf_unittest.TestMap.MapUint64Uint64EntryJ map_sint32_sint32 ( 2/.protobuf_unittest.TestMap.MapSint32Sint32EntryJ map_sint64_sint64 ( 2/.protobuf_unittest.TestMap.MapSint64Sint64EntryN map_fixed32_fixed32 ( 21.protobuf_unittest.TestMap.MapFixed32Fixed32EntryN map_fixed64_fixed64 ( 21.protobuf_unittest.TestMap.MapFixed64Fixed64EntryR map_sfixed32_sfixed32 ( 23.protobuf_unittest.TestMap.MapSfixed32Sfixed32EntryR map_sfixed64_sfixed64 ( 23.protobuf_unittest.TestMap.MapSfixed64Sfixed64EntryF map_int32_float ( 2-.protobuf_unittest.TestMap.MapInt32FloatEntryH map_int32_double ( 2..protobuf_unittest.TestMap.MapInt32DoubleEntryB map_bool_bool ( 2+.protobuf_unittest.TestMap.MapBoolBoolEntryJ map_string_string ( 2/.protobuf_unittest.TestMap.MapStringStringEntryF map_int32_bytes ( 2-.protobuf_unittest.TestMap.MapInt32BytesEntryD map_int32_enum ( 2,.protobuf_unittest.TestMap.MapInt32EnumEntryY map_int32_foreign_message ( 26.protobuf_unittest.TestMap.MapInt32ForeignMessageEntry[ map_string_foreign_message ( 27.protobuf_unittest.TestMap.MapStringForeignMessageEntryM map_int32_all_types ( 20.protobuf_unittest.TestMap.MapInt32AllTypesEntry4 MapInt32Int32Entry key ( value (:84 MapInt64Int64Entry key ( value (:86 MapUint32Uint32Entry key (  value ( :86 MapUint64Uint64Entry key ( value (:86 MapSint32Sint32Entry key ( value (:86 MapSint64Sint64Entry key ( value (:88 MapFixed32Fixed32Entry key ( value (:88 MapFixed64Fixed64Entry key ( value (:8: MapSfixed32Sfixed32Entry key ( value (:8: MapSfixed64Sfixed64Entry key ( value (:84 MapInt32FloatEntry key ( value (:85 MapInt32DoubleEntry key ( value (:82 MapBoolBoolEntry key ( value (:86 MapStringStringEntry key (  value ( :84 MapInt32BytesEntry key ( value ( :8O MapInt32EnumEntry key () value (2.protobuf_unittest.MapEnum:8` MapInt32ForeignMessageEntry key (0 value ( 2!.protobuf_unittest.ForeignMessage:8a MapStringForeignMessageEntry key ( 0 value ( 2!.protobuf_unittest.ForeignMessage:8X MapInt32AllTypesEntry key (. value ( 2.protobuf_unittest.TestAllTypes:8"A TestMapSubmessage, test_map ( 2.protobuf_unittest.TestMap"¼ TestMessageMapQ map_int32_message ( 26.protobuf_unittest.TestMessageMap.MapInt32MessageEntryW MapInt32MessageEntry key (. value ( 2.protobuf_unittest.TestAllTypes:8"ã TestSameTypeMap: map1 ( 2,.protobuf_unittest.TestSameTypeMap.Map1Entry: map2 ( 2,.protobuf_unittest.TestSameTypeMap.Map2Entry+ Map1Entry key ( value (:8+ Map2Entry key ( value (:8"¶ TestRequiredMessageMapJ map_field ( 27.protobuf_unittest.TestRequiredMessageMap.MapFieldEntryP MapFieldEntry key (. value ( 2.protobuf_unittest.TestRequired:8"Ò TestArenaMapK map_int32_int32 ( 22.protobuf_unittest.TestArenaMap.MapInt32Int32EntryK map_int64_int64 ( 22.protobuf_unittest.TestArenaMap.MapInt64Int64EntryO map_uint32_uint32 ( 24.protobuf_unittest.TestArenaMap.MapUint32Uint32EntryO map_uint64_uint64 ( 24.protobuf_unittest.TestArenaMap.MapUint64Uint64EntryO map_sint32_sint32 ( 24.protobuf_unittest.TestArenaMap.MapSint32Sint32EntryO map_sint64_sint64 ( 24.protobuf_unittest.TestArenaMap.MapSint64Sint64EntryS map_fixed32_fixed32 ( 26.protobuf_unittest.TestArenaMap.MapFixed32Fixed32EntryS map_fixed64_fixed64 ( 26.protobuf_unittest.TestArenaMap.MapFixed64Fixed64EntryW map_sfixed32_sfixed32 ( 28.protobuf_unittest.TestArenaMap.MapSfixed32Sfixed32EntryW map_sfixed64_sfixed64 ( 28.protobuf_unittest.TestArenaMap.MapSfixed64Sfixed64EntryK map_int32_float ( 22.protobuf_unittest.TestArenaMap.MapInt32FloatEntryM map_int32_double ( 23.protobuf_unittest.TestArenaMap.MapInt32DoubleEntryG map_bool_bool ( 20.protobuf_unittest.TestArenaMap.MapBoolBoolEntryO map_string_string ( 24.protobuf_unittest.TestArenaMap.MapStringStringEntryK map_int32_bytes ( 22.protobuf_unittest.TestArenaMap.MapInt32BytesEntryI map_int32_enum ( 21.protobuf_unittest.TestArenaMap.MapInt32EnumEntry^ map_int32_foreign_message ( 2;.protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntryn "map_int32_foreign_message_no_arena ( 2B.protobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry4 MapInt32Int32Entry key ( value (:84 MapInt64Int64Entry key ( value (:86 MapUint32Uint32Entry key (  value ( :86 MapUint64Uint64Entry key ( value (:86 MapSint32Sint32Entry key ( value (:86 MapSint64Sint64Entry key ( value (:88 MapFixed32Fixed32Entry key ( value (:88 MapFixed64Fixed64Entry key ( value (:8: MapSfixed32Sfixed32Entry key ( value (:8: MapSfixed64Sfixed64Entry key ( value (:84 MapInt32FloatEntry key ( value (:85 MapInt32DoubleEntry key ( value (:82 MapBoolBoolEntry key ( value (:86 MapStringStringEntry key (  value ( :84 MapInt32BytesEntry key ( value ( :8O MapInt32EnumEntry key () value (2.protobuf_unittest.MapEnum:8` MapInt32ForeignMessageEntry key (0 value ( 2!.protobuf_unittest.ForeignMessage:8p "MapInt32ForeignMessageNoArenaEntry key (9 value ( 2*.protobuf_unittest_no_arena.ForeignMessage:8"ä MessageContainingEnumCalledTypeJ type ( 2<.protobuf_unittest.MessageContainingEnumCalledType.TypeEntry_ TypeEntry key ( A value ( 22.protobuf_unittest.MessageContainingEnumCalledType:8" Type TYPE_FOO" MessageContainingMapCalledEntryL entry ( 2=.protobuf_unittest.MessageContainingMapCalledEntry.EntryEntry, EntryEntry key ( value (:8"­ TestRecursiveMapMessage< a ( 21.protobuf_unittest.TestRecursiveMapMessage.AEntryT AEntry key ( 9 value ( 2*.protobuf_unittest.TestRecursiveMapMessage:8*? MapEnum MAP_ENUM_FOO MAP_ENUM_BAR MAP_ENUM_BAZBøbproto3)namepackagesyntaxZ serialized_pbZ dependenciesMapEnumzprotobuf_unittest.MapEnum MAP_ENUM_FOO)rindexnumberoptionstype MAP_ENUM_BAR MAP_ENUM_BAZi1ip) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZTypez6protobuf_unittest.MessageContainingEnumCalledType.TypeZTYPE_FOOiiMapInt32Int32Entryz,protobuf_unittest.TestMap.MapInt32Int32Entrykeyz0protobuf_unittest.TestMap.MapInt32Int32Entry.keyF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typer"Z is_extensionZextension_scoperr valuez2protobuf_unittest.TestMap.MapInt32Int32Entry.valuez8iMi)rrrr r"Zfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr#r$MapInt64Int64Entryz,protobuf_unittest.TestMap.MapInt64Int64Entryz0protobuf_unittest.TestMap.MapInt64Int64Entry.keyz2protobuf_unittest.TestMap.MapInt64Int64Entry.valueiiMapUint32Uint32Entryz.protobuf_unittest.TestMap.MapUint32Uint32Entryz2protobuf_unittest.TestMap.MapUint32Uint32Entry.key z4protobuf_unittest.TestMap.MapUint32Uint32Entry.valueiiMapUint64Uint64Entryz.protobuf_unittest.TestMap.MapUint64Uint64Entryz2protobuf_unittest.TestMap.MapUint64Uint64Entry.keyz4protobuf_unittest.TestMap.MapUint64Uint64Entry.valueii'MapSint32Sint32Entryz.protobuf_unittest.TestMap.MapSint32Sint32Entryz2protobuf_unittest.TestMap.MapSint32Sint32Entry.keyz4protobuf_unittest.TestMap.MapSint32Sint32Entry.valuei)i_MapSint64Sint64Entryz.protobuf_unittest.TestMap.MapSint64Sint64Entryz2protobuf_unittest.TestMap.MapSint64Sint64Entry.keyz4protobuf_unittest.TestMap.MapSint64Sint64Entry.valueiaiMapFixed32Fixed32Entryz0protobuf_unittest.TestMap.MapFixed32Fixed32Entryz4protobuf_unittest.TestMap.MapFixed32Fixed32Entry.keyz6protobuf_unittest.TestMap.MapFixed32Fixed32Entry.valueiiMapFixed64Fixed64Entryz0protobuf_unittest.TestMap.MapFixed64Fixed64Entryz4protobuf_unittest.TestMap.MapFixed64Fixed64Entry.keyz6protobuf_unittest.TestMap.MapFixed64Fixed64Entry.valueii MapSfixed32Sfixed32Entryz2protobuf_unittest.TestMap.MapSfixed32Sfixed32Entryz6protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry.keyz8protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry.valuei iGMapSfixed64Sfixed64Entryz2protobuf_unittest.TestMap.MapSfixed64Sfixed64Entryz6protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry.keyz8protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry.valueiIiMapInt32FloatEntryz,protobuf_unittest.TestMap.MapInt32FloatEntryz0protobuf_unittest.TestMap.MapInt32FloatEntry.keyz2protobuf_unittest.TestMap.MapInt32FloatEntry.valueiiMapInt32DoubleEntryz-protobuf_unittest.TestMap.MapInt32DoubleEntryz1protobuf_unittest.TestMap.MapInt32DoubleEntry.keyz3protobuf_unittest.TestMap.MapInt32DoubleEntry.valueiiMapBoolBoolEntryz*protobuf_unittest.TestMap.MapBoolBoolEntryz.protobuf_unittest.TestMap.MapBoolBoolEntry.keyz0protobuf_unittest.TestMap.MapBoolBoolEntry.valueii$ MapStringStringEntryz.protobuf_unittest.TestMap.MapStringStringEntryz2protobuf_unittest.TestMap.MapStringStringEntry.key zutf-8z4protobuf_unittest.TestMap.MapStringStringEntry.valuei& i\ MapInt32BytesEntryz,protobuf_unittest.TestMap.MapInt32BytesEntryz0protobuf_unittest.TestMap.MapInt32BytesEntry.keyz2protobuf_unittest.TestMap.MapInt32BytesEntry.value i^ i MapInt32EnumEntryz+protobuf_unittest.TestMap.MapInt32EnumEntryz/protobuf_unittest.TestMap.MapInt32EnumEntry.keyz1protobuf_unittest.TestMap.MapInt32EnumEntry.valuei i MapInt32ForeignMessageEntryz5protobuf_unittest.TestMap.MapInt32ForeignMessageEntryz9protobuf_unittest.TestMap.MapInt32ForeignMessageEntry.keyz;protobuf_unittest.TestMap.MapInt32ForeignMessageEntry.value i iE MapStringForeignMessageEntryz6protobuf_unittest.TestMap.MapStringForeignMessageEntryz:protobuf_unittest.TestMap.MapStringForeignMessageEntry.keyzprotobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry.keyz@protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry.value"MapInt32ForeignMessageNoArenaEntryzAprotobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntryzEprotobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry.keyzGprotobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry.valueii TestArenaMapzprotobuf_unittest.TestArenaMapz.protobuf_unittest.TestArenaMap.map_int32_int32z.protobuf_unittest.TestArenaMap.map_int64_int64z0protobuf_unittest.TestArenaMap.map_uint32_uint32z0protobuf_unittest.TestArenaMap.map_uint64_uint64z0protobuf_unittest.TestArenaMap.map_sint32_sint32z0protobuf_unittest.TestArenaMap.map_sint64_sint64z2protobuf_unittest.TestArenaMap.map_fixed32_fixed32z2protobuf_unittest.TestArenaMap.map_fixed64_fixed64z4protobuf_unittest.TestArenaMap.map_sfixed32_sfixed32z4protobuf_unittest.TestArenaMap.map_sfixed64_sfixed64z.protobuf_unittest.TestArenaMap.map_int32_floatz/protobuf_unittest.TestArenaMap.map_int32_doublez,protobuf_unittest.TestArenaMap.map_bool_boolz0protobuf_unittest.TestArenaMap.map_string_stringz.protobuf_unittest.TestArenaMap.map_int32_bytesz-protobuf_unittest.TestArenaMap.map_int32_enumz8protobuf_unittest.TestArenaMap.map_int32_foreign_messageZ"map_int32_foreign_message_no_arenazAprotobuf_unittest.TestArenaMap.map_int32_foreign_message_no_arenai TypeEntryz;protobuf_unittest.MessageContainingEnumCalledType.TypeEntryz?protobuf_unittest.MessageContainingEnumCalledType.TypeEntry.keyzAprotobuf_unittest.MessageContainingEnumCalledType.TypeEntry.valueijiMessageContainingEnumCalledTypez1protobuf_unittest.MessageContainingEnumCalledTyperz6protobuf_unittest.MessageContainingEnumCalledType.typei EntryEntryzr?rArDrFrHrKrLrbrc)rQrbrc)rSrTrbrc)rVrbrc)r%r,r-r/r1r3r5r7r9r;r=r>r?rArDrFrHrXrbrc)rZrbrc)r\rbrc)r_rbrcTuø)sys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ%google_dot_protobuf_dot_unittest__pb2rZ0google_dot_protobuf_dot_unittest__no__arena__pb2ZFileDescriptorrbZEnumDescriptorZEnumValueDescriptorZ_MAPENUMZRegisterEnumDescriptorZEnumTypeWrapperrrrrZ%_MESSAGECONTAININGENUMCALLEDTYPE_TYPEZ DescriptorZFieldDescriptorZ _ParseOptionsZMessageOptionsZ_TESTMAP_MAPINT32INT32ENTRYZ_TESTMAP_MAPINT64INT64ENTRYZ_TESTMAP_MAPUINT32UINT32ENTRYZ_TESTMAP_MAPUINT64UINT64ENTRYZ_TESTMAP_MAPSINT32SINT32ENTRYZ_TESTMAP_MAPSINT64SINT64ENTRYZ_TESTMAP_MAPFIXED32FIXED32ENTRYZ_TESTMAP_MAPFIXED64FIXED64ENTRYZ!_TESTMAP_MAPSFIXED32SFIXED32ENTRYZ!_TESTMAP_MAPSFIXED64SFIXED64ENTRYfloatZ_TESTMAP_MAPINT32FLOATENTRYZ_TESTMAP_MAPINT32DOUBLEENTRYZ_TESTMAP_MAPBOOLBOOLENTRYdecodeZ_TESTMAP_MAPSTRINGSTRINGENTRYZ_TESTMAP_MAPINT32BYTESENTRYZ_TESTMAP_MAPINT32ENUMENTRYZ$_TESTMAP_MAPINT32FOREIGNMESSAGEENTRYZ%_TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRYZ_TESTMAP_MAPINT32ALLTYPESENTRYZ_TESTMAPZ_TESTMAPSUBMESSAGEZ$_TESTMESSAGEMAP_MAPINT32MESSAGEENTRYZ_TESTMESSAGEMAPZ_TESTSAMETYPEMAP_MAP1ENTRYZ_TESTSAMETYPEMAP_MAP2ENTRYZ_TESTSAMETYPEMAPZ%_TESTREQUIREDMESSAGEMAP_MAPFIELDENTRYZ_TESTREQUIREDMESSAGEMAPZ _TESTARENAMAP_MAPINT32INT32ENTRYZ _TESTARENAMAP_MAPINT64INT64ENTRYZ"_TESTARENAMAP_MAPUINT32UINT32ENTRYZ"_TESTARENAMAP_MAPUINT64UINT64ENTRYZ"_TESTARENAMAP_MAPSINT32SINT32ENTRYZ"_TESTARENAMAP_MAPSINT64SINT64ENTRYZ$_TESTARENAMAP_MAPFIXED32FIXED32ENTRYZ$_TESTARENAMAP_MAPFIXED64FIXED64ENTRYZ&_TESTARENAMAP_MAPSFIXED32SFIXED32ENTRYZ&_TESTARENAMAP_MAPSFIXED64SFIXED64ENTRYZ _TESTARENAMAP_MAPINT32FLOATENTRYZ!_TESTARENAMAP_MAPINT32DOUBLEENTRYZ_TESTARENAMAP_MAPBOOLBOOLENTRYZ"_TESTARENAMAP_MAPSTRINGSTRINGENTRYZ _TESTARENAMAP_MAPINT32BYTESENTRYZ_TESTARENAMAP_MAPINT32ENUMENTRYZ)_TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRYZ0_TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRYZ _TESTARENAMAPZ*_MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRYZ _MESSAGECONTAININGENUMCALLEDTYPEZ+_MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRYZ _MESSAGECONTAININGMAPCALLEDENTRYZ_TESTRECURSIVEMAPMESSAGE_AENTRYZ_TESTRECURSIVEMAPMESSAGEr"Zfields_by_namer)Z_FOREIGNMESSAGEr(Z _TESTALLTYPESZ _TESTREQUIREDZmessage_types_by_nameZenum_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrMZRegisterMessager%r,r-r/r1r3r5r7r9r;r=r>r?rArDrFrHrKrLrPrRrQrUrSrTrWrVrYrXr[rZr]r\r`r_Z has_optionsZ FileOptionsZ_optionsrrrrs                               (                              &                                                                                                                                                                       PK! y~5protobuf/__pycache__/unittest_mset_pb2.cpython-36.pycnu[3 h&@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejdddddddddddddddedggggdddggdddZejdddedejdd dd!d"ddddddddddedgejd#d$dd%ddddddddd&ddedgggdddggd'd(dZejd)d*dedejd+d,dd-d.d.dded/jd0ddddddedgejd#d1dd2ddddddddd&ddedgggdddggd3d4dZejd5d6dedejd7d8dd9d"dd9ddddddddedejd:d;ddddZejd?d@dedejdAdBddddddgddddddedggeggdddggdCd>dZejejd_ee_eejdA_eejd<eejd<eejd)<eejd?<ej ee j!dej"fe#edDdEZ$ej%e$e j!dej"fe#edDdEZ&ej%e&e j!d)ej"fe#edDdEZ'ej%e'e j!d?ej"fe#e j!d5ej"fe#edDdEedDdFZ(ej%e(ej%e(j)eej*d#_ej+j,ej*d#eej*d#_ej+j,ej*d#d&e_-ej.e j/edGe_0dS)HNcCs|S)N)xrr'/usr/lib/python3.6/unittest_mset_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)unittest_mset_wire_format_pb2z#google/protobuf/unittest_mset.protoZprotobuf_unittestZproto2u #google/protobuf/unittest_mset.protoprotobuf_unittest/google/protobuf/unittest_mset_wire_format.proto"Z TestMessageSetContainer? message_set ( 2*.proto2_wireformat_unittest.TestMessageSet"Ÿ TestMessageSetExtension1 i (2x message_set_extension*.proto2_wireformat_unittest.TestMessageSet°¦^ ( 2+.protobuf_unittest.TestMessageSetExtension1"¡ TestMessageSetExtension2 str ( 2x message_set_extension*.proto2_wireformat_unittest.TestMessageSetù»^ ( 2+.protobuf_unittest.TestMessageSetExtension2"n RawMessageSet3 item ( 2%.protobuf_unittest.RawMessageSet.Item( Item type_id ( message ( BHø)namepackagesyntaxZ serialized_pbZ dependenciesTestMessageSetContainerz)protobuf_unittest.TestMessageSetContainerZ message_setz5protobuf_unittest.TestMessageSetContainer.message_set F)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfilek)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endTestMessageSetExtension1z*protobuf_unittest.TestMessageSetExtension1iz,protobuf_unittest.TestMessageSetExtension1.iZmessage_set_extensionz@protobuf_unittest.TestMessageSetExtension1.message_set_extensioni0TigTestMessageSetExtension2z*protobuf_unittest.TestMessageSetExtension2strz.protobuf_unittest.TestMessageSetExtension2.str zutf-8z@protobuf_unittest.TestMessageSetExtension2.message_set_extensioniiji Itemz$protobuf_unittest.RawMessageSet.ItemZtype_idz,protobuf_unittest.RawMessageSet.Item.type_idr z,protobuf_unittest.RawMessageSet.Item.message iSi{ RawMessageSetzprotobuf_unittest.RawMessageSetitemz$protobuf_unittest.RawMessageSet.itemi z!google.protobuf.unittest_mset_pb2) DESCRIPTOR __module__)r+r0r1uHø)1sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ9google_dot_protobuf_dot_unittest__mset__wire__format__pb2ZFileDescriptorr0Z DescriptorZFieldDescriptorZ_TESTMESSAGESETCONTAINERZ_TESTMESSAGESETEXTENSION1decodeZ_TESTMESSAGESETEXTENSION2Z_RAWMESSAGESET_ITEMZ_RAWMESSAGESETZ_TESTMESSAGESETZfields_by_namerrZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager!r&r.r+Zextensions_by_nameZTestMessageSetZRegisterExtensionZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrsl                               PK!X~ ~ protobuf/any_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/any.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/any.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n\x19google/protobuf/any.proto\x12\x0fgoogle.protobuf\"&\n\x03\x41ny\x12\x10\n\x08type_url\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x42o\n\x13\x63om.google.protobufB\x08\x41nyProtoP\x01Z%github.com/golang/protobuf/ptypes/any\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') ) _ANY = _descriptor.Descriptor( name='Any', full_name='google.protobuf.Any', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='type_url', full_name='google.protobuf.Any.type_url', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.Any.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=46, serialized_end=84, ) DESCRIPTOR.message_types_by_name['Any'] = _ANY _sym_db.RegisterFileDescriptor(DESCRIPTOR) Any = _reflection.GeneratedProtocolMessageType('Any', (_message.Message,), dict( DESCRIPTOR = _ANY, __module__ = 'google.protobuf.any_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Any) )) _sym_db.RegisterMessage(Any) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\010AnyProtoP\001Z%github.com/golang/protobuf/ptypes/any\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) # @@protoc_insertion_point(module_scope) PK!+,;<<protobuf/unittest_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import service as _service from google.protobuf import service_reflection from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import unittest_import_pb2 as google_dot_protobuf_dot_unittest__import__pb2 try: google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google_dot_protobuf_dot_unittest__import__public__pb2 except AttributeError: google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google.protobuf.unittest_import_public_pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest.proto', package='protobuf_unittest', syntax='proto2', serialized_pb=_b('\n\x1egoogle/protobuf/unittest.proto\x12\x11protobuf_unittest\x1a%google/protobuf/unittest_import.proto\"\xed\x18\n\x0cTestAllTypes\x12\x16\n\x0eoptional_int32\x18\x01 \x01(\x05\x12\x16\n\x0eoptional_int64\x18\x02 \x01(\x03\x12\x17\n\x0foptional_uint32\x18\x03 \x01(\r\x12\x17\n\x0foptional_uint64\x18\x04 \x01(\x04\x12\x17\n\x0foptional_sint32\x18\x05 \x01(\x11\x12\x17\n\x0foptional_sint64\x18\x06 \x01(\x12\x12\x18\n\x10optional_fixed32\x18\x07 \x01(\x07\x12\x18\n\x10optional_fixed64\x18\x08 \x01(\x06\x12\x19\n\x11optional_sfixed32\x18\t \x01(\x0f\x12\x19\n\x11optional_sfixed64\x18\n \x01(\x10\x12\x16\n\x0eoptional_float\x18\x0b \x01(\x02\x12\x17\n\x0foptional_double\x18\x0c \x01(\x01\x12\x15\n\roptional_bool\x18\r \x01(\x08\x12\x17\n\x0foptional_string\x18\x0e \x01(\t\x12\x16\n\x0eoptional_bytes\x18\x0f \x01(\x0c\x12\x44\n\roptionalgroup\x18\x10 \x01(\n2-.protobuf_unittest.TestAllTypes.OptionalGroup\x12N\n\x17optional_nested_message\x18\x12 \x01(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessage\x12\x43\n\x18optional_foreign_message\x18\x13 \x01(\x0b\x32!.protobuf_unittest.ForeignMessage\x12H\n\x17optional_import_message\x18\x14 \x01(\x0b\x32\'.protobuf_unittest_import.ImportMessage\x12H\n\x14optional_nested_enum\x18\x15 \x01(\x0e\x32*.protobuf_unittest.TestAllTypes.NestedEnum\x12=\n\x15optional_foreign_enum\x18\x16 \x01(\x0e\x32\x1e.protobuf_unittest.ForeignEnum\x12\x42\n\x14optional_import_enum\x18\x17 \x01(\x0e\x32$.protobuf_unittest_import.ImportEnum\x12!\n\x15optional_string_piece\x18\x18 \x01(\tB\x02\x08\x02\x12\x19\n\roptional_cord\x18\x19 \x01(\tB\x02\x08\x01\x12U\n\x1eoptional_public_import_message\x18\x1a \x01(\x0b\x32-.protobuf_unittest_import.PublicImportMessage\x12P\n\x15optional_lazy_message\x18\x1b \x01(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessageB\x02(\x01\x12\x16\n\x0erepeated_int32\x18\x1f \x03(\x05\x12\x16\n\x0erepeated_int64\x18 \x03(\x03\x12\x17\n\x0frepeated_uint32\x18! \x03(\r\x12\x17\n\x0frepeated_uint64\x18\" \x03(\x04\x12\x17\n\x0frepeated_sint32\x18# \x03(\x11\x12\x17\n\x0frepeated_sint64\x18$ \x03(\x12\x12\x18\n\x10repeated_fixed32\x18% \x03(\x07\x12\x18\n\x10repeated_fixed64\x18& \x03(\x06\x12\x19\n\x11repeated_sfixed32\x18\' \x03(\x0f\x12\x19\n\x11repeated_sfixed64\x18( \x03(\x10\x12\x16\n\x0erepeated_float\x18) \x03(\x02\x12\x17\n\x0frepeated_double\x18* \x03(\x01\x12\x15\n\rrepeated_bool\x18+ \x03(\x08\x12\x17\n\x0frepeated_string\x18, \x03(\t\x12\x16\n\x0erepeated_bytes\x18- \x03(\x0c\x12\x44\n\rrepeatedgroup\x18. \x03(\n2-.protobuf_unittest.TestAllTypes.RepeatedGroup\x12N\n\x17repeated_nested_message\x18\x30 \x03(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessage\x12\x43\n\x18repeated_foreign_message\x18\x31 \x03(\x0b\x32!.protobuf_unittest.ForeignMessage\x12H\n\x17repeated_import_message\x18\x32 \x03(\x0b\x32\'.protobuf_unittest_import.ImportMessage\x12H\n\x14repeated_nested_enum\x18\x33 \x03(\x0e\x32*.protobuf_unittest.TestAllTypes.NestedEnum\x12=\n\x15repeated_foreign_enum\x18\x34 \x03(\x0e\x32\x1e.protobuf_unittest.ForeignEnum\x12\x42\n\x14repeated_import_enum\x18\x35 \x03(\x0e\x32$.protobuf_unittest_import.ImportEnum\x12!\n\x15repeated_string_piece\x18\x36 \x03(\tB\x02\x08\x02\x12\x19\n\rrepeated_cord\x18\x37 \x03(\tB\x02\x08\x01\x12P\n\x15repeated_lazy_message\x18\x39 \x03(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessageB\x02(\x01\x12\x19\n\rdefault_int32\x18= \x01(\x05:\x02\x34\x31\x12\x19\n\rdefault_int64\x18> \x01(\x03:\x02\x34\x32\x12\x1a\n\x0e\x64\x65\x66\x61ult_uint32\x18? \x01(\r:\x02\x34\x33\x12\x1a\n\x0e\x64\x65\x66\x61ult_uint64\x18@ \x01(\x04:\x02\x34\x34\x12\x1b\n\x0e\x64\x65\x66\x61ult_sint32\x18\x41 \x01(\x11:\x03-45\x12\x1a\n\x0e\x64\x65\x66\x61ult_sint64\x18\x42 \x01(\x12:\x02\x34\x36\x12\x1b\n\x0f\x64\x65\x66\x61ult_fixed32\x18\x43 \x01(\x07:\x02\x34\x37\x12\x1b\n\x0f\x64\x65\x66\x61ult_fixed64\x18\x44 \x01(\x06:\x02\x34\x38\x12\x1c\n\x10\x64\x65\x66\x61ult_sfixed32\x18\x45 \x01(\x0f:\x02\x34\x39\x12\x1d\n\x10\x64\x65\x66\x61ult_sfixed64\x18\x46 \x01(\x10:\x03-50\x12\x1b\n\rdefault_float\x18G \x01(\x02:\x04\x35\x31.5\x12\x1d\n\x0e\x64\x65\x66\x61ult_double\x18H \x01(\x01:\x05\x35\x32\x30\x30\x30\x12\x1a\n\x0c\x64\x65\x66\x61ult_bool\x18I \x01(\x08:\x04true\x12\x1d\n\x0e\x64\x65\x66\x61ult_string\x18J \x01(\t:\x05hello\x12\x1c\n\rdefault_bytes\x18K \x01(\x0c:\x05world\x12L\n\x13\x64\x65\x66\x61ult_nested_enum\x18Q \x01(\x0e\x32*.protobuf_unittest.TestAllTypes.NestedEnum:\x03\x42\x41R\x12I\n\x14\x64\x65\x66\x61ult_foreign_enum\x18R \x01(\x0e\x32\x1e.protobuf_unittest.ForeignEnum:\x0b\x46OREIGN_BAR\x12M\n\x13\x64\x65\x66\x61ult_import_enum\x18S \x01(\x0e\x32$.protobuf_unittest_import.ImportEnum:\nIMPORT_BAR\x12%\n\x14\x64\x65\x66\x61ult_string_piece\x18T \x01(\t:\x03\x61\x62\x63\x42\x02\x08\x02\x12\x1d\n\x0c\x64\x65\x66\x61ult_cord\x18U \x01(\t:\x03\x31\x32\x33\x42\x02\x08\x01\x12\x16\n\x0coneof_uint32\x18o \x01(\rH\x00\x12M\n\x14oneof_nested_message\x18p \x01(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessageH\x00\x12\x16\n\x0coneof_string\x18q \x01(\tH\x00\x12\x15\n\x0boneof_bytes\x18r \x01(\x0cH\x00\x1a\x1b\n\rNestedMessage\x12\n\n\x02\x62\x62\x18\x01 \x01(\x05\x1a\x1a\n\rOptionalGroup\x12\t\n\x01\x61\x18\x11 \x01(\x05\x1a\x1a\n\rRepeatedGroup\x12\t\n\x01\x61\x18/ \x01(\x05\"9\n\nNestedEnum\x12\x07\n\x03\x46OO\x10\x01\x12\x07\n\x03\x42\x41R\x10\x02\x12\x07\n\x03\x42\x41Z\x10\x03\x12\x10\n\x03NEG\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x42\r\n\x0boneof_field\"\xbb\x01\n\x12NestedTestAllTypes\x12\x34\n\x05\x63hild\x18\x01 \x01(\x0b\x32%.protobuf_unittest.NestedTestAllTypes\x12\x30\n\x07payload\x18\x02 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12=\n\x0erepeated_child\x18\x03 \x03(\x0b\x32%.protobuf_unittest.NestedTestAllTypes\"4\n\x14TestDeprecatedFields\x12\x1c\n\x10\x64\x65precated_int32\x18\x01 \x01(\x05\x42\x02\x18\x01\"\x1b\n\x15TestDeprecatedMessage:\x02\x18\x01\"&\n\x0e\x46oreignMessage\x12\t\n\x01\x63\x18\x01 \x01(\x05\x12\t\n\x01\x64\x18\x02 \x01(\x05\"0\n\x12TestReservedFieldsJ\x04\x08\x02\x10\x03J\x04\x08\x0f\x10\x10J\x04\x08\t\x10\x0cR\x03\x62\x61rR\x03\x62\x61z\"\x1d\n\x11TestAllExtensions*\x08\x08\x01\x10\x80\x80\x80\x80\x02\"$\n\x17OptionalGroup_extension\x12\t\n\x01\x61\x18\x11 \x01(\x05\"$\n\x17RepeatedGroup_extension\x12\t\n\x01\x61\x18/ \x01(\x05\"\x98\x01\n\x13TestNestedExtension29\n\x04test\x12$.protobuf_unittest.TestAllExtensions\x18\xea\x07 \x01(\t:\x04test2F\n\x17nested_string_extension\x12$.protobuf_unittest.TestAllExtensions\x18\xeb\x07 \x01(\t\"\xd5\x05\n\x0cTestRequired\x12\t\n\x01\x61\x18\x01 \x02(\x05\x12\x0e\n\x06\x64ummy2\x18\x02 \x01(\x05\x12\t\n\x01\x62\x18\x03 \x02(\x05\x12\x0e\n\x06\x64ummy4\x18\x04 \x01(\x05\x12\x0e\n\x06\x64ummy5\x18\x05 \x01(\x05\x12\x0e\n\x06\x64ummy6\x18\x06 \x01(\x05\x12\x0e\n\x06\x64ummy7\x18\x07 \x01(\x05\x12\x0e\n\x06\x64ummy8\x18\x08 \x01(\x05\x12\x0e\n\x06\x64ummy9\x18\t \x01(\x05\x12\x0f\n\x07\x64ummy10\x18\n \x01(\x05\x12\x0f\n\x07\x64ummy11\x18\x0b \x01(\x05\x12\x0f\n\x07\x64ummy12\x18\x0c \x01(\x05\x12\x0f\n\x07\x64ummy13\x18\r \x01(\x05\x12\x0f\n\x07\x64ummy14\x18\x0e \x01(\x05\x12\x0f\n\x07\x64ummy15\x18\x0f \x01(\x05\x12\x0f\n\x07\x64ummy16\x18\x10 \x01(\x05\x12\x0f\n\x07\x64ummy17\x18\x11 \x01(\x05\x12\x0f\n\x07\x64ummy18\x18\x12 \x01(\x05\x12\x0f\n\x07\x64ummy19\x18\x13 \x01(\x05\x12\x0f\n\x07\x64ummy20\x18\x14 \x01(\x05\x12\x0f\n\x07\x64ummy21\x18\x15 \x01(\x05\x12\x0f\n\x07\x64ummy22\x18\x16 \x01(\x05\x12\x0f\n\x07\x64ummy23\x18\x17 \x01(\x05\x12\x0f\n\x07\x64ummy24\x18\x18 \x01(\x05\x12\x0f\n\x07\x64ummy25\x18\x19 \x01(\x05\x12\x0f\n\x07\x64ummy26\x18\x1a \x01(\x05\x12\x0f\n\x07\x64ummy27\x18\x1b \x01(\x05\x12\x0f\n\x07\x64ummy28\x18\x1c \x01(\x05\x12\x0f\n\x07\x64ummy29\x18\x1d \x01(\x05\x12\x0f\n\x07\x64ummy30\x18\x1e \x01(\x05\x12\x0f\n\x07\x64ummy31\x18\x1f \x01(\x05\x12\x0f\n\x07\x64ummy32\x18 \x01(\x05\x12\t\n\x01\x63\x18! \x02(\x05\x32V\n\x06single\x12$.protobuf_unittest.TestAllExtensions\x18\xe8\x07 \x01(\x0b\x32\x1f.protobuf_unittest.TestRequired2U\n\x05multi\x12$.protobuf_unittest.TestAllExtensions\x18\xe9\x07 \x03(\x0b\x32\x1f.protobuf_unittest.TestRequired\"\x9a\x01\n\x13TestRequiredForeign\x12\x39\n\x10optional_message\x18\x01 \x01(\x0b\x32\x1f.protobuf_unittest.TestRequired\x12\x39\n\x10repeated_message\x18\x02 \x03(\x0b\x32\x1f.protobuf_unittest.TestRequired\x12\r\n\x05\x64ummy\x18\x03 \x01(\x05\"\xc6\x01\n\x13TestRequiredMessage\x12\x39\n\x10optional_message\x18\x01 \x01(\x0b\x32\x1f.protobuf_unittest.TestRequired\x12\x39\n\x10repeated_message\x18\x02 \x03(\x0b\x32\x1f.protobuf_unittest.TestRequired\x12\x39\n\x10required_message\x18\x03 \x02(\x0b\x32\x1f.protobuf_unittest.TestRequired\"Z\n\x11TestForeignNested\x12\x45\n\x0e\x66oreign_nested\x18\x01 \x01(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessage\"\x12\n\x10TestEmptyMessage\"*\n\x1eTestEmptyMessageWithExtensions*\x08\x08\x01\x10\x80\x80\x80\x80\x02\"7\n\x1bTestMultipleExtensionRanges*\x04\x08*\x10+*\x06\x08\xaf \x10\x94!*\n\x08\x80\x80\x04\x10\x80\x80\x80\x80\x02\"4\n\x18TestReallyLargeTagNumber\x12\t\n\x01\x61\x18\x01 \x01(\x05\x12\r\n\x02\x62\x62\x18\xff\xff\xff\x7f \x01(\x05\"U\n\x14TestRecursiveMessage\x12\x32\n\x01\x61\x18\x01 \x01(\x0b\x32\'.protobuf_unittest.TestRecursiveMessage\x12\t\n\x01i\x18\x02 \x01(\x05\"\xe1\x02\n\x14TestMutualRecursionA\x12\x33\n\x02\x62\x62\x18\x01 \x01(\x0b\x32\'.protobuf_unittest.TestMutualRecursionB\x12\x42\n\x08subgroup\x18\x02 \x01(\n20.protobuf_unittest.TestMutualRecursionA.SubGroup\x1a@\n\nSubMessage\x12\x32\n\x01\x62\x18\x01 \x01(\x0b\x32\'.protobuf_unittest.TestMutualRecursionB\x1a\x8d\x01\n\x08SubGroup\x12G\n\x0bsub_message\x18\x03 \x01(\x0b\x32\x32.protobuf_unittest.TestMutualRecursionA.SubMessage\x12\x38\n\x0fnot_in_this_scc\x18\x04 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\"b\n\x14TestMutualRecursionB\x12\x32\n\x01\x61\x18\x01 \x01(\x0b\x32\'.protobuf_unittest.TestMutualRecursionA\x12\x16\n\x0eoptional_int32\x18\x02 \x01(\x05\"\xca\x01\n\x11TestIsInitialized\x12\x44\n\x0bsub_message\x18\x01 \x01(\x0b\x32/.protobuf_unittest.TestIsInitialized.SubMessage\x1ao\n\nSubMessage\x12J\n\x08subgroup\x18\x01 \x01(\n28.protobuf_unittest.TestIsInitialized.SubMessage.SubGroup\x1a\x15\n\x08SubGroup\x12\t\n\x01i\x18\x02 \x02(\x05\"\xb3\x01\n\x12TestDupFieldNumber\x12\t\n\x01\x61\x18\x01 \x01(\x05\x12\x36\n\x03\x66oo\x18\x02 \x01(\n2).protobuf_unittest.TestDupFieldNumber.Foo\x12\x36\n\x03\x62\x61r\x18\x03 \x01(\n2).protobuf_unittest.TestDupFieldNumber.Bar\x1a\x10\n\x03\x46oo\x12\t\n\x01\x61\x18\x01 \x01(\x05\x1a\x10\n\x03\x42\x61r\x12\t\n\x01\x61\x18\x01 \x01(\x05\"L\n\x10TestEagerMessage\x12\x38\n\x0bsub_message\x18\x01 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypesB\x02(\x00\"K\n\x0fTestLazyMessage\x12\x38\n\x0bsub_message\x18\x01 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypesB\x02(\x01\"\x80\x02\n\x18TestNestedMessageHasBits\x12Z\n\x17optional_nested_message\x18\x01 \x01(\x0b\x32\x39.protobuf_unittest.TestNestedMessageHasBits.NestedMessage\x1a\x87\x01\n\rNestedMessage\x12$\n\x1cnestedmessage_repeated_int32\x18\x01 \x03(\x05\x12P\n%nestedmessage_repeated_foreignmessage\x18\x02 \x03(\x0b\x32!.protobuf_unittest.ForeignMessage\"\xe5\x03\n\x17TestCamelCaseFieldNames\x12\x16\n\x0ePrimitiveField\x18\x01 \x01(\x05\x12\x13\n\x0bStringField\x18\x02 \x01(\t\x12\x31\n\tEnumField\x18\x03 \x01(\x0e\x32\x1e.protobuf_unittest.ForeignEnum\x12\x37\n\x0cMessageField\x18\x04 \x01(\x0b\x32!.protobuf_unittest.ForeignMessage\x12\x1c\n\x10StringPieceField\x18\x05 \x01(\tB\x02\x08\x02\x12\x15\n\tCordField\x18\x06 \x01(\tB\x02\x08\x01\x12\x1e\n\x16RepeatedPrimitiveField\x18\x07 \x03(\x05\x12\x1b\n\x13RepeatedStringField\x18\x08 \x03(\t\x12\x39\n\x11RepeatedEnumField\x18\t \x03(\x0e\x32\x1e.protobuf_unittest.ForeignEnum\x12?\n\x14RepeatedMessageField\x18\n \x03(\x0b\x32!.protobuf_unittest.ForeignMessage\x12$\n\x18RepeatedStringPieceField\x18\x0b \x03(\tB\x02\x08\x02\x12\x1d\n\x11RepeatedCordField\x18\x0c \x03(\tB\x02\x08\x01\"\xd5\x01\n\x12TestFieldOrderings\x12\x11\n\tmy_string\x18\x0b \x01(\t\x12\x0e\n\x06my_int\x18\x01 \x01(\x03\x12\x10\n\x08my_float\x18\x65 \x01(\x02\x12U\n\x17optional_nested_message\x18\xc8\x01 \x01(\x0b\x32\x33.protobuf_unittest.TestFieldOrderings.NestedMessage\x1a\'\n\rNestedMessage\x12\n\n\x02oo\x18\x02 \x01(\x03\x12\n\n\x02\x62\x62\x18\x01 \x01(\x05*\x04\x08\x02\x10\x0b*\x04\x08\x0c\x10\x65\"\xb6\x07\n\x18TestExtremeDefaultValues\x12?\n\rescaped_bytes\x18\x01 \x01(\x0c:(\\000\\001\\007\\010\\014\\n\\r\\t\\013\\\\\\\'\\\"\\376\x12 \n\x0clarge_uint32\x18\x02 \x01(\r:\n4294967295\x12*\n\x0clarge_uint64\x18\x03 \x01(\x04:\x14\x31\x38\x34\x34\x36\x37\x34\x34\x30\x37\x33\x37\x30\x39\x35\x35\x31\x36\x31\x35\x12 \n\x0bsmall_int32\x18\x04 \x01(\x05:\x0b-2147483647\x12)\n\x0bsmall_int64\x18\x05 \x01(\x03:\x14-9223372036854775807\x12\'\n\x12really_small_int32\x18\x15 \x01(\x05:\x0b-2147483648\x12\x30\n\x12really_small_int64\x18\x16 \x01(\x03:\x14-9223372036854775808\x12\x18\n\x0butf8_string\x18\x06 \x01(\t:\x03\xe1\x88\xb4\x12\x15\n\nzero_float\x18\x07 \x01(\x02:\x01\x30\x12\x14\n\tone_float\x18\x08 \x01(\x02:\x01\x31\x12\x18\n\x0bsmall_float\x18\t \x01(\x02:\x03\x31.5\x12\x1e\n\x12negative_one_float\x18\n \x01(\x02:\x02-1\x12\x1c\n\x0enegative_float\x18\x0b \x01(\x02:\x04-1.5\x12\x1a\n\x0blarge_float\x18\x0c \x01(\x02:\x05\x32\x65+08\x12$\n\x14small_negative_float\x18\r \x01(\x02:\x06-8e-28\x12\x17\n\ninf_double\x18\x0e \x01(\x01:\x03inf\x12\x1c\n\x0eneg_inf_double\x18\x0f \x01(\x01:\x04-inf\x12\x17\n\nnan_double\x18\x10 \x01(\x01:\x03nan\x12\x16\n\tinf_float\x18\x11 \x01(\x02:\x03inf\x12\x1b\n\rneg_inf_float\x18\x12 \x01(\x02:\x04-inf\x12\x16\n\tnan_float\x18\x13 \x01(\x02:\x03nan\x12+\n\x0c\x63pp_trigraph\x18\x14 \x01(\t:\x15? ? ?? ?? ??? ??/ ??-\x12 \n\x10string_with_zero\x18\x17 \x01(\t:\x06hel\x00lo\x12\"\n\x0f\x62ytes_with_zero\x18\x18 \x01(\x0c:\twor\\000ld\x12(\n\x16string_piece_with_zero\x18\x19 \x01(\t:\x04\x61\x62\x00\x63\x42\x02\x08\x02\x12 \n\x0e\x63ord_with_zero\x18\x1a \x01(\t:\x04\x31\x32\x00\x33\x42\x02\x08\x01\x12&\n\x12replacement_string\x18\x1b \x01(\t:\n${unknown}\"K\n\x11SparseEnumMessage\x12\x36\n\x0bsparse_enum\x18\x01 \x01(\x0e\x32!.protobuf_unittest.TestSparseEnum\"\x19\n\tOneString\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\t\"\x1a\n\nMoreString\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\t\"\x18\n\x08OneBytes\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x19\n\tMoreBytes\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\x0c\"\x1c\n\x0cInt32Message\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x05\"\x1d\n\rUint32Message\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\r\"\x1c\n\x0cInt64Message\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x03\"\x1d\n\rUint64Message\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x04\"\x1b\n\x0b\x42oolMessage\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x08\"\xd0\x01\n\tTestOneof\x12\x11\n\x07\x66oo_int\x18\x01 \x01(\x05H\x00\x12\x14\n\nfoo_string\x18\x02 \x01(\tH\x00\x12\x36\n\x0b\x66oo_message\x18\x03 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypesH\x00\x12\x39\n\x08\x66oogroup\x18\x04 \x01(\n2%.protobuf_unittest.TestOneof.FooGroupH\x00\x1a \n\x08\x46ooGroup\x12\t\n\x01\x61\x18\x05 \x01(\x05\x12\t\n\x01\x62\x18\x06 \x01(\tB\x05\n\x03\x66oo\"\xe7\x01\n\x1cTestOneofBackwardsCompatible\x12\x0f\n\x07\x66oo_int\x18\x01 \x01(\x05\x12\x12\n\nfoo_string\x18\x02 \x01(\t\x12\x34\n\x0b\x66oo_message\x18\x03 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12J\n\x08\x66oogroup\x18\x04 \x01(\n28.protobuf_unittest.TestOneofBackwardsCompatible.FooGroup\x1a \n\x08\x46ooGroup\x12\t\n\x01\x61\x18\x05 \x01(\x05\x12\t\n\x01\x62\x18\x06 \x01(\t\"\x9e\x06\n\nTestOneof2\x12\x11\n\x07\x66oo_int\x18\x01 \x01(\x05H\x00\x12\x14\n\nfoo_string\x18\x02 \x01(\tH\x00\x12\x16\n\x08\x66oo_cord\x18\x03 \x01(\tB\x02\x08\x01H\x00\x12\x1e\n\x10\x66oo_string_piece\x18\x04 \x01(\tB\x02\x08\x02H\x00\x12\x13\n\tfoo_bytes\x18\x05 \x01(\x0cH\x00\x12<\n\x08\x66oo_enum\x18\x06 \x01(\x0e\x32(.protobuf_unittest.TestOneof2.NestedEnumH\x00\x12\x42\n\x0b\x66oo_message\x18\x07 \x01(\x0b\x32+.protobuf_unittest.TestOneof2.NestedMessageH\x00\x12:\n\x08\x66oogroup\x18\x08 \x01(\n2&.protobuf_unittest.TestOneof2.FooGroupH\x00\x12K\n\x10\x66oo_lazy_message\x18\x0b \x01(\x0b\x32+.protobuf_unittest.TestOneof2.NestedMessageB\x02(\x01H\x00\x12\x14\n\x07\x62\x61r_int\x18\x0c \x01(\x05:\x01\x35H\x01\x12\x1c\n\nbar_string\x18\r \x01(\t:\x06STRINGH\x01\x12\x1c\n\x08\x62\x61r_cord\x18\x0e \x01(\t:\x04\x43ORDB\x02\x08\x01H\x01\x12&\n\x10\x62\x61r_string_piece\x18\x0f \x01(\t:\x06SPIECEB\x02\x08\x02H\x01\x12\x1a\n\tbar_bytes\x18\x10 \x01(\x0c:\x05\x42YTESH\x01\x12\x41\n\x08\x62\x61r_enum\x18\x11 \x01(\x0e\x32(.protobuf_unittest.TestOneof2.NestedEnum:\x03\x42\x41RH\x01\x12\x0f\n\x07\x62\x61z_int\x18\x12 \x01(\x05\x12\x17\n\nbaz_string\x18\x13 \x01(\t:\x03\x42\x41Z\x1a \n\x08\x46ooGroup\x12\t\n\x01\x61\x18\t \x01(\x05\x12\t\n\x01\x62\x18\n \x01(\t\x1a\x33\n\rNestedMessage\x12\x0f\n\x07qux_int\x18\x01 \x01(\x03\x12\x11\n\tcorge_int\x18\x02 \x03(\x05\"\'\n\nNestedEnum\x12\x07\n\x03\x46OO\x10\x01\x12\x07\n\x03\x42\x41R\x10\x02\x12\x07\n\x03\x42\x41Z\x10\x03\x42\x05\n\x03\x66ooB\x05\n\x03\x62\x61r\"\xb8\x01\n\x11TestRequiredOneof\x12\x11\n\x07\x66oo_int\x18\x01 \x01(\x05H\x00\x12\x14\n\nfoo_string\x18\x02 \x01(\tH\x00\x12I\n\x0b\x66oo_message\x18\x03 \x01(\x0b\x32\x32.protobuf_unittest.TestRequiredOneof.NestedMessageH\x00\x1a(\n\rNestedMessage\x12\x17\n\x0frequired_double\x18\x01 \x02(\x01\x42\x05\n\x03\x66oo\"\xaa\x03\n\x0fTestPackedTypes\x12\x18\n\x0cpacked_int32\x18Z \x03(\x05\x42\x02\x10\x01\x12\x18\n\x0cpacked_int64\x18[ \x03(\x03\x42\x02\x10\x01\x12\x19\n\rpacked_uint32\x18\\ \x03(\rB\x02\x10\x01\x12\x19\n\rpacked_uint64\x18] \x03(\x04\x42\x02\x10\x01\x12\x19\n\rpacked_sint32\x18^ \x03(\x11\x42\x02\x10\x01\x12\x19\n\rpacked_sint64\x18_ \x03(\x12\x42\x02\x10\x01\x12\x1a\n\x0epacked_fixed32\x18` \x03(\x07\x42\x02\x10\x01\x12\x1a\n\x0epacked_fixed64\x18\x61 \x03(\x06\x42\x02\x10\x01\x12\x1b\n\x0fpacked_sfixed32\x18\x62 \x03(\x0f\x42\x02\x10\x01\x12\x1b\n\x0fpacked_sfixed64\x18\x63 \x03(\x10\x42\x02\x10\x01\x12\x18\n\x0cpacked_float\x18\x64 \x03(\x02\x42\x02\x10\x01\x12\x19\n\rpacked_double\x18\x65 \x03(\x01\x42\x02\x10\x01\x12\x17\n\x0bpacked_bool\x18\x66 \x03(\x08\x42\x02\x10\x01\x12\x37\n\x0bpacked_enum\x18g \x03(\x0e\x32\x1e.protobuf_unittest.ForeignEnumB\x02\x10\x01\"\xc8\x03\n\x11TestUnpackedTypes\x12\x1a\n\x0eunpacked_int32\x18Z \x03(\x05\x42\x02\x10\x00\x12\x1a\n\x0eunpacked_int64\x18[ \x03(\x03\x42\x02\x10\x00\x12\x1b\n\x0funpacked_uint32\x18\\ \x03(\rB\x02\x10\x00\x12\x1b\n\x0funpacked_uint64\x18] \x03(\x04\x42\x02\x10\x00\x12\x1b\n\x0funpacked_sint32\x18^ \x03(\x11\x42\x02\x10\x00\x12\x1b\n\x0funpacked_sint64\x18_ \x03(\x12\x42\x02\x10\x00\x12\x1c\n\x10unpacked_fixed32\x18` \x03(\x07\x42\x02\x10\x00\x12\x1c\n\x10unpacked_fixed64\x18\x61 \x03(\x06\x42\x02\x10\x00\x12\x1d\n\x11unpacked_sfixed32\x18\x62 \x03(\x0f\x42\x02\x10\x00\x12\x1d\n\x11unpacked_sfixed64\x18\x63 \x03(\x10\x42\x02\x10\x00\x12\x1a\n\x0eunpacked_float\x18\x64 \x03(\x02\x42\x02\x10\x00\x12\x1b\n\x0funpacked_double\x18\x65 \x03(\x01\x42\x02\x10\x00\x12\x19\n\runpacked_bool\x18\x66 \x03(\x08\x42\x02\x10\x00\x12\x39\n\runpacked_enum\x18g \x03(\x0e\x32\x1e.protobuf_unittest.ForeignEnumB\x02\x10\x00\" \n\x14TestPackedExtensions*\x08\x08\x01\x10\x80\x80\x80\x80\x02\"\"\n\x16TestUnpackedExtensions*\x08\x08\x01\x10\x80\x80\x80\x80\x02\"\x99\x04\n\x15TestDynamicExtensions\x12\x19\n\x10scalar_extension\x18\xd0\x0f \x01(\x07\x12\x37\n\x0e\x65num_extension\x18\xd1\x0f \x01(\x0e\x32\x1e.protobuf_unittest.ForeignEnum\x12Y\n\x16\x64ynamic_enum_extension\x18\xd2\x0f \x01(\x0e\x32\x38.protobuf_unittest.TestDynamicExtensions.DynamicEnumType\x12=\n\x11message_extension\x18\xd3\x0f \x01(\x0b\x32!.protobuf_unittest.ForeignMessage\x12_\n\x19\x64ynamic_message_extension\x18\xd4\x0f \x01(\x0b\x32;.protobuf_unittest.TestDynamicExtensions.DynamicMessageType\x12\x1b\n\x12repeated_extension\x18\xd5\x0f \x03(\t\x12\x1d\n\x10packed_extension\x18\xd6\x0f \x03(\x11\x42\x02\x10\x01\x1a,\n\x12\x44ynamicMessageType\x12\x16\n\rdynamic_field\x18\xb4\x10 \x01(\x05\"G\n\x0f\x44ynamicEnumType\x12\x10\n\x0b\x44YNAMIC_FOO\x10\x98\x11\x12\x10\n\x0b\x44YNAMIC_BAR\x10\x99\x11\x12\x10\n\x0b\x44YNAMIC_BAZ\x10\x9a\x11\"\xc0\x01\n#TestRepeatedScalarDifferentTagSizes\x12\x18\n\x10repeated_fixed32\x18\x0c \x03(\x07\x12\x16\n\x0erepeated_int32\x18\r \x03(\x05\x12\x19\n\x10repeated_fixed64\x18\xfe\x0f \x03(\x06\x12\x17\n\x0erepeated_int64\x18\xff\x0f \x03(\x03\x12\x18\n\x0erepeated_float\x18\xfe\xff\x0f \x03(\x02\x12\x19\n\x0frepeated_uint64\x18\xff\xff\x0f \x03(\x04\"\xf7\t\n\x10TestParsingMerge\x12;\n\x12required_all_types\x18\x01 \x02(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12;\n\x12optional_all_types\x18\x02 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12;\n\x12repeated_all_types\x18\x03 \x03(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12H\n\roptionalgroup\x18\n \x01(\n21.protobuf_unittest.TestParsingMerge.OptionalGroup\x12H\n\rrepeatedgroup\x18\x14 \x03(\n21.protobuf_unittest.TestParsingMerge.RepeatedGroup\x1a\xaa\x04\n\x17RepeatedFieldsGenerator\x12/\n\x06\x66ield1\x18\x01 \x03(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12/\n\x06\x66ield2\x18\x02 \x03(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12/\n\x06\x66ield3\x18\x03 \x03(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12R\n\x06group1\x18\n \x03(\n2B.protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1\x12R\n\x06group2\x18\x14 \x03(\n2B.protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2\x12.\n\x04\x65xt1\x18\xe8\x07 \x03(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x12.\n\x04\x65xt2\x18\xe9\x07 \x03(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x1a\x39\n\x06Group1\x12/\n\x06\x66ield1\x18\x0b \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x1a\x39\n\x06Group2\x12/\n\x06\x66ield1\x18\x15 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x1aR\n\rOptionalGroup\x12\x41\n\x18optional_group_all_types\x18\x0b \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\x1aR\n\rRepeatedGroup\x12\x41\n\x18repeated_group_all_types\x18\x15 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\x32[\n\x0coptional_ext\x12#.protobuf_unittest.TestParsingMerge\x18\xe8\x07 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes2[\n\x0crepeated_ext\x12#.protobuf_unittest.TestParsingMerge\x18\xe9\x07 \x03(\x0b\x32\x1f.protobuf_unittest.TestAllTypes\"D\n\x1bTestCommentInjectionMessage\x12%\n\x01\x61\x18\x01 \x01(\t:\x1a*/ <- Neither should this.\"\x0c\n\nFooRequest\"\r\n\x0b\x46ooResponse\"\x12\n\x10\x46ooClientMessage\"\x12\n\x10\x46ooServerMessage\"\x0c\n\nBarRequest\"\r\n\x0b\x42\x61rResponse\"\x92\x01\n\x0cTestJsonName\x12\x13\n\x0b\x66ield_name1\x18\x01 \x01(\x05\x12\x12\n\nfieldName2\x18\x02 \x01(\x05\x12\x12\n\nFieldName3\x18\x03 \x01(\x05\x12\x14\n\x0c_field_name4\x18\x04 \x01(\x05\x12\x13\n\x0b\x46IELD_NAME5\x18\x05 \x01(\x05\x12\x1a\n\x0b\x66ield_name6\x18\x06 \x01(\x05R\x05@type\"\xfd\x05\n\x14TestHugeFieldNumbers\x12\x1a\n\x0eoptional_int32\x18\xf0\xf8\xff\xff\x01 \x01(\x05\x12\x14\n\x08\x66ixed_32\x18\xf1\xf8\xff\xff\x01 \x01(\x05\x12\x1e\n\x0erepeated_int32\x18\xf2\xf8\xff\xff\x01 \x03(\x05\x42\x02\x10\x00\x12\x1c\n\x0cpacked_int32\x18\xf3\xf8\xff\xff\x01 \x03(\x05\x42\x02\x10\x01\x12\x39\n\roptional_enum\x18\xf4\xf8\xff\xff\x01 \x01(\x0e\x32\x1e.protobuf_unittest.ForeignEnum\x12\x1b\n\x0foptional_string\x18\xf5\xf8\xff\xff\x01 \x01(\t\x12\x1a\n\x0eoptional_bytes\x18\xf6\xf8\xff\xff\x01 \x01(\x0c\x12?\n\x10optional_message\x18\xf7\xf8\xff\xff\x01 \x01(\x0b\x32!.protobuf_unittest.ForeignMessage\x12P\n\roptionalgroup\x18\xf8\xf8\xff\xff\x01 \x01(\n25.protobuf_unittest.TestHugeFieldNumbers.OptionalGroup\x12[\n\x11string_string_map\x18\xfa\xf8\xff\xff\x01 \x03(\x0b\x32<.protobuf_unittest.TestHugeFieldNumbers.StringStringMapEntry\x12\x1a\n\x0coneof_uint32\x18\xfb\xf8\xff\xff\x01 \x01(\rH\x00\x12\x43\n\x14oneof_test_all_types\x18\xfc\xf8\xff\xff\x01 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypesH\x00\x12\x1a\n\x0coneof_string\x18\xfd\xf8\xff\xff\x01 \x01(\tH\x00\x12\x19\n\x0boneof_bytes\x18\xfe\xf8\xff\xff\x01 \x01(\x0cH\x00\x1a$\n\rOptionalGroup\x12\x13\n\x07group_a\x18\xf9\xf8\xff\xff\x01 \x01(\x05\x1a\x36\n\x14StringStringMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*\x0c\x08\xe0\xaa\xff\xff\x01\x10\xf0\xf8\xff\xff\x01\x42\r\n\x0boneof_field*@\n\x0b\x46oreignEnum\x12\x0f\n\x0b\x46OREIGN_FOO\x10\x04\x12\x0f\n\x0b\x46OREIGN_BAR\x10\x05\x12\x0f\n\x0b\x46OREIGN_BAZ\x10\x06*K\n\x14TestEnumWithDupValue\x12\x08\n\x04\x46OO1\x10\x01\x12\x08\n\x04\x42\x41R1\x10\x02\x12\x07\n\x03\x42\x41Z\x10\x03\x12\x08\n\x04\x46OO2\x10\x01\x12\x08\n\x04\x42\x41R2\x10\x02\x1a\x02\x10\x01*\x89\x01\n\x0eTestSparseEnum\x12\x0c\n\x08SPARSE_A\x10{\x12\x0e\n\x08SPARSE_B\x10\xa6\xe7\x03\x12\x0f\n\x08SPARSE_C\x10\xb2\xb1\x80\x06\x12\x15\n\x08SPARSE_D\x10\xf1\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x15\n\x08SPARSE_E\x10\xb4\xde\xfc\xff\xff\xff\xff\xff\xff\x01\x12\x0c\n\x08SPARSE_F\x10\x00\x12\x0c\n\x08SPARSE_G\x10\x02\x32\x99\x01\n\x0bTestService\x12\x44\n\x03\x46oo\x12\x1d.protobuf_unittest.FooRequest\x1a\x1e.protobuf_unittest.FooResponse\x12\x44\n\x03\x42\x61r\x12\x1d.protobuf_unittest.BarRequest\x1a\x1e.protobuf_unittest.BarResponse:F\n\x18optional_int32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x01 \x01(\x05:F\n\x18optional_int64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x02 \x01(\x03:G\n\x19optional_uint32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x03 \x01(\r:G\n\x19optional_uint64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x04 \x01(\x04:G\n\x19optional_sint32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x05 \x01(\x11:G\n\x19optional_sint64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x06 \x01(\x12:H\n\x1aoptional_fixed32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x07 \x01(\x07:H\n\x1aoptional_fixed64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x08 \x01(\x06:I\n\x1boptional_sfixed32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\t \x01(\x0f:I\n\x1boptional_sfixed64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\n \x01(\x10:F\n\x18optional_float_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x0b \x01(\x02:G\n\x19optional_double_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x0c \x01(\x01:E\n\x17optional_bool_extension\x12$.protobuf_unittest.TestAllExtensions\x18\r \x01(\x08:G\n\x19optional_string_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x0e \x01(\t:F\n\x18optional_bytes_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x0f \x01(\x0c:q\n\x17optionalgroup_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x10 \x01(\n2*.protobuf_unittest.OptionalGroup_extension:~\n!optional_nested_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x12 \x01(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessage:s\n\"optional_foreign_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x13 \x01(\x0b\x32!.protobuf_unittest.ForeignMessage:x\n!optional_import_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x14 \x01(\x0b\x32\'.protobuf_unittest_import.ImportMessage:x\n\x1eoptional_nested_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x15 \x01(\x0e\x32*.protobuf_unittest.TestAllTypes.NestedEnum:m\n\x1foptional_foreign_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x16 \x01(\x0e\x32\x1e.protobuf_unittest.ForeignEnum:r\n\x1eoptional_import_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x17 \x01(\x0e\x32$.protobuf_unittest_import.ImportEnum:Q\n\x1foptional_string_piece_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x18 \x01(\tB\x02\x08\x02:I\n\x17optional_cord_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x19 \x01(\tB\x02\x08\x01:\x85\x01\n(optional_public_import_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x1a \x01(\x0b\x32-.protobuf_unittest_import.PublicImportMessage:\x80\x01\n\x1foptional_lazy_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x1b \x01(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessageB\x02(\x01:F\n\x18repeated_int32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x1f \x03(\x05:F\n\x18repeated_int64_extension\x12$.protobuf_unittest.TestAllExtensions\x18 \x03(\x03:G\n\x19repeated_uint32_extension\x12$.protobuf_unittest.TestAllExtensions\x18! \x03(\r:G\n\x19repeated_uint64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\" \x03(\x04:G\n\x19repeated_sint32_extension\x12$.protobuf_unittest.TestAllExtensions\x18# \x03(\x11:G\n\x19repeated_sint64_extension\x12$.protobuf_unittest.TestAllExtensions\x18$ \x03(\x12:H\n\x1arepeated_fixed32_extension\x12$.protobuf_unittest.TestAllExtensions\x18% \x03(\x07:H\n\x1arepeated_fixed64_extension\x12$.protobuf_unittest.TestAllExtensions\x18& \x03(\x06:I\n\x1brepeated_sfixed32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\' \x03(\x0f:I\n\x1brepeated_sfixed64_extension\x12$.protobuf_unittest.TestAllExtensions\x18( \x03(\x10:F\n\x18repeated_float_extension\x12$.protobuf_unittest.TestAllExtensions\x18) \x03(\x02:G\n\x19repeated_double_extension\x12$.protobuf_unittest.TestAllExtensions\x18* \x03(\x01:E\n\x17repeated_bool_extension\x12$.protobuf_unittest.TestAllExtensions\x18+ \x03(\x08:G\n\x19repeated_string_extension\x12$.protobuf_unittest.TestAllExtensions\x18, \x03(\t:F\n\x18repeated_bytes_extension\x12$.protobuf_unittest.TestAllExtensions\x18- \x03(\x0c:q\n\x17repeatedgroup_extension\x12$.protobuf_unittest.TestAllExtensions\x18. \x03(\n2*.protobuf_unittest.RepeatedGroup_extension:~\n!repeated_nested_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x30 \x03(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessage:s\n\"repeated_foreign_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x31 \x03(\x0b\x32!.protobuf_unittest.ForeignMessage:x\n!repeated_import_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x32 \x03(\x0b\x32\'.protobuf_unittest_import.ImportMessage:x\n\x1erepeated_nested_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x33 \x03(\x0e\x32*.protobuf_unittest.TestAllTypes.NestedEnum:m\n\x1frepeated_foreign_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x34 \x03(\x0e\x32\x1e.protobuf_unittest.ForeignEnum:r\n\x1erepeated_import_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x35 \x03(\x0e\x32$.protobuf_unittest_import.ImportEnum:Q\n\x1frepeated_string_piece_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x36 \x03(\tB\x02\x08\x02:I\n\x17repeated_cord_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x37 \x03(\tB\x02\x08\x01:\x80\x01\n\x1frepeated_lazy_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x39 \x03(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessageB\x02(\x01:I\n\x17\x64\x65\x66\x61ult_int32_extension\x12$.protobuf_unittest.TestAllExtensions\x18= \x01(\x05:\x02\x34\x31:I\n\x17\x64\x65\x66\x61ult_int64_extension\x12$.protobuf_unittest.TestAllExtensions\x18> \x01(\x03:\x02\x34\x32:J\n\x18\x64\x65\x66\x61ult_uint32_extension\x12$.protobuf_unittest.TestAllExtensions\x18? \x01(\r:\x02\x34\x33:J\n\x18\x64\x65\x66\x61ult_uint64_extension\x12$.protobuf_unittest.TestAllExtensions\x18@ \x01(\x04:\x02\x34\x34:K\n\x18\x64\x65\x66\x61ult_sint32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x41 \x01(\x11:\x03-45:J\n\x18\x64\x65\x66\x61ult_sint64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x42 \x01(\x12:\x02\x34\x36:K\n\x19\x64\x65\x66\x61ult_fixed32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x43 \x01(\x07:\x02\x34\x37:K\n\x19\x64\x65\x66\x61ult_fixed64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x44 \x01(\x06:\x02\x34\x38:L\n\x1a\x64\x65\x66\x61ult_sfixed32_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x45 \x01(\x0f:\x02\x34\x39:M\n\x1a\x64\x65\x66\x61ult_sfixed64_extension\x12$.protobuf_unittest.TestAllExtensions\x18\x46 \x01(\x10:\x03-50:K\n\x17\x64\x65\x66\x61ult_float_extension\x12$.protobuf_unittest.TestAllExtensions\x18G \x01(\x02:\x04\x35\x31.5:M\n\x18\x64\x65\x66\x61ult_double_extension\x12$.protobuf_unittest.TestAllExtensions\x18H \x01(\x01:\x05\x35\x32\x30\x30\x30:J\n\x16\x64\x65\x66\x61ult_bool_extension\x12$.protobuf_unittest.TestAllExtensions\x18I \x01(\x08:\x04true:M\n\x18\x64\x65\x66\x61ult_string_extension\x12$.protobuf_unittest.TestAllExtensions\x18J \x01(\t:\x05hello:L\n\x17\x64\x65\x66\x61ult_bytes_extension\x12$.protobuf_unittest.TestAllExtensions\x18K \x01(\x0c:\x05world:|\n\x1d\x64\x65\x66\x61ult_nested_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18Q \x01(\x0e\x32*.protobuf_unittest.TestAllTypes.NestedEnum:\x03\x42\x41R:y\n\x1e\x64\x65\x66\x61ult_foreign_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18R \x01(\x0e\x32\x1e.protobuf_unittest.ForeignEnum:\x0b\x46OREIGN_BAR:}\n\x1d\x64\x65\x66\x61ult_import_enum_extension\x12$.protobuf_unittest.TestAllExtensions\x18S \x01(\x0e\x32$.protobuf_unittest_import.ImportEnum:\nIMPORT_BAR:U\n\x1e\x64\x65\x66\x61ult_string_piece_extension\x12$.protobuf_unittest.TestAllExtensions\x18T \x01(\t:\x03\x61\x62\x63\x42\x02\x08\x02:M\n\x16\x64\x65\x66\x61ult_cord_extension\x12$.protobuf_unittest.TestAllExtensions\x18U \x01(\t:\x03\x31\x32\x33\x42\x02\x08\x01:D\n\x16oneof_uint32_extension\x12$.protobuf_unittest.TestAllExtensions\x18o \x01(\r:{\n\x1eoneof_nested_message_extension\x12$.protobuf_unittest.TestAllExtensions\x18p \x01(\x0b\x32-.protobuf_unittest.TestAllTypes.NestedMessage:D\n\x16oneof_string_extension\x12$.protobuf_unittest.TestAllExtensions\x18q \x01(\t:C\n\x15oneof_bytes_extension\x12$.protobuf_unittest.TestAllExtensions\x18r \x01(\x0c:B\n\x13my_extension_string\x12%.protobuf_unittest.TestFieldOrderings\x18\x32 \x01(\t:?\n\x10my_extension_int\x12%.protobuf_unittest.TestFieldOrderings\x18\x05 \x01(\x05:K\n\x16packed_int32_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18Z \x03(\x05\x42\x02\x10\x01:K\n\x16packed_int64_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18[ \x03(\x03\x42\x02\x10\x01:L\n\x17packed_uint32_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18\\ \x03(\rB\x02\x10\x01:L\n\x17packed_uint64_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18] \x03(\x04\x42\x02\x10\x01:L\n\x17packed_sint32_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18^ \x03(\x11\x42\x02\x10\x01:L\n\x17packed_sint64_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18_ \x03(\x12\x42\x02\x10\x01:M\n\x18packed_fixed32_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18` \x03(\x07\x42\x02\x10\x01:M\n\x18packed_fixed64_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18\x61 \x03(\x06\x42\x02\x10\x01:N\n\x19packed_sfixed32_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18\x62 \x03(\x0f\x42\x02\x10\x01:N\n\x19packed_sfixed64_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18\x63 \x03(\x10\x42\x02\x10\x01:K\n\x16packed_float_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18\x64 \x03(\x02\x42\x02\x10\x01:L\n\x17packed_double_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18\x65 \x03(\x01\x42\x02\x10\x01:J\n\x15packed_bool_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18\x66 \x03(\x08\x42\x02\x10\x01:j\n\x15packed_enum_extension\x12\'.protobuf_unittest.TestPackedExtensions\x18g \x03(\x0e\x32\x1e.protobuf_unittest.ForeignEnumB\x02\x10\x01:O\n\x18unpacked_int32_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18Z \x03(\x05\x42\x02\x10\x00:O\n\x18unpacked_int64_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18[ \x03(\x03\x42\x02\x10\x00:P\n\x19unpacked_uint32_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18\\ \x03(\rB\x02\x10\x00:P\n\x19unpacked_uint64_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18] \x03(\x04\x42\x02\x10\x00:P\n\x19unpacked_sint32_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18^ \x03(\x11\x42\x02\x10\x00:P\n\x19unpacked_sint64_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18_ \x03(\x12\x42\x02\x10\x00:Q\n\x1aunpacked_fixed32_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18` \x03(\x07\x42\x02\x10\x00:Q\n\x1aunpacked_fixed64_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18\x61 \x03(\x06\x42\x02\x10\x00:R\n\x1bunpacked_sfixed32_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18\x62 \x03(\x0f\x42\x02\x10\x00:R\n\x1bunpacked_sfixed64_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18\x63 \x03(\x10\x42\x02\x10\x00:O\n\x18unpacked_float_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18\x64 \x03(\x02\x42\x02\x10\x00:P\n\x19unpacked_double_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18\x65 \x03(\x01\x42\x02\x10\x00:N\n\x17unpacked_bool_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18\x66 \x03(\x08\x42\x02\x10\x00:n\n\x17unpacked_enum_extension\x12).protobuf_unittest.TestUnpackedExtensions\x18g \x03(\x0e\x32\x1e.protobuf_unittest.ForeignEnumB\x02\x10\x00:d\n\x0etest_all_types\x12\'.protobuf_unittest.TestHugeFieldNumbers\x18\xe0\xaa\xff\xff\x01 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypesB\x1d\x42\rUnittestProtoH\x01\x80\x01\x01\x88\x01\x01\x90\x01\x01\xf8\x01\x01') , dependencies=[google_dot_protobuf_dot_unittest__import__pb2.DESCRIPTOR,]) _FOREIGNENUM = _descriptor.EnumDescriptor( name='ForeignEnum', full_name='protobuf_unittest.ForeignEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOREIGN_FOO', index=0, number=4, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAR', index=1, number=5, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAZ', index=2, number=6, options=None, type=None), ], containing_type=None, options=None, serialized_start=14076, serialized_end=14140, ) _sym_db.RegisterEnumDescriptor(_FOREIGNENUM) ForeignEnum = enum_type_wrapper.EnumTypeWrapper(_FOREIGNENUM) _TESTENUMWITHDUPVALUE = _descriptor.EnumDescriptor( name='TestEnumWithDupValue', full_name='protobuf_unittest.TestEnumWithDupValue', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOO1', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR1', index=1, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAZ', index=2, number=3, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOO2', index=3, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR2', index=4, number=2, options=None, type=None), ], containing_type=None, options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001')), serialized_start=14142, serialized_end=14217, ) _sym_db.RegisterEnumDescriptor(_TESTENUMWITHDUPVALUE) TestEnumWithDupValue = enum_type_wrapper.EnumTypeWrapper(_TESTENUMWITHDUPVALUE) _TESTSPARSEENUM = _descriptor.EnumDescriptor( name='TestSparseEnum', full_name='protobuf_unittest.TestSparseEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='SPARSE_A', index=0, number=123, options=None, type=None), _descriptor.EnumValueDescriptor( name='SPARSE_B', index=1, number=62374, options=None, type=None), _descriptor.EnumValueDescriptor( name='SPARSE_C', index=2, number=12589234, options=None, type=None), _descriptor.EnumValueDescriptor( name='SPARSE_D', index=3, number=-15, options=None, type=None), _descriptor.EnumValueDescriptor( name='SPARSE_E', index=4, number=-53452, options=None, type=None), _descriptor.EnumValueDescriptor( name='SPARSE_F', index=5, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='SPARSE_G', index=6, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=14220, serialized_end=14357, ) _sym_db.RegisterEnumDescriptor(_TESTSPARSEENUM) TestSparseEnum = enum_type_wrapper.EnumTypeWrapper(_TESTSPARSEENUM) FOREIGN_FOO = 4 FOREIGN_BAR = 5 FOREIGN_BAZ = 6 FOO1 = 1 BAR1 = 2 BAZ = 3 FOO2 = 1 BAR2 = 2 SPARSE_A = 123 SPARSE_B = 62374 SPARSE_C = 12589234 SPARSE_D = -15 SPARSE_E = -53452 SPARSE_F = 0 SPARSE_G = 2 OPTIONAL_INT32_EXTENSION_FIELD_NUMBER = 1 optional_int32_extension = _descriptor.FieldDescriptor( name='optional_int32_extension', full_name='protobuf_unittest.optional_int32_extension', 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=True, extension_scope=None, options=None, file=DESCRIPTOR) OPTIONAL_INT64_EXTENSION_FIELD_NUMBER = 2 optional_int64_extension = _descriptor.FieldDescriptor( name='optional_int64_extension', full_name='protobuf_unittest.optional_int64_extension', index=1, number=2, 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, options=None, file=DESCRIPTOR) OPTIONAL_UINT32_EXTENSION_FIELD_NUMBER = 3 optional_uint32_extension = _descriptor.FieldDescriptor( name='optional_uint32_extension', full_name='protobuf_unittest.optional_uint32_extension', index=2, number=3, 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, options=None, file=DESCRIPTOR) OPTIONAL_UINT64_EXTENSION_FIELD_NUMBER = 4 optional_uint64_extension = _descriptor.FieldDescriptor( name='optional_uint64_extension', full_name='protobuf_unittest.optional_uint64_extension', index=3, number=4, 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, options=None, file=DESCRIPTOR) OPTIONAL_SINT32_EXTENSION_FIELD_NUMBER = 5 optional_sint32_extension = _descriptor.FieldDescriptor( name='optional_sint32_extension', full_name='protobuf_unittest.optional_sint32_extension', index=4, number=5, 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, options=None, file=DESCRIPTOR) OPTIONAL_SINT64_EXTENSION_FIELD_NUMBER = 6 optional_sint64_extension = _descriptor.FieldDescriptor( name='optional_sint64_extension', full_name='protobuf_unittest.optional_sint64_extension', index=5, number=6, 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, options=None, file=DESCRIPTOR) OPTIONAL_FIXED32_EXTENSION_FIELD_NUMBER = 7 optional_fixed32_extension = _descriptor.FieldDescriptor( name='optional_fixed32_extension', full_name='protobuf_unittest.optional_fixed32_extension', index=6, number=7, 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, options=None, file=DESCRIPTOR) OPTIONAL_FIXED64_EXTENSION_FIELD_NUMBER = 8 optional_fixed64_extension = _descriptor.FieldDescriptor( name='optional_fixed64_extension', full_name='protobuf_unittest.optional_fixed64_extension', index=7, number=8, 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, options=None, file=DESCRIPTOR) OPTIONAL_SFIXED32_EXTENSION_FIELD_NUMBER = 9 optional_sfixed32_extension = _descriptor.FieldDescriptor( name='optional_sfixed32_extension', full_name='protobuf_unittest.optional_sfixed32_extension', index=8, number=9, 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, options=None, file=DESCRIPTOR) OPTIONAL_SFIXED64_EXTENSION_FIELD_NUMBER = 10 optional_sfixed64_extension = _descriptor.FieldDescriptor( name='optional_sfixed64_extension', full_name='protobuf_unittest.optional_sfixed64_extension', index=9, number=10, 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, options=None, file=DESCRIPTOR) OPTIONAL_FLOAT_EXTENSION_FIELD_NUMBER = 11 optional_float_extension = _descriptor.FieldDescriptor( name='optional_float_extension', full_name='protobuf_unittest.optional_float_extension', index=10, number=11, 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, options=None, file=DESCRIPTOR) OPTIONAL_DOUBLE_EXTENSION_FIELD_NUMBER = 12 optional_double_extension = _descriptor.FieldDescriptor( name='optional_double_extension', full_name='protobuf_unittest.optional_double_extension', index=11, number=12, 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, options=None, file=DESCRIPTOR) OPTIONAL_BOOL_EXTENSION_FIELD_NUMBER = 13 optional_bool_extension = _descriptor.FieldDescriptor( name='optional_bool_extension', full_name='protobuf_unittest.optional_bool_extension', index=12, number=13, 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, options=None, file=DESCRIPTOR) OPTIONAL_STRING_EXTENSION_FIELD_NUMBER = 14 optional_string_extension = _descriptor.FieldDescriptor( name='optional_string_extension', full_name='protobuf_unittest.optional_string_extension', index=13, number=14, 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, options=None, file=DESCRIPTOR) OPTIONAL_BYTES_EXTENSION_FIELD_NUMBER = 15 optional_bytes_extension = _descriptor.FieldDescriptor( name='optional_bytes_extension', full_name='protobuf_unittest.optional_bytes_extension', index=14, number=15, 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, options=None, file=DESCRIPTOR) OPTIONALGROUP_EXTENSION_FIELD_NUMBER = 16 optionalgroup_extension = _descriptor.FieldDescriptor( name='optionalgroup_extension', full_name='protobuf_unittest.optionalgroup_extension', index=15, number=16, 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, options=None, file=DESCRIPTOR) OPTIONAL_NESTED_MESSAGE_EXTENSION_FIELD_NUMBER = 18 optional_nested_message_extension = _descriptor.FieldDescriptor( name='optional_nested_message_extension', full_name='protobuf_unittest.optional_nested_message_extension', index=16, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) OPTIONAL_FOREIGN_MESSAGE_EXTENSION_FIELD_NUMBER = 19 optional_foreign_message_extension = _descriptor.FieldDescriptor( name='optional_foreign_message_extension', full_name='protobuf_unittest.optional_foreign_message_extension', index=17, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) OPTIONAL_IMPORT_MESSAGE_EXTENSION_FIELD_NUMBER = 20 optional_import_message_extension = _descriptor.FieldDescriptor( name='optional_import_message_extension', full_name='protobuf_unittest.optional_import_message_extension', index=18, number=20, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) OPTIONAL_NESTED_ENUM_EXTENSION_FIELD_NUMBER = 21 optional_nested_enum_extension = _descriptor.FieldDescriptor( name='optional_nested_enum_extension', full_name='protobuf_unittest.optional_nested_enum_extension', index=19, number=21, 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, options=None, file=DESCRIPTOR) OPTIONAL_FOREIGN_ENUM_EXTENSION_FIELD_NUMBER = 22 optional_foreign_enum_extension = _descriptor.FieldDescriptor( name='optional_foreign_enum_extension', full_name='protobuf_unittest.optional_foreign_enum_extension', index=20, number=22, type=14, cpp_type=8, label=1, has_default_value=False, default_value=4, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) OPTIONAL_IMPORT_ENUM_EXTENSION_FIELD_NUMBER = 23 optional_import_enum_extension = _descriptor.FieldDescriptor( name='optional_import_enum_extension', full_name='protobuf_unittest.optional_import_enum_extension', index=21, number=23, type=14, cpp_type=8, label=1, has_default_value=False, default_value=7, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) OPTIONAL_STRING_PIECE_EXTENSION_FIELD_NUMBER = 24 optional_string_piece_extension = _descriptor.FieldDescriptor( name='optional_string_piece_extension', full_name='protobuf_unittest.optional_string_piece_extension', index=22, number=24, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR) OPTIONAL_CORD_EXTENSION_FIELD_NUMBER = 25 optional_cord_extension = _descriptor.FieldDescriptor( name='optional_cord_extension', full_name='protobuf_unittest.optional_cord_extension', index=23, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR) OPTIONAL_PUBLIC_IMPORT_MESSAGE_EXTENSION_FIELD_NUMBER = 26 optional_public_import_message_extension = _descriptor.FieldDescriptor( name='optional_public_import_message_extension', full_name='protobuf_unittest.optional_public_import_message_extension', index=24, number=26, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) OPTIONAL_LAZY_MESSAGE_EXTENSION_FIELD_NUMBER = 27 optional_lazy_message_extension = _descriptor.FieldDescriptor( name='optional_lazy_message_extension', full_name='protobuf_unittest.optional_lazy_message_extension', index=25, number=27, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR) REPEATED_INT32_EXTENSION_FIELD_NUMBER = 31 repeated_int32_extension = _descriptor.FieldDescriptor( name='repeated_int32_extension', full_name='protobuf_unittest.repeated_int32_extension', index=26, number=31, type=5, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_INT64_EXTENSION_FIELD_NUMBER = 32 repeated_int64_extension = _descriptor.FieldDescriptor( name='repeated_int64_extension', full_name='protobuf_unittest.repeated_int64_extension', index=27, number=32, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_UINT32_EXTENSION_FIELD_NUMBER = 33 repeated_uint32_extension = _descriptor.FieldDescriptor( name='repeated_uint32_extension', full_name='protobuf_unittest.repeated_uint32_extension', index=28, number=33, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_UINT64_EXTENSION_FIELD_NUMBER = 34 repeated_uint64_extension = _descriptor.FieldDescriptor( name='repeated_uint64_extension', full_name='protobuf_unittest.repeated_uint64_extension', index=29, number=34, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_SINT32_EXTENSION_FIELD_NUMBER = 35 repeated_sint32_extension = _descriptor.FieldDescriptor( name='repeated_sint32_extension', full_name='protobuf_unittest.repeated_sint32_extension', index=30, number=35, type=17, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_SINT64_EXTENSION_FIELD_NUMBER = 36 repeated_sint64_extension = _descriptor.FieldDescriptor( name='repeated_sint64_extension', full_name='protobuf_unittest.repeated_sint64_extension', index=31, number=36, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_FIXED32_EXTENSION_FIELD_NUMBER = 37 repeated_fixed32_extension = _descriptor.FieldDescriptor( name='repeated_fixed32_extension', full_name='protobuf_unittest.repeated_fixed32_extension', index=32, number=37, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_FIXED64_EXTENSION_FIELD_NUMBER = 38 repeated_fixed64_extension = _descriptor.FieldDescriptor( name='repeated_fixed64_extension', full_name='protobuf_unittest.repeated_fixed64_extension', index=33, number=38, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_SFIXED32_EXTENSION_FIELD_NUMBER = 39 repeated_sfixed32_extension = _descriptor.FieldDescriptor( name='repeated_sfixed32_extension', full_name='protobuf_unittest.repeated_sfixed32_extension', index=34, number=39, type=15, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_SFIXED64_EXTENSION_FIELD_NUMBER = 40 repeated_sfixed64_extension = _descriptor.FieldDescriptor( name='repeated_sfixed64_extension', full_name='protobuf_unittest.repeated_sfixed64_extension', index=35, number=40, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_FLOAT_EXTENSION_FIELD_NUMBER = 41 repeated_float_extension = _descriptor.FieldDescriptor( name='repeated_float_extension', full_name='protobuf_unittest.repeated_float_extension', index=36, number=41, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_DOUBLE_EXTENSION_FIELD_NUMBER = 42 repeated_double_extension = _descriptor.FieldDescriptor( name='repeated_double_extension', full_name='protobuf_unittest.repeated_double_extension', index=37, number=42, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_BOOL_EXTENSION_FIELD_NUMBER = 43 repeated_bool_extension = _descriptor.FieldDescriptor( name='repeated_bool_extension', full_name='protobuf_unittest.repeated_bool_extension', index=38, number=43, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_STRING_EXTENSION_FIELD_NUMBER = 44 repeated_string_extension = _descriptor.FieldDescriptor( name='repeated_string_extension', full_name='protobuf_unittest.repeated_string_extension', index=39, number=44, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_BYTES_EXTENSION_FIELD_NUMBER = 45 repeated_bytes_extension = _descriptor.FieldDescriptor( name='repeated_bytes_extension', full_name='protobuf_unittest.repeated_bytes_extension', index=40, number=45, type=12, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATEDGROUP_EXTENSION_FIELD_NUMBER = 46 repeatedgroup_extension = _descriptor.FieldDescriptor( name='repeatedgroup_extension', full_name='protobuf_unittest.repeatedgroup_extension', index=41, number=46, type=10, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_NESTED_MESSAGE_EXTENSION_FIELD_NUMBER = 48 repeated_nested_message_extension = _descriptor.FieldDescriptor( name='repeated_nested_message_extension', full_name='protobuf_unittest.repeated_nested_message_extension', index=42, number=48, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_FOREIGN_MESSAGE_EXTENSION_FIELD_NUMBER = 49 repeated_foreign_message_extension = _descriptor.FieldDescriptor( name='repeated_foreign_message_extension', full_name='protobuf_unittest.repeated_foreign_message_extension', index=43, number=49, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_IMPORT_MESSAGE_EXTENSION_FIELD_NUMBER = 50 repeated_import_message_extension = _descriptor.FieldDescriptor( name='repeated_import_message_extension', full_name='protobuf_unittest.repeated_import_message_extension', index=44, number=50, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_NESTED_ENUM_EXTENSION_FIELD_NUMBER = 51 repeated_nested_enum_extension = _descriptor.FieldDescriptor( name='repeated_nested_enum_extension', full_name='protobuf_unittest.repeated_nested_enum_extension', index=45, number=51, type=14, cpp_type=8, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_FOREIGN_ENUM_EXTENSION_FIELD_NUMBER = 52 repeated_foreign_enum_extension = _descriptor.FieldDescriptor( name='repeated_foreign_enum_extension', full_name='protobuf_unittest.repeated_foreign_enum_extension', index=46, number=52, type=14, cpp_type=8, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_IMPORT_ENUM_EXTENSION_FIELD_NUMBER = 53 repeated_import_enum_extension = _descriptor.FieldDescriptor( name='repeated_import_enum_extension', full_name='protobuf_unittest.repeated_import_enum_extension', index=47, number=53, type=14, cpp_type=8, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_STRING_PIECE_EXTENSION_FIELD_NUMBER = 54 repeated_string_piece_extension = _descriptor.FieldDescriptor( name='repeated_string_piece_extension', full_name='protobuf_unittest.repeated_string_piece_extension', index=48, number=54, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR) REPEATED_CORD_EXTENSION_FIELD_NUMBER = 55 repeated_cord_extension = _descriptor.FieldDescriptor( name='repeated_cord_extension', full_name='protobuf_unittest.repeated_cord_extension', index=49, number=55, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR) REPEATED_LAZY_MESSAGE_EXTENSION_FIELD_NUMBER = 57 repeated_lazy_message_extension = _descriptor.FieldDescriptor( name='repeated_lazy_message_extension', full_name='protobuf_unittest.repeated_lazy_message_extension', index=50, number=57, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR) DEFAULT_INT32_EXTENSION_FIELD_NUMBER = 61 default_int32_extension = _descriptor.FieldDescriptor( name='default_int32_extension', full_name='protobuf_unittest.default_int32_extension', index=51, number=61, type=5, cpp_type=1, label=1, has_default_value=True, default_value=41, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_INT64_EXTENSION_FIELD_NUMBER = 62 default_int64_extension = _descriptor.FieldDescriptor( name='default_int64_extension', full_name='protobuf_unittest.default_int64_extension', index=52, number=62, type=3, cpp_type=2, label=1, has_default_value=True, default_value=42, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_UINT32_EXTENSION_FIELD_NUMBER = 63 default_uint32_extension = _descriptor.FieldDescriptor( name='default_uint32_extension', full_name='protobuf_unittest.default_uint32_extension', index=53, number=63, type=13, cpp_type=3, label=1, has_default_value=True, default_value=43, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_UINT64_EXTENSION_FIELD_NUMBER = 64 default_uint64_extension = _descriptor.FieldDescriptor( name='default_uint64_extension', full_name='protobuf_unittest.default_uint64_extension', index=54, number=64, type=4, cpp_type=4, label=1, has_default_value=True, default_value=44, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_SINT32_EXTENSION_FIELD_NUMBER = 65 default_sint32_extension = _descriptor.FieldDescriptor( name='default_sint32_extension', full_name='protobuf_unittest.default_sint32_extension', index=55, number=65, type=17, cpp_type=1, label=1, has_default_value=True, default_value=-45, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_SINT64_EXTENSION_FIELD_NUMBER = 66 default_sint64_extension = _descriptor.FieldDescriptor( name='default_sint64_extension', full_name='protobuf_unittest.default_sint64_extension', index=56, number=66, type=18, cpp_type=2, label=1, has_default_value=True, default_value=46, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_FIXED32_EXTENSION_FIELD_NUMBER = 67 default_fixed32_extension = _descriptor.FieldDescriptor( name='default_fixed32_extension', full_name='protobuf_unittest.default_fixed32_extension', index=57, number=67, type=7, cpp_type=3, label=1, has_default_value=True, default_value=47, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_FIXED64_EXTENSION_FIELD_NUMBER = 68 default_fixed64_extension = _descriptor.FieldDescriptor( name='default_fixed64_extension', full_name='protobuf_unittest.default_fixed64_extension', index=58, number=68, type=6, cpp_type=4, label=1, has_default_value=True, default_value=48, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_SFIXED32_EXTENSION_FIELD_NUMBER = 69 default_sfixed32_extension = _descriptor.FieldDescriptor( name='default_sfixed32_extension', full_name='protobuf_unittest.default_sfixed32_extension', index=59, number=69, type=15, cpp_type=1, label=1, has_default_value=True, default_value=49, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_SFIXED64_EXTENSION_FIELD_NUMBER = 70 default_sfixed64_extension = _descriptor.FieldDescriptor( name='default_sfixed64_extension', full_name='protobuf_unittest.default_sfixed64_extension', index=60, number=70, type=16, cpp_type=2, label=1, has_default_value=True, default_value=-50, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_FLOAT_EXTENSION_FIELD_NUMBER = 71 default_float_extension = _descriptor.FieldDescriptor( name='default_float_extension', full_name='protobuf_unittest.default_float_extension', index=61, number=71, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(51.5), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_DOUBLE_EXTENSION_FIELD_NUMBER = 72 default_double_extension = _descriptor.FieldDescriptor( name='default_double_extension', full_name='protobuf_unittest.default_double_extension', index=62, number=72, type=1, cpp_type=5, label=1, has_default_value=True, default_value=float(52000), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_BOOL_EXTENSION_FIELD_NUMBER = 73 default_bool_extension = _descriptor.FieldDescriptor( name='default_bool_extension', full_name='protobuf_unittest.default_bool_extension', index=63, number=73, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_STRING_EXTENSION_FIELD_NUMBER = 74 default_string_extension = _descriptor.FieldDescriptor( name='default_string_extension', full_name='protobuf_unittest.default_string_extension', index=64, number=74, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("hello").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_BYTES_EXTENSION_FIELD_NUMBER = 75 default_bytes_extension = _descriptor.FieldDescriptor( name='default_bytes_extension', full_name='protobuf_unittest.default_bytes_extension', index=65, number=75, type=12, cpp_type=9, label=1, has_default_value=True, default_value=_b("world"), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_NESTED_ENUM_EXTENSION_FIELD_NUMBER = 81 default_nested_enum_extension = _descriptor.FieldDescriptor( name='default_nested_enum_extension', full_name='protobuf_unittest.default_nested_enum_extension', index=66, number=81, type=14, cpp_type=8, label=1, has_default_value=True, default_value=2, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_FOREIGN_ENUM_EXTENSION_FIELD_NUMBER = 82 default_foreign_enum_extension = _descriptor.FieldDescriptor( name='default_foreign_enum_extension', full_name='protobuf_unittest.default_foreign_enum_extension', index=67, number=82, type=14, cpp_type=8, label=1, has_default_value=True, default_value=5, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_IMPORT_ENUM_EXTENSION_FIELD_NUMBER = 83 default_import_enum_extension = _descriptor.FieldDescriptor( name='default_import_enum_extension', full_name='protobuf_unittest.default_import_enum_extension', index=68, number=83, type=14, cpp_type=8, label=1, has_default_value=True, default_value=8, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DEFAULT_STRING_PIECE_EXTENSION_FIELD_NUMBER = 84 default_string_piece_extension = _descriptor.FieldDescriptor( name='default_string_piece_extension', full_name='protobuf_unittest.default_string_piece_extension', index=69, number=84, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("abc").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR) DEFAULT_CORD_EXTENSION_FIELD_NUMBER = 85 default_cord_extension = _descriptor.FieldDescriptor( name='default_cord_extension', full_name='protobuf_unittest.default_cord_extension', index=70, number=85, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("123").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR) ONEOF_UINT32_EXTENSION_FIELD_NUMBER = 111 oneof_uint32_extension = _descriptor.FieldDescriptor( name='oneof_uint32_extension', full_name='protobuf_unittest.oneof_uint32_extension', index=71, number=111, 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, options=None, file=DESCRIPTOR) ONEOF_NESTED_MESSAGE_EXTENSION_FIELD_NUMBER = 112 oneof_nested_message_extension = _descriptor.FieldDescriptor( name='oneof_nested_message_extension', full_name='protobuf_unittest.oneof_nested_message_extension', index=72, number=112, 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, options=None, file=DESCRIPTOR) ONEOF_STRING_EXTENSION_FIELD_NUMBER = 113 oneof_string_extension = _descriptor.FieldDescriptor( name='oneof_string_extension', full_name='protobuf_unittest.oneof_string_extension', index=73, number=113, 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, options=None, file=DESCRIPTOR) ONEOF_BYTES_EXTENSION_FIELD_NUMBER = 114 oneof_bytes_extension = _descriptor.FieldDescriptor( name='oneof_bytes_extension', full_name='protobuf_unittest.oneof_bytes_extension', index=74, number=114, 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, options=None, file=DESCRIPTOR) MY_EXTENSION_STRING_FIELD_NUMBER = 50 my_extension_string = _descriptor.FieldDescriptor( name='my_extension_string', full_name='protobuf_unittest.my_extension_string', index=75, number=50, 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, options=None, file=DESCRIPTOR) MY_EXTENSION_INT_FIELD_NUMBER = 5 my_extension_int = _descriptor.FieldDescriptor( name='my_extension_int', full_name='protobuf_unittest.my_extension_int', index=76, number=5, 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, options=None, file=DESCRIPTOR) PACKED_INT32_EXTENSION_FIELD_NUMBER = 90 packed_int32_extension = _descriptor.FieldDescriptor( name='packed_int32_extension', full_name='protobuf_unittest.packed_int32_extension', index=77, number=90, type=5, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_INT64_EXTENSION_FIELD_NUMBER = 91 packed_int64_extension = _descriptor.FieldDescriptor( name='packed_int64_extension', full_name='protobuf_unittest.packed_int64_extension', index=78, number=91, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_UINT32_EXTENSION_FIELD_NUMBER = 92 packed_uint32_extension = _descriptor.FieldDescriptor( name='packed_uint32_extension', full_name='protobuf_unittest.packed_uint32_extension', index=79, number=92, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_UINT64_EXTENSION_FIELD_NUMBER = 93 packed_uint64_extension = _descriptor.FieldDescriptor( name='packed_uint64_extension', full_name='protobuf_unittest.packed_uint64_extension', index=80, number=93, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_SINT32_EXTENSION_FIELD_NUMBER = 94 packed_sint32_extension = _descriptor.FieldDescriptor( name='packed_sint32_extension', full_name='protobuf_unittest.packed_sint32_extension', index=81, number=94, type=17, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_SINT64_EXTENSION_FIELD_NUMBER = 95 packed_sint64_extension = _descriptor.FieldDescriptor( name='packed_sint64_extension', full_name='protobuf_unittest.packed_sint64_extension', index=82, number=95, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_FIXED32_EXTENSION_FIELD_NUMBER = 96 packed_fixed32_extension = _descriptor.FieldDescriptor( name='packed_fixed32_extension', full_name='protobuf_unittest.packed_fixed32_extension', index=83, number=96, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_FIXED64_EXTENSION_FIELD_NUMBER = 97 packed_fixed64_extension = _descriptor.FieldDescriptor( name='packed_fixed64_extension', full_name='protobuf_unittest.packed_fixed64_extension', index=84, number=97, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_SFIXED32_EXTENSION_FIELD_NUMBER = 98 packed_sfixed32_extension = _descriptor.FieldDescriptor( name='packed_sfixed32_extension', full_name='protobuf_unittest.packed_sfixed32_extension', index=85, number=98, type=15, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_SFIXED64_EXTENSION_FIELD_NUMBER = 99 packed_sfixed64_extension = _descriptor.FieldDescriptor( name='packed_sfixed64_extension', full_name='protobuf_unittest.packed_sfixed64_extension', index=86, number=99, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_FLOAT_EXTENSION_FIELD_NUMBER = 100 packed_float_extension = _descriptor.FieldDescriptor( name='packed_float_extension', full_name='protobuf_unittest.packed_float_extension', index=87, number=100, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_DOUBLE_EXTENSION_FIELD_NUMBER = 101 packed_double_extension = _descriptor.FieldDescriptor( name='packed_double_extension', full_name='protobuf_unittest.packed_double_extension', index=88, number=101, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_BOOL_EXTENSION_FIELD_NUMBER = 102 packed_bool_extension = _descriptor.FieldDescriptor( name='packed_bool_extension', full_name='protobuf_unittest.packed_bool_extension', index=89, number=102, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) PACKED_ENUM_EXTENSION_FIELD_NUMBER = 103 packed_enum_extension = _descriptor.FieldDescriptor( name='packed_enum_extension', full_name='protobuf_unittest.packed_enum_extension', index=90, number=103, type=14, cpp_type=8, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR) UNPACKED_INT32_EXTENSION_FIELD_NUMBER = 90 unpacked_int32_extension = _descriptor.FieldDescriptor( name='unpacked_int32_extension', full_name='protobuf_unittest.unpacked_int32_extension', index=91, number=90, type=5, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_INT64_EXTENSION_FIELD_NUMBER = 91 unpacked_int64_extension = _descriptor.FieldDescriptor( name='unpacked_int64_extension', full_name='protobuf_unittest.unpacked_int64_extension', index=92, number=91, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_UINT32_EXTENSION_FIELD_NUMBER = 92 unpacked_uint32_extension = _descriptor.FieldDescriptor( name='unpacked_uint32_extension', full_name='protobuf_unittest.unpacked_uint32_extension', index=93, number=92, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_UINT64_EXTENSION_FIELD_NUMBER = 93 unpacked_uint64_extension = _descriptor.FieldDescriptor( name='unpacked_uint64_extension', full_name='protobuf_unittest.unpacked_uint64_extension', index=94, number=93, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_SINT32_EXTENSION_FIELD_NUMBER = 94 unpacked_sint32_extension = _descriptor.FieldDescriptor( name='unpacked_sint32_extension', full_name='protobuf_unittest.unpacked_sint32_extension', index=95, number=94, type=17, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_SINT64_EXTENSION_FIELD_NUMBER = 95 unpacked_sint64_extension = _descriptor.FieldDescriptor( name='unpacked_sint64_extension', full_name='protobuf_unittest.unpacked_sint64_extension', index=96, number=95, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_FIXED32_EXTENSION_FIELD_NUMBER = 96 unpacked_fixed32_extension = _descriptor.FieldDescriptor( name='unpacked_fixed32_extension', full_name='protobuf_unittest.unpacked_fixed32_extension', index=97, number=96, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_FIXED64_EXTENSION_FIELD_NUMBER = 97 unpacked_fixed64_extension = _descriptor.FieldDescriptor( name='unpacked_fixed64_extension', full_name='protobuf_unittest.unpacked_fixed64_extension', index=98, number=97, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_SFIXED32_EXTENSION_FIELD_NUMBER = 98 unpacked_sfixed32_extension = _descriptor.FieldDescriptor( name='unpacked_sfixed32_extension', full_name='protobuf_unittest.unpacked_sfixed32_extension', index=99, number=98, type=15, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_SFIXED64_EXTENSION_FIELD_NUMBER = 99 unpacked_sfixed64_extension = _descriptor.FieldDescriptor( name='unpacked_sfixed64_extension', full_name='protobuf_unittest.unpacked_sfixed64_extension', index=100, number=99, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_FLOAT_EXTENSION_FIELD_NUMBER = 100 unpacked_float_extension = _descriptor.FieldDescriptor( name='unpacked_float_extension', full_name='protobuf_unittest.unpacked_float_extension', index=101, number=100, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_DOUBLE_EXTENSION_FIELD_NUMBER = 101 unpacked_double_extension = _descriptor.FieldDescriptor( name='unpacked_double_extension', full_name='protobuf_unittest.unpacked_double_extension', index=102, number=101, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_BOOL_EXTENSION_FIELD_NUMBER = 102 unpacked_bool_extension = _descriptor.FieldDescriptor( name='unpacked_bool_extension', full_name='protobuf_unittest.unpacked_bool_extension', index=103, number=102, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) UNPACKED_ENUM_EXTENSION_FIELD_NUMBER = 103 unpacked_enum_extension = _descriptor.FieldDescriptor( name='unpacked_enum_extension', full_name='protobuf_unittest.unpacked_enum_extension', index=104, number=103, type=14, cpp_type=8, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR) TEST_ALL_TYPES_FIELD_NUMBER = 536860000 test_all_types = _descriptor.FieldDescriptor( name='test_all_types', full_name='protobuf_unittest.test_all_types', index=105, number=536860000, 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, options=None, file=DESCRIPTOR) _TESTALLTYPES_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='protobuf_unittest.TestAllTypes.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOO', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR', index=1, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAZ', index=2, number=3, options=None, type=None), _descriptor.EnumValueDescriptor( name='NEG', index=3, number=-1, options=None, type=None), ], containing_type=None, options=None, serialized_start=3202, serialized_end=3259, ) _sym_db.RegisterEnumDescriptor(_TESTALLTYPES_NESTEDENUM) _TESTONEOF2_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='protobuf_unittest.TestOneof2.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOO', index=0, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR', index=1, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAZ', index=2, number=3, options=None, type=None), ], containing_type=None, options=None, serialized_start=3202, serialized_end=3241, ) _sym_db.RegisterEnumDescriptor(_TESTONEOF2_NESTEDENUM) _TESTDYNAMICEXTENSIONS_DYNAMICENUMTYPE = _descriptor.EnumDescriptor( name='DynamicEnumType', full_name='protobuf_unittest.TestDynamicExtensions.DynamicEnumType', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='DYNAMIC_FOO', index=0, number=2200, options=None, type=None), _descriptor.EnumValueDescriptor( name='DYNAMIC_BAR', index=1, number=2201, options=None, type=None), _descriptor.EnumValueDescriptor( name='DYNAMIC_BAZ', index=2, number=2202, options=None, type=None), ], containing_type=None, options=None, serialized_start=11449, serialized_end=11520, ) _sym_db.RegisterEnumDescriptor(_TESTDYNAMICEXTENSIONS_DYNAMICENUMTYPE) _TESTALLTYPES_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='protobuf_unittest.TestAllTypes.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='bb', full_name='protobuf_unittest.TestAllTypes.NestedMessage.bb', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3117, serialized_end=3144, ) _TESTALLTYPES_OPTIONALGROUP = _descriptor.Descriptor( name='OptionalGroup', full_name='protobuf_unittest.TestAllTypes.OptionalGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestAllTypes.OptionalGroup.a', index=0, number=17, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3146, serialized_end=3172, ) _TESTALLTYPES_REPEATEDGROUP = _descriptor.Descriptor( name='RepeatedGroup', full_name='protobuf_unittest.TestAllTypes.RepeatedGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestAllTypes.RepeatedGroup.a', index=0, number=47, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3174, serialized_end=3200, ) _TESTALLTYPES = _descriptor.Descriptor( name='TestAllTypes', full_name='protobuf_unittest.TestAllTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_int32', full_name='protobuf_unittest.TestAllTypes.optional_int32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int64', full_name='protobuf_unittest.TestAllTypes.optional_int64', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint32', full_name='protobuf_unittest.TestAllTypes.optional_uint32', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint64', full_name='protobuf_unittest.TestAllTypes.optional_uint64', index=3, number=4, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint32', full_name='protobuf_unittest.TestAllTypes.optional_sint32', index=4, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint64', full_name='protobuf_unittest.TestAllTypes.optional_sint64', index=5, number=6, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed32', full_name='protobuf_unittest.TestAllTypes.optional_fixed32', index=6, number=7, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed64', full_name='protobuf_unittest.TestAllTypes.optional_fixed64', index=7, number=8, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed32', full_name='protobuf_unittest.TestAllTypes.optional_sfixed32', index=8, number=9, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed64', full_name='protobuf_unittest.TestAllTypes.optional_sfixed64', index=9, number=10, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_float', full_name='protobuf_unittest.TestAllTypes.optional_float', index=10, number=11, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_double', full_name='protobuf_unittest.TestAllTypes.optional_double', index=11, number=12, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bool', full_name='protobuf_unittest.TestAllTypes.optional_bool', index=12, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string', full_name='protobuf_unittest.TestAllTypes.optional_string', index=13, number=14, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bytes', full_name='protobuf_unittest.TestAllTypes.optional_bytes', index=14, number=15, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optionalgroup', full_name='protobuf_unittest.TestAllTypes.optionalgroup', index=15, number=16, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_message', full_name='protobuf_unittest.TestAllTypes.optional_nested_message', index=16, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_message', full_name='protobuf_unittest.TestAllTypes.optional_foreign_message', index=17, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_import_message', full_name='protobuf_unittest.TestAllTypes.optional_import_message', index=18, number=20, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_enum', full_name='protobuf_unittest.TestAllTypes.optional_nested_enum', index=19, number=21, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_enum', full_name='protobuf_unittest.TestAllTypes.optional_foreign_enum', index=20, number=22, type=14, cpp_type=8, label=1, has_default_value=False, default_value=4, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_import_enum', full_name='protobuf_unittest.TestAllTypes.optional_import_enum', index=21, number=23, type=14, cpp_type=8, label=1, has_default_value=False, default_value=7, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string_piece', full_name='protobuf_unittest.TestAllTypes.optional_string_piece', index=22, number=24, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_cord', full_name='protobuf_unittest.TestAllTypes.optional_cord', index=23, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_public_import_message', full_name='protobuf_unittest.TestAllTypes.optional_public_import_message', index=24, number=26, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_lazy_message', full_name='protobuf_unittest.TestAllTypes.optional_lazy_message', index=25, number=27, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int32', full_name='protobuf_unittest.TestAllTypes.repeated_int32', index=26, number=31, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int64', full_name='protobuf_unittest.TestAllTypes.repeated_int64', index=27, number=32, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint32', full_name='protobuf_unittest.TestAllTypes.repeated_uint32', index=28, number=33, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint64', full_name='protobuf_unittest.TestAllTypes.repeated_uint64', index=29, number=34, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint32', full_name='protobuf_unittest.TestAllTypes.repeated_sint32', index=30, number=35, type=17, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint64', full_name='protobuf_unittest.TestAllTypes.repeated_sint64', index=31, number=36, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed32', full_name='protobuf_unittest.TestAllTypes.repeated_fixed32', index=32, number=37, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed64', full_name='protobuf_unittest.TestAllTypes.repeated_fixed64', index=33, number=38, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed32', full_name='protobuf_unittest.TestAllTypes.repeated_sfixed32', index=34, number=39, type=15, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed64', full_name='protobuf_unittest.TestAllTypes.repeated_sfixed64', index=35, number=40, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_float', full_name='protobuf_unittest.TestAllTypes.repeated_float', index=36, number=41, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_double', full_name='protobuf_unittest.TestAllTypes.repeated_double', index=37, number=42, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bool', full_name='protobuf_unittest.TestAllTypes.repeated_bool', index=38, number=43, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string', full_name='protobuf_unittest.TestAllTypes.repeated_string', index=39, number=44, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bytes', full_name='protobuf_unittest.TestAllTypes.repeated_bytes', index=40, number=45, type=12, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeatedgroup', full_name='protobuf_unittest.TestAllTypes.repeatedgroup', index=41, number=46, type=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_message', full_name='protobuf_unittest.TestAllTypes.repeated_nested_message', index=42, number=48, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_message', full_name='protobuf_unittest.TestAllTypes.repeated_foreign_message', index=43, number=49, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_import_message', full_name='protobuf_unittest.TestAllTypes.repeated_import_message', index=44, number=50, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_enum', full_name='protobuf_unittest.TestAllTypes.repeated_nested_enum', index=45, number=51, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_enum', full_name='protobuf_unittest.TestAllTypes.repeated_foreign_enum', index=46, number=52, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_import_enum', full_name='protobuf_unittest.TestAllTypes.repeated_import_enum', index=47, number=53, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string_piece', full_name='protobuf_unittest.TestAllTypes.repeated_string_piece', index=48, number=54, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_cord', full_name='protobuf_unittest.TestAllTypes.repeated_cord', index=49, number=55, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_lazy_message', full_name='protobuf_unittest.TestAllTypes.repeated_lazy_message', index=50, number=57, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_int32', full_name='protobuf_unittest.TestAllTypes.default_int32', index=51, number=61, type=5, cpp_type=1, label=1, has_default_value=True, default_value=41, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_int64', full_name='protobuf_unittest.TestAllTypes.default_int64', index=52, number=62, type=3, cpp_type=2, label=1, has_default_value=True, default_value=42, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_uint32', full_name='protobuf_unittest.TestAllTypes.default_uint32', index=53, number=63, type=13, cpp_type=3, label=1, has_default_value=True, default_value=43, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_uint64', full_name='protobuf_unittest.TestAllTypes.default_uint64', index=54, number=64, type=4, cpp_type=4, label=1, has_default_value=True, default_value=44, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_sint32', full_name='protobuf_unittest.TestAllTypes.default_sint32', index=55, number=65, type=17, cpp_type=1, label=1, has_default_value=True, default_value=-45, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_sint64', full_name='protobuf_unittest.TestAllTypes.default_sint64', index=56, number=66, type=18, cpp_type=2, label=1, has_default_value=True, default_value=46, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_fixed32', full_name='protobuf_unittest.TestAllTypes.default_fixed32', index=57, number=67, type=7, cpp_type=3, label=1, has_default_value=True, default_value=47, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_fixed64', full_name='protobuf_unittest.TestAllTypes.default_fixed64', index=58, number=68, type=6, cpp_type=4, label=1, has_default_value=True, default_value=48, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_sfixed32', full_name='protobuf_unittest.TestAllTypes.default_sfixed32', index=59, number=69, type=15, cpp_type=1, label=1, has_default_value=True, default_value=49, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_sfixed64', full_name='protobuf_unittest.TestAllTypes.default_sfixed64', index=60, number=70, type=16, cpp_type=2, label=1, has_default_value=True, default_value=-50, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_float', full_name='protobuf_unittest.TestAllTypes.default_float', index=61, number=71, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(51.5), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_double', full_name='protobuf_unittest.TestAllTypes.default_double', index=62, number=72, type=1, cpp_type=5, label=1, has_default_value=True, default_value=float(52000), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_bool', full_name='protobuf_unittest.TestAllTypes.default_bool', index=63, number=73, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_string', full_name='protobuf_unittest.TestAllTypes.default_string', index=64, number=74, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("hello").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_bytes', full_name='protobuf_unittest.TestAllTypes.default_bytes', index=65, number=75, type=12, cpp_type=9, label=1, has_default_value=True, default_value=_b("world"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_nested_enum', full_name='protobuf_unittest.TestAllTypes.default_nested_enum', index=66, number=81, type=14, cpp_type=8, label=1, has_default_value=True, default_value=2, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_foreign_enum', full_name='protobuf_unittest.TestAllTypes.default_foreign_enum', index=67, number=82, type=14, cpp_type=8, label=1, has_default_value=True, default_value=5, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_import_enum', full_name='protobuf_unittest.TestAllTypes.default_import_enum', index=68, number=83, type=14, cpp_type=8, label=1, has_default_value=True, default_value=8, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_string_piece', full_name='protobuf_unittest.TestAllTypes.default_string_piece', index=69, number=84, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("abc").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_cord', full_name='protobuf_unittest.TestAllTypes.default_cord', index=70, number=85, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("123").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_uint32', full_name='protobuf_unittest.TestAllTypes.oneof_uint32', index=71, number=111, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_nested_message', full_name='protobuf_unittest.TestAllTypes.oneof_nested_message', index=72, number=112, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_string', full_name='protobuf_unittest.TestAllTypes.oneof_string', index=73, number=113, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_bytes', full_name='protobuf_unittest.TestAllTypes.oneof_bytes', index=74, number=114, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTALLTYPES_NESTEDMESSAGE, _TESTALLTYPES_OPTIONALGROUP, _TESTALLTYPES_REPEATEDGROUP, ], enum_types=[ _TESTALLTYPES_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='oneof_field', full_name='protobuf_unittest.TestAllTypes.oneof_field', index=0, containing_type=None, fields=[]), ], serialized_start=93, serialized_end=3274, ) _NESTEDTESTALLTYPES = _descriptor.Descriptor( name='NestedTestAllTypes', full_name='protobuf_unittest.NestedTestAllTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='child', full_name='protobuf_unittest.NestedTestAllTypes.child', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='payload', full_name='protobuf_unittest.NestedTestAllTypes.payload', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_child', full_name='protobuf_unittest.NestedTestAllTypes.repeated_child', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3277, serialized_end=3464, ) _TESTDEPRECATEDFIELDS = _descriptor.Descriptor( name='TestDeprecatedFields', full_name='protobuf_unittest.TestDeprecatedFields', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='deprecated_int32', full_name='protobuf_unittest.TestDeprecatedFields.deprecated_int32', 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3466, serialized_end=3518, ) _TESTDEPRECATEDMESSAGE = _descriptor.Descriptor( name='TestDeprecatedMessage', full_name='protobuf_unittest.TestDeprecatedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\030\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3520, serialized_end=3547, ) _FOREIGNMESSAGE = _descriptor.Descriptor( name='ForeignMessage', full_name='protobuf_unittest.ForeignMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='c', full_name='protobuf_unittest.ForeignMessage.c', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='d', full_name='protobuf_unittest.ForeignMessage.d', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3549, serialized_end=3587, ) _TESTRESERVEDFIELDS = _descriptor.Descriptor( name='TestReservedFields', full_name='protobuf_unittest.TestReservedFields', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3589, serialized_end=3637, ) _TESTALLEXTENSIONS = _descriptor.Descriptor( name='TestAllExtensions', full_name='protobuf_unittest.TestAllExtensions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1, 536870912), ], oneofs=[ ], serialized_start=3639, serialized_end=3668, ) _OPTIONALGROUP_EXTENSION = _descriptor.Descriptor( name='OptionalGroup_extension', full_name='protobuf_unittest.OptionalGroup_extension', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.OptionalGroup_extension.a', index=0, number=17, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3670, serialized_end=3706, ) _REPEATEDGROUP_EXTENSION = _descriptor.Descriptor( name='RepeatedGroup_extension', full_name='protobuf_unittest.RepeatedGroup_extension', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.RepeatedGroup_extension.a', index=0, number=47, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3708, serialized_end=3744, ) _TESTNESTEDEXTENSION = _descriptor.Descriptor( name='TestNestedExtension', full_name='protobuf_unittest.TestNestedExtension', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ _descriptor.FieldDescriptor( name='test', full_name='protobuf_unittest.TestNestedExtension.test', index=0, number=1002, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("test").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_string_extension', full_name='protobuf_unittest.TestNestedExtension.nested_string_extension', index=1, number=1003, 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3747, serialized_end=3899, ) _TESTREQUIRED = _descriptor.Descriptor( name='TestRequired', full_name='protobuf_unittest.TestRequired', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestRequired.a', index=0, number=1, type=5, cpp_type=1, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy2', full_name='protobuf_unittest.TestRequired.dummy2', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='b', full_name='protobuf_unittest.TestRequired.b', index=2, number=3, type=5, cpp_type=1, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy4', full_name='protobuf_unittest.TestRequired.dummy4', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy5', full_name='protobuf_unittest.TestRequired.dummy5', index=4, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy6', full_name='protobuf_unittest.TestRequired.dummy6', index=5, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy7', full_name='protobuf_unittest.TestRequired.dummy7', index=6, number=7, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy8', full_name='protobuf_unittest.TestRequired.dummy8', index=7, number=8, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy9', full_name='protobuf_unittest.TestRequired.dummy9', index=8, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy10', full_name='protobuf_unittest.TestRequired.dummy10', index=9, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy11', full_name='protobuf_unittest.TestRequired.dummy11', index=10, number=11, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy12', full_name='protobuf_unittest.TestRequired.dummy12', index=11, number=12, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy13', full_name='protobuf_unittest.TestRequired.dummy13', index=12, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy14', full_name='protobuf_unittest.TestRequired.dummy14', index=13, number=14, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy15', full_name='protobuf_unittest.TestRequired.dummy15', index=14, number=15, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy16', full_name='protobuf_unittest.TestRequired.dummy16', index=15, number=16, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy17', full_name='protobuf_unittest.TestRequired.dummy17', index=16, number=17, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy18', full_name='protobuf_unittest.TestRequired.dummy18', index=17, number=18, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy19', full_name='protobuf_unittest.TestRequired.dummy19', index=18, number=19, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy20', full_name='protobuf_unittest.TestRequired.dummy20', index=19, number=20, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy21', full_name='protobuf_unittest.TestRequired.dummy21', index=20, number=21, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy22', full_name='protobuf_unittest.TestRequired.dummy22', index=21, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy23', full_name='protobuf_unittest.TestRequired.dummy23', index=22, number=23, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy24', full_name='protobuf_unittest.TestRequired.dummy24', index=23, number=24, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy25', full_name='protobuf_unittest.TestRequired.dummy25', index=24, number=25, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy26', full_name='protobuf_unittest.TestRequired.dummy26', index=25, number=26, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy27', full_name='protobuf_unittest.TestRequired.dummy27', index=26, number=27, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy28', full_name='protobuf_unittest.TestRequired.dummy28', index=27, number=28, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy29', full_name='protobuf_unittest.TestRequired.dummy29', index=28, number=29, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy30', full_name='protobuf_unittest.TestRequired.dummy30', index=29, number=30, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy31', full_name='protobuf_unittest.TestRequired.dummy31', index=30, number=31, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy32', full_name='protobuf_unittest.TestRequired.dummy32', index=31, number=32, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='c', full_name='protobuf_unittest.TestRequired.c', index=32, number=33, type=5, cpp_type=1, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='single', full_name='protobuf_unittest.TestRequired.single', index=0, number=1000, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='multi', full_name='protobuf_unittest.TestRequired.multi', index=1, number=1001, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=3902, serialized_end=4627, ) _TESTREQUIREDFOREIGN = _descriptor.Descriptor( name='TestRequiredForeign', full_name='protobuf_unittest.TestRequiredForeign', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_message', full_name='protobuf_unittest.TestRequiredForeign.optional_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_message', full_name='protobuf_unittest.TestRequiredForeign.repeated_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dummy', full_name='protobuf_unittest.TestRequiredForeign.dummy', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4630, serialized_end=4784, ) _TESTREQUIREDMESSAGE = _descriptor.Descriptor( name='TestRequiredMessage', full_name='protobuf_unittest.TestRequiredMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_message', full_name='protobuf_unittest.TestRequiredMessage.optional_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_message', full_name='protobuf_unittest.TestRequiredMessage.repeated_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='required_message', full_name='protobuf_unittest.TestRequiredMessage.required_message', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4787, serialized_end=4985, ) _TESTFOREIGNNESTED = _descriptor.Descriptor( name='TestForeignNested', full_name='protobuf_unittest.TestForeignNested', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='foreign_nested', full_name='protobuf_unittest.TestForeignNested.foreign_nested', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4987, serialized_end=5077, ) _TESTEMPTYMESSAGE = _descriptor.Descriptor( name='TestEmptyMessage', full_name='protobuf_unittest.TestEmptyMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5079, serialized_end=5097, ) _TESTEMPTYMESSAGEWITHEXTENSIONS = _descriptor.Descriptor( name='TestEmptyMessageWithExtensions', full_name='protobuf_unittest.TestEmptyMessageWithExtensions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1, 536870912), ], oneofs=[ ], serialized_start=5099, serialized_end=5141, ) _TESTMULTIPLEEXTENSIONRANGES = _descriptor.Descriptor( name='TestMultipleExtensionRanges', full_name='protobuf_unittest.TestMultipleExtensionRanges', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(42, 43), (4143, 4244), (65536, 536870912), ], oneofs=[ ], serialized_start=5143, serialized_end=5198, ) _TESTREALLYLARGETAGNUMBER = _descriptor.Descriptor( name='TestReallyLargeTagNumber', full_name='protobuf_unittest.TestReallyLargeTagNumber', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestReallyLargeTagNumber.a', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bb', full_name='protobuf_unittest.TestReallyLargeTagNumber.bb', index=1, number=268435455, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5200, serialized_end=5252, ) _TESTRECURSIVEMESSAGE = _descriptor.Descriptor( name='TestRecursiveMessage', full_name='protobuf_unittest.TestRecursiveMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestRecursiveMessage.a', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='i', full_name='protobuf_unittest.TestRecursiveMessage.i', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5254, serialized_end=5339, ) _TESTMUTUALRECURSIONA_SUBMESSAGE = _descriptor.Descriptor( name='SubMessage', full_name='protobuf_unittest.TestMutualRecursionA.SubMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='b', full_name='protobuf_unittest.TestMutualRecursionA.SubMessage.b', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5487, serialized_end=5551, ) _TESTMUTUALRECURSIONA_SUBGROUP = _descriptor.Descriptor( name='SubGroup', full_name='protobuf_unittest.TestMutualRecursionA.SubGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='sub_message', full_name='protobuf_unittest.TestMutualRecursionA.SubGroup.sub_message', index=0, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='not_in_this_scc', full_name='protobuf_unittest.TestMutualRecursionA.SubGroup.not_in_this_scc', index=1, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5554, serialized_end=5695, ) _TESTMUTUALRECURSIONA = _descriptor.Descriptor( name='TestMutualRecursionA', full_name='protobuf_unittest.TestMutualRecursionA', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='bb', full_name='protobuf_unittest.TestMutualRecursionA.bb', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subgroup', full_name='protobuf_unittest.TestMutualRecursionA.subgroup', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTMUTUALRECURSIONA_SUBMESSAGE, _TESTMUTUALRECURSIONA_SUBGROUP, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5342, serialized_end=5695, ) _TESTMUTUALRECURSIONB = _descriptor.Descriptor( name='TestMutualRecursionB', full_name='protobuf_unittest.TestMutualRecursionB', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestMutualRecursionB.a', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int32', full_name='protobuf_unittest.TestMutualRecursionB.optional_int32', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5697, serialized_end=5795, ) _TESTISINITIALIZED_SUBMESSAGE_SUBGROUP = _descriptor.Descriptor( name='SubGroup', full_name='protobuf_unittest.TestIsInitialized.SubMessage.SubGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='i', full_name='protobuf_unittest.TestIsInitialized.SubMessage.SubGroup.i', index=0, number=2, type=5, cpp_type=1, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5979, serialized_end=6000, ) _TESTISINITIALIZED_SUBMESSAGE = _descriptor.Descriptor( name='SubMessage', full_name='protobuf_unittest.TestIsInitialized.SubMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='subgroup', full_name='protobuf_unittest.TestIsInitialized.SubMessage.subgroup', index=0, number=1, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTISINITIALIZED_SUBMESSAGE_SUBGROUP, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5889, serialized_end=6000, ) _TESTISINITIALIZED = _descriptor.Descriptor( name='TestIsInitialized', full_name='protobuf_unittest.TestIsInitialized', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='sub_message', full_name='protobuf_unittest.TestIsInitialized.sub_message', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTISINITIALIZED_SUBMESSAGE, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5798, serialized_end=6000, ) _TESTDUPFIELDNUMBER_FOO = _descriptor.Descriptor( name='Foo', full_name='protobuf_unittest.TestDupFieldNumber.Foo', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestDupFieldNumber.Foo.a', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6148, serialized_end=6164, ) _TESTDUPFIELDNUMBER_BAR = _descriptor.Descriptor( name='Bar', full_name='protobuf_unittest.TestDupFieldNumber.Bar', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestDupFieldNumber.Bar.a', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6166, serialized_end=6182, ) _TESTDUPFIELDNUMBER = _descriptor.Descriptor( name='TestDupFieldNumber', full_name='protobuf_unittest.TestDupFieldNumber', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestDupFieldNumber.a', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo', full_name='protobuf_unittest.TestDupFieldNumber.foo', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bar', full_name='protobuf_unittest.TestDupFieldNumber.bar', index=2, number=3, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTDUPFIELDNUMBER_FOO, _TESTDUPFIELDNUMBER_BAR, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6003, serialized_end=6182, ) _TESTEAGERMESSAGE = _descriptor.Descriptor( name='TestEagerMessage', full_name='protobuf_unittest.TestEagerMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='sub_message', full_name='protobuf_unittest.TestEagerMessage.sub_message', 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\000')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6184, serialized_end=6260, ) _TESTLAZYMESSAGE = _descriptor.Descriptor( name='TestLazyMessage', full_name='protobuf_unittest.TestLazyMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='sub_message', full_name='protobuf_unittest.TestLazyMessage.sub_message', 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6262, serialized_end=6337, ) _TESTNESTEDMESSAGEHASBITS_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='protobuf_unittest.TestNestedMessageHasBits.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='nestedmessage_repeated_int32', full_name='protobuf_unittest.TestNestedMessageHasBits.NestedMessage.nestedmessage_repeated_int32', index=0, number=1, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nestedmessage_repeated_foreignmessage', full_name='protobuf_unittest.TestNestedMessageHasBits.NestedMessage.nestedmessage_repeated_foreignmessage', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6461, serialized_end=6596, ) _TESTNESTEDMESSAGEHASBITS = _descriptor.Descriptor( name='TestNestedMessageHasBits', full_name='protobuf_unittest.TestNestedMessageHasBits', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_nested_message', full_name='protobuf_unittest.TestNestedMessageHasBits.optional_nested_message', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTNESTEDMESSAGEHASBITS_NESTEDMESSAGE, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6340, serialized_end=6596, ) _TESTCAMELCASEFIELDNAMES = _descriptor.Descriptor( name='TestCamelCaseFieldNames', full_name='protobuf_unittest.TestCamelCaseFieldNames', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='PrimitiveField', full_name='protobuf_unittest.TestCamelCaseFieldNames.PrimitiveField', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='StringField', full_name='protobuf_unittest.TestCamelCaseFieldNames.StringField', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='EnumField', full_name='protobuf_unittest.TestCamelCaseFieldNames.EnumField', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=4, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='MessageField', full_name='protobuf_unittest.TestCamelCaseFieldNames.MessageField', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='StringPieceField', full_name='protobuf_unittest.TestCamelCaseFieldNames.StringPieceField', 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='CordField', full_name='protobuf_unittest.TestCamelCaseFieldNames.CordField', 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='RepeatedPrimitiveField', full_name='protobuf_unittest.TestCamelCaseFieldNames.RepeatedPrimitiveField', index=6, number=7, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='RepeatedStringField', full_name='protobuf_unittest.TestCamelCaseFieldNames.RepeatedStringField', index=7, number=8, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='RepeatedEnumField', full_name='protobuf_unittest.TestCamelCaseFieldNames.RepeatedEnumField', index=8, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='RepeatedMessageField', full_name='protobuf_unittest.TestCamelCaseFieldNames.RepeatedMessageField', index=9, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='RepeatedStringPieceField', full_name='protobuf_unittest.TestCamelCaseFieldNames.RepeatedStringPieceField', index=10, number=11, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='RepeatedCordField', full_name='protobuf_unittest.TestCamelCaseFieldNames.RepeatedCordField', index=11, number=12, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6599, serialized_end=7084, ) _TESTFIELDORDERINGS_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='protobuf_unittest.TestFieldOrderings.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='oo', full_name='protobuf_unittest.TestFieldOrderings.NestedMessage.oo', index=0, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bb', full_name='protobuf_unittest.TestFieldOrderings.NestedMessage.bb', index=1, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=7249, serialized_end=7288, ) _TESTFIELDORDERINGS = _descriptor.Descriptor( name='TestFieldOrderings', full_name='protobuf_unittest.TestFieldOrderings', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='my_string', full_name='protobuf_unittest.TestFieldOrderings.my_string', index=0, number=11, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='my_int', full_name='protobuf_unittest.TestFieldOrderings.my_int', index=1, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='my_float', full_name='protobuf_unittest.TestFieldOrderings.my_float', index=2, number=101, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_message', full_name='protobuf_unittest.TestFieldOrderings.optional_nested_message', index=3, number=200, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTFIELDORDERINGS_NESTEDMESSAGE, ], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(2, 11), (12, 101), ], oneofs=[ ], serialized_start=7087, serialized_end=7300, ) _TESTEXTREMEDEFAULTVALUES = _descriptor.Descriptor( name='TestExtremeDefaultValues', full_name='protobuf_unittest.TestExtremeDefaultValues', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='escaped_bytes', full_name='protobuf_unittest.TestExtremeDefaultValues.escaped_bytes', index=0, number=1, type=12, cpp_type=9, label=1, has_default_value=True, default_value=_b("\000\001\007\010\014\n\r\t\013\\\'\"\376"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='large_uint32', full_name='protobuf_unittest.TestExtremeDefaultValues.large_uint32', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=True, default_value=4294967295, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='large_uint64', full_name='protobuf_unittest.TestExtremeDefaultValues.large_uint64', index=2, number=3, type=4, cpp_type=4, label=1, has_default_value=True, default_value=18446744073709551615, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='small_int32', full_name='protobuf_unittest.TestExtremeDefaultValues.small_int32', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=True, default_value=-2147483647, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='small_int64', full_name='protobuf_unittest.TestExtremeDefaultValues.small_int64', index=4, number=5, type=3, cpp_type=2, label=1, has_default_value=True, default_value=-9223372036854775807, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='really_small_int32', full_name='protobuf_unittest.TestExtremeDefaultValues.really_small_int32', index=5, number=21, type=5, cpp_type=1, label=1, has_default_value=True, default_value=-2147483648, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='really_small_int64', full_name='protobuf_unittest.TestExtremeDefaultValues.really_small_int64', index=6, number=22, type=3, cpp_type=2, label=1, has_default_value=True, default_value=-9223372036854775808, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='utf8_string', full_name='protobuf_unittest.TestExtremeDefaultValues.utf8_string', index=7, number=6, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("\341\210\264").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='zero_float', full_name='protobuf_unittest.TestExtremeDefaultValues.zero_float', index=8, number=7, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='one_float', full_name='protobuf_unittest.TestExtremeDefaultValues.one_float', index=9, number=8, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(1), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='small_float', full_name='protobuf_unittest.TestExtremeDefaultValues.small_float', index=10, number=9, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(1.5), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='negative_one_float', full_name='protobuf_unittest.TestExtremeDefaultValues.negative_one_float', index=11, number=10, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(-1), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='negative_float', full_name='protobuf_unittest.TestExtremeDefaultValues.negative_float', index=12, number=11, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(-1.5), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='large_float', full_name='protobuf_unittest.TestExtremeDefaultValues.large_float', index=13, number=12, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(2e+08), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='small_negative_float', full_name='protobuf_unittest.TestExtremeDefaultValues.small_negative_float', index=14, number=13, type=2, cpp_type=6, label=1, has_default_value=True, default_value=float(-8e-28), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='inf_double', full_name='protobuf_unittest.TestExtremeDefaultValues.inf_double', index=15, number=14, type=1, cpp_type=5, label=1, has_default_value=True, default_value=1e10000, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='neg_inf_double', full_name='protobuf_unittest.TestExtremeDefaultValues.neg_inf_double', index=16, number=15, type=1, cpp_type=5, label=1, has_default_value=True, default_value=-1e10000, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nan_double', full_name='protobuf_unittest.TestExtremeDefaultValues.nan_double', index=17, number=16, type=1, cpp_type=5, label=1, has_default_value=True, default_value=(1e10000 * 0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='inf_float', full_name='protobuf_unittest.TestExtremeDefaultValues.inf_float', index=18, number=17, type=2, cpp_type=6, label=1, has_default_value=True, default_value=1e10000, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='neg_inf_float', full_name='protobuf_unittest.TestExtremeDefaultValues.neg_inf_float', index=19, number=18, type=2, cpp_type=6, label=1, has_default_value=True, default_value=-1e10000, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nan_float', full_name='protobuf_unittest.TestExtremeDefaultValues.nan_float', index=20, number=19, type=2, cpp_type=6, label=1, has_default_value=True, default_value=(1e10000 * 0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cpp_trigraph', full_name='protobuf_unittest.TestExtremeDefaultValues.cpp_trigraph', index=21, number=20, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("? ? ?? ?? ??? ??/ ??-").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='string_with_zero', full_name='protobuf_unittest.TestExtremeDefaultValues.string_with_zero', index=22, number=23, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("hel\000lo").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bytes_with_zero', full_name='protobuf_unittest.TestExtremeDefaultValues.bytes_with_zero', index=23, number=24, type=12, cpp_type=9, label=1, has_default_value=True, default_value=_b("wor\000ld"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='string_piece_with_zero', full_name='protobuf_unittest.TestExtremeDefaultValues.string_piece_with_zero', index=24, number=25, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("ab\000c").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cord_with_zero', full_name='protobuf_unittest.TestExtremeDefaultValues.cord_with_zero', index=25, number=26, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("12\0003").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='replacement_string', full_name='protobuf_unittest.TestExtremeDefaultValues.replacement_string', index=26, number=27, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("${unknown}").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=7303, serialized_end=8253, ) _SPARSEENUMMESSAGE = _descriptor.Descriptor( name='SparseEnumMessage', full_name='protobuf_unittest.SparseEnumMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='sparse_enum', full_name='protobuf_unittest.SparseEnumMessage.sparse_enum', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=123, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8255, serialized_end=8330, ) _ONESTRING = _descriptor.Descriptor( name='OneString', full_name='protobuf_unittest.OneString', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.OneString.data', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8332, serialized_end=8357, ) _MORESTRING = _descriptor.Descriptor( name='MoreString', full_name='protobuf_unittest.MoreString', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.MoreString.data', index=0, number=1, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8359, serialized_end=8385, ) _ONEBYTES = _descriptor.Descriptor( name='OneBytes', full_name='protobuf_unittest.OneBytes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.OneBytes.data', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8387, serialized_end=8411, ) _MOREBYTES = _descriptor.Descriptor( name='MoreBytes', full_name='protobuf_unittest.MoreBytes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.MoreBytes.data', index=0, number=1, type=12, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8413, serialized_end=8438, ) _INT32MESSAGE = _descriptor.Descriptor( name='Int32Message', full_name='protobuf_unittest.Int32Message', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.Int32Message.data', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8440, serialized_end=8468, ) _UINT32MESSAGE = _descriptor.Descriptor( name='Uint32Message', full_name='protobuf_unittest.Uint32Message', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.Uint32Message.data', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8470, serialized_end=8499, ) _INT64MESSAGE = _descriptor.Descriptor( name='Int64Message', full_name='protobuf_unittest.Int64Message', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.Int64Message.data', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8501, serialized_end=8529, ) _UINT64MESSAGE = _descriptor.Descriptor( name='Uint64Message', full_name='protobuf_unittest.Uint64Message', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.Uint64Message.data', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8531, serialized_end=8560, ) _BOOLMESSAGE = _descriptor.Descriptor( name='BoolMessage', full_name='protobuf_unittest.BoolMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='data', full_name='protobuf_unittest.BoolMessage.data', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8562, serialized_end=8589, ) _TESTONEOF_FOOGROUP = _descriptor.Descriptor( name='FooGroup', full_name='protobuf_unittest.TestOneof.FooGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestOneof.FooGroup.a', index=0, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='b', full_name='protobuf_unittest.TestOneof.FooGroup.b', index=1, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8761, serialized_end=8793, ) _TESTONEOF = _descriptor.Descriptor( name='TestOneof', full_name='protobuf_unittest.TestOneof', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='foo_int', full_name='protobuf_unittest.TestOneof.foo_int', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_string', full_name='protobuf_unittest.TestOneof.foo_string', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_message', full_name='protobuf_unittest.TestOneof.foo_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foogroup', full_name='protobuf_unittest.TestOneof.foogroup', index=3, number=4, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTONEOF_FOOGROUP, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='foo', full_name='protobuf_unittest.TestOneof.foo', index=0, containing_type=None, fields=[]), ], serialized_start=8592, serialized_end=8800, ) _TESTONEOFBACKWARDSCOMPATIBLE_FOOGROUP = _descriptor.Descriptor( name='FooGroup', full_name='protobuf_unittest.TestOneofBackwardsCompatible.FooGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestOneofBackwardsCompatible.FooGroup.a', index=0, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='b', full_name='protobuf_unittest.TestOneofBackwardsCompatible.FooGroup.b', index=1, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8761, serialized_end=8793, ) _TESTONEOFBACKWARDSCOMPATIBLE = _descriptor.Descriptor( name='TestOneofBackwardsCompatible', full_name='protobuf_unittest.TestOneofBackwardsCompatible', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='foo_int', full_name='protobuf_unittest.TestOneofBackwardsCompatible.foo_int', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_string', full_name='protobuf_unittest.TestOneofBackwardsCompatible.foo_string', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_message', full_name='protobuf_unittest.TestOneofBackwardsCompatible.foo_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foogroup', full_name='protobuf_unittest.TestOneofBackwardsCompatible.foogroup', index=3, number=4, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTONEOFBACKWARDSCOMPATIBLE_FOOGROUP, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=8803, serialized_end=9034, ) _TESTONEOF2_FOOGROUP = _descriptor.Descriptor( name='FooGroup', full_name='protobuf_unittest.TestOneof2.FooGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestOneof2.FooGroup.a', index=0, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='b', full_name='protobuf_unittest.TestOneof2.FooGroup.b', index=1, number=10, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=9695, serialized_end=9727, ) _TESTONEOF2_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='protobuf_unittest.TestOneof2.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='qux_int', full_name='protobuf_unittest.TestOneof2.NestedMessage.qux_int', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='corge_int', full_name='protobuf_unittest.TestOneof2.NestedMessage.corge_int', index=1, number=2, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=9729, serialized_end=9780, ) _TESTONEOF2 = _descriptor.Descriptor( name='TestOneof2', full_name='protobuf_unittest.TestOneof2', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='foo_int', full_name='protobuf_unittest.TestOneof2.foo_int', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_string', full_name='protobuf_unittest.TestOneof2.foo_string', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_cord', full_name='protobuf_unittest.TestOneof2.foo_cord', 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_string_piece', full_name='protobuf_unittest.TestOneof2.foo_string_piece', 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_bytes', full_name='protobuf_unittest.TestOneof2.foo_bytes', index=4, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_enum', full_name='protobuf_unittest.TestOneof2.foo_enum', index=5, number=6, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_message', full_name='protobuf_unittest.TestOneof2.foo_message', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foogroup', full_name='protobuf_unittest.TestOneof2.foogroup', index=7, number=8, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_lazy_message', full_name='protobuf_unittest.TestOneof2.foo_lazy_message', index=8, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bar_int', full_name='protobuf_unittest.TestOneof2.bar_int', index=9, number=12, type=5, cpp_type=1, label=1, has_default_value=True, default_value=5, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bar_string', full_name='protobuf_unittest.TestOneof2.bar_string', index=10, number=13, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("STRING").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bar_cord', full_name='protobuf_unittest.TestOneof2.bar_cord', index=11, number=14, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("CORD").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bar_string_piece', full_name='protobuf_unittest.TestOneof2.bar_string_piece', index=12, number=15, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("SPIECE").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bar_bytes', full_name='protobuf_unittest.TestOneof2.bar_bytes', index=13, number=16, type=12, cpp_type=9, label=1, has_default_value=True, default_value=_b("BYTES"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bar_enum', full_name='protobuf_unittest.TestOneof2.bar_enum', index=14, number=17, type=14, cpp_type=8, label=1, has_default_value=True, default_value=2, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='baz_int', full_name='protobuf_unittest.TestOneof2.baz_int', index=15, number=18, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='baz_string', full_name='protobuf_unittest.TestOneof2.baz_string', index=16, number=19, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("BAZ").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTONEOF2_FOOGROUP, _TESTONEOF2_NESTEDMESSAGE, ], enum_types=[ _TESTONEOF2_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='foo', full_name='protobuf_unittest.TestOneof2.foo', index=0, containing_type=None, fields=[]), _descriptor.OneofDescriptor( name='bar', full_name='protobuf_unittest.TestOneof2.bar', index=1, containing_type=None, fields=[]), ], serialized_start=9037, serialized_end=9835, ) _TESTREQUIREDONEOF_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='protobuf_unittest.TestRequiredOneof.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='required_double', full_name='protobuf_unittest.TestRequiredOneof.NestedMessage.required_double', index=0, number=1, type=1, cpp_type=5, label=2, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=9975, serialized_end=10015, ) _TESTREQUIREDONEOF = _descriptor.Descriptor( name='TestRequiredOneof', full_name='protobuf_unittest.TestRequiredOneof', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='foo_int', full_name='protobuf_unittest.TestRequiredOneof.foo_int', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_string', full_name='protobuf_unittest.TestRequiredOneof.foo_string', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='foo_message', full_name='protobuf_unittest.TestRequiredOneof.foo_message', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTREQUIREDONEOF_NESTEDMESSAGE, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='foo', full_name='protobuf_unittest.TestRequiredOneof.foo', index=0, containing_type=None, fields=[]), ], serialized_start=9838, serialized_end=10022, ) _TESTPACKEDTYPES = _descriptor.Descriptor( name='TestPackedTypes', full_name='protobuf_unittest.TestPackedTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='packed_int32', full_name='protobuf_unittest.TestPackedTypes.packed_int32', index=0, number=90, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_int64', full_name='protobuf_unittest.TestPackedTypes.packed_int64', index=1, number=91, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_uint32', full_name='protobuf_unittest.TestPackedTypes.packed_uint32', index=2, number=92, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_uint64', full_name='protobuf_unittest.TestPackedTypes.packed_uint64', index=3, number=93, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_sint32', full_name='protobuf_unittest.TestPackedTypes.packed_sint32', index=4, number=94, type=17, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_sint64', full_name='protobuf_unittest.TestPackedTypes.packed_sint64', index=5, number=95, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_fixed32', full_name='protobuf_unittest.TestPackedTypes.packed_fixed32', index=6, number=96, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_fixed64', full_name='protobuf_unittest.TestPackedTypes.packed_fixed64', index=7, number=97, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_sfixed32', full_name='protobuf_unittest.TestPackedTypes.packed_sfixed32', index=8, number=98, type=15, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_sfixed64', full_name='protobuf_unittest.TestPackedTypes.packed_sfixed64', index=9, number=99, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_float', full_name='protobuf_unittest.TestPackedTypes.packed_float', index=10, number=100, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_double', full_name='protobuf_unittest.TestPackedTypes.packed_double', index=11, number=101, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_bool', full_name='protobuf_unittest.TestPackedTypes.packed_bool', index=12, number=102, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_enum', full_name='protobuf_unittest.TestPackedTypes.packed_enum', index=13, number=103, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=10025, serialized_end=10451, ) _TESTUNPACKEDTYPES = _descriptor.Descriptor( name='TestUnpackedTypes', full_name='protobuf_unittest.TestUnpackedTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='unpacked_int32', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_int32', index=0, number=90, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_int64', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_int64', index=1, number=91, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_uint32', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_uint32', index=2, number=92, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_uint64', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_uint64', index=3, number=93, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_sint32', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_sint32', index=4, number=94, type=17, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_sint64', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_sint64', index=5, number=95, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_fixed32', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_fixed32', index=6, number=96, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_fixed64', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_fixed64', index=7, number=97, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_sfixed32', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_sfixed32', index=8, number=98, type=15, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_sfixed64', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_sfixed64', index=9, number=99, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_float', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_float', index=10, number=100, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_double', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_double', index=11, number=101, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_bool', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_bool', index=12, number=102, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unpacked_enum', full_name='protobuf_unittest.TestUnpackedTypes.unpacked_enum', index=13, number=103, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=10454, serialized_end=10910, ) _TESTPACKEDEXTENSIONS = _descriptor.Descriptor( name='TestPackedExtensions', full_name='protobuf_unittest.TestPackedExtensions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1, 536870912), ], oneofs=[ ], serialized_start=10912, serialized_end=10944, ) _TESTUNPACKEDEXTENSIONS = _descriptor.Descriptor( name='TestUnpackedExtensions', full_name='protobuf_unittest.TestUnpackedExtensions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1, 536870912), ], oneofs=[ ], serialized_start=10946, serialized_end=10980, ) _TESTDYNAMICEXTENSIONS_DYNAMICMESSAGETYPE = _descriptor.Descriptor( name='DynamicMessageType', full_name='protobuf_unittest.TestDynamicExtensions.DynamicMessageType', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='dynamic_field', full_name='protobuf_unittest.TestDynamicExtensions.DynamicMessageType.dynamic_field', index=0, number=2100, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=11403, serialized_end=11447, ) _TESTDYNAMICEXTENSIONS = _descriptor.Descriptor( name='TestDynamicExtensions', full_name='protobuf_unittest.TestDynamicExtensions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='scalar_extension', full_name='protobuf_unittest.TestDynamicExtensions.scalar_extension', index=0, number=2000, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='enum_extension', full_name='protobuf_unittest.TestDynamicExtensions.enum_extension', index=1, number=2001, type=14, cpp_type=8, label=1, has_default_value=False, default_value=4, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dynamic_enum_extension', full_name='protobuf_unittest.TestDynamicExtensions.dynamic_enum_extension', index=2, number=2002, type=14, cpp_type=8, label=1, has_default_value=False, default_value=2200, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='message_extension', full_name='protobuf_unittest.TestDynamicExtensions.message_extension', index=3, number=2003, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dynamic_message_extension', full_name='protobuf_unittest.TestDynamicExtensions.dynamic_message_extension', index=4, number=2004, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_extension', full_name='protobuf_unittest.TestDynamicExtensions.repeated_extension', index=5, number=2005, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_extension', full_name='protobuf_unittest.TestDynamicExtensions.packed_extension', index=6, number=2006, type=17, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTDYNAMICEXTENSIONS_DYNAMICMESSAGETYPE, ], enum_types=[ _TESTDYNAMICEXTENSIONS_DYNAMICENUMTYPE, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=10983, serialized_end=11520, ) _TESTREPEATEDSCALARDIFFERENTTAGSIZES = _descriptor.Descriptor( name='TestRepeatedScalarDifferentTagSizes', full_name='protobuf_unittest.TestRepeatedScalarDifferentTagSizes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='repeated_fixed32', full_name='protobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_fixed32', index=0, number=12, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int32', full_name='protobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_int32', index=1, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed64', full_name='protobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_fixed64', index=2, number=2046, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int64', full_name='protobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_int64', index=3, number=2047, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_float', full_name='protobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_float', index=4, number=262142, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint64', full_name='protobuf_unittest.TestRepeatedScalarDifferentTagSizes.repeated_uint64', index=5, number=262143, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=11523, serialized_end=11715, ) _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP1 = _descriptor.Descriptor( name='Group1', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='field1', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1.field1', index=0, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=12508, serialized_end=12565, ) _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP2 = _descriptor.Descriptor( name='Group2', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='field1', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2.field1', index=0, number=21, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=12567, serialized_end=12624, ) _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR = _descriptor.Descriptor( name='RepeatedFieldsGenerator', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='field1', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field1', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field2', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field2', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field3', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.field3', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='group1', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.group1', index=3, number=10, type=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='group2', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.group2', index=4, number=20, type=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='ext1', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.ext1', index=5, number=1000, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='ext2', full_name='protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.ext2', index=6, number=1001, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP1, _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP2, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=12070, serialized_end=12624, ) _TESTPARSINGMERGE_OPTIONALGROUP = _descriptor.Descriptor( name='OptionalGroup', full_name='protobuf_unittest.TestParsingMerge.OptionalGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_group_all_types', full_name='protobuf_unittest.TestParsingMerge.OptionalGroup.optional_group_all_types', index=0, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=12626, serialized_end=12708, ) _TESTPARSINGMERGE_REPEATEDGROUP = _descriptor.Descriptor( name='RepeatedGroup', full_name='protobuf_unittest.TestParsingMerge.RepeatedGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='repeated_group_all_types', full_name='protobuf_unittest.TestParsingMerge.RepeatedGroup.repeated_group_all_types', index=0, number=21, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=12710, serialized_end=12792, ) _TESTPARSINGMERGE = _descriptor.Descriptor( name='TestParsingMerge', full_name='protobuf_unittest.TestParsingMerge', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='required_all_types', full_name='protobuf_unittest.TestParsingMerge.required_all_types', index=0, number=1, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_all_types', full_name='protobuf_unittest.TestParsingMerge.optional_all_types', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_all_types', full_name='protobuf_unittest.TestParsingMerge.repeated_all_types', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optionalgroup', full_name='protobuf_unittest.TestParsingMerge.optionalgroup', index=3, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeatedgroup', full_name='protobuf_unittest.TestParsingMerge.repeatedgroup', index=4, number=20, type=10, 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, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='optional_ext', full_name='protobuf_unittest.TestParsingMerge.optional_ext', index=0, number=1000, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_ext', full_name='protobuf_unittest.TestParsingMerge.repeated_ext', index=1, number=1001, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR), ], nested_types=[_TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR, _TESTPARSINGMERGE_OPTIONALGROUP, _TESTPARSINGMERGE_REPEATEDGROUP, ], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=11718, serialized_end=12989, ) _TESTCOMMENTINJECTIONMESSAGE = _descriptor.Descriptor( name='TestCommentInjectionMessage', full_name='protobuf_unittest.TestCommentInjectionMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestCommentInjectionMessage.a', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("*/ <- Neither should this.").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=12991, serialized_end=13059, ) _FOOREQUEST = _descriptor.Descriptor( name='FooRequest', full_name='protobuf_unittest.FooRequest', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13061, serialized_end=13073, ) _FOORESPONSE = _descriptor.Descriptor( name='FooResponse', full_name='protobuf_unittest.FooResponse', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13075, serialized_end=13088, ) _FOOCLIENTMESSAGE = _descriptor.Descriptor( name='FooClientMessage', full_name='protobuf_unittest.FooClientMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13090, serialized_end=13108, ) _FOOSERVERMESSAGE = _descriptor.Descriptor( name='FooServerMessage', full_name='protobuf_unittest.FooServerMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13110, serialized_end=13128, ) _BARREQUEST = _descriptor.Descriptor( name='BarRequest', full_name='protobuf_unittest.BarRequest', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13130, serialized_end=13142, ) _BARRESPONSE = _descriptor.Descriptor( name='BarResponse', full_name='protobuf_unittest.BarResponse', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13144, serialized_end=13157, ) _TESTJSONNAME = _descriptor.Descriptor( name='TestJsonName', full_name='protobuf_unittest.TestJsonName', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='field_name1', full_name='protobuf_unittest.TestJsonName.field_name1', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldName2', full_name='protobuf_unittest.TestJsonName.fieldName2', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='FieldName3', full_name='protobuf_unittest.TestJsonName.FieldName3', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='_field_name4', full_name='protobuf_unittest.TestJsonName._field_name4', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='FIELD_NAME5', full_name='protobuf_unittest.TestJsonName.FIELD_NAME5', index=4, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_name6', full_name='protobuf_unittest.TestJsonName.field_name6', index=5, number=6, 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, options=None, json_name='@type', file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13160, serialized_end=13306, ) _TESTHUGEFIELDNUMBERS_OPTIONALGROUP = _descriptor.Descriptor( name='OptionalGroup', full_name='protobuf_unittest.TestHugeFieldNumbers.OptionalGroup', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='group_a', full_name='protobuf_unittest.TestHugeFieldNumbers.OptionalGroup.group_a', index=0, number=536870009, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13953, serialized_end=13989, ) _TESTHUGEFIELDNUMBERS_STRINGSTRINGMAPENTRY = _descriptor.Descriptor( name='StringStringMapEntry', full_name='protobuf_unittest.TestHugeFieldNumbers.StringStringMapEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestHugeFieldNumbers.StringStringMapEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestHugeFieldNumbers.StringStringMapEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=13991, serialized_end=14045, ) _TESTHUGEFIELDNUMBERS = _descriptor.Descriptor( name='TestHugeFieldNumbers', full_name='protobuf_unittest.TestHugeFieldNumbers', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_int32', full_name='protobuf_unittest.TestHugeFieldNumbers.optional_int32', index=0, number=536870000, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fixed_32', full_name='protobuf_unittest.TestHugeFieldNumbers.fixed_32', index=1, number=536870001, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int32', full_name='protobuf_unittest.TestHugeFieldNumbers.repeated_int32', index=2, number=536870002, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_int32', full_name='protobuf_unittest.TestHugeFieldNumbers.packed_int32', index=3, number=536870003, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_enum', full_name='protobuf_unittest.TestHugeFieldNumbers.optional_enum', index=4, number=536870004, type=14, cpp_type=8, label=1, has_default_value=False, default_value=4, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string', full_name='protobuf_unittest.TestHugeFieldNumbers.optional_string', index=5, number=536870005, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bytes', full_name='protobuf_unittest.TestHugeFieldNumbers.optional_bytes', index=6, number=536870006, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_message', full_name='protobuf_unittest.TestHugeFieldNumbers.optional_message', index=7, number=536870007, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optionalgroup', full_name='protobuf_unittest.TestHugeFieldNumbers.optionalgroup', index=8, number=536870008, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='string_string_map', full_name='protobuf_unittest.TestHugeFieldNumbers.string_string_map', index=9, number=536870010, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_uint32', full_name='protobuf_unittest.TestHugeFieldNumbers.oneof_uint32', index=10, number=536870011, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_test_all_types', full_name='protobuf_unittest.TestHugeFieldNumbers.oneof_test_all_types', index=11, number=536870012, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_string', full_name='protobuf_unittest.TestHugeFieldNumbers.oneof_string', index=12, number=536870013, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_bytes', full_name='protobuf_unittest.TestHugeFieldNumbers.oneof_bytes', index=13, number=536870014, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTHUGEFIELDNUMBERS_OPTIONALGROUP, _TESTHUGEFIELDNUMBERS_STRINGSTRINGMAPENTRY, ], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(536860000, 536870000), ], oneofs=[ _descriptor.OneofDescriptor( name='oneof_field', full_name='protobuf_unittest.TestHugeFieldNumbers.oneof_field', index=0, containing_type=None, fields=[]), ], serialized_start=13309, serialized_end=14074, ) _TESTALLTYPES_NESTEDMESSAGE.containing_type = _TESTALLTYPES _TESTALLTYPES_OPTIONALGROUP.containing_type = _TESTALLTYPES _TESTALLTYPES_REPEATEDGROUP.containing_type = _TESTALLTYPES _TESTALLTYPES.fields_by_name['optionalgroup'].message_type = _TESTALLTYPES_OPTIONALGROUP _TESTALLTYPES.fields_by_name['optional_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['optional_foreign_message'].message_type = _FOREIGNMESSAGE _TESTALLTYPES.fields_by_name['optional_import_message'].message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE _TESTALLTYPES.fields_by_name['optional_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _TESTALLTYPES.fields_by_name['optional_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPES.fields_by_name['optional_import_enum'].enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM _TESTALLTYPES.fields_by_name['optional_public_import_message'].message_type = google_dot_protobuf_dot_unittest__import__public__pb2._PUBLICIMPORTMESSAGE _TESTALLTYPES.fields_by_name['optional_lazy_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['repeatedgroup'].message_type = _TESTALLTYPES_REPEATEDGROUP _TESTALLTYPES.fields_by_name['repeated_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['repeated_foreign_message'].message_type = _FOREIGNMESSAGE _TESTALLTYPES.fields_by_name['repeated_import_message'].message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE _TESTALLTYPES.fields_by_name['repeated_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _TESTALLTYPES.fields_by_name['repeated_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPES.fields_by_name['repeated_import_enum'].enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM _TESTALLTYPES.fields_by_name['repeated_lazy_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['default_nested_enum'].enum_type = _TESTALLTYPES_NESTEDENUM _TESTALLTYPES.fields_by_name['default_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPES.fields_by_name['default_import_enum'].enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM _TESTALLTYPES.fields_by_name['oneof_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES_NESTEDENUM.containing_type = _TESTALLTYPES _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_uint32']) _TESTALLTYPES.fields_by_name['oneof_uint32'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_nested_message']) _TESTALLTYPES.fields_by_name['oneof_nested_message'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_string']) _TESTALLTYPES.fields_by_name['oneof_string'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _TESTALLTYPES.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPES.fields_by_name['oneof_bytes']) _TESTALLTYPES.fields_by_name['oneof_bytes'].containing_oneof = _TESTALLTYPES.oneofs_by_name['oneof_field'] _NESTEDTESTALLTYPES.fields_by_name['child'].message_type = _NESTEDTESTALLTYPES _NESTEDTESTALLTYPES.fields_by_name['payload'].message_type = _TESTALLTYPES _NESTEDTESTALLTYPES.fields_by_name['repeated_child'].message_type = _NESTEDTESTALLTYPES _TESTREQUIREDFOREIGN.fields_by_name['optional_message'].message_type = _TESTREQUIRED _TESTREQUIREDFOREIGN.fields_by_name['repeated_message'].message_type = _TESTREQUIRED _TESTREQUIREDMESSAGE.fields_by_name['optional_message'].message_type = _TESTREQUIRED _TESTREQUIREDMESSAGE.fields_by_name['repeated_message'].message_type = _TESTREQUIRED _TESTREQUIREDMESSAGE.fields_by_name['required_message'].message_type = _TESTREQUIRED _TESTFOREIGNNESTED.fields_by_name['foreign_nested'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTRECURSIVEMESSAGE.fields_by_name['a'].message_type = _TESTRECURSIVEMESSAGE _TESTMUTUALRECURSIONA_SUBMESSAGE.fields_by_name['b'].message_type = _TESTMUTUALRECURSIONB _TESTMUTUALRECURSIONA_SUBMESSAGE.containing_type = _TESTMUTUALRECURSIONA _TESTMUTUALRECURSIONA_SUBGROUP.fields_by_name['sub_message'].message_type = _TESTMUTUALRECURSIONA_SUBMESSAGE _TESTMUTUALRECURSIONA_SUBGROUP.fields_by_name['not_in_this_scc'].message_type = _TESTALLTYPES _TESTMUTUALRECURSIONA_SUBGROUP.containing_type = _TESTMUTUALRECURSIONA _TESTMUTUALRECURSIONA.fields_by_name['bb'].message_type = _TESTMUTUALRECURSIONB _TESTMUTUALRECURSIONA.fields_by_name['subgroup'].message_type = _TESTMUTUALRECURSIONA_SUBGROUP _TESTMUTUALRECURSIONB.fields_by_name['a'].message_type = _TESTMUTUALRECURSIONA _TESTISINITIALIZED_SUBMESSAGE_SUBGROUP.containing_type = _TESTISINITIALIZED_SUBMESSAGE _TESTISINITIALIZED_SUBMESSAGE.fields_by_name['subgroup'].message_type = _TESTISINITIALIZED_SUBMESSAGE_SUBGROUP _TESTISINITIALIZED_SUBMESSAGE.containing_type = _TESTISINITIALIZED _TESTISINITIALIZED.fields_by_name['sub_message'].message_type = _TESTISINITIALIZED_SUBMESSAGE _TESTDUPFIELDNUMBER_FOO.containing_type = _TESTDUPFIELDNUMBER _TESTDUPFIELDNUMBER_BAR.containing_type = _TESTDUPFIELDNUMBER _TESTDUPFIELDNUMBER.fields_by_name['foo'].message_type = _TESTDUPFIELDNUMBER_FOO _TESTDUPFIELDNUMBER.fields_by_name['bar'].message_type = _TESTDUPFIELDNUMBER_BAR _TESTEAGERMESSAGE.fields_by_name['sub_message'].message_type = _TESTALLTYPES _TESTLAZYMESSAGE.fields_by_name['sub_message'].message_type = _TESTALLTYPES _TESTNESTEDMESSAGEHASBITS_NESTEDMESSAGE.fields_by_name['nestedmessage_repeated_foreignmessage'].message_type = _FOREIGNMESSAGE _TESTNESTEDMESSAGEHASBITS_NESTEDMESSAGE.containing_type = _TESTNESTEDMESSAGEHASBITS _TESTNESTEDMESSAGEHASBITS.fields_by_name['optional_nested_message'].message_type = _TESTNESTEDMESSAGEHASBITS_NESTEDMESSAGE _TESTCAMELCASEFIELDNAMES.fields_by_name['EnumField'].enum_type = _FOREIGNENUM _TESTCAMELCASEFIELDNAMES.fields_by_name['MessageField'].message_type = _FOREIGNMESSAGE _TESTCAMELCASEFIELDNAMES.fields_by_name['RepeatedEnumField'].enum_type = _FOREIGNENUM _TESTCAMELCASEFIELDNAMES.fields_by_name['RepeatedMessageField'].message_type = _FOREIGNMESSAGE _TESTFIELDORDERINGS_NESTEDMESSAGE.containing_type = _TESTFIELDORDERINGS _TESTFIELDORDERINGS.fields_by_name['optional_nested_message'].message_type = _TESTFIELDORDERINGS_NESTEDMESSAGE _SPARSEENUMMESSAGE.fields_by_name['sparse_enum'].enum_type = _TESTSPARSEENUM _TESTONEOF_FOOGROUP.containing_type = _TESTONEOF _TESTONEOF.fields_by_name['foo_message'].message_type = _TESTALLTYPES _TESTONEOF.fields_by_name['foogroup'].message_type = _TESTONEOF_FOOGROUP _TESTONEOF.oneofs_by_name['foo'].fields.append( _TESTONEOF.fields_by_name['foo_int']) _TESTONEOF.fields_by_name['foo_int'].containing_oneof = _TESTONEOF.oneofs_by_name['foo'] _TESTONEOF.oneofs_by_name['foo'].fields.append( _TESTONEOF.fields_by_name['foo_string']) _TESTONEOF.fields_by_name['foo_string'].containing_oneof = _TESTONEOF.oneofs_by_name['foo'] _TESTONEOF.oneofs_by_name['foo'].fields.append( _TESTONEOF.fields_by_name['foo_message']) _TESTONEOF.fields_by_name['foo_message'].containing_oneof = _TESTONEOF.oneofs_by_name['foo'] _TESTONEOF.oneofs_by_name['foo'].fields.append( _TESTONEOF.fields_by_name['foogroup']) _TESTONEOF.fields_by_name['foogroup'].containing_oneof = _TESTONEOF.oneofs_by_name['foo'] _TESTONEOFBACKWARDSCOMPATIBLE_FOOGROUP.containing_type = _TESTONEOFBACKWARDSCOMPATIBLE _TESTONEOFBACKWARDSCOMPATIBLE.fields_by_name['foo_message'].message_type = _TESTALLTYPES _TESTONEOFBACKWARDSCOMPATIBLE.fields_by_name['foogroup'].message_type = _TESTONEOFBACKWARDSCOMPATIBLE_FOOGROUP _TESTONEOF2_FOOGROUP.containing_type = _TESTONEOF2 _TESTONEOF2_NESTEDMESSAGE.containing_type = _TESTONEOF2 _TESTONEOF2.fields_by_name['foo_enum'].enum_type = _TESTONEOF2_NESTEDENUM _TESTONEOF2.fields_by_name['foo_message'].message_type = _TESTONEOF2_NESTEDMESSAGE _TESTONEOF2.fields_by_name['foogroup'].message_type = _TESTONEOF2_FOOGROUP _TESTONEOF2.fields_by_name['foo_lazy_message'].message_type = _TESTONEOF2_NESTEDMESSAGE _TESTONEOF2.fields_by_name['bar_enum'].enum_type = _TESTONEOF2_NESTEDENUM _TESTONEOF2_NESTEDENUM.containing_type = _TESTONEOF2 _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foo_int']) _TESTONEOF2.fields_by_name['foo_int'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foo_string']) _TESTONEOF2.fields_by_name['foo_string'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foo_cord']) _TESTONEOF2.fields_by_name['foo_cord'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foo_string_piece']) _TESTONEOF2.fields_by_name['foo_string_piece'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foo_bytes']) _TESTONEOF2.fields_by_name['foo_bytes'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foo_enum']) _TESTONEOF2.fields_by_name['foo_enum'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foo_message']) _TESTONEOF2.fields_by_name['foo_message'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foogroup']) _TESTONEOF2.fields_by_name['foogroup'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['foo'].fields.append( _TESTONEOF2.fields_by_name['foo_lazy_message']) _TESTONEOF2.fields_by_name['foo_lazy_message'].containing_oneof = _TESTONEOF2.oneofs_by_name['foo'] _TESTONEOF2.oneofs_by_name['bar'].fields.append( _TESTONEOF2.fields_by_name['bar_int']) _TESTONEOF2.fields_by_name['bar_int'].containing_oneof = _TESTONEOF2.oneofs_by_name['bar'] _TESTONEOF2.oneofs_by_name['bar'].fields.append( _TESTONEOF2.fields_by_name['bar_string']) _TESTONEOF2.fields_by_name['bar_string'].containing_oneof = _TESTONEOF2.oneofs_by_name['bar'] _TESTONEOF2.oneofs_by_name['bar'].fields.append( _TESTONEOF2.fields_by_name['bar_cord']) _TESTONEOF2.fields_by_name['bar_cord'].containing_oneof = _TESTONEOF2.oneofs_by_name['bar'] _TESTONEOF2.oneofs_by_name['bar'].fields.append( _TESTONEOF2.fields_by_name['bar_string_piece']) _TESTONEOF2.fields_by_name['bar_string_piece'].containing_oneof = _TESTONEOF2.oneofs_by_name['bar'] _TESTONEOF2.oneofs_by_name['bar'].fields.append( _TESTONEOF2.fields_by_name['bar_bytes']) _TESTONEOF2.fields_by_name['bar_bytes'].containing_oneof = _TESTONEOF2.oneofs_by_name['bar'] _TESTONEOF2.oneofs_by_name['bar'].fields.append( _TESTONEOF2.fields_by_name['bar_enum']) _TESTONEOF2.fields_by_name['bar_enum'].containing_oneof = _TESTONEOF2.oneofs_by_name['bar'] _TESTREQUIREDONEOF_NESTEDMESSAGE.containing_type = _TESTREQUIREDONEOF _TESTREQUIREDONEOF.fields_by_name['foo_message'].message_type = _TESTREQUIREDONEOF_NESTEDMESSAGE _TESTREQUIREDONEOF.oneofs_by_name['foo'].fields.append( _TESTREQUIREDONEOF.fields_by_name['foo_int']) _TESTREQUIREDONEOF.fields_by_name['foo_int'].containing_oneof = _TESTREQUIREDONEOF.oneofs_by_name['foo'] _TESTREQUIREDONEOF.oneofs_by_name['foo'].fields.append( _TESTREQUIREDONEOF.fields_by_name['foo_string']) _TESTREQUIREDONEOF.fields_by_name['foo_string'].containing_oneof = _TESTREQUIREDONEOF.oneofs_by_name['foo'] _TESTREQUIREDONEOF.oneofs_by_name['foo'].fields.append( _TESTREQUIREDONEOF.fields_by_name['foo_message']) _TESTREQUIREDONEOF.fields_by_name['foo_message'].containing_oneof = _TESTREQUIREDONEOF.oneofs_by_name['foo'] _TESTPACKEDTYPES.fields_by_name['packed_enum'].enum_type = _FOREIGNENUM _TESTUNPACKEDTYPES.fields_by_name['unpacked_enum'].enum_type = _FOREIGNENUM _TESTDYNAMICEXTENSIONS_DYNAMICMESSAGETYPE.containing_type = _TESTDYNAMICEXTENSIONS _TESTDYNAMICEXTENSIONS.fields_by_name['enum_extension'].enum_type = _FOREIGNENUM _TESTDYNAMICEXTENSIONS.fields_by_name['dynamic_enum_extension'].enum_type = _TESTDYNAMICEXTENSIONS_DYNAMICENUMTYPE _TESTDYNAMICEXTENSIONS.fields_by_name['message_extension'].message_type = _FOREIGNMESSAGE _TESTDYNAMICEXTENSIONS.fields_by_name['dynamic_message_extension'].message_type = _TESTDYNAMICEXTENSIONS_DYNAMICMESSAGETYPE _TESTDYNAMICEXTENSIONS_DYNAMICENUMTYPE.containing_type = _TESTDYNAMICEXTENSIONS _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP1.fields_by_name['field1'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP1.containing_type = _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP2.fields_by_name['field1'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP2.containing_type = _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR.fields_by_name['field1'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR.fields_by_name['field2'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR.fields_by_name['field3'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR.fields_by_name['group1'].message_type = _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP1 _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR.fields_by_name['group2'].message_type = _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP2 _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR.fields_by_name['ext1'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR.fields_by_name['ext2'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR.containing_type = _TESTPARSINGMERGE _TESTPARSINGMERGE_OPTIONALGROUP.fields_by_name['optional_group_all_types'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_OPTIONALGROUP.containing_type = _TESTPARSINGMERGE _TESTPARSINGMERGE_REPEATEDGROUP.fields_by_name['repeated_group_all_types'].message_type = _TESTALLTYPES _TESTPARSINGMERGE_REPEATEDGROUP.containing_type = _TESTPARSINGMERGE _TESTPARSINGMERGE.fields_by_name['required_all_types'].message_type = _TESTALLTYPES _TESTPARSINGMERGE.fields_by_name['optional_all_types'].message_type = _TESTALLTYPES _TESTPARSINGMERGE.fields_by_name['repeated_all_types'].message_type = _TESTALLTYPES _TESTPARSINGMERGE.fields_by_name['optionalgroup'].message_type = _TESTPARSINGMERGE_OPTIONALGROUP _TESTPARSINGMERGE.fields_by_name['repeatedgroup'].message_type = _TESTPARSINGMERGE_REPEATEDGROUP _TESTHUGEFIELDNUMBERS_OPTIONALGROUP.containing_type = _TESTHUGEFIELDNUMBERS _TESTHUGEFIELDNUMBERS_STRINGSTRINGMAPENTRY.containing_type = _TESTHUGEFIELDNUMBERS _TESTHUGEFIELDNUMBERS.fields_by_name['optional_enum'].enum_type = _FOREIGNENUM _TESTHUGEFIELDNUMBERS.fields_by_name['optional_message'].message_type = _FOREIGNMESSAGE _TESTHUGEFIELDNUMBERS.fields_by_name['optionalgroup'].message_type = _TESTHUGEFIELDNUMBERS_OPTIONALGROUP _TESTHUGEFIELDNUMBERS.fields_by_name['string_string_map'].message_type = _TESTHUGEFIELDNUMBERS_STRINGSTRINGMAPENTRY _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_test_all_types'].message_type = _TESTALLTYPES _TESTHUGEFIELDNUMBERS.oneofs_by_name['oneof_field'].fields.append( _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_uint32']) _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_uint32'].containing_oneof = _TESTHUGEFIELDNUMBERS.oneofs_by_name['oneof_field'] _TESTHUGEFIELDNUMBERS.oneofs_by_name['oneof_field'].fields.append( _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_test_all_types']) _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_test_all_types'].containing_oneof = _TESTHUGEFIELDNUMBERS.oneofs_by_name['oneof_field'] _TESTHUGEFIELDNUMBERS.oneofs_by_name['oneof_field'].fields.append( _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_string']) _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_string'].containing_oneof = _TESTHUGEFIELDNUMBERS.oneofs_by_name['oneof_field'] _TESTHUGEFIELDNUMBERS.oneofs_by_name['oneof_field'].fields.append( _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_bytes']) _TESTHUGEFIELDNUMBERS.fields_by_name['oneof_bytes'].containing_oneof = _TESTHUGEFIELDNUMBERS.oneofs_by_name['oneof_field'] DESCRIPTOR.message_types_by_name['TestAllTypes'] = _TESTALLTYPES DESCRIPTOR.message_types_by_name['NestedTestAllTypes'] = _NESTEDTESTALLTYPES DESCRIPTOR.message_types_by_name['TestDeprecatedFields'] = _TESTDEPRECATEDFIELDS DESCRIPTOR.message_types_by_name['TestDeprecatedMessage'] = _TESTDEPRECATEDMESSAGE DESCRIPTOR.message_types_by_name['ForeignMessage'] = _FOREIGNMESSAGE DESCRIPTOR.message_types_by_name['TestReservedFields'] = _TESTRESERVEDFIELDS DESCRIPTOR.message_types_by_name['TestAllExtensions'] = _TESTALLEXTENSIONS DESCRIPTOR.message_types_by_name['OptionalGroup_extension'] = _OPTIONALGROUP_EXTENSION DESCRIPTOR.message_types_by_name['RepeatedGroup_extension'] = _REPEATEDGROUP_EXTENSION DESCRIPTOR.message_types_by_name['TestNestedExtension'] = _TESTNESTEDEXTENSION DESCRIPTOR.message_types_by_name['TestRequired'] = _TESTREQUIRED DESCRIPTOR.message_types_by_name['TestRequiredForeign'] = _TESTREQUIREDFOREIGN DESCRIPTOR.message_types_by_name['TestRequiredMessage'] = _TESTREQUIREDMESSAGE DESCRIPTOR.message_types_by_name['TestForeignNested'] = _TESTFOREIGNNESTED DESCRIPTOR.message_types_by_name['TestEmptyMessage'] = _TESTEMPTYMESSAGE DESCRIPTOR.message_types_by_name['TestEmptyMessageWithExtensions'] = _TESTEMPTYMESSAGEWITHEXTENSIONS DESCRIPTOR.message_types_by_name['TestMultipleExtensionRanges'] = _TESTMULTIPLEEXTENSIONRANGES DESCRIPTOR.message_types_by_name['TestReallyLargeTagNumber'] = _TESTREALLYLARGETAGNUMBER DESCRIPTOR.message_types_by_name['TestRecursiveMessage'] = _TESTRECURSIVEMESSAGE DESCRIPTOR.message_types_by_name['TestMutualRecursionA'] = _TESTMUTUALRECURSIONA DESCRIPTOR.message_types_by_name['TestMutualRecursionB'] = _TESTMUTUALRECURSIONB DESCRIPTOR.message_types_by_name['TestIsInitialized'] = _TESTISINITIALIZED DESCRIPTOR.message_types_by_name['TestDupFieldNumber'] = _TESTDUPFIELDNUMBER DESCRIPTOR.message_types_by_name['TestEagerMessage'] = _TESTEAGERMESSAGE DESCRIPTOR.message_types_by_name['TestLazyMessage'] = _TESTLAZYMESSAGE DESCRIPTOR.message_types_by_name['TestNestedMessageHasBits'] = _TESTNESTEDMESSAGEHASBITS DESCRIPTOR.message_types_by_name['TestCamelCaseFieldNames'] = _TESTCAMELCASEFIELDNAMES DESCRIPTOR.message_types_by_name['TestFieldOrderings'] = _TESTFIELDORDERINGS DESCRIPTOR.message_types_by_name['TestExtremeDefaultValues'] = _TESTEXTREMEDEFAULTVALUES DESCRIPTOR.message_types_by_name['SparseEnumMessage'] = _SPARSEENUMMESSAGE DESCRIPTOR.message_types_by_name['OneString'] = _ONESTRING DESCRIPTOR.message_types_by_name['MoreString'] = _MORESTRING DESCRIPTOR.message_types_by_name['OneBytes'] = _ONEBYTES DESCRIPTOR.message_types_by_name['MoreBytes'] = _MOREBYTES DESCRIPTOR.message_types_by_name['Int32Message'] = _INT32MESSAGE DESCRIPTOR.message_types_by_name['Uint32Message'] = _UINT32MESSAGE DESCRIPTOR.message_types_by_name['Int64Message'] = _INT64MESSAGE DESCRIPTOR.message_types_by_name['Uint64Message'] = _UINT64MESSAGE DESCRIPTOR.message_types_by_name['BoolMessage'] = _BOOLMESSAGE DESCRIPTOR.message_types_by_name['TestOneof'] = _TESTONEOF DESCRIPTOR.message_types_by_name['TestOneofBackwardsCompatible'] = _TESTONEOFBACKWARDSCOMPATIBLE DESCRIPTOR.message_types_by_name['TestOneof2'] = _TESTONEOF2 DESCRIPTOR.message_types_by_name['TestRequiredOneof'] = _TESTREQUIREDONEOF DESCRIPTOR.message_types_by_name['TestPackedTypes'] = _TESTPACKEDTYPES DESCRIPTOR.message_types_by_name['TestUnpackedTypes'] = _TESTUNPACKEDTYPES DESCRIPTOR.message_types_by_name['TestPackedExtensions'] = _TESTPACKEDEXTENSIONS DESCRIPTOR.message_types_by_name['TestUnpackedExtensions'] = _TESTUNPACKEDEXTENSIONS DESCRIPTOR.message_types_by_name['TestDynamicExtensions'] = _TESTDYNAMICEXTENSIONS DESCRIPTOR.message_types_by_name['TestRepeatedScalarDifferentTagSizes'] = _TESTREPEATEDSCALARDIFFERENTTAGSIZES DESCRIPTOR.message_types_by_name['TestParsingMerge'] = _TESTPARSINGMERGE DESCRIPTOR.message_types_by_name['TestCommentInjectionMessage'] = _TESTCOMMENTINJECTIONMESSAGE DESCRIPTOR.message_types_by_name['FooRequest'] = _FOOREQUEST DESCRIPTOR.message_types_by_name['FooResponse'] = _FOORESPONSE DESCRIPTOR.message_types_by_name['FooClientMessage'] = _FOOCLIENTMESSAGE DESCRIPTOR.message_types_by_name['FooServerMessage'] = _FOOSERVERMESSAGE DESCRIPTOR.message_types_by_name['BarRequest'] = _BARREQUEST DESCRIPTOR.message_types_by_name['BarResponse'] = _BARRESPONSE DESCRIPTOR.message_types_by_name['TestJsonName'] = _TESTJSONNAME DESCRIPTOR.message_types_by_name['TestHugeFieldNumbers'] = _TESTHUGEFIELDNUMBERS DESCRIPTOR.enum_types_by_name['ForeignEnum'] = _FOREIGNENUM DESCRIPTOR.enum_types_by_name['TestEnumWithDupValue'] = _TESTENUMWITHDUPVALUE DESCRIPTOR.enum_types_by_name['TestSparseEnum'] = _TESTSPARSEENUM DESCRIPTOR.extensions_by_name['optional_int32_extension'] = optional_int32_extension DESCRIPTOR.extensions_by_name['optional_int64_extension'] = optional_int64_extension DESCRIPTOR.extensions_by_name['optional_uint32_extension'] = optional_uint32_extension DESCRIPTOR.extensions_by_name['optional_uint64_extension'] = optional_uint64_extension DESCRIPTOR.extensions_by_name['optional_sint32_extension'] = optional_sint32_extension DESCRIPTOR.extensions_by_name['optional_sint64_extension'] = optional_sint64_extension DESCRIPTOR.extensions_by_name['optional_fixed32_extension'] = optional_fixed32_extension DESCRIPTOR.extensions_by_name['optional_fixed64_extension'] = optional_fixed64_extension DESCRIPTOR.extensions_by_name['optional_sfixed32_extension'] = optional_sfixed32_extension DESCRIPTOR.extensions_by_name['optional_sfixed64_extension'] = optional_sfixed64_extension DESCRIPTOR.extensions_by_name['optional_float_extension'] = optional_float_extension DESCRIPTOR.extensions_by_name['optional_double_extension'] = optional_double_extension DESCRIPTOR.extensions_by_name['optional_bool_extension'] = optional_bool_extension DESCRIPTOR.extensions_by_name['optional_string_extension'] = optional_string_extension DESCRIPTOR.extensions_by_name['optional_bytes_extension'] = optional_bytes_extension DESCRIPTOR.extensions_by_name['optionalgroup_extension'] = optionalgroup_extension DESCRIPTOR.extensions_by_name['optional_nested_message_extension'] = optional_nested_message_extension DESCRIPTOR.extensions_by_name['optional_foreign_message_extension'] = optional_foreign_message_extension DESCRIPTOR.extensions_by_name['optional_import_message_extension'] = optional_import_message_extension DESCRIPTOR.extensions_by_name['optional_nested_enum_extension'] = optional_nested_enum_extension DESCRIPTOR.extensions_by_name['optional_foreign_enum_extension'] = optional_foreign_enum_extension DESCRIPTOR.extensions_by_name['optional_import_enum_extension'] = optional_import_enum_extension DESCRIPTOR.extensions_by_name['optional_string_piece_extension'] = optional_string_piece_extension DESCRIPTOR.extensions_by_name['optional_cord_extension'] = optional_cord_extension DESCRIPTOR.extensions_by_name['optional_public_import_message_extension'] = optional_public_import_message_extension DESCRIPTOR.extensions_by_name['optional_lazy_message_extension'] = optional_lazy_message_extension DESCRIPTOR.extensions_by_name['repeated_int32_extension'] = repeated_int32_extension DESCRIPTOR.extensions_by_name['repeated_int64_extension'] = repeated_int64_extension DESCRIPTOR.extensions_by_name['repeated_uint32_extension'] = repeated_uint32_extension DESCRIPTOR.extensions_by_name['repeated_uint64_extension'] = repeated_uint64_extension DESCRIPTOR.extensions_by_name['repeated_sint32_extension'] = repeated_sint32_extension DESCRIPTOR.extensions_by_name['repeated_sint64_extension'] = repeated_sint64_extension DESCRIPTOR.extensions_by_name['repeated_fixed32_extension'] = repeated_fixed32_extension DESCRIPTOR.extensions_by_name['repeated_fixed64_extension'] = repeated_fixed64_extension DESCRIPTOR.extensions_by_name['repeated_sfixed32_extension'] = repeated_sfixed32_extension DESCRIPTOR.extensions_by_name['repeated_sfixed64_extension'] = repeated_sfixed64_extension DESCRIPTOR.extensions_by_name['repeated_float_extension'] = repeated_float_extension DESCRIPTOR.extensions_by_name['repeated_double_extension'] = repeated_double_extension DESCRIPTOR.extensions_by_name['repeated_bool_extension'] = repeated_bool_extension DESCRIPTOR.extensions_by_name['repeated_string_extension'] = repeated_string_extension DESCRIPTOR.extensions_by_name['repeated_bytes_extension'] = repeated_bytes_extension DESCRIPTOR.extensions_by_name['repeatedgroup_extension'] = repeatedgroup_extension DESCRIPTOR.extensions_by_name['repeated_nested_message_extension'] = repeated_nested_message_extension DESCRIPTOR.extensions_by_name['repeated_foreign_message_extension'] = repeated_foreign_message_extension DESCRIPTOR.extensions_by_name['repeated_import_message_extension'] = repeated_import_message_extension DESCRIPTOR.extensions_by_name['repeated_nested_enum_extension'] = repeated_nested_enum_extension DESCRIPTOR.extensions_by_name['repeated_foreign_enum_extension'] = repeated_foreign_enum_extension DESCRIPTOR.extensions_by_name['repeated_import_enum_extension'] = repeated_import_enum_extension DESCRIPTOR.extensions_by_name['repeated_string_piece_extension'] = repeated_string_piece_extension DESCRIPTOR.extensions_by_name['repeated_cord_extension'] = repeated_cord_extension DESCRIPTOR.extensions_by_name['repeated_lazy_message_extension'] = repeated_lazy_message_extension DESCRIPTOR.extensions_by_name['default_int32_extension'] = default_int32_extension DESCRIPTOR.extensions_by_name['default_int64_extension'] = default_int64_extension DESCRIPTOR.extensions_by_name['default_uint32_extension'] = default_uint32_extension DESCRIPTOR.extensions_by_name['default_uint64_extension'] = default_uint64_extension DESCRIPTOR.extensions_by_name['default_sint32_extension'] = default_sint32_extension DESCRIPTOR.extensions_by_name['default_sint64_extension'] = default_sint64_extension DESCRIPTOR.extensions_by_name['default_fixed32_extension'] = default_fixed32_extension DESCRIPTOR.extensions_by_name['default_fixed64_extension'] = default_fixed64_extension DESCRIPTOR.extensions_by_name['default_sfixed32_extension'] = default_sfixed32_extension DESCRIPTOR.extensions_by_name['default_sfixed64_extension'] = default_sfixed64_extension DESCRIPTOR.extensions_by_name['default_float_extension'] = default_float_extension DESCRIPTOR.extensions_by_name['default_double_extension'] = default_double_extension DESCRIPTOR.extensions_by_name['default_bool_extension'] = default_bool_extension DESCRIPTOR.extensions_by_name['default_string_extension'] = default_string_extension DESCRIPTOR.extensions_by_name['default_bytes_extension'] = default_bytes_extension DESCRIPTOR.extensions_by_name['default_nested_enum_extension'] = default_nested_enum_extension DESCRIPTOR.extensions_by_name['default_foreign_enum_extension'] = default_foreign_enum_extension DESCRIPTOR.extensions_by_name['default_import_enum_extension'] = default_import_enum_extension DESCRIPTOR.extensions_by_name['default_string_piece_extension'] = default_string_piece_extension DESCRIPTOR.extensions_by_name['default_cord_extension'] = default_cord_extension DESCRIPTOR.extensions_by_name['oneof_uint32_extension'] = oneof_uint32_extension DESCRIPTOR.extensions_by_name['oneof_nested_message_extension'] = oneof_nested_message_extension DESCRIPTOR.extensions_by_name['oneof_string_extension'] = oneof_string_extension DESCRIPTOR.extensions_by_name['oneof_bytes_extension'] = oneof_bytes_extension DESCRIPTOR.extensions_by_name['my_extension_string'] = my_extension_string DESCRIPTOR.extensions_by_name['my_extension_int'] = my_extension_int DESCRIPTOR.extensions_by_name['packed_int32_extension'] = packed_int32_extension DESCRIPTOR.extensions_by_name['packed_int64_extension'] = packed_int64_extension DESCRIPTOR.extensions_by_name['packed_uint32_extension'] = packed_uint32_extension DESCRIPTOR.extensions_by_name['packed_uint64_extension'] = packed_uint64_extension DESCRIPTOR.extensions_by_name['packed_sint32_extension'] = packed_sint32_extension DESCRIPTOR.extensions_by_name['packed_sint64_extension'] = packed_sint64_extension DESCRIPTOR.extensions_by_name['packed_fixed32_extension'] = packed_fixed32_extension DESCRIPTOR.extensions_by_name['packed_fixed64_extension'] = packed_fixed64_extension DESCRIPTOR.extensions_by_name['packed_sfixed32_extension'] = packed_sfixed32_extension DESCRIPTOR.extensions_by_name['packed_sfixed64_extension'] = packed_sfixed64_extension DESCRIPTOR.extensions_by_name['packed_float_extension'] = packed_float_extension DESCRIPTOR.extensions_by_name['packed_double_extension'] = packed_double_extension DESCRIPTOR.extensions_by_name['packed_bool_extension'] = packed_bool_extension DESCRIPTOR.extensions_by_name['packed_enum_extension'] = packed_enum_extension DESCRIPTOR.extensions_by_name['unpacked_int32_extension'] = unpacked_int32_extension DESCRIPTOR.extensions_by_name['unpacked_int64_extension'] = unpacked_int64_extension DESCRIPTOR.extensions_by_name['unpacked_uint32_extension'] = unpacked_uint32_extension DESCRIPTOR.extensions_by_name['unpacked_uint64_extension'] = unpacked_uint64_extension DESCRIPTOR.extensions_by_name['unpacked_sint32_extension'] = unpacked_sint32_extension DESCRIPTOR.extensions_by_name['unpacked_sint64_extension'] = unpacked_sint64_extension DESCRIPTOR.extensions_by_name['unpacked_fixed32_extension'] = unpacked_fixed32_extension DESCRIPTOR.extensions_by_name['unpacked_fixed64_extension'] = unpacked_fixed64_extension DESCRIPTOR.extensions_by_name['unpacked_sfixed32_extension'] = unpacked_sfixed32_extension DESCRIPTOR.extensions_by_name['unpacked_sfixed64_extension'] = unpacked_sfixed64_extension DESCRIPTOR.extensions_by_name['unpacked_float_extension'] = unpacked_float_extension DESCRIPTOR.extensions_by_name['unpacked_double_extension'] = unpacked_double_extension DESCRIPTOR.extensions_by_name['unpacked_bool_extension'] = unpacked_bool_extension DESCRIPTOR.extensions_by_name['unpacked_enum_extension'] = unpacked_enum_extension DESCRIPTOR.extensions_by_name['test_all_types'] = test_all_types _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestAllTypes = _reflection.GeneratedProtocolMessageType('TestAllTypes', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPES_NESTEDMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllTypes.NestedMessage) )) , OptionalGroup = _reflection.GeneratedProtocolMessageType('OptionalGroup', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPES_OPTIONALGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllTypes.OptionalGroup) )) , RepeatedGroup = _reflection.GeneratedProtocolMessageType('RepeatedGroup', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPES_REPEATEDGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllTypes.RepeatedGroup) )) , DESCRIPTOR = _TESTALLTYPES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllTypes) )) _sym_db.RegisterMessage(TestAllTypes) _sym_db.RegisterMessage(TestAllTypes.NestedMessage) _sym_db.RegisterMessage(TestAllTypes.OptionalGroup) _sym_db.RegisterMessage(TestAllTypes.RepeatedGroup) NestedTestAllTypes = _reflection.GeneratedProtocolMessageType('NestedTestAllTypes', (_message.Message,), dict( DESCRIPTOR = _NESTEDTESTALLTYPES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.NestedTestAllTypes) )) _sym_db.RegisterMessage(NestedTestAllTypes) TestDeprecatedFields = _reflection.GeneratedProtocolMessageType('TestDeprecatedFields', (_message.Message,), dict( DESCRIPTOR = _TESTDEPRECATEDFIELDS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestDeprecatedFields) )) _sym_db.RegisterMessage(TestDeprecatedFields) TestDeprecatedMessage = _reflection.GeneratedProtocolMessageType('TestDeprecatedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTDEPRECATEDMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestDeprecatedMessage) )) _sym_db.RegisterMessage(TestDeprecatedMessage) ForeignMessage = _reflection.GeneratedProtocolMessageType('ForeignMessage', (_message.Message,), dict( DESCRIPTOR = _FOREIGNMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.ForeignMessage) )) _sym_db.RegisterMessage(ForeignMessage) TestReservedFields = _reflection.GeneratedProtocolMessageType('TestReservedFields', (_message.Message,), dict( DESCRIPTOR = _TESTRESERVEDFIELDS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestReservedFields) )) _sym_db.RegisterMessage(TestReservedFields) TestAllExtensions = _reflection.GeneratedProtocolMessageType('TestAllExtensions', (_message.Message,), dict( DESCRIPTOR = _TESTALLEXTENSIONS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestAllExtensions) )) _sym_db.RegisterMessage(TestAllExtensions) OptionalGroup_extension = _reflection.GeneratedProtocolMessageType('OptionalGroup_extension', (_message.Message,), dict( DESCRIPTOR = _OPTIONALGROUP_EXTENSION, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.OptionalGroup_extension) )) _sym_db.RegisterMessage(OptionalGroup_extension) RepeatedGroup_extension = _reflection.GeneratedProtocolMessageType('RepeatedGroup_extension', (_message.Message,), dict( DESCRIPTOR = _REPEATEDGROUP_EXTENSION, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.RepeatedGroup_extension) )) _sym_db.RegisterMessage(RepeatedGroup_extension) TestNestedExtension = _reflection.GeneratedProtocolMessageType('TestNestedExtension', (_message.Message,), dict( DESCRIPTOR = _TESTNESTEDEXTENSION, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestNestedExtension) )) _sym_db.RegisterMessage(TestNestedExtension) TestRequired = _reflection.GeneratedProtocolMessageType('TestRequired', (_message.Message,), dict( DESCRIPTOR = _TESTREQUIRED, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRequired) )) _sym_db.RegisterMessage(TestRequired) TestRequiredForeign = _reflection.GeneratedProtocolMessageType('TestRequiredForeign', (_message.Message,), dict( DESCRIPTOR = _TESTREQUIREDFOREIGN, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRequiredForeign) )) _sym_db.RegisterMessage(TestRequiredForeign) TestRequiredMessage = _reflection.GeneratedProtocolMessageType('TestRequiredMessage', (_message.Message,), dict( DESCRIPTOR = _TESTREQUIREDMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRequiredMessage) )) _sym_db.RegisterMessage(TestRequiredMessage) TestForeignNested = _reflection.GeneratedProtocolMessageType('TestForeignNested', (_message.Message,), dict( DESCRIPTOR = _TESTFOREIGNNESTED, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestForeignNested) )) _sym_db.RegisterMessage(TestForeignNested) TestEmptyMessage = _reflection.GeneratedProtocolMessageType('TestEmptyMessage', (_message.Message,), dict( DESCRIPTOR = _TESTEMPTYMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEmptyMessage) )) _sym_db.RegisterMessage(TestEmptyMessage) TestEmptyMessageWithExtensions = _reflection.GeneratedProtocolMessageType('TestEmptyMessageWithExtensions', (_message.Message,), dict( DESCRIPTOR = _TESTEMPTYMESSAGEWITHEXTENSIONS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEmptyMessageWithExtensions) )) _sym_db.RegisterMessage(TestEmptyMessageWithExtensions) TestMultipleExtensionRanges = _reflection.GeneratedProtocolMessageType('TestMultipleExtensionRanges', (_message.Message,), dict( DESCRIPTOR = _TESTMULTIPLEEXTENSIONRANGES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMultipleExtensionRanges) )) _sym_db.RegisterMessage(TestMultipleExtensionRanges) TestReallyLargeTagNumber = _reflection.GeneratedProtocolMessageType('TestReallyLargeTagNumber', (_message.Message,), dict( DESCRIPTOR = _TESTREALLYLARGETAGNUMBER, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestReallyLargeTagNumber) )) _sym_db.RegisterMessage(TestReallyLargeTagNumber) TestRecursiveMessage = _reflection.GeneratedProtocolMessageType('TestRecursiveMessage', (_message.Message,), dict( DESCRIPTOR = _TESTRECURSIVEMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRecursiveMessage) )) _sym_db.RegisterMessage(TestRecursiveMessage) TestMutualRecursionA = _reflection.GeneratedProtocolMessageType('TestMutualRecursionA', (_message.Message,), dict( SubMessage = _reflection.GeneratedProtocolMessageType('SubMessage', (_message.Message,), dict( DESCRIPTOR = _TESTMUTUALRECURSIONA_SUBMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMutualRecursionA.SubMessage) )) , SubGroup = _reflection.GeneratedProtocolMessageType('SubGroup', (_message.Message,), dict( DESCRIPTOR = _TESTMUTUALRECURSIONA_SUBGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMutualRecursionA.SubGroup) )) , DESCRIPTOR = _TESTMUTUALRECURSIONA, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMutualRecursionA) )) _sym_db.RegisterMessage(TestMutualRecursionA) _sym_db.RegisterMessage(TestMutualRecursionA.SubMessage) _sym_db.RegisterMessage(TestMutualRecursionA.SubGroup) TestMutualRecursionB = _reflection.GeneratedProtocolMessageType('TestMutualRecursionB', (_message.Message,), dict( DESCRIPTOR = _TESTMUTUALRECURSIONB, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMutualRecursionB) )) _sym_db.RegisterMessage(TestMutualRecursionB) TestIsInitialized = _reflection.GeneratedProtocolMessageType('TestIsInitialized', (_message.Message,), dict( SubMessage = _reflection.GeneratedProtocolMessageType('SubMessage', (_message.Message,), dict( SubGroup = _reflection.GeneratedProtocolMessageType('SubGroup', (_message.Message,), dict( DESCRIPTOR = _TESTISINITIALIZED_SUBMESSAGE_SUBGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestIsInitialized.SubMessage.SubGroup) )) , DESCRIPTOR = _TESTISINITIALIZED_SUBMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestIsInitialized.SubMessage) )) , DESCRIPTOR = _TESTISINITIALIZED, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestIsInitialized) )) _sym_db.RegisterMessage(TestIsInitialized) _sym_db.RegisterMessage(TestIsInitialized.SubMessage) _sym_db.RegisterMessage(TestIsInitialized.SubMessage.SubGroup) TestDupFieldNumber = _reflection.GeneratedProtocolMessageType('TestDupFieldNumber', (_message.Message,), dict( Foo = _reflection.GeneratedProtocolMessageType('Foo', (_message.Message,), dict( DESCRIPTOR = _TESTDUPFIELDNUMBER_FOO, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestDupFieldNumber.Foo) )) , Bar = _reflection.GeneratedProtocolMessageType('Bar', (_message.Message,), dict( DESCRIPTOR = _TESTDUPFIELDNUMBER_BAR, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestDupFieldNumber.Bar) )) , DESCRIPTOR = _TESTDUPFIELDNUMBER, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestDupFieldNumber) )) _sym_db.RegisterMessage(TestDupFieldNumber) _sym_db.RegisterMessage(TestDupFieldNumber.Foo) _sym_db.RegisterMessage(TestDupFieldNumber.Bar) TestEagerMessage = _reflection.GeneratedProtocolMessageType('TestEagerMessage', (_message.Message,), dict( DESCRIPTOR = _TESTEAGERMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEagerMessage) )) _sym_db.RegisterMessage(TestEagerMessage) TestLazyMessage = _reflection.GeneratedProtocolMessageType('TestLazyMessage', (_message.Message,), dict( DESCRIPTOR = _TESTLAZYMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestLazyMessage) )) _sym_db.RegisterMessage(TestLazyMessage) TestNestedMessageHasBits = _reflection.GeneratedProtocolMessageType('TestNestedMessageHasBits', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTNESTEDMESSAGEHASBITS_NESTEDMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestNestedMessageHasBits.NestedMessage) )) , DESCRIPTOR = _TESTNESTEDMESSAGEHASBITS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestNestedMessageHasBits) )) _sym_db.RegisterMessage(TestNestedMessageHasBits) _sym_db.RegisterMessage(TestNestedMessageHasBits.NestedMessage) TestCamelCaseFieldNames = _reflection.GeneratedProtocolMessageType('TestCamelCaseFieldNames', (_message.Message,), dict( DESCRIPTOR = _TESTCAMELCASEFIELDNAMES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestCamelCaseFieldNames) )) _sym_db.RegisterMessage(TestCamelCaseFieldNames) TestFieldOrderings = _reflection.GeneratedProtocolMessageType('TestFieldOrderings', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTFIELDORDERINGS_NESTEDMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestFieldOrderings.NestedMessage) )) , DESCRIPTOR = _TESTFIELDORDERINGS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestFieldOrderings) )) _sym_db.RegisterMessage(TestFieldOrderings) _sym_db.RegisterMessage(TestFieldOrderings.NestedMessage) TestExtremeDefaultValues = _reflection.GeneratedProtocolMessageType('TestExtremeDefaultValues', (_message.Message,), dict( DESCRIPTOR = _TESTEXTREMEDEFAULTVALUES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestExtremeDefaultValues) )) _sym_db.RegisterMessage(TestExtremeDefaultValues) SparseEnumMessage = _reflection.GeneratedProtocolMessageType('SparseEnumMessage', (_message.Message,), dict( DESCRIPTOR = _SPARSEENUMMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.SparseEnumMessage) )) _sym_db.RegisterMessage(SparseEnumMessage) OneString = _reflection.GeneratedProtocolMessageType('OneString', (_message.Message,), dict( DESCRIPTOR = _ONESTRING, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.OneString) )) _sym_db.RegisterMessage(OneString) MoreString = _reflection.GeneratedProtocolMessageType('MoreString', (_message.Message,), dict( DESCRIPTOR = _MORESTRING, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.MoreString) )) _sym_db.RegisterMessage(MoreString) OneBytes = _reflection.GeneratedProtocolMessageType('OneBytes', (_message.Message,), dict( DESCRIPTOR = _ONEBYTES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.OneBytes) )) _sym_db.RegisterMessage(OneBytes) MoreBytes = _reflection.GeneratedProtocolMessageType('MoreBytes', (_message.Message,), dict( DESCRIPTOR = _MOREBYTES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.MoreBytes) )) _sym_db.RegisterMessage(MoreBytes) Int32Message = _reflection.GeneratedProtocolMessageType('Int32Message', (_message.Message,), dict( DESCRIPTOR = _INT32MESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.Int32Message) )) _sym_db.RegisterMessage(Int32Message) Uint32Message = _reflection.GeneratedProtocolMessageType('Uint32Message', (_message.Message,), dict( DESCRIPTOR = _UINT32MESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.Uint32Message) )) _sym_db.RegisterMessage(Uint32Message) Int64Message = _reflection.GeneratedProtocolMessageType('Int64Message', (_message.Message,), dict( DESCRIPTOR = _INT64MESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.Int64Message) )) _sym_db.RegisterMessage(Int64Message) Uint64Message = _reflection.GeneratedProtocolMessageType('Uint64Message', (_message.Message,), dict( DESCRIPTOR = _UINT64MESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.Uint64Message) )) _sym_db.RegisterMessage(Uint64Message) BoolMessage = _reflection.GeneratedProtocolMessageType('BoolMessage', (_message.Message,), dict( DESCRIPTOR = _BOOLMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.BoolMessage) )) _sym_db.RegisterMessage(BoolMessage) TestOneof = _reflection.GeneratedProtocolMessageType('TestOneof', (_message.Message,), dict( FooGroup = _reflection.GeneratedProtocolMessageType('FooGroup', (_message.Message,), dict( DESCRIPTOR = _TESTONEOF_FOOGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestOneof.FooGroup) )) , DESCRIPTOR = _TESTONEOF, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestOneof) )) _sym_db.RegisterMessage(TestOneof) _sym_db.RegisterMessage(TestOneof.FooGroup) TestOneofBackwardsCompatible = _reflection.GeneratedProtocolMessageType('TestOneofBackwardsCompatible', (_message.Message,), dict( FooGroup = _reflection.GeneratedProtocolMessageType('FooGroup', (_message.Message,), dict( DESCRIPTOR = _TESTONEOFBACKWARDSCOMPATIBLE_FOOGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestOneofBackwardsCompatible.FooGroup) )) , DESCRIPTOR = _TESTONEOFBACKWARDSCOMPATIBLE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestOneofBackwardsCompatible) )) _sym_db.RegisterMessage(TestOneofBackwardsCompatible) _sym_db.RegisterMessage(TestOneofBackwardsCompatible.FooGroup) TestOneof2 = _reflection.GeneratedProtocolMessageType('TestOneof2', (_message.Message,), dict( FooGroup = _reflection.GeneratedProtocolMessageType('FooGroup', (_message.Message,), dict( DESCRIPTOR = _TESTONEOF2_FOOGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestOneof2.FooGroup) )) , NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTONEOF2_NESTEDMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestOneof2.NestedMessage) )) , DESCRIPTOR = _TESTONEOF2, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestOneof2) )) _sym_db.RegisterMessage(TestOneof2) _sym_db.RegisterMessage(TestOneof2.FooGroup) _sym_db.RegisterMessage(TestOneof2.NestedMessage) TestRequiredOneof = _reflection.GeneratedProtocolMessageType('TestRequiredOneof', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTREQUIREDONEOF_NESTEDMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRequiredOneof.NestedMessage) )) , DESCRIPTOR = _TESTREQUIREDONEOF, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRequiredOneof) )) _sym_db.RegisterMessage(TestRequiredOneof) _sym_db.RegisterMessage(TestRequiredOneof.NestedMessage) TestPackedTypes = _reflection.GeneratedProtocolMessageType('TestPackedTypes', (_message.Message,), dict( DESCRIPTOR = _TESTPACKEDTYPES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestPackedTypes) )) _sym_db.RegisterMessage(TestPackedTypes) TestUnpackedTypes = _reflection.GeneratedProtocolMessageType('TestUnpackedTypes', (_message.Message,), dict( DESCRIPTOR = _TESTUNPACKEDTYPES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestUnpackedTypes) )) _sym_db.RegisterMessage(TestUnpackedTypes) TestPackedExtensions = _reflection.GeneratedProtocolMessageType('TestPackedExtensions', (_message.Message,), dict( DESCRIPTOR = _TESTPACKEDEXTENSIONS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestPackedExtensions) )) _sym_db.RegisterMessage(TestPackedExtensions) TestUnpackedExtensions = _reflection.GeneratedProtocolMessageType('TestUnpackedExtensions', (_message.Message,), dict( DESCRIPTOR = _TESTUNPACKEDEXTENSIONS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestUnpackedExtensions) )) _sym_db.RegisterMessage(TestUnpackedExtensions) TestDynamicExtensions = _reflection.GeneratedProtocolMessageType('TestDynamicExtensions', (_message.Message,), dict( DynamicMessageType = _reflection.GeneratedProtocolMessageType('DynamicMessageType', (_message.Message,), dict( DESCRIPTOR = _TESTDYNAMICEXTENSIONS_DYNAMICMESSAGETYPE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestDynamicExtensions.DynamicMessageType) )) , DESCRIPTOR = _TESTDYNAMICEXTENSIONS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestDynamicExtensions) )) _sym_db.RegisterMessage(TestDynamicExtensions) _sym_db.RegisterMessage(TestDynamicExtensions.DynamicMessageType) TestRepeatedScalarDifferentTagSizes = _reflection.GeneratedProtocolMessageType('TestRepeatedScalarDifferentTagSizes', (_message.Message,), dict( DESCRIPTOR = _TESTREPEATEDSCALARDIFFERENTTAGSIZES, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRepeatedScalarDifferentTagSizes) )) _sym_db.RegisterMessage(TestRepeatedScalarDifferentTagSizes) TestParsingMerge = _reflection.GeneratedProtocolMessageType('TestParsingMerge', (_message.Message,), dict( RepeatedFieldsGenerator = _reflection.GeneratedProtocolMessageType('RepeatedFieldsGenerator', (_message.Message,), dict( Group1 = _reflection.GeneratedProtocolMessageType('Group1', (_message.Message,), dict( DESCRIPTOR = _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP1, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group1) )) , Group2 = _reflection.GeneratedProtocolMessageType('Group2', (_message.Message,), dict( DESCRIPTOR = _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR_GROUP2, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator.Group2) )) , DESCRIPTOR = _TESTPARSINGMERGE_REPEATEDFIELDSGENERATOR, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestParsingMerge.RepeatedFieldsGenerator) )) , OptionalGroup = _reflection.GeneratedProtocolMessageType('OptionalGroup', (_message.Message,), dict( DESCRIPTOR = _TESTPARSINGMERGE_OPTIONALGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestParsingMerge.OptionalGroup) )) , RepeatedGroup = _reflection.GeneratedProtocolMessageType('RepeatedGroup', (_message.Message,), dict( DESCRIPTOR = _TESTPARSINGMERGE_REPEATEDGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestParsingMerge.RepeatedGroup) )) , DESCRIPTOR = _TESTPARSINGMERGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestParsingMerge) )) _sym_db.RegisterMessage(TestParsingMerge) _sym_db.RegisterMessage(TestParsingMerge.RepeatedFieldsGenerator) _sym_db.RegisterMessage(TestParsingMerge.RepeatedFieldsGenerator.Group1) _sym_db.RegisterMessage(TestParsingMerge.RepeatedFieldsGenerator.Group2) _sym_db.RegisterMessage(TestParsingMerge.OptionalGroup) _sym_db.RegisterMessage(TestParsingMerge.RepeatedGroup) TestCommentInjectionMessage = _reflection.GeneratedProtocolMessageType('TestCommentInjectionMessage', (_message.Message,), dict( DESCRIPTOR = _TESTCOMMENTINJECTIONMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestCommentInjectionMessage) )) _sym_db.RegisterMessage(TestCommentInjectionMessage) FooRequest = _reflection.GeneratedProtocolMessageType('FooRequest', (_message.Message,), dict( DESCRIPTOR = _FOOREQUEST, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.FooRequest) )) _sym_db.RegisterMessage(FooRequest) FooResponse = _reflection.GeneratedProtocolMessageType('FooResponse', (_message.Message,), dict( DESCRIPTOR = _FOORESPONSE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.FooResponse) )) _sym_db.RegisterMessage(FooResponse) FooClientMessage = _reflection.GeneratedProtocolMessageType('FooClientMessage', (_message.Message,), dict( DESCRIPTOR = _FOOCLIENTMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.FooClientMessage) )) _sym_db.RegisterMessage(FooClientMessage) FooServerMessage = _reflection.GeneratedProtocolMessageType('FooServerMessage', (_message.Message,), dict( DESCRIPTOR = _FOOSERVERMESSAGE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.FooServerMessage) )) _sym_db.RegisterMessage(FooServerMessage) BarRequest = _reflection.GeneratedProtocolMessageType('BarRequest', (_message.Message,), dict( DESCRIPTOR = _BARREQUEST, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.BarRequest) )) _sym_db.RegisterMessage(BarRequest) BarResponse = _reflection.GeneratedProtocolMessageType('BarResponse', (_message.Message,), dict( DESCRIPTOR = _BARRESPONSE, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.BarResponse) )) _sym_db.RegisterMessage(BarResponse) TestJsonName = _reflection.GeneratedProtocolMessageType('TestJsonName', (_message.Message,), dict( DESCRIPTOR = _TESTJSONNAME, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestJsonName) )) _sym_db.RegisterMessage(TestJsonName) TestHugeFieldNumbers = _reflection.GeneratedProtocolMessageType('TestHugeFieldNumbers', (_message.Message,), dict( OptionalGroup = _reflection.GeneratedProtocolMessageType('OptionalGroup', (_message.Message,), dict( DESCRIPTOR = _TESTHUGEFIELDNUMBERS_OPTIONALGROUP, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestHugeFieldNumbers.OptionalGroup) )) , StringStringMapEntry = _reflection.GeneratedProtocolMessageType('StringStringMapEntry', (_message.Message,), dict( DESCRIPTOR = _TESTHUGEFIELDNUMBERS_STRINGSTRINGMAPENTRY, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestHugeFieldNumbers.StringStringMapEntry) )) , DESCRIPTOR = _TESTHUGEFIELDNUMBERS, __module__ = 'google.protobuf.unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestHugeFieldNumbers) )) _sym_db.RegisterMessage(TestHugeFieldNumbers) _sym_db.RegisterMessage(TestHugeFieldNumbers.OptionalGroup) _sym_db.RegisterMessage(TestHugeFieldNumbers.StringStringMapEntry) TestAllExtensions.RegisterExtension(optional_int32_extension) TestAllExtensions.RegisterExtension(optional_int64_extension) TestAllExtensions.RegisterExtension(optional_uint32_extension) TestAllExtensions.RegisterExtension(optional_uint64_extension) TestAllExtensions.RegisterExtension(optional_sint32_extension) TestAllExtensions.RegisterExtension(optional_sint64_extension) TestAllExtensions.RegisterExtension(optional_fixed32_extension) TestAllExtensions.RegisterExtension(optional_fixed64_extension) TestAllExtensions.RegisterExtension(optional_sfixed32_extension) TestAllExtensions.RegisterExtension(optional_sfixed64_extension) TestAllExtensions.RegisterExtension(optional_float_extension) TestAllExtensions.RegisterExtension(optional_double_extension) TestAllExtensions.RegisterExtension(optional_bool_extension) TestAllExtensions.RegisterExtension(optional_string_extension) TestAllExtensions.RegisterExtension(optional_bytes_extension) optionalgroup_extension.message_type = _OPTIONALGROUP_EXTENSION TestAllExtensions.RegisterExtension(optionalgroup_extension) optional_nested_message_extension.message_type = _TESTALLTYPES_NESTEDMESSAGE TestAllExtensions.RegisterExtension(optional_nested_message_extension) optional_foreign_message_extension.message_type = _FOREIGNMESSAGE TestAllExtensions.RegisterExtension(optional_foreign_message_extension) optional_import_message_extension.message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE TestAllExtensions.RegisterExtension(optional_import_message_extension) optional_nested_enum_extension.enum_type = _TESTALLTYPES_NESTEDENUM TestAllExtensions.RegisterExtension(optional_nested_enum_extension) optional_foreign_enum_extension.enum_type = _FOREIGNENUM TestAllExtensions.RegisterExtension(optional_foreign_enum_extension) optional_import_enum_extension.enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM TestAllExtensions.RegisterExtension(optional_import_enum_extension) TestAllExtensions.RegisterExtension(optional_string_piece_extension) TestAllExtensions.RegisterExtension(optional_cord_extension) optional_public_import_message_extension.message_type = google_dot_protobuf_dot_unittest__import__public__pb2._PUBLICIMPORTMESSAGE TestAllExtensions.RegisterExtension(optional_public_import_message_extension) optional_lazy_message_extension.message_type = _TESTALLTYPES_NESTEDMESSAGE TestAllExtensions.RegisterExtension(optional_lazy_message_extension) TestAllExtensions.RegisterExtension(repeated_int32_extension) TestAllExtensions.RegisterExtension(repeated_int64_extension) TestAllExtensions.RegisterExtension(repeated_uint32_extension) TestAllExtensions.RegisterExtension(repeated_uint64_extension) TestAllExtensions.RegisterExtension(repeated_sint32_extension) TestAllExtensions.RegisterExtension(repeated_sint64_extension) TestAllExtensions.RegisterExtension(repeated_fixed32_extension) TestAllExtensions.RegisterExtension(repeated_fixed64_extension) TestAllExtensions.RegisterExtension(repeated_sfixed32_extension) TestAllExtensions.RegisterExtension(repeated_sfixed64_extension) TestAllExtensions.RegisterExtension(repeated_float_extension) TestAllExtensions.RegisterExtension(repeated_double_extension) TestAllExtensions.RegisterExtension(repeated_bool_extension) TestAllExtensions.RegisterExtension(repeated_string_extension) TestAllExtensions.RegisterExtension(repeated_bytes_extension) repeatedgroup_extension.message_type = _REPEATEDGROUP_EXTENSION TestAllExtensions.RegisterExtension(repeatedgroup_extension) repeated_nested_message_extension.message_type = _TESTALLTYPES_NESTEDMESSAGE TestAllExtensions.RegisterExtension(repeated_nested_message_extension) repeated_foreign_message_extension.message_type = _FOREIGNMESSAGE TestAllExtensions.RegisterExtension(repeated_foreign_message_extension) repeated_import_message_extension.message_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTMESSAGE TestAllExtensions.RegisterExtension(repeated_import_message_extension) repeated_nested_enum_extension.enum_type = _TESTALLTYPES_NESTEDENUM TestAllExtensions.RegisterExtension(repeated_nested_enum_extension) repeated_foreign_enum_extension.enum_type = _FOREIGNENUM TestAllExtensions.RegisterExtension(repeated_foreign_enum_extension) repeated_import_enum_extension.enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM TestAllExtensions.RegisterExtension(repeated_import_enum_extension) TestAllExtensions.RegisterExtension(repeated_string_piece_extension) TestAllExtensions.RegisterExtension(repeated_cord_extension) repeated_lazy_message_extension.message_type = _TESTALLTYPES_NESTEDMESSAGE TestAllExtensions.RegisterExtension(repeated_lazy_message_extension) TestAllExtensions.RegisterExtension(default_int32_extension) TestAllExtensions.RegisterExtension(default_int64_extension) TestAllExtensions.RegisterExtension(default_uint32_extension) TestAllExtensions.RegisterExtension(default_uint64_extension) TestAllExtensions.RegisterExtension(default_sint32_extension) TestAllExtensions.RegisterExtension(default_sint64_extension) TestAllExtensions.RegisterExtension(default_fixed32_extension) TestAllExtensions.RegisterExtension(default_fixed64_extension) TestAllExtensions.RegisterExtension(default_sfixed32_extension) TestAllExtensions.RegisterExtension(default_sfixed64_extension) TestAllExtensions.RegisterExtension(default_float_extension) TestAllExtensions.RegisterExtension(default_double_extension) TestAllExtensions.RegisterExtension(default_bool_extension) TestAllExtensions.RegisterExtension(default_string_extension) TestAllExtensions.RegisterExtension(default_bytes_extension) default_nested_enum_extension.enum_type = _TESTALLTYPES_NESTEDENUM TestAllExtensions.RegisterExtension(default_nested_enum_extension) default_foreign_enum_extension.enum_type = _FOREIGNENUM TestAllExtensions.RegisterExtension(default_foreign_enum_extension) default_import_enum_extension.enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUM TestAllExtensions.RegisterExtension(default_import_enum_extension) TestAllExtensions.RegisterExtension(default_string_piece_extension) TestAllExtensions.RegisterExtension(default_cord_extension) TestAllExtensions.RegisterExtension(oneof_uint32_extension) oneof_nested_message_extension.message_type = _TESTALLTYPES_NESTEDMESSAGE TestAllExtensions.RegisterExtension(oneof_nested_message_extension) TestAllExtensions.RegisterExtension(oneof_string_extension) TestAllExtensions.RegisterExtension(oneof_bytes_extension) TestFieldOrderings.RegisterExtension(my_extension_string) TestFieldOrderings.RegisterExtension(my_extension_int) TestPackedExtensions.RegisterExtension(packed_int32_extension) TestPackedExtensions.RegisterExtension(packed_int64_extension) TestPackedExtensions.RegisterExtension(packed_uint32_extension) TestPackedExtensions.RegisterExtension(packed_uint64_extension) TestPackedExtensions.RegisterExtension(packed_sint32_extension) TestPackedExtensions.RegisterExtension(packed_sint64_extension) TestPackedExtensions.RegisterExtension(packed_fixed32_extension) TestPackedExtensions.RegisterExtension(packed_fixed64_extension) TestPackedExtensions.RegisterExtension(packed_sfixed32_extension) TestPackedExtensions.RegisterExtension(packed_sfixed64_extension) TestPackedExtensions.RegisterExtension(packed_float_extension) TestPackedExtensions.RegisterExtension(packed_double_extension) TestPackedExtensions.RegisterExtension(packed_bool_extension) packed_enum_extension.enum_type = _FOREIGNENUM TestPackedExtensions.RegisterExtension(packed_enum_extension) TestUnpackedExtensions.RegisterExtension(unpacked_int32_extension) TestUnpackedExtensions.RegisterExtension(unpacked_int64_extension) TestUnpackedExtensions.RegisterExtension(unpacked_uint32_extension) TestUnpackedExtensions.RegisterExtension(unpacked_uint64_extension) TestUnpackedExtensions.RegisterExtension(unpacked_sint32_extension) TestUnpackedExtensions.RegisterExtension(unpacked_sint64_extension) TestUnpackedExtensions.RegisterExtension(unpacked_fixed32_extension) TestUnpackedExtensions.RegisterExtension(unpacked_fixed64_extension) TestUnpackedExtensions.RegisterExtension(unpacked_sfixed32_extension) TestUnpackedExtensions.RegisterExtension(unpacked_sfixed64_extension) TestUnpackedExtensions.RegisterExtension(unpacked_float_extension) TestUnpackedExtensions.RegisterExtension(unpacked_double_extension) TestUnpackedExtensions.RegisterExtension(unpacked_bool_extension) unpacked_enum_extension.enum_type = _FOREIGNENUM TestUnpackedExtensions.RegisterExtension(unpacked_enum_extension) test_all_types.message_type = _TESTALLTYPES TestHugeFieldNumbers.RegisterExtension(test_all_types) TestAllExtensions.RegisterExtension(_TESTNESTEDEXTENSION.extensions_by_name['test']) TestAllExtensions.RegisterExtension(_TESTNESTEDEXTENSION.extensions_by_name['nested_string_extension']) _TESTREQUIRED.extensions_by_name['single'].message_type = _TESTREQUIRED TestAllExtensions.RegisterExtension(_TESTREQUIRED.extensions_by_name['single']) _TESTREQUIRED.extensions_by_name['multi'].message_type = _TESTREQUIRED TestAllExtensions.RegisterExtension(_TESTREQUIRED.extensions_by_name['multi']) _TESTPARSINGMERGE.extensions_by_name['optional_ext'].message_type = _TESTALLTYPES TestParsingMerge.RegisterExtension(_TESTPARSINGMERGE.extensions_by_name['optional_ext']) _TESTPARSINGMERGE.extensions_by_name['repeated_ext'].message_type = _TESTALLTYPES TestParsingMerge.RegisterExtension(_TESTPARSINGMERGE.extensions_by_name['repeated_ext']) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('B\rUnittestProtoH\001\200\001\001\210\001\001\220\001\001\370\001\001')) _TESTENUMWITHDUPVALUE.has_options = True _TESTENUMWITHDUPVALUE._options = _descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001')) optional_string_piece_extension.has_options = True optional_string_piece_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) optional_cord_extension.has_options = True optional_cord_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) optional_lazy_message_extension.has_options = True optional_lazy_message_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) repeated_string_piece_extension.has_options = True repeated_string_piece_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) repeated_cord_extension.has_options = True repeated_cord_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) repeated_lazy_message_extension.has_options = True repeated_lazy_message_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) default_string_piece_extension.has_options = True default_string_piece_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) default_cord_extension.has_options = True default_cord_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) packed_int32_extension.has_options = True packed_int32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_int64_extension.has_options = True packed_int64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_uint32_extension.has_options = True packed_uint32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_uint64_extension.has_options = True packed_uint64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_sint32_extension.has_options = True packed_sint32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_sint64_extension.has_options = True packed_sint64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_fixed32_extension.has_options = True packed_fixed32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_fixed64_extension.has_options = True packed_fixed64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_sfixed32_extension.has_options = True packed_sfixed32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_sfixed64_extension.has_options = True packed_sfixed64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_float_extension.has_options = True packed_float_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_double_extension.has_options = True packed_double_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_bool_extension.has_options = True packed_bool_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) packed_enum_extension.has_options = True packed_enum_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) unpacked_int32_extension.has_options = True unpacked_int32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_int64_extension.has_options = True unpacked_int64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_uint32_extension.has_options = True unpacked_uint32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_uint64_extension.has_options = True unpacked_uint64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_sint32_extension.has_options = True unpacked_sint32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_sint64_extension.has_options = True unpacked_sint64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_fixed32_extension.has_options = True unpacked_fixed32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_fixed64_extension.has_options = True unpacked_fixed64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_sfixed32_extension.has_options = True unpacked_sfixed32_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_sfixed64_extension.has_options = True unpacked_sfixed64_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_float_extension.has_options = True unpacked_float_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_double_extension.has_options = True unpacked_double_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_bool_extension.has_options = True unpacked_bool_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) unpacked_enum_extension.has_options = True unpacked_enum_extension._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTALLTYPES.fields_by_name['optional_string_piece'].has_options = True _TESTALLTYPES.fields_by_name['optional_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPES.fields_by_name['optional_cord'].has_options = True _TESTALLTYPES.fields_by_name['optional_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPES.fields_by_name['optional_lazy_message'].has_options = True _TESTALLTYPES.fields_by_name['optional_lazy_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTALLTYPES.fields_by_name['repeated_string_piece'].has_options = True _TESTALLTYPES.fields_by_name['repeated_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPES.fields_by_name['repeated_cord'].has_options = True _TESTALLTYPES.fields_by_name['repeated_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPES.fields_by_name['repeated_lazy_message'].has_options = True _TESTALLTYPES.fields_by_name['repeated_lazy_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTALLTYPES.fields_by_name['default_string_piece'].has_options = True _TESTALLTYPES.fields_by_name['default_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPES.fields_by_name['default_cord'].has_options = True _TESTALLTYPES.fields_by_name['default_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTDEPRECATEDFIELDS.fields_by_name['deprecated_int32'].has_options = True _TESTDEPRECATEDFIELDS.fields_by_name['deprecated_int32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')) _TESTDEPRECATEDMESSAGE.has_options = True _TESTDEPRECATEDMESSAGE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\030\001')) _TESTEAGERMESSAGE.fields_by_name['sub_message'].has_options = True _TESTEAGERMESSAGE.fields_by_name['sub_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\000')) _TESTLAZYMESSAGE.fields_by_name['sub_message'].has_options = True _TESTLAZYMESSAGE.fields_by_name['sub_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTCAMELCASEFIELDNAMES.fields_by_name['StringPieceField'].has_options = True _TESTCAMELCASEFIELDNAMES.fields_by_name['StringPieceField']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTCAMELCASEFIELDNAMES.fields_by_name['CordField'].has_options = True _TESTCAMELCASEFIELDNAMES.fields_by_name['CordField']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTCAMELCASEFIELDNAMES.fields_by_name['RepeatedStringPieceField'].has_options = True _TESTCAMELCASEFIELDNAMES.fields_by_name['RepeatedStringPieceField']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTCAMELCASEFIELDNAMES.fields_by_name['RepeatedCordField'].has_options = True _TESTCAMELCASEFIELDNAMES.fields_by_name['RepeatedCordField']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTEXTREMEDEFAULTVALUES.fields_by_name['string_piece_with_zero'].has_options = True _TESTEXTREMEDEFAULTVALUES.fields_by_name['string_piece_with_zero']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTEXTREMEDEFAULTVALUES.fields_by_name['cord_with_zero'].has_options = True _TESTEXTREMEDEFAULTVALUES.fields_by_name['cord_with_zero']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTONEOF2.fields_by_name['foo_cord'].has_options = True _TESTONEOF2.fields_by_name['foo_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTONEOF2.fields_by_name['foo_string_piece'].has_options = True _TESTONEOF2.fields_by_name['foo_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTONEOF2.fields_by_name['foo_lazy_message'].has_options = True _TESTONEOF2.fields_by_name['foo_lazy_message']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('(\001')) _TESTONEOF2.fields_by_name['bar_cord'].has_options = True _TESTONEOF2.fields_by_name['bar_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTONEOF2.fields_by_name['bar_string_piece'].has_options = True _TESTONEOF2.fields_by_name['bar_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTPACKEDTYPES.fields_by_name['packed_int32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_int32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_int64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_int64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_uint32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_uint32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_uint64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_uint64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_sint32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_sint32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_sint64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_sint64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_fixed32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_fixed32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_fixed64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_fixed64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_sfixed32'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_sfixed32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_sfixed64'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_sfixed64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_float'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_float']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_double'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_double']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_bool'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_bool']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTPACKEDTYPES.fields_by_name['packed_enum'].has_options = True _TESTPACKEDTYPES.fields_by_name['packed_enum']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_int32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_int32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_int64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_int64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_uint32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_uint32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_uint64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_uint64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_sint32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_sint32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_sint64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_sint64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_fixed32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_fixed32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_fixed64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_fixed64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_sfixed32'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_sfixed32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_sfixed64'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_sfixed64']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_float'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_float']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_double'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_double']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_bool'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_bool']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTUNPACKEDTYPES.fields_by_name['unpacked_enum'].has_options = True _TESTUNPACKEDTYPES.fields_by_name['unpacked_enum']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTDYNAMICEXTENSIONS.fields_by_name['packed_extension'].has_options = True _TESTDYNAMICEXTENSIONS.fields_by_name['packed_extension']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTHUGEFIELDNUMBERS_STRINGSTRINGMAPENTRY.has_options = True _TESTHUGEFIELDNUMBERS_STRINGSTRINGMAPENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTHUGEFIELDNUMBERS.fields_by_name['repeated_int32'].has_options = True _TESTHUGEFIELDNUMBERS.fields_by_name['repeated_int32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\000')) _TESTHUGEFIELDNUMBERS.fields_by_name['packed_int32'].has_options = True _TESTHUGEFIELDNUMBERS.fields_by_name['packed_int32']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTSERVICE = _descriptor.ServiceDescriptor( name='TestService', full_name='protobuf_unittest.TestService', file=DESCRIPTOR, index=0, options=None, serialized_start=14360, serialized_end=14513, methods=[ _descriptor.MethodDescriptor( name='Foo', full_name='protobuf_unittest.TestService.Foo', index=0, containing_service=None, input_type=_FOOREQUEST, output_type=_FOORESPONSE, options=None, ), _descriptor.MethodDescriptor( name='Bar', full_name='protobuf_unittest.TestService.Bar', index=1, containing_service=None, input_type=_BARREQUEST, output_type=_BARRESPONSE, options=None, ), ]) _sym_db.RegisterServiceDescriptor(_TESTSERVICE) DESCRIPTOR.services_by_name['TestService'] = _TESTSERVICE TestService = service_reflection.GeneratedServiceType('TestService', (_service.Service,), dict( DESCRIPTOR = _TESTSERVICE, __module__ = 'google.protobuf.unittest_pb2' )) TestService_Stub = service_reflection.GeneratedServiceStubType('TestService_Stub', (TestService,), dict( DESCRIPTOR = _TESTSERVICE, __module__ = 'google.protobuf.unittest_pb2' )) # @@protoc_insertion_point(module_scope) PK!vYY#protobuf/map_proto2_unittest_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/map_proto2_unittest.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import unittest_import_pb2 as google_dot_protobuf_dot_unittest__import__pb2 try: google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google_dot_protobuf_dot_unittest__import__public__pb2 except AttributeError: google_dot_protobuf_dot_unittest__import__public__pb2 = google_dot_protobuf_dot_unittest__import__pb2.google.protobuf.unittest_import_public_pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/map_proto2_unittest.proto', package='protobuf_unittest', syntax='proto2', serialized_pb=_b('\n)google/protobuf/map_proto2_unittest.proto\x12\x11protobuf_unittest\x1a%google/protobuf/unittest_import.proto\"\xdb\x02\n\x0bTestEnumMap\x12J\n\x0fknown_map_field\x18\x65 \x03(\x0b\x32\x31.protobuf_unittest.TestEnumMap.KnownMapFieldEntry\x12N\n\x11unknown_map_field\x18\x66 \x03(\x0b\x32\x33.protobuf_unittest.TestEnumMap.UnknownMapFieldEntry\x1aV\n\x12KnownMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12/\n\x05value\x18\x02 \x01(\x0e\x32 .protobuf_unittest.Proto2MapEnum:\x02\x38\x01\x1aX\n\x14UnknownMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12/\n\x05value\x18\x02 \x01(\x0e\x32 .protobuf_unittest.Proto2MapEnum:\x02\x38\x01\"\x88\x03\n\x14TestEnumMapPlusExtra\x12S\n\x0fknown_map_field\x18\x65 \x03(\x0b\x32:.protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry\x12W\n\x11unknown_map_field\x18\x66 \x03(\x0b\x32<.protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry\x1a_\n\x12KnownMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x38\n\x05value\x18\x02 \x01(\x0e\x32).protobuf_unittest.Proto2MapEnumPlusExtra:\x02\x38\x01\x1a\x61\n\x14UnknownMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x38\n\x05value\x18\x02 \x01(\x0e\x32).protobuf_unittest.Proto2MapEnumPlusExtra:\x02\x38\x01\"\xc7\x01\n\x11TestImportEnumMap\x12P\n\x0fimport_enum_amp\x18\x01 \x03(\x0b\x32\x37.protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry\x1a`\n\x12ImportEnumAmpEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x39\n\x05value\x18\x02 \x01(\x0e\x32*.protobuf_unittest_import.ImportEnumForMap:\x02\x38\x01\"m\n\rTestIntIntMap\x12\x32\n\x01m\x18\x01 \x03(\x0b\x32\'.protobuf_unittest.TestIntIntMap.MEntry\x1a(\n\x06MEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"\xb8\r\n\x08TestMaps\x12\x38\n\x07m_int32\x18\x01 \x03(\x0b\x32\'.protobuf_unittest.TestMaps.MInt32Entry\x12\x38\n\x07m_int64\x18\x02 \x03(\x0b\x32\'.protobuf_unittest.TestMaps.MInt64Entry\x12:\n\x08m_uint32\x18\x03 \x03(\x0b\x32(.protobuf_unittest.TestMaps.MUint32Entry\x12:\n\x08m_uint64\x18\x04 \x03(\x0b\x32(.protobuf_unittest.TestMaps.MUint64Entry\x12:\n\x08m_sint32\x18\x05 \x03(\x0b\x32(.protobuf_unittest.TestMaps.MSint32Entry\x12:\n\x08m_sint64\x18\x06 \x03(\x0b\x32(.protobuf_unittest.TestMaps.MSint64Entry\x12<\n\tm_fixed32\x18\x07 \x03(\x0b\x32).protobuf_unittest.TestMaps.MFixed32Entry\x12<\n\tm_fixed64\x18\x08 \x03(\x0b\x32).protobuf_unittest.TestMaps.MFixed64Entry\x12>\n\nm_sfixed32\x18\t \x03(\x0b\x32*.protobuf_unittest.TestMaps.MSfixed32Entry\x12>\n\nm_sfixed64\x18\n \x03(\x0b\x32*.protobuf_unittest.TestMaps.MSfixed64Entry\x12\x36\n\x06m_bool\x18\x0b \x03(\x0b\x32&.protobuf_unittest.TestMaps.MBoolEntry\x12:\n\x08m_string\x18\x0c \x03(\x0b\x32(.protobuf_unittest.TestMaps.MStringEntry\x1aO\n\x0bMInt32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aO\n\x0bMInt64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMUint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMUint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMSint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMSint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x12\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aQ\n\rMFixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aQ\n\rMFixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x06\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aR\n\x0eMSfixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x0f\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aR\n\x0eMSfixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x10\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aN\n\nMBoolEntry\x12\x0b\n\x03key\x18\x01 \x01(\x08\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\x1aP\n\x0cMStringEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .protobuf_unittest.TestIntIntMap:\x02\x38\x01\"<\n\x12TestSubmessageMaps\x12&\n\x01m\x18\x01 \x01(\x0b\x32\x1b.protobuf_unittest.TestMaps*Z\n\rProto2MapEnum\x12\x17\n\x13PROTO2_MAP_ENUM_FOO\x10\x00\x12\x17\n\x13PROTO2_MAP_ENUM_BAR\x10\x01\x12\x17\n\x13PROTO2_MAP_ENUM_BAZ\x10\x02*\x86\x01\n\x16Proto2MapEnumPlusExtra\x12\x19\n\x15\x45_PROTO2_MAP_ENUM_FOO\x10\x00\x12\x19\n\x15\x45_PROTO2_MAP_ENUM_BAR\x10\x01\x12\x19\n\x15\x45_PROTO2_MAP_ENUM_BAZ\x10\x02\x12\x1b\n\x17\x45_PROTO2_MAP_ENUM_EXTRA\x10\x03\x42\x03\xf8\x01\x01') , dependencies=[google_dot_protobuf_dot_unittest__import__pb2.DESCRIPTOR,]) _PROTO2MAPENUM = _descriptor.EnumDescriptor( name='Proto2MapEnum', full_name='protobuf_unittest.Proto2MapEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='PROTO2_MAP_ENUM_FOO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='PROTO2_MAP_ENUM_BAR', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='PROTO2_MAP_ENUM_BAZ', index=2, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=2946, serialized_end=3036, ) _sym_db.RegisterEnumDescriptor(_PROTO2MAPENUM) Proto2MapEnum = enum_type_wrapper.EnumTypeWrapper(_PROTO2MAPENUM) _PROTO2MAPENUMPLUSEXTRA = _descriptor.EnumDescriptor( name='Proto2MapEnumPlusExtra', full_name='protobuf_unittest.Proto2MapEnumPlusExtra', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='E_PROTO2_MAP_ENUM_FOO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='E_PROTO2_MAP_ENUM_BAR', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='E_PROTO2_MAP_ENUM_BAZ', index=2, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='E_PROTO2_MAP_ENUM_EXTRA', index=3, number=3, options=None, type=None), ], containing_type=None, options=None, serialized_start=3039, serialized_end=3173, ) _sym_db.RegisterEnumDescriptor(_PROTO2MAPENUMPLUSEXTRA) Proto2MapEnumPlusExtra = enum_type_wrapper.EnumTypeWrapper(_PROTO2MAPENUMPLUSEXTRA) PROTO2_MAP_ENUM_FOO = 0 PROTO2_MAP_ENUM_BAR = 1 PROTO2_MAP_ENUM_BAZ = 2 E_PROTO2_MAP_ENUM_FOO = 0 E_PROTO2_MAP_ENUM_BAR = 1 E_PROTO2_MAP_ENUM_BAZ = 2 E_PROTO2_MAP_ENUM_EXTRA = 3 _TESTENUMMAP_KNOWNMAPFIELDENTRY = _descriptor.Descriptor( name='KnownMapFieldEntry', full_name='protobuf_unittest.TestEnumMap.KnownMapFieldEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestEnumMap.KnownMapFieldEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestEnumMap.KnownMapFieldEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=275, serialized_end=361, ) _TESTENUMMAP_UNKNOWNMAPFIELDENTRY = _descriptor.Descriptor( name='UnknownMapFieldEntry', full_name='protobuf_unittest.TestEnumMap.UnknownMapFieldEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestEnumMap.UnknownMapFieldEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestEnumMap.UnknownMapFieldEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=363, serialized_end=451, ) _TESTENUMMAP = _descriptor.Descriptor( name='TestEnumMap', full_name='protobuf_unittest.TestEnumMap', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='known_map_field', full_name='protobuf_unittest.TestEnumMap.known_map_field', index=0, number=101, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unknown_map_field', full_name='protobuf_unittest.TestEnumMap.unknown_map_field', index=1, number=102, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTENUMMAP_KNOWNMAPFIELDENTRY, _TESTENUMMAP_UNKNOWNMAPFIELDENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=104, serialized_end=451, ) _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY = _descriptor.Descriptor( name='KnownMapFieldEntry', full_name='protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=652, serialized_end=747, ) _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY = _descriptor.Descriptor( name='UnknownMapFieldEntry', full_name='protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=749, serialized_end=846, ) _TESTENUMMAPPLUSEXTRA = _descriptor.Descriptor( name='TestEnumMapPlusExtra', full_name='protobuf_unittest.TestEnumMapPlusExtra', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='known_map_field', full_name='protobuf_unittest.TestEnumMapPlusExtra.known_map_field', index=0, number=101, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unknown_map_field', full_name='protobuf_unittest.TestEnumMapPlusExtra.unknown_map_field', index=1, number=102, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY, _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=454, serialized_end=846, ) _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY = _descriptor.Descriptor( name='ImportEnumAmpEntry', full_name='protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=952, serialized_end=1048, ) _TESTIMPORTENUMMAP = _descriptor.Descriptor( name='TestImportEnumMap', full_name='protobuf_unittest.TestImportEnumMap', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='import_enum_amp', full_name='protobuf_unittest.TestImportEnumMap.import_enum_amp', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=849, serialized_end=1048, ) _TESTINTINTMAP_MENTRY = _descriptor.Descriptor( name='MEntry', full_name='protobuf_unittest.TestIntIntMap.MEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestIntIntMap.MEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestIntIntMap.MEntry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1119, serialized_end=1159, ) _TESTINTINTMAP = _descriptor.Descriptor( name='TestIntIntMap', full_name='protobuf_unittest.TestIntIntMap', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='m', full_name='protobuf_unittest.TestIntIntMap.m', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTINTINTMAP_MENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1050, serialized_end=1159, ) _TESTMAPS_MINT32ENTRY = _descriptor.Descriptor( name='MInt32Entry', full_name='protobuf_unittest.TestMaps.MInt32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MInt32Entry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MInt32Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1898, serialized_end=1977, ) _TESTMAPS_MINT64ENTRY = _descriptor.Descriptor( name='MInt64Entry', full_name='protobuf_unittest.TestMaps.MInt64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MInt64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MInt64Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1979, serialized_end=2058, ) _TESTMAPS_MUINT32ENTRY = _descriptor.Descriptor( name='MUint32Entry', full_name='protobuf_unittest.TestMaps.MUint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MUint32Entry.key', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MUint32Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2060, serialized_end=2140, ) _TESTMAPS_MUINT64ENTRY = _descriptor.Descriptor( name='MUint64Entry', full_name='protobuf_unittest.TestMaps.MUint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MUint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MUint64Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2142, serialized_end=2222, ) _TESTMAPS_MSINT32ENTRY = _descriptor.Descriptor( name='MSint32Entry', full_name='protobuf_unittest.TestMaps.MSint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MSint32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MSint32Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2224, serialized_end=2304, ) _TESTMAPS_MSINT64ENTRY = _descriptor.Descriptor( name='MSint64Entry', full_name='protobuf_unittest.TestMaps.MSint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MSint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MSint64Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2306, serialized_end=2386, ) _TESTMAPS_MFIXED32ENTRY = _descriptor.Descriptor( name='MFixed32Entry', full_name='protobuf_unittest.TestMaps.MFixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MFixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MFixed32Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2388, serialized_end=2469, ) _TESTMAPS_MFIXED64ENTRY = _descriptor.Descriptor( name='MFixed64Entry', full_name='protobuf_unittest.TestMaps.MFixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MFixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MFixed64Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2471, serialized_end=2552, ) _TESTMAPS_MSFIXED32ENTRY = _descriptor.Descriptor( name='MSfixed32Entry', full_name='protobuf_unittest.TestMaps.MSfixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MSfixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MSfixed32Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2554, serialized_end=2636, ) _TESTMAPS_MSFIXED64ENTRY = _descriptor.Descriptor( name='MSfixed64Entry', full_name='protobuf_unittest.TestMaps.MSfixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MSfixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MSfixed64Entry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2638, serialized_end=2720, ) _TESTMAPS_MBOOLENTRY = _descriptor.Descriptor( name='MBoolEntry', full_name='protobuf_unittest.TestMaps.MBoolEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MBoolEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MBoolEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2722, serialized_end=2800, ) _TESTMAPS_MSTRINGENTRY = _descriptor.Descriptor( name='MStringEntry', full_name='protobuf_unittest.TestMaps.MStringEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMaps.MStringEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMaps.MStringEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2802, serialized_end=2882, ) _TESTMAPS = _descriptor.Descriptor( name='TestMaps', full_name='protobuf_unittest.TestMaps', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='m_int32', full_name='protobuf_unittest.TestMaps.m_int32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_int64', full_name='protobuf_unittest.TestMaps.m_int64', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_uint32', full_name='protobuf_unittest.TestMaps.m_uint32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_uint64', full_name='protobuf_unittest.TestMaps.m_uint64', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_sint32', full_name='protobuf_unittest.TestMaps.m_sint32', index=4, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_sint64', full_name='protobuf_unittest.TestMaps.m_sint64', index=5, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_fixed32', full_name='protobuf_unittest.TestMaps.m_fixed32', index=6, number=7, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_fixed64', full_name='protobuf_unittest.TestMaps.m_fixed64', index=7, number=8, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_sfixed32', full_name='protobuf_unittest.TestMaps.m_sfixed32', index=8, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_sfixed64', full_name='protobuf_unittest.TestMaps.m_sfixed64', index=9, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_bool', full_name='protobuf_unittest.TestMaps.m_bool', index=10, number=11, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='m_string', full_name='protobuf_unittest.TestMaps.m_string', index=11, number=12, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTMAPS_MINT32ENTRY, _TESTMAPS_MINT64ENTRY, _TESTMAPS_MUINT32ENTRY, _TESTMAPS_MUINT64ENTRY, _TESTMAPS_MSINT32ENTRY, _TESTMAPS_MSINT64ENTRY, _TESTMAPS_MFIXED32ENTRY, _TESTMAPS_MFIXED64ENTRY, _TESTMAPS_MSFIXED32ENTRY, _TESTMAPS_MSFIXED64ENTRY, _TESTMAPS_MBOOLENTRY, _TESTMAPS_MSTRINGENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1162, serialized_end=2882, ) _TESTSUBMESSAGEMAPS = _descriptor.Descriptor( name='TestSubmessageMaps', full_name='protobuf_unittest.TestSubmessageMaps', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='m', full_name='protobuf_unittest.TestSubmessageMaps.m', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=2884, serialized_end=2944, ) _TESTENUMMAP_KNOWNMAPFIELDENTRY.fields_by_name['value'].enum_type = _PROTO2MAPENUM _TESTENUMMAP_KNOWNMAPFIELDENTRY.containing_type = _TESTENUMMAP _TESTENUMMAP_UNKNOWNMAPFIELDENTRY.fields_by_name['value'].enum_type = _PROTO2MAPENUM _TESTENUMMAP_UNKNOWNMAPFIELDENTRY.containing_type = _TESTENUMMAP _TESTENUMMAP.fields_by_name['known_map_field'].message_type = _TESTENUMMAP_KNOWNMAPFIELDENTRY _TESTENUMMAP.fields_by_name['unknown_map_field'].message_type = _TESTENUMMAP_UNKNOWNMAPFIELDENTRY _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY.fields_by_name['value'].enum_type = _PROTO2MAPENUMPLUSEXTRA _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY.containing_type = _TESTENUMMAPPLUSEXTRA _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY.fields_by_name['value'].enum_type = _PROTO2MAPENUMPLUSEXTRA _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY.containing_type = _TESTENUMMAPPLUSEXTRA _TESTENUMMAPPLUSEXTRA.fields_by_name['known_map_field'].message_type = _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY _TESTENUMMAPPLUSEXTRA.fields_by_name['unknown_map_field'].message_type = _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY.fields_by_name['value'].enum_type = google_dot_protobuf_dot_unittest__import__pb2._IMPORTENUMFORMAP _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY.containing_type = _TESTIMPORTENUMMAP _TESTIMPORTENUMMAP.fields_by_name['import_enum_amp'].message_type = _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY _TESTINTINTMAP_MENTRY.containing_type = _TESTINTINTMAP _TESTINTINTMAP.fields_by_name['m'].message_type = _TESTINTINTMAP_MENTRY _TESTMAPS_MINT32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MINT32ENTRY.containing_type = _TESTMAPS _TESTMAPS_MINT64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MINT64ENTRY.containing_type = _TESTMAPS _TESTMAPS_MUINT32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MUINT32ENTRY.containing_type = _TESTMAPS _TESTMAPS_MUINT64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MUINT64ENTRY.containing_type = _TESTMAPS _TESTMAPS_MSINT32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MSINT32ENTRY.containing_type = _TESTMAPS _TESTMAPS_MSINT64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MSINT64ENTRY.containing_type = _TESTMAPS _TESTMAPS_MFIXED32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MFIXED32ENTRY.containing_type = _TESTMAPS _TESTMAPS_MFIXED64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MFIXED64ENTRY.containing_type = _TESTMAPS _TESTMAPS_MSFIXED32ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MSFIXED32ENTRY.containing_type = _TESTMAPS _TESTMAPS_MSFIXED64ENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MSFIXED64ENTRY.containing_type = _TESTMAPS _TESTMAPS_MBOOLENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MBOOLENTRY.containing_type = _TESTMAPS _TESTMAPS_MSTRINGENTRY.fields_by_name['value'].message_type = _TESTINTINTMAP _TESTMAPS_MSTRINGENTRY.containing_type = _TESTMAPS _TESTMAPS.fields_by_name['m_int32'].message_type = _TESTMAPS_MINT32ENTRY _TESTMAPS.fields_by_name['m_int64'].message_type = _TESTMAPS_MINT64ENTRY _TESTMAPS.fields_by_name['m_uint32'].message_type = _TESTMAPS_MUINT32ENTRY _TESTMAPS.fields_by_name['m_uint64'].message_type = _TESTMAPS_MUINT64ENTRY _TESTMAPS.fields_by_name['m_sint32'].message_type = _TESTMAPS_MSINT32ENTRY _TESTMAPS.fields_by_name['m_sint64'].message_type = _TESTMAPS_MSINT64ENTRY _TESTMAPS.fields_by_name['m_fixed32'].message_type = _TESTMAPS_MFIXED32ENTRY _TESTMAPS.fields_by_name['m_fixed64'].message_type = _TESTMAPS_MFIXED64ENTRY _TESTMAPS.fields_by_name['m_sfixed32'].message_type = _TESTMAPS_MSFIXED32ENTRY _TESTMAPS.fields_by_name['m_sfixed64'].message_type = _TESTMAPS_MSFIXED64ENTRY _TESTMAPS.fields_by_name['m_bool'].message_type = _TESTMAPS_MBOOLENTRY _TESTMAPS.fields_by_name['m_string'].message_type = _TESTMAPS_MSTRINGENTRY _TESTSUBMESSAGEMAPS.fields_by_name['m'].message_type = _TESTMAPS DESCRIPTOR.message_types_by_name['TestEnumMap'] = _TESTENUMMAP DESCRIPTOR.message_types_by_name['TestEnumMapPlusExtra'] = _TESTENUMMAPPLUSEXTRA DESCRIPTOR.message_types_by_name['TestImportEnumMap'] = _TESTIMPORTENUMMAP DESCRIPTOR.message_types_by_name['TestIntIntMap'] = _TESTINTINTMAP DESCRIPTOR.message_types_by_name['TestMaps'] = _TESTMAPS DESCRIPTOR.message_types_by_name['TestSubmessageMaps'] = _TESTSUBMESSAGEMAPS DESCRIPTOR.enum_types_by_name['Proto2MapEnum'] = _PROTO2MAPENUM DESCRIPTOR.enum_types_by_name['Proto2MapEnumPlusExtra'] = _PROTO2MAPENUMPLUSEXTRA _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestEnumMap = _reflection.GeneratedProtocolMessageType('TestEnumMap', (_message.Message,), dict( KnownMapFieldEntry = _reflection.GeneratedProtocolMessageType('KnownMapFieldEntry', (_message.Message,), dict( DESCRIPTOR = _TESTENUMMAP_KNOWNMAPFIELDENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMap.KnownMapFieldEntry) )) , UnknownMapFieldEntry = _reflection.GeneratedProtocolMessageType('UnknownMapFieldEntry', (_message.Message,), dict( DESCRIPTOR = _TESTENUMMAP_UNKNOWNMAPFIELDENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMap.UnknownMapFieldEntry) )) , DESCRIPTOR = _TESTENUMMAP, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMap) )) _sym_db.RegisterMessage(TestEnumMap) _sym_db.RegisterMessage(TestEnumMap.KnownMapFieldEntry) _sym_db.RegisterMessage(TestEnumMap.UnknownMapFieldEntry) TestEnumMapPlusExtra = _reflection.GeneratedProtocolMessageType('TestEnumMapPlusExtra', (_message.Message,), dict( KnownMapFieldEntry = _reflection.GeneratedProtocolMessageType('KnownMapFieldEntry', (_message.Message,), dict( DESCRIPTOR = _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMapPlusExtra.KnownMapFieldEntry) )) , UnknownMapFieldEntry = _reflection.GeneratedProtocolMessageType('UnknownMapFieldEntry', (_message.Message,), dict( DESCRIPTOR = _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMapPlusExtra.UnknownMapFieldEntry) )) , DESCRIPTOR = _TESTENUMMAPPLUSEXTRA, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestEnumMapPlusExtra) )) _sym_db.RegisterMessage(TestEnumMapPlusExtra) _sym_db.RegisterMessage(TestEnumMapPlusExtra.KnownMapFieldEntry) _sym_db.RegisterMessage(TestEnumMapPlusExtra.UnknownMapFieldEntry) TestImportEnumMap = _reflection.GeneratedProtocolMessageType('TestImportEnumMap', (_message.Message,), dict( ImportEnumAmpEntry = _reflection.GeneratedProtocolMessageType('ImportEnumAmpEntry', (_message.Message,), dict( DESCRIPTOR = _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestImportEnumMap.ImportEnumAmpEntry) )) , DESCRIPTOR = _TESTIMPORTENUMMAP, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestImportEnumMap) )) _sym_db.RegisterMessage(TestImportEnumMap) _sym_db.RegisterMessage(TestImportEnumMap.ImportEnumAmpEntry) TestIntIntMap = _reflection.GeneratedProtocolMessageType('TestIntIntMap', (_message.Message,), dict( MEntry = _reflection.GeneratedProtocolMessageType('MEntry', (_message.Message,), dict( DESCRIPTOR = _TESTINTINTMAP_MENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestIntIntMap.MEntry) )) , DESCRIPTOR = _TESTINTINTMAP, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestIntIntMap) )) _sym_db.RegisterMessage(TestIntIntMap) _sym_db.RegisterMessage(TestIntIntMap.MEntry) TestMaps = _reflection.GeneratedProtocolMessageType('TestMaps', (_message.Message,), dict( MInt32Entry = _reflection.GeneratedProtocolMessageType('MInt32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MINT32ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MInt32Entry) )) , MInt64Entry = _reflection.GeneratedProtocolMessageType('MInt64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MINT64ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MInt64Entry) )) , MUint32Entry = _reflection.GeneratedProtocolMessageType('MUint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MUINT32ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MUint32Entry) )) , MUint64Entry = _reflection.GeneratedProtocolMessageType('MUint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MUINT64ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MUint64Entry) )) , MSint32Entry = _reflection.GeneratedProtocolMessageType('MSint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MSINT32ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MSint32Entry) )) , MSint64Entry = _reflection.GeneratedProtocolMessageType('MSint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MSINT64ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MSint64Entry) )) , MFixed32Entry = _reflection.GeneratedProtocolMessageType('MFixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MFIXED32ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MFixed32Entry) )) , MFixed64Entry = _reflection.GeneratedProtocolMessageType('MFixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MFIXED64ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MFixed64Entry) )) , MSfixed32Entry = _reflection.GeneratedProtocolMessageType('MSfixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MSFIXED32ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MSfixed32Entry) )) , MSfixed64Entry = _reflection.GeneratedProtocolMessageType('MSfixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MSFIXED64ENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MSfixed64Entry) )) , MBoolEntry = _reflection.GeneratedProtocolMessageType('MBoolEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MBOOLENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MBoolEntry) )) , MStringEntry = _reflection.GeneratedProtocolMessageType('MStringEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAPS_MSTRINGENTRY, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps.MStringEntry) )) , DESCRIPTOR = _TESTMAPS, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMaps) )) _sym_db.RegisterMessage(TestMaps) _sym_db.RegisterMessage(TestMaps.MInt32Entry) _sym_db.RegisterMessage(TestMaps.MInt64Entry) _sym_db.RegisterMessage(TestMaps.MUint32Entry) _sym_db.RegisterMessage(TestMaps.MUint64Entry) _sym_db.RegisterMessage(TestMaps.MSint32Entry) _sym_db.RegisterMessage(TestMaps.MSint64Entry) _sym_db.RegisterMessage(TestMaps.MFixed32Entry) _sym_db.RegisterMessage(TestMaps.MFixed64Entry) _sym_db.RegisterMessage(TestMaps.MSfixed32Entry) _sym_db.RegisterMessage(TestMaps.MSfixed64Entry) _sym_db.RegisterMessage(TestMaps.MBoolEntry) _sym_db.RegisterMessage(TestMaps.MStringEntry) TestSubmessageMaps = _reflection.GeneratedProtocolMessageType('TestSubmessageMaps', (_message.Message,), dict( DESCRIPTOR = _TESTSUBMESSAGEMAPS, __module__ = 'google.protobuf.map_proto2_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestSubmessageMaps) )) _sym_db.RegisterMessage(TestSubmessageMaps) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\370\001\001')) _TESTENUMMAP_KNOWNMAPFIELDENTRY.has_options = True _TESTENUMMAP_KNOWNMAPFIELDENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTENUMMAP_UNKNOWNMAPFIELDENTRY.has_options = True _TESTENUMMAP_UNKNOWNMAPFIELDENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY.has_options = True _TESTENUMMAPPLUSEXTRA_KNOWNMAPFIELDENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY.has_options = True _TESTENUMMAPPLUSEXTRA_UNKNOWNMAPFIELDENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY.has_options = True _TESTIMPORTENUMMAP_IMPORTENUMAMPENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTINTINTMAP_MENTRY.has_options = True _TESTINTINTMAP_MENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MINT32ENTRY.has_options = True _TESTMAPS_MINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MINT64ENTRY.has_options = True _TESTMAPS_MINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MUINT32ENTRY.has_options = True _TESTMAPS_MUINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MUINT64ENTRY.has_options = True _TESTMAPS_MUINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MSINT32ENTRY.has_options = True _TESTMAPS_MSINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MSINT64ENTRY.has_options = True _TESTMAPS_MSINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MFIXED32ENTRY.has_options = True _TESTMAPS_MFIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MFIXED64ENTRY.has_options = True _TESTMAPS_MFIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MSFIXED32ENTRY.has_options = True _TESTMAPS_MSFIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MSFIXED64ENTRY.has_options = True _TESTMAPS_MSFIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MBOOLENTRY.has_options = True _TESTMAPS_MBOOLENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAPS_MSTRINGENTRY.has_options = True _TESTMAPS_MSTRINGENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) PK!^protobuf/reflection.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # This code is meant to work on Python 2.4 and above only. """Contains a metaclass and helper functions used to create protocol message classes from Descriptor objects at runtime. Recall that a metaclass is the "type" of a class. (A class is to a metaclass what an instance is to a class.) In this case, we use the GeneratedProtocolMessageType metaclass to inject all the useful functionality into the classes output by the protocol compiler at compile-time. The upshot of all this is that the real implementation details for ALL pure-Python protocol buffers are *here in this file*. """ __author__ = 'robinson@google.com (Will Robinson)' from google.protobuf.internal import api_implementation from google.protobuf import message if api_implementation.Type() == 'cpp': from google.protobuf.pyext import cpp_message as message_impl else: from google.protobuf.internal import python_message as message_impl # The type of all Message classes. # Part of the public interface, but normally only used by message factories. GeneratedProtocolMessageType = message_impl.GeneratedProtocolMessageType MESSAGE_CLASS_CACHE = {} def ParseMessage(descriptor, byte_str): """Generate a new Message instance from this Descriptor and a byte string. Args: descriptor: Protobuf Descriptor object byte_str: Serialized protocol buffer byte string Returns: Newly created protobuf Message object. """ result_class = MakeClass(descriptor) new_msg = result_class() new_msg.ParseFromString(byte_str) return new_msg def MakeClass(descriptor): """Construct a class object for a protobuf described by descriptor. Composite descriptors are handled by defining the new class as a member of the parent class, recursing as deep as necessary. This is the dynamic equivalent to: class Parent(message.Message): __metaclass__ = GeneratedProtocolMessageType DESCRIPTOR = descriptor class Child(message.Message): __metaclass__ = GeneratedProtocolMessageType DESCRIPTOR = descriptor.nested_types[0] Sample usage: file_descriptor = descriptor_pb2.FileDescriptorProto() file_descriptor.ParseFromString(proto2_string) msg_descriptor = descriptor.MakeDescriptor(file_descriptor.message_type[0]) msg_class = reflection.MakeClass(msg_descriptor) msg = msg_class() Args: descriptor: A descriptor.Descriptor object describing the protobuf. Returns: The Message class object described by the descriptor. """ if descriptor in MESSAGE_CLASS_CACHE: return MESSAGE_CLASS_CACHE[descriptor] attributes = {} for name, nested_type in list(descriptor.nested_types_by_name.items()): attributes[name] = MakeClass(nested_type) attributes[GeneratedProtocolMessageType._DESCRIPTOR_KEY] = descriptor result = GeneratedProtocolMessageType( str(descriptor.name), (message.Message,), attributes) MESSAGE_CLASS_CACHE[descriptor] = result return result PK!%2protobuf/descriptor.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Descriptors essentially contain exactly the information found in a .proto file, in types that make this information accessible in Python. """ __author__ = 'robinson@google.com (Will Robinson)' import six from google.protobuf.internal import api_implementation _USE_C_DESCRIPTORS = False if api_implementation.Type() == 'cpp': # Used by MakeDescriptor in cpp mode import os import uuid from google.protobuf.pyext import _message _USE_C_DESCRIPTORS = getattr(_message, '_USE_C_DESCRIPTORS', False) class Error(Exception): """Base error for this module.""" class TypeTransformationError(Error): """Error transforming between python proto type and corresponding C++ type.""" if _USE_C_DESCRIPTORS: # This metaclass allows to override the behavior of code like # isinstance(my_descriptor, FieldDescriptor) # and make it return True when the descriptor is an instance of the extension # type written in C++. class DescriptorMetaclass(type): def __instancecheck__(cls, obj): if super(DescriptorMetaclass, cls).__instancecheck__(obj): return True if isinstance(obj, cls._C_DESCRIPTOR_CLASS): return True return False else: # The standard metaclass; nothing changes. DescriptorMetaclass = type class DescriptorBase(six.with_metaclass(DescriptorMetaclass)): """Descriptors base class. This class is the base of all descriptor classes. It provides common options related functionality. Attributes: has_options: True if the descriptor has non-default options. Usually it is not necessary to read this -- just call GetOptions() which will happily return the default instance. However, it's sometimes useful for efficiency, and also useful inside the protobuf implementation to avoid some bootstrapping issues. """ if _USE_C_DESCRIPTORS: # The class, or tuple of classes, that are considered as "virtual # subclasses" of this descriptor class. _C_DESCRIPTOR_CLASS = () def __init__(self, options, options_class_name): """Initialize the descriptor given its options message and the name of the class of the options message. The name of the class is required in case the options message is None and has to be created. """ self._options = options self._options_class_name = options_class_name # Does this descriptor have non-default options? self.has_options = options is not None def _SetOptions(self, options, options_class_name): """Sets the descriptor's options This function is used in generated proto2 files to update descriptor options. It must not be used outside proto2. """ self._options = options self._options_class_name = options_class_name # Does this descriptor have non-default options? self.has_options = options is not None def GetOptions(self): """Retrieves descriptor options. This method returns the options set or creates the default options for the descriptor. """ if self._options: return self._options from google.protobuf import descriptor_pb2 try: options_class = getattr(descriptor_pb2, self._options_class_name) except AttributeError: raise RuntimeError('Unknown options class name %s!' % (self._options_class_name)) self._options = options_class() return self._options class _NestedDescriptorBase(DescriptorBase): """Common class for descriptors that can be nested.""" def __init__(self, options, options_class_name, name, full_name, file, containing_type, serialized_start=None, serialized_end=None): """Constructor. Args: options: Protocol message options or None to use default message options. options_class_name: (str) The class name of the above options. name: (str) Name of this protocol message type. full_name: (str) Fully-qualified name of this protocol message type, which will include protocol "package" name and the name of any enclosing types. file: (FileDescriptor) Reference to file info. containing_type: if provided, this is a nested descriptor, with this descriptor as parent, otherwise None. serialized_start: The start index (inclusive) in block in the file.serialized_pb that describes this descriptor. serialized_end: The end index (exclusive) in block in the file.serialized_pb that describes this descriptor. """ super(_NestedDescriptorBase, self).__init__( options, options_class_name) self.name = name # TODO(falk): Add function to calculate full_name instead of having it in # memory? self.full_name = full_name self.file = file self.containing_type = containing_type self._serialized_start = serialized_start self._serialized_end = serialized_end def CopyToProto(self, proto): """Copies this to the matching proto in descriptor_pb2. Args: proto: An empty proto instance from descriptor_pb2. Raises: Error: If self couldnt be serialized, due to to few constructor arguments. """ if (self.file is not None and self._serialized_start is not None and self._serialized_end is not None): proto.ParseFromString(self.file.serialized_pb[ self._serialized_start:self._serialized_end]) else: raise Error('Descriptor does not contain serialization.') class Descriptor(_NestedDescriptorBase): """Descriptor for a protocol message type. A Descriptor instance has the following attributes: name: (str) Name of this protocol message type. full_name: (str) Fully-qualified name of this protocol message type, which will include protocol "package" name and the name of any enclosing types. containing_type: (Descriptor) Reference to the descriptor of the type containing us, or None if this is top-level. fields: (list of FieldDescriptors) Field descriptors for all fields in this type. fields_by_number: (dict int -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "number" attribute in each FieldDescriptor. fields_by_name: (dict str -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "name" attribute in each FieldDescriptor. fields_by_camelcase_name: (dict str -> FieldDescriptor) Same FieldDescriptor objects as in |fields|, but indexed by "camelcase_name" attribute in each FieldDescriptor. nested_types: (list of Descriptors) Descriptor references for all protocol message types nested within this one. nested_types_by_name: (dict str -> Descriptor) Same Descriptor objects as in |nested_types|, but indexed by "name" attribute in each Descriptor. enum_types: (list of EnumDescriptors) EnumDescriptor references for all enums contained within this type. enum_types_by_name: (dict str ->EnumDescriptor) Same EnumDescriptor objects as in |enum_types|, but indexed by "name" attribute in each EnumDescriptor. enum_values_by_name: (dict str -> EnumValueDescriptor) Dict mapping from enum value name to EnumValueDescriptor for that value. extensions: (list of FieldDescriptor) All extensions defined directly within this message type (NOT within a nested type). extensions_by_name: (dict, string -> FieldDescriptor) Same FieldDescriptor objects as |extensions|, but indexed by "name" attribute of each FieldDescriptor. is_extendable: Does this type define any extension ranges? oneofs: (list of OneofDescriptor) The list of descriptors for oneof fields in this message. oneofs_by_name: (dict str -> OneofDescriptor) Same objects as in |oneofs|, but indexed by "name" attribute. file: (FileDescriptor) Reference to file descriptor. """ if _USE_C_DESCRIPTORS: _C_DESCRIPTOR_CLASS = _message.Descriptor def __new__(cls, name, full_name, filename, containing_type, fields, nested_types, enum_types, extensions, options=None, is_extendable=True, extension_ranges=None, oneofs=None, file=None, serialized_start=None, serialized_end=None, # pylint: disable=redefined-builtin syntax=None): _message.Message._CheckCalledFromGeneratedFile() return _message.default_pool.FindMessageTypeByName(full_name) # NOTE(tmarek): The file argument redefining a builtin is nothing we can # fix right now since we don't know how many clients already rely on the # name of the argument. def __init__(self, name, full_name, filename, containing_type, fields, nested_types, enum_types, extensions, options=None, is_extendable=True, extension_ranges=None, oneofs=None, file=None, serialized_start=None, serialized_end=None, # pylint: disable=redefined-builtin syntax=None): """Arguments to __init__() are as described in the description of Descriptor fields above. Note that filename is an obsolete argument, that is not used anymore. Please use file.name to access this as an attribute. """ super(Descriptor, self).__init__( options, 'MessageOptions', name, full_name, file, containing_type, serialized_start=serialized_start, serialized_end=serialized_end) # We have fields in addition to fields_by_name and fields_by_number, # so that: # 1. Clients can index fields by "order in which they're listed." # 2. Clients can easily iterate over all fields with the terse # syntax: for f in descriptor.fields: ... self.fields = fields for field in self.fields: field.containing_type = self self.fields_by_number = dict((f.number, f) for f in fields) self.fields_by_name = dict((f.name, f) for f in fields) self._fields_by_camelcase_name = None self.nested_types = nested_types for nested_type in nested_types: nested_type.containing_type = self self.nested_types_by_name = dict((t.name, t) for t in nested_types) self.enum_types = enum_types for enum_type in self.enum_types: enum_type.containing_type = self self.enum_types_by_name = dict((t.name, t) for t in enum_types) self.enum_values_by_name = dict( (v.name, v) for t in enum_types for v in t.values) self.extensions = extensions for extension in self.extensions: extension.extension_scope = self self.extensions_by_name = dict((f.name, f) for f in extensions) self.is_extendable = is_extendable self.extension_ranges = extension_ranges self.oneofs = oneofs if oneofs is not None else [] self.oneofs_by_name = dict((o.name, o) for o in self.oneofs) for oneof in self.oneofs: oneof.containing_type = self self.syntax = syntax or "proto2" @property def fields_by_camelcase_name(self): if self._fields_by_camelcase_name is None: self._fields_by_camelcase_name = dict( (f.camelcase_name, f) for f in self.fields) return self._fields_by_camelcase_name def EnumValueName(self, enum, value): """Returns the string name of an enum value. This is just a small helper method to simplify a common operation. Args: enum: string name of the Enum. value: int, value of the enum. Returns: string name of the enum value. Raises: KeyError if either the Enum doesn't exist or the value is not a valid value for the enum. """ return self.enum_types_by_name[enum].values_by_number[value].name def CopyToProto(self, proto): """Copies this to a descriptor_pb2.DescriptorProto. Args: proto: An empty descriptor_pb2.DescriptorProto. """ # This function is overridden to give a better doc comment. super(Descriptor, self).CopyToProto(proto) # TODO(robinson): We should have aggressive checking here, # for example: # * If you specify a repeated field, you should not be allowed # to specify a default value. # * [Other examples here as needed]. # # TODO(robinson): for this and other *Descriptor classes, we # might also want to lock things down aggressively (e.g., # prevent clients from setting the attributes). Having # stronger invariants here in general will reduce the number # of runtime checks we must do in reflection.py... class FieldDescriptor(DescriptorBase): """Descriptor for a single field in a .proto file. A FieldDescriptor instance has the following attributes: name: (str) Name of this field, exactly as it appears in .proto. full_name: (str) Name of this field, including containing scope. This is particularly relevant for extensions. camelcase_name: (str) Camelcase name of this field. index: (int) Dense, 0-indexed index giving the order that this field textually appears within its message in the .proto file. number: (int) Tag number declared for this field in the .proto file. type: (One of the TYPE_* constants below) Declared type. cpp_type: (One of the CPPTYPE_* constants below) C++ type used to represent this field. label: (One of the LABEL_* constants below) Tells whether this field is optional, required, or repeated. has_default_value: (bool) True if this field has a default value defined, otherwise false. default_value: (Varies) Default value of this field. Only meaningful for non-repeated scalar fields. Repeated fields should always set this to [], and non-repeated composite fields should always set this to None. containing_type: (Descriptor) Descriptor of the protocol message type that contains this field. Set by the Descriptor constructor if we're passed into one. Somewhat confusingly, for extension fields, this is the descriptor of the EXTENDED message, not the descriptor of the message containing this field. (See is_extension and extension_scope below). message_type: (Descriptor) If a composite field, a descriptor of the message type contained in this field. Otherwise, this is None. enum_type: (EnumDescriptor) If this field contains an enum, a descriptor of that enum. Otherwise, this is None. is_extension: True iff this describes an extension field. extension_scope: (Descriptor) Only meaningful if is_extension is True. Gives the message that immediately contains this extension field. Will be None iff we're a top-level (file-level) extension field. options: (descriptor_pb2.FieldOptions) Protocol message field options or None to use default field options. containing_oneof: (OneofDescriptor) If the field is a member of a oneof union, contains its descriptor. Otherwise, None. file: (FileDescriptor) Reference to file descriptor. """ # Must be consistent with C++ FieldDescriptor::Type enum in # descriptor.h. # # TODO(robinson): Find a way to eliminate this repetition. TYPE_DOUBLE = 1 TYPE_FLOAT = 2 TYPE_INT64 = 3 TYPE_UINT64 = 4 TYPE_INT32 = 5 TYPE_FIXED64 = 6 TYPE_FIXED32 = 7 TYPE_BOOL = 8 TYPE_STRING = 9 TYPE_GROUP = 10 TYPE_MESSAGE = 11 TYPE_BYTES = 12 TYPE_UINT32 = 13 TYPE_ENUM = 14 TYPE_SFIXED32 = 15 TYPE_SFIXED64 = 16 TYPE_SINT32 = 17 TYPE_SINT64 = 18 MAX_TYPE = 18 # Must be consistent with C++ FieldDescriptor::CppType enum in # descriptor.h. # # TODO(robinson): Find a way to eliminate this repetition. CPPTYPE_INT32 = 1 CPPTYPE_INT64 = 2 CPPTYPE_UINT32 = 3 CPPTYPE_UINT64 = 4 CPPTYPE_DOUBLE = 5 CPPTYPE_FLOAT = 6 CPPTYPE_BOOL = 7 CPPTYPE_ENUM = 8 CPPTYPE_STRING = 9 CPPTYPE_MESSAGE = 10 MAX_CPPTYPE = 10 _PYTHON_TO_CPP_PROTO_TYPE_MAP = { TYPE_DOUBLE: CPPTYPE_DOUBLE, TYPE_FLOAT: CPPTYPE_FLOAT, TYPE_ENUM: CPPTYPE_ENUM, TYPE_INT64: CPPTYPE_INT64, TYPE_SINT64: CPPTYPE_INT64, TYPE_SFIXED64: CPPTYPE_INT64, TYPE_UINT64: CPPTYPE_UINT64, TYPE_FIXED64: CPPTYPE_UINT64, TYPE_INT32: CPPTYPE_INT32, TYPE_SFIXED32: CPPTYPE_INT32, TYPE_SINT32: CPPTYPE_INT32, TYPE_UINT32: CPPTYPE_UINT32, TYPE_FIXED32: CPPTYPE_UINT32, TYPE_BYTES: CPPTYPE_STRING, TYPE_STRING: CPPTYPE_STRING, TYPE_BOOL: CPPTYPE_BOOL, TYPE_MESSAGE: CPPTYPE_MESSAGE, TYPE_GROUP: CPPTYPE_MESSAGE } # Must be consistent with C++ FieldDescriptor::Label enum in # descriptor.h. # # TODO(robinson): Find a way to eliminate this repetition. LABEL_OPTIONAL = 1 LABEL_REQUIRED = 2 LABEL_REPEATED = 3 MAX_LABEL = 3 # Must be consistent with C++ constants kMaxNumber, kFirstReservedNumber, # and kLastReservedNumber in descriptor.h MAX_FIELD_NUMBER = (1 << 29) - 1 FIRST_RESERVED_FIELD_NUMBER = 19000 LAST_RESERVED_FIELD_NUMBER = 19999 if _USE_C_DESCRIPTORS: _C_DESCRIPTOR_CLASS = _message.FieldDescriptor def __new__(cls, name, full_name, index, number, type, cpp_type, label, default_value, message_type, enum_type, containing_type, is_extension, extension_scope, options=None, has_default_value=True, containing_oneof=None, json_name=None, file=None): _message.Message._CheckCalledFromGeneratedFile() if is_extension: return _message.default_pool.FindExtensionByName(full_name) else: return _message.default_pool.FindFieldByName(full_name) def __init__(self, name, full_name, index, number, type, cpp_type, label, default_value, message_type, enum_type, containing_type, is_extension, extension_scope, options=None, has_default_value=True, containing_oneof=None, json_name=None, file=None): """The arguments are as described in the description of FieldDescriptor attributes above. Note that containing_type may be None, and may be set later if necessary (to deal with circular references between message types, for example). Likewise for extension_scope. """ super(FieldDescriptor, self).__init__(options, 'FieldOptions') self.name = name self.full_name = full_name self.file = file self._camelcase_name = None if json_name is None: self.json_name = _ToJsonName(name) else: self.json_name = json_name self.index = index self.number = number self.type = type self.cpp_type = cpp_type self.label = label self.has_default_value = has_default_value self.default_value = default_value self.containing_type = containing_type self.message_type = message_type self.enum_type = enum_type self.is_extension = is_extension self.extension_scope = extension_scope self.containing_oneof = containing_oneof if api_implementation.Type() == 'cpp': if is_extension: self._cdescriptor = _message.default_pool.FindExtensionByName(full_name) else: self._cdescriptor = _message.default_pool.FindFieldByName(full_name) else: self._cdescriptor = None @property def camelcase_name(self): if self._camelcase_name is None: self._camelcase_name = _ToCamelCase(self.name) return self._camelcase_name @staticmethod def ProtoTypeToCppProtoType(proto_type): """Converts from a Python proto type to a C++ Proto Type. The Python ProtocolBuffer classes specify both the 'Python' datatype and the 'C++' datatype - and they're not the same. This helper method should translate from one to another. Args: proto_type: the Python proto type (descriptor.FieldDescriptor.TYPE_*) Returns: descriptor.FieldDescriptor.CPPTYPE_*, the C++ type. Raises: TypeTransformationError: when the Python proto type isn't known. """ try: return FieldDescriptor._PYTHON_TO_CPP_PROTO_TYPE_MAP[proto_type] except KeyError: raise TypeTransformationError('Unknown proto_type: %s' % proto_type) class EnumDescriptor(_NestedDescriptorBase): """Descriptor for an enum defined in a .proto file. An EnumDescriptor instance has the following attributes: name: (str) Name of the enum type. full_name: (str) Full name of the type, including package name and any enclosing type(s). values: (list of EnumValueDescriptors) List of the values in this enum. values_by_name: (dict str -> EnumValueDescriptor) Same as |values|, but indexed by the "name" field of each EnumValueDescriptor. values_by_number: (dict int -> EnumValueDescriptor) Same as |values|, but indexed by the "number" field of each EnumValueDescriptor. containing_type: (Descriptor) Descriptor of the immediate containing type of this enum, or None if this is an enum defined at the top level in a .proto file. Set by Descriptor's constructor if we're passed into one. file: (FileDescriptor) Reference to file descriptor. options: (descriptor_pb2.EnumOptions) Enum options message or None to use default enum options. """ if _USE_C_DESCRIPTORS: _C_DESCRIPTOR_CLASS = _message.EnumDescriptor def __new__(cls, name, full_name, filename, values, containing_type=None, options=None, file=None, serialized_start=None, serialized_end=None): _message.Message._CheckCalledFromGeneratedFile() return _message.default_pool.FindEnumTypeByName(full_name) def __init__(self, name, full_name, filename, values, containing_type=None, options=None, file=None, serialized_start=None, serialized_end=None): """Arguments are as described in the attribute description above. Note that filename is an obsolete argument, that is not used anymore. Please use file.name to access this as an attribute. """ super(EnumDescriptor, self).__init__( options, 'EnumOptions', name, full_name, file, containing_type, serialized_start=serialized_start, serialized_end=serialized_end) self.values = values for value in self.values: value.type = self self.values_by_name = dict((v.name, v) for v in values) self.values_by_number = dict((v.number, v) for v in values) def CopyToProto(self, proto): """Copies this to a descriptor_pb2.EnumDescriptorProto. Args: proto: An empty descriptor_pb2.EnumDescriptorProto. """ # This function is overridden to give a better doc comment. super(EnumDescriptor, self).CopyToProto(proto) class EnumValueDescriptor(DescriptorBase): """Descriptor for a single value within an enum. name: (str) Name of this value. index: (int) Dense, 0-indexed index giving the order that this value appears textually within its enum in the .proto file. number: (int) Actual number assigned to this enum value. type: (EnumDescriptor) EnumDescriptor to which this value belongs. Set by EnumDescriptor's constructor if we're passed into one. options: (descriptor_pb2.EnumValueOptions) Enum value options message or None to use default enum value options options. """ if _USE_C_DESCRIPTORS: _C_DESCRIPTOR_CLASS = _message.EnumValueDescriptor def __new__(cls, name, index, number, type=None, options=None): _message.Message._CheckCalledFromGeneratedFile() # There is no way we can build a complete EnumValueDescriptor with the # given parameters (the name of the Enum is not known, for example). # Fortunately generated files just pass it to the EnumDescriptor() # constructor, which will ignore it, so returning None is good enough. return None def __init__(self, name, index, number, type=None, options=None): """Arguments are as described in the attribute description above.""" super(EnumValueDescriptor, self).__init__(options, 'EnumValueOptions') self.name = name self.index = index self.number = number self.type = type class OneofDescriptor(DescriptorBase): """Descriptor for a oneof field. name: (str) Name of the oneof field. full_name: (str) Full name of the oneof field, including package name. index: (int) 0-based index giving the order of the oneof field inside its containing type. containing_type: (Descriptor) Descriptor of the protocol message type that contains this field. Set by the Descriptor constructor if we're passed into one. fields: (list of FieldDescriptor) The list of field descriptors this oneof can contain. """ if _USE_C_DESCRIPTORS: _C_DESCRIPTOR_CLASS = _message.OneofDescriptor def __new__( cls, name, full_name, index, containing_type, fields, options=None): _message.Message._CheckCalledFromGeneratedFile() return _message.default_pool.FindOneofByName(full_name) def __init__( self, name, full_name, index, containing_type, fields, options=None): """Arguments are as described in the attribute description above.""" super(OneofDescriptor, self).__init__(options, 'OneofOptions') self.name = name self.full_name = full_name self.index = index self.containing_type = containing_type self.fields = fields class ServiceDescriptor(_NestedDescriptorBase): """Descriptor for a service. name: (str) Name of the service. full_name: (str) Full name of the service, including package name. index: (int) 0-indexed index giving the order that this services definition appears withing the .proto file. methods: (list of MethodDescriptor) List of methods provided by this service. methods_by_name: (dict str -> MethodDescriptor) Same MethodDescriptor objects as in |methods_by_name|, but indexed by "name" attribute in each MethodDescriptor. options: (descriptor_pb2.ServiceOptions) Service options message or None to use default service options. file: (FileDescriptor) Reference to file info. """ if _USE_C_DESCRIPTORS: _C_DESCRIPTOR_CLASS = _message.ServiceDescriptor def __new__(cls, name, full_name, index, methods, options=None, file=None, # pylint: disable=redefined-builtin serialized_start=None, serialized_end=None): _message.Message._CheckCalledFromGeneratedFile() # pylint: disable=protected-access return _message.default_pool.FindServiceByName(full_name) def __init__(self, name, full_name, index, methods, options=None, file=None, serialized_start=None, serialized_end=None): super(ServiceDescriptor, self).__init__( options, 'ServiceOptions', name, full_name, file, None, serialized_start=serialized_start, serialized_end=serialized_end) self.index = index self.methods = methods self.methods_by_name = dict((m.name, m) for m in methods) # Set the containing service for each method in this service. for method in self.methods: method.containing_service = self def FindMethodByName(self, name): """Searches for the specified method, and returns its descriptor.""" return self.methods_by_name.get(name, None) def CopyToProto(self, proto): """Copies this to a descriptor_pb2.ServiceDescriptorProto. Args: proto: An empty descriptor_pb2.ServiceDescriptorProto. """ # This function is overridden to give a better doc comment. super(ServiceDescriptor, self).CopyToProto(proto) class MethodDescriptor(DescriptorBase): """Descriptor for a method in a service. name: (str) Name of the method within the service. full_name: (str) Full name of method. index: (int) 0-indexed index of the method inside the service. containing_service: (ServiceDescriptor) The service that contains this method. input_type: The descriptor of the message that this method accepts. output_type: The descriptor of the message that this method returns. options: (descriptor_pb2.MethodOptions) Method options message or None to use default method options. """ if _USE_C_DESCRIPTORS: _C_DESCRIPTOR_CLASS = _message.MethodDescriptor def __new__(cls, name, full_name, index, containing_service, input_type, output_type, options=None): _message.Message._CheckCalledFromGeneratedFile() # pylint: disable=protected-access return _message.default_pool.FindMethodByName(full_name) def __init__(self, name, full_name, index, containing_service, input_type, output_type, options=None): """The arguments are as described in the description of MethodDescriptor attributes above. Note that containing_service may be None, and may be set later if necessary. """ super(MethodDescriptor, self).__init__(options, 'MethodOptions') self.name = name self.full_name = full_name self.index = index self.containing_service = containing_service self.input_type = input_type self.output_type = output_type class FileDescriptor(DescriptorBase): """Descriptor for a file. Mimics the descriptor_pb2.FileDescriptorProto. Note that enum_types_by_name, extensions_by_name, and dependencies fields are only set by the message_factory module, and not by the generated proto code. name: name of file, relative to root of source tree. package: name of the package syntax: string indicating syntax of the file (can be "proto2" or "proto3") serialized_pb: (str) Byte string of serialized descriptor_pb2.FileDescriptorProto. dependencies: List of other FileDescriptors this FileDescriptor depends on. public_dependencies: A list of FileDescriptors, subset of the dependencies above, which were declared as "public". message_types_by_name: Dict of message names of their descriptors. enum_types_by_name: Dict of enum names and their descriptors. extensions_by_name: Dict of extension names and their descriptors. services_by_name: Dict of services names and their descriptors. pool: the DescriptorPool this descriptor belongs to. When not passed to the constructor, the global default pool is used. """ if _USE_C_DESCRIPTORS: _C_DESCRIPTOR_CLASS = _message.FileDescriptor def __new__(cls, name, package, options=None, serialized_pb=None, dependencies=None, public_dependencies=None, syntax=None, pool=None): # FileDescriptor() is called from various places, not only from generated # files, to register dynamic proto files and messages. if serialized_pb: # TODO(amauryfa): use the pool passed as argument. This will work only # for C++-implemented DescriptorPools. return _message.default_pool.AddSerializedFile(serialized_pb) else: return super(FileDescriptor, cls).__new__(cls) def __init__(self, name, package, options=None, serialized_pb=None, dependencies=None, public_dependencies=None, syntax=None, pool=None): """Constructor.""" super(FileDescriptor, self).__init__(options, 'FileOptions') if pool is None: from google.protobuf import descriptor_pool pool = descriptor_pool.Default() self.pool = pool self.message_types_by_name = {} self.name = name self.package = package self.syntax = syntax or "proto2" self.serialized_pb = serialized_pb self.enum_types_by_name = {} self.extensions_by_name = {} self.services_by_name = {} self.dependencies = (dependencies or []) self.public_dependencies = (public_dependencies or []) if (api_implementation.Type() == 'cpp' and self.serialized_pb is not None): _message.default_pool.AddSerializedFile(self.serialized_pb) def CopyToProto(self, proto): """Copies this to a descriptor_pb2.FileDescriptorProto. Args: proto: An empty descriptor_pb2.FileDescriptorProto. """ proto.ParseFromString(self.serialized_pb) def _ParseOptions(message, string): """Parses serialized options. This helper function is used to parse serialized options in generated proto2 files. It must not be used outside proto2. """ message.ParseFromString(string) return message def _ToCamelCase(name): """Converts name to camel-case and returns it.""" capitalize_next = False result = [] for c in name: if c == '_': if result: capitalize_next = True elif capitalize_next: result.append(c.upper()) capitalize_next = False else: result += c # Lower-case the first letter. if result and result[0].isupper(): result[0] = result[0].lower() return ''.join(result) def _OptionsOrNone(descriptor_proto): """Returns the value of the field `options`, or None if it is not set.""" if descriptor_proto.HasField('options'): return descriptor_proto.options else: return None def _ToJsonName(name): """Converts name to Json name and returns it.""" capitalize_next = False result = [] for c in name: if c == '_': capitalize_next = True elif capitalize_next: result.append(c.upper()) capitalize_next = False else: result += c return ''.join(result) def MakeDescriptor(desc_proto, package='', build_file_if_cpp=True, syntax=None): """Make a protobuf Descriptor given a DescriptorProto protobuf. Handles nested descriptors. Note that this is limited to the scope of defining a message inside of another message. Composite fields can currently only be resolved if the message is defined in the same scope as the field. Args: desc_proto: The descriptor_pb2.DescriptorProto protobuf message. package: Optional package name for the new message Descriptor (string). build_file_if_cpp: Update the C++ descriptor pool if api matches. Set to False on recursion, so no duplicates are created. syntax: The syntax/semantics that should be used. Set to "proto3" to get proto3 field presence semantics. Returns: A Descriptor for protobuf messages. """ if api_implementation.Type() == 'cpp' and build_file_if_cpp: # The C++ implementation requires all descriptors to be backed by the same # definition in the C++ descriptor pool. To do this, we build a # FileDescriptorProto with the same definition as this descriptor and build # it into the pool. from google.protobuf import descriptor_pb2 file_descriptor_proto = descriptor_pb2.FileDescriptorProto() file_descriptor_proto.message_type.add().MergeFrom(desc_proto) # Generate a random name for this proto file to prevent conflicts with any # imported ones. We need to specify a file name so the descriptor pool # accepts our FileDescriptorProto, but it is not important what that file # name is actually set to. proto_name = str(uuid.uuid4()) if package: file_descriptor_proto.name = os.path.join(package.replace('.', '/'), proto_name + '.proto') file_descriptor_proto.package = package else: file_descriptor_proto.name = proto_name + '.proto' _message.default_pool.Add(file_descriptor_proto) result = _message.default_pool.FindFileByName(file_descriptor_proto.name) if _USE_C_DESCRIPTORS: return result.message_types_by_name[desc_proto.name] full_message_name = [desc_proto.name] if package: full_message_name.insert(0, package) # Create Descriptors for enum types enum_types = {} for enum_proto in desc_proto.enum_type: full_name = '.'.join(full_message_name + [enum_proto.name]) enum_desc = EnumDescriptor( enum_proto.name, full_name, None, [ EnumValueDescriptor(enum_val.name, ii, enum_val.number) for ii, enum_val in enumerate(enum_proto.value)]) enum_types[full_name] = enum_desc # Create Descriptors for nested types nested_types = {} for nested_proto in desc_proto.nested_type: full_name = '.'.join(full_message_name + [nested_proto.name]) # Nested types are just those defined inside of the message, not all types # used by fields in the message, so no loops are possible here. nested_desc = MakeDescriptor(nested_proto, package='.'.join(full_message_name), build_file_if_cpp=False, syntax=syntax) nested_types[full_name] = nested_desc fields = [] for field_proto in desc_proto.field: full_name = '.'.join(full_message_name + [field_proto.name]) enum_desc = None nested_desc = None if field_proto.json_name: json_name = field_proto.json_name else: json_name = None if field_proto.HasField('type_name'): type_name = field_proto.type_name full_type_name = '.'.join(full_message_name + [type_name[type_name.rfind('.')+1:]]) if full_type_name in nested_types: nested_desc = nested_types[full_type_name] elif full_type_name in enum_types: enum_desc = enum_types[full_type_name] # Else type_name references a non-local type, which isn't implemented field = FieldDescriptor( field_proto.name, full_name, field_proto.number - 1, field_proto.number, field_proto.type, FieldDescriptor.ProtoTypeToCppProtoType(field_proto.type), field_proto.label, None, nested_desc, enum_desc, None, False, None, options=_OptionsOrNone(field_proto), has_default_value=False, json_name=json_name) fields.append(field) desc_name = '.'.join(full_message_name) return Descriptor(desc_proto.name, desc_name, None, None, fields, list(nested_types.values()), list(enum_types.values()), [], options=_OptionsOrNone(desc_proto)) PK!Lj protobuf/timestamp_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/timestamp.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/timestamp.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n\x1fgoogle/protobuf/timestamp.proto\x12\x0fgoogle.protobuf\"+\n\tTimestamp\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\x12\r\n\x05nanos\x18\x02 \x01(\x05\x42~\n\x13\x63om.google.protobufB\x0eTimestampProtoP\x01Z+github.com/golang/protobuf/ptypes/timestamp\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') ) _TIMESTAMP = _descriptor.Descriptor( name='Timestamp', full_name='google.protobuf.Timestamp', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='seconds', full_name='google.protobuf.Timestamp.seconds', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nanos', full_name='google.protobuf.Timestamp.nanos', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=52, serialized_end=95, ) DESCRIPTOR.message_types_by_name['Timestamp'] = _TIMESTAMP _sym_db.RegisterFileDescriptor(DESCRIPTOR) Timestamp = _reflection.GeneratedProtocolMessageType('Timestamp', (_message.Message,), dict( DESCRIPTOR = _TIMESTAMP, __module__ = 'google.protobuf.timestamp_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Timestamp) )) _sym_db.RegisterMessage(Timestamp) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\016TimestampProtoP\001Z+github.com/golang/protobuf/ptypes/timestamp\370\001\001\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) # @@protoc_insertion_point(module_scope) PK!Cv v protobuf/field_mask_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/field_mask.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/field_mask.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n google/protobuf/field_mask.proto\x12\x0fgoogle.protobuf\"\x1a\n\tFieldMask\x12\r\n\x05paths\x18\x01 \x03(\tB\x89\x01\n\x13\x63om.google.protobufB\x0e\x46ieldMaskProtoP\x01Z9google.golang.org/genproto/protobuf/field_mask;field_mask\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') ) _FIELDMASK = _descriptor.Descriptor( name='FieldMask', full_name='google.protobuf.FieldMask', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='paths', full_name='google.protobuf.FieldMask.paths', index=0, number=1, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=53, serialized_end=79, ) DESCRIPTOR.message_types_by_name['FieldMask'] = _FIELDMASK _sym_db.RegisterFileDescriptor(DESCRIPTOR) FieldMask = _reflection.GeneratedProtocolMessageType('FieldMask', (_message.Message,), dict( DESCRIPTOR = _FIELDMASK, __module__ = 'google.protobuf.field_mask_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.FieldMask) )) _sym_db.RegisterMessage(FieldMask) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\016FieldMaskProtoP\001Z9google.golang.org/genproto/protobuf/field_mask;field_mask\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) # @@protoc_insertion_point(module_scope) PK!̖protobuf/unittest_arena_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_arena.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import unittest_no_arena_import_pb2 as google_dot_protobuf_dot_unittest__no__arena__import__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest_arena.proto', package='proto2_arena_unittest', syntax='proto2', serialized_pb=_b('\n$google/protobuf/unittest_arena.proto\x12\x15proto2_arena_unittest\x1a.google/protobuf/unittest_no_arena_import.proto\"\x1a\n\rNestedMessage\x12\t\n\x01\x64\x18\x01 \x01(\x05\"\xb2\x01\n\x0c\x41renaMessage\x12\x45\n\x17repeated_nested_message\x18\x01 \x03(\x0b\x32$.proto2_arena_unittest.NestedMessage\x12[\n repeated_import_no_arena_message\x18\x02 \x03(\x0b\x32\x31.proto2_arena_unittest.ImportNoArenaNestedMessageB\x03\xf8\x01\x01') , dependencies=[google_dot_protobuf_dot_unittest__no__arena__import__pb2.DESCRIPTOR,]) _NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='proto2_arena_unittest.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='d', full_name='proto2_arena_unittest.NestedMessage.d', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=111, serialized_end=137, ) _ARENAMESSAGE = _descriptor.Descriptor( name='ArenaMessage', full_name='proto2_arena_unittest.ArenaMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='repeated_nested_message', full_name='proto2_arena_unittest.ArenaMessage.repeated_nested_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_import_no_arena_message', full_name='proto2_arena_unittest.ArenaMessage.repeated_import_no_arena_message', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=140, serialized_end=318, ) _ARENAMESSAGE.fields_by_name['repeated_nested_message'].message_type = _NESTEDMESSAGE _ARENAMESSAGE.fields_by_name['repeated_import_no_arena_message'].message_type = google_dot_protobuf_dot_unittest__no__arena__import__pb2._IMPORTNOARENANESTEDMESSAGE DESCRIPTOR.message_types_by_name['NestedMessage'] = _NESTEDMESSAGE DESCRIPTOR.message_types_by_name['ArenaMessage'] = _ARENAMESSAGE _sym_db.RegisterFileDescriptor(DESCRIPTOR) NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _NESTEDMESSAGE, __module__ = 'google.protobuf.unittest_arena_pb2' # @@protoc_insertion_point(class_scope:proto2_arena_unittest.NestedMessage) )) _sym_db.RegisterMessage(NestedMessage) ArenaMessage = _reflection.GeneratedProtocolMessageType('ArenaMessage', (_message.Message,), dict( DESCRIPTOR = _ARENAMESSAGE, __module__ = 'google.protobuf.unittest_arena_pb2' # @@protoc_insertion_point(class_scope:proto2_arena_unittest.ArenaMessage) )) _sym_db.RegisterMessage(ArenaMessage) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\370\001\001')) # @@protoc_insertion_point(module_scope) PK!Os++protobuf/map_unittest_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/map_unittest.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import unittest_pb2 as google_dot_protobuf_dot_unittest__pb2 from google.protobuf import unittest_no_arena_pb2 as google_dot_protobuf_dot_unittest__no__arena__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/map_unittest.proto', package='protobuf_unittest', syntax='proto3', serialized_pb=_b('\n\"google/protobuf/map_unittest.proto\x12\x11protobuf_unittest\x1a\x1egoogle/protobuf/unittest.proto\x1a\'google/protobuf/unittest_no_arena.proto\"\xff\x14\n\x07TestMap\x12\x46\n\x0fmap_int32_int32\x18\x01 \x03(\x0b\x32-.protobuf_unittest.TestMap.MapInt32Int32Entry\x12\x46\n\x0fmap_int64_int64\x18\x02 \x03(\x0b\x32-.protobuf_unittest.TestMap.MapInt64Int64Entry\x12J\n\x11map_uint32_uint32\x18\x03 \x03(\x0b\x32/.protobuf_unittest.TestMap.MapUint32Uint32Entry\x12J\n\x11map_uint64_uint64\x18\x04 \x03(\x0b\x32/.protobuf_unittest.TestMap.MapUint64Uint64Entry\x12J\n\x11map_sint32_sint32\x18\x05 \x03(\x0b\x32/.protobuf_unittest.TestMap.MapSint32Sint32Entry\x12J\n\x11map_sint64_sint64\x18\x06 \x03(\x0b\x32/.protobuf_unittest.TestMap.MapSint64Sint64Entry\x12N\n\x13map_fixed32_fixed32\x18\x07 \x03(\x0b\x32\x31.protobuf_unittest.TestMap.MapFixed32Fixed32Entry\x12N\n\x13map_fixed64_fixed64\x18\x08 \x03(\x0b\x32\x31.protobuf_unittest.TestMap.MapFixed64Fixed64Entry\x12R\n\x15map_sfixed32_sfixed32\x18\t \x03(\x0b\x32\x33.protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry\x12R\n\x15map_sfixed64_sfixed64\x18\n \x03(\x0b\x32\x33.protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry\x12\x46\n\x0fmap_int32_float\x18\x0b \x03(\x0b\x32-.protobuf_unittest.TestMap.MapInt32FloatEntry\x12H\n\x10map_int32_double\x18\x0c \x03(\x0b\x32..protobuf_unittest.TestMap.MapInt32DoubleEntry\x12\x42\n\rmap_bool_bool\x18\r \x03(\x0b\x32+.protobuf_unittest.TestMap.MapBoolBoolEntry\x12J\n\x11map_string_string\x18\x0e \x03(\x0b\x32/.protobuf_unittest.TestMap.MapStringStringEntry\x12\x46\n\x0fmap_int32_bytes\x18\x0f \x03(\x0b\x32-.protobuf_unittest.TestMap.MapInt32BytesEntry\x12\x44\n\x0emap_int32_enum\x18\x10 \x03(\x0b\x32,.protobuf_unittest.TestMap.MapInt32EnumEntry\x12Y\n\x19map_int32_foreign_message\x18\x11 \x03(\x0b\x32\x36.protobuf_unittest.TestMap.MapInt32ForeignMessageEntry\x12[\n\x1amap_string_foreign_message\x18\x12 \x03(\x0b\x32\x37.protobuf_unittest.TestMap.MapStringForeignMessageEntry\x12M\n\x13map_int32_all_types\x18\x13 \x03(\x0b\x32\x30.protobuf_unittest.TestMap.MapInt32AllTypesEntry\x1a\x34\n\x12MapInt32Int32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\x34\n\x12MapInt64Int64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x36\n\x14MapUint32Uint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\x36\n\x14MapUint64Uint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\x1a\x36\n\x14MapSint32Sint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x11:\x02\x38\x01\x1a\x36\n\x14MapSint64Sint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x12\x12\r\n\x05value\x18\x02 \x01(\x12:\x02\x38\x01\x1a\x38\n\x16MapFixed32Fixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05value\x18\x02 \x01(\x07:\x02\x38\x01\x1a\x38\n\x16MapFixed64Fixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x06\x12\r\n\x05value\x18\x02 \x01(\x06:\x02\x38\x01\x1a:\n\x18MapSfixed32Sfixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x0f\x12\r\n\x05value\x18\x02 \x01(\x0f:\x02\x38\x01\x1a:\n\x18MapSfixed64Sfixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x10\x12\r\n\x05value\x18\x02 \x01(\x10:\x02\x38\x01\x1a\x34\n\x12MapInt32FloatEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\x1a\x35\n\x13MapInt32DoubleEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x32\n\x10MapBoolBoolEntry\x12\x0b\n\x03key\x18\x01 \x01(\x08\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x36\n\x14MapStringStringEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12MapInt32BytesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1aO\n\x11MapInt32EnumEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12)\n\x05value\x18\x02 \x01(\x0e\x32\x1a.protobuf_unittest.MapEnum:\x02\x38\x01\x1a`\n\x1bMapInt32ForeignMessageEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32!.protobuf_unittest.ForeignMessage:\x02\x38\x01\x1a\x61\n\x1cMapStringForeignMessageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32!.protobuf_unittest.ForeignMessage:\x02\x38\x01\x1aX\n\x15MapInt32AllTypesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes:\x02\x38\x01\"A\n\x11TestMapSubmessage\x12,\n\x08test_map\x18\x01 \x01(\x0b\x32\x1a.protobuf_unittest.TestMap\"\xbc\x01\n\x0eTestMessageMap\x12Q\n\x11map_int32_message\x18\x01 \x03(\x0b\x32\x36.protobuf_unittest.TestMessageMap.MapInt32MessageEntry\x1aW\n\x14MapInt32MessageEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.protobuf_unittest.TestAllTypes:\x02\x38\x01\"\xe3\x01\n\x0fTestSameTypeMap\x12:\n\x04map1\x18\x01 \x03(\x0b\x32,.protobuf_unittest.TestSameTypeMap.Map1Entry\x12:\n\x04map2\x18\x02 \x03(\x0b\x32,.protobuf_unittest.TestSameTypeMap.Map2Entry\x1a+\n\tMap1Entry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a+\n\tMap2Entry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"\xb6\x01\n\x16TestRequiredMessageMap\x12J\n\tmap_field\x18\x01 \x03(\x0b\x32\x37.protobuf_unittest.TestRequiredMessageMap.MapFieldEntry\x1aP\n\rMapFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.protobuf_unittest.TestRequired:\x02\x38\x01\"\xd2\x14\n\x0cTestArenaMap\x12K\n\x0fmap_int32_int32\x18\x01 \x03(\x0b\x32\x32.protobuf_unittest.TestArenaMap.MapInt32Int32Entry\x12K\n\x0fmap_int64_int64\x18\x02 \x03(\x0b\x32\x32.protobuf_unittest.TestArenaMap.MapInt64Int64Entry\x12O\n\x11map_uint32_uint32\x18\x03 \x03(\x0b\x32\x34.protobuf_unittest.TestArenaMap.MapUint32Uint32Entry\x12O\n\x11map_uint64_uint64\x18\x04 \x03(\x0b\x32\x34.protobuf_unittest.TestArenaMap.MapUint64Uint64Entry\x12O\n\x11map_sint32_sint32\x18\x05 \x03(\x0b\x32\x34.protobuf_unittest.TestArenaMap.MapSint32Sint32Entry\x12O\n\x11map_sint64_sint64\x18\x06 \x03(\x0b\x32\x34.protobuf_unittest.TestArenaMap.MapSint64Sint64Entry\x12S\n\x13map_fixed32_fixed32\x18\x07 \x03(\x0b\x32\x36.protobuf_unittest.TestArenaMap.MapFixed32Fixed32Entry\x12S\n\x13map_fixed64_fixed64\x18\x08 \x03(\x0b\x32\x36.protobuf_unittest.TestArenaMap.MapFixed64Fixed64Entry\x12W\n\x15map_sfixed32_sfixed32\x18\t \x03(\x0b\x32\x38.protobuf_unittest.TestArenaMap.MapSfixed32Sfixed32Entry\x12W\n\x15map_sfixed64_sfixed64\x18\n \x03(\x0b\x32\x38.protobuf_unittest.TestArenaMap.MapSfixed64Sfixed64Entry\x12K\n\x0fmap_int32_float\x18\x0b \x03(\x0b\x32\x32.protobuf_unittest.TestArenaMap.MapInt32FloatEntry\x12M\n\x10map_int32_double\x18\x0c \x03(\x0b\x32\x33.protobuf_unittest.TestArenaMap.MapInt32DoubleEntry\x12G\n\rmap_bool_bool\x18\r \x03(\x0b\x32\x30.protobuf_unittest.TestArenaMap.MapBoolBoolEntry\x12O\n\x11map_string_string\x18\x0e \x03(\x0b\x32\x34.protobuf_unittest.TestArenaMap.MapStringStringEntry\x12K\n\x0fmap_int32_bytes\x18\x0f \x03(\x0b\x32\x32.protobuf_unittest.TestArenaMap.MapInt32BytesEntry\x12I\n\x0emap_int32_enum\x18\x10 \x03(\x0b\x32\x31.protobuf_unittest.TestArenaMap.MapInt32EnumEntry\x12^\n\x19map_int32_foreign_message\x18\x11 \x03(\x0b\x32;.protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry\x12n\n\"map_int32_foreign_message_no_arena\x18\x12 \x03(\x0b\x32\x42.protobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry\x1a\x34\n\x12MapInt32Int32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\x34\n\x12MapInt64Int64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x36\n\x14MapUint32Uint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\x36\n\x14MapUint64Uint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\x1a\x36\n\x14MapSint32Sint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x11:\x02\x38\x01\x1a\x36\n\x14MapSint64Sint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x12\x12\r\n\x05value\x18\x02 \x01(\x12:\x02\x38\x01\x1a\x38\n\x16MapFixed32Fixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05value\x18\x02 \x01(\x07:\x02\x38\x01\x1a\x38\n\x16MapFixed64Fixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x06\x12\r\n\x05value\x18\x02 \x01(\x06:\x02\x38\x01\x1a:\n\x18MapSfixed32Sfixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x0f\x12\r\n\x05value\x18\x02 \x01(\x0f:\x02\x38\x01\x1a:\n\x18MapSfixed64Sfixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x10\x12\r\n\x05value\x18\x02 \x01(\x10:\x02\x38\x01\x1a\x34\n\x12MapInt32FloatEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\x1a\x35\n\x13MapInt32DoubleEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x32\n\x10MapBoolBoolEntry\x12\x0b\n\x03key\x18\x01 \x01(\x08\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x36\n\x14MapStringStringEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x34\n\x12MapInt32BytesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1aO\n\x11MapInt32EnumEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12)\n\x05value\x18\x02 \x01(\x0e\x32\x1a.protobuf_unittest.MapEnum:\x02\x38\x01\x1a`\n\x1bMapInt32ForeignMessageEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x30\n\x05value\x18\x02 \x01(\x0b\x32!.protobuf_unittest.ForeignMessage:\x02\x38\x01\x1ap\n\"MapInt32ForeignMessageNoArenaEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.protobuf_unittest_no_arena.ForeignMessage:\x02\x38\x01\"\xe4\x01\n\x1fMessageContainingEnumCalledType\x12J\n\x04type\x18\x01 \x03(\x0b\x32<.protobuf_unittest.MessageContainingEnumCalledType.TypeEntry\x1a_\n\tTypeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x41\n\x05value\x18\x02 \x01(\x0b\x32\x32.protobuf_unittest.MessageContainingEnumCalledType:\x02\x38\x01\"\x14\n\x04Type\x12\x0c\n\x08TYPE_FOO\x10\x00\"\x9d\x01\n\x1fMessageContainingMapCalledEntry\x12L\n\x05\x65ntry\x18\x01 \x03(\x0b\x32=.protobuf_unittest.MessageContainingMapCalledEntry.EntryEntry\x1a,\n\nEntryEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\"\xad\x01\n\x17TestRecursiveMapMessage\x12<\n\x01\x61\x18\x01 \x03(\x0b\x32\x31.protobuf_unittest.TestRecursiveMapMessage.AEntry\x1aT\n\x06\x41\x45ntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.protobuf_unittest.TestRecursiveMapMessage:\x02\x38\x01*?\n\x07MapEnum\x12\x10\n\x0cMAP_ENUM_FOO\x10\x00\x12\x10\n\x0cMAP_ENUM_BAR\x10\x01\x12\x10\n\x0cMAP_ENUM_BAZ\x10\x02\x42\x03\xf8\x01\x01\x62\x06proto3') , dependencies=[google_dot_protobuf_dot_unittest__pb2.DESCRIPTOR,google_dot_protobuf_dot_unittest__no__arena__pb2.DESCRIPTOR,]) _MAPENUM = _descriptor.EnumDescriptor( name='MapEnum', full_name='protobuf_unittest.MapEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='MAP_ENUM_FOO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='MAP_ENUM_BAR', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='MAP_ENUM_BAZ', index=2, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=6705, serialized_end=6768, ) _sym_db.RegisterEnumDescriptor(_MAPENUM) MapEnum = enum_type_wrapper.EnumTypeWrapper(_MAPENUM) MAP_ENUM_FOO = 0 MAP_ENUM_BAR = 1 MAP_ENUM_BAZ = 2 _MESSAGECONTAININGENUMCALLEDTYPE_TYPE = _descriptor.EnumDescriptor( name='Type', full_name='protobuf_unittest.MessageContainingEnumCalledType.Type', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='TYPE_FOO', index=0, number=0, options=None, type=None), ], containing_type=None, options=None, serialized_start=6347, serialized_end=6367, ) _sym_db.RegisterEnumDescriptor(_MESSAGECONTAININGENUMCALLEDTYPE_TYPE) _TESTMAP_MAPINT32INT32ENTRY = _descriptor.Descriptor( name='MapInt32Int32Entry', full_name='protobuf_unittest.TestMap.MapInt32Int32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapInt32Int32Entry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapInt32Int32Entry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1613, serialized_end=1665, ) _TESTMAP_MAPINT64INT64ENTRY = _descriptor.Descriptor( name='MapInt64Int64Entry', full_name='protobuf_unittest.TestMap.MapInt64Int64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapInt64Int64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapInt64Int64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1667, serialized_end=1719, ) _TESTMAP_MAPUINT32UINT32ENTRY = _descriptor.Descriptor( name='MapUint32Uint32Entry', full_name='protobuf_unittest.TestMap.MapUint32Uint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapUint32Uint32Entry.key', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapUint32Uint32Entry.value', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1721, serialized_end=1775, ) _TESTMAP_MAPUINT64UINT64ENTRY = _descriptor.Descriptor( name='MapUint64Uint64Entry', full_name='protobuf_unittest.TestMap.MapUint64Uint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapUint64Uint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapUint64Uint64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1777, serialized_end=1831, ) _TESTMAP_MAPSINT32SINT32ENTRY = _descriptor.Descriptor( name='MapSint32Sint32Entry', full_name='protobuf_unittest.TestMap.MapSint32Sint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapSint32Sint32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapSint32Sint32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1833, serialized_end=1887, ) _TESTMAP_MAPSINT64SINT64ENTRY = _descriptor.Descriptor( name='MapSint64Sint64Entry', full_name='protobuf_unittest.TestMap.MapSint64Sint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapSint64Sint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapSint64Sint64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1889, serialized_end=1943, ) _TESTMAP_MAPFIXED32FIXED32ENTRY = _descriptor.Descriptor( name='MapFixed32Fixed32Entry', full_name='protobuf_unittest.TestMap.MapFixed32Fixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapFixed32Fixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapFixed32Fixed32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1945, serialized_end=2001, ) _TESTMAP_MAPFIXED64FIXED64ENTRY = _descriptor.Descriptor( name='MapFixed64Fixed64Entry', full_name='protobuf_unittest.TestMap.MapFixed64Fixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapFixed64Fixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapFixed64Fixed64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2003, serialized_end=2059, ) _TESTMAP_MAPSFIXED32SFIXED32ENTRY = _descriptor.Descriptor( name='MapSfixed32Sfixed32Entry', full_name='protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2061, serialized_end=2119, ) _TESTMAP_MAPSFIXED64SFIXED64ENTRY = _descriptor.Descriptor( name='MapSfixed64Sfixed64Entry', full_name='protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2121, serialized_end=2179, ) _TESTMAP_MAPINT32FLOATENTRY = _descriptor.Descriptor( name='MapInt32FloatEntry', full_name='protobuf_unittest.TestMap.MapInt32FloatEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapInt32FloatEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapInt32FloatEntry.value', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2181, serialized_end=2233, ) _TESTMAP_MAPINT32DOUBLEENTRY = _descriptor.Descriptor( name='MapInt32DoubleEntry', full_name='protobuf_unittest.TestMap.MapInt32DoubleEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapInt32DoubleEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapInt32DoubleEntry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2235, serialized_end=2288, ) _TESTMAP_MAPBOOLBOOLENTRY = _descriptor.Descriptor( name='MapBoolBoolEntry', full_name='protobuf_unittest.TestMap.MapBoolBoolEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapBoolBoolEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapBoolBoolEntry.value', index=1, number=2, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2290, serialized_end=2340, ) _TESTMAP_MAPSTRINGSTRINGENTRY = _descriptor.Descriptor( name='MapStringStringEntry', full_name='protobuf_unittest.TestMap.MapStringStringEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapStringStringEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapStringStringEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2342, serialized_end=2396, ) _TESTMAP_MAPINT32BYTESENTRY = _descriptor.Descriptor( name='MapInt32BytesEntry', full_name='protobuf_unittest.TestMap.MapInt32BytesEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapInt32BytesEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapInt32BytesEntry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2398, serialized_end=2450, ) _TESTMAP_MAPINT32ENUMENTRY = _descriptor.Descriptor( name='MapInt32EnumEntry', full_name='protobuf_unittest.TestMap.MapInt32EnumEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapInt32EnumEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapInt32EnumEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2452, serialized_end=2531, ) _TESTMAP_MAPINT32FOREIGNMESSAGEENTRY = _descriptor.Descriptor( name='MapInt32ForeignMessageEntry', full_name='protobuf_unittest.TestMap.MapInt32ForeignMessageEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapInt32ForeignMessageEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapInt32ForeignMessageEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2533, serialized_end=2629, ) _TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRY = _descriptor.Descriptor( name='MapStringForeignMessageEntry', full_name='protobuf_unittest.TestMap.MapStringForeignMessageEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapStringForeignMessageEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapStringForeignMessageEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2631, serialized_end=2728, ) _TESTMAP_MAPINT32ALLTYPESENTRY = _descriptor.Descriptor( name='MapInt32AllTypesEntry', full_name='protobuf_unittest.TestMap.MapInt32AllTypesEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMap.MapInt32AllTypesEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMap.MapInt32AllTypesEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2730, serialized_end=2818, ) _TESTMAP = _descriptor.Descriptor( name='TestMap', full_name='protobuf_unittest.TestMap', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='map_int32_int32', full_name='protobuf_unittest.TestMap.map_int32_int32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int64_int64', full_name='protobuf_unittest.TestMap.map_int64_int64', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_uint32_uint32', full_name='protobuf_unittest.TestMap.map_uint32_uint32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_uint64_uint64', full_name='protobuf_unittest.TestMap.map_uint64_uint64', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sint32_sint32', full_name='protobuf_unittest.TestMap.map_sint32_sint32', index=4, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sint64_sint64', full_name='protobuf_unittest.TestMap.map_sint64_sint64', index=5, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_fixed32_fixed32', full_name='protobuf_unittest.TestMap.map_fixed32_fixed32', index=6, number=7, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_fixed64_fixed64', full_name='protobuf_unittest.TestMap.map_fixed64_fixed64', index=7, number=8, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sfixed32_sfixed32', full_name='protobuf_unittest.TestMap.map_sfixed32_sfixed32', index=8, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sfixed64_sfixed64', full_name='protobuf_unittest.TestMap.map_sfixed64_sfixed64', index=9, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_float', full_name='protobuf_unittest.TestMap.map_int32_float', index=10, number=11, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_double', full_name='protobuf_unittest.TestMap.map_int32_double', index=11, number=12, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_bool_bool', full_name='protobuf_unittest.TestMap.map_bool_bool', index=12, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_string', full_name='protobuf_unittest.TestMap.map_string_string', index=13, number=14, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_bytes', full_name='protobuf_unittest.TestMap.map_int32_bytes', index=14, number=15, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_enum', full_name='protobuf_unittest.TestMap.map_int32_enum', index=15, number=16, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_foreign_message', full_name='protobuf_unittest.TestMap.map_int32_foreign_message', index=16, number=17, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_foreign_message', full_name='protobuf_unittest.TestMap.map_string_foreign_message', index=17, number=18, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_all_types', full_name='protobuf_unittest.TestMap.map_int32_all_types', index=18, number=19, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTMAP_MAPINT32INT32ENTRY, _TESTMAP_MAPINT64INT64ENTRY, _TESTMAP_MAPUINT32UINT32ENTRY, _TESTMAP_MAPUINT64UINT64ENTRY, _TESTMAP_MAPSINT32SINT32ENTRY, _TESTMAP_MAPSINT64SINT64ENTRY, _TESTMAP_MAPFIXED32FIXED32ENTRY, _TESTMAP_MAPFIXED64FIXED64ENTRY, _TESTMAP_MAPSFIXED32SFIXED32ENTRY, _TESTMAP_MAPSFIXED64SFIXED64ENTRY, _TESTMAP_MAPINT32FLOATENTRY, _TESTMAP_MAPINT32DOUBLEENTRY, _TESTMAP_MAPBOOLBOOLENTRY, _TESTMAP_MAPSTRINGSTRINGENTRY, _TESTMAP_MAPINT32BYTESENTRY, _TESTMAP_MAPINT32ENUMENTRY, _TESTMAP_MAPINT32FOREIGNMESSAGEENTRY, _TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRY, _TESTMAP_MAPINT32ALLTYPESENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=131, serialized_end=2818, ) _TESTMAPSUBMESSAGE = _descriptor.Descriptor( name='TestMapSubmessage', full_name='protobuf_unittest.TestMapSubmessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='test_map', full_name='protobuf_unittest.TestMapSubmessage.test_map', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2820, serialized_end=2885, ) _TESTMESSAGEMAP_MAPINT32MESSAGEENTRY = _descriptor.Descriptor( name='MapInt32MessageEntry', full_name='protobuf_unittest.TestMessageMap.MapInt32MessageEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestMessageMap.MapInt32MessageEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestMessageMap.MapInt32MessageEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2989, serialized_end=3076, ) _TESTMESSAGEMAP = _descriptor.Descriptor( name='TestMessageMap', full_name='protobuf_unittest.TestMessageMap', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='map_int32_message', full_name='protobuf_unittest.TestMessageMap.map_int32_message', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTMESSAGEMAP_MAPINT32MESSAGEENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2888, serialized_end=3076, ) _TESTSAMETYPEMAP_MAP1ENTRY = _descriptor.Descriptor( name='Map1Entry', full_name='protobuf_unittest.TestSameTypeMap.Map1Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestSameTypeMap.Map1Entry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestSameTypeMap.Map1Entry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3218, serialized_end=3261, ) _TESTSAMETYPEMAP_MAP2ENTRY = _descriptor.Descriptor( name='Map2Entry', full_name='protobuf_unittest.TestSameTypeMap.Map2Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestSameTypeMap.Map2Entry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestSameTypeMap.Map2Entry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3263, serialized_end=3306, ) _TESTSAMETYPEMAP = _descriptor.Descriptor( name='TestSameTypeMap', full_name='protobuf_unittest.TestSameTypeMap', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='map1', full_name='protobuf_unittest.TestSameTypeMap.map1', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map2', full_name='protobuf_unittest.TestSameTypeMap.map2', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTSAMETYPEMAP_MAP1ENTRY, _TESTSAMETYPEMAP_MAP2ENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3079, serialized_end=3306, ) _TESTREQUIREDMESSAGEMAP_MAPFIELDENTRY = _descriptor.Descriptor( name='MapFieldEntry', full_name='protobuf_unittest.TestRequiredMessageMap.MapFieldEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestRequiredMessageMap.MapFieldEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestRequiredMessageMap.MapFieldEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3411, serialized_end=3491, ) _TESTREQUIREDMESSAGEMAP = _descriptor.Descriptor( name='TestRequiredMessageMap', full_name='protobuf_unittest.TestRequiredMessageMap', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='map_field', full_name='protobuf_unittest.TestRequiredMessageMap.map_field', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTREQUIREDMESSAGEMAP_MAPFIELDENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3309, serialized_end=3491, ) _TESTARENAMAP_MAPINT32INT32ENTRY = _descriptor.Descriptor( name='MapInt32Int32Entry', full_name='protobuf_unittest.TestArenaMap.MapInt32Int32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapInt32Int32Entry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapInt32Int32Entry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1613, serialized_end=1665, ) _TESTARENAMAP_MAPINT64INT64ENTRY = _descriptor.Descriptor( name='MapInt64Int64Entry', full_name='protobuf_unittest.TestArenaMap.MapInt64Int64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapInt64Int64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapInt64Int64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1667, serialized_end=1719, ) _TESTARENAMAP_MAPUINT32UINT32ENTRY = _descriptor.Descriptor( name='MapUint32Uint32Entry', full_name='protobuf_unittest.TestArenaMap.MapUint32Uint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapUint32Uint32Entry.key', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapUint32Uint32Entry.value', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1721, serialized_end=1775, ) _TESTARENAMAP_MAPUINT64UINT64ENTRY = _descriptor.Descriptor( name='MapUint64Uint64Entry', full_name='protobuf_unittest.TestArenaMap.MapUint64Uint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapUint64Uint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapUint64Uint64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1777, serialized_end=1831, ) _TESTARENAMAP_MAPSINT32SINT32ENTRY = _descriptor.Descriptor( name='MapSint32Sint32Entry', full_name='protobuf_unittest.TestArenaMap.MapSint32Sint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapSint32Sint32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapSint32Sint32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1833, serialized_end=1887, ) _TESTARENAMAP_MAPSINT64SINT64ENTRY = _descriptor.Descriptor( name='MapSint64Sint64Entry', full_name='protobuf_unittest.TestArenaMap.MapSint64Sint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapSint64Sint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapSint64Sint64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1889, serialized_end=1943, ) _TESTARENAMAP_MAPFIXED32FIXED32ENTRY = _descriptor.Descriptor( name='MapFixed32Fixed32Entry', full_name='protobuf_unittest.TestArenaMap.MapFixed32Fixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapFixed32Fixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapFixed32Fixed32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1945, serialized_end=2001, ) _TESTARENAMAP_MAPFIXED64FIXED64ENTRY = _descriptor.Descriptor( name='MapFixed64Fixed64Entry', full_name='protobuf_unittest.TestArenaMap.MapFixed64Fixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapFixed64Fixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapFixed64Fixed64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2003, serialized_end=2059, ) _TESTARENAMAP_MAPSFIXED32SFIXED32ENTRY = _descriptor.Descriptor( name='MapSfixed32Sfixed32Entry', full_name='protobuf_unittest.TestArenaMap.MapSfixed32Sfixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapSfixed32Sfixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapSfixed32Sfixed32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2061, serialized_end=2119, ) _TESTARENAMAP_MAPSFIXED64SFIXED64ENTRY = _descriptor.Descriptor( name='MapSfixed64Sfixed64Entry', full_name='protobuf_unittest.TestArenaMap.MapSfixed64Sfixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapSfixed64Sfixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapSfixed64Sfixed64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2121, serialized_end=2179, ) _TESTARENAMAP_MAPINT32FLOATENTRY = _descriptor.Descriptor( name='MapInt32FloatEntry', full_name='protobuf_unittest.TestArenaMap.MapInt32FloatEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapInt32FloatEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapInt32FloatEntry.value', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2181, serialized_end=2233, ) _TESTARENAMAP_MAPINT32DOUBLEENTRY = _descriptor.Descriptor( name='MapInt32DoubleEntry', full_name='protobuf_unittest.TestArenaMap.MapInt32DoubleEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapInt32DoubleEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapInt32DoubleEntry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2235, serialized_end=2288, ) _TESTARENAMAP_MAPBOOLBOOLENTRY = _descriptor.Descriptor( name='MapBoolBoolEntry', full_name='protobuf_unittest.TestArenaMap.MapBoolBoolEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapBoolBoolEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapBoolBoolEntry.value', index=1, number=2, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2290, serialized_end=2340, ) _TESTARENAMAP_MAPSTRINGSTRINGENTRY = _descriptor.Descriptor( name='MapStringStringEntry', full_name='protobuf_unittest.TestArenaMap.MapStringStringEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapStringStringEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapStringStringEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2342, serialized_end=2396, ) _TESTARENAMAP_MAPINT32BYTESENTRY = _descriptor.Descriptor( name='MapInt32BytesEntry', full_name='protobuf_unittest.TestArenaMap.MapInt32BytesEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapInt32BytesEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapInt32BytesEntry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2398, serialized_end=2450, ) _TESTARENAMAP_MAPINT32ENUMENTRY = _descriptor.Descriptor( name='MapInt32EnumEntry', full_name='protobuf_unittest.TestArenaMap.MapInt32EnumEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapInt32EnumEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapInt32EnumEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2452, serialized_end=2531, ) _TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRY = _descriptor.Descriptor( name='MapInt32ForeignMessageEntry', full_name='protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=2533, serialized_end=2629, ) _TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRY = _descriptor.Descriptor( name='MapInt32ForeignMessageNoArenaEntry', full_name='protobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6024, serialized_end=6136, ) _TESTARENAMAP = _descriptor.Descriptor( name='TestArenaMap', full_name='protobuf_unittest.TestArenaMap', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='map_int32_int32', full_name='protobuf_unittest.TestArenaMap.map_int32_int32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int64_int64', full_name='protobuf_unittest.TestArenaMap.map_int64_int64', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_uint32_uint32', full_name='protobuf_unittest.TestArenaMap.map_uint32_uint32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_uint64_uint64', full_name='protobuf_unittest.TestArenaMap.map_uint64_uint64', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sint32_sint32', full_name='protobuf_unittest.TestArenaMap.map_sint32_sint32', index=4, number=5, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sint64_sint64', full_name='protobuf_unittest.TestArenaMap.map_sint64_sint64', index=5, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_fixed32_fixed32', full_name='protobuf_unittest.TestArenaMap.map_fixed32_fixed32', index=6, number=7, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_fixed64_fixed64', full_name='protobuf_unittest.TestArenaMap.map_fixed64_fixed64', index=7, number=8, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sfixed32_sfixed32', full_name='protobuf_unittest.TestArenaMap.map_sfixed32_sfixed32', index=8, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sfixed64_sfixed64', full_name='protobuf_unittest.TestArenaMap.map_sfixed64_sfixed64', index=9, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_float', full_name='protobuf_unittest.TestArenaMap.map_int32_float', index=10, number=11, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_double', full_name='protobuf_unittest.TestArenaMap.map_int32_double', index=11, number=12, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_bool_bool', full_name='protobuf_unittest.TestArenaMap.map_bool_bool', index=12, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_string', full_name='protobuf_unittest.TestArenaMap.map_string_string', index=13, number=14, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_bytes', full_name='protobuf_unittest.TestArenaMap.map_int32_bytes', index=14, number=15, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_enum', full_name='protobuf_unittest.TestArenaMap.map_int32_enum', index=15, number=16, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_foreign_message', full_name='protobuf_unittest.TestArenaMap.map_int32_foreign_message', index=16, number=17, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_foreign_message_no_arena', full_name='protobuf_unittest.TestArenaMap.map_int32_foreign_message_no_arena', index=17, number=18, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTARENAMAP_MAPINT32INT32ENTRY, _TESTARENAMAP_MAPINT64INT64ENTRY, _TESTARENAMAP_MAPUINT32UINT32ENTRY, _TESTARENAMAP_MAPUINT64UINT64ENTRY, _TESTARENAMAP_MAPSINT32SINT32ENTRY, _TESTARENAMAP_MAPSINT64SINT64ENTRY, _TESTARENAMAP_MAPFIXED32FIXED32ENTRY, _TESTARENAMAP_MAPFIXED64FIXED64ENTRY, _TESTARENAMAP_MAPSFIXED32SFIXED32ENTRY, _TESTARENAMAP_MAPSFIXED64SFIXED64ENTRY, _TESTARENAMAP_MAPINT32FLOATENTRY, _TESTARENAMAP_MAPINT32DOUBLEENTRY, _TESTARENAMAP_MAPBOOLBOOLENTRY, _TESTARENAMAP_MAPSTRINGSTRINGENTRY, _TESTARENAMAP_MAPINT32BYTESENTRY, _TESTARENAMAP_MAPINT32ENUMENTRY, _TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRY, _TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=3494, serialized_end=6136, ) _MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRY = _descriptor.Descriptor( name='TypeEntry', full_name='protobuf_unittest.MessageContainingEnumCalledType.TypeEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.MessageContainingEnumCalledType.TypeEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.MessageContainingEnumCalledType.TypeEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6250, serialized_end=6345, ) _MESSAGECONTAININGENUMCALLEDTYPE = _descriptor.Descriptor( name='MessageContainingEnumCalledType', full_name='protobuf_unittest.MessageContainingEnumCalledType', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='type', full_name='protobuf_unittest.MessageContainingEnumCalledType.type', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRY, ], enum_types=[ _MESSAGECONTAININGENUMCALLEDTYPE_TYPE, ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6139, serialized_end=6367, ) _MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRY = _descriptor.Descriptor( name='EntryEntry', full_name='protobuf_unittest.MessageContainingMapCalledEntry.EntryEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.MessageContainingMapCalledEntry.EntryEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.MessageContainingMapCalledEntry.EntryEntry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6483, serialized_end=6527, ) _MESSAGECONTAININGMAPCALLEDENTRY = _descriptor.Descriptor( name='MessageContainingMapCalledEntry', full_name='protobuf_unittest.MessageContainingMapCalledEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='entry', full_name='protobuf_unittest.MessageContainingMapCalledEntry.entry', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6370, serialized_end=6527, ) _TESTRECURSIVEMAPMESSAGE_AENTRY = _descriptor.Descriptor( name='AEntry', full_name='protobuf_unittest.TestRecursiveMapMessage.AEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_unittest.TestRecursiveMapMessage.AEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_unittest.TestRecursiveMapMessage.AEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6619, serialized_end=6703, ) _TESTRECURSIVEMAPMESSAGE = _descriptor.Descriptor( name='TestRecursiveMapMessage', full_name='protobuf_unittest.TestRecursiveMapMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_unittest.TestRecursiveMapMessage.a', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTRECURSIVEMAPMESSAGE_AENTRY, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6530, serialized_end=6703, ) _TESTMAP_MAPINT32INT32ENTRY.containing_type = _TESTMAP _TESTMAP_MAPINT64INT64ENTRY.containing_type = _TESTMAP _TESTMAP_MAPUINT32UINT32ENTRY.containing_type = _TESTMAP _TESTMAP_MAPUINT64UINT64ENTRY.containing_type = _TESTMAP _TESTMAP_MAPSINT32SINT32ENTRY.containing_type = _TESTMAP _TESTMAP_MAPSINT64SINT64ENTRY.containing_type = _TESTMAP _TESTMAP_MAPFIXED32FIXED32ENTRY.containing_type = _TESTMAP _TESTMAP_MAPFIXED64FIXED64ENTRY.containing_type = _TESTMAP _TESTMAP_MAPSFIXED32SFIXED32ENTRY.containing_type = _TESTMAP _TESTMAP_MAPSFIXED64SFIXED64ENTRY.containing_type = _TESTMAP _TESTMAP_MAPINT32FLOATENTRY.containing_type = _TESTMAP _TESTMAP_MAPINT32DOUBLEENTRY.containing_type = _TESTMAP _TESTMAP_MAPBOOLBOOLENTRY.containing_type = _TESTMAP _TESTMAP_MAPSTRINGSTRINGENTRY.containing_type = _TESTMAP _TESTMAP_MAPINT32BYTESENTRY.containing_type = _TESTMAP _TESTMAP_MAPINT32ENUMENTRY.fields_by_name['value'].enum_type = _MAPENUM _TESTMAP_MAPINT32ENUMENTRY.containing_type = _TESTMAP _TESTMAP_MAPINT32FOREIGNMESSAGEENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_unittest__pb2._FOREIGNMESSAGE _TESTMAP_MAPINT32FOREIGNMESSAGEENTRY.containing_type = _TESTMAP _TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_unittest__pb2._FOREIGNMESSAGE _TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRY.containing_type = _TESTMAP _TESTMAP_MAPINT32ALLTYPESENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_unittest__pb2._TESTALLTYPES _TESTMAP_MAPINT32ALLTYPESENTRY.containing_type = _TESTMAP _TESTMAP.fields_by_name['map_int32_int32'].message_type = _TESTMAP_MAPINT32INT32ENTRY _TESTMAP.fields_by_name['map_int64_int64'].message_type = _TESTMAP_MAPINT64INT64ENTRY _TESTMAP.fields_by_name['map_uint32_uint32'].message_type = _TESTMAP_MAPUINT32UINT32ENTRY _TESTMAP.fields_by_name['map_uint64_uint64'].message_type = _TESTMAP_MAPUINT64UINT64ENTRY _TESTMAP.fields_by_name['map_sint32_sint32'].message_type = _TESTMAP_MAPSINT32SINT32ENTRY _TESTMAP.fields_by_name['map_sint64_sint64'].message_type = _TESTMAP_MAPSINT64SINT64ENTRY _TESTMAP.fields_by_name['map_fixed32_fixed32'].message_type = _TESTMAP_MAPFIXED32FIXED32ENTRY _TESTMAP.fields_by_name['map_fixed64_fixed64'].message_type = _TESTMAP_MAPFIXED64FIXED64ENTRY _TESTMAP.fields_by_name['map_sfixed32_sfixed32'].message_type = _TESTMAP_MAPSFIXED32SFIXED32ENTRY _TESTMAP.fields_by_name['map_sfixed64_sfixed64'].message_type = _TESTMAP_MAPSFIXED64SFIXED64ENTRY _TESTMAP.fields_by_name['map_int32_float'].message_type = _TESTMAP_MAPINT32FLOATENTRY _TESTMAP.fields_by_name['map_int32_double'].message_type = _TESTMAP_MAPINT32DOUBLEENTRY _TESTMAP.fields_by_name['map_bool_bool'].message_type = _TESTMAP_MAPBOOLBOOLENTRY _TESTMAP.fields_by_name['map_string_string'].message_type = _TESTMAP_MAPSTRINGSTRINGENTRY _TESTMAP.fields_by_name['map_int32_bytes'].message_type = _TESTMAP_MAPINT32BYTESENTRY _TESTMAP.fields_by_name['map_int32_enum'].message_type = _TESTMAP_MAPINT32ENUMENTRY _TESTMAP.fields_by_name['map_int32_foreign_message'].message_type = _TESTMAP_MAPINT32FOREIGNMESSAGEENTRY _TESTMAP.fields_by_name['map_string_foreign_message'].message_type = _TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRY _TESTMAP.fields_by_name['map_int32_all_types'].message_type = _TESTMAP_MAPINT32ALLTYPESENTRY _TESTMAPSUBMESSAGE.fields_by_name['test_map'].message_type = _TESTMAP _TESTMESSAGEMAP_MAPINT32MESSAGEENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_unittest__pb2._TESTALLTYPES _TESTMESSAGEMAP_MAPINT32MESSAGEENTRY.containing_type = _TESTMESSAGEMAP _TESTMESSAGEMAP.fields_by_name['map_int32_message'].message_type = _TESTMESSAGEMAP_MAPINT32MESSAGEENTRY _TESTSAMETYPEMAP_MAP1ENTRY.containing_type = _TESTSAMETYPEMAP _TESTSAMETYPEMAP_MAP2ENTRY.containing_type = _TESTSAMETYPEMAP _TESTSAMETYPEMAP.fields_by_name['map1'].message_type = _TESTSAMETYPEMAP_MAP1ENTRY _TESTSAMETYPEMAP.fields_by_name['map2'].message_type = _TESTSAMETYPEMAP_MAP2ENTRY _TESTREQUIREDMESSAGEMAP_MAPFIELDENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_unittest__pb2._TESTREQUIRED _TESTREQUIREDMESSAGEMAP_MAPFIELDENTRY.containing_type = _TESTREQUIREDMESSAGEMAP _TESTREQUIREDMESSAGEMAP.fields_by_name['map_field'].message_type = _TESTREQUIREDMESSAGEMAP_MAPFIELDENTRY _TESTARENAMAP_MAPINT32INT32ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPINT64INT64ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPUINT32UINT32ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPUINT64UINT64ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPSINT32SINT32ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPSINT64SINT64ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPFIXED32FIXED32ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPFIXED64FIXED64ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPSFIXED32SFIXED32ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPSFIXED64SFIXED64ENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPINT32FLOATENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPINT32DOUBLEENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPBOOLBOOLENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPSTRINGSTRINGENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPINT32BYTESENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPINT32ENUMENTRY.fields_by_name['value'].enum_type = _MAPENUM _TESTARENAMAP_MAPINT32ENUMENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_unittest__pb2._FOREIGNMESSAGE _TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRY.fields_by_name['value'].message_type = google_dot_protobuf_dot_unittest__no__arena__pb2._FOREIGNMESSAGE _TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRY.containing_type = _TESTARENAMAP _TESTARENAMAP.fields_by_name['map_int32_int32'].message_type = _TESTARENAMAP_MAPINT32INT32ENTRY _TESTARENAMAP.fields_by_name['map_int64_int64'].message_type = _TESTARENAMAP_MAPINT64INT64ENTRY _TESTARENAMAP.fields_by_name['map_uint32_uint32'].message_type = _TESTARENAMAP_MAPUINT32UINT32ENTRY _TESTARENAMAP.fields_by_name['map_uint64_uint64'].message_type = _TESTARENAMAP_MAPUINT64UINT64ENTRY _TESTARENAMAP.fields_by_name['map_sint32_sint32'].message_type = _TESTARENAMAP_MAPSINT32SINT32ENTRY _TESTARENAMAP.fields_by_name['map_sint64_sint64'].message_type = _TESTARENAMAP_MAPSINT64SINT64ENTRY _TESTARENAMAP.fields_by_name['map_fixed32_fixed32'].message_type = _TESTARENAMAP_MAPFIXED32FIXED32ENTRY _TESTARENAMAP.fields_by_name['map_fixed64_fixed64'].message_type = _TESTARENAMAP_MAPFIXED64FIXED64ENTRY _TESTARENAMAP.fields_by_name['map_sfixed32_sfixed32'].message_type = _TESTARENAMAP_MAPSFIXED32SFIXED32ENTRY _TESTARENAMAP.fields_by_name['map_sfixed64_sfixed64'].message_type = _TESTARENAMAP_MAPSFIXED64SFIXED64ENTRY _TESTARENAMAP.fields_by_name['map_int32_float'].message_type = _TESTARENAMAP_MAPINT32FLOATENTRY _TESTARENAMAP.fields_by_name['map_int32_double'].message_type = _TESTARENAMAP_MAPINT32DOUBLEENTRY _TESTARENAMAP.fields_by_name['map_bool_bool'].message_type = _TESTARENAMAP_MAPBOOLBOOLENTRY _TESTARENAMAP.fields_by_name['map_string_string'].message_type = _TESTARENAMAP_MAPSTRINGSTRINGENTRY _TESTARENAMAP.fields_by_name['map_int32_bytes'].message_type = _TESTARENAMAP_MAPINT32BYTESENTRY _TESTARENAMAP.fields_by_name['map_int32_enum'].message_type = _TESTARENAMAP_MAPINT32ENUMENTRY _TESTARENAMAP.fields_by_name['map_int32_foreign_message'].message_type = _TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRY _TESTARENAMAP.fields_by_name['map_int32_foreign_message_no_arena'].message_type = _TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRY _MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRY.fields_by_name['value'].message_type = _MESSAGECONTAININGENUMCALLEDTYPE _MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRY.containing_type = _MESSAGECONTAININGENUMCALLEDTYPE _MESSAGECONTAININGENUMCALLEDTYPE.fields_by_name['type'].message_type = _MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRY _MESSAGECONTAININGENUMCALLEDTYPE_TYPE.containing_type = _MESSAGECONTAININGENUMCALLEDTYPE _MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRY.containing_type = _MESSAGECONTAININGMAPCALLEDENTRY _MESSAGECONTAININGMAPCALLEDENTRY.fields_by_name['entry'].message_type = _MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRY _TESTRECURSIVEMAPMESSAGE_AENTRY.fields_by_name['value'].message_type = _TESTRECURSIVEMAPMESSAGE _TESTRECURSIVEMAPMESSAGE_AENTRY.containing_type = _TESTRECURSIVEMAPMESSAGE _TESTRECURSIVEMAPMESSAGE.fields_by_name['a'].message_type = _TESTRECURSIVEMAPMESSAGE_AENTRY DESCRIPTOR.message_types_by_name['TestMap'] = _TESTMAP DESCRIPTOR.message_types_by_name['TestMapSubmessage'] = _TESTMAPSUBMESSAGE DESCRIPTOR.message_types_by_name['TestMessageMap'] = _TESTMESSAGEMAP DESCRIPTOR.message_types_by_name['TestSameTypeMap'] = _TESTSAMETYPEMAP DESCRIPTOR.message_types_by_name['TestRequiredMessageMap'] = _TESTREQUIREDMESSAGEMAP DESCRIPTOR.message_types_by_name['TestArenaMap'] = _TESTARENAMAP DESCRIPTOR.message_types_by_name['MessageContainingEnumCalledType'] = _MESSAGECONTAININGENUMCALLEDTYPE DESCRIPTOR.message_types_by_name['MessageContainingMapCalledEntry'] = _MESSAGECONTAININGMAPCALLEDENTRY DESCRIPTOR.message_types_by_name['TestRecursiveMapMessage'] = _TESTRECURSIVEMAPMESSAGE DESCRIPTOR.enum_types_by_name['MapEnum'] = _MAPENUM _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestMap = _reflection.GeneratedProtocolMessageType('TestMap', (_message.Message,), dict( MapInt32Int32Entry = _reflection.GeneratedProtocolMessageType('MapInt32Int32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPINT32INT32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapInt32Int32Entry) )) , MapInt64Int64Entry = _reflection.GeneratedProtocolMessageType('MapInt64Int64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPINT64INT64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapInt64Int64Entry) )) , MapUint32Uint32Entry = _reflection.GeneratedProtocolMessageType('MapUint32Uint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPUINT32UINT32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapUint32Uint32Entry) )) , MapUint64Uint64Entry = _reflection.GeneratedProtocolMessageType('MapUint64Uint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPUINT64UINT64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapUint64Uint64Entry) )) , MapSint32Sint32Entry = _reflection.GeneratedProtocolMessageType('MapSint32Sint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPSINT32SINT32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapSint32Sint32Entry) )) , MapSint64Sint64Entry = _reflection.GeneratedProtocolMessageType('MapSint64Sint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPSINT64SINT64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapSint64Sint64Entry) )) , MapFixed32Fixed32Entry = _reflection.GeneratedProtocolMessageType('MapFixed32Fixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPFIXED32FIXED32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapFixed32Fixed32Entry) )) , MapFixed64Fixed64Entry = _reflection.GeneratedProtocolMessageType('MapFixed64Fixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPFIXED64FIXED64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapFixed64Fixed64Entry) )) , MapSfixed32Sfixed32Entry = _reflection.GeneratedProtocolMessageType('MapSfixed32Sfixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPSFIXED32SFIXED32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapSfixed32Sfixed32Entry) )) , MapSfixed64Sfixed64Entry = _reflection.GeneratedProtocolMessageType('MapSfixed64Sfixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPSFIXED64SFIXED64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapSfixed64Sfixed64Entry) )) , MapInt32FloatEntry = _reflection.GeneratedProtocolMessageType('MapInt32FloatEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPINT32FLOATENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapInt32FloatEntry) )) , MapInt32DoubleEntry = _reflection.GeneratedProtocolMessageType('MapInt32DoubleEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPINT32DOUBLEENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapInt32DoubleEntry) )) , MapBoolBoolEntry = _reflection.GeneratedProtocolMessageType('MapBoolBoolEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPBOOLBOOLENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapBoolBoolEntry) )) , MapStringStringEntry = _reflection.GeneratedProtocolMessageType('MapStringStringEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPSTRINGSTRINGENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapStringStringEntry) )) , MapInt32BytesEntry = _reflection.GeneratedProtocolMessageType('MapInt32BytesEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPINT32BYTESENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapInt32BytesEntry) )) , MapInt32EnumEntry = _reflection.GeneratedProtocolMessageType('MapInt32EnumEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPINT32ENUMENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapInt32EnumEntry) )) , MapInt32ForeignMessageEntry = _reflection.GeneratedProtocolMessageType('MapInt32ForeignMessageEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPINT32FOREIGNMESSAGEENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapInt32ForeignMessageEntry) )) , MapStringForeignMessageEntry = _reflection.GeneratedProtocolMessageType('MapStringForeignMessageEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapStringForeignMessageEntry) )) , MapInt32AllTypesEntry = _reflection.GeneratedProtocolMessageType('MapInt32AllTypesEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMAP_MAPINT32ALLTYPESENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap.MapInt32AllTypesEntry) )) , DESCRIPTOR = _TESTMAP, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMap) )) _sym_db.RegisterMessage(TestMap) _sym_db.RegisterMessage(TestMap.MapInt32Int32Entry) _sym_db.RegisterMessage(TestMap.MapInt64Int64Entry) _sym_db.RegisterMessage(TestMap.MapUint32Uint32Entry) _sym_db.RegisterMessage(TestMap.MapUint64Uint64Entry) _sym_db.RegisterMessage(TestMap.MapSint32Sint32Entry) _sym_db.RegisterMessage(TestMap.MapSint64Sint64Entry) _sym_db.RegisterMessage(TestMap.MapFixed32Fixed32Entry) _sym_db.RegisterMessage(TestMap.MapFixed64Fixed64Entry) _sym_db.RegisterMessage(TestMap.MapSfixed32Sfixed32Entry) _sym_db.RegisterMessage(TestMap.MapSfixed64Sfixed64Entry) _sym_db.RegisterMessage(TestMap.MapInt32FloatEntry) _sym_db.RegisterMessage(TestMap.MapInt32DoubleEntry) _sym_db.RegisterMessage(TestMap.MapBoolBoolEntry) _sym_db.RegisterMessage(TestMap.MapStringStringEntry) _sym_db.RegisterMessage(TestMap.MapInt32BytesEntry) _sym_db.RegisterMessage(TestMap.MapInt32EnumEntry) _sym_db.RegisterMessage(TestMap.MapInt32ForeignMessageEntry) _sym_db.RegisterMessage(TestMap.MapStringForeignMessageEntry) _sym_db.RegisterMessage(TestMap.MapInt32AllTypesEntry) TestMapSubmessage = _reflection.GeneratedProtocolMessageType('TestMapSubmessage', (_message.Message,), dict( DESCRIPTOR = _TESTMAPSUBMESSAGE, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMapSubmessage) )) _sym_db.RegisterMessage(TestMapSubmessage) TestMessageMap = _reflection.GeneratedProtocolMessageType('TestMessageMap', (_message.Message,), dict( MapInt32MessageEntry = _reflection.GeneratedProtocolMessageType('MapInt32MessageEntry', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGEMAP_MAPINT32MESSAGEENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageMap.MapInt32MessageEntry) )) , DESCRIPTOR = _TESTMESSAGEMAP, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageMap) )) _sym_db.RegisterMessage(TestMessageMap) _sym_db.RegisterMessage(TestMessageMap.MapInt32MessageEntry) TestSameTypeMap = _reflection.GeneratedProtocolMessageType('TestSameTypeMap', (_message.Message,), dict( Map1Entry = _reflection.GeneratedProtocolMessageType('Map1Entry', (_message.Message,), dict( DESCRIPTOR = _TESTSAMETYPEMAP_MAP1ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestSameTypeMap.Map1Entry) )) , Map2Entry = _reflection.GeneratedProtocolMessageType('Map2Entry', (_message.Message,), dict( DESCRIPTOR = _TESTSAMETYPEMAP_MAP2ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestSameTypeMap.Map2Entry) )) , DESCRIPTOR = _TESTSAMETYPEMAP, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestSameTypeMap) )) _sym_db.RegisterMessage(TestSameTypeMap) _sym_db.RegisterMessage(TestSameTypeMap.Map1Entry) _sym_db.RegisterMessage(TestSameTypeMap.Map2Entry) TestRequiredMessageMap = _reflection.GeneratedProtocolMessageType('TestRequiredMessageMap', (_message.Message,), dict( MapFieldEntry = _reflection.GeneratedProtocolMessageType('MapFieldEntry', (_message.Message,), dict( DESCRIPTOR = _TESTREQUIREDMESSAGEMAP_MAPFIELDENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRequiredMessageMap.MapFieldEntry) )) , DESCRIPTOR = _TESTREQUIREDMESSAGEMAP, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRequiredMessageMap) )) _sym_db.RegisterMessage(TestRequiredMessageMap) _sym_db.RegisterMessage(TestRequiredMessageMap.MapFieldEntry) TestArenaMap = _reflection.GeneratedProtocolMessageType('TestArenaMap', (_message.Message,), dict( MapInt32Int32Entry = _reflection.GeneratedProtocolMessageType('MapInt32Int32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPINT32INT32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapInt32Int32Entry) )) , MapInt64Int64Entry = _reflection.GeneratedProtocolMessageType('MapInt64Int64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPINT64INT64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapInt64Int64Entry) )) , MapUint32Uint32Entry = _reflection.GeneratedProtocolMessageType('MapUint32Uint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPUINT32UINT32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapUint32Uint32Entry) )) , MapUint64Uint64Entry = _reflection.GeneratedProtocolMessageType('MapUint64Uint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPUINT64UINT64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapUint64Uint64Entry) )) , MapSint32Sint32Entry = _reflection.GeneratedProtocolMessageType('MapSint32Sint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPSINT32SINT32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapSint32Sint32Entry) )) , MapSint64Sint64Entry = _reflection.GeneratedProtocolMessageType('MapSint64Sint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPSINT64SINT64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapSint64Sint64Entry) )) , MapFixed32Fixed32Entry = _reflection.GeneratedProtocolMessageType('MapFixed32Fixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPFIXED32FIXED32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapFixed32Fixed32Entry) )) , MapFixed64Fixed64Entry = _reflection.GeneratedProtocolMessageType('MapFixed64Fixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPFIXED64FIXED64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapFixed64Fixed64Entry) )) , MapSfixed32Sfixed32Entry = _reflection.GeneratedProtocolMessageType('MapSfixed32Sfixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPSFIXED32SFIXED32ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapSfixed32Sfixed32Entry) )) , MapSfixed64Sfixed64Entry = _reflection.GeneratedProtocolMessageType('MapSfixed64Sfixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPSFIXED64SFIXED64ENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapSfixed64Sfixed64Entry) )) , MapInt32FloatEntry = _reflection.GeneratedProtocolMessageType('MapInt32FloatEntry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPINT32FLOATENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapInt32FloatEntry) )) , MapInt32DoubleEntry = _reflection.GeneratedProtocolMessageType('MapInt32DoubleEntry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPINT32DOUBLEENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapInt32DoubleEntry) )) , MapBoolBoolEntry = _reflection.GeneratedProtocolMessageType('MapBoolBoolEntry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPBOOLBOOLENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapBoolBoolEntry) )) , MapStringStringEntry = _reflection.GeneratedProtocolMessageType('MapStringStringEntry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPSTRINGSTRINGENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapStringStringEntry) )) , MapInt32BytesEntry = _reflection.GeneratedProtocolMessageType('MapInt32BytesEntry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPINT32BYTESENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapInt32BytesEntry) )) , MapInt32EnumEntry = _reflection.GeneratedProtocolMessageType('MapInt32EnumEntry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPINT32ENUMENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapInt32EnumEntry) )) , MapInt32ForeignMessageEntry = _reflection.GeneratedProtocolMessageType('MapInt32ForeignMessageEntry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapInt32ForeignMessageEntry) )) , MapInt32ForeignMessageNoArenaEntry = _reflection.GeneratedProtocolMessageType('MapInt32ForeignMessageNoArenaEntry', (_message.Message,), dict( DESCRIPTOR = _TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap.MapInt32ForeignMessageNoArenaEntry) )) , DESCRIPTOR = _TESTARENAMAP, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestArenaMap) )) _sym_db.RegisterMessage(TestArenaMap) _sym_db.RegisterMessage(TestArenaMap.MapInt32Int32Entry) _sym_db.RegisterMessage(TestArenaMap.MapInt64Int64Entry) _sym_db.RegisterMessage(TestArenaMap.MapUint32Uint32Entry) _sym_db.RegisterMessage(TestArenaMap.MapUint64Uint64Entry) _sym_db.RegisterMessage(TestArenaMap.MapSint32Sint32Entry) _sym_db.RegisterMessage(TestArenaMap.MapSint64Sint64Entry) _sym_db.RegisterMessage(TestArenaMap.MapFixed32Fixed32Entry) _sym_db.RegisterMessage(TestArenaMap.MapFixed64Fixed64Entry) _sym_db.RegisterMessage(TestArenaMap.MapSfixed32Sfixed32Entry) _sym_db.RegisterMessage(TestArenaMap.MapSfixed64Sfixed64Entry) _sym_db.RegisterMessage(TestArenaMap.MapInt32FloatEntry) _sym_db.RegisterMessage(TestArenaMap.MapInt32DoubleEntry) _sym_db.RegisterMessage(TestArenaMap.MapBoolBoolEntry) _sym_db.RegisterMessage(TestArenaMap.MapStringStringEntry) _sym_db.RegisterMessage(TestArenaMap.MapInt32BytesEntry) _sym_db.RegisterMessage(TestArenaMap.MapInt32EnumEntry) _sym_db.RegisterMessage(TestArenaMap.MapInt32ForeignMessageEntry) _sym_db.RegisterMessage(TestArenaMap.MapInt32ForeignMessageNoArenaEntry) MessageContainingEnumCalledType = _reflection.GeneratedProtocolMessageType('MessageContainingEnumCalledType', (_message.Message,), dict( TypeEntry = _reflection.GeneratedProtocolMessageType('TypeEntry', (_message.Message,), dict( DESCRIPTOR = _MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.MessageContainingEnumCalledType.TypeEntry) )) , DESCRIPTOR = _MESSAGECONTAININGENUMCALLEDTYPE, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.MessageContainingEnumCalledType) )) _sym_db.RegisterMessage(MessageContainingEnumCalledType) _sym_db.RegisterMessage(MessageContainingEnumCalledType.TypeEntry) MessageContainingMapCalledEntry = _reflection.GeneratedProtocolMessageType('MessageContainingMapCalledEntry', (_message.Message,), dict( EntryEntry = _reflection.GeneratedProtocolMessageType('EntryEntry', (_message.Message,), dict( DESCRIPTOR = _MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.MessageContainingMapCalledEntry.EntryEntry) )) , DESCRIPTOR = _MESSAGECONTAININGMAPCALLEDENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.MessageContainingMapCalledEntry) )) _sym_db.RegisterMessage(MessageContainingMapCalledEntry) _sym_db.RegisterMessage(MessageContainingMapCalledEntry.EntryEntry) TestRecursiveMapMessage = _reflection.GeneratedProtocolMessageType('TestRecursiveMapMessage', (_message.Message,), dict( AEntry = _reflection.GeneratedProtocolMessageType('AEntry', (_message.Message,), dict( DESCRIPTOR = _TESTRECURSIVEMAPMESSAGE_AENTRY, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRecursiveMapMessage.AEntry) )) , DESCRIPTOR = _TESTRECURSIVEMAPMESSAGE, __module__ = 'google.protobuf.map_unittest_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestRecursiveMapMessage) )) _sym_db.RegisterMessage(TestRecursiveMapMessage) _sym_db.RegisterMessage(TestRecursiveMapMessage.AEntry) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\370\001\001')) _TESTMAP_MAPINT32INT32ENTRY.has_options = True _TESTMAP_MAPINT32INT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPINT64INT64ENTRY.has_options = True _TESTMAP_MAPINT64INT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPUINT32UINT32ENTRY.has_options = True _TESTMAP_MAPUINT32UINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPUINT64UINT64ENTRY.has_options = True _TESTMAP_MAPUINT64UINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPSINT32SINT32ENTRY.has_options = True _TESTMAP_MAPSINT32SINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPSINT64SINT64ENTRY.has_options = True _TESTMAP_MAPSINT64SINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPFIXED32FIXED32ENTRY.has_options = True _TESTMAP_MAPFIXED32FIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPFIXED64FIXED64ENTRY.has_options = True _TESTMAP_MAPFIXED64FIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPSFIXED32SFIXED32ENTRY.has_options = True _TESTMAP_MAPSFIXED32SFIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPSFIXED64SFIXED64ENTRY.has_options = True _TESTMAP_MAPSFIXED64SFIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPINT32FLOATENTRY.has_options = True _TESTMAP_MAPINT32FLOATENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPINT32DOUBLEENTRY.has_options = True _TESTMAP_MAPINT32DOUBLEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPBOOLBOOLENTRY.has_options = True _TESTMAP_MAPBOOLBOOLENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPSTRINGSTRINGENTRY.has_options = True _TESTMAP_MAPSTRINGSTRINGENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPINT32BYTESENTRY.has_options = True _TESTMAP_MAPINT32BYTESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPINT32ENUMENTRY.has_options = True _TESTMAP_MAPINT32ENUMENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPINT32FOREIGNMESSAGEENTRY.has_options = True _TESTMAP_MAPINT32FOREIGNMESSAGEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRY.has_options = True _TESTMAP_MAPSTRINGFOREIGNMESSAGEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMAP_MAPINT32ALLTYPESENTRY.has_options = True _TESTMAP_MAPINT32ALLTYPESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTMESSAGEMAP_MAPINT32MESSAGEENTRY.has_options = True _TESTMESSAGEMAP_MAPINT32MESSAGEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTSAMETYPEMAP_MAP1ENTRY.has_options = True _TESTSAMETYPEMAP_MAP1ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTSAMETYPEMAP_MAP2ENTRY.has_options = True _TESTSAMETYPEMAP_MAP2ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTREQUIREDMESSAGEMAP_MAPFIELDENTRY.has_options = True _TESTREQUIREDMESSAGEMAP_MAPFIELDENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPINT32INT32ENTRY.has_options = True _TESTARENAMAP_MAPINT32INT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPINT64INT64ENTRY.has_options = True _TESTARENAMAP_MAPINT64INT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPUINT32UINT32ENTRY.has_options = True _TESTARENAMAP_MAPUINT32UINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPUINT64UINT64ENTRY.has_options = True _TESTARENAMAP_MAPUINT64UINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPSINT32SINT32ENTRY.has_options = True _TESTARENAMAP_MAPSINT32SINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPSINT64SINT64ENTRY.has_options = True _TESTARENAMAP_MAPSINT64SINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPFIXED32FIXED32ENTRY.has_options = True _TESTARENAMAP_MAPFIXED32FIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPFIXED64FIXED64ENTRY.has_options = True _TESTARENAMAP_MAPFIXED64FIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPSFIXED32SFIXED32ENTRY.has_options = True _TESTARENAMAP_MAPSFIXED32SFIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPSFIXED64SFIXED64ENTRY.has_options = True _TESTARENAMAP_MAPSFIXED64SFIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPINT32FLOATENTRY.has_options = True _TESTARENAMAP_MAPINT32FLOATENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPINT32DOUBLEENTRY.has_options = True _TESTARENAMAP_MAPINT32DOUBLEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPBOOLBOOLENTRY.has_options = True _TESTARENAMAP_MAPBOOLBOOLENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPSTRINGSTRINGENTRY.has_options = True _TESTARENAMAP_MAPSTRINGSTRINGENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPINT32BYTESENTRY.has_options = True _TESTARENAMAP_MAPINT32BYTESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPINT32ENUMENTRY.has_options = True _TESTARENAMAP_MAPINT32ENUMENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRY.has_options = True _TESTARENAMAP_MAPINT32FOREIGNMESSAGEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRY.has_options = True _TESTARENAMAP_MAPINT32FOREIGNMESSAGENOARENAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRY.has_options = True _MESSAGECONTAININGENUMCALLEDTYPE_TYPEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRY.has_options = True _MESSAGECONTAININGMAPCALLEDENTRY_ENTRYENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTRECURSIVEMAPMESSAGE_AENTRY.has_options = True _TESTRECURSIVEMAPMESSAGE_AENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) # @@protoc_insertion_point(module_scope) PK!>= 7 while value: write(six.int2byte(0x80|bits)) bits = value & 0x7f value >>= 7 return write(six.int2byte(bits)) return EncodeVarint def _SignedVarintEncoder(): """Return an encoder for a basic signed varint value (does not include tag).""" def EncodeSignedVarint(write, value, unused_deterministic): if value < 0: value += (1 << 64) bits = value & 0x7f value >>= 7 while value: write(six.int2byte(0x80|bits)) bits = value & 0x7f value >>= 7 return write(six.int2byte(bits)) return EncodeSignedVarint _EncodeVarint = _VarintEncoder() _EncodeSignedVarint = _SignedVarintEncoder() def _VarintBytes(value): """Encode the given integer as a varint and return the bytes. This is only called at startup time so it doesn't need to be fast.""" pieces = [] _EncodeVarint(pieces.append, value, True) return b"".join(pieces) def TagBytes(field_number, wire_type): """Encode the given tag and return the bytes. Only called at startup.""" return six.binary_type( _VarintBytes(wire_format.PackTag(field_number, wire_type)) ) # -------------------------------------------------------------------- # As with sizers (see above), we have a number of common encoder # implementations. def _SimpleEncoder(wire_type, encode_value, compute_value_size): """Return a constructor for an encoder for fields of a particular type. Args: wire_type: The field's wire type, for encoding tags. encode_value: A function which encodes an individual value, e.g. _EncodeVarint(). compute_value_size: A function which computes the size of an individual value, e.g. _VarintSize(). """ def SpecificEncoder(field_number, is_repeated, is_packed): if is_packed: tag_bytes = TagBytes(field_number, wire_format.WIRETYPE_LENGTH_DELIMITED) local_EncodeVarint = _EncodeVarint def EncodePackedField(write, value, deterministic): write(tag_bytes) size = 0 for element in value: size += compute_value_size(element) local_EncodeVarint(write, size, deterministic) for element in value: encode_value(write, element, deterministic) return EncodePackedField elif is_repeated: tag_bytes = TagBytes(field_number, wire_type) def EncodeRepeatedField(write, value, deterministic): for element in value: write(tag_bytes) encode_value(write, element, deterministic) return EncodeRepeatedField else: tag_bytes = TagBytes(field_number, wire_type) def EncodeField(write, value, deterministic): write(tag_bytes) return encode_value(write, value, deterministic) return EncodeField return SpecificEncoder def _ModifiedEncoder(wire_type, encode_value, compute_value_size, modify_value): """Like SimpleEncoder but additionally invokes modify_value on every value before passing it to encode_value. Usually modify_value is ZigZagEncode.""" def SpecificEncoder(field_number, is_repeated, is_packed): if is_packed: tag_bytes = TagBytes(field_number, wire_format.WIRETYPE_LENGTH_DELIMITED) local_EncodeVarint = _EncodeVarint def EncodePackedField(write, value, deterministic): write(tag_bytes) size = 0 for element in value: size += compute_value_size(modify_value(element)) local_EncodeVarint(write, size, deterministic) for element in value: encode_value(write, modify_value(element), deterministic) return EncodePackedField elif is_repeated: tag_bytes = TagBytes(field_number, wire_type) def EncodeRepeatedField(write, value, deterministic): for element in value: write(tag_bytes) encode_value(write, modify_value(element), deterministic) return EncodeRepeatedField else: tag_bytes = TagBytes(field_number, wire_type) def EncodeField(write, value, deterministic): write(tag_bytes) return encode_value(write, modify_value(value), deterministic) return EncodeField return SpecificEncoder def _StructPackEncoder(wire_type, format): """Return a constructor for an encoder for a fixed-width field. Args: wire_type: The field's wire type, for encoding tags. format: The format string to pass to struct.pack(). """ value_size = struct.calcsize(format) def SpecificEncoder(field_number, is_repeated, is_packed): local_struct_pack = struct.pack if is_packed: tag_bytes = TagBytes(field_number, wire_format.WIRETYPE_LENGTH_DELIMITED) local_EncodeVarint = _EncodeVarint def EncodePackedField(write, value, deterministic): write(tag_bytes) local_EncodeVarint(write, len(value) * value_size, deterministic) for element in value: write(local_struct_pack(format, element)) return EncodePackedField elif is_repeated: tag_bytes = TagBytes(field_number, wire_type) def EncodeRepeatedField(write, value, unused_deterministic): for element in value: write(tag_bytes) write(local_struct_pack(format, element)) return EncodeRepeatedField else: tag_bytes = TagBytes(field_number, wire_type) def EncodeField(write, value, unused_deterministic): write(tag_bytes) return write(local_struct_pack(format, value)) return EncodeField return SpecificEncoder def _FloatingPointEncoder(wire_type, format): """Return a constructor for an encoder for float fields. This is like StructPackEncoder, but catches errors that may be due to passing non-finite floating-point values to struct.pack, and makes a second attempt to encode those values. Args: wire_type: The field's wire type, for encoding tags. format: The format string to pass to struct.pack(). """ value_size = struct.calcsize(format) if value_size == 4: def EncodeNonFiniteOrRaise(write, value): # Remember that the serialized form uses little-endian byte order. if value == _POS_INF: write(b'\x00\x00\x80\x7F') elif value == _NEG_INF: write(b'\x00\x00\x80\xFF') elif value != value: # NaN write(b'\x00\x00\xC0\x7F') else: raise elif value_size == 8: def EncodeNonFiniteOrRaise(write, value): if value == _POS_INF: write(b'\x00\x00\x00\x00\x00\x00\xF0\x7F') elif value == _NEG_INF: write(b'\x00\x00\x00\x00\x00\x00\xF0\xFF') elif value != value: # NaN write(b'\x00\x00\x00\x00\x00\x00\xF8\x7F') else: raise else: raise ValueError('Can\'t encode floating-point values that are ' '%d bytes long (only 4 or 8)' % value_size) def SpecificEncoder(field_number, is_repeated, is_packed): local_struct_pack = struct.pack if is_packed: tag_bytes = TagBytes(field_number, wire_format.WIRETYPE_LENGTH_DELIMITED) local_EncodeVarint = _EncodeVarint def EncodePackedField(write, value, deterministic): write(tag_bytes) local_EncodeVarint(write, len(value) * value_size, deterministic) for element in value: # This try/except block is going to be faster than any code that # we could write to check whether element is finite. try: write(local_struct_pack(format, element)) except SystemError: EncodeNonFiniteOrRaise(write, element) return EncodePackedField elif is_repeated: tag_bytes = TagBytes(field_number, wire_type) def EncodeRepeatedField(write, value, unused_deterministic): for element in value: write(tag_bytes) try: write(local_struct_pack(format, element)) except SystemError: EncodeNonFiniteOrRaise(write, element) return EncodeRepeatedField else: tag_bytes = TagBytes(field_number, wire_type) def EncodeField(write, value, unused_deterministic): write(tag_bytes) try: write(local_struct_pack(format, value)) except SystemError: EncodeNonFiniteOrRaise(write, value) return EncodeField return SpecificEncoder # ==================================================================== # Here we declare an encoder constructor for each field type. These work # very similarly to sizer constructors, described earlier. Int32Encoder = Int64Encoder = EnumEncoder = _SimpleEncoder( wire_format.WIRETYPE_VARINT, _EncodeSignedVarint, _SignedVarintSize) UInt32Encoder = UInt64Encoder = _SimpleEncoder( wire_format.WIRETYPE_VARINT, _EncodeVarint, _VarintSize) SInt32Encoder = SInt64Encoder = _ModifiedEncoder( wire_format.WIRETYPE_VARINT, _EncodeVarint, _VarintSize, wire_format.ZigZagEncode) # Note that Python conveniently guarantees that when using the '<' prefix on # formats, they will also have the same size across all platforms (as opposed # to without the prefix, where their sizes depend on the C compiler's basic # type sizes). Fixed32Encoder = _StructPackEncoder(wire_format.WIRETYPE_FIXED32, 'srcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2) inner_pb2z8google/protobuf/internal/import_test_package/outer.protoz3google.protobuf.python.internal.import_test_packageZproto2z 8google/protobuf/internal/import_test_package/outer.proto3google.protobuf.python.internal.import_test_package8google/protobuf/internal/import_test_package/inner.proto"R OuterI inner ( 2:.google.protobuf.python.internal.import_test_package.Inner)namepackagesyntaxZ serialized_pbZ dependenciesOuterz9google.protobuf.python.internal.import_test_package.Outerinnerz?google.protobuf.python.internal.import_test_package.Outer.inner F)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz6google.protobuf.internal.import_test_package.outer_pb2) DESCRIPTOR __module__)!sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZ,google.protobuf.internal.import_test_packagerZIgoogle_dot_protobuf_dot_internal_dot_import__test__package_dot_inner__pb2ZFileDescriptorr"Z DescriptorZFieldDescriptorZ_OUTERZ_INNERZfields_by_namerZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrsX           PK!fE}}Pprotobuf/internal/import_test_package/__pycache__/inner_pb2.cpython-36.opt-1.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejedS)NcCs|S)N)xrr/usr/lib/python3.6/inner_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z8google/protobuf/internal/import_test_package/inner.protoz3google.protobuf.python.internal.import_test_packageZproto2z 8google/protobuf/internal/import_test_package/inner.proto3google.protobuf.python.internal.import_test_package" Inner value (:57)namepackagesyntaxZ serialized_pbInnerz9google.protobuf.python.internal.import_test_package.Innervaluez?google.protobuf.python.internal.import_test_package.Inner.valueT9F)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileq)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz6google.protobuf.internal.import_test_package.inner_pb2) DESCRIPTOR __module__)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr Z DescriptorZFieldDescriptorZ_INNERZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrsR          PK!Pprotobuf/internal/import_test_package/__pycache__/outer_pb2.cpython-36.opt-1.pycnu[3 h @s.ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejdddddddddddddddedggggdddggdddZejejd_eejd<ejee jdejfeeddZej edS)NcCs|S)N)xrr/usr/lib/python3.6/outer_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2) inner_pb2z8google/protobuf/internal/import_test_package/outer.protoz3google.protobuf.python.internal.import_test_packageZproto2z 8google/protobuf/internal/import_test_package/outer.proto3google.protobuf.python.internal.import_test_package8google/protobuf/internal/import_test_package/inner.proto"R OuterI inner ( 2:.google.protobuf.python.internal.import_test_package.Inner)namepackagesyntaxZ serialized_pbZ dependenciesOuterz9google.protobuf.python.internal.import_test_package.Outerinnerz?google.protobuf.python.internal.import_test_package.Outer.inner F)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz6google.protobuf.internal.import_test_package.outer_pb2) DESCRIPTOR __module__)!sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZ,google.protobuf.internal.import_test_packagerZIgoogle_dot_protobuf_dot_internal_dot_import__test__package_dot_inner__pb2ZFileDescriptorr"Z DescriptorZFieldDescriptorZ_OUTERZ_INNERZfields_by_namerZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrsX           PK!fE}}Jprotobuf/internal/import_test_package/__pycache__/inner_pb2.cpython-36.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddedejdddddddddddddddedggggddd ggdddZeejd<ejee jdejfeeddZejedS)NcCs|S)N)xrr/usr/lib/python3.6/inner_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z8google/protobuf/internal/import_test_package/inner.protoz3google.protobuf.python.internal.import_test_packageZproto2z 8google/protobuf/internal/import_test_package/inner.proto3google.protobuf.python.internal.import_test_package" Inner value (:57)namepackagesyntaxZ serialized_pbInnerz9google.protobuf.python.internal.import_test_package.Innervaluez?google.protobuf.python.internal.import_test_package.Inner.valueT9F)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileq)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz6google.protobuf.internal.import_test_package.inner_pb2) DESCRIPTOR __module__)sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr Z DescriptorZFieldDescriptorZ_INNERZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerrrrsR          PK!>r  Iprotobuf/internal/import_test_package/__pycache__/__init__.cpython-36.pycnu[3 h@sdZddlmZdS)z3Sample module importing a nested proto from itself.) outer_pb2N)__doc__Z,google.protobuf.internal.import_test_packagerZmyprotorr/usr/lib/python3.6/__init__.pysPK!>r  Oprotobuf/internal/import_test_package/__pycache__/__init__.cpython-36.opt-1.pycnu[3 h@sdZddlmZdS)z3Sample module importing a nested proto from itself.) outer_pb2N)__doc__Z,google.protobuf.internal.import_test_packagerZmyprotorr/usr/lib/python3.6/__init__.pysPK!A} 2protobuf/internal/import_test_package/outer_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/import_test_package/outer.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf.internal.import_test_package import inner_pb2 as google_dot_protobuf_dot_internal_dot_import__test__package_dot_inner__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/import_test_package/outer.proto', package='google.protobuf.python.internal.import_test_package', syntax='proto2', serialized_pb=_b('\n8google/protobuf/internal/import_test_package/outer.proto\x12\x33google.protobuf.python.internal.import_test_package\x1a\x38google/protobuf/internal/import_test_package/inner.proto\"R\n\x05Outer\x12I\n\x05inner\x18\x01 \x01(\x0b\x32:.google.protobuf.python.internal.import_test_package.Inner') , dependencies=[google_dot_protobuf_dot_internal_dot_import__test__package_dot_inner__pb2.DESCRIPTOR,]) _OUTER = _descriptor.Descriptor( name='Outer', full_name='google.protobuf.python.internal.import_test_package.Outer', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='inner', full_name='google.protobuf.python.internal.import_test_package.Outer.inner', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=171, serialized_end=253, ) _OUTER.fields_by_name['inner'].message_type = google_dot_protobuf_dot_internal_dot_import__test__package_dot_inner__pb2._INNER DESCRIPTOR.message_types_by_name['Outer'] = _OUTER _sym_db.RegisterFileDescriptor(DESCRIPTOR) Outer = _reflection.GeneratedProtocolMessageType('Outer', (_message.Message,), dict( DESCRIPTOR = _OUTER, __module__ = 'google.protobuf.internal.import_test_package.outer_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.import_test_package.Outer) )) _sym_db.RegisterMessage(Outer) # @@protoc_insertion_point(module_scope) PK!2protobuf/internal/import_test_package/inner_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/import_test_package/inner.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/import_test_package/inner.proto', package='google.protobuf.python.internal.import_test_package', syntax='proto2', serialized_pb=_b('\n8google/protobuf/internal/import_test_package/inner.proto\x12\x33google.protobuf.python.internal.import_test_package\"\x1a\n\x05Inner\x12\x11\n\x05value\x18\x01 \x01(\x05:\x02\x35\x37') ) _INNER = _descriptor.Descriptor( name='Inner', full_name='google.protobuf.python.internal.import_test_package.Inner', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.python.internal.import_test_package.Inner.value', index=0, number=1, type=5, cpp_type=1, label=1, has_default_value=True, default_value=57, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=113, serialized_end=139, ) DESCRIPTOR.message_types_by_name['Inner'] = _INNER _sym_db.RegisterFileDescriptor(DESCRIPTOR) Inner = _reflection.GeneratedProtocolMessageType('Inner', (_message.Message,), dict( DESCRIPTOR = _INNER, __module__ = 'google.protobuf.internal.import_test_package.inner_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.import_test_package.Inner) )) _sym_db.RegisterMessage(Inner) # @@protoc_insertion_point(module_scope) PK!protobuf/internal/__init__.pynu[PK!)protobuf/internal/symbol_database_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Tests for google.protobuf.symbol_database.""" try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import unittest_pb2 from google.protobuf import descriptor from google.protobuf import descriptor_pool from google.protobuf import symbol_database class SymbolDatabaseTest(unittest.TestCase): def _Database(self): if descriptor._USE_C_DESCRIPTORS: # The C++ implementation does not allow mixing descriptors from # different pools. db = symbol_database.SymbolDatabase(pool=descriptor_pool.Default()) else: db = symbol_database.SymbolDatabase() # Register representative types from unittest_pb2. db.RegisterFileDescriptor(unittest_pb2.DESCRIPTOR) db.RegisterMessage(unittest_pb2.TestAllTypes) db.RegisterMessage(unittest_pb2.TestAllTypes.NestedMessage) db.RegisterMessage(unittest_pb2.TestAllTypes.OptionalGroup) db.RegisterMessage(unittest_pb2.TestAllTypes.RepeatedGroup) db.RegisterEnumDescriptor(unittest_pb2.ForeignEnum.DESCRIPTOR) db.RegisterEnumDescriptor(unittest_pb2.TestAllTypes.NestedEnum.DESCRIPTOR) db.RegisterServiceDescriptor(unittest_pb2._TESTSERVICE) return db def testGetPrototype(self): instance = self._Database().GetPrototype( unittest_pb2.TestAllTypes.DESCRIPTOR) self.assertTrue(instance is unittest_pb2.TestAllTypes) def testGetMessages(self): messages = self._Database().GetMessages( ['google/protobuf/unittest.proto']) self.assertTrue( unittest_pb2.TestAllTypes is messages['protobuf_unittest.TestAllTypes']) def testGetSymbol(self): self.assertEqual( unittest_pb2.TestAllTypes, self._Database().GetSymbol( 'protobuf_unittest.TestAllTypes')) self.assertEqual( unittest_pb2.TestAllTypes.NestedMessage, self._Database().GetSymbol( 'protobuf_unittest.TestAllTypes.NestedMessage')) self.assertEqual( unittest_pb2.TestAllTypes.OptionalGroup, self._Database().GetSymbol( 'protobuf_unittest.TestAllTypes.OptionalGroup')) self.assertEqual( unittest_pb2.TestAllTypes.RepeatedGroup, self._Database().GetSymbol( 'protobuf_unittest.TestAllTypes.RepeatedGroup')) def testEnums(self): # Check registration of types in the pool. self.assertEqual( 'protobuf_unittest.ForeignEnum', self._Database().pool.FindEnumTypeByName( 'protobuf_unittest.ForeignEnum').full_name) self.assertEqual( 'protobuf_unittest.TestAllTypes.NestedEnum', self._Database().pool.FindEnumTypeByName( 'protobuf_unittest.TestAllTypes.NestedEnum').full_name) def testFindMessageTypeByName(self): self.assertEqual( 'protobuf_unittest.TestAllTypes', self._Database().pool.FindMessageTypeByName( 'protobuf_unittest.TestAllTypes').full_name) self.assertEqual( 'protobuf_unittest.TestAllTypes.NestedMessage', self._Database().pool.FindMessageTypeByName( 'protobuf_unittest.TestAllTypes.NestedMessage').full_name) def testFindServiceByName(self): self.assertEqual( 'protobuf_unittest.TestService', self._Database().pool.FindServiceByName( 'protobuf_unittest.TestService').full_name) def testFindFileContainingSymbol(self): # Lookup based on either enum or message. self.assertEqual( 'google/protobuf/unittest.proto', self._Database().pool.FindFileContainingSymbol( 'protobuf_unittest.TestAllTypes.NestedEnum').name) self.assertEqual( 'google/protobuf/unittest.proto', self._Database().pool.FindFileContainingSymbol( 'protobuf_unittest.TestAllTypes').name) def testFindFileByName(self): self.assertEqual( 'google/protobuf/unittest.proto', self._Database().pool.FindFileByName( 'google/protobuf/unittest.proto').name) if __name__ == '__main__': unittest.main() PK!z z0z0.protobuf/internal/descriptor_pool_test2_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/descriptor_pool_test2.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf.internal import descriptor_pool_test1_pb2 as google_dot_protobuf_dot_internal_dot_descriptor__pool__test1__pb2 from google.protobuf.internal import more_messages_pb2 as google_dot_protobuf_dot_internal_dot_more__messages__pb2 from google.protobuf.internal.more_messages_pb2 import * DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/descriptor_pool_test2.proto', package='google.protobuf.python.internal', syntax='proto2', serialized_pb=_b('\n4google/protobuf/internal/descriptor_pool_test2.proto\x12\x1fgoogle.protobuf.python.internal\x1a\x34google/protobuf/internal/descriptor_pool_test1.proto\x1a,google/protobuf/internal/more_messages.proto\"\xef\x06\n\x13\x44\x65scriptorPoolTest3\x12X\n\x0bnested_enum\x18\x01 \x01(\x0e\x32?.google.protobuf.python.internal.DescriptorPoolTest3.NestedEnum:\x02XI\x12Z\n\x0enested_message\x18\x02 \x01(\x0b\x32\x42.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage\x1a\xf7\x03\n\rNestedMessage\x12\x66\n\x0bnested_enum\x18\x01 \x01(\x0e\x32M.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.NestedEnum:\x02PI\x12\x18\n\x0cnested_field\x18\x02 \x01(\t:\x02nu\x12q\n\x13\x64\x65\x65p_nested_message\x18\x03 \x01(\x0b\x32T.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage\x1a\xcd\x01\n\x11\x44\x65\x65pNestedMessage\x12y\n\x0bnested_enum\x18\x01 \x01(\x0e\x32_.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.NestedEnum:\x03RHO\x12\x1b\n\x0cnested_field\x18\x02 \x01(\t:\x05sigma\" \n\nNestedEnum\x12\x07\n\x03RHO\x10\x11\x12\t\n\x05SIGMA\x10\x12\"!\n\nNestedEnum\x12\x0b\n\x07OMICRON\x10\x0f\x12\x06\n\x02PI\x10\x10\"\x1c\n\nNestedEnum\x12\x06\n\x02NU\x10\r\x12\x06\n\x02XI\x10\x0e\x32\x89\x01\n\x14\x64\x65scriptor_pool_test\x12\x34.google.protobuf.python.internal.DescriptorPoolTest1\x18\xe9\x07 \x01(\x0b\x32\x34.google.protobuf.python.internal.DescriptorPoolTest3P\x01') , dependencies=[google_dot_protobuf_dot_internal_dot_descriptor__pool__test1__pb2.DESCRIPTOR,google_dot_protobuf_dot_internal_dot_more__messages__pb2.DESCRIPTOR,], public_dependencies=[google_dot_protobuf_dot_internal_dot_more__messages__pb2.DESCRIPTOR,]) _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='RHO', index=0, number=17, options=None, type=None), _descriptor.EnumValueDescriptor( name='SIGMA', index=1, number=18, options=None, type=None), ], containing_type=None, options=None, serialized_start=832, serialized_end=864, ) _sym_db.RegisterEnumDescriptor(_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUM) _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='OMICRON', index=0, number=15, options=None, type=None), _descriptor.EnumValueDescriptor( name='PI', index=1, number=16, options=None, type=None), ], containing_type=None, options=None, serialized_start=866, serialized_end=899, ) _sym_db.RegisterEnumDescriptor(_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_NESTEDENUM) _DESCRIPTORPOOLTEST3_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='NU', index=0, number=13, options=None, type=None), _descriptor.EnumValueDescriptor( name='XI', index=1, number=14, options=None, type=None), ], containing_type=None, options=None, serialized_start=901, serialized_end=929, ) _sym_db.RegisterEnumDescriptor(_DESCRIPTORPOOLTEST3_NESTEDENUM) _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE = _descriptor.Descriptor( name='DeepNestedMessage', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='nested_enum', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.nested_enum', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=True, default_value=17, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_field', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.nested_field', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("sigma").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=659, serialized_end=864, ) _DESCRIPTORPOOLTEST3_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='nested_enum', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.nested_enum', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=True, default_value=16, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_field', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.nested_field', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("nu").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='deep_nested_message', full_name='google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.deep_nested_message', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE, ], enum_types=[ _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=396, serialized_end=899, ) _DESCRIPTORPOOLTEST3 = _descriptor.Descriptor( name='DescriptorPoolTest3', full_name='google.protobuf.python.internal.DescriptorPoolTest3', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='nested_enum', full_name='google.protobuf.python.internal.DescriptorPoolTest3.nested_enum', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=True, default_value=14, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_message', full_name='google.protobuf.python.internal.DescriptorPoolTest3.nested_message', 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, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='descriptor_pool_test', full_name='google.protobuf.python.internal.DescriptorPoolTest3.descriptor_pool_test', index=0, number=1001, 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, options=None, file=DESCRIPTOR), ], nested_types=[_DESCRIPTORPOOLTEST3_NESTEDMESSAGE, ], enum_types=[ _DESCRIPTORPOOLTEST3_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=190, serialized_end=1069, ) _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE.fields_by_name['nested_enum'].enum_type = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUM _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE.containing_type = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUM.containing_type = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE _DESCRIPTORPOOLTEST3_NESTEDMESSAGE.fields_by_name['nested_enum'].enum_type = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_NESTEDENUM _DESCRIPTORPOOLTEST3_NESTEDMESSAGE.fields_by_name['deep_nested_message'].message_type = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE _DESCRIPTORPOOLTEST3_NESTEDMESSAGE.containing_type = _DESCRIPTORPOOLTEST3 _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_NESTEDENUM.containing_type = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE _DESCRIPTORPOOLTEST3.fields_by_name['nested_enum'].enum_type = _DESCRIPTORPOOLTEST3_NESTEDENUM _DESCRIPTORPOOLTEST3.fields_by_name['nested_message'].message_type = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE _DESCRIPTORPOOLTEST3_NESTEDENUM.containing_type = _DESCRIPTORPOOLTEST3 DESCRIPTOR.message_types_by_name['DescriptorPoolTest3'] = _DESCRIPTORPOOLTEST3 _sym_db.RegisterFileDescriptor(DESCRIPTOR) DescriptorPoolTest3 = _reflection.GeneratedProtocolMessageType('DescriptorPoolTest3', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DeepNestedMessage = _reflection.GeneratedProtocolMessageType('DeepNestedMessage', (_message.Message,), dict( DESCRIPTOR = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE, __module__ = 'google.protobuf.internal.descriptor_pool_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage) )) , DESCRIPTOR = _DESCRIPTORPOOLTEST3_NESTEDMESSAGE, __module__ = 'google.protobuf.internal.descriptor_pool_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage) )) , DESCRIPTOR = _DESCRIPTORPOOLTEST3, __module__ = 'google.protobuf.internal.descriptor_pool_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.DescriptorPoolTest3) )) _sym_db.RegisterMessage(DescriptorPoolTest3) _sym_db.RegisterMessage(DescriptorPoolTest3.NestedMessage) _sym_db.RegisterMessage(DescriptorPoolTest3.NestedMessage.DeepNestedMessage) _DESCRIPTORPOOLTEST3.extensions_by_name['descriptor_pool_test'].message_type = _DESCRIPTORPOOLTEST3 google_dot_protobuf_dot_internal_dot_descriptor__pool__test1__pb2.DescriptorPoolTest1.RegisterExtension(_DESCRIPTORPOOLTEST3.extensions_by_name['descriptor_pool_test']) # @@protoc_insertion_point(module_scope) PK!v' ' %protobuf/internal/message_listener.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Defines a listener interface for observing certain state transitions on Message objects. Also defines a null implementation of this interface. """ __author__ = 'robinson@google.com (Will Robinson)' class MessageListener(object): """Listens for modifications made to a message. Meant to be registered via Message._SetListener(). Attributes: dirty: If True, then calling Modified() would be a no-op. This can be used to avoid these calls entirely in the common case. """ def Modified(self): """Called every time the message is modified in such a way that the parent message may need to be updated. This currently means either: (a) The message was modified for the first time, so the parent message should henceforth mark the message as present. (b) The message's cached byte size became dirty -- i.e. the message was modified for the first time after a previous call to ByteSize(). Therefore the parent should also mark its byte size as dirty. Note that (a) implies (b), since new objects start out with a client cached size (zero). However, we document (a) explicitly because it is important. Modified() will *only* be called in response to one of these two events -- not every time the sub-message is modified. Note that if the listener's |dirty| attribute is true, then calling Modified at the moment would be a no-op, so it can be skipped. Performance- sensitive callers should check this attribute directly before calling since it will be true most of the time. """ raise NotImplementedError class NullMessageListener(object): """No-op MessageListener implementation.""" def Modified(self): pass PK!-}66(protobuf/internal/unknown_fields_test.pynu[# -*- coding: utf-8 -*- # # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Test for preservation of unknown fields in the pure Python implementation.""" __author__ = 'bohdank@google.com (Bohdan Koval)' try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import unittest_mset_pb2 from google.protobuf import unittest_pb2 from google.protobuf import unittest_proto3_arena_pb2 from google.protobuf.internal import api_implementation from google.protobuf.internal import encoder from google.protobuf.internal import message_set_extensions_pb2 from google.protobuf.internal import missing_enum_values_pb2 from google.protobuf.internal import test_util from google.protobuf.internal import testing_refleaks from google.protobuf.internal import type_checkers BaseTestCase = testing_refleaks.BaseTestCase # CheckUnknownField() cannot be used by the C++ implementation because # some protect members are called. It is not a behavior difference # for python and C++ implementation. def SkipCheckUnknownFieldIfCppImplementation(func): return unittest.skipIf( api_implementation.Type() == 'cpp' and api_implementation.Version() == 2, 'Addtional test for pure python involved protect members')(func) class UnknownFieldsTest(BaseTestCase): def setUp(self): self.descriptor = unittest_pb2.TestAllTypes.DESCRIPTOR self.all_fields = unittest_pb2.TestAllTypes() test_util.SetAllFields(self.all_fields) self.all_fields_data = self.all_fields.SerializeToString() self.empty_message = unittest_pb2.TestEmptyMessage() self.empty_message.ParseFromString(self.all_fields_data) def testSerialize(self): data = self.empty_message.SerializeToString() # Don't use assertEqual because we don't want to dump raw binary data to # stdout. self.assertTrue(data == self.all_fields_data) def expectSerializeProto3(self, preserve): message = unittest_proto3_arena_pb2.TestEmptyMessage() message.ParseFromString(self.all_fields_data) if preserve: self.assertEqual(self.all_fields_data, message.SerializeToString()) else: self.assertEqual(0, len(message.SerializeToString())) def testSerializeProto3(self): # Verify that proto3 unknown fields behavior. default_preserve = (api_implementation .GetPythonProto3PreserveUnknownsDefault()) self.expectSerializeProto3(default_preserve) api_implementation.SetPythonProto3PreserveUnknownsDefault( not default_preserve) self.expectSerializeProto3(not default_preserve) api_implementation.SetPythonProto3PreserveUnknownsDefault(default_preserve) def testByteSize(self): self.assertEqual(self.all_fields.ByteSize(), self.empty_message.ByteSize()) def testListFields(self): # Make sure ListFields doesn't return unknown fields. self.assertEqual(0, len(self.empty_message.ListFields())) def testSerializeMessageSetWireFormatUnknownExtension(self): # Create a message using the message set wire format with an unknown # message. raw = unittest_mset_pb2.RawMessageSet() # Add an unknown extension. item = raw.item.add() item.type_id = 98418603 message1 = message_set_extensions_pb2.TestMessageSetExtension1() message1.i = 12345 item.message = message1.SerializeToString() serialized = raw.SerializeToString() # Parse message using the message set wire format. proto = message_set_extensions_pb2.TestMessageSet() proto.MergeFromString(serialized) # Verify that the unknown extension is serialized unchanged reserialized = proto.SerializeToString() new_raw = unittest_mset_pb2.RawMessageSet() new_raw.MergeFromString(reserialized) self.assertEqual(raw, new_raw) def testEquals(self): message = unittest_pb2.TestEmptyMessage() message.ParseFromString(self.all_fields_data) self.assertEqual(self.empty_message, message) self.all_fields.ClearField('optional_string') message.ParseFromString(self.all_fields.SerializeToString()) self.assertNotEqual(self.empty_message, message) def testDiscardUnknownFields(self): self.empty_message.DiscardUnknownFields() self.assertEqual(b'', self.empty_message.SerializeToString()) # Test message field and repeated message field. message = unittest_pb2.TestAllTypes() other_message = unittest_pb2.TestAllTypes() other_message.optional_string = 'discard' message.optional_nested_message.ParseFromString( other_message.SerializeToString()) message.repeated_nested_message.add().ParseFromString( other_message.SerializeToString()) self.assertNotEqual( b'', message.optional_nested_message.SerializeToString()) self.assertNotEqual( b'', message.repeated_nested_message[0].SerializeToString()) message.DiscardUnknownFields() self.assertEqual(b'', message.optional_nested_message.SerializeToString()) self.assertEqual( b'', message.repeated_nested_message[0].SerializeToString()) class UnknownFieldsAccessorsTest(BaseTestCase): def setUp(self): self.descriptor = unittest_pb2.TestAllTypes.DESCRIPTOR self.all_fields = unittest_pb2.TestAllTypes() test_util.SetAllFields(self.all_fields) self.all_fields_data = self.all_fields.SerializeToString() self.empty_message = unittest_pb2.TestEmptyMessage() self.empty_message.ParseFromString(self.all_fields_data) # CheckUnknownField() is an additional Pure Python check which checks # a detail of unknown fields. It cannot be used by the C++ # implementation because some protect members are called. # The test is added for historical reasons. It is not necessary as # serialized string is checked. def CheckUnknownField(self, name, expected_value): field_descriptor = self.descriptor.fields_by_name[name] wire_type = type_checkers.FIELD_TYPE_TO_WIRE_TYPE[field_descriptor.type] field_tag = encoder.TagBytes(field_descriptor.number, wire_type) result_dict = {} for tag_bytes, value in self.empty_message._unknown_fields: if tag_bytes == field_tag: decoder = unittest_pb2.TestAllTypes._decoders_by_tag[tag_bytes][0] decoder(value, 0, len(value), self.all_fields, result_dict) self.assertEqual(expected_value, result_dict[field_descriptor]) @SkipCheckUnknownFieldIfCppImplementation def testCheckUnknownFieldValue(self): # Test enum. self.CheckUnknownField('optional_nested_enum', self.all_fields.optional_nested_enum) # Test repeated enum. self.CheckUnknownField('repeated_nested_enum', self.all_fields.repeated_nested_enum) # Test varint. self.CheckUnknownField('optional_int32', self.all_fields.optional_int32) # Test fixed32. self.CheckUnknownField('optional_fixed32', self.all_fields.optional_fixed32) # Test fixed64. self.CheckUnknownField('optional_fixed64', self.all_fields.optional_fixed64) # Test lengthd elimited. self.CheckUnknownField('optional_string', self.all_fields.optional_string) # Test group. self.CheckUnknownField('optionalgroup', self.all_fields.optionalgroup) def testCopyFrom(self): message = unittest_pb2.TestEmptyMessage() message.CopyFrom(self.empty_message) self.assertEqual(message.SerializeToString(), self.all_fields_data) def testMergeFrom(self): message = unittest_pb2.TestAllTypes() message.optional_int32 = 1 message.optional_uint32 = 2 source = unittest_pb2.TestEmptyMessage() source.ParseFromString(message.SerializeToString()) message.ClearField('optional_int32') message.optional_int64 = 3 message.optional_uint32 = 4 destination = unittest_pb2.TestEmptyMessage() destination.ParseFromString(message.SerializeToString()) destination.MergeFrom(source) # Check that the fields where correctly merged, even stored in the unknown # fields set. message.ParseFromString(destination.SerializeToString()) self.assertEqual(message.optional_int32, 1) self.assertEqual(message.optional_uint32, 2) self.assertEqual(message.optional_int64, 3) def testClear(self): self.empty_message.Clear() # All cleared, even unknown fields. self.assertEqual(self.empty_message.SerializeToString(), b'') def testUnknownExtensions(self): message = unittest_pb2.TestEmptyMessageWithExtensions() message.ParseFromString(self.all_fields_data) self.assertEqual(message.SerializeToString(), self.all_fields_data) class UnknownEnumValuesTest(BaseTestCase): def setUp(self): self.descriptor = missing_enum_values_pb2.TestEnumValues.DESCRIPTOR self.message = missing_enum_values_pb2.TestEnumValues() # TestEnumValues.ZERO = 0, but does not exist in the other NestedEnum. self.message.optional_nested_enum = ( missing_enum_values_pb2.TestEnumValues.ZERO) self.message.repeated_nested_enum.extend([ missing_enum_values_pb2.TestEnumValues.ZERO, missing_enum_values_pb2.TestEnumValues.ONE, ]) self.message.packed_nested_enum.extend([ missing_enum_values_pb2.TestEnumValues.ZERO, missing_enum_values_pb2.TestEnumValues.ONE, ]) self.message_data = self.message.SerializeToString() self.missing_message = missing_enum_values_pb2.TestMissingEnumValues() self.missing_message.ParseFromString(self.message_data) # CheckUnknownField() is an additional Pure Python check which checks # a detail of unknown fields. It cannot be used by the C++ # implementation because some protect members are called. # The test is added for historical reasons. It is not necessary as # serialized string is checked. def CheckUnknownField(self, name, expected_value): field_descriptor = self.descriptor.fields_by_name[name] wire_type = type_checkers.FIELD_TYPE_TO_WIRE_TYPE[field_descriptor.type] field_tag = encoder.TagBytes(field_descriptor.number, wire_type) result_dict = {} for tag_bytes, value in self.missing_message._unknown_fields: if tag_bytes == field_tag: decoder = missing_enum_values_pb2.TestEnumValues._decoders_by_tag[ tag_bytes][0] decoder(value, 0, len(value), self.message, result_dict) self.assertEqual(expected_value, result_dict[field_descriptor]) def testUnknownParseMismatchEnumValue(self): just_string = missing_enum_values_pb2.JustString() just_string.dummy = 'blah' missing = missing_enum_values_pb2.TestEnumValues() # The parse is invalid, storing the string proto into the set of # unknown fields. missing.ParseFromString(just_string.SerializeToString()) # Fetching the enum field shouldn't crash, instead returning the # default value. self.assertEqual(missing.optional_nested_enum, 0) def testUnknownEnumValue(self): self.assertFalse(self.missing_message.HasField('optional_nested_enum')) self.assertEqual(self.missing_message.optional_nested_enum, 2) # Clear does not do anything. serialized = self.missing_message.SerializeToString() self.missing_message.ClearField('optional_nested_enum') self.assertEqual(self.missing_message.SerializeToString(), serialized) def testUnknownRepeatedEnumValue(self): self.assertEqual([], self.missing_message.repeated_nested_enum) def testUnknownPackedEnumValue(self): self.assertEqual([], self.missing_message.packed_nested_enum) @SkipCheckUnknownFieldIfCppImplementation def testCheckUnknownFieldValueForEnum(self): self.CheckUnknownField('optional_nested_enum', self.message.optional_nested_enum) self.CheckUnknownField('repeated_nested_enum', self.message.repeated_nested_enum) self.CheckUnknownField('packed_nested_enum', self.message.packed_nested_enum) def testRoundTrip(self): new_message = missing_enum_values_pb2.TestEnumValues() new_message.ParseFromString(self.missing_message.SerializeToString()) self.assertEqual(self.message, new_message) if __name__ == '__main__': unittest.main() PK!g[a[a&protobuf/internal/factory_test2_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/factory_test2.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf.internal import factory_test1_pb2 as google_dot_protobuf_dot_internal_dot_factory__test1__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/factory_test2.proto', package='google.protobuf.python.internal', syntax='proto2', serialized_pb=_b('\n,google/protobuf/internal/factory_test2.proto\x12\x1fgoogle.protobuf.python.internal\x1a,google/protobuf/internal/factory_test1.proto\"\xd8\x0b\n\x0f\x46\x61\x63tory2Message\x12\x11\n\tmandatory\x18\x01 \x02(\x05\x12\x45\n\x0e\x66\x61\x63tory_2_enum\x18\x02 \x01(\x0e\x32-.google.protobuf.python.internal.Factory2Enum\x12\x62\n\x15nested_factory_2_enum\x18\x03 \x01(\x0e\x32\x43.google.protobuf.python.internal.Factory2Message.NestedFactory2Enum\x12h\n\x18nested_factory_2_message\x18\x04 \x01(\x0b\x32\x46.google.protobuf.python.internal.Factory2Message.NestedFactory2Message\x12K\n\x11\x66\x61\x63tory_1_message\x18\x05 \x01(\x0b\x32\x30.google.protobuf.python.internal.Factory1Message\x12\x45\n\x0e\x66\x61\x63tory_1_enum\x18\x06 \x01(\x0e\x32-.google.protobuf.python.internal.Factory1Enum\x12\x62\n\x15nested_factory_1_enum\x18\x07 \x01(\x0e\x32\x43.google.protobuf.python.internal.Factory1Message.NestedFactory1Enum\x12h\n\x18nested_factory_1_message\x18\x08 \x01(\x0b\x32\x46.google.protobuf.python.internal.Factory1Message.NestedFactory1Message\x12J\n\x10\x63ircular_message\x18\t \x01(\x0b\x32\x30.google.protobuf.python.internal.Factory2Message\x12\x14\n\x0cscalar_value\x18\n \x01(\t\x12\x12\n\nlist_value\x18\x0b \x03(\t\x12I\n\x07grouped\x18\x0c \x03(\n28.google.protobuf.python.internal.Factory2Message.Grouped\x12:\n\x04loop\x18\x0f \x01(\x0b\x32,.google.protobuf.python.internal.LoopMessage\x12\x1e\n\x10int_with_default\x18\x10 \x01(\x05:\x04\x31\x37\x37\x36\x12!\n\x13\x64ouble_with_default\x18\x11 \x01(\x01:\x04\x39.99\x12(\n\x13string_with_default\x18\x12 \x01(\t:\x0bhello world\x12 \n\x11\x62ool_with_default\x18\x13 \x01(\x08:\x05\x66\x61lse\x12[\n\x11\x65num_with_default\x18\x14 \x01(\x0e\x32-.google.protobuf.python.internal.Factory2Enum:\x11\x46\x41\x43TORY_2_VALUE_1\x12&\n\x12\x62ytes_with_default\x18\x15 \x01(\x0c:\na\\373\\000c\x12\x13\n\toneof_int\x18\x16 \x01(\x05H\x00\x12\x16\n\x0coneof_string\x18\x17 \x01(\tH\x00\x1a&\n\x15NestedFactory2Message\x12\r\n\x05value\x18\x01 \x01(\t\x1a)\n\x07Grouped\x12\x0e\n\x06part_1\x18\r \x01(\t\x12\x0e\n\x06part_2\x18\x0e \x01(\t\"P\n\x12NestedFactory2Enum\x12\x1c\n\x18NESTED_FACTORY_2_VALUE_0\x10\x00\x12\x1c\n\x18NESTED_FACTORY_2_VALUE_1\x10\x01\x32I\n\x0eone_more_field\x12\x30.google.protobuf.python.internal.Factory1Message\x18\xe9\x07 \x01(\tB\r\n\x0boneof_field\"M\n\x0bLoopMessage\x12>\n\x04loop\x18\x01 \x01(\x0b\x32\x30.google.protobuf.python.internal.Factory2Message\"D\n\x19MessageWithNestedEnumOnly\"\'\n\nNestedEnum\x12\x19\n\x15NESTED_MESSAGE_ENUM_0\x10\x00\"\'\n\x11MessageWithOption\x12\x0e\n\x06\x66ield1\x18\x01 \x01(\x05:\x02\x10\x01*<\n\x0c\x46\x61\x63tory2Enum\x12\x15\n\x11\x46\x41\x43TORY_2_VALUE_0\x10\x00\x12\x15\n\x11\x46\x41\x43TORY_2_VALUE_1\x10\x01:H\n\ranother_field\x12\x30.google.protobuf.python.internal.Factory1Message\x18\xea\x07 \x01(\t') , dependencies=[google_dot_protobuf_dot_internal_dot_factory__test1__pb2.DESCRIPTOR,]) _FACTORY2ENUM = _descriptor.EnumDescriptor( name='Factory2Enum', full_name='google.protobuf.python.internal.Factory2Enum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FACTORY_2_VALUE_0', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='FACTORY_2_VALUE_1', index=1, number=1, options=None, type=None), ], containing_type=None, options=None, serialized_start=1816, serialized_end=1876, ) _sym_db.RegisterEnumDescriptor(_FACTORY2ENUM) Factory2Enum = enum_type_wrapper.EnumTypeWrapper(_FACTORY2ENUM) FACTORY_2_VALUE_0 = 0 FACTORY_2_VALUE_1 = 1 ANOTHER_FIELD_FIELD_NUMBER = 1002 another_field = _descriptor.FieldDescriptor( name='another_field', full_name='google.protobuf.python.internal.another_field', index=0, number=1002, 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, options=None, file=DESCRIPTOR) _FACTORY2MESSAGE_NESTEDFACTORY2ENUM = _descriptor.EnumDescriptor( name='NestedFactory2Enum', full_name='google.protobuf.python.internal.Factory2Message.NestedFactory2Enum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='NESTED_FACTORY_2_VALUE_0', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='NESTED_FACTORY_2_VALUE_1', index=1, number=1, options=None, type=None), ], containing_type=None, options=None, serialized_start=1454, serialized_end=1534, ) _sym_db.RegisterEnumDescriptor(_FACTORY2MESSAGE_NESTEDFACTORY2ENUM) _MESSAGEWITHNESTEDENUMONLY_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='google.protobuf.python.internal.MessageWithNestedEnumOnly.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='NESTED_MESSAGE_ENUM_0', index=0, number=0, options=None, type=None), ], containing_type=None, options=None, serialized_start=1734, serialized_end=1773, ) _sym_db.RegisterEnumDescriptor(_MESSAGEWITHNESTEDENUMONLY_NESTEDENUM) _FACTORY2MESSAGE_NESTEDFACTORY2MESSAGE = _descriptor.Descriptor( name='NestedFactory2Message', full_name='google.protobuf.python.internal.Factory2Message.NestedFactory2Message', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.python.internal.Factory2Message.NestedFactory2Message.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1371, serialized_end=1409, ) _FACTORY2MESSAGE_GROUPED = _descriptor.Descriptor( name='Grouped', full_name='google.protobuf.python.internal.Factory2Message.Grouped', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='part_1', full_name='google.protobuf.python.internal.Factory2Message.Grouped.part_1', index=0, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='part_2', full_name='google.protobuf.python.internal.Factory2Message.Grouped.part_2', index=1, number=14, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1411, serialized_end=1452, ) _FACTORY2MESSAGE = _descriptor.Descriptor( name='Factory2Message', full_name='google.protobuf.python.internal.Factory2Message', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='mandatory', full_name='google.protobuf.python.internal.Factory2Message.mandatory', index=0, number=1, type=5, cpp_type=1, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='factory_2_enum', full_name='google.protobuf.python.internal.Factory2Message.factory_2_enum', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_factory_2_enum', full_name='google.protobuf.python.internal.Factory2Message.nested_factory_2_enum', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_factory_2_message', full_name='google.protobuf.python.internal.Factory2Message.nested_factory_2_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='factory_1_message', full_name='google.protobuf.python.internal.Factory2Message.factory_1_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='factory_1_enum', full_name='google.protobuf.python.internal.Factory2Message.factory_1_enum', index=5, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_factory_1_enum', full_name='google.protobuf.python.internal.Factory2Message.nested_factory_1_enum', index=6, number=7, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_factory_1_message', full_name='google.protobuf.python.internal.Factory2Message.nested_factory_1_message', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='circular_message', full_name='google.protobuf.python.internal.Factory2Message.circular_message', index=8, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='scalar_value', full_name='google.protobuf.python.internal.Factory2Message.scalar_value', index=9, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='list_value', full_name='google.protobuf.python.internal.Factory2Message.list_value', index=10, number=11, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='grouped', full_name='google.protobuf.python.internal.Factory2Message.grouped', index=11, number=12, type=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='loop', full_name='google.protobuf.python.internal.Factory2Message.loop', index=12, number=15, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='int_with_default', full_name='google.protobuf.python.internal.Factory2Message.int_with_default', index=13, number=16, type=5, cpp_type=1, label=1, has_default_value=True, default_value=1776, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='double_with_default', full_name='google.protobuf.python.internal.Factory2Message.double_with_default', index=14, number=17, type=1, cpp_type=5, label=1, has_default_value=True, default_value=float(9.99), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='string_with_default', full_name='google.protobuf.python.internal.Factory2Message.string_with_default', index=15, number=18, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("hello world").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bool_with_default', full_name='google.protobuf.python.internal.Factory2Message.bool_with_default', index=16, number=19, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='enum_with_default', full_name='google.protobuf.python.internal.Factory2Message.enum_with_default', index=17, number=20, type=14, cpp_type=8, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bytes_with_default', full_name='google.protobuf.python.internal.Factory2Message.bytes_with_default', index=18, number=21, type=12, cpp_type=9, label=1, has_default_value=True, default_value=_b("a\373\000c"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_int', full_name='google.protobuf.python.internal.Factory2Message.oneof_int', index=19, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_string', full_name='google.protobuf.python.internal.Factory2Message.oneof_string', index=20, number=23, 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, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='one_more_field', full_name='google.protobuf.python.internal.Factory2Message.one_more_field', index=0, number=1001, 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, options=None, file=DESCRIPTOR), ], nested_types=[_FACTORY2MESSAGE_NESTEDFACTORY2MESSAGE, _FACTORY2MESSAGE_GROUPED, ], enum_types=[ _FACTORY2MESSAGE_NESTEDFACTORY2ENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='oneof_field', full_name='google.protobuf.python.internal.Factory2Message.oneof_field', index=0, containing_type=None, fields=[]), ], serialized_start=128, serialized_end=1624, ) _LOOPMESSAGE = _descriptor.Descriptor( name='LoopMessage', full_name='google.protobuf.python.internal.LoopMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='loop', full_name='google.protobuf.python.internal.LoopMessage.loop', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1626, serialized_end=1703, ) _MESSAGEWITHNESTEDENUMONLY = _descriptor.Descriptor( name='MessageWithNestedEnumOnly', full_name='google.protobuf.python.internal.MessageWithNestedEnumOnly', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ _MESSAGEWITHNESTEDENUMONLY_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1705, serialized_end=1773, ) _MESSAGEWITHOPTION = _descriptor.Descriptor( name='MessageWithOption', full_name='google.protobuf.python.internal.MessageWithOption', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='field1', full_name='google.protobuf.python.internal.MessageWithOption.field1', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\020\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=1775, serialized_end=1814, ) _FACTORY2MESSAGE_NESTEDFACTORY2MESSAGE.containing_type = _FACTORY2MESSAGE _FACTORY2MESSAGE_GROUPED.containing_type = _FACTORY2MESSAGE _FACTORY2MESSAGE.fields_by_name['factory_2_enum'].enum_type = _FACTORY2ENUM _FACTORY2MESSAGE.fields_by_name['nested_factory_2_enum'].enum_type = _FACTORY2MESSAGE_NESTEDFACTORY2ENUM _FACTORY2MESSAGE.fields_by_name['nested_factory_2_message'].message_type = _FACTORY2MESSAGE_NESTEDFACTORY2MESSAGE _FACTORY2MESSAGE.fields_by_name['factory_1_message'].message_type = google_dot_protobuf_dot_internal_dot_factory__test1__pb2._FACTORY1MESSAGE _FACTORY2MESSAGE.fields_by_name['factory_1_enum'].enum_type = google_dot_protobuf_dot_internal_dot_factory__test1__pb2._FACTORY1ENUM _FACTORY2MESSAGE.fields_by_name['nested_factory_1_enum'].enum_type = google_dot_protobuf_dot_internal_dot_factory__test1__pb2._FACTORY1MESSAGE_NESTEDFACTORY1ENUM _FACTORY2MESSAGE.fields_by_name['nested_factory_1_message'].message_type = google_dot_protobuf_dot_internal_dot_factory__test1__pb2._FACTORY1MESSAGE_NESTEDFACTORY1MESSAGE _FACTORY2MESSAGE.fields_by_name['circular_message'].message_type = _FACTORY2MESSAGE _FACTORY2MESSAGE.fields_by_name['grouped'].message_type = _FACTORY2MESSAGE_GROUPED _FACTORY2MESSAGE.fields_by_name['loop'].message_type = _LOOPMESSAGE _FACTORY2MESSAGE.fields_by_name['enum_with_default'].enum_type = _FACTORY2ENUM _FACTORY2MESSAGE_NESTEDFACTORY2ENUM.containing_type = _FACTORY2MESSAGE _FACTORY2MESSAGE.oneofs_by_name['oneof_field'].fields.append( _FACTORY2MESSAGE.fields_by_name['oneof_int']) _FACTORY2MESSAGE.fields_by_name['oneof_int'].containing_oneof = _FACTORY2MESSAGE.oneofs_by_name['oneof_field'] _FACTORY2MESSAGE.oneofs_by_name['oneof_field'].fields.append( _FACTORY2MESSAGE.fields_by_name['oneof_string']) _FACTORY2MESSAGE.fields_by_name['oneof_string'].containing_oneof = _FACTORY2MESSAGE.oneofs_by_name['oneof_field'] _LOOPMESSAGE.fields_by_name['loop'].message_type = _FACTORY2MESSAGE _MESSAGEWITHNESTEDENUMONLY_NESTEDENUM.containing_type = _MESSAGEWITHNESTEDENUMONLY DESCRIPTOR.message_types_by_name['Factory2Message'] = _FACTORY2MESSAGE DESCRIPTOR.message_types_by_name['LoopMessage'] = _LOOPMESSAGE DESCRIPTOR.message_types_by_name['MessageWithNestedEnumOnly'] = _MESSAGEWITHNESTEDENUMONLY DESCRIPTOR.message_types_by_name['MessageWithOption'] = _MESSAGEWITHOPTION DESCRIPTOR.enum_types_by_name['Factory2Enum'] = _FACTORY2ENUM DESCRIPTOR.extensions_by_name['another_field'] = another_field _sym_db.RegisterFileDescriptor(DESCRIPTOR) Factory2Message = _reflection.GeneratedProtocolMessageType('Factory2Message', (_message.Message,), dict( NestedFactory2Message = _reflection.GeneratedProtocolMessageType('NestedFactory2Message', (_message.Message,), dict( DESCRIPTOR = _FACTORY2MESSAGE_NESTEDFACTORY2MESSAGE, __module__ = 'google.protobuf.internal.factory_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.Factory2Message.NestedFactory2Message) )) , Grouped = _reflection.GeneratedProtocolMessageType('Grouped', (_message.Message,), dict( DESCRIPTOR = _FACTORY2MESSAGE_GROUPED, __module__ = 'google.protobuf.internal.factory_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.Factory2Message.Grouped) )) , DESCRIPTOR = _FACTORY2MESSAGE, __module__ = 'google.protobuf.internal.factory_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.Factory2Message) )) _sym_db.RegisterMessage(Factory2Message) _sym_db.RegisterMessage(Factory2Message.NestedFactory2Message) _sym_db.RegisterMessage(Factory2Message.Grouped) LoopMessage = _reflection.GeneratedProtocolMessageType('LoopMessage', (_message.Message,), dict( DESCRIPTOR = _LOOPMESSAGE, __module__ = 'google.protobuf.internal.factory_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.LoopMessage) )) _sym_db.RegisterMessage(LoopMessage) MessageWithNestedEnumOnly = _reflection.GeneratedProtocolMessageType('MessageWithNestedEnumOnly', (_message.Message,), dict( DESCRIPTOR = _MESSAGEWITHNESTEDENUMONLY, __module__ = 'google.protobuf.internal.factory_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.MessageWithNestedEnumOnly) )) _sym_db.RegisterMessage(MessageWithNestedEnumOnly) MessageWithOption = _reflection.GeneratedProtocolMessageType('MessageWithOption', (_message.Message,), dict( DESCRIPTOR = _MESSAGEWITHOPTION, __module__ = 'google.protobuf.internal.factory_test2_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.MessageWithOption) )) _sym_db.RegisterMessage(MessageWithOption) google_dot_protobuf_dot_internal_dot_factory__test1__pb2.Factory1Message.RegisterExtension(another_field) google_dot_protobuf_dot_internal_dot_factory__test1__pb2.Factory1Message.RegisterExtension(_FACTORY2MESSAGE.extensions_by_name['one_more_field']) _MESSAGEWITHOPTION.has_options = True _MESSAGEWITHOPTION._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\020\001')) # @@protoc_insertion_point(module_scope) PK!W3 0 self._fields = {} # Contains a mapping from oneof field descriptors to the descriptor # of the currently set field in that oneof field. self._oneofs = {} # _unknown_fields is () when empty for efficiency, and will be turned into # a list if fields are added. self._unknown_fields = () self._is_present_in_parent = False self._listener = message_listener_mod.NullMessageListener() self._listener_for_children = _Listener(self) for field_name, field_value in list(kwargs.items()): field = _GetFieldByName(message_descriptor, field_name) if field is None: raise TypeError("%s() got an unexpected keyword argument '%s'" % (message_descriptor.name, field_name)) if field_value is None: # field=None is the same as no field at all. continue if field.label == _FieldDescriptor.LABEL_REPEATED: copy = field._default_constructor(self) if field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: # Composite if _IsMapField(field): if _IsMessageMapField(field): for key in field_value: copy[key].MergeFrom(field_value[key]) else: copy.update(field_value) else: for val in field_value: if isinstance(val, dict): copy.add(**val) else: copy.add().MergeFrom(val) else: # Scalar if field.cpp_type == _FieldDescriptor.CPPTYPE_ENUM: field_value = [_GetIntegerEnumValue(field.enum_type, val) for val in field_value] copy.extend(field_value) self._fields[field] = copy elif field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: copy = field._default_constructor(self) new_val = field_value if isinstance(field_value, dict): new_val = field.message_type._concrete_class(**field_value) try: copy.MergeFrom(new_val) except TypeError: _ReraiseTypeErrorWithFieldName(message_descriptor.name, field_name) self._fields[field] = copy else: if field.cpp_type == _FieldDescriptor.CPPTYPE_ENUM: field_value = _GetIntegerEnumValue(field.enum_type, field_value) try: setattr(self, field_name, field_value) except TypeError: _ReraiseTypeErrorWithFieldName(message_descriptor.name, field_name) init.__module__ = None init.__doc__ = None cls.__init__ = init def _GetFieldByName(message_descriptor, field_name): """Returns a field descriptor by field name. Args: message_descriptor: A Descriptor describing all fields in message. field_name: The name of the field to retrieve. Returns: The field descriptor associated with the field name. """ try: return message_descriptor.fields_by_name[field_name] except KeyError: raise ValueError('Protocol message %s has no "%s" field.' % (message_descriptor.name, field_name)) def _AddPropertiesForFields(descriptor, cls): """Adds properties for all fields in this protocol message type.""" for field in descriptor.fields: _AddPropertiesForField(field, cls) if descriptor.is_extendable: # _ExtensionDict is just an adaptor with no state so we allocate a new one # every time it is accessed. cls.Extensions = property(lambda self: _ExtensionDict(self)) def _AddPropertiesForField(field, cls): """Adds a public property for a protocol message field. Clients can use this property to get and (in the case of non-repeated scalar fields) directly set the value of a protocol message field. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. """ # Catch it if we add other types that we should # handle specially here. assert _FieldDescriptor.MAX_CPPTYPE == 10 constant_name = field.name.upper() + "_FIELD_NUMBER" setattr(cls, constant_name, field.number) if field.label == _FieldDescriptor.LABEL_REPEATED: _AddPropertiesForRepeatedField(field, cls) elif field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: _AddPropertiesForNonRepeatedCompositeField(field, cls) else: _AddPropertiesForNonRepeatedScalarField(field, cls) def _AddPropertiesForRepeatedField(field, cls): """Adds a public property for a "repeated" protocol message field. Clients can use this property to get the value of the field, which will be either a _RepeatedScalarFieldContainer or _RepeatedCompositeFieldContainer (see below). Note that when clients add values to these containers, we perform type-checking in the case of repeated scalar fields, and we also set any necessary "has" bits as a side-effect. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. """ proto_field_name = field.name property_name = _PropertyName(proto_field_name) def getter(self): field_value = self._fields.get(field) if field_value is None: # Construct a new object to represent this field. field_value = field._default_constructor(self) # Atomically check if another thread has preempted us and, if not, swap # in the new object we just created. If someone has preempted us, we # take that object and discard ours. # WARNING: We are relying on setdefault() being atomic. This is true # in CPython but we haven't investigated others. This warning appears # in several other locations in this file. field_value = self._fields.setdefault(field, field_value) return field_value getter.__module__ = None getter.__doc__ = 'Getter for %s.' % proto_field_name # We define a setter just so we can throw an exception with a more # helpful error message. def setter(self, new_value): raise AttributeError('Assignment not allowed to repeated field ' '"%s" in protocol message object.' % proto_field_name) doc = 'Magic attribute generated for "%s" proto field.' % proto_field_name setattr(cls, property_name, property(getter, setter, doc=doc)) def _AddPropertiesForNonRepeatedScalarField(field, cls): """Adds a public property for a nonrepeated, scalar protocol message field. Clients can use this property to get and directly set the value of the field. Note that when the client sets the value of a field by using this property, all necessary "has" bits are set as a side-effect, and we also perform type-checking. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. """ proto_field_name = field.name property_name = _PropertyName(proto_field_name) type_checker = type_checkers.GetTypeChecker(field) default_value = field.default_value valid_values = set() is_proto3 = field.containing_type.syntax == "proto3" def getter(self): # TODO(protobuf-team): This may be broken since there may not be # default_value. Combine with has_default_value somehow. return self._fields.get(field, default_value) getter.__module__ = None getter.__doc__ = 'Getter for %s.' % proto_field_name clear_when_set_to_default = is_proto3 and not field.containing_oneof def field_setter(self, new_value): # pylint: disable=protected-access # Testing the value for truthiness captures all of the proto3 defaults # (0, 0.0, enum 0, and False). new_value = type_checker.CheckValue(new_value) if clear_when_set_to_default and not new_value: self._fields.pop(field, None) else: self._fields[field] = new_value # Check _cached_byte_size_dirty inline to improve performance, since scalar # setters are called frequently. if not self._cached_byte_size_dirty: self._Modified() if field.containing_oneof: def setter(self, new_value): field_setter(self, new_value) self._UpdateOneofState(field) else: setter = field_setter setter.__module__ = None setter.__doc__ = 'Setter for %s.' % proto_field_name # Add a property to encapsulate the getter/setter. doc = 'Magic attribute generated for "%s" proto field.' % proto_field_name setattr(cls, property_name, property(getter, setter, doc=doc)) def _AddPropertiesForNonRepeatedCompositeField(field, cls): """Adds a public property for a nonrepeated, composite protocol message field. A composite field is a "group" or "message" field. Clients can use this property to get the value of the field, but cannot assign to the property directly. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. """ # TODO(robinson): Remove duplication with similar method # for non-repeated scalars. proto_field_name = field.name property_name = _PropertyName(proto_field_name) def getter(self): field_value = self._fields.get(field) if field_value is None: # Construct a new object to represent this field. field_value = field._default_constructor(self) # Atomically check if another thread has preempted us and, if not, swap # in the new object we just created. If someone has preempted us, we # take that object and discard ours. # WARNING: We are relying on setdefault() being atomic. This is true # in CPython but we haven't investigated others. This warning appears # in several other locations in this file. field_value = self._fields.setdefault(field, field_value) return field_value getter.__module__ = None getter.__doc__ = 'Getter for %s.' % proto_field_name # We define a setter just so we can throw an exception with a more # helpful error message. def setter(self, new_value): raise AttributeError('Assignment not allowed to composite field ' '"%s" in protocol message object.' % proto_field_name) # Add a property to encapsulate the getter. doc = 'Magic attribute generated for "%s" proto field.' % proto_field_name setattr(cls, property_name, property(getter, setter, doc=doc)) def _AddPropertiesForExtensions(descriptor, cls): """Adds properties for all fields in this protocol message type.""" extension_dict = descriptor.extensions_by_name for extension_name, extension_field in list(extension_dict.items()): constant_name = extension_name.upper() + "_FIELD_NUMBER" setattr(cls, constant_name, extension_field.number) # TODO(amauryfa): Migrate all users of these attributes to functions like # pool.FindExtensionByNumber(descriptor). if descriptor.file is not None: # TODO(amauryfa): Use cls.MESSAGE_FACTORY.pool when available. pool = descriptor.file.pool cls._extensions_by_number = pool._extensions_by_number[descriptor] cls._extensions_by_name = pool._extensions_by_name[descriptor] def _AddStaticMethods(cls): # TODO(robinson): This probably needs to be thread-safe(?) def RegisterExtension(extension_handle): extension_handle.containing_type = cls.DESCRIPTOR # TODO(amauryfa): Use cls.MESSAGE_FACTORY.pool when available. cls.DESCRIPTOR.file.pool.AddExtensionDescriptor(extension_handle) _AttachFieldHelpers(cls, extension_handle) cls.RegisterExtension = staticmethod(RegisterExtension) def FromString(s): message = cls() message.MergeFromString(s) return message cls.FromString = staticmethod(FromString) def _IsPresent(item): """Given a (FieldDescriptor, value) tuple from _fields, return true if the value should be included in the list returned by ListFields().""" if item[0].label == _FieldDescriptor.LABEL_REPEATED: return bool(item[1]) elif item[0].cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: return item[1]._is_present_in_parent else: return True def _AddListFieldsMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def ListFields(self): all_fields = [item for item in list(self._fields.items()) if _IsPresent(item)] all_fields.sort(key = lambda item: item[0].number) return all_fields cls.ListFields = ListFields _Proto3HasError = 'Protocol message has no non-repeated submessage field "%s"' _Proto2HasError = 'Protocol message has no non-repeated field "%s"' def _AddHasFieldMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" is_proto3 = (message_descriptor.syntax == "proto3") error_msg = _Proto3HasError if is_proto3 else _Proto2HasError hassable_fields = {} for field in message_descriptor.fields: if field.label == _FieldDescriptor.LABEL_REPEATED: continue # For proto3, only submessages and fields inside a oneof have presence. if (is_proto3 and field.cpp_type != _FieldDescriptor.CPPTYPE_MESSAGE and not field.containing_oneof): continue hassable_fields[field.name] = field if not is_proto3: # Fields inside oneofs are never repeated (enforced by the compiler). for oneof in message_descriptor.oneofs: hassable_fields[oneof.name] = oneof def HasField(self, field_name): try: field = hassable_fields[field_name] except KeyError: raise ValueError(error_msg % field_name) if isinstance(field, descriptor_mod.OneofDescriptor): try: return HasField(self, self._oneofs[field].name) except KeyError: return False else: if field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: value = self._fields.get(field) return value is not None and value._is_present_in_parent else: return field in self._fields cls.HasField = HasField def _AddClearFieldMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def ClearField(self, field_name): try: field = message_descriptor.fields_by_name[field_name] except KeyError: try: field = message_descriptor.oneofs_by_name[field_name] if field in self._oneofs: field = self._oneofs[field] else: return except KeyError: raise ValueError('Protocol message %s() has no "%s" field.' % (message_descriptor.name, field_name)) if field in self._fields: # To match the C++ implementation, we need to invalidate iterators # for map fields when ClearField() happens. if hasattr(self._fields[field], 'InvalidateIterators'): self._fields[field].InvalidateIterators() # Note: If the field is a sub-message, its listener will still point # at us. That's fine, because the worst than can happen is that it # will call _Modified() and invalidate our byte size. Big deal. del self._fields[field] if self._oneofs.get(field.containing_oneof, None) is field: del self._oneofs[field.containing_oneof] # Always call _Modified() -- even if nothing was changed, this is # a mutating method, and thus calling it should cause the field to become # present in the parent message. self._Modified() cls.ClearField = ClearField def _AddClearExtensionMethod(cls): """Helper for _AddMessageMethods().""" def ClearExtension(self, extension_handle): _VerifyExtensionHandle(self, extension_handle) # Similar to ClearField(), above. if extension_handle in self._fields: del self._fields[extension_handle] self._Modified() cls.ClearExtension = ClearExtension def _AddHasExtensionMethod(cls): """Helper for _AddMessageMethods().""" def HasExtension(self, extension_handle): _VerifyExtensionHandle(self, extension_handle) if extension_handle.label == _FieldDescriptor.LABEL_REPEATED: raise KeyError('"%s" is repeated.' % extension_handle.full_name) if extension_handle.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: value = self._fields.get(extension_handle) return value is not None and value._is_present_in_parent else: return extension_handle in self._fields cls.HasExtension = HasExtension def _InternalUnpackAny(msg): """Unpacks Any message and returns the unpacked message. This internal method is different from public Any Unpack method which takes the target message as argument. _InternalUnpackAny method does not have target message type and need to find the message type in descriptor pool. Args: msg: An Any message to be unpacked. Returns: The unpacked message. """ # TODO(amauryfa): Don't use the factory of generated messages. # To make Any work with custom factories, use the message factory of the # parent message. # pylint: disable=g-import-not-at-top from google.protobuf import symbol_database factory = symbol_database.Default() type_url = msg.type_url if not type_url: return None # TODO(haberman): For now we just strip the hostname. Better logic will be # required. type_name = type_url.split('/')[-1] descriptor = factory.pool.FindMessageTypeByName(type_name) if descriptor is None: return None message_class = factory.GetPrototype(descriptor) message = message_class() message.ParseFromString(msg.value) return message def _AddEqualsMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def __eq__(self, other): if (not isinstance(other, message_mod.Message) or other.DESCRIPTOR != self.DESCRIPTOR): return False if self is other: return True if self.DESCRIPTOR.full_name == _AnyFullTypeName: any_a = _InternalUnpackAny(self) any_b = _InternalUnpackAny(other) if any_a and any_b: return any_a == any_b if not self.ListFields() == other.ListFields(): return False # Sort unknown fields because their order shouldn't affect equality test. unknown_fields = list(self._unknown_fields) unknown_fields.sort() other_unknown_fields = list(other._unknown_fields) other_unknown_fields.sort() return unknown_fields == other_unknown_fields cls.__eq__ = __eq__ def _AddStrMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def __str__(self): return text_format.MessageToString(self) cls.__str__ = __str__ def _AddReprMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def __repr__(self): return text_format.MessageToString(self) cls.__repr__ = __repr__ def _AddUnicodeMethod(unused_message_descriptor, cls): """Helper for _AddMessageMethods().""" def __unicode__(self): return text_format.MessageToString(self, as_utf8=True).decode('utf-8') cls.__unicode__ = __unicode__ def _BytesForNonRepeatedElement(value, field_number, field_type): """Returns the number of bytes needed to serialize a non-repeated element. The returned byte count includes space for tag information and any other additional space associated with serializing value. Args: value: Value we're serializing. field_number: Field number of this value. (Since the field number is stored as part of a varint-encoded tag, this has an impact on the total bytes required to serialize the value). field_type: The type of the field. One of the TYPE_* constants within FieldDescriptor. """ try: fn = type_checkers.TYPE_TO_BYTE_SIZE_FN[field_type] return fn(field_number, value) except KeyError: raise message_mod.EncodeError('Unrecognized field type: %d' % field_type) def _AddByteSizeMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def ByteSize(self): if not self._cached_byte_size_dirty: return self._cached_byte_size size = 0 descriptor = self.DESCRIPTOR if descriptor.GetOptions().map_entry: # Fields of map entry should always be serialized. size = descriptor.fields_by_name['key']._sizer(self.key) size += descriptor.fields_by_name['value']._sizer(self.value) else: for field_descriptor, field_value in self.ListFields(): size += field_descriptor._sizer(field_value) for tag_bytes, value_bytes in self._unknown_fields: size += len(tag_bytes) + len(value_bytes) self._cached_byte_size = size self._cached_byte_size_dirty = False self._listener_for_children.dirty = False return size cls.ByteSize = ByteSize def _AddSerializeToStringMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def SerializeToString(self, **kwargs): # Check if the message has all of its required fields set. errors = [] if not self.IsInitialized(): raise message_mod.EncodeError( 'Message %s is missing required fields: %s' % ( self.DESCRIPTOR.full_name, ','.join(self.FindInitializationErrors()))) return self.SerializePartialToString(**kwargs) cls.SerializeToString = SerializeToString def _AddSerializePartialToStringMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def SerializePartialToString(self, **kwargs): out = BytesIO() self._InternalSerialize(out.write, **kwargs) return out.getvalue() cls.SerializePartialToString = SerializePartialToString def InternalSerialize(self, write_bytes, deterministic=None): if deterministic is None: deterministic = ( api_implementation.IsPythonDefaultSerializationDeterministic()) else: deterministic = bool(deterministic) descriptor = self.DESCRIPTOR if descriptor.GetOptions().map_entry: # Fields of map entry should always be serialized. descriptor.fields_by_name['key']._encoder( write_bytes, self.key, deterministic) descriptor.fields_by_name['value']._encoder( write_bytes, self.value, deterministic) else: for field_descriptor, field_value in self.ListFields(): field_descriptor._encoder(write_bytes, field_value, deterministic) for tag_bytes, value_bytes in self._unknown_fields: write_bytes(tag_bytes) write_bytes(value_bytes) cls._InternalSerialize = InternalSerialize def _AddMergeFromStringMethod(message_descriptor, cls): """Helper for _AddMessageMethods().""" def MergeFromString(self, serialized): length = len(serialized) try: if self._InternalParse(serialized, 0, length) != length: # The only reason _InternalParse would return early is if it # encountered an end-group tag. raise message_mod.DecodeError('Unexpected end-group tag.') except (IndexError, TypeError): # Now ord(buf[p:p+1]) == ord('') gets TypeError. raise message_mod.DecodeError('Truncated message.') except struct.error as e: raise message_mod.DecodeError(e) return length # Return this for legacy reasons. cls.MergeFromString = MergeFromString local_ReadTag = decoder.ReadTag local_SkipField = decoder.SkipField decoders_by_tag = cls._decoders_by_tag is_proto3 = message_descriptor.syntax == "proto3" def InternalParse(self, buffer, pos, end): self._Modified() field_dict = self._fields unknown_field_list = self._unknown_fields while pos != end: (tag_bytes, new_pos) = local_ReadTag(buffer, pos) field_decoder, field_desc = decoders_by_tag.get(tag_bytes, (None, None)) if field_decoder is None: value_start_pos = new_pos new_pos = local_SkipField(buffer, new_pos, end, tag_bytes) if new_pos == -1: return pos if (not is_proto3 or api_implementation.GetPythonProto3PreserveUnknownsDefault()): if not unknown_field_list: unknown_field_list = self._unknown_fields = [] unknown_field_list.append( (tag_bytes, buffer[value_start_pos:new_pos])) pos = new_pos else: pos = field_decoder(buffer, new_pos, end, self, field_dict) if field_desc: self._UpdateOneofState(field_desc) return pos cls._InternalParse = InternalParse def _AddIsInitializedMethod(message_descriptor, cls): """Adds the IsInitialized and FindInitializationError methods to the protocol message class.""" required_fields = [field for field in message_descriptor.fields if field.label == _FieldDescriptor.LABEL_REQUIRED] def IsInitialized(self, errors=None): """Checks if all required fields of a message are set. Args: errors: A list which, if provided, will be populated with the field paths of all missing required fields. Returns: True iff the specified message has all required fields set. """ # Performance is critical so we avoid HasField() and ListFields(). for field in required_fields: if (field not in self._fields or (field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE and not self._fields[field]._is_present_in_parent)): if errors is not None: errors.extend(self.FindInitializationErrors()) return False for field, value in list(self._fields.items()): # dict can change size! if field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: if field.label == _FieldDescriptor.LABEL_REPEATED: if (field.message_type.has_options and field.message_type.GetOptions().map_entry): continue for element in value: if not element.IsInitialized(): if errors is not None: errors.extend(self.FindInitializationErrors()) return False elif value._is_present_in_parent and not value.IsInitialized(): if errors is not None: errors.extend(self.FindInitializationErrors()) return False return True cls.IsInitialized = IsInitialized def FindInitializationErrors(self): """Finds required fields which are not initialized. Returns: A list of strings. Each string is a path to an uninitialized field from the top-level message, e.g. "foo.bar[5].baz". """ errors = [] # simplify things for field in required_fields: if not self.HasField(field.name): errors.append(field.name) for field, value in self.ListFields(): if field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: if field.is_extension: name = "(%s)" % field.full_name else: name = field.name if _IsMapField(field): if _IsMessageMapField(field): for key in value: element = value[key] prefix = "%s[%s]." % (name, key) sub_errors = element.FindInitializationErrors() errors += [prefix + error for error in sub_errors] else: # ScalarMaps can't have any initialization errors. pass elif field.label == _FieldDescriptor.LABEL_REPEATED: for i in range(len(value)): element = value[i] prefix = "%s[%d]." % (name, i) sub_errors = element.FindInitializationErrors() errors += [prefix + error for error in sub_errors] else: prefix = name + "." sub_errors = value.FindInitializationErrors() errors += [prefix + error for error in sub_errors] return errors cls.FindInitializationErrors = FindInitializationErrors def _AddMergeFromMethod(cls): LABEL_REPEATED = _FieldDescriptor.LABEL_REPEATED CPPTYPE_MESSAGE = _FieldDescriptor.CPPTYPE_MESSAGE def MergeFrom(self, msg): if not isinstance(msg, cls): raise TypeError( "Parameter to MergeFrom() must be instance of same class: " 'expected %s got %s.' % (cls.__name__, msg.__class__.__name__)) assert msg is not self self._Modified() fields = self._fields for field, value in list(msg._fields.items()): if field.label == LABEL_REPEATED: field_value = fields.get(field) if field_value is None: # Construct a new object to represent this field. field_value = field._default_constructor(self) fields[field] = field_value field_value.MergeFrom(value) elif field.cpp_type == CPPTYPE_MESSAGE: if value._is_present_in_parent: field_value = fields.get(field) if field_value is None: # Construct a new object to represent this field. field_value = field._default_constructor(self) fields[field] = field_value field_value.MergeFrom(value) else: self._fields[field] = value if field.containing_oneof: self._UpdateOneofState(field) if msg._unknown_fields: if not self._unknown_fields: self._unknown_fields = [] self._unknown_fields.extend(msg._unknown_fields) cls.MergeFrom = MergeFrom def _AddWhichOneofMethod(message_descriptor, cls): def WhichOneof(self, oneof_name): """Returns the name of the currently set field inside a oneof, or None.""" try: field = message_descriptor.oneofs_by_name[oneof_name] except KeyError: raise ValueError( 'Protocol message has no oneof "%s" field.' % oneof_name) nested_field = self._oneofs.get(field, None) if nested_field is not None and self.HasField(nested_field.name): return nested_field.name else: return None cls.WhichOneof = WhichOneof def _AddReduceMethod(cls): def __reduce__(self): # pylint: disable=invalid-name return (type(self), (), self.__getstate__()) cls.__reduce__ = __reduce__ def _Clear(self): # Clear fields. self._fields = {} self._unknown_fields = () self._oneofs = {} self._Modified() def _DiscardUnknownFields(self): self._unknown_fields = [] for field, value in self.ListFields(): if field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: if field.label == _FieldDescriptor.LABEL_REPEATED: for sub_message in value: sub_message.DiscardUnknownFields() else: value.DiscardUnknownFields() def _SetListener(self, listener): if listener is None: self._listener = message_listener_mod.NullMessageListener() else: self._listener = listener def _AddMessageMethods(message_descriptor, cls): """Adds implementations of all Message methods to cls.""" _AddListFieldsMethod(message_descriptor, cls) _AddHasFieldMethod(message_descriptor, cls) _AddClearFieldMethod(message_descriptor, cls) if message_descriptor.is_extendable: _AddClearExtensionMethod(cls) _AddHasExtensionMethod(cls) _AddEqualsMethod(message_descriptor, cls) _AddStrMethod(message_descriptor, cls) _AddReprMethod(message_descriptor, cls) _AddUnicodeMethod(message_descriptor, cls) _AddByteSizeMethod(message_descriptor, cls) _AddSerializeToStringMethod(message_descriptor, cls) _AddSerializePartialToStringMethod(message_descriptor, cls) _AddMergeFromStringMethod(message_descriptor, cls) _AddIsInitializedMethod(message_descriptor, cls) _AddMergeFromMethod(cls) _AddWhichOneofMethod(message_descriptor, cls) _AddReduceMethod(cls) # Adds methods which do not depend on cls. cls.Clear = _Clear cls.DiscardUnknownFields = _DiscardUnknownFields cls._SetListener = _SetListener def _AddPrivateHelperMethods(message_descriptor, cls): """Adds implementation of private helper methods to cls.""" def Modified(self): """Sets the _cached_byte_size_dirty bit to true, and propagates this to our listener iff this was a state change. """ # Note: Some callers check _cached_byte_size_dirty before calling # _Modified() as an extra optimization. So, if this method is ever # changed such that it does stuff even when _cached_byte_size_dirty is # already true, the callers need to be updated. if not self._cached_byte_size_dirty: self._cached_byte_size_dirty = True self._listener_for_children.dirty = True self._is_present_in_parent = True self._listener.Modified() def _UpdateOneofState(self, field): """Sets field as the active field in its containing oneof. Will also delete currently active field in the oneof, if it is different from the argument. Does not mark the message as modified. """ other_field = self._oneofs.setdefault(field.containing_oneof, field) if other_field is not field: del self._fields[other_field] self._oneofs[field.containing_oneof] = field cls._Modified = Modified cls.SetInParent = Modified cls._UpdateOneofState = _UpdateOneofState class _Listener(object): """MessageListener implementation that a parent message registers with its child message. In order to support semantics like: foo.bar.baz.qux = 23 assert foo.HasField('bar') ...child objects must have back references to their parents. This helper class is at the heart of this support. """ def __init__(self, parent_message): """Args: parent_message: The message whose _Modified() method we should call when we receive Modified() messages. """ # This listener establishes a back reference from a child (contained) object # to its parent (containing) object. We make this a weak reference to avoid # creating cyclic garbage when the client finishes with the 'parent' object # in the tree. if isinstance(parent_message, weakref.ProxyType): self._parent_message_weakref = parent_message else: self._parent_message_weakref = weakref.proxy(parent_message) # As an optimization, we also indicate directly on the listener whether # or not the parent message is dirty. This way we can avoid traversing # up the tree in the common case. self.dirty = False def Modified(self): if self.dirty: return try: # Propagate the signal to our parents iff this is the first field set. self._parent_message_weakref._Modified() except ReferenceError: # We can get here if a client has kept a reference to a child object, # and is now setting a field on it, but the child's parent has been # garbage-collected. This is not an error. pass class _OneofListener(_Listener): """Special listener implementation for setting composite oneof fields.""" def __init__(self, parent_message, field): """Args: parent_message: The message whose _Modified() method we should call when we receive Modified() messages. field: The descriptor of the field being set in the parent message. """ super(_OneofListener, self).__init__(parent_message) self._field = field def Modified(self): """Also updates the state of the containing oneof in the parent message.""" try: self._parent_message_weakref._UpdateOneofState(self._field) super(_OneofListener, self).Modified() except ReferenceError: pass # TODO(robinson): Move elsewhere? This file is getting pretty ridiculous... # TODO(robinson): Unify error handling of "unknown extension" crap. # TODO(robinson): Support iteritems()-style iteration over all # extensions with the "has" bits turned on? class _ExtensionDict(object): """Dict-like container for supporting an indexable "Extensions" field on proto instances. Note that in all cases we expect extension handles to be FieldDescriptors. """ def __init__(self, extended_message): """extended_message: Message instance for which we are the Extensions dict. """ self._extended_message = extended_message def __getitem__(self, extension_handle): """Returns the current value of the given extension handle.""" _VerifyExtensionHandle(self._extended_message, extension_handle) result = self._extended_message._fields.get(extension_handle) if result is not None: return result if extension_handle.label == _FieldDescriptor.LABEL_REPEATED: result = extension_handle._default_constructor(self._extended_message) elif extension_handle.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE: result = extension_handle.message_type._concrete_class() try: result._SetListener(self._extended_message._listener_for_children) except ReferenceError: pass else: # Singular scalar -- just return the default without inserting into the # dict. return extension_handle.default_value # Atomically check if another thread has preempted us and, if not, swap # in the new object we just created. If someone has preempted us, we # take that object and discard ours. # WARNING: We are relying on setdefault() being atomic. This is true # in CPython but we haven't investigated others. This warning appears # in several other locations in this file. result = self._extended_message._fields.setdefault( extension_handle, result) return result def __eq__(self, other): if not isinstance(other, self.__class__): return False my_fields = self._extended_message.ListFields() other_fields = other._extended_message.ListFields() # Get rid of non-extension fields. my_fields = [ field for field in my_fields if field.is_extension ] other_fields = [ field for field in other_fields if field.is_extension ] return my_fields == other_fields def __ne__(self, other): return not self == other def __hash__(self): raise TypeError('unhashable object') # Note that this is only meaningful for non-repeated, scalar extension # fields. Note also that we may have to call _Modified() when we do # successfully set a field this way, to set any necssary "has" bits in the # ancestors of the extended message. def __setitem__(self, extension_handle, value): """If extension_handle specifies a non-repeated, scalar extension field, sets the value of that field. """ _VerifyExtensionHandle(self._extended_message, extension_handle) if (extension_handle.label == _FieldDescriptor.LABEL_REPEATED or extension_handle.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE): raise TypeError( 'Cannot assign to extension "%s" because it is a repeated or ' 'composite type.' % extension_handle.full_name) # It's slightly wasteful to lookup the type checker each time, # but we expect this to be a vanishingly uncommon case anyway. type_checker = type_checkers.GetTypeChecker(extension_handle) # pylint: disable=protected-access self._extended_message._fields[extension_handle] = ( type_checker.CheckValue(value)) self._extended_message._Modified() def _FindExtensionByName(self, name): """Tries to find a known extension with the specified name. Args: name: Extension full name. Returns: Extension field descriptor. """ return self._extended_message._extensions_by_name.get(name, None) def _FindExtensionByNumber(self, number): """Tries to find a known extension with the field number. Args: number: Extension field number. Returns: Extension field descriptor. """ return self._extended_message._extensions_by_number.get(number, None) PK!ЏLprotobuf/internal/__pycache__/descriptor_pool_test2_pb2.cpython-36.opt-1.pycnu[3 hz0@shddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZdd lmZdd lTejdddedejejgejgdZejdddeejddddddejddddddgddddd Zejeejdddeejddd dddejd!dd"dddgddd#d$d Zejeejdd%deejd&dd'dddejd(dd)dddgddd*d+d Zejeejd,d-dedejd.d/ddd)d0dd1ddddd2dded3ejd4d5dd6d7d7dd1ed8jd9dddd2dded3gggegdd2dggd:dd;Z ejdddd)d0dd1d"dddd2dded3ejd4d?dd6d7d7dd1ed@jd9dddd2dded3ejdAdBd6ddCdDdd2ddddd2dded3gge gegdd2dggdEd$d;Z!ejdFdGdedejd.dHddd)d0dd1d)dddd2dded3ejdIdJdd6dCdDdd2ddddd2dded3gejdKdLddMdCdDdd2ddddd1dded3ge!gegdd2dggdNdOd;Z"ee j#d._$e!e _%e e_%ee!j#d._$e e!j#dA_&e"e!_%e!e_%ee"j#d._$e!e"j#dI_&e"e_%e"ej'dF<ej(ee j)dFej*fe+e j)dsrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)descriptor_pool_test1_pb2)more_messages_pb2)*z4google/protobuf/internal/descriptor_pool_test2.protozgoogle.protobuf.python.internalZproto2u4 4google/protobuf/internal/descriptor_pool_test2.protogoogle.protobuf.python.internal4google/protobuf/internal/descriptor_pool_test1.proto,google/protobuf/internal/more_messages.proto"ï DescriptorPoolTest3X nested_enum (2?.google.protobuf.python.internal.DescriptorPoolTest3.NestedEnum:XIZ nested_message ( 2B.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage÷ NestedMessagef nested_enum (2M.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.NestedEnum:PI nested_field ( :nuq deep_nested_message ( 2T.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessageÍ DeepNestedMessagey nested_enum (2_.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.NestedEnum:RHO nested_field ( :sigma" NestedEnum RHO SIGMA"! NestedEnum OMICRON PI" NestedEnum NU  XI2‰ descriptor_pool_test4.google.protobuf.python.internal.DescriptorPoolTest1é ( 24.google.protobuf.python.internal.DescriptorPoolTest3P)namepackagesyntaxZ serialized_pbZ dependenciesZpublic_dependenciesZ NestedEnumz^google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.NestedEnumZRHO)rindexnumberoptionstypeZSIGMAi@i`) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endzLgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.NestedEnumZOMICRONZPIibiz>google.protobuf.python.internal.DescriptorPoolTest3.NestedEnumZNU ZXIiiDeepNestedMessagezSgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessageZ nested_enumz_google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.nested_enumTF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrZ nested_fieldz`google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.nested_field Zsigmazutf-8i)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr r! NestedMessagezAgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessagezMgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.nested_enumzNgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.nested_fieldZnuZdeep_nested_messagezUgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.deep_nested_message iDescriptorPoolTest3z3google.protobuf.python.internal.DescriptorPoolTest3z?google.protobuf.python.internal.DescriptorPoolTest3.nested_enumZnested_messagezBgoogle.protobuf.python.internal.DescriptorPoolTest3.nested_messageZdescriptor_pool_testzHgoogle.protobuf.python.internal.DescriptorPoolTest3.descriptor_pool_testii-z2google.protobuf.internal.descriptor_pool_test2_pb2) DESCRIPTOR __module__)r&r2r3)r-r2r3)3sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZgoogle.protobuf.internalrZAgoogle_dot_protobuf_dot_internal_dot_descriptor__pool__test1__pb2rZ8google_dot_protobuf_dot_internal_dot_more__messages__pb2Z*google.protobuf.internal.more_messages_pb2ZFileDescriptorr2ZEnumDescriptorZEnumValueDescriptorZ?_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUMZRegisterEnumDescriptorZ-_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_NESTEDENUMZ_DESCRIPTORPOOLTEST3_NESTEDENUMZ DescriptorZFieldDescriptordecodeZ4_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGEZ"_DESCRIPTORPOOLTEST3_NESTEDMESSAGEZ_DESCRIPTORPOOLTEST3Zfields_by_namer)rr(Zmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr0ZRegisterMessager-r&Zextensions_by_nameZDescriptorPoolTest1ZRegisterExtensionrrrrs                           PK!pOO7protobuf/internal/__pycache__/containers.cpython-36.pycnu[3 hQ@sdZdZddlZddlZejddkr`GdddeZGdddeZejjeejjenejZGd d d eZ Gd d d e Z ej je Gd dde Z GdddeZ GdddeZdS)aContains container classes to represent different protocol buffer types. This file defines container classes which represent categories of protocol buffer field types which need extra maintenance. Currently these categories are: - Repeated scalar fields - These are all repeated fields which aren't composite (e.g. they are of simple types like int32, string, etc). - Repeated composite fields - Repeated fields which are composite. This includes groups and nested messages. zpetar@google.com (Petar Petrov)Nc@sfeZdZfZdddZddZddZdd Zd d Zd d Z ddZ ddZ dZ ddZ ddZdS)MappingNc Cs"y||Stk r|SXdS)N)KeyError)selfkeydefaultr /usr/lib/python3.6/containers.pygetGsz Mapping.getc Cs*y ||Wntk r dSXdSdS)NFT)r)rrrrr __contains__Ms  zMapping.__contains__cCst|S)N)iter)rrrr iterkeysUszMapping.iterkeysccsx|D]}||VqWdS)Nr)rrrrr itervaluesXs zMapping.itervaluesccs x|D]}|||fVqWdS)Nr)rrrrr iteritems\s zMapping.iteritemscCst|S)N)list)rrrr keys`sz Mapping.keyscsfddDS)Ncsg|]}||fqSrr).0r)rrr dsz!Mapping.items..r)rr)rr itemscsz Mapping.itemscsfddDS)Ncsg|] }|qSrr)rr)rrr rgsz"Mapping.values..r)rr)rr valuesfszMapping.valuescCs0t|tjstStt|jtt|jkS)N) isinstance collectionsrNotImplementeddictrr)rotherrrr __eq__ls zMapping.__eq__cCs ||k S)Nr)rrrrr __ne__qszMapping.__ne__)N)__name__ __module__ __qualname__ __slots__r r r rrrrr__hash__rrrrrr rDs rc@sDeZdZfZeZefddZddZddZddZ d d d Z d S) MutableMappingc Cs<y ||}Wn tk r,||jkr(|SX||=|SdS)N)r_MutableMapping__marker)rrrvaluerrr popys  zMutableMapping.popc Cs@ytt|}Wntk r(tYnX||}||=||fS)N)nextr StopIterationr)rrr$rrr popitems zMutableMapping.popitemc Cs,yx |jqWWntk r&YnXdS)N)r(r)rrrr clears zMutableMapping.clearcOst|dkr tdjt|n |s,td|d}t|dkrH|dnf}t|trrxb|D]}||||<q\WnHt|drxszBaseContainer.sortN) rrr__doc__r r9r:r;rr!r=r>rrrr r5s r5cseZdZdZdgZfddZddZddZd d Zd d Z d dZ dddZ ddZ ddZ ddZddZddZddZZS) RepeatedScalarFieldContainerzGSimple, type-checked, list-like container for holding repeated scalars. _type_checkercstt|j|||_dS)a, Args: message_listener: A MessageListener implementation. The RepeatedScalarFieldContainer will call this object's Modified() method when it is modified. type_checker: A type_checkers.ValueChecker instance to run on elements inserted into this container. N)superrAr9rB)rr8Z type_checker) __class__rr r9s z%RepeatedScalarFieldContainer.__init__cCs*|jj|jj||jjs&|jjdS)z6Appends an item to the list. Similar to list.append().N)r7appendrB CheckValuer6dirtyModified)rr$rrr rEsz#RepeatedScalarFieldContainer.appendcCs,|jj||jj||jjs(|jjdS)zEInserts the item at the specified position. Similar to list.insert().N)r7insertrBrFr6rGrH)rrr$rrr rIsz#RepeatedScalarFieldContainer.insertc sh|dkr dSy t|}Wntk r6|s0dSYnXfdd|D}|rZjj|jjdS)zBExtends by appending the given iterable. Similar to list.extend().Ncsg|]}jj|qSr)rBrF)relem)rrr rsz7RepeatedScalarFieldContainer.extend..)r r-r7extendr6rH)relem_seqZ elem_seq_iter new_valuesr)rr rKs  z#RepeatedScalarFieldContainer.extendcCs|jj|j|jjdS)zAppends the contents of another repeated field of the same type to this one. We do not check the types of the individual fields. N)r7rKr6rH)rrrrr MergeFromsz&RepeatedScalarFieldContainer.MergeFromcCs|jj||jjdS)z8Removes an item from the list. Similar to list.remove().N)r7remover6rH)rrJrrr rOs z#RepeatedScalarFieldContainer.remover+cCs|j|}|j||S)zDRemoves and returns an item at a given index. Similar to list.pop().)r7 __delitem__)rrr$rrr r%$s  z RepeatedScalarFieldContainer.popcCsPt|tr0|jdk rtd|j|j|j|n|jj||j |<|j j dS)z(Sets the item on the specified position.NzExtended slices not supported) rslicestep ValueError __setslice__startstoprBrFr7r6rH)rrr$rrr __setitem__*s   z(RepeatedScalarFieldContainer.__setitem__cCs|j||S)zARetrieves the subset of items from between the specified indices.)r7)rrUrVrrr __getslice__4sz)RepeatedScalarFieldContainer.__getslice__cCs@g}x|D]}|j|jj|q W||j||<|jjdS)z|jj|}|jj}||j|<|SXdS)N)r7rrerFrfZ DefaultValue)rrvalrrr r:s    zScalarMap.__getitem__cCs|jj|||jkS)N)rerFr7)ritemrrr r s zScalarMap.__contains__NcCs||kr||S|SdS)Nr)rrrrrr r sz ScalarMap.getcCs0|jj|}|jj|}||j|<|jjdS)N)rerFrfr7r6rH)rrr$Z checked_keyZ checked_valuerrr rWs   zScalarMap.__setitem__cCs|j|=|jjdS)N)r7r6rH)rrrrr rPszScalarMap.__delitem__cCs t|jS)N)r,r7)rrrr r;szScalarMap.__len__cCs t|jS)N)r r7)rrrr __iter__szScalarMap.__iter__cCs t|jS)N)r<r7)rrrr r=szScalarMap.__repr__cCs|jj|j|jjdS)N)r7r2r6rH)rrrrr rNszScalarMap.MergeFromcCs|j}|j|_d|d<dS)N)r7copy)roriginalrrr InvalidateIteratorss zScalarMap.InvalidateIteratorscCs|jj|jjdS)N)r7r)r6rH)rrrr r)s zScalarMap.clearcCs|jjS)N)rgr_)rrrr GetEntryClassszScalarMap.GetEntryClass)N)rrrr@r r9r:r r rWrPr;rlr=rNror)rprrrr rds   rdc@seZdZdZdddddgZddZd d Zd d Zd$ddZddZ ddZ ddZ ddZ ddZ ddZddZddZd d!Zd"d#Zd S)% MessageMapzESimple, type-checked, dict-like container for with submessage values.rer7r6r]rgcCs"||_||_||_||_i|_dS)a Args: message_listener: A MessageListener implementation. The ScalarMap will call this object's Modified() method when it is modified. key_checker: A type_checkers.ValueChecker instance to run on keys inserted into this container. value_checker: A type_checkers.ValueChecker instance to run on values inserted into this container. entry_descriptor: The MessageDescriptor of a map entry: key and value. N)r6r]rergr7)rr8r^rhrirrr r9s zMessageMap.__init__c CsZy |j|Stk rT|jj|}|jj}|j|j||j|<|jj|SXdS)N) r7rrerFr]r_r`r6rH)rrrarrr r:'s      zMessageMap.__getitem__cCs||S)aaget_or_create() is an alias for getitem (ie. map[key]). Args: key: The key to get or create in the map. This is useful in cases where you want to be explicit that the call is mutating the map. This can avoid lint errors for statements like this that otherwise would appear to be pointless statements: msg.my_map[key] r)rrrrr get_or_create3s zMessageMap.get_or_createNcCs||kr||S|SdS)Nr)rrrrrr r DszMessageMap.getcCs ||jkS)N)r7)rrkrrr r JszMessageMap.__contains__cCs tddS)Nz5May not set values directly, call my_map[key].foo = 5)rS)rrr$rrr rWMszMessageMap.__setitem__cCs|j|=|jjdS)N)r7r6rH)rrrrr rPPszMessageMap.__delitem__cCs t|jS)N)r,r7)rrrr r;TszMessageMap.__len__cCs t|jS)N)r r7)rrrr rlWszMessageMap.__iter__cCs t|jS)N)r<r7)rrrr r=ZszMessageMap.__repr__cCs2x,|D]$}||kr||=||j||qWdS)N)ZCopyFrom)rrrrrr rN]s zMessageMap.MergeFromcCs|j}|j|_d|d<dS)N)r7rm)rrnrrr rogs zMessageMap.InvalidateIteratorscCs|jj|jjdS)N)r7r)r6rH)rrrr r)os zMessageMap.clearcCs|jjS)N)rgr_)rrrr rpsszMessageMap.GetEntryClass)N)rrrr@r r9r:rrr r rWrPr;rlr=rNror)rprrrr rq s"   rq)r@ __author__rsys version_infor4rr"registerr5rAMutableSequencer\rdrqrrrr (s0< -n [ZPK!МkCprotobuf/internal/__pycache__/text_format_test.cpython-36.opt-1.pycnu[3 h @sdZdZddlZddlZddlZddlZy ddlZWnek rPddlZYnXddl m Z ddl m Z ddl m Z ddl mZddl mZdd l mZdd l mZddl m Zdd l mZdd l mZdd l mZddl mZGdddejZGdddejZe jeeGdddeZGdddeZGdddeZGdddejZGdddejZe jeeGdddeZ e!dkrej"dS) z%Test for google.protobuf.text_format.z kenton@google.com (Kenton Varda)N)_parameterized) any_test_pb2)map_unittest_pb2)unittest_mset_pb2) unittest_pb2)unittest_proto3_arena_pb2)api_implementation)message_set_extensions_pb2) test_util)descriptor_pool) text_formatc@seZdZddZdS)SimpleTextFormatTestscCs$xtjD]}|jdt|qWdS)N)r Z_QUOTES assertEquallen)selfZquoter&/usr/lib/python3.6/text_format_test.pytestQuoteMarksAreSingleCharsFs z2SimpleTextFormatTests.testQuoteMarksAreSingleCharsN)__name__ __module__ __qualname__rrrrrr @sr c@s,eZdZddZddZddZddZd S) TextFormatBasec Cs4tj| }ttkr|jSdd|DSQRXdS)NcSsg|]}|jdqS)zutf-8)decode).0Z golden_linerrr Qsz-TextFormatBase.ReadGolden..)r Z GoldenFilestrbytes readlines)rgolden_filenamefrrr ReadGoldenNs zTextFormatBase.ReadGoldencCs |j|}|j|dj|dS)N)r!ZassertMultiLineEqualjoin)rtextrZ golden_linesrrrCompareToGoldenFileSs z"TextFormatBase.CompareToGoldenFilecCs|j||dS)N)r)rr$ golden_textrrrCompareToGoldenTextWsz"TextFormatBase.CompareToGoldenTextcCs>|jddjddjddjdd}tjdtjjd|}|S)Nze+0ze+ze-0ze-z\.0$r")replacerecompile MULTILINEsub)rr$rrrRemoveRedundantZerosZsz#TextFormatBase.RemoveRedundantZerosN)rrrr!r%r'r-rrrrrLsrc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=S)>TextFormatTestcCsx|j}|jjd |jjd|jjd|jjd|jjd|jjd|jjd|j|jtj |ddS) Nllgw/^@gtQFքDg‚6.UnicodeSubN)rrrrrrr UnicodeSub~sr9uüꜟz(repeated_string: "\303\274\352\234\237" )sixZ text_typer/r4r1r'r r5)rr6r9r7rrrtestPrintExoticUnicodeSubclass|s z-TextFormatTest.testPrintExoticUnicodeSubclasscCs2|j}|jj}d|_|jtj|ddddS)N*T) as_one_linez"repeated_nested_message { bb: 42 })r/repeated_nested_messageaddbbr'r r5)rr6r7msgrrrtestPrintNestedMessageAsOneLines   z.TextFormatTest.testPrintNestedMessageAsOneLinecCs^|j}|jjd|jjd|jjd|jjd|jjd|jtj|ddddS)NrZGoogleZZurichT)r=zirepeated_int32: 1 repeated_int32: 1 repeated_int32: 3 repeated_string: "Google" repeated_string: "Zurich")r/Zrepeated_int32r1r4r'r r5)rr6r7rrr testPrintRepeatedFieldsAsOneLines      z/TextFormatTest.testPrintRepeatedFieldsAsOneLinecCs(|j}d|_|jtj|ddddS)Nz a new lineT)r=zoptional_string: "a\nnew\nline")r/optional_stringr'r r5)rr6r7rrr'testPrintNestedNewLineInStringAsOneLines  z6TextFormatTest.testPrintNestedNewLineInStringAsOneLinecCs||j}|jjd |jjd|jjd|jjd|jjd|jjd|jjd|j|jtj |dd d dS) Nllgw/^@gtQFքDg‚6i g⹭?zoptional_float: 1.25z%optional_double: -3.45678901234568e-6zrepeated_float: -5642zrepeated_double: 7.89e-5z.15g) float_formatz&payload {{ {0} {1} {2} {3} }} T)r=rOzpayload {{ {0} {1} {2} {3} }}g/_e̾i) ZNestedTestAllTypesZpayloadoptional_floatZoptional_doubleZrepeated_floatr1r3r r5r'r-format)rr6r7Zformatted_fieldsZ text_messagerrrtestPrintFloatFormats&z#TextFormatTest.testPrintFloatFormatcCs"|j}d|_|jdt|dS)N{zc: 123 )ZForeignMessagecrr)rr6r7rrrtestMessageToStringsz"TextFormatTest.testMessageToStringcCs|j}|jjd}|j}tjd}tj||||jd|j|j tjd}tj |}|j|||jd|j|j dS)NrPFzoptional_float: 0.0 ) r/ DESCRIPTORfields_by_namerPr TextWriterZ PrintFieldrgetvalueclose_Printer)rr6r7fieldvalueoutprinterrrrtestPrintFields     zTextFormatTest.testPrintFieldcCs|j}|jjd}|j}tjd}tj||||jd|j|j tjd}tj |}|j|||jd|j|j dS)NrPFz0.0) r/rVrWrPr rXZPrintFieldValuerrYrZr[)rr6r7r\r]r^r_rrrtestPrintFieldValues     z"TextFormatTest.testPrintFieldValuecCsT|j}tj|tj|}|j}tj|||j|||tkrPtj||dS)N) r/r SetAllFieldsr r5rIrrExpectAllFieldsSet)rr6r7 ascii_textrKrrrtestParseAllFields"s    z!TextFormatTest.testParseAllFieldscCs|j}tj|tj|}|jd}|j}tj|||j|||tkrZtj |||j tj |||j|||tkrtj ||t j r|j}d}tj |||j|jd|j tj|||j|jddS)Nzutf-8uoptional_string: "café"ucafé)r/r rbr r5encoderIrrrcClearMerger:ZPY2rE)rr6r7rdrKZmsg2r$rrrtestParseAndMergeUtf8-s,           z$TextFormatTest.testParseAndMergeUtf8cCs|j}d}tj|||jd|jd|jd|jd|jd|jd|jd|jd|jd|jd |jd |jd|jd |jd|jd |jd |jd |jddS)NuUrepeated_int64: -9223372036854775808 repeated_uint64: 18446744073709551615 repeated_double: 123.456 repeated_double: 1.23e+22 repeated_double: 1.23e-18 repeated_string: "\000\001\007\010\014\n\r\t\013\\\'\"" repeated_string: "foo" 'corge' "grault" repeated_string: "\303\274\352\234\237" repeated_string: "\xc3\xbc" repeated_string: "ü" lrlgw/^@gtQFքDrg‚6<z  \'"ZfoocorgegraultuüꜟürCl)r/r rIrr0r2r3r4)rr6r7r$rrrtestParseExoticHs zTextFormatTest.testParseExoticcCsv|j}d}tj|||jd|jd|jd|jd|jd|jd|jd|jd|jd |jddS) Nzorepeated_int64: 100; repeated_int64: 200; repeated_int64: 300, repeated_string: "one", repeated_string: "two"; drri,rjonetwo)r/r rIrr0r4)rr6r7r$rrrtestParseTrailingCommasas z&TextFormatTest.testParseTrailingCommascCsv|j}d}tj|||jd|jd|jd|jd|jd|jd|jd|jd|jd |jddS) NzRrepeated_int64: [100, 200]; repeated_int64: 300, repeated_string: ["one", "two"]; rmrrnri,rjrorp)r/r rIrr0r4)rr6r7r$rrr"testParseRepeatedScalarShortFormatps z1TextFormatTest.testParseRepeatedScalarShortFormatcCsl|j}d}tj|||jd|jdj|jd|jdj|jd|jdj|jd|jd jdS) Nzyrepeated_nested_message: [{bb: 100}, {bb: 200}], repeated_nested_message: {bb: 300} repeated_nested_message [{bb: 400}]; rmrrnri,rjirC)r/r rIrr>r@)rr6r7r$rrr#testParseRepeatedMessageShortFormat}s z2TextFormatTest.testParseRepeatedMessageShortFormatcCs,|j}d}tj|||j|j|dS)Nr")r/r rIr)rr6r7r$rrrtestParseEmptyTexts z!TextFormatTest.testParseEmptyTextc CsX|j}d}|jtj}tj||WdQRX|j|jjd|j|jjddS)Nzrepeated_string: "\xc3\xc3"r) r/ assertRaisesr ParseErrorrIr exceptionZGetLineZ GetColumn)rr6r7r$errrtestParseInvalidUtf8s z#TextFormatTest.testParseInvalidUtf8cCs(|j}d}tj|tjdtj||dS)Nfooz?1:1 : Message type "\w+.TestAllTypes" has no field named "foo".)r/r:assertRaisesRegexr rwrI)rr6r7r$rrrtestParseSingleWords  z"TextFormatTest.testParseSingleWordcCs(|j}d}tj|tjdtj||dS)Nzunknown_field: 8 zI1:1 : Message type "\w+.TestAllTypes" has no field named "unknown_field".)r/r:r|r rwrI)rr6r7r$rrrtestParseUnknownFields  z$TextFormatTest.testParseUnknownFieldcCs(|j}d}tj|tjdtj||dS)Nzoptional_nested_enum: BARRzG1:23 : Enum type "\w+.TestAllTypes.NestedEnum" has no value named BARR.)r/r:r|r rwrI)rr6r7r$rrrtestParseBadEnumValues  z$TextFormatTest.testParseBadEnumValuecCs(|j}d}tj|tjdtj||dS)Nzoptional_int32: borkz#1:17 : Couldn't parse integer: bork)r/r:r|r rwrI)rr6r7r$rrrtestParseBadIntValues  z#TextFormatTest.testParseBadIntValuecCs|j}d}tj||d}|jd|jd|j|d|d|jd|j|d|d |jd |j||d||d|jd |j||d||d |jd |j|d |jddS)Narepeated_string: "\xf\x62" repeated_string: "\\xf\\x62" repeated_string: "\\\xf\\\x62" repeated_string: "\\\\xf\\\\x62" repeated_string: "\\\\\xf\\\\\x62" repeated_string: "\x5cx20"\zbrZxfZx62rbrjrCZx20)r/r rIrr4)rr6r7r$SLASHrrrtestParseStringFieldUnescapes   z+TextFormatTest.testParseStringFieldUnescapecCs6|j}d}tj||}|j|||jd|jdS)Nz%optional_int32: 42 optional_int32: 67C)r/r rhrJroptional_int32)rr6r7r$rLrrrtestMergeDuplicateScalarss   z(TextFormatTest.testMergeDuplicateScalarscCs:|j}d}tj||}|j||k|jd|jjdS)NzCoptional_nested_message { bb: 1 } optional_nested_message { bb: 2 }rj)r/r rh assertTrueroptional_nested_messager@)rr6r7r$rLrrr&testMergeDuplicateNestedMessageScalarss  z5TextFormatTest.testMergeDuplicateNestedMessageScalarscCs>|j}d|_|j}tjtj|||jd|jddS)N oneof_uint32 oneof_field)r/rr rIr5r WhichOneof)rr6mm2rrrtestParseOneofs zTextFormatTest.testParseOneofcCs8djddg}|j}tj|||jd|jddS)N zoneof_uint32: 11zoneof_string: "foo"Z oneof_stringr)r#r/r rhrr)rr6m_stringrrrrtestMergeMultipleOneofs z%TextFormatTest.testMergeMultipleOneofc Cs@djddg}|j}|jtjdtj||WdQRXdS)Nrzoneof_uint32: 11zoneof_string: "foo"z is specified along with field )r#r/r|r rwrI)rr6rrrrrtestParseMultipleOneofs z%TextFormatTest.testParseMultipleOneofN)!rrrr8r;rBrDrFrGrMrNrRrUr`rarerirlrqrrrsrtrzr}r~rrrrrrrrrrrrr.es<   !   r.c@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS) OnlyWorksWithProto2RightNowTestscCs2tj}tj||j|jtj|ddddS)NT)pointy_bracketsz*text_format_unittest_data_pointy_oneof.txt)rr/r rbr%r-r r5)rr7rrrtestPrintAllFieldsPointys   z9OnlyWorksWithProto2RightNowTests.testPrintAllFieldsPointycCsRdj|jd}tj}tj||}|j||tj}tj||j ||dS)Nrz/text_format_unittest_data_oneof_implemented.txt) r#r!rr/r rIrJr rbr)rr&rKrLr7rrrtestParseGoldens   z0OnlyWorksWithProto2RightNowTests.testParseGoldencCs.tj}tj||j|jtj|ddS)Nz/text_format_unittest_data_oneof_implemented.txt)rr/r rbr%r-r r5)rr7rrrtestPrintAllFieldss  z3OnlyWorksWithProto2RightNowTests.testPrintAllFieldscCsbtj}d|_d|_d|_d|j_d|j_|j|j t j |ddd|j|j t j |d dS) NZ115eorrT)Zuse_index_orderzWmy_string: "115" my_int: 101 my_float: 111 optional_nested_message { oo: 0 bb: 1 } zWmy_int: 101 my_string: "115" my_float: 111 optional_nested_message { bb: 1 oo: 0 } ) rZTestFieldOrderingsZ my_stringZmy_intZmy_floatrZoor@r'r-r r5)rr7rrrtestPrintInIndexOrder s z6OnlyWorksWithProto2RightNowTests.testPrintInIndexOrdercCsL|jd}tj}tj||}|j||tj}tj||j||dS)Nz/text_format_unittest_data_oneof_implemented.txt) r!rr/r Z MergeLinesrJr rbr)ropenedrKrLr7rrrtestMergeLinesGoldens    z5OnlyWorksWithProto2RightNowTests.testMergeLinesGoldencCsL|jd}tj}tj||}|j||tj}tj||j||dS)Nz/text_format_unittest_data_oneof_implemented.txt) r!rr/r Z ParseLinesrJr rbr)rrrKrLr7rrrtestParseLinesGolden's    z5OnlyWorksWithProto2RightNowTests.testParseLinesGoldencCs\tj}d |jd <d|jd<d|jd<d|jd<d|jd<d|jd _|j t j |d dS)NirSrj"!123abcrraHmap_int32_int32 { key: -123 value: -456 } map_int64_int64 { key: -8589934592 value: -17179869184 } map_uint32_uint32 { key: 123 value: 456 } map_uint64_uint64 { key: 8589934592 value: 17179869184 } map_string_string { key: "abc" value: "123" } map_int32_foreign_message { key: 111 value { c: 5 } } i8illllll) rTestMapmap_int32_int32map_int64_int64map_uint32_uint32map_uint64_uint64map_string_stringmap_int32_foreign_messagerTr'r r5)rr7rrr testPrintMap1s      z-OnlyWorksWithProto2RightNowTests.testPrintMapcCs|tj}x tjddD]}d|j|<qWx$ttjddD]}d|j|<q>WdjddtjD}|jtj ||dS)N Zdummyrr"css|]}d|fVqdS)z3map_string_string { key: "%c" value: "dummy" } Nr)rletterrrr _szKOnlyWorksWithProto2RightNowTests.testMapOrderEnforcement..) rrstringZascii_uppercaserreversedr#r'r r5)rr7rgoldenrrrtestMapOrderEnforcementYs  z8OnlyWorksWithProto2RightNowTests.testMapOrderEnforcementN) rrrrrrrrrrrrrrrrs   (rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+S), Proto2TestscCsvtj}tjj}tjj}d|jj|_d|jj|_|j t j |dt j }t j}d|j|_|j t j |ddS)Nr{zmessage_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } ZbarzF[google.protobuf.internal.TestMessageSetExtension3] { text: "bar" } )rTestMessageSetContainerTestMessageSetExtension1message_set_extensionTestMessageSetExtension2 message_set Extensionsirr'r r5r ZTestMessageSetZmessage_set_extension3r$)rr7ext1ext2ZextrrrtestPrintMessageSetvs  zProto2Tests.testPrintMessageSetcCsjtjd}tj}tjj}tjj}d|jj|_ d|jj|_ tj ||dd|j |j d|jdS)NFrr{T)Zuse_field_numberz?1 { 1545008 { 15: 23 } 1547769 { 25: "foo" } } )r rXrrrrrrrrrZ PrintMessager'rYrZ)rr^r7rrrrr testPrintMessageSetByFieldNumbers z,Proto2Tests.testPrintMessageSetByFieldNumbercCsNtj}tjj}tjj}d|jj|_d|jj|_|j t j |ddddS)Nrr{T)r=zmessage_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } }) rrrrrrrrrr'r r5)rr7rrrrrtestPrintMessageSetAsOneLines z(Proto2Tests.testPrintMessageSetAsOneLinecCstj}d}tj|||jd|jd|jd|jdtj}d}tj||tjj }tj j }|jd|j j |j |jd|j j |jdS)Nz&repeated_uint64: 1 repeated_uint64: 2 rrrjzmessage_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } rr{)rr/r rIrr2rrrrrrrrr)rr7r$rrrrrtestParseMessageSets  zProto2Tests.testParseMessageSetcCs>tj}d}tj||tjd|jtj|tjd|dS)Nzvalue { [type.googleapis.com/google.protobuf.internal.TestAny] { [google.protobuf.internal.TestAnyExtension1.extension1] { i: 10 } } } )r )test_extend_anyTestAnyr rhr Defaultr'r5)rr7r$rrrtestExtensionInsideAnyMessages z)Proto2Tests.testExtensionInsideAnyMessagec Cstj}d}tj||dd|jd|jd|jd|jdtj}d}tj||ddtjj }tj j }|jd|j j |j |jd |j j |jtj}d }tj|tjd tj||d }tj|tjd tj||dddS)Nz34: 1 repeated_uint64: 2 T)Zallow_field_numberrrrjz?1 { 1545008 { 15: 23 } 1547769 { 25: "foo" } } rr{z34:1 z>1:1 : Message type "\w+.TestAllTypes" has no field named "34".z1234:1 z@1:1 : Message type "\w+.TestAllTypes" has no field named "1234".)rr/r rIrr2rrrrrrrrrr:r|rw)rr7r$rrrrrtestParseMessageByFieldNumbers4  z)Proto2Tests.testParseMessageByFieldNumbercCs.tj}tj||j|jtj|ddS)Nz(text_format_unittest_extensions_data.txt)rTestAllExtensionsr SetAllExtensionsr%r-r r5)rr7rrrtestPrintAllExtensionss  z"Proto2Tests.testPrintAllExtensionscCs2tj}tj||j|jtj|ddddS)NT)rz/text_format_unittest_extensions_data_pointy.txt)rrr rr%r-r r5)rr7rrrtestPrintAllExtensionsPointys   z(Proto2Tests.testPrintAllExtensionsPointycCsFdj|jd}tj}tj||tj}tj||j||dS)Nrz(text_format_unittest_extensions_data.txt) r#r!rrr rIr rr)rr&rKr7rrrtestParseGoldenExtensionss  z%Proto2Tests.testParseGoldenExtensionscCs@tj}tj|tj|}tj}tj|||j||dS)N)rrr rr r5rIr)rr7rdrKrrrtestParseAllExtensionss    z"Proto2Tests.testParseAllExtensionsc CsVtj}d}tj||ddd}|jtj||tj}d}tj|tjdtj||ddtj}d}tj|tjdtj||ddtj}d }tj|tjdtj||ddtj}d }tj|tjd tj||ddtj}d }tj|tjd tj||ddtj}d}tj||ddtj j }tj j }|j d|j j|j|j d|j j|jdS)Numessage_set { [unknown_extension] { i: 23 bin: "à" [nested_unknown_ext]: { i: 23 x: x test: "test_string" floaty_float: -0.315 num: -inf multiline_str: "abc" "def" "xyz." [nested_unknown_ext.ext]: < i: 23 i: 24 pointfloat: .3 test: "test_string" floaty_float: -0.315 num: -inf long_string: "test" "test2" > } } [unknown_extension]: 5 } T)Zallow_unknown_extensionzmessage_set { } z3message_set { [unknown_extension] { i: } } zInvalid field value: }zGmessage_set { [unknown_extension] { str: "malformed string } } zInvalid field value: "zSmessage_set { [unknown_extension] { str: "malformed multiline string } } z7message_set { [malformed_extension] < i: -5 } z5:1 : Expected ">".z)message_set { unknown_field: true } zb2:3 : Message type "proto2_wireformat_unittest.TestMessageSet" has no field named "unknown_field".zmessage_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } rr{)rrr rIr'r5r:r|rwrrrrrrrr)rr7r$rZ malformedrrrrr testParseAllowedUnknownExtension"srz,Proto2Tests.testParseAllowedUnknownExtensionc CsFtj}d}|jtj}tj||WdQRX|jt|jddS)Nz#optional_nested_message { "bb": 1 }z/1:27 : Expected identifier or number, got "bb".) rr/rvr rwrIrrrx)rr7r$ryrrrtestParseBadIdentifiers  z"Proto2Tests.testParseBadIdentifiercCsHtj}d}tj|tjdtj||tj}tj|tjdtj||dS)Nz[unknown_extension]: 8 z31:2 : Extension "unknown_extension" not registered.zM1:2 : Message type "protobuf_unittest.TestAllTypes" does not have extensions.)rrr:r|r rwrIr/)rr7r$rrrtestParseBadExtensions   z!Proto2Tests.testParseBadExtensioncCs(tj}d}tj|tjdtj||dS)Nzoptional_nested_enum: 100zL1:23 : Enum type "\w+.TestAllTypes.NestedEnum" has no value with number 100.)rr/r:r|r rwrI)rr7r$rrrtestParseNumericUnknownEnums  z'Proto2Tests.testParseNumericUnknownEnumcCs0tj}d}tj|||jd|jtjdS)Nza[protobuf_unittest.optional_int32_extension]: 42 [protobuf_unittest.optional_int32_extension]: 67r)rrr rhrrZoptional_int32_extension)rr7r$rrr"testMergeDuplicateExtensionScalarss  z.Proto2Tests.testMergeDuplicateExtensionScalarscCs(tj}d}tj|tjdtj||dS)Nza[protobuf_unittest.optional_int32_extension]: 42 [protobuf_unittest.optional_int32_extension]: 67z1:96 : Message type "protobuf_unittest.TestAllExtensions" should not have multiple "protobuf_unittest.optional_int32_extension" extensions.)rrr:r|r rwrI)rr7r$rrr"testParseDuplicateExtensionScalarss  z.Proto2Tests.testParseDuplicateExtensionScalarscCs(tj}d}tj|tjdtj||dS)NzCoptional_nested_message { bb: 1 } optional_nested_message { bb: 2 }zh1:65 : Message type "protobuf_unittest.TestAllTypes.NestedMessage" should not have multiple "bb" fields.)rr/r:r|r rwrI)rr7r$rrr&testParseDuplicateNestedMessageScalarss  z2Proto2Tests.testParseDuplicateNestedMessageScalarscCs(tj}d}tj|tjdtj||dS)Nz%optional_int32: 42 optional_int32: 67zf1:36 : Message type "protobuf_unittest.TestAllTypes" should not have multiple "optional_int32" fields.)rr/r:r|r rwrI)rr7r$rrrtestParseDuplicateScalarss  z%Proto2Tests.testParseDuplicateScalarscCsDtj}d}tj|tjdtj||d}tj|tjdtj||dS)NzRepeatedGroup: ".zRepeatedGroup: {z1:16 : Expected "}".)rr/r:r|r rwrI)rr7r$rrrtestParseGroupNotCloseds   z#Proto2Tests.testParseGroupNotClosedcCs\tj}d}tj|||j|jd|jtj}d}tj|||j|jddS)NzOptionalGroup: {}Z optionalgroupzOptionalGroup: <>)rr/r rIrZHasFieldrg)rr7r$rrrtestParseEmptyGroups  zProto2Tests.testParseEmptyGroupcCsd}tj}tj|||jd |jd |jd|jd|jd|jd|jd|jd|jd|j d|jd |j d j dS)NaHmap_int32_int32 { key: -123 value: -456 } map_int64_int64 { key: -8589934592 value: -17179869184 } map_uint32_uint32 { key: 123 value: 456 } map_uint64_uint64 { key: 8589934592 value: 17179869184 } map_string_string { key: "abc" value: "123" } map_int32_foreign_message { key: 111 value { c: 5 } } irSrjrrrrrri8illllll) rrr rIrrrrrrrrT)rr$r7rrr testParseMaps zProto2Tests.testParseMapN)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrts*)  z    rc@s|eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdS) Proto3TestscCs@tj}d|_tj}|jj||jtj |t j dddS)Nr)r z[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } ) r OneStringdatarr any_valuePackrr r5r r)rpacked_messager7rrrtestPrintMessageExpandAnys  z%Proto3Tests.testPrintMessageExpandAnycCsRtj}tj}d|_|jjj|d|_|jjj||jt j |ddS)Nstring0string1zrepeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string0" } } repeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string1" } } ) rrrrrrepeated_any_valuer?rrr r5)rrr7rrr!testPrintMessageExpandAnyRepeated(sz-Proto3Tests.testPrintMessageExpandAnyRepeatedcCsDtj}d|_tj}|jj|tj}|j t j ||dddS)Nr)r zdany_value { type_url: "type.googleapis.com/protobuf_unittest.OneString" value: "\n\006string" } ) rrrrrrrr DescriptorPoolrr r5)rrr7 empty_poolrrr2testPrintMessageExpandAnyDescriptorPoolMissingType<s  z>Proto3Tests.testPrintMessageExpandAnyDescriptorPoolMissingTypecCs<tj}d|_tj}|jj||jtj |ddddS)NrT)rz[any_value < [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > > ) rrrrrrrrr r5)rrr7rrr'testPrintMessageExpandAnyPointyBracketsIs z3Proto3Tests.testPrintMessageExpandAnyPointyBracketscCs<tj}d|_tj}|jj||jtj |ddddS)NrT)r=zRany_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } }) rrrrrrrrr r5)rrr7rrr"testPrintMessageExpandAnyAsOneLineWs z.Proto3Tests.testPrintMessageExpandAnyAsOneLinecCsDtj}d|_tj}|jj||jtj |ddt j dddS)NrT)r=rr zRany_value < [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > >) rrrrrrrrr r5r r)rrr7rrr0testPrintMessageExpandAnyAsOneLinePointyBracketsds  ztj}tj}d|_tj|}tj|||jd|jdS)Ni)rr/Zoptional_nested_enumr r5rIr)rr7Zmessage2Z text_stringrrrtestUnknownEnumsss   zProto3Tests.testUnknownEnumscCsttj}d}tj||tj}|jj||jd|j |j tj ||tj}|jj||jd|j dS)Nz[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } r) rrr rhrrrUnpackrrrgrI)rr7r$rrrrtestMergeExpandedAny{s    z Proto3Tests.testMergeExpandedAnycCs`tj}d}tj||tj}|jdj||jd|j |jdj||jd|j dS)Nzrepeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string0" } } repeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string1" } } rrrr) rrr rhrrrrrr)rr7r$rrrrtestMergeExpandedAnyRepeateds z(Proto3Tests.testMergeExpandedAnyRepeatedcCs>tj}d}tj||tj}|jj||jd|j dS)Nz[any_value { [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > } r) rrr rhrrrrrr)rr7r$rrrr"testMergeExpandedAnyPointyBracketss   z.Proto3Tests.testMergeExpandedAnyPointyBracketscCs4tj}d}tj||tj}|jd|jjdS)NzYany_value { [type.otherapi.com/protobuf_unittest.OneString] { data: "string" } } z-type.otherapi.com/protobuf_unittest.OneString) rrr rhrrrrZtype_url)rr7r$rrrrtestMergeAlternativeUrls  z#Proto3Tests.testMergeAlternativeUrlc CsRtj}d}|jtj}tj}tj|||dWdQRX|jt |j ddS)Nz[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } )r z=Type protobuf_unittest.OneString not found in descriptor pool) rrrvr rwr rrhrrrx)rr7r$ryrrrr-testMergeExpandedAnyDescriptorPoolMissingTypesz9Proto3Tests.testMergeExpandedAnyDescriptorPoolMissingTypecCs>d}tj}tj||tj}|jj||jd|j dS)Nzdany_value { type_url: "type.googleapis.com/protobuf_unittest.OneString" value: "\n\006string" } r) rrr rhrrrrrr)rr$r7rrrrtestMergeUnexpandedAnys   z"Proto3Tests.testMergeUnexpandedAnyc CsFtj}d}|jtj}tj||WdQRX|jt|jddS)NzUany_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" z3:11 : Expected "}".) rrrvr rwrhrrrx)rr7r$ryrrrtestMergeMissingAnyEndTokens z'Proto3Tests.testMergeMissingAnyEndTokenN)rrrrrrrrrrrrrrrrrrrrrrs     rc@steZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZdS) TokenizerTestcTCsd}tj|j}|jdfd|jdf|jdfd|jdf|jdfd|jdf|jd fd|jd f|jd fd|jd3f|jd fd|jdf|jdfd|jdf|jdfdd|jdfd|jtdf|jdfd|jtd f|jdfd|jdf|jdfd|jdfd|jdfd|jdf|jdfd|jd4f|jdfd|jd5f|jd fd|jd!f|jd"fd|jd#f|jd$fd|jd%f|jd&fd|jdf|jd'fd|jdf|jd(fd|jdf|jd)fd|jdf|jd*fd|jdf|jd+fd|jdf|jd,fd|jtdf|jd-fd|jtd.f|jd/fd|jtd0fgR}d1}x|j s||}t |t rN|j }|j |||jnNt |d2trtj|d2r|jtj|d1n|j |d2|d1|d27}qWdS)6Naidentifier1:"string1" identifier2 : 123 identifier3 :'string' identifiER_4 : 1.1e+2 ID5:-0.23 ID6:'aaaa\'bbbb' ID7 : "aa\"bb" ID8: {A:inf B:-inf C:true D:false} ID9: 22 ID10: -111111111111111111 ID11: -22 ID12: 2222222222222222222 ID13: 1.23456f ID14: 1.2e+2f false_bool: 0 true_BOOL:t true_bool1: 1 false_BOOL1:f False_bool: False True_bool: True X:iNf Y:-inF Z:nANZ identifier1:rZ identifier2rSZ identifier3rZ identifiER_4g[@ZID5gq= ףp?ZID6z aaaa'bbbbZID7zaa"bbZID8{AinfBCTDF}ZID9ZID10lq{U ZID11ZID12lc/Y-vZID13g82?ZID14g^@Z false_boolZ true_BOOLZ true_bool1Z false_BOOL1Z False_boolZ True_boolXYz-infZnanrrgq= ףpͿlq{U i)r Tokenizer splitlinesConsumeIdentifierZ ConsumeStringConsumeInteger ConsumeFloatfloat ConsumeBoolAtEnd isinstancertokenr NextTokenmathZisnanr)rr$ tokenizermethodsrrrrrrtestSimpleTokenCasess                                    z"TokenizerTest.testSimpleTokenCasesc Csd }d }d|d|df}tj|j}|jd|j|j|d|j|j|d|j|j|jd}tj|j}|jd|j|jd|j|jd|j|jd|j|jtj |jWdQRX|jd |j |j|jdS)Nr? z-1 %d %dz -0 0 0 1.2rTFg333333?llll) r rrrrrr ZTryConsumeIntegerrvrwr )r int64_max uint32_maxr$rrrrtestConsumeAbstractIntegers)s$z)TokenizerTest.testConsumeAbstractIntegerscCs<d}d }d|d|df}tj|j}|jtjtj||jtjtj||jd tj||jtjtj||jtjtj||j|dtj ||jtjtj ||j|dtj||j |j d}tj|j}|jdtj||jdtj||jdtj||jdtj||j |j dS) Nrrrz-1 %d %dz -0 -0 0 0rllllr) r rrrvrwZ_ConsumeUint32Z_ConsumeUint64rZ _ConsumeInt32Z _ConsumeInt64rr )rrrr$rrrrtestConsumeIntegersBs2     z!TokenizerTest.testConsumeIntegerscCsd}tj|j}|jtj|jd}tj|j}|jtj|jd}tj|j}|jtj|jd}tj|j}|jtj|jd}tj|j}|jtj|jdS)Nz "string1'zstring1"z "\xt"z "\"z "\x")r rrrvrwZConsumeByteString)rr$rrrrtestConsumeByteStringbsz#TokenizerTest.testConsumeByteStringcCs&d}tj|j}|jtj|jdS)Nz not-a-bool)r rrrvrwr )rr$rrrrtestConsumeBoolwszTokenizerTest.testConsumeBoolcCs0tjdj}|j|j|jtj|jdS)Nz# some comment)r rrrr rvrwConsumeComment)rrrrrtestSkipComment|szTokenizerTest.testSkipCommentcCsBtjdjdd}|j|j|jd|j|j|jdS)Nz# some commentF) skip_comments)r rr assertFalser rrr)rrrrrtestConsumeComments  z TokenizerTest.testConsumeCommentcCsVd}tj|jdd}|jd|j|j|j|jd|j|j|jdS)Nz # some comment # another commentF)rz# some commentz# another comment)r rrrrr r r)rr$rrrrtestConsumeTwoCommentss z$TokenizerTest.testConsumeTwoCommentscCsd}tj|jdd}|jtj|j|jd|j|j|jd|j |jtj|j|jd|j |j |j |jd|j|j |j dS)Nzsome_number: 4 # some commentF)r some_numberrrz# some comment)r rrrvrwrrrrrrr r r)rr$rrrrtestConsumeTrailingCommentsz(TokenizerTest.testConsumeTrailingCommentcCsBtjdjdd}|j|j|jd|j|j|jdS)N# some commentF)r)Fr%)r rrr r rConsumeCommentOrTrailingCommentr)rrrrrtestConsumeLineComments   z$TokenizerTest.testConsumeLineCommentcCsVd}tj|jdd}|jd|j|j|j|jd|j|j|jdS)Nz # some comment # another commentF)r# some comment# another comment)Fr()Fr))r rrrr&r r r)rr$rrrrtestConsumeTwoLineCommentss  z(TokenizerTest.testConsumeTwoLineCommentscCsd}tj|jdd}|jtj|j|jd|j|j|jd|j |jtj|j|jd|j |j |j |jd |j|j |j dS) Nzsome_number: 4 # some commentF)rr#rrT# some comment)Tr+)r rrrvrwr&rrrrrr r r)rr$rrrr"testConsumeAndCheckTrailingComments z0TokenizerTest.testConsumeAndCheckTrailingCommentcCsnd}tj|jdd}|jd|j|j|jd|j|jd|j|jd |j|j |j dS) Nz2some_number: 4 # some comment # not a new commentF)rr#rrT"# some comment # not a new comment)Tr-) r rrrrrrrr&rr )rr$rrrrtestHashinComments zTokenizerTest.testHashinCommentN)rrrrrrrrrr!r"r$r'r*r,r.rrrrrsM  rc@s4eZdZddZddZddZddZd d Zd S) PrettyPrinterTestcCs<dd}|j}|jj}d|_|jtj|d|dddS)NcSs ~~~dS)Nr)r7indentr=rrrr_sz9PrettyPrinterTest.testPrettyPrintNoMatch..printerr<T)r=message_formatterz"repeated_nested_message { bb: 42 })r/r>r?r@r'r r5)rr6r_r7rArrrtestPrettyPrintNoMatchs  z(PrettyPrinterTest.testPrettyPrintNoMatchcs@fdd}j}|jj}d|_|jtj|d|dddS)Ncs"~~|jjjjkrd|jSdS)NzMy lucky number is %s)rVr/ NestedMessager@)rr0r=)r6rrr_sz9PrettyPrinterTest.testPrettyPrintOneLine..printerr<T)r=r1z1repeated_nested_message { My lucky number is 42 })r/r>r?r@r'r r5)rr6r_r7rAr)r6rtestPrettyPrintOneLines   z(PrettyPrinterTest.testPrettyPrintOneLinecsXfdd}j}|jj}d|_|jtj|d|dd|jtj|d|dddS) Ncs6|jjjjkr2|rdndd|}d||jfSdS)N rzMy lucky number is:%s%s)rVr/r3r@)rr0r=Zline_deliminator)r6rrr_sz;PrettyPrinterTest.testPrettyPrintMultiLine..printerr<T)r=r1z2repeated_nested_message { My lucky number is: 42 }Fz7repeated_nested_message { My lucky number is: 42 } )r/r>r?r@r'r r5)rr6r_r7rAr)r6rtestPrettyPrintMultiLines    z*PrettyPrinterTest.testPrettyPrintMultiLinecsHfdd}j}|jtj|d|dd|jtj|d|dddS)Ncs~~|jjjkrdSdS)NzThe is the message!)rVr/)rr0r=)r6rrr_sz?PrettyPrinterTest.testPrettyPrintEntireMessage..printerF)r=r1zThe is the message! TzThe is the message!)r/r'r r5)rr6r_r7r)r6rtestPrettyPrintEntireMessages   z.PrettyPrinterTest.testPrettyPrintEntireMessagecsbfdd}j}d|_|jj}d|_|jj}d|_|j}d|_|jtj|d|dd dS) Ncs"~~|jjjjkrd|jSdS)NzMy lucky number is %s)rVr/r3r@)rr0r=)r6rrr_s z?PrettyPrinterTest.testPrettyPrintMultipleParts..printer=r<crT)r=r1zoptional_int32: 61 optional_nested_message { My lucky number is 1 } repeated_nested_message { My lucky number is 42 } repeated_nested_message { My lucky number is 99 }) r/rr>r?r@rr'r r5)rr6r_r7rAr)r6rtestPrettyPrintMultiplePartss    z.PrettyPrinterTest.testPrettyPrintMultiplePartsN)rrrr2r4r6r7r:rrrrr/s r/__main__)#__doc__ __author__rr)r:rZ unittest2Zunittest ImportErrorZgoogle.protobuf.internalrZgoogle.protobufrrrrrrrr r r r ZTestCaser rZ Parametersr.rrrrr/rmainrrrr!sT               'Cw] PK! ;protobuf/internal/__pycache__/python_message.cpython-36.pycnu[3 h@sdZdZddlmZddlZddlZddlZddlZddlm Z ddlm Z ddlm Z ddlm Z dd lm Z dd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZejZdZGdddeZddZddZddZ ddZ!ddZ"ddZ#d d!Z$d"d#Z%d$d%Z&d&d'Z'd(d)Z(d*d+Z)d,d-Z*d.d/Z+d0d1Z,d2d3Z-d4d5Z.d6d7Z/d8d9Z0d:d;Z1dd?Z3d@dAZ4dBZ5dCZ6dDdEZ7dFdGZ8dHdIZ9dJdKZ:dLdMZ;dNdOZdTdUZ?dVdWZ@dXdYZAdZd[ZBd\d]ZCd^d_ZDd`daZEdbdcZFdddeZGdfdgZHdhdiZIdjdkZJdldmZKdndoZLdpdqZMGdrdsdseNZOGdtdudueOZPGdvdwdweNZQdS)xa Contains a metaclass and helper functions used to create protocol message classes from Descriptor objects at runtime. Recall that a metaclass is the "type" of a class. (A class is to a metaclass what an instance is to a class.) In this case, we use the GeneratedProtocolMessageType metaclass to inject all the useful functionality into the classes output by the protocol compiler at compile-time. The upshot of all this is that the real implementation details for ALL pure-Python protocol buffers are *here in this file*. z#robinson@google.com (Will Robinson))BytesION)api_implementation) containers)decoder)encoder)enum_type_wrapper)message_listener) type_checkers)well_known_types) wire_format) descriptor)message) text_formatzgoogle.protobuf.Anycs0eZdZdZdZfddZfddZZS)GeneratedProtocolMessageTypeaQMetaclass for protocol message classes created at runtime from Descriptors. We add implementations for all methods described in the Message class. We also create properties to allow getting/setting all fields in the protocol message. Finally, we create slots to prevent users from accidentally "setting" nonexistent fields in the protocol message, which then wouldn't get serialized / deserialized properly. The protocol compiler currently uses this metaclass to create protocol message classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = Descriptor(.....) factory = symbol_database.Default() factory.pool.AddDescriptor(mydescriptor) MyProtoClass = factory.GetPrototype(mydescriptor) myproto_instance = MyProtoClass() myproto.foo_field = 23 ... DESCRIPTORcsZ|tj}|jtjkr(|tj|jf7}t||t||tt|}|j||||}|S)aCustom allocation for runtime-generated class types. We override __new__ because this is apparently the only place where we can meaningfully set __slots__ on the class we're creating(?). (The interplay between metaclasses and slots is not very well-documented). Args: name: Name of the class (ignored, but required by the metaclass protocol). bases: Base classes of the class we're constructing. (Should be message.Message). We ignore this field, but it's required by the metaclass protocol dictionary: The class dictionary of the class we're constructing. dictionary[_DESCRIPTOR_KEY] must contain a Descriptor object describing this protocol message type. Returns: Newly-allocated class. ) r_DESCRIPTOR_KEY full_namer ZWKTBASES&_AddClassAttributesForNestedExtensions _AddSlotssuper__new__)clsnamebases dictionaryr superclass new_class) __class__$/usr/lib/python3.6/python_message.pyris     z$GeneratedProtocolMessageType.__new__cs|tj}i|_|jr6|jjr6tj|df|jtj<x|j D]}t ||q>W||_ t ||t ||t||t||t|t||t||tt|}|j|||dS)aHere we perform the majority of our work on the class. We add enum getters, an __init__ method, implementations of all Message methods, and properties for all fields in the protocol type. Args: name: Name of the class (ignored, but required by the metaclass protocol). bases: Base classes of the class we're constructing. (Should be message.Message). We ignore this field, but it's required by the metaclass protocol dictionary: The class dictionary of the class we're constructing. dictionary[_DESCRIPTOR_KEY] must contain a Descriptor object describing this protocol message type. N)rr_decoders_by_tag has_options GetOptionsmessage_set_wire_formatrZMessageSetItemDecoderZMESSAGE_SET_ITEM_TAGfields_AttachFieldHelpers_concrete_class_AddEnumValues_AddInitMethod_AddPropertiesForFields_AddPropertiesForExtensions_AddStaticMethods_AddMessageMethods_AddPrivateHelperMethodsr__init__)rrrrr fieldr)rrrr.s"          z%GeneratedProtocolMessageType.__init__)__name__ __module__ __qualname____doc__rrr. __classcell__rr)rrrNs rcCs|S)aReturns the name of the public property attribute which clients can use to get and (in some cases) set the value of a protocol message field. Args: proto_field_name: The protocol message field name, exactly as it appears (or would appear) in a .proto file. r)proto_field_namerrr _PropertyNamesr6cCsjt|tstd||js*td|j|js>td|j|j|jk rftd|j|jj|jjfdS)z0Verify that the given extension handle is valid.z3HasExtension() expects an extension handle, got: %sz"%s" is not an extension.z""%s" is missing a containing_type.zKExtension "%s" extends message type "%s", but this message is of type "%s".N) isinstance_FieldDescriptorKeyError is_extensionrcontaining_typer)r extension_handlerrr_VerifyExtensionHandles   r=c Csddddddddd g |d <d S) a Adds a __slots__ entry to dictionary, containing the names of all valid attributes for this message type. Args: message_descriptor: A Descriptor instance describing this message type. dictionary: Class dictionary to which we'll add a '__slots__' entry. _cached_byte_size_cached_byte_size_dirty_fields_unknown_fields_is_present_in_parent _listener_listener_for_children __weakref___oneofs __slots__Nr)message_descriptorrrrrrsrcCs2|jo0|jjo0|jjjo0|jtjko0|jtj kS)N) r:r;r!r"r#typer8 TYPE_MESSAGElabelZLABEL_OPTIONAL)r/rrr_IsMessageSetExtensions   rLcCs |jtjko|jjo|jjjS)N)rIr8rJ message_typer!r" map_entry)r/rrr _IsMapFields rOcCs|jjd}|jtjkS)Nvalue)rMfields_by_namecpp_typer8CPPTYPE_MESSAGE)r/Z value_typerrr_IsMessageMapField s rTcs@jtjkotjj}|s&d}nFjjdkrDjo@j j }n(jodj j dodj j dk}| }t rt j}t jt}nNtrt jj}t jj}n,tjjj|}tjjj|}|_|_t_fdd}|tjjdr.AddDecoderT)rKr8LABEL_REPEATEDr ZIsTypePackablerIr;syntaxr!r"rUHasFieldrOrZ MapEncoderZMapSizerrTrLZMessageSetItemEncoderrVZMessageSetItemSizerr ZTYPE_TO_ENCODERZ TYPE_TO_SIZER_encoder_sizer _DefaultValueConstructorForFieldrYZFIELD_TYPE_TO_WIRE_TYPEZWIRETYPE_LENGTH_DELIMITED)rr]Z is_packablerZZhas_packed_falseZ field_encoderZsizerr`r)rr]r^r_rr%sB            r%cCs8|j}x,t|jD]\}}||ks(t|||<qWdS)N)extensions_by_namelistitemsAssertionError)r rextension_dictextension_nameextension_fieldrrrrUs rcCsHxB|jD]8}t||jtj|x|jD]}t||j|jq(WqWdS)aSets class-level attributes for all enum fields defined in this message. Also exporting a class-level object that can name enum values. Args: descriptor: Descriptor object for this message type. cls: Class we're constructing for this message type. N)Z enum_typessetattrrrZEnumTypeWrappervaluesrV)r r enum_typeZ enum_valuerrrr'\s  r'csvjtjkrtdjjj}tj|d|dt rTfdd}|Stjfdd}|SdS)Nz&map_entry set on non-repeated field %skeyrPcstj|jjjS)N)rZ MessageMaprDrM)r )r/ key_checker value_fieldrrMakeMessageMapDefaultts z:_GetInitializeDefaultForMap..MakeMessageMapDefaultcstj|jjS)N)rZ ScalarMaprDrM)r )r/rr value_checkerrrMakePrimitiveMapDefault{sz<_GetInitializeDefaultForMap..MakePrimitiveMapDefault) rKr8ra ValueErrorrrMrQr GetTypeCheckerrT)r/rQrtrvr)r/rrrursrrXks   rXcstrtSjtjkrvjr:jgkr:tdjjtj kr\j fdd}|St j fdd}|Sjtj krj fdd}|Sfdd }|S) aReturns a function which returns a default value for a field. Args: field: FieldDescriptor object for this field. The returned function has one argument: message: Message instance containing this field, or a weakref proxy of same. That function in turn returns a default value for this field. The default value may refer back to |message| via a weak reference. z/Repeated field default value not empty list: %scstj|jjS)N)rZRepeatedCompositeFieldContainerrDrM)r )r/rrMakeRepeatedMessageDefaultszD_DefaultValueConstructorForField..MakeRepeatedMessageDefaultcstj|jS)N)rZRepeatedScalarFieldContainerrD)r ) type_checkerrrMakeRepeatedScalarDefaultszC_DefaultValueConstructorForField..MakeRepeatedScalarDefaultcs,j}|jjdk r t|n|j|S)N)r& _SetListenerrW_OneofListenerrD)r result)r/rMrrMakeSubMessageDefaults z?_DefaultValueConstructorForField..MakeSubMessageDefaultcsjS)N) default_value)r )r/rrMakeScalarDefaultsz;_DefaultValueConstructorForField..MakeScalarDefault) rOrXrKr8raZhas_default_valuerrwrRrSrMr rx)r/ryr{rrr)r/rMrzrrfs&        rfcCsZtjd}t|jdkrtd|j|fYnX|S)aConvert a string or integer enum value to an integer. If the value is a string, it is converted to the enum value in enum_type with the same name. If the value is not a string, it's returned as-is. (No conversion or bounds-checking is done.) z Enum type %s: unknown label "%s")r7rZ string_typesZvalues_by_namerVr9rwr)rprPrrr_GetIntegerEnumValues  z,_AddInitMethod.._GetIntegerEnumValuec s&d|_t|dk|_i|_i|_f|_d|_tj|_ t ||_ xt |j D]\}}t|dkr~tdj|f|dkrqPjtjkr\j|}jtjkr$trtrx*|D]}||j||qWn |j|n6xb|D],}t|tr|jf|q|jj|qWn,jtjkrFfdd|D}|j|||j<qPjtjkrЈj|}|}t|trj j!f|}y|j|Wn"tk rt"j|YnX||j<qPjtjkrj#|}yt$|||WqPtk rt"j|YqPXqPWdS)NrFz,%s() got an unexpected keyword argument '%s'csg|]}j|qSr)rp).0val)rr/rr sz0_AddInitMethod..init..)%r>rr?r@rFrArBmessage_listener_modNullMessageListenerrC _ListenerrDrhri_GetFieldByNamerrrKr8rarYrRrSrOrT MergeFromupdater7dictaddZ CPPTYPE_ENUMextendrMr&rrprn)selfkwargsr field_valuecopyrqrZnew_val)rrH)r/rinits`               z_AddInitMethod..initN)r1r3r.)rHrrr)rrHrr(s =r(c Cs6y |j|Stk r0td|j|fYnXdS)zReturns a field descriptor by field name. Args: message_descriptor: A Descriptor describing all fields in message. field_name: The name of the field to retrieve. Returns: The field descriptor associated with the field name. z&Protocol message %s has no "%s" field.N)rQr9rwr)rHrrrrrs  rcCs2x|jD]}t||qW|jr.tdd|_dS)z=Adds properties for all fields in this protocol message type.cSst|S)N)_ExtensionDict)rrrr/sz)_AddPropertiesForFields..N)r$_AddPropertiesForField is_extendablepropertyZ Extensions)r rr/rrrr)'s r)cCshtjdkst|jjd}t|||j|jtjkrBt ||n"|j tj krZt ||n t ||dS)a#Adds a public property for a protocol message field. Clients can use this property to get and (in the case of non-repeated scalar fields) directly set the value of a protocol message field. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. _FIELD_NUMBERN)r8Z MAX_CPPTYPErjrupperrnrVrKra_AddPropertiesForRepeatedFieldrRrS*_AddPropertiesForNonRepeatedCompositeField'_AddPropertiesForNonRepeatedScalarField)r/r constant_namerrrr2s     rcsXjt}fdd}d|_d|_fdd}d}t||t|||ddS) aAdds a public property for a "repeated" protocol message field. Clients can use this property to get the value of the field, which will be either a _RepeatedScalarFieldContainer or _RepeatedCompositeFieldContainer (see below). Note that when clients add values to these containers, we perform type-checking in the case of repeated scalar fields, and we also set any necessary "has" bits as a side-effect. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. cs0|jj}|dkr,j|}|jj|}|S)N)r@getrY setdefault)rr)r/rrgetter\s   z._AddPropertiesForRepeatedField..getterNzGetter for %s.cstddS)NzIAssignment not allowed to repeated field "%s" in protocol message object.)AttributeError)r new_value)r5rrsetterosz._AddPropertiesForRepeatedField..setterz/Magic attribute generated for "%s" proto field.)doc)rr6r1r3rnr)r/r property_namerrrr)r/r5rrKs   rc sj}t|}tjjt}jjdk}fdd}d|_d||_ |oXj fddj rfdd }n}d|_d ||_ d |}t ||t |||d dS) aAdds a public property for a nonrepeated, scalar protocol message field. Clients can use this property to get and directly set the value of the field. Note that when the client sets the value of a field by using this property, all necessary "has" bits are set as a side-effect, and we also perform type-checking. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. proto3cs|jjS)N)r@r)r)rr/rrrsz7_AddPropertiesForNonRepeatedScalarField..getterNzGetter for %s.cs@j|}r$| r$|jjdn ||j<|js<|jdS)N) CheckValuer@popr? _Modified)rr)clear_when_set_to_defaultr/rzrr field_setters    z=_AddPropertiesForNonRepeatedScalarField..field_settercs|||jdS)N)_UpdateOneofState)rr)r/rrrrs z7_AddPropertiesForNonRepeatedScalarField..setterzSetter for %s.z/Magic attribute generated for "%s" proto field.)r) rr6r rxrsetr;rbr1r3rWrnr) r/rr5rZ valid_values is_proto3rrrr)rrr/rrzrrws$      rcsXjt}fdd}d|_d|_fdd}d}t||t|||ddS) aNAdds a public property for a nonrepeated, composite protocol message field. A composite field is a "group" or "message" field. Clients can use this property to get the value of the field, but cannot assign to the property directly. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. cs0|jj}|dkr,j|}|jj|}|S)N)r@rrYr)rr)r/rrrs   z:_AddPropertiesForNonRepeatedCompositeField..getterNzGetter for %s.cstddS)NzJAssignment not allowed to composite field "%s" in protocol message object.)r)rr)r5rrrsz:_AddPropertiesForNonRepeatedCompositeField..setterz/Magic attribute generated for "%s" proto field.)r)rr6r1r3rnr)r/rrrrrr)r/r5rrs    rcCsh|j}x2t|jD]"\}}|jd}t|||jqW|jdk rd|jj}|j||_|j ||_ dS)z=Adds properties for all fields in this protocol message type.rN) rgrhrirrnrVfilepool_extensions_by_number_extensions_by_name)r rrkrlrmrrrrrr*s   r*cs0fdd}t|_fdd}t|_dS)Ncs&j|_jjjj|t|dS)N)rr;rrZAddExtensionDescriptorr%)r<)rrrRegisterExtensionsz,_AddStaticMethods..RegisterExtensioncs}|j||S)N)MergeFromString)sr )rrr FromStrings z%_AddStaticMethods..FromString) staticmethodrr)rrrr)rrr+s   r+cCs>|djtjkrt|dS|djtjkr6|djSdSdS)zGiven a (FieldDescriptor, value) tuple from _fields, return true if the value should be included in the list returned by ListFields().rrTN)rKr8raboolrRrSrB)itemrrr _IsPresents   rcCsdd}||_dS)z Helper for _AddMessageMethods().cSs,ddt|jjD}|jddd|S)NcSsg|]}t|r|qSr)r)rrrrrr sz<_AddListFieldsMethod..ListFields..cSs |djS)Nr)rV)rrrrr sz:_AddListFieldsMethod..ListFields..)rq)rhr@risort)rZ all_fieldsrrr ListFields sz(_AddListFieldsMethod..ListFieldsN)r)rHrrrrr_AddListFieldsMethodsrz:Protocol message has no non-repeated submessage field "%s"z/Protocol message has no non-repeated field "%s"cs|jdk}|rtntix@|jD]6}|jtjkr4q"|rN|jtjkrN|j rNq"||j <q"W|szx|j D]}||j <qhWfdd|_ dS)z Helper for _AddMessageMethods().rcsy |}Wn tk r,t|YnXt|tjrdy||j|jStk r`dSXn0|jtj kr|j j |}|dk o|j S||j kSdS)NF) r9rwr7descriptor_modZOneofDescriptorrFrrRr8rSr@rrB)rrr/rP)rc error_msghassable_fieldsrrrc(s    z$_AddHasFieldMethod..HasFieldN) rb_Proto3HasError_Proto2HasErrorr$rKr8rarRrSrWrZoneofsrc)rHrrr/Zoneofr)rcrrr_AddHasFieldMethods     rcsfdd}||_dS)z Helper for _AddMessageMethods().csyj|}Wndtk rry(j|}||jkr@|j|}ndSWn&tk rltdj|fYnXYnX||jkrt|j|dr|j|j|j|=|jj |j d|kr|j|j =|j dS)Nz(Protocol message %s() has no "%s" field.InvalidateIterators) rQr9oneofs_by_namerFrwrr@hasattrrrrWr)rrr/)rHrr ClearField?s$     z(_AddClearFieldMethod..ClearFieldN)r)rHrrr)rHr_AddClearFieldMethod=s !rcCsdd}||_dS)z Helper for _AddMessageMethods().cSs(t||||jkr|j|=|jdS)N)r=r@r)rr<rrrClearExtensiones  z0_AddClearExtensionMethod..ClearExtensionN)r)rrrrr_AddClearExtensionMethodcsrcCsdd}||_dS)z Helper for _AddMessageMethods().cSsXt|||jtjkr$td|j|jtjkrJ|jj |}|dk oH|j S||jkSdS)Nz"%s" is repeated.) r=rKr8rar9rrRrSr@rrB)rr<rPrrr HasExtensionqs    z,_AddHasExtensionMethod..HasExtensionN)r)rrrrr_AddHasExtensionMethodos rcCshddlm}|j}|j}|s"dS|jdd}|jj|}|dkrHdS|j|}|}|j|j |S)atUnpacks Any message and returns the unpacked message. This internal method is different from public Any Unpack method which takes the target message as argument. _InternalUnpackAny method does not have target message type and need to find the message type in descriptor pool. Args: msg: An Any message to be unpacked. Returns: The unpacked message. r)symbol_databaseN/r) google.protobufrZDefaulttype_urlsplitrZFindMessageTypeByNameZ GetPrototypeZParseFromStringrP)msgrfactoryrZ type_namer Z message_classr rrr_InternalUnpackAny}s    rcCsdd}||_dS)z Helper for _AddMessageMethods().cSst|tj s|j|jkrdS||kr*dS|jjtkrVt|}t|}|rV|rV||kS|j|jksjdSt|j }|j t|j }|j ||kS)NFT) r7 message_modZMessagerr_AnyFullTypeNamerrrhrAr)rotherZany_aZany_bZunknown_fieldsZother_unknown_fieldsrrr__eq__s"    z _AddEqualsMethod..__eq__N)r)rHrrrrr_AddEqualsMethodsrcCsdd}||_dS)z Helper for _AddMessageMethods().cSs tj|S)N)rMessageToString)rrrr__str__sz_AddStrMethod..__str__N)r)rHrrrrr _AddStrMethodsrcCsdd}||_dS)z Helper for _AddMessageMethods().cSs tj|S)N)rr)rrrr__repr__sz _AddReprMethod..__repr__N)r)rHrrrrr_AddReprMethodsrcCsdd}||_dS)z Helper for _AddMessageMethods().cSstj|ddjdS)NT)Zas_utf8zutf-8)rrdecode)rrrr __unicode__sz&_AddUnicodeMethod..__unicode__N)r)Zunused_message_descriptorrrrrr_AddUnicodeMethodsrc Cs<ytj|}|||Stk r6tjd|YnXdS)a Returns the number of bytes needed to serialize a non-repeated element. The returned byte count includes space for tag information and any other additional space associated with serializing value. Args: value: Value we're serializing. field_number: Field number of this value. (Since the field number is stored as part of a varint-encoded tag, this has an impact on the total bytes required to serialize the value). field_type: The type of the field. One of the TYPE_* constants within FieldDescriptor. zUnrecognized field type: %dN)r ZTYPE_TO_BYTE_SIZE_FNr9r EncodeError)rPZ field_numberZ field_typefnrrr_BytesForNonRepeatedElements   rcCsdd}||_dS)z Helper for _AddMessageMethods().cSs|js |jSd}|j}|jjrJ|jdj|j}||jdj|j7}nLx"|j D]\}}||j|7}qTWx&|j D]\}}|t |t |7}qvW||_d|_d|j _ |S)NrrqrPF)r?r>rr"rNrQrerqrPrrArrDdirty)rsizer r]rr[ value_bytesrrrByteSizes z$_AddByteSizeMethod..ByteSizeN)r)rHrrrrr_AddByteSizeMethodsrcCsdd}||_dS)z Helper for _AddMessageMethods().c[s8g}|js,tjd|jjdj|jf|jf|S)Nz)Message %s is missing required fields: %s,) IsInitializedrrrrjoinFindInitializationErrorsSerializePartialToString)rrerrorsrrrSerializeToString s z6_AddSerializeToStringMethod..SerializeToStringN)r)rHrrrrr_AddSerializeToStringMethodsrcCs"dd}||_ddd}||_dS)z Helper for _AddMessageMethods().c[st}|j|jf||jS)N)r_InternalSerializewritegetvalue)rroutrrrrszD_AddSerializePartialToStringMethod..SerializePartialToStringNcSs|dkrtj}nt|}|j}|jjrX|jdj||j||jdj||j |nHx"|j D]\}}|j|||qbWx"|j D]\}}||||qWdS)NrqrP) rZ)IsPythonDefaultSerializationDeterministicrrr"rNrQrdrqrPrrA)rZ write_bytesZ deterministicr r]rr[rrrrInternalSerializes     z=_AddSerializePartialToStringMethod..InternalSerialize)N)rr)rHrrrrrr"_AddSerializePartialToStringMethods rcsFdd}||_tjtj|j|jdkfdd}||_dS)z Helper for _AddMessageMethods().cSs|t|}y |j|d||kr&tjdWnNttfk rJtjdYn.tjk rv}ztj|WYdd}~XnX|S)NrzUnexpected end-group tag.zTruncated message.)r_InternalParserZ DecodeError IndexErrorrstructerror)rZ serializedZlengtherrrr8sz2_AddMergeFromStringMethod..MergeFromStringrc s|j|j}|j}x||kr||\}}j|d\}} |dkr|} ||||}|dkrb|S sptjr|s~g}|_|j||| |f|}q||||||}| r|j| qW|S)Nr)NNr)rr@rArrZ&GetPythonProto3PreserveUnknownsDefaultappendr) rbufferposendZ field_dictZunknown_field_listr[Znew_posr\Z field_descZvalue_start_pos)decoders_by_tagr local_ReadTaglocal_SkipFieldrr InternalParseLs,  z0_AddMergeFromStringMethod..InternalParseN)rrZReadTagZ SkipFieldr rbr)rHrrrr)rrrrr_AddMergeFromStringMethod6s  rcs:dd|jDdfdd }||_fdd}||_dS) z[Adds the IsInitialized and FindInitializationError methods to the protocol message class.cSsg|]}|jtjkr|qSr)rKr8ZLABEL_REQUIRED)rr/rrrrksz+_AddIsInitializedMethod..NcsxJD]B}||jks.|jtjkr|j|j r|dk rD|j|jdSqWxt|jjD]\}}|jtjkr\|j tj kr|j j r|j j jrq\xZ|D]&}|js|dk r|j|jdSqWq\|jr\|j r\|dk r|j|jdSq\WdS)aChecks if all required fields of a message are set. Args: errors: A list which, if provided, will be populated with the field paths of all missing required fields. Returns: True iff the specified message has all required fields set. NFT)r@rRr8rSrBrrrhrirKrarMr!r"rNr)rrr/rPelement)required_fieldsrrrns.        z._AddIsInitializedMethod..IsInitializedc s>g}x$D]}|j|js |j|jq Wx |jD]\}}|jtjkr6|jr^d|j}n|j}t |rt |rx@|D]6}||}d||f|j }|fdd|D7}qzWnq6|j tj krxntt|D]6}||}d||f|j }|fdd|D7}qWq6|d|j }|fdd|D7}q6W|S) zFinds required fields which are not initialized. Returns: A list of strings. Each string is a path to an uninitialized field from the top-level message, e.g. "foo.bar[5].baz". z(%s)z%s[%s].csg|] }|qSrr)rr )prefixrrrszM_AddIsInitializedMethod..FindInitializationErrors..z%s[%d].csg|] }|qSrr)rr )rrrrs.csg|] }|qSrr)rr )rrrrs)rcrr rrRr8rSr:rrOrTrrKraranger) rrr/rPrrqrZ sub_errorsi)r)rrrs6       z9_AddIsInitializedMethod..FindInitializationErrors)N)r$rr)rHrrrr)rr_AddIsInitializedMethodgs ' ,rcs&tjtjfdd}|_dS)Ncst|s tdj|jjf||k s,t|j|j}xt|jjD]\}}|j kr|j |}|dkr|j |}|||<|j |qJ|j kr|jr|j |}|dkr|j |}|||<|j |qJ||j|<|jrJ|j|qJW|jr|jsg|_|jj|jdS)NzLParameter to MergeFrom() must be instance of same class: expected %s got %s.)r7rr0rrjrr@rhrirKrrYrrRrBrWrrAr)rrr$r/rPr)rSrarrrrs8           z&_AddMergeFromMethod..MergeFrom)r8rarSr)rrr)rSrarr_AddMergeFromMethods%rcsfdd}||_dS)Nc s`yj|}Wn tk r.td|YnX|jj|d}|dk rX|j|jrX|jSdSdS)zDReturns the name of the currently set field inside a oneof, or None.z)Protocol message has no oneof "%s" field.N)rr9rwrFrrcr)rZ oneof_namer/Z nested_field)rHrr WhichOneofsz(_AddWhichOneofMethod..WhichOneof)r)rHrrr)rHr_AddWhichOneofMethods rcCsdd}||_dS)NcSst|f|jfS)N)rI __getstate__)rrrr __reduce__sz$_AddReduceMethod..__reduce__)r )rr rrr_AddReduceMethodsr!cCsi|_f|_i|_|jdS)N)r@rArFr)rrrr_Clear sr"cCsXg|_xL|jD]@\}}|jtjkr|jtjkrHx|D] }|jq6Wq|jqWdS)N)rArrRr8rSrKraDiscardUnknownFields)rr/rPZ sub_messagerrr_DiscardUnknownFieldss   r$cCs|dkrtj|_n||_dS)N)rrrC)rZlistenerrrrr|s r|cCst||t||t|||jr4t|t|t||t||t||t ||t ||t ||t ||t ||t||t|t||t|t|_t|_t|_dS)z3Adds implementations of all Message methods to cls.N)rrrrrrrrrrrrrrrrrr!r"ZClearr$r#r|)rHrrrrr,$s*             r,cCs&dd}dd}||_||_||_dS)z5Adds implementation of private helper methods to cls.cSs(|js$d|_d|j_d|_|jjdS)zwSets the _cached_byte_size_dirty bit to true, and propagates this to our listener iff this was a state change. TN)r?rDrrBrCModified)rrrrr%As z*_AddPrivateHelperMethods..ModifiedcSs0|jj|j|}||k r,|j|=||j|j<dS)zSets field as the active field in its containing oneof. Will also delete currently active field in the oneof, if it is different from the argument. Does not mark the message as modified. N)rFrrWr@)rr/Z other_fieldrrrrPsz3_AddPrivateHelperMethods.._UpdateOneofStateN)rZ SetInParentr)rHrr%rrrrr->s  r-c@s eZdZdZddZddZdS)ra0MessageListener implementation that a parent message registers with its child message. In order to support semantics like: foo.bar.baz.qux = 23 assert foo.HasField('bar') ...child objects must have back references to their parents. This helper class is at the heart of this support. cCs*t|tjr||_n tj||_d|_dS)zArgs: parent_message: The message whose _Modified() method we should call when we receive Modified() messages. FN)r7weakref ProxyType_parent_message_weakrefproxyr)rparent_messagerrrr.ns  z_Listener.__init__c Cs2|jr dSy|jjWntk r,YnXdS)N)rr(rReferenceError)rrrrr%s z_Listener.ModifiedN)r0r1r2r3r.r%rrrrr`s rcs,eZdZdZfddZfddZZS)r}zCSpecial listener implementation for setting composite oneof fields.cstt|j|||_dS)zArgs: parent_message: The message whose _Modified() method we should call when we receive Modified() messages. field: The descriptor of the field being set in the parent message. N)rr}r._field)rr*r/)rrrr.sz_OneofListener.__init__c s:y |jj|jtt|jWntk r4YnXdS)zEAlso updates the state of the containing oneof in the parent message.N)r(rr,rr}r%r+)r)rrrr%s z_OneofListener.Modified)r0r1r2r3r.r%r4rr)rrr}s r}c@sPeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ dS)rzDict-like container for supporting an indexable "Extensions" field on proto instances. Note that in all cases we expect extension handles to be FieldDescriptors. cCs ||_dS)zMextended_message: Message instance for which we are the Extensions dict. N)_extended_message)rZextended_messagerrrr.sz_ExtensionDict.__init__c Cst|j||jjj|}|dk r&|S|jtjkr@|j|j}nF|jtj kr|j j }y|j |jj Wqtk r|YqXn|jS|jjj||}|S)z8Returns the current value of the given extension handle.N)r=r-r@rrKr8rarYrRrSrMr&r|rDr+rr)rr<r~rrr __getitem__s     z_ExtensionDict.__getitem__cCsHt||jsdS|jj}|jj}dd|D}dd|D}||kS)NFcSsg|]}|jr|qSr)r:)rr/rrrrsz)_ExtensionDict.__eq__..cSsg|]}|jr|qSr)r:)rr/rrrrs)r7rr-r)rrZ my_fieldsZ other_fieldsrrrrs   z_ExtensionDict.__eq__cCs ||k S)Nr)rrrrr__ne__sz_ExtensionDict.__ne__cCs tddS)Nzunhashable object)r)rrrr__hash__sz_ExtensionDict.__hash__cCs\t|j||jtjks$|jtjkr2td|jt j |}|j ||jj |<|jj dS)zlIf extension_handle specifies a non-repeated, scalar extension field, sets the value of that field. zKCannot assign to extension "%s" because it is a repeated or composite type.N)r=r-rKr8rarRrSrrr rxrr@r)rr<rPrzrrr __setitem__s     z_ExtensionDict.__setitem__cCs|jjj|dS)zTries to find a known extension with the specified name. Args: name: Extension full name. Returns: Extension field descriptor. N)r-rr)rrrrr_FindExtensionByNames z#_ExtensionDict._FindExtensionByNamecCs|jjj|dS)zTries to find a known extension with the field number. Args: number: Extension field number. Returns: Extension field descriptor. N)r-rr)rrVrrr_FindExtensionByNumbers z%_ExtensionDict._FindExtensionByNumberN) r0r1r2r3r.r.rr/r0r1r2r3rrrrrs!  r)Rr3 __author__iorr rr&rZgoogle.protobuf.internalrrrrrrrr r r rr rr rrZFieldDescriptorr8rrIrr6r=rrLrOrTr%rr'rXrfrr(rr)rrrrr*r+rrrrrrrrrrrrrrrrrrrrrr!r"r$r|r,r-objectrr}rrrrr1s             kC7 T ,8,  *& ( 1_, ".PK!+BBGprotobuf/internal/__pycache__/message_set_extensions_pb2.cpython-36.pycnu[3 h!@sxddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZdZejdddddddddddddddedZejdddedggggeje jeddd dAggddd Zejd!d"dedejd#d$dd%d&ddddddddddedgejd'd(dd)dddddddddddedgggddd ggd*d+d Zejd,d-dedejd.d/dd0d1d1dded2jd3ddddddedgejd'd4dd5dddddddddddedgggddd ggd6d7d Zejd8d9dedejd:d;ddd Zeejd<eejd!<eejd,<eejd8<eejd<ejee jdej fe!ed?d@Z"ej#e"e jd!ej fe!ed?d@Z$ej#e$e jd,ej fe!ed?d@Z%ej#e%e jd8ej fe!ed?d@Z&ej#e&ee_'e"j(eeejd'_'e"j(ejd'eejd'_'e"j(ejd'de_)eje jede_*dS)BNcCs|S)N)xrr0/usr/lib/python3.6/message_set_extensions_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z5google/protobuf/internal/message_set_extensions.protozgoogle.protobuf.internalZproto2u} 5google/protobuf/internal/message_set_extensions.protogoogle.protobuf.internal" TestMessageSet*ÿÿÿÿ:"¥ TestMessageSetExtension1 i (2~ message_set_extension(.google.protobuf.internal.TestMessageSet«ÿö. ( 22.google.protobuf.internal.TestMessageSetExtension1"§ TestMessageSetExtension2 str ( 2~ message_set_extension(.google.protobuf.internal.TestMessageSetÊÿö. ( 22.google.protobuf.internal.TestMessageSetExtension2"( TestMessageSetExtension3 text# ( : message_set_extension3(.google.protobuf.internal.TestMessageSetßÿö. ( 22.google.protobuf.internal.TestMessageSetExtension3)namepackagesyntaxZ serialized_pbi߿message_set_extension3z/google.protobuf.internal.message_set_extension3 FT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileTestMessageSetz'google.protobuf.internal.TestMessageSetzSq)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endTestMessageSetExtension1z1google.protobuf.internal.TestMessageSetExtension1iz3google.protobuf.internal.TestMessageSetExtension1.iZmessage_set_extensionzGgoogle.protobuf.internal.TestMessageSetExtension1.message_set_extensionitiTestMessageSetExtension2z1google.protobuf.internal.TestMessageSetExtension2strz5google.protobuf.internal.TestMessageSetExtension2.str zutf-8zGgoogle.protobuf.internal.TestMessageSetExtension2.message_set_extensioniʿiiTestMessageSetExtension3z1google.protobuf.internal.TestMessageSetExtension3textz6google.protobuf.internal.TestMessageSetExtension3.text#iiz3google.protobuf.internal.message_set_extensions_pb2) DESCRIPTOR __module__)rr)+sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr0Z#MESSAGE_SET_EXTENSION3_FIELD_NUMBERZFieldDescriptorrZ DescriptorZ _ParseOptionsZMessageOptionsZ_TESTMESSAGESETZ_TESTMESSAGESETEXTENSION1decodeZ_TESTMESSAGESETEXTENSION2Z_TESTMESSAGESETEXTENSION3Zmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager#r(r-rZRegisterExtensionZ has_optionsZ_optionsrrrrs(                             PK!ۜ >protobuf/internal/__pycache__/enum_type_wrapper.cpython-36.pycnu[3 h @sdZdZGdddeZdS)zA simple wrapper around enum types to expose utility functions. Instances are created as properties with the same name as the enum they wrap on proto classes. For usage, see: reflection_test.py z"rabsatt@google.com (Kevin Rabsatt)c@sDeZdZdZdZddZddZddZd d Zd d Z d dZ dS)EnumTypeWrapperz/A utility for finding the names of enum values.NcCs||_||_dS)z-Inits EnumTypeWrapper with an EnumDescriptor.N) _enum_type DESCRIPTOR)selfZ enum_typer'/usr/lib/python3.6/enum_type_wrapper.py__init__.szEnumTypeWrapper.__init__cCs2||jjkr|jj|jStd|jj|fdS)z6Returns a string containing the name of an enum value.z(Enum %s has no name defined for value %dN)rZvalues_by_numbername ValueError)rnumberrrrName3s zEnumTypeWrapper.NamecCs2||jjkr|jj|jStd|jj|fdS)z6Returns the value coresponding to the given enum name.z(Enum %s has no value defined for name %sN)rZvalues_by_namer r r)rrrrrValue:s zEnumTypeWrapper.ValuecCsdd|jjDS)z~Return a list of the string names in the enum. These are returned in the order they were defined in the .proto file. cSsg|] }|jqSr)r).0value_descriptorrrr Gsz(EnumTypeWrapper.keys..)rvalues)rrrrkeysAszEnumTypeWrapper.keyscCsdd|jjDS)zReturn a list of the integer values in the enum. These are returned in the order they were defined in the .proto file. cSsg|] }|jqSr)r )r rrrrrPsz*EnumTypeWrapper.values..)rr)rrrrrJszEnumTypeWrapper.valuescCsdd|jjDS)zReturn a list of the (name, value) pairs of the enum. These are returned in the order they were defined in the .proto file. cSsg|]}|j|jfqSr)rr )r rrrrrXsz)EnumTypeWrapper.items..)rr)rrrritemsSszEnumTypeWrapper.items) __name__ __module__ __qualname____doc__rrr r rrrrrrrr)s  rN)r __author__objectrrrrr$sPK!EWcc6protobuf/internal/__pycache__/test_util.cpython-36.pycnu[3 h @sdZdZddlZddlZddlZddlmZddlmZye Wne k rXe Z YnXddZ dd Z d d Zd d ZddZddZddZddZddZddZddZddZGdddejZdS) zpUtilities for Python proto2 tests. This is intentionally modeled on C++ code in //google/protobuf/test_util.*. z#robinson@google.com (Will Robinson)N)unittest_import_pb2) unittest_pb2cCs |jjdkS)NZproto2)Z DESCRIPTORZsyntax)messager/usr/lib/python3.6/test_util.pyIsProto27srcCsd|_d|_d|_d|_d|_d|_d|_d|_d |_d |_ d |_ d |_ d |_ d|_ d|_t|rjd|j_d|j_d|j_d|j_d|j_tjj|_tj|_t|rt j!|_"d|_#d|_$|j%j&d|j'j&d|j(j&d|j)j&d|j*j&d|j+j&d|j,j&d|j-j&d|j.j&d|j/j&d |j0j&d!|j1j&d"|j2j&d |j3j&d#|j4j&d$t|rd%|j5j6_d&|j7j6_d'|j8j6_d(|j9j6_d)|j:j6_|j;j&tjj<|j=j&tj>t|r|j?j&t j@|jAj&d*|jBj&d+|j%j&d,|j'j&d,|j(j&d,|j)j&d,|j*j&d,|j+j&d,|j,j&d,|j-j&d,|j.j&d,|j/j&d,|j0j&d,|j1j&d,|j2j&d |j3j&d-|j4j&d.d/|j%d0<d1|j'd0<d2|j(d0<d3|j)d0<d4|j*d0<d5|j+d0<d6|j,d0<d7|j-d0<d8|j.d0<d9|j/d0<d:|j0d0<d;|j1d0<d<|j2d0<d=|j3d0<d>|j4d0<t|r`d?|j5j6_d@|j7j6_dA|j8j6_dB|j9j6_dC|j:j6_|j;j&tjj<tjj|j;d0<|j=j&tjt|r|j?j&t j!|jAj&dD|jBj&dEt|rvdF|_CdG|_DdH|_EdI|_FdJ|_GdK|_HdL|_IdM|_JdN|_KdO|_LdP|_MdQ|_Nd<|_OdR|_PdS|_QtjjR|_StjT|_Ut jV|_WdT|_XdU|_YdV|_ZdW|j[_dX|_\dY|_]dZS)[zmSets every non-lazy field in the message to a unique value. Args: message: A TestAllTypes instance. efghijklmnopT115s116uvwx~124125215s216224225r00i-i.i/i0i1i2i3i4i5i6i7i8F315s316i=i>i?i@iG324325iiiiiiiiiiii415s416424425iYiZ603s604N)^optional_int32optional_int64optional_uint32optional_uint64optional_sint32optional_sint64optional_fixed32optional_fixed64optional_sfixed32optional_sfixed64optional_floatoptional_double optional_booloptional_stringoptional_bytesr optionalgroupaoptional_nested_messagebboptional_foreign_messagecoptional_import_messagedoptional_public_import_messageer TestAllTypesBAZoptional_nested_enum FOREIGN_BAZoptional_foreign_enumr IMPORT_BAZoptional_import_enumoptional_string_piece optional_cordrepeated_int32appendrepeated_int64repeated_uint32repeated_uint64repeated_sint32repeated_sint64repeated_fixed32repeated_fixed64repeated_sfixed32repeated_sfixed64repeated_floatrepeated_double repeated_boolrepeated_stringrepeated_bytes repeatedgroupaddrepeated_nested_messagerepeated_foreign_messagerepeated_import_messagerepeated_lazy_messagerepeated_nested_enumBARrepeated_foreign_enum FOREIGN_BARrepeated_import_enum IMPORT_BARrepeated_string_piece repeated_cord default_int32 default_int64default_uint32default_uint64default_sint32default_sint64default_fixed32default_fixed64default_sfixed32default_sfixed64 default_floatdefault_double default_booldefault_string default_bytesFOOdefault_nested_enum FOREIGN_FOOdefault_foreign_enum IMPORT_FOOdefault_import_enumZdefault_string_pieceZ default_cordZ oneof_uint32Zoneof_nested_messageZ oneof_stringZ oneof_bytes)rrrrSetAllNonLazyFields;s                                                                   rcCst|d|j_dS)N)roptional_lazy_messagerL)rrrr SetAllFieldssrcCsb|j}t}t}d||j<d||j<d||j<d||j<d||j<d||j<d||j <d||j <d ||j <d ||j <d ||j <d ||j<d ||j<d||j<d||j<d||j_d||j_d||j_d||j_d||j_d||j_|jj||j<|jj||j<|j ||j!<|j"||j#<d||j$<d||j%<||j&j'd||j(j'd||j)j'd||j*j'd||j+j'd||j,j'd||j-j'd||j.j'd||j/j'd ||j0j'd!||j1j'd"||j2j'd#||j3j'd ||j4j'd$||j5j'd%d&||j6j7_d'||j8j7_d(||j9j7_d)||j:j7_d*||j;j7_||j<j'|jj=||j>j'|j?||j@j'|jA||jBj'd+||jCj'd,||j&j'd-||j(j'd.||j)j'd/||j*j'd0||j+j'd1||j,j'd2||j-j'd3||j.j'd4||j/j'd5||j0j'd6||j1j'd7||j2j'd8||j3j'd9||j4j'd:||j5j'd;d<||j6j7_d=||j8j7_d>||j9j7_d?||j:j7_d@||j;j7_||j<j'|jj||j>j'|j ||j@j'|j"||jBj'dA||jCj'dBdC||jD<dD||jE<dE||jF<dF||jG<dG||jH<dH||jI<dI||jJ<dJ||jK<dK||jL<dL||jM<dM||jN<dN||jO<d9||jP<dO||jQ<dP||jR<|jjS||jT<|jU||jV<|jW||jX<dQ||jY<dR||jZ<dS||j[<dT||j\_dU||j]<dV||j^<dWS)XzzSets every extension in the message to a unique value. Args: message: A unittest_pb2.TestAllExtensions instance. rr r r r r rrrrrrTrs116rrrrrrrrrrrrr r!r"r#r$r%r&r'r(s216r)r*r+r,r-r.r/i-i.i/i0i1i2i3i4i5i6i7i8Fr3s316i=i>i?i@iGr4r5iiiiiiiiiiiir6s416r7r8iYiZr9s604N)_ ExtensionsrrZoptional_int32_extensionZoptional_int64_extensionZoptional_uint32_extensionZoptional_uint64_extensionZoptional_sint32_extensionZoptional_sint64_extensionZoptional_fixed32_extensionZoptional_fixed64_extensionZoptional_sfixed32_extensionZoptional_sfixed64_extensionZoptional_float_extensionZoptional_double_extensionZoptional_bool_extensionZoptional_string_extensionZoptional_bytes_extensionZoptionalgroup_extensionrJZ!optional_nested_message_extensionrLZ"optional_foreign_message_extensionrNZ!optional_import_message_extensionrPZ(optional_public_import_message_extensionrRZoptional_lazy_message_extensionrSrTZoptional_nested_enum_extensionrVZoptional_foreign_enum_extensionrXZoptional_import_enum_extensionZoptional_string_piece_extensionZoptional_cord_extensionZrepeated_int32_extensionr]Zrepeated_int64_extensionZrepeated_uint32_extensionZrepeated_uint64_extensionZrepeated_sint32_extensionZrepeated_sint64_extensionZrepeated_fixed32_extensionZrepeated_fixed64_extensionZrepeated_sfixed32_extensionZrepeated_sfixed64_extensionZrepeated_float_extensionZrepeated_double_extensionZrepeated_bool_extensionZrepeated_string_extensionZrepeated_bytes_extensionZrepeatedgroup_extensionrmZ!repeated_nested_message_extensionZ"repeated_foreign_message_extensionZ!repeated_import_message_extensionZrepeated_lazy_message_extensionZrepeated_nested_enum_extensionrsZrepeated_foreign_enum_extensionruZrepeated_import_enum_extensionrwZrepeated_string_piece_extensionZrepeated_cord_extensionZdefault_int32_extensionZdefault_int64_extensionZdefault_uint32_extensionZdefault_uint64_extensionZdefault_sint32_extensionZdefault_sint64_extensionZdefault_fixed32_extensionZdefault_fixed64_extensionZdefault_sfixed32_extensionZdefault_sfixed64_extensionZdefault_float_extensionZdefault_double_extensionZdefault_bool_extensionZdefault_string_extensionZdefault_bytes_extensionrZdefault_nested_enum_extensionrZdefault_foreign_enum_extensionrZdefault_import_enum_extensionZdefault_string_piece_extensionZdefault_cord_extensionZoneof_uint32_extensionZoneof_nested_message_extensionZoneof_string_extensionZoneof_bytes_extension)r extensionspb2Z import_pb2rrrSetAllExtensionss                                               rcCs.d|_d|_d|_d|jtj<d|jtj<dS)zSets every field and extension in the message to a unique value. Args: message: A unittest_pb2.TestAllExtensions message. r2foog?barN)my_int my_stringmy_floatrrmy_extension_intmy_extension_string)rrrrSetAllFieldsAndExtensionsms  rcCstj}tj}g}tj}d|_|j|j|jd|j|<|j|j|jd|_ |j|j|jd|j|<|j|j|jd|_ |j|j|jdj |}||krt d||fdS) zEnsures that serialized is the serialization we expect for a message filled with SetAllFieldsAndExtensions(). (Specifically, ensures that the serialization is in canonical, tag-number order). r2rrrg?zExpected %r, found %rN) rrrZTestFieldOrderingsrr]ZSerializeToStringZClearrrrjoin ValueError)Z serializedrrZexpected_stringsrZexpectedrrr#ExpectAllFieldsAndExtensionsInOrderzs,   rcCs |j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd |j|jd |j|jd |j|jd |j|jd |j|jd|j|jdt|r |j|jd|j|jd|j|jd|j|jd|j|jjd|j|jjd|j|jjd|j|jjd|j|jd|j|jdt|r|j|jd|j|jd|j|jd|jd|j|jd|j |jd|j |jd |j |jd!|j |jd"|j |jd#|j|jd$|j|jd%|j|jd&|j|jd'|j|jd(|j|jd)|j|jd*|j|jd+|jt|r|jd,|jj|jd-|jj|jd.|jj|jd/|jj|jd0|jj|jd1|jj|jtjj |j!|jtj"|j#t|rT|jt$j%|j&|jd2t'|j(|jd2t'|j)|jd2t'|j*|jd2t'|j+|jd2t'|j,|jd2t'|j-|jd2t'|j.|jd2t'|j/|jd2t'|j0|jd2t'|j1|jd2t'|j2|jd2t'|j3|jd2t'|j4|jd2t'|j5|jd2t'|j6t|r~|jd2t'|j7|jd2t'|j8|jd2t'|j9|jd2t'|j:|jd2t'|j;|jd2t'|j<t|r|jd2t'|j=|jd2t'|j>|jd2t'|j?|jd3|j(d4|jd5|j)d4|jd6|j*d4|jd7|j+d4|jd8|j,d4|jd9|j-d4|jd:|j.d4|jd;|j/d4|jd<|j0d4|jd=|j1d4|jd>|j2d4|jd?|j3d4|jd)|j4d4|jd@|j5d4|jdA|j6d4t|rD|jdB|j7d4j|jdC|j8d4j|jdD|j9d4j|jdE|j:d4j|jdF|j@d4j|jtjjA|j;d4|jtjB|jr?r@rArBrCrDrErFrGrHrIrKrMrOrJrLrNrPrUrWrYrZr[rr r r r r rrrrrrTrs116rrrrrrrrrrrr r!r"r#r$r%r&r'r(s216r)r*r+r,r-i-r2i.i/i0i1i2i3i4i5i6i7i8Fr3s316i=i>i?i@iGrzr{r|r}r~rrrrrrrrrrrrriiiiiiiiiiiir6s416N)YZ assertTrueZHasFieldrrIrKrMrOZ assertEqualr:r;r<r=r>r?r@rArBrCrDrErFrGrHrJrLrNrPrQrRrrrSrTrUrVrWrrXrYlenr\r^r_r`rarbrcrdrerfrgrhrirjrkrlrnrorprrrtrvrxryrqrsrurwrzr{r|r}r~rrrrrrrrrrrrrrrr)Z test_caserrrrExpectAllFieldsSetsj                     rcCsd}xNtjj|rRtjjtjj|drBtjj|d|}t|dStjj|d}qWd}tjj|d|}tjj|r~t|dStddS) zFFinds the given golden file and returns a file object representing it..zsrc/google/protobufzsrc/google/protobuf/testdatarbz..z'third_party/py/google/protobuf/testdatazCould not find golden files. This test must be run from within the protobuf source package so that it can read test data files from the C++ source tree.N)ospathexistsropen RuntimeError)filenamer full_pathrrr GoldenFileis    rc Cst| }|jSQRXdS)z5Finds the given golden file and returns its contents.N)rread)rfrrrGoldenFileDatas rcCs|jjddg|jjddg|jjddg|jjddg|jjd d g|jjd d g|jjd dg|jjddg|j jddg|j jddg|j jddg|j jddg|j jddg|jjtjtjgdS)zgSets every field in the message to a unique value. Args: message: A TestPackedTypes instance. iYiiZii[ii\ii]ii^ii_ii`iiaiibig@g8@g @g@@TFN)Z packed_int32extendZ packed_int64Z packed_uint32Z packed_uint64Z packed_sint32Z packed_sint64Zpacked_fixed32Zpacked_fixed64Zpacked_sfixed32Zpacked_sfixed64Z packed_floatZ packed_doubleZ packed_boolZ packed_enumrrurV)rrrrSetAllPackedFieldss rcCs*|j}t}||jjddg||jjddg||jjddg||jjddg||jjd d g||jjd d g||j jd dg||j jddg||j jddg||j jddg||j jddg||jjddg||jjddg||jjtjtjgdS)z}Sets every extension in the message to a unique value. Args: message: A unittest_pb2.TestPackedExtensions instance. iYiiZii[ii\ii]ii^ii_ii`iiaiibig@g8@g @g@@TFN)rrZpacked_int32_extensionrZpacked_int64_extensionZpacked_uint32_extensionZpacked_uint64_extensionZpacked_sint32_extensionZpacked_sint64_extensionZpacked_fixed32_extensionZpacked_fixed64_extensionZpacked_sfixed32_extensionZpacked_sfixed64_extensionZpacked_float_extensionZpacked_double_extensionZpacked_bool_extensionZpacked_enum_extensionrurV)rrrrrrSetAllPackedExtensionss"rcCs|jjddg|jjddg|jjddg|jjddg|jjd d g|jjd d g|jjd dg|jjddg|j jddg|j jddg|j jddg|j jddg|j jddg|jjtjtjgdS)zvSets every field in the message to a unique value. Args: message: A unittest_pb2.TestUnpackedTypes instance. iYiiZii[ii\ii]ii^ii_ii`iiaiibig@g8@g @g@@TFN)Zunpacked_int32rZunpacked_int64Zunpacked_uint32Zunpacked_uint64Zunpacked_sint32Zunpacked_sint64Zunpacked_fixed32Zunpacked_fixed64Zunpacked_sfixed32Zunpacked_sfixed64Zunpacked_floatZunpacked_doubleZ unpacked_boolZ unpacked_enumrrurV)rrrrSetAllUnpackedFieldss rc@sZeZdZdZdTddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdHZ&dJdKZ'dLdMZ(dNdOZ)dPdQZ*dRdSZ+dS)UNonStandardIntegeraAn integer object that does not subclass int. This is used to verify that both C++ and regular proto systems can handle integer others than int and long and that they handle them in predictable ways. NonStandardInteger is the minimal legal specification for a custom Integral. As such, it does not support 0 < x < 5 and it is not hashable. Note: This is added here instead of relying on numpy or a similar library with custom integers to limit dependencies. NcCs0t|tjstt|tr |j}||_||_dS)N) isinstancenumbersIntegralAssertionErrorrvalerror_string_on_conversion)selfrrrrr__init__s  zNonStandardInteger.__init__cCs|jrt|jt|jS)N)rrintr)rrrr__long__s zNonStandardInteger.__long__cCsttj|jS)N)roperatorabsr)rrrr__abs__szNonStandardInteger.__abs__cCsttj|j|S)N)rrrmr)ryrrr__add__szNonStandardInteger.__add__cCsttj|j|S)N)rrdivr)rrrrr__div__szNonStandardInteger.__div__cCstj|j|S)N)reqr)rrrrr__eq__szNonStandardInteger.__eq__cCsttj|j|S)N)rrfloordivr)rrrrr __floordiv__szNonStandardInteger.__floordiv__cCsttj|j|S)N)rrtruedivr)rrrrr __truediv__szNonStandardInteger.__truediv__cCsttj|jS)N)rrinvertr)rrrr __invert__szNonStandardInteger.__invert__cCsttj|j|S)N)rrmodr)rrrrr__mod__szNonStandardInteger.__mod__cCsttj|j|S)N)rrmulr)rrrrr__mul__szNonStandardInteger.__mul__cCsttj|jS)N)rrnegr)rrrr__neg__szNonStandardInteger.__neg__cCsttj|jS)N)rrposr)rrrr__pos__ szNonStandardInteger.__pos__cCsttj|j|S)N)rrpowr)rrrrr__pow__ szNonStandardInteger.__pow__cCs t|jS)N)rr)rrrr __trunc__szNonStandardInteger.__trunc__cCsttj||jS)N)rrrmr)rrrrr__radd__szNonStandardInteger.__radd__cCsttj||jS)N)rrrr)rrrrr__rdiv__szNonStandardInteger.__rdiv__cCsttj||jS)N)rrrr)rrrrr__rmod__szNonStandardInteger.__rmod__cCsttj||jS)N)rrrr)rrrrr__rmul__szNonStandardInteger.__rmul__cCsttj||jS)N)rrrr)rrrrr__rpow__szNonStandardInteger.__rpow__cCsttj||jS)N)rrrr)rrrrr __rfloordiv__!sz NonStandardInteger.__rfloordiv__cCsttj||jS)N)rrrr)rrrrr __rtruediv__$szNonStandardInteger.__rtruediv__cCsttj|j|S)N)rrlshiftr)rrrrr __lshift__'szNonStandardInteger.__lshift__cCsttj|j|S)N)rrrshiftr)rrrrr __rshift__*szNonStandardInteger.__rshift__cCsttj||jS)N)rrrr)rrrrr __rlshift__-szNonStandardInteger.__rlshift__cCsttj||jS)N)rrrr)rrrrr __rrshift__0szNonStandardInteger.__rrshift__cCst|tr|j}tj|j|S)N)rrrrle)rrrrr__le__3s zNonStandardInteger.__le__cCst|tr|j}tj|j|S)N)rrrrlt)rrrrr__lt__8s zNonStandardInteger.__lt__cCsttj|j|S)N)rrand_r)rrrrr__and__=szNonStandardInteger.__and__cCsttj|j|S)N)rror_r)rrrrr__or__@szNonStandardInteger.__or__cCsttj|j|S)N)rrxorr)rrrrr__xor__CszNonStandardInteger.__xor__cCsttj||jS)N)rrrr)rrrrr__rand__FszNonStandardInteger.__rand__cCsttj||jS)N)rrrr)rrrrr__ror__IszNonStandardInteger.__ror__cCsttj||jS)N)rrrr)rrrrr__rxor__LszNonStandardInteger.__rxor__cCs|jS)N)r)rrrr__bool__OszNonStandardInteger.__bool__cCs|jS)N)r)rrrrrRscCs|S)Nr)rrrr__ceil__UszNonStandardInteger.__ceil__cCs|S)Nr)rrrr __floor__XszNonStandardInteger.__floor__cCs|jrt|jt|jS)N)rrrr)rrrr__int__[s zNonStandardInteger.__int__cCs|S)Nr)rrrr __round__`szNonStandardInteger.__round__cCs d|jS)NzNonStandardInteger(%s))r)rrrr__repr__cszNonStandardInteger.__repr__)N),__name__ __module__ __qualname____doc__rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsT  r)r __author__rrZos.pathrZgoogle.protobufrrr NameErrorZlongrrrrrrrrrrrrrrrrrr#s4     RPK!pOO=protobuf/internal/__pycache__/containers.cpython-36.opt-1.pycnu[3 hQ@sdZdZddlZddlZejddkr`GdddeZGdddeZejjeejjenejZGd d d eZ Gd d d e Z ej je Gd dde Z GdddeZ GdddeZdS)aContains container classes to represent different protocol buffer types. This file defines container classes which represent categories of protocol buffer field types which need extra maintenance. Currently these categories are: - Repeated scalar fields - These are all repeated fields which aren't composite (e.g. they are of simple types like int32, string, etc). - Repeated composite fields - Repeated fields which are composite. This includes groups and nested messages. zpetar@google.com (Petar Petrov)Nc@sfeZdZfZdddZddZddZdd Zd d Zd d Z ddZ ddZ dZ ddZ ddZdS)MappingNc Cs"y||Stk r|SXdS)N)KeyError)selfkeydefaultr /usr/lib/python3.6/containers.pygetGsz Mapping.getc Cs*y ||Wntk r dSXdSdS)NFT)r)rrrrr __contains__Ms  zMapping.__contains__cCst|S)N)iter)rrrr iterkeysUszMapping.iterkeysccsx|D]}||VqWdS)Nr)rrrrr itervaluesXs zMapping.itervaluesccs x|D]}|||fVqWdS)Nr)rrrrr iteritems\s zMapping.iteritemscCst|S)N)list)rrrr keys`sz Mapping.keyscsfddDS)Ncsg|]}||fqSrr).0r)rrr dsz!Mapping.items..r)rr)rr itemscsz Mapping.itemscsfddDS)Ncsg|] }|qSrr)rr)rrr rgsz"Mapping.values..r)rr)rr valuesfszMapping.valuescCs0t|tjstStt|jtt|jkS)N) isinstance collectionsrNotImplementeddictrr)rotherrrr __eq__ls zMapping.__eq__cCs ||k S)Nr)rrrrr __ne__qszMapping.__ne__)N)__name__ __module__ __qualname__ __slots__r r r rrrrr__hash__rrrrrr rDs rc@sDeZdZfZeZefddZddZddZddZ d d d Z d S) MutableMappingc Cs<y ||}Wn tk r,||jkr(|SX||=|SdS)N)r_MutableMapping__marker)rrrvaluerrr popys  zMutableMapping.popc Cs@ytt|}Wntk r(tYnX||}||=||fS)N)nextr StopIterationr)rrr$rrr popitems zMutableMapping.popitemc Cs,yx |jqWWntk r&YnXdS)N)r(r)rrrr clears zMutableMapping.clearcOst|dkr tdjt|n |s,td|d}t|dkrH|dnf}t|trrxb|D]}||||<q\WnHt|drxszBaseContainer.sortN) rrr__doc__r r9r:r;rr!r=r>rrrr r5s r5cseZdZdZdgZfddZddZddZd d Zd d Z d dZ dddZ ddZ ddZ ddZddZddZddZZS) RepeatedScalarFieldContainerzGSimple, type-checked, list-like container for holding repeated scalars. _type_checkercstt|j|||_dS)a, Args: message_listener: A MessageListener implementation. The RepeatedScalarFieldContainer will call this object's Modified() method when it is modified. type_checker: A type_checkers.ValueChecker instance to run on elements inserted into this container. N)superrAr9rB)rr8Z type_checker) __class__rr r9s z%RepeatedScalarFieldContainer.__init__cCs*|jj|jj||jjs&|jjdS)z6Appends an item to the list. Similar to list.append().N)r7appendrB CheckValuer6dirtyModified)rr$rrr rEsz#RepeatedScalarFieldContainer.appendcCs,|jj||jj||jjs(|jjdS)zEInserts the item at the specified position. Similar to list.insert().N)r7insertrBrFr6rGrH)rrr$rrr rIsz#RepeatedScalarFieldContainer.insertc sh|dkr dSy t|}Wntk r6|s0dSYnXfdd|D}|rZjj|jjdS)zBExtends by appending the given iterable. Similar to list.extend().Ncsg|]}jj|qSr)rBrF)relem)rrr rsz7RepeatedScalarFieldContainer.extend..)r r-r7extendr6rH)relem_seqZ elem_seq_iter new_valuesr)rr rKs  z#RepeatedScalarFieldContainer.extendcCs|jj|j|jjdS)zAppends the contents of another repeated field of the same type to this one. We do not check the types of the individual fields. N)r7rKr6rH)rrrrr MergeFromsz&RepeatedScalarFieldContainer.MergeFromcCs|jj||jjdS)z8Removes an item from the list. Similar to list.remove().N)r7remover6rH)rrJrrr rOs z#RepeatedScalarFieldContainer.remover+cCs|j|}|j||S)zDRemoves and returns an item at a given index. Similar to list.pop().)r7 __delitem__)rrr$rrr r%$s  z RepeatedScalarFieldContainer.popcCsPt|tr0|jdk rtd|j|j|j|n|jj||j |<|j j dS)z(Sets the item on the specified position.NzExtended slices not supported) rslicestep ValueError __setslice__startstoprBrFr7r6rH)rrr$rrr __setitem__*s   z(RepeatedScalarFieldContainer.__setitem__cCs|j||S)zARetrieves the subset of items from between the specified indices.)r7)rrUrVrrr __getslice__4sz)RepeatedScalarFieldContainer.__getslice__cCs@g}x|D]}|j|jj|q W||j||<|jjdS)z|jj|}|jj}||j|<|SXdS)N)r7rrerFrfZ DefaultValue)rrvalrrr r:s    zScalarMap.__getitem__cCs|jj|||jkS)N)rerFr7)ritemrrr r s zScalarMap.__contains__NcCs||kr||S|SdS)Nr)rrrrrr r sz ScalarMap.getcCs0|jj|}|jj|}||j|<|jjdS)N)rerFrfr7r6rH)rrr$Z checked_keyZ checked_valuerrr rWs   zScalarMap.__setitem__cCs|j|=|jjdS)N)r7r6rH)rrrrr rPszScalarMap.__delitem__cCs t|jS)N)r,r7)rrrr r;szScalarMap.__len__cCs t|jS)N)r r7)rrrr __iter__szScalarMap.__iter__cCs t|jS)N)r<r7)rrrr r=szScalarMap.__repr__cCs|jj|j|jjdS)N)r7r2r6rH)rrrrr rNszScalarMap.MergeFromcCs|j}|j|_d|d<dS)N)r7copy)roriginalrrr InvalidateIteratorss zScalarMap.InvalidateIteratorscCs|jj|jjdS)N)r7r)r6rH)rrrr r)s zScalarMap.clearcCs|jjS)N)rgr_)rrrr GetEntryClassszScalarMap.GetEntryClass)N)rrrr@r r9r:r r rWrPr;rlr=rNror)rprrrr rds   rdc@seZdZdZdddddgZddZd d Zd d Zd$ddZddZ ddZ ddZ ddZ ddZ ddZddZddZd d!Zd"d#Zd S)% MessageMapzESimple, type-checked, dict-like container for with submessage values.rer7r6r]rgcCs"||_||_||_||_i|_dS)a Args: message_listener: A MessageListener implementation. The ScalarMap will call this object's Modified() method when it is modified. key_checker: A type_checkers.ValueChecker instance to run on keys inserted into this container. value_checker: A type_checkers.ValueChecker instance to run on values inserted into this container. entry_descriptor: The MessageDescriptor of a map entry: key and value. N)r6r]rergr7)rr8r^rhrirrr r9s zMessageMap.__init__c CsZy |j|Stk rT|jj|}|jj}|j|j||j|<|jj|SXdS)N) r7rrerFr]r_r`r6rH)rrrarrr r:'s      zMessageMap.__getitem__cCs||S)aaget_or_create() is an alias for getitem (ie. map[key]). Args: key: The key to get or create in the map. This is useful in cases where you want to be explicit that the call is mutating the map. This can avoid lint errors for statements like this that otherwise would appear to be pointless statements: msg.my_map[key] r)rrrrr get_or_create3s zMessageMap.get_or_createNcCs||kr||S|SdS)Nr)rrrrrr r DszMessageMap.getcCs ||jkS)N)r7)rrkrrr r JszMessageMap.__contains__cCs tddS)Nz5May not set values directly, call my_map[key].foo = 5)rS)rrr$rrr rWMszMessageMap.__setitem__cCs|j|=|jjdS)N)r7r6rH)rrrrr rPPszMessageMap.__delitem__cCs t|jS)N)r,r7)rrrr r;TszMessageMap.__len__cCs t|jS)N)r r7)rrrr rlWszMessageMap.__iter__cCs t|jS)N)r<r7)rrrr r=ZszMessageMap.__repr__cCs2x,|D]$}||kr||=||j||qWdS)N)ZCopyFrom)rrrrrr rN]s zMessageMap.MergeFromcCs|j}|j|_d|d<dS)N)r7rm)rrnrrr rogs zMessageMap.InvalidateIteratorscCs|jj|jjdS)N)r7r)r6rH)rrrr r)os zMessageMap.clearcCs|jjS)N)rgr_)rrrr rpsszMessageMap.GetEntryClass)N)rrrr@r r9r:rrr r rWrPr;rlr=rNror)rprrrr rq s"   rq)r@ __author__rsys version_infor4rr"registerr5rAMutableSequencer\rdrqrrrr (s0< -n [ZPK!I2 Kprotobuf/internal/__pycache__/test_bad_identifiers_pb2.cpython-36.opt-1.pycnu[3 h7@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZdd lmZe jZejd ddeddZdZejddddddddedjdddddddedZdZejddddddddedjdddddddedZdZejd d!d"ddddded#jdddddddedZd$Zejd%d&dd$dddded'jdddddddedZ ejd(d)dedggggddddsrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)service)service_reflection)descriptor_pb2z3google/protobuf/internal/test_bad_identifiers.protoZprotobuf_unittestZproto2u 3google/protobuf/internal/test_bad_identifiers.protoprotobuf_unittest" TestBadIdentifiers*d€€€€" AnotherMessage2 AnotherService:; message%.protobuf_unittest.TestBadIdentifiersd ( :foo:> descriptor%.protobuf_unittest.TestBadIdentifierse ( :bar:> reflection%.protobuf_unittest.TestBadIdentifiersf ( :baz:; service%.protobuf_unittest.TestBadIdentifiersg ( :quxB)namepackagesyntaxZ serialized_pbdr zprotobuf_unittest.message TZfoozutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileer zprotobuf_unittest.descriptorZbarfr zprotobuf_unittest.reflectionZbazgr zprotobuf_unittest.serviceZquxTestBadIdentifiersz$protobuf_unittest.TestBadIdentifiers Jh)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsserialized_startserialized_endAnotherMessagez protobuf_unittest.AnotherMessageFjzz1google.protobuf.internal.test_bad_identifiers_pb2) DESCRIPTOR __module__uAnotherServicez protobuf_unittest.AnotherService|)rrrrrr&r'methodsAnotherService_Stub)rr!)4sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser Z_servicerrZDefaultZ_sym_dbZFileDescriptorr+ZMESSAGE_FIELD_NUMBERZFieldDescriptordecodeZDESCRIPTOR_FIELD_NUMBERZREFLECTION_FIELD_NUMBERZSERVICE_FIELD_NUMBERZ DescriptorZ_TESTBADIDENTIFIERSZ_ANOTHERMESSAGEZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr ZRegisterMessager(ZRegisterExtensionZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsZServiceDescriptorZ_ANOTHERSERVICEZRegisterServiceDescriptorZservices_by_nameZGeneratedServiceTypeZServicer-ZGeneratedServiceStubTyper1rrrrs                               PK! Dprotobuf/internal/__pycache__/more_messages_pb2.cpython-36.opt-1.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZdZejdddddddddddddddedZdZejdddddddddddddddedZejdddedejdddddddddddddddedejd d!ddd"ddddddddddedejd#d$dddddddddddddedggggddd d*d+ggd%d&d'Zeejd<eejd<eejd<ejee jdejfeed(d)Zejeej eej edS),NcCs|S)N)xrr'/usr/lib/python3.6/more_messages_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z,google/protobuf/internal/more_messages.protozgoogle.protobuf.internalZproto2a; ,google/protobuf/internal/more_messages.protogoogle.protobuf.internal"h OutOfOrderFields optional_sint32 ( optional_uint32 (  optional_int32 (**:C optional_uint64*.google.protobuf.internal.OutOfOrderFields (:B optional_int64*.google.protobuf.internal.OutOfOrderFields ()namepackagesyntaxZ serialized_pboptional_uint64z(google.protobuf.internal.optional_uint64FT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileoptional_int64z'google.protobuf.internal.optional_int64OutOfOrderFieldsz)google.protobuf.internal.OutOfOrderFieldsZoptional_sint32z9google.protobuf.internal.OutOfOrderFields.optional_sint32Zoptional_uint32z9google.protobuf.internal.OutOfOrderFields.optional_uint32 Zoptional_int32z8google.protobuf.internal.OutOfOrderFields.optional_int32J)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz*google.protobuf.internal.more_messages_pb2) DESCRIPTOR __module__)rr)rr)!sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr$ZOPTIONAL_UINT64_FIELD_NUMBERZFieldDescriptorrZOPTIONAL_INT64_FIELD_NUMBERrZ DescriptorZ_OUTOFORDERFIELDSZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZRegisterExtensionrrrrs                PK!>;;@protobuf/internal/__pycache__/more_extensions_pb2.cpython-36.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZdZejdddddddddddddddedZdZejdddddddddddddddedZdZejddddddddgddddddedZdZejdd ddddddgddddddedZejd!d"dedejd#d$dddddddddddddedggggddd ggd%d&d'Zejd(d)dedggggddd d5ggd+d,d'Zejd-d.dedejd/d0dddddddddddddedggggddd ggd1d2d'Zeejd#_eej d!<eej d(<eej d-<eej!d<eej!d<eej!d<eej!d<ej"ee j#d!ej$fe%ed3d4Z&ej'e&e j#d(ej$fe%ed3d4Z(ej'e(e j#d-ej$fe%ed3d4Z)ej'e)e(j*eee_e(j*ee(j*eee_e(j*edS)6NcCs|S)N)xrr)/usr/lib/python3.6/more_extensions_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z.google/protobuf/internal/more_extensions.protozgoogle.protobuf.internalZproto2ut .google/protobuf/internal/more_extensions.protogoogle.protobuf.internal"P TopLevelMessage= submessage ( 2).google.protobuf.internal.ExtendedMessage" ExtendedMessage*€€€€"- ForeignMessage foreign_message_int (:I optional_int_extension).google.protobuf.internal.ExtendedMessage (:w optional_message_extension).google.protobuf.internal.ExtendedMessage ( 2(.google.protobuf.internal.ForeignMessage:I repeated_int_extension).google.protobuf.internal.ExtendedMessage (:w repeated_message_extension).google.protobuf.internal.ExtendedMessage ( 2(.google.protobuf.internal.ForeignMessage)namepackagesyntaxZ serialized_pboptional_int_extensionz/google.protobuf.internal.optional_int_extensionFT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileoptional_message_extensionz3google.protobuf.internal.optional_message_extension repeated_int_extensionz/google.protobuf.internal.repeated_int_extensionrepeated_message_extensionz3google.protobuf.internal.repeated_message_extensionTopLevelMessagez(google.protobuf.internal.TopLevelMessageZ submessagez3google.protobuf.internal.TopLevelMessage.submessageL)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endExtendedMessagez(google.protobuf.internal.ExtendedMessage ForeignMessagez'google.protobuf.internal.ForeignMessageZforeign_message_intz;google.protobuf.internal.ForeignMessage.foreign_message_intz,google.protobuf.internal.more_extensions_pb2) DESCRIPTOR __module__)rr()+sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr.Z#OPTIONAL_INT_EXTENSION_FIELD_NUMBERZFieldDescriptorrZ'OPTIONAL_MESSAGE_EXTENSION_FIELD_NUMBERrZ#REPEATED_INT_EXTENSION_FIELD_NUMBERrZ'REPEATED_MESSAGE_EXTENSION_FIELD_NUMBERr!Z DescriptorZ_TOPLEVELMESSAGEZ_EXTENDEDMESSAGEZ_FOREIGNMESSAGEZfields_by_namerZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr"ZRegisterMessager'r+ZRegisterExtensionrrrrs                               PK!+BBMprotobuf/internal/__pycache__/message_set_extensions_pb2.cpython-36.opt-1.pycnu[3 h!@sxddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZdZejdddddddddddddddedZejdddedggggeje jeddd dAggddd Zejd!d"dedejd#d$dd%d&ddddddddddedgejd'd(dd)dddddddddddedgggddd ggd*d+d Zejd,d-dedejd.d/dd0d1d1dded2jd3ddddddedgejd'd4dd5dddddddddddedgggddd ggd6d7d Zejd8d9dedejd:d;ddd Zeejd<eejd!<eejd,<eejd8<eejd<ejee jdej fe!ed?d@Z"ej#e"e jd!ej fe!ed?d@Z$ej#e$e jd,ej fe!ed?d@Z%ej#e%e jd8ej fe!ed?d@Z&ej#e&ee_'e"j(eeejd'_'e"j(ejd'eejd'_'e"j(ejd'de_)eje jede_*dS)BNcCs|S)N)xrr0/usr/lib/python3.6/message_set_extensions_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z5google/protobuf/internal/message_set_extensions.protozgoogle.protobuf.internalZproto2u} 5google/protobuf/internal/message_set_extensions.protogoogle.protobuf.internal" TestMessageSet*ÿÿÿÿ:"¥ TestMessageSetExtension1 i (2~ message_set_extension(.google.protobuf.internal.TestMessageSet«ÿö. ( 22.google.protobuf.internal.TestMessageSetExtension1"§ TestMessageSetExtension2 str ( 2~ message_set_extension(.google.protobuf.internal.TestMessageSetÊÿö. ( 22.google.protobuf.internal.TestMessageSetExtension2"( TestMessageSetExtension3 text# ( : message_set_extension3(.google.protobuf.internal.TestMessageSetßÿö. ( 22.google.protobuf.internal.TestMessageSetExtension3)namepackagesyntaxZ serialized_pbi߿message_set_extension3z/google.protobuf.internal.message_set_extension3 FT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileTestMessageSetz'google.protobuf.internal.TestMessageSetzSq)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endTestMessageSetExtension1z1google.protobuf.internal.TestMessageSetExtension1iz3google.protobuf.internal.TestMessageSetExtension1.iZmessage_set_extensionzGgoogle.protobuf.internal.TestMessageSetExtension1.message_set_extensionitiTestMessageSetExtension2z1google.protobuf.internal.TestMessageSetExtension2strz5google.protobuf.internal.TestMessageSetExtension2.str zutf-8zGgoogle.protobuf.internal.TestMessageSetExtension2.message_set_extensioniʿiiTestMessageSetExtension3z1google.protobuf.internal.TestMessageSetExtension3textz6google.protobuf.internal.TestMessageSetExtension3.text#iiz3google.protobuf.internal.message_set_extensions_pb2) DESCRIPTOR __module__)rr)+sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr0Z#MESSAGE_SET_EXTENSION3_FIELD_NUMBERZFieldDescriptorrZ DescriptorZ _ParseOptionsZMessageOptionsZ_TESTMESSAGESETZ_TESTMESSAGESETEXTENSION1decodeZ_TESTMESSAGESETEXTENSION2Z_TESTMESSAGESETEXTENSION3Zmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager#r(r-rZRegisterExtensionZ has_optionsZ_optionsrrrrs(                             PK!ۜ Dprotobuf/internal/__pycache__/enum_type_wrapper.cpython-36.opt-1.pycnu[3 h @sdZdZGdddeZdS)zA simple wrapper around enum types to expose utility functions. Instances are created as properties with the same name as the enum they wrap on proto classes. For usage, see: reflection_test.py z"rabsatt@google.com (Kevin Rabsatt)c@sDeZdZdZdZddZddZddZd d Zd d Z d dZ dS)EnumTypeWrapperz/A utility for finding the names of enum values.NcCs||_||_dS)z-Inits EnumTypeWrapper with an EnumDescriptor.N) _enum_type DESCRIPTOR)selfZ enum_typer'/usr/lib/python3.6/enum_type_wrapper.py__init__.szEnumTypeWrapper.__init__cCs2||jjkr|jj|jStd|jj|fdS)z6Returns a string containing the name of an enum value.z(Enum %s has no name defined for value %dN)rZvalues_by_numbername ValueError)rnumberrrrName3s zEnumTypeWrapper.NamecCs2||jjkr|jj|jStd|jj|fdS)z6Returns the value coresponding to the given enum name.z(Enum %s has no value defined for name %sN)rZvalues_by_namer r r)rrrrrValue:s zEnumTypeWrapper.ValuecCsdd|jjDS)z~Return a list of the string names in the enum. These are returned in the order they were defined in the .proto file. cSsg|] }|jqSr)r).0value_descriptorrrr Gsz(EnumTypeWrapper.keys..)rvalues)rrrrkeysAszEnumTypeWrapper.keyscCsdd|jjDS)zReturn a list of the integer values in the enum. These are returned in the order they were defined in the .proto file. cSsg|] }|jqSr)r )r rrrrrPsz*EnumTypeWrapper.values..)rr)rrrrrJszEnumTypeWrapper.valuescCsdd|jjDS)zReturn a list of the (name, value) pairs of the enum. These are returned in the order they were defined in the .proto file. cSsg|]}|j|jfqSr)rr )r rrrrrXsz)EnumTypeWrapper.items..)rr)rrrritemsSszEnumTypeWrapper.items) __name__ __module__ __qualname____doc__rrr r rrrrrrrr)s  rN)r __author__objectrrrrr$sPK!*[[Gprotobuf/internal/__pycache__/message_factory_test.cpython-36.opt-1.pycnu[3 h% @sdZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlm Z ddlm Z ddlm Z dd lm Z dd lm Z Gd d d ejZed krejdS)z*Tests for google.protobuf.message_factory.z"matthewtoia@google.com (Matt Toia)N)descriptor_pb2)api_implementation)factory_test1_pb2)factory_test2_pb2)descriptor_database)descriptor_pool)message_factoryc@s4eZdZddZddZddZddZd d Zd S) MessageFactoryTestcCs(tjjtjj|_tjjtjj|_dS)N) rFileDescriptorProto FromStringr DESCRIPTORZ serialized_pbfactory_test1_fdrfactory_test2_fd)selfr*/usr/lib/python3.6/message_factory_test.pysetUp4s zMessageFactoryTest.setUpcCs<|}d|_d|_d|j_d|j_d|j_d|jj_d|j_|jj j dddg|jj j d d|_d|_d|j_d|j _d |j j _d |j _d |_|j j d ddg|j j d|j jd |j d_d|j d_|j jdddd |jj_d|jjjj_|j}tjj|}|j}|j|||j|}|j||dS)N*rznested message valueZoneZtwoZthreeZfourzone deepz zero deepZhelloZworldZtestingZ123)part_1part_2)Z mandatoryZnested_factory_2_enumZnested_factory_2_messagevalueZfactory_1_messageZfactory_1_enumZnested_factory_1_enumZnested_factory_1_messageZ scalar_valueZ list_valueextendappendZcircular_messageZgroupedaddrrZloopZSerializeToStringrFactory2Messager assertEqual)rclsmsgZ serializedZ convertedZ reserializedresultrrr_ExerciseDynamicClass:s>          z(MessageFactoryTest._ExerciseDynamicClasscCs~tj}tj|}|j|j|j|jtj}|j |j d}|j |t j k|j||j |j d}|j||kdS)Nz/google.protobuf.python.internal.Factory2Message)rZDescriptorDatabaserDescriptorPoolAddr rrMessageFactoryZ GetPrototypeZFindMessageTypeByNameZ assertFalserrr# assertTrue)rZdbpoolfactoryr Zcls2rrrtestGetPrototype\s    z#MessageFactoryTest.testGetPrototypecCsxtdD]v}|j|jj|jjtj|j|jg}|jt ddgj t |j |j |d|d}|jt ddgj t dd|j jjj|j D|d}|jjd}|jjd}d|j|<d |j|<|jd|j||jd |j||jd|jjd tjd kr\|jt|jt|j|jt|jjd |jt|jjd q |jd|jjd |jd|jjd q WdS)Nrz/google.protobuf.python.internal.Factory2Messagez/google.protobuf.python.internal.Factory1Messagez>google.protobuf.python.internal.Factory2Message.one_more_fieldz-google.protobuf.python.internal.another_fieldcss|] }|jVqdS)N)Z full_name).0extrrr sz5MessageFactoryTest.testGetMessages..Ztest1Ztest2i!0Zcppr)rangeassertInr namer dependencyr GetMessagesr'setissubsetkeysr#r filer(ZFindAllExtensionsZ ExtensionsZ_FindExtensionByNamerZ_FindExtensionByNumberrZTypelen assertRaises TypeError)r_ZmessagesZ factory_msg1Zmsg1Zext1Zext2rrrtestGetMessagesjsN          z"MessageFactoryTest.testGetMessagesc Cstj}tj|d}tj}d|_d|_|jj }d|_|j j }d|_ d|_ |j ||j|jg}|jd|tj}d|_d|_|jjd|jj }d |_|jj }d |_d |_tjj|_d |_d|_|j ||j|jg}|jd |tj}d |_d|_|jjd|jj }d|_|jj }d |_d |_tjj|_d|_d|_|j ||jt}|j|jgWdQRX|jt|jddgdS)N)r(z(google/protobuf/internal/container.protozgoogle.protobuf.python.internal Containerr z)google.protobuf.python.internal.Containerz(google/protobuf/internal/extension.protoZ ExtensionZextension_fieldrz)google.protobuf.python.internal.Extensionz(google/protobuf/internal/duplicate.protoZ DuplicatezExtensions "google.protobuf.python.internal.Duplicate.extension_field" and "google.protobuf.python.internal.Extension.extension_field" both try to extend message type "google.protobuf.python.internal.Container" with field number 2.z!Double registration of Extensions)rr$rr&rr r1packageZ message_typerZextension_rangestartendr%r3r0r2r extensionZnumberZFieldDescriptorProtoZLABEL_OPTIONALZlabelZ type_nameZextendeer9 ExceptionstrZ exception) rr(r)fr!rngZmsgsr,cmrrrtestDuplicateExtensionNumbers\                  z/MessageFactoryTest.testDuplicateExtensionNumberN)__name__ __module__ __qualname__rr#r*r<rHrrrrr 2s "4r __main__)__doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrZgoogle.protobuf.internalrrrrrrZTestCaser rImainrrrr s         +PK!&KKAprotobuf/internal/__pycache__/python_message.cpython-36.opt-1.pycnu[3 h@sdZdZddlmZddlZddlZddlZddlZddlm Z ddlm Z ddlm Z ddlm Z dd lm Z dd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZejZdZGdddeZddZddZddZ ddZ!ddZ"ddZ#d d!Z$d"d#Z%d$d%Z&d&d'Z'd(d)Z(d*d+Z)d,d-Z*d.d/Z+d0d1Z,d2d3Z-d4d5Z.d6d7Z/d8d9Z0d:d;Z1dd?Z3d@dAZ4dBZ5dCZ6dDdEZ7dFdGZ8dHdIZ9dJdKZ:dLdMZ;dNdOZdTdUZ?dVdWZ@dXdYZAdZd[ZBd\d]ZCd^d_ZDd`daZEdbdcZFdddeZGdfdgZHdhdiZIdjdkZJdldmZKdndoZLdpdqZMGdrdsdseNZOGdtdudueOZPGdvdwdweNZQdS)xa Contains a metaclass and helper functions used to create protocol message classes from Descriptor objects at runtime. Recall that a metaclass is the "type" of a class. (A class is to a metaclass what an instance is to a class.) In this case, we use the GeneratedProtocolMessageType metaclass to inject all the useful functionality into the classes output by the protocol compiler at compile-time. The upshot of all this is that the real implementation details for ALL pure-Python protocol buffers are *here in this file*. z#robinson@google.com (Will Robinson))BytesION)api_implementation) containers)decoder)encoder)enum_type_wrapper)message_listener) type_checkers)well_known_types) wire_format) descriptor)message) text_formatzgoogle.protobuf.Anycs0eZdZdZdZfddZfddZZS)GeneratedProtocolMessageTypeaQMetaclass for protocol message classes created at runtime from Descriptors. We add implementations for all methods described in the Message class. We also create properties to allow getting/setting all fields in the protocol message. Finally, we create slots to prevent users from accidentally "setting" nonexistent fields in the protocol message, which then wouldn't get serialized / deserialized properly. The protocol compiler currently uses this metaclass to create protocol message classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = Descriptor(.....) factory = symbol_database.Default() factory.pool.AddDescriptor(mydescriptor) MyProtoClass = factory.GetPrototype(mydescriptor) myproto_instance = MyProtoClass() myproto.foo_field = 23 ... DESCRIPTORcsZ|tj}|jtjkr(|tj|jf7}t||t||tt|}|j||||}|S)aCustom allocation for runtime-generated class types. We override __new__ because this is apparently the only place where we can meaningfully set __slots__ on the class we're creating(?). (The interplay between metaclasses and slots is not very well-documented). Args: name: Name of the class (ignored, but required by the metaclass protocol). bases: Base classes of the class we're constructing. (Should be message.Message). We ignore this field, but it's required by the metaclass protocol dictionary: The class dictionary of the class we're constructing. dictionary[_DESCRIPTOR_KEY] must contain a Descriptor object describing this protocol message type. Returns: Newly-allocated class. ) r_DESCRIPTOR_KEY full_namer ZWKTBASES&_AddClassAttributesForNestedExtensions _AddSlotssuper__new__)clsnamebases dictionaryr superclass new_class) __class__$/usr/lib/python3.6/python_message.pyris     z$GeneratedProtocolMessageType.__new__cs|tj}i|_|jr6|jjr6tj|df|jtj<x|j D]}t ||q>W||_ t ||t ||t||t||t|t||t||tt|}|j|||dS)aHere we perform the majority of our work on the class. We add enum getters, an __init__ method, implementations of all Message methods, and properties for all fields in the protocol type. Args: name: Name of the class (ignored, but required by the metaclass protocol). bases: Base classes of the class we're constructing. (Should be message.Message). We ignore this field, but it's required by the metaclass protocol dictionary: The class dictionary of the class we're constructing. dictionary[_DESCRIPTOR_KEY] must contain a Descriptor object describing this protocol message type. N)rr_decoders_by_tag has_options GetOptionsmessage_set_wire_formatrZMessageSetItemDecoderZMESSAGE_SET_ITEM_TAGfields_AttachFieldHelpers_concrete_class_AddEnumValues_AddInitMethod_AddPropertiesForFields_AddPropertiesForExtensions_AddStaticMethods_AddMessageMethods_AddPrivateHelperMethodsr__init__)rrrrr fieldr)rrrr.s"          z%GeneratedProtocolMessageType.__init__)__name__ __module__ __qualname____doc__rrr. __classcell__rr)rrrNs rcCs|S)aReturns the name of the public property attribute which clients can use to get and (in some cases) set the value of a protocol message field. Args: proto_field_name: The protocol message field name, exactly as it appears (or would appear) in a .proto file. r)proto_field_namerrr _PropertyNamesr6cCsjt|tstd||js*td|j|js>td|j|j|jk rftd|j|jj|jjfdS)z0Verify that the given extension handle is valid.z3HasExtension() expects an extension handle, got: %sz"%s" is not an extension.z""%s" is missing a containing_type.zKExtension "%s" extends message type "%s", but this message is of type "%s".N) isinstance_FieldDescriptorKeyError is_extensionrcontaining_typer)r extension_handlerrr_VerifyExtensionHandles   r=c Csddddddddd g |d <d S) a Adds a __slots__ entry to dictionary, containing the names of all valid attributes for this message type. Args: message_descriptor: A Descriptor instance describing this message type. dictionary: Class dictionary to which we'll add a '__slots__' entry. _cached_byte_size_cached_byte_size_dirty_fields_unknown_fields_is_present_in_parent _listener_listener_for_children __weakref___oneofs __slots__Nr)message_descriptorrrrrrsrcCs2|jo0|jjo0|jjjo0|jtjko0|jtj kS)N) r:r;r!r"r#typer8 TYPE_MESSAGElabelZLABEL_OPTIONAL)r/rrr_IsMessageSetExtensions   rLcCs |jtjko|jjo|jjjS)N)rIr8rJ message_typer!r" map_entry)r/rrr _IsMapFields rOcCs|jjd}|jtjkS)Nvalue)rMfields_by_namecpp_typer8CPPTYPE_MESSAGE)r/Z value_typerrr_IsMessageMapField s rTcs@jtjkotjj}|s&d}nFjjdkrDjo@j j }n(jodj j dodj j dk}| }t rt j}t jt}nNtrt jj}t jj}n,tjjj|}tjjj|}|_|_t_fdd}|tjjdr.AddDecoderT)rKr8LABEL_REPEATEDr ZIsTypePackablerIr;syntaxr!r"rUHasFieldrOrZ MapEncoderZMapSizerrTrLZMessageSetItemEncoderrVZMessageSetItemSizerr ZTYPE_TO_ENCODERZ TYPE_TO_SIZER_encoder_sizer _DefaultValueConstructorForFieldrYZFIELD_TYPE_TO_WIRE_TYPEZWIRETYPE_LENGTH_DELIMITED)rr]Z is_packablerZZhas_packed_falseZ field_encoderZsizerr`r)rr]r^r_rr%sB            r%cCs,|j}x t|jD]\}}|||<qWdS)N)extensions_by_namelistitems)r rextension_dictextension_nameextension_fieldrrrrUsrcCsHxB|jD]8}t||jtj|x|jD]}t||j|jq(WqWdS)aSets class-level attributes for all enum fields defined in this message. Also exporting a class-level object that can name enum values. Args: descriptor: Descriptor object for this message type. cls: Class we're constructing for this message type. N)Z enum_typessetattrrrZEnumTypeWrappervaluesrV)r r enum_typeZ enum_valuerrrr'\s  r'csvjtjkrtdjjj}tj|d|dt rTfdd}|Stjfdd}|SdS)Nz&map_entry set on non-repeated field %skeyrPcstj|jjjS)N)rZ MessageMaprDrM)r )r/ key_checker value_fieldrrMakeMessageMapDefaultts z:_GetInitializeDefaultForMap..MakeMessageMapDefaultcstj|jjS)N)rZ ScalarMaprDrM)r )r/rq value_checkerrrMakePrimitiveMapDefault{sz<_GetInitializeDefaultForMap..MakePrimitiveMapDefault) rKr8ra ValueErrorrrMrQr GetTypeCheckerrT)r/rQrsrur)r/rqrtrrrrXks   rXcstrtSjtjkrvjr:jgkr:tdjjtj kr\j fdd}|St j fdd}|Sjtj krj fdd}|Sfdd }|S) aReturns a function which returns a default value for a field. Args: field: FieldDescriptor object for this field. The returned function has one argument: message: Message instance containing this field, or a weakref proxy of same. That function in turn returns a default value for this field. The default value may refer back to |message| via a weak reference. z/Repeated field default value not empty list: %scstj|jjS)N)rZRepeatedCompositeFieldContainerrDrM)r )r/rrMakeRepeatedMessageDefaultszD_DefaultValueConstructorForField..MakeRepeatedMessageDefaultcstj|jS)N)rZRepeatedScalarFieldContainerrD)r ) type_checkerrrMakeRepeatedScalarDefaultszC_DefaultValueConstructorForField..MakeRepeatedScalarDefaultcs,j}|jjdk r t|n|j|S)N)r& _SetListenerrW_OneofListenerrD)r result)r/rMrrMakeSubMessageDefaults z?_DefaultValueConstructorForField..MakeSubMessageDefaultcsjS)N) default_value)r )r/rrMakeScalarDefaultsz;_DefaultValueConstructorForField..MakeScalarDefault) rOrXrKr8raZhas_default_valuerrvrRrSrMr rw)r/rxrzr~rr)r/rMryrrfs&        rfcCsZtjd}t|jdkrtd|j|fYnX|S)aConvert a string or integer enum value to an integer. If the value is a string, it is converted to the enum value in enum_type with the same name. If the value is not a string, it's returned as-is. (No conversion or bounds-checking is done.) z Enum type %s: unknown label "%s")r7rZ string_typesZvalues_by_namerVr9rvr)rorPrrr_GetIntegerEnumValues  z,_AddInitMethod.._GetIntegerEnumValuec s&d|_t|dk|_i|_i|_f|_d|_tj|_ t ||_ xt |j D]\}}t|dkr~tdj|f|dkrqPjtjkr\j|}jtjkr$trtrx*|D]}||j||qWn |j|n6xb|D],}t|tr|jf|q|jj|qWn,jtjkrFfdd|D}|j|||j<qPjtjkrЈj|}|}t|trj j!f|}y|j|Wn"tk rt"j|YnX||j<qPjtjkrj#|}yt$|||WqPtk rt"j|YqPXqPWdS)NrFz,%s() got an unexpected keyword argument '%s'csg|]}j|qSr)ro).0val)rr/rr sz0_AddInitMethod..init..)%r>rr?r@rFrArBmessage_listener_modNullMessageListenerrC _ListenerrDrhri_GetFieldByNamerrrKr8rarYrRrSrOrT MergeFromupdater7dictaddZ CPPTYPE_ENUMextendrMr&rrorm)selfkwargsr field_valuecopyrprZnew_val)rrH)r/rinits`               z_AddInitMethod..initN)r1r3r.)rHrrr)rrHrr(s =r(c Cs6y |j|Stk r0td|j|fYnXdS)zReturns a field descriptor by field name. Args: message_descriptor: A Descriptor describing all fields in message. field_name: The name of the field to retrieve. Returns: The field descriptor associated with the field name. z&Protocol message %s has no "%s" field.N)rQr9rvr)rHrrrrrs  rcCs2x|jD]}t||qW|jr.tdd|_dS)z=Adds properties for all fields in this protocol message type.cSst|S)N)_ExtensionDict)rrrr/sz)_AddPropertiesForFields..N)r$_AddPropertiesForField is_extendablepropertyZ Extensions)r rr/rrrr)'s r)cCsZ|jjd}t|||j|jtjkr4t||n"|jtj krLt ||n t ||dS)a#Adds a public property for a protocol message field. Clients can use this property to get and (in the case of non-repeated scalar fields) directly set the value of a protocol message field. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. _FIELD_NUMBERN) rupperrmrVrKr8ra_AddPropertiesForRepeatedFieldrRrS*_AddPropertiesForNonRepeatedCompositeField'_AddPropertiesForNonRepeatedScalarField)r/r constant_namerrrr2s    rcsXjt}fdd}d|_d|_fdd}d}t||t|||ddS) aAdds a public property for a "repeated" protocol message field. Clients can use this property to get the value of the field, which will be either a _RepeatedScalarFieldContainer or _RepeatedCompositeFieldContainer (see below). Note that when clients add values to these containers, we perform type-checking in the case of repeated scalar fields, and we also set any necessary "has" bits as a side-effect. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. cs0|jj}|dkr,j|}|jj|}|S)N)r@getrY setdefault)rr)r/rrgetter\s   z._AddPropertiesForRepeatedField..getterNzGetter for %s.cstddS)NzIAssignment not allowed to repeated field "%s" in protocol message object.)AttributeError)r new_value)r5rrsetterosz._AddPropertiesForRepeatedField..setterz/Magic attribute generated for "%s" proto field.)doc)rr6r1r3rmr)r/r property_namerrrr)r/r5rrKs   rc sj}t|}tjjt}jjdk}fdd}d|_d||_ |oXj fddj rfdd }n}d|_d ||_ d |}t ||t |||d dS) aAdds a public property for a nonrepeated, scalar protocol message field. Clients can use this property to get and directly set the value of the field. Note that when the client sets the value of a field by using this property, all necessary "has" bits are set as a side-effect, and we also perform type-checking. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. proto3cs|jjS)N)r@r)r)rr/rrrsz7_AddPropertiesForNonRepeatedScalarField..getterNzGetter for %s.cs@j|}r$| r$|jjdn ||j<|js<|jdS)N) CheckValuer@popr? _Modified)rr)clear_when_set_to_defaultr/ryrr field_setters    z=_AddPropertiesForNonRepeatedScalarField..field_settercs|||jdS)N)_UpdateOneofState)rr)r/rrrrs z7_AddPropertiesForNonRepeatedScalarField..setterzSetter for %s.z/Magic attribute generated for "%s" proto field.)r) rr6r rwrsetr;rbr1r3rWrmr) r/rr5rZ valid_values is_proto3rrrr)rrr/rryrrws$      rcsXjt}fdd}d|_d|_fdd}d}t||t|||ddS) aNAdds a public property for a nonrepeated, composite protocol message field. A composite field is a "group" or "message" field. Clients can use this property to get the value of the field, but cannot assign to the property directly. Args: field: A FieldDescriptor for this field. cls: The class we're constructing. cs0|jj}|dkr,j|}|jj|}|S)N)r@rrYr)rr)r/rrrs   z:_AddPropertiesForNonRepeatedCompositeField..getterNzGetter for %s.cstddS)NzJAssignment not allowed to composite field "%s" in protocol message object.)r)rr)r5rrrsz:_AddPropertiesForNonRepeatedCompositeField..setterz/Magic attribute generated for "%s" proto field.)r)rr6r1r3rmr)r/rrrrrr)r/r5rrs    rcCsh|j}x2t|jD]"\}}|jd}t|||jqW|jdk rd|jj}|j||_|j ||_ dS)z=Adds properties for all fields in this protocol message type.rN) rgrhrirrmrVfilepool_extensions_by_number_extensions_by_name)r rrjrkrlrrrrrr*s   r*cs0fdd}t|_fdd}t|_dS)Ncs&j|_jjjj|t|dS)N)rr;rrZAddExtensionDescriptorr%)r<)rrrRegisterExtensionsz,_AddStaticMethods..RegisterExtensioncs}|j||S)N)MergeFromString)sr )rrr FromStrings z%_AddStaticMethods..FromString) staticmethodrr)rrrr)rrr+s   r+cCs>|djtjkrt|dS|djtjkr6|djSdSdS)zGiven a (FieldDescriptor, value) tuple from _fields, return true if the value should be included in the list returned by ListFields().rrTN)rKr8raboolrRrSrB)itemrrr _IsPresents   rcCsdd}||_dS)z Helper for _AddMessageMethods().cSs,ddt|jjD}|jddd|S)NcSsg|]}t|r|qSr)r)rrrrrr sz<_AddListFieldsMethod..ListFields..cSs |djS)Nr)rV)rrrrr sz:_AddListFieldsMethod..ListFields..)rp)rhr@risort)rZ all_fieldsrrr ListFields sz(_AddListFieldsMethod..ListFieldsN)r)rHrrrrr_AddListFieldsMethodsrz:Protocol message has no non-repeated submessage field "%s"z/Protocol message has no non-repeated field "%s"cs|jdk}|rtntix@|jD]6}|jtjkr4q"|rN|jtjkrN|j rNq"||j <q"W|szx|j D]}||j <qhWfdd|_ dS)z Helper for _AddMessageMethods().rcsy |}Wn tk r,t|YnXt|tjrdy||j|jStk r`dSXn0|jtj kr|j j |}|dk o|j S||j kSdS)NF) r9rvr7descriptor_modZOneofDescriptorrFrrRr8rSr@rrB)rrr/rP)rc error_msghassable_fieldsrrrc(s    z$_AddHasFieldMethod..HasFieldN) rb_Proto3HasError_Proto2HasErrorr$rKr8rarRrSrWrZoneofsrc)rHrrr/Zoneofr)rcrrr_AddHasFieldMethods     rcsfdd}||_dS)z Helper for _AddMessageMethods().csyj|}Wndtk rry(j|}||jkr@|j|}ndSWn&tk rltdj|fYnXYnX||jkrt|j|dr|j|j|j|=|jj |j d|kr|j|j =|j dS)Nz(Protocol message %s() has no "%s" field.InvalidateIterators) rQr9oneofs_by_namerFrvrr@hasattrrrrWr)rrr/)rHrr ClearField?s$     z(_AddClearFieldMethod..ClearFieldN)r)rHrrr)rHr_AddClearFieldMethod=s !rcCsdd}||_dS)z Helper for _AddMessageMethods().cSs(t||||jkr|j|=|jdS)N)r=r@r)rr<rrrClearExtensiones  z0_AddClearExtensionMethod..ClearExtensionN)r)rrrrr_AddClearExtensionMethodcsrcCsdd}||_dS)z Helper for _AddMessageMethods().cSsXt|||jtjkr$td|j|jtjkrJ|jj |}|dk oH|j S||jkSdS)Nz"%s" is repeated.) r=rKr8rar9rrRrSr@rrB)rr<rPrrr HasExtensionqs    z,_AddHasExtensionMethod..HasExtensionN)r)rrrrr_AddHasExtensionMethodos rcCshddlm}|j}|j}|s"dS|jdd}|jj|}|dkrHdS|j|}|}|j|j |S)atUnpacks Any message and returns the unpacked message. This internal method is different from public Any Unpack method which takes the target message as argument. _InternalUnpackAny method does not have target message type and need to find the message type in descriptor pool. Args: msg: An Any message to be unpacked. Returns: The unpacked message. r)symbol_databaseN/r) google.protobufrZDefaulttype_urlsplitrZFindMessageTypeByNameZ GetPrototypeZParseFromStringrP)msgrfactoryrZ type_namer Z message_classr rrr_InternalUnpackAny}s    rcCsdd}||_dS)z Helper for _AddMessageMethods().cSst|tj s|j|jkrdS||kr*dS|jjtkrVt|}t|}|rV|rV||kS|j|jksjdSt|j }|j t|j }|j ||kS)NFT) r7 message_modZMessagerr_AnyFullTypeNamerrrhrAr)rotherZany_aZany_bZunknown_fieldsZother_unknown_fieldsrrr__eq__s"    z _AddEqualsMethod..__eq__N)r)rHrrrrr_AddEqualsMethodsrcCsdd}||_dS)z Helper for _AddMessageMethods().cSs tj|S)N)rMessageToString)rrrr__str__sz_AddStrMethod..__str__N)r)rHrrrrr _AddStrMethodsrcCsdd}||_dS)z Helper for _AddMessageMethods().cSs tj|S)N)rr)rrrr__repr__sz _AddReprMethod..__repr__N)r)rHrrrrr_AddReprMethodsrcCsdd}||_dS)z Helper for _AddMessageMethods().cSstj|ddjdS)NT)Zas_utf8zutf-8)rrdecode)rrrr __unicode__sz&_AddUnicodeMethod..__unicode__N)r)Zunused_message_descriptorrrrrr_AddUnicodeMethodsrc Cs<ytj|}|||Stk r6tjd|YnXdS)a Returns the number of bytes needed to serialize a non-repeated element. The returned byte count includes space for tag information and any other additional space associated with serializing value. Args: value: Value we're serializing. field_number: Field number of this value. (Since the field number is stored as part of a varint-encoded tag, this has an impact on the total bytes required to serialize the value). field_type: The type of the field. One of the TYPE_* constants within FieldDescriptor. zUnrecognized field type: %dN)r ZTYPE_TO_BYTE_SIZE_FNr9r EncodeError)rPZ field_numberZ field_typefnrrr_BytesForNonRepeatedElements   rcCsdd}||_dS)z Helper for _AddMessageMethods().cSs|js |jSd}|j}|jjrJ|jdj|j}||jdj|j7}nLx"|j D]\}}||j|7}qTWx&|j D]\}}|t |t |7}qvW||_d|_d|j _ |S)NrrprPF)r?r>rr"rNrQrerprPrrArrDdirty)rsizer r]rr[ value_bytesrrrByteSizes z$_AddByteSizeMethod..ByteSizeN)r)rHrrrrr_AddByteSizeMethodsrcCsdd}||_dS)z Helper for _AddMessageMethods().c[s8g}|js,tjd|jjdj|jf|jf|S)Nz)Message %s is missing required fields: %s,) IsInitializedrrrrjoinFindInitializationErrorsSerializePartialToString)rrerrorsrrrSerializeToString s z6_AddSerializeToStringMethod..SerializeToStringN)r)rHrrrrr_AddSerializeToStringMethodsrcCs"dd}||_ddd}||_dS)z Helper for _AddMessageMethods().c[st}|j|jf||jS)N)r_InternalSerializewritegetvalue)rroutrrrrszD_AddSerializePartialToStringMethod..SerializePartialToStringNcSs|dkrtj}nt|}|j}|jjrX|jdj||j||jdj||j |nHx"|j D]\}}|j|||qbWx"|j D]\}}||||qWdS)NrprP) rZ)IsPythonDefaultSerializationDeterministicrrr"rNrQrdrprPrrA)rZ write_bytesZ deterministicr r]rr[rrrrInternalSerializes     z=_AddSerializePartialToStringMethod..InternalSerialize)N)rr)rHrrrrrr"_AddSerializePartialToStringMethods rcsFdd}||_tjtj|j|jdkfdd}||_dS)z Helper for _AddMessageMethods().cSs|t|}y |j|d||kr&tjdWnNttfk rJtjdYn.tjk rv}ztj|WYdd}~XnX|S)NrzUnexpected end-group tag.zTruncated message.)r_InternalParserZ DecodeError IndexErrorrstructerror)rZ serializedZlengtherrrr8sz2_AddMergeFromStringMethod..MergeFromStringrc s|j|j}|j}x||kr||\}}j|d\}} |dkr|} ||||}|dkrb|S sptjr|s~g}|_|j||| |f|}q||||||}| r|j| qW|S)Nr)NNr)rr@rArrZ&GetPythonProto3PreserveUnknownsDefaultappendr) rbufferposendZ field_dictZunknown_field_listr[Znew_posr\Z field_descZvalue_start_pos)decoders_by_tagr local_ReadTaglocal_SkipFieldrr InternalParseLs,  z0_AddMergeFromStringMethod..InternalParseN)rrZReadTagZ SkipFieldr rbr)rHrrrr)rrrrr_AddMergeFromStringMethod6s  rcs:dd|jDdfdd }||_fdd}||_dS) z[Adds the IsInitialized and FindInitializationError methods to the protocol message class.cSsg|]}|jtjkr|qSr)rKr8ZLABEL_REQUIRED)rr/rrrrksz+_AddIsInitializedMethod..NcsxJD]B}||jks.|jtjkr|j|j r|dk rD|j|jdSqWxt|jjD]\}}|jtjkr\|j tj kr|j j r|j j jrq\xZ|D]&}|js|dk r|j|jdSqWq\|jr\|j r\|dk r|j|jdSq\WdS)aChecks if all required fields of a message are set. Args: errors: A list which, if provided, will be populated with the field paths of all missing required fields. Returns: True iff the specified message has all required fields set. NFT)r@rRr8rSrBrrrhrirKrarMr!r"rNr)rrr/rPelement)required_fieldsrrrns.        z._AddIsInitializedMethod..IsInitializedc s>g}x$D]}|j|js |j|jq Wx |jD]\}}|jtjkr6|jr^d|j}n|j}t |rt |rx@|D]6}||}d||f|j }|fdd|D7}qzWnq6|j tj krxntt|D]6}||}d||f|j }|fdd|D7}qWq6|d|j }|fdd|D7}q6W|S) zFinds required fields which are not initialized. Returns: A list of strings. Each string is a path to an uninitialized field from the top-level message, e.g. "foo.bar[5].baz". z(%s)z%s[%s].csg|] }|qSrr)rr)prefixrrrszM_AddIsInitializedMethod..FindInitializationErrors..z%s[%d].csg|] }|qSrr)rr)rrrrs.csg|] }|qSrr)rr)rrrrs)rcrr rrRr8rSr:rrOrTrrKraranger) rrr/rPrrprZ sub_errorsi)r)rrrs6       z9_AddIsInitializedMethod..FindInitializationErrors)N)r$rr)rHrrrr)rr_AddIsInitializedMethodgs ' ,rcs&tjtjfdd}|_dS)Ncst|s tdj|jjf|j|j}xt|jjD]\}}|jkr|j |}|dkrt|j |}|||<|j |q>|j kr|j r|j |}|dkr|j |}|||<|j |q>||j|<|jr>|j|q>W|jr|jsg|_|jj|jdS)NzLParameter to MergeFrom() must be instance of same class: expected %s got %s.)r7rr0rrr@rhrirKrrYrrRrBrWrrAr)rrr$r/rPr)rSrarrrrs6          z&_AddMergeFromMethod..MergeFrom)r8rarSr)rrr)rSrarr_AddMergeFromMethods%rcsfdd}||_dS)Nc s`yj|}Wn tk r.td|YnX|jj|d}|dk rX|j|jrX|jSdSdS)zDReturns the name of the currently set field inside a oneof, or None.z)Protocol message has no oneof "%s" field.N)rr9rvrFrrcr)rZ oneof_namer/Z nested_field)rHrr WhichOneofsz(_AddWhichOneofMethod..WhichOneof)r)rHrrr)rHr_AddWhichOneofMethods rcCsdd}||_dS)NcSst|f|jfS)N)rI __getstate__)rrrr __reduce__sz$_AddReduceMethod..__reduce__)r)rrrrr_AddReduceMethodsrcCsi|_f|_i|_|jdS)N)r@rArFr)rrrr_Clear sr cCsXg|_xL|jD]@\}}|jtjkr|jtjkrHx|D] }|jq6Wq|jqWdS)N)rArrRr8rSrKraDiscardUnknownFields)rr/rPZ sub_messagerrr_DiscardUnknownFieldss   r"cCs|dkrtj|_n||_dS)N)rrrC)rZlistenerrrrr{s r{cCst||t||t|||jr4t|t|t||t||t||t ||t ||t ||t ||t ||t||t|t||t|t|_t|_t|_dS)z3Adds implementations of all Message methods to cls.N)rrrrrrrrrrrrrrrrrrr ZClearr"r!r{)rHrrrrr,$s*             r,cCs&dd}dd}||_||_||_dS)z5Adds implementation of private helper methods to cls.cSs(|js$d|_d|j_d|_|jjdS)zwSets the _cached_byte_size_dirty bit to true, and propagates this to our listener iff this was a state change. TN)r?rDrrBrCModified)rrrrr#As z*_AddPrivateHelperMethods..ModifiedcSs0|jj|j|}||k r,|j|=||j|j<dS)zSets field as the active field in its containing oneof. Will also delete currently active field in the oneof, if it is different from the argument. Does not mark the message as modified. N)rFrrWr@)rr/Z other_fieldrrrrPsz3_AddPrivateHelperMethods.._UpdateOneofStateN)rZ SetInParentr)rHrr#rrrrr->s  r-c@s eZdZdZddZddZdS)ra0MessageListener implementation that a parent message registers with its child message. In order to support semantics like: foo.bar.baz.qux = 23 assert foo.HasField('bar') ...child objects must have back references to their parents. This helper class is at the heart of this support. cCs*t|tjr||_n tj||_d|_dS)zArgs: parent_message: The message whose _Modified() method we should call when we receive Modified() messages. FN)r7weakref ProxyType_parent_message_weakrefproxyr)rparent_messagerrrr.ns  z_Listener.__init__c Cs2|jr dSy|jjWntk r,YnXdS)N)rr&rReferenceError)rrrrr#s z_Listener.ModifiedN)r0r1r2r3r.r#rrrrr`s rcs,eZdZdZfddZfddZZS)r|zCSpecial listener implementation for setting composite oneof fields.cstt|j|||_dS)zArgs: parent_message: The message whose _Modified() method we should call when we receive Modified() messages. field: The descriptor of the field being set in the parent message. N)rr|r._field)rr(r/)rrrr.sz_OneofListener.__init__c s:y |jj|jtt|jWntk r4YnXdS)zEAlso updates the state of the containing oneof in the parent message.N)r&rr*rr|r#r))r)rrrr#s z_OneofListener.Modified)r0r1r2r3r.r#r4rr)rrr|s r|c@sPeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ dS)rzDict-like container for supporting an indexable "Extensions" field on proto instances. Note that in all cases we expect extension handles to be FieldDescriptors. cCs ||_dS)zMextended_message: Message instance for which we are the Extensions dict. N)_extended_message)rZextended_messagerrrr.sz_ExtensionDict.__init__c Cst|j||jjj|}|dk r&|S|jtjkr@|j|j}nF|jtj kr|j j }y|j |jj Wqtk r|YqXn|jS|jjj||}|S)z8Returns the current value of the given extension handle.N)r=r+r@rrKr8rarYrRrSrMr&r{rDr)rr)rr<r}rrr __getitem__s     z_ExtensionDict.__getitem__cCsHt||jsdS|jj}|jj}dd|D}dd|D}||kS)NFcSsg|]}|jr|qSr)r:)rr/rrrrsz)_ExtensionDict.__eq__..cSsg|]}|jr|qSr)r:)rr/rrrrs)r7rr+r)rrZ my_fieldsZ other_fieldsrrrrs   z_ExtensionDict.__eq__cCs ||k S)Nr)rrrrr__ne__sz_ExtensionDict.__ne__cCs tddS)Nzunhashable object)r)rrrr__hash__sz_ExtensionDict.__hash__cCs\t|j||jtjks$|jtjkr2td|jt j |}|j ||jj |<|jj dS)zlIf extension_handle specifies a non-repeated, scalar extension field, sets the value of that field. zKCannot assign to extension "%s" because it is a repeated or composite type.N)r=r+rKr8rarRrSrrr rwrr@r)rr<rPryrrr __setitem__s     z_ExtensionDict.__setitem__cCs|jjj|dS)zTries to find a known extension with the specified name. Args: name: Extension full name. Returns: Extension field descriptor. N)r+rr)rrrrr_FindExtensionByNames z#_ExtensionDict._FindExtensionByNamecCs|jjj|dS)zTries to find a known extension with the field number. Args: number: Extension field number. Returns: Extension field descriptor. N)r+rr)rrVrrr_FindExtensionByNumbers z%_ExtensionDict._FindExtensionByNumberN) r0r1r2r3r.r,rr-r.r/r0r1rrrrrs!  r)Rr3 __author__iorrrr$rZgoogle.protobuf.internalrrrrrrrr r r rr rr rrZFieldDescriptorr8rrIrr6r=rrLrOrTr%rr'rXrfrr(rr)rrrrr*r+rrrrrrrrrrrrrrrrrrrrrrr r"r{r,r-objectrr|rrrrr1s             kC7 T ,8,  *& ( 1_, ".PK! ?protobuf/internal/__pycache__/api_implementation.cpython-36.pycnu[3 h)@sdZddlZddlZddlZyddlmZejZdZWne k rRd$ZdZYnXedkrde dedkry"ddl m Z e se d [ d ZWnRe k rydd lm Z [ Wn*e k rerejdd krd ZYnXYnXedkrd ndZejdeZed kr dZdejkr0edkr0ejdd ZejddZedkrVe dedeeZyddl mZdZWne k rdZYnXddZddZddZedkry ddlmZddZd d!ZWne k rYnXnda d"dZd#d!ZdS)%zLDetermine which implementation of the protobuf API is used in this process. N)_api_implementationTFz%api_version=1 is no longer supported.)_use_fast_cpp_protosz2_use_fast_cpp_protos import succeeded but was None)use_pure_pythonpythonZcppZ&PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATIONZPyPyz\PyPy does not work yet with cpp protocol buffers. Falling back to the python implementation.Z.PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION2z=unsupported PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION: "z" (supported versions: 2))(enable_deterministic_proto_serializationcCstS)N)_implementation_typer r (/usr/lib/python3.6/api_implementation.pyTypesrcCstS)N)_implementation_versionr r r r VersionsrcCstS)N))_python_deterministic_proto_serializationr r r r )IsPythonDefaultSerializationDeterministicsr)_messagecCstjS)N)r&GetPythonProto3PreserveUnknownsDefaultr r r r rsrcCstj|dS)N)r&SetPythonProto3PreserveUnknownsDefault)preserver r r rsrcCstS)N)(_python_proto3_preserve_unknowns_defaultr r r r rscCs|adS)N)r)rr r r rs)!__doc__oswarningssysZgoogle.protobuf.internalr api_versionZ _api_versionZ'_proto_extension_modules_exist_in_build ImportError ValueErrorZgoogle.protobufrr version_infoZ_default_implementation_typegetenvr versionwarnZ_implementation_version_strintrr rrrrZgoogle.protobuf.pyextrrrrr r r r  sv            PK!8Z;::Jprotobuf/internal/__pycache__/service_reflection_test.cpython-36.opt-1.pycnu[3 h  @s|dZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlmZGdddej Z e d krxej dS) z6Tests for google.protobuf.internal.service_reflection.zpetar@google.com (Petar Petrov)N) unittest_pb2)service_reflection)servicec@seZdZddZddZdS) FooUnitTestc sGdddtj}Gdddtj}d_Gdddtj}d_fdd}|}|}|}|j|tj|jd |j jdjd|_ tjj }|j |j d |tj |j|j|j d tj kj|j|j d tjkjd |j jdjGd d d tj} | }d|_ |j|tj|jd|j jd|jd|_ |j |j d |tj |jd|j jd|jdS)Nc@seZdZddZdS)z/FooUnitTest.testService..MockRpcChannelcSs||_||_||_||dS)N)method controllerrequest)selfrrrresponsecallbackr -/usr/lib/python3.6/service_reflection_test.py CallMethod3sz:FooUnitTest.testService..MockRpcChannel.CallMethodN)__name__ __module__ __qualname__rr r r r MockRpcChannel2src@seZdZddZdS)z2FooUnitTest.testService..MockRpcControllercSs ||_dS)N)failure_message)r msgr r r SetFailed:sz.MockRpcController.SetFailedN)rrrrr r r r MockRpcController9src@s eZdZdS)z*FooUnitTest.testService..MyServiceN)rrrr r r r MyService?srcs |_dS)N)callback_response)r )r r r MyCallbackDsz+FooUnitTest.testService..MyCallbackzMethod Foo not implemented.zMethod Bar not implemented.c@seZdZddZddZdS)z.FooUnitTest.testService..MyServiceImplcSs d|_dS)NT) foo_called)r rpc_controllerrdoner r r Foo]sz2FooUnitTest.testService..MyServiceImpl.FoocSs d|_dS)NT) bar_called)r rrrr r r Bar_sz2FooUnitTest.testService..MyServiceImpl.BarN)rrrrr r r r r MyServiceImpl\sr!T)r RpcChannelZ RpcControllerrrZ TestServicerZ FooRequest assertEqualr GetDescriptorrmethodsZ BarRequestZ assertTrueZGetRequestClassZGetResponseClassZ BarResponserr) r rrrrrchannelZsrvcZservice_descriptorr!r )r r testService1sF      zFooUnitTest.testServicecsGdddtj}d_fdd}|}tj|}d}d}jtjj|j|j|||jjtj j||j j||j j|jj d|j dS)Nc@seZdZddZdS)z3FooUnitTest.testServiceStub..MockRpcChannelcSs ||_||_||_||dS)N)rrr)r rrrZresponse_classr r r r rpsz>FooUnitTest.testServiceStub..MockRpcChannel.CallMethodN)rrrrr r r r rosrcs |_dS)N)r)r )r r r rysz/FooUnitTest.testServiceStub..MyCallbackrrr)rr"rrZTestService_Stubr#r$rZassertIsInstanceZ FooResponserrr%r)r rrr&Zstubrrr )r r testServiceStubns    zFooUnitTest.testServiceStubN)rrrr'r(r r r r r/s=r__main__) __doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrrrZTestCaserrmainr r r r  s    _PK!i~=protobuf/internal/__pycache__/message_listener.cpython-36.pycnu[3 h' @s,dZdZGdddeZGdddeZdS)zDefines a listener interface for observing certain state transitions on Message objects. Also defines a null implementation of this interface. z#robinson@google.com (Will Robinson)c@seZdZdZddZdS)MessageListeneraListens for modifications made to a message. Meant to be registered via Message._SetListener(). Attributes: dirty: If True, then calling Modified() would be a no-op. This can be used to avoid these calls entirely in the common case. cCstdS)aCalled every time the message is modified in such a way that the parent message may need to be updated. This currently means either: (a) The message was modified for the first time, so the parent message should henceforth mark the message as present. (b) The message's cached byte size became dirty -- i.e. the message was modified for the first time after a previous call to ByteSize(). Therefore the parent should also mark its byte size as dirty. Note that (a) implies (b), since new objects start out with a client cached size (zero). However, we document (a) explicitly because it is important. Modified() will *only* be called in response to one of these two events -- not every time the sub-message is modified. Note that if the listener's |dirty| attribute is true, then calling Modified at the moment would be a no-op, so it can be skipped. Performance- sensitive callers should check this attribute directly before calling since it will be true most of the time. N)NotImplementedError)selfr&/usr/lib/python3.6/message_listener.pyModified2szMessageListener.ModifiedN)__name__ __module__ __qualname____doc__rrrrrr(src@seZdZdZddZdS)NullMessageListenerz%No-op MessageListener implementation.cCsdS)Nr)rrrrrMszNullMessageListener.ModifiedN)rrr r rrrrrr Isr N)r __author__objectrr rrrr#s!PK!u##@protobuf/internal/__pycache__/type_checkers.cpython-36.opt-1.pycnu[3 h7$@sHdZdZddlZddlZejr"eZddlmZddlm Z ddlm Z ddlm Z ddl m Z e jZd d Zd d ZGd ddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZejeejeejeejeej edej!ej"edej!ej#ed e$ej%ej&ed!e'iZ(ej)e j*ej+e j,ej-e j.ej/e j0ej1e j2ej3e j4ej5e j6ej7e j8ej9e j:ej;e jej?e j@ejAe jBejCe jDejEe jFejGe jHejIe jJejKe jLiZMej)e jNej+e jOej-e jPej/e jQej1e jRej3e jSej5e jTej7e jUej9e jVej;e jWej=e jXej?e jYejAe jZejCe j[ejEe j\ejGe j]ejIe j^ejKe j_iZ`ej)e jaej+e jbej-e jcej/e jdej1e jeej3e jfej5e jgej7e jhej9e jiej;e jjej=e jkej?e jlejAe jmejCe jnejEe joejGe jpejIe jqejKe jriZsej)e jtej+e juej-e jvej/e jwej1e jxej3e jyej5e jzej7e j{ej9e j|ej;e j}ej=e j~ej?e jejAe jejCe jejEe jejGe jejIe jejKe jiZej)e jej+e jej-e jej/e jej1e jej3e jej5e jej7e jej9e jej;e jej=e jej?e jejAe jejCe jejEe jejGe jejIe jejKe jiZdS)"aProvides type checking routines. This module defines type checking utilities in the forms of dictionaries: VALUE_CHECKERS: A dictionary of field types and a value validation object. TYPE_TO_BYTE_SIZE_FN: A dictionary with field types and a size computing function. TYPE_TO_SERIALIZE_METHOD: A dictionary with field types and serialization function. FIELD_TYPE_TO_WIRE_TYPE: A dictionary with field typed and their coresponding wire types. TYPE_TO_DESERIALIZE_METHOD: A dictionary with field types and deserialization function. z#robinson@google.com (Will Robinson)N)api_implementation)decoder)encoder) wire_format) descriptorcCs |jjdkS)NZproto3)Zcontaining_typeZsyntax)Zfield_descriptorr#/usr/lib/python3.6/type_checkers.pySupportsOpenEnums>sr cCsP|jtjkr|jtjkrtS|jtjkrFt|r,s            PK! Eprotobuf/internal/__pycache__/api_implementation.cpython-36.opt-1.pycnu[3 h)@sdZddlZddlZddlZyddlmZejZdZWne k rRd$ZdZYnXedkrde dedkry"ddl m Z e se d [ d ZWnRe k rydd lm Z [ Wn*e k rerejdd krd ZYnXYnXedkrd ndZejdeZed kr dZdejkr0edkr0ejdd ZejddZedkrVe dedeeZyddl mZdZWne k rdZYnXddZddZddZedkry ddlmZddZd d!ZWne k rYnXnda d"dZd#d!ZdS)%zLDetermine which implementation of the protobuf API is used in this process. N)_api_implementationTFz%api_version=1 is no longer supported.)_use_fast_cpp_protosz2_use_fast_cpp_protos import succeeded but was None)use_pure_pythonpythonZcppZ&PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATIONZPyPyz\PyPy does not work yet with cpp protocol buffers. Falling back to the python implementation.Z.PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION2z=unsupported PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION: "z" (supported versions: 2))(enable_deterministic_proto_serializationcCstS)N)_implementation_typer r (/usr/lib/python3.6/api_implementation.pyTypesrcCstS)N)_implementation_versionr r r r VersionsrcCstS)N))_python_deterministic_proto_serializationr r r r )IsPythonDefaultSerializationDeterministicsr)_messagecCstjS)N)r&GetPythonProto3PreserveUnknownsDefaultr r r r rsrcCstj|dS)N)r&SetPythonProto3PreserveUnknownsDefault)preserver r r rsrcCstS)N)(_python_proto3_preserve_unknowns_defaultr r r r rscCs|adS)N)r)rr r r rs)!__doc__oswarningssysZgoogle.protobuf.internalr api_versionZ _api_versionZ'_proto_extension_modules_exist_in_build ImportError ValueErrorZgoogle.protobufrr version_infoZ_default_implementation_typegetenvr versionwarnZ_implementation_version_strintrr rrrrZgoogle.protobuf.pyextrrrrr r r r  sv            PK! 5@xpxp=protobuf/internal/__pycache__/json_format_test.cpython-36.pycnu[3 hġ @sdZdZddlZddlZddlZy ddlZWnek rHddlZYnXddlm Z ddlm Z ddlm Z ddlm Z ddlm Z dd lmZdd lmZdd lmZdd lmZdd lmZddlmZGdddejZGdddeZedkrejdS)z%Test for google.protobuf.json_format.zjieluo@google.com (Jie Luo)N)any_pb2) duration_pb2)field_mask_pb2) struct_pb2) timestamp_pb2) wrappers_pb2)unittest_mset_pb2) unittest_pb2)well_known_types) json_format)json_format_proto3_pb2c@s$eZdZddZddZddZdS)JsonFormatBasecCsXd|_d|_d|_d|_td|_d|_d|_d|_d|_ d |j _ t j |_|jjd |jjd|jjd |jjd|jjd |jjd|jjd |jjd|jjd|jjd|jjtd|jjd|jjd|jjd|jjd|jjd|jjdd |jj_ d|jj_ |jjt j|jjt j ||_dS)Nl~ tl4? z-infgo! @Tfoosbar illiilrgV瞯<infFzFew symbols!#$,;barsfoo iil) int32_value int64_value uint32_value uint64_valuefloat float_value double_value bool_value string_value bytes_value message_valuevaluer ZBAR enum_valuerepeated_int32_valueappendZrepeated_int64_valueZrepeated_uint32_valueZrepeated_uint64_valueZrepeated_float_valueZrepeated_double_valuerepeated_bool_valueZrepeated_string_valueZrepeated_bytes_valueZrepeated_message_valueaddZrepeated_enum_valueZFOOmessage)selfr%r'&/usr/lib/python3.6/json_format_test.py FillAllFields<sB                   zJsonFormatBase.FillAllFieldscCs"tjtj|||j||dS)N)r Parse MessageToJson assertEqual)r&r%parsed_messager'r'r(CheckParseBackas zJsonFormatBase.CheckParseBackcCs"tj}|jtj|tj||dS)N)r TestMessageassertRaisesRegexr ParseErrorr*)r&textZ error_messager%r'r'r( CheckErrorfs zJsonFormatBase.CheckErrorN)__name__ __module__ __qualname__r)r.r3r'r'r'r(r :s%r c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2daS)bJsonFormatTestcCs2tj}|jtj|dtj}|j||dS)Nz{})r r/r,r r+r.)r&r%r-r'r'r(testEmptyMessageToJsonps  z%JsonFormatTest.testEmptyMessageToJsoncCsHtjdddgd}|jtjtj|tjdtj}|j||dS)NZtestY)rr!z6{"stringValue": "test", "repeatedInt32Value": [89, 4]})r r/r,jsonloadsr r+r.)r&r%r-r'r'r(testPartialMessageToJsonws  z'JsonFormatTest.testPartialMessageToJsoncCsXtj}d}|j||jtjtj|tj|tj}tj|||j||dS)Na{"int32Value": 20, "int64Value": "-20", "uint32Value": 3120987654,"uint64Value": "12345678900","floatValue": "-Infinity","doubleValue": 3.1415,"boolValue": true,"stringValue": "foo","bytesValue": "YmFy","messageValue": {"value": 10},"enumValue": "BAR","repeatedInt32Value": [2147483647, -2147483648],"repeatedInt64Value": ["9007199254740992", "-9007199254740992"],"repeatedUint32Value": [268435455, 134217727],"repeatedUint64Value": ["9007199254740992", "9007199254740991"],"repeatedFloatValue": [0],"repeatedDoubleValue": [1e-15, "Infinity"],"repeatedBoolValue": [true, false],"repeatedStringValue": ["Few symbols!#$,;", "bar"],"repeatedBytesValue": ["Zm9v", "YmFy"],"repeatedMessageValue": [{"value": 10}, {"value": 11}],"repeatedEnumValue": ["FOO", "BAR"]}) r r/r)r,r;r<r r+r*)r&r%r2r-r'r'r(testAllFieldsToJsons   z"JsonFormatTest.testAllFieldsToJsoncCsHd}tj}d|_|jtj||tj}tj|||j||dS)Nz{ "enumValue": 999 }i)r r/r r,r r+r*)r&r2r%r-r'r'r(testUnknownEnumToJsonAndBacks  z+JsonFormatTest.testUnknownEnumToJsonAndBackcCsbtj}tjj}tjj}d|jj|_d|jj|_t j |}tj}t j |||j ||dS)Nr) rTestMessageSetContainerTestMessageSetExtension1message_set_extensionTestMessageSetExtension2 message_set Extensionsistrr r+r*r,)r&r%ext1ext2 message_textr-r'r'r(testExtensionToJsonAndBacks z)JsonFormatTest.testExtensionToJsonAndBackcCs|jdddS)Nz{"[extensionField]": {}}z8Message type proto3.TestMessage does not have extensions)r3)r&r'r'r(testExtensionErrorssz"JsonFormatTest.testExtensionErrorscCsbtj}tjj}tjj}d|jj|_d|jj|_t j |}tj}t j |||j ||dS)Nr@r) rrArBrCrDrErFrGrHr MessageToDict ParseDictr,)r&r%rIrJ message_dictr-r'r'r(testExtensionToDictAndBacks z)JsonFormatTest.testExtensionToDictAndBackcCsdtj}tjj}tjj}d|jj|_d|jj|_t j |}dddiddidi}|j ||dS)z&See go/proto3-json-spec for spec. r@rZ messageSetrGrH)z@[protobuf_unittest.TestMessageSetExtension1.messageSetExtension]z@[protobuf_unittest.TestMessageSetExtension2.messageSetExtension]N) rrArBrCrDrErFrGrHr rNr,)r&r%rIrJrPZ golden_dictr'r'r(/testExtensionSerializationDictMatchesProto3Specsz>JsonFormatTest.testExtensionSerializationDictMatchesProto3SpeccCsntj}tjj}tjj}d|jj|_d|jj|_t j |}d}d}d||f}|j t j |t j |dS)z&See go/proto3-json-spec for spec. r@rz>protobuf_unittest.TestMessageSetExtension1.messageSetExtensionz>protobuf_unittest.TestMessageSetExtension2.messageSetExtensionzZ{"messageSet": { "[%s]": { "i": 23 }, "[%s]": { "str": "foo" }}}N)rrArBrCrDrErFrGrHr r+r,r;r<)r&r%rIrJrKZ ext1_textZ ext2_textZ golden_textr'r'r(/testExtensionSerializationJsonMatchesProto3Specs z>JsonFormatTest.testExtensionSerializationJsonMatchesProto3SpeccCstj}tjddkrd|_nd|_|jdjd7_|jtj|dtj}|j ||d}tj |||j|j d dS) Nru& <" > \/

z & <" > \/s

zutf-8z;{ "stringValue": "&\n<\"\r>\b\t\f\\\u0001/\u2028\u2029" }z{"int32Value": "1"}) r r/sys version_infordecoder,r r+r.r*r)r&r%r-r2r'r'r(testJsonEscapeStrings  z#JsonFormatTest.testJsonEscapeStringcCsDtjdd}|jtjtj|dtjdtj}|j||dS)Nr)rTa{"repeatedStringValue": [],"stringValue": "foo","repeatedBoolValue": [],"repeatedUint32Value": [],"repeatedInt32Value": [],"enumValue": "FOO","int32Value": 0,"floatValue": 0,"int64Value": "0","uint32Value": 0,"repeatedBytesValue": [],"repeatedUint64Value": [],"repeatedDoubleValue": [],"bytesValue": "","boolValue": false,"repeatedEnumValue": [],"uint64Value": "0","doubleValue": 0,"repeatedFloatValue": [],"repeatedInt64Value": [],"repeatedMessageValue": []})r r/r,r;r<r r+r.)r&r%r-r'r'r(testAlwaysSeriliazes z"JsonFormatTest.testAlwaysSeriliazecCsZtj}tjd||j|jdtjd||j|jdtjd||j|jddS)Nz{"int32Value": -2.147483648e9}lz{"int32Value": 1e5}iz{"int32Value": 1.0}rUi)r r/r r*r,r)r&r%r'r'r(testIntegersRepresentedAsFloat-s   z-JsonFormatTest.testIntegersRepresentedAsFloatcCstj}|jtjtj|dtjdd|jd<d|jd<d|jd<d|jd<d|j d<d|j d<d|j d<d|j d<d|j d<d|j d<d|j d<d|j d<d|j djd<|jtjtj|dtjd tj}|j||dS) NTzj{"boolMap": {},"int32Map": {},"int64Map": {},"uint32Map": {},"uint64Map": {},"stringMap": {},"mapMap": {}}rUFrT1Znullz{"boolMap": {"false": 2, "true": 1},"int32Map": {"1": 2, "2": 3},"int64Map": {"1": 2, "2": 3},"uint32Map": {"1": 2, "2": 3},"uint64Map": {"1": 2, "2": 3},"stringMap": {"1": 2, "null": 3},"mapMap": {"1": {"boolMap": {"true": 3}}}})r Z TestNestedMapr,r;r<r r+Zbool_mapZ int32_mapZ int64_mapZ uint32_mapZ uint64_mapZ string_mapZmap_mapr.)r&r%r-r'r'r( testMapFields6s,             zJsonFormatTest.testMapFieldscCsNtj}|jtj|ddd|_|jtj|ddtj}|j||dS)NTz{}rz{ "oneofInt32Value": 0 })r TestOneofr,r r+Zoneof_int32_valuer.)r&r%r-r'r'r(testOneofFields^s  zJsonFormatTest.testOneofFieldscCsFtj}tjd||j|jdjdd|jdd|jdddS)Nz{"stringValue": "\uD83D\uDE01"}s😁zutf-8strictz{"stringValue": "\uD83D"}z*Invalid \\uXXXX escape|Unpaired.*surrogatez{"stringValue": "\uDE01"})r r/r r*r,rrXr3)r&r%r'r'r(testSurrogatesms zJsonFormatTest.testSurrogatescCs tj}d|j_d|j_d|jj_d|jd_d|jj_d|jd_d|jj_d|jd_d|jj_d|jd _d|jj_d|jd _|jtj t j |d tj d tj}|j ||d}t j |||j|jjd|j|jjd|j|jdjd|j|jdjddS)NrrrUi'ir\lAiɚ;rTlw#o9r:Tz{"value": "1970-01-01T00:00:00Z","repeatedValue": [ "1970-01-01T00:00:20.000000001Z", "1970-01-01T00:00:00.000010Z", "1973-03-03T09:46:40Z", "9999-12-31T23:59:59.999999999Z", "0001-01-01T00:00:00Z"]}z}{"value": "1970-01-01T00:00:00.01+08:00","repeatedValue":[ "1970-01-01T00:00:00.01+08:30", "1970-01-01T00:00:00.01-01:23"]}iig!@r@<lw#o9iig!gidit)r TestTimestamprsecondsnanosrepeated_valuer$r,r;r<r r+r.r*)r&r%r-r2r'r'r(testTimestampMessage~s0             z#JsonFormatTest.testTimestampMessagecCstj}d|j_d|jj_d|jd_d |jj_d |jd_d|jj_d|jd_d |jj_d|jj_|jtj t j |dtj d tj}|j ||dS) NrUrriiاr\ls%Tzs{"value": "1s","repeatedValue": [ "0.000000010s", "-1.000001s", "10.011s", "-315576000000s", "315576000000s"]}ils%) r Z TestDurationrrfrhr$rgr,r;r<r r+r.)r&r%r-r'r'r(testDurationMessages         z"JsonFormatTest.testDurationMessagecCsPtj}|jjjd|jjjd|jtj|ddtj}|j||dS)Nzfoo.barrTz{ "value": "foo.bar,bar" }) r Z TestFieldMaskrpathsr"r,r r+r.)r&r%r-r'r'r(testFieldMaskMessages z#JsonFormatTest.testFieldMaskMessagecCstj}d|j_d|j_d|j_d|j_d|jj_d|jj_|j j|j t j t j|dt j dtj}|j||dS)NFrTaR{ "int32Value": 0, "boolValue": false, "stringValue": "", "bytesValue": "", "repeatedBoolValue": [true, false], "repeatedInt32Value": [0], "repeatedUint32Value": [], "repeatedFloatValue": [], "repeatedDoubleValue": [], "repeatedBytesValue": [], "repeatedInt64Value": [], "repeatedUint64Value": [], "repeatedStringValue": []})r Z TestWrapperrrrrrr#r$r!r,r;r<r r+r.)r&r%r-r'r'r(testWrapperMessages    z!JsonFormatTest.testWrapperMessagecCstj}d|jd<d|jd<d|jd<d|jd<d|jjd d <d |jd d <|jjd }|jdddddgd|jd<d|jjd<|jj|j t j t j |dt j dtj}|j||dS)NJimnamerZageTZattendZemailZSFOZaddressZcityiZ house_numberlistZsevenF Zsubkey2ra{ "value": { "address": { "city": "SFO", "house_number": 1024 }, "age": 10, "name": "Jim", "attend": true, "email": null, "list": [6, "seven", true, false, null, {"subkey2": 9}] }, "repeatedValue": [{"age": 11}, {}]})r TestStructrZget_or_create_structZget_or_create_listextendZ add_structrhr$r,r;r<r r+r.)r&r%Z struct_listr-r'r'r(testStructMessages$       z JsonFormatTest.testStructMessagecCstj}d|j_d|jj_d|jj_d|jj_|j t j t j |dt j dtj}|j|||jj|j t j t j |dt j d|jt jd||j |jjdd dS) Nhellog333333&@Frz;{ "value": "hello", "repeatedValue": [11.1, false, null]}zA{ "value": "hello", "repeatedValue": [11.1, false, null, null]}z{"value": null}Zkind null_value)r Z TestValuerrrhr$ number_valuerrzr,r;r<r r+r.Clearr*Z WhichOneof)r&r%r-r'r'r(testValueMessage s&      zJsonFormatTest.testValueMessagecCstj}d|jjj_d|jjj_d|jjj_d|jjj_d|jjjj d<d|j jjj_|j j|j t j tj|dt j d tj}|j||dS) Ng333333&@rTryrqrrrUFzS{"value": [11.1, null, true, "hello", {"name": "Jim"}] ,"repeatedValue": [[1], []]})r TestListValuervaluesr$r{rzrrZ struct_valuerhr,r;r<r r+r.)r&r%r-r'r'r(testListValueMessage&s z#JsonFormatTest.testListValueMessagec Cstj}tj}tj}d|_d|_|jj||jjj||jjj||jj|jtj t j |dtj dtj}|j ||tj ddd ddddd}|j|jj||jt j |d d d d dS)Nii.Ta{ "repeatedValue": [ { "@type": "type.googleapis.com/proto3.MessageType", "value": 1234 }, { "@type": "type.googleapis.com/proto3.MessageType", "value": 5678 }, {}], "value": { "@type": "type.googleapis.com/proto3.MessageType", "value": 1234 } } rgQ @r)rrrrrrrFrDzD{ "value": { "@type": "type.googleapis.com/proto3.TestMessage"i)r TestAnyZ MessageTyperPackrhr$r,r;r<r r+r.r/r|)r&r%Zvalue1Zvalue2r-Z test_messager'r'r(testAnyMessage7s8    zJsonFormatTest.testAnyMessagec Cstj}tj}d|_|j||jtjt j |dtjdtj}|j ||t j }|j||jtjt j |dtjd|j ||tj}d|_|j||jtjt j |dtjd|j ||tj}|jjd|jjd|j||jtjt j |dtjd |j ||tj}d |d <|j||jtjt j |dtjd |j ||tj}d |_|j||j||jtjt j |dtjd|j ||dS)NiTzQ{ "@type": "type.googleapis.com/google.protobuf.Int32Value", "value": 1234 } zb{ "@type": "type.googleapis.com/google.protobuf.Timestamp", "value": "1970-01-01T00:00:00Z" } rUzO{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1s" } zfoo.barrzY{ "@type": "type.googleapis.com/google.protobuf.FieldMask", "value": "foo.bar,bar" } rqrrzX{ "@type": "type.googleapis.com/google.protobuf.Struct", "value": {"name": "Jim"} } i.z{ "@type": "type.googleapis.com/google.protobuf.Any", "value": { "@type": "type.googleapis.com/google.protobuf.Int32Value", "value": 5678 } } )rAnyrZ Int32Valuerrr,r;r<r r+r.rZ TimestamprZDurationrfrZ FieldMaskrlr"rStruct) r&r%rr-Z timestampZdurationZ field_maskZstruct_messageZ nested_anyr'r'r(testWellKnownInAnyMessageesf              z(JsonFormatTest.testWellKnownInAnyMessagecCstj}tj}|j|tjd||j|||j|jdtjd||j|jd|j tj dtjd||j dddS)Na{"int32Value": null, "int64Value": null, "uint32Value": null,"uint64Value": null,"floatValue": null,"doubleValue": null,"boolValue": null,"stringValue": null,"bytesValue": null,"messageValue": null,"enumValue": null,"repeatedInt32Value": null,"repeatedInt64Value": null,"repeatedUint32Value": null,"repeatedUint64Value": null,"repeatedFloatValue": null,"repeatedDoubleValue": null,"repeatedBoolValue": null,"repeatedStringValue": null,"repeatedBytesValue": null,"repeatedMessageValue": null,"repeatedEnumValue": null}rz{"messageValue": {}}zkFailed to parse repeatedInt32Value field: null is not allowed to be used as an element in a repeated field.z {"repeatedInt32Value":[1, null]}z{"repeatedMessageValue":[null]}zmFailed to parse repeatedMessageValue field: null is not allowed to be used as an element in a repeated field.) r r/r)r r*r,Z assertFalseZHasField assertTruer0r1r3)r&r%r-r'r'r( testParseNulls"   zJsonFormatTest.testParseNullcCsRtj}td|_d}|jtj||tj}tj|||jt j |jdS)Nnanz{ "floatValue": "NaN" }) r r/rrr,r r+r*rmathZisnan)r&r%r2r-r'r'r( testNanFloats  zJsonFormatTest.testNanFloatcCs|jdddS)Nrnz1Failed to load JSON: (Expecting value)|(No JSON).)r3)r&r'r'r(testParseEmptyTextsz!JsonFormatTest.testParseEmptyTextcCsftj}d}tj||d}tj|||jddd}tj||tj}|jtjdtjd|dS)Nz{"enumValue": 0}z{"enumValue": 1}z{"enumValue": "baz"}zVFailed to parse enumValue field: Invalid enum value baz for enum type proto3.EnumType.z{"enumValue": 12345}z{Failed to parse optionalNestedEnum field: Invalid enum value 12345 for enum type protobuf_unittest.TestAllTypes.NestedEnum.z{"optionalNestedEnum": 12345}) r r/r r*r3r Z TestAllTypesr0r1)r&r%r2r'r'r(testParseEnumValues   z!JsonFormatTest.testParseEnumValuecCs|jdd|jdddS)Nz{int32Value: 1}zQFailed to load JSON: Expecting property name( enclosed in double quotes)?: line 1z{"unknownName": 1}zCMessage type "proto3.TestMessage" has no field named "unknownName".)r3)r&r'r'r(testParseBadIdentifersz$JsonFormatTest.testParseBadIdentifercCs<d}tj}tj||ddd}tj}tj||dddS)Nz{"unknownName": 1}T)Zignore_unknown_fieldszl{ "repeatedValue": [ { "@type": "type.googleapis.com/proto3.MessageType", "unknownName": 1 }] } )r r/r r*r)r&r2r-r'r'r(testIgnoreUnknownField s z%JsonFormatTest.testIgnoreUnknownFieldcCstjdkrdS|jdddS)Nr\z!{"int32Value": 1, "int32Value":2}z.Failed to load JSON: duplicate key int32Value.)r\r)rVrWr3)r&r'r'r(testDuplicateFields z!JsonFormatTest.testDuplicateFieldcCs|jdd|jdddS)Nz{"boolValue": 1}zGFailed to parse boolValue field: Expected true or false without quotes.z{"boolValue": "true"})r3)r&r'r'r(testInvalidBoolValuesz#JsonFormatTest.testInvalidBoolValuecCsltj}d}|jtjtj|||jdd|jdd|jdd|jdd |jd d |jd d dS)Nz{"int32Value": 0x12345}z{"int32Value": 1.5}z>Failed to parse int32Value field: Couldn't parse integer: 1.5.z{"int32Value": 012345}z9Failed to load JSON: Expecting \'?,\'? delimiter: line 1.z{"int32Value": " 1 "}z@Failed to parse int32Value field: Couldn't parse integer: " 1 ".z{"int32Value": "1 "}z?Failed to parse int32Value field: Couldn't parse integer: "1 ".z${"int32Value": 12345678901234567890}zKFailed to parse int32Value field: Value out of range: 12345678901234567890.z{"uint32Value": -1}z:Failed to parse uint32Value field: Value out of range: -1.)r r/Z assertRaisesr r1r*r3)r&r%r2r'r'r(testInvalidIntegerValue's  z&JsonFormatTest.testInvalidIntegerValuecCs|jdddS)Nz{"floatValue": "nan"}zPFailed to parse floatValue field: Couldn't parse float "nan", use "NaN" instead.)r3)r&r'r'r(testInvalidFloatValue?sz$JsonFormatTest.testInvalidFloatValuecCs|jdd|jdddS)Nz{"bytesValue": "AQI"}z4Failed to parse bytesValue field: Incorrect padding.z{"bytesValue": "AQI*"})r3)r&r'r'r(testInvalidBytesValueDsz$JsonFormatTest.testInvalidBytesValuecCs|jdddS)Nz{"repeatedInt32Value": 12345}zkFailed to parse repeatedInt32Value field: repeated field repeatedInt32Value must be in \[\] which is 12345.)r3)r&r'r'r(testInvalidRepeatedJsz"JsonFormatTest.testInvalidRepeatedcCstj}d}|jtjdtj||d}|jtjdtj||d}|jtjdtj||tjd krddSd }|jtjd tj||d }|jtjd tj||dS)Nz!{"int32Map": {"null": 2, "2": 3}}z/Failed to parse int32Map field: invalid literalz{"int32Map": {1: 2, "2": 3}}zQFailed to load JSON: Expecting property name( enclosed in double quotes)?: line 1z{"boolMap": {"null": 1}}zDFailed to parse boolMap field: Expected "true" or "false", not null.r\rz${"stringMap": {"a": 3, "\u0061": 2}}z$Failed to load JSON: duplicate key az{"stringMap": 0}zSFailed to parse stringMap field: Map field string_map must be in a dict which is 0.)r\r)r ZTestMapr0r r1r*rVrW)r&r%r2r'r'r(testInvalidMapOs8     zJsonFormatTest.testInvalidMapcCstj}d}|jtjdtj||d}|jtjdtj||d}|jtjdtj||d}|jtjdtj||d |j_|jt d tj |dS) Nz%{"value": "10000-01-01T00:00:00.00Z"}zKtime data '10000-01-01T00:00:00' does not match format '%Y-%m-%dT%H:%M:%S'.z/{"value": "1970-01-01T00:00:00.0123456789012Z"}z2nanos 0123456789012 more than 9 fractional digits.z&{"value": "1972-01-01T01:00:00.01+08"}z$Invalid timezone offset value: \+08.z!{"value": "0000-01-01T00:00:00Z"}z7Failed to parse value field: year (0 )?is out of range.lAzdate value out of range) r rer0r r1r*r rrf OverflowErrorr+)r&r%r2r'r'r(testInvalidTimestampos4    z#JsonFormatTest.testInvalidTimestampcCs&tj}d}|jtjdtj||dS)Nz/{"oneofInt32Value": 1, "oneofStringValue": "2"}zTMessage type "proto3.TestOneof" should not have multiple "oneof_value" oneof fields.)r r_r0r r1r*)r&r%r2r'r'r(testInvalidOneofs zJsonFormatTest.testInvalidOneofcCs&tj}d}|jtjdtj||dS)Nz{"value": 1234}zDFailed to parse value field: ListValue must be in \[\] which is 1234)r r~r0r r1r*)r&r%r2r'r'r(testInvalidListValues z#JsonFormatTest.testInvalidListValuecCs&tj}d}|jtjdtj||dS)Nz{"value": 1234}zCFailed to parse value field: Struct must be in a dict which is 1234)r rvr0r r1r*)r&r%r2r'r'r(testInvalidStructs z JsonFormatTest.testInvalidStructcCsftj}d}|jtdtj||d}|jtjdtj||d}|jtdtj||d}tj||dS)Nz;{"@type": "type.googleapis.com/google.protobuf.Int32Value"}rz{"value": 1234}z*@type is missing when parsing any message.z?{"@type": "type.googleapis.com/MessageNotExist", "value": 1234}zQCan not find message descriptor by type_url: type.googleapis.com/MessageNotExist.zN{"@type": "incorrect.googleapis.com/google.protobuf.Int32Value","value": 1234})rrr0KeyErrorr r*r1 TypeError)r&r%r2r'r'r(testInvalidAnys$   zJsonFormatTest.testInvalidAnycCstj}d|_|jdtj||jdtj|ddtj}|jdtj|dd|jdtj|ddtj}tjd||jd |jtjd ||jd|jdS) Ni90z{ "int32Value": 12345 }z{ "int32_value": 12345 }FTz{ "repeatedValue": [] }z{ "repeated_value": [] }z{"int32Value": 54321}i1z{"int32_value": 12345})r r/rr,r r+rer*)r&r%r'r'r(testPreservingProtoFieldNamess    z,JsonFormatTest.testPreservingProtoFieldNamescCs(tj}d|_|jdtj|dddS)Ni90z{ "int32Value": 12345 }r)indent)r r/rr,r r+)r&r%r'r'r( testIndentszJsonFormatTest.testIndentcCs2d}d|i}tj}tj|||j||jdS)Ni90 int32Value)r r/r rOr,r)r&expectedZjs_dictr%r'r'r( testParseDicts  zJsonFormatTest.testParseDictcCs,tj}d|_ddi}|j|tj|dS)Ni90r)r r/rr,r rN)r&r%rr'r'r(testMessageToDicts z JsonFormatTest.testMessageToDictcCs8tj}d|_|jdtj|tj}|j||dS)Ni90z{ "@value": 12345 })r ZTestCustomJsonNamerr,r r+r.)r&r%r-r'r'r( testJsonNames  zJsonFormatTest.testJsonNamec CsFtjdddddd}|jtj|ddtjdddddd d dd dS) NTrUrTr:Zbla)rrrrr) sort_keys3)Z boolValuerZ int64ValueZ uint32ValueZ stringValuer\)rr)r r/r,r r+r;dumps)r&r%r'r'r( testSortKeyss  zJsonFormatTest.testSortKeysN)3r4r5r6r8r=r>r?rLrMrQrRrSrYrZr[r^r`rbrirkrmrprxr}rrrrrrrrrrrrrrrrrrrrrrrrrrrr'r'r'r(r7ns` !    (( !.O-    r7__main__)__doc__ __author__r;rrVZ unittest2Zunittest ImportErrorZgoogle.protobufrrrrrrrr Zgoogle.protobuf.internalr r Zgoogle.protobuf.utilr ZTestCaser r7r4mainr'r'r'r( s<            4 PK!>;;Fprotobuf/internal/__pycache__/more_extensions_pb2.cpython-36.opt-1.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZdZejdddddddddddddddedZdZejdddddddddddddddedZdZejddddddddgddddddedZdZejdd ddddddgddddddedZejd!d"dedejd#d$dddddddddddddedggggddd ggd%d&d'Zejd(d)dedggggddd d5ggd+d,d'Zejd-d.dedejd/d0dddddddddddddedggggddd ggd1d2d'Zeejd#_eej d!<eej d(<eej d-<eej!d<eej!d<eej!d<eej!d<ej"ee j#d!ej$fe%ed3d4Z&ej'e&e j#d(ej$fe%ed3d4Z(ej'e(e j#d-ej$fe%ed3d4Z)ej'e)e(j*eee_e(j*ee(j*eee_e(j*edS)6NcCs|S)N)xrr)/usr/lib/python3.6/more_extensions_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z.google/protobuf/internal/more_extensions.protozgoogle.protobuf.internalZproto2ut .google/protobuf/internal/more_extensions.protogoogle.protobuf.internal"P TopLevelMessage= submessage ( 2).google.protobuf.internal.ExtendedMessage" ExtendedMessage*€€€€"- ForeignMessage foreign_message_int (:I optional_int_extension).google.protobuf.internal.ExtendedMessage (:w optional_message_extension).google.protobuf.internal.ExtendedMessage ( 2(.google.protobuf.internal.ForeignMessage:I repeated_int_extension).google.protobuf.internal.ExtendedMessage (:w repeated_message_extension).google.protobuf.internal.ExtendedMessage ( 2(.google.protobuf.internal.ForeignMessage)namepackagesyntaxZ serialized_pboptional_int_extensionz/google.protobuf.internal.optional_int_extensionFT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileoptional_message_extensionz3google.protobuf.internal.optional_message_extension repeated_int_extensionz/google.protobuf.internal.repeated_int_extensionrepeated_message_extensionz3google.protobuf.internal.repeated_message_extensionTopLevelMessagez(google.protobuf.internal.TopLevelMessageZ submessagez3google.protobuf.internal.TopLevelMessage.submessageL)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endExtendedMessagez(google.protobuf.internal.ExtendedMessage ForeignMessagez'google.protobuf.internal.ForeignMessageZforeign_message_intz;google.protobuf.internal.ForeignMessage.foreign_message_intz,google.protobuf.internal.more_extensions_pb2) DESCRIPTOR __module__)rr()+sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr.Z#OPTIONAL_INT_EXTENSION_FIELD_NUMBERZFieldDescriptorrZ'OPTIONAL_MESSAGE_EXTENSION_FIELD_NUMBERrZ#REPEATED_INT_EXTENSION_FIELD_NUMBERrZ'REPEATED_MESSAGE_EXTENSION_FIELD_NUMBERr!Z DescriptorZ_TOPLEVELMESSAGEZ_EXTENDEDMESSAGEZ_FOREIGNMESSAGEZfields_by_namerZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr"ZRegisterMessager'r+ZRegisterExtensionrrrrs                               PK!=L  Eprotobuf/internal/__pycache__/proto_builder_test.cpython-36.opt-1.pycnu[3 h@sdZyddlmZWn ek r4ddlmZYnXy ddlZWnek r^ddlZYnXddlmZddlm Z ddlm Z ddlm Z Gdd d ej Z ed krejdS) z(Tests for google.protobuf.proto_builder.) OrderedDictN)descriptor_pb2)descriptor_pool) proto_builder) text_formatc@s,eZdZddZddZddZddZd S) ProtoBuilderTestcCs.tdtjjfdtjjfg|_t|j|_dS)Nfoobar)rrZFieldDescriptorProtoZ TYPE_INT64Z TYPE_STRINGordered_fieldsdict_fields)selfr(/usr/lib/python3.6/proto_builder_test.pysetUp3s zProtoBuilderTest.setUpcCs8tj|jdd}|}d|_d|_|jdtj|dS)z&Test that we can create a proto class.z0net.proto2.python.public.proto_builder_test.Test) full_namei90asdfzbar: "asdf" foo: 12345 N)rMakeSimpleProtoClassr rr assertMultiLineEqualrMessageToString)r proto_clsprotorrrtestMakeSimpleProtoClass:sz)ProtoBuilderTest.testMakeSimpleProtoClasscCs8tj|jdd}|}d|_d|_|jdtj|dS)zBTest that the field order is maintained when given an OrderedDict.z7net.proto2.python.public.proto_builder_test.OrderedTest)ri90rzfoo: 12345 bar: "asdf" N)rrr rr rrr)r rrrrrtestOrderedFieldsEsz"ProtoBuilderTest.testOrderedFieldscCs@tj}tj|jd|d}tj|jd|d}|j|j|jdS)z%Test that the DescriptorPool is used.z0net.proto2.python.public.proto_builder_test.Test)rpoolN)rZDescriptorPoolrrr ZassertIsZ DESCRIPTOR)r rZ proto_cls1Z proto_cls2rrrtestMakeSameProtoClassTwicePsz,ProtoBuilderTest.testMakeSameProtoClassTwiceN)__name__ __module__ __qualname__rrrrrrrrr1s  r__main__)__doc__ collectionsr ImportErrorZ ordereddictZ unittest2ZunittestZgoogle.protobufrrrrZTestCaserrmainrrrr s     -PK!=L  ?protobuf/internal/__pycache__/proto_builder_test.cpython-36.pycnu[3 h@sdZyddlmZWn ek r4ddlmZYnXy ddlZWnek r^ddlZYnXddlmZddlm Z ddlm Z ddlm Z Gdd d ej Z ed krejdS) z(Tests for google.protobuf.proto_builder.) OrderedDictN)descriptor_pb2)descriptor_pool) proto_builder) text_formatc@s,eZdZddZddZddZddZd S) ProtoBuilderTestcCs.tdtjjfdtjjfg|_t|j|_dS)Nfoobar)rrZFieldDescriptorProtoZ TYPE_INT64Z TYPE_STRINGordered_fieldsdict_fields)selfr(/usr/lib/python3.6/proto_builder_test.pysetUp3s zProtoBuilderTest.setUpcCs8tj|jdd}|}d|_d|_|jdtj|dS)z&Test that we can create a proto class.z0net.proto2.python.public.proto_builder_test.Test) full_namei90asdfzbar: "asdf" foo: 12345 N)rMakeSimpleProtoClassr rr assertMultiLineEqualrMessageToString)r proto_clsprotorrrtestMakeSimpleProtoClass:sz)ProtoBuilderTest.testMakeSimpleProtoClasscCs8tj|jdd}|}d|_d|_|jdtj|dS)zBTest that the field order is maintained when given an OrderedDict.z7net.proto2.python.public.proto_builder_test.OrderedTest)ri90rzfoo: 12345 bar: "asdf" N)rrr rr rrr)r rrrrrtestOrderedFieldsEsz"ProtoBuilderTest.testOrderedFieldscCs@tj}tj|jd|d}tj|jd|d}|j|j|jdS)z%Test that the DescriptorPool is used.z0net.proto2.python.public.proto_builder_test.Test)rpoolN)rZDescriptorPoolrrr ZassertIsZ DESCRIPTOR)r rZ proto_cls1Z proto_cls2rrrtestMakeSameProtoClassTwicePsz,ProtoBuilderTest.testMakeSameProtoClassTwiceN)__name__ __module__ __qualname__rrrrrrrrr1s  r__main__)__doc__ collectionsr ImportErrorZ ordereddictZ unittest2ZunittestZgoogle.protobufrrrrZTestCaserrmainrrrr s     -PK!I2 Eprotobuf/internal/__pycache__/test_bad_identifiers_pb2.cpython-36.pycnu[3 h7@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZdd lmZe jZejd ddeddZdZejddddddddedjdddddddedZdZejddddddddedjdddddddedZdZejd d!d"ddddded#jdddddddedZd$Zejd%d&dd$dddded'jdddddddedZ ejd(d)dedggggddddsrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)service)service_reflection)descriptor_pb2z3google/protobuf/internal/test_bad_identifiers.protoZprotobuf_unittestZproto2u 3google/protobuf/internal/test_bad_identifiers.protoprotobuf_unittest" TestBadIdentifiers*d€€€€" AnotherMessage2 AnotherService:; message%.protobuf_unittest.TestBadIdentifiersd ( :foo:> descriptor%.protobuf_unittest.TestBadIdentifierse ( :bar:> reflection%.protobuf_unittest.TestBadIdentifiersf ( :baz:; service%.protobuf_unittest.TestBadIdentifiersg ( :quxB)namepackagesyntaxZ serialized_pbdr zprotobuf_unittest.message TZfoozutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileer zprotobuf_unittest.descriptorZbarfr zprotobuf_unittest.reflectionZbazgr zprotobuf_unittest.serviceZquxTestBadIdentifiersz$protobuf_unittest.TestBadIdentifiers Jh)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsserialized_startserialized_endAnotherMessagez protobuf_unittest.AnotherMessageFjzz1google.protobuf.internal.test_bad_identifiers_pb2) DESCRIPTOR __module__uAnotherServicez protobuf_unittest.AnotherService|)rrrrrr&r'methodsAnotherService_Stub)rr!)4sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser Z_servicerrZDefaultZ_sym_dbZFileDescriptorr+ZMESSAGE_FIELD_NUMBERZFieldDescriptordecodeZDESCRIPTOR_FIELD_NUMBERZREFLECTION_FIELD_NUMBERZSERVICE_FIELD_NUMBERZ DescriptorZ_TESTBADIDENTIFIERSZ_ANOTHERMESSAGEZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr ZRegisterMessager(ZRegisterExtensionZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsZServiceDescriptorZ_ANOTHERSERVICEZRegisterServiceDescriptorZservices_by_nameZGeneratedServiceTypeZServicer-ZGeneratedServiceStubTyper1rrrrs                               PK!-l>protobuf/internal/__pycache__/wire_format.cpython-36.opt-1.pycnu[3 h @sdZdZddlZddlmZddlmZdZde>dZdZdZ dZ dZ d Z d Z d ZedMZedOZdQZdSZdUZdWZdZdZdZdZejed kredejedkredddZddZddZddZddZ d d!Z!d"d#Z"d$d%Z#d&d'Z$d(d)Z%d*d+Z&d,d-Z'd.d/Z(d0d1Z)d2d3Z*d4d5Z+d6d7Z,d8d9Z-d:d;Z.dd?Z0d@dAZ1dBdCZ2dDdEZ3dFdGZ4dHdIZ5ej6j7ej6j8ej6j9ej6j:fZ;dJdKZ|BS)aReturns an unsigned 32-bit integer that encodes the field number and wire type information in standard protocol message wire format. Args: field_number: Expected to be an integer in the range [1, 1 << 29) wire_type: One of the WIRETYPE_* constants. rzUnknown wire type: %d) _WIRETYPE_MAXr EncodeError TAG_TYPE_BITS) field_numberZ wire_typer!/usr/lib/python3.6/wire_format.pyPackTagPsrcCs|t?|t@fS)zkThe inverse of PackTag(). Given an unsigned 32-bit number, returns a (field_number, wire_type) tuple. )r TAG_TYPE_MASK)tagrrr UnpackTag]srcCs|dkr|d>S|d>dAS)zZigZag Transform: Encodes signed integers so that they can be effectively used with varint encoding. See wire_format.h for more details. rrr)valuerrr ZigZagEncodedsrcCs|d@s|d?S|d?dAS)zInverse of ZigZagEncode().rrrr)rrrr ZigZagDecodensrcCs t||S)N) Int64ByteSize)rint32rrr Int32ByteSizezsrcCs td|@S)Nl)_VarUInt64ByteSizeNoTag)rrrrInt32ByteSizeNoTag~sr cCst|d|@S)Nl)UInt64ByteSize)rint64rrrrsrcCs t||S)N)r!)rZuint32rrrUInt32ByteSizesr#cCst|t|S)N) TagByteSizer)ruint64rrrr!sr!cCst|t|S)N)r#r)rrrrrSInt32ByteSizesr&cCst|t|S)N)r!r)rr"rrrSInt64ByteSizesr'cCs t|dS)Nr)r$)rZfixed32rrrFixed32ByteSizesr(cCs t|dS)Nr )r$)rZfixed64rrrFixed64ByteSizesr)cCs t|dS)Nr)r$)rZsfixed32rrrSFixed32ByteSizesr*cCs t|dS)Nr )r$)rZsfixed64rrrSFixed64ByteSizesr+cCs t|dS)Nr)r$)rZfltrrr FloatByteSizesr,cCs t|dS)Nr )r$)rZdoublerrrDoubleByteSizesr-cCs t|dS)Nr)r$)rbrrr BoolByteSizesr/cCs t||S)N)r#)renumrrr EnumByteSizesr1cCst||jdS)Nzutf-8) BytesByteSizeencode)rstringrrrStringByteSizesr5cCst|tt|t|S)N)r$rlen)rr.rrrr2sr2cCsdt||jS)Nr)r$ByteSize)rrrrr GroupByteSizes r8cCst|t|j|jS)N)r$rr7)rrrrrMessageByteSizesr9cCsHdtdtdtd}|t|7}|j}|t|7}||7}|S)Nrrr)r$rr7)rmsgZ total_sizeZ message_sizerrrMessageSetItemByteSizes   r;cCstt|dS)zEReturns the bytes required to serialize a tag with this field number.r)rr)rrrrr$sr$cCs|dkr dS|dkrdS|dkr$dS|dkr0dS|d krst       PK!F@. . Hprotobuf/internal/__pycache__/file_options_test_pb2.cpython-36.opt-1.pycnu[3 h @stddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lm Zejd d d edejgdZdZejdddddddddddddddedZejdddedejddddddddedjdddddddedggggddd ggd d!d"Zeejd<eejd<ejee jdejfeed#d$Zejeee_ ej!j"edS)%NcCs|S)N)xrr+/usr/lib/python3.6/file_options_test_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z0google/protobuf/internal/file_options_test.protozgoogle.protobuf.python.internalZproto2u 0google/protobuf/internal/file_options_test.protogoogle.protobuf.python.internal google/protobuf/descriptor.proto" FooOptions foo_name ( :a foo_options.google.protobuf.FileOptions¬ì¶9 ( 2+.google.protobuf.python.internal.FooOptions)namepackagesyntaxZ serialized_pbZ dependenciesi,- foo_optionsz+google.protobuf.python.internal.foo_options FT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile FooOptionsz*google.protobuf.python.internal.FooOptionsZfoo_namez3google.protobuf.python.internal.FooOptions.foo_name zutf-8w)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz.google.protobuf.internal.file_options_test_pb2) DESCRIPTOR __module__)#sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZ'google_dot_protobuf_dot_descriptor__pb2ZFileDescriptorr#ZFOO_OPTIONS_FIELD_NUMBERZFieldDescriptorrZ DescriptordecodeZ _FOOOPTIONSZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerZ FileOptionsZRegisterExtensionrrrrsl              PK!8Z;::Dprotobuf/internal/__pycache__/service_reflection_test.cpython-36.pycnu[3 h  @s|dZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlmZGdddej Z e d krxej dS) z6Tests for google.protobuf.internal.service_reflection.zpetar@google.com (Petar Petrov)N) unittest_pb2)service_reflection)servicec@seZdZddZddZdS) FooUnitTestc sGdddtj}Gdddtj}d_Gdddtj}d_fdd}|}|}|}|j|tj|jd |j jdjd|_ tjj }|j |j d |tj |j|j|j d tj kj|j|j d tjkjd |j jdjGd d d tj} | }d|_ |j|tj|jd|j jd|jd|_ |j |j d |tj |jd|j jd|jdS)Nc@seZdZddZdS)z/FooUnitTest.testService..MockRpcChannelcSs||_||_||_||dS)N)method controllerrequest)selfrrrresponsecallbackr -/usr/lib/python3.6/service_reflection_test.py CallMethod3sz:FooUnitTest.testService..MockRpcChannel.CallMethodN)__name__ __module__ __qualname__rr r r r MockRpcChannel2src@seZdZddZdS)z2FooUnitTest.testService..MockRpcControllercSs ||_dS)N)failure_message)r msgr r r SetFailed:sz.MockRpcController.SetFailedN)rrrrr r r r MockRpcController9src@s eZdZdS)z*FooUnitTest.testService..MyServiceN)rrrr r r r MyService?srcs |_dS)N)callback_response)r )r r r MyCallbackDsz+FooUnitTest.testService..MyCallbackzMethod Foo not implemented.zMethod Bar not implemented.c@seZdZddZddZdS)z.FooUnitTest.testService..MyServiceImplcSs d|_dS)NT) foo_called)r rpc_controllerrdoner r r Foo]sz2FooUnitTest.testService..MyServiceImpl.FoocSs d|_dS)NT) bar_called)r rrrr r r Bar_sz2FooUnitTest.testService..MyServiceImpl.BarN)rrrrr r r r r MyServiceImpl\sr!T)r RpcChannelZ RpcControllerrrZ TestServicerZ FooRequest assertEqualr GetDescriptorrmethodsZ BarRequestZ assertTrueZGetRequestClassZGetResponseClassZ BarResponserr) r rrrrrchannelZsrvcZservice_descriptorr!r )r r testService1sF      zFooUnitTest.testServicecsGdddtj}d_fdd}|}tj|}d}d}jtjj|j|j|||jjtj j||j j||j j|jj d|j dS)Nc@seZdZddZdS)z3FooUnitTest.testServiceStub..MockRpcChannelcSs ||_||_||_||dS)N)rrr)r rrrZresponse_classr r r r rpsz>FooUnitTest.testServiceStub..MockRpcChannel.CallMethodN)rrrrr r r r rosrcs |_dS)N)r)r )r r r rysz/FooUnitTest.testServiceStub..MyCallbackrrr)rr"rrZTestService_Stubr#r$rZassertIsInstanceZ FooResponserrr%r)r rrr&Zstubrrr )r r testServiceStubns    zFooUnitTest.testServiceStubN)rrrr'r(r r r r r/s=r__main__) __doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrrrZTestCaserrmainr r r r  s    _PK!Mܺ**;protobuf/internal/__pycache__/generator_test.cpython-36.pycnu[3 h9 @sdZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlm Z ddlm Z ddlm Z dd lm Z dd lm Z dd lmZdd lmZdd lmZdZGdddejZGdddejZedkrejdS)zUnittest that directly tests the output of the pure-Python protocol compiler. See //google/protobuf/internal/reflection_test.py for a test which further ensures that we can use Python protocol message objects as we expect. z#robinson@google.com (Will Robinson)N)test_bad_identifiers_pb2)unittest_custom_options_pb2)unittest_import_pb2)unittest_import_public_pb2)unittest_mset_pb2)unittest_mset_wire_format_pb2) unittest_no_generic_services_pb2) unittest_pb2)service)symbol_databasei c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-S). GeneratorTestcCs(d}tj}|j|jj|jj|jdS)Noptional_nested_message)r TestAllTypes assertEqual NestedMessage DESCRIPTORfields_by_nameZ message_type)self field_nameZ proto_typer$/usr/lib/python3.6/generator_test.pytestNestedMessageDescriptor@s z)GeneratorTest.testNestedMessageDescriptorcCs|jdtj|jdtj|jdtjtj}|jd|j|jdtjj|jd|j|jdtjj|jd|j|jdtjjdS)N) rr Z FOREIGN_FOOZ FOREIGN_BARZ FOREIGN_BAZrFOOZBARZBAZ)rprotorrr testEnumsGszGeneratorTest.testEnumscstj}ddfdd}|j||j|j|jdk|j||j|j|jdk|j|j|j||j|j|jdk|j||j|j|jdk|j|j|j d|j dS)NcSs||kS)Nr)valrrrisnan\sz5GeneratorTest.testExtremeDefaultValues..isnancs| o|dS)Nrr)r!)r"rrisinf_sz5GeneratorTest.testExtremeDefaultValues..isinfrz? ? ?? ?? ??? ??/ ??-) r ZTestExtremeDefaultValues assertTrueZ inf_doubleZneg_inf_doubleZ nan_doubleZ inf_floatZ neg_inf_floatZ nan_floatrZ cpp_trigraph)rmessager#r)r"rtestExtremeDefaultValuesWs z&GeneratorTest.testExtremeDefaultValuescs>tjj}dddddtfdd|jD}|j|dS)NFT)Zoptional_int32Zrepeated_int32r Z default_int32cs"g|]}|jkr|j|jfqSr)nameZhas_default_value).0f)expected_has_default_by_namerr {sz6GeneratorTest.testHasDefaultValues..)r rrdictfieldsr)rdescZhas_default_by_namer)r*rtestHasDefaultValuesps  z"GeneratorTest.testHasDefaultValuescCs.|jtjjtjj|jtjjjtjjdS)N)rr optional_int32_extensioncontaining_typeTestAllExtensionsr TestRequiredsingle)rrrr'testContainingTypeBehaviorForExtensionss   z5GeneratorTest.testContainingTypeBehaviorForExtensionscCs*|jtjjd|jtjjjtjjdS)N)rr r0Zextension_scoper3r4r)rrrrtestExtensionScopes  z GeneratorTest.testExtensionScopecCsB|jtjj|jtjjjtjj}|jd}|j|j dS)Na)r$r r0Z is_extensionr3r4rr)rZmessage_descriptorZnon_extension_descriptorrrrtestIsExtensions  zGeneratorTest.testIsExtensioncCstj}|j|jjjdS)N)rZTestMessageSetr$r GetOptionsZmessage_set_wire_format)rrrrr testOptionsszGeneratorTest.testOptionscCs*tj}|jjdj}|j|dk dS)NZAnEnum)rZTestMessageWithCustomOptionsrenum_types_by_namer9r$)rrZ enum_optionsrrrtestMessageWithCustomOptionssz*GeneratorTest.testMessageWithCustomOptionscCs\|jttjjjttjjjtjjjtjjjg|jtj jjg|jtjjjjgdS)N) rsetr rrZ nested_typesr OptionalGroup RepeatedGroupTestEmptyMessage)rrrrtestNestedTypess zGeneratorTest.testNestedTypescCst|jtjjjdk|jtjjjdk|jtjjjjtjj|jtjjjjtjj|jtjjjjtjjdS)N) r$r r@rr1rrrr?)rrrrtestContainingTypes     z GeneratorTest.testContainingTypecCs*|jtjjdk|jtjjtjjdS)N)r$r _FOREIGNENUMr1r_TESTALLTYPES_NESTEDENUMrr)rrrr"testContainingTypeInEnumDescriptors z0GeneratorTest.testContainingTypeInEnumDescriptorcCs||jtjjjjdtjjj}|j|jjd|jtjjjjd|jtj jjd|jtj jjd|jtj jjddS)Nprotobuf_unittestZprotobuf_unittest_import) rr rrfilepackagerrZ ImportMessagerCrDZ _IMPORTENUM)rr.rrr testPackages    zGeneratorTest.testPackagecCsJ|jtjjjg|jtjjjdtfg|jtjjjdddtfgdS) Nr*+/i)rJrK)rLrM)rr rrZextension_rangesr2 MAX_EXTENSIONZTestMultipleExtensionRanges)rrrrtestExtensionRanges z GeneratorTest.testExtensionRangecCsr|jtjjd|jtjjd|jtjjdk|jtjjtjg|jtjjt jg|jtjj t jgdS)Nzgoogle/protobuf/unittest.protorF) rr rr'rH assertFalseZ serialized_pbZ dependenciesrrZpublic_dependencies)rrrrtestFileDescriptors      z GeneratorTest.testFileDescriptorcCsR|jttd|jttd|jttdttdrN|jttjtjdS)NZ TestMessagerZtest_extension TestService)r$hasattrrrP issubclassrRr ZService)rrrrtestNoGenericServicess   z#GeneratorTest.testNoGenericServicescCs6tj}|jtj|jtjj|jtjj|jkdS)N)r rrZ _TESTALLTYPESZmessage_types_by_namer'rPZ_TESTALLTYPES_NESTEDMESSAGE)r file_typerrrtestMessageTypesByNamesz$GeneratorTest.testMessageTypesByNamecCs"tj}|jtj|jtjjdS)N)r rrrCr;r')rrVrrrtestEnumTypesByNamesz!GeneratorTest.testEnumTypesByNamecCs"tj}|jtj|jtjjdS)N)r rrZmy_extension_stringZextensions_by_namer')rrVrrrtestExtensionsByNamesz"GeneratorTest.testExtensionsByNamecCsDtj}|jd|jjtj}|jd|j|jtjtjkdS)Nr) r rrZoptional_public_import_messageerZPublicImportMessager$r)rZall_type_protoZpublic_import_protorrrtestPublicImports s zGeneratorTest.testPublicImportscCs\tj}|j|jtjd|j|jtjd|j|jtjd|j|jtjddS)NZfooZbarZbazZqux)rZTestBadIdentifiersrZ Extensionsr%Z descriptorZ reflectionr )rr%rrrtestBadIdentifierssz GeneratorTest.testBadIdentifierscCstjj}|jdt|j|jd|jdj|jd|jdj|j||jdj |j|jd|j dt ddddg}|j|t dd |jdj DxDt |jjD]2\}}||kr|j|jd|jq|j|jqWdS) NrZ oneof_fieldrZ oneof_uint32Zoneof_nested_messageZ oneof_stringZ oneof_bytescSsg|] }|jqSr)r')r(Zfieldrrrr+-sz+GeneratorTest.testOneof..)r rrrlenZoneofsr'indexZassertIsr1Zoneofs_by_namer=r-listritemsZcontaining_oneofZ assertIsNone)rr.Z nested_namesrZ field_descrrr testOneof"s zGeneratorTest.testOneofN)__name__ __module__ __qualname__rr r&r/r5r6r8r:r<rArBrErIrOrQrUrWrXrYr[r\rarrrrr >s,       r c@s(eZdZdZddZddZddZdS) SymbolDatabaseRegistrationTestz?Checks that messages, enums and files are correctly registered.c Cs|jtjtjjd|jtjjtjjd|jttjjdWdQRX|jtjj tjjd|jtjj tjjddS)Nzprotobuf_unittest.TestAllTypesz,protobuf_unittest.TestAllTypes.NestedMessagezprotobuf_unittest.NestedMessagez,protobuf_unittest.TestAllTypes.OptionalGroupz,protobuf_unittest.TestAllTypes.RepeatedGroup) rr rr DefaultZ GetSymbolrZ assertRaisesKeyErrorr>r?)rrrr testGetSymbol8s"  z,SymbolDatabaseRegistrationTest.testGetSymbolcCs8|jdtjjjdj|jdtjjjdjdS)Nzprotobuf_unittest.ForeignEnumz)protobuf_unittest.TestAllTypes.NestedEnum)rr rfpoolZFindEnumTypeByNameZ full_name)rrrrr Ks   z(SymbolDatabaseRegistrationTest.testEnumscCs|jdtjjjdjdS)Nzgoogle/protobuf/unittest.proto)rr rfriZFindFileByNamer')rrrrtestFindFileByNameUs z1SymbolDatabaseRegistrationTest.testFindFileByNameN)rbrcrd__doc__rhr rjrrrrre5s re__main__)rk __author__Z unittest2Zunittest ImportErrorZgoogle.protobuf.internalrZgoogle.protobufrrrrrrr r r rNZTestCaser rerbmainrrrr's*           x&PK!\p] ] Nprotobuf/internal/__pycache__/more_extensions_dynamic_pb2.cpython-36.opt-1.pycnu[3 hf@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZdZejdddddddddddddddedZdZejdddddddddddddddedZdZejdd d!dddddgddddddedZejd"d#dedejd$d%dddddddddddddedggggdddggd&d'd(Zeejd"<eejd<eejd<eejd<ejee j d"ej!fe"ed)d*Z#ej$e#ej%j&eee_'ej%j&eee_'ej%j&edS)+NcCs|S)N)xrr1/usr/lib/python3.6/more_extensions_dynamic_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)more_extensions_pb2z6google/protobuf/internal/more_extensions_dynamic.protozgoogle.protobuf.internalZproto2u 6google/protobuf/internal/more_extensions_dynamic.protogoogle.protobuf.internal.google/protobuf/internal/more_extensions.proto" DynamicMessageType a (:J dynamic_int32_extension).google.protobuf.internal.ExtendedMessaged (:z dynamic_message_extension).google.protobuf.internal.ExtendedMessagee ( 2,.google.protobuf.internal.DynamicMessageType:ƒ "repeated_dynamic_message_extension).google.protobuf.internal.ExtendedMessagef ( 2,.google.protobuf.internal.DynamicMessageType)namepackagesyntaxZ serialized_pbZ dependenciesddynamic_int32_extensionz0google.protobuf.internal.dynamic_int32_extensionFT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileedynamic_message_extensionz2google.protobuf.internal.dynamic_message_extension f"repeated_dynamic_message_extensionz;google.protobuf.internal.repeated_dynamic_message_extensionDynamicMessageTypez+google.protobuf.internal.DynamicMessageTypeaz-google.protobuf.internal.DynamicMessageType.a)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz4google.protobuf.internal.more_extensions_dynamic_pb2) DESCRIPTOR __module__)(sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZgoogle.protobuf.internalrZ:google_dot_protobuf_dot_internal_dot_more__extensions__pb2ZFileDescriptorr*Z$DYNAMIC_INT32_EXTENSION_FIELD_NUMBERZFieldDescriptorrZ&DYNAMIC_MESSAGE_EXTENSION_FIELD_NUMBERrZ/REPEATED_DYNAMIC_MESSAGE_EXTENSION_FIELD_NUMBERr"Z DescriptorZ_DYNAMICMESSAGETYPEZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr$ZRegisterMessageZExtendedMessageZRegisterExtensionrrrrrs                    PK!{]]:protobuf/internal/__pycache__/encoder.cpython-36.opt-1.pycnu[3 h~o@sdZdZddlZddlZddlmZdZe ZddZdd Z d d Z d d Z ddZ ddZ e e ZZZe eZZe e ejZZe dZZZe dZZZe dZddZddZddZddZ ddZ!dd Z"d!d"Z#d#d$Z$e#Z%e$Z&d%d&Z'd'd(Z(d)d*Z)d+d,Z*d-d.Z+d/d0Z,e)ej-e&e Z.Z/Z0e)ej-e%eZ1Z2e*ej-e%eejZ3Z4e+ej5d1Z6e+ej7d2Z8e+ej5d3Z9e+ej7d4Z:e,ej5d5Z;e,ej7d6Zd;d<Z?d=d>Z@d?d@ZAdAdBZBdCdDZCdS)EaCode for encoding protocol message primitives. Contains the logic for encoding every logical protocol field type into one of the 5 physical wire types. This code is designed to push the Python interpreter's performance to the limits. The basic idea is that at startup time, for every field (i.e. every FieldDescriptor) we construct two functions: a "sizer" and an "encoder". The sizer takes a value of this field's type and computes its byte size. The encoder takes a writer function and a value. It encodes the value into byte strings and invokes the writer function to write those strings. Typically the writer function is the write() method of a BytesIO. We try to do as much work as possible when constructing the writer and the sizer rather than when calling them. In particular: * We copy any needed global functions to local variables, so that we do not need to do costly global table lookups at runtime. * Similarly, we try to do any attribute lookups at startup time if possible. * Every field's tag is encoded to bytes at startup, since it can't change at runtime. * Whatever component of the field size we can compute at startup, we do. * We *avoid* sharing code if doing so would make the code slower and not sharing does not burden us too much. For example, encoders for repeated fields do not just call the encoders for singular fields in a loop because this would add an extra function call overhead for every loop iteration; instead, we manually inline the single-value encoder into the loop. * If a Python function lacks a return statement, Python actually generates instructions to pop the result of the last statement off the stack, push None onto the stack, and then return that. If we really don't care what value is returned, then we can save two instructions by returning the result of the last statement. It looks funny but it helps. * We assume that type and bounds checking has happened at a higher level. z kenton@google.com (Kenton Varda)N) wire_formatgcCsp|dkr dS|dkrdS|dkr$dS|dkr0dS|d kr.SpecificSizer..PackedFieldSizecs*t|}x|D]}||7}qW|S)N)len)rrr)rrrrRepeatedFieldSizes  z>_SimpleSizer..SpecificSizer..RepeatedFieldSizecs |S)Nr)r)rrrr FieldSizesz6_SimpleSizer..SpecificSizer..FieldSize)rr)r is_repeated is_packedrrr)r)rrr SpecificSizersz#_SimpleSizer..SpecificSizerr)rr!r)rr _SimpleSizer~s r"csfdd}|S)zLike SimpleSizer, but modify_value is invoked on each value before it is passed to compute_value_size. modify_value is typically ZigZagEncode.csVt||r&tfdd}|S|r>fdd}|Sfdd}|SdS)Ncs2d}x|D]}||7}q W||S)Nrr)rrr)rr modify_valuerrrrs z>_ModifiedSizer..SpecificSizer..PackedFieldSizecs.t|}x|D]}||7}qW|S)N)r)rrr)rr#rrrrs  z@_ModifiedSizer..SpecificSizer..RepeatedFieldSizecs|S)Nr)r)rr#rrrrsz8_ModifiedSizer..SpecificSizer..FieldSize)rr)rrr rrr)rr#)rrrr!sz%_ModifiedSizer..SpecificSizerr)rr#r!r)rr#r_ModifiedSizersr$csfdd}|S)zWLike _SimpleSizer except for a fixed-size field. The input is the size of one value.cs\t||r$tfdd}|S|r@fdd}|Sfdd}|SdS)Ncst|}||S)N)r)rr)rr value_sizerrrs z;_FixedSizer..SpecificSizer..PackedFieldSizecs t|S)N)r)r) element_sizerrrsz=_FixedSizer..SpecificSizer..RepeatedFieldSizecsS)Nr)r) field_sizerrrsz5_FixedSizer..SpecificSizer..FieldSize)rr)rrr rrr)r%)r&r'rrrr!s  z"_FixedSizer..SpecificSizerr)r%r!r)r%r _FixedSizers r(rr rcs@t|tt|r(fdd}|Sfdd}|SdS)z#Returns a sizer for a string field.cs<t|}x*|D]"}|jd}|||7}qW|S)Nzutf-8)rencode)rrrl)r local_lenrrrrs   z&StringSizer..RepeatedFieldSizecs|jd}||S)Nzutf-8)r))rr*)rr+rrrrszStringSizer..FieldSizeN)rrr)rrr rrr)rr+rr StringSizersr,cs@t|tt|r(fdd}|Sfdd}|SdS)z"Returns a sizer for a bytes field.cs6t|}x$|D]}|}|||7}qW|S)N)r)rrrr*)rr+rrrrs   z%BytesSizer..RepeatedFieldSizecs|}||S)Nr)rr*)rr+rrrr szBytesSizer..FieldSizeN)rrr)rrr rrr)rr+rr BytesSizersr-cs4t|d|r fdd}|Sfdd}|SdS)z"Returns a sizer for a group field.rcs*t|}x|D]}||j7}qW|S)N)rByteSize)rrr)rrrrs  z%GroupSizer..RepeatedFieldSizecs |jS)N)r.)r)rrrrszGroupSizer..FieldSizeN)r)rrr rrr)rr GroupSizers    r/cs8t|t|r"fdd}|Sfdd}|SdS)z$Returns a sizer for a message field.cs6t|}x$|D]}|j}|||7}qW|S)N)rr.)rrrr*)rrrrr+s   z'MessageSizer..RepeatedFieldSizecs|j}||S)N)r.)rr*)rrrrr3szMessageSizer..FieldSizeN)rr)rrr rrr)rrr MessageSizer$sr0cs:tddtdt|tdtfdd}|S)zReturns a sizer for extensions of MessageSet. The message set message looks like this: message MessageSet { repeated group Item = 1 { required int32 type_id = 2; required string message = 3; } } rrrcs|j}||S)N)r.)rr*)r static_sizerrrLsz&MessageSetItemSizer..FieldSize)rr)rrr)rr1rMessageSetItemSizer=s  r2cs(|jt|jddfdd}|S)z Returns a sizer for a map field.FcsDd}x:|D]2}||}j||d}||7}r |jq W|S)Nr)keyr)_concrete_classr.)Z map_valueZtotalr3r entry_msg)is_message_map message_sizer message_typerrr_s   zMapSizer..FieldSize)r8r0number)field_descriptorr6rr)r6r7r8rMapSizerWsr;cCs dd}|S)zBReturn an encoder for a basic varint value (does not include tag).cSsJ|d@}|dL}x*|r:|tjd|B|d@}|dL}qW|tj|S)Nrr )sixint2byte)writerunused_deterministicbitsrrr EncodeVarintws z$_VarintEncoder..EncodeVarintr)rBrrr_VarintEncoderts rCcCs dd}|S)zKReturn an encoder for a basic signed varint value (does not include tag).cSsZ|dkr|d7}|d@}|dL}x*|rJ|tjd|B|d@}|dL}q"W|tj|S)Nrr@rr r<l)r=r>)r?rr@rArrrEncodeSignedVarints z0_SignedVarintEncoder..EncodeSignedVarintr)rErrr_SignedVarintEncoders rFcCsg}t|j|ddj|S)zEncode the given integer as a varint and return the bytes. This is only called at startup time so it doesn't need to be fast.T) _EncodeVarintappendjoin)rpiecesrrr _VarintBytessrLcCstjttj||S)zCEncode the given tag and return the bytes. Only called at startup.)r=Z binary_typerLrr)r wire_typerrrTagBytessrNcsfdd}|S)a_Return a constructor for an encoder for fields of a particular type. Args: wire_type: The field's wire type, for encoding tags. encode_value: A function which encodes an individual value, e.g. _EncodeVarint(). compute_value_size: A function which computes the size of an individual value, e.g. _VarintSize(). csj|r*t|tjtfdd}|S|rJt|fdd}|St|fdd}|SdS)NcsP|d}x|D]}||7}qW|||x|D]}|||q8WdS)Nrr)r?r deterministicsizer)r encode_valuelocal_EncodeVarint tag_bytesrrEncodePackedFields   zB_SimpleEncoder..SpecificEncoder..EncodePackedFieldcs&x |D]}||||qWdS)Nr)r?rrOr)rQrSrrEncodeRepeatedFields zD_SimpleEncoder..SpecificEncoder..EncodeRepeatedFieldcs||||S)Nr)r?rrO)rQrSrr EncodeFieldsz<_SimpleEncoder..SpecificEncoder..EncodeField)rNrWIRETYPE_LENGTH_DELIMITEDrH)rrr rTrUrV)rrQrM)rRrSrSpecificEncoders   z'_SimpleEncoder..SpecificEncoderr)rMrQrrXr)rrQrMr_SimpleEncoders rYcsfdd}|S)zLike SimpleEncoder but additionally invokes modify_value on every value before passing it to encode_value. Usually modify_value is ZigZagEncode.csp|r,t|tjtfdd}|S|rNt|fdd}|St|fdd}|SdS)NcsX|d}x|D]}||7}qW|||x|D]}|||q.SpecificEncoder..EncodePackedFieldcs*x$|D]}||||qWdS)Nr)r?rrOr)rQr#rSrrrUs zF_ModifiedEncoder..SpecificEncoder..EncodeRepeatedFieldcs||||S)Nr)r?rrO)rQr#rSrrrVsz>_ModifiedEncoder..SpecificEncoder..EncodeField)rNrrWrH)rrr rTrUrV)rrQr#rM)rRrSrrXs   z)_ModifiedEncoder..SpecificEncoderr)rMrQrr#rXr)rrQr#rMr_ModifiedEncodersrZcstjfdd}|S)zReturn a constructor for an encoder for a fixed-width field. Args: wire_type: The field's wire type, for encoding tags. format: The format string to pass to struct.pack(). csvtj|r2t|tjtfdd}|S|rTt|fdd}|St|fdd}|SdS)Ncs<||t||x|D]}||q"WdS)N)r)r?rrOr)formatrRlocal_struct_packrSr%rrrTs zF_StructPackEncoder..SpecificEncoder..EncodePackedFieldcs(x"|D]}|||qWdS)Nr)r?rr@r)r[r\rSrrrUs zH_StructPackEncoder..SpecificEncoder..EncodeRepeatedFieldcs|||S)Nr)r?rr@)r[r\rSrrrVsz@_StructPackEncoder..SpecificEncoder..EncodeField)structpackrNrrWrH)rrr rTrUrV)r[r%rM)rRr\rSrrXs   z+_StructPackEncoder..SpecificEncoder)r]calcsize)rMr[rXr)r[r%rMr_StructPackEncoders r`csPtjdkrddndkr.ddn tdfdd}|S) aqReturn a constructor for an encoder for float fields. This is like StructPackEncoder, but catches errors that may be due to passing non-finite floating-point values to struct.pack, and makes a second attempt to encode those values. Args: wire_type: The field's wire type, for encoding tags. format: The format string to pass to struct.pack(). rcSs<|tkr|dn&|tkr$|dn||kr6|dndS)Nsss)_POS_INF_NEG_INF)r?rrrrEncodeNonFiniteOrRaise+s   z5_FloatingPointEncoder..EncodeNonFiniteOrRaiser cSs<|tkr|dn&|tkr$|dn||kr6|dndS)Nsss)rarb)r?rrrrrc6s   zGCan't encode floating-point values that are %d bytes long (only 4 or 8)cs|tj|r4t|tjtfdd}|S|rXt|fdd}|St|fdd}|SdS)Nc s`||t||x>|D]6}y||Wq"tk rV||Yq"Xq"WdS)N)r SystemError)r?rrOr)rcr[rRr\rSr%rrrTHs zI_FloatingPointEncoder..SpecificEncoder..EncodePackedFieldc sLxF|D]>}|y||Wqtk rB||YqXqWdS)N)rd)r?rr@r)rcr[r\rSrrrUUs  zK_FloatingPointEncoder..SpecificEncoder..EncodeRepeatedFieldc s>|y||Wntk r8||YnXdS)N)rd)r?rr@)rcr[r\rSrrrV_s zC_FloatingPointEncoder..SpecificEncoder..EncodeField)r]r^rNrrWrH)rrr rTrUrV)rcr[r%rM)rRr\rSrrXCs    z._FloatingPointEncoder..SpecificEncoder)r]r_ ValueError)rMr[rXr)rcr[r%rMr_FloatingPointEncoders   $rfz.EncodePackedFieldcs0x*|D]"}||r |q|qWdS)Nr)r?rr@r)rirSrjrrrUs   z(BoolEncoder..EncodeRepeatedFieldcs||r|S|S)Nr)r?rr@)rirSrjrrrVsz BoolEncoder..EncodeFieldN)rNrrWrHWIRETYPE_VARINT)rrr rTrUrVr)rirRrSrjr BoolEncoders   rlcsDt|tjtt|r,fdd}|Sfdd}|SdS)z&Returns an encoder for a string field.cs<x6|D].}|jd}||||||qWdS)Nzutf-8)r))r?rrOrencoded)rRr+tagrrrUs   z*StringEncoder..EncodeRepeatedFieldcs*|jd}||||||S)Nzutf-8)r))r?rrOrm)rRr+rnrrrVs z"StringEncoder..EncodeFieldN)rNrrWrHr)rrr rUrVr)rRr+rnr StringEncoders rocsDt|tjtt|r,fdd}|Sfdd}|SdS)z%Returns an encoder for a bytes field.cs2x,|D]$}||||||qWdS)Nr)r?rrOr)rRr+rnrrrUs z)BytesEncoder..EncodeRepeatedFieldcs ||||||S)Nr)r?rrO)rRr+rnrrrVsz!BytesEncoder..EncodeFieldN)rNrrWrHr)rrr rUrVr)rRr+rnr BytesEncoders rpcsDt|tjt|tj|r.fdd}|Sfdd}|SdS)z%Returns an encoder for a group field.cs.x(|D] }||j|||qWdS)N)_InternalSerialize)r?rrOr)end_tag start_tagrrrUs  z)GroupEncoder..EncodeRepeatedFieldcs||j|||S)N)rq)r?rrO)rrrsrrrVs z!GroupEncoder..EncodeFieldN)rNrWIRETYPE_START_GROUPWIRETYPE_END_GROUP)rrr rUrVr)rrrsr GroupEncoders  rvcs<t|tjt|r&fdd}|Sfdd}|SdS)z'Returns an encoder for a message field.cs6x0|D](}|||j||j||qWdS)N)r.rq)r?rrOr)rRrnrrrUs z+MessageEncoder..EncodeRepeatedFieldcs$|||j||j||S)N)r.rq)r?rrO)rRrnrrrVsz#MessageEncoder..EncodeFieldN)rNrrWrH)rrr rUrVr)rRrnrMessageEncoders rwcsRdjtdtjtdtjt|tdtjgtdtjtfdd}|S)zEncoder for extensions of MessageSet. The message set message looks like this: message MessageSet { repeated group Item = 1 { required int32 type_id = 2; required string message = 3; } } rGrrrcs,|||j||j|||S)N)r.rq)r?rrO) end_bytesrR start_bytesrrrVs z*MessageSetItemEncoder..EncodeField) rJrNrrtrkrLrWrurH)rrVr)rxrRryrMessageSetItemEncoders    rzcs&|jt|jddfdd}|S)zEncoder for extensions of MessageSet. Maps always have a wire format like this: message MapEntry { key_type key = 1; value_type value = 2; } repeated MapEntry map = N; FcsD|rt|jn|}x*|D]"}j|||d}|||qWdS)N)r3r)sortedkeysr4)r?rrOZ value_keysr3r5)encode_messager8rrrV5s zMapEncoder..EncodeField)r8rwr9)r:rVr)r}r8r MapEncoder&s r~)D__doc__ __author__r]r=Zgoogle.protobuf.internalrrarbrrrr"r$r(Z Int32SizerZ Int64SizerZ EnumSizerZ UInt32SizerZ UInt64SizerZ ZigZagEncodeZ SInt32SizerZ SInt64SizerZ Fixed32SizerZ SFixed32SizerZ FloatSizerZ Fixed64SizerZ SFixed64SizerZ DoubleSizerZ BoolSizerr,r-r/r0r2r;rCrFrHZ_EncodeSignedVarintrLrNrYrZr`rfrkZ Int32EncoderZ Int64EncoderZ EnumEncoderZ UInt32EncoderZ UInt64EncoderZ SInt32EncoderZ SInt64EncoderZWIRETYPE_FIXED32ZFixed32EncoderZWIRETYPE_FIXED64ZFixed64EncoderZSFixed32EncoderZSFixed64EncoderZ FloatEncoderZ DoubleEncoderrlrorprvrwrzr~rrrrAsn !   )"&R       % PK!G2TTEprotobuf/internal/__pycache__/text_encoding_test.cpython-36.opt-1.pycnu[3 h@ @sldZy ddlZWnek r,ddlZYnXddlmZddddgZGd ddejZe dkrhej dS)z(Tests for google.protobuf.text_encoding.N) text_encodingfoo\rbar\nbaz\t foo bar baz "\'full of \"sound\" and \"fury\"\''full of "sound" and "fury"'signi\\fying\\ nothing\\signi\fying\ nothing\\010\t\n\013\014\r \t\n \r c@seZdZddZddZdS)TextEncodingTestCasecCsDx>tD]6\}}}|j|tj|dd|j|tj|ddqWdS)NF)Zas_utf8T) TEST_VALUES assertEqualrZCEscape)selfescaped escaped_utf8 unescapedr(/usr/lib/python3.6/text_encoding_test.py testCEscape9s z TextEncodingTestCase.testCEscapecCs<x6tD].\}}}|j|tj||j|tj|qWdS)N)r rrZ CUnescape)rrrrrrr testCUnescape@sz"TextEncodingTestCase.testCUnescapeN)__name__ __module__ __qualname__rrrrrrr 8sr __main__)rrr)rrr)rrr)r r r ) __doc__Z unittest2Zunittest ImportErrorZgoogle.protobufrr ZTestCaser rmainrrrr s(  PK!//Hprotobuf/internal/__pycache__/packed_field_test_pb2.cpython-36.opt-1.pycnu[3 hxO&@s* ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddeejddddddejddddddejddddddgddddd Zejeejdddedejdddddddd gdddd dded!ejd"d#dddddd gdddd dded!ejd$d%ddd&ddd gdddd dded!ejd'd(dd)d)d)dd gdddd dded!ejd*d+d)dd,ddd gdddd dded!ejd-d.dd/d0ddd gdddd dded!ejd1d2d/d3d3ddd gdddd dded!ejd4d5d3d6d/d)dd gdddd dded!ejd7d8d6d9d:ddd gdddd dded!ejd;dddd gdddd dded!ejd?d@d=dAdd/dd gdddd dded!ejdBdCdAdDdddd gdddd dded!ejdEdFdDd&d6d3dd gdddd dded!ejdGdHd&dIdId6dd gdddd dded!gggegdd d ggdJddKZejdLdMdedejddNdddddd gdddd deje jedOed!ejd"dPdddddd gdddd deje jedOed!ejd$dQddd&ddd gdddd deje jedOed!ejd'dRdd)d)d)dd gdddd deje jedOed!ejd*dSd)dd,ddd gdddd deje jedOed!ejd-dTdd/d0ddd gdddd deje jedOed!ejd1dUd/d3d3ddd gdddd deje jedOed!ejd4dVd3d6d/d)dd gdddd deje jedOed!ejd7dWd6d9d:ddd gdddd deje jedOed!ejd;dXd9d=d>ddd gdddd deje jedOed!ejd?dYd=dAdd/dd gdddd deje jedOed!ejdBdZdAdDdddd gdddd deje jedOed!ejdEd[dDd&d6d3dd gdddd deje jedOed!ejdGd\d&dIdId6dd gdddd deje jedOed!ggggdd d ggd]d^dKZeejdG_ee_eejdG_eejd<eejdL<ejee j dej!fe"ed_d`Z#ej$e#e j dLej!fe"ed_d`Z%ej$e%daejd_&eje jedOejd_'daejd"_&eje jedOejd"_'daejd$_&eje jedOejd$_'daejd'_&eje jedOejd'_'daejd*_&eje jedOejd*_'daejd-_&eje jedOejd-_'daejd1_&eje jedOejd1_'daejd4_&eje jedOejd4_'daejd7_&eje jedOejd7_'daejd;_&eje jedOejd;_'daejd?_&eje jedOejd?_'daejdB_&eje jedOejdB_'daejdE_&eje jedOejdE_'daejdG_&eje jedOejdG_'dS)bNcCs|S)N)xrr+/usr/lib/python3.6/packed_field_test_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z0google/protobuf/internal/packed_field_test.protozgoogle.protobuf.python.internalZproto3u* 0google/protobuf/internal/packed_field_test.protogoogle.protobuf.python.internal"Û TestPackedTypes repeated_int32 ( repeated_int64 ( repeated_uint32 (  repeated_uint64 ( repeated_sint32 ( repeated_sint64 ( repeated_fixed32 ( repeated_fixed64 ( repeated_sfixed32 ( repeated_sfixed64 ( repeated_float ( repeated_double ( repeated_bool (Y repeated_nested_enum (2;.google.protobuf.python.internal.TestPackedTypes.NestedEnum"' NestedEnum FOO BAR BAZ"ì TestUnpackedTypes repeated_int32 (B repeated_int64 (B repeated_uint32 ( B repeated_uint64 (B repeated_sint32 (B repeated_sint64 (B repeated_fixed32 (B repeated_fixed64 (B repeated_sfixed32 (B repeated_sfixed64 (B repeated_float (B repeated_double (B repeated_bool (B] repeated_nested_enum (2;.google.protobuf.python.internal.TestPackedTypes.NestedEnumBbproto3)namepackagesyntaxZ serialized_pbZ NestedEnumz:google.protobuf.python.internal.TestPackedTypes.NestedEnumZFOO)rindexnumberoptionstypeZBARZBAZi i1) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endTestPackedTypesz/google.protobuf.python.internal.TestPackedTypesZrepeated_int32z>google.protobuf.python.internal.TestPackedTypes.repeated_int32F)rrrrrZcpp_typeZlabelZhas_default_valueZ default_valueZ message_type enum_typerZ is_extensionZextension_scoperrZrepeated_int64z>google.protobuf.python.internal.TestPackedTypes.repeated_int64Zrepeated_uint32z?google.protobuf.python.internal.TestPackedTypes.repeated_uint32 Zrepeated_uint64z?google.protobuf.python.internal.TestPackedTypes.repeated_uint64Zrepeated_sint32z?google.protobuf.python.internal.TestPackedTypes.repeated_sint32Zrepeated_sint64z?google.protobuf.python.internal.TestPackedTypes.repeated_sint64Zrepeated_fixed32z@google.protobuf.python.internal.TestPackedTypes.repeated_fixed32Zrepeated_fixed64z@google.protobuf.python.internal.TestPackedTypes.repeated_fixed64Zrepeated_sfixed32zAgoogle.protobuf.python.internal.TestPackedTypes.repeated_sfixed32 Zrepeated_sfixed64zAgoogle.protobuf.python.internal.TestPackedTypes.repeated_sfixed64 Zrepeated_floatz>google.protobuf.python.internal.TestPackedTypes.repeated_float Zrepeated_doublez?google.protobuf.python.internal.TestPackedTypes.repeated_double Z repeated_boolz=google.protobuf.python.internal.TestPackedTypes.repeated_boolZrepeated_nested_enumzDgoogle.protobuf.python.internal.TestPackedTypes.repeated_nested_enumV)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrrTestUnpackedTypesz1google.protobuf.python.internal.TestUnpackedTypesz@google.protobuf.python.internal.TestUnpackedTypes.repeated_int32zz@google.protobuf.python.internal.TestUnpackedTypes.repeated_int64zAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_uint32zAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_uint64zAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_sint32zAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_sint64zBgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_fixed32zBgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_fixed64zCgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_sfixed32zCgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_sfixed64z@google.protobuf.python.internal.TestUnpackedTypes.repeated_floatzAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_doublez?google.protobuf.python.internal.TestUnpackedTypes.repeated_boolzFgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_nested_enumi4i z.google.protobuf.internal.packed_field_test_pb2) DESCRIPTOR __module__T)(sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr2ZEnumDescriptorZEnumValueDescriptorZ_TESTPACKEDTYPES_NESTEDENUMZRegisterEnumDescriptorZ DescriptorZFieldDescriptorZ_TESTPACKEDTYPESZ _ParseOptionsZ FieldOptionsZ_TESTUNPACKEDTYPESZfields_by_namer rZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager1Z has_optionsZ_optionsrrrrs`                               PK!)Dprotobuf/internal/__pycache__/factory_test1_pb2.cpython-36.opt-1.pycnu[3 h@s ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZejd d deddZejdddeejddddddejddddddgddddd ZejeejeZdZdZejdddeejddddddejddddddgddddd Zejeejd d!dedejd"d#ddd$d$dd%ed&jd'dddd%dded(ggggdd%dggd)d*d+Zejd,d-dedejd.d/ddd0d1dd%ddddd%dded(ejd2d3dd4d0d1dd%ddddd%dded(ejd5d6d4dd7d8dd%ddddd%dded(ejd9d:dd;dd;dsrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2z,google/protobuf/internal/factory_test1.protozgoogle.protobuf.python.internalZproto2uk ,google/protobuf/internal/factory_test1.protogoogle.protobuf.python.internal"Õ Factory1MessageE factory_1_enum (2-.google.protobuf.python.internal.Factory1Enumb nested_factory_1_enum (2C.google.protobuf.python.internal.Factory1Message.NestedFactory1Enumh nested_factory_1_message ( 2F.google.protobuf.python.internal.Factory1Message.NestedFactory1Message scalar_value ( list_value ( & NestedFactory1Message value ( "P NestedFactory1Enum NESTED_FACTORY_1_VALUE_0 NESTED_FACTORY_1_VALUE_1* 耀€€*< Factory1Enum FACTORY_1_VALUE_0 FACTORY_1_VALUE_1)namepackagesyntaxZ serialized_pb Factory1Enumz,google.protobuf.python.internal.Factory1EnumFACTORY_1_VALUE_0)rindexnumberoptionstypeFACTORY_1_VALUE_1i)ie) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZNestedFactory1EnumzBgoogle.protobuf.python.internal.Factory1Message.NestedFactory1EnumZNESTED_FACTORY_1_VALUE_0ZNESTED_FACTORY_1_VALUE_1iiNestedFactory1MessagezEgoogle.protobuf.python.internal.Factory1Message.NestedFactory1MessagevaluezKgoogle.protobuf.python.internal.Factory1Message.NestedFactory1Message.value Fzutf-8)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrii)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrr Factory1Messagez/google.protobuf.python.internal.Factory1MessageZfactory_1_enumz>google.protobuf.python.internal.Factory1Message.factory_1_enumZnested_factory_1_enumzEgoogle.protobuf.python.internal.Factory1Message.nested_factory_1_enumZnested_factory_1_messagezHgoogle.protobuf.python.internal.Factory1Message.nested_factory_1_message Z scalar_valuezs                    PK!\p] ] Hprotobuf/internal/__pycache__/more_extensions_dynamic_pb2.cpython-36.pycnu[3 hf@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZdZejdddddddddddddddedZdZejdddddddddddddddedZdZejdd d!dddddgddddddedZejd"d#dedejd$d%dddddddddddddedggggdddggd&d'd(Zeejd"<eejd<eejd<eejd<ejee j d"ej!fe"ed)d*Z#ej$e#ej%j&eee_'ej%j&eee_'ej%j&edS)+NcCs|S)N)xrr1/usr/lib/python3.6/more_extensions_dynamic_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)more_extensions_pb2z6google/protobuf/internal/more_extensions_dynamic.protozgoogle.protobuf.internalZproto2u 6google/protobuf/internal/more_extensions_dynamic.protogoogle.protobuf.internal.google/protobuf/internal/more_extensions.proto" DynamicMessageType a (:J dynamic_int32_extension).google.protobuf.internal.ExtendedMessaged (:z dynamic_message_extension).google.protobuf.internal.ExtendedMessagee ( 2,.google.protobuf.internal.DynamicMessageType:ƒ "repeated_dynamic_message_extension).google.protobuf.internal.ExtendedMessagef ( 2,.google.protobuf.internal.DynamicMessageType)namepackagesyntaxZ serialized_pbZ dependenciesddynamic_int32_extensionz0google.protobuf.internal.dynamic_int32_extensionFT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileedynamic_message_extensionz2google.protobuf.internal.dynamic_message_extension f"repeated_dynamic_message_extensionz;google.protobuf.internal.repeated_dynamic_message_extensionDynamicMessageTypez+google.protobuf.internal.DynamicMessageTypeaz-google.protobuf.internal.DynamicMessageType.a)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz4google.protobuf.internal.more_extensions_dynamic_pb2) DESCRIPTOR __module__)(sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZgoogle.protobuf.internalrZ:google_dot_protobuf_dot_internal_dot_more__extensions__pb2ZFileDescriptorr*Z$DYNAMIC_INT32_EXTENSION_FIELD_NUMBERZFieldDescriptorrZ&DYNAMIC_MESSAGE_EXTENSION_FIELD_NUMBERrZ/REPEATED_DYNAMIC_MESSAGE_EXTENSION_FIELD_NUMBERr"Z DescriptorZ_DYNAMICMESSAGETYPEZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr$ZRegisterMessageZExtendedMessageZRegisterExtensionrrrrrs                    PK!%PPHprotobuf/internal/__pycache__/well_known_types_test.cpython-36.opt-1.pycnu[3 hd @s8dZdZddlZddlmZy ddlZWnek rDddlZYnXddlmZddlm Z ddlm Z ddlm Z dd lm Z dd lm Z dd lmZdd lmZdd lmZddlmZddlmZGdddejZGdddeZGdddejZGdddejZGdddejZedkr4ejdS)z3Test for google.protobuf.internal.well_known_types.zjieluo@google.com (Jie Luo)N)datetime)any_pb2) duration_pb2)field_mask_pb2) struct_pb2) timestamp_pb2) unittest_pb2) any_test_pb2) test_util)well_known_types) descriptor) text_formatc@seZdZddZddZdS)TimeUtilTestBasecCs2|j||jtj}|j||j||dS)N) assertEqual ToJsonStringr TimestampFromJsonString)selfmessagetextparsed_messager+/usr/lib/python3.6/well_known_types_test.pyCheckTimestampConversion;s z)TimeUtilTestBase.CheckTimestampConversioncCs2|j||jtj}|j||j||dS)N)rrrDurationr)rrrrrrrCheckDurationConversionAs z(TimeUtilTestBase.CheckDurationConversionN)__name__ __module__ __qualname__rrrrrrr9src@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS) TimeUtilTestcCstj}d|_d|_|j|dd|_|j|dd|_|j|dd|_|j|dd|_d|_|j|d d |_d |_|j|d d|_|j|d|jd|jd|j|jd|j|jd|jd|j|jd|j|j|jd|jdS)Nrz1970-01-01T00:00:00Ziz1970-01-01T00:00:00.010Zi'z1970-01-01T00:00:00.000010Z z1970-01-01T00:00:00.000000010Zlw#o9z0001-01-01T00:00:00ZlAiɚ;z9999-12-31T23:59:59.999999999Zz1969-12-31T23:59:59.999999999Zz1970-01-01T00:00:00.1Ziz1970-01-01T00:00:00-08:00ilw#o9ipip) rrsecondsnanosrrrZGetCurrentTimeZassertNotEqual)rrrrrtestTimestampSerializeAndParseJs4         z+TimeUtilTest.testTimestampSerializeAndParsecCstj}d|_d|_|j|dd|_|j|dd|_|j|dd|_|j|dd |_d |_|j|d d|_d|_|j|d |jd |jd|j|jd|jd|jdS)NrZ0siz0.010si'z 0.000010sr z 0.000000010sls%iɚ;z315576000000.999999999sz-315576000000.999999999sz0.1siz 0.0000001sdls%i6e)rrr$r%rrr)rrrrrtestDurationSerializeAndParseps(        z*TimeUtilTest.testDurationSerializeAndParsecCstj}|jd|jd|j|jd|j|jd |jd|j|jd |j|jd|jd|j|jd|j|jd|jd|j|jd|j|jd|jd|j|jd|j |jd|jd|j|jd|j |j d|jd|j|jd|j |j d|jd |j|jd|j |jd |jd|j|jd|jd|jdS)Nr!z1970-01-01T00:00:00.000000001Zz1969-12-31T23:59:59.999999999Zz1970-01-01T00:00:00.000001Zz1969-12-31T23:59:59.999999Zz1970-01-01T00:00:00.001Zz1969-12-31T23:59:59.999Zz1970-01-01T00:00:01Zz1969-12-31T23:59:59Zir#r#r#r#r#r#r#r#i1) rrFromNanosecondsrr ToNanosecondsFromMicrosecondsToMicrosecondsFromMillisecondsToMilliseconds FromSeconds ToSeconds)rrrrrtestTimestampIntegerConversionsJ                  z+TimeUtilTest.testTimestampIntegerConversioncCstj}|jd|jd|j|jd|j|jd |jd|j|jd |j|jd|jd|j|jd|j|jd |jd|j|jd|j|jd|jd|j|jd|j |jd|jd|j|jd|j |j d|jd|j|jd|j |j d|jd |j|jd|j |jd |jd|j|jd|jd|jdS)Nr!z 0.000000001sz -0.000000001sz 0.000001sz -0.000001sz0.001sz-0.001sZ1sz-1sir#r#r#r#r#r#r#r#i1r#) rrr+rrr,r-r.r/r0r1r2)rrrrrtestDurationIntegerConversionsH                 z*TimeUtilTest.testDurationIntegerConversionc Cs\tj}tddd}|j||j||j|jd|jtddddddd|jdS)Nir!iriX>)rrrZ FromDatetimerZ ToDatetimer/)rrZdtrrrtestDatetimeConverisons   z#TimeUtilTest.testDatetimeConverisoncCstj}|jd|j}|jd|j|jd|j|jd|j}|jd|j|jd|j|jd|j|jd|j}|jd |j|jd|j|jd|jtj}|j ||j||dS) Ni5wr!i?Bi~QiQilʈr#r#r#) rrr+Z ToTimedeltarr$Z microsecondsZdaysr-Z FromTimedelta)rrZtdZconverted_messagerrrtestTimedeltaConversions$    z$TimeUtilTest.testTimedeltaConversioncCstj}|jtjd|jd|jtjd|jd|jtd|jd|jtjd|jd|jtjd |jd |jtd |jd d |_|jtd|j dS)Nz9Failed to parse timestamp: missing valid timezone offset.zKFailed to parse timestamp: invalid trailing data 1970-01-01T00:00:01Ztrail.z1970-01-01T00:00:01ZtrailzJtime data '10000-01-01T00:00:00' does not match format '%Y-%m-%dT%H:%M:%S'z10000-01-01T00:00:00.00Zz2nanos 0123456789012 more than 9 fractional digits.z"1970-01-01T00:00:00.0123456789012Zz$Invalid timezone offset value: \+08.z1972-01-01T01:00:00.01+08zyear (0 )?is out of rangez0000-01-01T00:00:00ZlAzdate value out of range) rrassertRaisesRegexr ParseErrorr ValueErrorr$ OverflowErrorr)rrrrrtestInvalidTimestampsF z!TimeUtilTest.testInvalidTimestampcCstj}|jtjd|jd|jtjd|jdd}|jtjd|j|d}|jtjd|j|d|_d |_|jtjd|j d |_d|_|jtjd |j dS)Nz%Duration must end with letter "s": 1.1z Couldn't parse duration: 1...2s.z1...2sz-315576000001.000000000sz`Duration is not valid\: Seconds -315576000001 must be in range \[-315576000000\, 315576000000\].z315576000001.000000000sz_Duration is not valid\: Seconds 315576000001 must be in range \[-315576000000\, 315576000000\].ls%riɚ;r!zUDuration is not valid\: Nanos 1000000000 must be in range \[-999999999\, 999999999\].ls%iʚ;) rrr8r r9rErrorr$r%r)rrrrrrtestInvalidDuration7s>    z TimeUtilTest.testInvalidDurationN) rrrr&r(r3r4r5r6r<r?rrrrrHs&31 'rc@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS) FieldMaskTestcCs4tj}|jd|j|jjd|jd|j|jjd|jd|j|jd|jd|j|jd|jdg|j|jd|jddg|j|j|jjd|jd|j|jjd|jd|j|jd|jd|j|jd|jdg|j|jd|jddg|jdS) Nr7fooZbarzfoo,barfoo_barfooBarZbar_quzz fooBar,barQuz)r FieldMaskrrpathsappendrClear)rmaskrrrtestStringFormat_s.          zFieldMaskTest.testStringFormatcCsbtj}tjj}|j||jdt|j|j |j |x |j D]}|j |j |jkqDWdS)NK) rrDr TestAllTypes DESCRIPTORAllFieldsFromDescriptorrlenrE assertTrueIsValidForDescriptorfieldsname)rrHmsg_descriptorfieldrrrtestDescriptorToFieldMask|s  z'FieldMaskTest.testDescriptorToFieldMaskcCstjj}tj}|j|j||j||j|j||jj d|j|j||jj d|j |j|tj}|jj d|j |j|tj}|jj d|j |j|tj}|jj d|j |j|tj}|jj d|j |j|dS)Nzoptional_nested_message.bbzrepeated_nested_message.bbZxxxzxxx.zzzzoptional_nested_message.xxx.zzzzoptional_nested_message.xxx) rrKrLrrDrOrPrMrErF assertFalse)rrSrHrrrtestIsValidForDescriptors*       z&FieldMaskTest.testIsValidForDescriptorcCstj}tj}|jd|j||jd|j|jd|j||jd|j|jd|j||jd|j|jd|j||jd|j|jd |j||jd|j|jd |j||jd |j|jd |j||jd |jdS)Nzbaz.quz,bar,foozbar,baz.quz,fooz foo,bar,foozbar,foozfoo.b1,bar.b1,foo.b2,barzbar,foo.b1,foo.b2z*foo.bar.baz1,foo.bar.baz2.quz,foo.bar.baz2zfoo.bar.baz1,foo.bar.baz2z*foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quzz2foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quz,foo.barzfoo.barz.foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quz,foorA)rrDrZCanonicalFormFromMaskrr)rrHout_maskrrrtestCanonicalFroms:            zFieldMaskTest.testCanonicalFromc Cstj}tj}tj}|jd|jd|j|||jd|j|jd|jd|j|||jd|j|jd|jd|j|||jd |jtj}|jt |j||WdQRXdS) Nzfoo,bazzbar,quzzbar,baz,foo,quzz foo,baz.bbz baz.bb,quzzbaz.bb,foo,quzzfoo.bar.baz,quzz foo.bar,barzbar,foo.bar,quz) rrDrZUnionrrrrK assertRaisesr:)rmask1mask2rXsrcrrr testUnions$          zFieldMaskTest.testUnioncCstj}tj}tj}|jd|jd|j|||jd|j|jd|jd|j|||jd|j|jd|jd|j|||jd |j|jd|jd|j|||jd |jdS) Nzfoo,bazzbar,quzr7z foo,baz.bbz baz.bb,quzzbaz.bbzfoo.bar.baz,quzz foo.bar,barz foo.bar.baz)rrDrZ Intersectrr)rr[r\rXrrr testIntersects&            zFieldMaskTest.testIntersectc Cstj}tj|x|jjD]}|jr(q|j}tj}tj }|j j ||j ||tj}|j tjjkrt||}t||}|jtjjkrx&|D]} |jj| qWq|j|n8|jtjjkrt||jt||nt||t|||j||qWtj} tj} d| jj_d| jjj_tj }|jd|j | | |jd| jjj|jd| jjjj|jd|j | | |jd| jjj|jd| jjjj| j|jd|j | | |jd| jjj|jd| jjjj| j|jd|j | | |jd| jjj|jd| jjjj| jd| jj_|jd|j | | |jd| jjj|jd| jjj|jd|j | | dd |jd| jjj|jd| jjjd| j_|j | j!d |jd |j | | |j | j!d | jd| j_|jd |j | | dd |j"| j!d | jj#j d| jj#j d|jd |j | | |jd t$| jj#|jd| jj#d|jd| jj#d |jd |j | | d d|jd t$| jj#|jd| jj#ddS)Nii.z child.payloadrzchild.child.payloadchildiTFpayloadzpayload.repeatedInt32r)r!)%rrKr SetAllFieldsrLrQZcontaining_oneofrRrrDrErF MergeMessageZlabelr ZFieldDescriptorZLABEL_REPEATEDgetattrZcpp_typeZCPPTYPE_MESSAGEaddZCopyFromextendsetattrrZNestedTestAllTypesr`raZoptional_int32rrGZoptional_int64rOZHasFieldrVZrepeated_int32rN) rr]rTZ field_namedstrHmsgZ repeated_srcZ repeated_msgitemZ nested_srcZ nested_dstrrrtestMergeMessages                           zFieldMaskTest.testMergeMessagec Csdtj}tj}tj}tj||jd|jt}|j ||WdQRX|j dt |j dS)NzoptionalInt32.fieldzError: Field optional_int32 in message protobuf_unittest.TestAllTypes is not a singular message field and cannot have sub-fields.) rrKrrDr rbrrZr:rcrstrZ exception)rr]rhrHerrrtestMergeErrorsYs   zFieldMaskTest.testMergeErrorscCs|jdtjd|jdtjd|jdtjd|jtjdtjd|jtjd tjd |jtjd tjd |jtjd tjddS)NrCrBFooBar_foo_barfoo3Barfoo3_barzYFail to print FieldMask to Json string: Path name Foo must not contain uppercase letters.ZFoozsFail to print FieldMask to Json string: The character after a "_" must be a lowercase letter in path name foo__bar.Zfoo__barzsFail to print FieldMask to Json string: The character after a "_" must be a lowercase letter in path name foo_3bar.Zfoo_3barzKFail to print FieldMask to Json string: Trailing "_" in path name foo_bar_.Zfoo_bar_)rr Z_SnakeCaseToCamelCaser8r>)rrrrtestSnakeCaseToCamelCasefs4   z&FieldMaskTest.testSnakeCaseToCamelCasecCsN|jdtjd|jdtjd|jdtjd|jtjdtjddS)NrBrCrprorrrqzAFail to parse FieldMask: Path name foo_bar must not contain "_"s.)rr Z_CamelCaseToSnakeCaser8r9)rrrrtestCamelCaseToSnakeCases   z&FieldMaskTest.testCamelCaseToSnakeCaseN) rrrrIrUrWrYr^r_rkrnrsrtrrrrr@]s $c &r@c@seZdZddZddZdS) StructTestcCs tj}|j|tj|jdt||j}d|d<d|d<d|d<d|jd d <|j d }|j|tj |j d d dddgd|j d<d ii|d<ddg|d<|jdt||j t|tj|jd|d|jd|d|jd|d|jd|d d |}d|d<|jd d ddd|gt|d j|jit|dd j|jddgt|dj|j}tj}|j||j||xBt|jD]2\}}|j|||j|||j|||qW|jdtt|j|jdtt|jxBt|jD]2}|j|||j|||j||||qWttt|jttt|jf} |j| ttt|j|j t|tj|jd|d|jd|d|jd|d|jd|d d |jd d ddd|gt|d j|d }|jd |d|jd |d|jd|d|jd|d|jd|d|j||dd|d<|jd|d|jj dddddg|jdddddgt|d j|j ddiddgigg|jdt|j|jd|dd|jd|dd|jd|dd|jit|dj|jgt|djd d!i|d<d d!g|d<|jd!|dd |jd d!gt|djt|} tj} tj| | |j|| d"|jdd <|jd"|dd |j d#|d#} |jgt| jtj } | j| d} |jgt| j|jd$|d$}|jit|j| j | d}|jit|j|jdt||d=|d =|jdt||jd t|d |d d=|jdt|d |jd ddd|gt|d jdS)%Nrkey1abckey2Tkey3g&@key4subkeykey5sevenF subkey2key6r)Zkey7 r!ZtwoZ nested_struct nested_listcr"r replaceset empty_list empty_struct)!rStructZassertIsInstance collectionsMappingrrN __class__Zget_or_create_structZget_or_create_listSequencerfZ add_structrO isinstancer assertIslistitemsdictrQSerializeToStringZParseFromStringZassertInkeysvaluesnextiterZadd_listrlr ZMergeZ ListValue)rstruct struct_classZ struct_list inner_struct serializedZstruct2keyvaluerjZtext_serializedZstruct3rZlist2rrrr testStructs          (       zStructTest.testStructc Cstj}|j}dddddidddddd d igd dggigd }|j||jd|d |jd|d|jd|d|jd|dd|}d |d <|jddddd|gt|dj|jdt|ddj |jd |ddd|jd|ddd|d}|jgt|j|d}|jit |j ddiddggd}|j||jdt|dj |jd|dd|jdt|dj |jd|ddd|jd|ddddS)NrvrxTr|g&@r~rFrrr)rwryrzr{r}rrrrwryrzrr{r}r)rrr!rrr)r{r}) rrrupdaterrrrrNrrrQ)rrrZ dictionaryrrrZ duplicaterrr testMergeFromsD  zStructTest.testMergeFromN)rrrrrrrrrruswruc@s,eZdZddZddZddZddZd S) AnyTestc Cstj}|j}tj}|j}|jjd|jj||j |jj d|j |j |jj|j |j |jj||j|jj|tj}|j |jj||j |||j|jj|y|j|Wntk rYnXtd|j dS)Nuüꜟztype.googleapis.com/%sz%s should not have Pack method.)r TestAnyrLrrKZrepeated_stringrFrPackrtype_url full_namerrOZIsrVUnpackAttributeError)rrirSZ all_typesZall_descriptorunpacked_messagerrrtestAnyMessageBs,       zAnyTest.testAnyMessagecCs4tj}d|_tj}|j||j|jddS)Ni90z google.protobuf.internal.TestAny)r r int_valuerAnyrrZTypeName)r submessagerirrrtestMessageNameas  zAnyTest.testMessageNamecCstj}d|_tj}|j|d|j|jd|jj |j|d|j|jd|jj |j|d|j|jd|jj tj}|j |j ||j||dS)Ni90ztype.myservice.comztype.myservice.com/%sztype.myservice.com/r7z/%s) r rrrrrrrrLrrOr)rrrirrrrtestPackWithCustomTypeUrlis   z!AnyTest.testPackWithCustomTypeUrlcCsbtj}x"tdD]}|d|jt|<qWtj}|j|dd|jdd}d}|j ||dS)Nr r)T)Z deterministics~ 4type.googleapis.com/google.protobuf.internal.TestAnyF 0 1 2 3 4 5  6  7 8 9) r rrangeZ map_valuerlrrrrr)rririrZgoldenrrrtestPackDeterministic~s zAnyTest.testPackDeterministicN)rrrrrrrrrrrr@sr__main__)__doc__ __author__rrZ unittest2Zunittest ImportErrorZgoogle.protobufrrrrrrZgoogle.protobuf.internalr r r r r ZTestCaserrr@rurrmainrrrr s<             ?'M PK!VռeeCprotobuf/internal/__pycache__/well_known_types.cpython-36.opt-1.pycnu[3 hn@s~dZdZddlZddlmZddlmZddlZddlmZdZdZ d Z d Z d Z d Z d7Zd ZGdddeZGdddeZGdddeZGdddeZGdddeZddZddZGdddeZddZd d!Zd"d#Zd$d%ZGd&d'd'eZd(d)Zd*d+Z d,d-Z!ej"e#fZ$d.d/Z%d0d1Z&Gd2d3d3eZ'ej(j)e'Gd4d5d5eZ*ej+j)e*eeee*e'ed6Z,dS)8zContains well known classes. This files defines well known classes which need extra maintenance including: - Any - Duration - FieldMask - Struct - Timestamp zjieluo@google.com (Jie Luo)N)datetime) timedelta)FieldDescriptorz%Y-%m-%dT%H:%M:%Siʚ;i@Biils%c@seZdZdZdS)ErrorzTop-level module error.N)__name__ __module__ __qualname____doc__r r &/usr/lib/python3.6/well_known_types.pyr<src@seZdZdZdS) ParseErrorz Thrown in case of parsing error.N)rrr r r r r r r @sr c@s2eZdZdZd ddZddZdd Zd d ZdS) AnyzClass for Any Message type.type.googleapis.com/NcCsPt|dks|ddkr,d||jjf|_nd||jjf|_|j|d|_dS)z5Packs the specified message into current Any message./z%s/%sz%s%s) deterministicN)len DESCRIPTOR full_nametype_urlZSerializeToStringvalue)selfmsgZtype_url_prefixrr r r PackGszAny.PackcCs$|j}|j|sdS|j|jdS)z7Unpacks the current Any message into specified message.FT)rIsZParseFromStringr)rr descriptorr r r UnpackPs   z Any.UnpackcCs|jjddS)z4Returns the protobuf type name of the inner message.rrr)rsplit)rr r r TypeNameXsz Any.TypeNamecCs|j|jkS)z6Checks if this Any represents the given protobuf type.)r r)rrr r r r]szAny.Is)rN)rrr r rrr rr r r r rDs  rc@sxeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZdS) Timestampz!Class for Timestamp message type.cCs|jt}|j|j|t}|t}||t}tdddt||}|j}|ddkrd|dS|ddkr|d|dS|ddkr|d |dS|d |S) a#Converts Timestamp to RFC 3339 date string format. Returns: A string converted from timestamp. The string is always Z-normalized and uses 3, 6 or 9 fractional digits as required to represent the exact time. Example of the return format: '1972-01-01T10:00:20.021Z' irgeArZg.Az.%03dZg@@z.%06dZz.%09dZ)nanos_NANOS_PER_SECONDseconds_SECONDS_PER_DAYrrZ isoformat)rr#Z total_secr%daysdtresultr r r ToJsonStringes     zTimestamp.ToJsonStringc Cs|jd}|dkr|jd}|dkr.|jd}|dkr>td|d|}|jd}|dkrf|}d}n|d |}||dd }tj|t}|td dd}|j|jt} t |d krtd j ||rt t d |d} nd} ||dkrt ||dkrtdj |n||d } | jd} | dkrDtdj | | ddkr| t | d| dt | | dd d8} n0| t | d| dt | | dd d7} t | |_t | |_d S)aNParse a RFC 3339 date string format to Timestamp. Args: value: A date string. Any fractional digits (or none) and any offset are accepted as long as they fit into nano-seconds precision. Example of accepted format: '1972-01-01T10:00:20.021-05:00' Raises: ParseError: On parsing problems. r"r+-z9Failed to parse timestamp: missing valid timezone offset.r.Ni zCFailed to parse Timestamp: nanos {0} more than 9 fractional digits.z0.geAz5Failed to parse timestamp: invalid trailing data {0}.:z#Invalid timezone offset value: {0}.<rrrrr)findrfindr rZstrptime_TIMESTAMPFOMATr%r'r&rformatroundfloatintr#) rrZtimezone_offsetZ time_valueZpoint_positionZ second_valueZ nano_valueZ date_objecttdr%r#Ztimezoneposr r r FromJsonStringsN             20 zTimestamp.FromJsonStringcCs|jtjdS)z#Get the current UTC into Timestamp.N) FromDatetimerZutcnow)rr r r GetCurrentTimeszTimestamp.GetCurrentTimecCs|jt|jS)z.Converts Timestamp to nanoseconds since epoch.)r%r$r#)rr r r ToNanosecondsszTimestamp.ToNanosecondscCs|jt|jtS)z/Converts Timestamp to microseconds since epoch.)r%_MICROS_PER_SECONDr#_NANOS_PER_MICROSECOND)rr r r ToMicrosecondsszTimestamp.ToMicrosecondscCs|jt|jtS)z/Converts Timestamp to milliseconds since epoch.)r%_MILLIS_PER_SECONDr#_NANOS_PER_MILLISECOND)rr r r ToMillisecondsszTimestamp.ToMillisecondscCs|jS)z*Converts Timestamp to seconds since epoch.)r%)rr r r ToSecondsszTimestamp.ToSecondscCs|t|_|t|_dS)z.Converts nanoseconds since epoch to Timestamp.N)r$r%r#)rr#r r r FromNanosecondss zTimestamp.FromNanosecondscCs|t|_|tt|_dS)z/Converts microseconds since epoch to Timestamp.N)r?r%r@r#)rmicrosr r r FromMicrosecondss zTimestamp.FromMicrosecondscCs|t|_|tt|_dS)z/Converts milliseconds since epoch to Timestamp.N)rBr%rCr#)rmillisr r r FromMillisecondss zTimestamp.FromMillisecondscCs||_d|_dS)z*Converts seconds since epoch to Timestamp.rN)r%r#)rr%r r r FromSecondsszTimestamp.FromSecondscCstj|j|jttS)zConverts Timestamp to datetime.)rZutcfromtimestampr%r#r7r$)rr r r ToDatetimeszTimestamp.ToDatetimecCs2|tddd}|j|jt|_|jt|_dS)zConverts datetime to Timestamp.irN)rr%r'r& microsecondsr@r#)rr(r9r r r r<szTimestamp.FromDatetimeN)rrr r r*r;r=r>rArDrErFrHrJrKrLr<r r r r r!bs:r!c@sxeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZdS)Durationz Class for Duration message type.cCst|j|j|jdks"|jdkrPd}|j td|jd}d|jd}n"d}|jt|jd}|jd}|d|7}|ddkr|dS|ddkr|d|dS|d dkr|d |d S|d |S) a+Converts Duration to string format. Returns: A string converted from self. The string format will contains 3, 6, or 9 fractional digits depending on the precision required to represent the exact Duration value. For example: "1s", "1.010s", "1.000000100s", "-3.100s" rr,geAr.z%dsg.Az.%03dsg@@z.%06dsz.%09ds)_CheckDurationValidr%r#r8)rr)r%r#r r r r*s      zDuration.ToJsonStringc Cst|dks|d dkr&tdj|y|jd}|d krPt|dd}d}nbt|d|}|ddkrtttdj||dd }n"tttd j||dd }t||||_||_ Wn"t k rtd j|YnXdS)a?Converts a string to Duration. Args: value: A string to be converted. The string must end with 's'. Any fractional digits (or none) are accepted as long as they fit into precision. For example: "1s", "1.01s", "1.0000001s", "-3.100s Raises: ParseError: On parsing problems. rrOz'Duration must end with letter "s": {0}.r-Nrr,z-0{0}geAz0{0}zCouldn't parse duration: {0}.rrrrr) rr r5r2r8r6r7rPr%r# ValueError)rrr:r%r#r r r r;s$    $"  zDuration.FromJsonStringcCs|jt|jS)z#Converts a Duration to nanoseconds.)r%r$r#)rr r r r>4szDuration.ToNanosecondscCst|jt}|jt|S)z$Converts a Duration to microseconds.)_RoundTowardZeror#r@r%r?)rrGr r r rA8s zDuration.ToMicrosecondscCst|jt}|jt|S)z$Converts a Duration to milliseconds.)rRr#rCr%rB)rrIr r r rD=s zDuration.ToMillisecondscCs|jS)zConverts a Duration to seconds.)r%)rr r r rEBszDuration.ToSecondscCs|j|t|tdS)z!Converts nanoseconds to Duration.N)_NormalizeDurationr$)rr#r r r rFFs zDuration.FromNanosecondscCs|j|t|ttdS)z"Converts microseconds to Duration.N)rSr?r@)rrGr r r rHKszDuration.FromMicrosecondscCs|j|t|ttdS)z"Converts milliseconds to Duration.N)rSrBrC)rrIr r r rJQszDuration.FromMillisecondscCs||_d|_dS)zConverts seconds to Duration.rN)r%r#)rr%r r r rKWszDuration.FromSecondscCst|jt|jtdS)zConverts Duration to timedelta.)r%rM)rr%rRr#r@)rr r r ToTimedelta\szDuration.ToTimedeltacCs"|j|j|jt|jtdS)zConverts timedelta to Duration.N)rSr%r'r&rMr@)rr9r r r FromTimedeltabszDuration.FromTimedeltacCs0|dkr |dkr |d7}|t8}||_||_dS)z"Set Duration by seconds and nanos.rrN)r$r%r#)rr%r#r r r rSgs zDuration._NormalizeDurationN)rrr r r*r;r>rArDrErFrHrJrKrTrUrSr r r r rNs  rNcCsD|t ks|tkr tdj||t ks2|tkr@tdj|dS)NzRDuration is not valid: Seconds {0} must be in range [-315576000000, 315576000000].zJDuration is not valid: Nanos {0} must be in range [-999999999, 999999999].)_DURATION_SECONDS_MAXrr5r$)r%r#r r r rPqsrPcCs0||}||}|dkr(|dkr(|dS|SdS)z,Truncates the remainder part after division.rrNr )rZdividerr)Z remainderr r r rR|s rRc@sReZdZdZddZddZddZdd Zd d Zd d Z ddZ dddZ dS) FieldMaskz!Class for FieldMask message type.cCs,g}x|jD]}|jt|q Wdj|S)z;Converts FieldMask to string according to proto3 JSON spec.,)pathsappend_SnakeCaseToCamelCasejoin)rZcamelcase_pathspathr r r r*s zFieldMask.ToJsonStringcCs0|jx"|jdD]}|jjt|qWdS)z;Converts string to FieldMask according to proto3 JSON spec.rXN)ClearrrYrZ_CamelCaseToSnakeCase)rrr]r r r r;szFieldMask.FromJsonStringcCs"x|jD]}t||sdSqWdS)z=Checks whether the FieldMask is valid for Message Descriptor.FT)rY _IsValidPath)rmessage_descriptorr]r r r IsValidForDescriptors  zFieldMask.IsValidForDescriptorcCs*|jx|jD]}|jj|jqWdS)z:Gets all direct fields of Message Descriptor to FieldMask.N)r^fieldsrYrZname)rrafieldr r r AllFieldsFromDescriptors z!FieldMask.AllFieldsFromDescriptorcCst|}|j|dS)a:Converts a FieldMask to the canonical form. Removes paths that are covered by another path. For example, "foo.bar" is covered by "foo" and will be removed if "foo" is also in the FieldMask. Then sorts all paths in alphabetical order. Args: mask: The original FieldMask to be converted. N)_FieldMaskTree ToFieldMask)rmasktreer r r CanonicalFormFromMasks zFieldMask.CanonicalFormFromMaskcCs0t|t|t|}|j||j|dS)z+Merges mask1 and mask2 into this FieldMask.N)_CheckFieldMaskMessagergMergeFromFieldMaskrh)rmask1mask2rjr r r Unions  zFieldMask.UnioncCsHt|t|t|}t}x|jD]}|j||q&W|j|dS)z/Intersects mask1 and mask2 into this FieldMask.N)rlrgrY IntersectPathrh)rrnrorj intersectionr]r r r Intersects zFieldMask.IntersectFcCst|}|j||||dS)aMerges fields specified in FieldMask from source to destination. Args: source: Source message. destination: The destination message to be merged into. replace_message_field: Replace message field if True. Merge message field if False. replace_repeated_field: Replace repeated field if True. Append elements of repeated field if False. N)rg MergeMessage)rsource destinationZreplace_message_fieldZreplace_repeated_fieldrjr r r rts zFieldMask.MergeMessageN)FF) rrr r r*r;rbrfrkrprsrtr r r r rWs  rWcCs`|jd}|j}xB|D]:}|jj|}|dksH|jtjksH|jtjkrLdS|j }qW||jkS)z8Checks whether the path is valid for Message Descriptor.r-NF) rpopfields_by_namegetlabelrLABEL_REPEATEDtypeZ TYPE_MESSAGEZ message_type)rar]partsZlastrdrer r r r`s      r`cCs0|j}|jdks|jjdkr,tdj|jdS)z0Raises ValueError if message is not a FieldMask.rWz google/protobuf/field_mask.protozMessage {0} is not a FieldMask.N)rrdfilerQr5r)messagerar r r rls   rlcCsg}d}xh|D]`}|jr(tdj||rX|jrH|j|jd}qntdj|q|dkrfd}q||7}qW|rtdj|dj|S)z2Converts a path name from snake_case to camelCase.FzYFail to print FieldMask to Json string: Path name {0} must not contain uppercase letters.znFail to print FieldMask to Json string: The character after a "_" must be a lowercase letter in path name {0}._TzFFail to print FieldMask to Json string: Trailing "_" in path name {0}.r.)isupperrr5islowerrZupperr\) path_namer)Zafter_underscorecr r r r[s&   r[cCsXg}xH|D]@}|dkr$tdj||jrB|d7}||j7}q ||7}q Wdj|S)z3Converts a field name from camelCase to snake_case.rz=Fail to parse FieldMask: Path name {0} must not contain "_"s.r.)r r5rlowerr\)rr)rr r r r_ s  r_c@sJeZdZdZdddZddZddZd d Zd d Zd dZ ddZ dS)rga7Represents a FieldMask in a tree structure. For example, given a FieldMask "foo.bar,foo.baz,bar.baz", the FieldMaskTree will be: [_root] -+- foo -+- bar | | | +- baz | +- bar --- baz In the tree, each leaf node represents a field path. NcCsi|_|r|j|dS)z"Initializes the tree by FieldMask.N)_rootrm)r field_maskr r r __init__'sz_FieldMaskTree.__init__cCsx|jD]}|j|qWdS)zMerges a FieldMask to the tree.N)rYAddPath)rrr]r r r rm-s z!_FieldMaskTree.MergeFromFieldMaskcCsL|j}x8|jdD]*}||kr(i||<n ||s4dS||}qW|jdS)a Adds a field path into the tree. If the field path to add is a sub-path of an existing field path in the tree (i.e., a leaf node), it means the tree already matches the given path so nothing will be added to the tree. If the path matches an existing non-leaf node in the tree, that non-leaf node will be turned into a leaf node with all its children removed because the path matches all the node's children. Otherwise, a new path will be added. Args: path: The field path to add. r-N)rrclear)rr]noderdr r r r2s  z_FieldMaskTree.AddPathcCs|jt|jd|dS)z!Converts the tree to a FieldMask.r.N)r^_AddFieldPathsr)rrr r r rhKsz_FieldMaskTree.ToFieldMaskcCsT|j}x<|jdD].}||kr"dS||s8|j|dS||}qW|j||dS)zCalculates the intersection part of a field path with this tree. Args: path: The field path to calculates. intersection: The out tree to record the intersection part. r-N)rrr AddLeafNodes)rr]rrrrdr r r rqPs  z_FieldMaskTree.IntersectPathcCs<|s|j|x(|D] }|d|}|j|||qWdS)z/Adds leaf nodes begin with prefix to this tree.r-N)rr)rprefixrrd child_pathr r r ras    z_FieldMaskTree.AddLeafNodescCst|j||||dS)zCMerge all fields specified by this tree from source to destination.N) _MergeMessager)rrurvreplace_messagereplace_repeatedr r r rtisz_FieldMaskTree.MergeMessage)N) rrr r rrmrrhrqrrtr r r r rgs  rgcCst|ts|jdS|S)z#Converts value to str if it is not.zutf-8) isinstancestrencode)rr r r _StrConvertqs  rc CsT|j}xF|D]<}||}|j|}|dkr@tdj||j|r|jtjks\|jtj krntdj||jt |t ||t ||||q|jtjkr|r|j t |t ||} t ||} |jtj krx&| D]} | jj| qWn | j| q|jtj kr:|r|j t ||j|rLt ||jt ||qt||t ||qWdS)zDMerge all fields specified by a sub-tree from source to destination.Nz+Error: Can't find field {0} in message {1}.z[Error: Field {0} in message {1} is not a singular message field and cannot have sub-fields.)rrxrQr5rrzrr{Zcpp_typeZCPPTYPE_MESSAGErgetattrZ ClearFieldraddZ MergeFromextendHasFieldsetattr) rrurvrrZsource_descriptorrdZchildreZrepeated_sourceZrepeated_destinationitemr r r r{s>            rcCsP|s|jj|dSx6t|D]*}|r4|d|}n|}t||||qWdS)z7Adds the field paths descended from node to field_mask.Nr-)rYrZsortedr)rrrrdrr r r rs rcCs|dkrd|_nt|tr"||_nrt|tjr6||_n^t|trH||_nLt|t rj|j j |j j |n*t|t r|jj |jj|ntddS)NrzUnexpected type) null_valuerbool bool_valuesixZ string_types string_value _INT_OR_FLOAT number_valuedict struct_valuer^updatelist list_valuerrQ)rrr r r _SetStructValues       rcCsp|jd}|dkr|jS|dkr$dS|dkr2|jS|dkr@|jS|dkrN|jS|dkr\|jS|dkrltddS) NZkindrrrrrrz Value not set)Z WhichOneofrrrrrrQ)rZwhichr r r _GetStructValues rc@steZdZdZgZddZddZddZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZddZdS)StructzClass for Struct message type.cCst|j|S)N)rrc)rkeyr r r __getitem__szStruct.__getitem__cCs ||jkS)N)rc)rrr r r __contains__szStruct.__contains__cCst|j||dS)N)rrc)rrrr r r __setitem__szStruct.__setitem__cCs |j|=dS)N)rc)rrr r r __delitem__szStruct.__delitem__cCs t|jS)N)rrc)rr r r __len__szStruct.__len__cCs t|jS)N)iterrc)rr r r __iter__szStruct.__iter__cCst|jjS)N)rrckeys)rr r r rsz Struct.keyscsfddDS)Ncsg|] }|qSr r ).0r)rr r sz!Struct.values..r )rr )rr valuessz Struct.valuescsfddDS)Ncsg|]}||fqSr r )rr)rr r rsz Struct.items..r )rr )rr itemssz Struct.itemscCs,|j|jds |j|jj|j|jS)zAReturns a list for this key, creating if it didn't exist already.r)rcrrr^)rrr r r get_or_create_listszStruct.get_or_create_listcCs,|j|jds |j|jj|j|jS)zCReturns a struct for this key, creating if it didn't exist already.r)rcrrr^)rrr r r get_or_create_structszStruct.get_or_create_structcCs.x(t|jD]\}}t|j||qWdS)N)rrrrc)rZ dictionaryrrr r r r sz Struct.updateN)rrr r __slots__rrrrrrrrrrrrr r r r rsrc@sXeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dS) ListValuez!Class for ListValue message type.cCs t|jS)N)rr)rr r r rszListValue.__len__cCst|jj|dS)N)rrr)rrr r r rZszListValue.appendcCsx|D]}|j|qWdS)N)rZ)rZelem_seqrr r r rs zListValue.extendcCst|jj|S)z&Retrieves item by the specified index.)rrr)rindexr r r rszListValue.__getitem__cCst|jj||dS)N)rrr)rrrr r r r!szListValue.__setitem__cCs |j|=dS)N)r)rrr r r r$szListValue.__delitem__ccs$xtt|D]}||VqWdS)N)ranger)rir r r r'szListValue.itemscCs|jjj}|j|S)zAAppends and returns a struct value as the next value in the list.)rrrr^)rrr r r add_struct+s zListValue.add_structcCs|jjj}|j|S)z?Appends and returns a list value as the next value in the list.)rrrr^)rrr r r add_list2s zListValue.add_listN) rrr r rrZrrrrrrrr r r r rsr)zgoogle.protobuf.Anyzgoogle.protobuf.Durationzgoogle.protobuf.FieldMaskzgoogle.protobuf.ListValuezgoogle.protobuf.Structzgoogle.protobuf.TimestampiQ)-r __author__ collectionsrrrZgoogle.protobuf.descriptorrr4r$rCr@rBr?r&rV Exceptionrr objectrr!rNrPrRrWr`rlr[r_rgrrrZ integer_typesr7rrrrMutableMappingregisterrMutableSequenceZWKTBASESr r r r 'sZ    N W ) 2 ) PK! >protobuf/internal/__pycache__/more_messages_pb2.cpython-36.pycnu[3 h@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZdZejdddddddddddddddedZdZejdddddddddddddddedZejdddedejdddddddddddddddedejd d!ddd"ddddddddddedejd#d$dddddddddddddedggggddd d*d+ggd%d&d'Zeejd<eejd<eejd<ejee jdejfeed(d)Zejeej eej edS),NcCs|S)N)xrr'/usr/lib/python3.6/more_messages_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z,google/protobuf/internal/more_messages.protozgoogle.protobuf.internalZproto2a; ,google/protobuf/internal/more_messages.protogoogle.protobuf.internal"h OutOfOrderFields optional_sint32 ( optional_uint32 (  optional_int32 (**:C optional_uint64*.google.protobuf.internal.OutOfOrderFields (:B optional_int64*.google.protobuf.internal.OutOfOrderFields ()namepackagesyntaxZ serialized_pboptional_uint64z(google.protobuf.internal.optional_uint64FT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_valueZ message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfileoptional_int64z'google.protobuf.internal.optional_int64OutOfOrderFieldsz)google.protobuf.internal.OutOfOrderFieldsZoptional_sint32z9google.protobuf.internal.OutOfOrderFields.optional_sint32Zoptional_uint32z9google.protobuf.internal.OutOfOrderFields.optional_uint32 Zoptional_int32z8google.protobuf.internal.OutOfOrderFields.optional_int32J)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz*google.protobuf.internal.more_messages_pb2) DESCRIPTOR __module__)rr)rr)!sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr$ZOPTIONAL_UINT64_FIELD_NUMBERZFieldDescriptorrZOPTIONAL_INT64_FIELD_NUMBERrZ DescriptorZ_OUTOFORDERFIELDSZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessageZRegisterExtensionrrrrs                PK!]99Bprotobuf/internal/__pycache__/reflection_test.cpython-36.opt-1.pycnu[3 h @sdZddlZddlZddlZddlZddlZy ddlZWnek rTddlZYnXddl m Z ddl m Z ddl m Z ddl m Z ddl mZddl mZdd l mZdd l mZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZejZGdddeZGdddeZGdddeZGdddeZ GdddeZ!GdddeZ"Gdd d eZ#Gd!d"d"eZ$Gd#d$d$eZ%Gd%d&d&eZ&e'd'krej(dS)(ziUnittest for reflection.py, which also indirectly tests the output of the pure-Python protocol compiler. N)unittest_import_pb2)unittest_mset_pb2) unittest_pb2)descriptor_pb2) descriptor)message) reflection) text_format)api_implementation)more_extensions_pb2)more_messages_pb2)message_set_extensions_pb2) wire_format) test_util)testing_refleaks)decoderc@s\eZdZdZddZddZeZeZeZeZ ddZ e Z dd Z d d Z d d ZddZdS) _MiniDecoderaDecodes a stream of values from a string. Once upon a time we actually had a class called decoder.Decoder. Then we got rid of it during a redesign that made decoding much, much faster overall. But a couple tests in this file used it to check that the serialized form of a message was correct. So, this class implements just the methods that were used by said tests, so that we don't have to rewrite the tests. cCs||_d|_dS)Nr)_bytes_pos)selfbytesr%/usr/lib/python3.6/reflection_test.py__init__Osz_MiniDecoder.__init__cCstj|j|j\}|_|S)N)rZ _DecodeVarintrr)rresultrrr ReadVarintSsz_MiniDecoder.ReadVarintcCstj|jS)N)rZ ZigZagDecoder)rrrr ReadSInt64\sz_MiniDecoder.ReadSInt64cCstj|jS)N)rZ UnpackTagr)rrrrReadFieldNumberAndWireTypeasz'_MiniDecoder.ReadFieldNumberAndWireTypecCs4tjd|j|j|jdd}|jd7_|S)NzZ!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:dqdrZ;dsdtZdydzZ?d{d|Z@d}d~ZAddZBddZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQdddZRddZSeTjUeVjWdkpeVjXdkdddZYddZZddZ[ddZ\ddZ]ddZ^ddZ_dS)ReflectionTestcCsB|jt|t|x(tt|D]}|j||||q"WdS)N) assertEqualr$range)rvaluesZothersirrrassertListsEqualtszReflectionTest.assertListsEqualcCsPtjddddd}|jd|j|jd|j|jd|j|j|jddS)Ng +)K@optional_string)optional_int32optional_doubler6optional_floatr9)r TestAllTypesr0r7r8r6 assertFalseHasField)rprotorrrtestScalarConstructorysz$ReflectionTest.testScalarConstructorcCstjddddgddgdddgd gdd }|jddddgt|j|jddgt|j|jdddgt|j|jd gt|j|jgt|jdS) NrgGz?g +)K@TFr6)repeated_int32repeated_double repeated_boolrepeated_stringrepeated_float) rr:r0listrBrCrDrErF)rr=rrrtestRepeatedScalarConstructors z,ReflectionTest.testRepeatedScalarConstructorcCstjtjjtjjdtjjtjjdgtjd dtjddtjddgtjjtjjddtjjddgd }|jtjjtjjdtjjtjjdgt|j |jtjd dtjddtjddgt|j |jtjjtjjddtjjddgt|j dS) N)bb+)ci r?)ar@)repeated_nested_messagerepeated_foreign_message repeatedgroupii) rr: NestedMessageFOOBARForeignMessageZ RepeatedGroupr0rGrNrOrP)rr=rrr testRepeatedCompositeConstructors6              z/ReflectionTest.testRepeatedCompositeConstructorc Cs tjddddgdddgtjjtjjdtjjtjjdgtjdd tjd d tjd d gdd }|jd|j|jd|j|jddgt |j |jdddgt |j |jtjjtjjdtjjtjjdgt |j |jtjdd tjd d tjd d gt |j |j|jd dS)Nr5r6gGz?g +)K@TF)rIrJ)rKi rL)r7r6rCrDrNrOoptional_nested_messagerVii)rr:rQrRrSrTr0r7r6rGrCrDrNrOr;r<)rr=rrrtestMixedConstructors:            z#ReflectionTest.testMixedConstructorcCs|jttjdd|jttjdd|jttjdd|jttjdd|jttjdgd|jttjdd|jttjdgd|jttjdd|jttjdgddS) Nfoo)r7i)r6)rV)rB)rE)rN) assertRaises TypeErrorrr:)rrrrtestConstructorTypeErrors$z'ReflectionTest.testConstructorTypeErrorcCstjdd}|jd|jtjtjjd}|jd|jtjdgd}|jd|jtjtjjgd}|jd|jdS)NrL)r7r@)rVrA)rB)rN)rr:r0ByteSizerQ)rrrrr(testConstructorInvalidatesCachedByteSizes z7ReflectionTest.testConstructorInvalidatesCachedByteSizecCsptj}|j|jd |jd|j|j|jd d|_|j|jd|jd|j|jd dS)Nr7rr?)rr: assertTruer<r0r7 ClearField)rr=rrrtestSimpleHasBitss z ReflectionTest.testSimpleHasBitscs8fdd}|dd|dd|dd|d d dS) Ncs0tj}t||}t||}jd|j|j| j|j| d}t|||j|t|||}j|j|j|j||j|t||}j|j| j|j| jdt||j||k t|||j|j| j|j| jdt||dS)Nr)rr:getattrr0r^r<setattrr_)Zcomposite_field_nameZscalar_field_namer=Zcomposite_fieldZoriginal_scalar_valueZnew_valZold_composite_field)rrrTestCompositeHasBits.s,       zNReflectionTest.testHasBitsWithSinglyNestedScalar..TestCompositeHasBits optionalgrouprMrVrIoptional_foreign_messagerKZoptional_import_messagedr)rrdr)rr!testHasBitsWithSinglyNestedScalar s " *   z0ReflectionTest.testHasBitsWithSinglyNestedScalarcCstj}|j}~d|_dS)N)rr:rVrI)rr=nestedrrrtestReferencesToNestedMessage]sz,ReflectionTest.testReferencesToNestedMessagecCsTtj}|j}|jd|j||jk d|_|j|jd |jd|jjdS)NrVrir)rr:rVr_r^rIr<r0)rr=rjrrr0testDisconnectingNestedMessageBeforeSettingFieldes z?ReflectionTest.testDisconnectingNestedMessageBeforeSettingFieldcCs6tj}|j}|jd~~tjtj}|j}dS)NrV)rr:rVr_gccollect)rr=rjrrr5testGetDefaultMessageAfterDisconnectingDefaultMessagens zDReflectionTest.testGetDefaultMessageAfterDisconnectingDefaultMessagecCstj}|j}d|_|j|jd|jd|jd|j|jd|jj|j||jk d|_|j|jd |jd|jjdS)NrVrri)rr:rVrIr^r<r_r0)rr=rjrrr/testDisconnectingNestedMessageAfterSettingField{s z>ReflectionTest.testDisconnectingNestedMessageAfterSettingFieldcCs:tj}|j|jd |jd|j|jd dS)NrV)rr:r^r<r_)rr=rrr0testDisconnectingNestedMessageBeforeGettingFields z?ReflectionTest.testDisconnectingNestedMessageBeforeGettingFieldcCsRtj}tj}d|j_|j||j|jd|jd|j|jd dS)NrprV)rr:rVrI MergeFromr^r<r_)rproto1proto2rrr(testDisconnectingNestedMessageAfterMerges  z7ReflectionTest.testDisconnectingNestedMessageAfterMergecCs8tjdkrdStj}d|j_|jd~tjdS)Npythonrpoptional_lazy_message) r Typerr:rxrIr_rmrn)rr=rrr"testDisconnectingLazyNestedMessages  z1ReflectionTest.testDisconnectingLazyNestedMessagecCsttj}|jjjd|jdg|jj|j|jd|jd|j|jd |jj j |j|jddS)NrprV) rZTestNestedMessageHasBitsrVZnestedmessage_repeated_int32appendr0r^r<r_Z%nestedmessage_repeated_foreignmessageadd)rr=rrr&testHasBitsWhenModifyingRepeatedFieldss  z5ReflectionTest.testHasBitsWhenModifyingRepeatedFieldscCs tj}|j|jd |jd|jjjjjj|j|jd d|jjjjj_|jd|jjjjjj|j|jd|j|jjd|j|jjjd|j|jjjjd|j|jjjjjd|j|jjjjjjd |j|jjjjjjddS)NrIrrprMr7)rTestMutualRecursionAr^r<r0rIrMr7)rZrecursive_protorrr!testHasBitsForManyLevelsOfNestingsz0ReflectionTest.testHasBitsForManyLevelsOfNestingcCstj}d|_d|_d|_|j}|j|jjddf|jjddf|jjddfg|j d|j_ |j|jjddf|jjddf|jjddf|jjd|fg|j dS) Nr?rprXr7optional_fixed32r6{rV) rr:rr7r6rVr0 DESCRIPTORfields_by_name ListFieldsrI)rr=Znested_messagerrrtestSingularListFieldss$  z%ReflectionTest.testSingularListFieldsc Cstj}|jjd|jjd|jjd|jjddg|jjg|jjd|jjddtd Dd |_|j |j |j j d d f|j j d ddgf|j j d dgf|j j ddddddgfg|j dS)Nr?rp rXbarbazcss|]}t|VqdS)N)str).0xrrr sz8ReflectionTest.testRepeatedListFields..r@r7rBrepeated_fixed32rE01)rr:rr{rBrEextendr1r7rDr0rrr)rr=rrrtestRepeatedListFieldss"      z%ReflectionTest.testRepeatedListFieldscCsXtj}d|jtj<d|jtj<d|jtj<|jtjdftjdftjdfg|jdS)Nr?rprX)rTestAllExtensions ExtensionsZoptional_fixed32_extensionoptional_int32_extensionZoptional_string_extensionr0r)rr=rrrtestSingularListExtensionss    z)ReflectionTest.testSingularListExtensionscCstj}|jtjjd|jtjjd|jtjjd|jtjjd|jtjjd|jtjjdd|jtj<|jtjdftjddgftjdgftjdddgfg|j dS)Nr?rprrXrrr) rrrZrepeated_fixed32_extensionr{repeated_int32_extensionrepeated_string_extensionrr0r)rr=rrrtestRepeatedListExtensionss   z)ReflectionTest.testRepeatedListExtensionscCsftj}tj|tj|j|jjddftjdf|jjddftjdf|jjddfg|j dS) NZmy_intr?riZ my_stringrXrZmy_floatg?) rTestFieldOrderingsrSetAllFieldsAndExtensionsZmy_extension_intr0rrZmy_extension_stringr)rr=rrrtestListFieldsAndExtensions s z*ReflectionTest.testListFieldsAndExtensionscCstj}|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j |jd|j |jd|j |jd|j |jd|j |jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd |j|jd|j|jd |j|jd |j|jd |j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j |jtjj!|j"|jtj#|j$|jt%j&|j'tj(}|jd|j)dS)NrgF)*rJ,-./012gI@gd@TZhellosworlduሴii)*rr:r0r7optional_int64optional_uint32optional_uint64optional_sint32optional_sint64roptional_fixed64optional_sfixed32optional_sfixed64r9r8 optional_boolr6optional_bytesZ default_int32Z default_int64Zdefault_uint32Zdefault_uint64Zdefault_sint32Zdefault_sint64Zdefault_fixed32Zdefault_fixed64Zdefault_sfixed32Zdefault_sfixed64Z default_floatZdefault_doubleZ default_boolZdefault_stringZ default_bytesrSZdefault_nested_enum FOREIGN_BARZdefault_foreign_enumrZ IMPORT_BARZdefault_import_enumZTestExtremeDefaultValuesZ utf8_string)rr=rrrtestDefaultValuessJz ReflectionTest.testDefaultValuescCstj}|jt|jddS)Nnonexistent_field)rr:rY ValueErrorr<)rr=rrr testHasFieldWithUnknownFieldName@sz/ReflectionTest.testHasFieldWithUnknownFieldNamecCstj}|jt|jddS)Nr)rr:rYrr_)rr=rrr"testClearFieldWithUnknownFieldNameDsz1ReflectionTest.testClearFieldWithUnknownFieldNamecsNtjxtdD]}jjqWtj}j||jtfdddS)N cs jdS)Nrp)repeated_messager)r=rrQsz9ReflectionTest.testClearRemovesChildren..)rTestRequiredForeignr1rr|CopyFromrY IndexError)rr3rur)r=rtestClearRemovesChildrenHs  z'ReflectionTest.testClearRemovesChildrencCs~tj}|jtt|dd|jtt|ddg|jtt|dd|jtt|jdd|jtt|jdd|jtt|dddS) NrBrrVrirI"Zsome_attributer)rr:rYAttributeErrorrcrNrF)rr=rrrtestDisallowedAssignmentsSs   z(ReflectionTest.testDisallowedAssignmentscCstj}|jtt|dd|jtt|dd|jtt|dd|jtt|dd|jtt|dd|jtt|dd|jtt|d dtjd kr|jtt|ddnd|_dS) Nr7g?rXr6rrrr9r8rw)rr:rYrZrcr ryr)rr=rrrtestSingleScalarTypeSafetyhs z)ReflectionTest.testSingleScalarTypeSafetyc sfdd}|ddt|ddt|ddtyt}Wntk rRt}YnXtjddkrp|dd|n |ddt|d d||d d||d d||d d|d S)z}Verifies setting of scalar integers. Args: integer_fn: A function to wrap the integers that will be assigned. csZtj}|}t|||jt|||tj}|j|jjt|||dS)N)rr:rcassertIsInstancerbParseFromStringSerializeToString) field_namevalueZ expected_typer=ru) integer_fnrrrTestGetAndDeserialize}s z@ReflectionTest.assertIntegerTypes..TestGetAndDeserializer7r?rLrr<rNi@i@lli@li@l)int NameErrorrcalcsize)rrrZ integer_64r)rrrassertIntegerTypesws        z!ReflectionTest.assertIntegerTypescCs|jdddS)NcSs|S)Nr)rrrrrsz1ReflectionTest.testIntegerTypes..)r)rrrrtestIntegerTypesszReflectionTest.testIntegerTypescCs|jtjdS)N)rrNonStandardInteger)rrrrtestNonStandardIntegerTypessz*ReflectionTest.testNonStandardIntegerTypescCsNtj}|jt d|_WdQRX|jtdtjdd|_WdQRXdS)N2Zmy_errorrp) rr:rYrZrZassertRaisesRegex RuntimeErrorrr)rpbrrrtestIllegalValuesForIntegerss  z+ReflectionTest.testIllegalValuesForIntegersc sfdd}|ddd|ddd|d dd|d dd tj}jttfd|_Wd QRXtj}d|_jd|jd S)zVerifies bounds checking for scalar integer fields. Args: integer_fn: A function to wrap the integers that will be assigned. cstj}|}|}t|||j|t||t|||j|t||jttft|||djttft|||ddS)Nr?)rr:rcr0rbrYrrZ)rZ expected_minZ expected_maxr)rrrrTestMinAndMaxIntegerss   zHReflectionTest.assetIntegerBoundsChecking..TestMinAndMaxIntegersr7r?rrrlr?rlNlilillllll)rr:rYrrZroptional_nested_enumr0)rrrrr)rrrassetIntegerBoundsCheckings     z)ReflectionTest.assetIntegerBoundsCheckingcCs|jdddS)NcSs|S)Nr)rrrrrsz?ReflectionTest.testSingleScalarBoundsChecking..)r)rrrrtestSingleScalarBoundsCheckingsz-ReflectionTest.testSingleScalarBoundsCheckingcCs|jtjdS)N)rrr)rrrr)testNonStandardSingleScalarBoundsCheckingsz8ReflectionTest.testNonStandardSingleScalarBoundsCheckingcCstj}|jt|jjd|jt|jjd|jt|jd|jt|jd|jjdd|jd<|jt|jj dd|jt|jj dd|jt|jj dg|jt|jj dd|jjd |jt|jj dddS) Ng?rXrririabcindexr) rr:rYrZrBr{rEZrepeated_bytesr __setitem__)rr=rrrtestRepeatedScalarTypeSafetys    z+ReflectionTest.testRepeatedScalarTypeSafetycCsVtj}|jd|jd|_|jd|jd|_|jd|jd|_|jd|jdS)Nrr?ll)rr:r0r7r)rr=rrr!testSingleScalarGettersAndSetterssz0ReflectionTest.testSingleScalarGettersAndSetterscCsVtj}|jdd|_|j|jd|jd|jd|j|j|jd dS)Nr7r?r)rr:r_r7r^r<r0)rr=rrrtestSingleScalarClearFields  z)ReflectionTest.testSingleScalarClearFieldcCsftj}|jd|j|jdtjj|jd|j|jdtjj|jd|j|jdtjjdS)Nr?r@rA)rr:r0rRrSBAZ)rr=rrr testEnumsszReflectionTest.testEnumscCs|jdtjjtj|jdtjjtj|jdtjjtj|jttjjdtj }|jd|j j|j |jdtj j j|j |jd|j j|j |jdtj j j|j |jd|j j|j |jdtj j j|j |jt|j jd|jttj j jddS)N FOREIGN_FOOr FOREIGN_BAZi0,rRrSr)r0r ForeignEnumNamerrrrYrr: NestedEnumrRrSr)rr=rrr testEnum_Names2  zReflectionTest.testEnum_NamecCs|jtjtjjd|jtjtjjd|jtjtjjd|jttjjdtj }|j|j |j jd|j|j tj j jd|j|j |j jd|j|j tj j jd|j|j |j jd|j|j tj j jd|jt|j jd|jttj j jddS) NrrrZFOrRrSrZFoo)r0rrrZValuerrrYrr:rRrrSr)rr=rrrtestEnum_Value"s2  zReflectionTest.testEnum_ValuecCs|jdddgttjj|jdddgttjj|jdddgttjjtj}|jddd d gt|jj|jd d d dgt|jj|jddddgt|jjdS)NrrrrrprRrSrNEGr?r@rA)rr)rrp)rr)rRr?)rSr@)rrAr)rr) r0rGrrkeysr2itemsr:r)rr=rrrtestEnum_KeysAndValues>s  z%ReflectionTest.testEnum_KeysAndValuescCs|tj}|j|j |jdt|j|jjd|jjd|jjd|j|j|jdt|j|jdddg|j|jd|jd|jd|jd|jt|jj d|jt|jj d|jt |jj d|jt |jj dd |jd<|jdd dg|j|jj dd |jdd d dg|j|jjd |jd d dg|jdd |jdd d dd g|jddd dt dD|jdd <|jddddd g|jdddg|jdd <|jddddd g|jg}x|jD]}|j|qW|jddddd g||jd=|jdddd g|j|jdd=|jddg|j|jj ddg|jddddg|j|jd|j|j |jdt|j|jjd|jd|jdd|jd<|jd|jdddddg|jdd<|jd=|jdddg|j|jd=|jddg|j|jt|jjd|jt|jjd|jd d!=|jdg|j|jdd=|jdg|jdS)"NrrprrAr?irXrarrcss|] }|VqdS)Nr)rr3rrrrrsz5ReflectionTest.testRepeatedScalars..r@#(r rBi,di'ri.rrrrrr)rr:r^rBr0r$r{rYr __getitem__rZinsertr1rr_ __delitem__)rr=rr3rrrtestRepeatedScalarsMsl              z"ReflectionTest.testRepeatedScalarscCsFtj}|j|j |jdt|j|jjd|jjd|jjd|jjd|jdt|j|jjd|jdt|j|jd|jd|jd|jd|jd|jd|jjd|jdt|j|jd|jd|jd|jd|jjd|jdt|j|jd|jd|jt |jjddS) NrrprrrAr?r@r) rr:r^rBr0r$r{removerYr)rr=rrrtestRepeatedScalarsRemoves*       z(ReflectionTest.testRepeatedScalarsRemovec Cs(tj}|j|j |jdt|j|jj}|jj}|j|j|jdt|j|j||g|j|j|tjj |j t |jj d|j t |jj d |j t |jj d|j t |jj d|jj}|jj}|jj}|j|||g|jdd|j|||||g|jdd|j||g|jdd|j|||g|jdd|j||jd|j|g|jddg}x|jD]}|j|qW|j|||||g||jd=|j||||g|j|jdd=|j||g|jtjj dd} tjj dd} |jj| | g|jdt|j|j| |jd|j| |jd|j t |jj| |j t |jjdgtj} |j t |jj| g|jd |j|j |jdt|j|jjd d|jdt|j|jd |jdj|j t |jjd |j td |jd<WdQRXdS) Nrr@irXr?r)rIrArNrii.)rr:r^rNr0r$r|r4rrQrYrrrZr{rr_rI Exception) rr=m0m1m2Zm3Zm4rr3Zn1Zn2Zwrong_message_typerrrtestRepeatedCompositess~               z%ReflectionTest.testRepeatedCompositescCs<tj}|jdt|j|jj}t|j|_|jj}t|j|_|j||k|jj}t|j|_|j|||g|j|jdt|j|jj ||jdt|j|j||jd|j||jd|j t |jj ||j t |jj d|jdt|j|jj ||jdt|j|j||jddS)NrrAr@r?) rr:r0r$rNr|rIr^r4rrYr)rr=rrrrrrtestRepeatedCompositeRemoves*        z*ReflectionTest.testRepeatedCompositeRemovecstjdkrdStj}|dddd|j|j|jddddddtjd}tj ddd dgg|ggtj d Gfd d d t j t jtj}|}|jd|j|j|jd d |_|jd |j|j|jddS)Nrw foo_fieldzMyProto.foo_fieldrr?F)name full_namernumbertypeZcpp_typelabelZ default_valuecontaining_type message_typeZ enum_typeZ is_extensionZextension_scopeoptionsZMyProtoZignored) r r filenamer nested_types enum_typesfields extensionsrcseZdZZdS)z>ReflectionTest.testHandWrittenReflection..MyProtoClassN)r&r'r(rr) mydescriptorrr MyProtoClassHsrri)r ryrFieldDescriptor TYPE_INT64Z CPPTYPE_INT64LABEL_OPTIONALrZ FieldOptions DescriptorZMessageOptionssixwith_metaclassrGeneratedProtocolMessageTyperMessager0rr^r<)rrZfoo_field_descriptorrZmyproto_instancer)rrtestHandWrittenReflection4s.    z(ReflectionTest.testHandWrittenReflectioncstjdkrdSfddd_tj}d|_tj}|d|j|d|j|d|j |d |j jd 7_|j j }d |_|j|_ j|_tjj|_tj||jdjk|jdjk|jdjk|jd jk|jd jkGfd d d tjtjtj}|}d|_d|_d|_d|_|jjddg|j }tj!|}|j||k |j"|||j"|j|j|j"|j|j|j"|j|j|j"|j|j|j"|j|jdS)Nrwcs:jd7_|jj}||_||_j|_tjj|_ dS)Nr?) field_indexfieldr|r r r rFieldDescriptorProtorr )r=rZ field_type new_field)AddDescriptorFieldrrr%Ws  zEReflectionTest.testDescriptorProtoSupport..AddDescriptorFieldrZCarr year automaticpricer?ownerscseZdZZdS)z=ReflectionTest.testDescriptorProtoSupport..CarMessageN)r&r'r(rr)descrr CarMessagewsr+priusiTg@ZbobZsusan)#r ryr!rZDescriptorProtor r#Z TYPE_STRINGrZ TYPE_BOOLZ TYPE_DOUBLEr"r|r r LABEL_REPEATEDr rMakeDescriptorr^rrrrrrrr&r'r(r)rrZ ParseMessager0)rZ desc_protoZfdpr$r+r,Zserialized_priusZ new_priusr)r%r*rtestDescriptorProtoSupportQsN        z)ReflectionTest.testDescriptorProtoSupportcCstj}tj}|j|j| |jd|j||j|j| d|j|<|jd|j||j|j||j||jd|j||j|j| dS)Nrri)rrrr^ HasExtensionr0rClearExtension)rextendee_proto extensionrrr'testTopLevelExtensionsForOptionalScalars  z6ReflectionTest.testTopLevelExtensionsForOptionalScalarcCstj}tj}|jdt|j||j|jd|jdg|j||j|}|j||jdt|j||j||j|k |j t t j |j|ddS)NrrXrM) rrrr0r$rr{r1r^rYrZoperatorsetitem)rr2r3Z string_listrrr'testTopLevelExtensionsForRepeatedScalars  z6ReflectionTest.testTopLevelExtensionsForRepeatedScalarcCstj}tj}|j|j| |jd|j|j|j|j| d|j|_|jd|j|j|j|j||j|}|j||j||j|k d|_|jd|j|j|j d|j|j| |j t t j |j|ddS)NrrirrKrM)rrZ"optional_foreign_message_extensionr^r0r0rrKr1r<rYrZr5r6)rr2r3Zforeign_messagerrr(testTopLevelExtensionsForOptionalMessages"   z7ReflectionTest.testTopLevelExtensionsForOptionalMessagecCstj}tj}|jdt|j||j|j}d|_|jd|j|djd|_|jd|j|dj|j|}|j||jdt|j||j ||j|k |j t t j |j|ddS)NrrirrM)rrrepeatedgroup_extensionr0r$rr|rMr1r^rYrZr5r6)rr2r3groupZ group_listrrr(testTopLevelExtensionsForRepeatedMessages  z7ReflectionTest.testTopLevelExtensionsForRepeatedMessagecCstj}tjj}|j|j| |j|}|jd|j|j|j| d|_|jd|j|j|j|j||j ||j||j|k |j|j| dS)Nrri) rr TestRequiredsingler^r0rr0rMr1)rr2r3ZrequiredrrrtestNestedExtensionss  z#ReflectionTest.testNestedExtensionscCsTtjj}|j|jtjjd|j|jdjtjj|j dt |j tj jdS)Nr?z*protobuf_unittest.optional_int32_extensionr) rrpoolr^ZFindExtensionByNumberrZassertIsZFindExtensionByNamerr0r$ZFindAllExtensionsr:)rr?rrrtestRegisteredExtensionss z'ReflectionTest.testRegisteredExtensionscCstj}|j|jd |jd|jjtj|j|jd d|jjtj<|jd|jjtj|j|jdtj}|j|jd |jg|jjtj|j|jd |jjtjj d|jdg|jjtj|j|jdtj}|j|jd |jd|jjtj j |j|jd d|jjtj _ |jd|jjtj j |j|jdtj}|j|jd |jdt |jjtj |j|jd |jjtj j}|j||jjtj d|j|jddS)N submessagerri)r TopLevelMessager^r<r0rAroptional_int_extensionrepeated_int_extensionr{optional_message_extensionforeign_message_intr$repeated_message_extensionr|)rtoplevelforeignrrr(testHasBitsForAncestorsOfExtendedMessagesL              z7ReflectionTest.testHasBitsForAncestorsOfExtendedMessagecCsFtj}|j}tj}|j|}|j|d|_|j||j|k dS)Nri)r rBrArErr1rFr^)rrHr2r3Zextension_protorrr*testDisconnectionAfterClearingEmptyMessage*s  z9ReflectionTest.testDisconnectionAfterClearingEmptyMessagecCstj}|jt|jd|jt|jd|jt|jjd|jt|jjddxbt j t j t j t j fD]J}|jt|j||jt|j||jt|jj||jt|jj|dqdW|jt|jtjdS)Nirp)rrrYKeyErrorr0r1rrrr rCrErDrGr)rr2Zunknown_handlerrrtestExtensionFailureModes4s&       z(ReflectionTest.testExtensionFailureModescCs6tj}tj||j}tjj|}|j||dS)N)rr:r SetAllFieldsr FromStringr0)rrtstring1rurrrtestStaticParseFromSs   z"ReflectionTest.testStaticParseFromcCsFtj}d|_tj}d|_|j||jd|j|jd|jdS)Nr?r)rr:r7r6rsr0)rrtrurrrtestMergeFromSingularField]s z)ReflectionTest.testMergeFromSingularFieldcCsxtj}|jjd|jjdtj}|jjd|j||jd|jd|jd|jd|jd|jddS)Nr?r@r)rr:rBr{rsr0)rrtrurrrtestMergeFromRepeatedFieldjs    z)ReflectionTest.testMergeFromRepeatedFieldcCs6tj}d|j_tj}|j||jd|jjdS)NrL)rr:rerMrsr0)rrtrurrrtestMergeFromOptionalGroupxs  z)ReflectionTest.testMergeFromOptionalGroupcCstj}|jj}d|_|jj}d|_tj}|jj}d|_|j||jd|jdj|jd|jdj|jd|jdjtj}|jj|j|jd|jdj|jd|jdj|jd|jdjdS)NriAirr?r@)rr:rNr|rIrsr0)rrtmruZproto3rrr"testMergeFromRepeatedNestedMessages"    z1ReflectionTest.testMergeFromRepeatedNestedMessagecCsPtj}tj|tj}|j||j|||j}|j}|j||dS)N)rr:rrNrsr0r)rrtrurPstring2rrrtestMergeFromAllFieldss   z%ReflectionTest.testMergeFromAllFieldscCs>tj}d|jtj<tj}|j||jd|jtjdS)Nr?)rrrrrsr0)rrtrurrrtestMergeFromExtensionsSingulars   z.ReflectionTest.testMergeFromExtensionsSingularcCstj}|jtjjd|jtjjdtj}|jtjjd|j||jdt|jtj|jd|jtjd|jd|jtjd|jd|jtjddS)Nr?r@rrA)rrrrr{rsr0r$)rrtrurrrtestMergeFromExtensionsRepeateds z.ReflectionTest.testMergeFromExtensionsRepeatedcCstj}|jtj}|j}d|_|j}d|_tj}|jtj}|j}d|_|j||jtj}|jdt||jd|dj|jd|dj|jd|djdS)NiMorArr?r@) rrr!repeated_nested_message_extensionr|rIrsr0r$)rrtZext1rUruZext2rrr$testMergeFromExtensionsNestedMessages& z3ReflectionTest.testMergeFromExtensionsNestedMessagecCsDtj}tj}|j|j|jd|j||j|jddS)NrV)rr:rVr;r<rs)rmessage1message2rrrtestMergeFromBugs  zReflectionTest.testMergeFromBugcCsLtj}d|_d|_tj}d|_|j||jd|j|jd|jdS)Nr?zimportant-textr)rr:r7r6rr0)rrtrurrrtestCopyFromSingularFields z(ReflectionTest.testCopyFromSingularFieldcCsftj}|jjd|jjdtj}|jjd|j||jd|jd|jd|jddS)Nr?r@r)rr:rBr{rr0)rrtrurrrtestCopyFromRepeatedFields    z(ReflectionTest.testCopyFromRepeatedFieldcCsPtj}tj|tj}|j||j|||j}|j}|j||dS)N)rr:rrNrr0r)rrtrurPrWrrrtestCopyFromAllFieldss   z$ReflectionTest.testCopyFromAllFieldscCs\tj}|jjdd|_d|_|j||jd|jd|jd|j|jd|jdS)Nr?r@zimportant-textr)rr:rBr{r7r6rr0)rrtrrrtestCopyFromSelf s  zReflectionTest.testCopyFromSelfcCs4tjdkrdStj}tj}|jt|j|dS)Nrw)r ryrr:rrYrZr)rrtrurrrtestCopyFromBadTypes  z"ReflectionTest.testCopyFromBadTypecCstj}d|_tj|}|jd|j|jjd|jjdtj|j}|jddg||jj }d|_ tj|j}|j|j|d|_ |j |j|dS)Nr?r@rA) rr:r7copydeepcopyr0rBr{rNr|rIassertNotEqual)rrtruZ containerr_Zmessagesrrr testDeepCopy s      zReflectionTest.testDeepCopycCstj}tjdkr tj|n tj||j|j|j dtj}|j||tj }tj ||j|j|j dtj }|j||dS)Nrwr) rr:r ryrrNZSetAllNonLazyFieldsClearr0r\rSetAllExtensions)rr=Z empty_protorrr testClear4s     zReflectionTest.testClearcCstj}|j}|j|j||jk d|_|j|jd |jd|jjtj}|j}d|_|j}d|_ |j|j||jk |j||jk |jd|j|jd|j d|_d|_ |j |jd|jd|jj|j |jd|jd|jj dS) NrirVrrprrrf) rr:rVrkr^rIr<r0rfrKr;)rr=rjrIrrrtestDisconnectingBeforeClearKs.z+ReflectionTest.testDisconnectingBeforeClearcCsftj}d|j_|j}|j|jjd|j|jjdd|j_|j|jjd|j|jdd|_dS)Nrprr)rZ TestOneof2Z foo_messageZqux_intr0Zfoo_lazy_message)rrUZ sub_messagerrrtestDisconnectingInOneoffsz'ReflectionTest.testDisconnectingInOneofcCsrtj}d|_d|j_|jd|jj|j|jd|j}d|_|jd|j|jd|j|j|jddS)Nrr oneof_uint32roneof_nested_message) rr:rrrsrIr0r;r<Z oneof_string)rr=rjrrr testOneOftszReflectionTest.testOneOfcCs"|j|j|j|jdS)N)r^ IsInitializedrSerializePartialToString)rr=rrrassertInitializedsz ReflectionTest.assertInitializedNcCsNg}|j|j|j|j||j|t||jtj|j|jdS)N) r;rur0r$rYr EncodeErrorrrv)rr=Z error_sizeerrorsrrrassertNotInitializeds z#ReflectionTest.assertNotInitializedcCstj}|j|tj}|j|tj}|j|dd|_|_|_|j|tj }|j|d|j _|j|dd|j _d|j _|j||j j }|j|dd|_|_|_|j|tj}tjj }|j|j }|j|j }|j|dd|_d|_d|_|j|dd|_d|_d|_|j|tj}tjj}d|j|_|j|dd|j|_d|j|_|j|g}tj}|j|j||j|dddgdS) NrAr@r?rrrMbrK)rr:rwrr<rzrMr{rKroptional_messagerr|multirr=r;rur0)rr=r_r3r`ryrrrtestIsInitializedsV                  z ReflectionTest.testIsInitializedcppr@zBErrors are only available from the most recent C++ implementation.cCsd}d}tj}||_||_|jj}d|_tj|||jdd}||_|jj}d|_|j t `}tj|||jd|j t |ddt |jd|j|jdt|j|jd t|jWdQRXdS) Nz!test_file_descriptor_errors.protoZmsg1)Z serialized_pbz)another_test_file_descriptor_errors.protoZmsg2 exceptionz %s not raisedr&z test_file_descriptor_errors.msg1)rFileDescriptorProtor packagerr|rZFileDescriptorrrYrZr^hasattrrbexpectedassertInrr)r file_nameZ package_nameZfile_descriptor_protorZanother_file_namercmrrrtestFileDescriptorErrorss0     z'ReflectionTest.testFileDescriptorErrorscCstj}|jtt|dd|jt|jtj tj d|_|j|jt dt d|_|j|jtj d|jt t|dddj d}||_d|_d|_dS) Nrzunicode objectZTestingr6saauТестzutf-8r) rr:rYrZrcr0r r6r text_typerrencode)rr=Z utf8_bytesrrrtestStringUTF8Encodings     z%ReflectionTest.testStringUTF8Encodingc Csjtj}tj}|j}d}|jd}||j|_|j}|j|j t |t j }|j |}|jt ||tj} |jdt |j|j|jdjd|j|jdjj|| j |jdj}|jt |jdj||jt| jtj|j| j||jdjj|t |d} d} y| j | Wntk rFd} YnX| j} |j| pbt| tkdS) NuТестzutf-8r?riʿFT)r TestMessageSetTestMessageSetExtension2message_set_extensionrrrrr0r\r$r RawMessageSetMergeFromStringitemtype_idr^rendswithr rrreplaceUnicodeDecodeErrorr) rr=Zextension_messager3Z test_utf8Ztest_utf8_bytes serializedraw bytes_readr`ZbadbytesZunicode_decode_failedZ string_fieldrrrtestStringUTF8Serializations8     z*ReflectionTest.testStringUTF8SerializationcCs"tjdd}|jdtj|dS)Ns)rz#optional_bytes: "\000\177\200\377" )rr:r0rr)rr=rrrtestBytesInTextFormat=s z$ReflectionTest.testBytesInTextFormatcCstj}|jjtjj|j|jdtj}|jjtjj|j|jdtj}|jjd}|j d||j|jdtj}|jj d|j|jd|j }tj}|j t ||j||j|jddS)NrVrr) rr:rVrsrQr^r<rrr0rrr$)rr=rrrurrrtestEmptyNestedMessageBs*      z%ReflectionTest.testEmptyNestedMessagecCs6tj}|j|jd|jj|j|jddS)Nre)rr:r;r<reZ SetInParentr^)rr=rrrtestSetInParent]s zReflectionTest.testSetInParentcCs*ddlm}|jj}|jd|jjdS)aTest that we can import nested messages from their __init__.py. Such setup is not trivial since at the time of processing of __init__.py one can't refer to its submodules by name in code, so expressions like google.protobuf.internal.import_test_package.inner_pb2 don't work. They do work in imports, so we have assign an alias at import and then use that alias in generated code. r)import_test_package9N)google.protobuf.internalrZmyprotoZOuterr0innerr)rrmsgrrrtestPackageInitializationImportcs  z.ReflectionTest.testPackageInitializationImport)N)`r&r'r(r4r>rHrUrWr[r]r`rhrkrlrorqrrrvrzr}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r/r4r7r8r;r>r@rJrKrMrQrRrSrTrVrXrYrZr^rarbrcrdrerfrjrmrorqrtrwrzr~unittestskipIfr ryVersionrrrrrrrrrrrr/rs "#Q       ) " !   ZS=1           : 6r/c@s,eZdZddZddZddZddZd S) TestAllTypesEqualityTestcCstj|_tj|_dS)N)rr: first_proto second_proto)rrrrsetUp{s zTestAllTypesEqualityTest.setUpcCs|jtt|jdS)N)rYrZhashr)rrrrtestNotHashablesz(TestAllTypesEqualityTest.testNotHashablecCs|j|j|jdS)N)r0r)rrrrtestSelfEqualitysz)TestAllTypesEqualityTest.testSelfEqualitycCs|j|j|jdS)N)r0rr)rrrrtestEmptyProtosEqualsz-TestAllTypesEqualityTest.testEmptyProtosEqualN)r&r'r(rrrrrrrrrysrc@sheZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZdS)FullProtosEqualityTestz@Equality tests using completely-full protos as a starting point.cCs0tj|_tj|_tj|jtj|jdS)N)rr:rrrrN)rrrrrs   zFullProtosEqualityTest.setUpcCs|jtt|jdS)N)rYrZrr)rrrrrsz&FullProtosEqualityTest.testNotHashablecCs |j|jd|jd|jdS)N)rirr)rrrrtestNoneNotEqualsz'FullProtosEqualityTest.testNoneNotEqualcCs(tj}|j|j||j||jdS)N)rr<rirr)rZ third_protorrrtestNotEqualToOtherMessagesz1FullProtosEqualityTest.testNotEqualToOtherMessagecCs|j|j|jdS)N)r0rr)rrrrtestAllFieldsFilledEqualitysz2FullProtosEqualityTest.testAllFieldsFilledEqualitycCs@|jjd7_|j|j|j|jjd|j|j|jdS)Nr?r7)rr7rirr_)rrrrtestNonRepeatedScalars z,FullProtosEqualityTest.testNonRepeatedScalarcCs|jjjd7_|j|j|j|jjjd8_|j|j|j|jjjd|j|j|j|jjj|jj_|j|j|j|jjd|j|j|jdS)Nr?rIrV)rrVrIrirr0r_)rrrrtestNonRepeatedComposites z/FullProtosEqualityTest.testNonRepeatedCompositecCs>|jjjd|j|j|j|jjd|j|j|jdS)NrprB)rrBr{rirr_)rrrrtestRepeatedScalars z)FullProtosEqualityTest.testRepeatedScalarcCs|jjdjd7_|j|j|j|jjdjd8_|j|j|j|jjj|j|j|j|jjj|j|j|jdS)Nrr?)rrNrIrirr0r|)rrrrtestRepeatedComposites  z,FullProtosEqualityTest.testRepeatedCompositecCs(|jjdd|j_|j|j|jdS)Nr7r)rr_rr7ri)rrrrtestNonRepeatedScalarHasBitss z3FullProtosEqualityTest.testNonRepeatedScalarHasBitscCsV|jjd|jjjd|j|j|jd|jj_|jjjd|j|j|jdS)NrVrIr)rr_rrVrirIr0)rrrrtestNonRepeatedCompositeHasBitss   z6FullProtosEqualityTest.testNonRepeatedCompositeHasBitsN)r&r'r(r)rrrrrrrrrrrrrrrrs rc@seZdZddZdS)ExtensionEqualityTestcCstj}tj}|j||tj||j||tj||j|||jtjd7<|j|||jtjd8<|j|||jtjd|jtj<|j||d|jtj<|j||tj}tj}|jd|jtj|j||dS)Nr?r) rrr0rrlrirrr1)rrrrrrtestExtensionEqualitys*            z+ExtensionEqualityTest.testExtensionEqualityN)r&r'r(rrrrrrsrc@seZdZddZdS)MutualRecursionEqualityTestcCsPtj}tj}|j||d|jjj_|j||d|jjj_|j||dS)Nri)rr~r0rIrMr7ri)rrrrrrtestEqualityWithMutualRecursions    z;MutualRecursionEqualityTest.testEqualityWithMutualRecursionN)r&r'r(rrrrrrsrc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-S). ByteSizeTestcCs,tj|_tj|_tj|_tj|_ dS)N) rr:r=r ZExtendedMessageextended_protoTestPackedTypes packed_protoTestPackedExtensionspacked_extended_proto)rrrrrs   zByteSizeTest.setUpcCs |jjS)N)r=r\)rrrrSizeszByteSizeTest.SizecCs|jd|jjdS)Nr)r0r=r\)rrrrtestEmptyMessageszByteSizeTest.testEmptyMessagecCs8tj}|jd|jtjdd}|jd|jdS)Nrr?)rr@)rr:r0r\)rr=Z proto_kwargsrrrtestSizedOnKwargss zByteSizeTest.testSizedOnKwargscsfdd}|dd|ddx>tttdddttddD]\}}|d|>d|qBW|d d|d d|d ddS)Ncs*jj|j_j|djdS)Nr?)r=rkrr0r)r3Zexpected_varint_size)rrrTest#s z&ByteSizeTest.testVarints..Testrr?rpri'rr@rrll)ziprGr1)rrr3Z num_bytesr)rr testVarints"s   *  zByteSizeTest.testVarintscCshd|j_|jd|jd|j_|jdt|jj|jdd|j_|jdt|jj|jdS)Nrr@rrrA)r=r6r0rr$)rrrr testStrings1s  zByteSizeTest.testStringscCsd|j_|jd|jtj|_d|j_|jd|jtj|_d|j_|jd|jtj|_d|j_|jd|jtj|_d|j_ |jd|jtj|_dS)Nirp gX9v?@rA) r=rr0rrr:rr9r8r)rrrrtestOtherNumerics>s    zByteSizeTest.testOtherNumericscCsd|jj_|jd|jdS) Nr?rAr@i@rrprp)r=rVrIr0r)rrrrtestCompositesXs zByteSizeTest.testCompositescCsd|jj_|jd|jdS) Nr?rrr@i rrr)r=rerMr0r)rrrr testGroups`s zByteSizeTest.testGroupscCs0|jjjd|jjjd|jd|jdS)Nrrr?r@rArrp)r=rBr{r0r)rrrrrgsz ByteSizeTest.testRepeatedScalarscCs&|jjjddg|jd|jdS)Nrrr?r@rArrp)r=rBrr0r)rrrrtestRepeatedScalarsExtendmsz&ByteSizeTest.testRepeatedScalarsExtendcCsN|jjjd|jjjd|jd|j|jjjd|jd|jdS) Nrrr?r@rArrprA)r=rBr{r0rr)rrrrrrs z&ByteSizeTest.testRepeatedScalarsRemovecCs2|jjj}|jjj}d|_|jd|jdS) Nrpr@r?rArprrpr")r=rNr|rIr0r)rforeign_message_0foreign_message_1rrrrzs  z#ByteSizeTest.testRepeatedCompositescCs |jjj}|jjj}d|_|jd |jtj|jj}|jjd=|jd|j|jjj}d|_|jd|j|jjd=|jd|j|jjd=|jd|j|jdt||dd=t j dkr|jdt||d=t j dkr|jdt|dS)Nrr@r?rrLrwrArprrpr"rArrprArrprpr"rrrArrpr) r=rNr|rIr0rrgrhr$r ry)rrrrNZforeign_message_2rrrtestRepeatedCompositesDeletes,        z)ByteSizeTest.testRepeatedCompositesDeletecCs2|jjj}|jjj}d|_|jd|jdS) Nrpr@r?rrr"rr)r=rPr|rMr0r)rZgroup_0Zgroup_1rrrtestRepeatedGroupss  zByteSizeTest.testRepeatedGroupsc Csjtj}|jd|jtj}d|j|<|jd|jtjjjd}|j t d|j|<WdQRXdS)Nrrir@r7) rrr0r\rrr:rrrYrL)rr=r3r"rrrtestExtensionss  zByteSizeTest.testExtensionscCsd|j_|jd|jjd|j_|jd|jj|jjd|jd|jjtj}d|jj|<|jd|jjd|jj|<|jd|jj|jj ||jd|jjdS)Nr?r@rrAr7r) r=r7r0r\r_r rCrrr1)rr3rrr)testCacheInvalidationForNonrepeatedScalars    z6ByteSizeTest.testCacheInvalidationForNonrepeatedScalarcCs|jjjd|jd|jj|jjjd|jd|jjd|jjd<|jd|jj|jjd|jd|jjtj}|jj |}|jd|jd|jj|jd|jd |jjd|d<|jd |jj|jj ||jd|jjdS) Nr?rArrrprBrr@rrp) r=rBr{r0r\r_r rDrrr1)rr3Zrepeatedrrr&testCacheInvalidationForRepeatedScalars$      z3ByteSizeTest.testCacheInvalidationForRepeatedScalarcCs$d|jj_|jd|jjd|jj_|jd|jj|jjjd|jd|jj|jjd|jd|jjtjd kr|jj}|jjdd|_|jd|jjtj }|j j |}|jd|j jd|_ |jd |j jd|_ |jd|j j|j j ||jd|j jdS) Nr?rprrrKrArfrrwr)r=rfrKr0r\r_r ryr rErrrFr1)rchildr3rrr*testCacheInvalidationForNonrepeatedMessages,       z7ByteSizeTest.testCacheInvalidationForNonrepeatedMessagecCs|jjj}|jd|jj|jjj|jd|jjd|_|jd|jj|jjd|jd|jjtj}|j j |}|j}|jd|j j|j|jd|j jd|_ |jd|j j|jd |jd|j j|j j ||jd|j jdS) NrArr?r"rOrr@rrF) r=rOr|r0r\rKr_r rGrrrFr1)rZchild0r3Z child_listrrr'testCacheInvalidationForRepeatedMessage s(      z4ByteSizeTest.testCacheInvalidationForRepeatedMessagecCs|jd|jj|jjjd|jjjdd }|j||jj|jjjd|jjjdd}|j|||jj|jjd |j||jjdS)Nrrrr?r@rAg@g @r" packed_int32rArrn)r0rr\rr{ packed_doubler_)rZint_sizeZ double_sizerrrtestPackedRepeatedScalars s z&ByteSizeTest.testPackedRepeatedScalarscCsH|jd|jj|jjtj}|jddddg|jd|jjdS)Nrr?r@rArr)r0rr\rrZpacked_fixed32_extensionr)rr3rrrtestPackedExtensions0 s z!ByteSizeTest.testPackedExtensionsN)r&r'r(rrrrrrrrrrrrrrrrrrrrrrrrrrr s, '  rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9S):SerializationTestcCsRtj}tj}|j}|j|jt||jt||j||j||dS)N)rr:rr0r\r$r)rrrrrrrtestSerializeEmtpyMessageF s z+SerializationTest.testSerializeEmtpyMessagecCs\tj}tj}tj||j}|j|jt||jt||j||j||dS)N) rr:rrNrr0r\r$r)rrrrrrrtestSerializeAllFieldsP s  z(SerializationTest.testSerializeAllFieldscCsHtj}tj}tj||j}|jt||j||j||dS)N)rrrrlrr0r$r)rrrrrrrtestSerializeAllExtensions[ s  z,SerializationTest.testSerializeAllExtensionscCsFtj}tj}d|j_|j}|jt||j||j||dS)N)rr:rerMrr0r$r)rrrrrrrtestSerializeWithOptionalGroupe s z0SerializationTest.testSerializeWithOptionalGroupcCsLtj}d|_d |_d |_d |_d|_d|_tjj|j }|j ||dS)Nr?r@rrArrprrllrllll) rr:r7rrrrrrOrr0)rrrrrrtestSerializeNegativeValueso s z-SerializationTest.testSerializeNegativeValuescCstjdkrdStj}tj||j}xtt|dD]}yntj}tj }|j |d|}|j ||y|j |d|}|j ||Wn t j k r|jdYnXWq<t j k r|jt j |j |d|Yq.InitalizeEmptyMessageWithExtraKeywordArgz9Protocol message TestEmptyMessage has no "unknown" field.)rr)rrrrrtestInitArgsUnknownFieldNameJ s z.SerializationTest.testInitArgsUnknownFieldNamecCstjdddd}|j|j|j|jd|j|jd|j|jd|j|jd |jd|j|jd|j|jd|jdS)Nr?)rMr{rKrMr{rKdummy2) rr<r^rur<r0rMr{rK)rr=rrrtestInitRequiredKwargsR sz(SerializationTest.testInitRequiredKwargscCstjtjddddd}|j|j|j|jd|j|jj|j|jjd|j|jjd|j|jjd|j|jjd |jtjdddd|j|jd|jj|jd|jj |jd|jj dS) Nr?)rMr{rK)r|r|rMr{rKr) rrr<r^rur<r|r0rMr{rK)rr=rrrtestInitRequiredForeignKwargs] sz/SerializationTest.testInitRequiredForeignKwargscCsZtjdddgd}|j|j|jd|jd|jd|jd|jd|jddS)Nr?r@rA)rBr)rr:r^rur0rB)rr=rrrtestInitRepeatedKwargsm s z(SerializationTest.testInitRepeatedKwargsN)r&r'r(rrrrrrrrrrrrrrrrrrrr r r rrrrrrrrrrrD s8    6) 3!     rc@seZdZddZddZdS) OptionsTestcCs<tj}|jd|jjjtj}|jd|jjjdS)NTF)r rr0rrrrr:)rr=rrrtestMessageOptionsw s zOptionsTest.testMessageOptionscCstj}d|_d|_x&|jD]\}}|jd|jjqWtj}|j j d|j j dx8|jD],\}}|jd|jj|jt j j|jqfWdS)Nr?g@FT)rr:r7r8rr0rrrrr{rrrr-r )rr=Zfield_descriptor_rrrtestPackedOptions s   zOptionsTest.testPackedOptionsN)r&r'r(rrrrrrru src@sreZdZejejdko"ejdkdddZddZ e j dd d Z e j dd d Z e j dd dZdS) ClassAPITestrr@z6C++ implementation requires a call to MakeDescriptor()c Cstjddddggggd}tjddddg|gggd}tjddddggggd}tjd d ddg||gggd}tj|}|jd|j|jd|j|jd|jjdS) NZleafzpackage.parent.child.leafr)rrrrrrzpackage.parent.childZsiblingzpackage.parent.siblingparentzpackage.parent)rrr MakeClassr__dict__r)rZ leaf_descZ child_descZ sibling_descZ parent_descZ message_classrrr!testMakeClassWithNestedDescriptor s(     z.ClassAPITest.testMakeClassWithNestedDescriptorcCs(d|d}tj}tj|||jS)a Get a serialized representation of a test FileDescriptorProto. Args: name: All calls to this must use a unique message name, to avoid collisions in the cpp descriptor pool. Returns: A string containing the serialized form of a test FileDescriptorProto. zmessage_type { name: "ai" field { name: "flat" number: 1 label: LABEL_REPEATED type: TYPE_UINT32 } field { name: "bar" number: 2 label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: "Bar" } nested_type { name: "Bar" field { name: "baz" number: 3 label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: "Baz" } nested_type { name: "Baz" enum_type { name: "deep_enum" value { name: "VALUE_A" number: 0 } } field { name: "deep" number: 4 label: LABEL_OPTIONAL type: TYPE_UINT32 } } }})rrr Merger)rr Zfile_descriptor_strfile_descriptorrrr_GetSerializedFileDescriptor s ) z)ClassAPITest._GetSerializedFileDescriptorz MakeDescriptor is not repeatablecstjdkrdStj}|j|jdtj|jdGfdddt j t j t j}|}d}tj|||j|jddd gdS) z7Test that the generated class can parse a flat message.rwNArcseZdZZdS)zSClassAPITest.testParsingFlatClassWithExplicitClassDeclaration..MessageClassN)r&r'r(rr)msg_descriptorrr MessageClass sr&zflat: 0 flat: 1 flat: 2 r?r@)r ryrrrr#rr.rrrrrrrr r!r0flat)rr"r&rmsg_strr)r%r0testParsingFlatClassWithExplicitClassDeclaration s    z=ClassAPITest.testParsingFlatClassWithExplicitClassDeclarationcCs`tj}|j|jdtj|jd}tj|}|}d}t j |||j |j dddgdS)z7Test that the generated class can parse a flat message.Brzflat: 0 flat: 1 flat: 2 r?r@N) rrrr#rr.rrrr r!r0r')rr"r% msg_classrr(rrrtestParsingFlatClass s   z!ClassAPITest.testParsingFlatClasscCs^tj}|j|jdtj|jd}tj|}|}d}t j |||j |j j jddS)z9Test that the generated class can parse a nested message.Crzbar { baz { deep: 4 }}rN)rrrr#rr.rrrr r!r0rrZdeep)rr"r%r+rr(rrrtestParsingNestedClass s   z#ClassAPITest.testParsingNestedClassN)r&r'r(rrr ryrr r#rZSkipReferenceLeakCheckerr)r,r.rrrrr s8r__main__))r)rgrmr5rrZ unittest2r ImportErrorZgoogle.protobufrrrrrrrr rr r r r rrrrZ BaseTestCaseobjectrr/rrrrrrrrr&mainrrrr#sv                 -V! :5 PK!`TK^K^4protobuf/internal/__pycache__/encoder.cpython-36.pycnu[3 h~o@sdZdZddlZddlZddlmZdZe ZddZdd Z d d Z d d Z ddZ ddZ e e ZZZe eZZe e ejZZe dZZZe dZZZe dZddZddZddZddZ ddZ!dd Z"d!d"Z#d#d$Z$e#Z%e$Z&d%d&Z'd'd(Z(d)d*Z)d+d,Z*d-d.Z+d/d0Z,e)ej-e&e Z.Z/Z0e)ej-e%eZ1Z2e*ej-e%eejZ3Z4e+ej5d1Z6e+ej7d2Z8e+ej5d3Z9e+ej7d4Z:e,ej5d5Z;e,ej7d6Zd;d<Z?d=d>Z@d?d@ZAdAdBZBdCdDZCdS)EaCode for encoding protocol message primitives. Contains the logic for encoding every logical protocol field type into one of the 5 physical wire types. This code is designed to push the Python interpreter's performance to the limits. The basic idea is that at startup time, for every field (i.e. every FieldDescriptor) we construct two functions: a "sizer" and an "encoder". The sizer takes a value of this field's type and computes its byte size. The encoder takes a writer function and a value. It encodes the value into byte strings and invokes the writer function to write those strings. Typically the writer function is the write() method of a BytesIO. We try to do as much work as possible when constructing the writer and the sizer rather than when calling them. In particular: * We copy any needed global functions to local variables, so that we do not need to do costly global table lookups at runtime. * Similarly, we try to do any attribute lookups at startup time if possible. * Every field's tag is encoded to bytes at startup, since it can't change at runtime. * Whatever component of the field size we can compute at startup, we do. * We *avoid* sharing code if doing so would make the code slower and not sharing does not burden us too much. For example, encoders for repeated fields do not just call the encoders for singular fields in a loop because this would add an extra function call overhead for every loop iteration; instead, we manually inline the single-value encoder into the loop. * If a Python function lacks a return statement, Python actually generates instructions to pop the result of the last statement off the stack, push None onto the stack, and then return that. If we really don't care what value is returned, then we can save two instructions by returning the result of the last statement. It looks funny but it helps. * We assume that type and bounds checking has happened at a higher level. z kenton@google.com (Kenton Varda)N) wire_formatgcCsp|dkr dS|dkrdS|dkr$dS|dkr0dS|d kr.SpecificSizer..PackedFieldSizecs*t|}x|D]}||7}qW|S)N)len)rrr)rrrrRepeatedFieldSizes  z>_SimpleSizer..SpecificSizer..RepeatedFieldSizecs |S)Nr)r)rrrr FieldSizesz6_SimpleSizer..SpecificSizer..FieldSize)rr)r is_repeated is_packedrrr)r)rrr SpecificSizersz#_SimpleSizer..SpecificSizerr)rr!r)rr _SimpleSizer~s r"csfdd}|S)zLike SimpleSizer, but modify_value is invoked on each value before it is passed to compute_value_size. modify_value is typically ZigZagEncode.csVt||r&tfdd}|S|r>fdd}|Sfdd}|SdS)Ncs2d}x|D]}||7}q W||S)Nrr)rrr)rr modify_valuerrrrs z>_ModifiedSizer..SpecificSizer..PackedFieldSizecs.t|}x|D]}||7}qW|S)N)r)rrr)rr#rrrrs  z@_ModifiedSizer..SpecificSizer..RepeatedFieldSizecs|S)Nr)r)rr#rrrrsz8_ModifiedSizer..SpecificSizer..FieldSize)rr)rrr rrr)rr#)rrrr!sz%_ModifiedSizer..SpecificSizerr)rr#r!r)rr#r_ModifiedSizersr$csfdd}|S)zWLike _SimpleSizer except for a fixed-size field. The input is the size of one value.cs\t||r$tfdd}|S|r@fdd}|Sfdd}|SdS)Ncst|}||S)N)r)rr)rr value_sizerrrs z;_FixedSizer..SpecificSizer..PackedFieldSizecs t|S)N)r)r) element_sizerrrsz=_FixedSizer..SpecificSizer..RepeatedFieldSizecsS)Nr)r) field_sizerrrsz5_FixedSizer..SpecificSizer..FieldSize)rr)rrr rrr)r%)r&r'rrrr!s  z"_FixedSizer..SpecificSizerr)r%r!r)r%r _FixedSizers r(rr rcsJt|tt| st|r2fdd}|Sfdd}|SdS)z#Returns a sizer for a string field.cs<t|}x*|D]"}|jd}|||7}qW|S)Nzutf-8)rencode)rrrl)r local_lenrrrrs   z&StringSizer..RepeatedFieldSizecs|jd}||S)Nzutf-8)r))rr*)rr+rrrrszStringSizer..FieldSizeN)rrrAssertionError)rrr rrr)rr+rr StringSizers r-csJt|tt| st|r2fdd}|Sfdd}|SdS)z"Returns a sizer for a bytes field.cs6t|}x$|D]}|}|||7}qW|S)N)r)rrrr*)rr+rrrrs   z%BytesSizer..RepeatedFieldSizecs|}||S)Nr)rr*)rr+rrrr szBytesSizer..FieldSizeN)rrrr,)rrr rrr)rr+rr BytesSizers r.cs>t|d| st|r*fdd}|Sfdd}|SdS)z"Returns a sizer for a group field.rcs*t|}x|D]}||j7}qW|S)N)rByteSize)rrr)rrrrs  z%GroupSizer..RepeatedFieldSizecs |jS)N)r/)r)rrrrszGroupSizer..FieldSizeN)rr,)rrr rrr)rr GroupSizers    r0csBt|t| st|r,fdd}|Sfdd}|SdS)z$Returns a sizer for a message field.cs6t|}x$|D]}|j}|||7}qW|S)N)rr/)rrrr*)rrrrr+s   z'MessageSizer..RepeatedFieldSizecs|j}||S)N)r/)rr*)rrrrr3szMessageSizer..FieldSizeN)rrr,)rrr rrr)rrr MessageSizer$s r1cs:tddtdt|tdtfdd}|S)zReturns a sizer for extensions of MessageSet. The message set message looks like this: message MessageSet { repeated group Item = 1 { required int32 type_id = 2; required string message = 3; } } rrrcs|j}||S)N)r/)rr*)r static_sizerrrLsz&MessageSetItemSizer..FieldSize)rr)rrr)rr2rMessageSetItemSizer=s  r3cs(|jt|jddfdd}|S)z Returns a sizer for a map field.FcsDd}x:|D]2}||}j||d}||7}r |jq W|S)Nr)keyr)_concrete_classr/)Z map_valueZtotalr4r entry_msg)is_message_map message_sizer message_typerrr_s   zMapSizer..FieldSize)r9r1number)field_descriptorr7rr)r7r8r9rMapSizerWsr<cCs dd}|S)zBReturn an encoder for a basic varint value (does not include tag).cSsJ|d@}|dL}x*|r:|tjd|B|d@}|dL}qW|tj|S)Nrr )sixint2byte)writerunused_deterministicbitsrrr EncodeVarintws z$_VarintEncoder..EncodeVarintr)rCrrr_VarintEncoderts rDcCs dd}|S)zKReturn an encoder for a basic signed varint value (does not include tag).cSsZ|dkr|d7}|d@}|dL}x*|rJ|tjd|B|d@}|dL}q"W|tj|S)Nrr@rr r=l)r>r?)r@rrArBrrrEncodeSignedVarints z0_SignedVarintEncoder..EncodeSignedVarintr)rFrrr_SignedVarintEncoders rGcCsg}t|j|ddj|S)zEncode the given integer as a varint and return the bytes. This is only called at startup time so it doesn't need to be fast.T) _EncodeVarintappendjoin)rpiecesrrr _VarintBytessrMcCstjttj||S)zCEncode the given tag and return the bytes. Only called at startup.)r>Z binary_typerMrr)r wire_typerrrTagBytessrOcsfdd}|S)a_Return a constructor for an encoder for fields of a particular type. Args: wire_type: The field's wire type, for encoding tags. encode_value: A function which encodes an individual value, e.g. _EncodeVarint(). compute_value_size: A function which computes the size of an individual value, e.g. _VarintSize(). csj|r*t|tjtfdd}|S|rJt|fdd}|St|fdd}|SdS)NcsP|d}x|D]}||7}qW|||x|D]}|||q8WdS)Nrr)r@r deterministicsizer)r encode_valuelocal_EncodeVarint tag_bytesrrEncodePackedFields   zB_SimpleEncoder..SpecificEncoder..EncodePackedFieldcs&x |D]}||||qWdS)Nr)r@rrPr)rRrTrrEncodeRepeatedFields zD_SimpleEncoder..SpecificEncoder..EncodeRepeatedFieldcs||||S)Nr)r@rrP)rRrTrr EncodeFieldsz<_SimpleEncoder..SpecificEncoder..EncodeField)rOrWIRETYPE_LENGTH_DELIMITEDrI)rrr rUrVrW)rrRrN)rSrTrSpecificEncoders   z'_SimpleEncoder..SpecificEncoderr)rNrRrrYr)rrRrNr_SimpleEncoders rZcsfdd}|S)zLike SimpleEncoder but additionally invokes modify_value on every value before passing it to encode_value. Usually modify_value is ZigZagEncode.csp|r,t|tjtfdd}|S|rNt|fdd}|St|fdd}|SdS)NcsX|d}x|D]}||7}qW|||x|D]}|||q.SpecificEncoder..EncodePackedFieldcs*x$|D]}||||qWdS)Nr)r@rrPr)rRr#rTrrrVs zF_ModifiedEncoder..SpecificEncoder..EncodeRepeatedFieldcs||||S)Nr)r@rrP)rRr#rTrrrWsz>_ModifiedEncoder..SpecificEncoder..EncodeField)rOrrXrI)rrr rUrVrW)rrRr#rN)rSrTrrYs   z)_ModifiedEncoder..SpecificEncoderr)rNrRrr#rYr)rrRr#rNr_ModifiedEncodersr[cstjfdd}|S)zReturn a constructor for an encoder for a fixed-width field. Args: wire_type: The field's wire type, for encoding tags. format: The format string to pass to struct.pack(). csvtj|r2t|tjtfdd}|S|rTt|fdd}|St|fdd}|SdS)Ncs<||t||x|D]}||q"WdS)N)r)r@rrPr)formatrSlocal_struct_packrTr%rrrUs zF_StructPackEncoder..SpecificEncoder..EncodePackedFieldcs(x"|D]}|||qWdS)Nr)r@rrAr)r\r]rTrrrVs zH_StructPackEncoder..SpecificEncoder..EncodeRepeatedFieldcs|||S)Nr)r@rrA)r\r]rTrrrWsz@_StructPackEncoder..SpecificEncoder..EncodeField)structpackrOrrXrI)rrr rUrVrW)r\r%rN)rSr]rTrrYs   z+_StructPackEncoder..SpecificEncoder)r^calcsize)rNr\rYr)r\r%rNr_StructPackEncoders racsPtjdkrddndkr.ddn tdfdd}|S) aqReturn a constructor for an encoder for float fields. This is like StructPackEncoder, but catches errors that may be due to passing non-finite floating-point values to struct.pack, and makes a second attempt to encode those values. Args: wire_type: The field's wire type, for encoding tags. format: The format string to pass to struct.pack(). rcSs<|tkr|dn&|tkr$|dn||kr6|dndS)Nsss)_POS_INF_NEG_INF)r@rrrrEncodeNonFiniteOrRaise+s   z5_FloatingPointEncoder..EncodeNonFiniteOrRaiser cSs<|tkr|dn&|tkr$|dn||kr6|dndS)Nsss)rbrc)r@rrrrrd6s   zGCan't encode floating-point values that are %d bytes long (only 4 or 8)cs|tj|r4t|tjtfdd}|S|rXt|fdd}|St|fdd}|SdS)Nc s`||t||x>|D]6}y||Wq"tk rV||Yq"Xq"WdS)N)r SystemError)r@rrPr)rdr\rSr]rTr%rrrUHs zI_FloatingPointEncoder..SpecificEncoder..EncodePackedFieldc sLxF|D]>}|y||Wqtk rB||YqXqWdS)N)re)r@rrAr)rdr\r]rTrrrVUs  zK_FloatingPointEncoder..SpecificEncoder..EncodeRepeatedFieldc s>|y||Wntk r8||YnXdS)N)re)r@rrA)rdr\r]rTrrrW_s zC_FloatingPointEncoder..SpecificEncoder..EncodeField)r^r_rOrrXrI)rrr rUrVrW)rdr\r%rN)rSr]rTrrYCs    z._FloatingPointEncoder..SpecificEncoder)r^r` ValueError)rNr\rYr)rdr\r%rNr_FloatingPointEncoders   $rgz.EncodePackedFieldcs0x*|D]"}||r |q|qWdS)Nr)r@rrAr)rjrTrkrrrVs   z(BoolEncoder..EncodeRepeatedFieldcs||r|S|S)Nr)r@rrA)rjrTrkrrrWsz BoolEncoder..EncodeFieldN)rOrrXrIWIRETYPE_VARINT)rrr rUrVrWr)rjrSrTrkr BoolEncoders   rmcsNt|tjtt| st|r6fdd}|Sfdd}|SdS)z&Returns an encoder for a string field.cs<x6|D].}|jd}||||||qWdS)Nzutf-8)r))r@rrPrencoded)rSr+tagrrrVs   z*StringEncoder..EncodeRepeatedFieldcs*|jd}||||||S)Nzutf-8)r))r@rrPrn)rSr+rorrrWs z"StringEncoder..EncodeFieldN)rOrrXrIrr,)rrr rVrWr)rSr+ror StringEncoders  rpcsNt|tjtt| st|r6fdd}|Sfdd}|SdS)z%Returns an encoder for a bytes field.cs2x,|D]$}||||||qWdS)Nr)r@rrPr)rSr+rorrrVs z)BytesEncoder..EncodeRepeatedFieldcs ||||||S)Nr)r@rrP)rSr+rorrrWsz!BytesEncoder..EncodeFieldN)rOrrXrIrr,)rrr rVrWr)rSr+ror BytesEncoders  rqcsNt|tjt|tj| s"t|r8fdd}|Sfdd}|SdS)z%Returns an encoder for a group field.cs.x(|D] }||j|||qWdS)N)_InternalSerialize)r@rrPr)end_tag start_tagrrrVs  z)GroupEncoder..EncodeRepeatedFieldcs||j|||S)N)rr)r@rrP)rsrtrrrWs z!GroupEncoder..EncodeFieldN)rOrWIRETYPE_START_GROUPWIRETYPE_END_GROUPr,)rrr rVrWr)rsrtr GroupEncoders   rwcsFt|tjt| st|r0fdd}|Sfdd}|SdS)z'Returns an encoder for a message field.cs6x0|D](}|||j||j||qWdS)N)r/rr)r@rrPr)rSrorrrVs z+MessageEncoder..EncodeRepeatedFieldcs$|||j||j||S)N)r/rr)r@rrP)rSrorrrWsz#MessageEncoder..EncodeFieldN)rOrrXrIr,)rrr rVrWr)rSrorMessageEncoders  rxcsRdjtdtjtdtjt|tdtjgtdtjtfdd}|S)zEncoder for extensions of MessageSet. The message set message looks like this: message MessageSet { repeated group Item = 1 { required int32 type_id = 2; required string message = 3; } } rHrrrcs,|||j||j|||S)N)r/rr)r@rrP) end_bytesrS start_bytesrrrWs z*MessageSetItemEncoder..EncodeField) rKrOrrurlrMrXrvrI)rrWr)ryrSrzrMessageSetItemEncoders    r{cs&|jt|jddfdd}|S)zEncoder for extensions of MessageSet. Maps always have a wire format like this: message MapEntry { key_type key = 1; value_type value = 2; } repeated MapEntry map = N; FcsD|rt|jn|}x*|D]"}j|||d}|||qWdS)N)r4r)sortedkeysr5)r@rrPZ value_keysr4r6)encode_messager9rrrW5s zMapEncoder..EncodeField)r9rxr:)r;rWr)r~r9r MapEncoder&s r)D__doc__ __author__r^r>Zgoogle.protobuf.internalrrbrcrrrr"r$r(Z Int32SizerZ Int64SizerZ EnumSizerZ UInt32SizerZ UInt64SizerZ ZigZagEncodeZ SInt32SizerZ SInt64SizerZ Fixed32SizerZ SFixed32SizerZ FloatSizerZ Fixed64SizerZ SFixed64SizerZ DoubleSizerZ BoolSizerr-r.r0r1r3r<rDrGrIZ_EncodeSignedVarintrMrOrZr[rargrlZ Int32EncoderZ Int64EncoderZ EnumEncoderZ UInt32EncoderZ UInt64EncoderZ SInt32EncoderZ SInt64EncoderZWIRETYPE_FIXED32ZFixed32EncoderZWIRETYPE_FIXED64ZFixed64EncoderZSFixed32EncoderZSFixed64EncoderZ FloatEncoderZ DoubleEncoderrmrprqrwrxr{rrrrrAsn !   )"&R       % PK!G2TT?protobuf/internal/__pycache__/text_encoding_test.cpython-36.pycnu[3 h@ @sldZy ddlZWnek r,ddlZYnXddlmZddddgZGd ddejZe dkrhej dS)z(Tests for google.protobuf.text_encoding.N) text_encodingfoo\rbar\nbaz\t foo bar baz "\'full of \"sound\" and \"fury\"\''full of "sound" and "fury"'signi\\fying\\ nothing\\signi\fying\ nothing\\010\t\n\013\014\r \t\n \r c@seZdZddZddZdS)TextEncodingTestCasecCsDx>tD]6\}}}|j|tj|dd|j|tj|ddqWdS)NF)Zas_utf8T) TEST_VALUES assertEqualrZCEscape)selfescaped escaped_utf8 unescapedr(/usr/lib/python3.6/text_encoding_test.py testCEscape9s z TextEncodingTestCase.testCEscapecCs<x6tD].\}}}|j|tj||j|tj|qWdS)N)r rrZ CUnescape)rrrrrrr testCUnescape@sz"TextEncodingTestCase.testCUnescapeN)__name__ __module__ __qualname__rrrrrrr 8sr __main__)rrr)rrr)rrr)r r r ) __doc__Z unittest2Zunittest ImportErrorZgoogle.protobufrr ZTestCaser rmainrrrr s(  PK!s!RnnJprotobuf/internal/__pycache__/missing_enum_values_pb2.cpython-36.opt-1.pycnu[3 h%@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddeejddddddejddddddgddddd Zejeejdddeejddddddgddddd Zejeejdddedejd d!ddd"d#dd$ddddd$dded%ejd&d'ddd"d#dd$gdddd$dded%ejd(d)ddd"d#dd$gdddd$deje jed*ed%gggegdd$d ggd+dd,Zejd-d.dedejd d/ddd"d#dd$ddddd$dded%ejd&d0ddd"d#dd$gdddd$dded%ejd(d1ddd"d#dd$gdddd$deje jed*ed%gggegdd$d ggd2dd,Zejd3d4dedejd5d6ddd7d7dd$ed8jd9dddd$dded%ggggdd$d ggd:d;d,Zeejd _eejd&_eejd(_ee_ eejd _eejd&_eejd(_ee_ eej!d<eej!d-<eej!d3<ej"ee j#dej$fe%edejd(_*eje jed*ejd(_+d>ejd(_*eje jed*ejd(_+dS)?NcCs|S)N)xrr-/usr/lib/python3.6/missing_enum_values_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z2google/protobuf/internal/missing_enum_values.protozgoogle.protobuf.python.internalZproto2u 2google/protobuf/internal/missing_enum_values.protogoogle.protobuf.python.internal"Á TestEnumValuesX optional_nested_enum (2:.google.protobuf.python.internal.TestEnumValues.NestedEnumX repeated_nested_enum (2:.google.protobuf.python.internal.TestEnumValues.NestedEnumZ packed_nested_enum (2:.google.protobuf.python.internal.TestEnumValues.NestedEnumB" NestedEnum ZERO ONE"Ó TestMissingEnumValues_ optional_nested_enum (2A.google.protobuf.python.internal.TestMissingEnumValues.NestedEnum_ repeated_nested_enum (2A.google.protobuf.python.internal.TestMissingEnumValues.NestedEnuma packed_nested_enum (2A.google.protobuf.python.internal.TestMissingEnumValues.NestedEnumB" NestedEnum TWO" JustString dummy ( )namepackagesyntaxZ serialized_pbZ NestedEnumz9google.protobuf.python.internal.TestEnumValues.NestedEnumZZERO)rindexnumberoptionstypeZONEizi) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endz@google.protobuf.python.internal.TestMissingEnumValues.NestedEnumZTWOiiTestEnumValuesz.google.protobuf.python.internal.TestEnumValuesZoptional_nested_enumzCgoogle.protobuf.python.internal.TestEnumValues.optional_nested_enumF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_valueZ message_type enum_typerZ is_extensionZextension_scoperrZrepeated_nested_enumzCgoogle.protobuf.python.internal.TestEnumValues.repeated_nested_enumZpacked_nested_enumzAgoogle.protobuf.python.internal.TestEnumValues.packed_nested_enumzX)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrrTestMissingEnumValuesz5google.protobuf.python.internal.TestMissingEnumValueszJgoogle.protobuf.python.internal.TestMissingEnumValues.optional_nested_enumzJgoogle.protobuf.python.internal.TestMissingEnumValues.repeated_nested_enumzHgoogle.protobuf.python.internal.TestMissingEnumValues.packed_nested_enumi JustStringz*google.protobuf.python.internal.JustStringZdummyz0google.protobuf.python.internal.JustString.dummy zutf-8ii z0google.protobuf.internal.missing_enum_values_pb2) DESCRIPTOR __module__T),sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr(ZEnumDescriptorZEnumValueDescriptorZ_TESTENUMVALUES_NESTEDENUMZRegisterEnumDescriptorZ!_TESTMISSINGENUMVALUES_NESTEDENUMZ DescriptorZFieldDescriptorZ _ParseOptionsZ FieldOptionsZ_TESTENUMVALUESZ_TESTMISSINGENUMVALUESdecodeZ _JUSTSTRINGZfields_by_namer!rZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager$r%Z has_optionsZ_optionsrrrrsR                           PK!]>]]Kprotobuf/internal/__pycache__/descriptor_database_test.cpython-36.opt-1.pycnu[3 h @sdZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlm Z ddlm Z Gdd d ej Z e d krejdS) z.Tests for google.protobuf.descriptor_database.z"matthewtoia@google.com (Matt Toia)N) unittest_pb2)descriptor_pb2)factory_test2_pb2)descriptor_databasec@seZdZddZdS)DescriptorDatabaseTestcCs(tj}tjjtjj}|j||j ||j d|j ||j d|j ||j d|j ||j d|j ||j d|j ||j d|j ||j d|j ||j d|j ||j d |j ||j d tjjt jj}|j||j ||j d |j ||j d |j t|j d dS)Nz,google/protobuf/internal/factory_test2.protoz/google.protobuf.python.internal.Factory2MessagezEgoogle.protobuf.python.internal.Factory2Message.NestedFactory2Messagez,google.protobuf.python.internal.Factory2EnumzBgoogle.protobuf.python.internal.Factory2Message.NestedFactory2EnumzDgoogle.protobuf.python.internal.MessageWithNestedEnumOnly.NestedEnumz:google.protobuf.python.internal.Factory2Message.list_fieldz>google.protobuf.python.internal.Factory2Enum.FACTORY_2_VALUE_0z-google.protobuf.python.internal.another_fieldz>google.protobuf.python.internal.Factory2Message.one_more_fieldzprotobuf_unittest.TestServicez)protobuf_unittest.TestAllTypes.none_fieldzprotobuf_unittest.NoneMessage)rZDescriptorDatabaserZFileDescriptorProtoZ FromStringrZ DESCRIPTORZ serialized_pbZAddZ assertEqualZFindFileByNameZFindFileContainingSymbolrZ assertRaisesKeyError)selfZdbZfile_desc_protoZfile_desc_proto2r ./usr/lib/python3.6/descriptor_database_test.pytestAdd1sD                zDescriptorDatabaseTest.testAddN)__name__ __module__ __qualname__r r r r r r/sr__main__)__doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrrZgoogle.protobuf.internalrrZTestCaserr mainr r r r  s     6PK!ut9protobuf/internal/__pycache__/message_test.cpython-36.pycnu[3 hnV@s(dZdZddlZddlZddlZddlZddlZddlZddlZddl Z y ddl Z Wne k rpddl Z YnXye Wnek rddZ YnXddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZej rXe!Z"ddZ#ddZ$ddZ%ddZ&ej'Z'ej(defdefGdd d e'Z)Gd!d"d"e'Z*Gd#d$d$e'Z+Gd%d&d&e'Z,Gd'd(d(e'Z-e j.ej/d)kpej0d0kd,Gd-d.d.e'Z1e2d/kr$e j3dS)1aTests python protocol buffers against the golden message. Note that the golden messages exercise every known field type, thus this test ends up exercising and verifying nearly all of the parsing and serialization code in the whole library. TODO(kenton): Merge with wire_format_test? It doesn't make a whole lot of sense to call this a test of the "message" module, which only declares an abstract interface. z!gps@google.com (Gregory P. Smith)NcCs||k||kS)N)xyrr"/usr/lib/python3.6/message_test.py>sr)map_proto2_unittest_pb2)map_unittest_pb2) unittest_pb2)unittest_proto3_arena_pb2)descriptor_pb2)descriptor_pool)message_factory) text_format)api_implementation)encoder)packed_field_test_pb2) test_util)testing_refleaks)message)_parameterizedcCs||kS)Nr)valrrrisnanVsrcCst| ot|dS)Nr)r)rrrrisinfYsrcCst|o|dkS)Nr)r)rrrrIsPosInf\srcCst|o|dkS)Nr)r)rrrrIsNegInf^srZ_proto2Z_proto3c @s8eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^d_d`dadbe1gie2g Z3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:Gdqdrdre;ZdwdxZ?dydzZ@d{d|ZAd}d~ZBddZCddZDddZEddZFddZGd]S) MessageTestc CsXtjdkr|jdtjd}|jt}|jj|WdQRX|j dt |j dS)NpythonzSkipping testBadUtf8String, currently only the python api implementation raises UnicodeDecodeError when a string field contains bad utf-8.Zbad_utf8_stringzTestAllTypes.optional_string) rTypeZskipTestrGoldenFileData assertRaisesUnicodeDecodeError TestAllTypes FromStringassertInstr exception)selfmessage_moduleZ bad_utf8_datacontextrrrtestBadUtf8Stringjs     zMessageTest.testBadUtf8StringcCsr|tkrtjd}n tjd}|j}|j||tkrDtj|||j||jtj |}|j||jdS)NZ golden_message_oneof_implementedZgolden_message_proto3) r rrr!ParseFromStringZExpectAllFieldsSet assertEqualSerializeToStringcopydeepcopy)r&r' golden_datagolden_message golden_copyrrrtestGoldenMessagets    zMessageTest.testGoldenMessagecCshtjd}|j}|j||j}tj||j|||j||jtj|}|j||jdS)Ngolden_packed_fields_message) rrTestPackedTypesr*ZSetAllPackedFieldsr+r,r-r.)r&r'r/r0all_setr1rrrtestGoldenPackedMessages     z#MessageTest.testGoldenPackedMessagec Cs|j}|jt|jd|jt|jdtjdd}tjdkrv|jt j }|j|WdQRX|j dt |j nftjddT}tjd |j|t|dkstt|d jtst|j d t |d j WdQRXdS) Nr0rzUnexpected end-group tag.T)recordalwaysz4Unexpected end-group tag: Not all data was convertedr<)r!r TypeErrorr" ExceptionrZTagBytesrrr DecodeErrorr+r$r%warningscatch_warnings simplefilterlenAssertionError issubclasscategoryRuntimeWarning)r&r'msgZend_tagr(wrrrtestParseErrorss    zMessageTest.testParseErrorsc sd}|j}|jjddddg|j||jdd|j||jdd|j||jddGd d d tGfd d d t}|j|j|dWdQRXdS) Ns5 One string Two string Red string Blue stringz One stringz Two stringz Red stringz Blue string) deterministicFTc@s eZdZdS)z:MessageTest.testDeterminismParameters..BadArgErrorN)__name__ __module__ __qualname__rrrr BadArgErrorsrOcs$eZdZfddZfddZdS)z5MessageTest.testDeterminismParameters..BadArgcs dS)Nr)r&)rOrr__bool__sz>MessageTest.testDeterminismParameters..BadArg.__bool__cs dS)Nr)r&)rOrrrPsN)rLrMrNrPr)rOrrBadArgs rQ)r!repeated_stringextendr+r,r>objectr)r&r'r/r0rQr)rOrtestDeterminismParameterss" z%MessageTest.testDeterminismParameterscCs@tjd}|j}|j|tj|}tj|}|j||dS)Nr0)rrr!r*pickledumpsloadsr+)r&r'r/r0pickled_messageunpickled_messagerrrtestPickleSupports     zMessageTest.testPickleSupportcCs|tkrd}nd}|j}|j||jt|j|jt|j|jt|jd|jt|jd|j ||j dS)Ns]as ]ar) r r!r* assertTrueroptional_floatoptional_doublerepeated_floatrepeated_doubler+r,)r&r'r/r0rrrtestPositiveInfinitys z MessageTest.testPositiveInfinitycCs|tkrd}nd}|j}|j||jt|j|jt|j|jt|jd|jt|jd|j ||j dS)Ns]as ]ar) r r!r*r\rr]r^r_r`r+r,)r&r'r/r0rrrtestNegativeInfinitys z MessageTest.testNegativeInfinitycCsd}|j}|j||jt|j|jt|j|jt|jd|jt|jd|j}|j}|j||jt|j|jt|j|jt|jd|jt|jddS)Ns]ar) r!r*r\rr]r^r_r`r,)r&r'r/r0 serializedrrrrtestNotANumbers  zMessageTest.testNotANumbercCsRd}|j}|j||jt|jd|jt|jd|j||jdS)Nsr)r4r*r\r packed_float packed_doubler+r,)r&r'r/r0rrrtestPositiveInfinityPackeds  z&MessageTest.testPositiveInfinityPackedcCsRd}|j}|j||jt|jd|jt|jd|j||jdS)Nsr)r4r*r\rrerfr+r,)r&r'r/r0rrrtestNegativeInfinityPackeds  z&MessageTest.testNegativeInfinityPackedcCsd}|j}|j||jt|jd|jt|jd|j}|j}|j||jt|jd|jt|jddS)Nsr)r4r*r\rrerfr,)r&r'r/r0rcrrrrtestNotANumberPacked%s  z MessageTest.testNotANumberPackedcCst|j}tjdd}||_|j|j|j|j|kdtjdd}||_|j|j|j|j|k| |_|j|j|j|j| k| |_|j|j|j|j| ktjdd}||_|j|j|j|j|kdtjdd}||_|j|j|j|j|k| |_|j|j|j|j| k| |_|j|j|j|j| kdS)Ng?ii)r!mathpowr]r*r,r\)r&r'rkMostPosExponentNoSigBitskMostPosExponentOneSigBitkMostNegExponentNoSigBitskMostNegExponentOneSigBitrrrtestExtremeFloatValues3s:  z"MessageTest.testExtremeFloatValuescCst|j}tjdd}||_|j|j|j|j|kdtjdd}||_|j|j|j|j|k| |_|j|j|j|j| k| |_|j|j|j|j| ktjdd}||_|j|j|j|j|kdtjdd}||_|j|j|j|j|k| |_|j|j|j|j| k| |_|j|j|j|j| kdS)Nrjig?ii)r!rlrmr^r*r,r\)r&r'rrnrorprqrrrtestExtremeDoubleValues`s:  z#MessageTest.testExtremeDoubleValuescCs"|j}d|_|jt|ddS)Ng@zoptional_float: 2.0 )r!r]r+r$)r&r'rrrrtestFloatPrintingszMessageTest.testFloatPrintingcCs>|j}d|_tjdkr*|jt|dn|jt|ddS)Ng^!7ݚ?z%optional_double: 0.12345678912345678 z optional_double: 0.123456789123 )ru)r!r^sys version_infor+r$)r&r'rrrrtestHighPrecisionFloatPrintings  z*MessageTest.testHighPrecisionFloatPrintingcCs<|j}tj||j}|j|j|jt|ddS)N)r!rZSetAllNonLazyFieldsZTestEmptyMessager*r,r+r$)r&r'Z populatedemptyrrrtestUnknownFieldPrintings  z$MessageTest.testUnknownFieldPrintingcCs|j}|jjdd|jjdd|jjdd|jjdd|jddddgdd|jD|jddddgddt|jD|jddddgd d|jddd DdS) Nr8)bbrjrur9cSsg|] }|jqSr)r|).0mrrr sz@MessageTest.testRepeatedNestedFieldIteration..cSsg|] }|jqSr)r|)r}r~rrrrscSsg|] }|jqSr)r|)r}r~rrrrsr<)r!repeated_nested_messageaddr+reversed)r&r'rHrrr testRepeatedNestedFieldIterationsz,MessageTest.testRepeatedNestedFieldIterationcCs|j}|jjd|jjd|jjd|jj|j|jdd|j|jdd|j|jdd|jt|jtdddg|jjd|jjd|jjd|jj|j|jdd|j|jdd|j|jdd|jjd|jjd |jjd |jj|j|jdd|j|jdd |j|jdd |jt|jtdd d g|j jd |j jd |j jd |j j|j|j dd |j|j dd |j|j dd |jt|j td d d gdS)z7Check some different types with the default comparator.r8rurjrg?g?g333333?acbacbN) r!repeated_int32appendsortr+r$r_assertAlmostEqualrRZrepeated_bytes)r&r'rrrr0testSortingRepeatedScalarFieldsDefaultComparators@                zMessageTest.testSortingRepeatedCompositeFieldsCustomComparatorcCs|j}d|jj_d|jj_d|jj_d|jj_d|jj_d|jj_d|jj_|jjdd d |jdddddddgd d |jD|j}|j|j||jdddddddgd d |jDdS)zECheck passing a custom comparator to sort a repeated composite field. !  cSs |jdS)Nr)r|)zrrrr szFMessageTest.testSortingRepeatedCompositeFieldsStable..)rcSsg|] }|jqSr)r|)r}nrrrr szHMessageTest.testSortingRepeatedCompositeFieldsStable..cSsg|] }|jqSr)r|)r}rrrrrsN) r!rrr|rr+r,ClearZMergeFromString)r&r'rpbrrr(testSortingRepeatedCompositeFieldsStables$        z4MessageTest.testSortingRepeatedCompositeFieldsStablecCs@|j}tjd}dd}d|jj_d|jj_d|jj_d|jj_d|jj_d |jj_|jj|d |jd d |jDdddd ddg|jj|d d|jdd |jDddd dddgtj dkrdS|jj|d|jdd |jDdddd ddg|jj|d d|jdd |jDddd dddgdS)zECheck sorting a repeated composite field using list.sort() arguments.r|cSst|j|jS)N)cmpr|)rrrrrrszEMessageTest.testRepeatedCompositeFieldSortArguments..r8rurjrrr9)rcSsg|] }|jqSr)r|)r}krrrr%szGMessageTest.testRepeatedCompositeFieldSortArguments..T)rreversecSsg|] }|jqSr)r|)r}rrrrr(sN) sort_functioncSsg|] }|jqSr)r|)r}rrrrr,s)rrcSsg|] }|jqSr)r|)r}rrrrr/s)ru) r!rrrrr|rr+rvrw)r&r'rZget_bbZcmp_bbrrr'testRepeatedCompositeFieldSortArgumentss.        z3MessageTest.testRepeatedCompositeFieldSortArgumentscCs|j}|jjd|jjd|jjd|jjtd|jt|jdddg|jjtdd|jt|jdddgtjdkrdd}|jj|d |jt|jdddg|jj|dd |jt|jdddg|j jd |j jd |j jd |j jt d|jt|j d d d g|j jt dd|jt|j d d d gtjd krdd}|j j|d |jt|j d d d g|j j|dd |jt|j d d d gdS)!z9Check sorting a scalar field using list.sort() arguments.rurjr8)rT)rrcSstt|t|S)N)rr)rrrrrr>szBMessageTest.testRepeatedScalarFieldSortArguments..)r)rrrr|rcSstt|t|S)N)rrC)rrrrrrLsNrrr<r<rrrrr<)rur<rrrrr<)ru) r!rrrrr+listrvrwrRrC)r&r'rZabs_cmpZlen_cmprrr$testRepeatedScalarFieldSortArguments2s6        z0MessageTest.testRepeatedScalarFieldSortArgumentsc CsJ|j}|j}|jjd|jjd|jjd|jjd|jjd|jjdd|jj_d|jj_d|jj_d|jj_d|jj_d|jj_tjdkrdS||k}|j|jk}|jt ||d|jt |j|jd|jt |jdddgd|jt |j|jd|j t t |j|jddWdQRXdS)Nrr8rjru)ru) r!rrrrr|rvrwr+rrr=)r&r'm1m2_rrrtestRepeatedFieldsComparableRs2                 z(MessageTest.testRepeatedFieldsComparablecCs,|j}|j|jtj|j|jtjdS)N)r!assertIsInstancer collectionsMutableSequencer)r&r'r~rrrtestRepeatedFieldsAreSequencesusz*MessageTest.testRepeatedFieldsAreSequencescCsL|j}|jtt|jWdQRX|jtt|jWdQRXdS)N)r!rr=hashrr)r&r'r~rrrtestRepeatedFieldsNotHashable{s   z)MessageTest.testRepeatedFieldsNotHashablecCs*|j}|jjjg|j|jddS)Npayload)NestedTestAllTypesrrrSr\HasField)r&r'r~rrr$testRepeatedFieldInsideNestedMessagesz0MessageTest.testRepeatedFieldInsideNestedMessagecCst|||j|j|dS)zMake sure that a nested message object exists. As soon as a nested message attribute is accessed, it will be present in the _fields dict, without being marked as actually being set. N)getattr assertFalser)r&rHZ attributerrrensureNestedMessageExistss z%MessageTest.ensureNestedMessageExistscCs,|j}|jt|jd|jt|jddS)NZno_such_oneof_fieldr)r!r ValueError WhichOneofr>)r&r'r~rrr testOneofGetCaseNonexistingFieldsz,MessageTest.testOneofGetCaseNonexistingFieldcCs|j}|jd|jd|j|jdd|_|jd|jd|j|jd|j|jdd|_|jd|jd|j|jd|j|jddS)N oneof_field oneof_uint32r oneof_stringry) r!assertIsrrrrr+r\r)r&r'r~rrrtestOneofDefaultValuessz"MessageTest.testOneofDefaultValuescCsb|j}|jd|jdd|_|jd|jd|j|jdd|_|jd|jd|j|jd|j|jd|j |jd|jd|j|jd|j|jd|j j |jd|jd|j|jd|j|jdd|j _ |jd|jd|j|jd|j|jdd|_ |jd|jd|j|jd|j|jddS) Nrrrfooroneof_nested_messagesbb oneof_bytes) r!rrrr+r\rrrrr|r)r&r'r~rrrtestOneofSemanticss2zMessageTest.testOneofSemanticscCs>|j}d|_|j|d|jd|jd|jd|jdS)Nrrrr)r!rrr+r)r&r'r~rrr!testOneofCompositeFieldReadAccesss  z-MessageTest.testOneofCompositeFieldReadAccesscCs|j}|jd|jd|tkr2|j|jdd|_|jd|jd|tkrb|j|jdd|_ |jd|jd|j d|jd|jd|tkr|j|jddS)Nrrrsbbr) r!rrr rrrr+r\r ClearField)r&r'r~rrrtestOneofWhichOneofs zMessageTest.testOneofWhichOneofcCsV|j}d|_|jd|tkr0|j|jd|j|jd|jd|jddS)Nrrr)r!rrr rrrr)r&r'r~rrrtestOneofClearFields zMessageTest.testOneofClearFieldcCsV|j}d|_|jd|tkr0|j|jd|j|jd|jd|jddS)Nrrr)r!rrr rrrr)r&r'r~rrrtestOneofClearSetFields z"MessageTest.testOneofClearSetFieldcCsp|j}d|_|j|d|jd|jd|j|tkrJ|j|jd|j|jd|jd|jddS)Nrrrr) r!rrrr+r r\rr)r&r'r~rrrtestOneofClearUnsetFields  z$MessageTest.testOneofClearUnsetFieldcCs:|j}d|_|j}|j|j|jd|jddS)Nrrr)r!rr*r,r+r)r&r'r~rrrrtestOneofDeserializes z MessageTest.testOneofDeserializecCs6|j}d|_|j}|j||jd|jddS)Nrrr)r!rCopyFromr+r)r&r'r~rrrrtestOneofCopyFroms  zMessageTest.testOneofCopyFromcCsb|j}d|j_|j}d|j_d|jj_|j||jd|jjd|jd|jjjddS)Nrsbbrrr)rrrrchild MergeFromr+r)r&r'r~rrrrtestOneofNestedMergeFroms  z$MessageTest.testOneofNestedMergeFromcCsf|j}d|jj_d|jjj_|j}d|j_|j||jd|jjd|jd|jjjddS)Nr rrr) rrrr|rrrr+r)r&r'r~rrrrtestOneofMessageMergeFroms   z%MessageTest.testOneofMessageMergeFromcCs(|j|jjd}|jd|jddS)N)rrr)r! NestedMessager+r)r&r'r~rrrtestOneofNestedMessageInit$sz&MessageTest.testOneofNestedMessageInitcCsB|j}d|_|j|j|jdd|_|jd|jddS)Nrrsbbr)r!rr assertIsNonerrr+)r&r'r~rrrtestOneofClear)s zMessageTest.testOneofClearcCs&|j}td|_|j|jtjdS)zmAssigning a byte string to a string field should result in the value being converted to a Unicode string.ryN)r!r$optional_stringrsix text_type)r&r'r~rrr"testAssignByteStringToUnicodeField1s z.MessageTest.testAssignByteStringToUnicodeFieldcCs|j}|jjd|jtdtt|j}|jt|jt|d|jj_|jtdtt|j}|jt|jt|dS)z|It should be possible to use long-valued indicies in slices This didn't used to work in the v2 C++ implementation. r8rruN) r!rrintrCr+rrr|)r&r'r~ZslrrrtestLongValuedSlice8s  zMessageTest.testLongValuedSlicecCsl|j}|jt }|jjddtdDWdQRX|jt }|jjddtdDWdQRXdS)z5This didn't use to work in the v2 C++ implementation.css|] }tVqdS)N)r)r}irrr MszCMessageTest.testExtendShouldNotSwallowExceptions..rNcss|] }tVqdS)N)r)r}rrrrrPs)r!r NameErrorrrSrangerepeated_nested_enum)r&r'r~rrrr$testExtendShouldNotSwallowExceptionsIs  $ z0MessageTest.testExtendShouldNotSwallowExceptionsNFrgrycCs^|j}|jg|jx(tjD]}|jj||jg|jqW|jjg|jg|jdS)z,Test no-ops extending repeated int32 fields.N)r!assertSequenceEqualrr FALSY_VALUESrS)r&r'r~ falsy_valuerrrtestExtendInt32WithNothingTs   z&MessageTest.testExtendInt32WithNothingcCs^|j}|jg|jx(tjD]}|jj||jg|jqW|jjg|jg|jdS)z,Test no-ops extending repeated float fields.N)r!rr_rrrS)r&r'r~rrrrtestExtendFloatWithNothingas   z&MessageTest.testExtendFloatWithNothingcCs^|j}|jg|jx(tjD]}|jj||jg|jqW|jjg|jg|jdS)z-Test no-ops extending repeated string fields.N)r!rrRrrrS)r&r'r~rrrrtestExtendStringWithNothingns   z'MessageTest.testExtendStringWithNothingcCs|j}|jg|j|jjdg|jdg|j|jjddg|jdddg|j|jjddg|jdddddg|jdS)z7Test extending repeated int32 fields with python lists.rr8rjrur9N)r!rrrS)r&r'r~rrrtestExtendInt32WithPythonList{sz)MessageTest.testExtendInt32WithPythonListcCs|j}|jg|j|jjdg|jdg|j|jjddg|jdddg|j|jjddg|jdddddg|jdS)z7Test extending repeated float fields with python lists.gg?g@g@g@N)r!rr_rS)r&r'r~rrrtestExtendFloatWithPythonListsz)MessageTest.testExtendFloatWithPythonListcCs|j}|jg|j|jjdg|jdg|j|jjddg|jdddg|j|jjddg|jdddddg|jdS)z8Test extending repeated string fields with python lists.ryZ11Z22Z33Z44N)r!rrRrS)r&r'r~rrrtestExtendStringWithPythonListsz*MessageTest.testExtendStringWithPythonListcCs:|j}|jg|j|jjd|jdddg|jdS)zDTest extending repeated string fields with characters from a string.abcrrrN)r!rrRrS)r&r'r~rrrtestExtendStringWithStrings z&MessageTest.testExtendStringWithStringc@s2eZdZdZd ddZddZddZd d ZdS) zMessageTest.TestIterablezThis iterable object mimics the behavior of numpy.array. __nonzero__ fails for length > 1, and returns bool(item[0]) for length == 1. NcCs|pg|_dS)N)_list)r&valuesrrr__init__sz!MessageTest.TestIterable.__init__cCs8t|j}|dkrdS|dkr,t|jdStddS)NrFr8zTruth value is ambiguous.)rCrboolr)r&sizerrrrPs  z!MessageTest.TestIterable.__bool__cCs t|jS)N)rCr)r&rrr__len__sz MessageTest.TestIterable.__len__cCs |jjS)N)r__iter__)r&rrrrsz!MessageTest.TestIterable.__iter__)N)rLrMrN__doc__rrPrrrrrr TestIterables  rcCs|j}|jg|j|jjtjg|jg|j|jjtjdg|jdg|j|jjtjddg|jdddg|j|jjtjddg|jdddddg|jdS)z3Test extending repeated int32 fields with iterable.rr8rjrur9N)r!rrrSrr)r&r'r~rrrtestExtendInt32WithIterablesz'MessageTest.testExtendInt32WithIterablecCs|j}|jg|j|jjtjg|jg|j|jjtjdg|jdg|j|jjtjddg|jdddg|j|jjtjddg|jdddddg|jdS)z3Test extending repeated float fields with iterable.gg?g@g@g@N)r!rr_rSrr)r&r'r~rrrtestExtendFloatWithIterablesz'MessageTest.testExtendFloatWithIterablecCs|j}|jg|j|jjtjg|jg|j|jjtjdg|jdg|j|jjtjddg|jdddg|j|jjtjddg|jdddddg|jdS)z4Test extending repeated string fields with iterable.ry1234N)r!rrRrSrr)r&r'r~rrrtestExtendStringWithIterablesz(MessageTest.testExtendStringWithIterablec CsPtjdkstjdkrdS|j}|jtj}tj|jtj WdQRXdS)Ncpprj) rrZVersionr!rrVZ PickleErrorrWrZHIGHEST_PROTOCOL)r&r'r~rrrr!testPickleRepeatedScalarContainers   z-MessageTest.testPickleRepeatedScalarContainercCs|j}|jjdS)z?Exercise a scenario that has led to segfaults in the past. N)r!rr)r&r'r~rrr'testSortEmptyRepeatedCompositeContainersz3MessageTest.testSortEmptyRepeatedCompositeContainerc Cs,|j}|jt}|jdWdQRXdS)zBUsing HasField on a repeated field should raise an exception. rN)r!rrr)r&r'r~rrrrtestHasFieldOnRepeatedFields z'MessageTest.testHasFieldOnRepeatedFieldc Cs|j}|jt}|jjWdQRX|jjttd|jd|jj|jd|jjd|jd|jjd|jddg|jdS)Nrr9rrjr8ru) r!r IndexErrorrpoprSrrr+)r&r'r~rrrrtestRepeatedScalarFieldPops z&MessageTest.testRepeatedScalarFieldPopcCs|j}|jt}|jjWdQRX|jt}|jjdWdQRXx tdD]}|jj}||_qTW|j d|jjj|j d|jjdj|j d|jjdj|j ddgdd |jDdS) Nr7rr9rrjr8rucSsg|] }|jqSr)r|)r}rrrrrsz=MessageTest.testRepeatedCompositeFieldPop..) r!rrrr r=rrr|r+)r&r'r~rrrrrrtestRepeatedCompositeFieldPops    z)MessageTest.testRepeatedCompositeFieldPopcCs\|j}x.tdD]"}|jj|||jj}||_qW|j|j|j|j|j|jdS)Nr) r!rrinsertrrr|rr+)r&r'r~rrrrrtestRepeatedCompareWithSelfs  z'MessageTest.testRepeatedCompareWithSelfcCs6|j}|jj}|j}|jj}|j|jjddS)zwA case that lead to a segfault when a message detached from its parent container has itself a child container. rN)rZrepeated_childrrr+roptional_int32)r&r'r~rrrtestReleasedNestedMessagess   z&MessageTest.testReleasedNestedMessagescCsz|j}|jt g|_WdQRX|jjdtjdkrZ|jt g|_WdQRXn|jt g|_WdQRXdS)Nr8r)r!rAttributeErrorrrrrr=)r&r'r~rrrtestSetRepeatedComposite(s     z$MessageTest.testSetRepeatedComposite)HrLrMrNr)r2r6rJrUr[rarbrdrgrhrirrrsrtrxr{rrrrrrrrrrrrrrrrrrrrrrrrrrrrr bytearraysetrrrrrrrrrTrrrrrrrr r r rrrrrrres  $   --( # #                  rc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS) Proto2TestcCstj}|j|jd|j|jd|j|jd|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jd|j|jd|j|jd|j j d|_d|_d|j _ |j |jd|j |jd|j |jdd |_d |_d |j _ |j |jd|j |jd|j |jd|j d|j d|j d|j|jd|j|jd|j|jd|jd|j|jd|j|jd|j j dS) Nr optional_booloptional_nested_messagefield_doesnt_existrrrFrT) r r!rrrrr+rrrr|r\r)r&rrrrtestFieldPresence:sD      zProto2Test.testFieldPresencecCs tj}|jt }d|_WdQRX|jt|jjd|jjdd|jd<|jtd|jd<WdQRXtj}d|_|jjd|j}tj}|j ||j |j d|j d|j|j dt |j|j|j |j|j d|j|j d|jddS) z:Assigning an invalid enum number is not allowed in proto2.iNrjri@itoptional_nested_enumr8)r r!rrrrrr r,r*rrr+rCr)r&r~rrrcZm3rrrtestAssignInvalidEnumjs*      z Proto2Test.testAssignInvalidEnumc Cs6tj}d|jd<|jtd|jd<WdQRXdS)Nr{r8)rZ TestEnumMapZknown_map_fieldrrZunknown_map_field)r&r~rrrtestUnknownEnumMaps  zProto2Test.testUnknownEnumMapcCstj}|jtt|ddS)N Extensions)r r!rrr)r&rHrrrtestExtensionsErrorsszProto2Test.testExtensionsErrorscCshtjd}tj}|j|tj}tj||j|||j||jtj |}|j||jdS)Nr0) rrr ZTestAllExtensionsr*ZSetAllExtensionsr+r,r-r.)r&r/r0r5r1rrrtestGoldenExtensionss     zProto2Test.testGoldenExtensionscCshtjd}tj}|j|tj}tj||j|||j||jtj |}|j||jdS)Nr3) rrr ZTestPackedExtensionsr*ZSetAllPackedExtensionsr+r,r-r.)r&r/r0r5r1rrrtestGoldenPackedExtensionss     z%Proto2Test.testGoldenPackedExtensionscCsNtjdd}tj|}tj|}|j|||j|jd|jtj |j dS)Nr8)r) r Z TestRequiredrVrWrXr+rrrZ EncodeErrorr,)r&r0rYrZrrrtestPickleIncompleteProtos     z$Proto2Test.testPickleIncompleteProtocCstjtjtjg}d|d_d|d_d|d_d|d_tj}d|_d|_d|_tjj}|jj||j j||j j||j j||j j||j jjj|d|j jjj|d|j jjj|d|jjjj|d|jjjj|d|jjjj|d|j}tj}|j||j|j||j|j||j|jj||j|jtjj||jt|jd|jt|jd|jt|jtjjddS)zcCheck the merge behavior when a required or optional field appears multiple times in the input.r8rrjruZhelloN)r r!roptional_int64rZTestParsingMergeZRepeatedFieldsGeneratorZfield1rSZfield2Zfield3Zext1Zext2Zgroup1rrZgroup2r,r*r+Zrequired_all_typesZoptional_all_types optionalgroupZoptional_group_all_typesrZ optional_extrCZrepeated_all_types repeatedgroupZ repeated_ext)r&ZmessagesZmerged_message generatordataZ parsing_mergerrrtestParsingMergesJ              zProto2Test.testParsingMergecCs`tjddddddiddiid dd idd igd tjjgd dd }|j|tj|jd|j|jd|j|jd|j|jd|j|jd|j j |j|j tjj |jd|j j |j|jd|j|jtj|jtjj|j|jdt|j|jd |jdj |jd |jdj |jdt|j|jtjj|jd|jtjj|jd|jd |j|jd|j|j|jd|jdt|j|jd|jtjd d}|jtjj|j|jttjddidWdQRX|jttjddidWdQRX|jttjddWdQRX|jttjd dWdQRXdS)Ndgr@xrir|iBAZiXiFOOi r) roptional_fixed32r]optional_bytesr$roptional_foreign_messagerr%r default_int32rr0rjrr8r#*)rZINVALID_NESTED_FIELD)rZINVALID_VALUE_TYPEZ INVALID_LABEL)r) r r!ZBARrr+rr.r]r/r$rrrr|r\rr0ForeignMessager,rrCr%rr-r1rrr_Z default_int64rrr=)r&rrrrtestPythonicInitsl              zProto2Test.testPythonicInitN) rLrMrNrrrrr r!r"r(r5rrrrr8s0  1rc@s eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAS)B Proto3TestcCs@t|}x&|D]\}}|j|||||=qW|ji|dS)N)dictr+)r&Zmap_iterZ dict_valuervrrrassertMapIterEquals+s  zProto3Test.assertMapIterEqualsc4Cstj}|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|j|jd|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jd |j|jd |j|jd |j |jd |j |jd |j j d |j _ |j |jdd |_d |_d|_ d|_ d|j _ |jd|jd|jd|jd|jd|jd |j|jd |j|jd |j |jd |j |jd |j j dS)Nrr]rrrrrrrryFrg?rTr)r r!rrrrr+rr]rrrr|r\r)r&rrrrr5sL            zProto3Test.testFieldPresencecCstj}d|_|jd|j|jjd|jd|jdd|jd<|jd|jd|j}tj}|j||jd|j|jd|jddS)zCAssigning an unknown enum value is allowed and preserves the value.iiTritN)r r!rr+rrr,r*)r&r~rcrrrrtestAssignUnknownEnumns   z Proto3Test.testAssignUnknownEnumcCsNtj}|jd |jk|jd|jk|jd|jk|jd|jk|jd|jk|jd|jk|jd|j k|jd|j k|jd|j k|j d|jd|j d|jd|j d|jd|j d|jd|j d |jd|j t|jdt|j d|jd|j t|jdt|j d |j d|j d |j d|j d|j d|j d|jk|j d|jk|j d|jk|j d|jk|j d|jk|j d|jk|j d|j k|j d|j k|j d|j k|j|j dtj|jt|j dWdQRX|jtd|j kWdQRXdS)NrrjrFroixrgryrilllilllilll)rTestMaprmap_int32_int32map_int64_int64map_uint32_uint32map_uint64_uint64map_int32_double map_bool_boolmap_string_stringZmap_int32_bytesmap_int32_enumr+r\ isinstancefloatrrrrrr=)r&rHrrrtestScalarMapDefaultssF  z Proto3Test.testScalarMapDefaultscCs&tj}|j|jjd|jd|jjdd|j|jjdd|jd<|jd|jjd|jd|jjd|jt|jjdWdQRX|j|jjd|jd|jjdd|jd}|j ||jjdt j dkr|jt|jjdWdQRXn|jd|jjddS)Nrrrryr) rr<rr=getr+rr=map_int32_foreign_messagerrr)r&rHsubmsgrrr testMapGets"    zProto3Test.testMapGetc!Cs4tj}|jdt|j|jd|jkd|jd<d|jd<d|jd<d|jd<d|j d<d |j d <d |j d <d |j d <d|j d<d|j d<|jg|j|jd t|j |jtd |j d<WdQRX|jd t|j |jtd|j d <WdQRX|j}tj}|j||jtd |j d<WdQRX|jtd|j d <WdQRX|jd|jd|jd|jd|jd|jd|jd|jd |jd|j d|jd |j d |jd |j d |jd |j d |jd|j d|jd|j dtjdkr0|jdt|jdS)!Nrrirrj"rg333333?gffffff @r8123rTixrz {-123: -456}i8illlllli8illllll)rr<r+rCr=rr>r?r@Zmap_int32_floatrArCrBrDFindInitializationErrorsrr=r,r*rrrr$)r&rHrcmsg2rrr testScalarMapsP               zProto3Test.testScalarMapcCs@tj}d|jd<d|jd<|j|jd|jd|jdS)Nrryrs r )rr<r=rCr+ByteSizer,)r&rHrrrtestMapEntryAlwaysSerializeds   z'Proto3Test.testMapEntryAlwaysSerializedcCsntj}d}|jd}||j|<t|jjd\}}|j|||j|||j|tj |j|tj dS)Nuሴutf8r) rr<encoderCritemsr+rrr)r&rHZ unicode_objZ bytes_objrvaluerrr testStringUnicodeConversionInMaps    z+Proto3Test.testStringUnicodeConversionInMapcCsZtj}|jdt|j|jd|jk|jd|jjd |jdt|j|jd|j|jd |j|jdt|j|jt |jdWdQRX|jt |jd|jd<WdQRX|jdt|j|j }tj}|j ||jdt|j|jd|j|jd |j|jdt|jt jdkrV|jd tt|jdS) NrrrirjrMirri8i8i8)rr<r+rCrIrZ get_or_creater#rr=rr,r*rrr$)r&rHrcrOrrrtestMessageMap&s0     zProto3Test.testMessageMapcCstj}d|jdj_|jd=d|jdj_|jdt|jd|jdj_|jdt|j|j}tj}|j|ddg}x|D] }|j|=qWdS)Nr8rj) rr<map_int32_all_typesrr|r+rCr,r*)r&rHrcrOkeysrrrrtestNestedMessageMapItemDeleteOs  z)Proto3Test.testNestedMessageMapItemDeletecCsptj}d|jd<|j}d|jd<|j|j|dd|jd_|j}d|jd_|j|j|ddS)Nr8)rr<r=rQr+rIr)r&rHrrrrtestMapByteSize`s    zProto3Test.testMapByteSizec Cstj}d|jd<d|jd<d|jd<d|jd_d |jd _tj}d |jd<d |jd <d|jd _d|jd _|jd }|j||jd|jd|jd|jd|jd|jd|jd |jd |jd|jdj|jd |jd j|j |jd j dt j dkr(|jd|ji}x.|jD]$}|j ||k|j|j||<q4W|jdd d||jd=|j d|jk|jd =|j d |jkt j dkr|j t|jd=WdQRXn|j t|jd=WdQRXdS)NrLrN8rrr;r7cXrrdr)r;rbry)rr<r=r>rIrrfrr+rrrrrr=KeyError)r&rHrOZ old_map_valueZas_dictrrrr testMergeFromlsH              zProto3Test.testMergeFromc Cs.tj}|jtd|jdWdQRXdS)NzWParameter to MergeFrom\(\) must be instance of same class: expected .*TestMap got int\.r8)rr<assertRaisesRegexr=r)r&rHrrrtestMergeFromBadTypes zProto3Test.testMergeFromBadTypec Cs.tj}|jtd|jdWdQRXdS)Nz[Parameter to [A-Za-z]*From\(\) must be instance of same class: expected .*TestMap got int\.r8)rr<rir=r)r&rHrrrtestCopyFromBadTypes zProto3Test.testCopyFromBadTypecCstj}td|jtd<td |jtd <td|jtd<td |jtd <|j}tj}|j||j d|jd|j d|jd|j d|jd|j d|jddS)NirrjrLri8illlllli8illllll) rr<rr=r>r?r@r,r*r+)r&rHrcrOrrrtestIntegerMapWithLongss z"Proto3Test.testIntegerMapWithLongscCstj}d|jjd<|j}tj}|j||j||d|jjd<|j}|j||j|||jjj|j}|j||j||dS)Niriix)rTestMapSubmessagetest_mapr=r,r*r+clear)r&rHrcrOrrrtestMapAssignmentCausesPresences        z*Proto3Test.testMapAssignmentCausesPresencecCstj}d|jjd_|j}tj}|j||j||d|jjd_|j}|j||j|||jjdj|jjd|j}|j||j|||jjj |j}|j||j||dS)Nrrix) rrmrnrIrr,r*r+rro)r&rHrcrOrrr-testMapAssignmentCausesPresenceForSubmessagess&         z8Proto3Test.testMapAssignmentCausesPresenceForSubmessagescCs~tj}t|j}t|j}d|jd<d|jd_|jtx |D]}qDWWdQRX|jtx |D]}qhWWdQRXdS)NrMrr)rr<iterrCrIrr RuntimeError)r&rHZstring_string_iterZint32_foreign_iterrrrrtestModifyMapWhileIteratings        z&Proto3Test.testModifyMapWhileIteratingc Cstj}|jd}|j||jd|j|tjd|_|j}tj}|j ||j d|jdj|j t tj|jd<WdQRXdS)Nr;rre) rr<rIrrr r4rr,r*r+rr)r&rHrJrcrOrrrtestSubmessageMap s   zProto3Test.testSubmessageMapcCstj}x$t|jjD]\}}|jdqWd|jd<d|jd<d|jd<|jdt|jdddd}|jt|jj|dS)NFr9rjrru)rjrur9) rr<rr=rUr\r+rCr9)r&rHrr8 matching_dictrrrtestMapIterations    zProto3Test.testMapIterationcs&tjdkr"tj}d|jd<d|jd<d|jd<d|jd<|j}jdt|tj}|j|jfdd }|t |j t |j |t |j t |j |t |j t |j jd|jdjd|jd jd|jdjd |jdjdt||j\}}jd||jdt||jjd t|jt|jWdQRXjd |jdjd t||j|jjdt|jt|j|j|jWdQRXjt|jd WdQRXjt|jd dWdQRXdS)Nrur9rjrrwrrcs0jt||djt||dddS)Nrr8)r+nextr)seqiterator)r&rr CheckItems9sz-Proto3Test.testPython2Map..CheckItemsirr8r)rV)ru)rvrwrr<r=r+rCr*r,rrUrsrZrrHr popitemrorrg setdefaultupdater=)r&rHZ map_int32rOr}rrVr)r&rtestPython2Map-sJ            zProto3Test.testPython2MapcCsftj}d|jd<d|jd<d|jd<d|jd<d|jd<t|jj}t|jj}|j||dS)Nry local_init_optrainable_variables variablesinit_op summaries)rr<rCrrUr+)r&rHZitems1Zitems2rrr testMapItems]s     zProto3Test.testMapItemscCs~d}tj}d|jd<d|jd<d|jd<d|jd <d |jd <d |jd <d |jd<d|jd<d|jd<|j||jdddS)Nsr init_opdr item1er item2fr item3gr item4QQr local_init_opar summarieser trainable_variablesbr variablescrrrrrrrfrerZitem1fZitem2gZitem3ZQQZitem4T)rK)rr<rCr+r,)r&r/rHrrr!testMapDeterministicSerializationls          z,Proto3Test.testMapDeterministicSerializationcCsRtj}d|jd<d|jd<d|jd<t|jj}~dddd}|j||dS)Nr9rjrrurw)rjrur9)rr<r=rrUr9)r&rHitrxrrrtestMapIterationClearMessages    z'Proto3Test.testMapIterationClearMessagecCsftjdddd}|jd|jd|jd|jdtjdtjddid }|jd|jdjdS) Nrjr9)r8ru)r=r8rur)r)rI)rr<r+r=r r4rIr)r&rHrrrtestMapConstructions zProto3Test.testMapConstructioncCsdtj}|j}d|d<d|d<d|d<|jd|jd|jdddd}|jt|j|dS) Nr9rjrrurwr=r)rjrur9) rr<r=rr+r,r9rrU)r&rHZ int32_maprxrrrtestMapValidAfterFieldCleareds  z(Proto3Test.testMapValidAfterFieldClearedcCsLtj}|j}d|d_|jd|jd|j|jdt|j kdS)NrrjrIr) rr<rIrrr+r,r\rrZ)r&rHZint32_foreign_messagerrr$testMessageMapValidAfterFieldCleareds   z/Proto3Test.testMessageMapValidAfterFieldClearedcCs|tj}t|j}|jd|jtx |D]}q.WWdQRXt|j}|jd|jtx |D]}qfWWdQRXdS)Nr=rI)rr<rsr=rrrtrI)r&rHrrrrr"testMapIterInvalidatedByClearFields        z-Proto3Test.testMapIterInvalidatedByClearFieldcCstj}|jdt|jd|jd<|jdt|j|jt|jd=WdQRX|jd=|jdt|j|jt|jd=WdQRXdS)Nrrr9r8re )rr<r+rCr=rrgrY)r&rHrrr testMapDeletes   zProto3Test.testMapDeletecCsLtj}|j|jtj|j|jtj|j|jtj|j|jtjdS)N)rr<rr=rMappingMutableMappingrI)r&rHrrrtestMapsAreMappings zProto3Test.testMapsAreMappingcCsDtj}d|jd<|j|j|j|j|j|j|j|jddS)Nirri8i)rr<r=r+rIZassertNotEqual)r&rHrrrtestMapsCompares  zProto3Test.testMapsComparecCs@tj}d|jd<d|jd<d|jd_|jdt|jdS)NrMr@#rrr) rr<rCr=Zmap_string_foreign_messagerr+rCrN)r&rHrrr(testMapFindInitializationErrorsSmokeTests    z3Proto3Test.testMapFindInitializationErrorsSmokeTestN)#rLrMrNr9rr:rGrKrPrRrWrXr[r^rhrjrkrlrprrrurvryrrrrrrrrrrrrrrrrr6(s@ 90=) <0  r6c@seZdZddZddZdS)ValidTypeNamesTestcstt|jddd|d|f}|jtfdd|Dd|fjd}|d }dj|dd }t||gd dS) N'r8zRepeated%sContainerzRepeated%sFieldContainerc3s|]}j|VqdS)N)endswith)r}r8)tp_namerrrsz:ValidTypeNamesTest.assertImportFromName..z%r does end with any of %r.)fromlistr<r<)r$typesplitr\anyjoin __import__)r&rHZ base_nameZ valid_namesparts class_nameZ module_namer)rrassertImportFromNames  z'ValidTypeNamesTest.assertImportFromNamecCs(tj}|j|jd|j|jddS)NZScalarZ Composite)r r!rrr)r&rrrrtestTypeNamesCanBeImported sz-ValidTypeNamesTest.testTypeNamesCanBeImportedN)rLrMrNrrrrrrrs rc@s$eZdZddZddZddZdS)PackedFieldTestcCs|jjd|jjd|jjd|jjd|jjd|jjd|jjd|jjd|j jd|j jd|j jd|j jd|j jd|jjddS)Nr8g?T)rrZrepeated_int64Zrepeated_uint32Zrepeated_uint64Zrepeated_sint32Zrepeated_sint64Zrepeated_fixed32Zrepeated_fixed64Zrepeated_sfixed32Zrepeated_sfixed64r_r`Z repeated_boolr)r&rrrr setMessages             zPackedFieldTest.setMessagecCs*tj}|j|d}|j||jdS)NsH "*2:BJRZ?b?jr)rr4rr+r,)r&rr/rrrtestPackedFields"s z PackedFieldTest.testPackedFieldscCs*tj}|j|d}|j||jdS)Ns: (0=AMQ]?a?hp)rZTestUnpackedTypesrr+r,)r&rr/rrrtestUnpackedFields5s z"PackedFieldTest.testUnpackedFieldsN)rLrMrNrrrrrrrrsrrrjrqz;explicit tests of the C++ implementation for PY27 and abovec@s0eZdZeddZddZddZddZd S) OversizeProtosTestcCsFd}tj}tj}tj|||j|tj|j |j d|_ dS)Na name: "f/f.msg2" package: "f" message_type { name: "msg1" field { name: "payload" number: 1 label: LABEL_OPTIONAL type: TYPE_STRING } } message_type { name: "msg2" field { name: "field" number: 1 label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: "msg1" } } zf.msg2) r ZDescriptorPoolr ZFileDescriptorProtorZParseZAddr ZMessageFactoryZ GetPrototypeZFindMessageTypeByName proto_cls)clsZ file_descZpoolZdescrrr setUpClassNs   zOversizeProtosTest.setUpClasscCs(|j|_dd|jj_|jj|_dS)Nrirr8iii)rpfieldrr, p_serialized)r&rrrsetUpqs zOversizeProtosTest.setUpcCsfddlm}|d|j}y|j|jWn4tjk r`}z|jt|dWYdd}~XnXdS)Nr)SetAllowOversizeProtosFzError parsing message) google.protobuf.pyext._messagerrr*rrr?r+r$)r&rqrrrrtestAssertOversizeProtovs z*OversizeProtosTest.testAssertOversizeProtocCsBddlm}|d|j}|j|j|j|jjj|jjdS)Nr)rT) rrrr*rr+rrr)r&rrrrrtestSucceedOversizeProtos   z+OversizeProtosTest.testSucceedOversizeProtoN)rLrMrN classmethodrrrrrrrrrIs # r__main__)rjrq)4r __author__rr-rlrrVrrvr@Z unittest2Zunittest ImportErrorrrZgoogle.protobufrrr r r r r rZgoogle.protobuf.internalrrrrrrrZPY3rZlongrrrrZ BaseTestCaseZNamedParametersrrr6rrZskipIfrrwrrLmainrrrr)s                WqX9: PK!//Bprotobuf/internal/__pycache__/packed_field_test_pb2.cpython-36.pycnu[3 hxO&@s* ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddeejddddddejddddddejddddddgddddd Zejeejdddedejdddddddd gdddd dded!ejd"d#dddddd gdddd dded!ejd$d%ddd&ddd gdddd dded!ejd'd(dd)d)d)dd gdddd dded!ejd*d+d)dd,ddd gdddd dded!ejd-d.dd/d0ddd gdddd dded!ejd1d2d/d3d3ddd gdddd dded!ejd4d5d3d6d/d)dd gdddd dded!ejd7d8d6d9d:ddd gdddd dded!ejd;dddd gdddd dded!ejd?d@d=dAdd/dd gdddd dded!ejdBdCdAdDdddd gdddd dded!ejdEdFdDd&d6d3dd gdddd dded!ejdGdHd&dIdId6dd gdddd dded!gggegdd d ggdJddKZejdLdMdedejddNdddddd gdddd deje jedOed!ejd"dPdddddd gdddd deje jedOed!ejd$dQddd&ddd gdddd deje jedOed!ejd'dRdd)d)d)dd gdddd deje jedOed!ejd*dSd)dd,ddd gdddd deje jedOed!ejd-dTdd/d0ddd gdddd deje jedOed!ejd1dUd/d3d3ddd gdddd deje jedOed!ejd4dVd3d6d/d)dd gdddd deje jedOed!ejd7dWd6d9d:ddd gdddd deje jedOed!ejd;dXd9d=d>ddd gdddd deje jedOed!ejd?dYd=dAdd/dd gdddd deje jedOed!ejdBdZdAdDdddd gdddd deje jedOed!ejdEd[dDd&d6d3dd gdddd deje jedOed!ejdGd\d&dIdId6dd gdddd deje jedOed!ggggdd d ggd]d^dKZeejdG_ee_eejdG_eejd<eejdL<ejee j dej!fe"ed_d`Z#ej$e#e j dLej!fe"ed_d`Z%ej$e%daejd_&eje jedOejd_'daejd"_&eje jedOejd"_'daejd$_&eje jedOejd$_'daejd'_&eje jedOejd'_'daejd*_&eje jedOejd*_'daejd-_&eje jedOejd-_'daejd1_&eje jedOejd1_'daejd4_&eje jedOejd4_'daejd7_&eje jedOejd7_'daejd;_&eje jedOejd;_'daejd?_&eje jedOejd?_'daejdB_&eje jedOejdB_'daejdE_&eje jedOejdE_'daejdG_&eje jedOejdG_'dS)bNcCs|S)N)xrr+/usr/lib/python3.6/packed_field_test_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z0google/protobuf/internal/packed_field_test.protozgoogle.protobuf.python.internalZproto3u* 0google/protobuf/internal/packed_field_test.protogoogle.protobuf.python.internal"Û TestPackedTypes repeated_int32 ( repeated_int64 ( repeated_uint32 (  repeated_uint64 ( repeated_sint32 ( repeated_sint64 ( repeated_fixed32 ( repeated_fixed64 ( repeated_sfixed32 ( repeated_sfixed64 ( repeated_float ( repeated_double ( repeated_bool (Y repeated_nested_enum (2;.google.protobuf.python.internal.TestPackedTypes.NestedEnum"' NestedEnum FOO BAR BAZ"ì TestUnpackedTypes repeated_int32 (B repeated_int64 (B repeated_uint32 ( B repeated_uint64 (B repeated_sint32 (B repeated_sint64 (B repeated_fixed32 (B repeated_fixed64 (B repeated_sfixed32 (B repeated_sfixed64 (B repeated_float (B repeated_double (B repeated_bool (B] repeated_nested_enum (2;.google.protobuf.python.internal.TestPackedTypes.NestedEnumBbproto3)namepackagesyntaxZ serialized_pbZ NestedEnumz:google.protobuf.python.internal.TestPackedTypes.NestedEnumZFOO)rindexnumberoptionstypeZBARZBAZi i1) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endTestPackedTypesz/google.protobuf.python.internal.TestPackedTypesZrepeated_int32z>google.protobuf.python.internal.TestPackedTypes.repeated_int32F)rrrrrZcpp_typeZlabelZhas_default_valueZ default_valueZ message_type enum_typerZ is_extensionZextension_scoperrZrepeated_int64z>google.protobuf.python.internal.TestPackedTypes.repeated_int64Zrepeated_uint32z?google.protobuf.python.internal.TestPackedTypes.repeated_uint32 Zrepeated_uint64z?google.protobuf.python.internal.TestPackedTypes.repeated_uint64Zrepeated_sint32z?google.protobuf.python.internal.TestPackedTypes.repeated_sint32Zrepeated_sint64z?google.protobuf.python.internal.TestPackedTypes.repeated_sint64Zrepeated_fixed32z@google.protobuf.python.internal.TestPackedTypes.repeated_fixed32Zrepeated_fixed64z@google.protobuf.python.internal.TestPackedTypes.repeated_fixed64Zrepeated_sfixed32zAgoogle.protobuf.python.internal.TestPackedTypes.repeated_sfixed32 Zrepeated_sfixed64zAgoogle.protobuf.python.internal.TestPackedTypes.repeated_sfixed64 Zrepeated_floatz>google.protobuf.python.internal.TestPackedTypes.repeated_float Zrepeated_doublez?google.protobuf.python.internal.TestPackedTypes.repeated_double Z repeated_boolz=google.protobuf.python.internal.TestPackedTypes.repeated_boolZrepeated_nested_enumzDgoogle.protobuf.python.internal.TestPackedTypes.repeated_nested_enumV)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrrTestUnpackedTypesz1google.protobuf.python.internal.TestUnpackedTypesz@google.protobuf.python.internal.TestUnpackedTypes.repeated_int32zz@google.protobuf.python.internal.TestUnpackedTypes.repeated_int64zAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_uint32zAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_uint64zAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_sint32zAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_sint64zBgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_fixed32zBgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_fixed64zCgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_sfixed32zCgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_sfixed64z@google.protobuf.python.internal.TestUnpackedTypes.repeated_floatzAgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_doublez?google.protobuf.python.internal.TestUnpackedTypes.repeated_boolzFgoogle.protobuf.python.internal.TestUnpackedTypes.repeated_nested_enumi4i z.google.protobuf.internal.packed_field_test_pb2) DESCRIPTOR __module__T)(sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr2ZEnumDescriptorZEnumValueDescriptorZ_TESTPACKEDTYPES_NESTEDENUMZRegisterEnumDescriptorZ DescriptorZFieldDescriptorZ_TESTPACKEDTYPESZ _ParseOptionsZ FieldOptionsZ_TESTUNPACKEDTYPESZfields_by_namer rZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager1Z has_optionsZ_optionsrrrrs`                               PK!F@. . Bprotobuf/internal/__pycache__/file_options_test_pb2.cpython-36.pycnu[3 h @stddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lm Zejd d d edejgdZdZejdddddddddddddddedZejdddedejddddddddedjdddddddedggggddd ggd d!d"Zeejd<eejd<ejee jdejfeed#d$Zejeee_ ej!j"edS)%NcCs|S)N)xrr+/usr/lib/python3.6/file_options_test_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z0google/protobuf/internal/file_options_test.protozgoogle.protobuf.python.internalZproto2u 0google/protobuf/internal/file_options_test.protogoogle.protobuf.python.internal google/protobuf/descriptor.proto" FooOptions foo_name ( :a foo_options.google.protobuf.FileOptions¬ì¶9 ( 2+.google.protobuf.python.internal.FooOptions)namepackagesyntaxZ serialized_pbZ dependenciesi,- foo_optionsz+google.protobuf.python.internal.foo_options FT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile FooOptionsz*google.protobuf.python.internal.FooOptionsZfoo_namez3google.protobuf.python.internal.FooOptions.foo_name zutf-8w)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endz.google.protobuf.internal.file_options_test_pb2) DESCRIPTOR __module__)#sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZ'google_dot_protobuf_dot_descriptor__pb2ZFileDescriptorr#ZFOO_OPTIONS_FIELD_NUMBERZFieldDescriptorrZ DescriptordecodeZ _FOOOPTIONSZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessagerZ FileOptionsZRegisterExtensionrrrrsl              PK!n qqAprotobuf/internal/__pycache__/descriptor_pool_test.cpython-36.pycnu[3 h@sdZdZddlZddlZy ddlZWnek r@ddlZYnXddlmZddlm Z ddlm Z ddlm Z ddl m Z dd l mZdd l mZdd l mZdd l mZdd l mZddl mZddlmZddlmZddlmZddlmZddlmZGdddeZGdddeejZGdddeejZGdddeejZGdddeZGdddeZ Gd d!d!eZ!Gd"d#d#eZ"Gd$d%d%eZ#Gd&d'd'eZ$Gd(d)d)eZ%Gd*d+d+ejZ&ed,d-e!e dmdnge!e dodpge!d6e dqdrgid;e"d/d6d7fdd;e"d/d6d4fdd;e"d/d6dKfdd;e"d/d6d^fdgoogle.protobuf.python.internal.Factory2Message.one_more_fieldzprotobuf_unittest.TestServicezgoogle/protobuf/unittest.proto) rFindFileContainingSymbolrr rrrrrr)rrr Z file_desc3Z file_desc4Z file_desc5r!r!r"testFindFileContainingSymbolTs:z3DescriptorPoolTestBase.testFindFileContainingSymbolc Cs&|jt|jjdWdQRXdS)NzDoes not exist)r$r%rr')rr!r!r"#testFindFileContainingSymbolFailureys z:DescriptorPoolTestBase.testFindFileContainingSymbolFailurec Cs|jjd}|j|tj|jd|j|jd|j|jd|j|j |j |j d}|jd|j|j||j|j d}|jd|j|j||j|j||j dj|j||j dj|jjd}|j|tj|jd |j|jd|j|j|j|j d}|jd |j|j||j|j d}|jd |j|j||j|j||j d j|j||j d j|j|j dj|jd|j dj|j|j dj|jd|j dj|j|j dj|jd|j dj|j|j dj|j |j dj|j|j dj|jd|j dj|jjd}|j|||j|j dj|jd|j dj|jdt|j|jdt|j|jdt|jdjxBdD]:}|j|jd|j |j|j|j ||jdjqWdS)Nz/google.protobuf.python.internal.Factory1MessagerrZNestedFactory1MessageZNestedFactory1EnumZnested_factory_1_messageZnested_factory_1_enumz/google.protobuf.python.internal.Factory2MessagerZNestedFactory2MessageZNestedFactory2EnumZnested_factory_2_messageZnested_factory_2_enumZint_with_defaultiZdouble_with_defaultg{G#@Zstring_with_defaultz hello worldZbool_with_defaultZenum_with_defaultzEgoogle.protobuf.python.internal.Factory2Message.NestedFactory2MessageZbytes_with_defaultsac oneof_int oneof_string)r,r-)rFindMessageTypeByNamerr Z Descriptorrr full_namecontaining_type assertFalse has_optionsZ nested_typesZ enum_typesfields_by_name message_type enum_typeZ assertIsNone assertTruehas_default_value default_valuelenZoneofsoneofs_by_nameZfieldsZcontaining_oneofr) rZmsg1Z nested_msg1 nested_enum1Zmsg2Z nested_msg2 nested_enum2Zmsg3rr!r!r"testFindMessageTypeByName}s                 z0DescriptorPoolTestBase.testFindMessageTypeByNamecCs|jt|jjdtjdkrH|jt|jjd|jt|jjdt}nt}|j||jj d|j||jj d|j||jj d|j||jj d|j||jj d|j||jjd|j||jjdtjdkrt}|j||jjddS)Ncpprpython)r$ TypeErrorrFindExtensionByNumberrTypeZFindMethodByNamer%AttributeErrorr.FindFieldByNameFindExtensionByNameFindEnumTypeByNameFindOneofByNameFindServiceByNamer'r)rZ error_typer!r!r"testFindTypeErrorss   z)DescriptorPoolTestBase.testFindTypeErrorsc Cs&|jt|jjdWdQRXdS)NzDoes not exist)r$r%rr.)rr!r!r" testFindMessageTypeByNameFailures z7DescriptorPoolTestBase.testFindMessageTypeByNameFailurecCs|jjd}|j|tj|jd|jdj|jd|jdj|j|j |jjd}|j|tj|jd|jdj|jd|jdj|jjd }|j|tj|jd|jd j|jd|jd j|jjd }|j|tj|jd|jd j|jd|jdjdS)Nz,google.protobuf.python.internal.Factory1EnumrZFACTORY_1_VALUE_0r*ZFACTORY_1_VALUE_1zBgoogle.protobuf.python.internal.Factory1Message.NestedFactory1EnumZNESTED_FACTORY_1_VALUE_0ZNESTED_FACTORY_1_VALUE_1z,google.protobuf.python.internal.Factory2EnumZFACTORY_2_VALUE_0ZFACTORY_2_VALUE_1zBgoogle.protobuf.python.internal.Factory2Message.NestedFactory2EnumZNESTED_FACTORY_2_VALUE_0ZNESTED_FACTORY_2_VALUE_1) rrGrr ZEnumDescriptorrvalues_by_namenumberr1r2)rZenum1r;Zenum2r<r!r!r"testFindEnumTypeByNames2 z-DescriptorPoolTestBase.testFindEnumTypeByNamec Cs&|jt|jjdWdQRXdS)NzDoes not exist)r$r%rrG)rr!r!r"testFindEnumTypeByNameFailures z4DescriptorPoolTestBase.testFindEnumTypeByNameFailurec Csvt|trtjdkrdS|jjd}|j|jd|j|j|j |j |j |j t |jjdWdQRXdS)Nr?z:google.protobuf.python.internal.Factory1Message.list_valueZ list_valuezDoes not exist) isinstance#SecondaryDescriptorFromDescriptorDBrrCrrErrlabelZLABEL_REPEATEDr1r2r$r%)rfieldr!r!r"testFindFieldByName s    z*DescriptorPoolTestBase.testFindFieldByNamec CsZt|trtjdkrdS|jjd}|j|jd|jt |jjdWdQRXdS)Nr?z;google.protobuf.python.internal.Factory2Message.oneof_field oneof_fieldzDoes not exist) rPrQrrCrrHrrr$r%)rZoneofr!r!r"testFindOneofByNames   z*DescriptorPoolTestBase.testFindOneofByNamec Cst|trtjdkrdS|jjd}|j|jd|jjd}|j|jd|j|jd|j t |jj dWdQRXdS)Nr?z>google.protobuf.python.internal.Factory2Message.one_more_fieldone_more_fieldz-google.protobuf.python.internal.another_field another_fieldizDoes not exist) rPrQrrCrrFrrrMr$r%rE)r extensionr!r!r"testFindExtensionByName%s   z.DescriptorPoolTestBase.testFindExtensionByNamecCs|jjd}|jjd}|jd}|jj||jjd}|jd}|jj||jj|}t||g}|j|t||jd|jj|}|j|t|dS)Nz/google.protobuf.python.internal.Factory1Messagez/google.protobuf.python.internal.Factory2MessagerWz,google/protobuf/internal/factory_test2.protorXZunexpected_element) rr.extensions_by_nameAddExtensionDescriptorrZFindAllExtensionssetrappend)rfactory1_messagefactory2_messagerW factory_test2rX extensionsZexpected_extension_numbersr!r!r"testFindAllExtensions7s         z,DescriptorPoolTestBase.testFindAllExtensionsc Cs|jjd}|jjd}|jd}|jj||jjd}|jd}|jj||jj|d}|j|jd|jj|d}|j|jd|jt |jj|d}WdQRXdS) Nz/google.protobuf.python.internal.Factory1Messagez/google.protobuf.python.internal.Factory2MessagerWz,google/protobuf/internal/factory_test2.protorXiii) rr.r[r\rrBrrr$r%)rr_r`rWrarXrYr!r!r"testFindExtensionByNumberOs      z0DescriptorPoolTestBase.testFindExtensionByNumbercCsj|jt|jjdWdQRX|jt|jjdWdQRX|jt|jjdWdQRXdS)Nz-google.protobuf.python.internal.another_fieldz>google.protobuf.python.internal.Factory2Message.one_more_fieldz:google.protobuf.python.internal.Factory1Message.list_value)r$r%rrErF)rr!r!r"testExtensionsAreNotFieldsfs   z1DescriptorPoolTestBase.testExtensionsAreNotFieldsc Cs@|jjd}|j|jd|jt|jjdWdQRXdS)Nzprotobuf_unittest.TestServicezDoes not exist)rrIrr/r$r%)rservicer!r!r"testFindServiceps  z&DescriptorPoolTestBase.testFindServicecCs8tj}tj||_|j|j|j|j|jdS)N) rDescriptorDatabaserDescriptorPoolrAddfactory_test1_fdfactory_test2_fdr=)rdbr!r!r"testUserDefinedDBvs    z(DescriptorPoolTestBase.testUserDefinedDBcCsTt|trtjdkrdStj|_|jj|jj |jj|j j |j dS)Nr?) rPrQrrCrrirAddSerializedFilerkSerializeToStringrlr=)rr!r!r"testAddSerializedFile}s   z,DescriptorPoolTestBase.testAddSerializedFilecsfdd}|tjtjjjd}j|tj||ttrVt j dkrVdSt j j tjj}jj|jjd}||dS)z:Test the default value of enums which don't start at zero.cs&|jdjdj}j|tjjdS)NDescriptorPoolTest1 nested_enum)rr3r8rrrrBETA)file_descriptorr8)rr!r"_CheckDefaultValues zGDescriptorPoolTestBase.testEnumDefaultValue.._CheckDefaultValuez4google/protobuf/internal/descriptor_pool_test1.protor?N)r DESCRIPTORrDefaultrrassertIsrPrQrrCrFileDescriptorProto FromString serialized_pbrj)rrvruZdescriptor_protor!)rr"testEnumDefaultValues       z+DescriptorPoolTestBase.testEnumDefaultValuecsfddfdd}|tjtj}|jtjjtj j |jtjjt j j |jtjjtj j t j |j|jtjj j}||dS)z0Check the value returned by non-existent fields.csj||j||dS)N)rr)valueZexpected_valueZ expected_type)rr!r"_CheckValueAndTypes zTDescriptorPoolTestBase.testDefaultValueForCustomMessages.._CheckValueAndTypecsyt}Wntk r t}YnXyt}Wntk rBt}YnX|jdt|jd|tf|jdttf|jdttf|jdt |j d||j dt |j |jtdS)NrFr>)int NameErrorstroptional_int32Zoptional_uint64Zoptional_floatfloatZoptional_doubleZ optional_boolboolZoptional_stringZoptional_bytesbytesZoptional_nested_enumZFOO)msgZint64Z unicode_type)rr!r"_CheckDefaultValuess   zUDescriptorPoolTestBase.testDefaultValueForCustomMessages.._CheckDefaultValuesN)r TestAllTypesrrirjrrzr{rrwr|rrZMessageFactoryZ GetPrototyper.r/)rrrZ message_classr!)rrr"!testDefaultValueForCustomMessagess          z8DescriptorPoolTestBase.testDefaultValueForCustomMessagescCsFt|trtjdkrdStjdd}|jj||jj|j dS)Nr?zsome/file.proto)r) rPrQrrCrrzrrjrorp)r file_descr!r!r"testAddFileDescriptors     z,DescriptorPoolTestBase.testAddFileDescriptorcCst|trtjdkrdStjjtjj }tjjt jj }tjjt jj }|j j ||j j ||j j |tj||j tj||j dS)Nr?)rPrQrrCrrzr{r rwr|rrrrj TEST1_FILE CheckFile TEST2_FILE)rZmore_messages_descZ test1_descZ test2_descr!r!r"testComplexNestings        z)DescriptorPoolTestBase.testComplexNestingN)__name__ __module__ __qualname__r#r&r(r)r=rJrKrNrOrTrVrZrcrdrergrnrqr}rrrr!r!r!r"r?s,%R    & rc@seZdZddZddZdS)DefaultDescriptorPoolTestcCs2tj|_tjjtjj|_ tjjt jj|_ dS)N) rrxrrrzr{r rwr|rkr rl)rr!r!r"setUps   zDefaultDescriptorPoolTest.setUpcCs|j|jjdtj|j|jjdtjj|j|jjdtjjjd|j|jj dtj j|j|jj dtjj d|j|jj dtjjjd |j|jjd tjjd dS) Nzgoogle/protobuf/unittest.protozprotobuf_unittest.TestAllTypesz-protobuf_unittest.TestAllTypes.optional_int32rzprotobuf_unittest.ForeignEnumz*protobuf_unittest.optional_int32_extensionZoptional_int32_extensionz*protobuf_unittest.TestAllTypes.oneof_fieldrUzprotobuf_unittest.TestServiceZ TestService)ryrrrrwr.rrEr3rG ForeignEnumrFr[rHr:rIZservices_by_name)rr!r!r"testFindMethodss.       z)DefaultDescriptorPoolTest.testFindMethodsN)rrrrrr!r!r!r"rsrc@seZdZddZdS)CreateDescriptorPoolTestcCstj|_tjjtjj|_ tjjt jj|_ |jj |j |jj |j |jj tjjt jj|jj tjjtjj|jj tjjtjjdS)N)rrirrrzr{r rwr|rkr rlrjrrr)rr!r!r"rs        zCreateDescriptorPoolTest.setUpN)rrrrr!r!r!r"rsrc@seZdZddZdS)rQcCstjjtjj|_tjjtjj|_t j }|j |j|j |j|j tjjt jj|j tjjt jj|j tjjtjjtj|d|_dS)N)Z descriptor_db)rrzr{r rwr|rkr rlrrhrjrrrrrir)rrmr!r!r"r(s          z)SecondaryDescriptorFromDescriptorDB.setUpN)rrrrr!r!r!r"rQ%srQc@seZdZdddZddZdS) ProtoFileNcCs*||_||_||_|pg|_|p"g|_dS)N)rrmessages dependenciespublic_dependencies)rrrrrrr!r!r"__init__;s  zProtoFile.__init__cCs|j|j}|j|j|j|j|j|jdd|jD}|j|j|dd|jD}|j|j|x*t|jjD]\}}|j |d||qxWdS)NcSsg|] }|jqSr!)r).0fr!r!r" Gsz'ProtoFile.CheckFile..cSsg|] }|jqSr!)r)rrr!r!r"rIs) rrrrrrlistritems CheckType)rtestrrZdependencies_namesZpublic_dependencies_namesrZmsg_typer!r!r"rCs zProtoFile.CheckFile)NN)rrrrrr!r!r!r"r9s rc@seZdZddZddZdS)EnumTypecCs ||_dS)N)values)rrr!r!r"rQszEnumType.__init__c Cs|j|}|j||jdj|j|g}|j||j|j||j|j||jxjt|jD]\\}\}} |j |} |j|| j|j|| j |j| | j |j|| j |j ||jq^WdS)N.)enum_types_by_namerrjoinr/r0file enumeraterrLindexrMtyperZenum_values_by_name) rrmsg_descrr enum_descZexpected_enum_full_namerr~rMZ value_descr!r!r"rTs  zEnumType.CheckTypeN)rrrrrr!r!r!r"rOsrc@seZdZdddZddZdS) MessageTypeFNcCs ||_||_||_|pg|_dS)N) type_dict field_list is_extendablerb)rrrrrbr!r!r"rfszMessageType.__init__c Cs|dkr$|j|}dj|j|g}n|j|}dj|j|g}|j||j|j||j|j||j|j|j||j|j |j x*t |j j D]\}}|j ||||qWx,t|jD]\}\}} | j|||||qWx,t|jD]\}\}} | j|||||qWdS)Nr)rrrnested_types_by_namer/rrr0rrrrrrrr CheckFieldrb) rrZcontaining_type_descrrZdescZexpected_full_namesubtyperrSr!r!r"rms   zMessageType.CheckType)FN)rrrrrr!r!r!r"rds rc@seZdZddZddZdS) EnumFieldcCs||_||_||_dS)N)rM type_namer8)rrMrr8r!r!r"rszEnumField.__init__c Cs|j|}|j|j}|j||jdj|j|g}|j||j|j||j|j|j|j|jt j j |j |jt j j |j|j|j|j|j|jj|j|j|j|jj|j||j|j||j|j||jdS)Nr)r3rrrrrr/rrMr FieldDescriptorZ TYPE_ENUMrZ CPPTYPE_ENUMcpp_typer6r7rLr8r1r2r0r5r) rrrrrr field_descrexpected_field_full_namer!r!r"rs"    zEnumField.CheckFieldN)rrrrrr!r!r!r"rsrc@seZdZddZddZdS) MessageFieldcCs||_||_dS)N)rMr)rrMrr!r!r"rszMessageField.__init__c Cs|j|}|j|j}|j||jdj|j|g}|j||j|j||j|j|j|j|jt j j |j |jt j j |j|j|j|j||j|j||j|j||jtjdkr|jtt|ddS)Nrr?r8)r3rrrrrr/rrMr r TYPE_MESSAGErCPPTYPE_MESSAGErr1r7r0r4rrrCr$NotImplementedErrorgetattr) rrrrrrrZfield_type_descrr!r!r"rs"     zMessageField.CheckFieldN)rrrrrr!r!r!r"rsrc@seZdZddZddZdS) StringFieldcCs||_||_dS)N)rMr8)rrMr8r!r!r"rszStringField.__init__cCs|j|}|j||jdj|j|g}|j||j|j||j|j|j|j|jtjj |j |jtjj |j |j |j|j|j|j|j||jdS)Nr)r3rrrr/rrMr rZ TYPE_STRINGrZCPPTYPE_STRINGrr6r7r8r)rrrrrrrrr!r!r"rs   zStringField.CheckFieldN)rrrrrr!r!r!r"rsrc@seZdZddZddZdS)ExtensionFieldcCs||_||_dS)N)rM extended_type)rrMrr!r!r"rszExtensionField.__init__cCs|j|}|j||jdj|j|g}|j||j|j|j|j|j||j|jtjj |j |jtjj |j |j |j|j|j|j||j|j||j|j|j|jj|j||jdS)Nr)r[rrrr/rMrr rrrrrr1r7r6Z is_extensionZextension_scoper4rr0r)rrrrrrrrr!r!r"rs    zExtensionField.CheckFieldN)rrrrrr!r!r!r"rsrc@seZdZddZejejdkdddZddZ ejejdkdd d Z ejejdkdd d Z ejejdkdd dZ ddZ ddZddZddZdS)AddDescriptorTestc Cstj}|jtjj|jd|j|dj|j t |j|dWdQRX|jtjj j|jd|j|dj|jd|j dj |jd|j|dj dS)Nzprotobuf_unittest.TestAllTypesz,protobuf_unittest.TestAllTypes.NestedMessagezgoogle/protobuf/unittest.proto)rri AddDescriptorrrrwrr.r/r$r% NestedMessagerrr')rprefixrr!r!r" _TestMessages,  zAddDescriptorTest._TestMessager?z7With the cpp implementation, Add() must be called firstcCs|jd|jddS)Nr>r)r)rr!r!r" testMessages zAddDescriptorTest.testMessagec Cstj}|jtjj|jd|j|dj|j t |j|dWdQRX|jtj j j|jd|j|dj|jd|j dj|jd|j|djdS)Nzprotobuf_unittest.ForeignEnumz(protobuf_unittest.ForeignEnum.NestedEnumz)protobuf_unittest.TestAllTypes.NestedEnumzgoogle/protobuf/unittest.proto)rriAddEnumDescriptorrrrwrrGr/r$r%r NestedEnumrrr')rrrr!r!r" _TestEnums,  zAddDescriptorTest._TestEnumcCs|jd|jddS)Nr>r)r)rr!r!r"testEnum,s zAddDescriptorTest.testEnumc CsLtj}|jt|jdWdQRX|jtj|jd|jdj dS)Nzprotobuf_unittest.TestService) rrir$r%rIAddServiceDescriptorrZ _TESTSERVICErr/)rrr!r!r" testService2s  zAddDescriptorTest.testServicec CsLtj}|jtj|jd|jdj|jt |j dWdQRXdS)Nzgoogle/protobuf/unittest.protozprotobuf_unittest.TestAllTypes) rriAddFileDescriptorrrwrrrr$r%r')rrr!r!r"testFile=s   zAddDescriptorTest.testFilecCsRtj}tjj}|jt|j|tj}tjj ||j ||j |j|dS)N) rrirrwrr$r%rrzZ CopyToProtorjr6)rrZproto_file_namerur!r!r"testEmptyDescriptorPoolMs  z)AddDescriptorTest.testEmptyDescriptorPoolcCs tj}tjddd}|jjdd|j||j|jdj d|j|j dj dtjdd}|jjdd}|j jd d tj j tj jd |jjd d}|jjd dd|jjddtj}|j||jd|j dj |jd |jd j |jd|jdj dS)Nzsome/file.protor)rrZMessage)rzpackage.Messagezsome/filename/container.protoZ TopMessageZbbr*)rrMrrRZTopEnumZ FOREIGN_FOO)rrMZ TopService)rrirrzr4addrjrrrr.rSZFieldDescriptorProtoZ TYPE_INT32ZLABEL_OPTIONALr5r~rfrGrI)rrrZ file_protoZ message_protoZ enum_protor!r!r"testCustomDescriptorPoolYs6    z*AddDescriptorTest.testCustomDescriptorPoolcCsptj}d}tj|d}tj}d|jj|_|j ||j |}|j }|j d|j|j|j ||j dS)Nz9file_descriptor_options_with_custom_descriptor_pool.proto)rZfoo)rrirrzr Z foo_optionsoptionsZ ExtensionsZfoo_namerjrZ GetOptionsrry)rr file_nameZfile_descriptor_protoZ extension_idrurr!r!r"1testFileDescriptorOptionsWithCustomDescriptorPoolxs   zCAddDescriptorTest.testFileDescriptorOptionsWithCustomDescriptorPoolc%Cstj}|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRXdS)Nr) rrir$rArrrr\r)rrr!r!r"testAddTypeErrors     z"AddDescriptorTest.testAddTypeErrorN)rrrrunittestZskipIfrrCrrrrrrrrrr!r!r!r"rs  rz4google/protobuf/internal/descriptor_pool_test1.protozgoogle.protobuf.python.internalALPHAr*rtr+EPSILONZETArETATHETArsZ nested_fieldZtheta)rDeepNestedMessageZbetaZdeep_nested_messager)rrZnested_messagerT)rGAMMADELTArIOTA KAPPA LAMBDA MU lambdaZdelta)rrZDescriptorPoolTest2z4google/protobuf/internal/descriptor_pool_test2.protoZDescriptorPoolTest3NU XIOMICRONPIRHOSIGMAZsigmaZnuZdescriptor_pool_testirr)rbz,google/protobuf/internal/more_messages.proto)rr__main__)rr*)rtr+)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)+__doc__ __author__ossysZ unittest2r ImportErrorZgoogle.protobufrrrrZgoogle.protobuf.internalrrrr r r r r rrrrobjectrZTestCaserrrQrrrrrrrrrrrmainr!r!r!r" s                 3#  0           PK!{!!Fprotobuf/internal/__pycache__/descriptor_pool_test1_pb2.cpython-36.pycnu[3 hQ@sXddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddeejddddddejddddddgddddd Zejeejdddeejddddddejddddddgddd d!d Zejeejdd"deejd#dddddejd$dd%dddgddd&d'd Zejeejdd(deejd)dd*dddejd+dd,dddgddd-d.d Zejeejdd/deejd0dd1dddejd2dd3dddgddd4d5d Zejeejdd6deejd7dddddejd8dd9dddgddd:d;d Zejeejdd?ddd@dddAdddddBddedCejdDdEdd%d1d1ddAedFjdGddddBddedCgggegddBd ggdHddIZejdJdKdedejd>dLddd@dddAdddddBddedCejdDdMdd%d1d1ddAedNjdGddddBddedCejdOdPd%dd*d3ddBdddddBddedCggegegddBd ggdQd!dIZejdRdSdedejd>dTddd@dddAd%ddddBddedCejdUdVdd%d*d3ddBdddddBddedCggegegddAd doggdYdZdIZejdd\ddd@dddAd,ddddBddedCejdDd]dd%d1d1ddAed^jdGddddBddedCgggegddBd ggd_d.dIZ ejdJd`dedejd>daddd@dddAd1ddddBddedCejdDdbdd%d1d1ddAedcjdGddddBddedCejdOddd%dd*d3ddBdddddBddedCgge gegddBd ggded5dIZ!ejdfdgdedejd>dhddd@dddAdddddBddedCejdUdidd%d*d3ddBdddddBddedCgge!gegddBd ggdjd;dIZ"eej#d>_$ee_%ee_%eej#d>_$eej#dO_&ee_%ee_%eej#d>_$eej#dU_&ee_%ee j#d>_$e!e _%e e_%ee!j#d>_$e e!j#dO_&e"e!_%e!e_%ee"j#d>_$e!e"j#dU_&e"e_%eej'dR<e"ej'df<ej(ee j)dRej*fe+e j)dJej*fe+e j)dsrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z4google/protobuf/internal/descriptor_pool_test1.protozgoogle.protobuf.python.internalZproto2uT 4google/protobuf/internal/descriptor_pool_test1.protogoogle.protobuf.python.internal"û DescriptorPoolTest1Z nested_enum (2?.google.protobuf.python.internal.DescriptorPoolTest1.NestedEnum:BETAZ nested_message ( 2B.google.protobuf.python.internal.DescriptorPoolTest1.NestedMessageý NestedMessageh nested_enum (2M.google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.NestedEnum:ZETA nested_field ( :betaq deep_nested_message ( 2T.google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessageÍ DeepNestedMessagey nested_enum (2_.google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessage.NestedEnum:ETA nested_field ( :theta" NestedEnum ETA THETA"# NestedEnum EPSILON ZETA"! NestedEnum ALPHA BETA* 耀€€"ñ DescriptorPoolTest2[ nested_enum (2?.google.protobuf.python.internal.DescriptorPoolTest2.NestedEnum:GAMMAZ nested_message ( 2B.google.protobuf.python.internal.DescriptorPoolTest2.NestedMessageü NestedMessageh nested_enum (2M.google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.NestedEnum:IOTA nested_field ( :deltaq deep_nested_message ( 2T.google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessageÍ DeepNestedMessagex nested_enum (2_.google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessage.NestedEnum:MU nested_field ( :lambda" NestedEnum LAMBDA  MU "! NestedEnum IOTA  KAPPA "" NestedEnum GAMMA DELTA)namepackagesyntaxZ serialized_pbZ NestedEnumz^google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessage.NestedEnumZETA)rindexnumberoptionstypeZTHETAii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endzLgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.NestedEnumZEPSILONZZETAii'z>google.protobuf.python.internal.DescriptorPoolTest1.NestedEnumZALPHAZBETAi)iJz^google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessage.NestedEnumZLAMBDA ZMU iizLgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.NestedEnumZIOTA ZKAPPA ii%z>google.protobuf.python.internal.DescriptorPoolTest2.NestedEnumZGAMMAZDELTAi'iIDeepNestedMessagezSgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessageZ nested_enumz_google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessage.nested_enumTF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrZ nested_fieldz`google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessage.nested_fieldZthetazutf-8i5)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrr NestedMessagezAgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessagezMgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.nested_enumzNgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.nested_fieldZbetaZdeep_nested_messagezUgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.deep_nested_messagei*DescriptorPoolTest1z3google.protobuf.python.internal.DescriptorPoolTest1z?google.protobuf.python.internal.DescriptorPoolTest1.nested_enumZnested_messagezBgoogle.protobuf.python.internal.DescriptorPoolTest1.nested_message ZiUzSgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessagez_google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessage.nested_enumz`google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessage.nested_fieldlambdai5zAgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessagezMgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.nested_enumzNgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.nested_fieldZdeltazUgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.deep_nested_messagei)DescriptorPoolTest2z3google.protobuf.python.internal.DescriptorPoolTest2z?google.protobuf.python.internal.DescriptorPoolTest2.nested_enumzBgoogle.protobuf.python.internal.DescriptorPoolTest2.nested_messageiXz2google.protobuf.internal.descriptor_pool_test1_pb2) DESCRIPTOR __module__)r'r3r4)r,r3r4)r.r/)1sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr3ZEnumDescriptorZEnumValueDescriptorZ?_DESCRIPTORPOOLTEST1_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUMZRegisterEnumDescriptorZ-_DESCRIPTORPOOLTEST1_NESTEDMESSAGE_NESTEDENUMZ_DESCRIPTORPOOLTEST1_NESTEDENUMZ?_DESCRIPTORPOOLTEST2_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUMZ-_DESCRIPTORPOOLTEST2_NESTEDMESSAGE_NESTEDENUMZ_DESCRIPTORPOOLTEST2_NESTEDENUMZ DescriptorZFieldDescriptordecodeZ4_DESCRIPTORPOOLTEST1_NESTEDMESSAGE_DEEPNESTEDMESSAGEZ"_DESCRIPTORPOOLTEST1_NESTEDMESSAGEZ_DESCRIPTORPOOLTEST1Z4_DESCRIPTORPOOLTEST2_NESTEDMESSAGE_DEEPNESTEDMESSAGEZ"_DESCRIPTORPOOLTEST2_NESTEDMESSAGEZ_DESCRIPTORPOOLTEST2Zfields_by_namer*rr)Zmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr-ZRegisterMessager,r'r2rrrrs                                     PK!Btt<protobuf/internal/__pycache__/descriptor_test.cpython-36.pycnu[3 h1 @s$dZdZddlZy ddlZWnek r8ddlZYnXddlmZddlmZddlm Z ddlm Z ddl m Z dd l m Z dd lmZdd lmZdd lmZdd lmZdZGdddejZGdddeZGdddejZGdddejZGdddejZedkr ejdS)z1Unittest for google.protobuf.internal.descriptor.z#robinson@google.com (Will Robinson)N)unittest_custom_options_pb2)unittest_import_pb2) unittest_pb2)descriptor_pb2)api_implementation) test_util) descriptor)descriptor_pool)symbol_database) text_formatz name: 'TestEmptyMessage' c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZejejdkpejdkdd d!Zd"S)#DescriptorTestcCstjddd}|jjdd}|jjddtjjtjjd|jjd d}|j jd d d |j jd dd |j jddd |jjdd|j jdd}|j jdddd}|j |_ |j j||j j|j|_|jj|j|_|jj|j|_|jj|j|_|jj|j|_dS)Nzsome/filename/some.protoprotobuf_unittest)namepackage NestedMessage)rZbb)rnumbertypelabel ForeignEnum FOREIGN_FOO)rrZ FOREIGN_BARZ FOREIGN_BAZZResponseMessageZServiceZ CallMethodz .protobuf_unittest.NestedMessagez".protobuf_unittest.ResponseMessage)rZ input_typeZ output_type)rFileDescriptorProto message_typeaddfieldZFieldDescriptorProtoZ TYPE_INT32ZLABEL_OPTIONAL enum_typevalueZservicemethodGetDescriptorPoolpoolZAddZFindFileByNamermy_filemessage_types_by_name my_messageenum_types_by_namemy_enumservices_by_name my_servicemethods_by_name my_method)self file_protoZ message_protoZ enum_protoZ service_protoZ method_protor.%/usr/lib/python3.6/descriptor_test.pysetUp>s:   zDescriptorTest.setUpcCs tjjS)N)r Defaultr")r,r.r.r/r!bsz DescriptorTest.GetDescriptorPoolcCs|j|jjddd|j|jjdjdj|jjdd|jt|jjddWdQRX|jt|jjddWdQRX|jt|jjWdQRXdS)NrrriZNoneEnum) assertEqualr%Z EnumValueNamer&Zvalues_by_numberr assertRaisesKeyError TypeError)r,r.r.r/testEnumValueNamees    z DescriptorTest.testEnumValueNamecCs|j|j|jjdjdS)Nr)r2r'valuesr)r,r.r.r/testEnumFixupstszDescriptorTest.testEnumFixupscCs.|j|j|jjdj|j|j|jjdS)Nr)r2r%fieldscontaining_typer')r,r.r.r/testContainingTypeFixupswsz'DescriptorTest.testContainingTypeFixupscCs|j|j|jjdS)N)r2r)r+Zcontaining_service)r,r.r.r/testContainingServiceFixups{sz*DescriptorTest.testContainingServiceFixupscCs|j|jjtj|j|jjdjtj|j|jjtj|j|jj djtj |j|j jtj |j|j jtjdS)Nr)r2r' GetOptionsrZ EnumOptionsr7ZEnumValueOptionsr%ZMessageOptionsr9Z FieldOptionsr+Z MethodOptionsr)ZServiceOptions)r,r.r.r/testGetOptions~s         zDescriptorTest.testGetOptionscCstj}tjj}|jd}|jd}|jd}|jd}|jd}tjj}|jd} |j } tj } |j d| j | |j } tj } |j d| j | |j }tj}|j d |j |tj}|j d |j ||j }tj}|j d|j ||j }tj}|j d|j ||j }tj}|j d |j ||j }tj}|j d|j || j }tj}|j tj|j |tjj}|j|j|j|j|j|j|j|j|j|j|j|j|j|jdS)NZfield1ZAnOneofZAnEnumZ ANENUM_VAL2Z ANENUM_VAL1Fool` 8l-a*ci{iiil` )r DESCRIPTORZTestMessageWithCustomOptionsfields_by_nameoneofs_by_namer&enum_values_by_nameZTestServiceWithCustomOptionsFindMethodByNamer= file_opt1r2 Extensions message_opt1 field_opt1 field_opt2 oneof_opt1 enum_opt1enum_value_opt1 service_opt1 method_opt1ZMETHODOPT1_VAL2DummyMessageContainingEnumZ assertTrue has_options assertFalse)r,file_descriptormessage_descriptorfield_descriptoroneof_descriptorenum_descriptorenum_value_descriptorZother_enum_value_descriptorservice_descriptormethod_descriptor file_optionsrImessage_optionsrKZ field_optionsrLrMZ oneof_optionsrNZ enum_optionsrOZenum_value_optionsrPZservice_optionsrQZmethod_optionsrRr.r.r/testSimpleCustomOptionss\           z&DescriptorTest.testSimpleCustomOptionsc Csd}d}d}d}d}d}tjj}|j}|jd|jtj|j||jtj|j||jtj|jd|jtj |jd|jtj |j||jtj |j||jtj |jd|jtj |jd|jtj|j||jtj|j||jtjtjj}|j}|jd |jtj|j||jtj|j||jtj|j||jtj |j||jtj |j||jtj |j||jtj |j||jtj |j||jtj|j||jtj|j||jtjtjj}|j}|jd|jtj|jd |jtjd |jd |jtj|jd|jtj|jd|jtjtj} |j| j|jtjtjj}|j}|jd|jtjd |jd|jtjtjj}|j}|jd|jtjd |jd |jtjdS)!N?r @FrTdg$(@rgYB?zHello, "World"s HelloWorld lilllilllllliiif)rZCustomOptionMinIntegerValuesrDr=r2rJZbool_optZ int32_optZ int64_optZ uint32_optZ uint64_optZ sint32_optZ sint64_optZ fixed32_optZ fixed64_optZ sfixed32_optZ sfixed64_optZCustomOptionMaxIntegerValuesZCustomOptionOtherValuesZassertAlmostEqualZ float_optZ double_optZ string_optZ bytes_optrSZTEST_OPTION_ENUM_TYPE2Zenum_optZSettingRealsFromPositiveIntsZSettingRealsFromNegativeInts) r,Z kint32minZ kint64minZ kint32maxZ kint64maxZ kuint32maxZ kuint64maxrWr_Z dummy_enumr.r.r/testDifferentCustomOptionTypess                                                             z-DescriptorTest.testDifferentCustomOptionTypescCstjj}|j}|jd|jtjj|jd|jtjjtj|jd|jtjjtj j |jd|jtj j |jd|jtj jtj |jd|jtj jj|jd|jtj jjtj|jd|jtj jjtj j |jd |jtj jtjj|jd |jtj jtjjtj|jd |jtj jtjjtj j |jd |jtjjjj|jd |jtj jj|jd|jtjj |jd|jtjjj|jd|jtjjdS)NrAiDiliiiiiiiiIiiA )rZVariousComplexOptionsrDr=r2rJZ complex_opt1ZfooZquuxZcorgeZquxZ complex_opt2ZbazZgraultZbarZgarplyZComplexOptionType2ZComplexOptionType4Z complex_opt4ZwaldoZfredZ complex_opt3Zcomplexoptiontype5ZplughZ complexopt6Zxyzzy)r,roptionsr.r.r/testComplexExtensionOptions sX                             z*DescriptorTest.testComplexExtensionOptionsc CsJtj}tjj}|jd}tjj}|jd}tjj}|jd}|jj tj }|j d|j |j d|j |j d|jj |j d|jj tj j |j d|jj tjjj |j d |jj tjj |j d |jj tjj |j d |jj tjj |j d |jj tjj |j d |jj tjj |j d|jj tjj dS)NZ fieldnameZVALUEZMethodrfZFileAnnotationZNestedFileAnnotationZFileExtensionAnnotationZEmbeddedMessageSetElementZMessageAnnotationZFieldAnnotationZEnumAnnotationZEnumValueAnnotationZServiceAnnotationZMethodAnnotation)rrDAggregateMessagerEZ AggregateEnumvalues_by_nameZAggregateServicerHr=rJZfileoptr2issubfileZmsetZAggregateMessageSetElementZmessage_set_extensionmsgoptZfieldoptZenumoptZ enumvaloptZ serviceoptZ methodopt) r,rVrWrXrZr[r\r]r^r.r.r/testAggregateOptionsRsP           z#DescriptorTest.testAggregateOptionscCstjjj}|jd|jjtj|jd}|jd|jjtj tjj}|j d}|jd|jjtj |j d}|jd|jjtj |jd}|jd |jjtjdS) Ni nested_fieldi NestedEnumiZNESTED_ENUM_VALUEinested_extensioni)rZNestedOptionTyperrDr2r=rJrKrErLr&rOrGrPextensions_by_namerM)r,Znested_messagerwZ outer_messageZ nested_enumZnested_enum_valueryr.r.r/testNestedOptionss          z DescriptorTest.testNestedOptionscCs(|j|jj|j|j|jj|jdS)N)r2r'rtr#r%)r,r.r.r/testFileDescriptorReferencessz+DescriptorTest.testFileDescriptorReferencescCs|j|jjd|j|jjd|j|jj|j|j|jj|jd|jjtj }|jj ||j|jj |j |jt jjtjdS)Nzsome/filename/some.protor Zproto2)r2r#rrr"rUrTZsyntaxrr CopyToProtoZ serialized_pbZSerializeToStringrrDr r1)r,r-r.r.r/testFileDescriptors   z!DescriptorTest.testFileDescriptorcpprazAImmutability of descriptors is only enforced in v2 implementationcCCsHtj}tjj}|jd}|jd}|jd}|jt d|_WdQRX|jtd|jd<WdQRX|jt|j j dWdQRX|jt ||_ WdQRX|jt d|_ WdQRX|jt d|_ WdQRX|jt d|_ WdQRX|jt d|_ WdQRX|jt }d|_ WdQRX|j dt|jdS)Noptional_int32rx oneof_fieldZAnotherFTz&attribute is not writable: has_options)rrD TestAllTypesrEr&rFr3AttributeErrorr5r9appendr:rTr2strZ exception)r,rVrWrXrZrYer.r.r/testImmutableCppDescriptors2            z)DescriptorTest.testImmutableCppDescriptorN)__name__ __module__ __qualname__r0r!r6r8r;r<r>r`rirnrvr{r|r~unittestskipIfrTypeZVersionrr.r.r.r/r <s"$6^21 r c@seZdZdZddZdS)NewDescriptorTestzARedo the same tests as above, but with a separate DescriptorPool.cCstjS)N)r ZDescriptorPool)r,r.r.r/r!sz#NewDescriptorTest.GetDescriptorPoolN)rrr__doc__r!r.r.r.r/rsrc@sXeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dS)GeneratedDescriptorTestz:Tests for the properties of descriptors in generated code.cCs|j|jd|j|jd|j|||j|jdj||j||g|j||di|j|j|j|j|j|j |j|j |j|j |j|j |j|j |j|jdj|j|jgdS)Nrzprotobuf_unittest.TestAllTypesr)r2r full_namer9r:assertInCheckDescriptorSequenceCheckDescriptorMappingrEZfields_by_numberfields_by_camelcase_namer&rGrF enum_typesrpextension_ranges)r,rWr.r.r/CheckMessageDescriptors"        z.GeneratedDescriptorTest.CheckMessageDescriptorcCs|j|jd|j|jd|j|jd|j|jjd|j|jtj|j|||j|jjd||j|jj d||j ||g|j ||di|jd|j |jd|j t jdkr|j|j|jdS)Nr optionalInt32z-protobuf_unittest.TestAllTypes.optional_int32rr)r2rcamelcase_namerr:rtrrDrErrZextension_scoperrrid)r,rXr.r.r/CheckFieldDescriptors(   z,GeneratedDescriptorTest.CheckFieldDescriptorcCs|j|tjjj|j|g|j|d|j|dk|j||t|}|j|||jt |d|jt |t ||j|t |d|d|d}|j||d|j |||j|j |d|j|j |dtj jjd}|j|||j|j |d|jt|j ||jt|j gt|}|jt|t|ddd|jtt|d|d<|j||tjdkr|jtt|t|n|jt|dddS)Nrrz change valuepython.CheckItemsz change valuenewZnew_keyZ key_errorr)r)r)rrrrDrErUdictritemsr2rrsys version_inforiterrgetr3r5rrkeysr7r4 __getitem__r)r,mappingZ excepted_dictkeyrrr.)r,r/r$sJ       (    *z.GeneratedDescriptorTest.CheckDescriptorMappingcCstjj}|j||jd}|j||jd}|j|tjjd}|jd|j |jtj jj d g|jtj jj d d dgdS)Nrrrr rA+/)rr)rAr)rr)rr) rrrDrrErrr&r2r:rrTestMultipleExtensionRanges)r,rWrXrZr.r.r/testDescriptorUs     z&GeneratedDescriptorTest.testDescriptorcCsVtj}|j|j|j|j|j|j|j|j|j|j|jtj jjdS)N) rrDrZ dependenciesrr$r&r(rzZTestNestedExtension)r,Zcontaining_filer.r.r/testCppDescriptorContainerhs     z2GeneratedDescriptorTest.testCppDescriptorContainercCs0tjjjd}t|j}~|jdt|jdS)NrxFOO) rrrDr&rr7r2rr)r,enumZ values_iterr.r.r/#testCppDescriptorContainer_Iteratorrs z;GeneratedDescriptorTest.testCppDescriptorContainer_IteratorcCs\tjjd}|j|jd|j|jdjd|j|jtj|j|jd|j |j dS)N TestServicerr?) rrDr(r2rmethodsZassertIsrtrrr*)r,r\r.r.r/testServiceDescriptorys  z-GeneratedDescriptorTest.testServiceDescriptorcCsZtjj}|jd}|j|j|j||j|jd|j|jd|j |jd|j dS)Nrz*protobuf_unittest.TestAllTypes.oneof_fieldr) rrrDrFrUrTr2r:rrr)r,rWrYr.r.r/testOneofDescriptors  z+GeneratedDescriptorTest.testOneofDescriptorN) rrrrrrrrrrrrrr.r.r.r/rs#1 rc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZejejdkdddZejejdkdddZdS) DescriptorCopyToProtoTestz)Tests for CopyTo functions of Descriptor.cCs4|}tj|||j||dt|t|fdS)Nz#Not equal, Actual: %s Expected: %s )r ZMerger2r)r,Z actual_protoZexpected_classexpected_asciiZexpected_protor.r.r/_AssertProtoEquals  z+DescriptorCopyToProtoTest._AssertProtoEqualcCs"|}|j||j|||dS)N)r}r)r,ZdescZexpected_proto_classZexpected_proto_asciiactualr.r.r/_InternalTestCopyToProtos z2DescriptorCopyToProtoTest._InternalTestCopyToProtocCs|jtjjtjtdS)N)rrTestEmptyMessagerDrDescriptorProto#TEST_EMPTY_MESSAGE_DESCRIPTOR_ASCII)r,r.r.r/testCopyToProto_EmptyMessagesz6DescriptorCopyToProtoTest.testCopyToProto_EmptyMessagecCsd}|jtjjjtj|dS)Nz name: 'NestedMessage' field: < name: 'bb' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > )rrrrrDrr)r,ZTEST_NESTED_MESSAGE_ASCIIr.r.r/testCopyToProto_NestedMessages z7DescriptorCopyToProtoTest.testCopyToProto_NestedMessagecCsd}|jtjjtj|dS)Nz name: 'TestForeignNested' field: < name: 'foreign_nested' number: 1 label: 1 # Optional type: 11 # TYPE_MESSAGE type_name: '.protobuf_unittest.TestAllTypes.NestedMessage' > )rrZTestForeignNestedrDrr)r,ZTEST_FOREIGN_NESTED_ASCIIr.r.r/$testCopyToProto_ForeignNestedMessages z>DescriptorCopyToProtoTest.testCopyToProto_ForeignNestedMessagecCsd}|jtjjtj|dS)Nz name: 'ForeignEnum' value: < name: 'FOREIGN_FOO' number: 4 > value: < name: 'FOREIGN_BAR' number: 5 > value: < name: 'FOREIGN_BAZ' number: 6 > )rrrrDrZEnumDescriptorProto)r,ZTEST_FOREIGN_ENUM_ASCIIr.r.r/testCopyToProto_ForeignEnums z5DescriptorCopyToProtoTest.testCopyToProto_ForeignEnumcCsd}|jtjjtj|dS)Nz name: 'TestDeprecatedFields' field: < name: 'deprecated_int32' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 options: < deprecated: true > > )rrZTestDeprecatedFieldsrDrr)r,ZTEST_DEPRECATED_FIELDS_ASCIIr.r.r/testCopyToProto_Optionss z1DescriptorCopyToProtoTest.testCopyToProto_OptionscCsd}|jtjjtj|dS)Nz} name: 'TestEmptyMessageWithExtensions' extension_range: < start: 1 end: 536870912 > )rrZTestEmptyMessageWithExtensionsrDrr)r,Z(TEST_EMPTY_MESSAGE_WITH_EXTENSIONS_ASCIIr.r.r/testCopyToProto_AllExtensionss z7DescriptorCopyToProtoTest.testCopyToProto_AllExtensionscCsd}|jtjjtj|dS)Na name: 'TestMultipleExtensionRanges' extension_range: < start: 42 end: 43 > extension_range: < start: 4143 end: 4244 > extension_range: < start: 65536 end: 536870912 > )rrrrDrr)r,Z*TEST_MESSAGE_WITH_SEVERAL_EXTENSIONS_ASCIIr.r.r/!testCopyToProto_SeveralExtensionss z;DescriptorCopyToProtoTest.testCopyToProto_SeveralExtensionscCsd}|jtjtj|dS)Nad name: 'google/protobuf/unittest_import.proto' package: 'protobuf_unittest_import' dependency: 'google/protobuf/unittest_import_public.proto' message_type: < name: 'ImportMessage' field: < name: 'd' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > > aenum_type: < name: 'ImportEnum' value: < name: 'IMPORT_FOO' number: 7 > value: < name: 'IMPORT_BAR' number: 8 > value: < name: 'IMPORT_BAZ' number: 9 > > enum_type: < name: 'ImportEnumForMap' value: < name: 'UNKNOWN' number: 0 > value: < name: 'FOO' number: 1 > value: < name: 'BAR' number: 2 > > options: < java_package: 'com.google.protobuf.test' optimize_for: 1 # SPEED zG cc_enable_arenas: true > public_dependency: 0 a name: 'google/protobuf/unittest_import.proto' package: 'protobuf_unittest_import' dependency: 'google/protobuf/unittest_import_public.proto' message_type: < name: 'ImportMessage' field: < name: 'd' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > > enum_type: < name: 'ImportEnum' value: < name: 'IMPORT_FOO' number: 7 > value: < name: 'IMPORT_BAR' number: 8 > value: < name: 'IMPORT_BAZ' number: 9 > > enum_type: < name: 'ImportEnumForMap' value: < name: 'UNKNOWN' number: 0 > value: < name: 'FOO' number: 1 > value: < name: 'BAR' number: 2 > > options: < java_package: 'com.google.protobuf.test' optimize_for: 1 # SPEED a7 name: 'google/protobuf/unittest_import.proto' package: 'protobuf_unittest_import' dependency: 'google/protobuf/unittest_import_public.proto' message_type: < name: 'ImportMessage' field: < name: 'd' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > > enum_type: < name: 'ImportEnum' value: < name: 'IMPORT_FOO' number: 7 > value: < name: 'IMPORT_BAR' number: 8 > value: < name: 'IMPORT_BAZ' number: 9 > > enum_type: < name: 'ImportEnumForMap' value: < name: 'UNKNOWN' number: 0 > value: < name: 'FOO' number: 1 > value: < name: 'BAR' number: 2 > > options: < java_package: 'com.google.protobuf.test' optimize_for: 1 # SPEED cc_enable_arenas: true > public_dependency: 0 )rrrDrr)r,Z%UNITTEST_IMPORT_FILE_DESCRIPTOR_ASCIIr.r.r/testCopyToProto_FileDescriptors 0z8DescriptorCopyToProtoTest.testCopyToProto_FileDescriptorcCsd}|jtjjtj|dS)NaM name: 'TestService' method: < name: 'Foo' input_type: '.protobuf_unittest.FooRequest' output_type: '.protobuf_unittest.FooResponse' > method: < name: 'Bar' input_type: '.protobuf_unittest.BarRequest' output_type: '.protobuf_unittest.BarResponse' > )rrrrDrZServiceDescriptorProto)r,ZTEST_SERVICE_ASCIIr.r.r/!testCopyToProto_ServiceDescriptorNs z;DescriptorCopyToProtoTest.testCopyToProto_ServiceDescriptorrz It is not implemented in python.cCs&d}tjjjd}|j|tj|dS)Nz} name: 'Foo' input_type: '.protobuf_unittest.FooRequest' output_type: '.protobuf_unittest.FooResponse' r?)rrrDrHrrZMethodDescriptorProto)r,rr]r.r.r/ testCopyToProto_MethodDescriptoras z:DescriptorCopyToProtoTest.testCopyToProto_MethodDescriptorz!Pure python does not raise error.cCsbtj}|jttjjj||jttjjj||jttj jj|tj }|jtt jj|dS)N) rrr3r5rrrDr}rrrr)r,r-protor.r.r/testCopyToProto_TypeErrorrsz3DescriptorCopyToProtoTest.testCopyToProto_TypeErrorN)rrrrrrrrrrrrrrrrrrrrrr.r.r.r/rs$ ;  rc@s4eZdZddZddZddZddZd d Zd S) MakeDescriptorTestc Cstj}d|_|jj}|j|_|jj}d|_|jj}d|_|jj}d|_d|_|j j}d|_d|_t j j |_ t j j|_|j j}d|_d |_t j j |_ t j j|_d|_|j j}d|_d |_t j j |_ t j j|_d |_t j|}|j|jd jt j j|j|jdjt j j|j|jdjj||j|jd jd jd |j|jd jd j|jd jd |j|j|j|jd jtj dkr|j!t"d|jd _WdQRXdS)NZFoo2ZSubrBARrr uint64_fieldraZnested_message_field bar_fieldz Foo2.Sub.FOOrzFoo2.Sub.bar_fieldrF)#rrrrr nested_typerrrrrFieldDescriptorLABEL_REQUIREDr TYPE_UINT64rZ TYPE_MESSAGE type_name TYPE_ENUMMakeDescriptorr2r9cpp_typeCPPTYPE_UINT64ZCPPTYPE_MESSAGEr:Z nested_typesrrrUrTrrr3r) r,file_descriptor_protorrr enum_type_valr enum_fieldresultr.r.r/"testMakeDescriptorWithNestedFieldssX                  z5MakeDescriptorTest.testMakeDescriptorWithNestedFieldscCstj}d|_|jj}|j|_|jj}d|_|jj}d|_d|_|jj}d|_d|_t j j |_ t j j |_|jj}d|_d|_t j j |_ t j j|_d |_t j|}|j|jd jt j jdS) Nr?rrrrrrarzFoo.FOOr)rrrrrrrrrrrrrrrrrrr2r9rr)r,rrrrrrrr.r.r/&testMakeDescriptorWithUnsignedIntFields.          z9MakeDescriptorTest.testMakeDescriptorWithUnsignedIntFieldcCsFtj}tj}|jj|tj|}|j}|j d|j tj j dS)Ne) rrrrorDr}rrr=r2rJrurq)r,descriptor_protoZaggregate_messageZreformed_descriptorrmr.r.r/testMakeDescriptorWithOptionss  z0MakeDescriptorTest.testMakeDescriptorWithOptionscCstj}d|_dddddg}dddddg}x2tt|D]"}|jj}|d|_|||_q8Wtj |}x,tt|D]}|j |j |j ||qvWdS) NZBarZfoo_fooZFooBarZfooBazZfooFooZfoobarZfooBarr) rrrrangerrrrrrr2r9r)r,rnamesZcamelcase_namesrrrr.r.r/testCamelcaseNames   z$MakeDescriptorTest.testCamelcaseNamecCstj}d|_ddddddg}dddddd g}x2tt|D]"}|jj}|d |_|||_q s:           ?|v PK!3 =protobuf/internal/__pycache__/testing_refleaks.cpython-36.pycnu[3 h@sdZddlZddlZy ddlZWnek r<ddlZYnXy ddlZWnek rfddlZYnXGdddejZGdddej Z e edre Z ej Znej Z dd ZdS) a[A subclass of unittest.TestCase which checks for reference leaks. To use: - Use testing_refleak.BaseTestCase instead of unittest.TestCase - Configure and compile Python with --with-pydebug If sys.gettotalrefcount() is not available (because Python was built without the Py_DEBUG option), then this module is a no-op and tests will run normally. Nc@s0eZdZdZddZddZddZdd Zd S) LocalTestResultzHA TestResult which forwards events to a parent object, except for Skips.cCstjj|||_dS)N)unittest TestResult__init__ parent_result)selfrr&/usr/lib/python3.6/testing_refleaks.pyr:s zLocalTestResult.__init__cCs|jj||dS)N)raddError)rtesterrorrrr r >szLocalTestResult.addErrorcCs|jj||dS)N)r addFailure)rr r rrr r AszLocalTestResult.addFailurecCsdS)Nr)rr reasonrrr addSkipDszLocalTestResult.addSkipN)__name__ __module__ __qualname____doc__rr r rrrrr r7s rcs.eZdZdZdZdfdd ZddZZS) ReferenceLeakCheckerTestCasezHA TestCase which runs tests multiple times, collecting reference counts.Nc stjj|_tt|j|dtt|j|dd}t|}g}xBt|j D]4}|j }tt|j|d|j }|j ||qLWt ||fy|j |dg|j Wn$tk r|j|tjYnXdS)N)resultr)copyregdispatch_tablecopy_saved_pickle_registrysuperrrunrrangeNB_RUNS _getRefcountsappendprintZ assertEqual Exceptionr sysexc_info)rrZ oldrefcountZ local_resultZrefcount_deltas_Z newrefcount) __class__rr rMs   z ReferenceLeakCheckerTestCase.runcCs8tjjtjj|jtjtjtjtjS)N) rrclearupdatergcZcollectr#gettotalrefcount)rrrr rgs  z*ReferenceLeakCheckerTestCase._getRefcounts)N)rrrrrrr __classcell__rr)r&r rHsrr*cCs~dd}|S)NcSs|S)Nr)funcrrr Same|sz&SkipReferenceLeakChecker..Samer)rr-rrr SkipReferenceLeakCheckerzsr.)rr)r#r ImportErrorZ unittest2rrrZTestCaserhasattrZ BaseTestCaseskipr.rrrr 's"  * PK!\f##@protobuf/internal/__pycache__/unknown_fields_test.cpython-36.pycnu[3 h6 @sdZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlmZddl m Z ddl m Z dd l m Z dd l m Z dd l mZdd l mZdd l mZejZddZGdddeZGdddeZGdddeZedkrejdS)zJTest for preservation of unknown fields in the pure Python implementation.z!bohdank@google.com (Bohdan Koval)N)unittest_mset_pb2) unittest_pb2)unittest_proto3_arena_pb2)api_implementation)encoder)message_set_extensions_pb2)missing_enum_values_pb2) test_util)testing_refleaks) type_checkerscCs$tjtjdkotjdkd|S)NZcppz7Addtional test for pure python involved protect members)unittestZskipIfrZTypeZVersion)funcr)/usr/lib/python3.6/unknown_fields_test.py(SkipCheckUnknownFieldIfCppImplementation;src@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)UnknownFieldsTestcCsHtjj|_tj|_tj|j|jj|_tj |_ |j j |jdS)N) r TestAllTypes DESCRIPTOR descriptor all_fieldsr SetAllFieldsSerializeToStringall_fields_dataTestEmptyMessage empty_messageParseFromString)selfrrrsetUpCs      zUnknownFieldsTest.setUpcCs|jj}|j||jkdS)N)rrZ assertTruer)rdatarrr testSerializeKs zUnknownFieldsTest.testSerializecCsDtj}|j|j|r,|j|j|jn|jdt|jdS)Nr)rrrr assertEqualrlen)rZpreservemessagerrrexpectSerializeProto3Rs  z'UnknownFieldsTest.expectSerializeProto3cCs8tj}|j|tj| |j| tj|dS)N)rZ&GetPythonProto3PreserveUnknownsDefaultr$Z&SetPythonProto3PreserveUnknownsDefault)rZdefault_preserverrrtestSerializeProto3Zs   z%UnknownFieldsTest.testSerializeProto3cCs|j|jj|jjdS)N)r!rZByteSizer)rrrr testByteSizedszUnknownFieldsTest.testByteSizecCs|jdt|jjdS)Nr)r!r"rZ ListFields)rrrrtestListFieldsgsz UnknownFieldsTest.testListFieldscCsttj}|jj}d|_tj}d|_|j|_ |j}tj }|j ||j}tj}|j ||j ||dS)Nii90) rZ RawMessageSetitemaddZtype_idrZTestMessageSetExtension1irr#ZTestMessageSetZMergeFromStringr!)rrawr(Zmessage1 serializedprotoZ reserializedZnew_rawrrr1testSerializeMessageSetWireFormatUnknownExtensionks    zCUnknownFieldsTest.testSerializeMessageSetWireFormatUnknownExtensioncCsPtj}|j|j|j|j||jjd|j|jj|j |j|dS)Noptional_string) rrrrr!rr ClearFieldrassertNotEqual)rr#rrr testEqualss   zUnknownFieldsTest.testEqualscCs|jj|jd|jjtj}tj}d|_|jj|j|j j j|j|j d|jj|j d|j dj|j|jd|jj|jd|j djdS)Ndiscardr) rZDiscardUnknownFieldsr!rrrr/Zoptional_nested_messagerZrepeated_nested_messager)r1)rr#Z other_messagerrrtestDiscardUnknownFieldss"    z*UnknownFieldsTest.testDiscardUnknownFieldsN) __name__ __module__ __qualname__rr r$r%r&r'r.r2r5rrrrrAs  rc@sHeZdZddZddZeddZddZd d Zd d Z d dZ dS)UnknownFieldsAccessorsTestcCsHtjj|_tj|_tj|j|jj|_tj |_ |j j |jdS)N) rrrrrr rrrrrr)rrrrrs      z UnknownFieldsAccessorsTest.setUpc Cs|jj|}tj|j}tj|j|}i}xB|jj D]6\}}||kr4t j j |d} | |dt ||j|q4W|j|||dS)Nr)rfields_by_namer FIELD_TYPE_TO_WIRE_TYPEtyperTagBytesnumberr_unknown_fieldsrr_decoders_by_tagr"rr!) rnameexpected_valuefield_descriptor wire_type field_tag result_dict tag_bytesvaluedecoderrrrCheckUnknownFields  z,UnknownFieldsAccessorsTest.CheckUnknownFieldcCst|jd|jj|jd|jj|jd|jj|jd|jj|jd|jj|jd|jj|jd|jjdS)Noptional_nested_enumrepeated_nested_enumoptional_int32optional_fixed32optional_fixed64r/ optionalgroup) rJrrKrLrMrNrOr/rP)rrrrtestCheckUnknownFieldValues      z5UnknownFieldsAccessorsTest.testCheckUnknownFieldValuecCs*tj}|j|j|j|j|jdS)N)rrZCopyFromrr!rr)rr#rrr testCopyFroms z'UnknownFieldsAccessorsTest.testCopyFromcCstj}d|_d|_tj}|j|j|jdd|_d|_tj}|j|j|j ||j|j|j |jd|j |jd|j |jddS)Nr rM) rrrMZoptional_uint32rrrr0Zoptional_int64Z MergeFromr!)rr#sourceZ destinationrrr testMergeFroms  z(UnknownFieldsAccessorsTest.testMergeFromcCs |jj|j|jjddS)Nr3)rZClearr!r)rrrr testClears z$UnknownFieldsAccessorsTest.testClearcCs*tj}|j|j|j|j|jdS)N)rZTestEmptyMessageWithExtensionsrrr!r)rr#rrrtestUnknownExtensionss z0UnknownFieldsAccessorsTest.testUnknownExtensionsN) r6r7r8rrJrrQrRrWrXrYrrrrr9s r9c@sPeZdZddZddZddZddZd d Zd d Ze d dZ ddZ dS)UnknownEnumValuesTestcCs|tjj|_tj|_tjj|j_|jjjtjjtjj g|jj jtjjtjj g|jj |_ tj |_|jj|j dS)N)rTestEnumValuesrrr#ZZEROrKrLextendZONEpacked_nested_enumrZ message_dataZTestMissingEnumValuesmissing_messager)rrrrrs       zUnknownEnumValuesTest.setUpc Cs|jj|}tj|j}tj|j|}i}xB|jj D]6\}}||kr4t j j |d} | |dt ||j|q4W|j|||dS)Nr)rr:r r;r<rr=r>r^r?rr[r@r"r#r!) rrArBrCrDrErFrGrHrIrrrrJs   z'UnknownEnumValuesTest.CheckUnknownFieldcCs6tj}d|_tj}|j|j|j|jddS)NZblahr)rZ JustStringZdummyr[rrr!rK)rZ just_stringZmissingrrr!testUnknownParseMismatchEnumValue$s z7UnknownEnumValuesTest.testUnknownParseMismatchEnumValuecCsN|j|jjd|j|jjd|jj}|jjd|j|jj|dS)NrKr )Z assertFalser^ZHasFieldr!rKrr0)rr,rrrtestUnknownEnumValue1s   z*UnknownEnumValuesTest.testUnknownEnumValuecCs|jg|jjdS)N)r!r^rL)rrrrtestUnknownRepeatedEnumValue9sz2UnknownEnumValuesTest.testUnknownRepeatedEnumValuecCs|jg|jjdS)N)r!r^r])rrrrtestUnknownPackedEnumValue<sz0UnknownEnumValuesTest.testUnknownPackedEnumValuecCs4|jd|jj|jd|jj|jd|jjdS)NrKrLr])rJr#rKrLr])rrrr!testCheckUnknownFieldValueForEnum?s   z7UnknownEnumValuesTest.testCheckUnknownFieldValueForEnumcCs*tj}|j|jj|j|j|dS)N)rr[rr^rr!r#)rZ new_messagerrr testRoundTripHsz#UnknownEnumValuesTest.testRoundTripN) r6r7r8rrJr_r`rarbrrcrdrrrrrZs   rZ__main__)__doc__ __author__Z unittest2r ImportErrorZgoogle.protobufrrrZgoogle.protobuf.internalrrrrr r r Z BaseTestCaserrr9rZr6mainrrrr!s,           `\QPK!=ٗAprotobuf/internal/__pycache__/symbol_database_test.cpython-36.pycnu[3 h @sdZy ddlZWnek r,ddlZYnXddlmZddlmZddlmZddlmZGdddej Z e d krej dS) z*Tests for google.protobuf.symbol_database.N) unittest_pb2) descriptor)descriptor_pool)symbol_databasec@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)SymbolDatabaseTestcCstjrtjtjd}ntj}|jtj|j tj |j tj j |j tj j |j tj j |jtjj|jtj jj|jtj|S)N)pool)rZ_USE_C_DESCRIPTORSrZSymbolDatabaserZDefaultZRegisterFileDescriptorr DESCRIPTORZRegisterMessage TestAllTypes NestedMessage OptionalGroup RepeatedGroupZRegisterEnumDescriptorZ ForeignEnumZ NestedEnumZRegisterServiceDescriptorZ _TESTSERVICE)selfZdbr*/usr/lib/python3.6/symbol_database_test.py _Database/s   zSymbolDatabaseTest._DatabasecCs&|jjtjj}|j|tjkdS)N)rZ GetPrototyperr r assertTrue)r instancerrrtestGetPrototypeAs z#SymbolDatabaseTest.testGetPrototypecCs(|jjdg}|jtj|dkdS)Nzgoogle/protobuf/unittest.protozprotobuf_unittest.TestAllTypes)rZ GetMessagesrrr )r ZmessagesrrrtestGetMessagesFs z"SymbolDatabaseTest.testGetMessagescCsj|jtj|jjd|jtjj|jjd|jtjj|jjd|jtjj|jjddS)Nzprotobuf_unittest.TestAllTypesz,protobuf_unittest.TestAllTypes.NestedMessagez,protobuf_unittest.TestAllTypes.OptionalGroupz,protobuf_unittest.TestAllTypes.RepeatedGroup) assertEqualrr rZ GetSymbolr r r )r rrr testGetSymbolMs z SymbolDatabaseTest.testGetSymbolcCs8|jd|jjjdj|jd|jjjdjdS)Nzprotobuf_unittest.ForeignEnumz)protobuf_unittest.TestAllTypes.NestedEnum)rrrZFindEnumTypeByName full_name)r rrr testEnums[s   zSymbolDatabaseTest.testEnumscCs8|jd|jjjdj|jd|jjjdjdS)Nzprotobuf_unittest.TestAllTypesz,protobuf_unittest.TestAllTypes.NestedMessage)rrrZFindMessageTypeByNamer)r rrrtestFindMessageTypeByNamefs   z,SymbolDatabaseTest.testFindMessageTypeByNamecCs|jd|jjjdjdS)Nzprotobuf_unittest.TestService)rrrZFindServiceByNamer)r rrrtestFindServiceByNameps z(SymbolDatabaseTest.testFindServiceByNamecCs8|jd|jjjdj|jd|jjjdjdS)Nzgoogle/protobuf/unittest.protoz)protobuf_unittest.TestAllTypes.NestedEnumzprotobuf_unittest.TestAllTypes)rrrZFindFileContainingSymbolname)r rrrtestFindFileContainingSymbolvs   z/SymbolDatabaseTest.testFindFileContainingSymbolcCs|jd|jjjdjdS)Nzgoogle/protobuf/unittest.proto)rrrZFindFileByNamer)r rrrtestFindFileByNames z%SymbolDatabaseTest.testFindFileByNameN) __name__ __module__ __qualname__rrrrrrrrrrrrrr-s   r__main__) __doc__Z unittest2Zunittest ImportErrorZgoogle.protobufrrrrZTestCaserrmainrrrr s     [PK!u##:protobuf/internal/__pycache__/type_checkers.cpython-36.pycnu[3 h7$@sHdZdZddlZddlZejr"eZddlmZddlm Z ddlm Z ddlm Z ddl m Z e jZd d Zd d ZGd ddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZejeejeejeejeej edej!ej"edej!ej#ed e$ej%ej&ed!e'iZ(ej)e j*ej+e j,ej-e j.ej/e j0ej1e j2ej3e j4ej5e j6ej7e j8ej9e j:ej;e jej?e j@ejAe jBejCe jDejEe jFejGe jHejIe jJejKe jLiZMej)e jNej+e jOej-e jPej/e jQej1e jRej3e jSej5e jTej7e jUej9e jVej;e jWej=e jXej?e jYejAe jZejCe j[ejEe j\ejGe j]ejIe j^ejKe j_iZ`ej)e jaej+e jbej-e jcej/e jdej1e jeej3e jfej5e jgej7e jhej9e jiej;e jjej=e jkej?e jlejAe jmejCe jnejEe joejGe jpejIe jqejKe jriZsej)e jtej+e juej-e jvej/e jwej1e jxej3e jyej5e jzej7e j{ej9e j|ej;e j}ej=e j~ej?e jejAe jejCe jejEe jejGe jejIe jejKe jiZej)e jej+e jej-e jej/e jej1e jej3e jej5e jej7e jej9e jej;e jej=e jej?e jejAe jejCe jejEe jejGe jejIe jejKe jiZdS)"aProvides type checking routines. This module defines type checking utilities in the forms of dictionaries: VALUE_CHECKERS: A dictionary of field types and a value validation object. TYPE_TO_BYTE_SIZE_FN: A dictionary with field types and a size computing function. TYPE_TO_SERIALIZE_METHOD: A dictionary with field types and serialization function. FIELD_TYPE_TO_WIRE_TYPE: A dictionary with field typed and their coresponding wire types. TYPE_TO_DESERIALIZE_METHOD: A dictionary with field types and deserialization function. z#robinson@google.com (Will Robinson)N)api_implementation)decoder)encoder) wire_format) descriptorcCs |jjdkS)NZproto3)Zcontaining_typeZsyntax)Zfield_descriptorr#/usr/lib/python3.6/type_checkers.pySupportsOpenEnums>sr cCsP|jtjkr|jtjkrtS|jtjkrFt|r,s            PK!s!RnnDprotobuf/internal/__pycache__/missing_enum_values_pb2.cpython-36.pycnu[3 h%@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddeejddddddejddddddgddddd Zejeejdddeejddddddgddddd Zejeejdddedejd d!ddd"d#dd$ddddd$dded%ejd&d'ddd"d#dd$gdddd$dded%ejd(d)ddd"d#dd$gdddd$deje jed*ed%gggegdd$d ggd+dd,Zejd-d.dedejd d/ddd"d#dd$ddddd$dded%ejd&d0ddd"d#dd$gdddd$dded%ejd(d1ddd"d#dd$gdddd$deje jed*ed%gggegdd$d ggd2dd,Zejd3d4dedejd5d6ddd7d7dd$ed8jd9dddd$dded%ggggdd$d ggd:d;d,Zeejd _eejd&_eejd(_ee_ eejd _eejd&_eejd(_ee_ eej!d<eej!d-<eej!d3<ej"ee j#dej$fe%edejd(_*eje jed*ejd(_+d>ejd(_*eje jed*ejd(_+dS)?NcCs|S)N)xrr-/usr/lib/python3.6/missing_enum_values_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z2google/protobuf/internal/missing_enum_values.protozgoogle.protobuf.python.internalZproto2u 2google/protobuf/internal/missing_enum_values.protogoogle.protobuf.python.internal"Á TestEnumValuesX optional_nested_enum (2:.google.protobuf.python.internal.TestEnumValues.NestedEnumX repeated_nested_enum (2:.google.protobuf.python.internal.TestEnumValues.NestedEnumZ packed_nested_enum (2:.google.protobuf.python.internal.TestEnumValues.NestedEnumB" NestedEnum ZERO ONE"Ó TestMissingEnumValues_ optional_nested_enum (2A.google.protobuf.python.internal.TestMissingEnumValues.NestedEnum_ repeated_nested_enum (2A.google.protobuf.python.internal.TestMissingEnumValues.NestedEnuma packed_nested_enum (2A.google.protobuf.python.internal.TestMissingEnumValues.NestedEnumB" NestedEnum TWO" JustString dummy ( )namepackagesyntaxZ serialized_pbZ NestedEnumz9google.protobuf.python.internal.TestEnumValues.NestedEnumZZERO)rindexnumberoptionstypeZONEizi) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endz@google.protobuf.python.internal.TestMissingEnumValues.NestedEnumZTWOiiTestEnumValuesz.google.protobuf.python.internal.TestEnumValuesZoptional_nested_enumzCgoogle.protobuf.python.internal.TestEnumValues.optional_nested_enumF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_valueZ message_type enum_typerZ is_extensionZextension_scoperrZrepeated_nested_enumzCgoogle.protobuf.python.internal.TestEnumValues.repeated_nested_enumZpacked_nested_enumzAgoogle.protobuf.python.internal.TestEnumValues.packed_nested_enumzX)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrrTestMissingEnumValuesz5google.protobuf.python.internal.TestMissingEnumValueszJgoogle.protobuf.python.internal.TestMissingEnumValues.optional_nested_enumzJgoogle.protobuf.python.internal.TestMissingEnumValues.repeated_nested_enumzHgoogle.protobuf.python.internal.TestMissingEnumValues.packed_nested_enumi JustStringz*google.protobuf.python.internal.JustStringZdummyz0google.protobuf.python.internal.JustString.dummy zutf-8ii z0google.protobuf.internal.missing_enum_values_pb2) DESCRIPTOR __module__T),sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr(ZEnumDescriptorZEnumValueDescriptorZ_TESTENUMVALUES_NESTEDENUMZRegisterEnumDescriptorZ!_TESTMISSINGENUMVALUES_NESTEDENUMZ DescriptorZFieldDescriptorZ _ParseOptionsZ FieldOptionsZ_TESTENUMVALUESZ_TESTMISSINGENUMVALUESdecodeZ _JUSTSTRINGZfields_by_namer!rZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictrZRegisterMessager$r%Z has_optionsZ_optionsrrrrsR                           PK!3 Cprotobuf/internal/__pycache__/testing_refleaks.cpython-36.opt-1.pycnu[3 h@sdZddlZddlZy ddlZWnek r<ddlZYnXy ddlZWnek rfddlZYnXGdddejZGdddej Z e edre Z ej Znej Z dd ZdS) a[A subclass of unittest.TestCase which checks for reference leaks. To use: - Use testing_refleak.BaseTestCase instead of unittest.TestCase - Configure and compile Python with --with-pydebug If sys.gettotalrefcount() is not available (because Python was built without the Py_DEBUG option), then this module is a no-op and tests will run normally. Nc@s0eZdZdZddZddZddZdd Zd S) LocalTestResultzHA TestResult which forwards events to a parent object, except for Skips.cCstjj|||_dS)N)unittest TestResult__init__ parent_result)selfrr&/usr/lib/python3.6/testing_refleaks.pyr:s zLocalTestResult.__init__cCs|jj||dS)N)raddError)rtesterrorrrr r >szLocalTestResult.addErrorcCs|jj||dS)N)r addFailure)rr r rrr r AszLocalTestResult.addFailurecCsdS)Nr)rr reasonrrr addSkipDszLocalTestResult.addSkipN)__name__ __module__ __qualname____doc__rr r rrrrr r7s rcs.eZdZdZdZdfdd ZddZZS) ReferenceLeakCheckerTestCasezHA TestCase which runs tests multiple times, collecting reference counts.Nc stjj|_tt|j|dtt|j|dd}t|}g}xBt|j D]4}|j }tt|j|d|j }|j ||qLWt ||fy|j |dg|j Wn$tk r|j|tjYnXdS)N)resultr)copyregdispatch_tablecopy_saved_pickle_registrysuperrrunrrangeNB_RUNS _getRefcountsappendprintZ assertEqual Exceptionr sysexc_info)rrZ oldrefcountZ local_resultZrefcount_deltas_Z newrefcount) __class__rr rMs   z ReferenceLeakCheckerTestCase.runcCs8tjjtjj|jtjtjtjtjS)N) rrclearupdatergcZcollectr#gettotalrefcount)rrrr rgs  z*ReferenceLeakCheckerTestCase._getRefcounts)N)rrrrrrr __classcell__rr)r&r rHsrr*cCs~dd}|S)NcSs|S)Nr)funcrrr Same|sz&SkipReferenceLeakChecker..Samer)rr-rrr SkipReferenceLeakCheckerzsr.)rr)r#r ImportErrorZ unittest2rrrZTestCaserhasattrZ BaseTestCaseskipr.rrrr 's"  * PK!=ٗGprotobuf/internal/__pycache__/symbol_database_test.cpython-36.opt-1.pycnu[3 h @sdZy ddlZWnek r,ddlZYnXddlmZddlmZddlmZddlmZGdddej Z e d krej dS) z*Tests for google.protobuf.symbol_database.N) unittest_pb2) descriptor)descriptor_pool)symbol_databasec@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)SymbolDatabaseTestcCstjrtjtjd}ntj}|jtj|j tj |j tj j |j tj j |j tj j |jtjj|jtj jj|jtj|S)N)pool)rZ_USE_C_DESCRIPTORSrZSymbolDatabaserZDefaultZRegisterFileDescriptorr DESCRIPTORZRegisterMessage TestAllTypes NestedMessage OptionalGroup RepeatedGroupZRegisterEnumDescriptorZ ForeignEnumZ NestedEnumZRegisterServiceDescriptorZ _TESTSERVICE)selfZdbr*/usr/lib/python3.6/symbol_database_test.py _Database/s   zSymbolDatabaseTest._DatabasecCs&|jjtjj}|j|tjkdS)N)rZ GetPrototyperr r assertTrue)r instancerrrtestGetPrototypeAs z#SymbolDatabaseTest.testGetPrototypecCs(|jjdg}|jtj|dkdS)Nzgoogle/protobuf/unittest.protozprotobuf_unittest.TestAllTypes)rZ GetMessagesrrr )r ZmessagesrrrtestGetMessagesFs z"SymbolDatabaseTest.testGetMessagescCsj|jtj|jjd|jtjj|jjd|jtjj|jjd|jtjj|jjddS)Nzprotobuf_unittest.TestAllTypesz,protobuf_unittest.TestAllTypes.NestedMessagez,protobuf_unittest.TestAllTypes.OptionalGroupz,protobuf_unittest.TestAllTypes.RepeatedGroup) assertEqualrr rZ GetSymbolr r r )r rrr testGetSymbolMs z SymbolDatabaseTest.testGetSymbolcCs8|jd|jjjdj|jd|jjjdjdS)Nzprotobuf_unittest.ForeignEnumz)protobuf_unittest.TestAllTypes.NestedEnum)rrrZFindEnumTypeByName full_name)r rrr testEnums[s   zSymbolDatabaseTest.testEnumscCs8|jd|jjjdj|jd|jjjdjdS)Nzprotobuf_unittest.TestAllTypesz,protobuf_unittest.TestAllTypes.NestedMessage)rrrZFindMessageTypeByNamer)r rrrtestFindMessageTypeByNamefs   z,SymbolDatabaseTest.testFindMessageTypeByNamecCs|jd|jjjdjdS)Nzprotobuf_unittest.TestService)rrrZFindServiceByNamer)r rrrtestFindServiceByNameps z(SymbolDatabaseTest.testFindServiceByNamecCs8|jd|jjjdj|jd|jjjdjdS)Nzgoogle/protobuf/unittest.protoz)protobuf_unittest.TestAllTypes.NestedEnumzprotobuf_unittest.TestAllTypes)rrrZFindFileContainingSymbolname)r rrrtestFindFileContainingSymbolvs   z/SymbolDatabaseTest.testFindFileContainingSymbolcCs|jd|jjjdjdS)Nzgoogle/protobuf/unittest.proto)rrrZFindFileByNamer)r rrrtestFindFileByNames z%SymbolDatabaseTest.testFindFileByNameN) __name__ __module__ __qualname__rrrrrrrrrrrrrr-s   r__main__) __doc__Z unittest2Zunittest ImportErrorZgoogle.protobufrrrrZTestCaserrmainrrrr s     [PK!*[[Aprotobuf/internal/__pycache__/message_factory_test.cpython-36.pycnu[3 h% @sdZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlm Z ddlm Z ddlm Z dd lm Z dd lm Z Gd d d ejZed krejdS)z*Tests for google.protobuf.message_factory.z"matthewtoia@google.com (Matt Toia)N)descriptor_pb2)api_implementation)factory_test1_pb2)factory_test2_pb2)descriptor_database)descriptor_pool)message_factoryc@s4eZdZddZddZddZddZd d Zd S) MessageFactoryTestcCs(tjjtjj|_tjjtjj|_dS)N) rFileDescriptorProto FromStringr DESCRIPTORZ serialized_pbfactory_test1_fdrfactory_test2_fd)selfr*/usr/lib/python3.6/message_factory_test.pysetUp4s zMessageFactoryTest.setUpcCs<|}d|_d|_d|j_d|j_d|j_d|jj_d|j_|jj j dddg|jj j d d|_d|_d|j_d|j _d |j j _d |j _d |_|j j d ddg|j j d|j jd |j d_d|j d_|j jdddd |jj_d|jjjj_|j}tjj|}|j}|j|||j|}|j||dS)N*rznested message valueZoneZtwoZthreeZfourzone deepz zero deepZhelloZworldZtestingZ123)part_1part_2)Z mandatoryZnested_factory_2_enumZnested_factory_2_messagevalueZfactory_1_messageZfactory_1_enumZnested_factory_1_enumZnested_factory_1_messageZ scalar_valueZ list_valueextendappendZcircular_messageZgroupedaddrrZloopZSerializeToStringrFactory2Messager assertEqual)rclsmsgZ serializedZ convertedZ reserializedresultrrr_ExerciseDynamicClass:s>          z(MessageFactoryTest._ExerciseDynamicClasscCs~tj}tj|}|j|j|j|jtj}|j |j d}|j |t j k|j||j |j d}|j||kdS)Nz/google.protobuf.python.internal.Factory2Message)rZDescriptorDatabaserDescriptorPoolAddr rrMessageFactoryZ GetPrototypeZFindMessageTypeByNameZ assertFalserrr# assertTrue)rZdbpoolfactoryr Zcls2rrrtestGetPrototype\s    z#MessageFactoryTest.testGetPrototypecCsxtdD]v}|j|jj|jjtj|j|jg}|jt ddgj t |j |j |d|d}|jt ddgj t dd|j jjj|j D|d}|jjd}|jjd}d|j|<d |j|<|jd|j||jd |j||jd|jjd tjd kr\|jt|jt|j|jt|jjd |jt|jjd q |jd|jjd |jd|jjd q WdS)Nrz/google.protobuf.python.internal.Factory2Messagez/google.protobuf.python.internal.Factory1Messagez>google.protobuf.python.internal.Factory2Message.one_more_fieldz-google.protobuf.python.internal.another_fieldcss|] }|jVqdS)N)Z full_name).0extrrr sz5MessageFactoryTest.testGetMessages..Ztest1Ztest2i!0Zcppr)rangeassertInr namer dependencyr GetMessagesr'setissubsetkeysr#r filer(ZFindAllExtensionsZ ExtensionsZ_FindExtensionByNamerZ_FindExtensionByNumberrZTypelen assertRaises TypeError)r_ZmessagesZ factory_msg1Zmsg1Zext1Zext2rrrtestGetMessagesjsN          z"MessageFactoryTest.testGetMessagesc Cstj}tj|d}tj}d|_d|_|jj }d|_|j j }d|_ d|_ |j ||j|jg}|jd|tj}d|_d|_|jjd|jj }d |_|jj }d |_d |_tjj|_d |_d|_|j ||j|jg}|jd |tj}d |_d|_|jjd|jj }d|_|jj }d |_d |_tjj|_d|_d|_|j ||jt}|j|jgWdQRX|jt|jddgdS)N)r(z(google/protobuf/internal/container.protozgoogle.protobuf.python.internal Containerr z)google.protobuf.python.internal.Containerz(google/protobuf/internal/extension.protoZ ExtensionZextension_fieldrz)google.protobuf.python.internal.Extensionz(google/protobuf/internal/duplicate.protoZ DuplicatezExtensions "google.protobuf.python.internal.Duplicate.extension_field" and "google.protobuf.python.internal.Extension.extension_field" both try to extend message type "google.protobuf.python.internal.Container" with field number 2.z!Double registration of Extensions)rr$rr&rr r1packageZ message_typerZextension_rangestartendr%r3r0r2r extensionZnumberZFieldDescriptorProtoZLABEL_OPTIONALZlabelZ type_nameZextendeer9 ExceptionstrZ exception) rr(r)fr!rngZmsgsr,cmrrrtestDuplicateExtensionNumbers\                  z/MessageFactoryTest.testDuplicateExtensionNumberN)__name__ __module__ __qualname__rr#r*r<rHrrrrr 2s "4r __main__)__doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrZgoogle.protobuf.internalrrrrrrZTestCaser rImainrrrr s         +PK!n qqGprotobuf/internal/__pycache__/descriptor_pool_test.cpython-36.opt-1.pycnu[3 h@sdZdZddlZddlZy ddlZWnek r@ddlZYnXddlmZddlm Z ddlm Z ddlm Z ddl m Z dd l mZdd l mZdd l mZdd l mZdd l mZddl mZddlmZddlmZddlmZddlmZddlmZGdddeZGdddeejZGdddeejZGdddeejZGdddeZGdddeZ Gd d!d!eZ!Gd"d#d#eZ"Gd$d%d%eZ#Gd&d'd'eZ$Gd(d)d)eZ%Gd*d+d+ejZ&ed,d-e!e dmdnge!e dodpge!d6e dqdrgid;e"d/d6d7fdd;e"d/d6d4fdd;e"d/d6dKfdd;e"d/d6d^fdgoogle.protobuf.python.internal.Factory2Message.one_more_fieldzprotobuf_unittest.TestServicezgoogle/protobuf/unittest.proto) rFindFileContainingSymbolrr rrrrrr)rrr Z file_desc3Z file_desc4Z file_desc5r!r!r"testFindFileContainingSymbolTs:z3DescriptorPoolTestBase.testFindFileContainingSymbolc Cs&|jt|jjdWdQRXdS)NzDoes not exist)r$r%rr')rr!r!r"#testFindFileContainingSymbolFailureys z:DescriptorPoolTestBase.testFindFileContainingSymbolFailurec Cs|jjd}|j|tj|jd|j|jd|j|jd|j|j |j |j d}|jd|j|j||j|j d}|jd|j|j||j|j||j dj|j||j dj|jjd}|j|tj|jd |j|jd|j|j|j|j d}|jd |j|j||j|j d}|jd |j|j||j|j||j d j|j||j d j|j|j dj|jd|j dj|j|j dj|jd|j dj|j|j dj|jd|j dj|j|j dj|j |j dj|j|j dj|jd|j dj|jjd}|j|||j|j dj|jd|j dj|jdt|j|jdt|j|jdt|jdjxBdD]:}|j|jd|j |j|j|j ||jdjqWdS)Nz/google.protobuf.python.internal.Factory1MessagerrZNestedFactory1MessageZNestedFactory1EnumZnested_factory_1_messageZnested_factory_1_enumz/google.protobuf.python.internal.Factory2MessagerZNestedFactory2MessageZNestedFactory2EnumZnested_factory_2_messageZnested_factory_2_enumZint_with_defaultiZdouble_with_defaultg{G#@Zstring_with_defaultz hello worldZbool_with_defaultZenum_with_defaultzEgoogle.protobuf.python.internal.Factory2Message.NestedFactory2MessageZbytes_with_defaultsac oneof_int oneof_string)r,r-)rFindMessageTypeByNamerr Z Descriptorrr full_namecontaining_type assertFalse has_optionsZ nested_typesZ enum_typesfields_by_name message_type enum_typeZ assertIsNone assertTruehas_default_value default_valuelenZoneofsoneofs_by_nameZfieldsZcontaining_oneofr) rZmsg1Z nested_msg1 nested_enum1Zmsg2Z nested_msg2 nested_enum2Zmsg3rr!r!r"testFindMessageTypeByName}s                 z0DescriptorPoolTestBase.testFindMessageTypeByNamecCs|jt|jjdtjdkrH|jt|jjd|jt|jjdt}nt}|j||jj d|j||jj d|j||jj d|j||jj d|j||jj d|j||jjd|j||jjdtjdkrt}|j||jjddS)Ncpprpython)r$ TypeErrorrFindExtensionByNumberrTypeZFindMethodByNamer%AttributeErrorr.FindFieldByNameFindExtensionByNameFindEnumTypeByNameFindOneofByNameFindServiceByNamer'r)rZ error_typer!r!r"testFindTypeErrorss   z)DescriptorPoolTestBase.testFindTypeErrorsc Cs&|jt|jjdWdQRXdS)NzDoes not exist)r$r%rr.)rr!r!r" testFindMessageTypeByNameFailures z7DescriptorPoolTestBase.testFindMessageTypeByNameFailurecCs|jjd}|j|tj|jd|jdj|jd|jdj|j|j |jjd}|j|tj|jd|jdj|jd|jdj|jjd }|j|tj|jd|jd j|jd|jd j|jjd }|j|tj|jd|jd j|jd|jdjdS)Nz,google.protobuf.python.internal.Factory1EnumrZFACTORY_1_VALUE_0r*ZFACTORY_1_VALUE_1zBgoogle.protobuf.python.internal.Factory1Message.NestedFactory1EnumZNESTED_FACTORY_1_VALUE_0ZNESTED_FACTORY_1_VALUE_1z,google.protobuf.python.internal.Factory2EnumZFACTORY_2_VALUE_0ZFACTORY_2_VALUE_1zBgoogle.protobuf.python.internal.Factory2Message.NestedFactory2EnumZNESTED_FACTORY_2_VALUE_0ZNESTED_FACTORY_2_VALUE_1) rrGrr ZEnumDescriptorrvalues_by_namenumberr1r2)rZenum1r;Zenum2r<r!r!r"testFindEnumTypeByNames2 z-DescriptorPoolTestBase.testFindEnumTypeByNamec Cs&|jt|jjdWdQRXdS)NzDoes not exist)r$r%rrG)rr!r!r"testFindEnumTypeByNameFailures z4DescriptorPoolTestBase.testFindEnumTypeByNameFailurec Csvt|trtjdkrdS|jjd}|j|jd|j|j|j |j |j |j t |jjdWdQRXdS)Nr?z:google.protobuf.python.internal.Factory1Message.list_valueZ list_valuezDoes not exist) isinstance#SecondaryDescriptorFromDescriptorDBrrCrrErrlabelZLABEL_REPEATEDr1r2r$r%)rfieldr!r!r"testFindFieldByName s    z*DescriptorPoolTestBase.testFindFieldByNamec CsZt|trtjdkrdS|jjd}|j|jd|jt |jjdWdQRXdS)Nr?z;google.protobuf.python.internal.Factory2Message.oneof_field oneof_fieldzDoes not exist) rPrQrrCrrHrrr$r%)rZoneofr!r!r"testFindOneofByNames   z*DescriptorPoolTestBase.testFindOneofByNamec Cst|trtjdkrdS|jjd}|j|jd|jjd}|j|jd|j|jd|j t |jj dWdQRXdS)Nr?z>google.protobuf.python.internal.Factory2Message.one_more_fieldone_more_fieldz-google.protobuf.python.internal.another_field another_fieldizDoes not exist) rPrQrrCrrFrrrMr$r%rE)r extensionr!r!r"testFindExtensionByName%s   z.DescriptorPoolTestBase.testFindExtensionByNamecCs|jjd}|jjd}|jd}|jj||jjd}|jd}|jj||jj|}t||g}|j|t||jd|jj|}|j|t|dS)Nz/google.protobuf.python.internal.Factory1Messagez/google.protobuf.python.internal.Factory2MessagerWz,google/protobuf/internal/factory_test2.protorXZunexpected_element) rr.extensions_by_nameAddExtensionDescriptorrZFindAllExtensionssetrappend)rfactory1_messagefactory2_messagerW factory_test2rX extensionsZexpected_extension_numbersr!r!r"testFindAllExtensions7s         z,DescriptorPoolTestBase.testFindAllExtensionsc Cs|jjd}|jjd}|jd}|jj||jjd}|jd}|jj||jj|d}|j|jd|jj|d}|j|jd|jt |jj|d}WdQRXdS) Nz/google.protobuf.python.internal.Factory1Messagez/google.protobuf.python.internal.Factory2MessagerWz,google/protobuf/internal/factory_test2.protorXiii) rr.r[r\rrBrrr$r%)rr_r`rWrarXrYr!r!r"testFindExtensionByNumberOs      z0DescriptorPoolTestBase.testFindExtensionByNumbercCsj|jt|jjdWdQRX|jt|jjdWdQRX|jt|jjdWdQRXdS)Nz-google.protobuf.python.internal.another_fieldz>google.protobuf.python.internal.Factory2Message.one_more_fieldz:google.protobuf.python.internal.Factory1Message.list_value)r$r%rrErF)rr!r!r"testExtensionsAreNotFieldsfs   z1DescriptorPoolTestBase.testExtensionsAreNotFieldsc Cs@|jjd}|j|jd|jt|jjdWdQRXdS)Nzprotobuf_unittest.TestServicezDoes not exist)rrIrr/r$r%)rservicer!r!r"testFindServiceps  z&DescriptorPoolTestBase.testFindServicecCs8tj}tj||_|j|j|j|j|jdS)N) rDescriptorDatabaserDescriptorPoolrAddfactory_test1_fdfactory_test2_fdr=)rdbr!r!r"testUserDefinedDBvs    z(DescriptorPoolTestBase.testUserDefinedDBcCsTt|trtjdkrdStj|_|jj|jj |jj|j j |j dS)Nr?) rPrQrrCrrirAddSerializedFilerkSerializeToStringrlr=)rr!r!r"testAddSerializedFile}s   z,DescriptorPoolTestBase.testAddSerializedFilecsfdd}|tjtjjjd}j|tj||ttrVt j dkrVdSt j j tjj}jj|jjd}||dS)z:Test the default value of enums which don't start at zero.cs&|jdjdj}j|tjjdS)NDescriptorPoolTest1 nested_enum)rr3r8rrrrBETA)file_descriptorr8)rr!r"_CheckDefaultValues zGDescriptorPoolTestBase.testEnumDefaultValue.._CheckDefaultValuez4google/protobuf/internal/descriptor_pool_test1.protor?N)r DESCRIPTORrDefaultrrassertIsrPrQrrCrFileDescriptorProto FromString serialized_pbrj)rrvruZdescriptor_protor!)rr"testEnumDefaultValues       z+DescriptorPoolTestBase.testEnumDefaultValuecsfddfdd}|tjtj}|jtjjtj j |jtjjt j j |jtjjtj j t j |j|jtjj j}||dS)z0Check the value returned by non-existent fields.csj||j||dS)N)rr)valueZexpected_valueZ expected_type)rr!r"_CheckValueAndTypes zTDescriptorPoolTestBase.testDefaultValueForCustomMessages.._CheckValueAndTypecsyt}Wntk r t}YnXyt}Wntk rBt}YnX|jdt|jd|tf|jdttf|jdttf|jdt |j d||j dt |j |jtdS)NrFr>)int NameErrorstroptional_int32Zoptional_uint64Zoptional_floatfloatZoptional_doubleZ optional_boolboolZoptional_stringZoptional_bytesbytesZoptional_nested_enumZFOO)msgZint64Z unicode_type)rr!r"_CheckDefaultValuess   zUDescriptorPoolTestBase.testDefaultValueForCustomMessages.._CheckDefaultValuesN)r TestAllTypesrrirjrrzr{rrwr|rrZMessageFactoryZ GetPrototyper.r/)rrrZ message_classr!)rrr"!testDefaultValueForCustomMessagess          z8DescriptorPoolTestBase.testDefaultValueForCustomMessagescCsFt|trtjdkrdStjdd}|jj||jj|j dS)Nr?zsome/file.proto)r) rPrQrrCrrzrrjrorp)r file_descr!r!r"testAddFileDescriptors     z,DescriptorPoolTestBase.testAddFileDescriptorcCst|trtjdkrdStjjtjj }tjjt jj }tjjt jj }|j j ||j j ||j j |tj||j tj||j dS)Nr?)rPrQrrCrrzr{r rwr|rrrrj TEST1_FILE CheckFile TEST2_FILE)rZmore_messages_descZ test1_descZ test2_descr!r!r"testComplexNestings        z)DescriptorPoolTestBase.testComplexNestingN)__name__ __module__ __qualname__r#r&r(r)r=rJrKrNrOrTrVrZrcrdrergrnrqr}rrrr!r!r!r"r?s,%R    & rc@seZdZddZddZdS)DefaultDescriptorPoolTestcCs2tj|_tjjtjj|_ tjjt jj|_ dS)N) rrxrrrzr{r rwr|rkr rl)rr!r!r"setUps   zDefaultDescriptorPoolTest.setUpcCs|j|jjdtj|j|jjdtjj|j|jjdtjjjd|j|jj dtj j|j|jj dtjj d|j|jj dtjjjd |j|jjd tjjd dS) Nzgoogle/protobuf/unittest.protozprotobuf_unittest.TestAllTypesz-protobuf_unittest.TestAllTypes.optional_int32rzprotobuf_unittest.ForeignEnumz*protobuf_unittest.optional_int32_extensionZoptional_int32_extensionz*protobuf_unittest.TestAllTypes.oneof_fieldrUzprotobuf_unittest.TestServiceZ TestService)ryrrrrwr.rrEr3rG ForeignEnumrFr[rHr:rIZservices_by_name)rr!r!r"testFindMethodss.       z)DefaultDescriptorPoolTest.testFindMethodsN)rrrrrr!r!r!r"rsrc@seZdZddZdS)CreateDescriptorPoolTestcCstj|_tjjtjj|_ tjjt jj|_ |jj |j |jj |j |jj tjjt jj|jj tjjtjj|jj tjjtjjdS)N)rrirrrzr{r rwr|rkr rlrjrrr)rr!r!r"rs        zCreateDescriptorPoolTest.setUpN)rrrrr!r!r!r"rsrc@seZdZddZdS)rQcCstjjtjj|_tjjtjj|_t j }|j |j|j |j|j tjjt jj|j tjjt jj|j tjjtjjtj|d|_dS)N)Z descriptor_db)rrzr{r rwr|rkr rlrrhrjrrrrrir)rrmr!r!r"r(s          z)SecondaryDescriptorFromDescriptorDB.setUpN)rrrrr!r!r!r"rQ%srQc@seZdZdddZddZdS) ProtoFileNcCs*||_||_||_|pg|_|p"g|_dS)N)rrmessages dependenciespublic_dependencies)rrrrrrr!r!r"__init__;s  zProtoFile.__init__cCs|j|j}|j|j|j|j|j|jdd|jD}|j|j|dd|jD}|j|j|x*t|jjD]\}}|j |d||qxWdS)NcSsg|] }|jqSr!)r).0fr!r!r" Gsz'ProtoFile.CheckFile..cSsg|] }|jqSr!)r)rrr!r!r"rIs) rrrrrrlistritems CheckType)rtestrrZdependencies_namesZpublic_dependencies_namesrZmsg_typer!r!r"rCs zProtoFile.CheckFile)NN)rrrrrr!r!r!r"r9s rc@seZdZddZddZdS)EnumTypecCs ||_dS)N)values)rrr!r!r"rQszEnumType.__init__c Cs|j|}|j||jdj|j|g}|j||j|j||j|j||jxjt|jD]\\}\}} |j |} |j|| j|j|| j |j| | j |j|| j |j ||jq^WdS)N.)enum_types_by_namerrjoinr/r0file enumeraterrLindexrMtyperZenum_values_by_name) rrmsg_descrr enum_descZexpected_enum_full_namerr~rMZ value_descr!r!r"rTs  zEnumType.CheckTypeN)rrrrrr!r!r!r"rOsrc@seZdZdddZddZdS) MessageTypeFNcCs ||_||_||_|pg|_dS)N) type_dict field_list is_extendablerb)rrrrrbr!r!r"rfszMessageType.__init__c Cs|dkr$|j|}dj|j|g}n|j|}dj|j|g}|j||j|j||j|j||j|j|j||j|j |j x*t |j j D]\}}|j ||||qWx,t|jD]\}\}} | j|||||qWx,t|jD]\}\}} | j|||||qWdS)Nr)rrrnested_types_by_namer/rrr0rrrrrrrr CheckFieldrb) rrZcontaining_type_descrrZdescZexpected_full_namesubtyperrSr!r!r"rms   zMessageType.CheckType)FN)rrrrrr!r!r!r"rds rc@seZdZddZddZdS) EnumFieldcCs||_||_||_dS)N)rM type_namer8)rrMrr8r!r!r"rszEnumField.__init__c Cs|j|}|j|j}|j||jdj|j|g}|j||j|j||j|j|j|j|jt j j |j |jt j j |j|j|j|j|j|jj|j|j|j|jj|j||j|j||j|j||jdS)Nr)r3rrrrrr/rrMr FieldDescriptorZ TYPE_ENUMrZ CPPTYPE_ENUMcpp_typer6r7rLr8r1r2r0r5r) rrrrrr field_descrexpected_field_full_namer!r!r"rs"    zEnumField.CheckFieldN)rrrrrr!r!r!r"rsrc@seZdZddZddZdS) MessageFieldcCs||_||_dS)N)rMr)rrMrr!r!r"rszMessageField.__init__c Cs|j|}|j|j}|j||jdj|j|g}|j||j|j||j|j|j|j|jt j j |j |jt j j |j|j|j|j||j|j||j|j||jtjdkr|jtt|ddS)Nrr?r8)r3rrrrrr/rrMr r TYPE_MESSAGErCPPTYPE_MESSAGErr1r7r0r4rrrCr$NotImplementedErrorgetattr) rrrrrrrZfield_type_descrr!r!r"rs"     zMessageField.CheckFieldN)rrrrrr!r!r!r"rsrc@seZdZddZddZdS) StringFieldcCs||_||_dS)N)rMr8)rrMr8r!r!r"rszStringField.__init__cCs|j|}|j||jdj|j|g}|j||j|j||j|j|j|j|jtjj |j |jtjj |j |j |j|j|j|j|j||jdS)Nr)r3rrrr/rrMr rZ TYPE_STRINGrZCPPTYPE_STRINGrr6r7r8r)rrrrrrrrr!r!r"rs   zStringField.CheckFieldN)rrrrrr!r!r!r"rsrc@seZdZddZddZdS)ExtensionFieldcCs||_||_dS)N)rM extended_type)rrMrr!r!r"rszExtensionField.__init__cCs|j|}|j||jdj|j|g}|j||j|j|j|j|j||j|jtjj |j |jtjj |j |j |j|j|j|j||j|j||j|j|j|jj|j||jdS)Nr)r[rrrr/rMrr rrrrrr1r7r6Z is_extensionZextension_scoper4rr0r)rrrrrrrrr!r!r"rs    zExtensionField.CheckFieldN)rrrrrr!r!r!r"rsrc@seZdZddZejejdkdddZddZ ejejdkdd d Z ejejdkdd d Z ejejdkdd dZ ddZ ddZddZddZdS)AddDescriptorTestc Cstj}|jtjj|jd|j|dj|j t |j|dWdQRX|jtjj j|jd|j|dj|jd|j dj |jd|j|dj dS)Nzprotobuf_unittest.TestAllTypesz,protobuf_unittest.TestAllTypes.NestedMessagezgoogle/protobuf/unittest.proto)rri AddDescriptorrrrwrr.r/r$r% NestedMessagerrr')rprefixrr!r!r" _TestMessages,  zAddDescriptorTest._TestMessager?z7With the cpp implementation, Add() must be called firstcCs|jd|jddS)Nr>r)r)rr!r!r" testMessages zAddDescriptorTest.testMessagec Cstj}|jtjj|jd|j|dj|j t |j|dWdQRX|jtj j j|jd|j|dj|jd|j dj|jd|j|djdS)Nzprotobuf_unittest.ForeignEnumz(protobuf_unittest.ForeignEnum.NestedEnumz)protobuf_unittest.TestAllTypes.NestedEnumzgoogle/protobuf/unittest.proto)rriAddEnumDescriptorrrrwrrGr/r$r%r NestedEnumrrr')rrrr!r!r" _TestEnums,  zAddDescriptorTest._TestEnumcCs|jd|jddS)Nr>r)r)rr!r!r"testEnum,s zAddDescriptorTest.testEnumc CsLtj}|jt|jdWdQRX|jtj|jd|jdj dS)Nzprotobuf_unittest.TestService) rrir$r%rIAddServiceDescriptorrZ _TESTSERVICErr/)rrr!r!r" testService2s  zAddDescriptorTest.testServicec CsLtj}|jtj|jd|jdj|jt |j dWdQRXdS)Nzgoogle/protobuf/unittest.protozprotobuf_unittest.TestAllTypes) rriAddFileDescriptorrrwrrrr$r%r')rrr!r!r"testFile=s   zAddDescriptorTest.testFilecCsRtj}tjj}|jt|j|tj}tjj ||j ||j |j|dS)N) rrirrwrr$r%rrzZ CopyToProtorjr6)rrZproto_file_namerur!r!r"testEmptyDescriptorPoolMs  z)AddDescriptorTest.testEmptyDescriptorPoolcCs tj}tjddd}|jjdd|j||j|jdj d|j|j dj dtjdd}|jjdd}|j jd d tj j tj jd |jjd d}|jjd dd|jjddtj}|j||jd|j dj |jd |jd j |jd|jdj dS)Nzsome/file.protor)rrZMessage)rzpackage.Messagezsome/filename/container.protoZ TopMessageZbbr*)rrMrrRZTopEnumZ FOREIGN_FOO)rrMZ TopService)rrirrzr4addrjrrrr.rSZFieldDescriptorProtoZ TYPE_INT32ZLABEL_OPTIONALr5r~rfrGrI)rrrZ file_protoZ message_protoZ enum_protor!r!r"testCustomDescriptorPoolYs6    z*AddDescriptorTest.testCustomDescriptorPoolcCsptj}d}tj|d}tj}d|jj|_|j ||j |}|j }|j d|j|j|j ||j dS)Nz9file_descriptor_options_with_custom_descriptor_pool.proto)rZfoo)rrirrzr Z foo_optionsoptionsZ ExtensionsZfoo_namerjrZ GetOptionsrry)rr file_nameZfile_descriptor_protoZ extension_idrurr!r!r"1testFileDescriptorOptionsWithCustomDescriptorPoolxs   zCAddDescriptorTest.testFileDescriptorOptionsWithCustomDescriptorPoolc%Cstj}|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRXdS)Nr) rrir$rArrrr\r)rrr!r!r"testAddTypeErrors     z"AddDescriptorTest.testAddTypeErrorN)rrrrunittestZskipIfrrCrrrrrrrrrr!r!r!r"rs  rz4google/protobuf/internal/descriptor_pool_test1.protozgoogle.protobuf.python.internalALPHAr*rtr+EPSILONZETArETATHETArsZ nested_fieldZtheta)rDeepNestedMessageZbetaZdeep_nested_messager)rrZnested_messagerT)rGAMMADELTArIOTA KAPPA LAMBDA MU lambdaZdelta)rrZDescriptorPoolTest2z4google/protobuf/internal/descriptor_pool_test2.protoZDescriptorPoolTest3NU XIOMICRONPIRHOSIGMAZsigmaZnuZdescriptor_pool_testirr)rbz,google/protobuf/internal/more_messages.proto)rr__main__)rr*)rtr+)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)rr)+__doc__ __author__ossysZ unittest2r ImportErrorZgoogle.protobufrrrrZgoogle.protobuf.internalrrrr r r r r rrrrobjectrZTestCaserrrQrrrrrrrrrrrmainr!r!r!r" s                 3#  0           PK!i~Cprotobuf/internal/__pycache__/message_listener.cpython-36.opt-1.pycnu[3 h' @s,dZdZGdddeZGdddeZdS)zDefines a listener interface for observing certain state transitions on Message objects. Also defines a null implementation of this interface. z#robinson@google.com (Will Robinson)c@seZdZdZddZdS)MessageListeneraListens for modifications made to a message. Meant to be registered via Message._SetListener(). Attributes: dirty: If True, then calling Modified() would be a no-op. This can be used to avoid these calls entirely in the common case. cCstdS)aCalled every time the message is modified in such a way that the parent message may need to be updated. This currently means either: (a) The message was modified for the first time, so the parent message should henceforth mark the message as present. (b) The message's cached byte size became dirty -- i.e. the message was modified for the first time after a previous call to ByteSize(). Therefore the parent should also mark its byte size as dirty. Note that (a) implies (b), since new objects start out with a client cached size (zero). However, we document (a) explicitly because it is important. Modified() will *only* be called in response to one of these two events -- not every time the sub-message is modified. Note that if the listener's |dirty| attribute is true, then calling Modified at the moment would be a no-op, so it can be skipped. Performance- sensitive callers should check this attribute directly before calling since it will be true most of the time. N)NotImplementedError)selfr&/usr/lib/python3.6/message_listener.pyModified2szMessageListener.ModifiedN)__name__ __module__ __qualname____doc__rrrrrr(src@seZdZdZddZdS)NullMessageListenerz%No-op MessageListener implementation.cCsdS)Nr)rrrrrMszNullMessageListener.ModifiedN)rrr r rrrrrr Isr N)r __author__objectrr rrrr#s!PK!͡vg*g*>protobuf/internal/__pycache__/factory_test2_pb2.cpython-36.pycnu[3 h[a,@s ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZejd ddedejgdZejdddeejddddddejddddddgddddd ZejeejeZdZdZdZejdddddddded jd!dddd"dded#Z ejd$d%deejd&dddddejd'dddddgddd(d)d Z!eje!ejd*d+deejd,dddddgddd-d.d Z"eje"ej#d/d0dedejd1d2dddddded jd!dddddded#ggggdddggd3d4d5Z$ej#d6d7dedejd8d9dd:dddded jd!dddddded#ejd;dd?d5Z%ej#d@dAdedejdBdCdddDddEdddddddded#ejdFdGddEd=dHddddddddded#ejdIdJdEdd=dHddddddddded#ejdKdLddMdNdOddddddddded#ejdPdQdMdDdNdOddddddddded#ejdRdSdDdTd=dHddddddddded#ejdUdVdTdWd=dHddddddddded#ejdXdYdWdHdNdOddddddddded#ejdZd[dHddNdOddddddddded#ejd\d]ddOdddded jd!dddddded#ejd^d_dOdNddddgdddddded#ejd`dadNdbdOdOddgdddddded#ejdcdddbdedNdOddddddddded#ejdfdgd:dhdDddd"didddddded#ejdjdkd=dlddDdd"e&dmdddddded#ejdndodedpdddd"edqjd!dddddded#ejdrdsdhdtdHdWdd"ddddddded#ejdudvdldwd=dHdd"ddddddded#ejdxdydpdzdbddd"ed{dddddded#ejd|d}dtd~dDdddddddddded#ejdddwddddded jd!dddddded#gejdddddddded jd!dddd"dded#ge$e%ge!gdddgej'ddddgdgddd5Z(ej#dddedejdcddddNdOddddddddded#ggggdddggddd5Z)ej#dddedggge"gdddggdd.d5Z*ej#dddedejdddddDdddddddddded#ggggej+ej,edddggddd5Z-e(e$_.e(e%_.ee(j/dF_0e!e(j/dI_0e$e(j/dK_1ej2e(j/dP_1ej3e(j/dR_0ej4e(j/dU_0ej5e(j/dX_1e(e(j/dZ_1e%e(j/d`_1e)e(j/dc_1ee(j/du_0e(e!_.e(j6dj7j8e(j/d|e(j6de(j/d|_9e(j6dj7j8e(j/de(j6de(j/d_9e(e)j/dc_1e*e"_.e(ej:d@<e)ej:d<e*ej:d<e-ej:d<eej;d<e ejd@e j?fe@e j>d/e j?fe@e$dde j>d6e j?fe@e%dde(ddZAejBeAejBeAjCejBeAjDe j>de j?fe@e)ddZEejBeEe j>de j?fe@e*ddZFejBeFe j>de j?fe@e-ddZGejBeGejHjIe ejHjIe(jsrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)factory_test1_pb2z,google/protobuf/internal/factory_test2.protozgoogle.protobuf.python.internalZproto2u ,google/protobuf/internal/factory_test2.protogoogle.protobuf.python.internal,google/protobuf/internal/factory_test1.proto"Ø Factory2Message mandatory (E factory_2_enum (2-.google.protobuf.python.internal.Factory2Enumb nested_factory_2_enum (2C.google.protobuf.python.internal.Factory2Message.NestedFactory2Enumh nested_factory_2_message ( 2F.google.protobuf.python.internal.Factory2Message.NestedFactory2MessageK factory_1_message ( 20.google.protobuf.python.internal.Factory1MessageE factory_1_enum (2-.google.protobuf.python.internal.Factory1Enumb nested_factory_1_enum (2C.google.protobuf.python.internal.Factory1Message.NestedFactory1Enumh nested_factory_1_message ( 2F.google.protobuf.python.internal.Factory1Message.NestedFactory1MessageJ circular_message ( 20.google.protobuf.python.internal.Factory2Message scalar_value (  list_value ( I grouped ( 28.google.protobuf.python.internal.Factory2Message.Grouped: loop ( 2,.google.protobuf.python.internal.LoopMessage int_with_default (:1776! double_with_default (:9.99( string_with_default ( : hello world bool_with_default (:false[ enum_with_default (2-.google.protobuf.python.internal.Factory2Enum:FACTORY_2_VALUE_1& bytes_with_default ( : a\373\000c oneof_int (H oneof_string ( H& NestedFactory2Message value ( ) Grouped part_1 (  part_2 ( "P NestedFactory2Enum NESTED_FACTORY_2_VALUE_0 NESTED_FACTORY_2_VALUE_12I one_more_field0.google.protobuf.python.internal.Factory1Messageé ( B oneof_field"M LoopMessage> loop ( 20.google.protobuf.python.internal.Factory2Message"D MessageWithNestedEnumOnly"' NestedEnum NESTED_MESSAGE_ENUM_0"' MessageWithOption field1 (:*< Factory2Enum FACTORY_2_VALUE_0 FACTORY_2_VALUE_1:H another_field0.google.protobuf.python.internal.Factory1Messageê ( )namepackagesyntaxZ serialized_pbZ dependencies Factory2Enumz,google.protobuf.python.internal.Factory2EnumFACTORY_2_VALUE_0)rindexnumberoptionstypeFACTORY_2_VALUE_1iiT) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endi another_fieldz-google.protobuf.python.internal.another_field Fzutf-8T)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrZNestedFactory2EnumzBgoogle.protobuf.python.internal.Factory2Message.NestedFactory2EnumZNESTED_FACTORY_2_VALUE_0ZNESTED_FACTORY_2_VALUE_1iiZ NestedEnumzDgoogle.protobuf.python.internal.MessageWithNestedEnumOnly.NestedEnumZNESTED_MESSAGE_ENUM_0iiNestedFactory2MessagezEgoogle.protobuf.python.internal.Factory2Message.NestedFactory2MessagevaluezKgoogle.protobuf.python.internal.Factory2Message.NestedFactory2Message.valuei[i)rrrrrfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr r!Groupedz7google.protobuf.python.internal.Factory2Message.GroupedZpart_1z>google.protobuf.python.internal.Factory2Message.Grouped.part_1 Zpart_2z>google.protobuf.python.internal.Factory2Message.Grouped.part_2iiFactory2Messagez/google.protobuf.python.internal.Factory2MessageZ mandatoryz9google.protobuf.python.internal.Factory2Message.mandatoryZfactory_2_enumz>google.protobuf.python.internal.Factory2Message.factory_2_enumZnested_factory_2_enumzEgoogle.protobuf.python.internal.Factory2Message.nested_factory_2_enumZnested_factory_2_messagezHgoogle.protobuf.python.internal.Factory2Message.nested_factory_2_message Zfactory_1_messagezAgoogle.protobuf.python.internal.Factory2Message.factory_1_messageZfactory_1_enumz>google.protobuf.python.internal.Factory2Message.factory_1_enumZnested_factory_1_enumzEgoogle.protobuf.python.internal.Factory2Message.nested_factory_1_enumZnested_factory_1_messagezHgoogle.protobuf.python.internal.Factory2Message.nested_factory_1_messageZcircular_messagez@google.protobuf.python.internal.Factory2Message.circular_messageZ scalar_valuezgoogle.protobuf.python.internal.Factory2Message.one_more_fieldiZ oneof_fieldz;google.protobuf.python.internal.Factory2Message.oneof_field)rrrrr)iX LoopMessagez+google.protobuf.python.internal.LoopMessagez0google.protobuf.python.internal.LoopMessage.loopiZiMessageWithNestedEnumOnlyz9google.protobuf.python.internal.MessageWithNestedEnumOnlyiMessageWithOptionz1google.protobuf.python.internal.MessageWithOptionZfield1z8google.protobuf.python.internal.MessageWithOption.field1ziiz*google.protobuf.internal.factory_test2_pb2) DESCRIPTOR __module__)r'r+rErF)Lsys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ8google_dot_protobuf_dot_internal_dot_factory__test1__pb2ZFileDescriptorrEZEnumDescriptorZEnumValueDescriptorZ _FACTORY2ENUMZRegisterEnumDescriptorZEnumTypeWrapperrrrZANOTHER_FIELD_FIELD_NUMBERZFieldDescriptordecoder"Z#_FACTORY2MESSAGE_NESTEDFACTORY2ENUMZ%_MESSAGEWITHNESTEDENUMONLY_NESTEDENUMZ DescriptorZ&_FACTORY2MESSAGE_NESTEDFACTORY2MESSAGEZ_FACTORY2MESSAGE_GROUPEDfloatZOneofDescriptorZ_FACTORY2MESSAGEZ _LOOPMESSAGEZ_MESSAGEWITHNESTEDENUMONLYZ _ParseOptionsZMessageOptionsZ_MESSAGEWITHOPTIONrZfields_by_namer&r%Z_FACTORY1MESSAGEZ _FACTORY1ENUMZ#_FACTORY1MESSAGE_NESTEDFACTORY1ENUMZ&_FACTORY1MESSAGE_NESTEDFACTORY1MESSAGEZoneofs_by_namer)appendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr.ZRegisterMessager'r+rBrCrDZFactory1MessageZRegisterExtensionZ has_optionsZ_optionsrrrrsH                                                  PK!Мk=protobuf/internal/__pycache__/text_format_test.cpython-36.pycnu[3 h @sdZdZddlZddlZddlZddlZy ddlZWnek rPddlZYnXddl m Z ddl m Z ddl m Z ddl mZddl mZdd l mZdd l mZddl m Zdd l mZdd l mZdd l mZddl mZGdddejZGdddejZe jeeGdddeZGdddeZGdddeZGdddejZGdddejZe jeeGdddeZ e!dkrej"dS) z%Test for google.protobuf.text_format.z kenton@google.com (Kenton Varda)N)_parameterized) any_test_pb2)map_unittest_pb2)unittest_mset_pb2) unittest_pb2)unittest_proto3_arena_pb2)api_implementation)message_set_extensions_pb2) test_util)descriptor_pool) text_formatc@seZdZddZdS)SimpleTextFormatTestscCs$xtjD]}|jdt|qWdS)N)r Z_QUOTES assertEquallen)selfZquoter&/usr/lib/python3.6/text_format_test.pytestQuoteMarksAreSingleCharsFs z2SimpleTextFormatTests.testQuoteMarksAreSingleCharsN)__name__ __module__ __qualname__rrrrrr @sr c@s,eZdZddZddZddZddZd S) TextFormatBasec Cs4tj| }ttkr|jSdd|DSQRXdS)NcSsg|]}|jdqS)zutf-8)decode).0Z golden_linerrr Qsz-TextFormatBase.ReadGolden..)r Z GoldenFilestrbytes readlines)rgolden_filenamefrrr ReadGoldenNs zTextFormatBase.ReadGoldencCs |j|}|j|dj|dS)N)r!ZassertMultiLineEqualjoin)rtextrZ golden_linesrrrCompareToGoldenFileSs z"TextFormatBase.CompareToGoldenFilecCs|j||dS)N)r)rr$ golden_textrrrCompareToGoldenTextWsz"TextFormatBase.CompareToGoldenTextcCs>|jddjddjddjdd}tjdtjjd|}|S)Nze+0ze+ze-0ze-z\.0$r")replacerecompile MULTILINEsub)rr$rrrRemoveRedundantZerosZsz#TextFormatBase.RemoveRedundantZerosN)rrrr!r%r'r-rrrrrLsrc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=S)>TextFormatTestcCsx|j}|jjd |jjd|jjd|jjd|jjd|jjd|jjd|j|jtj |ddS) Nllgw/^@gtQFքDg‚6.UnicodeSubN)rrrrrrr UnicodeSub~sr9uüꜟz(repeated_string: "\303\274\352\234\237" )sixZ text_typer/r4r1r'r r5)rr6r9r7rrrtestPrintExoticUnicodeSubclass|s z-TextFormatTest.testPrintExoticUnicodeSubclasscCs2|j}|jj}d|_|jtj|ddddS)N*T) as_one_linez"repeated_nested_message { bb: 42 })r/repeated_nested_messageaddbbr'r r5)rr6r7msgrrrtestPrintNestedMessageAsOneLines   z.TextFormatTest.testPrintNestedMessageAsOneLinecCs^|j}|jjd|jjd|jjd|jjd|jjd|jtj|ddddS)NrZGoogleZZurichT)r=zirepeated_int32: 1 repeated_int32: 1 repeated_int32: 3 repeated_string: "Google" repeated_string: "Zurich")r/Zrepeated_int32r1r4r'r r5)rr6r7rrr testPrintRepeatedFieldsAsOneLines      z/TextFormatTest.testPrintRepeatedFieldsAsOneLinecCs(|j}d|_|jtj|ddddS)Nz a new lineT)r=zoptional_string: "a\nnew\nline")r/optional_stringr'r r5)rr6r7rrr'testPrintNestedNewLineInStringAsOneLines  z6TextFormatTest.testPrintNestedNewLineInStringAsOneLinecCs||j}|jjd |jjd|jjd|jjd|jjd|jjd|jjd|j|jtj |dd d dS) Nllgw/^@gtQFքDg‚6i g⹭?zoptional_float: 1.25z%optional_double: -3.45678901234568e-6zrepeated_float: -5642zrepeated_double: 7.89e-5z.15g) float_formatz&payload {{ {0} {1} {2} {3} }} T)r=rOzpayload {{ {0} {1} {2} {3} }}g/_e̾i) ZNestedTestAllTypesZpayloadoptional_floatZoptional_doubleZrepeated_floatr1r3r r5r'r-format)rr6r7Zformatted_fieldsZ text_messagerrrtestPrintFloatFormats&z#TextFormatTest.testPrintFloatFormatcCs"|j}d|_|jdt|dS)N{zc: 123 )ZForeignMessagecrr)rr6r7rrrtestMessageToStringsz"TextFormatTest.testMessageToStringcCs|j}|jjd}|j}tjd}tj||||jd|j|j tjd}tj |}|j|||jd|j|j dS)NrPFzoptional_float: 0.0 ) r/ DESCRIPTORfields_by_namerPr TextWriterZ PrintFieldrgetvalueclose_Printer)rr6r7fieldvalueoutprinterrrrtestPrintFields     zTextFormatTest.testPrintFieldcCs|j}|jjd}|j}tjd}tj||||jd|j|j tjd}tj |}|j|||jd|j|j dS)NrPFz0.0) r/rVrWrPr rXZPrintFieldValuerrYrZr[)rr6r7r\r]r^r_rrrtestPrintFieldValues     z"TextFormatTest.testPrintFieldValuecCsT|j}tj|tj|}|j}tj|||j|||tkrPtj||dS)N) r/r SetAllFieldsr r5rIrrExpectAllFieldsSet)rr6r7 ascii_textrKrrrtestParseAllFields"s    z!TextFormatTest.testParseAllFieldscCs|j}tj|tj|}|jd}|j}tj|||j|||tkrZtj |||j tj |||j|||tkrtj ||t j r|j}d}tj |||j|jd|j tj|||j|jddS)Nzutf-8uoptional_string: "café"ucafé)r/r rbr r5encoderIrrrcClearMerger:ZPY2rE)rr6r7rdrKZmsg2r$rrrtestParseAndMergeUtf8-s,           z$TextFormatTest.testParseAndMergeUtf8cCs|j}d}tj|||jd|jd|jd|jd|jd|jd|jd|jd|jd|jd |jd |jd|jd |jd|jd |jd |jd |jddS)NuUrepeated_int64: -9223372036854775808 repeated_uint64: 18446744073709551615 repeated_double: 123.456 repeated_double: 1.23e+22 repeated_double: 1.23e-18 repeated_string: "\000\001\007\010\014\n\r\t\013\\\'\"" repeated_string: "foo" 'corge' "grault" repeated_string: "\303\274\352\234\237" repeated_string: "\xc3\xbc" repeated_string: "ü" lrlgw/^@gtQFքDrg‚6<z  \'"ZfoocorgegraultuüꜟürCl)r/r rIrr0r2r3r4)rr6r7r$rrrtestParseExoticHs zTextFormatTest.testParseExoticcCsv|j}d}tj|||jd|jd|jd|jd|jd|jd|jd|jd|jd |jddS) Nzorepeated_int64: 100; repeated_int64: 200; repeated_int64: 300, repeated_string: "one", repeated_string: "two"; drri,rjonetwo)r/r rIrr0r4)rr6r7r$rrrtestParseTrailingCommasas z&TextFormatTest.testParseTrailingCommascCsv|j}d}tj|||jd|jd|jd|jd|jd|jd|jd|jd|jd |jddS) NzRrepeated_int64: [100, 200]; repeated_int64: 300, repeated_string: ["one", "two"]; rmrrnri,rjrorp)r/r rIrr0r4)rr6r7r$rrr"testParseRepeatedScalarShortFormatps z1TextFormatTest.testParseRepeatedScalarShortFormatcCsl|j}d}tj|||jd|jdj|jd|jdj|jd|jdj|jd|jd jdS) Nzyrepeated_nested_message: [{bb: 100}, {bb: 200}], repeated_nested_message: {bb: 300} repeated_nested_message [{bb: 400}]; rmrrnri,rjirC)r/r rIrr>r@)rr6r7r$rrr#testParseRepeatedMessageShortFormat}s z2TextFormatTest.testParseRepeatedMessageShortFormatcCs,|j}d}tj|||j|j|dS)Nr")r/r rIr)rr6r7r$rrrtestParseEmptyTexts z!TextFormatTest.testParseEmptyTextc CsX|j}d}|jtj}tj||WdQRX|j|jjd|j|jjddS)Nzrepeated_string: "\xc3\xc3"r) r/ assertRaisesr ParseErrorrIr exceptionZGetLineZ GetColumn)rr6r7r$errrtestParseInvalidUtf8s z#TextFormatTest.testParseInvalidUtf8cCs(|j}d}tj|tjdtj||dS)Nfooz?1:1 : Message type "\w+.TestAllTypes" has no field named "foo".)r/r:assertRaisesRegexr rwrI)rr6r7r$rrrtestParseSingleWords  z"TextFormatTest.testParseSingleWordcCs(|j}d}tj|tjdtj||dS)Nzunknown_field: 8 zI1:1 : Message type "\w+.TestAllTypes" has no field named "unknown_field".)r/r:r|r rwrI)rr6r7r$rrrtestParseUnknownFields  z$TextFormatTest.testParseUnknownFieldcCs(|j}d}tj|tjdtj||dS)Nzoptional_nested_enum: BARRzG1:23 : Enum type "\w+.TestAllTypes.NestedEnum" has no value named BARR.)r/r:r|r rwrI)rr6r7r$rrrtestParseBadEnumValues  z$TextFormatTest.testParseBadEnumValuecCs(|j}d}tj|tjdtj||dS)Nzoptional_int32: borkz#1:17 : Couldn't parse integer: bork)r/r:r|r rwrI)rr6r7r$rrrtestParseBadIntValues  z#TextFormatTest.testParseBadIntValuecCs|j}d}tj||d}|jd|jd|j|d|d|jd|j|d|d |jd |j||d||d|jd |j||d||d |jd |j|d |jddS)Narepeated_string: "\xf\x62" repeated_string: "\\xf\\x62" repeated_string: "\\\xf\\\x62" repeated_string: "\\\\xf\\\\x62" repeated_string: "\\\\\xf\\\\\x62" repeated_string: "\x5cx20"\zbrZxfZx62rbrjrCZx20)r/r rIrr4)rr6r7r$SLASHrrrtestParseStringFieldUnescapes   z+TextFormatTest.testParseStringFieldUnescapecCs6|j}d}tj||}|j|||jd|jdS)Nz%optional_int32: 42 optional_int32: 67C)r/r rhrJroptional_int32)rr6r7r$rLrrrtestMergeDuplicateScalarss   z(TextFormatTest.testMergeDuplicateScalarscCs:|j}d}tj||}|j||k|jd|jjdS)NzCoptional_nested_message { bb: 1 } optional_nested_message { bb: 2 }rj)r/r rh assertTrueroptional_nested_messager@)rr6r7r$rLrrr&testMergeDuplicateNestedMessageScalarss  z5TextFormatTest.testMergeDuplicateNestedMessageScalarscCs>|j}d|_|j}tjtj|||jd|jddS)N oneof_uint32 oneof_field)r/rr rIr5r WhichOneof)rr6mm2rrrtestParseOneofs zTextFormatTest.testParseOneofcCs8djddg}|j}tj|||jd|jddS)N zoneof_uint32: 11zoneof_string: "foo"Z oneof_stringr)r#r/r rhrr)rr6m_stringrrrrtestMergeMultipleOneofs z%TextFormatTest.testMergeMultipleOneofc Cs@djddg}|j}|jtjdtj||WdQRXdS)Nrzoneof_uint32: 11zoneof_string: "foo"z is specified along with field )r#r/r|r rwrI)rr6rrrrrtestParseMultipleOneofs z%TextFormatTest.testParseMultipleOneofN)!rrrr8r;rBrDrFrGrMrNrRrUr`rarerirlrqrrrsrtrzr}r~rrrrrrrrrrrrr.es<   !   r.c@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS) OnlyWorksWithProto2RightNowTestscCs2tj}tj||j|jtj|ddddS)NT)pointy_bracketsz*text_format_unittest_data_pointy_oneof.txt)rr/r rbr%r-r r5)rr7rrrtestPrintAllFieldsPointys   z9OnlyWorksWithProto2RightNowTests.testPrintAllFieldsPointycCsRdj|jd}tj}tj||}|j||tj}tj||j ||dS)Nrz/text_format_unittest_data_oneof_implemented.txt) r#r!rr/r rIrJr rbr)rr&rKrLr7rrrtestParseGoldens   z0OnlyWorksWithProto2RightNowTests.testParseGoldencCs.tj}tj||j|jtj|ddS)Nz/text_format_unittest_data_oneof_implemented.txt)rr/r rbr%r-r r5)rr7rrrtestPrintAllFieldss  z3OnlyWorksWithProto2RightNowTests.testPrintAllFieldscCsbtj}d|_d|_d|_d|j_d|j_|j|j t j |ddd|j|j t j |d dS) NZ115eorrT)Zuse_index_orderzWmy_string: "115" my_int: 101 my_float: 111 optional_nested_message { oo: 0 bb: 1 } zWmy_int: 101 my_string: "115" my_float: 111 optional_nested_message { bb: 1 oo: 0 } ) rZTestFieldOrderingsZ my_stringZmy_intZmy_floatrZoor@r'r-r r5)rr7rrrtestPrintInIndexOrder s z6OnlyWorksWithProto2RightNowTests.testPrintInIndexOrdercCsL|jd}tj}tj||}|j||tj}tj||j||dS)Nz/text_format_unittest_data_oneof_implemented.txt) r!rr/r Z MergeLinesrJr rbr)ropenedrKrLr7rrrtestMergeLinesGoldens    z5OnlyWorksWithProto2RightNowTests.testMergeLinesGoldencCsL|jd}tj}tj||}|j||tj}tj||j||dS)Nz/text_format_unittest_data_oneof_implemented.txt) r!rr/r Z ParseLinesrJr rbr)rrrKrLr7rrrtestParseLinesGolden's    z5OnlyWorksWithProto2RightNowTests.testParseLinesGoldencCs\tj}d |jd <d|jd<d|jd<d|jd<d|jd<d|jd _|j t j |d dS)NirSrj"!123abcrraHmap_int32_int32 { key: -123 value: -456 } map_int64_int64 { key: -8589934592 value: -17179869184 } map_uint32_uint32 { key: 123 value: 456 } map_uint64_uint64 { key: 8589934592 value: 17179869184 } map_string_string { key: "abc" value: "123" } map_int32_foreign_message { key: 111 value { c: 5 } } i8illllll) rTestMapmap_int32_int32map_int64_int64map_uint32_uint32map_uint64_uint64map_string_stringmap_int32_foreign_messagerTr'r r5)rr7rrr testPrintMap1s      z-OnlyWorksWithProto2RightNowTests.testPrintMapcCs|tj}x tjddD]}d|j|<qWx$ttjddD]}d|j|<q>WdjddtjD}|jtj ||dS)N Zdummyrr"css|]}d|fVqdS)z3map_string_string { key: "%c" value: "dummy" } Nr)rletterrrr _szKOnlyWorksWithProto2RightNowTests.testMapOrderEnforcement..) rrstringZascii_uppercaserreversedr#r'r r5)rr7rgoldenrrrtestMapOrderEnforcementYs  z8OnlyWorksWithProto2RightNowTests.testMapOrderEnforcementN) rrrrrrrrrrrrrrrrs   (rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+S), Proto2TestscCsvtj}tjj}tjj}d|jj|_d|jj|_|j t j |dt j }t j}d|j|_|j t j |ddS)Nr{zmessage_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } ZbarzF[google.protobuf.internal.TestMessageSetExtension3] { text: "bar" } )rTestMessageSetContainerTestMessageSetExtension1message_set_extensionTestMessageSetExtension2 message_set Extensionsirr'r r5r ZTestMessageSetZmessage_set_extension3r$)rr7ext1ext2ZextrrrtestPrintMessageSetvs  zProto2Tests.testPrintMessageSetcCsjtjd}tj}tjj}tjj}d|jj|_ d|jj|_ tj ||dd|j |j d|jdS)NFrr{T)Zuse_field_numberz?1 { 1545008 { 15: 23 } 1547769 { 25: "foo" } } )r rXrrrrrrrrrZ PrintMessager'rYrZ)rr^r7rrrrr testPrintMessageSetByFieldNumbers z,Proto2Tests.testPrintMessageSetByFieldNumbercCsNtj}tjj}tjj}d|jj|_d|jj|_|j t j |ddddS)Nrr{T)r=zmessage_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } }) rrrrrrrrrr'r r5)rr7rrrrrtestPrintMessageSetAsOneLines z(Proto2Tests.testPrintMessageSetAsOneLinecCstj}d}tj|||jd|jd|jd|jdtj}d}tj||tjj }tj j }|jd|j j |j |jd|j j |jdS)Nz&repeated_uint64: 1 repeated_uint64: 2 rrrjzmessage_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } rr{)rr/r rIrr2rrrrrrrrr)rr7r$rrrrrtestParseMessageSets  zProto2Tests.testParseMessageSetcCs>tj}d}tj||tjd|jtj|tjd|dS)Nzvalue { [type.googleapis.com/google.protobuf.internal.TestAny] { [google.protobuf.internal.TestAnyExtension1.extension1] { i: 10 } } } )r )test_extend_anyTestAnyr rhr Defaultr'r5)rr7r$rrrtestExtensionInsideAnyMessages z)Proto2Tests.testExtensionInsideAnyMessagec Cstj}d}tj||dd|jd|jd|jd|jdtj}d}tj||ddtjj }tj j }|jd|j j |j |jd |j j |jtj}d }tj|tjd tj||d }tj|tjd tj||dddS)Nz34: 1 repeated_uint64: 2 T)Zallow_field_numberrrrjz?1 { 1545008 { 15: 23 } 1547769 { 25: "foo" } } rr{z34:1 z>1:1 : Message type "\w+.TestAllTypes" has no field named "34".z1234:1 z@1:1 : Message type "\w+.TestAllTypes" has no field named "1234".)rr/r rIrr2rrrrrrrrrr:r|rw)rr7r$rrrrrtestParseMessageByFieldNumbers4  z)Proto2Tests.testParseMessageByFieldNumbercCs.tj}tj||j|jtj|ddS)Nz(text_format_unittest_extensions_data.txt)rTestAllExtensionsr SetAllExtensionsr%r-r r5)rr7rrrtestPrintAllExtensionss  z"Proto2Tests.testPrintAllExtensionscCs2tj}tj||j|jtj|ddddS)NT)rz/text_format_unittest_extensions_data_pointy.txt)rrr rr%r-r r5)rr7rrrtestPrintAllExtensionsPointys   z(Proto2Tests.testPrintAllExtensionsPointycCsFdj|jd}tj}tj||tj}tj||j||dS)Nrz(text_format_unittest_extensions_data.txt) r#r!rrr rIr rr)rr&rKr7rrrtestParseGoldenExtensionss  z%Proto2Tests.testParseGoldenExtensionscCs@tj}tj|tj|}tj}tj|||j||dS)N)rrr rr r5rIr)rr7rdrKrrrtestParseAllExtensionss    z"Proto2Tests.testParseAllExtensionsc CsVtj}d}tj||ddd}|jtj||tj}d}tj|tjdtj||ddtj}d}tj|tjdtj||ddtj}d }tj|tjdtj||ddtj}d }tj|tjd tj||ddtj}d }tj|tjd tj||ddtj}d}tj||ddtj j }tj j }|j d|j j|j|j d|j j|jdS)Numessage_set { [unknown_extension] { i: 23 bin: "à" [nested_unknown_ext]: { i: 23 x: x test: "test_string" floaty_float: -0.315 num: -inf multiline_str: "abc" "def" "xyz." [nested_unknown_ext.ext]: < i: 23 i: 24 pointfloat: .3 test: "test_string" floaty_float: -0.315 num: -inf long_string: "test" "test2" > } } [unknown_extension]: 5 } T)Zallow_unknown_extensionzmessage_set { } z3message_set { [unknown_extension] { i: } } zInvalid field value: }zGmessage_set { [unknown_extension] { str: "malformed string } } zInvalid field value: "zSmessage_set { [unknown_extension] { str: "malformed multiline string } } z7message_set { [malformed_extension] < i: -5 } z5:1 : Expected ">".z)message_set { unknown_field: true } zb2:3 : Message type "proto2_wireformat_unittest.TestMessageSet" has no field named "unknown_field".zmessage_set { [protobuf_unittest.TestMessageSetExtension1] { i: 23 } [protobuf_unittest.TestMessageSetExtension2] { str: "foo" } } rr{)rrr rIr'r5r:r|rwrrrrrrrr)rr7r$rZ malformedrrrrr testParseAllowedUnknownExtension"srz,Proto2Tests.testParseAllowedUnknownExtensionc CsFtj}d}|jtj}tj||WdQRX|jt|jddS)Nz#optional_nested_message { "bb": 1 }z/1:27 : Expected identifier or number, got "bb".) rr/rvr rwrIrrrx)rr7r$ryrrrtestParseBadIdentifiers  z"Proto2Tests.testParseBadIdentifiercCsHtj}d}tj|tjdtj||tj}tj|tjdtj||dS)Nz[unknown_extension]: 8 z31:2 : Extension "unknown_extension" not registered.zM1:2 : Message type "protobuf_unittest.TestAllTypes" does not have extensions.)rrr:r|r rwrIr/)rr7r$rrrtestParseBadExtensions   z!Proto2Tests.testParseBadExtensioncCs(tj}d}tj|tjdtj||dS)Nzoptional_nested_enum: 100zL1:23 : Enum type "\w+.TestAllTypes.NestedEnum" has no value with number 100.)rr/r:r|r rwrI)rr7r$rrrtestParseNumericUnknownEnums  z'Proto2Tests.testParseNumericUnknownEnumcCs0tj}d}tj|||jd|jtjdS)Nza[protobuf_unittest.optional_int32_extension]: 42 [protobuf_unittest.optional_int32_extension]: 67r)rrr rhrrZoptional_int32_extension)rr7r$rrr"testMergeDuplicateExtensionScalarss  z.Proto2Tests.testMergeDuplicateExtensionScalarscCs(tj}d}tj|tjdtj||dS)Nza[protobuf_unittest.optional_int32_extension]: 42 [protobuf_unittest.optional_int32_extension]: 67z1:96 : Message type "protobuf_unittest.TestAllExtensions" should not have multiple "protobuf_unittest.optional_int32_extension" extensions.)rrr:r|r rwrI)rr7r$rrr"testParseDuplicateExtensionScalarss  z.Proto2Tests.testParseDuplicateExtensionScalarscCs(tj}d}tj|tjdtj||dS)NzCoptional_nested_message { bb: 1 } optional_nested_message { bb: 2 }zh1:65 : Message type "protobuf_unittest.TestAllTypes.NestedMessage" should not have multiple "bb" fields.)rr/r:r|r rwrI)rr7r$rrr&testParseDuplicateNestedMessageScalarss  z2Proto2Tests.testParseDuplicateNestedMessageScalarscCs(tj}d}tj|tjdtj||dS)Nz%optional_int32: 42 optional_int32: 67zf1:36 : Message type "protobuf_unittest.TestAllTypes" should not have multiple "optional_int32" fields.)rr/r:r|r rwrI)rr7r$rrrtestParseDuplicateScalarss  z%Proto2Tests.testParseDuplicateScalarscCsDtj}d}tj|tjdtj||d}tj|tjdtj||dS)NzRepeatedGroup: ".zRepeatedGroup: {z1:16 : Expected "}".)rr/r:r|r rwrI)rr7r$rrrtestParseGroupNotCloseds   z#Proto2Tests.testParseGroupNotClosedcCs\tj}d}tj|||j|jd|jtj}d}tj|||j|jddS)NzOptionalGroup: {}Z optionalgroupzOptionalGroup: <>)rr/r rIrZHasFieldrg)rr7r$rrrtestParseEmptyGroups  zProto2Tests.testParseEmptyGroupcCsd}tj}tj|||jd |jd |jd|jd|jd|jd|jd|jd|jd|j d|jd |j d j dS)NaHmap_int32_int32 { key: -123 value: -456 } map_int64_int64 { key: -8589934592 value: -17179869184 } map_uint32_uint32 { key: 123 value: 456 } map_uint64_uint64 { key: 8589934592 value: 17179869184 } map_string_string { key: "abc" value: "123" } map_int32_foreign_message { key: 111 value { c: 5 } } irSrjrrrrrri8illllll) rrr rIrrrrrrrrT)rr$r7rrr testParseMaps zProto2Tests.testParseMapN)rrrrrrrrrrrrrrrrrrrrrrrrrrrrrts*)  z    rc@s|eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdS) Proto3TestscCs@tj}d|_tj}|jj||jtj |t j dddS)Nr)r z[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } ) r OneStringdatarr any_valuePackrr r5r r)rpacked_messager7rrrtestPrintMessageExpandAnys  z%Proto3Tests.testPrintMessageExpandAnycCsRtj}tj}d|_|jjj|d|_|jjj||jt j |ddS)Nstring0string1zrepeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string0" } } repeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string1" } } ) rrrrrrepeated_any_valuer?rrr r5)rrr7rrr!testPrintMessageExpandAnyRepeated(sz-Proto3Tests.testPrintMessageExpandAnyRepeatedcCsDtj}d|_tj}|jj|tj}|j t j ||dddS)Nr)r zdany_value { type_url: "type.googleapis.com/protobuf_unittest.OneString" value: "\n\006string" } ) rrrrrrrr DescriptorPoolrr r5)rrr7 empty_poolrrr2testPrintMessageExpandAnyDescriptorPoolMissingType<s  z>Proto3Tests.testPrintMessageExpandAnyDescriptorPoolMissingTypecCs<tj}d|_tj}|jj||jtj |ddddS)NrT)rz[any_value < [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > > ) rrrrrrrrr r5)rrr7rrr'testPrintMessageExpandAnyPointyBracketsIs z3Proto3Tests.testPrintMessageExpandAnyPointyBracketscCs<tj}d|_tj}|jj||jtj |ddddS)NrT)r=zRany_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } }) rrrrrrrrr r5)rrr7rrr"testPrintMessageExpandAnyAsOneLineWs z.Proto3Tests.testPrintMessageExpandAnyAsOneLinecCsDtj}d|_tj}|jj||jtj |ddt j dddS)NrT)r=rr zRany_value < [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > >) rrrrrrrrr r5r r)rrr7rrr0testPrintMessageExpandAnyAsOneLinePointyBracketsds  ztj}tj}d|_tj|}tj|||jd|jdS)Ni)rr/Zoptional_nested_enumr r5rIr)rr7Zmessage2Z text_stringrrrtestUnknownEnumsss   zProto3Tests.testUnknownEnumscCsttj}d}tj||tj}|jj||jd|j |j tj ||tj}|jj||jd|j dS)Nz[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } r) rrr rhrrrUnpackrrrgrI)rr7r$rrrrtestMergeExpandedAny{s    z Proto3Tests.testMergeExpandedAnycCs`tj}d}tj||tj}|jdj||jd|j |jdj||jd|j dS)Nzrepeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string0" } } repeated_any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string1" } } rrrr) rrr rhrrrrrr)rr7r$rrrrtestMergeExpandedAnyRepeateds z(Proto3Tests.testMergeExpandedAnyRepeatedcCs>tj}d}tj||tj}|jj||jd|j dS)Nz[any_value { [type.googleapis.com/protobuf_unittest.OneString] < data: "string" > } r) rrr rhrrrrrr)rr7r$rrrr"testMergeExpandedAnyPointyBracketss   z.Proto3Tests.testMergeExpandedAnyPointyBracketscCs4tj}d}tj||tj}|jd|jjdS)NzYany_value { [type.otherapi.com/protobuf_unittest.OneString] { data: "string" } } z-type.otherapi.com/protobuf_unittest.OneString) rrr rhrrrrZtype_url)rr7r$rrrrtestMergeAlternativeUrls  z#Proto3Tests.testMergeAlternativeUrlc CsRtj}d}|jtj}tj}tj|||dWdQRX|jt |j ddS)Nz[any_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" } } )r z=Type protobuf_unittest.OneString not found in descriptor pool) rrrvr rwr rrhrrrx)rr7r$ryrrrr-testMergeExpandedAnyDescriptorPoolMissingTypesz9Proto3Tests.testMergeExpandedAnyDescriptorPoolMissingTypecCs>d}tj}tj||tj}|jj||jd|j dS)Nzdany_value { type_url: "type.googleapis.com/protobuf_unittest.OneString" value: "\n\006string" } r) rrr rhrrrrrr)rr$r7rrrrtestMergeUnexpandedAnys   z"Proto3Tests.testMergeUnexpandedAnyc CsFtj}d}|jtj}tj||WdQRX|jt|jddS)NzUany_value { [type.googleapis.com/protobuf_unittest.OneString] { data: "string" z3:11 : Expected "}".) rrrvr rwrhrrrx)rr7r$ryrrrtestMergeMissingAnyEndTokens z'Proto3Tests.testMergeMissingAnyEndTokenN)rrrrrrrrrrrrrrrrrrrrrrs     rc@steZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZdS) TokenizerTestcTCsd}tj|j}|jdfd|jdf|jdfd|jdf|jdfd|jdf|jd fd|jd f|jd fd|jd3f|jd fd|jdf|jdfd|jdf|jdfdd|jdfd|jtdf|jdfd|jtd f|jdfd|jdf|jdfd|jdfd|jdfd|jdf|jdfd|jd4f|jdfd|jd5f|jd fd|jd!f|jd"fd|jd#f|jd$fd|jd%f|jd&fd|jdf|jd'fd|jdf|jd(fd|jdf|jd)fd|jdf|jd*fd|jdf|jd+fd|jdf|jd,fd|jtdf|jd-fd|jtd.f|jd/fd|jtd0fgR}d1}x|j s||}t |t rN|j }|j |||jnNt |d2trtj|d2r|jtj|d1n|j |d2|d1|d27}qWdS)6Naidentifier1:"string1" identifier2 : 123 identifier3 :'string' identifiER_4 : 1.1e+2 ID5:-0.23 ID6:'aaaa\'bbbb' ID7 : "aa\"bb" ID8: {A:inf B:-inf C:true D:false} ID9: 22 ID10: -111111111111111111 ID11: -22 ID12: 2222222222222222222 ID13: 1.23456f ID14: 1.2e+2f false_bool: 0 true_BOOL:t true_bool1: 1 false_BOOL1:f False_bool: False True_bool: True X:iNf Y:-inF Z:nANZ identifier1:rZ identifier2rSZ identifier3rZ identifiER_4g[@ZID5gq= ףp?ZID6z aaaa'bbbbZID7zaa"bbZID8{AinfBCTDF}ZID9ZID10lq{U ZID11ZID12lc/Y-vZID13g82?ZID14g^@Z false_boolZ true_BOOLZ true_bool1Z false_BOOL1Z False_boolZ True_boolXYz-infZnanrrgq= ףpͿlq{U i)r Tokenizer splitlinesConsumeIdentifierZ ConsumeStringConsumeInteger ConsumeFloatfloat ConsumeBoolAtEnd isinstancertokenr NextTokenmathZisnanr)rr$ tokenizermethodsrrrrrrtestSimpleTokenCasess                                    z"TokenizerTest.testSimpleTokenCasesc Csd }d }d|d|df}tj|j}|jd|j|j|d|j|j|d|j|j|jd}tj|j}|jd|j|jd|j|jd|j|jd|j|jtj |jWdQRX|jd |j |j|jdS)Nr? z-1 %d %dz -0 0 0 1.2rTFg333333?llll) r rrrrrr ZTryConsumeIntegerrvrwr )r int64_max uint32_maxr$rrrrtestConsumeAbstractIntegers)s$z)TokenizerTest.testConsumeAbstractIntegerscCs<d}d }d|d|df}tj|j}|jtjtj||jtjtj||jd tj||jtjtj||jtjtj||j|dtj ||jtjtj ||j|dtj||j |j d}tj|j}|jdtj||jdtj||jdtj||jdtj||j |j dS) Nrrrz-1 %d %dz -0 -0 0 0rllllr) r rrrvrwZ_ConsumeUint32Z_ConsumeUint64rZ _ConsumeInt32Z _ConsumeInt64rr )rrrr$rrrrtestConsumeIntegersBs2     z!TokenizerTest.testConsumeIntegerscCsd}tj|j}|jtj|jd}tj|j}|jtj|jd}tj|j}|jtj|jd}tj|j}|jtj|jd}tj|j}|jtj|jdS)Nz "string1'zstring1"z "\xt"z "\"z "\x")r rrrvrwZConsumeByteString)rr$rrrrtestConsumeByteStringbsz#TokenizerTest.testConsumeByteStringcCs&d}tj|j}|jtj|jdS)Nz not-a-bool)r rrrvrwr )rr$rrrrtestConsumeBoolwszTokenizerTest.testConsumeBoolcCs0tjdj}|j|j|jtj|jdS)Nz# some comment)r rrrr rvrwConsumeComment)rrrrrtestSkipComment|szTokenizerTest.testSkipCommentcCsBtjdjdd}|j|j|jd|j|j|jdS)Nz# some commentF) skip_comments)r rr assertFalser rrr)rrrrrtestConsumeComments  z TokenizerTest.testConsumeCommentcCsVd}tj|jdd}|jd|j|j|j|jd|j|j|jdS)Nz # some comment # another commentF)rz# some commentz# another comment)r rrrrr r r)rr$rrrrtestConsumeTwoCommentss z$TokenizerTest.testConsumeTwoCommentscCsd}tj|jdd}|jtj|j|jd|j|j|jd|j |jtj|j|jd|j |j |j |jd|j|j |j dS)Nzsome_number: 4 # some commentF)r some_numberrrz# some comment)r rrrvrwrrrrrrr r r)rr$rrrrtestConsumeTrailingCommentsz(TokenizerTest.testConsumeTrailingCommentcCsBtjdjdd}|j|j|jd|j|j|jdS)N# some commentF)r)Fr%)r rrr r rConsumeCommentOrTrailingCommentr)rrrrrtestConsumeLineComments   z$TokenizerTest.testConsumeLineCommentcCsVd}tj|jdd}|jd|j|j|j|jd|j|j|jdS)Nz # some comment # another commentF)r# some comment# another comment)Fr()Fr))r rrrr&r r r)rr$rrrrtestConsumeTwoLineCommentss  z(TokenizerTest.testConsumeTwoLineCommentscCsd}tj|jdd}|jtj|j|jd|j|j|jd|j |jtj|j|jd|j |j |j |jd |j|j |j dS) Nzsome_number: 4 # some commentF)rr#rrT# some comment)Tr+)r rrrvrwr&rrrrrr r r)rr$rrrr"testConsumeAndCheckTrailingComments z0TokenizerTest.testConsumeAndCheckTrailingCommentcCsnd}tj|jdd}|jd|j|j|jd|j|jd|j|jd |j|j |j dS) Nz2some_number: 4 # some comment # not a new commentF)rr#rrT"# some comment # not a new comment)Tr-) r rrrrrrrr&rr )rr$rrrrtestHashinComments zTokenizerTest.testHashinCommentN)rrrrrrrrrr!r"r$r'r*r,r.rrrrrsM  rc@s4eZdZddZddZddZddZd d Zd S) PrettyPrinterTestcCs<dd}|j}|jj}d|_|jtj|d|dddS)NcSs ~~~dS)Nr)r7indentr=rrrr_sz9PrettyPrinterTest.testPrettyPrintNoMatch..printerr<T)r=message_formatterz"repeated_nested_message { bb: 42 })r/r>r?r@r'r r5)rr6r_r7rArrrtestPrettyPrintNoMatchs  z(PrettyPrinterTest.testPrettyPrintNoMatchcs@fdd}j}|jj}d|_|jtj|d|dddS)Ncs"~~|jjjjkrd|jSdS)NzMy lucky number is %s)rVr/ NestedMessager@)rr0r=)r6rrr_sz9PrettyPrinterTest.testPrettyPrintOneLine..printerr<T)r=r1z1repeated_nested_message { My lucky number is 42 })r/r>r?r@r'r r5)rr6r_r7rAr)r6rtestPrettyPrintOneLines   z(PrettyPrinterTest.testPrettyPrintOneLinecsXfdd}j}|jj}d|_|jtj|d|dd|jtj|d|dddS) Ncs6|jjjjkr2|rdndd|}d||jfSdS)N rzMy lucky number is:%s%s)rVr/r3r@)rr0r=Zline_deliminator)r6rrr_sz;PrettyPrinterTest.testPrettyPrintMultiLine..printerr<T)r=r1z2repeated_nested_message { My lucky number is: 42 }Fz7repeated_nested_message { My lucky number is: 42 } )r/r>r?r@r'r r5)rr6r_r7rAr)r6rtestPrettyPrintMultiLines    z*PrettyPrinterTest.testPrettyPrintMultiLinecsHfdd}j}|jtj|d|dd|jtj|d|dddS)Ncs~~|jjjkrdSdS)NzThe is the message!)rVr/)rr0r=)r6rrr_sz?PrettyPrinterTest.testPrettyPrintEntireMessage..printerF)r=r1zThe is the message! TzThe is the message!)r/r'r r5)rr6r_r7r)r6rtestPrettyPrintEntireMessages   z.PrettyPrinterTest.testPrettyPrintEntireMessagecsbfdd}j}d|_|jj}d|_|jj}d|_|j}d|_|jtj|d|dd dS) Ncs"~~|jjjjkrd|jSdS)NzMy lucky number is %s)rVr/r3r@)rr0r=)r6rrr_s z?PrettyPrinterTest.testPrettyPrintMultipleParts..printer=r<crT)r=r1zoptional_int32: 61 optional_nested_message { My lucky number is 1 } repeated_nested_message { My lucky number is 42 } repeated_nested_message { My lucky number is 99 }) r/rr>r?r@rr'r r5)rr6r_r7rAr)r6rtestPrettyPrintMultiplePartss    z.PrettyPrinterTest.testPrettyPrintMultiplePartsN)rrrr2r4r6r7r:rrrrr/s r/__main__)#__doc__ __author__rr)r:rZ unittest2Zunittest ImportErrorZgoogle.protobuf.internalrZgoogle.protobufrrrrrrrr r r r ZTestCaser rZ Parametersr.rrrrr/rmainrrrr!sT               'Cw] PK!ʎ٫44Aprotobuf/internal/__pycache__/_parameterized.cpython-36.opt-1.pycnu[3 h\<@sdZdZddlZddlZddlZddlZy ddlZWnek rPddlZYnXddl Z ddl Z ej dZ e j jZeZeZddZddZd d Zd d ZGd ddeZddZddZddZddZddZGdddeZddZGdddej edZ!d d!Z"dS)"a(Adds support for parameterized tests to Python's unittest TestCase class. A parameterized test is a method in a test case that is invoked with different argument tuples. A simple example: class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( (1, 2, 3), (4, 5, 9), (1, 1, 3)) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) Each invocation is a separate test case and properly isolated just like a normal test method, with its own setUp/tearDown cycle. In the example above, there are three separate testcases, one of which will fail due to an assertion error (1 + 1 != 3). Parameters for invididual test cases can be tuples (with positional parameters) or dictionaries (with named parameters): class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( {'op1': 1, 'op2': 2, 'result': 3}, {'op1': 4, 'op2': 5, 'result': 9}, ) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) If a parameterized test fails, the error message will show the original test name (which is modified internally) and the arguments for the specific invocation, which are part of the string returned by the shortDescription() method on test cases. The id method of the test, used internally by the unittest framework, is also modified to show the arguments. To make sure that test names stay the same across several invocations, object representations like >>> class Foo(object): ... pass >>> repr(Foo()) '<__main__.Foo object at 0x23d8610>' are turned into '<__main__.Foo>'. For even more descriptive names, especially in test logs, you can use the NamedParameters decorator. In this case, only tuples are supported, and the first parameters has to be a string (or an object that returns an apt name when converted via str()): class NamedExample(parameterized.ParameterizedTestCase): @parameterized.NamedParameters( ('Normal', 'aa', 'aaa', True), ('EmptyPrefix', '', 'abc', True), ('BothEmpty', '', '', True)) def testStartsWith(self, prefix, string, result): self.assertEqual(result, strings.startswith(prefix)) Named tests also have the benefit that they can be run individually from the command line: $ testmodule.py NamedExample.testStartsWithNormal . -------------------------------------------------------------------- Ran 1 test in 0.000s OK Parameterized Classes ===================== If invocation arguments are shared across test methods in a single ParameterizedTestCase class, instead of decorating all test methods individually, the class itself can be decorated: @parameterized.Parameters( (1, 2, 3) (4, 5, 9)) class ArithmeticTest(parameterized.ParameterizedTestCase): def testAdd(self, arg1, arg2, result): self.assertEqual(arg1 + arg2, result) def testSubtract(self, arg2, arg2, result): self.assertEqual(result - arg1, arg2) Inputs from Iterables ===================== If parameters should be shared across several test cases, or are dynamically created from other sources, a single non-tuple iterable can be passed into the decorator. This iterable will be used to obtain the test cases: class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( c.op1, c.op2, c.result for c in testcases ) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) Single-Argument Test Methods ============================ If a test method takes only one argument, the single argument does not need to be wrapped into a tuple: class NegativeNumberExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( -1, -3, -4, -5 ) def testIsNegative(self, arg): self.assertTrue(IsNegative(arg)) z!tmarek@google.com (Torsten Marek)Nz0\<([a-zA-Z0-9_\-\.]+) object at 0x[a-fA-F0-9]+\>cCstjdt|S)Nz<\1>)ADDR_REsubrepr)objr$/usr/lib/python3.6/_parameterized.py _CleanReprsrcCsd|j|jfS)Nz%s.%s) __module____name__)clsrrr _StrClasssr cCst|tjot|tj S)N) isinstance collectionsIterablesixZ string_types)rrrr_NonStringIterables rcCsNt|tjr(djddt|jDSt|r@djtt|St |fSdS)Nz, css"|]\}}d|t|fVqdS)z%s=%sN)r).0Zargnamevaluerrr sz'_FormatParameterList..) r rMappingjoinlistitemsrmapr_FormatParameterList)testcase_paramsrrrrs   rc@s(eZdZdZddZddZddZdS) _ParameterizedTestIterz9Callable and iterable class for producing new test cases.cCs||_||_||_dS)a\Returns concrete test functions for a test and a list of parameters. The naming_type is used to determine the name of the concrete functions as reported by the unittest framework. If naming_type is _FIRST_ARG, the testcases must be tuples, and the first element must have a string representation that is a valid Python identifier. Args: test_method: The decorated test method. testcases: (list of tuple/dict) A list of parameter tuples/dicts for individual test invocations. naming_type: The test naming type, either _NAMED or _ARGUMENT_REPR. N) _test_method testcases _naming_type)self test_methodr naming_typerrr__init__sz_ParameterizedTestIter.__init__cOs tddS)NzYou appear to be running a parameterized test case without having inherited from parameterized.ParameterizedTestCase. This is bad because none of your test cases are actually being run.) RuntimeError)r argskwargsrrr__call__sz_ParameterizedTestIter.__call__cs.|j|jfddfdd|jDS)Ncstjfdd}tkrJd|_|jtd7_ddn(tkrddtf|_nt dfd|jtf|_ j r|j d j f7_ |S) Ncs@ttjr|fn"tr2|fn |dS)N)r rrr)r )r!rrrBoundParamTests  zS_ParameterizedTestIter.__iter__..MakeBoundParamTest..BoundParamTestTrz(%s)z%s is not a valid naming type.z%s(%s)z %s) functoolswraps _FIRST_ARG__x_use_name__r str_ARGUMENT_REPRr__x_extra_id__r$__doc__)rr()r"r!)rrMakeBoundParamTests z;_ParameterizedTestIter.__iter__..MakeBoundParamTestc3s|]}|VqdS)Nr)rc)r2rrrsz2_ParameterizedTestIter.__iter__..)rrr)r r)r2r"r!r__iter__sz_ParameterizedTestIter.__iter__N)r r __qualname__r1r#r'r4rrrrrsrcCst|dkot|dt S)zt|tr.t|ttjs"tn|St|SdS)N)r typerIrSequencerr)r)r"rrr_Apply!s z#_ParameterDecorator.._Applyr)r8)r"rrLr)r"rr_ParameterDecorators  rMcGs tt|S)aiA decorator for creating parameterized tests. See the module docstring for a usage example. Args: *testcases: Parameters for the decorated method, either a single iterable, or a list of tuples/dicts/objects (for tests with only one argument). Returns: A test generator to be handled by TestGeneratorMetaclass. )rMr/)rrrr Parameters4s rNcGs tt|S)aA decorator for creating parameterized tests. See the module docstring for a usage example. The first element of each parameter tuple should be a string and will be appended to the name of the test method. Args: *testcases: Parameters for the decorated method, either a single iterable, or a list of tuples. Returns: A test generator to be handled by TestGeneratorMetaclass. )rMr,)rrrrNamedParametersCsrOc@seZdZdZddZdS)TestGeneratorMetaclassaMetaclass for test cases with test generators. A test generator is an iterable in a testcase that produces callables. These callables must be single-argument methods. These methods are injected into the class namespace and the original iterable is removed. If the name of the iterable conforms to the test pattern, the injected methods will be picked up as tests by the unittest framework. In general, it is supposed to be used in conjunction with the Parameters decorator. cCsli|d<}xNt|jD]>\}}|jtjjrt|rt|}|j|t ||||qWt j ||||S)Nr9) rrr<r=r>r?riterpoprCrJ__new__)Zmcs class_namebasesdctrErFriteratorrrrrSas  zTestGeneratorMetaclass.__new__N)r r r5r1rSrrrrrPTs rPcCsTxNt|D]B\}}t|ddr&|j}nd|t|f}|||<t|dd||<q WdS)aAdds individual test cases to a dictionary. Args: dct: The target dictionary. id_suffix: The dictionary for mapping names to test IDs. name: The original name of the test case. iterator: The iterator generating the individual test cases. r-Fz%s%s%dr0N) enumerategetattrr _SEPARATOR)rVrErFrWidxfuncnew_namerrrrCms  rCc@s(eZdZdZddZddZddZdS) ParameterizedTestCasez9Base class for test cases using the Parameters decorator.cCs|jjtdS)Nr)_testMethodNamesplitr[)r rrr _OriginalNamesz#ParameterizedTestCase._OriginalNamecCsd|jt|jfS)Nz%s (%s))rbr __class__)r rrr__str__szParameterizedTestCase.__str__cCs$dt|j|j|jj|jdfS)zReturns the descriptive ID of the test. This is used internally by the unittesting framework to get a name for the test to be used in reports. Returns: The test id. z%s.%s%srX)r rcrbr9getr`)r rrrids zParameterizedTestCase.idN)r r r5r1rbrdrfrrrrr_sr_) metaclasscCs"td|jtfi}|d|tfiS)a;Returns a new base class with a cooperative metaclass base. This enables the ParameterizedTestCase to be used in combination with other base classes that have custom metaclasses, such as mox.MoxTestBase. Only works with metaclasses that do not override type.__new__. Example: import google3 import mox from google3.testing.pybase import parameterized class ExampleTest(parameterized.CoopParameterizedTestCase(mox.MoxTestBase)): ... Args: other_base_class: (class) A test case base class. Returns: A new class object. Z CoopMetaclassCoopParameterizedTestCase)rJZ __metaclass__rPr_)Zother_base_classrgrrrrhs rh)#r1 __author__rr*rer@Z unittest2r= ImportErrorZuuidrcompilerZuuid1hexr[objectr,r/rr rrrr8rIrMrNrOrJrPrCZTestCaser_rhrrrrs:    APK!.6.6;protobuf/internal/__pycache__/_parameterized.cpython-36.pycnu[3 h\<@sdZdZddlZddlZddlZddlZy ddlZWnek rPddlZYnXddl Z ddl Z ej dZ e j jZeZeZddZddZd d Zd d ZGd ddeZddZddZddZddZddZGdddeZddZGdddej edZ!d d!Z"dS)"a(Adds support for parameterized tests to Python's unittest TestCase class. A parameterized test is a method in a test case that is invoked with different argument tuples. A simple example: class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( (1, 2, 3), (4, 5, 9), (1, 1, 3)) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) Each invocation is a separate test case and properly isolated just like a normal test method, with its own setUp/tearDown cycle. In the example above, there are three separate testcases, one of which will fail due to an assertion error (1 + 1 != 3). Parameters for invididual test cases can be tuples (with positional parameters) or dictionaries (with named parameters): class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( {'op1': 1, 'op2': 2, 'result': 3}, {'op1': 4, 'op2': 5, 'result': 9}, ) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) If a parameterized test fails, the error message will show the original test name (which is modified internally) and the arguments for the specific invocation, which are part of the string returned by the shortDescription() method on test cases. The id method of the test, used internally by the unittest framework, is also modified to show the arguments. To make sure that test names stay the same across several invocations, object representations like >>> class Foo(object): ... pass >>> repr(Foo()) '<__main__.Foo object at 0x23d8610>' are turned into '<__main__.Foo>'. For even more descriptive names, especially in test logs, you can use the NamedParameters decorator. In this case, only tuples are supported, and the first parameters has to be a string (or an object that returns an apt name when converted via str()): class NamedExample(parameterized.ParameterizedTestCase): @parameterized.NamedParameters( ('Normal', 'aa', 'aaa', True), ('EmptyPrefix', '', 'abc', True), ('BothEmpty', '', '', True)) def testStartsWith(self, prefix, string, result): self.assertEqual(result, strings.startswith(prefix)) Named tests also have the benefit that they can be run individually from the command line: $ testmodule.py NamedExample.testStartsWithNormal . -------------------------------------------------------------------- Ran 1 test in 0.000s OK Parameterized Classes ===================== If invocation arguments are shared across test methods in a single ParameterizedTestCase class, instead of decorating all test methods individually, the class itself can be decorated: @parameterized.Parameters( (1, 2, 3) (4, 5, 9)) class ArithmeticTest(parameterized.ParameterizedTestCase): def testAdd(self, arg1, arg2, result): self.assertEqual(arg1 + arg2, result) def testSubtract(self, arg2, arg2, result): self.assertEqual(result - arg1, arg2) Inputs from Iterables ===================== If parameters should be shared across several test cases, or are dynamically created from other sources, a single non-tuple iterable can be passed into the decorator. This iterable will be used to obtain the test cases: class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( c.op1, c.op2, c.result for c in testcases ) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) Single-Argument Test Methods ============================ If a test method takes only one argument, the single argument does not need to be wrapped into a tuple: class NegativeNumberExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( -1, -3, -4, -5 ) def testIsNegative(self, arg): self.assertTrue(IsNegative(arg)) z!tmarek@google.com (Torsten Marek)Nz0\<([a-zA-Z0-9_\-\.]+) object at 0x[a-fA-F0-9]+\>cCstjdt|S)Nz<\1>)ADDR_REsubrepr)objr$/usr/lib/python3.6/_parameterized.py _CleanReprsrcCsd|j|jfS)Nz%s.%s) __module____name__)clsrrr _StrClasssr cCst|tjot|tj S)N) isinstance collectionsIterablesixZ string_types)rrrr_NonStringIterables rcCsNt|tjr(djddt|jDSt|r@djtt|St |fSdS)Nz, css"|]\}}d|t|fVqdS)z%s=%sN)r).0Zargnamevaluerrr sz'_FormatParameterList..) r rMappingjoinlistitemsrmapr_FormatParameterList)testcase_paramsrrrrs   rc@s(eZdZdZddZddZddZdS) _ParameterizedTestIterz9Callable and iterable class for producing new test cases.cCs||_||_||_dS)a\Returns concrete test functions for a test and a list of parameters. The naming_type is used to determine the name of the concrete functions as reported by the unittest framework. If naming_type is _FIRST_ARG, the testcases must be tuples, and the first element must have a string representation that is a valid Python identifier. Args: test_method: The decorated test method. testcases: (list of tuple/dict) A list of parameter tuples/dicts for individual test invocations. naming_type: The test naming type, either _NAMED or _ARGUMENT_REPR. N) _test_method testcases _naming_type)self test_methodr naming_typerrr__init__sz_ParameterizedTestIter.__init__cOs tddS)NzYou appear to be running a parameterized test case without having inherited from parameterized.ParameterizedTestCase. This is bad because none of your test cases are actually being run.) RuntimeError)r argskwargsrrr__call__sz_ParameterizedTestIter.__call__cs.|j|jfddfdd|jDS)Ncstjfdd}tkrJd|_|jtd7_ddn(tkrddtf|_nt dfd|jtf|_ j r|j d j f7_ |S) Ncs@ttjr|fn"tr2|fn |dS)N)r rrr)r )r!rrrBoundParamTests  zS_ParameterizedTestIter.__iter__..MakeBoundParamTest..BoundParamTestTrz(%s)z%s is not a valid naming type.z%s(%s)z %s) functoolswraps _FIRST_ARG__x_use_name__r str_ARGUMENT_REPRr__x_extra_id__r$__doc__)rr()r"r!)rrMakeBoundParamTests z;_ParameterizedTestIter.__iter__..MakeBoundParamTestc3s|]}|VqdS)Nr)rc)r2rrrsz2_ParameterizedTestIter.__iter__..)rrr)r r)r2r"r!r__iter__sz_ParameterizedTestIter.__iter__N)r r __qualname__r1r#r'r4rrrrrsrcCst|dkot|dt S)zt|tr.t|ttjs"tn|St|SdS)N)r typerKrSequencerr)r)r"rrr_Apply!s z#_ParameterDecorator.._Applyrz7Single parameter argument must be a non-string iterable)r8rr;)r"rrNr)r"rr_ParameterDecorators  rOcGs tt|S)aiA decorator for creating parameterized tests. See the module docstring for a usage example. Args: *testcases: Parameters for the decorated method, either a single iterable, or a list of tuples/dicts/objects (for tests with only one argument). Returns: A test generator to be handled by TestGeneratorMetaclass. )rOr/)rrrr Parameters4s rPcGs tt|S)aA decorator for creating parameterized tests. See the module docstring for a usage example. The first element of each parameter tuple should be a string and will be appended to the name of the test method. Args: *testcases: Parameters for the decorated method, either a single iterable, or a list of tuples. Returns: A test generator to be handled by TestGeneratorMetaclass. )rOr,)rrrrNamedParametersCsrQc@seZdZdZddZdS)TestGeneratorMetaclassaMetaclass for test cases with test generators. A test generator is an iterable in a testcase that produces callables. These callables must be single-argument methods. These methods are injected into the class namespace and the original iterable is removed. If the name of the iterable conforms to the test pattern, the injected methods will be picked up as tests by the unittest framework. In general, it is supposed to be used in conjunction with the Parameters decorator. cCsli|d<}xNt|jD]>\}}|jtjjrt|rt|}|j|t ||||qWt j ||||S)Nr9) rrr>r?r@rAriterpoprErL__new__)Zmcs class_namebasesdctrGrHriteratorrrrrUas  zTestGeneratorMetaclass.__new__N)r r r5r1rUrrrrrRTs rRcCsxzt|D]n\}}t|s(td|ft|ddr<|j}nd|t|f}||ks`td|f|||<t|dd||<q WdS) aAdds individual test cases to a dictionary. Args: dct: The target dictionary. id_suffix: The dictionary for mapping names to test IDs. name: The original name of the test case. iterator: The iterator generating the individual test cases. z,Test generators must yield callables, got %rr-Fz%s%s%dz/Name of parameterized test case "%s" not uniquer0N) enumeratecallabler;r:r _SEPARATOR)rXrGrHrYidxfuncnew_namerrrrEms      rEc@s(eZdZdZddZddZddZdS) ParameterizedTestCasez9Base class for test cases using the Parameters decorator.cCs|jjtdS)Nr)_testMethodNamesplitr])r rrr _OriginalNamesz#ParameterizedTestCase._OriginalNamecCsd|jt|jfS)Nz%s (%s))rdr __class__)r rrr__str__szParameterizedTestCase.__str__cCs$dt|j|j|jj|jdfS)zReturns the descriptive ID of the test. This is used internally by the unittesting framework to get a name for the test to be used in reports. Returns: The test id. z%s.%s%srZ)r rerdr9getrb)r rrrids zParameterizedTestCase.idN)r r r5r1rdrfrhrrrrrasra) metaclasscCs"td|jtfi}|d|tfiS)a;Returns a new base class with a cooperative metaclass base. This enables the ParameterizedTestCase to be used in combination with other base classes that have custom metaclasses, such as mox.MoxTestBase. Only works with metaclasses that do not override type.__new__. Example: import google3 import mox from google3.testing.pybase import parameterized class ExampleTest(parameterized.CoopParameterizedTestCase(mox.MoxTestBase)): ... Args: other_base_class: (class) A test case base class. Returns: A new class object. Z CoopMetaclassCoopParameterizedTestCase)rLZ __metaclass__rRra)Zother_base_classrirrrrjs rj)#r1 __author__rr*rerBZ unittest2r? ImportErrorZuuidrcompilerZuuid1hexr]objectr,r/rr rrrr8rKrOrPrQrLrRrEZTestCaserarjrrrrs:    APK!]99<protobuf/internal/__pycache__/reflection_test.cpython-36.pycnu[3 h @sdZddlZddlZddlZddlZddlZy ddlZWnek rTddlZYnXddl m Z ddl m Z ddl m Z ddl m Z ddl mZddl mZdd l mZdd l mZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZejZGdddeZGdddeZGdddeZGdddeZ GdddeZ!GdddeZ"Gdd d eZ#Gd!d"d"eZ$Gd#d$d$eZ%Gd%d&d&eZ&e'd'krej(dS)(ziUnittest for reflection.py, which also indirectly tests the output of the pure-Python protocol compiler. N)unittest_import_pb2)unittest_mset_pb2) unittest_pb2)descriptor_pb2) descriptor)message) reflection) text_format)api_implementation)more_extensions_pb2)more_messages_pb2)message_set_extensions_pb2) wire_format) test_util)testing_refleaks)decoderc@s\eZdZdZddZddZeZeZeZeZ ddZ e Z dd Z d d Z d d ZddZdS) _MiniDecoderaDecodes a stream of values from a string. Once upon a time we actually had a class called decoder.Decoder. Then we got rid of it during a redesign that made decoding much, much faster overall. But a couple tests in this file used it to check that the serialized form of a message was correct. So, this class implements just the methods that were used by said tests, so that we don't have to rewrite the tests. cCs||_d|_dS)Nr)_bytes_pos)selfbytesr%/usr/lib/python3.6/reflection_test.py__init__Osz_MiniDecoder.__init__cCstj|j|j\}|_|S)N)rZ _DecodeVarintrr)rresultrrr ReadVarintSsz_MiniDecoder.ReadVarintcCstj|jS)N)rZ ZigZagDecoder)rrrr ReadSInt64\sz_MiniDecoder.ReadSInt64cCstj|jS)N)rZ UnpackTagr)rrrrReadFieldNumberAndWireTypeasz'_MiniDecoder.ReadFieldNumberAndWireTypecCs4tjd|j|j|jdd}|jd7_|S)NzZ!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:dqdrZ;dsdtZdydzZ?d{d|Z@d}d~ZAddZBddZCddZDddZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQdddZRddZSeTjUeVjWdkpeVjXdkdddZYddZZddZ[ddZ\ddZ]ddZ^ddZ_dS)ReflectionTestcCsB|jt|t|x(tt|D]}|j||||q"WdS)N) assertEqualr$range)rvaluesZothersirrrassertListsEqualtszReflectionTest.assertListsEqualcCsPtjddddd}|jd|j|jd|j|jd|j|j|jddS)Ng +)K@optional_string)optional_int32optional_doubler6optional_floatr9)r TestAllTypesr0r7r8r6 assertFalseHasField)rprotorrrtestScalarConstructorysz$ReflectionTest.testScalarConstructorcCstjddddgddgdddgd gdd }|jddddgt|j|jddgt|j|jdddgt|j|jd gt|j|jgt|jdS) NrgGz?g +)K@TFr6)repeated_int32repeated_double repeated_boolrepeated_stringrepeated_float) rr:r0listrBrCrDrErF)rr=rrrtestRepeatedScalarConstructors z,ReflectionTest.testRepeatedScalarConstructorcCstjtjjtjjdtjjtjjdgtjd dtjddtjddgtjjtjjddtjjddgd }|jtjjtjjdtjjtjjdgt|j |jtjd dtjddtjddgt|j |jtjjtjjddtjjddgt|j dS) N)bb+)ci r?)ar@)repeated_nested_messagerepeated_foreign_message repeatedgroupii) rr: NestedMessageFOOBARForeignMessageZ RepeatedGroupr0rGrNrOrP)rr=rrr testRepeatedCompositeConstructors6              z/ReflectionTest.testRepeatedCompositeConstructorc Cs tjddddgdddgtjjtjjdtjjtjjdgtjdd tjd d tjd d gdd }|jd|j|jd|j|jddgt |j |jdddgt |j |jtjjtjjdtjjtjjdgt |j |jtjdd tjd d tjd d gt |j |j|jd dS)Nr5r6gGz?g +)K@TF)rIrJ)rKi rL)r7r6rCrDrNrOoptional_nested_messagerVii)rr:rQrRrSrTr0r7r6rGrCrDrNrOr;r<)rr=rrrtestMixedConstructors:            z#ReflectionTest.testMixedConstructorcCs|jttjdd|jttjdd|jttjdd|jttjdd|jttjdgd|jttjdd|jttjdgd|jttjdd|jttjdgddS) Nfoo)r7i)r6)rV)rB)rE)rN) assertRaises TypeErrorrr:)rrrrtestConstructorTypeErrors$z'ReflectionTest.testConstructorTypeErrorcCstjdd}|jd|jtjtjjd}|jd|jtjdgd}|jd|jtjtjjgd}|jd|jdS)NrL)r7r@)rVrA)rB)rN)rr:r0ByteSizerQ)rrrrr(testConstructorInvalidatesCachedByteSizes z7ReflectionTest.testConstructorInvalidatesCachedByteSizecCsptj}|j|jd |jd|j|j|jd d|_|j|jd|jd|j|jd dS)Nr7rr?)rr: assertTruer<r0r7 ClearField)rr=rrrtestSimpleHasBitss z ReflectionTest.testSimpleHasBitscs8fdd}|dd|dd|dd|d d dS) Ncs0tj}t||}t||}jd|j|j| j|j| d}t|||j|t|||}j|j|j|j||j|t||}j|j| j|j| jdt||j||k t|||j|j| j|j| jdt||dS)Nr)rr:getattrr0r^r<setattrr_)Zcomposite_field_nameZscalar_field_namer=Zcomposite_fieldZoriginal_scalar_valueZnew_valZold_composite_field)rrrTestCompositeHasBits.s,       zNReflectionTest.testHasBitsWithSinglyNestedScalar..TestCompositeHasBits optionalgrouprMrVrIoptional_foreign_messagerKZoptional_import_messagedr)rrdr)rr!testHasBitsWithSinglyNestedScalar s " *   z0ReflectionTest.testHasBitsWithSinglyNestedScalarcCstj}|j}~d|_dS)N)rr:rVrI)rr=nestedrrrtestReferencesToNestedMessage]sz,ReflectionTest.testReferencesToNestedMessagecCsTtj}|j}|jd|j||jk d|_|j|jd |jd|jjdS)NrVrir)rr:rVr_r^rIr<r0)rr=rjrrr0testDisconnectingNestedMessageBeforeSettingFieldes z?ReflectionTest.testDisconnectingNestedMessageBeforeSettingFieldcCs6tj}|j}|jd~~tjtj}|j}dS)NrV)rr:rVr_gccollect)rr=rjrrr5testGetDefaultMessageAfterDisconnectingDefaultMessagens zDReflectionTest.testGetDefaultMessageAfterDisconnectingDefaultMessagecCstj}|j}d|_|j|jd|jd|jd|j|jd|jj|j||jk d|_|j|jd |jd|jjdS)NrVrri)rr:rVrIr^r<r_r0)rr=rjrrr/testDisconnectingNestedMessageAfterSettingField{s z>ReflectionTest.testDisconnectingNestedMessageAfterSettingFieldcCs:tj}|j|jd |jd|j|jd dS)NrV)rr:r^r<r_)rr=rrr0testDisconnectingNestedMessageBeforeGettingFields z?ReflectionTest.testDisconnectingNestedMessageBeforeGettingFieldcCsRtj}tj}d|j_|j||j|jd|jd|j|jd dS)NrprV)rr:rVrI MergeFromr^r<r_)rproto1proto2rrr(testDisconnectingNestedMessageAfterMerges  z7ReflectionTest.testDisconnectingNestedMessageAfterMergecCs8tjdkrdStj}d|j_|jd~tjdS)Npythonrpoptional_lazy_message) r Typerr:rxrIr_rmrn)rr=rrr"testDisconnectingLazyNestedMessages  z1ReflectionTest.testDisconnectingLazyNestedMessagecCsttj}|jjjd|jdg|jj|j|jd|jd|j|jd |jj j |j|jddS)NrprV) rZTestNestedMessageHasBitsrVZnestedmessage_repeated_int32appendr0r^r<r_Z%nestedmessage_repeated_foreignmessageadd)rr=rrr&testHasBitsWhenModifyingRepeatedFieldss  z5ReflectionTest.testHasBitsWhenModifyingRepeatedFieldscCs tj}|j|jd |jd|jjjjjj|j|jd d|jjjjj_|jd|jjjjjj|j|jd|j|jjd|j|jjjd|j|jjjjd|j|jjjjjd|j|jjjjjjd |j|jjjjjjddS)NrIrrprMr7)rTestMutualRecursionAr^r<r0rIrMr7)rZrecursive_protorrr!testHasBitsForManyLevelsOfNestingsz0ReflectionTest.testHasBitsForManyLevelsOfNestingcCstj}d|_d|_d|_|j}|j|jjddf|jjddf|jjddfg|j d|j_ |j|jjddf|jjddf|jjddf|jjd|fg|j dS) Nr?rprXr7optional_fixed32r6{rV) rr:rr7r6rVr0 DESCRIPTORfields_by_name ListFieldsrI)rr=Znested_messagerrrtestSingularListFieldss$  z%ReflectionTest.testSingularListFieldsc Cstj}|jjd|jjd|jjd|jjddg|jjg|jjd|jjddtd Dd |_|j |j |j j d d f|j j d ddgf|j j d dgf|j j ddddddgfg|j dS)Nr?rp rXbarbazcss|]}t|VqdS)N)str).0xrrr sz8ReflectionTest.testRepeatedListFields..r@r7rBrepeated_fixed32rE01)rr:rr{rBrEextendr1r7rDr0rrr)rr=rrrtestRepeatedListFieldss"      z%ReflectionTest.testRepeatedListFieldscCsXtj}d|jtj<d|jtj<d|jtj<|jtjdftjdftjdfg|jdS)Nr?rprX)rTestAllExtensions ExtensionsZoptional_fixed32_extensionoptional_int32_extensionZoptional_string_extensionr0r)rr=rrrtestSingularListExtensionss    z)ReflectionTest.testSingularListExtensionscCstj}|jtjjd|jtjjd|jtjjd|jtjjd|jtjjd|jtjjdd|jtj<|jtjdftjddgftjdgftjdddgfg|j dS)Nr?rprrXrrr) rrrZrepeated_fixed32_extensionr{repeated_int32_extensionrepeated_string_extensionrr0r)rr=rrrtestRepeatedListExtensionss   z)ReflectionTest.testRepeatedListExtensionscCsftj}tj|tj|j|jjddftjdf|jjddftjdf|jjddfg|j dS) NZmy_intr?riZ my_stringrXrZmy_floatg?) rTestFieldOrderingsrSetAllFieldsAndExtensionsZmy_extension_intr0rrZmy_extension_stringr)rr=rrrtestListFieldsAndExtensions s z*ReflectionTest.testListFieldsAndExtensionscCstj}|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j |jd|j |jd|j |jd|j |jd|j |jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd |j|jd|j|jd |j|jd |j|jd |j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j |jtjj!|j"|jtj#|j$|jt%j&|j'tj(}|jd|j)dS)NrgF)*rJ,-./012gI@gd@TZhellosworlduሴii)*rr:r0r7optional_int64optional_uint32optional_uint64optional_sint32optional_sint64roptional_fixed64optional_sfixed32optional_sfixed64r9r8 optional_boolr6optional_bytesZ default_int32Z default_int64Zdefault_uint32Zdefault_uint64Zdefault_sint32Zdefault_sint64Zdefault_fixed32Zdefault_fixed64Zdefault_sfixed32Zdefault_sfixed64Z default_floatZdefault_doubleZ default_boolZdefault_stringZ default_bytesrSZdefault_nested_enum FOREIGN_BARZdefault_foreign_enumrZ IMPORT_BARZdefault_import_enumZTestExtremeDefaultValuesZ utf8_string)rr=rrrtestDefaultValuessJz ReflectionTest.testDefaultValuescCstj}|jt|jddS)Nnonexistent_field)rr:rY ValueErrorr<)rr=rrr testHasFieldWithUnknownFieldName@sz/ReflectionTest.testHasFieldWithUnknownFieldNamecCstj}|jt|jddS)Nr)rr:rYrr_)rr=rrr"testClearFieldWithUnknownFieldNameDsz1ReflectionTest.testClearFieldWithUnknownFieldNamecsNtjxtdD]}jjqWtj}j||jtfdddS)N cs jdS)Nrp)repeated_messager)r=rrQsz9ReflectionTest.testClearRemovesChildren..)rTestRequiredForeignr1rr|CopyFromrY IndexError)rr3rur)r=rtestClearRemovesChildrenHs  z'ReflectionTest.testClearRemovesChildrencCs~tj}|jtt|dd|jtt|ddg|jtt|dd|jtt|jdd|jtt|jdd|jtt|dddS) NrBrrVrirI"Zsome_attributer)rr:rYAttributeErrorrcrNrF)rr=rrrtestDisallowedAssignmentsSs   z(ReflectionTest.testDisallowedAssignmentscCstj}|jtt|dd|jtt|dd|jtt|dd|jtt|dd|jtt|dd|jtt|dd|jtt|d dtjd kr|jtt|ddnd|_dS) Nr7g?rXr6rrrr9r8rw)rr:rYrZrcr ryr)rr=rrrtestSingleScalarTypeSafetyhs z)ReflectionTest.testSingleScalarTypeSafetyc sfdd}|ddt|ddt|ddtyt}Wntk rRt}YnXtjddkrp|dd|n |ddt|d d||d d||d d||d d|d S)z}Verifies setting of scalar integers. Args: integer_fn: A function to wrap the integers that will be assigned. csZtj}|}t|||jt|||tj}|j|jjt|||dS)N)rr:rcassertIsInstancerbParseFromStringSerializeToString) field_namevalueZ expected_typer=ru) integer_fnrrrTestGetAndDeserialize}s z@ReflectionTest.assertIntegerTypes..TestGetAndDeserializer7r?rLrr<rNi@i@lli@li@l)int NameErrorrcalcsize)rrrZ integer_64r)rrrassertIntegerTypesws        z!ReflectionTest.assertIntegerTypescCs|jdddS)NcSs|S)Nr)rrrrrsz1ReflectionTest.testIntegerTypes..)r)rrrrtestIntegerTypesszReflectionTest.testIntegerTypescCs|jtjdS)N)rrNonStandardInteger)rrrrtestNonStandardIntegerTypessz*ReflectionTest.testNonStandardIntegerTypescCsNtj}|jt d|_WdQRX|jtdtjdd|_WdQRXdS)N2Zmy_errorrp) rr:rYrZrZassertRaisesRegex RuntimeErrorrr)rpbrrrtestIllegalValuesForIntegerss  z+ReflectionTest.testIllegalValuesForIntegersc sfdd}|ddd|ddd|d dd|d dd tj}jttfd|_Wd QRXtj}d|_jd|jd S)zVerifies bounds checking for scalar integer fields. Args: integer_fn: A function to wrap the integers that will be assigned. cstj}|}|}t|||j|t||t|||j|t||jttft|||djttft|||ddS)Nr?)rr:rcr0rbrYrrZ)rZ expected_minZ expected_maxr)rrrrTestMinAndMaxIntegerss   zHReflectionTest.assetIntegerBoundsChecking..TestMinAndMaxIntegersr7r?rrrlr?rlNlilillllll)rr:rYrrZroptional_nested_enumr0)rrrrr)rrrassetIntegerBoundsCheckings     z)ReflectionTest.assetIntegerBoundsCheckingcCs|jdddS)NcSs|S)Nr)rrrrrsz?ReflectionTest.testSingleScalarBoundsChecking..)r)rrrrtestSingleScalarBoundsCheckingsz-ReflectionTest.testSingleScalarBoundsCheckingcCs|jtjdS)N)rrr)rrrr)testNonStandardSingleScalarBoundsCheckingsz8ReflectionTest.testNonStandardSingleScalarBoundsCheckingcCstj}|jt|jjd|jt|jjd|jt|jd|jt|jd|jjdd|jd<|jt|jj dd|jt|jj dd|jt|jj dg|jt|jj dd|jjd |jt|jj dddS) Ng?rXrririabcindexr) rr:rYrZrBr{rEZrepeated_bytesr __setitem__)rr=rrrtestRepeatedScalarTypeSafetys    z+ReflectionTest.testRepeatedScalarTypeSafetycCsVtj}|jd|jd|_|jd|jd|_|jd|jd|_|jd|jdS)Nrr?ll)rr:r0r7r)rr=rrr!testSingleScalarGettersAndSetterssz0ReflectionTest.testSingleScalarGettersAndSetterscCsVtj}|jdd|_|j|jd|jd|jd|j|j|jd dS)Nr7r?r)rr:r_r7r^r<r0)rr=rrrtestSingleScalarClearFields  z)ReflectionTest.testSingleScalarClearFieldcCsftj}|jd|j|jdtjj|jd|j|jdtjj|jd|j|jdtjjdS)Nr?r@rA)rr:r0rRrSBAZ)rr=rrr testEnumsszReflectionTest.testEnumscCs|jdtjjtj|jdtjjtj|jdtjjtj|jttjjdtj }|jd|j j|j |jdtj j j|j |jd|j j|j |jdtj j j|j |jd|j j|j |jdtj j j|j |jt|j jd|jttj j jddS)N FOREIGN_FOOr FOREIGN_BAZi0,rRrSr)r0r ForeignEnumNamerrrrYrr: NestedEnumrRrSr)rr=rrr testEnum_Names2  zReflectionTest.testEnum_NamecCs|jtjtjjd|jtjtjjd|jtjtjjd|jttjjdtj }|j|j |j jd|j|j tj j jd|j|j |j jd|j|j tj j jd|j|j |j jd|j|j tj j jd|jt|j jd|jttj j jddS) NrrrZFOrRrSrZFoo)r0rrrZValuerrrYrr:rRrrSr)rr=rrrtestEnum_Value"s2  zReflectionTest.testEnum_ValuecCs|jdddgttjj|jdddgttjj|jdddgttjjtj}|jddd d gt|jj|jd d d dgt|jj|jddddgt|jjdS)NrrrrrprRrSrNEGr?r@rA)rr)rrp)rr)rRr?)rSr@)rrAr)rr) r0rGrrkeysr2itemsr:r)rr=rrrtestEnum_KeysAndValues>s  z%ReflectionTest.testEnum_KeysAndValuescCs|tj}|j|j |jdt|j|jjd|jjd|jjd|j|j|jdt|j|jdddg|j|jd|jd|jd|jd|jt|jj d|jt|jj d|jt |jj d|jt |jj dd |jd<|jdd dg|j|jj dd |jdd d dg|j|jjd |jd d dg|jdd |jdd d dd g|jddd dt dD|jdd <|jddddd g|jdddg|jdd <|jddddd g|jg}x|jD]}|j|qW|jddddd g||jd=|jdddd g|j|jdd=|jddg|j|jj ddg|jddddg|j|jd|j|j |jdt|j|jjd|jd|jdd|jd<|jd|jdddddg|jdd<|jd=|jdddg|j|jd=|jddg|j|jt|jjd|jt|jjd|jd d!=|jdg|j|jdd=|jdg|jdS)"NrrprrAr?irXrarrcss|] }|VqdS)Nr)rr3rrrrrsz5ReflectionTest.testRepeatedScalars..r@#(r rBi,di'ri.rrrrrr)rr:r^rBr0r$r{rYr __getitem__rZinsertr1rr_ __delitem__)rr=rr3rrrtestRepeatedScalarsMsl              z"ReflectionTest.testRepeatedScalarscCsFtj}|j|j |jdt|j|jjd|jjd|jjd|jjd|jdt|j|jjd|jdt|j|jd|jd|jd|jd|jd|jd|jjd|jdt|j|jd|jd|jd|jd|jjd|jdt|j|jd|jd|jt |jjddS) NrrprrrAr?r@r) rr:r^rBr0r$r{removerYr)rr=rrrtestRepeatedScalarsRemoves*       z(ReflectionTest.testRepeatedScalarsRemovec Cs(tj}|j|j |jdt|j|jj}|jj}|j|j|jdt|j|j||g|j|j|tjj |j t |jj d|j t |jj d |j t |jj d|j t |jj d|jj}|jj}|jj}|j|||g|jdd|j|||||g|jdd|j||g|jdd|j|||g|jdd|j||jd|j|g|jddg}x|jD]}|j|qW|j|||||g||jd=|j||||g|j|jdd=|j||g|jtjj dd} tjj dd} |jj| | g|jdt|j|j| |jd|j| |jd|j t |jj| |j t |jjdgtj} |j t |jj| g|jd |j|j |jdt|j|jjd d|jdt|j|jd |jdj|j t |jjd |j td |jd<WdQRXdS) Nrr@irXr?r)rIrArNrii.)rr:r^rNr0r$r|r4rrQrYrrrZr{rr_rI Exception) rr=m0m1m2Zm3Zm4rr3Zn1Zn2Zwrong_message_typerrrtestRepeatedCompositess~               z%ReflectionTest.testRepeatedCompositescCs<tj}|jdt|j|jj}t|j|_|jj}t|j|_|j||k|jj}t|j|_|j|||g|j|jdt|j|jj ||jdt|j|j||jd|j||jd|j t |jj ||j t |jj d|jdt|j|jj ||jdt|j|j||jddS)NrrAr@r?) rr:r0r$rNr|rIr^r4rrYr)rr=rrrrrrtestRepeatedCompositeRemoves*        z*ReflectionTest.testRepeatedCompositeRemovecstjdkrdStj}|dddd|j|j|jddddddtjd}tj ddd dgg|ggtj d Gfd d d t j t jtj}|}|jd|j|j|jd d |_|jd |j|j|jddS)Nrw foo_fieldzMyProto.foo_fieldrr?F)name full_namernumbertypeZcpp_typelabelZ default_valuecontaining_type message_typeZ enum_typeZ is_extensionZextension_scopeoptionsZMyProtoZignored) r r filenamer nested_types enum_typesfields extensionsrcseZdZZdS)z>ReflectionTest.testHandWrittenReflection..MyProtoClassN)r&r'r(rr) mydescriptorrr MyProtoClassHsrri)r ryrFieldDescriptor TYPE_INT64Z CPPTYPE_INT64LABEL_OPTIONALrZ FieldOptions DescriptorZMessageOptionssixwith_metaclassrGeneratedProtocolMessageTyperMessager0rr^r<)rrZfoo_field_descriptorrZmyproto_instancer)rrtestHandWrittenReflection4s.    z(ReflectionTest.testHandWrittenReflectioncstjdkrdSfddd_tj}d|_tj}|d|j|d|j|d|j |d |j jd 7_|j j }d |_|j|_ j|_tjj|_tj||jdjk|jdjk|jdjk|jd jk|jd jkGfd d d tjtjtj}|}d|_d|_d|_d|_|jjddg|j }tj!|}|j||k |j"|||j"|j|j|j"|j|j|j"|j|j|j"|j|j|j"|j|jdS)Nrwcs:jd7_|jj}||_||_j|_tjj|_ dS)Nr?) field_indexfieldr|r r r rFieldDescriptorProtorr )r=rZ field_type new_field)AddDescriptorFieldrrr%Ws  zEReflectionTest.testDescriptorProtoSupport..AddDescriptorFieldrZCarr year automaticpricer?ownerscseZdZZdS)z=ReflectionTest.testDescriptorProtoSupport..CarMessageN)r&r'r(rr)descrr CarMessagewsr+priusiTg@ZbobZsusan)#r ryr!rZDescriptorProtor r#Z TYPE_STRINGrZ TYPE_BOOLZ TYPE_DOUBLEr"r|r r LABEL_REPEATEDr rMakeDescriptorr^rrrrrrrr&r'r(r)rrZ ParseMessager0)rZ desc_protoZfdpr$r+r,Zserialized_priusZ new_priusr)r%r*rtestDescriptorProtoSupportQsN        z)ReflectionTest.testDescriptorProtoSupportcCstj}tj}|j|j| |jd|j||j|j| d|j|<|jd|j||j|j||j||jd|j||j|j| dS)Nrri)rrrr^ HasExtensionr0rClearExtension)rextendee_proto extensionrrr'testTopLevelExtensionsForOptionalScalars  z6ReflectionTest.testTopLevelExtensionsForOptionalScalarcCstj}tj}|jdt|j||j|jd|jdg|j||j|}|j||jdt|j||j||j|k |j t t j |j|ddS)NrrXrM) rrrr0r$rr{r1r^rYrZoperatorsetitem)rr2r3Z string_listrrr'testTopLevelExtensionsForRepeatedScalars  z6ReflectionTest.testTopLevelExtensionsForRepeatedScalarcCstj}tj}|j|j| |jd|j|j|j|j| d|j|_|jd|j|j|j|j||j|}|j||j||j|k d|_|jd|j|j|j d|j|j| |j t t j |j|ddS)NrrirrKrM)rrZ"optional_foreign_message_extensionr^r0r0rrKr1r<rYrZr5r6)rr2r3Zforeign_messagerrr(testTopLevelExtensionsForOptionalMessages"   z7ReflectionTest.testTopLevelExtensionsForOptionalMessagecCstj}tj}|jdt|j||j|j}d|_|jd|j|djd|_|jd|j|dj|j|}|j||jdt|j||j ||j|k |j t t j |j|ddS)NrrirrM)rrrepeatedgroup_extensionr0r$rr|rMr1r^rYrZr5r6)rr2r3groupZ group_listrrr(testTopLevelExtensionsForRepeatedMessages  z7ReflectionTest.testTopLevelExtensionsForRepeatedMessagecCstj}tjj}|j|j| |j|}|jd|j|j|j| d|_|jd|j|j|j|j||j ||j||j|k |j|j| dS)Nrri) rr TestRequiredsingler^r0rr0rMr1)rr2r3ZrequiredrrrtestNestedExtensionss  z#ReflectionTest.testNestedExtensionscCsTtjj}|j|jtjjd|j|jdjtjj|j dt |j tj jdS)Nr?z*protobuf_unittest.optional_int32_extensionr) rrpoolr^ZFindExtensionByNumberrZassertIsZFindExtensionByNamerr0r$ZFindAllExtensionsr:)rr?rrrtestRegisteredExtensionss z'ReflectionTest.testRegisteredExtensionscCstj}|j|jd |jd|jjtj|j|jd d|jjtj<|jd|jjtj|j|jdtj}|j|jd |jg|jjtj|j|jd |jjtjj d|jdg|jjtj|j|jdtj}|j|jd |jd|jjtj j |j|jd d|jjtj _ |jd|jjtj j |j|jdtj}|j|jd |jdt |jjtj |j|jd |jjtj j}|j||jjtj d|j|jddS)N submessagerri)r TopLevelMessager^r<r0rAroptional_int_extensionrepeated_int_extensionr{optional_message_extensionforeign_message_intr$repeated_message_extensionr|)rtoplevelforeignrrr(testHasBitsForAncestorsOfExtendedMessagesL              z7ReflectionTest.testHasBitsForAncestorsOfExtendedMessagecCsFtj}|j}tj}|j|}|j|d|_|j||j|k dS)Nri)r rBrArErr1rFr^)rrHr2r3Zextension_protorrr*testDisconnectionAfterClearingEmptyMessage*s  z9ReflectionTest.testDisconnectionAfterClearingEmptyMessagecCstj}|jt|jd|jt|jd|jt|jjd|jt|jjddxbt j t j t j t j fD]J}|jt|j||jt|j||jt|jj||jt|jj|dqdW|jt|jtjdS)Nirp)rrrYKeyErrorr0r1rrrr rCrErDrGr)rr2Zunknown_handlerrrtestExtensionFailureModes4s&       z(ReflectionTest.testExtensionFailureModescCs6tj}tj||j}tjj|}|j||dS)N)rr:r SetAllFieldsr FromStringr0)rrtstring1rurrrtestStaticParseFromSs   z"ReflectionTest.testStaticParseFromcCsFtj}d|_tj}d|_|j||jd|j|jd|jdS)Nr?r)rr:r7r6rsr0)rrtrurrrtestMergeFromSingularField]s z)ReflectionTest.testMergeFromSingularFieldcCsxtj}|jjd|jjdtj}|jjd|j||jd|jd|jd|jd|jd|jddS)Nr?r@r)rr:rBr{rsr0)rrtrurrrtestMergeFromRepeatedFieldjs    z)ReflectionTest.testMergeFromRepeatedFieldcCs6tj}d|j_tj}|j||jd|jjdS)NrL)rr:rerMrsr0)rrtrurrrtestMergeFromOptionalGroupxs  z)ReflectionTest.testMergeFromOptionalGroupcCstj}|jj}d|_|jj}d|_tj}|jj}d|_|j||jd|jdj|jd|jdj|jd|jdjtj}|jj|j|jd|jdj|jd|jdj|jd|jdjdS)NriAirr?r@)rr:rNr|rIrsr0)rrtmruZproto3rrr"testMergeFromRepeatedNestedMessages"    z1ReflectionTest.testMergeFromRepeatedNestedMessagecCsPtj}tj|tj}|j||j|||j}|j}|j||dS)N)rr:rrNrsr0r)rrtrurPstring2rrrtestMergeFromAllFieldss   z%ReflectionTest.testMergeFromAllFieldscCs>tj}d|jtj<tj}|j||jd|jtjdS)Nr?)rrrrrsr0)rrtrurrrtestMergeFromExtensionsSingulars   z.ReflectionTest.testMergeFromExtensionsSingularcCstj}|jtjjd|jtjjdtj}|jtjjd|j||jdt|jtj|jd|jtjd|jd|jtjd|jd|jtjddS)Nr?r@rrA)rrrrr{rsr0r$)rrtrurrrtestMergeFromExtensionsRepeateds z.ReflectionTest.testMergeFromExtensionsRepeatedcCstj}|jtj}|j}d|_|j}d|_tj}|jtj}|j}d|_|j||jtj}|jdt||jd|dj|jd|dj|jd|djdS)NiMorArr?r@) rrr!repeated_nested_message_extensionr|rIrsr0r$)rrtZext1rUruZext2rrr$testMergeFromExtensionsNestedMessages& z3ReflectionTest.testMergeFromExtensionsNestedMessagecCsDtj}tj}|j|j|jd|j||j|jddS)NrV)rr:rVr;r<rs)rmessage1message2rrrtestMergeFromBugs  zReflectionTest.testMergeFromBugcCsLtj}d|_d|_tj}d|_|j||jd|j|jd|jdS)Nr?zimportant-textr)rr:r7r6rr0)rrtrurrrtestCopyFromSingularFields z(ReflectionTest.testCopyFromSingularFieldcCsftj}|jjd|jjdtj}|jjd|j||jd|jd|jd|jddS)Nr?r@r)rr:rBr{rr0)rrtrurrrtestCopyFromRepeatedFields    z(ReflectionTest.testCopyFromRepeatedFieldcCsPtj}tj|tj}|j||j|||j}|j}|j||dS)N)rr:rrNrr0r)rrtrurPrWrrrtestCopyFromAllFieldss   z$ReflectionTest.testCopyFromAllFieldscCs\tj}|jjdd|_d|_|j||jd|jd|jd|j|jd|jdS)Nr?r@zimportant-textr)rr:rBr{r7r6rr0)rrtrrrtestCopyFromSelf s  zReflectionTest.testCopyFromSelfcCs4tjdkrdStj}tj}|jt|j|dS)Nrw)r ryrr:rrYrZr)rrtrurrrtestCopyFromBadTypes  z"ReflectionTest.testCopyFromBadTypecCstj}d|_tj|}|jd|j|jjd|jjdtj|j}|jddg||jj }d|_ tj|j}|j|j|d|_ |j |j|dS)Nr?r@rA) rr:r7copydeepcopyr0rBr{rNr|rIassertNotEqual)rrtruZ containerr_Zmessagesrrr testDeepCopy s      zReflectionTest.testDeepCopycCstj}tjdkr tj|n tj||j|j|j dtj}|j||tj }tj ||j|j|j dtj }|j||dS)Nrwr) rr:r ryrrNZSetAllNonLazyFieldsClearr0r\rSetAllExtensions)rr=Z empty_protorrr testClear4s     zReflectionTest.testClearcCstj}|j}|j|j||jk d|_|j|jd |jd|jjtj}|j}d|_|j}d|_ |j|j||jk |j||jk |jd|j|jd|j d|_d|_ |j |jd|jd|jj|j |jd|jd|jj dS) NrirVrrprrrf) rr:rVrkr^rIr<r0rfrKr;)rr=rjrIrrrtestDisconnectingBeforeClearKs.z+ReflectionTest.testDisconnectingBeforeClearcCsftj}d|j_|j}|j|jjd|j|jjdd|j_|j|jjd|j|jdd|_dS)Nrprr)rZ TestOneof2Z foo_messageZqux_intr0Zfoo_lazy_message)rrUZ sub_messagerrrtestDisconnectingInOneoffsz'ReflectionTest.testDisconnectingInOneofcCsrtj}d|_d|j_|jd|jj|j|jd|j}d|_|jd|j|jd|j|j|jddS)Nrr oneof_uint32roneof_nested_message) rr:rrrsrIr0r;r<Z oneof_string)rr=rjrrr testOneOftszReflectionTest.testOneOfcCs"|j|j|j|jdS)N)r^ IsInitializedrSerializePartialToString)rr=rrrassertInitializedsz ReflectionTest.assertInitializedNcCsNg}|j|j|j|j||j|t||jtj|j|jdS)N) r;rur0r$rYr EncodeErrorrrv)rr=Z error_sizeerrorsrrrassertNotInitializeds z#ReflectionTest.assertNotInitializedcCstj}|j|tj}|j|tj}|j|dd|_|_|_|j|tj }|j|d|j _|j|dd|j _d|j _|j||j j }|j|dd|_|_|_|j|tj}tjj }|j|j }|j|j }|j|dd|_d|_d|_|j|dd|_d|_d|_|j|tj}tjj}d|j|_|j|dd|j|_d|j|_|j|g}tj}|j|j||j|dddgdS) NrAr@r?rrrMbrK)rr:rwrr<rzrMr{rKroptional_messagerr|multirr=r;rur0)rr=r_r3r`ryrrrtestIsInitializedsV                  z ReflectionTest.testIsInitializedcppr@zBErrors are only available from the most recent C++ implementation.cCsd}d}tj}||_||_|jj}d|_tj|||jdd}||_|jj}d|_|j t `}tj|||jd|j t |ddt |jd|j|jdt|j|jd t|jWdQRXdS) Nz!test_file_descriptor_errors.protoZmsg1)Z serialized_pbz)another_test_file_descriptor_errors.protoZmsg2 exceptionz %s not raisedr&z test_file_descriptor_errors.msg1)rFileDescriptorProtor packagerr|rZFileDescriptorrrYrZr^hasattrrbexpectedassertInrr)r file_nameZ package_nameZfile_descriptor_protorZanother_file_namercmrrrtestFileDescriptorErrorss0     z'ReflectionTest.testFileDescriptorErrorscCstj}|jtt|dd|jt|jtj tj d|_|j|jt dt d|_|j|jtj d|jt t|dddj d}||_d|_d|_dS) Nrzunicode objectZTestingr6saauТестzutf-8r) rr:rYrZrcr0r r6r text_typerrencode)rr=Z utf8_bytesrrrtestStringUTF8Encodings     z%ReflectionTest.testStringUTF8Encodingc Csjtj}tj}|j}d}|jd}||j|_|j}|j|j t |t j }|j |}|jt ||tj} |jdt |j|j|jdjd|j|jdjj|| j |jdj}|jt |jdj||jt| jtj|j| j||jdjj|t |d} d} y| j | Wntk rFd} YnX| j} |j| pbt| tkdS) NuТестzutf-8r?riʿFT)r TestMessageSetTestMessageSetExtension2message_set_extensionrrrrr0r\r$r RawMessageSetMergeFromStringitemtype_idr^rendswithr rrreplaceUnicodeDecodeErrorr) rr=Zextension_messager3Z test_utf8Ztest_utf8_bytes serializedraw bytes_readr`ZbadbytesZunicode_decode_failedZ string_fieldrrrtestStringUTF8Serializations8     z*ReflectionTest.testStringUTF8SerializationcCs"tjdd}|jdtj|dS)Ns)rz#optional_bytes: "\000\177\200\377" )rr:r0rr)rr=rrrtestBytesInTextFormat=s z$ReflectionTest.testBytesInTextFormatcCstj}|jjtjj|j|jdtj}|jjtjj|j|jdtj}|jjd}|j d||j|jdtj}|jj d|j|jd|j }tj}|j t ||j||j|jddS)NrVrr) rr:rVrsrQr^r<rrr0rrr$)rr=rrrurrrtestEmptyNestedMessageBs*      z%ReflectionTest.testEmptyNestedMessagecCs6tj}|j|jd|jj|j|jddS)Nre)rr:r;r<reZ SetInParentr^)rr=rrrtestSetInParent]s zReflectionTest.testSetInParentcCs*ddlm}|jj}|jd|jjdS)aTest that we can import nested messages from their __init__.py. Such setup is not trivial since at the time of processing of __init__.py one can't refer to its submodules by name in code, so expressions like google.protobuf.internal.import_test_package.inner_pb2 don't work. They do work in imports, so we have assign an alias at import and then use that alias in generated code. r)import_test_package9N)google.protobuf.internalrZmyprotoZOuterr0innerr)rrmsgrrrtestPackageInitializationImportcs  z.ReflectionTest.testPackageInitializationImport)N)`r&r'r(r4r>rHrUrWr[r]r`rhrkrlrorqrrrvrzr}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r/r4r7r8r;r>r@rJrKrMrQrRrSrTrVrXrYrZr^rarbrcrdrerfrjrmrorqrtrwrzr~unittestskipIfr ryVersionrrrrrrrrrrrr/rs "#Q       ) " !   ZS=1           : 6r/c@s,eZdZddZddZddZddZd S) TestAllTypesEqualityTestcCstj|_tj|_dS)N)rr: first_proto second_proto)rrrrsetUp{s zTestAllTypesEqualityTest.setUpcCs|jtt|jdS)N)rYrZhashr)rrrrtestNotHashablesz(TestAllTypesEqualityTest.testNotHashablecCs|j|j|jdS)N)r0r)rrrrtestSelfEqualitysz)TestAllTypesEqualityTest.testSelfEqualitycCs|j|j|jdS)N)r0rr)rrrrtestEmptyProtosEqualsz-TestAllTypesEqualityTest.testEmptyProtosEqualN)r&r'r(rrrrrrrrrysrc@sheZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZdS)FullProtosEqualityTestz@Equality tests using completely-full protos as a starting point.cCs0tj|_tj|_tj|jtj|jdS)N)rr:rrrrN)rrrrrs   zFullProtosEqualityTest.setUpcCs|jtt|jdS)N)rYrZrr)rrrrrsz&FullProtosEqualityTest.testNotHashablecCs |j|jd|jd|jdS)N)rirr)rrrrtestNoneNotEqualsz'FullProtosEqualityTest.testNoneNotEqualcCs(tj}|j|j||j||jdS)N)rr<rirr)rZ third_protorrrtestNotEqualToOtherMessagesz1FullProtosEqualityTest.testNotEqualToOtherMessagecCs|j|j|jdS)N)r0rr)rrrrtestAllFieldsFilledEqualitysz2FullProtosEqualityTest.testAllFieldsFilledEqualitycCs@|jjd7_|j|j|j|jjd|j|j|jdS)Nr?r7)rr7rirr_)rrrrtestNonRepeatedScalars z,FullProtosEqualityTest.testNonRepeatedScalarcCs|jjjd7_|j|j|j|jjjd8_|j|j|j|jjjd|j|j|j|jjj|jj_|j|j|j|jjd|j|j|jdS)Nr?rIrV)rrVrIrirr0r_)rrrrtestNonRepeatedComposites z/FullProtosEqualityTest.testNonRepeatedCompositecCs>|jjjd|j|j|j|jjd|j|j|jdS)NrprB)rrBr{rirr_)rrrrtestRepeatedScalars z)FullProtosEqualityTest.testRepeatedScalarcCs|jjdjd7_|j|j|j|jjdjd8_|j|j|j|jjj|j|j|j|jjj|j|j|jdS)Nrr?)rrNrIrirr0r|)rrrrtestRepeatedComposites  z,FullProtosEqualityTest.testRepeatedCompositecCs(|jjdd|j_|j|j|jdS)Nr7r)rr_rr7ri)rrrrtestNonRepeatedScalarHasBitss z3FullProtosEqualityTest.testNonRepeatedScalarHasBitscCsV|jjd|jjjd|j|j|jd|jj_|jjjd|j|j|jdS)NrVrIr)rr_rrVrirIr0)rrrrtestNonRepeatedCompositeHasBitss   z6FullProtosEqualityTest.testNonRepeatedCompositeHasBitsN)r&r'r(r)rrrrrrrrrrrrrrrrs rc@seZdZddZdS)ExtensionEqualityTestcCstj}tj}|j||tj||j||tj||j|||jtjd7<|j|||jtjd8<|j|||jtjd|jtj<|j||d|jtj<|j||tj}tj}|jd|jtj|j||dS)Nr?r) rrr0rrlrirrr1)rrrrrrtestExtensionEqualitys*            z+ExtensionEqualityTest.testExtensionEqualityN)r&r'r(rrrrrrsrc@seZdZddZdS)MutualRecursionEqualityTestcCsPtj}tj}|j||d|jjj_|j||d|jjj_|j||dS)Nri)rr~r0rIrMr7ri)rrrrrrtestEqualityWithMutualRecursions    z;MutualRecursionEqualityTest.testEqualityWithMutualRecursionN)r&r'r(rrrrrrsrc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-S). ByteSizeTestcCs,tj|_tj|_tj|_tj|_ dS)N) rr:r=r ZExtendedMessageextended_protoTestPackedTypes packed_protoTestPackedExtensionspacked_extended_proto)rrrrrs   zByteSizeTest.setUpcCs |jjS)N)r=r\)rrrrSizeszByteSizeTest.SizecCs|jd|jjdS)Nr)r0r=r\)rrrrtestEmptyMessageszByteSizeTest.testEmptyMessagecCs8tj}|jd|jtjdd}|jd|jdS)Nrr?)rr@)rr:r0r\)rr=Z proto_kwargsrrrtestSizedOnKwargss zByteSizeTest.testSizedOnKwargscsfdd}|dd|ddx>tttdddttddD]\}}|d|>d|qBW|d d|d d|d ddS)Ncs*jj|j_j|djdS)Nr?)r=rkrr0r)r3Zexpected_varint_size)rrrTest#s z&ByteSizeTest.testVarints..Testrr?rpri'rr@rrll)ziprGr1)rrr3Z num_bytesr)rr testVarints"s   *  zByteSizeTest.testVarintscCshd|j_|jd|jd|j_|jdt|jj|jdd|j_|jdt|jj|jdS)Nrr@rrrA)r=r6r0rr$)rrrr testStrings1s  zByteSizeTest.testStringscCsd|j_|jd|jtj|_d|j_|jd|jtj|_d|j_|jd|jtj|_d|j_|jd|jtj|_d|j_ |jd|jtj|_dS)Nirp gX9v?@rA) r=rr0rrr:rr9r8r)rrrrtestOtherNumerics>s    zByteSizeTest.testOtherNumericscCsd|jj_|jd|jdS) Nr?rAr@i@rrprp)r=rVrIr0r)rrrrtestCompositesXs zByteSizeTest.testCompositescCsd|jj_|jd|jdS) Nr?rrr@i rrr)r=rerMr0r)rrrr testGroups`s zByteSizeTest.testGroupscCs0|jjjd|jjjd|jd|jdS)Nrrr?r@rArrp)r=rBr{r0r)rrrrrgsz ByteSizeTest.testRepeatedScalarscCs&|jjjddg|jd|jdS)Nrrr?r@rArrp)r=rBrr0r)rrrrtestRepeatedScalarsExtendmsz&ByteSizeTest.testRepeatedScalarsExtendcCsN|jjjd|jjjd|jd|j|jjjd|jd|jdS) Nrrr?r@rArrprA)r=rBr{r0rr)rrrrrrs z&ByteSizeTest.testRepeatedScalarsRemovecCs2|jjj}|jjj}d|_|jd|jdS) Nrpr@r?rArprrpr")r=rNr|rIr0r)rforeign_message_0foreign_message_1rrrrzs  z#ByteSizeTest.testRepeatedCompositescCs |jjj}|jjj}d|_|jd |jtj|jj}|jjd=|jd|j|jjj}d|_|jd|j|jjd=|jd|j|jjd=|jd|j|jdt||dd=t j dkr|jdt||d=t j dkr|jdt|dS)Nrr@r?rrLrwrArprrpr"rArrprArrprpr"rrrArrpr) r=rNr|rIr0rrgrhr$r ry)rrrrNZforeign_message_2rrrtestRepeatedCompositesDeletes,        z)ByteSizeTest.testRepeatedCompositesDeletecCs2|jjj}|jjj}d|_|jd|jdS) Nrpr@r?rrr"rr)r=rPr|rMr0r)rZgroup_0Zgroup_1rrrtestRepeatedGroupss  zByteSizeTest.testRepeatedGroupsc Csjtj}|jd|jtj}d|j|<|jd|jtjjjd}|j t d|j|<WdQRXdS)Nrrir@r7) rrr0r\rrr:rrrYrL)rr=r3r"rrrtestExtensionss  zByteSizeTest.testExtensionscCsd|j_|jd|jjd|j_|jd|jj|jjd|jd|jjtj}d|jj|<|jd|jjd|jj|<|jd|jj|jj ||jd|jjdS)Nr?r@rrAr7r) r=r7r0r\r_r rCrrr1)rr3rrr)testCacheInvalidationForNonrepeatedScalars    z6ByteSizeTest.testCacheInvalidationForNonrepeatedScalarcCs|jjjd|jd|jj|jjjd|jd|jjd|jjd<|jd|jj|jjd|jd|jjtj}|jj |}|jd|jd|jj|jd|jd |jjd|d<|jd |jj|jj ||jd|jjdS) Nr?rArrrprBrr@rrp) r=rBr{r0r\r_r rDrrr1)rr3Zrepeatedrrr&testCacheInvalidationForRepeatedScalars$      z3ByteSizeTest.testCacheInvalidationForRepeatedScalarcCs$d|jj_|jd|jjd|jj_|jd|jj|jjjd|jd|jj|jjd|jd|jjtjd kr|jj}|jjdd|_|jd|jjtj }|j j |}|jd|j jd|_ |jd |j jd|_ |jd|j j|j j ||jd|j jdS) Nr?rprrrKrArfrrwr)r=rfrKr0r\r_r ryr rErrrFr1)rchildr3rrr*testCacheInvalidationForNonrepeatedMessages,       z7ByteSizeTest.testCacheInvalidationForNonrepeatedMessagecCs|jjj}|jd|jj|jjj|jd|jjd|_|jd|jj|jjd|jd|jjtj}|j j |}|j}|jd|j j|j|jd|j jd|_ |jd|j j|jd |jd|j j|j j ||jd|j jdS) NrArr?r"rOrr@rrF) r=rOr|r0r\rKr_r rGrrrFr1)rZchild0r3Z child_listrrr'testCacheInvalidationForRepeatedMessage s(      z4ByteSizeTest.testCacheInvalidationForRepeatedMessagecCs|jd|jj|jjjd|jjjdd }|j||jj|jjjd|jjjdd}|j|||jj|jjd |j||jjdS)Nrrrr?r@rAg@g @r" packed_int32rArrn)r0rr\rr{ packed_doubler_)rZint_sizeZ double_sizerrrtestPackedRepeatedScalars s z&ByteSizeTest.testPackedRepeatedScalarscCsH|jd|jj|jjtj}|jddddg|jd|jjdS)Nrr?r@rArr)r0rr\rrZpacked_fixed32_extensionr)rr3rrrtestPackedExtensions0 s z!ByteSizeTest.testPackedExtensionsN)r&r'r(rrrrrrrrrrrrrrrrrrrrrrrrrrr s, '  rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9S):SerializationTestcCsRtj}tj}|j}|j|jt||jt||j||j||dS)N)rr:rr0r\r$r)rrrrrrrtestSerializeEmtpyMessageF s z+SerializationTest.testSerializeEmtpyMessagecCs\tj}tj}tj||j}|j|jt||jt||j||j||dS)N) rr:rrNrr0r\r$r)rrrrrrrtestSerializeAllFieldsP s  z(SerializationTest.testSerializeAllFieldscCsHtj}tj}tj||j}|jt||j||j||dS)N)rrrrlrr0r$r)rrrrrrrtestSerializeAllExtensions[ s  z,SerializationTest.testSerializeAllExtensionscCsFtj}tj}d|j_|j}|jt||j||j||dS)N)rr:rerMrr0r$r)rrrrrrrtestSerializeWithOptionalGroupe s z0SerializationTest.testSerializeWithOptionalGroupcCsLtj}d|_d |_d |_d |_d|_d|_tjj|j }|j ||dS)Nr?r@rrArrprrllrllll) rr:r7rrrrrrOrr0)rrrrrrtestSerializeNegativeValueso s z-SerializationTest.testSerializeNegativeValuescCstjdkrdStj}tj||j}xtt|dD]}yntj}tj }|j |d|}|j ||y|j |d|}|j ||Wn t j k r|jdYnXWq<t j k r|jt j |j |d|Yq.InitalizeEmptyMessageWithExtraKeywordArgz9Protocol message TestEmptyMessage has no "unknown" field.)rr)rrrrrtestInitArgsUnknownFieldNameJ s z.SerializationTest.testInitArgsUnknownFieldNamecCstjdddd}|j|j|j|jd|j|jd|j|jd|j|jd |jd|j|jd|j|jd|jdS)Nr?)rMr{rKrMr{rKdummy2) rr<r^rur<r0rMr{rK)rr=rrrtestInitRequiredKwargsR sz(SerializationTest.testInitRequiredKwargscCstjtjddddd}|j|j|j|jd|j|jj|j|jjd|j|jjd|j|jjd|j|jjd |jtjdddd|j|jd|jj|jd|jj |jd|jj dS) Nr?)rMr{rK)r|r|rMr{rKr) rrr<r^rur<r|r0rMr{rK)rr=rrrtestInitRequiredForeignKwargs] sz/SerializationTest.testInitRequiredForeignKwargscCsZtjdddgd}|j|j|jd|jd|jd|jd|jd|jddS)Nr?r@rA)rBr)rr:r^rur0rB)rr=rrrtestInitRepeatedKwargsm s z(SerializationTest.testInitRepeatedKwargsN)r&r'r(rrrrrrrrrrrrrrrrrrrr r r rrrrrrrrrrrD s8    6) 3!     rc@seZdZddZddZdS) OptionsTestcCs<tj}|jd|jjjtj}|jd|jjjdS)NTF)r rr0rrrrr:)rr=rrrtestMessageOptionsw s zOptionsTest.testMessageOptionscCstj}d|_d|_x&|jD]\}}|jd|jjqWtj}|j j d|j j dx8|jD],\}}|jd|jj|jt j j|jqfWdS)Nr?g@FT)rr:r7r8rr0rrrrr{rrrr-r )rr=Zfield_descriptor_rrrtestPackedOptions s   zOptionsTest.testPackedOptionsN)r&r'r(rrrrrrru src@sreZdZejejdko"ejdkdddZddZ e j dd d Z e j dd d Z e j dd dZdS) ClassAPITestrr@z6C++ implementation requires a call to MakeDescriptor()c Cstjddddggggd}tjddddg|gggd}tjddddggggd}tjd d ddg||gggd}tj|}|jd|j|jd|j|jd|jjdS) NZleafzpackage.parent.child.leafr)rrrrrrzpackage.parent.childZsiblingzpackage.parent.siblingparentzpackage.parent)rrr MakeClassr__dict__r)rZ leaf_descZ child_descZ sibling_descZ parent_descZ message_classrrr!testMakeClassWithNestedDescriptor s(     z.ClassAPITest.testMakeClassWithNestedDescriptorcCs(d|d}tj}tj|||jS)a Get a serialized representation of a test FileDescriptorProto. Args: name: All calls to this must use a unique message name, to avoid collisions in the cpp descriptor pool. Returns: A string containing the serialized form of a test FileDescriptorProto. zmessage_type { name: "ai" field { name: "flat" number: 1 label: LABEL_REPEATED type: TYPE_UINT32 } field { name: "bar" number: 2 label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: "Bar" } nested_type { name: "Bar" field { name: "baz" number: 3 label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: "Baz" } nested_type { name: "Baz" enum_type { name: "deep_enum" value { name: "VALUE_A" number: 0 } } field { name: "deep" number: 4 label: LABEL_OPTIONAL type: TYPE_UINT32 } } }})rrr Merger)rr Zfile_descriptor_strfile_descriptorrrr_GetSerializedFileDescriptor s ) z)ClassAPITest._GetSerializedFileDescriptorz MakeDescriptor is not repeatablecstjdkrdStj}|j|jdtj|jdGfdddt j t j t j}|}d}tj|||j|jddd gdS) z7Test that the generated class can parse a flat message.rwNArcseZdZZdS)zSClassAPITest.testParsingFlatClassWithExplicitClassDeclaration..MessageClassN)r&r'r(rr)msg_descriptorrr MessageClass sr&zflat: 0 flat: 1 flat: 2 r?r@)r ryrrrr#rr.rrrrrrrr r!r0flat)rr"r&rmsg_strr)r%r0testParsingFlatClassWithExplicitClassDeclaration s    z=ClassAPITest.testParsingFlatClassWithExplicitClassDeclarationcCs`tj}|j|jdtj|jd}tj|}|}d}t j |||j |j dddgdS)z7Test that the generated class can parse a flat message.Brzflat: 0 flat: 1 flat: 2 r?r@N) rrrr#rr.rrrr r!r0r')rr"r% msg_classrr(rrrtestParsingFlatClass s   z!ClassAPITest.testParsingFlatClasscCs^tj}|j|jdtj|jd}tj|}|}d}t j |||j |j j jddS)z9Test that the generated class can parse a nested message.Crzbar { baz { deep: 4 }}rN)rrrr#rr.rrrr r!r0rrZdeep)rr"r%r+rr(rrrtestParsingNestedClass s   z#ClassAPITest.testParsingNestedClassN)r&r'r(rrr ryrr r#rZSkipReferenceLeakCheckerr)r,r.rrrrr s8r__main__))r)rgrmr5rrZ unittest2r ImportErrorZgoogle.protobufrrrrrrrr rr r r r rrrrZ BaseTestCaseobjectrr/rrrrrrrrr&mainrrrr#sv                 -V! :5 PK!9WW?protobuf/internal/__pycache__/message_test.cpython-36.opt-1.pycnu[3 hnV@s(dZdZddlZddlZddlZddlZddlZddlZddlZddl Z y ddl Z Wne k rpddl Z YnXye Wnek rddZ YnXddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZej rXe!Z"ddZ#ddZ$ddZ%ddZ&ej'Z'ej(defdefGdd d e'Z)Gd!d"d"e'Z*Gd#d$d$e'Z+Gd%d&d&e'Z,Gd'd(d(e'Z-e j.ej/d)kpej0d0kd,Gd-d.d.e'Z1e2d/kr$e j3dS)1aTests python protocol buffers against the golden message. Note that the golden messages exercise every known field type, thus this test ends up exercising and verifying nearly all of the parsing and serialization code in the whole library. TODO(kenton): Merge with wire_format_test? It doesn't make a whole lot of sense to call this a test of the "message" module, which only declares an abstract interface. z!gps@google.com (Gregory P. Smith)NcCs||k||kS)N)xyrr"/usr/lib/python3.6/message_test.py>sr)map_proto2_unittest_pb2)map_unittest_pb2) unittest_pb2)unittest_proto3_arena_pb2)descriptor_pb2)descriptor_pool)message_factory) text_format)api_implementation)encoder)packed_field_test_pb2) test_util)testing_refleaks)message)_parameterizedcCs||kS)Nr)valrrrisnanVsrcCst| ot|dS)Nr)r)rrrrisinfYsrcCst|o|dkS)Nr)r)rrrrIsPosInf\srcCst|o|dkS)Nr)r)rrrrIsNegInf^srZ_proto2Z_proto3c @s8eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^d_d`dadbe1gie2g Z3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:Gdqdrdre;ZdwdxZ?dydzZ@d{d|ZAd}d~ZBddZCddZDddZEddZFddZGd]S) MessageTestc CsXtjdkr|jdtjd}|jt}|jj|WdQRX|j dt |j dS)NpythonzSkipping testBadUtf8String, currently only the python api implementation raises UnicodeDecodeError when a string field contains bad utf-8.Zbad_utf8_stringzTestAllTypes.optional_string) rTypeZskipTestrGoldenFileData assertRaisesUnicodeDecodeError TestAllTypes FromStringassertInstr exception)selfmessage_moduleZ bad_utf8_datacontextrrrtestBadUtf8Stringjs     zMessageTest.testBadUtf8StringcCsr|tkrtjd}n tjd}|j}|j||tkrDtj|||j||jtj |}|j||jdS)NZ golden_message_oneof_implementedZgolden_message_proto3) r rrr!ParseFromStringZExpectAllFieldsSet assertEqualSerializeToStringcopydeepcopy)r&r' golden_datagolden_message golden_copyrrrtestGoldenMessagets    zMessageTest.testGoldenMessagecCshtjd}|j}|j||j}tj||j|||j||jtj|}|j||jdS)Ngolden_packed_fields_message) rrTestPackedTypesr*ZSetAllPackedFieldsr+r,r-r.)r&r'r/r0all_setr1rrrtestGoldenPackedMessages     z#MessageTest.testGoldenPackedMessagec Cs|j}|jt|jd|jt|jdtjdd}tjdkrv|jt j }|j|WdQRX|j dt |j nBtjdd0}tjd |j||j d t |d j WdQRXdS) Nr0rzUnexpected end-group tag.T)recordalwaysz4Unexpected end-group tag: Not all data was converted)r!r TypeErrorr" ExceptionrZTagBytesrrr DecodeErrorr+r$r%warningscatch_warnings simplefilter)r&r'msgZend_tagr(wrrrtestParseErrorss    zMessageTest.testParseErrorsc sd}|j}|jjddddg|j||jdd|j||jdd|j||jddGd d d tGfd d d t}|j|j|dWdQRXdS) Ns5 One string Two string Red string Blue stringz One stringz Two stringz Red stringz Blue string) deterministicFTc@s eZdZdS)z:MessageTest.testDeterminismParameters..BadArgErrorN)__name__ __module__ __qualname__rrrr BadArgErrorsrJcs$eZdZfddZfddZdS)z5MessageTest.testDeterminismParameters..BadArgcs dS)Nr)r&)rJrr__bool__sz>MessageTest.testDeterminismParameters..BadArg.__bool__cs dS)Nr)r&)rJrrrKsN)rGrHrIrKr)rJrrBadArgs rL)r!repeated_stringextendr+r,r>objectr)r&r'r/r0rLr)rJrtestDeterminismParameterss" z%MessageTest.testDeterminismParameterscCs@tjd}|j}|j|tj|}tj|}|j||dS)Nr0)rrr!r*pickledumpsloadsr+)r&r'r/r0pickled_messageunpickled_messagerrrtestPickleSupports     zMessageTest.testPickleSupportcCs|tkrd}nd}|j}|j||jt|j|jt|j|jt|jd|jt|jd|j ||j dS)Ns]as ]ar) r r!r* assertTrueroptional_floatoptional_doublerepeated_floatrepeated_doubler+r,)r&r'r/r0rrrtestPositiveInfinitys z MessageTest.testPositiveInfinitycCs|tkrd}nd}|j}|j||jt|j|jt|j|jt|jd|jt|jd|j ||j dS)Ns]as ]ar) r r!r*rWrrXrYrZr[r+r,)r&r'r/r0rrrtestNegativeInfinitys z MessageTest.testNegativeInfinitycCsd}|j}|j||jt|j|jt|j|jt|jd|jt|jd|j}|j}|j||jt|j|jt|j|jt|jd|jt|jddS)Ns]ar) r!r*rWrrXrYrZr[r,)r&r'r/r0 serializedrrrrtestNotANumbers  zMessageTest.testNotANumbercCsRd}|j}|j||jt|jd|jt|jd|j||jdS)Nsr)r4r*rWr packed_float packed_doubler+r,)r&r'r/r0rrrtestPositiveInfinityPackeds  z&MessageTest.testPositiveInfinityPackedcCsRd}|j}|j||jt|jd|jt|jd|j||jdS)Nsr)r4r*rWrr`rar+r,)r&r'r/r0rrrtestNegativeInfinityPackeds  z&MessageTest.testNegativeInfinityPackedcCsd}|j}|j||jt|jd|jt|jd|j}|j}|j||jt|jd|jt|jddS)Nsr)r4r*rWrr`rar,)r&r'r/r0r^rrrrtestNotANumberPacked%s  z MessageTest.testNotANumberPackedcCst|j}tjdd}||_|j|j|j|j|kdtjdd}||_|j|j|j|j|k| |_|j|j|j|j| k| |_|j|j|j|j| ktjdd}||_|j|j|j|j|kdtjdd}||_|j|j|j|j|k| |_|j|j|j|j| k| |_|j|j|j|j| kdS)Ng?ii)r!mathpowrXr*r,rW)r&r'rkMostPosExponentNoSigBitskMostPosExponentOneSigBitkMostNegExponentNoSigBitskMostNegExponentOneSigBitrrrtestExtremeFloatValues3s:  z"MessageTest.testExtremeFloatValuescCst|j}tjdd}||_|j|j|j|j|kdtjdd}||_|j|j|j|j|k| |_|j|j|j|j| k| |_|j|j|j|j| ktjdd}||_|j|j|j|j|kdtjdd}||_|j|j|j|j|k| |_|j|j|j|j| k| |_|j|j|j|j| kdS)Nreig?ii)r!rgrhrYr*r,rW)r&r'rrirjrkrlrrrtestExtremeDoubleValues`s:  z#MessageTest.testExtremeDoubleValuescCs"|j}d|_|jt|ddS)Ng@zoptional_float: 2.0 )r!rXr+r$)r&r'rrrrtestFloatPrintingszMessageTest.testFloatPrintingcCs>|j}d|_tjdkr*|jt|dn|jt|ddS)Ng^!7ݚ?z%optional_double: 0.12345678912345678 z optional_double: 0.123456789123 )rp)r!rYsys version_infor+r$)r&r'rrrrtestHighPrecisionFloatPrintings  z*MessageTest.testHighPrecisionFloatPrintingcCs<|j}tj||j}|j|j|jt|ddS)N)r!rZSetAllNonLazyFieldsZTestEmptyMessager*r,r+r$)r&r'Z populatedemptyrrrtestUnknownFieldPrintings  z$MessageTest.testUnknownFieldPrintingcCs|j}|jjdd|jjdd|jjdd|jjdd|jddddgdd|jD|jddddgddt|jD|jddddgd d|jddd DdS) Nr8)bbrerpr9cSsg|] }|jqSr)rw).0mrrr sz@MessageTest.testRepeatedNestedFieldIteration..cSsg|] }|jqSr)rw)rxryrrrrzscSsg|] }|jqSr)rw)rxryrrrrzsr<)r!repeated_nested_messageaddr+reversed)r&r'rCrrr testRepeatedNestedFieldIterationsz,MessageTest.testRepeatedNestedFieldIterationcCs|j}|jjd|jjd|jjd|jj|j|jdd|j|jdd|j|jdd|jt|jtdddg|jjd|jjd|jjd|jj|j|jdd|j|jdd|j|jdd|jjd|jjd |jjd |jj|j|jdd|j|jdd |j|jdd |jt|jtdd d g|j jd |j jd |j jd |j j|j|j dd |j|j dd |j|j dd |jt|j td d d gdS)z7Check some different types with the default comparator.r8rprerg?g?g333333?acbacbN) r!repeated_int32appendsortr+r$rZassertAlmostEqualrMZrepeated_bytes)r&r'rrrr0testSortingRepeatedScalarFieldsDefaultComparators@                zMessageTest.testSortingRepeatedCompositeFieldsCustomComparatorcCs|j}d|jj_d|jj_d|jj_d|jj_d|jj_d|jj_d|jj_|jjdd d |jdddddddgd d |jD|j}|j|j||jdddddddgd d |jDdS)zECheck passing a custom comparator to sort a repeated composite field. !  cSs |jdS)Nr)rw)zrrrr szFMessageTest.testSortingRepeatedCompositeFieldsStable..)rcSsg|] }|jqSr)rw)rxnrrrrz szHMessageTest.testSortingRepeatedCompositeFieldsStable..cSsg|] }|jqSr)rw)rxrrrrrzsN) r!r{r|rwrr+r,ClearZMergeFromString)r&r'rpbrrr(testSortingRepeatedCompositeFieldsStables$        z4MessageTest.testSortingRepeatedCompositeFieldsStablecCs@|j}tjd}dd}d|jj_d|jj_d|jj_d|jj_d|jj_d |jj_|jj|d |jd d |jDdddd ddg|jj|d d|jdd |jDddd dddgtj dkrdS|jj|d|jdd |jDdddd ddg|jj|d d|jdd |jDddd dddgdS)zECheck sorting a repeated composite field using list.sort() arguments.rwcSst|j|jS)N)cmprw)rrrrrrszEMessageTest.testRepeatedCompositeFieldSortArguments..r8rprerrr9)rcSsg|] }|jqSr)rw)rxkrrrrz%szGMessageTest.testRepeatedCompositeFieldSortArguments..T)rreversecSsg|] }|jqSr)rw)rxrrrrrz(sN) sort_functioncSsg|] }|jqSr)rw)rxrrrrrz,s)rrcSsg|] }|jqSr)rw)rxrrrrrz/s)rp) r!rrr{r|rwrr+rqrr)r&r'rZget_bbZcmp_bbrrr'testRepeatedCompositeFieldSortArgumentss.        z3MessageTest.testRepeatedCompositeFieldSortArgumentscCs|j}|jjd|jjd|jjd|jjtd|jt|jdddg|jjtdd|jt|jdddgtjdkrdd}|jj|d |jt|jdddg|jj|dd |jt|jdddg|j jd |j jd |j jd |j jt d|jt|j d d d g|j jt dd|jt|j d d d gtjd krdd}|j j|d |jt|j d d d g|j j|dd |jt|j d d d gdS)!z9Check sorting a scalar field using list.sort() arguments.rprer8)rT)rrcSstt|t|S)N)rr)rrrrrr>szBMessageTest.testRepeatedScalarFieldSortArguments..)r)rrrrwrcSstt|t|S)N)rr)rrrrrrLsNrrr<r<rrrrr<)rpr<rrrrr<)rp) r!rrrrr+listrqrrrMr)r&r'rZabs_cmpZlen_cmprrr$testRepeatedScalarFieldSortArguments2s6        z0MessageTest.testRepeatedScalarFieldSortArgumentsc CsJ|j}|j}|jjd|jjd|jjd|jjd|jjd|jjdd|jj_d|jj_d|jj_d|jj_d|jj_d|jj_tjdkrdS||k}|j|jk}|jt ||d|jt |j|jd|jt |jdddgd|jt |j|jd|j t t |j|jddWdQRXdS)Nrr8rerp)rp) r!rrr{r|rwrqrrr+rrr=)r&r'm1m2_rrrtestRepeatedFieldsComparableRs2                 z(MessageTest.testRepeatedFieldsComparablecCs,|j}|j|jtj|j|jtjdS)N)r!assertIsInstancer collectionsMutableSequencer{)r&r'ryrrrtestRepeatedFieldsAreSequencesusz*MessageTest.testRepeatedFieldsAreSequencescCsL|j}|jtt|jWdQRX|jtt|jWdQRXdS)N)r!rr=hashrr{)r&r'ryrrrtestRepeatedFieldsNotHashable{s   z)MessageTest.testRepeatedFieldsNotHashablecCs*|j}|jjjg|j|jddS)Npayload)NestedTestAllTypesrrrNrWHasField)r&r'ryrrr$testRepeatedFieldInsideNestedMessagesz0MessageTest.testRepeatedFieldInsideNestedMessagecCst|||j|j|dS)zMake sure that a nested message object exists. As soon as a nested message attribute is accessed, it will be present in the _fields dict, without being marked as actually being set. N)getattr assertFalser)r&rCZ attributerrrensureNestedMessageExistss z%MessageTest.ensureNestedMessageExistscCs,|j}|jt|jd|jt|jddS)NZno_such_oneof_fieldr)r!r ValueError WhichOneofr>)r&r'ryrrr testOneofGetCaseNonexistingFieldsz,MessageTest.testOneofGetCaseNonexistingFieldcCs|j}|jd|jd|j|jdd|_|jd|jd|j|jd|j|jdd|_|jd|jd|j|jd|j|jddS)N oneof_field oneof_uint32r oneof_stringrt) r!assertIsrrrrr+rWr)r&r'ryrrrtestOneofDefaultValuessz"MessageTest.testOneofDefaultValuescCsb|j}|jd|jdd|_|jd|jd|j|jdd|_|jd|jd|j|jd|j|jd|j |jd|jd|j|jd|j|jd|j j |jd|jd|j|jd|j|jdd|j _ |jd|jd|j|jd|j|jdd|_ |jd|jd|j|jd|j|jddS) Nrrrfooroneof_nested_messagesbb oneof_bytes) r!rrrr+rWrrrrrwr)r&r'ryrrrtestOneofSemanticss2zMessageTest.testOneofSemanticscCs>|j}d|_|j|d|jd|jd|jd|jdS)Nrrrr)r!rrr+r)r&r'ryrrr!testOneofCompositeFieldReadAccesss  z-MessageTest.testOneofCompositeFieldReadAccesscCs|j}|jd|jd|tkr2|j|jdd|_|jd|jd|tkrb|j|jdd|_ |jd|jd|j d|jd|jd|tkr|j|jddS)Nrrrsbbr) r!rrr rrrr+rWr ClearField)r&r'ryrrrtestOneofWhichOneofs zMessageTest.testOneofWhichOneofcCsV|j}d|_|jd|tkr0|j|jd|j|jd|jd|jddS)Nrrr)r!rrr rrrr)r&r'ryrrrtestOneofClearFields zMessageTest.testOneofClearFieldcCsV|j}d|_|jd|tkr0|j|jd|j|jd|jd|jddS)Nrrr)r!rrr rrrr)r&r'ryrrrtestOneofClearSetFields z"MessageTest.testOneofClearSetFieldcCsp|j}d|_|j|d|jd|jd|j|tkrJ|j|jd|j|jd|jd|jddS)Nrrrr) r!rrrr+r rWrr)r&r'ryrrrtestOneofClearUnsetFields  z$MessageTest.testOneofClearUnsetFieldcCs:|j}d|_|j}|j|j|jd|jddS)Nrrr)r!rr*r,r+r)r&r'ryrrrrtestOneofDeserializes z MessageTest.testOneofDeserializecCs6|j}d|_|j}|j||jd|jddS)Nrrr)r!rCopyFromr+r)r&r'ryrrrrtestOneofCopyFroms  zMessageTest.testOneofCopyFromcCsb|j}d|j_|j}d|j_d|jj_|j||jd|jjd|jd|jjjddS)Nrsbbrrr)rrrrchild MergeFromr+r)r&r'ryrrrrtestOneofNestedMergeFroms  z$MessageTest.testOneofNestedMergeFromcCsf|j}d|jj_d|jjj_|j}d|j_|j||jd|jjd|jd|jjjddS)Nr rrr) rrrrwrrrr+r)r&r'ryrrrrtestOneofMessageMergeFroms   z%MessageTest.testOneofMessageMergeFromcCs(|j|jjd}|jd|jddS)N)rrr)r! NestedMessager+r)r&r'ryrrrtestOneofNestedMessageInit$sz&MessageTest.testOneofNestedMessageInitcCsB|j}d|_|j|j|jdd|_|jd|jddS)Nrrsbbr)r!rr assertIsNonerrr+)r&r'ryrrrtestOneofClear)s zMessageTest.testOneofClearcCs&|j}td|_|j|jtjdS)zmAssigning a byte string to a string field should result in the value being converted to a Unicode string.rtN)r!r$optional_stringrsix text_type)r&r'ryrrr"testAssignByteStringToUnicodeField1s z.MessageTest.testAssignByteStringToUnicodeFieldcCs|j}|jjd|jtdtt|j}|jt|jt|d|jj_|jtdtt|j}|jt|jt|dS)z|It should be possible to use long-valued indicies in slices This didn't used to work in the v2 C++ implementation. r8rrpN) r!rrintrr+r{r|rw)r&r'ryZslrrrtestLongValuedSlice8s  zMessageTest.testLongValuedSlicecCsl|j}|jt }|jjddtdDWdQRX|jt }|jjddtdDWdQRXdS)z5This didn't use to work in the v2 C++ implementation.css|] }tVqdS)N)r)rxirrr MszCMessageTest.testExtendShouldNotSwallowExceptions..rNcss|] }tVqdS)N)r)rxrrrrrPs)r!r NameErrorrrNrangerepeated_nested_enum)r&r'ryrrrr$testExtendShouldNotSwallowExceptionsIs  $ z0MessageTest.testExtendShouldNotSwallowExceptionsNFrgrtcCs^|j}|jg|jx(tjD]}|jj||jg|jqW|jjg|jg|jdS)z,Test no-ops extending repeated int32 fields.N)r!assertSequenceEqualrr FALSY_VALUESrN)r&r'ry falsy_valuerrrtestExtendInt32WithNothingTs   z&MessageTest.testExtendInt32WithNothingcCs^|j}|jg|jx(tjD]}|jj||jg|jqW|jjg|jg|jdS)z,Test no-ops extending repeated float fields.N)r!rrZrrrN)r&r'ryrrrrtestExtendFloatWithNothingas   z&MessageTest.testExtendFloatWithNothingcCs^|j}|jg|jx(tjD]}|jj||jg|jqW|jjg|jg|jdS)z-Test no-ops extending repeated string fields.N)r!rrMrrrN)r&r'ryrrrrtestExtendStringWithNothingns   z'MessageTest.testExtendStringWithNothingcCs|j}|jg|j|jjdg|jdg|j|jjddg|jdddg|j|jjddg|jdddddg|jdS)z7Test extending repeated int32 fields with python lists.rr8rerpr9N)r!rrrN)r&r'ryrrrtestExtendInt32WithPythonList{sz)MessageTest.testExtendInt32WithPythonListcCs|j}|jg|j|jjdg|jdg|j|jjddg|jdddg|j|jjddg|jdddddg|jdS)z7Test extending repeated float fields with python lists.gg?g@g@g@N)r!rrZrN)r&r'ryrrrtestExtendFloatWithPythonListsz)MessageTest.testExtendFloatWithPythonListcCs|j}|jg|j|jjdg|jdg|j|jjddg|jdddg|j|jjddg|jdddddg|jdS)z8Test extending repeated string fields with python lists.rtZ11Z22Z33Z44N)r!rrMrN)r&r'ryrrrtestExtendStringWithPythonListsz*MessageTest.testExtendStringWithPythonListcCs:|j}|jg|j|jjd|jdddg|jdS)zDTest extending repeated string fields with characters from a string.abcrrrN)r!rrMrN)r&r'ryrrrtestExtendStringWithStrings z&MessageTest.testExtendStringWithStringc@s2eZdZdZd ddZddZddZd d ZdS) zMessageTest.TestIterablezThis iterable object mimics the behavior of numpy.array. __nonzero__ fails for length > 1, and returns bool(item[0]) for length == 1. NcCs|pg|_dS)N)_list)r&valuesrrr__init__sz!MessageTest.TestIterable.__init__cCs8t|j}|dkrdS|dkr,t|jdStddS)NrFr8zTruth value is ambiguous.)rrboolr)r&sizerrrrKs  z!MessageTest.TestIterable.__bool__cCs t|jS)N)rr)r&rrr__len__sz MessageTest.TestIterable.__len__cCs |jjS)N)r__iter__)r&rrrrsz!MessageTest.TestIterable.__iter__)N)rGrHrI__doc__rrKrrrrrr TestIterables  rcCs|j}|jg|j|jjtjg|jg|j|jjtjdg|jdg|j|jjtjddg|jdddg|j|jjtjddg|jdddddg|jdS)z3Test extending repeated int32 fields with iterable.rr8rerpr9N)r!rrrNrr)r&r'ryrrrtestExtendInt32WithIterablesz'MessageTest.testExtendInt32WithIterablecCs|j}|jg|j|jjtjg|jg|j|jjtjdg|jdg|j|jjtjddg|jdddg|j|jjtjddg|jdddddg|jdS)z3Test extending repeated float fields with iterable.gg?g@g@g@N)r!rrZrNrr)r&r'ryrrrtestExtendFloatWithIterablesz'MessageTest.testExtendFloatWithIterablecCs|j}|jg|j|jjtjg|jg|j|jjtjdg|jdg|j|jjtjddg|jdddg|j|jjtjddg|jdddddg|jdS)z4Test extending repeated string fields with iterable.rt1234N)r!rrMrNrr)r&r'ryrrrtestExtendStringWithIterablesz(MessageTest.testExtendStringWithIterablec CsPtjdkstjdkrdS|j}|jtj}tj|jtj WdQRXdS)Ncppre) rrZVersionr!rrQZ PickleErrorrRrZHIGHEST_PROTOCOL)r&r'ryrrrr!testPickleRepeatedScalarContainers   z-MessageTest.testPickleRepeatedScalarContainercCs|j}|jjdS)z?Exercise a scenario that has led to segfaults in the past. N)r!r{r)r&r'ryrrr'testSortEmptyRepeatedCompositeContainersz3MessageTest.testSortEmptyRepeatedCompositeContainerc Cs,|j}|jt}|jdWdQRXdS)zBUsing HasField on a repeated field should raise an exception. rN)r!rrr)r&r'ryrrrrtestHasFieldOnRepeatedFields z'MessageTest.testHasFieldOnRepeatedFieldc Cs|j}|jt}|jjWdQRX|jjttd|jd|jj|jd|jjd|jd|jjd|jddg|jdS)Nrr9rrer8rp) r!r IndexErrorrpoprNrrr+)r&r'ryrrrrtestRepeatedScalarFieldPops z&MessageTest.testRepeatedScalarFieldPopcCs|j}|jt}|jjWdQRX|jt}|jjdWdQRXx tdD]}|jj}||_qTW|j d|jjj|j d|jjdj|j d|jjdj|j ddgdd |jDdS) Nr7rr9rrer8rpcSsg|] }|jqSr)rw)rxrrrrrzsz=MessageTest.testRepeatedCompositeFieldPop..) r!rrr{rr=rr|rwr+)r&r'ryrrrrrrtestRepeatedCompositeFieldPops    z)MessageTest.testRepeatedCompositeFieldPopcCs\|j}x.tdD]"}|jj|||jj}||_qW|j|j|j|j|j|jdS)Nr) r!rrinsertr{r|rwrr+)r&r'ryrrrrrtestRepeatedCompareWithSelfs  z'MessageTest.testRepeatedCompareWithSelfcCs6|j}|jj}|j}|jj}|j|jjddS)zwA case that lead to a segfault when a message detached from its parent container has itself a child container. rN)rZrepeated_childr|rr+roptional_int32)r&r'ryrrrtestReleasedNestedMessagess   z&MessageTest.testReleasedNestedMessagescCsz|j}|jt g|_WdQRX|jjdtjdkrZ|jt g|_WdQRXn|jt g|_WdQRXdS)Nr8r)r!rAttributeErrorrrrrr=)r&r'ryrrrtestSetRepeatedComposite(s     z$MessageTest.testSetRepeatedComposite)HrGrHrIr)r2r6rErPrVr\r]r_rbrcrdrmrnrorsrvr~rrrrrrrrrrrrrrrrrrrrrrrrrrrr bytearraysetrrrrrrrrrOrrrrrrrrrr r r rrrrres  $   --( # #                  rc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS) Proto2TestcCstj}|j|jd|j|jd|j|jd|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jd|j|jd|j|jd|j j d|_d|_d|j _ |j |jd|j |jd|j |jdd |_d |_d |j _ |j |jd|j |jd|j |jd|j d|j d|j d|j|jd|j|jd|j|jd|jd|j|jd|j|jd|j j dS) Nr  optional_booloptional_nested_messagefield_doesnt_existrr{rFrT) r r!rrrrr+r rrrwrWr)r&rrrrtestFieldPresence:sD      zProto2Test.testFieldPresencecCs tj}|jt }d|_WdQRX|jt|jjd|jjdd|jd<|jtd|jd<WdQRXtj}d|_|jjd|j}tj}|j ||j |j d|j d|j|j dt |j|j|j |j|j d|j|j d|jddS) z:Assigning an invalid enum number is not allowed in proto2.iNreri@itoptional_nested_enumr8)r r!rrrrrr r,r*rrr+rr)r&ryrrr^Zm3rrrtestAssignInvalidEnumjs*      z Proto2Test.testAssignInvalidEnumc Cs6tj}d|jd<|jtd|jd<WdQRXdS)Nr{r8)rZ TestEnumMapZknown_map_fieldrrZunknown_map_field)r&ryrrrtestUnknownEnumMaps  zProto2Test.testUnknownEnumMapcCstj}|jtt|ddS)N Extensions)r r!rr r)r&rCrrrtestExtensionsErrorsszProto2Test.testExtensionsErrorscCshtjd}tj}|j|tj}tj||j|||j||jtj |}|j||jdS)Nr0) rrr ZTestAllExtensionsr*ZSetAllExtensionsr+r,r-r.)r&r/r0r5r1rrrtestGoldenExtensionss     zProto2Test.testGoldenExtensionscCshtjd}tj}|j|tj}tj||j|||j||jtj |}|j||jdS)Nr3) rrr ZTestPackedExtensionsr*ZSetAllPackedExtensionsr+r,r-r.)r&r/r0r5r1rrrtestGoldenPackedExtensionss     z%Proto2Test.testGoldenPackedExtensionscCsNtjdd}tj|}tj|}|j|||j|jd|jtj |j dS)Nr8)r) r Z TestRequiredrQrRrSr+rrrZ EncodeErrorr,)r&r0rTrUrrrtestPickleIncompleteProtos     z$Proto2Test.testPickleIncompleteProtocCstjtjtjg}d|d_d|d_d|d_d|d_tj}d|_d|_d|_tjj}|jj||j j||j j||j j||j j||j jjj|d|j jjj|d|j jjj|d|jjjj|d|jjjj|d|jjjj|d|j}tj}|j||j|j||j|j||j|jj||j|jtjj||jt|jd|jt|jd|jt|jtjjddS)zcCheck the merge behavior when a required or optional field appears multiple times in the input.r8rrerpZhelloN)r r!r optional_int64rZTestParsingMergeZRepeatedFieldsGeneratorZfield1rNZfield2Zfield3Zext1Zext2Zgroup1r|rZgroup2r,r*r+Zrequired_all_typesZoptional_all_types optionalgroupZoptional_group_all_typesrZ optional_extrZrepeated_all_types repeatedgroupZ repeated_ext)r&ZmessagesZmerged_message generatordataZ parsing_mergerrrtestParsingMergesJ              zProto2Test.testParsingMergecCs`tjddddddiddiid dd idd igd tjjgd dd }|j|tj|jd|j|jd|j|jd|j|jd|j|jd|j j |j|j tjj |jd|j j |j|jd|j|jtj|jtjj|j|jdt|j|jd |jdj |jd |jdj |jdt|j|jtjj|jd|jtjj|jd|jd |j|jd|j|j|jd|jdt|j|jd|jtjd d}|jtjj|j|jttjddidWdQRX|jttjddidWdQRX|jttjddWdQRX|jttjd dWdQRXdS)Ndgr@xrirwiBAZiXiFOOi r) r optional_fixed32rXoptional_bytesr roptional_foreign_messagerr!r default_int32rr,rerr8r*)rZINVALID_NESTED_FIELD)rZINVALID_VALUE_TYPEZ INVALID_LABEL)r) r r!ZBARrr+r r*rXr+r rrrrwrWrr,ForeignMessager(rrr!rr)r-rrrZZ default_int64rrr=)r&rrrrtestPythonicInitsl              zProto2Test.testPythonicInitN) rGrHrIrrrrrrrr$r1rrrrr8s0  1rc@s eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAS)B Proto3TestcCs@t|}x&|D]\}}|j|||||=qW|ji|dS)N)dictr+)r&Zmap_iterZ dict_valuervrrrassertMapIterEquals+s  zProto3Test.assertMapIterEqualsc4Cstj}|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|j|jd|jt|jdWdQRX|jt|jdWdQRX|jt|jdWdQRX|jd |j|jd |j|jd |j |jd |j |jd |j j d |j _ |j |jdd |_d |_d|_ d|_ d|j _ |jd|jd|jd|jd|jd|jd |j|jd |j|jd |j |jd |j |jd |j j dS)Nr rXrrrrrr{rrtFrg?rTr)r r!rrrrr+r rXrrrrwrWr)r&rrrrr5sL            zProto3Test.testFieldPresencecCstj}d|_|jd|j|jjd|jd|jdd|jd<|jd|jd|j}tj}|j||jd|j|jd|jddS)zCAssigning an unknown enum value is allowed and preserves the value.iiTritN)r r!rr+rrr,r*)r&ryr^rrrrtestAssignUnknownEnumns   z Proto3Test.testAssignUnknownEnumcCsNtj}|jd |jk|jd|jk|jd|jk|jd|jk|jd|jk|jd|jk|jd|j k|jd|j k|jd|j k|j d|jd|j d|jd|j d|jd|j d|jd|j d |jd|j t|jdt|j d|jd|j t|jdt|j d |j d|j d |j d|j d|j d|j d|jk|j d|jk|j d|jk|j d|jk|j d|jk|j d|jk|j d|j k|j d|j k|j d|j k|j|j dtj|jt|j dWdQRX|jtd|j kWdQRXdS)NrrerFroixrgrtrilllilllilll)rTestMaprmap_int32_int32map_int64_int64map_uint32_uint32map_uint64_uint64map_int32_double map_bool_boolmap_string_stringZmap_int32_bytesmap_int32_enumr+rW isinstancefloatrrrrrr=)r&rCrrrtestScalarMapDefaultssF  z Proto3Test.testScalarMapDefaultscCs&tj}|j|jjd|jd|jjdd|j|jjdd|jd<|jd|jjd|jd|jjd|jt|jjdWdQRX|j|jjd|jd|jjdd|jd}|j ||jjdt j dkr|jt|jjdWdQRXn|jd|jjddS)Nrrrrtr) rr8rr9getr+rr=map_int32_foreign_messagerrr)r&rCsubmsgrrr testMapGets"    zProto3Test.testMapGetc!Cs4tj}|jdt|j|jd|jkd|jd<d|jd<d|jd<d|jd<d|j d<d |j d <d |j d <d |j d <d|j d<d|j d<|jg|j|jd t|j |jtd |j d<WdQRX|jd t|j |jtd|j d <WdQRX|j}tj}|j||jtd |j d<WdQRX|jtd|j d <WdQRX|jd|jd|jd|jd|jd|jd|jd|jd |jd|j d|jd |j d |jd |j d |jd |j d |jd|j d|jd|j dtjdkr0|jdt|jdS)!Nrrirre"rg333333?gffffff @r8123rTixrz {-123: -456}i8illlllli8illllll)rr8r+rr9rr:r;r<Zmap_int32_floatr=r?r>r@FindInitializationErrorsrr=r,r*rrrr$)r&rCr^msg2rrr testScalarMapsP               zProto3Test.testScalarMapcCs@tj}d|jd<d|jd<|j|jd|jd|jdS)Nrrtrs r )rr8r9r?r+ByteSizer,)r&rCrrrtestMapEntryAlwaysSerializeds   z'Proto3Test.testMapEntryAlwaysSerializedcCsntj}d}|jd}||j|<t|jjd\}}|j|||j|||j|tj |j|tj dS)Nuሴutf8r) rr8encoder?ritemsr+rrr)r&rCZ unicode_objZ bytes_objrvaluerrr testStringUnicodeConversionInMaps    z+Proto3Test.testStringUnicodeConversionInMapcCsZtj}|jdt|j|jd|jk|jd|jjd |jdt|j|jd|j|jd |j|jdt|j|jt |jdWdQRX|jt |jd|jd<WdQRX|jdt|j|j }tj}|j ||jdt|j|jd|j|jd |j|jdt|jt jdkrV|jd tt|jdS) NrrrirerIirri8i8i8)rr8r+rrErZ get_or_creater#rr=rr,r*rrr$)r&rCr^rKrrrtestMessageMap&s0     zProto3Test.testMessageMapcCstj}d|jdj_|jd=d|jdj_|jdt|jd|jdj_|jdt|j|j}tj}|j|ddg}x|D] }|j|=qWdS)Nr8re) rr8map_int32_all_typesrrwr+rr,r*)r&rCr^rKkeysrrrrtestNestedMessageMapItemDeleteOs  z)Proto3Test.testNestedMessageMapItemDeletecCsptj}d|jd<|j}d|jd<|j|j|dd|jd_|j}d|jd_|j|j|ddS)Nr8)rr8r9rMr+rEr)r&rCrrrrtestMapByteSize`s    zProto3Test.testMapByteSizec Cstj}d|jd<d|jd<d|jd<d|jd_d |jd _tj}d |jd<d |jd <d|jd _d|jd _|jd }|j||jd|jd|jd|jd|jd|jd|jd |jd |jd|jdj|jd |jd j|j |jd j dt j dkr(|jd|ji}x.|jD]$}|j ||k|j|j||<q4W|jdd d||jd=|j d|jk|jd =|j d |jkt j dkr|j t|jd=WdQRXn|j t|jd=WdQRXdS)NrHrN8rrr7r7cXrrdr)r7r^rt)rr8r9r:rErrbrr+rrrrrr=KeyError)r&rCrKZ old_map_valueZas_dictrrrr testMergeFromlsH              zProto3Test.testMergeFromc Cs.tj}|jtd|jdWdQRXdS)NzWParameter to MergeFrom\(\) must be instance of same class: expected .*TestMap got int\.r8)rr8assertRaisesRegexr=r)r&rCrrrtestMergeFromBadTypes zProto3Test.testMergeFromBadTypec Cs.tj}|jtd|jdWdQRXdS)Nz[Parameter to [A-Za-z]*From\(\) must be instance of same class: expected .*TestMap got int\.r8)rr8rer=r)r&rCrrrtestCopyFromBadTypes zProto3Test.testCopyFromBadTypecCstj}td|jtd<td |jtd <td|jtd<td |jtd <|j}tj}|j||j d|jd|j d|jd|j d|jd|j d|jddS)NirrerHri8illlllli8illllll) rr8rr9r:r;r<r,r*r+)r&rCr^rKrrrtestIntegerMapWithLongss z"Proto3Test.testIntegerMapWithLongscCstj}d|jjd<|j}tj}|j||j||d|jjd<|j}|j||j|||jjj|j}|j||j||dS)Niriix)rTestMapSubmessagetest_mapr9r,r*r+clear)r&rCr^rKrrrtestMapAssignmentCausesPresences        z*Proto3Test.testMapAssignmentCausesPresencecCstj}d|jjd_|j}tj}|j||j||d|jjd_|j}|j||j|||jjdj|jjd|j}|j||j|||jjj |j}|j||j||dS)Nrrix) rrirjrErr,r*r+rrk)r&rCr^rKrrr-testMapAssignmentCausesPresenceForSubmessagess&         z8Proto3Test.testMapAssignmentCausesPresenceForSubmessagescCs~tj}t|j}t|j}d|jd<d|jd_|jtx |D]}qDWWdQRX|jtx |D]}qhWWdQRXdS)NrIrr)rr8iterr?rErr RuntimeError)r&rCZstring_string_iterZint32_foreign_iterrrrrtestModifyMapWhileIteratings        z&Proto3Test.testModifyMapWhileIteratingc Cstj}|jd}|j||jd|j|tjd|_|j}tj}|j ||j d|jdj|j t tj|jd<WdQRXdS)Nr7rra) rr8rErrr r0rr,r*r+rr)r&rCrFr^rKrrrtestSubmessageMap s   zProto3Test.testSubmessageMapcCstj}x$t|jjD]\}}|jdqWd|jd<d|jd<d|jd<|jdt|jdddd}|jt|jj|dS)NFr9rerrp)rerpr9) rr8rr9rQrWr+rr5)r&rCrr4 matching_dictrrrtestMapIterations    zProto3Test.testMapIterationcs&tjdkr"tj}d|jd<d|jd<d|jd<d|jd<|j}jdt|tj}|j|jfdd }|t |j t |j |t |j t |j |t |j t |j jd|jdjd|jd jd|jdjd |jdjdt||j\}}jd||jdt||jjd t|jt|jWdQRXjd |jdjd t||j|jjdt|jt|j|j|jWdQRXjt|jd WdQRXjt|jd dWdQRXdS)Nrpr9rerrsrrcs0jt||djt||dddS)Nrr8)r+nextr)seqiterator)r&rr CheckItems9sz-Proto3Test.testPython2Map..CheckItemsirr8r)rR)rp)rqrrrr8r9r+rr*r,rrQrorVrrDrpopitemrkrrc setdefaultupdater=)r&rCZ map_int32rKryrrRr)r&rtestPython2Map-sJ            zProto3Test.testPython2MapcCsftj}d|jd<d|jd<d|jd<d|jd<d|jd<t|jj}t|jj}|j||dS)Nrt local_init_optrainable_variables variablesinit_op summaries)rr8r?rrQr+)r&rCZitems1Zitems2rrr testMapItems]s     zProto3Test.testMapItemscCs~d}tj}d|jd<d|jd<d|jd<d|jd <d |jd <d |jd <d |jd<d|jd<d|jd<|j||jdddS)Nsr init_opdr item1er item2fr item3gr item4QQr local_init_opar summarieser trainable_variablesbr variablescrr~rrrrrbrerZitem1fZitem2gZitem3ZQQZitem4T)rF)rr8r?r+r,)r&r/rCrrr!testMapDeterministicSerializationls          z,Proto3Test.testMapDeterministicSerializationcCsRtj}d|jd<d|jd<d|jd<t|jj}~dddd}|j||dS)Nr9rerrprs)rerpr9)rr8r9rrQr5)r&rCitrtrrrtestMapIterationClearMessages    z'Proto3Test.testMapIterationClearMessagecCsftjdddd}|jd|jd|jd|jdtjdtjddid }|jd|jdjdS) Nrer9)r8rp)r9r8rpr)r)rE)rr8r+r9r r0rEr)r&rCrrrtestMapConstructions zProto3Test.testMapConstructioncCsdtj}|j}d|d<d|d<d|d<|jd|jd|jdddd}|jt|j|dS) Nr9rerrprsr9r)rerpr9) rr8r9rr+r,r5rrQ)r&rCZ int32_maprtrrrtestMapValidAfterFieldCleareds  z(Proto3Test.testMapValidAfterFieldClearedcCsLtj}|j}d|d_|jd|jd|j|jdt|j kdS)NrrerEr) rr8rErrr+r,rWrrV)r&rCZint32_foreign_messagerrr$testMessageMapValidAfterFieldCleareds   z/Proto3Test.testMessageMapValidAfterFieldClearedcCs|tj}t|j}|jd|jtx |D]}q.WWdQRXt|j}|jd|jtx |D]}qfWWdQRXdS)Nr9rE)rr8ror9rrrprE)r&rCrrrrr"testMapIterInvalidatedByClearFields        z-Proto3Test.testMapIterInvalidatedByClearFieldcCstj}|jdt|jd|jd<|jdt|j|jt|jd=WdQRX|jd=|jdt|j|jt|jd=WdQRXdS)Nrrr9r8ra )rr8r+rr9rrcrU)r&rCrrr testMapDeletes   zProto3Test.testMapDeletecCsLtj}|j|jtj|j|jtj|j|jtj|j|jtjdS)N)rr8rr9rMappingMutableMappingrE)r&rCrrrtestMapsAreMappings zProto3Test.testMapsAreMappingcCsDtj}d|jd<|j|j|j|j|j|j|j|jddS)Nirri8i)rr8r9r+rEZassertNotEqual)r&rCrrrtestMapsCompares  zProto3Test.testMapsComparecCs@tj}d|jd<d|jd<d|jd_|jdt|jdS)NrIr@#rrr) rr8r?r9Zmap_string_foreign_messagerr+rrJ)r&rCrrr(testMapFindInitializationErrorsSmokeTests    z3Proto3Test.testMapFindInitializationErrorsSmokeTestN)#rGrHrIr5rr6rCrGrLrNrSrTrWrZrdrfrgrhrlrnrqrrrur}rrrrrrrrrrrrrrrr2(s@ 90=) <0  r2c@seZdZddZddZdS)ValidTypeNamesTestcstt|jddd|d|f}|jtfdd|Dd|fjd}|d }dj|dd }t||gd dS) N'r8zRepeated%sContainerzRepeated%sFieldContainerc3s|]}j|VqdS)N)endswith)rxr4)tp_namerrrsz:ValidTypeNamesTest.assertImportFromName..z%r does end with any of %r.)fromlistr<r<)r$typesplitrWanyjoin __import__)r&rCZ base_nameZ valid_namesparts class_nameZ module_namer)rrassertImportFromNames  z'ValidTypeNamesTest.assertImportFromNamecCs(tj}|j|jd|j|jddS)NZScalarZ Composite)r r!rrr{)r&rrrrtestTypeNamesCanBeImported sz-ValidTypeNamesTest.testTypeNamesCanBeImportedN)rGrHrIrrrrrrrs rc@s$eZdZddZddZddZdS)PackedFieldTestcCs|jjd|jjd|jjd|jjd|jjd|jjd|jjd|jjd|j jd|j jd|j jd|j jd|j jd|jjddS)Nr8g?T)rrZrepeated_int64Zrepeated_uint32Zrepeated_uint64Zrepeated_sint32Zrepeated_sint64Zrepeated_fixed32Zrepeated_fixed64Zrepeated_sfixed32Zrepeated_sfixed64rZr[Z repeated_boolr)r&rrrr setMessages             zPackedFieldTest.setMessagecCs*tj}|j|d}|j||jdS)NsH "*2:BJRZ?b?jr)rr4rr+r,)r&rr/rrrtestPackedFields"s z PackedFieldTest.testPackedFieldscCs*tj}|j|d}|j||jdS)Ns: (0=AMQ]?a?hp)rZTestUnpackedTypesrr+r,)r&rr/rrrtestUnpackedFields5s z"PackedFieldTest.testUnpackedFieldsN)rGrHrIrrrrrrrrsrrrermz;explicit tests of the C++ implementation for PY27 and abovec@s0eZdZeddZddZddZddZd S) OversizeProtosTestcCsFd}tj}tj}tj|||j|tj|j |j d|_ dS)Na name: "f/f.msg2" package: "f" message_type { name: "msg1" field { name: "payload" number: 1 label: LABEL_OPTIONAL type: TYPE_STRING } } message_type { name: "msg2" field { name: "field" number: 1 label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: "msg1" } } zf.msg2) r ZDescriptorPoolr ZFileDescriptorProtorZParseZAddr ZMessageFactoryZ GetPrototypeZFindMessageTypeByName proto_cls)clsZ file_descZpoolZdescrrr setUpClassNs   zOversizeProtosTest.setUpClasscCs(|j|_dd|jj_|jj|_dS)Nrirr8iii)rpfieldrr, p_serialized)r&rrrsetUpqs zOversizeProtosTest.setUpcCsfddlm}|d|j}y|j|jWn4tjk r`}z|jt|dWYdd}~XnXdS)Nr)SetAllowOversizeProtosFzError parsing message) google.protobuf.pyext._messagerrr*rrr?r+r$)r&rqrrrrtestAssertOversizeProtovs z*OversizeProtosTest.testAssertOversizeProtocCsBddlm}|d|j}|j|j|j|jjj|jjdS)Nr)rT) rrrr*rr+rrr)r&rrrrrtestSucceedOversizeProtos   z+OversizeProtosTest.testSucceedOversizeProtoN)rGrHrI classmethodrrrrrrrrrIs # r__main__)rerm)4r __author__rr-rgrrQrrqr@Z unittest2Zunittest ImportErrorrrZgoogle.protobufrrr r r r r rZgoogle.protobuf.internalrrrrrrrZPY3rZlongrrrrZ BaseTestCaseZNamedParametersrrr2rrZskipIfrrrrrGmainrrrr)s                WqX9: PK!{!!Lprotobuf/internal/__pycache__/descriptor_pool_test1_pb2.cpython-36.opt-1.pycnu[3 hQ@sXddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZejdddeejddddddejddddddgddddd Zejeejdddeejddddddejddddddgddd d!d Zejeejdd"deejd#dddddejd$dd%dddgddd&d'd Zejeejdd(deejd)dd*dddejd+dd,dddgddd-d.d Zejeejdd/deejd0dd1dddejd2dd3dddgddd4d5d Zejeejdd6deejd7dddddejd8dd9dddgddd:d;d Zejeejdd?ddd@dddAdddddBddedCejdDdEdd%d1d1ddAedFjdGddddBddedCgggegddBd ggdHddIZejdJdKdedejd>dLddd@dddAdddddBddedCejdDdMdd%d1d1ddAedNjdGddddBddedCejdOdPd%dd*d3ddBdddddBddedCggegegddBd ggdQd!dIZejdRdSdedejd>dTddd@dddAd%ddddBddedCejdUdVdd%d*d3ddBdddddBddedCggegegddAd doggdYdZdIZejdd\ddd@dddAd,ddddBddedCejdDd]dd%d1d1ddAed^jdGddddBddedCgggegddBd ggd_d.dIZ ejdJd`dedejd>daddd@dddAd1ddddBddedCejdDdbdd%d1d1ddAedcjdGddddBddedCejdOddd%dd*d3ddBdddddBddedCgge gegddBd ggded5dIZ!ejdfdgdedejd>dhddd@dddAdddddBddedCejdUdidd%d*d3ddBdddddBddedCgge!gegddBd ggdjd;dIZ"eej#d>_$ee_%ee_%eej#d>_$eej#dO_&ee_%ee_%eej#d>_$eej#dU_&ee_%ee j#d>_$e!e _%e e_%ee!j#d>_$e e!j#dO_&e"e!_%e!e_%ee"j#d>_$e!e"j#dU_&e"e_%eej'dR<e"ej'df<ej(ee j)dRej*fe+e j)dJej*fe+e j)dsrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z4google/protobuf/internal/descriptor_pool_test1.protozgoogle.protobuf.python.internalZproto2uT 4google/protobuf/internal/descriptor_pool_test1.protogoogle.protobuf.python.internal"û DescriptorPoolTest1Z nested_enum (2?.google.protobuf.python.internal.DescriptorPoolTest1.NestedEnum:BETAZ nested_message ( 2B.google.protobuf.python.internal.DescriptorPoolTest1.NestedMessageý NestedMessageh nested_enum (2M.google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.NestedEnum:ZETA nested_field ( :betaq deep_nested_message ( 2T.google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessageÍ DeepNestedMessagey nested_enum (2_.google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessage.NestedEnum:ETA nested_field ( :theta" NestedEnum ETA THETA"# NestedEnum EPSILON ZETA"! NestedEnum ALPHA BETA* 耀€€"ñ DescriptorPoolTest2[ nested_enum (2?.google.protobuf.python.internal.DescriptorPoolTest2.NestedEnum:GAMMAZ nested_message ( 2B.google.protobuf.python.internal.DescriptorPoolTest2.NestedMessageü NestedMessageh nested_enum (2M.google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.NestedEnum:IOTA nested_field ( :deltaq deep_nested_message ( 2T.google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessageÍ DeepNestedMessagex nested_enum (2_.google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessage.NestedEnum:MU nested_field ( :lambda" NestedEnum LAMBDA  MU "! NestedEnum IOTA  KAPPA "" NestedEnum GAMMA DELTA)namepackagesyntaxZ serialized_pbZ NestedEnumz^google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessage.NestedEnumZETA)rindexnumberoptionstypeZTHETAii) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endzLgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.NestedEnumZEPSILONZZETAii'z>google.protobuf.python.internal.DescriptorPoolTest1.NestedEnumZALPHAZBETAi)iJz^google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessage.NestedEnumZLAMBDA ZMU iizLgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.NestedEnumZIOTA ZKAPPA ii%z>google.protobuf.python.internal.DescriptorPoolTest2.NestedEnumZGAMMAZDELTAi'iIDeepNestedMessagezSgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessageZ nested_enumz_google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessage.nested_enumTF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrZ nested_fieldz`google.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.DeepNestedMessage.nested_fieldZthetazutf-8i5)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrr NestedMessagezAgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessagezMgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.nested_enumzNgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.nested_fieldZbetaZdeep_nested_messagezUgoogle.protobuf.python.internal.DescriptorPoolTest1.NestedMessage.deep_nested_messagei*DescriptorPoolTest1z3google.protobuf.python.internal.DescriptorPoolTest1z?google.protobuf.python.internal.DescriptorPoolTest1.nested_enumZnested_messagezBgoogle.protobuf.python.internal.DescriptorPoolTest1.nested_message ZiUzSgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessagez_google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessage.nested_enumz`google.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.DeepNestedMessage.nested_fieldlambdai5zAgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessagezMgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.nested_enumzNgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.nested_fieldZdeltazUgoogle.protobuf.python.internal.DescriptorPoolTest2.NestedMessage.deep_nested_messagei)DescriptorPoolTest2z3google.protobuf.python.internal.DescriptorPoolTest2z?google.protobuf.python.internal.DescriptorPoolTest2.nested_enumzBgoogle.protobuf.python.internal.DescriptorPoolTest2.nested_messageiXz2google.protobuf.internal.descriptor_pool_test1_pb2) DESCRIPTOR __module__)r'r3r4)r,r3r4)r.r/)1sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr3ZEnumDescriptorZEnumValueDescriptorZ?_DESCRIPTORPOOLTEST1_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUMZRegisterEnumDescriptorZ-_DESCRIPTORPOOLTEST1_NESTEDMESSAGE_NESTEDENUMZ_DESCRIPTORPOOLTEST1_NESTEDENUMZ?_DESCRIPTORPOOLTEST2_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUMZ-_DESCRIPTORPOOLTEST2_NESTEDMESSAGE_NESTEDENUMZ_DESCRIPTORPOOLTEST2_NESTEDENUMZ DescriptorZFieldDescriptordecodeZ4_DESCRIPTORPOOLTEST1_NESTEDMESSAGE_DEEPNESTEDMESSAGEZ"_DESCRIPTORPOOLTEST1_NESTEDMESSAGEZ_DESCRIPTORPOOLTEST1Z4_DESCRIPTORPOOLTEST2_NESTEDMESSAGE_DEEPNESTEDMESSAGEZ"_DESCRIPTORPOOLTEST2_NESTEDMESSAGEZ_DESCRIPTORPOOLTEST2Zfields_by_namer*rr)Zmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr-ZRegisterMessager,r'r2rrrrs                                     PK! 5@xpxpCprotobuf/internal/__pycache__/json_format_test.cpython-36.opt-1.pycnu[3 hġ @sdZdZddlZddlZddlZy ddlZWnek rHddlZYnXddlm Z ddlm Z ddlm Z ddlm Z ddlm Z dd lmZdd lmZdd lmZdd lmZdd lmZddlmZGdddejZGdddeZedkrejdS)z%Test for google.protobuf.json_format.zjieluo@google.com (Jie Luo)N)any_pb2) duration_pb2)field_mask_pb2) struct_pb2) timestamp_pb2) wrappers_pb2)unittest_mset_pb2) unittest_pb2)well_known_types) json_format)json_format_proto3_pb2c@s$eZdZddZddZddZdS)JsonFormatBasecCsXd|_d|_d|_d|_td|_d|_d|_d|_d|_ d |j _ t j |_|jjd |jjd|jjd |jjd|jjd |jjd|jjd |jjd|jjd|jjd|jjtd|jjd|jjd|jjd|jjd|jjd|jjdd |jj_ d|jj_ |jjt j|jjt j ||_dS)Nl~ tl4? z-infgo! @Tfoosbar illiilrgV瞯<infFzFew symbols!#$,;barsfoo iil) int32_value int64_value uint32_value uint64_valuefloat float_value double_value bool_value string_value bytes_value message_valuevaluer ZBAR enum_valuerepeated_int32_valueappendZrepeated_int64_valueZrepeated_uint32_valueZrepeated_uint64_valueZrepeated_float_valueZrepeated_double_valuerepeated_bool_valueZrepeated_string_valueZrepeated_bytes_valueZrepeated_message_valueaddZrepeated_enum_valueZFOOmessage)selfr%r'&/usr/lib/python3.6/json_format_test.py FillAllFields<sB                   zJsonFormatBase.FillAllFieldscCs"tjtj|||j||dS)N)r Parse MessageToJson assertEqual)r&r%parsed_messager'r'r(CheckParseBackas zJsonFormatBase.CheckParseBackcCs"tj}|jtj|tj||dS)N)r TestMessageassertRaisesRegexr ParseErrorr*)r&textZ error_messager%r'r'r( CheckErrorfs zJsonFormatBase.CheckErrorN)__name__ __module__ __qualname__r)r.r3r'r'r'r(r :s%r c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2daS)bJsonFormatTestcCs2tj}|jtj|dtj}|j||dS)Nz{})r r/r,r r+r.)r&r%r-r'r'r(testEmptyMessageToJsonps  z%JsonFormatTest.testEmptyMessageToJsoncCsHtjdddgd}|jtjtj|tjdtj}|j||dS)NZtestY)rr!z6{"stringValue": "test", "repeatedInt32Value": [89, 4]})r r/r,jsonloadsr r+r.)r&r%r-r'r'r(testPartialMessageToJsonws  z'JsonFormatTest.testPartialMessageToJsoncCsXtj}d}|j||jtjtj|tj|tj}tj|||j||dS)Na{"int32Value": 20, "int64Value": "-20", "uint32Value": 3120987654,"uint64Value": "12345678900","floatValue": "-Infinity","doubleValue": 3.1415,"boolValue": true,"stringValue": "foo","bytesValue": "YmFy","messageValue": {"value": 10},"enumValue": "BAR","repeatedInt32Value": [2147483647, -2147483648],"repeatedInt64Value": ["9007199254740992", "-9007199254740992"],"repeatedUint32Value": [268435455, 134217727],"repeatedUint64Value": ["9007199254740992", "9007199254740991"],"repeatedFloatValue": [0],"repeatedDoubleValue": [1e-15, "Infinity"],"repeatedBoolValue": [true, false],"repeatedStringValue": ["Few symbols!#$,;", "bar"],"repeatedBytesValue": ["Zm9v", "YmFy"],"repeatedMessageValue": [{"value": 10}, {"value": 11}],"repeatedEnumValue": ["FOO", "BAR"]}) r r/r)r,r;r<r r+r*)r&r%r2r-r'r'r(testAllFieldsToJsons   z"JsonFormatTest.testAllFieldsToJsoncCsHd}tj}d|_|jtj||tj}tj|||j||dS)Nz{ "enumValue": 999 }i)r r/r r,r r+r*)r&r2r%r-r'r'r(testUnknownEnumToJsonAndBacks  z+JsonFormatTest.testUnknownEnumToJsonAndBackcCsbtj}tjj}tjj}d|jj|_d|jj|_t j |}tj}t j |||j ||dS)Nr) rTestMessageSetContainerTestMessageSetExtension1message_set_extensionTestMessageSetExtension2 message_set Extensionsistrr r+r*r,)r&r%ext1ext2 message_textr-r'r'r(testExtensionToJsonAndBacks z)JsonFormatTest.testExtensionToJsonAndBackcCs|jdddS)Nz{"[extensionField]": {}}z8Message type proto3.TestMessage does not have extensions)r3)r&r'r'r(testExtensionErrorssz"JsonFormatTest.testExtensionErrorscCsbtj}tjj}tjj}d|jj|_d|jj|_t j |}tj}t j |||j ||dS)Nr@r) rrArBrCrDrErFrGrHr MessageToDict ParseDictr,)r&r%rIrJ message_dictr-r'r'r(testExtensionToDictAndBacks z)JsonFormatTest.testExtensionToDictAndBackcCsdtj}tjj}tjj}d|jj|_d|jj|_t j |}dddiddidi}|j ||dS)z&See go/proto3-json-spec for spec. r@rZ messageSetrGrH)z@[protobuf_unittest.TestMessageSetExtension1.messageSetExtension]z@[protobuf_unittest.TestMessageSetExtension2.messageSetExtension]N) rrArBrCrDrErFrGrHr rNr,)r&r%rIrJrPZ golden_dictr'r'r(/testExtensionSerializationDictMatchesProto3Specsz>JsonFormatTest.testExtensionSerializationDictMatchesProto3SpeccCsntj}tjj}tjj}d|jj|_d|jj|_t j |}d}d}d||f}|j t j |t j |dS)z&See go/proto3-json-spec for spec. r@rz>protobuf_unittest.TestMessageSetExtension1.messageSetExtensionz>protobuf_unittest.TestMessageSetExtension2.messageSetExtensionzZ{"messageSet": { "[%s]": { "i": 23 }, "[%s]": { "str": "foo" }}}N)rrArBrCrDrErFrGrHr r+r,r;r<)r&r%rIrJrKZ ext1_textZ ext2_textZ golden_textr'r'r(/testExtensionSerializationJsonMatchesProto3Specs z>JsonFormatTest.testExtensionSerializationJsonMatchesProto3SpeccCstj}tjddkrd|_nd|_|jdjd7_|jtj|dtj}|j ||d}tj |||j|j d dS) Nru& <" > \/

z & <" > \/s

zutf-8z;{ "stringValue": "&\n<\"\r>\b\t\f\\\u0001/\u2028\u2029" }z{"int32Value": "1"}) r r/sys version_infordecoder,r r+r.r*r)r&r%r-r2r'r'r(testJsonEscapeStrings  z#JsonFormatTest.testJsonEscapeStringcCsDtjdd}|jtjtj|dtjdtj}|j||dS)Nr)rTa{"repeatedStringValue": [],"stringValue": "foo","repeatedBoolValue": [],"repeatedUint32Value": [],"repeatedInt32Value": [],"enumValue": "FOO","int32Value": 0,"floatValue": 0,"int64Value": "0","uint32Value": 0,"repeatedBytesValue": [],"repeatedUint64Value": [],"repeatedDoubleValue": [],"bytesValue": "","boolValue": false,"repeatedEnumValue": [],"uint64Value": "0","doubleValue": 0,"repeatedFloatValue": [],"repeatedInt64Value": [],"repeatedMessageValue": []})r r/r,r;r<r r+r.)r&r%r-r'r'r(testAlwaysSeriliazes z"JsonFormatTest.testAlwaysSeriliazecCsZtj}tjd||j|jdtjd||j|jdtjd||j|jddS)Nz{"int32Value": -2.147483648e9}lz{"int32Value": 1e5}iz{"int32Value": 1.0}rUi)r r/r r*r,r)r&r%r'r'r(testIntegersRepresentedAsFloat-s   z-JsonFormatTest.testIntegersRepresentedAsFloatcCstj}|jtjtj|dtjdd|jd<d|jd<d|jd<d|jd<d|j d<d|j d<d|j d<d|j d<d|j d<d|j d<d|j d<d|j d<d|j djd<|jtjtj|dtjd tj}|j||dS) NTzj{"boolMap": {},"int32Map": {},"int64Map": {},"uint32Map": {},"uint64Map": {},"stringMap": {},"mapMap": {}}rUFrT1Znullz{"boolMap": {"false": 2, "true": 1},"int32Map": {"1": 2, "2": 3},"int64Map": {"1": 2, "2": 3},"uint32Map": {"1": 2, "2": 3},"uint64Map": {"1": 2, "2": 3},"stringMap": {"1": 2, "null": 3},"mapMap": {"1": {"boolMap": {"true": 3}}}})r Z TestNestedMapr,r;r<r r+Zbool_mapZ int32_mapZ int64_mapZ uint32_mapZ uint64_mapZ string_mapZmap_mapr.)r&r%r-r'r'r( testMapFields6s,             zJsonFormatTest.testMapFieldscCsNtj}|jtj|ddd|_|jtj|ddtj}|j||dS)NTz{}rz{ "oneofInt32Value": 0 })r TestOneofr,r r+Zoneof_int32_valuer.)r&r%r-r'r'r(testOneofFields^s  zJsonFormatTest.testOneofFieldscCsFtj}tjd||j|jdjdd|jdd|jdddS)Nz{"stringValue": "\uD83D\uDE01"}s😁zutf-8strictz{"stringValue": "\uD83D"}z*Invalid \\uXXXX escape|Unpaired.*surrogatez{"stringValue": "\uDE01"})r r/r r*r,rrXr3)r&r%r'r'r(testSurrogatesms zJsonFormatTest.testSurrogatescCs tj}d|j_d|j_d|jj_d|jd_d|jj_d|jd_d|jj_d|jd_d|jj_d|jd _d|jj_d|jd _|jtj t j |d tj d tj}|j ||d}t j |||j|jjd|j|jjd|j|jdjd|j|jdjddS)NrrrUi'ir\lAiɚ;rTlw#o9r:Tz{"value": "1970-01-01T00:00:00Z","repeatedValue": [ "1970-01-01T00:00:20.000000001Z", "1970-01-01T00:00:00.000010Z", "1973-03-03T09:46:40Z", "9999-12-31T23:59:59.999999999Z", "0001-01-01T00:00:00Z"]}z}{"value": "1970-01-01T00:00:00.01+08:00","repeatedValue":[ "1970-01-01T00:00:00.01+08:30", "1970-01-01T00:00:00.01-01:23"]}iig!@r@<lw#o9iig!gidit)r TestTimestamprsecondsnanosrepeated_valuer$r,r;r<r r+r.r*)r&r%r-r2r'r'r(testTimestampMessage~s0             z#JsonFormatTest.testTimestampMessagecCstj}d|j_d|jj_d|jd_d |jj_d |jd_d|jj_d|jd_d |jj_d|jj_|jtj t j |dtj d tj}|j ||dS) NrUrriiاr\ls%Tzs{"value": "1s","repeatedValue": [ "0.000000010s", "-1.000001s", "10.011s", "-315576000000s", "315576000000s"]}ils%) r Z TestDurationrrfrhr$rgr,r;r<r r+r.)r&r%r-r'r'r(testDurationMessages         z"JsonFormatTest.testDurationMessagecCsPtj}|jjjd|jjjd|jtj|ddtj}|j||dS)Nzfoo.barrTz{ "value": "foo.bar,bar" }) r Z TestFieldMaskrpathsr"r,r r+r.)r&r%r-r'r'r(testFieldMaskMessages z#JsonFormatTest.testFieldMaskMessagecCstj}d|j_d|j_d|j_d|j_d|jj_d|jj_|j j|j t j t j|dt j dtj}|j||dS)NFrTaR{ "int32Value": 0, "boolValue": false, "stringValue": "", "bytesValue": "", "repeatedBoolValue": [true, false], "repeatedInt32Value": [0], "repeatedUint32Value": [], "repeatedFloatValue": [], "repeatedDoubleValue": [], "repeatedBytesValue": [], "repeatedInt64Value": [], "repeatedUint64Value": [], "repeatedStringValue": []})r Z TestWrapperrrrrrr#r$r!r,r;r<r r+r.)r&r%r-r'r'r(testWrapperMessages    z!JsonFormatTest.testWrapperMessagecCstj}d|jd<d|jd<d|jd<d|jd<d|jjd d <d |jd d <|jjd }|jdddddgd|jd<d|jjd<|jj|j t j t j |dt j dtj}|j||dS)NJimnamerZageTZattendZemailZSFOZaddressZcityiZ house_numberlistZsevenF Zsubkey2ra{ "value": { "address": { "city": "SFO", "house_number": 1024 }, "age": 10, "name": "Jim", "attend": true, "email": null, "list": [6, "seven", true, false, null, {"subkey2": 9}] }, "repeatedValue": [{"age": 11}, {}]})r TestStructrZget_or_create_structZget_or_create_listextendZ add_structrhr$r,r;r<r r+r.)r&r%Z struct_listr-r'r'r(testStructMessages$       z JsonFormatTest.testStructMessagecCstj}d|j_d|jj_d|jj_d|jj_|j t j t j |dt j dtj}|j|||jj|j t j t j |dt j d|jt jd||j |jjdd dS) Nhellog333333&@Frz;{ "value": "hello", "repeatedValue": [11.1, false, null]}zA{ "value": "hello", "repeatedValue": [11.1, false, null, null]}z{"value": null}Zkind null_value)r Z TestValuerrrhr$ number_valuerrzr,r;r<r r+r.Clearr*Z WhichOneof)r&r%r-r'r'r(testValueMessage s&      zJsonFormatTest.testValueMessagecCstj}d|jjj_d|jjj_d|jjj_d|jjj_d|jjjj d<d|j jjj_|j j|j t j tj|dt j d tj}|j||dS) Ng333333&@rTryrqrrrUFzS{"value": [11.1, null, true, "hello", {"name": "Jim"}] ,"repeatedValue": [[1], []]})r TestListValuervaluesr$r{rzrrZ struct_valuerhr,r;r<r r+r.)r&r%r-r'r'r(testListValueMessage&s z#JsonFormatTest.testListValueMessagec Cstj}tj}tj}d|_d|_|jj||jjj||jjj||jj|jtj t j |dtj dtj}|j ||tj ddd ddddd}|j|jj||jt j |d d d d dS)Nii.Ta{ "repeatedValue": [ { "@type": "type.googleapis.com/proto3.MessageType", "value": 1234 }, { "@type": "type.googleapis.com/proto3.MessageType", "value": 5678 }, {}], "value": { "@type": "type.googleapis.com/proto3.MessageType", "value": 1234 } } rgQ @r)rrrrrrrFrDzD{ "value": { "@type": "type.googleapis.com/proto3.TestMessage"i)r TestAnyZ MessageTyperPackrhr$r,r;r<r r+r.r/r|)r&r%Zvalue1Zvalue2r-Z test_messager'r'r(testAnyMessage7s8    zJsonFormatTest.testAnyMessagec Cstj}tj}d|_|j||jtjt j |dtjdtj}|j ||t j }|j||jtjt j |dtjd|j ||tj}d|_|j||jtjt j |dtjd|j ||tj}|jjd|jjd|j||jtjt j |dtjd |j ||tj}d |d <|j||jtjt j |dtjd |j ||tj}d |_|j||j||jtjt j |dtjd|j ||dS)NiTzQ{ "@type": "type.googleapis.com/google.protobuf.Int32Value", "value": 1234 } zb{ "@type": "type.googleapis.com/google.protobuf.Timestamp", "value": "1970-01-01T00:00:00Z" } rUzO{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1s" } zfoo.barrzY{ "@type": "type.googleapis.com/google.protobuf.FieldMask", "value": "foo.bar,bar" } rqrrzX{ "@type": "type.googleapis.com/google.protobuf.Struct", "value": {"name": "Jim"} } i.z{ "@type": "type.googleapis.com/google.protobuf.Any", "value": { "@type": "type.googleapis.com/google.protobuf.Int32Value", "value": 5678 } } )rAnyrZ Int32Valuerrr,r;r<r r+r.rZ TimestamprZDurationrfrZ FieldMaskrlr"rStruct) r&r%rr-Z timestampZdurationZ field_maskZstruct_messageZ nested_anyr'r'r(testWellKnownInAnyMessageesf              z(JsonFormatTest.testWellKnownInAnyMessagecCstj}tj}|j|tjd||j|||j|jdtjd||j|jd|j tj dtjd||j dddS)Na{"int32Value": null, "int64Value": null, "uint32Value": null,"uint64Value": null,"floatValue": null,"doubleValue": null,"boolValue": null,"stringValue": null,"bytesValue": null,"messageValue": null,"enumValue": null,"repeatedInt32Value": null,"repeatedInt64Value": null,"repeatedUint32Value": null,"repeatedUint64Value": null,"repeatedFloatValue": null,"repeatedDoubleValue": null,"repeatedBoolValue": null,"repeatedStringValue": null,"repeatedBytesValue": null,"repeatedMessageValue": null,"repeatedEnumValue": null}rz{"messageValue": {}}zkFailed to parse repeatedInt32Value field: null is not allowed to be used as an element in a repeated field.z {"repeatedInt32Value":[1, null]}z{"repeatedMessageValue":[null]}zmFailed to parse repeatedMessageValue field: null is not allowed to be used as an element in a repeated field.) r r/r)r r*r,Z assertFalseZHasField assertTruer0r1r3)r&r%r-r'r'r( testParseNulls"   zJsonFormatTest.testParseNullcCsRtj}td|_d}|jtj||tj}tj|||jt j |jdS)Nnanz{ "floatValue": "NaN" }) r r/rrr,r r+r*rmathZisnan)r&r%r2r-r'r'r( testNanFloats  zJsonFormatTest.testNanFloatcCs|jdddS)Nrnz1Failed to load JSON: (Expecting value)|(No JSON).)r3)r&r'r'r(testParseEmptyTextsz!JsonFormatTest.testParseEmptyTextcCsftj}d}tj||d}tj|||jddd}tj||tj}|jtjdtjd|dS)Nz{"enumValue": 0}z{"enumValue": 1}z{"enumValue": "baz"}zVFailed to parse enumValue field: Invalid enum value baz for enum type proto3.EnumType.z{"enumValue": 12345}z{Failed to parse optionalNestedEnum field: Invalid enum value 12345 for enum type protobuf_unittest.TestAllTypes.NestedEnum.z{"optionalNestedEnum": 12345}) r r/r r*r3r Z TestAllTypesr0r1)r&r%r2r'r'r(testParseEnumValues   z!JsonFormatTest.testParseEnumValuecCs|jdd|jdddS)Nz{int32Value: 1}zQFailed to load JSON: Expecting property name( enclosed in double quotes)?: line 1z{"unknownName": 1}zCMessage type "proto3.TestMessage" has no field named "unknownName".)r3)r&r'r'r(testParseBadIdentifersz$JsonFormatTest.testParseBadIdentifercCs<d}tj}tj||ddd}tj}tj||dddS)Nz{"unknownName": 1}T)Zignore_unknown_fieldszl{ "repeatedValue": [ { "@type": "type.googleapis.com/proto3.MessageType", "unknownName": 1 }] } )r r/r r*r)r&r2r-r'r'r(testIgnoreUnknownField s z%JsonFormatTest.testIgnoreUnknownFieldcCstjdkrdS|jdddS)Nr\z!{"int32Value": 1, "int32Value":2}z.Failed to load JSON: duplicate key int32Value.)r\r)rVrWr3)r&r'r'r(testDuplicateFields z!JsonFormatTest.testDuplicateFieldcCs|jdd|jdddS)Nz{"boolValue": 1}zGFailed to parse boolValue field: Expected true or false without quotes.z{"boolValue": "true"})r3)r&r'r'r(testInvalidBoolValuesz#JsonFormatTest.testInvalidBoolValuecCsltj}d}|jtjtj|||jdd|jdd|jdd|jdd |jd d |jd d dS)Nz{"int32Value": 0x12345}z{"int32Value": 1.5}z>Failed to parse int32Value field: Couldn't parse integer: 1.5.z{"int32Value": 012345}z9Failed to load JSON: Expecting \'?,\'? delimiter: line 1.z{"int32Value": " 1 "}z@Failed to parse int32Value field: Couldn't parse integer: " 1 ".z{"int32Value": "1 "}z?Failed to parse int32Value field: Couldn't parse integer: "1 ".z${"int32Value": 12345678901234567890}zKFailed to parse int32Value field: Value out of range: 12345678901234567890.z{"uint32Value": -1}z:Failed to parse uint32Value field: Value out of range: -1.)r r/Z assertRaisesr r1r*r3)r&r%r2r'r'r(testInvalidIntegerValue's  z&JsonFormatTest.testInvalidIntegerValuecCs|jdddS)Nz{"floatValue": "nan"}zPFailed to parse floatValue field: Couldn't parse float "nan", use "NaN" instead.)r3)r&r'r'r(testInvalidFloatValue?sz$JsonFormatTest.testInvalidFloatValuecCs|jdd|jdddS)Nz{"bytesValue": "AQI"}z4Failed to parse bytesValue field: Incorrect padding.z{"bytesValue": "AQI*"})r3)r&r'r'r(testInvalidBytesValueDsz$JsonFormatTest.testInvalidBytesValuecCs|jdddS)Nz{"repeatedInt32Value": 12345}zkFailed to parse repeatedInt32Value field: repeated field repeatedInt32Value must be in \[\] which is 12345.)r3)r&r'r'r(testInvalidRepeatedJsz"JsonFormatTest.testInvalidRepeatedcCstj}d}|jtjdtj||d}|jtjdtj||d}|jtjdtj||tjd krddSd }|jtjd tj||d }|jtjd tj||dS)Nz!{"int32Map": {"null": 2, "2": 3}}z/Failed to parse int32Map field: invalid literalz{"int32Map": {1: 2, "2": 3}}zQFailed to load JSON: Expecting property name( enclosed in double quotes)?: line 1z{"boolMap": {"null": 1}}zDFailed to parse boolMap field: Expected "true" or "false", not null.r\rz${"stringMap": {"a": 3, "\u0061": 2}}z$Failed to load JSON: duplicate key az{"stringMap": 0}zSFailed to parse stringMap field: Map field string_map must be in a dict which is 0.)r\r)r ZTestMapr0r r1r*rVrW)r&r%r2r'r'r(testInvalidMapOs8     zJsonFormatTest.testInvalidMapcCstj}d}|jtjdtj||d}|jtjdtj||d}|jtjdtj||d}|jtjdtj||d |j_|jt d tj |dS) Nz%{"value": "10000-01-01T00:00:00.00Z"}zKtime data '10000-01-01T00:00:00' does not match format '%Y-%m-%dT%H:%M:%S'.z/{"value": "1970-01-01T00:00:00.0123456789012Z"}z2nanos 0123456789012 more than 9 fractional digits.z&{"value": "1972-01-01T01:00:00.01+08"}z$Invalid timezone offset value: \+08.z!{"value": "0000-01-01T00:00:00Z"}z7Failed to parse value field: year (0 )?is out of range.lAzdate value out of range) r rer0r r1r*r rrf OverflowErrorr+)r&r%r2r'r'r(testInvalidTimestampos4    z#JsonFormatTest.testInvalidTimestampcCs&tj}d}|jtjdtj||dS)Nz/{"oneofInt32Value": 1, "oneofStringValue": "2"}zTMessage type "proto3.TestOneof" should not have multiple "oneof_value" oneof fields.)r r_r0r r1r*)r&r%r2r'r'r(testInvalidOneofs zJsonFormatTest.testInvalidOneofcCs&tj}d}|jtjdtj||dS)Nz{"value": 1234}zDFailed to parse value field: ListValue must be in \[\] which is 1234)r r~r0r r1r*)r&r%r2r'r'r(testInvalidListValues z#JsonFormatTest.testInvalidListValuecCs&tj}d}|jtjdtj||dS)Nz{"value": 1234}zCFailed to parse value field: Struct must be in a dict which is 1234)r rvr0r r1r*)r&r%r2r'r'r(testInvalidStructs z JsonFormatTest.testInvalidStructcCsftj}d}|jtdtj||d}|jtjdtj||d}|jtdtj||d}tj||dS)Nz;{"@type": "type.googleapis.com/google.protobuf.Int32Value"}rz{"value": 1234}z*@type is missing when parsing any message.z?{"@type": "type.googleapis.com/MessageNotExist", "value": 1234}zQCan not find message descriptor by type_url: type.googleapis.com/MessageNotExist.zN{"@type": "incorrect.googleapis.com/google.protobuf.Int32Value","value": 1234})rrr0KeyErrorr r*r1 TypeError)r&r%r2r'r'r(testInvalidAnys$   zJsonFormatTest.testInvalidAnycCstj}d|_|jdtj||jdtj|ddtj}|jdtj|dd|jdtj|ddtj}tjd||jd |jtjd ||jd|jdS) Ni90z{ "int32Value": 12345 }z{ "int32_value": 12345 }FTz{ "repeatedValue": [] }z{ "repeated_value": [] }z{"int32Value": 54321}i1z{"int32_value": 12345})r r/rr,r r+rer*)r&r%r'r'r(testPreservingProtoFieldNamess    z,JsonFormatTest.testPreservingProtoFieldNamescCs(tj}d|_|jdtj|dddS)Ni90z{ "int32Value": 12345 }r)indent)r r/rr,r r+)r&r%r'r'r( testIndentszJsonFormatTest.testIndentcCs2d}d|i}tj}tj|||j||jdS)Ni90 int32Value)r r/r rOr,r)r&expectedZjs_dictr%r'r'r( testParseDicts  zJsonFormatTest.testParseDictcCs,tj}d|_ddi}|j|tj|dS)Ni90r)r r/rr,r rN)r&r%rr'r'r(testMessageToDicts z JsonFormatTest.testMessageToDictcCs8tj}d|_|jdtj|tj}|j||dS)Ni90z{ "@value": 12345 })r ZTestCustomJsonNamerr,r r+r.)r&r%r-r'r'r( testJsonNames  zJsonFormatTest.testJsonNamec CsFtjdddddd}|jtj|ddtjdddddd d dd dS) NTrUrTr:Zbla)rrrrr) sort_keys3)Z boolValuerZ int64ValueZ uint32ValueZ stringValuer\)rr)r r/r,r r+r;dumps)r&r%r'r'r( testSortKeyss  zJsonFormatTest.testSortKeysN)3r4r5r6r8r=r>r?rLrMrQrRrSrYrZr[r^r`rbrirkrmrprxr}rrrrrrrrrrrrrrrrrrrrrrrrrrrr'r'r'r(r7ns` !    (( !.O-    r7__main__)__doc__ __author__r;rrVZ unittest2Zunittest ImportErrorZgoogle.protobufrrrrrrrr Zgoogle.protobuf.internalr r Zgoogle.protobuf.utilr ZTestCaser r7r4mainr'r'r'r( s<            4 PK!\f##Fprotobuf/internal/__pycache__/unknown_fields_test.cpython-36.opt-1.pycnu[3 h6 @sdZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlmZddl m Z ddl m Z dd l m Z dd l m Z dd l mZdd l mZdd l mZejZddZGdddeZGdddeZGdddeZedkrejdS)zJTest for preservation of unknown fields in the pure Python implementation.z!bohdank@google.com (Bohdan Koval)N)unittest_mset_pb2) unittest_pb2)unittest_proto3_arena_pb2)api_implementation)encoder)message_set_extensions_pb2)missing_enum_values_pb2) test_util)testing_refleaks) type_checkerscCs$tjtjdkotjdkd|S)NZcppz7Addtional test for pure python involved protect members)unittestZskipIfrZTypeZVersion)funcr)/usr/lib/python3.6/unknown_fields_test.py(SkipCheckUnknownFieldIfCppImplementation;src@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS)UnknownFieldsTestcCsHtjj|_tj|_tj|j|jj|_tj |_ |j j |jdS)N) r TestAllTypes DESCRIPTOR descriptor all_fieldsr SetAllFieldsSerializeToStringall_fields_dataTestEmptyMessage empty_messageParseFromString)selfrrrsetUpCs      zUnknownFieldsTest.setUpcCs|jj}|j||jkdS)N)rrZ assertTruer)rdatarrr testSerializeKs zUnknownFieldsTest.testSerializecCsDtj}|j|j|r,|j|j|jn|jdt|jdS)Nr)rrrr assertEqualrlen)rZpreservemessagerrrexpectSerializeProto3Rs  z'UnknownFieldsTest.expectSerializeProto3cCs8tj}|j|tj| |j| tj|dS)N)rZ&GetPythonProto3PreserveUnknownsDefaultr$Z&SetPythonProto3PreserveUnknownsDefault)rZdefault_preserverrrtestSerializeProto3Zs   z%UnknownFieldsTest.testSerializeProto3cCs|j|jj|jjdS)N)r!rZByteSizer)rrrr testByteSizedszUnknownFieldsTest.testByteSizecCs|jdt|jjdS)Nr)r!r"rZ ListFields)rrrrtestListFieldsgsz UnknownFieldsTest.testListFieldscCsttj}|jj}d|_tj}d|_|j|_ |j}tj }|j ||j}tj}|j ||j ||dS)Nii90) rZ RawMessageSetitemaddZtype_idrZTestMessageSetExtension1irr#ZTestMessageSetZMergeFromStringr!)rrawr(Zmessage1 serializedprotoZ reserializedZnew_rawrrr1testSerializeMessageSetWireFormatUnknownExtensionks    zCUnknownFieldsTest.testSerializeMessageSetWireFormatUnknownExtensioncCsPtj}|j|j|j|j||jjd|j|jj|j |j|dS)Noptional_string) rrrrr!rr ClearFieldrassertNotEqual)rr#rrr testEqualss   zUnknownFieldsTest.testEqualscCs|jj|jd|jjtj}tj}d|_|jj|j|j j j|j|j d|jj|j d|j dj|j|jd|jj|jd|j djdS)Ndiscardr) rZDiscardUnknownFieldsr!rrrr/Zoptional_nested_messagerZrepeated_nested_messager)r1)rr#Z other_messagerrrtestDiscardUnknownFieldss"    z*UnknownFieldsTest.testDiscardUnknownFieldsN) __name__ __module__ __qualname__rr r$r%r&r'r.r2r5rrrrrAs  rc@sHeZdZddZddZeddZddZd d Zd d Z d dZ dS)UnknownFieldsAccessorsTestcCsHtjj|_tj|_tj|j|jj|_tj |_ |j j |jdS)N) rrrrrr rrrrrr)rrrrrs      z UnknownFieldsAccessorsTest.setUpc Cs|jj|}tj|j}tj|j|}i}xB|jj D]6\}}||kr4t j j |d} | |dt ||j|q4W|j|||dS)Nr)rfields_by_namer FIELD_TYPE_TO_WIRE_TYPEtyperTagBytesnumberr_unknown_fieldsrr_decoders_by_tagr"rr!) rnameexpected_valuefield_descriptor wire_type field_tag result_dict tag_bytesvaluedecoderrrrCheckUnknownFields  z,UnknownFieldsAccessorsTest.CheckUnknownFieldcCst|jd|jj|jd|jj|jd|jj|jd|jj|jd|jj|jd|jj|jd|jjdS)Noptional_nested_enumrepeated_nested_enumoptional_int32optional_fixed32optional_fixed64r/ optionalgroup) rJrrKrLrMrNrOr/rP)rrrrtestCheckUnknownFieldValues      z5UnknownFieldsAccessorsTest.testCheckUnknownFieldValuecCs*tj}|j|j|j|j|jdS)N)rrZCopyFromrr!rr)rr#rrr testCopyFroms z'UnknownFieldsAccessorsTest.testCopyFromcCstj}d|_d|_tj}|j|j|jdd|_d|_tj}|j|j|j ||j|j|j |jd|j |jd|j |jddS)Nr rM) rrrMZoptional_uint32rrrr0Zoptional_int64Z MergeFromr!)rr#sourceZ destinationrrr testMergeFroms  z(UnknownFieldsAccessorsTest.testMergeFromcCs |jj|j|jjddS)Nr3)rZClearr!r)rrrr testClears z$UnknownFieldsAccessorsTest.testClearcCs*tj}|j|j|j|j|jdS)N)rZTestEmptyMessageWithExtensionsrrr!r)rr#rrrtestUnknownExtensionss z0UnknownFieldsAccessorsTest.testUnknownExtensionsN) r6r7r8rrJrrQrRrWrXrYrrrrr9s r9c@sPeZdZddZddZddZddZd d Zd d Ze d dZ ddZ dS)UnknownEnumValuesTestcCs|tjj|_tj|_tjj|j_|jjjtjjtjj g|jj jtjjtjj g|jj |_ tj |_|jj|j dS)N)rTestEnumValuesrrr#ZZEROrKrLextendZONEpacked_nested_enumrZ message_dataZTestMissingEnumValuesmissing_messager)rrrrrs       zUnknownEnumValuesTest.setUpc Cs|jj|}tj|j}tj|j|}i}xB|jj D]6\}}||kr4t j j |d} | |dt ||j|q4W|j|||dS)Nr)rr:r r;r<rr=r>r^r?rr[r@r"r#r!) rrArBrCrDrErFrGrHrIrrrrJs   z'UnknownEnumValuesTest.CheckUnknownFieldcCs6tj}d|_tj}|j|j|j|jddS)NZblahr)rZ JustStringZdummyr[rrr!rK)rZ just_stringZmissingrrr!testUnknownParseMismatchEnumValue$s z7UnknownEnumValuesTest.testUnknownParseMismatchEnumValuecCsN|j|jjd|j|jjd|jj}|jjd|j|jj|dS)NrKr )Z assertFalser^ZHasFieldr!rKrr0)rr,rrrtestUnknownEnumValue1s   z*UnknownEnumValuesTest.testUnknownEnumValuecCs|jg|jjdS)N)r!r^rL)rrrrtestUnknownRepeatedEnumValue9sz2UnknownEnumValuesTest.testUnknownRepeatedEnumValuecCs|jg|jjdS)N)r!r^r])rrrrtestUnknownPackedEnumValue<sz0UnknownEnumValuesTest.testUnknownPackedEnumValuecCs4|jd|jj|jd|jj|jd|jjdS)NrKrLr])rJr#rKrLr])rrrr!testCheckUnknownFieldValueForEnum?s   z7UnknownEnumValuesTest.testCheckUnknownFieldValueForEnumcCs*tj}|j|jj|j|j|dS)N)rr[rr^rr!r#)rZ new_messagerrr testRoundTripHsz#UnknownEnumValuesTest.testRoundTripN) r6r7r8rrJr_r`rarbrrcrdrrrrrZs   rZ__main__)__doc__ __author__Z unittest2r ImportErrorZgoogle.protobufrrrZgoogle.protobuf.internalrrrrr r r Z BaseTestCaserrr9rZr6mainrrrr!s,           `\QPK!BttBprotobuf/internal/__pycache__/descriptor_test.cpython-36.opt-1.pycnu[3 h1 @s$dZdZddlZy ddlZWnek r8ddlZYnXddlmZddlmZddlm Z ddlm Z ddl m Z dd l m Z dd lmZdd lmZdd lmZdd lmZdZGdddejZGdddeZGdddejZGdddejZGdddejZedkr ejdS)z1Unittest for google.protobuf.internal.descriptor.z#robinson@google.com (Will Robinson)N)unittest_custom_options_pb2)unittest_import_pb2) unittest_pb2)descriptor_pb2)api_implementation) test_util) descriptor)descriptor_pool)symbol_database) text_formatz name: 'TestEmptyMessage' c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZejejdkpejdkdd d!Zd"S)#DescriptorTestcCstjddd}|jjdd}|jjddtjjtjjd|jjd d}|j jd d d |j jd dd |j jddd |jjdd|j jdd}|j jdddd}|j |_ |j j||j j|j|_|jj|j|_|jj|j|_|jj|j|_|jj|j|_dS)Nzsome/filename/some.protoprotobuf_unittest)namepackage NestedMessage)rZbb)rnumbertypelabel ForeignEnum FOREIGN_FOO)rrZ FOREIGN_BARZ FOREIGN_BAZZResponseMessageZServiceZ CallMethodz .protobuf_unittest.NestedMessagez".protobuf_unittest.ResponseMessage)rZ input_typeZ output_type)rFileDescriptorProto message_typeaddfieldZFieldDescriptorProtoZ TYPE_INT32ZLABEL_OPTIONAL enum_typevalueZservicemethodGetDescriptorPoolpoolZAddZFindFileByNamermy_filemessage_types_by_name my_messageenum_types_by_namemy_enumservices_by_name my_servicemethods_by_name my_method)self file_protoZ message_protoZ enum_protoZ service_protoZ method_protor.%/usr/lib/python3.6/descriptor_test.pysetUp>s:   zDescriptorTest.setUpcCs tjjS)N)r Defaultr")r,r.r.r/r!bsz DescriptorTest.GetDescriptorPoolcCs|j|jjddd|j|jjdjdj|jjdd|jt|jjddWdQRX|jt|jjddWdQRX|jt|jjWdQRXdS)NrrriZNoneEnum) assertEqualr%Z EnumValueNamer&Zvalues_by_numberr assertRaisesKeyError TypeError)r,r.r.r/testEnumValueNamees    z DescriptorTest.testEnumValueNamecCs|j|j|jjdjdS)Nr)r2r'valuesr)r,r.r.r/testEnumFixupstszDescriptorTest.testEnumFixupscCs.|j|j|jjdj|j|j|jjdS)Nr)r2r%fieldscontaining_typer')r,r.r.r/testContainingTypeFixupswsz'DescriptorTest.testContainingTypeFixupscCs|j|j|jjdS)N)r2r)r+Zcontaining_service)r,r.r.r/testContainingServiceFixups{sz*DescriptorTest.testContainingServiceFixupscCs|j|jjtj|j|jjdjtj|j|jjtj|j|jj djtj |j|j jtj |j|j jtjdS)Nr)r2r' GetOptionsrZ EnumOptionsr7ZEnumValueOptionsr%ZMessageOptionsr9Z FieldOptionsr+Z MethodOptionsr)ZServiceOptions)r,r.r.r/testGetOptions~s         zDescriptorTest.testGetOptionscCstj}tjj}|jd}|jd}|jd}|jd}|jd}tjj}|jd} |j } tj } |j d| j | |j } tj } |j d| j | |j }tj}|j d |j |tj}|j d |j ||j }tj}|j d|j ||j }tj}|j d|j ||j }tj}|j d |j ||j }tj}|j d|j || j }tj}|j tj|j |tjj}|j|j|j|j|j|j|j|j|j|j|j|j|j|jdS)NZfield1ZAnOneofZAnEnumZ ANENUM_VAL2Z ANENUM_VAL1Fool` 8l-a*ci{iiil` )r DESCRIPTORZTestMessageWithCustomOptionsfields_by_nameoneofs_by_namer&enum_values_by_nameZTestServiceWithCustomOptionsFindMethodByNamer= file_opt1r2 Extensions message_opt1 field_opt1 field_opt2 oneof_opt1 enum_opt1enum_value_opt1 service_opt1 method_opt1ZMETHODOPT1_VAL2DummyMessageContainingEnumZ assertTrue has_options assertFalse)r,file_descriptormessage_descriptorfield_descriptoroneof_descriptorenum_descriptorenum_value_descriptorZother_enum_value_descriptorservice_descriptormethod_descriptor file_optionsrImessage_optionsrKZ field_optionsrLrMZ oneof_optionsrNZ enum_optionsrOZenum_value_optionsrPZservice_optionsrQZmethod_optionsrRr.r.r/testSimpleCustomOptionss\           z&DescriptorTest.testSimpleCustomOptionsc Csd}d}d}d}d}d}tjj}|j}|jd|jtj|j||jtj|j||jtj|jd|jtj |jd|jtj |j||jtj |j||jtj |jd|jtj |jd|jtj|j||jtj|j||jtjtjj}|j}|jd |jtj|j||jtj|j||jtj|j||jtj |j||jtj |j||jtj |j||jtj |j||jtj |j||jtj|j||jtj|j||jtjtjj}|j}|jd|jtj|jd |jtjd |jd |jtj|jd|jtj|jd|jtjtj} |j| j|jtjtjj}|j}|jd|jtjd |jd|jtjtjj}|j}|jd|jtjd |jd |jtjdS)!N?r @FrTdg$(@rgYB?zHello, "World"s HelloWorld lilllilllllliiif)rZCustomOptionMinIntegerValuesrDr=r2rJZbool_optZ int32_optZ int64_optZ uint32_optZ uint64_optZ sint32_optZ sint64_optZ fixed32_optZ fixed64_optZ sfixed32_optZ sfixed64_optZCustomOptionMaxIntegerValuesZCustomOptionOtherValuesZassertAlmostEqualZ float_optZ double_optZ string_optZ bytes_optrSZTEST_OPTION_ENUM_TYPE2Zenum_optZSettingRealsFromPositiveIntsZSettingRealsFromNegativeInts) r,Z kint32minZ kint64minZ kint32maxZ kint64maxZ kuint32maxZ kuint64maxrWr_Z dummy_enumr.r.r/testDifferentCustomOptionTypess                                                             z-DescriptorTest.testDifferentCustomOptionTypescCstjj}|j}|jd|jtjj|jd|jtjjtj|jd|jtjjtj j |jd|jtj j |jd|jtj jtj |jd|jtj jj|jd|jtj jjtj|jd|jtj jjtj j |jd |jtj jtjj|jd |jtj jtjjtj|jd |jtj jtjjtj j |jd |jtjjjj|jd |jtj jj|jd|jtjj |jd|jtjjj|jd|jtjjdS)NrAiDiliiiiiiiiIiiA )rZVariousComplexOptionsrDr=r2rJZ complex_opt1ZfooZquuxZcorgeZquxZ complex_opt2ZbazZgraultZbarZgarplyZComplexOptionType2ZComplexOptionType4Z complex_opt4ZwaldoZfredZ complex_opt3Zcomplexoptiontype5ZplughZ complexopt6Zxyzzy)r,roptionsr.r.r/testComplexExtensionOptions sX                             z*DescriptorTest.testComplexExtensionOptionsc CsJtj}tjj}|jd}tjj}|jd}tjj}|jd}|jj tj }|j d|j |j d|j |j d|jj |j d|jj tj j |j d|jj tjjj |j d |jj tjj |j d |jj tjj |j d |jj tjj |j d |jj tjj |j d |jj tjj |j d|jj tjj dS)NZ fieldnameZVALUEZMethodrfZFileAnnotationZNestedFileAnnotationZFileExtensionAnnotationZEmbeddedMessageSetElementZMessageAnnotationZFieldAnnotationZEnumAnnotationZEnumValueAnnotationZServiceAnnotationZMethodAnnotation)rrDAggregateMessagerEZ AggregateEnumvalues_by_nameZAggregateServicerHr=rJZfileoptr2issubfileZmsetZAggregateMessageSetElementZmessage_set_extensionmsgoptZfieldoptZenumoptZ enumvaloptZ serviceoptZ methodopt) r,rVrWrXrZr[r\r]r^r.r.r/testAggregateOptionsRsP           z#DescriptorTest.testAggregateOptionscCstjjj}|jd|jjtj|jd}|jd|jjtj tjj}|j d}|jd|jjtj |j d}|jd|jjtj |jd}|jd |jjtjdS) Ni nested_fieldi NestedEnumiZNESTED_ENUM_VALUEinested_extensioni)rZNestedOptionTyperrDr2r=rJrKrErLr&rOrGrPextensions_by_namerM)r,Znested_messagerwZ outer_messageZ nested_enumZnested_enum_valueryr.r.r/testNestedOptionss          z DescriptorTest.testNestedOptionscCs(|j|jj|j|j|jj|jdS)N)r2r'rtr#r%)r,r.r.r/testFileDescriptorReferencessz+DescriptorTest.testFileDescriptorReferencescCs|j|jjd|j|jjd|j|jj|j|j|jj|jd|jjtj }|jj ||j|jj |j |jt jjtjdS)Nzsome/filename/some.protor Zproto2)r2r#rrr"rUrTZsyntaxrr CopyToProtoZ serialized_pbZSerializeToStringrrDr r1)r,r-r.r.r/testFileDescriptors   z!DescriptorTest.testFileDescriptorcpprazAImmutability of descriptors is only enforced in v2 implementationcCCsHtj}tjj}|jd}|jd}|jd}|jt d|_WdQRX|jtd|jd<WdQRX|jt|j j dWdQRX|jt ||_ WdQRX|jt d|_ WdQRX|jt d|_ WdQRX|jt d|_ WdQRX|jt d|_ WdQRX|jt }d|_ WdQRX|j dt|jdS)Noptional_int32rx oneof_fieldZAnotherFTz&attribute is not writable: has_options)rrD TestAllTypesrEr&rFr3AttributeErrorr5r9appendr:rTr2strZ exception)r,rVrWrXrZrYer.r.r/testImmutableCppDescriptors2            z)DescriptorTest.testImmutableCppDescriptorN)__name__ __module__ __qualname__r0r!r6r8r;r<r>r`rirnrvr{r|r~unittestskipIfrTypeZVersionrr.r.r.r/r <s"$6^21 r c@seZdZdZddZdS)NewDescriptorTestzARedo the same tests as above, but with a separate DescriptorPool.cCstjS)N)r ZDescriptorPool)r,r.r.r/r!sz#NewDescriptorTest.GetDescriptorPoolN)rrr__doc__r!r.r.r.r/rsrc@sXeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dS)GeneratedDescriptorTestz:Tests for the properties of descriptors in generated code.cCs|j|jd|j|jd|j|||j|jdj||j||g|j||di|j|j|j|j|j|j |j|j |j|j |j|j |j|j |j|jdj|j|jgdS)Nrzprotobuf_unittest.TestAllTypesr)r2r full_namer9r:assertInCheckDescriptorSequenceCheckDescriptorMappingrEZfields_by_numberfields_by_camelcase_namer&rGrF enum_typesrpextension_ranges)r,rWr.r.r/CheckMessageDescriptors"        z.GeneratedDescriptorTest.CheckMessageDescriptorcCs|j|jd|j|jd|j|jd|j|jjd|j|jtj|j|||j|jjd||j|jj d||j ||g|j ||di|jd|j |jd|j t jdkr|j|j|jdS)Nr optionalInt32z-protobuf_unittest.TestAllTypes.optional_int32rr)r2rcamelcase_namerr:rtrrDrErrZextension_scoperrrid)r,rXr.r.r/CheckFieldDescriptors(   z,GeneratedDescriptorTest.CheckFieldDescriptorcCs|j|tjjj|j|g|j|d|j|dk|j||t|}|j|||jt |d|jt |t ||j|t |d|d|d}|j||d|j |||j|j |d|j|j |dtj jjd}|j|||j|j |d|jt|j ||jt|j gt|}|jt|t|ddd|jtt|d|d<|j||tjdkr|jtt|t|n|jt|dddS)Nrrz change valuepython.CheckItemsz change valuenewZnew_keyZ key_errorr)r)r)rrrrDrErUdictritemsr2rrsys version_inforiterrgetr3r5rrkeysr7r4 __getitem__r)r,mappingZ excepted_dictkeyrrr.)r,r/r$sJ       (    *z.GeneratedDescriptorTest.CheckDescriptorMappingcCstjj}|j||jd}|j||jd}|j|tjjd}|jd|j |jtj jj d g|jtj jj d d dgdS)Nrrrr rA+/)rr)rAr)rr)rr) rrrDrrErrr&r2r:rrTestMultipleExtensionRanges)r,rWrXrZr.r.r/testDescriptorUs     z&GeneratedDescriptorTest.testDescriptorcCsVtj}|j|j|j|j|j|j|j|j|j|j|jtj jjdS)N) rrDrZ dependenciesrr$r&r(rzZTestNestedExtension)r,Zcontaining_filer.r.r/testCppDescriptorContainerhs     z2GeneratedDescriptorTest.testCppDescriptorContainercCs0tjjjd}t|j}~|jdt|jdS)NrxFOO) rrrDr&rr7r2rr)r,enumZ values_iterr.r.r/#testCppDescriptorContainer_Iteratorrs z;GeneratedDescriptorTest.testCppDescriptorContainer_IteratorcCs\tjjd}|j|jd|j|jdjd|j|jtj|j|jd|j |j dS)N TestServicerr?) rrDr(r2rmethodsZassertIsrtrrr*)r,r\r.r.r/testServiceDescriptorys  z-GeneratedDescriptorTest.testServiceDescriptorcCsZtjj}|jd}|j|j|j||j|jd|j|jd|j |jd|j dS)Nrz*protobuf_unittest.TestAllTypes.oneof_fieldr) rrrDrFrUrTr2r:rrr)r,rWrYr.r.r/testOneofDescriptors  z+GeneratedDescriptorTest.testOneofDescriptorN) rrrrrrrrrrrrrr.r.r.r/rs#1 rc@seZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZejejdkdddZejejdkdddZdS) DescriptorCopyToProtoTestz)Tests for CopyTo functions of Descriptor.cCs4|}tj|||j||dt|t|fdS)Nz#Not equal, Actual: %s Expected: %s )r ZMerger2r)r,Z actual_protoZexpected_classexpected_asciiZexpected_protor.r.r/_AssertProtoEquals  z+DescriptorCopyToProtoTest._AssertProtoEqualcCs"|}|j||j|||dS)N)r}r)r,ZdescZexpected_proto_classZexpected_proto_asciiactualr.r.r/_InternalTestCopyToProtos z2DescriptorCopyToProtoTest._InternalTestCopyToProtocCs|jtjjtjtdS)N)rrTestEmptyMessagerDrDescriptorProto#TEST_EMPTY_MESSAGE_DESCRIPTOR_ASCII)r,r.r.r/testCopyToProto_EmptyMessagesz6DescriptorCopyToProtoTest.testCopyToProto_EmptyMessagecCsd}|jtjjjtj|dS)Nz name: 'NestedMessage' field: < name: 'bb' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > )rrrrrDrr)r,ZTEST_NESTED_MESSAGE_ASCIIr.r.r/testCopyToProto_NestedMessages z7DescriptorCopyToProtoTest.testCopyToProto_NestedMessagecCsd}|jtjjtj|dS)Nz name: 'TestForeignNested' field: < name: 'foreign_nested' number: 1 label: 1 # Optional type: 11 # TYPE_MESSAGE type_name: '.protobuf_unittest.TestAllTypes.NestedMessage' > )rrZTestForeignNestedrDrr)r,ZTEST_FOREIGN_NESTED_ASCIIr.r.r/$testCopyToProto_ForeignNestedMessages z>DescriptorCopyToProtoTest.testCopyToProto_ForeignNestedMessagecCsd}|jtjjtj|dS)Nz name: 'ForeignEnum' value: < name: 'FOREIGN_FOO' number: 4 > value: < name: 'FOREIGN_BAR' number: 5 > value: < name: 'FOREIGN_BAZ' number: 6 > )rrrrDrZEnumDescriptorProto)r,ZTEST_FOREIGN_ENUM_ASCIIr.r.r/testCopyToProto_ForeignEnums z5DescriptorCopyToProtoTest.testCopyToProto_ForeignEnumcCsd}|jtjjtj|dS)Nz name: 'TestDeprecatedFields' field: < name: 'deprecated_int32' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 options: < deprecated: true > > )rrZTestDeprecatedFieldsrDrr)r,ZTEST_DEPRECATED_FIELDS_ASCIIr.r.r/testCopyToProto_Optionss z1DescriptorCopyToProtoTest.testCopyToProto_OptionscCsd}|jtjjtj|dS)Nz} name: 'TestEmptyMessageWithExtensions' extension_range: < start: 1 end: 536870912 > )rrZTestEmptyMessageWithExtensionsrDrr)r,Z(TEST_EMPTY_MESSAGE_WITH_EXTENSIONS_ASCIIr.r.r/testCopyToProto_AllExtensionss z7DescriptorCopyToProtoTest.testCopyToProto_AllExtensionscCsd}|jtjjtj|dS)Na name: 'TestMultipleExtensionRanges' extension_range: < start: 42 end: 43 > extension_range: < start: 4143 end: 4244 > extension_range: < start: 65536 end: 536870912 > )rrrrDrr)r,Z*TEST_MESSAGE_WITH_SEVERAL_EXTENSIONS_ASCIIr.r.r/!testCopyToProto_SeveralExtensionss z;DescriptorCopyToProtoTest.testCopyToProto_SeveralExtensionscCsd}|jtjtj|dS)Nad name: 'google/protobuf/unittest_import.proto' package: 'protobuf_unittest_import' dependency: 'google/protobuf/unittest_import_public.proto' message_type: < name: 'ImportMessage' field: < name: 'd' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > > aenum_type: < name: 'ImportEnum' value: < name: 'IMPORT_FOO' number: 7 > value: < name: 'IMPORT_BAR' number: 8 > value: < name: 'IMPORT_BAZ' number: 9 > > enum_type: < name: 'ImportEnumForMap' value: < name: 'UNKNOWN' number: 0 > value: < name: 'FOO' number: 1 > value: < name: 'BAR' number: 2 > > options: < java_package: 'com.google.protobuf.test' optimize_for: 1 # SPEED zG cc_enable_arenas: true > public_dependency: 0 a name: 'google/protobuf/unittest_import.proto' package: 'protobuf_unittest_import' dependency: 'google/protobuf/unittest_import_public.proto' message_type: < name: 'ImportMessage' field: < name: 'd' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > > enum_type: < name: 'ImportEnum' value: < name: 'IMPORT_FOO' number: 7 > value: < name: 'IMPORT_BAR' number: 8 > value: < name: 'IMPORT_BAZ' number: 9 > > enum_type: < name: 'ImportEnumForMap' value: < name: 'UNKNOWN' number: 0 > value: < name: 'FOO' number: 1 > value: < name: 'BAR' number: 2 > > options: < java_package: 'com.google.protobuf.test' optimize_for: 1 # SPEED a7 name: 'google/protobuf/unittest_import.proto' package: 'protobuf_unittest_import' dependency: 'google/protobuf/unittest_import_public.proto' message_type: < name: 'ImportMessage' field: < name: 'd' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > > enum_type: < name: 'ImportEnum' value: < name: 'IMPORT_FOO' number: 7 > value: < name: 'IMPORT_BAR' number: 8 > value: < name: 'IMPORT_BAZ' number: 9 > > enum_type: < name: 'ImportEnumForMap' value: < name: 'UNKNOWN' number: 0 > value: < name: 'FOO' number: 1 > value: < name: 'BAR' number: 2 > > options: < java_package: 'com.google.protobuf.test' optimize_for: 1 # SPEED cc_enable_arenas: true > public_dependency: 0 )rrrDrr)r,Z%UNITTEST_IMPORT_FILE_DESCRIPTOR_ASCIIr.r.r/testCopyToProto_FileDescriptors 0z8DescriptorCopyToProtoTest.testCopyToProto_FileDescriptorcCsd}|jtjjtj|dS)NaM name: 'TestService' method: < name: 'Foo' input_type: '.protobuf_unittest.FooRequest' output_type: '.protobuf_unittest.FooResponse' > method: < name: 'Bar' input_type: '.protobuf_unittest.BarRequest' output_type: '.protobuf_unittest.BarResponse' > )rrrrDrZServiceDescriptorProto)r,ZTEST_SERVICE_ASCIIr.r.r/!testCopyToProto_ServiceDescriptorNs z;DescriptorCopyToProtoTest.testCopyToProto_ServiceDescriptorrz It is not implemented in python.cCs&d}tjjjd}|j|tj|dS)Nz} name: 'Foo' input_type: '.protobuf_unittest.FooRequest' output_type: '.protobuf_unittest.FooResponse' r?)rrrDrHrrZMethodDescriptorProto)r,rr]r.r.r/ testCopyToProto_MethodDescriptoras z:DescriptorCopyToProtoTest.testCopyToProto_MethodDescriptorz!Pure python does not raise error.cCsbtj}|jttjjj||jttjjj||jttj jj|tj }|jtt jj|dS)N) rrr3r5rrrDr}rrrr)r,r-protor.r.r/testCopyToProto_TypeErrorrsz3DescriptorCopyToProtoTest.testCopyToProto_TypeErrorN)rrrrrrrrrrrrrrrrrrrrrr.r.r.r/rs$ ;  rc@s4eZdZddZddZddZddZd d Zd S) MakeDescriptorTestc Cstj}d|_|jj}|j|_|jj}d|_|jj}d|_|jj}d|_d|_|j j}d|_d|_t j j |_ t j j|_|j j}d|_d |_t j j |_ t j j|_d|_|j j}d|_d |_t j j |_ t j j|_d |_t j|}|j|jd jt j j|j|jdjt j j|j|jdjj||j|jd jd jd |j|jd jd j|jd jd |j|j|j|jd jtj dkr|j!t"d|jd _WdQRXdS)NZFoo2ZSubrBARrr uint64_fieldraZnested_message_field bar_fieldz Foo2.Sub.FOOrzFoo2.Sub.bar_fieldrF)#rrrrr nested_typerrrrrFieldDescriptorLABEL_REQUIREDr TYPE_UINT64rZ TYPE_MESSAGE type_name TYPE_ENUMMakeDescriptorr2r9cpp_typeCPPTYPE_UINT64ZCPPTYPE_MESSAGEr:Z nested_typesrrrUrTrrr3r) r,file_descriptor_protorrr enum_type_valr enum_fieldresultr.r.r/"testMakeDescriptorWithNestedFieldssX                  z5MakeDescriptorTest.testMakeDescriptorWithNestedFieldscCstj}d|_|jj}|j|_|jj}d|_|jj}d|_d|_|jj}d|_d|_t j j |_ t j j |_|jj}d|_d|_t j j |_ t j j|_d |_t j|}|j|jd jt j jdS) Nr?rrrrrrarzFoo.FOOr)rrrrrrrrrrrrrrrrrrr2r9rr)r,rrrrrrrr.r.r/&testMakeDescriptorWithUnsignedIntFields.          z9MakeDescriptorTest.testMakeDescriptorWithUnsignedIntFieldcCsFtj}tj}|jj|tj|}|j}|j d|j tj j dS)Ne) rrrrorDr}rrr=r2rJrurq)r,descriptor_protoZaggregate_messageZreformed_descriptorrmr.r.r/testMakeDescriptorWithOptionss  z0MakeDescriptorTest.testMakeDescriptorWithOptionscCstj}d|_dddddg}dddddg}x2tt|D]"}|jj}|d|_|||_q8Wtj |}x,tt|D]}|j |j |j ||qvWdS) NZBarZfoo_fooZFooBarZfooBazZfooFooZfoobarZfooBarr) rrrrangerrrrrrr2r9r)r,rnamesZcamelcase_namesrrrr.r.r/testCamelcaseNames   z$MakeDescriptorTest.testCamelcaseNamecCstj}d|_ddddddg}dddddd g}x2tt|D]"}|jj}|d |_|||_q s:           ?|v PK!YPRPR4protobuf/internal/__pycache__/decoder.cpython-36.pycnu[3 h9z@sdZdZddlZddlZejr"eZddlmZddlm Z ddl m Z dZ e Z e dZe jZdd Zd d Zed>eZed eZed@eZedeZddZddZddZddZddZddZddZee jeZee jeZ ee jeZ!ee jeZ"ee jee j#Z$ee jee j#Z%ee j&dZ'ee j(dZ)ee j&dZ*ee j(d Z+eZ,eZ-ee jee.Z/d!d"Z0d#d$Z1d%d&Z2d'd(Z3ej4d e j5Z6d)d*Z7d+d,Z8d-d.Z9d/d0Z:d1d2Z;d3d4Zd9d:Z?d;d<Z@e@ZAdS)Aa Code for decoding protocol buffer primitives. This code is very similar to encoder.py -- read the docs for that module first. A "decoder" is a function with the signature: Decode(buffer, pos, end, message, field_dict) The arguments are: buffer: The string containing the encoded message. pos: The current position in the string. end: The position in the string where the current message ends. May be less than len(buffer) if we're reading a sub-message. message: The message object into which we're parsing. field_dict: message._fields (avoids a hashtable lookup). The decoder reads the field and stores it into field_dict, returning the new buffer position. A decoder for a repeated field may proactively decode all of the elements of that field, if they appear consecutively. Note that decoders may throw any of the following: IndexError: Indicates a truncated message. struct.error: Unpacking of a fixed-width field failed. message.DecodeError: Other errors. Decoders are expected to raise an exception if they are called with pos > end. This allows callers to be lax about bounds checking: it's fineto read past "end" as long as you are sure that someone else will notice and throw an exception later on. Something up the call stack is expected to catch IndexError and struct.error and convert them to message.DecodeError. Decoders are constructed using decoder constructors with the signature: MakeDecoder(field_number, is_repeated, is_packed, key, new_default) The arguments are: field_number: The field number of the field we want to decode. is_repeated: Is the field a repeated field? (bool) is_packed: Is the field a packed field? (bool) key: The key to use when looking up the field within field_dict. (This is actually the FieldDescriptor but nothing in this file should depend on that.) new_default: A function which takes a message object as a parameter and returns a new instance of the default value for this field. (This is called for repeated fields and sub-messages, when an instance does not already exist.) As with encoders, we define a decoder constructor for every type of field. Then, for every field of every message class we construct an actual decoder. That decoder goes into a dict indexed by tag, so when we decode a message we repeatedly read a tag, look up the corresponding decoder, and invoke it. z kenton@google.com (Kenton Varda)N)encoder) wire_format)messagegcsfdd}|S)aReturn an encoder for a basic varint value (does not include tag). Decoded values will be bitwise-anded with the given mask before being returned, e.g. to limit them to 32 bits. The returned decoder does not take the usual "end" parameter -- the caller is expected to do bounds checking after the fact (often the caller can defer such checking until later). The decoder returns a (value, new_pos) pair. csnd}d}x`tj||}||d@|>O}|d7}|d@sN|M}|}||fS|d7}|dkr tdq WdS)Nr@z$Too many bytes when decoding varint.)six indexbytes _DecodeError)bufferposresultshiftb)mask result_type/usr/lib/python3.6/decoder.py DecodeVarintus z$_VarintDecoder..DecodeVarintr)rrrr)rrr_VarintDecoderks rcs,d|d>d|>dfdd}|S)z0Like _VarintDecoder() but decodes signed values.rcszd}d}xltj||}||d@|>O}|d7}|d@sZ|M}|A}|}||fS|d7}|dkr tdq WdS)Nrrrrrr z$Too many bytes when decoding varint.)r r r )r rrrr)rrsignbitrrrs  z*_SignedVarintDecoder..DecodeVarintr)bitsrrr)rrrr_SignedVarintDecoders  rrr cCs@|}xtj||d@r |d7}qW|d7}tj||||fS)aRead a tag from the buffer, and return a (tag_bytes, new_pos) tuple. We return the raw bytes of the tag rather than decoding them. The raw bytes can then be used to look up the proper decoder. This effectively allows us to trade some work that would be done in pure-python (decoding a varint) for work that is done in C (searching for a byte string in a hash table). In a low-level language it would be much cheaper to decode the varint and use that, but not in Python. rr)r r Z binary_type)r rstartrrrReadTags  rcsfdd}|S)zReturn a constructor for a decoder for fields of a particular type. Args: wire_type: The field's wire type. decode_value: A function which decodes an individual value, e.g. _DecodeVarint() csd|rtfdd}|S|rNtj|tfdd}|Sfdd}|SdS)Ncs|j}|dkr"|j|}||\}}||7}||krHtdx$||krl||\}}|j|qJW||kr|d=td|S)NzTruncated message.rzPacked element was truncated.)get setdefaultr append)r rendr field_dictvalueendpointelement) decode_valuekeylocal_DecodeVarint new_defaultrrDecodePackedFields  zB_SimpleDecoder..SpecificDecoder..DecodePackedFieldcsx|j}|dkr"|j|}xP||\}}|j||}|||ks\||kr$||krltd|Sq$WdS)NzTruncated message.)rr r!r )r rr"rr#r$r&new_pos)r'r(r* tag_bytestag_lenrrDecodeRepeatedFields  zD_SimpleDecoder..SpecificDecoder..DecodeRepeatedFieldcs,||\|<}||kr(|=td|S)NzTruncated message.)r )r rr"rr#)r'r(rr DecodeFields z<_SimpleDecoder..SpecificDecoder..DecodeField) _DecodeVarintrTagByteslen) field_number is_repeated is_packedr(r*r+r/r0)r' wire_type)r(r)r*r-r.rSpecificDecoders z'_SimpleDecoder..SpecificDecoderr)r7r'r8r)r'r7r_SimpleDecoders /r9csfdd}t||S)zLike SimpleDecoder but additionally invokes modify_value on every value before storing it. Usually modify_value is ZigZagDecode. cs||\}}||fS)Nr)r rrr,)r' modify_valuerr InnerDecodesz%_ModifiedDecoder..InnerDecode)r9)r7r'r:r;r)r'r:r_ModifiedDecodersr<cs*tjtjfdd}t||S)zReturn a constructor for a decoder for a fixed-width field. Args: wire_type: The field's wire type. format: The format string to pass to struct.unpack(). cs&|}|||d}||fS)Nrr)r rr,r)format local_unpack value_sizerrr;sz'_StructPackDecoder..InnerDecode)structcalcsizeunpackr9)r7r=r;r)r=r>r?r_StructPackDecoders  rCcstjfdd}ttj|S)zReturns a decoder for a float field. This code works around a bug in struct.unpack for non-finite 32-bit floating-point values. cs|d}|||}|dddkrl|dddkrl|dddkrLt|fS|dddkrdt|fSt|fSd |d}||fS) Nsrszrrr;)s  z"_FloatDecoder..InnerDecode)r@rBr9rWIRETYPE_FIXED32)r;r)r>r _FloatDecoder s rMcstjfdd}ttj|S)zkReturns a decoder for a double field. This code works around a bug in struct.unpack for not-a-number. csb|d}|||}|dddkrL|dddkrL|dddkrLt|fSd|d}||fS) Nrsrszrrr;Ks z#_DoubleDecoder..InnerDecode)r@rBr9rWIRETYPE_FIXED64)r;r)r>r_DoubleDecoderCs rRcspj|r&tfdd}|S|rXtjtjtfdd}|Sfdd}|SdS)Nc s|j}|dkr"|j|}||\}}||7}||krHtdxf||kr|}t||\}}|jkrz|j|qJ|jsg|_tjt j } |jj| |||fqJW||kr|jkr|d=n|jd=td|S)NzTruncated message.rzPacked element was truncated.rr) rr r _DecodeSignedVarint32values_by_numberr!_unknown_fieldsrr2rWIRETYPE_VARINT) r rr"rr#r$r%value_start_posr&r-) enum_typer4r(r)r*rrr+es0     z&EnumDecoder..DecodePackedFieldcs|j}|dkr"|j|}xt||\}}|jkrH|j|n$|jsTg|_|jj|||f|}|||ks||kr$||krtd|Sq$WdS)NzTruncated message.)rr rSrTr!rUr )r rr"rr#r$r&r,)rXr(r*r-r.rrr/s    z(EnumDecoder..DecodeRepeatedFieldcsl|}t||\}}||kr"td|jkr6||<n2|jsBg|_tjtj}|jj||||f|S)NzTruncated message.) rSr rTrUrr2rrVr!)r rr"rr#rWZ enum_valuer-)rXr4r(rrr0s  z EnumDecoder..DecodeField)rXr1rr2rrVr3)r4r5r6r(r*r+r/r0r)rXr4r(r)r*r-r.r EnumDecoderasrYz}zd|jf|_WYdd}~XnXdS)Nzutf-8z%s in field: %s)UnicodeDecodeErrorZ full_namereason)Zbyte_stre)r( local_unicoderr_ConvertToUnicodes  z(StringDecoder.._ConvertToUnicodecs|j}|dkr"|j|}xd||\}}||}||krJtd|j||||}|||ks||kr$|Sq$WdS)NzTruncated string.)rr r r!)r rr"rr#r$sizer,)r^r(r)r*r-r.rrr/s z*StringDecoder..DecodeRepeatedFieldcs>||\}}||}||kr&td||||<|S)NzTruncated string.)r )r rr"rr#r_r,)r^r(r)rrr0s z"StringDecoder..DecodeFieldN) r1r Z text_typeAssertionErrorrr2rWIRETYPE_LENGTH_DELIMITEDr3)r4r5r6r(r*r/r0r)r^r(r)r]r*r-r.r StringDecoders rbcsVt| st|r@tj|tjtfdd}|Sfdd}|SdS)z$Returns a decoder for a bytes field.cs|j}|dkr"|j|}x`||\}}||}||krJtd|j||||}|||ks|||kr$|Sq$WdS)NzTruncated string.)rr r r!)r rr"rr#r$r_r,)r(r)r*r-r.rrr/s z)BytesDecoder..DecodeRepeatedFieldcs:||\}}||}||kr&td||||<|S)NzTruncated string.)r )r rr"rr#r_r,)r(r)rrr0s z!BytesDecoder..DecodeFieldN)r1r`rr2rrar3)r4r5r6r(r*r/r0r)r(r)r*r-r.r BytesDecoders rccsntj|tjt| s t|rTtj|tjtfdd}|Sfdd}|SdS)z$Returns a decoder for a group field.cs|j}|dkr"|j|}x|j}|dkrF|j|}|jj|||}|}|||ksx||krtd|}|||ks||kr$|Sq$WdS)NzMissing group end tag.)rr add_InternalParser )r rr"rr#r$r,) end_tag_bytes end_tag_lenr(r*r-r.rrr/,s  z)GroupDecoder..DecodeRepeatedFieldcs\|j}|dkr"|j|}|j|||}|}|||ksP||krXtd|S)NzMissing group end tag.)rr rer )r rr"rr#r$r,)rfrgr(r*rrr0As z!GroupDecoder..DecodeFieldN)rr2rWIRETYPE_END_GROUPr3r`WIRETYPE_START_GROUP)r4r5r6r(r*r/r0r)rfrgr(r*r-r.r GroupDecoder s  rjcsXt| st|r@tj|tjtfdd}|Sfdd}|SdS)z&Returns a decoder for a message field.cs|j}|dkr"|j|}xl||\}}||}||krJtd|jj||||krhtd|}|||ks||kr$|Sq$WdS)NzTruncated message.zUnexpected end-group tag.)rr r rdre)r rr"rr#r$r_r,)r(r)r*r-r.rrr/Ys z+MessageDecoder..DecodeRepeatedFieldcsf|j}|dkr"|j|}||\}}||}||krHtd|j||||krbtd|S)NzTruncated message.zUnexpected end-group tag.)rr r re)r rr"rr#r$r_r,)r(r)r*rrr0os z#MessageDecoder..DecodeFieldN)r1r`rr2rrar3)r4r5r6r(r*r/r0r)r(r)r*r-r.rMessageDecoderOs rkcsNtjdtjtjdtjtjdtjttt}fdd}|S)aReturns a decoder for a MessageSet item. The parameter is the message Descriptor. The message set message looks like this: message MessageSet { repeated group Item = 1 { required int32 type_id = 2; required string message = 3; } } rFrErc s>|}d}d}d }xx||\} }| kr8||\}}q| kr\||\} }|| }}q| krhPqt|||| }|d krtdqW||krtd|d krtd|d krtd|jj|} | dk r|j| } | dkr|j| | jj} | j||||kr:tdn&|j s"g|_ |j j t |||f|S) NrzMissing group end tag.zTruncated message.z MessageSet item missing type_id.z MessageSet item missing message.zUnexpected end-group tag.rrrrrr) SkipFieldr Z ExtensionsZ_FindExtensionByNumberrr message_type_concrete_classrerUr!MESSAGE_SET_ITEM_TAG) r rr"rr#Zmessage_set_item_startZtype_idZ message_startZ message_endr-r_ extensionr$)item_end_tag_bytesr) local_ReadTagmessage_tag_bytestype_id_tag_bytesrr DecodeItemsF      z)MessageSetItemDecoder..DecodeItem) rr2rrVrarhrr1rl)Z descriptorZlocal_SkipFieldrur)rqr)rrrsrtrMessageSetItemDecoders0rvcsB|tj|jtjtt|jfdd}|S)z"Returns a decoder for a map field.c sj}|j}|dkr*|j|}x||\}}||}||krRtd|j|j||||krttdr||jj|jn |j||j<|}|||ks||kr,|Sq,WdS)NzTruncated message.zUnexpected end-group tag.) rnrr r ZClearrer(Z MergeFromr$) r rr"rr#Zsubmsgr$r_r,)is_message_mapr(r)rmr*r-r.rr DecodeMaps$  zMapDecoder..DecodeMap)rr2Znumberrrar3r1rm)Zfield_descriptorr*rwrxr)rwr(r)rmr*r-r.r MapDecodersrycCsBx$t|||dd@r$|d7}qW|d7}||kr>td|S)z/Skip a varint value. Returns the new position.rrzTruncated message.)ordr )r rr"rrr _SkipVarints  r{cCs|d7}||krtd|S)z0Skip a fixed64 value. Returns the new position.rNzTruncated message.)r )r rr"rrr _SkipFixed64 sr|cCs*t||\}}||7}||kr&td|S)z9Skip a length-delimited value. Returns the new position.zTruncated message.)r1r )r rr"r_rrr_SkipLengthDelimiteds r}cCs6x0t||\}}t||||}|dkr*|S|}qWdS)z*Skip sub-group. Returns the new position.rNr)rrl)r rr"r-r,rrr _SkipGroups r~cCsdS)zFSkipping an END_GROUP tag returns -1 to tell the parent loop to break.rrr)r rr"rrr _EndGroup$srcCs|d7}||krtd|S)z0Skip a fixed32 value. Returns the new position.rDzTruncated message.)r )r rr"rrr _SkipFixed32)srcCs tddS)z;Skip function for unknown wire types. Raises an exception.zTag had invalid wire type.N)r )r rr"rrr_RaiseInvalidWireType1srcs,ttttttttgtjfdd}|S)z"Constructs the SkipField function.cs$t|dd@}||||S)aSkips a field with the specified tag. |pos| should point to the byte immediately after the tag. Returns: The new position (after the tag value), or -1 if the tag is an end-group tag (in which case the calling loop should break). rr)rz)r rr"r-r7)WIRETYPE_TO_SKIPPER wiretype_maskrrrlFs z _FieldSkipper..SkipField) r{r|r}r~rrrrZ TAG_TYPE_MASK)rlr)rrr _FieldSkipper6srllll)B__doc__ __author__r@r ZPY3intZlongZgoogle.protobuf.internalrrZgoogle.protobufrrKrJrIZ DecodeErrorr rrr1Z_DecodeSignedVarintZ_DecodeVarint32rSrr9r<rCrMrRrYrVZ Int32DecoderZ Int64DecoderZ UInt32DecoderZ UInt64DecoderZ ZigZagDecodeZ SInt32DecoderZ SInt64DecoderrLZFixed32DecoderrQZFixed64DecoderZSFixed32DecoderZSFixed64DecoderZ FloatDecoderZ DoubleDecoderboolZ BoolDecoderrbrcrjrkr2rirorvryr{r|r}r~rrrrrlrrrrOsv       ;#O         .%/4J.    PK!iy$bb<protobuf/internal/__pycache__/test_util.cpython-36.opt-1.pycnu[3 h @sdZdZddlZddlZddlZddlmZddlmZye Wne k rXe Z YnXddZ dd Z d d Zd d ZddZddZddZddZddZddZddZddZGdddejZdS) zpUtilities for Python proto2 tests. This is intentionally modeled on C++ code in //google/protobuf/test_util.*. z#robinson@google.com (Will Robinson)N)unittest_import_pb2) unittest_pb2cCs |jjdkS)NZproto2)Z DESCRIPTORZsyntax)messager/usr/lib/python3.6/test_util.pyIsProto27srcCsd|_d|_d|_d|_d|_d|_d|_d|_d |_d |_ d |_ d |_ d |_ d|_ d|_t|rjd|j_d|j_d|j_d|j_d|j_tjj|_tj|_t|rt j!|_"d|_#d|_$|j%j&d|j'j&d|j(j&d|j)j&d|j*j&d|j+j&d|j,j&d|j-j&d|j.j&d|j/j&d |j0j&d!|j1j&d"|j2j&d |j3j&d#|j4j&d$t|rd%|j5j6_d&|j7j6_d'|j8j6_d(|j9j6_d)|j:j6_|j;j&tjj<|j=j&tj>t|r|j?j&t j@|jAj&d*|jBj&d+|j%j&d,|j'j&d,|j(j&d,|j)j&d,|j*j&d,|j+j&d,|j,j&d,|j-j&d,|j.j&d,|j/j&d,|j0j&d,|j1j&d,|j2j&d |j3j&d-|j4j&d.d/|j%d0<d1|j'd0<d2|j(d0<d3|j)d0<d4|j*d0<d5|j+d0<d6|j,d0<d7|j-d0<d8|j.d0<d9|j/d0<d:|j0d0<d;|j1d0<d<|j2d0<d=|j3d0<d>|j4d0<t|r`d?|j5j6_d@|j7j6_dA|j8j6_dB|j9j6_dC|j:j6_|j;j&tjj<tjj|j;d0<|j=j&tjt|r|j?j&t j!|jAj&dD|jBj&dEt|rvdF|_CdG|_DdH|_EdI|_FdJ|_GdK|_HdL|_IdM|_JdN|_KdO|_LdP|_MdQ|_Nd<|_OdR|_PdS|_QtjjR|_StjT|_Ut jV|_WdT|_XdU|_YdV|_ZdW|j[_dX|_\dY|_]dZS)[zmSets every non-lazy field in the message to a unique value. Args: message: A TestAllTypes instance. efghijklmnopT115s116uvwx~124125215s216224225r00i-i.i/i0i1i2i3i4i5i6i7i8F315s316i=i>i?i@iG324325iiiiiiiiiiii415s416424425iYiZ603s604N)^optional_int32optional_int64optional_uint32optional_uint64optional_sint32optional_sint64optional_fixed32optional_fixed64optional_sfixed32optional_sfixed64optional_floatoptional_double optional_booloptional_stringoptional_bytesr optionalgroupaoptional_nested_messagebboptional_foreign_messagecoptional_import_messagedoptional_public_import_messageer TestAllTypesBAZoptional_nested_enum FOREIGN_BAZoptional_foreign_enumr IMPORT_BAZoptional_import_enumoptional_string_piece optional_cordrepeated_int32appendrepeated_int64repeated_uint32repeated_uint64repeated_sint32repeated_sint64repeated_fixed32repeated_fixed64repeated_sfixed32repeated_sfixed64repeated_floatrepeated_double repeated_boolrepeated_stringrepeated_bytes repeatedgroupaddrepeated_nested_messagerepeated_foreign_messagerepeated_import_messagerepeated_lazy_messagerepeated_nested_enumBARrepeated_foreign_enum FOREIGN_BARrepeated_import_enum IMPORT_BARrepeated_string_piece repeated_cord default_int32 default_int64default_uint32default_uint64default_sint32default_sint64default_fixed32default_fixed64default_sfixed32default_sfixed64 default_floatdefault_double default_booldefault_string default_bytesFOOdefault_nested_enum FOREIGN_FOOdefault_foreign_enum IMPORT_FOOdefault_import_enumZdefault_string_pieceZ default_cordZ oneof_uint32Zoneof_nested_messageZ oneof_stringZ oneof_bytes)rrrrSetAllNonLazyFields;s                                                                   rcCst|d|j_dS)N)roptional_lazy_messagerL)rrrr SetAllFieldssrcCsb|j}t}t}d||j<d||j<d||j<d||j<d||j<d||j<d||j <d||j <d ||j <d ||j <d ||j <d ||j<d ||j<d||j<d||j<d||j_d||j_d||j_d||j_d||j_d||j_|jj||j<|jj||j<|j ||j!<|j"||j#<d||j$<d||j%<||j&j'd||j(j'd||j)j'd||j*j'd||j+j'd||j,j'd||j-j'd||j.j'd||j/j'd ||j0j'd!||j1j'd"||j2j'd#||j3j'd ||j4j'd$||j5j'd%d&||j6j7_d'||j8j7_d(||j9j7_d)||j:j7_d*||j;j7_||j<j'|jj=||j>j'|j?||j@j'|jA||jBj'd+||jCj'd,||j&j'd-||j(j'd.||j)j'd/||j*j'd0||j+j'd1||j,j'd2||j-j'd3||j.j'd4||j/j'd5||j0j'd6||j1j'd7||j2j'd8||j3j'd9||j4j'd:||j5j'd;d<||j6j7_d=||j8j7_d>||j9j7_d?||j:j7_d@||j;j7_||j<j'|jj||j>j'|j ||j@j'|j"||jBj'dA||jCj'dBdC||jD<dD||jE<dE||jF<dF||jG<dG||jH<dH||jI<dI||jJ<dJ||jK<dK||jL<dL||jM<dM||jN<dN||jO<d9||jP<dO||jQ<dP||jR<|jjS||jT<|jU||jV<|jW||jX<dQ||jY<dR||jZ<dS||j[<dT||j\_dU||j]<dV||j^<dWS)XzzSets every extension in the message to a unique value. Args: message: A unittest_pb2.TestAllExtensions instance. rr r r r r rrrrrrTrs116rrrrrrrrrrrrr r!r"r#r$r%r&r'r(s216r)r*r+r,r-r.r/i-i.i/i0i1i2i3i4i5i6i7i8Fr3s316i=i>i?i@iGr4r5iiiiiiiiiiiir6s416r7r8iYiZr9s604N)_ ExtensionsrrZoptional_int32_extensionZoptional_int64_extensionZoptional_uint32_extensionZoptional_uint64_extensionZoptional_sint32_extensionZoptional_sint64_extensionZoptional_fixed32_extensionZoptional_fixed64_extensionZoptional_sfixed32_extensionZoptional_sfixed64_extensionZoptional_float_extensionZoptional_double_extensionZoptional_bool_extensionZoptional_string_extensionZoptional_bytes_extensionZoptionalgroup_extensionrJZ!optional_nested_message_extensionrLZ"optional_foreign_message_extensionrNZ!optional_import_message_extensionrPZ(optional_public_import_message_extensionrRZoptional_lazy_message_extensionrSrTZoptional_nested_enum_extensionrVZoptional_foreign_enum_extensionrXZoptional_import_enum_extensionZoptional_string_piece_extensionZoptional_cord_extensionZrepeated_int32_extensionr]Zrepeated_int64_extensionZrepeated_uint32_extensionZrepeated_uint64_extensionZrepeated_sint32_extensionZrepeated_sint64_extensionZrepeated_fixed32_extensionZrepeated_fixed64_extensionZrepeated_sfixed32_extensionZrepeated_sfixed64_extensionZrepeated_float_extensionZrepeated_double_extensionZrepeated_bool_extensionZrepeated_string_extensionZrepeated_bytes_extensionZrepeatedgroup_extensionrmZ!repeated_nested_message_extensionZ"repeated_foreign_message_extensionZ!repeated_import_message_extensionZrepeated_lazy_message_extensionZrepeated_nested_enum_extensionrsZrepeated_foreign_enum_extensionruZrepeated_import_enum_extensionrwZrepeated_string_piece_extensionZrepeated_cord_extensionZdefault_int32_extensionZdefault_int64_extensionZdefault_uint32_extensionZdefault_uint64_extensionZdefault_sint32_extensionZdefault_sint64_extensionZdefault_fixed32_extensionZdefault_fixed64_extensionZdefault_sfixed32_extensionZdefault_sfixed64_extensionZdefault_float_extensionZdefault_double_extensionZdefault_bool_extensionZdefault_string_extensionZdefault_bytes_extensionrZdefault_nested_enum_extensionrZdefault_foreign_enum_extensionrZdefault_import_enum_extensionZdefault_string_piece_extensionZdefault_cord_extensionZoneof_uint32_extensionZoneof_nested_message_extensionZoneof_string_extensionZoneof_bytes_extension)r extensionspb2Z import_pb2rrrSetAllExtensionss                                               rcCs.d|_d|_d|_d|jtj<d|jtj<dS)zSets every field and extension in the message to a unique value. Args: message: A unittest_pb2.TestAllExtensions message. r2foog?barN)my_int my_stringmy_floatrrmy_extension_intmy_extension_string)rrrrSetAllFieldsAndExtensionsms  rcCstj}tj}g}tj}d|_|j|j|jd|j|<|j|j|jd|_ |j|j|jd|j|<|j|j|jd|_ |j|j|jdj |}||krt d||fdS) zEnsures that serialized is the serialization we expect for a message filled with SetAllFieldsAndExtensions(). (Specifically, ensures that the serialization is in canonical, tag-number order). r2rrrg?zExpected %r, found %rN) rrrZTestFieldOrderingsrr]ZSerializeToStringZClearrrrjoin ValueError)Z serializedrrZexpected_stringsrZexpectedrrr#ExpectAllFieldsAndExtensionsInOrderzs,   rcCs |j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd|j|jd |j|jd |j|jd |j|jd |j|jd |j|jd|j|jdt|r |j|jd|j|jd|j|jd|j|jd|j|jjd|j|jjd|j|jjd|j|jjd|j|jd|j|jdt|r|j|jd|j|jd|j|jd|jd|j|jd|j |jd|j |jd |j |jd!|j |jd"|j |jd#|j|jd$|j|jd%|j|jd&|j|jd'|j|jd(|j|jd)|j|jd*|j|jd+|jt|r|jd,|jj|jd-|jj|jd.|jj|jd/|jj|jd0|jj|jd1|jj|jtjj |j!|jtj"|j#t|rT|jt$j%|j&|jd2t'|j(|jd2t'|j)|jd2t'|j*|jd2t'|j+|jd2t'|j,|jd2t'|j-|jd2t'|j.|jd2t'|j/|jd2t'|j0|jd2t'|j1|jd2t'|j2|jd2t'|j3|jd2t'|j4|jd2t'|j5|jd2t'|j6t|r~|jd2t'|j7|jd2t'|j8|jd2t'|j9|jd2t'|j:|jd2t'|j;|jd2t'|j<t|r|jd2t'|j=|jd2t'|j>|jd2t'|j?|jd3|j(d4|jd5|j)d4|jd6|j*d4|jd7|j+d4|jd8|j,d4|jd9|j-d4|jd:|j.d4|jd;|j/d4|jd<|j0d4|jd=|j1d4|jd>|j2d4|jd?|j3d4|jd)|j4d4|jd@|j5d4|jdA|j6d4t|rD|jdB|j7d4j|jdC|j8d4j|jdD|j9d4j|jdE|j:d4j|jdF|j@d4j|jtjjA|j;d4|jtjB|jr?r@rArBrCrDrErFrGrHrIrKrMrOrJrLrNrPrUrWrYrZr[rr r r r r rrrrrrTrs116rrrrrrrrrrrr r!r"r#r$r%r&r'r(s216r)r*r+r,r-i-r2i.i/i0i1i2i3i4i5i6i7i8Fr3s316i=i>i?i@iGrzr{r|r}r~rrrrrrrrrrrrriiiiiiiiiiiir6s416N)YZ assertTrueZHasFieldrrIrKrMrOZ assertEqualr:r;r<r=r>r?r@rArBrCrDrErFrGrHrJrLrNrPrQrRrrrSrTrUrVrWrrXrYlenr\r^r_r`rarbrcrdrerfrgrhrirjrkrlrnrorprrrtrvrxryrqrsrurwrzr{r|r}r~rrrrrrrrrrrrrrrr)Z test_caserrrrExpectAllFieldsSetsj                     rcCsd}xNtjj|rRtjjtjj|drBtjj|d|}t|dStjj|d}qWd}tjj|d|}tjj|r~t|dStddS) zFFinds the given golden file and returns a file object representing it..zsrc/google/protobufzsrc/google/protobuf/testdatarbz..z'third_party/py/google/protobuf/testdatazCould not find golden files. This test must be run from within the protobuf source package so that it can read test data files from the C++ source tree.N)ospathexistsropen RuntimeError)filenamer full_pathrrr GoldenFileis    rc Cst| }|jSQRXdS)z5Finds the given golden file and returns its contents.N)rread)rfrrrGoldenFileDatas rcCs|jjddg|jjddg|jjddg|jjddg|jjd d g|jjd d g|jjd dg|jjddg|j jddg|j jddg|j jddg|j jddg|j jddg|jjtjtjgdS)zgSets every field in the message to a unique value. Args: message: A TestPackedTypes instance. iYiiZii[ii\ii]ii^ii_ii`iiaiibig@g8@g @g@@TFN)Z packed_int32extendZ packed_int64Z packed_uint32Z packed_uint64Z packed_sint32Z packed_sint64Zpacked_fixed32Zpacked_fixed64Zpacked_sfixed32Zpacked_sfixed64Z packed_floatZ packed_doubleZ packed_boolZ packed_enumrrurV)rrrrSetAllPackedFieldss rcCs*|j}t}||jjddg||jjddg||jjddg||jjddg||jjd d g||jjd d g||j jd dg||j jddg||j jddg||j jddg||j jddg||jjddg||jjddg||jjtjtjgdS)z}Sets every extension in the message to a unique value. Args: message: A unittest_pb2.TestPackedExtensions instance. iYiiZii[ii\ii]ii^ii_ii`iiaiibig@g8@g @g@@TFN)rrZpacked_int32_extensionrZpacked_int64_extensionZpacked_uint32_extensionZpacked_uint64_extensionZpacked_sint32_extensionZpacked_sint64_extensionZpacked_fixed32_extensionZpacked_fixed64_extensionZpacked_sfixed32_extensionZpacked_sfixed64_extensionZpacked_float_extensionZpacked_double_extensionZpacked_bool_extensionZpacked_enum_extensionrurV)rrrrrrSetAllPackedExtensionss"rcCs|jjddg|jjddg|jjddg|jjddg|jjd d g|jjd d g|jjd dg|jjddg|j jddg|j jddg|j jddg|j jddg|j jddg|jjtjtjgdS)zvSets every field in the message to a unique value. Args: message: A unittest_pb2.TestUnpackedTypes instance. iYiiZii[ii\ii]ii^ii_ii`iiaiibig@g8@g @g@@TFN)Zunpacked_int32rZunpacked_int64Zunpacked_uint32Zunpacked_uint64Zunpacked_sint32Zunpacked_sint64Zunpacked_fixed32Zunpacked_fixed64Zunpacked_sfixed32Zunpacked_sfixed64Zunpacked_floatZunpacked_doubleZ unpacked_boolZ unpacked_enumrrurV)rrrrSetAllUnpackedFieldss rc@sZeZdZdZdTddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdHZ&dJdKZ'dLdMZ(dNdOZ)dPdQZ*dRdSZ+dS)UNonStandardIntegeraAn integer object that does not subclass int. This is used to verify that both C++ and regular proto systems can handle integer others than int and long and that they handle them in predictable ways. NonStandardInteger is the minimal legal specification for a custom Integral. As such, it does not support 0 < x < 5 and it is not hashable. Note: This is added here instead of relying on numpy or a similar library with custom integers to limit dependencies. NcCs t|tr|j}||_||_dS)N) isinstancervalerror_string_on_conversion)selfrrrrr__init__s zNonStandardInteger.__init__cCs|jrt|jt|jS)N)rrintr)rrrr__long__s zNonStandardInteger.__long__cCsttj|jS)N)roperatorabsr)rrrr__abs__szNonStandardInteger.__abs__cCsttj|j|S)N)rrrmr)ryrrr__add__szNonStandardInteger.__add__cCsttj|j|S)N)rrdivr)rrrrr__div__szNonStandardInteger.__div__cCstj|j|S)N)reqr)rrrrr__eq__szNonStandardInteger.__eq__cCsttj|j|S)N)rrfloordivr)rrrrr __floordiv__szNonStandardInteger.__floordiv__cCsttj|j|S)N)rrtruedivr)rrrrr __truediv__szNonStandardInteger.__truediv__cCsttj|jS)N)rrinvertr)rrrr __invert__szNonStandardInteger.__invert__cCsttj|j|S)N)rrmodr)rrrrr__mod__szNonStandardInteger.__mod__cCsttj|j|S)N)rrmulr)rrrrr__mul__szNonStandardInteger.__mul__cCsttj|jS)N)rrnegr)rrrr__neg__szNonStandardInteger.__neg__cCsttj|jS)N)rrposr)rrrr__pos__ szNonStandardInteger.__pos__cCsttj|j|S)N)rrpowr)rrrrr__pow__ szNonStandardInteger.__pow__cCs t|jS)N)rr)rrrr __trunc__szNonStandardInteger.__trunc__cCsttj||jS)N)rrrmr)rrrrr__radd__szNonStandardInteger.__radd__cCsttj||jS)N)rrrr)rrrrr__rdiv__szNonStandardInteger.__rdiv__cCsttj||jS)N)rrrr)rrrrr__rmod__szNonStandardInteger.__rmod__cCsttj||jS)N)rrrr)rrrrr__rmul__szNonStandardInteger.__rmul__cCsttj||jS)N)rrrr)rrrrr__rpow__szNonStandardInteger.__rpow__cCsttj||jS)N)rrrr)rrrrr __rfloordiv__!sz NonStandardInteger.__rfloordiv__cCsttj||jS)N)rrrr)rrrrr __rtruediv__$szNonStandardInteger.__rtruediv__cCsttj|j|S)N)rrlshiftr)rrrrr __lshift__'szNonStandardInteger.__lshift__cCsttj|j|S)N)rrrshiftr)rrrrr __rshift__*szNonStandardInteger.__rshift__cCsttj||jS)N)rrrr)rrrrr __rlshift__-szNonStandardInteger.__rlshift__cCsttj||jS)N)rrrr)rrrrr __rrshift__0szNonStandardInteger.__rrshift__cCst|tr|j}tj|j|S)N)rrrrle)rrrrr__le__3s zNonStandardInteger.__le__cCst|tr|j}tj|j|S)N)rrrrlt)rrrrr__lt__8s zNonStandardInteger.__lt__cCsttj|j|S)N)rrand_r)rrrrr__and__=szNonStandardInteger.__and__cCsttj|j|S)N)rror_r)rrrrr__or__@szNonStandardInteger.__or__cCsttj|j|S)N)rrxorr)rrrrr__xor__CszNonStandardInteger.__xor__cCsttj||jS)N)rrrr)rrrrr__rand__FszNonStandardInteger.__rand__cCsttj||jS)N)rrrr)rrrrr__ror__IszNonStandardInteger.__ror__cCsttj||jS)N)rrrr)rrrrr__rxor__LszNonStandardInteger.__rxor__cCs|jS)N)r)rrrr__bool__OszNonStandardInteger.__bool__cCs|jS)N)r)rrrrrRscCs|S)Nr)rrrr__ceil__UszNonStandardInteger.__ceil__cCs|S)Nr)rrrr __floor__XszNonStandardInteger.__floor__cCs|jrt|jt|jS)N)rrrr)rrrr__int__[s zNonStandardInteger.__int__cCs|S)Nr)rrrr __round__`szNonStandardInteger.__round__cCs d|jS)NzNonStandardInteger(%s))r)rrrr__repr__cszNonStandardInteger.__repr__)N),__name__ __module__ __qualname____doc__rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsT  r)r __author__ZnumbersrZos.pathrZgoogle.protobufrrr NameErrorZlongrrrrrrrrrrrrZIntegralrrrrr#s4     RPK!tcqq5protobuf/internal/__pycache__/__init__.cpython-36.pycnu[3 h@sdS)Nrrr/usr/lib/python3.6/__init__.pysPK! 999protobuf/internal/__pycache__/any_test_pb2.cpython-36.pycnu[3 h@s,ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejddddddddedjdddddddedejdddddddddddddddedggggeje jedddggd d!d"Zejd#d$dedejdd%ddd&d'dddddddddedejd(d)dddddddddddddedejd*d+ddd&d'ddgddddddedggeggdd,dd=ggd.d/d"Zejd0d1dedejd2d3dd4dddddddddddedgejd5d6dd7d&d'ddddddd,ddedgggdddggd8d9d"Zee_ejejd_eejd*_eejd#<eejd0<ej ee j!d#ej"fe#e j!dej"fe#ed:d;ed:d<Z$ej%e$ej%e$j&e j!d0ej"fe#ed:d;Z'ej%e'eej(d5_e$j)ej(d5d,e_*eje jede_+dS)>NcCs|S)N)xrr"/usr/lib/python3.6/any_test_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)any_pb2z'google/protobuf/internal/any_test.protozgoogle.protobuf.internalZproto2u 'google/protobuf/internal/any_test.protogoogle.protobuf.internalgoogle/protobuf/any.proto"À TestAny# value ( 2.google.protobuf.Any int_value (B map_value ( 2/.google.protobuf.internal.TestAny.MapValueEntry/ MapValueEntry key (  value (:8* €€€€"… TestAnyExtension1 i (2e extension1!.google.protobuf.internal.TestAny«ÿö. ( 2+.google.protobuf.internal.TestAnyExtension1)namepackagesyntaxZ serialized_pbZ dependencies MapValueEntryz.google.protobuf.internal.TestAny.MapValueEntrykeyz2google.protobuf.internal.TestAny.MapValueEntry.key Fzutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfilevaluez4google.protobuf.internal.TestAny.MapValueEntry.valuez8i)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endTestAnyz google.protobuf.internal.TestAnyz&google.protobuf.internal.TestAny.value Z int_valuez*google.protobuf.internal.TestAny.int_valueZ map_valuez*google.protobuf.internal.TestAny.map_valueT ai!TestAnyExtension1z*google.protobuf.internal.TestAnyExtension1iz,google.protobuf.internal.TestAnyExtension1.iZ extension1z5google.protobuf.internal.TestAnyExtension1.extension1ii$iz%google.protobuf.internal.any_test_pb2) DESCRIPTOR __module__)rr,r-)r&r'),sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ google_dot_protobuf_dot_any__pb2ZFileDescriptorr,Z DescriptorZFieldDescriptordecodeZ _ParseOptionsZMessageOptionsZ_TESTANY_MAPVALUEENTRYZ_TESTANYZ_TESTANYEXTENSION1rZ_ANYZfields_by_namerZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr$ZRegisterMessagerr)Zextensions_by_nameZRegisterExtensionZ has_optionsZ_optionsrrrrs                     PK!tcqq;protobuf/internal/__pycache__/__init__.cpython-36.opt-1.pycnu[3 h@sdS)Nrrr/usr/lib/python3.6/__init__.pysPK!x׺=protobuf/internal/__pycache__/wire_format_test.cpython-36.pycnu[3 h* @spdZdZy ddlZWnek r0ddlZYnXddlmZddlmZGdddej Z e dkrlej dS) z.Test for google.protobuf.internal.wire_format.z#robinson@google.com (Will Robinson)N)message) wire_formatc@s<eZdZddZddZddZddZd d Zd d Zd S)WireFormatTestcCsRd}d}|j|d>|Btj||tj}|jtj||d|jtj||ddS)Ni ) assertEqualrPackTag assertRaisesr EncodeError)self field_numberZtag_typer r&/usr/lib/python3.6/wire_format_test.py testPackTag/szWireFormatTest.testPackTagcCsxLd D]D}x>tdD]2}tjtj||\}}|j|||j||qWqW|jttjd|jttjd|jttjd|jttjtdS) Nrrabcg)rrrrr)rangerZ UnpackTagr r r TypeErrorobject)rZexpected_field_numberZexpected_wire_typerZ wire_typerrr testUnpackTag:s  zWireFormatTest.testUnpackTagcCstj}|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd |d |jd |d|jt|d|jt|d|jt|d|jt|tdS)Nrrrrlillllllabcdgr il)rZ ZigZagEncoder r rr)rZrrrtestZigZagEncodeHszWireFormatTest.testZigZagEncodecCstj}|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d |jd |d |jd|d |jt|d|jt|d|jt|d|jt|tdS)Nrrrrrilllllllrgr ril)rZ ZigZagDecoder r rr)rrrrrtestZigZagDecodeYszWireFormatTest.testZigZagDecodec CsDx>d D]6\}}||}|||}|j||d|||||fqWdS)NrrrrrzFbyte_size_fn: %s, field_number: %d, value: %r Expected: %d, Actual: %drrrrr"rr#r)r$r%r&r')r )r byte_size_fnvalueZexpected_value_sizerZ tag_bytesZ expected_sizeZ actual_sizerrrNumericByteSizeTestHelperjs  z(WireFormatTest.NumericByteSizeTestHelperc6Cstjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjtjdgtjddgtjddgtjddgtjtjdgtjddgtjddgtjddgtjddgtjddgtjd dgtjd dgtjddgtjd!dgtjddgtjd"dgtjddgtjd#dgtjd dgtj dd gtj tjd gtj dd gtj tjd gtj dd gtj tj d gtj tj d gtjdd gtjtjd gtjtjd gtjd d gtjd d gtjd$d gtjd d gtjd d gtjd%d gtjddgtjddgtjddgtjddgtjddgtjtjdgg4}x|D]}|j|q$WxPtjtjfD]@}|jd|dd|jd|dd|jd|dddqFW|jdtjddjdGdddt}d}||d}|jd|tjd||jd |tjd||jd|jtjd||jd|jtjd|d|_|jd |jtjd|d|_|j|jdtjd|d|_|j|jdtjd||j|jd tjd||jt j!tjddd>dS)&Nrrr ?@rggeAFTrrrasТестzutf-8c@seZdZddZddZdS)z9WireFormatTest.testByteSizeFunctions..MockMessagecSs ||_dS)N) byte_size)rr4rrr__init__szBWireFormatTest.testByteSizeFunctions..MockMessage.__init__cSs|jS)N)r4)rrrrByteSizeszBWireFormatTest.testByteSizeFunctions..MockMessage.ByteSizeN)__name__ __module__ __qualname__r5r6rrrr MockMessagesr:)r4rr r r iir iigege)"rZ Int32ByteSizeZ Int64ByteSizeZUInt32ByteSizeZ UINT32_MAXZUInt64ByteSizeZ UINT64_MAXZSInt32ByteSizeZSInt64ByteSizeZFixed32ByteSizeZFixed64ByteSizeZSFixed32ByteSizeZ INT32_MINZ INT32_MAXZSFixed64ByteSizeZ INT64_MINZ INT64_MAXZ FloatByteSizeZDoubleByteSizeZ BoolByteSizeZ EnumByteSizer*ZStringByteSizeZ BytesByteSizer decoderZ GroupByteSizer4ZMessageByteSizeZMessageSetItemByteSizer rr )rZ NUMERIC_ARGSargsr(r:Zmessage_byte_sizeZ mock_messagerrrtestByteSizeFunctionsts                                                              z$WireFormatTest.testByteSizeFunctionsN) r7r8r9rrr r!r*r>rrrrr-s   r__main__) __doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrZgoogle.protobuf.internalrZTestCaserr7mainrrrr s   SPK!x׺Cprotobuf/internal/__pycache__/wire_format_test.cpython-36.opt-1.pycnu[3 h* @spdZdZy ddlZWnek r0ddlZYnXddlmZddlmZGdddej Z e dkrlej dS) z.Test for google.protobuf.internal.wire_format.z#robinson@google.com (Will Robinson)N)message) wire_formatc@s<eZdZddZddZddZddZd d Zd d Zd S)WireFormatTestcCsRd}d}|j|d>|Btj||tj}|jtj||d|jtj||ddS)Ni ) assertEqualrPackTag assertRaisesr EncodeError)self field_numberZtag_typer r&/usr/lib/python3.6/wire_format_test.py testPackTag/szWireFormatTest.testPackTagcCsxLd D]D}x>tdD]2}tjtj||\}}|j|||j||qWqW|jttjd|jttjd|jttjd|jttjtdS) Nrrabcg)rrrrr)rangerZ UnpackTagr r r TypeErrorobject)rZexpected_field_numberZexpected_wire_typerZ wire_typerrr testUnpackTag:s  zWireFormatTest.testUnpackTagcCstj}|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd |d |jd |d|jt|d|jt|d|jt|d|jt|tdS)Nrrrrlillllllabcdgr il)rZ ZigZagEncoder r rr)rZrrrtestZigZagEncodeHszWireFormatTest.testZigZagEncodecCstj}|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d |jd |d |jd|d |jt|d|jt|d|jt|d|jt|tdS)Nrrrrrilllllllrgr ril)rZ ZigZagDecoder r rr)rrrrrtestZigZagDecodeYszWireFormatTest.testZigZagDecodec CsDx>d D]6\}}||}|||}|j||d|||||fqWdS)NrrrrrzFbyte_size_fn: %s, field_number: %d, value: %r Expected: %d, Actual: %drrrrr"rr#r)r$r%r&r')r )r byte_size_fnvalueZexpected_value_sizerZ tag_bytesZ expected_sizeZ actual_sizerrrNumericByteSizeTestHelperjs  z(WireFormatTest.NumericByteSizeTestHelperc6Cstjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjtjdgtjddgtjddgtjddgtjtjdgtjddgtjddgtjddgtjddgtjddgtjd dgtjd dgtjddgtjd!dgtjddgtjd"dgtjddgtjd#dgtjd dgtj dd gtj tjd gtj dd gtj tjd gtj dd gtj tj d gtj tj d gtjdd gtjtjd gtjtjd gtjd d gtjd d gtjd$d gtjd d gtjd d gtjd%d gtjddgtjddgtjddgtjddgtjddgtjtjdgg4}x|D]}|j|q$WxPtjtjfD]@}|jd|dd|jd|dd|jd|dddqFW|jdtjddjdGdddt}d}||d}|jd|tjd||jd |tjd||jd|jtjd||jd|jtjd|d|_|jd |jtjd|d|_|j|jdtjd|d|_|j|jdtjd||j|jd tjd||jt j!tjddd>dS)&Nrrr ?@rggeAFTrrrasТестzutf-8c@seZdZddZddZdS)z9WireFormatTest.testByteSizeFunctions..MockMessagecSs ||_dS)N) byte_size)rr4rrr__init__szBWireFormatTest.testByteSizeFunctions..MockMessage.__init__cSs|jS)N)r4)rrrrByteSizeszBWireFormatTest.testByteSizeFunctions..MockMessage.ByteSizeN)__name__ __module__ __qualname__r5r6rrrr MockMessagesr:)r4rr r r iir iigege)"rZ Int32ByteSizeZ Int64ByteSizeZUInt32ByteSizeZ UINT32_MAXZUInt64ByteSizeZ UINT64_MAXZSInt32ByteSizeZSInt64ByteSizeZFixed32ByteSizeZFixed64ByteSizeZSFixed32ByteSizeZ INT32_MINZ INT32_MAXZSFixed64ByteSizeZ INT64_MINZ INT64_MAXZ FloatByteSizeZDoubleByteSizeZ BoolByteSizeZ EnumByteSizer*ZStringByteSizeZ BytesByteSizer decoderZ GroupByteSizer4ZMessageByteSizeZMessageSetItemByteSizer rr )rZ NUMERIC_ARGSargsr(r:Zmessage_byte_sizeZ mock_messagerrrtestByteSizeFunctionsts                                                              z$WireFormatTest.testByteSizeFunctionsN) r7r8r9rrr r!r*r>rrrrr-s   r__main__) __doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrZgoogle.protobuf.internalrZTestCaserr7mainrrrr s   SPK! 99?protobuf/internal/__pycache__/any_test_pb2.cpython-36.opt-1.pycnu[3 h@s,ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZejd d dedejgdZejdddedejddddddddedjdddddddedejdddddddddddddddedggggeje jedddggd d!d"Zejd#d$dedejdd%ddd&d'dddddddddedejd(d)dddddddddddddedejd*d+ddd&d'ddgddddddedggeggdd,dd=ggd.d/d"Zejd0d1dedejd2d3dd4dddddddddddedgejd5d6dd7d&d'ddddddd,ddedgggdddggd8d9d"Zee_ejejd_eejd*_eejd#<eejd0<ej ee j!d#ej"fe#e j!dej"fe#ed:d;ed:d<Z$ej%e$ej%e$j&e j!d0ej"fe#ed:d;Z'ej%e'eej(d5_e$j)ej(d5d,e_*eje jede_+dS)>NcCs|S)N)xrr"/usr/lib/python3.6/any_test_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)any_pb2z'google/protobuf/internal/any_test.protozgoogle.protobuf.internalZproto2u 'google/protobuf/internal/any_test.protogoogle.protobuf.internalgoogle/protobuf/any.proto"À TestAny# value ( 2.google.protobuf.Any int_value (B map_value ( 2/.google.protobuf.internal.TestAny.MapValueEntry/ MapValueEntry key (  value (:8* €€€€"… TestAnyExtension1 i (2e extension1!.google.protobuf.internal.TestAny«ÿö. ( 2+.google.protobuf.internal.TestAnyExtension1)namepackagesyntaxZ serialized_pbZ dependencies MapValueEntryz.google.protobuf.internal.TestAny.MapValueEntrykeyz2google.protobuf.internal.TestAny.MapValueEntry.key Fzutf-8)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfilevaluez4google.protobuf.internal.TestAny.MapValueEntry.valuez8i)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_endTestAnyz google.protobuf.internal.TestAnyz&google.protobuf.internal.TestAny.value Z int_valuez*google.protobuf.internal.TestAny.int_valueZ map_valuez*google.protobuf.internal.TestAny.map_valueT ai!TestAnyExtension1z*google.protobuf.internal.TestAnyExtension1iz,google.protobuf.internal.TestAnyExtension1.iZ extension1z5google.protobuf.internal.TestAnyExtension1.extension1ii$iz%google.protobuf.internal.any_test_pb2) DESCRIPTOR __module__)rr,r-)r&r'),sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbrZ google_dot_protobuf_dot_any__pb2ZFileDescriptorr,Z DescriptorZFieldDescriptordecodeZ _ParseOptionsZMessageOptionsZ_TESTANY_MAPVALUEENTRYZ_TESTANYZ_TESTANYEXTENSION1rZ_ANYZfields_by_namerZmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr$ZRegisterMessagerr)Zextensions_by_nameZRegisterExtensionZ has_optionsZ_optionsrrrrs                     PK!ЏFprotobuf/internal/__pycache__/descriptor_pool_test2_pb2.cpython-36.pycnu[3 hz0@shddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zdd lmZdd lmZdd lTejdddedejejgejgdZejdddeejddddddejddddddgddddd Zejeejdddeejddd dddejd!dd"dddgddd#d$d Zejeejdd%deejd&dd'dddejd(dd)dddgddd*d+d Zejeejd,d-dedejd.d/ddd)d0dd1ddddd2dded3ejd4d5dd6d7d7dd1ed8jd9dddd2dded3gggegdd2dggd:dd;Z ejdddd)d0dd1d"dddd2dded3ejd4d?dd6d7d7dd1ed@jd9dddd2dded3ejdAdBd6ddCdDdd2ddddd2dded3gge gegdd2dggdEd$d;Z!ejdFdGdedejd.dHddd)d0dd1d)dddd2dded3ejdIdJdd6dCdDdd2ddddd2dded3gejdKdLddMdCdDdd2ddddd1dded3ge!gegdd2dggdNdOd;Z"ee j#d._$e!e _%e e_%ee!j#d._$e e!j#dA_&e"e!_%e!e_%ee"j#d._$e!e"j#dI_&e"e_%e"ej'dF<ej(ee j)dFej*fe+e j)dsrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2)descriptor_pool_test1_pb2)more_messages_pb2)*z4google/protobuf/internal/descriptor_pool_test2.protozgoogle.protobuf.python.internalZproto2u4 4google/protobuf/internal/descriptor_pool_test2.protogoogle.protobuf.python.internal4google/protobuf/internal/descriptor_pool_test1.proto,google/protobuf/internal/more_messages.proto"ï DescriptorPoolTest3X nested_enum (2?.google.protobuf.python.internal.DescriptorPoolTest3.NestedEnum:XIZ nested_message ( 2B.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage÷ NestedMessagef nested_enum (2M.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.NestedEnum:PI nested_field ( :nuq deep_nested_message ( 2T.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessageÍ DeepNestedMessagey nested_enum (2_.google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.NestedEnum:RHO nested_field ( :sigma" NestedEnum RHO SIGMA"! NestedEnum OMICRON PI" NestedEnum NU  XI2‰ descriptor_pool_test4.google.protobuf.python.internal.DescriptorPoolTest1é ( 24.google.protobuf.python.internal.DescriptorPoolTest3P)namepackagesyntaxZ serialized_pbZ dependenciesZpublic_dependenciesZ NestedEnumz^google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.NestedEnumZRHO)rindexnumberoptionstypeZSIGMAi@i`) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endzLgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.NestedEnumZOMICRONZPIibiz>google.protobuf.python.internal.DescriptorPoolTest3.NestedEnumZNU ZXIiiDeepNestedMessagezSgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessageZ nested_enumz_google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.nested_enumTF)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrZ nested_fieldz`google.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.DeepNestedMessage.nested_field Zsigmazutf-8i)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr r! NestedMessagezAgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessagezMgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.nested_enumzNgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.nested_fieldZnuZdeep_nested_messagezUgoogle.protobuf.python.internal.DescriptorPoolTest3.NestedMessage.deep_nested_message iDescriptorPoolTest3z3google.protobuf.python.internal.DescriptorPoolTest3z?google.protobuf.python.internal.DescriptorPoolTest3.nested_enumZnested_messagezBgoogle.protobuf.python.internal.DescriptorPoolTest3.nested_messageZdescriptor_pool_testzHgoogle.protobuf.python.internal.DescriptorPoolTest3.descriptor_pool_testii-z2google.protobuf.internal.descriptor_pool_test2_pb2) DESCRIPTOR __module__)r&r2r3)r-r2r3)3sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZgoogle.protobuf.internalrZAgoogle_dot_protobuf_dot_internal_dot_descriptor__pool__test1__pb2rZ8google_dot_protobuf_dot_internal_dot_more__messages__pb2Z*google.protobuf.internal.more_messages_pb2ZFileDescriptorr2ZEnumDescriptorZEnumValueDescriptorZ?_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGE_NESTEDENUMZRegisterEnumDescriptorZ-_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_NESTEDENUMZ_DESCRIPTORPOOLTEST3_NESTEDENUMZ DescriptorZFieldDescriptordecodeZ4_DESCRIPTORPOOLTEST3_NESTEDMESSAGE_DEEPNESTEDMESSAGEZ"_DESCRIPTORPOOLTEST3_NESTEDMESSAGEZ_DESCRIPTORPOOLTEST3Zfields_by_namer)rr(Zmessage_types_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr0ZRegisterMessager-r&Zextensions_by_nameZDescriptorPoolTest1ZRegisterExtensionrrrrs                           PK!%PPBprotobuf/internal/__pycache__/well_known_types_test.cpython-36.pycnu[3 hd @s8dZdZddlZddlmZy ddlZWnek rDddlZYnXddlmZddlm Z ddlm Z ddlm Z dd lm Z dd lm Z dd lmZdd lmZdd lmZddlmZddlmZGdddejZGdddeZGdddejZGdddejZGdddejZedkr4ejdS)z3Test for google.protobuf.internal.well_known_types.zjieluo@google.com (Jie Luo)N)datetime)any_pb2) duration_pb2)field_mask_pb2) struct_pb2) timestamp_pb2) unittest_pb2) any_test_pb2) test_util)well_known_types) descriptor) text_formatc@seZdZddZddZdS)TimeUtilTestBasecCs2|j||jtj}|j||j||dS)N) assertEqual ToJsonStringr TimestampFromJsonString)selfmessagetextparsed_messager+/usr/lib/python3.6/well_known_types_test.pyCheckTimestampConversion;s z)TimeUtilTestBase.CheckTimestampConversioncCs2|j||jtj}|j||j||dS)N)rrrDurationr)rrrrrrrCheckDurationConversionAs z(TimeUtilTestBase.CheckDurationConversionN)__name__ __module__ __qualname__rrrrrrr9src@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS) TimeUtilTestcCstj}d|_d|_|j|dd|_|j|dd|_|j|dd|_|j|dd|_d|_|j|d d |_d |_|j|d d|_|j|d|jd|jd|j|jd|j|jd|jd|j|jd|j|j|jd|jdS)Nrz1970-01-01T00:00:00Ziz1970-01-01T00:00:00.010Zi'z1970-01-01T00:00:00.000010Z z1970-01-01T00:00:00.000000010Zlw#o9z0001-01-01T00:00:00ZlAiɚ;z9999-12-31T23:59:59.999999999Zz1969-12-31T23:59:59.999999999Zz1970-01-01T00:00:00.1Ziz1970-01-01T00:00:00-08:00ilw#o9ipip) rrsecondsnanosrrrZGetCurrentTimeZassertNotEqual)rrrrrtestTimestampSerializeAndParseJs4         z+TimeUtilTest.testTimestampSerializeAndParsecCstj}d|_d|_|j|dd|_|j|dd|_|j|dd|_|j|dd |_d |_|j|d d|_d|_|j|d |jd |jd|j|jd|jd|jdS)NrZ0siz0.010si'z 0.000010sr z 0.000000010sls%iɚ;z315576000000.999999999sz-315576000000.999999999sz0.1siz 0.0000001sdls%i6e)rrr$r%rrr)rrrrrtestDurationSerializeAndParseps(        z*TimeUtilTest.testDurationSerializeAndParsecCstj}|jd|jd|j|jd|j|jd |jd|j|jd |j|jd|jd|j|jd|j|jd|jd|j|jd|j|jd|jd|j|jd|j |jd|jd|j|jd|j |j d|jd|j|jd|j |j d|jd |j|jd|j |jd |jd|j|jd|jd|jdS)Nr!z1970-01-01T00:00:00.000000001Zz1969-12-31T23:59:59.999999999Zz1970-01-01T00:00:00.000001Zz1969-12-31T23:59:59.999999Zz1970-01-01T00:00:00.001Zz1969-12-31T23:59:59.999Zz1970-01-01T00:00:01Zz1969-12-31T23:59:59Zir#r#r#r#r#r#r#r#i1) rrFromNanosecondsrr ToNanosecondsFromMicrosecondsToMicrosecondsFromMillisecondsToMilliseconds FromSeconds ToSeconds)rrrrrtestTimestampIntegerConversionsJ                  z+TimeUtilTest.testTimestampIntegerConversioncCstj}|jd|jd|j|jd|j|jd |jd|j|jd |j|jd|jd|j|jd|j|jd |jd|j|jd|j|jd|jd|j|jd|j |jd|jd|j|jd|j |j d|jd|j|jd|j |j d|jd |j|jd|j |jd |jd|j|jd|jd|jdS)Nr!z 0.000000001sz -0.000000001sz 0.000001sz -0.000001sz0.001sz-0.001sZ1sz-1sir#r#r#r#r#r#r#r#i1r#) rrr+rrr,r-r.r/r0r1r2)rrrrrtestDurationIntegerConversionsH                 z*TimeUtilTest.testDurationIntegerConversionc Cs\tj}tddd}|j||j||j|jd|jtddddddd|jdS)Nir!iriX>)rrrZ FromDatetimerZ ToDatetimer/)rrZdtrrrtestDatetimeConverisons   z#TimeUtilTest.testDatetimeConverisoncCstj}|jd|j}|jd|j|jd|j|jd|j}|jd|j|jd|j|jd|j|jd|j}|jd |j|jd|j|jd|jtj}|j ||j||dS) Ni5wr!i?Bi~QiQilʈr#r#r#) rrr+Z ToTimedeltarr$Z microsecondsZdaysr-Z FromTimedelta)rrZtdZconverted_messagerrrtestTimedeltaConversions$    z$TimeUtilTest.testTimedeltaConversioncCstj}|jtjd|jd|jtjd|jd|jtd|jd|jtjd|jd|jtjd |jd |jtd |jd d |_|jtd|j dS)Nz9Failed to parse timestamp: missing valid timezone offset.zKFailed to parse timestamp: invalid trailing data 1970-01-01T00:00:01Ztrail.z1970-01-01T00:00:01ZtrailzJtime data '10000-01-01T00:00:00' does not match format '%Y-%m-%dT%H:%M:%S'z10000-01-01T00:00:00.00Zz2nanos 0123456789012 more than 9 fractional digits.z"1970-01-01T00:00:00.0123456789012Zz$Invalid timezone offset value: \+08.z1972-01-01T01:00:00.01+08zyear (0 )?is out of rangez0000-01-01T00:00:00ZlAzdate value out of range) rrassertRaisesRegexr ParseErrorr ValueErrorr$ OverflowErrorr)rrrrrtestInvalidTimestampsF z!TimeUtilTest.testInvalidTimestampcCstj}|jtjd|jd|jtjd|jdd}|jtjd|j|d}|jtjd|j|d|_d |_|jtjd|j d |_d|_|jtjd |j dS)Nz%Duration must end with letter "s": 1.1z Couldn't parse duration: 1...2s.z1...2sz-315576000001.000000000sz`Duration is not valid\: Seconds -315576000001 must be in range \[-315576000000\, 315576000000\].z315576000001.000000000sz_Duration is not valid\: Seconds 315576000001 must be in range \[-315576000000\, 315576000000\].ls%riɚ;r!zUDuration is not valid\: Nanos 1000000000 must be in range \[-999999999\, 999999999\].ls%iʚ;) rrr8r r9rErrorr$r%r)rrrrrrtestInvalidDuration7s>    z TimeUtilTest.testInvalidDurationN) rrrr&r(r3r4r5r6r<r?rrrrrHs&31 'rc@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS) FieldMaskTestcCs4tj}|jd|j|jjd|jd|j|jjd|jd|j|jd|jd|j|jd|jdg|j|jd|jddg|j|j|jjd|jd|j|jjd|jd|j|jd|jd|j|jd|jdg|j|jd|jddg|jdS) Nr7fooZbarzfoo,barfoo_barfooBarZbar_quzz fooBar,barQuz)r FieldMaskrrpathsappendrClear)rmaskrrrtestStringFormat_s.          zFieldMaskTest.testStringFormatcCsbtj}tjj}|j||jdt|j|j |j |x |j D]}|j |j |jkqDWdS)NK) rrDr TestAllTypes DESCRIPTORAllFieldsFromDescriptorrlenrE assertTrueIsValidForDescriptorfieldsname)rrHmsg_descriptorfieldrrrtestDescriptorToFieldMask|s  z'FieldMaskTest.testDescriptorToFieldMaskcCstjj}tj}|j|j||j||j|j||jj d|j|j||jj d|j |j|tj}|jj d|j |j|tj}|jj d|j |j|tj}|jj d|j |j|tj}|jj d|j |j|dS)Nzoptional_nested_message.bbzrepeated_nested_message.bbZxxxzxxx.zzzzoptional_nested_message.xxx.zzzzoptional_nested_message.xxx) rrKrLrrDrOrPrMrErF assertFalse)rrSrHrrrtestIsValidForDescriptors*       z&FieldMaskTest.testIsValidForDescriptorcCstj}tj}|jd|j||jd|j|jd|j||jd|j|jd|j||jd|j|jd|j||jd|j|jd |j||jd|j|jd |j||jd |j|jd |j||jd |jdS)Nzbaz.quz,bar,foozbar,baz.quz,fooz foo,bar,foozbar,foozfoo.b1,bar.b1,foo.b2,barzbar,foo.b1,foo.b2z*foo.bar.baz1,foo.bar.baz2.quz,foo.bar.baz2zfoo.bar.baz1,foo.bar.baz2z*foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quzz2foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quz,foo.barzfoo.barz.foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quz,foorA)rrDrZCanonicalFormFromMaskrr)rrHout_maskrrrtestCanonicalFroms:            zFieldMaskTest.testCanonicalFromc Cstj}tj}tj}|jd|jd|j|||jd|j|jd|jd|j|||jd|j|jd|jd|j|||jd |jtj}|jt |j||WdQRXdS) Nzfoo,bazzbar,quzzbar,baz,foo,quzz foo,baz.bbz baz.bb,quzzbaz.bb,foo,quzzfoo.bar.baz,quzz foo.bar,barzbar,foo.bar,quz) rrDrZUnionrrrrK assertRaisesr:)rmask1mask2rXsrcrrr testUnions$          zFieldMaskTest.testUnioncCstj}tj}tj}|jd|jd|j|||jd|j|jd|jd|j|||jd|j|jd|jd|j|||jd |j|jd|jd|j|||jd |jdS) Nzfoo,bazzbar,quzr7z foo,baz.bbz baz.bb,quzzbaz.bbzfoo.bar.baz,quzz foo.bar,barz foo.bar.baz)rrDrZ Intersectrr)rr[r\rXrrr testIntersects&            zFieldMaskTest.testIntersectc Cstj}tj|x|jjD]}|jr(q|j}tj}tj }|j j ||j ||tj}|j tjjkrt||}t||}|jtjjkrx&|D]} |jj| qWq|j|n8|jtjjkrt||jt||nt||t|||j||qWtj} tj} d| jj_d| jjj_tj }|jd|j | | |jd| jjj|jd| jjjj|jd|j | | |jd| jjj|jd| jjjj| j|jd|j | | |jd| jjj|jd| jjjj| j|jd|j | | |jd| jjj|jd| jjjj| jd| jj_|jd|j | | |jd| jjj|jd| jjj|jd|j | | dd |jd| jjj|jd| jjjd| j_|j | j!d |jd |j | | |j | j!d | jd| j_|jd |j | | dd |j"| j!d | jj#j d| jj#j d|jd |j | | |jd t$| jj#|jd| jj#d|jd| jj#d |jd |j | | d d|jd t$| jj#|jd| jj#ddS)Nii.z child.payloadrzchild.child.payloadchildiTFpayloadzpayload.repeatedInt32r)r!)%rrKr SetAllFieldsrLrQZcontaining_oneofrRrrDrErF MergeMessageZlabelr ZFieldDescriptorZLABEL_REPEATEDgetattrZcpp_typeZCPPTYPE_MESSAGEaddZCopyFromextendsetattrrZNestedTestAllTypesr`raZoptional_int32rrGZoptional_int64rOZHasFieldrVZrepeated_int32rN) rr]rTZ field_namedstrHmsgZ repeated_srcZ repeated_msgitemZ nested_srcZ nested_dstrrrtestMergeMessages                           zFieldMaskTest.testMergeMessagec Csdtj}tj}tj}tj||jd|jt}|j ||WdQRX|j dt |j dS)NzoptionalInt32.fieldzError: Field optional_int32 in message protobuf_unittest.TestAllTypes is not a singular message field and cannot have sub-fields.) rrKrrDr rbrrZr:rcrstrZ exception)rr]rhrHerrrtestMergeErrorsYs   zFieldMaskTest.testMergeErrorscCs|jdtjd|jdtjd|jdtjd|jtjdtjd|jtjd tjd |jtjd tjd |jtjd tjddS)NrCrBFooBar_foo_barfoo3Barfoo3_barzYFail to print FieldMask to Json string: Path name Foo must not contain uppercase letters.ZFoozsFail to print FieldMask to Json string: The character after a "_" must be a lowercase letter in path name foo__bar.Zfoo__barzsFail to print FieldMask to Json string: The character after a "_" must be a lowercase letter in path name foo_3bar.Zfoo_3barzKFail to print FieldMask to Json string: Trailing "_" in path name foo_bar_.Zfoo_bar_)rr Z_SnakeCaseToCamelCaser8r>)rrrrtestSnakeCaseToCamelCasefs4   z&FieldMaskTest.testSnakeCaseToCamelCasecCsN|jdtjd|jdtjd|jdtjd|jtjdtjddS)NrBrCrprorrrqzAFail to parse FieldMask: Path name foo_bar must not contain "_"s.)rr Z_CamelCaseToSnakeCaser8r9)rrrrtestCamelCaseToSnakeCases   z&FieldMaskTest.testCamelCaseToSnakeCaseN) rrrrIrUrWrYr^r_rkrnrsrtrrrrr@]s $c &r@c@seZdZddZddZdS) StructTestcCs tj}|j|tj|jdt||j}d|d<d|d<d|d<d|jd d <|j d }|j|tj |j d d dddgd|j d<d ii|d<ddg|d<|jdt||j t|tj|jd|d|jd|d|jd|d|jd|d d |}d|d<|jd d ddd|gt|d j|jit|dd j|jddgt|dj|j}tj}|j||j||xBt|jD]2\}}|j|||j|||j|||qW|jdtt|j|jdtt|jxBt|jD]2}|j|||j|||j||||qWttt|jttt|jf} |j| ttt|j|j t|tj|jd|d|jd|d|jd|d|jd|d d |jd d ddd|gt|d j|d }|jd |d|jd |d|jd|d|jd|d|jd|d|j||dd|d<|jd|d|jj dddddg|jdddddgt|d j|j ddiddgigg|jdt|j|jd|dd|jd|dd|jd|dd|jit|dj|jgt|djd d!i|d<d d!g|d<|jd!|dd |jd d!gt|djt|} tj} tj| | |j|| d"|jdd <|jd"|dd |j d#|d#} |jgt| jtj } | j| d} |jgt| j|jd$|d$}|jit|j| j | d}|jit|j|jdt||d=|d =|jdt||jd t|d |d d=|jdt|d |jd ddd|gt|d jdS)%Nrkey1abckey2Tkey3g&@key4subkeykey5sevenF subkey2key6r)Zkey7 r!ZtwoZ nested_struct nested_listcr"r replaceset empty_list empty_struct)!rStructZassertIsInstance collectionsMappingrrN __class__Zget_or_create_structZget_or_create_listSequencerfZ add_structrO isinstancer assertIslistitemsdictrQSerializeToStringZParseFromStringZassertInkeysvaluesnextiterZadd_listrlr ZMergeZ ListValue)rstruct struct_classZ struct_list inner_struct serializedZstruct2keyvaluerjZtext_serializedZstruct3rZlist2rrrr testStructs          (       zStructTest.testStructc Cstj}|j}dddddidddddd d igd dggigd }|j||jd|d |jd|d|jd|d|jd|dd|}d |d <|jddddd|gt|dj|jdt|ddj |jd |ddd|jd|ddd|d}|jgt|j|d}|jit |j ddiddggd}|j||jdt|dj |jd|dd|jdt|dj |jd|ddd|jd|ddddS)NrvrxTr|g&@r~rFrrr)rwryrzr{r}rrrrwryrzrr{r}r)rrr!rrr)r{r}) rrrupdaterrrrrNrrrQ)rrrZ dictionaryrrrZ duplicaterrr testMergeFromsD  zStructTest.testMergeFromN)rrrrrrrrrruswruc@s,eZdZddZddZddZddZd S) AnyTestc Cstj}|j}tj}|j}|jjd|jj||j |jj d|j |j |jj|j |j |jj||j|jj|tj}|j |jj||j |||j|jj|y|j|Wntk rYnXtd|j dS)Nuüꜟztype.googleapis.com/%sz%s should not have Pack method.)r TestAnyrLrrKZrepeated_stringrFrPackrtype_url full_namerrOZIsrVUnpackAttributeError)rrirSZ all_typesZall_descriptorunpacked_messagerrrtestAnyMessageBs,       zAnyTest.testAnyMessagecCs4tj}d|_tj}|j||j|jddS)Ni90z google.protobuf.internal.TestAny)r r int_valuerAnyrrZTypeName)r submessagerirrrtestMessageNameas  zAnyTest.testMessageNamecCstj}d|_tj}|j|d|j|jd|jj |j|d|j|jd|jj |j|d|j|jd|jj tj}|j |j ||j||dS)Ni90ztype.myservice.comztype.myservice.com/%sztype.myservice.com/r7z/%s) r rrrrrrrrLrrOr)rrrirrrrtestPackWithCustomTypeUrlis   z!AnyTest.testPackWithCustomTypeUrlcCsbtj}x"tdD]}|d|jt|<qWtj}|j|dd|jdd}d}|j ||dS)Nr r)T)Z deterministics~ 4type.googleapis.com/google.protobuf.internal.TestAnyF 0 1 2 3 4 5  6  7 8 9) r rrangeZ map_valuerlrrrrr)rririrZgoldenrrrtestPackDeterministic~s zAnyTest.testPackDeterministicN)rrrrrrrrrrrr@sr__main__)__doc__ __author__rrZ unittest2Zunittest ImportErrorZgoogle.protobufrrrrrrZgoogle.protobuf.internalr r r r r ZTestCaserrr@rurrmainrrrr s<             ?'M PK!͡vg*g*Dprotobuf/internal/__pycache__/factory_test2_pb2.cpython-36.opt-1.pycnu[3 h[a,@s ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZdd lmZejd ddedejgdZejdddeejddddddejddddddgddddd ZejeejeZdZdZdZejdddddddded jd!dddd"dded#Z ejd$d%deejd&dddddejd'dddddgddd(d)d Z!eje!ejd*d+deejd,dddddgddd-d.d Z"eje"ej#d/d0dedejd1d2dddddded jd!dddddded#ggggdddggd3d4d5Z$ej#d6d7dedejd8d9dd:dddded jd!dddddded#ejd;dd?d5Z%ej#d@dAdedejdBdCdddDddEdddddddded#ejdFdGddEd=dHddddddddded#ejdIdJdEdd=dHddddddddded#ejdKdLddMdNdOddddddddded#ejdPdQdMdDdNdOddddddddded#ejdRdSdDdTd=dHddddddddded#ejdUdVdTdWd=dHddddddddded#ejdXdYdWdHdNdOddddddddded#ejdZd[dHddNdOddddddddded#ejd\d]ddOdddded jd!dddddded#ejd^d_dOdNddddgdddddded#ejd`dadNdbdOdOddgdddddded#ejdcdddbdedNdOddddddddded#ejdfdgd:dhdDddd"didddddded#ejdjdkd=dlddDdd"e&dmdddddded#ejdndodedpdddd"edqjd!dddddded#ejdrdsdhdtdHdWdd"ddddddded#ejdudvdldwd=dHdd"ddddddded#ejdxdydpdzdbddd"ed{dddddded#ejd|d}dtd~dDdddddddddded#ejdddwddddded jd!dddddded#gejdddddddded jd!dddd"dded#ge$e%ge!gdddgej'ddddgdgddd5Z(ej#dddedejdcddddNdOddddddddded#ggggdddggddd5Z)ej#dddedggge"gdddggdd.d5Z*ej#dddedejdddddDdddddddddded#ggggej+ej,edddggddd5Z-e(e$_.e(e%_.ee(j/dF_0e!e(j/dI_0e$e(j/dK_1ej2e(j/dP_1ej3e(j/dR_0ej4e(j/dU_0ej5e(j/dX_1e(e(j/dZ_1e%e(j/d`_1e)e(j/dc_1ee(j/du_0e(e!_.e(j6dj7j8e(j/d|e(j6de(j/d|_9e(j6dj7j8e(j/de(j6de(j/d_9e(e)j/dc_1e*e"_.e(ej:d@<e)ej:d<e*ej:d<e-ej:d<eej;d<e ejd@e j?fe@e j>d/e j?fe@e$dde j>d6e j?fe@e%dde(ddZAejBeAejBeAjCejBeAjDe j>de j?fe@e)ddZEejBeEe j>de j?fe@e*ddZFejBeFe j>de j?fe@e-ddZGejBeGejHjIe ejHjIe(jsrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2)factory_test1_pb2z,google/protobuf/internal/factory_test2.protozgoogle.protobuf.python.internalZproto2u ,google/protobuf/internal/factory_test2.protogoogle.protobuf.python.internal,google/protobuf/internal/factory_test1.proto"Ø Factory2Message mandatory (E factory_2_enum (2-.google.protobuf.python.internal.Factory2Enumb nested_factory_2_enum (2C.google.protobuf.python.internal.Factory2Message.NestedFactory2Enumh nested_factory_2_message ( 2F.google.protobuf.python.internal.Factory2Message.NestedFactory2MessageK factory_1_message ( 20.google.protobuf.python.internal.Factory1MessageE factory_1_enum (2-.google.protobuf.python.internal.Factory1Enumb nested_factory_1_enum (2C.google.protobuf.python.internal.Factory1Message.NestedFactory1Enumh nested_factory_1_message ( 2F.google.protobuf.python.internal.Factory1Message.NestedFactory1MessageJ circular_message ( 20.google.protobuf.python.internal.Factory2Message scalar_value (  list_value ( I grouped ( 28.google.protobuf.python.internal.Factory2Message.Grouped: loop ( 2,.google.protobuf.python.internal.LoopMessage int_with_default (:1776! double_with_default (:9.99( string_with_default ( : hello world bool_with_default (:false[ enum_with_default (2-.google.protobuf.python.internal.Factory2Enum:FACTORY_2_VALUE_1& bytes_with_default ( : a\373\000c oneof_int (H oneof_string ( H& NestedFactory2Message value ( ) Grouped part_1 (  part_2 ( "P NestedFactory2Enum NESTED_FACTORY_2_VALUE_0 NESTED_FACTORY_2_VALUE_12I one_more_field0.google.protobuf.python.internal.Factory1Messageé ( B oneof_field"M LoopMessage> loop ( 20.google.protobuf.python.internal.Factory2Message"D MessageWithNestedEnumOnly"' NestedEnum NESTED_MESSAGE_ENUM_0"' MessageWithOption field1 (:*< Factory2Enum FACTORY_2_VALUE_0 FACTORY_2_VALUE_1:H another_field0.google.protobuf.python.internal.Factory1Messageê ( )namepackagesyntaxZ serialized_pbZ dependencies Factory2Enumz,google.protobuf.python.internal.Factory2EnumFACTORY_2_VALUE_0)rindexnumberoptionstypeFACTORY_2_VALUE_1iiT) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endi another_fieldz-google.protobuf.python.internal.another_field Fzutf-8T)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrZNestedFactory2EnumzBgoogle.protobuf.python.internal.Factory2Message.NestedFactory2EnumZNESTED_FACTORY_2_VALUE_0ZNESTED_FACTORY_2_VALUE_1iiZ NestedEnumzDgoogle.protobuf.python.internal.MessageWithNestedEnumOnly.NestedEnumZNESTED_MESSAGE_ENUM_0iiNestedFactory2MessagezEgoogle.protobuf.python.internal.Factory2Message.NestedFactory2MessagevaluezKgoogle.protobuf.python.internal.Factory2Message.NestedFactory2Message.valuei[i)rrrrrfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsr r!Groupedz7google.protobuf.python.internal.Factory2Message.GroupedZpart_1z>google.protobuf.python.internal.Factory2Message.Grouped.part_1 Zpart_2z>google.protobuf.python.internal.Factory2Message.Grouped.part_2iiFactory2Messagez/google.protobuf.python.internal.Factory2MessageZ mandatoryz9google.protobuf.python.internal.Factory2Message.mandatoryZfactory_2_enumz>google.protobuf.python.internal.Factory2Message.factory_2_enumZnested_factory_2_enumzEgoogle.protobuf.python.internal.Factory2Message.nested_factory_2_enumZnested_factory_2_messagezHgoogle.protobuf.python.internal.Factory2Message.nested_factory_2_message Zfactory_1_messagezAgoogle.protobuf.python.internal.Factory2Message.factory_1_messageZfactory_1_enumz>google.protobuf.python.internal.Factory2Message.factory_1_enumZnested_factory_1_enumzEgoogle.protobuf.python.internal.Factory2Message.nested_factory_1_enumZnested_factory_1_messagezHgoogle.protobuf.python.internal.Factory2Message.nested_factory_1_messageZcircular_messagez@google.protobuf.python.internal.Factory2Message.circular_messageZ scalar_valuezgoogle.protobuf.python.internal.Factory2Message.one_more_fieldiZ oneof_fieldz;google.protobuf.python.internal.Factory2Message.oneof_field)rrrrr)iX LoopMessagez+google.protobuf.python.internal.LoopMessagez0google.protobuf.python.internal.LoopMessage.loopiZiMessageWithNestedEnumOnlyz9google.protobuf.python.internal.MessageWithNestedEnumOnlyiMessageWithOptionz1google.protobuf.python.internal.MessageWithOptionZfield1z8google.protobuf.python.internal.MessageWithOption.field1ziiz*google.protobuf.internal.factory_test2_pb2) DESCRIPTOR __module__)r'r+rErF)Lsys version_infoZ_bZgoogle.protobuf.internalr Zgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaserZDefaultZ_sym_dbrZ8google_dot_protobuf_dot_internal_dot_factory__test1__pb2ZFileDescriptorrEZEnumDescriptorZEnumValueDescriptorZ _FACTORY2ENUMZRegisterEnumDescriptorZEnumTypeWrapperrrrZANOTHER_FIELD_FIELD_NUMBERZFieldDescriptordecoder"Z#_FACTORY2MESSAGE_NESTEDFACTORY2ENUMZ%_MESSAGEWITHNESTEDENUMONLY_NESTEDENUMZ DescriptorZ&_FACTORY2MESSAGE_NESTEDFACTORY2MESSAGEZ_FACTORY2MESSAGE_GROUPEDfloatZOneofDescriptorZ_FACTORY2MESSAGEZ _LOOPMESSAGEZ_MESSAGEWITHNESTEDENUMONLYZ _ParseOptionsZMessageOptionsZ_MESSAGEWITHOPTIONrZfields_by_namer&r%Z_FACTORY1MESSAGEZ _FACTORY1ENUMZ#_FACTORY1MESSAGE_NESTEDFACTORY1ENUMZ&_FACTORY1MESSAGE_NESTEDFACTORY1MESSAGEZoneofs_by_namer)appendZcontaining_oneofZmessage_types_by_nameZenum_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr.ZRegisterMessager'r+rBrCrDZFactory1MessageZRegisterExtensionZ has_optionsZ_optionsrrrrsH                                                  PK!]>]]Eprotobuf/internal/__pycache__/descriptor_database_test.cpython-36.pycnu[3 h @sdZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlm Z ddlm Z Gdd d ej Z e d krejdS) z.Tests for google.protobuf.descriptor_database.z"matthewtoia@google.com (Matt Toia)N) unittest_pb2)descriptor_pb2)factory_test2_pb2)descriptor_databasec@seZdZddZdS)DescriptorDatabaseTestcCs(tj}tjjtjj}|j||j ||j d|j ||j d|j ||j d|j ||j d|j ||j d|j ||j d|j ||j d|j ||j d|j ||j d |j ||j d tjjt jj}|j||j ||j d |j ||j d |j t|j d dS)Nz,google/protobuf/internal/factory_test2.protoz/google.protobuf.python.internal.Factory2MessagezEgoogle.protobuf.python.internal.Factory2Message.NestedFactory2Messagez,google.protobuf.python.internal.Factory2EnumzBgoogle.protobuf.python.internal.Factory2Message.NestedFactory2EnumzDgoogle.protobuf.python.internal.MessageWithNestedEnumOnly.NestedEnumz:google.protobuf.python.internal.Factory2Message.list_fieldz>google.protobuf.python.internal.Factory2Enum.FACTORY_2_VALUE_0z-google.protobuf.python.internal.another_fieldz>google.protobuf.python.internal.Factory2Message.one_more_fieldzprotobuf_unittest.TestServicez)protobuf_unittest.TestAllTypes.none_fieldzprotobuf_unittest.NoneMessage)rZDescriptorDatabaserZFileDescriptorProtoZ FromStringrZ DESCRIPTORZ serialized_pbZAddZ assertEqualZFindFileByNameZFindFileContainingSymbolrZ assertRaisesKeyError)selfZdbZfile_desc_protoZfile_desc_proto2r ./usr/lib/python3.6/descriptor_database_test.pytestAdd1sD                zDescriptorDatabaseTest.testAddN)__name__ __module__ __qualname__r r r r r r/sr__main__)__doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrrZgoogle.protobuf.internalrrZTestCaserr mainr r r r  s     6PK!Mܺ**Aprotobuf/internal/__pycache__/generator_test.cpython-36.opt-1.pycnu[3 h9 @sdZdZy ddlZWnek r0ddlZYnXddlmZddlmZddlm Z ddlm Z ddlm Z dd lm Z dd lm Z dd lmZdd lmZdd lmZdZGdddejZGdddejZedkrejdS)zUnittest that directly tests the output of the pure-Python protocol compiler. See //google/protobuf/internal/reflection_test.py for a test which further ensures that we can use Python protocol message objects as we expect. z#robinson@google.com (Will Robinson)N)test_bad_identifiers_pb2)unittest_custom_options_pb2)unittest_import_pb2)unittest_import_public_pb2)unittest_mset_pb2)unittest_mset_wire_format_pb2) unittest_no_generic_services_pb2) unittest_pb2)service)symbol_databasei c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-S). GeneratorTestcCs(d}tj}|j|jj|jj|jdS)Noptional_nested_message)r TestAllTypes assertEqual NestedMessage DESCRIPTORfields_by_nameZ message_type)self field_nameZ proto_typer$/usr/lib/python3.6/generator_test.pytestNestedMessageDescriptor@s z)GeneratorTest.testNestedMessageDescriptorcCs|jdtj|jdtj|jdtjtj}|jd|j|jdtjj|jd|j|jdtjj|jd|j|jdtjjdS)N) rr Z FOREIGN_FOOZ FOREIGN_BARZ FOREIGN_BAZrFOOZBARZBAZ)rprotorrr testEnumsGszGeneratorTest.testEnumscstj}ddfdd}|j||j|j|jdk|j||j|j|jdk|j|j|j||j|j|jdk|j||j|j|jdk|j|j|j d|j dS)NcSs||kS)Nr)valrrrisnan\sz5GeneratorTest.testExtremeDefaultValues..isnancs| o|dS)Nrr)r!)r"rrisinf_sz5GeneratorTest.testExtremeDefaultValues..isinfrz? ? ?? ?? ??? ??/ ??-) r ZTestExtremeDefaultValues assertTrueZ inf_doubleZneg_inf_doubleZ nan_doubleZ inf_floatZ neg_inf_floatZ nan_floatrZ cpp_trigraph)rmessager#r)r"rtestExtremeDefaultValuesWs z&GeneratorTest.testExtremeDefaultValuescs>tjj}dddddtfdd|jD}|j|dS)NFT)Zoptional_int32Zrepeated_int32r Z default_int32cs"g|]}|jkr|j|jfqSr)nameZhas_default_value).0f)expected_has_default_by_namerr {sz6GeneratorTest.testHasDefaultValues..)r rrdictfieldsr)rdescZhas_default_by_namer)r*rtestHasDefaultValuesps  z"GeneratorTest.testHasDefaultValuescCs.|jtjjtjj|jtjjjtjjdS)N)rr optional_int32_extensioncontaining_typeTestAllExtensionsr TestRequiredsingle)rrrr'testContainingTypeBehaviorForExtensionss   z5GeneratorTest.testContainingTypeBehaviorForExtensionscCs*|jtjjd|jtjjjtjjdS)N)rr r0Zextension_scoper3r4r)rrrrtestExtensionScopes  z GeneratorTest.testExtensionScopecCsB|jtjj|jtjjjtjj}|jd}|j|j dS)Na)r$r r0Z is_extensionr3r4rr)rZmessage_descriptorZnon_extension_descriptorrrrtestIsExtensions  zGeneratorTest.testIsExtensioncCstj}|j|jjjdS)N)rZTestMessageSetr$r GetOptionsZmessage_set_wire_format)rrrrr testOptionsszGeneratorTest.testOptionscCs*tj}|jjdj}|j|dk dS)NZAnEnum)rZTestMessageWithCustomOptionsrenum_types_by_namer9r$)rrZ enum_optionsrrrtestMessageWithCustomOptionssz*GeneratorTest.testMessageWithCustomOptionscCs\|jttjjjttjjjtjjjtjjjg|jtj jjg|jtjjjjgdS)N) rsetr rrZ nested_typesr OptionalGroup RepeatedGroupTestEmptyMessage)rrrrtestNestedTypess zGeneratorTest.testNestedTypescCst|jtjjjdk|jtjjjdk|jtjjjjtjj|jtjjjjtjj|jtjjjjtjjdS)N) r$r r@rr1rrrr?)rrrrtestContainingTypes     z GeneratorTest.testContainingTypecCs*|jtjjdk|jtjjtjjdS)N)r$r _FOREIGNENUMr1r_TESTALLTYPES_NESTEDENUMrr)rrrr"testContainingTypeInEnumDescriptors z0GeneratorTest.testContainingTypeInEnumDescriptorcCs||jtjjjjdtjjj}|j|jjd|jtjjjjd|jtj jjd|jtj jjd|jtj jjddS)Nprotobuf_unittestZprotobuf_unittest_import) rr rrfilepackagerrZ ImportMessagerCrDZ _IMPORTENUM)rr.rrr testPackages    zGeneratorTest.testPackagecCsJ|jtjjjg|jtjjjdtfg|jtjjjdddtfgdS) Nr*+/i)rJrK)rLrM)rr rrZextension_rangesr2 MAX_EXTENSIONZTestMultipleExtensionRanges)rrrrtestExtensionRanges z GeneratorTest.testExtensionRangecCsr|jtjjd|jtjjd|jtjjdk|jtjjtjg|jtjjt jg|jtjj t jgdS)Nzgoogle/protobuf/unittest.protorF) rr rr'rH assertFalseZ serialized_pbZ dependenciesrrZpublic_dependencies)rrrrtestFileDescriptors      z GeneratorTest.testFileDescriptorcCsR|jttd|jttd|jttdttdrN|jttjtjdS)NZ TestMessagerZtest_extension TestService)r$hasattrrrP issubclassrRr ZService)rrrrtestNoGenericServicess   z#GeneratorTest.testNoGenericServicescCs6tj}|jtj|jtjj|jtjj|jkdS)N)r rrZ _TESTALLTYPESZmessage_types_by_namer'rPZ_TESTALLTYPES_NESTEDMESSAGE)r file_typerrrtestMessageTypesByNamesz$GeneratorTest.testMessageTypesByNamecCs"tj}|jtj|jtjjdS)N)r rrrCr;r')rrVrrrtestEnumTypesByNamesz!GeneratorTest.testEnumTypesByNamecCs"tj}|jtj|jtjjdS)N)r rrZmy_extension_stringZextensions_by_namer')rrVrrrtestExtensionsByNamesz"GeneratorTest.testExtensionsByNamecCsDtj}|jd|jjtj}|jd|j|jtjtjkdS)Nr) r rrZoptional_public_import_messageerZPublicImportMessager$r)rZall_type_protoZpublic_import_protorrrtestPublicImports s zGeneratorTest.testPublicImportscCs\tj}|j|jtjd|j|jtjd|j|jtjd|j|jtjddS)NZfooZbarZbazZqux)rZTestBadIdentifiersrZ Extensionsr%Z descriptorZ reflectionr )rr%rrrtestBadIdentifierssz GeneratorTest.testBadIdentifierscCstjj}|jdt|j|jd|jdj|jd|jdj|j||jdj |j|jd|j dt ddddg}|j|t dd |jdj DxDt |jjD]2\}}||kr|j|jd|jq|j|jqWdS) NrZ oneof_fieldrZ oneof_uint32Zoneof_nested_messageZ oneof_stringZ oneof_bytescSsg|] }|jqSr)r')r(Zfieldrrrr+-sz+GeneratorTest.testOneof..)r rrrlenZoneofsr'indexZassertIsr1Zoneofs_by_namer=r-listritemsZcontaining_oneofZ assertIsNone)rr.Z nested_namesrZ field_descrrr testOneof"s zGeneratorTest.testOneofN)__name__ __module__ __qualname__rr r&r/r5r6r8r:r<rArBrErIrOrQrUrWrXrYr[r\rarrrrr >s,       r c@s(eZdZdZddZddZddZdS) SymbolDatabaseRegistrationTestz?Checks that messages, enums and files are correctly registered.c Cs|jtjtjjd|jtjjtjjd|jttjjdWdQRX|jtjj tjjd|jtjj tjjddS)Nzprotobuf_unittest.TestAllTypesz,protobuf_unittest.TestAllTypes.NestedMessagezprotobuf_unittest.NestedMessagez,protobuf_unittest.TestAllTypes.OptionalGroupz,protobuf_unittest.TestAllTypes.RepeatedGroup) rr rr DefaultZ GetSymbolrZ assertRaisesKeyErrorr>r?)rrrr testGetSymbol8s"  z,SymbolDatabaseRegistrationTest.testGetSymbolcCs8|jdtjjjdj|jdtjjjdjdS)Nzprotobuf_unittest.ForeignEnumz)protobuf_unittest.TestAllTypes.NestedEnum)rr rfpoolZFindEnumTypeByNameZ full_name)rrrrr Ks   z(SymbolDatabaseRegistrationTest.testEnumscCs|jdtjjjdjdS)Nzgoogle/protobuf/unittest.proto)rr rfriZFindFileByNamer')rrrrtestFindFileByNameUs z1SymbolDatabaseRegistrationTest.testFindFileByNameN)rbrcrd__doc__rhr rjrrrrre5s re__main__)rk __author__Z unittest2Zunittest ImportErrorZgoogle.protobuf.internalrZgoogle.protobufrrrrrrr r r rNZTestCaser rerbmainrrrr's*           x&PK!1.aRR:protobuf/internal/__pycache__/decoder.cpython-36.opt-1.pycnu[3 h9z@sdZdZddlZddlZejr"eZddlmZddlm Z ddl m Z dZ e Z e dZe jZdd Zd d Zed>eZed eZed@eZedeZddZddZddZddZddZddZddZee jeZee jeZ ee jeZ!ee jeZ"ee jee j#Z$ee jee j#Z%ee j&dZ'ee j(dZ)ee j&dZ*ee j(d Z+eZ,eZ-ee jee.Z/d!d"Z0d#d$Z1d%d&Z2d'd(Z3ej4d e j5Z6d)d*Z7d+d,Z8d-d.Z9d/d0Z:d1d2Z;d3d4Zd9d:Z?d;d<Z@e@ZAdS)Aa Code for decoding protocol buffer primitives. This code is very similar to encoder.py -- read the docs for that module first. A "decoder" is a function with the signature: Decode(buffer, pos, end, message, field_dict) The arguments are: buffer: The string containing the encoded message. pos: The current position in the string. end: The position in the string where the current message ends. May be less than len(buffer) if we're reading a sub-message. message: The message object into which we're parsing. field_dict: message._fields (avoids a hashtable lookup). The decoder reads the field and stores it into field_dict, returning the new buffer position. A decoder for a repeated field may proactively decode all of the elements of that field, if they appear consecutively. Note that decoders may throw any of the following: IndexError: Indicates a truncated message. struct.error: Unpacking of a fixed-width field failed. message.DecodeError: Other errors. Decoders are expected to raise an exception if they are called with pos > end. This allows callers to be lax about bounds checking: it's fineto read past "end" as long as you are sure that someone else will notice and throw an exception later on. Something up the call stack is expected to catch IndexError and struct.error and convert them to message.DecodeError. Decoders are constructed using decoder constructors with the signature: MakeDecoder(field_number, is_repeated, is_packed, key, new_default) The arguments are: field_number: The field number of the field we want to decode. is_repeated: Is the field a repeated field? (bool) is_packed: Is the field a packed field? (bool) key: The key to use when looking up the field within field_dict. (This is actually the FieldDescriptor but nothing in this file should depend on that.) new_default: A function which takes a message object as a parameter and returns a new instance of the default value for this field. (This is called for repeated fields and sub-messages, when an instance does not already exist.) As with encoders, we define a decoder constructor for every type of field. Then, for every field of every message class we construct an actual decoder. That decoder goes into a dict indexed by tag, so when we decode a message we repeatedly read a tag, look up the corresponding decoder, and invoke it. z kenton@google.com (Kenton Varda)N)encoder) wire_format)messagegcsfdd}|S)aReturn an encoder for a basic varint value (does not include tag). Decoded values will be bitwise-anded with the given mask before being returned, e.g. to limit them to 32 bits. The returned decoder does not take the usual "end" parameter -- the caller is expected to do bounds checking after the fact (often the caller can defer such checking until later). The decoder returns a (value, new_pos) pair. csnd}d}x`tj||}||d@|>O}|d7}|d@sN|M}|}||fS|d7}|dkr tdq WdS)Nr@z$Too many bytes when decoding varint.)six indexbytes _DecodeError)bufferposresultshiftb)mask result_type/usr/lib/python3.6/decoder.py DecodeVarintus z$_VarintDecoder..DecodeVarintr)rrrr)rrr_VarintDecoderks rcs,d|d>d|>dfdd}|S)z0Like _VarintDecoder() but decodes signed values.rcszd}d}xltj||}||d@|>O}|d7}|d@sZ|M}|A}|}||fS|d7}|dkr tdq WdS)Nrrrrrr z$Too many bytes when decoding varint.)r r r )r rrrr)rrsignbitrrrs  z*_SignedVarintDecoder..DecodeVarintr)bitsrrr)rrrr_SignedVarintDecoders  rrr cCs@|}xtj||d@r |d7}qW|d7}tj||||fS)aRead a tag from the buffer, and return a (tag_bytes, new_pos) tuple. We return the raw bytes of the tag rather than decoding them. The raw bytes can then be used to look up the proper decoder. This effectively allows us to trade some work that would be done in pure-python (decoding a varint) for work that is done in C (searching for a byte string in a hash table). In a low-level language it would be much cheaper to decode the varint and use that, but not in Python. rr)r r Z binary_type)r rstartrrrReadTags  rcsfdd}|S)zReturn a constructor for a decoder for fields of a particular type. Args: wire_type: The field's wire type. decode_value: A function which decodes an individual value, e.g. _DecodeVarint() csd|rtfdd}|S|rNtj|tfdd}|Sfdd}|SdS)Ncs|j}|dkr"|j|}||\}}||7}||krHtdx$||krl||\}}|j|qJW||kr|d=td|S)NzTruncated message.rzPacked element was truncated.)get setdefaultr append)r rendr field_dictvalueendpointelement) decode_valuekeylocal_DecodeVarint new_defaultrrDecodePackedFields  zB_SimpleDecoder..SpecificDecoder..DecodePackedFieldcsx|j}|dkr"|j|}xP||\}}|j||}|||ks\||kr$||krltd|Sq$WdS)NzTruncated message.)rr r!r )r rr"rr#r$r&new_pos)r'r(r* tag_bytestag_lenrrDecodeRepeatedFields  zD_SimpleDecoder..SpecificDecoder..DecodeRepeatedFieldcs,||\|<}||kr(|=td|S)NzTruncated message.)r )r rr"rr#)r'r(rr DecodeFields z<_SimpleDecoder..SpecificDecoder..DecodeField) _DecodeVarintrTagByteslen) field_number is_repeated is_packedr(r*r+r/r0)r' wire_type)r(r)r*r-r.rSpecificDecoders z'_SimpleDecoder..SpecificDecoderr)r7r'r8r)r'r7r_SimpleDecoders /r9csfdd}t||S)zLike SimpleDecoder but additionally invokes modify_value on every value before storing it. Usually modify_value is ZigZagDecode. cs||\}}||fS)Nr)r rrr,)r' modify_valuerr InnerDecodesz%_ModifiedDecoder..InnerDecode)r9)r7r'r:r;r)r'r:r_ModifiedDecodersr<cs*tjtjfdd}t||S)zReturn a constructor for a decoder for a fixed-width field. Args: wire_type: The field's wire type. format: The format string to pass to struct.unpack(). cs&|}|||d}||fS)Nrr)r rr,r)format local_unpack value_sizerrr;sz'_StructPackDecoder..InnerDecode)structcalcsizeunpackr9)r7r=r;r)r=r>r?r_StructPackDecoders  rCcstjfdd}ttj|S)zReturns a decoder for a float field. This code works around a bug in struct.unpack for non-finite 32-bit floating-point values. cs|d}|||}|dddkrl|dddkrl|dddkrLt|fS|dddkrdt|fSt|fSd |d}||fS) Nsrszrrr;)s  z"_FloatDecoder..InnerDecode)r@rBr9rWIRETYPE_FIXED32)r;r)r>r _FloatDecoder s rMcstjfdd}ttj|S)zkReturns a decoder for a double field. This code works around a bug in struct.unpack for not-a-number. csb|d}|||}|dddkrL|dddkrL|dddkrLt|fSd|d}||fS) Nrsrszrrr;Ks z#_DoubleDecoder..InnerDecode)r@rBr9rWIRETYPE_FIXED64)r;r)r>r_DoubleDecoderCs rRcspj|r&tfdd}|S|rXtjtjtfdd}|Sfdd}|SdS)Nc s|j}|dkr"|j|}||\}}||7}||krHtdxf||kr|}t||\}}|jkrz|j|qJ|jsg|_tjt j } |jj| |||fqJW||kr|jkr|d=n|jd=td|S)NzTruncated message.rzPacked element was truncated.rr) rr r _DecodeSignedVarint32values_by_numberr!_unknown_fieldsrr2rWIRETYPE_VARINT) r rr"rr#r$r%value_start_posr&r-) enum_typer4r(r)r*rrr+es0     z&EnumDecoder..DecodePackedFieldcs|j}|dkr"|j|}xt||\}}|jkrH|j|n$|jsTg|_|jj|||f|}|||ks||kr$||krtd|Sq$WdS)NzTruncated message.)rr rSrTr!rUr )r rr"rr#r$r&r,)rXr(r*r-r.rrr/s    z(EnumDecoder..DecodeRepeatedFieldcsl|}t||\}}||kr"td|jkr6||<n2|jsBg|_tjtj}|jj||||f|S)NzTruncated message.) rSr rTrUrr2rrVr!)r rr"rr#rWZ enum_valuer-)rXr4r(rrr0s  z EnumDecoder..DecodeField)rXr1rr2rrVr3)r4r5r6r(r*r+r/r0r)rXr4r(r)r*r-r.r EnumDecoderasrYz}zd|jf|_WYdd}~XnXdS)Nzutf-8z%s in field: %s)UnicodeDecodeErrorZ full_namereason)Zbyte_stre)r( local_unicoderr_ConvertToUnicodes  z(StringDecoder.._ConvertToUnicodecs|j}|dkr"|j|}xd||\}}||}||krJtd|j||||}|||ks||kr$|Sq$WdS)NzTruncated string.)rr r r!)r rr"rr#r$sizer,)r^r(r)r*r-r.rrr/s z*StringDecoder..DecodeRepeatedFieldcs>||\}}||}||kr&td||||<|S)NzTruncated string.)r )r rr"rr#r_r,)r^r(r)rrr0s z"StringDecoder..DecodeFieldN)r1r Z text_typerr2rWIRETYPE_LENGTH_DELIMITEDr3)r4r5r6r(r*r/r0r)r^r(r)r]r*r-r.r StringDecoders racsLt|r6tj|tjtfdd}|Sfdd}|SdS)z$Returns a decoder for a bytes field.cs|j}|dkr"|j|}x`||\}}||}||krJtd|j||||}|||ks|||kr$|Sq$WdS)NzTruncated string.)rr r r!)r rr"rr#r$r_r,)r(r)r*r-r.rrr/s z)BytesDecoder..DecodeRepeatedFieldcs:||\}}||}||kr&td||||<|S)NzTruncated string.)r )r rr"rr#r_r,)r(r)rrr0s z!BytesDecoder..DecodeFieldN)r1rr2rr`r3)r4r5r6r(r*r/r0r)r(r)r*r-r.r BytesDecodersrbcsdtj|tjt|rJtj|tjtfdd}|Sfdd}|SdS)z$Returns a decoder for a group field.cs|j}|dkr"|j|}x|j}|dkrF|j|}|jj|||}|}|||ksx||krtd|}|||ks||kr$|Sq$WdS)NzMissing group end tag.)rr add_InternalParser )r rr"rr#r$r,) end_tag_bytes end_tag_lenr(r*r-r.rrr/,s  z)GroupDecoder..DecodeRepeatedFieldcs\|j}|dkr"|j|}|j|||}|}|||ksP||krXtd|S)NzMissing group end tag.)rr rdr )r rr"rr#r$r,)rerfr(r*rrr0As z!GroupDecoder..DecodeFieldN)rr2rWIRETYPE_END_GROUPr3WIRETYPE_START_GROUP)r4r5r6r(r*r/r0r)rerfr(r*r-r.r GroupDecoder s ricsNt|r6tj|tjtfdd}|Sfdd}|SdS)z&Returns a decoder for a message field.cs|j}|dkr"|j|}xl||\}}||}||krJtd|jj||||krhtd|}|||ks||kr$|Sq$WdS)NzTruncated message.zUnexpected end-group tag.)rr r rcrd)r rr"rr#r$r_r,)r(r)r*r-r.rrr/Ys z+MessageDecoder..DecodeRepeatedFieldcsf|j}|dkr"|j|}||\}}||}||krHtd|j||||krbtd|S)NzTruncated message.zUnexpected end-group tag.)rr r rd)r rr"rr#r$r_r,)r(r)r*rrr0os z#MessageDecoder..DecodeFieldN)r1rr2rr`r3)r4r5r6r(r*r/r0r)r(r)r*r-r.rMessageDecoderOsrjcsNtjdtjtjdtjtjdtjttt}fdd}|S)aReturns a decoder for a MessageSet item. The parameter is the message Descriptor. The message set message looks like this: message MessageSet { repeated group Item = 1 { required int32 type_id = 2; required string message = 3; } } rFrErc s>|}d}d}d }xx||\} }| kr8||\}}q| kr\||\} }|| }}q| krhPqt|||| }|d krtdqW||krtd|d krtd|d krtd|jj|} | dk r|j| } | dkr|j| | jj} | j||||kr:tdn&|j s"g|_ |j j t |||f|S) NrzMissing group end tag.zTruncated message.z MessageSet item missing type_id.z MessageSet item missing message.zUnexpected end-group tag.rrrrrr) SkipFieldr Z ExtensionsZ_FindExtensionByNumberrr message_type_concrete_classrdrUr!MESSAGE_SET_ITEM_TAG) r rr"rr#Zmessage_set_item_startZtype_idZ message_startZ message_endr-r_ extensionr$)item_end_tag_bytesr) local_ReadTagmessage_tag_bytestype_id_tag_bytesrr DecodeItemsF      z)MessageSetItemDecoder..DecodeItem) rr2rrVr`rgrr1rk)Z descriptorZlocal_SkipFieldrtr)rpr)rqrrrsrMessageSetItemDecoders0rucsB|tj|jtjtt|jfdd}|S)z"Returns a decoder for a map field.c sj}|j}|dkr*|j|}x||\}}||}||krRtd|j|j||||krttdr||jj|jn |j||j<|}|||ks||kr,|Sq,WdS)NzTruncated message.zUnexpected end-group tag.) rmrr r ZClearrdr(Z MergeFromr$) r rr"rr#Zsubmsgr$r_r,)is_message_mapr(r)rlr*r-r.rr DecodeMaps$  zMapDecoder..DecodeMap)rr2Znumberrr`r3r1rl)Zfield_descriptorr*rvrwr)rvr(r)rlr*r-r.r MapDecodersrxcCsBx$t|||dd@r$|d7}qW|d7}||kr>td|S)z/Skip a varint value. Returns the new position.rrzTruncated message.)ordr )r rr"rrr _SkipVarints  rzcCs|d7}||krtd|S)z0Skip a fixed64 value. Returns the new position.rNzTruncated message.)r )r rr"rrr _SkipFixed64 sr{cCs*t||\}}||7}||kr&td|S)z9Skip a length-delimited value. Returns the new position.zTruncated message.)r1r )r rr"r_rrr_SkipLengthDelimiteds r|cCs6x0t||\}}t||||}|dkr*|S|}qWdS)z*Skip sub-group. Returns the new position.rNr)rrk)r rr"r-r,rrr _SkipGroups r}cCsdS)zFSkipping an END_GROUP tag returns -1 to tell the parent loop to break.rrr)r rr"rrr _EndGroup$sr~cCs|d7}||krtd|S)z0Skip a fixed32 value. Returns the new position.rDzTruncated message.)r )r rr"rrr _SkipFixed32)srcCs tddS)z;Skip function for unknown wire types. Raises an exception.zTag had invalid wire type.N)r )r rr"rrr_RaiseInvalidWireType1srcs,ttttttttgtjfdd}|S)z"Constructs the SkipField function.cs$t|dd@}||||S)aSkips a field with the specified tag. |pos| should point to the byte immediately after the tag. Returns: The new position (after the tag value), or -1 if the tag is an end-group tag (in which case the calling loop should break). rr)ry)r rr"r-r7)WIRETYPE_TO_SKIPPER wiretype_maskrrrkFs z _FieldSkipper..SkipField) rzr{r|r}r~rrrZ TAG_TYPE_MASK)rkr)rrr _FieldSkipper6srllll)B__doc__ __author__r@r ZPY3intZlongZgoogle.protobuf.internalrrZgoogle.protobufrrKrJrIZ DecodeErrorr rrr1Z_DecodeSignedVarintZ_DecodeVarint32rSrr9r<rCrMrRrYrVZ Int32DecoderZ Int64DecoderZ UInt32DecoderZ UInt64DecoderZ ZigZagDecodeZ SInt32DecoderZ SInt64DecoderrLZFixed32DecoderrQZFixed64DecoderZSFixed32DecoderZSFixed64DecoderZ FloatDecoderZ DoubleDecoderboolZ BoolDecoderrarbrirjr2rhrnrurxrzr{r|r}r~rrrrkrrrrOsv       ;#O         .%/4J.    PK!)>protobuf/internal/__pycache__/factory_test1_pb2.cpython-36.pycnu[3 h@s ddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z dd lmZe jZejd d deddZejdddeejddddddejddddddgddddd ZejeejeZdZdZejdddeejddddddejddddddgddddd Zejeejd d!dedejd"d#ddd$d$dd%ed&jd'dddd%dded(ggggdd%dggd)d*d+Zejd,d-dedejd.d/ddd0d1dd%ddddd%dded(ejd2d3dd4d0d1dd%ddddd%dded(ejd5d6d4dd7d8dd%ddddd%dded(ejd9d:dd;dd;dsrcCs |jdS)Nlatin1)encode)rrrrrs)enum_type_wrapper) descriptor)message) reflection)symbol_database)descriptor_pb2z,google/protobuf/internal/factory_test1.protozgoogle.protobuf.python.internalZproto2uk ,google/protobuf/internal/factory_test1.protogoogle.protobuf.python.internal"Õ Factory1MessageE factory_1_enum (2-.google.protobuf.python.internal.Factory1Enumb nested_factory_1_enum (2C.google.protobuf.python.internal.Factory1Message.NestedFactory1Enumh nested_factory_1_message ( 2F.google.protobuf.python.internal.Factory1Message.NestedFactory1Message scalar_value ( list_value ( & NestedFactory1Message value ( "P NestedFactory1Enum NESTED_FACTORY_1_VALUE_0 NESTED_FACTORY_1_VALUE_1* 耀€€*< Factory1Enum FACTORY_1_VALUE_0 FACTORY_1_VALUE_1)namepackagesyntaxZ serialized_pb Factory1Enumz,google.protobuf.python.internal.Factory1EnumFACTORY_1_VALUE_0)rindexnumberoptionstypeFACTORY_1_VALUE_1i)ie) r full_namefilenamefilevaluescontaining_typerserialized_startserialized_endZNestedFactory1EnumzBgoogle.protobuf.python.internal.Factory1Message.NestedFactory1EnumZNESTED_FACTORY_1_VALUE_0ZNESTED_FACTORY_1_VALUE_1iiNestedFactory1MessagezEgoogle.protobuf.python.internal.Factory1Message.NestedFactory1MessagevaluezKgoogle.protobuf.python.internal.Factory1Message.NestedFactory1Message.value Fzutf-8)rrrrrZcpp_typeZlabelZhas_default_valueZ default_value message_type enum_typerZ is_extensionZextension_scoperrii)rrrrrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsrr Factory1Messagez/google.protobuf.python.internal.Factory1MessageZfactory_1_enumz>google.protobuf.python.internal.Factory1Message.factory_1_enumZnested_factory_1_enumzEgoogle.protobuf.python.internal.Factory1Message.nested_factory_1_enumZnested_factory_1_messagezHgoogle.protobuf.python.internal.Factory1Message.nested_factory_1_message Z scalar_valuezs                    PK!-l8protobuf/internal/__pycache__/wire_format.cpython-36.pycnu[3 h @sdZdZddlZddlmZddlmZdZde>dZdZdZ dZ dZ d Z d Z d ZedMZedOZdQZdSZdUZdWZdZdZdZdZejed kredejedkredddZddZddZddZddZ d d!Z!d"d#Z"d$d%Z#d&d'Z$d(d)Z%d*d+Z&d,d-Z'd.d/Z(d0d1Z)d2d3Z*d4d5Z+d6d7Z,d8d9Z-d:d;Z.dd?Z0d@dAZ1dBdCZ2dDdEZ3dFdGZ4dHdIZ5ej6j7ej6j8ej6j9ej6j:fZ;dJdKZ|BS)aReturns an unsigned 32-bit integer that encodes the field number and wire type information in standard protocol message wire format. Args: field_number: Expected to be an integer in the range [1, 1 << 29) wire_type: One of the WIRETYPE_* constants. rzUnknown wire type: %d) _WIRETYPE_MAXr EncodeError TAG_TYPE_BITS) field_numberZ wire_typer!/usr/lib/python3.6/wire_format.pyPackTagPsrcCs|t?|t@fS)zkThe inverse of PackTag(). Given an unsigned 32-bit number, returns a (field_number, wire_type) tuple. )r TAG_TYPE_MASK)tagrrr UnpackTag]srcCs|dkr|d>S|d>dAS)zZigZag Transform: Encodes signed integers so that they can be effectively used with varint encoding. See wire_format.h for more details. rrr)valuerrr ZigZagEncodedsrcCs|d@s|d?S|d?dAS)zInverse of ZigZagEncode().rrrr)rrrr ZigZagDecodensrcCs t||S)N) Int64ByteSize)rint32rrr Int32ByteSizezsrcCs td|@S)Nl)_VarUInt64ByteSizeNoTag)rrrrInt32ByteSizeNoTag~sr cCst|d|@S)Nl)UInt64ByteSize)rint64rrrrsrcCs t||S)N)r!)rZuint32rrrUInt32ByteSizesr#cCst|t|S)N) TagByteSizer)ruint64rrrr!sr!cCst|t|S)N)r#r)rrrrrSInt32ByteSizesr&cCst|t|S)N)r!r)rr"rrrSInt64ByteSizesr'cCs t|dS)Nr)r$)rZfixed32rrrFixed32ByteSizesr(cCs t|dS)Nr )r$)rZfixed64rrrFixed64ByteSizesr)cCs t|dS)Nr)r$)rZsfixed32rrrSFixed32ByteSizesr*cCs t|dS)Nr )r$)rZsfixed64rrrSFixed64ByteSizesr+cCs t|dS)Nr)r$)rZfltrrr FloatByteSizesr,cCs t|dS)Nr )r$)rZdoublerrrDoubleByteSizesr-cCs t|dS)Nr)r$)rbrrr BoolByteSizesr/cCs t||S)N)r#)renumrrr EnumByteSizesr1cCst||jdS)Nzutf-8) BytesByteSizeencode)rstringrrrStringByteSizesr5cCst|tt|t|S)N)r$rlen)rr.rrrr2sr2cCsdt||jS)Nr)r$ByteSize)rrrrr GroupByteSizes r8cCst|t|j|jS)N)r$rr7)rrrrrMessageByteSizesr9cCsHdtdtdtd}|t|7}|j}|t|7}||7}|S)Nrrr)r$rr7)rmsgZ total_sizeZ message_sizerrrMessageSetItemByteSizes   r;cCstt|dS)zEReturns the bytes required to serialize a tag with this field number.r)rr)rrrrr$sr$cCs|dkr dS|dkrdS|dkr$dS|dkr0dS|d krst       PK!Vռee=protobuf/internal/__pycache__/well_known_types.cpython-36.pycnu[3 hn@s~dZdZddlZddlmZddlmZddlZddlmZdZdZ d Z d Z d Z d Z d7Zd ZGdddeZGdddeZGdddeZGdddeZGdddeZddZddZGdddeZddZd d!Zd"d#Zd$d%ZGd&d'd'eZd(d)Zd*d+Z d,d-Z!ej"e#fZ$d.d/Z%d0d1Z&Gd2d3d3eZ'ej(j)e'Gd4d5d5eZ*ej+j)e*eeee*e'ed6Z,dS)8zContains well known classes. This files defines well known classes which need extra maintenance including: - Any - Duration - FieldMask - Struct - Timestamp zjieluo@google.com (Jie Luo)N)datetime) timedelta)FieldDescriptorz%Y-%m-%dT%H:%M:%Siʚ;i@Biils%c@seZdZdZdS)ErrorzTop-level module error.N)__name__ __module__ __qualname____doc__r r &/usr/lib/python3.6/well_known_types.pyr<src@seZdZdZdS) ParseErrorz Thrown in case of parsing error.N)rrr r r r r r r @sr c@s2eZdZdZd ddZddZdd Zd d ZdS) AnyzClass for Any Message type.type.googleapis.com/NcCsPt|dks|ddkr,d||jjf|_nd||jjf|_|j|d|_dS)z5Packs the specified message into current Any message./z%s/%sz%s%s) deterministicN)len DESCRIPTOR full_nametype_urlZSerializeToStringvalue)selfmsgZtype_url_prefixrr r r PackGszAny.PackcCs$|j}|j|sdS|j|jdS)z7Unpacks the current Any message into specified message.FT)rIsZParseFromStringr)rr descriptorr r r UnpackPs   z Any.UnpackcCs|jjddS)z4Returns the protobuf type name of the inner message.rrr)rsplit)rr r r TypeNameXsz Any.TypeNamecCs|j|jkS)z6Checks if this Any represents the given protobuf type.)r r)rrr r r r]szAny.Is)rN)rrr r rrr rr r r r rDs  rc@sxeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZdS) Timestampz!Class for Timestamp message type.cCs|jt}|j|j|t}|t}||t}tdddt||}|j}|ddkrd|dS|ddkr|d|dS|ddkr|d |dS|d |S) a#Converts Timestamp to RFC 3339 date string format. Returns: A string converted from timestamp. The string is always Z-normalized and uses 3, 6 or 9 fractional digits as required to represent the exact time. Example of the return format: '1972-01-01T10:00:20.021Z' irgeArZg.Az.%03dZg@@z.%06dZz.%09dZ)nanos_NANOS_PER_SECONDseconds_SECONDS_PER_DAYrrZ isoformat)rr#Z total_secr%daysdtresultr r r ToJsonStringes     zTimestamp.ToJsonStringc Cs|jd}|dkr|jd}|dkr.|jd}|dkr>td|d|}|jd}|dkrf|}d}n|d |}||dd }tj|t}|td dd}|j|jt} t |d krtd j ||rt t d |d} nd} ||dkrt ||dkrtdj |n||d } | jd} | dkrDtdj | | ddkr| t | d| dt | | dd d8} n0| t | d| dt | | dd d7} t | |_t | |_d S)aNParse a RFC 3339 date string format to Timestamp. Args: value: A date string. Any fractional digits (or none) and any offset are accepted as long as they fit into nano-seconds precision. Example of accepted format: '1972-01-01T10:00:20.021-05:00' Raises: ParseError: On parsing problems. r"r+-z9Failed to parse timestamp: missing valid timezone offset.r.Ni zCFailed to parse Timestamp: nanos {0} more than 9 fractional digits.z0.geAz5Failed to parse timestamp: invalid trailing data {0}.:z#Invalid timezone offset value: {0}.<rrrrr)findrfindr rZstrptime_TIMESTAMPFOMATr%r'r&rformatroundfloatintr#) rrZtimezone_offsetZ time_valueZpoint_positionZ second_valueZ nano_valueZ date_objecttdr%r#Ztimezoneposr r r FromJsonStringsN             20 zTimestamp.FromJsonStringcCs|jtjdS)z#Get the current UTC into Timestamp.N) FromDatetimerZutcnow)rr r r GetCurrentTimeszTimestamp.GetCurrentTimecCs|jt|jS)z.Converts Timestamp to nanoseconds since epoch.)r%r$r#)rr r r ToNanosecondsszTimestamp.ToNanosecondscCs|jt|jtS)z/Converts Timestamp to microseconds since epoch.)r%_MICROS_PER_SECONDr#_NANOS_PER_MICROSECOND)rr r r ToMicrosecondsszTimestamp.ToMicrosecondscCs|jt|jtS)z/Converts Timestamp to milliseconds since epoch.)r%_MILLIS_PER_SECONDr#_NANOS_PER_MILLISECOND)rr r r ToMillisecondsszTimestamp.ToMillisecondscCs|jS)z*Converts Timestamp to seconds since epoch.)r%)rr r r ToSecondsszTimestamp.ToSecondscCs|t|_|t|_dS)z.Converts nanoseconds since epoch to Timestamp.N)r$r%r#)rr#r r r FromNanosecondss zTimestamp.FromNanosecondscCs|t|_|tt|_dS)z/Converts microseconds since epoch to Timestamp.N)r?r%r@r#)rmicrosr r r FromMicrosecondss zTimestamp.FromMicrosecondscCs|t|_|tt|_dS)z/Converts milliseconds since epoch to Timestamp.N)rBr%rCr#)rmillisr r r FromMillisecondss zTimestamp.FromMillisecondscCs||_d|_dS)z*Converts seconds since epoch to Timestamp.rN)r%r#)rr%r r r FromSecondsszTimestamp.FromSecondscCstj|j|jttS)zConverts Timestamp to datetime.)rZutcfromtimestampr%r#r7r$)rr r r ToDatetimeszTimestamp.ToDatetimecCs2|tddd}|j|jt|_|jt|_dS)zConverts datetime to Timestamp.irN)rr%r'r& microsecondsr@r#)rr(r9r r r r<szTimestamp.FromDatetimeN)rrr r r*r;r=r>rArDrErFrHrJrKrLr<r r r r r!bs:r!c@sxeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZdS)Durationz Class for Duration message type.cCst|j|j|jdks"|jdkrPd}|j td|jd}d|jd}n"d}|jt|jd}|jd}|d|7}|ddkr|dS|ddkr|d|dS|d dkr|d |d S|d |S) a+Converts Duration to string format. Returns: A string converted from self. The string format will contains 3, 6, or 9 fractional digits depending on the precision required to represent the exact Duration value. For example: "1s", "1.010s", "1.000000100s", "-3.100s" rr,geAr.z%dsg.Az.%03dsg@@z.%06dsz.%09ds)_CheckDurationValidr%r#r8)rr)r%r#r r r r*s      zDuration.ToJsonStringc Cst|dks|d dkr&tdj|y|jd}|d krPt|dd}d}nbt|d|}|ddkrtttdj||dd }n"tttd j||dd }t||||_||_ Wn"t k rtd j|YnXdS)a?Converts a string to Duration. Args: value: A string to be converted. The string must end with 's'. Any fractional digits (or none) are accepted as long as they fit into precision. For example: "1s", "1.01s", "1.0000001s", "-3.100s Raises: ParseError: On parsing problems. rrOz'Duration must end with letter "s": {0}.r-Nrr,z-0{0}geAz0{0}zCouldn't parse duration: {0}.rrrrr) rr r5r2r8r6r7rPr%r# ValueError)rrr:r%r#r r r r;s$    $"  zDuration.FromJsonStringcCs|jt|jS)z#Converts a Duration to nanoseconds.)r%r$r#)rr r r r>4szDuration.ToNanosecondscCst|jt}|jt|S)z$Converts a Duration to microseconds.)_RoundTowardZeror#r@r%r?)rrGr r r rA8s zDuration.ToMicrosecondscCst|jt}|jt|S)z$Converts a Duration to milliseconds.)rRr#rCr%rB)rrIr r r rD=s zDuration.ToMillisecondscCs|jS)zConverts a Duration to seconds.)r%)rr r r rEBszDuration.ToSecondscCs|j|t|tdS)z!Converts nanoseconds to Duration.N)_NormalizeDurationr$)rr#r r r rFFs zDuration.FromNanosecondscCs|j|t|ttdS)z"Converts microseconds to Duration.N)rSr?r@)rrGr r r rHKszDuration.FromMicrosecondscCs|j|t|ttdS)z"Converts milliseconds to Duration.N)rSrBrC)rrIr r r rJQszDuration.FromMillisecondscCs||_d|_dS)zConverts seconds to Duration.rN)r%r#)rr%r r r rKWszDuration.FromSecondscCst|jt|jtdS)zConverts Duration to timedelta.)r%rM)rr%rRr#r@)rr r r ToTimedelta\szDuration.ToTimedeltacCs"|j|j|jt|jtdS)zConverts timedelta to Duration.N)rSr%r'r&rMr@)rr9r r r FromTimedeltabszDuration.FromTimedeltacCs0|dkr |dkr |d7}|t8}||_||_dS)z"Set Duration by seconds and nanos.rrN)r$r%r#)rr%r#r r r rSgs zDuration._NormalizeDurationN)rrr r r*r;r>rArDrErFrHrJrKrTrUrSr r r r rNs  rNcCsD|t ks|tkr tdj||t ks2|tkr@tdj|dS)NzRDuration is not valid: Seconds {0} must be in range [-315576000000, 315576000000].zJDuration is not valid: Nanos {0} must be in range [-999999999, 999999999].)_DURATION_SECONDS_MAXrr5r$)r%r#r r r rPqsrPcCs0||}||}|dkr(|dkr(|dS|SdS)z,Truncates the remainder part after division.rrNr )rZdividerr)Z remainderr r r rR|s rRc@sReZdZdZddZddZddZdd Zd d Zd d Z ddZ dddZ dS) FieldMaskz!Class for FieldMask message type.cCs,g}x|jD]}|jt|q Wdj|S)z;Converts FieldMask to string according to proto3 JSON spec.,)pathsappend_SnakeCaseToCamelCasejoin)rZcamelcase_pathspathr r r r*s zFieldMask.ToJsonStringcCs0|jx"|jdD]}|jjt|qWdS)z;Converts string to FieldMask according to proto3 JSON spec.rXN)ClearrrYrZ_CamelCaseToSnakeCase)rrr]r r r r;szFieldMask.FromJsonStringcCs"x|jD]}t||sdSqWdS)z=Checks whether the FieldMask is valid for Message Descriptor.FT)rY _IsValidPath)rmessage_descriptorr]r r r IsValidForDescriptors  zFieldMask.IsValidForDescriptorcCs*|jx|jD]}|jj|jqWdS)z:Gets all direct fields of Message Descriptor to FieldMask.N)r^fieldsrYrZname)rrafieldr r r AllFieldsFromDescriptors z!FieldMask.AllFieldsFromDescriptorcCst|}|j|dS)a:Converts a FieldMask to the canonical form. Removes paths that are covered by another path. For example, "foo.bar" is covered by "foo" and will be removed if "foo" is also in the FieldMask. Then sorts all paths in alphabetical order. Args: mask: The original FieldMask to be converted. N)_FieldMaskTree ToFieldMask)rmasktreer r r CanonicalFormFromMasks zFieldMask.CanonicalFormFromMaskcCs0t|t|t|}|j||j|dS)z+Merges mask1 and mask2 into this FieldMask.N)_CheckFieldMaskMessagergMergeFromFieldMaskrh)rmask1mask2rjr r r Unions  zFieldMask.UnioncCsHt|t|t|}t}x|jD]}|j||q&W|j|dS)z/Intersects mask1 and mask2 into this FieldMask.N)rlrgrY IntersectPathrh)rrnrorj intersectionr]r r r Intersects zFieldMask.IntersectFcCst|}|j||||dS)aMerges fields specified in FieldMask from source to destination. Args: source: Source message. destination: The destination message to be merged into. replace_message_field: Replace message field if True. Merge message field if False. replace_repeated_field: Replace repeated field if True. Append elements of repeated field if False. N)rg MergeMessage)rsource destinationZreplace_message_fieldZreplace_repeated_fieldrjr r r rts zFieldMask.MergeMessageN)FF) rrr r r*r;rbrfrkrprsrtr r r r rWs  rWcCs`|jd}|j}xB|D]:}|jj|}|dksH|jtjksH|jtjkrLdS|j }qW||jkS)z8Checks whether the path is valid for Message Descriptor.r-NF) rpopfields_by_namegetlabelrLABEL_REPEATEDtypeZ TYPE_MESSAGEZ message_type)rar]partsZlastrdrer r r r`s      r`cCs0|j}|jdks|jjdkr,tdj|jdS)z0Raises ValueError if message is not a FieldMask.rWz google/protobuf/field_mask.protozMessage {0} is not a FieldMask.N)rrdfilerQr5r)messagerar r r rls   rlcCsg}d}xh|D]`}|jr(tdj||rX|jrH|j|jd}qntdj|q|dkrfd}q||7}qW|rtdj|dj|S)z2Converts a path name from snake_case to camelCase.FzYFail to print FieldMask to Json string: Path name {0} must not contain uppercase letters.znFail to print FieldMask to Json string: The character after a "_" must be a lowercase letter in path name {0}._TzFFail to print FieldMask to Json string: Trailing "_" in path name {0}.r.)isupperrr5islowerrZupperr\) path_namer)Zafter_underscorecr r r r[s&   r[cCsXg}xH|D]@}|dkr$tdj||jrB|d7}||j7}q ||7}q Wdj|S)z3Converts a field name from camelCase to snake_case.rz=Fail to parse FieldMask: Path name {0} must not contain "_"s.r.)r r5rlowerr\)rr)rr r r r_ s  r_c@sJeZdZdZdddZddZddZd d Zd d Zd dZ ddZ dS)rga7Represents a FieldMask in a tree structure. For example, given a FieldMask "foo.bar,foo.baz,bar.baz", the FieldMaskTree will be: [_root] -+- foo -+- bar | | | +- baz | +- bar --- baz In the tree, each leaf node represents a field path. NcCsi|_|r|j|dS)z"Initializes the tree by FieldMask.N)_rootrm)r field_maskr r r __init__'sz_FieldMaskTree.__init__cCsx|jD]}|j|qWdS)zMerges a FieldMask to the tree.N)rYAddPath)rrr]r r r rm-s z!_FieldMaskTree.MergeFromFieldMaskcCsL|j}x8|jdD]*}||kr(i||<n ||s4dS||}qW|jdS)a Adds a field path into the tree. If the field path to add is a sub-path of an existing field path in the tree (i.e., a leaf node), it means the tree already matches the given path so nothing will be added to the tree. If the path matches an existing non-leaf node in the tree, that non-leaf node will be turned into a leaf node with all its children removed because the path matches all the node's children. Otherwise, a new path will be added. Args: path: The field path to add. r-N)rrclear)rr]noderdr r r r2s  z_FieldMaskTree.AddPathcCs|jt|jd|dS)z!Converts the tree to a FieldMask.r.N)r^_AddFieldPathsr)rrr r r rhKsz_FieldMaskTree.ToFieldMaskcCsT|j}x<|jdD].}||kr"dS||s8|j|dS||}qW|j||dS)zCalculates the intersection part of a field path with this tree. Args: path: The field path to calculates. intersection: The out tree to record the intersection part. r-N)rrr AddLeafNodes)rr]rrrrdr r r rqPs  z_FieldMaskTree.IntersectPathcCs<|s|j|x(|D] }|d|}|j|||qWdS)z/Adds leaf nodes begin with prefix to this tree.r-N)rr)rprefixrrd child_pathr r r ras    z_FieldMaskTree.AddLeafNodescCst|j||||dS)zCMerge all fields specified by this tree from source to destination.N) _MergeMessager)rrurvreplace_messagereplace_repeatedr r r rtisz_FieldMaskTree.MergeMessage)N) rrr r rrmrrhrqrrtr r r r rgs  rgcCst|ts|jdS|S)z#Converts value to str if it is not.zutf-8) isinstancestrencode)rr r r _StrConvertqs  rc CsT|j}xF|D]<}||}|j|}|dkr@tdj||j|r|jtjks\|jtj krntdj||jt |t ||t ||||q|jtjkr|r|j t |t ||} t ||} |jtj krx&| D]} | jj| qWn | j| q|jtj kr:|r|j t ||j|rLt ||jt ||qt||t ||qWdS)zDMerge all fields specified by a sub-tree from source to destination.Nz+Error: Can't find field {0} in message {1}.z[Error: Field {0} in message {1} is not a singular message field and cannot have sub-fields.)rrxrQr5rrzrr{Zcpp_typeZCPPTYPE_MESSAGErgetattrZ ClearFieldraddZ MergeFromextendHasFieldsetattr) rrurvrrZsource_descriptorrdZchildreZrepeated_sourceZrepeated_destinationitemr r r r{s>            rcCsP|s|jj|dSx6t|D]*}|r4|d|}n|}t||||qWdS)z7Adds the field paths descended from node to field_mask.Nr-)rYrZsortedr)rrrrdrr r r rs rcCs|dkrd|_nt|tr"||_nrt|tjr6||_n^t|trH||_nLt|t rj|j j |j j |n*t|t r|jj |jj|ntddS)NrzUnexpected type) null_valuerbool bool_valuesixZ string_types string_value _INT_OR_FLOAT number_valuedict struct_valuer^updatelist list_valuerrQ)rrr r r _SetStructValues       rcCsp|jd}|dkr|jS|dkr$dS|dkr2|jS|dkr@|jS|dkrN|jS|dkr\|jS|dkrltddS) NZkindrrrrrrz Value not set)Z WhichOneofrrrrrrQ)rZwhichr r r _GetStructValues rc@steZdZdZgZddZddZddZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZddZdS)StructzClass for Struct message type.cCst|j|S)N)rrc)rkeyr r r __getitem__szStruct.__getitem__cCs ||jkS)N)rc)rrr r r __contains__szStruct.__contains__cCst|j||dS)N)rrc)rrrr r r __setitem__szStruct.__setitem__cCs |j|=dS)N)rc)rrr r r __delitem__szStruct.__delitem__cCs t|jS)N)rrc)rr r r __len__szStruct.__len__cCs t|jS)N)iterrc)rr r r __iter__szStruct.__iter__cCst|jjS)N)rrckeys)rr r r rsz Struct.keyscsfddDS)Ncsg|] }|qSr r ).0r)rr r sz!Struct.values..r )rr )rr valuessz Struct.valuescsfddDS)Ncsg|]}||fqSr r )rr)rr r rsz Struct.items..r )rr )rr itemssz Struct.itemscCs,|j|jds |j|jj|j|jS)zAReturns a list for this key, creating if it didn't exist already.r)rcrrr^)rrr r r get_or_create_listszStruct.get_or_create_listcCs,|j|jds |j|jj|j|jS)zCReturns a struct for this key, creating if it didn't exist already.r)rcrrr^)rrr r r get_or_create_structszStruct.get_or_create_structcCs.x(t|jD]\}}t|j||qWdS)N)rrrrc)rZ dictionaryrrr r r r sz Struct.updateN)rrr r __slots__rrrrrrrrrrrrr r r r rsrc@sXeZdZdZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dS) ListValuez!Class for ListValue message type.cCs t|jS)N)rr)rr r r rszListValue.__len__cCst|jj|dS)N)rrr)rrr r r rZszListValue.appendcCsx|D]}|j|qWdS)N)rZ)rZelem_seqrr r r rs zListValue.extendcCst|jj|S)z&Retrieves item by the specified index.)rrr)rindexr r r rszListValue.__getitem__cCst|jj||dS)N)rrr)rrrr r r r!szListValue.__setitem__cCs |j|=dS)N)r)rrr r r r$szListValue.__delitem__ccs$xtt|D]}||VqWdS)N)ranger)rir r r r'szListValue.itemscCs|jjj}|j|S)zAAppends and returns a struct value as the next value in the list.)rrrr^)rrr r r add_struct+s zListValue.add_structcCs|jjj}|j|S)z?Appends and returns a list value as the next value in the list.)rrrr^)rrr r r add_list2s zListValue.add_listN) rrr r rrZrrrrrrrr r r r rsr)zgoogle.protobuf.Anyzgoogle.protobuf.Durationzgoogle.protobuf.FieldMaskzgoogle.protobuf.ListValuezgoogle.protobuf.Structzgoogle.protobuf.TimestampiQ)-r __author__ collectionsrrrZgoogle.protobuf.descriptorrr4r$rCr@rBr?r&rV Exceptionrr objectrr!rNrPrRrWr`rlr[r_rgrrrZ integer_typesr7rrrrMutableMappingregisterrMutableSequenceZWKTBASESr r r r 'sZ    N W ) 2 ) PK!Hi^l%%)protobuf/internal/message_factory_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Tests for google.protobuf.message_factory.""" __author__ = 'matthewtoia@google.com (Matt Toia)' try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import descriptor_pb2 from google.protobuf.internal import api_implementation from google.protobuf.internal import factory_test1_pb2 from google.protobuf.internal import factory_test2_pb2 from google.protobuf import descriptor_database from google.protobuf import descriptor_pool from google.protobuf import message_factory class MessageFactoryTest(unittest.TestCase): def setUp(self): self.factory_test1_fd = descriptor_pb2.FileDescriptorProto.FromString( factory_test1_pb2.DESCRIPTOR.serialized_pb) self.factory_test2_fd = descriptor_pb2.FileDescriptorProto.FromString( factory_test2_pb2.DESCRIPTOR.serialized_pb) def _ExerciseDynamicClass(self, cls): msg = cls() msg.mandatory = 42 msg.nested_factory_2_enum = 0 msg.nested_factory_2_message.value = 'nested message value' msg.factory_1_message.factory_1_enum = 1 msg.factory_1_message.nested_factory_1_enum = 0 msg.factory_1_message.nested_factory_1_message.value = ( 'nested message value') msg.factory_1_message.scalar_value = 22 msg.factory_1_message.list_value.extend(['one', 'two', 'three']) msg.factory_1_message.list_value.append('four') msg.factory_1_enum = 1 msg.nested_factory_1_enum = 0 msg.nested_factory_1_message.value = 'nested message value' msg.circular_message.mandatory = 1 msg.circular_message.circular_message.mandatory = 2 msg.circular_message.scalar_value = 'one deep' msg.scalar_value = 'zero deep' msg.list_value.extend(['four', 'three', 'two']) msg.list_value.append('one') msg.grouped.add() msg.grouped[0].part_1 = 'hello' msg.grouped[0].part_2 = 'world' msg.grouped.add(part_1='testing', part_2='123') msg.loop.loop.mandatory = 2 msg.loop.loop.loop.loop.mandatory = 4 serialized = msg.SerializeToString() converted = factory_test2_pb2.Factory2Message.FromString(serialized) reserialized = converted.SerializeToString() self.assertEqual(serialized, reserialized) result = cls.FromString(reserialized) self.assertEqual(msg, result) def testGetPrototype(self): db = descriptor_database.DescriptorDatabase() pool = descriptor_pool.DescriptorPool(db) db.Add(self.factory_test1_fd) db.Add(self.factory_test2_fd) factory = message_factory.MessageFactory() cls = factory.GetPrototype(pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory2Message')) self.assertFalse(cls is factory_test2_pb2.Factory2Message) self._ExerciseDynamicClass(cls) cls2 = factory.GetPrototype(pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory2Message')) self.assertTrue(cls is cls2) def testGetMessages(self): # performed twice because multiple calls with the same input must be allowed for _ in range(2): # GetMessage should work regardless of the order the FileDescriptorProto # are provided. In particular, the function should succeed when the files # are not in the topological order of dependencies. # Assuming factory_test2_fd depends on factory_test1_fd. self.assertIn(self.factory_test1_fd.name, self.factory_test2_fd.dependency) # Get messages should work when a file comes before its dependencies: # factory_test2_fd comes before factory_test1_fd. messages = message_factory.GetMessages([self.factory_test2_fd, self.factory_test1_fd]) self.assertTrue( set(['google.protobuf.python.internal.Factory2Message', 'google.protobuf.python.internal.Factory1Message'], ).issubset(set(messages.keys()))) self._ExerciseDynamicClass( messages['google.protobuf.python.internal.Factory2Message']) factory_msg1 = messages['google.protobuf.python.internal.Factory1Message'] self.assertTrue(set( ['google.protobuf.python.internal.Factory2Message.one_more_field', 'google.protobuf.python.internal.another_field'],).issubset(set( ext.full_name for ext in factory_msg1.DESCRIPTOR.file.pool.FindAllExtensions( factory_msg1.DESCRIPTOR)))) msg1 = messages['google.protobuf.python.internal.Factory1Message']() ext1 = msg1.Extensions._FindExtensionByName( 'google.protobuf.python.internal.Factory2Message.one_more_field') ext2 = msg1.Extensions._FindExtensionByName( 'google.protobuf.python.internal.another_field') msg1.Extensions[ext1] = 'test1' msg1.Extensions[ext2] = 'test2' self.assertEqual('test1', msg1.Extensions[ext1]) self.assertEqual('test2', msg1.Extensions[ext2]) self.assertEqual(None, msg1.Extensions._FindExtensionByNumber(12321)) if api_implementation.Type() == 'cpp': # TODO(jieluo): Fix len to return the correct value. # self.assertEqual(2, len(msg1.Extensions)) self.assertEqual(len(msg1.Extensions), len(msg1.Extensions)) self.assertRaises(TypeError, msg1.Extensions._FindExtensionByName, 0) self.assertRaises(TypeError, msg1.Extensions._FindExtensionByNumber, '') else: self.assertEqual(None, msg1.Extensions._FindExtensionByName(0)) self.assertEqual(None, msg1.Extensions._FindExtensionByNumber('')) def testDuplicateExtensionNumber(self): pool = descriptor_pool.DescriptorPool() factory = message_factory.MessageFactory(pool=pool) # Add Container message. f = descriptor_pb2.FileDescriptorProto() f.name = 'google/protobuf/internal/container.proto' f.package = 'google.protobuf.python.internal' msg = f.message_type.add() msg.name = 'Container' rng = msg.extension_range.add() rng.start = 1 rng.end = 10 pool.Add(f) msgs = factory.GetMessages([f.name]) self.assertIn('google.protobuf.python.internal.Container', msgs) # Extend container. f = descriptor_pb2.FileDescriptorProto() f.name = 'google/protobuf/internal/extension.proto' f.package = 'google.protobuf.python.internal' f.dependency.append('google/protobuf/internal/container.proto') msg = f.message_type.add() msg.name = 'Extension' ext = msg.extension.add() ext.name = 'extension_field' ext.number = 2 ext.label = descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL ext.type_name = 'Extension' ext.extendee = 'Container' pool.Add(f) msgs = factory.GetMessages([f.name]) self.assertIn('google.protobuf.python.internal.Extension', msgs) # Add Duplicate extending the same field number. f = descriptor_pb2.FileDescriptorProto() f.name = 'google/protobuf/internal/duplicate.proto' f.package = 'google.protobuf.python.internal' f.dependency.append('google/protobuf/internal/container.proto') msg = f.message_type.add() msg.name = 'Duplicate' ext = msg.extension.add() ext.name = 'extension_field' ext.number = 2 ext.label = descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL ext.type_name = 'Duplicate' ext.extendee = 'Container' pool.Add(f) with self.assertRaises(Exception) as cm: factory.GetMessages([f.name]) self.assertIn(str(cm.exception), ['Extensions ' '"google.protobuf.python.internal.Duplicate.extension_field" and' ' "google.protobuf.python.internal.Extension.extension_field"' ' both try to extend message type' ' "google.protobuf.python.internal.Container"' ' with field number 2.', 'Double registration of Extensions']) if __name__ == '__main__': unittest.main() PK!KVnn%protobuf/internal/well_known_types.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Contains well known classes. This files defines well known classes which need extra maintenance including: - Any - Duration - FieldMask - Struct - Timestamp """ __author__ = 'jieluo@google.com (Jie Luo)' import collections from datetime import datetime from datetime import timedelta import six from google.protobuf.descriptor import FieldDescriptor _TIMESTAMPFOMAT = '%Y-%m-%dT%H:%M:%S' _NANOS_PER_SECOND = 1000000000 _NANOS_PER_MILLISECOND = 1000000 _NANOS_PER_MICROSECOND = 1000 _MILLIS_PER_SECOND = 1000 _MICROS_PER_SECOND = 1000000 _SECONDS_PER_DAY = 24 * 3600 _DURATION_SECONDS_MAX = 315576000000 class Error(Exception): """Top-level module error.""" class ParseError(Error): """Thrown in case of parsing error.""" class Any(object): """Class for Any Message type.""" def Pack(self, msg, type_url_prefix='type.googleapis.com/', deterministic=None): """Packs the specified message into current Any message.""" if len(type_url_prefix) < 1 or type_url_prefix[-1] != '/': self.type_url = '%s/%s' % (type_url_prefix, msg.DESCRIPTOR.full_name) else: self.type_url = '%s%s' % (type_url_prefix, msg.DESCRIPTOR.full_name) self.value = msg.SerializeToString(deterministic=deterministic) def Unpack(self, msg): """Unpacks the current Any message into specified message.""" descriptor = msg.DESCRIPTOR if not self.Is(descriptor): return False msg.ParseFromString(self.value) return True def TypeName(self): """Returns the protobuf type name of the inner message.""" # Only last part is to be used: b/25630112 return self.type_url.split('/')[-1] def Is(self, descriptor): """Checks if this Any represents the given protobuf type.""" return self.TypeName() == descriptor.full_name class Timestamp(object): """Class for Timestamp message type.""" def ToJsonString(self): """Converts Timestamp to RFC 3339 date string format. Returns: A string converted from timestamp. The string is always Z-normalized and uses 3, 6 or 9 fractional digits as required to represent the exact time. Example of the return format: '1972-01-01T10:00:20.021Z' """ nanos = self.nanos % _NANOS_PER_SECOND total_sec = self.seconds + (self.nanos - nanos) // _NANOS_PER_SECOND seconds = total_sec % _SECONDS_PER_DAY days = (total_sec - seconds) // _SECONDS_PER_DAY dt = datetime(1970, 1, 1) + timedelta(days, seconds) result = dt.isoformat() if (nanos % 1e9) == 0: # If there are 0 fractional digits, the fractional # point '.' should be omitted when serializing. return result + 'Z' if (nanos % 1e6) == 0: # Serialize 3 fractional digits. return result + '.%03dZ' % (nanos / 1e6) if (nanos % 1e3) == 0: # Serialize 6 fractional digits. return result + '.%06dZ' % (nanos / 1e3) # Serialize 9 fractional digits. return result + '.%09dZ' % nanos def FromJsonString(self, value): """Parse a RFC 3339 date string format to Timestamp. Args: value: A date string. Any fractional digits (or none) and any offset are accepted as long as they fit into nano-seconds precision. Example of accepted format: '1972-01-01T10:00:20.021-05:00' Raises: ParseError: On parsing problems. """ timezone_offset = value.find('Z') if timezone_offset == -1: timezone_offset = value.find('+') if timezone_offset == -1: timezone_offset = value.rfind('-') if timezone_offset == -1: raise ParseError( 'Failed to parse timestamp: missing valid timezone offset.') time_value = value[0:timezone_offset] # Parse datetime and nanos. point_position = time_value.find('.') if point_position == -1: second_value = time_value nano_value = '' else: second_value = time_value[:point_position] nano_value = time_value[point_position + 1:] date_object = datetime.strptime(second_value, _TIMESTAMPFOMAT) td = date_object - datetime(1970, 1, 1) seconds = td.seconds + td.days * _SECONDS_PER_DAY if len(nano_value) > 9: raise ParseError( 'Failed to parse Timestamp: nanos {0} more than ' '9 fractional digits.'.format(nano_value)) if nano_value: nanos = round(float('0.' + nano_value) * 1e9) else: nanos = 0 # Parse timezone offsets. if value[timezone_offset] == 'Z': if len(value) != timezone_offset + 1: raise ParseError('Failed to parse timestamp: invalid trailing' ' data {0}.'.format(value)) else: timezone = value[timezone_offset:] pos = timezone.find(':') if pos == -1: raise ParseError( 'Invalid timezone offset value: {0}.'.format(timezone)) if timezone[0] == '+': seconds -= (int(timezone[1:pos])*60+int(timezone[pos+1:]))*60 else: seconds += (int(timezone[1:pos])*60+int(timezone[pos+1:]))*60 # Set seconds and nanos self.seconds = int(seconds) self.nanos = int(nanos) def GetCurrentTime(self): """Get the current UTC into Timestamp.""" self.FromDatetime(datetime.utcnow()) def ToNanoseconds(self): """Converts Timestamp to nanoseconds since epoch.""" return self.seconds * _NANOS_PER_SECOND + self.nanos def ToMicroseconds(self): """Converts Timestamp to microseconds since epoch.""" return (self.seconds * _MICROS_PER_SECOND + self.nanos // _NANOS_PER_MICROSECOND) def ToMilliseconds(self): """Converts Timestamp to milliseconds since epoch.""" return (self.seconds * _MILLIS_PER_SECOND + self.nanos // _NANOS_PER_MILLISECOND) def ToSeconds(self): """Converts Timestamp to seconds since epoch.""" return self.seconds def FromNanoseconds(self, nanos): """Converts nanoseconds since epoch to Timestamp.""" self.seconds = nanos // _NANOS_PER_SECOND self.nanos = nanos % _NANOS_PER_SECOND def FromMicroseconds(self, micros): """Converts microseconds since epoch to Timestamp.""" self.seconds = micros // _MICROS_PER_SECOND self.nanos = (micros % _MICROS_PER_SECOND) * _NANOS_PER_MICROSECOND def FromMilliseconds(self, millis): """Converts milliseconds since epoch to Timestamp.""" self.seconds = millis // _MILLIS_PER_SECOND self.nanos = (millis % _MILLIS_PER_SECOND) * _NANOS_PER_MILLISECOND def FromSeconds(self, seconds): """Converts seconds since epoch to Timestamp.""" self.seconds = seconds self.nanos = 0 def ToDatetime(self): """Converts Timestamp to datetime.""" return datetime.utcfromtimestamp( self.seconds + self.nanos / float(_NANOS_PER_SECOND)) def FromDatetime(self, dt): """Converts datetime to Timestamp.""" td = dt - datetime(1970, 1, 1) self.seconds = td.seconds + td.days * _SECONDS_PER_DAY self.nanos = td.microseconds * _NANOS_PER_MICROSECOND class Duration(object): """Class for Duration message type.""" def ToJsonString(self): """Converts Duration to string format. Returns: A string converted from self. The string format will contains 3, 6, or 9 fractional digits depending on the precision required to represent the exact Duration value. For example: "1s", "1.010s", "1.000000100s", "-3.100s" """ _CheckDurationValid(self.seconds, self.nanos) if self.seconds < 0 or self.nanos < 0: result = '-' seconds = - self.seconds + int((0 - self.nanos) // 1e9) nanos = (0 - self.nanos) % 1e9 else: result = '' seconds = self.seconds + int(self.nanos // 1e9) nanos = self.nanos % 1e9 result += '%d' % seconds if (nanos % 1e9) == 0: # If there are 0 fractional digits, the fractional # point '.' should be omitted when serializing. return result + 's' if (nanos % 1e6) == 0: # Serialize 3 fractional digits. return result + '.%03ds' % (nanos / 1e6) if (nanos % 1e3) == 0: # Serialize 6 fractional digits. return result + '.%06ds' % (nanos / 1e3) # Serialize 9 fractional digits. return result + '.%09ds' % nanos def FromJsonString(self, value): """Converts a string to Duration. Args: value: A string to be converted. The string must end with 's'. Any fractional digits (or none) are accepted as long as they fit into precision. For example: "1s", "1.01s", "1.0000001s", "-3.100s Raises: ParseError: On parsing problems. """ if len(value) < 1 or value[-1] != 's': raise ParseError( 'Duration must end with letter "s": {0}.'.format(value)) try: pos = value.find('.') if pos == -1: seconds = int(value[:-1]) nanos = 0 else: seconds = int(value[:pos]) if value[0] == '-': nanos = int(round(float('-0{0}'.format(value[pos: -1])) *1e9)) else: nanos = int(round(float('0{0}'.format(value[pos: -1])) *1e9)) _CheckDurationValid(seconds, nanos) self.seconds = seconds self.nanos = nanos except ValueError: raise ParseError( 'Couldn\'t parse duration: {0}.'.format(value)) def ToNanoseconds(self): """Converts a Duration to nanoseconds.""" return self.seconds * _NANOS_PER_SECOND + self.nanos def ToMicroseconds(self): """Converts a Duration to microseconds.""" micros = _RoundTowardZero(self.nanos, _NANOS_PER_MICROSECOND) return self.seconds * _MICROS_PER_SECOND + micros def ToMilliseconds(self): """Converts a Duration to milliseconds.""" millis = _RoundTowardZero(self.nanos, _NANOS_PER_MILLISECOND) return self.seconds * _MILLIS_PER_SECOND + millis def ToSeconds(self): """Converts a Duration to seconds.""" return self.seconds def FromNanoseconds(self, nanos): """Converts nanoseconds to Duration.""" self._NormalizeDuration(nanos // _NANOS_PER_SECOND, nanos % _NANOS_PER_SECOND) def FromMicroseconds(self, micros): """Converts microseconds to Duration.""" self._NormalizeDuration( micros // _MICROS_PER_SECOND, (micros % _MICROS_PER_SECOND) * _NANOS_PER_MICROSECOND) def FromMilliseconds(self, millis): """Converts milliseconds to Duration.""" self._NormalizeDuration( millis // _MILLIS_PER_SECOND, (millis % _MILLIS_PER_SECOND) * _NANOS_PER_MILLISECOND) def FromSeconds(self, seconds): """Converts seconds to Duration.""" self.seconds = seconds self.nanos = 0 def ToTimedelta(self): """Converts Duration to timedelta.""" return timedelta( seconds=self.seconds, microseconds=_RoundTowardZero( self.nanos, _NANOS_PER_MICROSECOND)) def FromTimedelta(self, td): """Converts timedelta to Duration.""" self._NormalizeDuration(td.seconds + td.days * _SECONDS_PER_DAY, td.microseconds * _NANOS_PER_MICROSECOND) def _NormalizeDuration(self, seconds, nanos): """Set Duration by seconds and nanos.""" # Force nanos to be negative if the duration is negative. if seconds < 0 and nanos > 0: seconds += 1 nanos -= _NANOS_PER_SECOND self.seconds = seconds self.nanos = nanos def _CheckDurationValid(seconds, nanos): if seconds < -_DURATION_SECONDS_MAX or seconds > _DURATION_SECONDS_MAX: raise Error( 'Duration is not valid: Seconds {0} must be in range ' '[-315576000000, 315576000000].'.format(seconds)) if nanos <= -_NANOS_PER_SECOND or nanos >= _NANOS_PER_SECOND: raise Error( 'Duration is not valid: Nanos {0} must be in range ' '[-999999999, 999999999].'.format(nanos)) def _RoundTowardZero(value, divider): """Truncates the remainder part after division.""" # For some languanges, the sign of the remainder is implementation # dependent if any of the operands is negative. Here we enforce # "rounded toward zero" semantics. For example, for (-5) / 2 an # implementation may give -3 as the result with the remainder being # 1. This function ensures we always return -2 (closer to zero). result = value // divider remainder = value % divider if result < 0 and remainder > 0: return result + 1 else: return result class FieldMask(object): """Class for FieldMask message type.""" def ToJsonString(self): """Converts FieldMask to string according to proto3 JSON spec.""" camelcase_paths = [] for path in self.paths: camelcase_paths.append(_SnakeCaseToCamelCase(path)) return ','.join(camelcase_paths) def FromJsonString(self, value): """Converts string to FieldMask according to proto3 JSON spec.""" self.Clear() for path in value.split(','): self.paths.append(_CamelCaseToSnakeCase(path)) def IsValidForDescriptor(self, message_descriptor): """Checks whether the FieldMask is valid for Message Descriptor.""" for path in self.paths: if not _IsValidPath(message_descriptor, path): return False return True def AllFieldsFromDescriptor(self, message_descriptor): """Gets all direct fields of Message Descriptor to FieldMask.""" self.Clear() for field in message_descriptor.fields: self.paths.append(field.name) def CanonicalFormFromMask(self, mask): """Converts a FieldMask to the canonical form. Removes paths that are covered by another path. For example, "foo.bar" is covered by "foo" and will be removed if "foo" is also in the FieldMask. Then sorts all paths in alphabetical order. Args: mask: The original FieldMask to be converted. """ tree = _FieldMaskTree(mask) tree.ToFieldMask(self) def Union(self, mask1, mask2): """Merges mask1 and mask2 into this FieldMask.""" _CheckFieldMaskMessage(mask1) _CheckFieldMaskMessage(mask2) tree = _FieldMaskTree(mask1) tree.MergeFromFieldMask(mask2) tree.ToFieldMask(self) def Intersect(self, mask1, mask2): """Intersects mask1 and mask2 into this FieldMask.""" _CheckFieldMaskMessage(mask1) _CheckFieldMaskMessage(mask2) tree = _FieldMaskTree(mask1) intersection = _FieldMaskTree() for path in mask2.paths: tree.IntersectPath(path, intersection) intersection.ToFieldMask(self) def MergeMessage( self, source, destination, replace_message_field=False, replace_repeated_field=False): """Merges fields specified in FieldMask from source to destination. Args: source: Source message. destination: The destination message to be merged into. replace_message_field: Replace message field if True. Merge message field if False. replace_repeated_field: Replace repeated field if True. Append elements of repeated field if False. """ tree = _FieldMaskTree(self) tree.MergeMessage( source, destination, replace_message_field, replace_repeated_field) def _IsValidPath(message_descriptor, path): """Checks whether the path is valid for Message Descriptor.""" parts = path.split('.') last = parts.pop() for name in parts: field = message_descriptor.fields_by_name.get(name) if (field is None or field.label == FieldDescriptor.LABEL_REPEATED or field.type != FieldDescriptor.TYPE_MESSAGE): return False message_descriptor = field.message_type return last in message_descriptor.fields_by_name def _CheckFieldMaskMessage(message): """Raises ValueError if message is not a FieldMask.""" message_descriptor = message.DESCRIPTOR if (message_descriptor.name != 'FieldMask' or message_descriptor.file.name != 'google/protobuf/field_mask.proto'): raise ValueError('Message {0} is not a FieldMask.'.format( message_descriptor.full_name)) def _SnakeCaseToCamelCase(path_name): """Converts a path name from snake_case to camelCase.""" result = [] after_underscore = False for c in path_name: if c.isupper(): raise Error('Fail to print FieldMask to Json string: Path name ' '{0} must not contain uppercase letters.'.format(path_name)) if after_underscore: if c.islower(): result.append(c.upper()) after_underscore = False else: raise Error('Fail to print FieldMask to Json string: The ' 'character after a "_" must be a lowercase letter ' 'in path name {0}.'.format(path_name)) elif c == '_': after_underscore = True else: result += c if after_underscore: raise Error('Fail to print FieldMask to Json string: Trailing "_" ' 'in path name {0}.'.format(path_name)) return ''.join(result) def _CamelCaseToSnakeCase(path_name): """Converts a field name from camelCase to snake_case.""" result = [] for c in path_name: if c == '_': raise ParseError('Fail to parse FieldMask: Path name ' '{0} must not contain "_"s.'.format(path_name)) if c.isupper(): result += '_' result += c.lower() else: result += c return ''.join(result) class _FieldMaskTree(object): """Represents a FieldMask in a tree structure. For example, given a FieldMask "foo.bar,foo.baz,bar.baz", the FieldMaskTree will be: [_root] -+- foo -+- bar | | | +- baz | +- bar --- baz In the tree, each leaf node represents a field path. """ def __init__(self, field_mask=None): """Initializes the tree by FieldMask.""" self._root = {} if field_mask: self.MergeFromFieldMask(field_mask) def MergeFromFieldMask(self, field_mask): """Merges a FieldMask to the tree.""" for path in field_mask.paths: self.AddPath(path) def AddPath(self, path): """Adds a field path into the tree. If the field path to add is a sub-path of an existing field path in the tree (i.e., a leaf node), it means the tree already matches the given path so nothing will be added to the tree. If the path matches an existing non-leaf node in the tree, that non-leaf node will be turned into a leaf node with all its children removed because the path matches all the node's children. Otherwise, a new path will be added. Args: path: The field path to add. """ node = self._root for name in path.split('.'): if name not in node: node[name] = {} elif not node[name]: # Pre-existing empty node implies we already have this entire tree. return node = node[name] # Remove any sub-trees we might have had. node.clear() def ToFieldMask(self, field_mask): """Converts the tree to a FieldMask.""" field_mask.Clear() _AddFieldPaths(self._root, '', field_mask) def IntersectPath(self, path, intersection): """Calculates the intersection part of a field path with this tree. Args: path: The field path to calculates. intersection: The out tree to record the intersection part. """ node = self._root for name in path.split('.'): if name not in node: return elif not node[name]: intersection.AddPath(path) return node = node[name] intersection.AddLeafNodes(path, node) def AddLeafNodes(self, prefix, node): """Adds leaf nodes begin with prefix to this tree.""" if not node: self.AddPath(prefix) for name in node: child_path = prefix + '.' + name self.AddLeafNodes(child_path, node[name]) def MergeMessage( self, source, destination, replace_message, replace_repeated): """Merge all fields specified by this tree from source to destination.""" _MergeMessage( self._root, source, destination, replace_message, replace_repeated) def _StrConvert(value): """Converts value to str if it is not.""" # This file is imported by c extension and some methods like ClearField # requires string for the field name. py2/py3 has different text # type and may use unicode. if not isinstance(value, str): return value.encode('utf-8') return value def _MergeMessage( node, source, destination, replace_message, replace_repeated): """Merge all fields specified by a sub-tree from source to destination.""" source_descriptor = source.DESCRIPTOR for name in node: child = node[name] field = source_descriptor.fields_by_name[name] if field is None: raise ValueError('Error: Can\'t find field {0} in message {1}.'.format( name, source_descriptor.full_name)) if child: # Sub-paths are only allowed for singular message fields. if (field.label == FieldDescriptor.LABEL_REPEATED or field.cpp_type != FieldDescriptor.CPPTYPE_MESSAGE): raise ValueError('Error: Field {0} in message {1} is not a singular ' 'message field and cannot have sub-fields.'.format( name, source_descriptor.full_name)) _MergeMessage( child, getattr(source, name), getattr(destination, name), replace_message, replace_repeated) continue if field.label == FieldDescriptor.LABEL_REPEATED: if replace_repeated: destination.ClearField(_StrConvert(name)) repeated_source = getattr(source, name) repeated_destination = getattr(destination, name) if field.cpp_type == FieldDescriptor.CPPTYPE_MESSAGE: for item in repeated_source: repeated_destination.add().MergeFrom(item) else: repeated_destination.extend(repeated_source) else: if field.cpp_type == FieldDescriptor.CPPTYPE_MESSAGE: if replace_message: destination.ClearField(_StrConvert(name)) if source.HasField(name): getattr(destination, name).MergeFrom(getattr(source, name)) else: setattr(destination, name, getattr(source, name)) def _AddFieldPaths(node, prefix, field_mask): """Adds the field paths descended from node to field_mask.""" if not node: field_mask.paths.append(prefix) return for name in sorted(node): if prefix: child_path = prefix + '.' + name else: child_path = name _AddFieldPaths(node[name], child_path, field_mask) _INT_OR_FLOAT = six.integer_types + (float,) def _SetStructValue(struct_value, value): if value is None: struct_value.null_value = 0 elif isinstance(value, bool): # Note: this check must come before the number check because in Python # True and False are also considered numbers. struct_value.bool_value = value elif isinstance(value, six.string_types): struct_value.string_value = value elif isinstance(value, _INT_OR_FLOAT): struct_value.number_value = value elif isinstance(value, dict): struct_value.struct_value.Clear() struct_value.struct_value.update(value) elif isinstance(value, list): struct_value.list_value.Clear() struct_value.list_value.extend(value) else: raise ValueError('Unexpected type') def _GetStructValue(struct_value): which = struct_value.WhichOneof('kind') if which == 'struct_value': return struct_value.struct_value elif which == 'null_value': return None elif which == 'number_value': return struct_value.number_value elif which == 'string_value': return struct_value.string_value elif which == 'bool_value': return struct_value.bool_value elif which == 'list_value': return struct_value.list_value elif which is None: raise ValueError('Value not set') class Struct(object): """Class for Struct message type.""" __slots__ = [] def __getitem__(self, key): return _GetStructValue(self.fields[key]) def __contains__(self, item): return item in self.fields def __setitem__(self, key, value): _SetStructValue(self.fields[key], value) def __delitem__(self, key): del self.fields[key] def __len__(self): return len(self.fields) def __iter__(self): return iter(self.fields) def keys(self): # pylint: disable=invalid-name return list(self.fields.keys()) def values(self): # pylint: disable=invalid-name return [self[key] for key in self] def items(self): # pylint: disable=invalid-name return [(key, self[key]) for key in self] def get_or_create_list(self, key): """Returns a list for this key, creating if it didn't exist already.""" if not self.fields[key].HasField('list_value'): # Clear will mark list_value modified which will indeed create a list. self.fields[key].list_value.Clear() return self.fields[key].list_value def get_or_create_struct(self, key): """Returns a struct for this key, creating if it didn't exist already.""" if not self.fields[key].HasField('struct_value'): # Clear will mark struct_value modified which will indeed create a struct. self.fields[key].struct_value.Clear() return self.fields[key].struct_value def update(self, dictionary): # pylint: disable=invalid-name for key, value in list(dictionary.items()): _SetStructValue(self.fields[key], value) collections.MutableMapping.register(Struct) class ListValue(object): """Class for ListValue message type.""" def __len__(self): return len(self.values) def append(self, value): _SetStructValue(self.values.add(), value) def extend(self, elem_seq): for value in elem_seq: self.append(value) def __getitem__(self, index): """Retrieves item by the specified index.""" return _GetStructValue(self.values.__getitem__(index)) def __setitem__(self, index, value): _SetStructValue(self.values.__getitem__(index), value) def __delitem__(self, key): del self.values[key] def items(self): for i in range(len(self)): yield self[i] def add_struct(self): """Appends and returns a struct value as the next value in the list.""" struct_value = self.values.add().struct_value # Clear will mark struct_value modified which will indeed create a struct. struct_value.Clear() return struct_value def add_list(self): """Appends and returns a list value as the next value in the list.""" list_value = self.values.add().list_value # Clear will mark list_value modified which will indeed create a list. list_value.Clear() return list_value collections.MutableSequence.register(ListValue) WKTBASES = { 'google.protobuf.Any': Any, 'google.protobuf.Duration': Duration, 'google.protobuf.FieldMask': FieldMask, 'google.protobuf.ListValue': ListValue, 'google.protobuf.Struct': Struct, 'google.protobuf.Timestamp': Timestamp, } PK!]@ @ 'protobuf/internal/text_encoding_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Tests for google.protobuf.text_encoding.""" try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import text_encoding TEST_VALUES = [ ("foo\\rbar\\nbaz\\t", "foo\\rbar\\nbaz\\t", b"foo\rbar\nbaz\t"), ("\\'full of \\\"sound\\\" and \\\"fury\\\"\\'", "\\'full of \\\"sound\\\" and \\\"fury\\\"\\'", b"'full of \"sound\" and \"fury\"'"), ("signi\\\\fying\\\\ nothing\\\\", "signi\\\\fying\\\\ nothing\\\\", b"signi\\fying\\ nothing\\"), ("\\010\\t\\n\\013\\014\\r", "\x08\\t\\n\x0b\x0c\\r", b"\010\011\012\013\014\015")] class TextEncodingTestCase(unittest.TestCase): def testCEscape(self): for escaped, escaped_utf8, unescaped in TEST_VALUES: self.assertEqual(escaped, text_encoding.CEscape(unescaped, as_utf8=False)) self.assertEqual(escaped_utf8, text_encoding.CEscape(unescaped, as_utf8=True)) def testCUnescape(self): for escaped, escaped_utf8, unescaped in TEST_VALUES: self.assertEqual(unescaped, text_encoding.CUnescape(escaped)) self.assertEqual(unescaped, text_encoding.CUnescape(escaped_utf8)) if __name__ == "__main__": unittest.main() PK!\ff0protobuf/internal/more_extensions_dynamic_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/more_extensions_dynamic.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf.internal import more_extensions_pb2 as google_dot_protobuf_dot_internal_dot_more__extensions__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/more_extensions_dynamic.proto', package='google.protobuf.internal', syntax='proto2', serialized_pb=_b('\n6google/protobuf/internal/more_extensions_dynamic.proto\x12\x18google.protobuf.internal\x1a.google/protobuf/internal/more_extensions.proto\"\x1f\n\x12\x44ynamicMessageType\x12\t\n\x01\x61\x18\x01 \x01(\x05:J\n\x17\x64ynamic_int32_extension\x12).google.protobuf.internal.ExtendedMessage\x18\x64 \x01(\x05:z\n\x19\x64ynamic_message_extension\x12).google.protobuf.internal.ExtendedMessage\x18\x65 \x01(\x0b\x32,.google.protobuf.internal.DynamicMessageType:\x83\x01\n\"repeated_dynamic_message_extension\x12).google.protobuf.internal.ExtendedMessage\x18\x66 \x03(\x0b\x32,.google.protobuf.internal.DynamicMessageType') , dependencies=[google_dot_protobuf_dot_internal_dot_more__extensions__pb2.DESCRIPTOR,]) DYNAMIC_INT32_EXTENSION_FIELD_NUMBER = 100 dynamic_int32_extension = _descriptor.FieldDescriptor( name='dynamic_int32_extension', full_name='google.protobuf.internal.dynamic_int32_extension', index=0, number=100, 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, options=None, file=DESCRIPTOR) DYNAMIC_MESSAGE_EXTENSION_FIELD_NUMBER = 101 dynamic_message_extension = _descriptor.FieldDescriptor( name='dynamic_message_extension', full_name='google.protobuf.internal.dynamic_message_extension', index=1, number=101, 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, options=None, file=DESCRIPTOR) REPEATED_DYNAMIC_MESSAGE_EXTENSION_FIELD_NUMBER = 102 repeated_dynamic_message_extension = _descriptor.FieldDescriptor( name='repeated_dynamic_message_extension', full_name='google.protobuf.internal.repeated_dynamic_message_extension', index=2, number=102, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) _DYNAMICMESSAGETYPE = _descriptor.Descriptor( name='DynamicMessageType', full_name='google.protobuf.internal.DynamicMessageType', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='google.protobuf.internal.DynamicMessageType.a', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=132, serialized_end=163, ) DESCRIPTOR.message_types_by_name['DynamicMessageType'] = _DYNAMICMESSAGETYPE DESCRIPTOR.extensions_by_name['dynamic_int32_extension'] = dynamic_int32_extension DESCRIPTOR.extensions_by_name['dynamic_message_extension'] = dynamic_message_extension DESCRIPTOR.extensions_by_name['repeated_dynamic_message_extension'] = repeated_dynamic_message_extension _sym_db.RegisterFileDescriptor(DESCRIPTOR) DynamicMessageType = _reflection.GeneratedProtocolMessageType('DynamicMessageType', (_message.Message,), dict( DESCRIPTOR = _DYNAMICMESSAGETYPE, __module__ = 'google.protobuf.internal.more_extensions_dynamic_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.internal.DynamicMessageType) )) _sym_db.RegisterMessage(DynamicMessageType) google_dot_protobuf_dot_internal_dot_more__extensions__pb2.ExtendedMessage.RegisterExtension(dynamic_int32_extension) dynamic_message_extension.message_type = _DYNAMICMESSAGETYPE google_dot_protobuf_dot_internal_dot_more__extensions__pb2.ExtendedMessage.RegisterExtension(dynamic_message_extension) repeated_dynamic_message_extension.message_type = _DYNAMICMESSAGETYPE google_dot_protobuf_dot_internal_dot_more__extensions__pb2.ExtendedMessage.RegisterExtension(repeated_dynamic_message_extension) # @@protoc_insertion_point(module_scope) PK! d99#protobuf/internal/generator_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # TODO(robinson): Flesh this out considerably. We focused on reflection_test.py # first, since it's testing the subtler code, and since it provides decent # indirect testing of the protocol compiler output. """Unittest that directly tests the output of the pure-Python protocol compiler. See //google/protobuf/internal/reflection_test.py for a test which further ensures that we can use Python protocol message objects as we expect. """ __author__ = 'robinson@google.com (Will Robinson)' try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf.internal import test_bad_identifiers_pb2 from google.protobuf import unittest_custom_options_pb2 from google.protobuf import unittest_import_pb2 from google.protobuf import unittest_import_public_pb2 from google.protobuf import unittest_mset_pb2 from google.protobuf import unittest_mset_wire_format_pb2 from google.protobuf import unittest_no_generic_services_pb2 from google.protobuf import unittest_pb2 from google.protobuf import service from google.protobuf import symbol_database MAX_EXTENSION = 536870912 class GeneratorTest(unittest.TestCase): def testNestedMessageDescriptor(self): field_name = 'optional_nested_message' proto_type = unittest_pb2.TestAllTypes self.assertEqual( proto_type.NestedMessage.DESCRIPTOR, proto_type.DESCRIPTOR.fields_by_name[field_name].message_type) def testEnums(self): # We test only module-level enums here. # TODO(robinson): Examine descriptors directly to check # enum descriptor output. self.assertEqual(4, unittest_pb2.FOREIGN_FOO) self.assertEqual(5, unittest_pb2.FOREIGN_BAR) self.assertEqual(6, unittest_pb2.FOREIGN_BAZ) proto = unittest_pb2.TestAllTypes() self.assertEqual(1, proto.FOO) self.assertEqual(1, unittest_pb2.TestAllTypes.FOO) self.assertEqual(2, proto.BAR) self.assertEqual(2, unittest_pb2.TestAllTypes.BAR) self.assertEqual(3, proto.BAZ) self.assertEqual(3, unittest_pb2.TestAllTypes.BAZ) def testExtremeDefaultValues(self): message = unittest_pb2.TestExtremeDefaultValues() # Python pre-2.6 does not have isinf() or isnan() functions, so we have # to provide our own. def isnan(val): # NaN is never equal to itself. return val != val def isinf(val): # Infinity times zero equals NaN. return not isnan(val) and isnan(val * 0) self.assertTrue(isinf(message.inf_double)) self.assertTrue(message.inf_double > 0) self.assertTrue(isinf(message.neg_inf_double)) self.assertTrue(message.neg_inf_double < 0) self.assertTrue(isnan(message.nan_double)) self.assertTrue(isinf(message.inf_float)) self.assertTrue(message.inf_float > 0) self.assertTrue(isinf(message.neg_inf_float)) self.assertTrue(message.neg_inf_float < 0) self.assertTrue(isnan(message.nan_float)) self.assertEqual("? ? ?? ?? ??? ??/ ??-", message.cpp_trigraph) def testHasDefaultValues(self): desc = unittest_pb2.TestAllTypes.DESCRIPTOR expected_has_default_by_name = { 'optional_int32': False, 'repeated_int32': False, 'optional_nested_message': False, 'default_int32': True, } has_default_by_name = dict( [(f.name, f.has_default_value) for f in desc.fields if f.name in expected_has_default_by_name]) self.assertEqual(expected_has_default_by_name, has_default_by_name) def testContainingTypeBehaviorForExtensions(self): self.assertEqual(unittest_pb2.optional_int32_extension.containing_type, unittest_pb2.TestAllExtensions.DESCRIPTOR) self.assertEqual(unittest_pb2.TestRequired.single.containing_type, unittest_pb2.TestAllExtensions.DESCRIPTOR) def testExtensionScope(self): self.assertEqual(unittest_pb2.optional_int32_extension.extension_scope, None) self.assertEqual(unittest_pb2.TestRequired.single.extension_scope, unittest_pb2.TestRequired.DESCRIPTOR) def testIsExtension(self): self.assertTrue(unittest_pb2.optional_int32_extension.is_extension) self.assertTrue(unittest_pb2.TestRequired.single.is_extension) message_descriptor = unittest_pb2.TestRequired.DESCRIPTOR non_extension_descriptor = message_descriptor.fields_by_name['a'] self.assertTrue(not non_extension_descriptor.is_extension) def testOptions(self): proto = unittest_mset_wire_format_pb2.TestMessageSet() self.assertTrue(proto.DESCRIPTOR.GetOptions().message_set_wire_format) def testMessageWithCustomOptions(self): proto = unittest_custom_options_pb2.TestMessageWithCustomOptions() enum_options = proto.DESCRIPTOR.enum_types_by_name['AnEnum'].GetOptions() self.assertTrue(enum_options is not None) # TODO(gps): We really should test for the presence of the enum_opt1 # extension and for its value to be set to -789. def testNestedTypes(self): self.assertEqual( set(unittest_pb2.TestAllTypes.DESCRIPTOR.nested_types), set([ unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR, unittest_pb2.TestAllTypes.OptionalGroup.DESCRIPTOR, unittest_pb2.TestAllTypes.RepeatedGroup.DESCRIPTOR, ])) self.assertEqual(unittest_pb2.TestEmptyMessage.DESCRIPTOR.nested_types, []) self.assertEqual( unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR.nested_types, []) def testContainingType(self): self.assertTrue( unittest_pb2.TestEmptyMessage.DESCRIPTOR.containing_type is None) self.assertTrue( unittest_pb2.TestAllTypes.DESCRIPTOR.containing_type is None) self.assertEqual( unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR.containing_type, unittest_pb2.TestAllTypes.DESCRIPTOR) self.assertEqual( unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR.containing_type, unittest_pb2.TestAllTypes.DESCRIPTOR) self.assertEqual( unittest_pb2.TestAllTypes.RepeatedGroup.DESCRIPTOR.containing_type, unittest_pb2.TestAllTypes.DESCRIPTOR) def testContainingTypeInEnumDescriptor(self): self.assertTrue(unittest_pb2._FOREIGNENUM.containing_type is None) self.assertEqual(unittest_pb2._TESTALLTYPES_NESTEDENUM.containing_type, unittest_pb2.TestAllTypes.DESCRIPTOR) def testPackage(self): self.assertEqual( unittest_pb2.TestAllTypes.DESCRIPTOR.file.package, 'protobuf_unittest') desc = unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR self.assertEqual(desc.file.package, 'protobuf_unittest') self.assertEqual( unittest_import_pb2.ImportMessage.DESCRIPTOR.file.package, 'protobuf_unittest_import') self.assertEqual( unittest_pb2._FOREIGNENUM.file.package, 'protobuf_unittest') self.assertEqual( unittest_pb2._TESTALLTYPES_NESTEDENUM.file.package, 'protobuf_unittest') self.assertEqual( unittest_import_pb2._IMPORTENUM.file.package, 'protobuf_unittest_import') def testExtensionRange(self): self.assertEqual( unittest_pb2.TestAllTypes.DESCRIPTOR.extension_ranges, []) self.assertEqual( unittest_pb2.TestAllExtensions.DESCRIPTOR.extension_ranges, [(1, MAX_EXTENSION)]) self.assertEqual( unittest_pb2.TestMultipleExtensionRanges.DESCRIPTOR.extension_ranges, [(42, 43), (4143, 4244), (65536, MAX_EXTENSION)]) def testFileDescriptor(self): self.assertEqual(unittest_pb2.DESCRIPTOR.name, 'google/protobuf/unittest.proto') self.assertEqual(unittest_pb2.DESCRIPTOR.package, 'protobuf_unittest') self.assertFalse(unittest_pb2.DESCRIPTOR.serialized_pb is None) self.assertEqual(unittest_pb2.DESCRIPTOR.dependencies, [unittest_import_pb2.DESCRIPTOR]) self.assertEqual(unittest_import_pb2.DESCRIPTOR.dependencies, [unittest_import_public_pb2.DESCRIPTOR]) self.assertEqual(unittest_import_pb2.DESCRIPTOR.public_dependencies, [unittest_import_public_pb2.DESCRIPTOR]) def testNoGenericServices(self): self.assertTrue(hasattr(unittest_no_generic_services_pb2, "TestMessage")) self.assertTrue(hasattr(unittest_no_generic_services_pb2, "FOO")) self.assertTrue(hasattr(unittest_no_generic_services_pb2, "test_extension")) # Make sure unittest_no_generic_services_pb2 has no services subclassing # Proto2 Service class. if hasattr(unittest_no_generic_services_pb2, "TestService"): self.assertFalse(issubclass(unittest_no_generic_services_pb2.TestService, service.Service)) def testMessageTypesByName(self): file_type = unittest_pb2.DESCRIPTOR self.assertEqual( unittest_pb2._TESTALLTYPES, file_type.message_types_by_name[unittest_pb2._TESTALLTYPES.name]) # Nested messages shouldn't be included in the message_types_by_name # dictionary (like in the C++ API). self.assertFalse( unittest_pb2._TESTALLTYPES_NESTEDMESSAGE.name in file_type.message_types_by_name) def testEnumTypesByName(self): file_type = unittest_pb2.DESCRIPTOR self.assertEqual( unittest_pb2._FOREIGNENUM, file_type.enum_types_by_name[unittest_pb2._FOREIGNENUM.name]) def testExtensionsByName(self): file_type = unittest_pb2.DESCRIPTOR self.assertEqual( unittest_pb2.my_extension_string, file_type.extensions_by_name[unittest_pb2.my_extension_string.name]) def testPublicImports(self): # Test public imports as embedded message. all_type_proto = unittest_pb2.TestAllTypes() self.assertEqual(0, all_type_proto.optional_public_import_message.e) # PublicImportMessage is actually defined in unittest_import_public_pb2 # module, and is public imported by unittest_import_pb2 module. public_import_proto = unittest_import_pb2.PublicImportMessage() self.assertEqual(0, public_import_proto.e) self.assertTrue(unittest_import_public_pb2.PublicImportMessage is unittest_import_pb2.PublicImportMessage) def testBadIdentifiers(self): # We're just testing that the code was imported without problems. message = test_bad_identifiers_pb2.TestBadIdentifiers() self.assertEqual(message.Extensions[test_bad_identifiers_pb2.message], "foo") self.assertEqual(message.Extensions[test_bad_identifiers_pb2.descriptor], "bar") self.assertEqual(message.Extensions[test_bad_identifiers_pb2.reflection], "baz") self.assertEqual(message.Extensions[test_bad_identifiers_pb2.service], "qux") def testOneof(self): desc = unittest_pb2.TestAllTypes.DESCRIPTOR self.assertEqual(1, len(desc.oneofs)) self.assertEqual('oneof_field', desc.oneofs[0].name) self.assertEqual(0, desc.oneofs[0].index) self.assertIs(desc, desc.oneofs[0].containing_type) self.assertIs(desc.oneofs[0], desc.oneofs_by_name['oneof_field']) nested_names = set(['oneof_uint32', 'oneof_nested_message', 'oneof_string', 'oneof_bytes']) self.assertEqual( nested_names, set([field.name for field in desc.oneofs[0].fields])) for field_name, field_desc in list(desc.fields_by_name.items()): if field_name in nested_names: self.assertIs(desc.oneofs[0], field_desc.containing_oneof) else: self.assertIsNone(field_desc.containing_oneof) class SymbolDatabaseRegistrationTest(unittest.TestCase): """Checks that messages, enums and files are correctly registered.""" def testGetSymbol(self): self.assertEqual( unittest_pb2.TestAllTypes, symbol_database.Default().GetSymbol( 'protobuf_unittest.TestAllTypes')) self.assertEqual( unittest_pb2.TestAllTypes.NestedMessage, symbol_database.Default().GetSymbol( 'protobuf_unittest.TestAllTypes.NestedMessage')) with self.assertRaises(KeyError): symbol_database.Default().GetSymbol('protobuf_unittest.NestedMessage') self.assertEqual( unittest_pb2.TestAllTypes.OptionalGroup, symbol_database.Default().GetSymbol( 'protobuf_unittest.TestAllTypes.OptionalGroup')) self.assertEqual( unittest_pb2.TestAllTypes.RepeatedGroup, symbol_database.Default().GetSymbol( 'protobuf_unittest.TestAllTypes.RepeatedGroup')) def testEnums(self): self.assertEqual( 'protobuf_unittest.ForeignEnum', symbol_database.Default().pool.FindEnumTypeByName( 'protobuf_unittest.ForeignEnum').full_name) self.assertEqual( 'protobuf_unittest.TestAllTypes.NestedEnum', symbol_database.Default().pool.FindEnumTypeByName( 'protobuf_unittest.TestAllTypes.NestedEnum').full_name) def testFindFileByName(self): self.assertEqual( 'google/protobuf/unittest.proto', symbol_database.Default().pool.FindFileByName( 'google/protobuf/unittest.proto').name) if __name__ == '__main__': unittest.main() PK!Ӈ *protobuf/internal/file_options_test_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/file_options_test.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/file_options_test.proto', package='google.protobuf.python.internal', syntax='proto2', serialized_pb=_b('\n0google/protobuf/internal/file_options_test.proto\x12\x1fgoogle.protobuf.python.internal\x1a google/protobuf/descriptor.proto\"\x1e\n\nFooOptions\x12\x10\n\x08\x66oo_name\x18\x01 \x01(\t:a\n\x0b\x66oo_options\x12\x1c.google.protobuf.FileOptions\x18\xac\xec\xb6\x39 \x01(\x0b\x32+.google.protobuf.python.internal.FooOptions') , dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,]) FOO_OPTIONS_FIELD_NUMBER = 120436268 foo_options = _descriptor.FieldDescriptor( name='foo_options', full_name='google.protobuf.python.internal.foo_options', index=0, number=120436268, 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, options=None, file=DESCRIPTOR) _FOOOPTIONS = _descriptor.Descriptor( name='FooOptions', full_name='google.protobuf.python.internal.FooOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='foo_name', full_name='google.protobuf.python.internal.FooOptions.foo_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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=119, serialized_end=149, ) DESCRIPTOR.message_types_by_name['FooOptions'] = _FOOOPTIONS DESCRIPTOR.extensions_by_name['foo_options'] = foo_options _sym_db.RegisterFileDescriptor(DESCRIPTOR) FooOptions = _reflection.GeneratedProtocolMessageType('FooOptions', (_message.Message,), dict( DESCRIPTOR = _FOOOPTIONS, __module__ = 'google.protobuf.internal.file_options_test_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.FooOptions) )) _sym_db.RegisterMessage(FooOptions) foo_options.message_type = _FOOOPTIONS google_dot_protobuf_dot_descriptor__pb2.FileOptions.RegisterExtension(foo_options) # @@protoc_insertion_point(module_scope) PK!\=!!/protobuf/internal/message_set_extensions_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/message_set_extensions.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/message_set_extensions.proto', package='google.protobuf.internal', syntax='proto2', serialized_pb=_b('\n5google/protobuf/internal/message_set_extensions.proto\x12\x18google.protobuf.internal\"\x1e\n\x0eTestMessageSet*\x08\x08\x04\x10\xff\xff\xff\xff\x07:\x02\x08\x01\"\xa5\x01\n\x18TestMessageSetExtension1\x12\t\n\x01i\x18\x0f \x01(\x05\x32~\n\x15message_set_extension\x12(.google.protobuf.internal.TestMessageSet\x18\xab\xff\xf6. \x01(\x0b\x32\x32.google.protobuf.internal.TestMessageSetExtension1\"\xa7\x01\n\x18TestMessageSetExtension2\x12\x0b\n\x03str\x18\x19 \x01(\t2~\n\x15message_set_extension\x12(.google.protobuf.internal.TestMessageSet\x18\xca\xff\xf6. \x01(\x0b\x32\x32.google.protobuf.internal.TestMessageSetExtension2\"(\n\x18TestMessageSetExtension3\x12\x0c\n\x04text\x18# \x01(\t:\x7f\n\x16message_set_extension3\x12(.google.protobuf.internal.TestMessageSet\x18\xdf\xff\xf6. \x01(\x0b\x32\x32.google.protobuf.internal.TestMessageSetExtension3') ) MESSAGE_SET_EXTENSION3_FIELD_NUMBER = 98418655 message_set_extension3 = _descriptor.FieldDescriptor( name='message_set_extension3', full_name='google.protobuf.internal.message_set_extension3', index=0, number=98418655, 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, options=None, file=DESCRIPTOR) _TESTMESSAGESET = _descriptor.Descriptor( name='TestMessageSet', full_name='google.protobuf.internal.TestMessageSet', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\010\001')), is_extendable=True, syntax='proto2', extension_ranges=[(4, 2147483647), ], oneofs=[ ], serialized_start=83, serialized_end=113, ) _TESTMESSAGESETEXTENSION1 = _descriptor.Descriptor( name='TestMessageSetExtension1', full_name='google.protobuf.internal.TestMessageSetExtension1', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='i', full_name='google.protobuf.internal.TestMessageSetExtension1.i', index=0, number=15, 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, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='message_set_extension', full_name='google.protobuf.internal.TestMessageSetExtension1.message_set_extension', index=0, number=98418603, 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=116, serialized_end=281, ) _TESTMESSAGESETEXTENSION2 = _descriptor.Descriptor( name='TestMessageSetExtension2', full_name='google.protobuf.internal.TestMessageSetExtension2', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='str', full_name='google.protobuf.internal.TestMessageSetExtension2.str', index=0, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='message_set_extension', full_name='google.protobuf.internal.TestMessageSetExtension2.message_set_extension', index=0, number=98418634, 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=284, serialized_end=451, ) _TESTMESSAGESETEXTENSION3 = _descriptor.Descriptor( name='TestMessageSetExtension3', full_name='google.protobuf.internal.TestMessageSetExtension3', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='text', full_name='google.protobuf.internal.TestMessageSetExtension3.text', index=0, number=35, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=453, serialized_end=493, ) DESCRIPTOR.message_types_by_name['TestMessageSet'] = _TESTMESSAGESET DESCRIPTOR.message_types_by_name['TestMessageSetExtension1'] = _TESTMESSAGESETEXTENSION1 DESCRIPTOR.message_types_by_name['TestMessageSetExtension2'] = _TESTMESSAGESETEXTENSION2 DESCRIPTOR.message_types_by_name['TestMessageSetExtension3'] = _TESTMESSAGESETEXTENSION3 DESCRIPTOR.extensions_by_name['message_set_extension3'] = message_set_extension3 _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestMessageSet = _reflection.GeneratedProtocolMessageType('TestMessageSet', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESET, __module__ = 'google.protobuf.internal.message_set_extensions_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.internal.TestMessageSet) )) _sym_db.RegisterMessage(TestMessageSet) TestMessageSetExtension1 = _reflection.GeneratedProtocolMessageType('TestMessageSetExtension1', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESETEXTENSION1, __module__ = 'google.protobuf.internal.message_set_extensions_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.internal.TestMessageSetExtension1) )) _sym_db.RegisterMessage(TestMessageSetExtension1) TestMessageSetExtension2 = _reflection.GeneratedProtocolMessageType('TestMessageSetExtension2', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESETEXTENSION2, __module__ = 'google.protobuf.internal.message_set_extensions_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.internal.TestMessageSetExtension2) )) _sym_db.RegisterMessage(TestMessageSetExtension2) TestMessageSetExtension3 = _reflection.GeneratedProtocolMessageType('TestMessageSetExtension3', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESETEXTENSION3, __module__ = 'google.protobuf.internal.message_set_extensions_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.internal.TestMessageSetExtension3) )) _sym_db.RegisterMessage(TestMessageSetExtension3) message_set_extension3.message_type = _TESTMESSAGESETEXTENSION3 TestMessageSet.RegisterExtension(message_set_extension3) _TESTMESSAGESETEXTENSION1.extensions_by_name['message_set_extension'].message_type = _TESTMESSAGESETEXTENSION1 TestMessageSet.RegisterExtension(_TESTMESSAGESETEXTENSION1.extensions_by_name['message_set_extension']) _TESTMESSAGESETEXTENSION2.extensions_by_name['message_set_extension'].message_type = _TESTMESSAGESETEXTENSION2 TestMessageSet.RegisterExtension(_TESTMESSAGESETEXTENSION2.extensions_by_name['message_set_extension']) _TESTMESSAGESET.has_options = True _TESTMESSAGESET._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\010\001')) # @@protoc_insertion_point(module_scope) PK!.[nVnV!protobuf/internal/message_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Tests python protocol buffers against the golden message. Note that the golden messages exercise every known field type, thus this test ends up exercising and verifying nearly all of the parsing and serialization code in the whole library. TODO(kenton): Merge with wire_format_test? It doesn't make a whole lot of sense to call this a test of the "message" module, which only declares an abstract interface. """ __author__ = 'gps@google.com (Gregory P. Smith)' import collections import copy import math import operator import pickle import six import sys import warnings try: import unittest2 as unittest # PY26 except ImportError: import unittest try: cmp # Python 2 except NameError: cmp = lambda x, y: (x > y) - (x < y) # Python 3 from google.protobuf import map_proto2_unittest_pb2 from google.protobuf import map_unittest_pb2 from google.protobuf import unittest_pb2 from google.protobuf import unittest_proto3_arena_pb2 from google.protobuf import descriptor_pb2 from google.protobuf import descriptor_pool from google.protobuf import message_factory from google.protobuf import text_format from google.protobuf.internal import api_implementation from google.protobuf.internal import encoder from google.protobuf.internal import packed_field_test_pb2 from google.protobuf.internal import test_util from google.protobuf.internal import testing_refleaks from google.protobuf import message from google.protobuf.internal import _parameterized if six.PY3: long = int # Python pre-2.6 does not have isinf() or isnan() functions, so we have # to provide our own. def isnan(val): # NaN is never equal to itself. return val != val def isinf(val): # Infinity times zero equals NaN. return not isnan(val) and isnan(val * 0) def IsPosInf(val): return isinf(val) and (val > 0) def IsNegInf(val): return isinf(val) and (val < 0) BaseTestCase = testing_refleaks.BaseTestCase @_parameterized.NamedParameters( ('_proto2', unittest_pb2), ('_proto3', unittest_proto3_arena_pb2)) class MessageTest(BaseTestCase): def testBadUtf8String(self, message_module): if api_implementation.Type() != 'python': self.skipTest("Skipping testBadUtf8String, currently only the python " "api implementation raises UnicodeDecodeError when a " "string field contains bad utf-8.") bad_utf8_data = test_util.GoldenFileData('bad_utf8_string') with self.assertRaises(UnicodeDecodeError) as context: message_module.TestAllTypes.FromString(bad_utf8_data) self.assertIn('TestAllTypes.optional_string', str(context.exception)) def testGoldenMessage(self, message_module): # Proto3 doesn't have the "default_foo" members or foreign enums, # and doesn't preserve unknown fields, so for proto3 we use a golden # message that doesn't have these fields set. if message_module is unittest_pb2: golden_data = test_util.GoldenFileData( 'golden_message_oneof_implemented') else: golden_data = test_util.GoldenFileData('golden_message_proto3') golden_message = message_module.TestAllTypes() golden_message.ParseFromString(golden_data) if message_module is unittest_pb2: test_util.ExpectAllFieldsSet(self, golden_message) self.assertEqual(golden_data, golden_message.SerializeToString()) golden_copy = copy.deepcopy(golden_message) self.assertEqual(golden_data, golden_copy.SerializeToString()) def testGoldenPackedMessage(self, message_module): golden_data = test_util.GoldenFileData('golden_packed_fields_message') golden_message = message_module.TestPackedTypes() golden_message.ParseFromString(golden_data) all_set = message_module.TestPackedTypes() test_util.SetAllPackedFields(all_set) self.assertEqual(all_set, golden_message) self.assertEqual(golden_data, all_set.SerializeToString()) golden_copy = copy.deepcopy(golden_message) self.assertEqual(golden_data, golden_copy.SerializeToString()) def testParseErrors(self, message_module): msg = message_module.TestAllTypes() self.assertRaises(TypeError, msg.FromString, 0) self.assertRaises(Exception, msg.FromString, '0') # TODO(jieluo): Fix cpp extension to raise error instead of warning. # b/27494216 end_tag = encoder.TagBytes(1, 4) if api_implementation.Type() == 'python': with self.assertRaises(message.DecodeError) as context: msg.FromString(end_tag) self.assertEqual('Unexpected end-group tag.', str(context.exception)) else: with warnings.catch_warnings(record=True) as w: # Cause all warnings to always be triggered. warnings.simplefilter('always') msg.FromString(end_tag) assert len(w) == 1 assert issubclass(w[-1].category, RuntimeWarning) self.assertEqual('Unexpected end-group tag: Not all data was converted', str(w[-1].message)) def testDeterminismParameters(self, message_module): # This message is always deterministically serialized, even if determinism # is disabled, so we can use it to verify that all the determinism # parameters work correctly. golden_data = (b'\xe2\x02\nOne string' b'\xe2\x02\nTwo string' b'\xe2\x02\nRed string' b'\xe2\x02\x0bBlue string') golden_message = message_module.TestAllTypes() golden_message.repeated_string.extend([ 'One string', 'Two string', 'Red string', 'Blue string', ]) self.assertEqual(golden_data, golden_message.SerializeToString(deterministic=None)) self.assertEqual(golden_data, golden_message.SerializeToString(deterministic=False)) self.assertEqual(golden_data, golden_message.SerializeToString(deterministic=True)) class BadArgError(Exception): pass class BadArg(object): def __bool__(self): raise BadArgError() def __bool__(self): raise BadArgError() with self.assertRaises(BadArgError): golden_message.SerializeToString(deterministic=BadArg()) def testPickleSupport(self, message_module): golden_data = test_util.GoldenFileData('golden_message') golden_message = message_module.TestAllTypes() golden_message.ParseFromString(golden_data) pickled_message = pickle.dumps(golden_message) unpickled_message = pickle.loads(pickled_message) self.assertEqual(unpickled_message, golden_message) def testPositiveInfinity(self, message_module): if message_module is unittest_pb2: golden_data = (b'\x5D\x00\x00\x80\x7F' b'\x61\x00\x00\x00\x00\x00\x00\xF0\x7F' b'\xCD\x02\x00\x00\x80\x7F' b'\xD1\x02\x00\x00\x00\x00\x00\x00\xF0\x7F') else: golden_data = (b'\x5D\x00\x00\x80\x7F' b'\x61\x00\x00\x00\x00\x00\x00\xF0\x7F' b'\xCA\x02\x04\x00\x00\x80\x7F' b'\xD2\x02\x08\x00\x00\x00\x00\x00\x00\xF0\x7F') golden_message = message_module.TestAllTypes() golden_message.ParseFromString(golden_data) self.assertTrue(IsPosInf(golden_message.optional_float)) self.assertTrue(IsPosInf(golden_message.optional_double)) self.assertTrue(IsPosInf(golden_message.repeated_float[0])) self.assertTrue(IsPosInf(golden_message.repeated_double[0])) self.assertEqual(golden_data, golden_message.SerializeToString()) def testNegativeInfinity(self, message_module): if message_module is unittest_pb2: golden_data = (b'\x5D\x00\x00\x80\xFF' b'\x61\x00\x00\x00\x00\x00\x00\xF0\xFF' b'\xCD\x02\x00\x00\x80\xFF' b'\xD1\x02\x00\x00\x00\x00\x00\x00\xF0\xFF') else: golden_data = (b'\x5D\x00\x00\x80\xFF' b'\x61\x00\x00\x00\x00\x00\x00\xF0\xFF' b'\xCA\x02\x04\x00\x00\x80\xFF' b'\xD2\x02\x08\x00\x00\x00\x00\x00\x00\xF0\xFF') golden_message = message_module.TestAllTypes() golden_message.ParseFromString(golden_data) self.assertTrue(IsNegInf(golden_message.optional_float)) self.assertTrue(IsNegInf(golden_message.optional_double)) self.assertTrue(IsNegInf(golden_message.repeated_float[0])) self.assertTrue(IsNegInf(golden_message.repeated_double[0])) self.assertEqual(golden_data, golden_message.SerializeToString()) def testNotANumber(self, message_module): golden_data = (b'\x5D\x00\x00\xC0\x7F' b'\x61\x00\x00\x00\x00\x00\x00\xF8\x7F' b'\xCD\x02\x00\x00\xC0\x7F' b'\xD1\x02\x00\x00\x00\x00\x00\x00\xF8\x7F') golden_message = message_module.TestAllTypes() golden_message.ParseFromString(golden_data) self.assertTrue(isnan(golden_message.optional_float)) self.assertTrue(isnan(golden_message.optional_double)) self.assertTrue(isnan(golden_message.repeated_float[0])) self.assertTrue(isnan(golden_message.repeated_double[0])) # The protocol buffer may serialize to any one of multiple different # representations of a NaN. Rather than verify a specific representation, # verify the serialized string can be converted into a correctly # behaving protocol buffer. serialized = golden_message.SerializeToString() message = message_module.TestAllTypes() message.ParseFromString(serialized) self.assertTrue(isnan(message.optional_float)) self.assertTrue(isnan(message.optional_double)) self.assertTrue(isnan(message.repeated_float[0])) self.assertTrue(isnan(message.repeated_double[0])) def testPositiveInfinityPacked(self, message_module): golden_data = (b'\xA2\x06\x04\x00\x00\x80\x7F' b'\xAA\x06\x08\x00\x00\x00\x00\x00\x00\xF0\x7F') golden_message = message_module.TestPackedTypes() golden_message.ParseFromString(golden_data) self.assertTrue(IsPosInf(golden_message.packed_float[0])) self.assertTrue(IsPosInf(golden_message.packed_double[0])) self.assertEqual(golden_data, golden_message.SerializeToString()) def testNegativeInfinityPacked(self, message_module): golden_data = (b'\xA2\x06\x04\x00\x00\x80\xFF' b'\xAA\x06\x08\x00\x00\x00\x00\x00\x00\xF0\xFF') golden_message = message_module.TestPackedTypes() golden_message.ParseFromString(golden_data) self.assertTrue(IsNegInf(golden_message.packed_float[0])) self.assertTrue(IsNegInf(golden_message.packed_double[0])) self.assertEqual(golden_data, golden_message.SerializeToString()) def testNotANumberPacked(self, message_module): golden_data = (b'\xA2\x06\x04\x00\x00\xC0\x7F' b'\xAA\x06\x08\x00\x00\x00\x00\x00\x00\xF8\x7F') golden_message = message_module.TestPackedTypes() golden_message.ParseFromString(golden_data) self.assertTrue(isnan(golden_message.packed_float[0])) self.assertTrue(isnan(golden_message.packed_double[0])) serialized = golden_message.SerializeToString() message = message_module.TestPackedTypes() message.ParseFromString(serialized) self.assertTrue(isnan(message.packed_float[0])) self.assertTrue(isnan(message.packed_double[0])) def testExtremeFloatValues(self, message_module): message = message_module.TestAllTypes() # Most positive exponent, no significand bits set. kMostPosExponentNoSigBits = math.pow(2, 127) message.optional_float = kMostPosExponentNoSigBits message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_float == kMostPosExponentNoSigBits) # Most positive exponent, one significand bit set. kMostPosExponentOneSigBit = 1.5 * math.pow(2, 127) message.optional_float = kMostPosExponentOneSigBit message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_float == kMostPosExponentOneSigBit) # Repeat last two cases with values of same magnitude, but negative. message.optional_float = -kMostPosExponentNoSigBits message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_float == -kMostPosExponentNoSigBits) message.optional_float = -kMostPosExponentOneSigBit message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_float == -kMostPosExponentOneSigBit) # Most negative exponent, no significand bits set. kMostNegExponentNoSigBits = math.pow(2, -127) message.optional_float = kMostNegExponentNoSigBits message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_float == kMostNegExponentNoSigBits) # Most negative exponent, one significand bit set. kMostNegExponentOneSigBit = 1.5 * math.pow(2, -127) message.optional_float = kMostNegExponentOneSigBit message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_float == kMostNegExponentOneSigBit) # Repeat last two cases with values of the same magnitude, but negative. message.optional_float = -kMostNegExponentNoSigBits message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_float == -kMostNegExponentNoSigBits) message.optional_float = -kMostNegExponentOneSigBit message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_float == -kMostNegExponentOneSigBit) def testExtremeDoubleValues(self, message_module): message = message_module.TestAllTypes() # Most positive exponent, no significand bits set. kMostPosExponentNoSigBits = math.pow(2, 1023) message.optional_double = kMostPosExponentNoSigBits message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_double == kMostPosExponentNoSigBits) # Most positive exponent, one significand bit set. kMostPosExponentOneSigBit = 1.5 * math.pow(2, 1023) message.optional_double = kMostPosExponentOneSigBit message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_double == kMostPosExponentOneSigBit) # Repeat last two cases with values of same magnitude, but negative. message.optional_double = -kMostPosExponentNoSigBits message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_double == -kMostPosExponentNoSigBits) message.optional_double = -kMostPosExponentOneSigBit message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_double == -kMostPosExponentOneSigBit) # Most negative exponent, no significand bits set. kMostNegExponentNoSigBits = math.pow(2, -1023) message.optional_double = kMostNegExponentNoSigBits message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_double == kMostNegExponentNoSigBits) # Most negative exponent, one significand bit set. kMostNegExponentOneSigBit = 1.5 * math.pow(2, -1023) message.optional_double = kMostNegExponentOneSigBit message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_double == kMostNegExponentOneSigBit) # Repeat last two cases with values of the same magnitude, but negative. message.optional_double = -kMostNegExponentNoSigBits message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_double == -kMostNegExponentNoSigBits) message.optional_double = -kMostNegExponentOneSigBit message.ParseFromString(message.SerializeToString()) self.assertTrue(message.optional_double == -kMostNegExponentOneSigBit) def testFloatPrinting(self, message_module): message = message_module.TestAllTypes() message.optional_float = 2.0 self.assertEqual(str(message), 'optional_float: 2.0\n') def testHighPrecisionFloatPrinting(self, message_module): message = message_module.TestAllTypes() message.optional_double = 0.12345678912345678 if sys.version_info >= (3,): self.assertEqual(str(message), 'optional_double: 0.12345678912345678\n') else: self.assertEqual(str(message), 'optional_double: 0.123456789123\n') def testUnknownFieldPrinting(self, message_module): populated = message_module.TestAllTypes() test_util.SetAllNonLazyFields(populated) empty = message_module.TestEmptyMessage() empty.ParseFromString(populated.SerializeToString()) self.assertEqual(str(empty), '') def testRepeatedNestedFieldIteration(self, message_module): msg = message_module.TestAllTypes() msg.repeated_nested_message.add(bb=1) msg.repeated_nested_message.add(bb=2) msg.repeated_nested_message.add(bb=3) msg.repeated_nested_message.add(bb=4) self.assertEqual([1, 2, 3, 4], [m.bb for m in msg.repeated_nested_message]) self.assertEqual([4, 3, 2, 1], [m.bb for m in reversed(msg.repeated_nested_message)]) self.assertEqual([4, 3, 2, 1], [m.bb for m in msg.repeated_nested_message[::-1]]) def testSortingRepeatedScalarFieldsDefaultComparator(self, message_module): """Check some different types with the default comparator.""" message = message_module.TestAllTypes() # TODO(mattp): would testing more scalar types strengthen test? message.repeated_int32.append(1) message.repeated_int32.append(3) message.repeated_int32.append(2) message.repeated_int32.sort() self.assertEqual(message.repeated_int32[0], 1) self.assertEqual(message.repeated_int32[1], 2) self.assertEqual(message.repeated_int32[2], 3) self.assertEqual(str(message.repeated_int32), str([1, 2, 3])) message.repeated_float.append(1.1) message.repeated_float.append(1.3) message.repeated_float.append(1.2) message.repeated_float.sort() self.assertAlmostEqual(message.repeated_float[0], 1.1) self.assertAlmostEqual(message.repeated_float[1], 1.2) self.assertAlmostEqual(message.repeated_float[2], 1.3) message.repeated_string.append('a') message.repeated_string.append('c') message.repeated_string.append('b') message.repeated_string.sort() self.assertEqual(message.repeated_string[0], 'a') self.assertEqual(message.repeated_string[1], 'b') self.assertEqual(message.repeated_string[2], 'c') self.assertEqual(str(message.repeated_string), str(['a', 'b', 'c'])) message.repeated_bytes.append(b'a') message.repeated_bytes.append(b'c') message.repeated_bytes.append(b'b') message.repeated_bytes.sort() self.assertEqual(message.repeated_bytes[0], b'a') self.assertEqual(message.repeated_bytes[1], b'b') self.assertEqual(message.repeated_bytes[2], b'c') self.assertEqual(str(message.repeated_bytes), str([b'a', b'b', b'c'])) def testSortingRepeatedScalarFieldsCustomComparator(self, message_module): """Check some different types with custom comparator.""" message = message_module.TestAllTypes() message.repeated_int32.append(-3) message.repeated_int32.append(-2) message.repeated_int32.append(-1) message.repeated_int32.sort(key=abs) self.assertEqual(message.repeated_int32[0], -1) self.assertEqual(message.repeated_int32[1], -2) self.assertEqual(message.repeated_int32[2], -3) message.repeated_string.append('aaa') message.repeated_string.append('bb') message.repeated_string.append('c') message.repeated_string.sort(key=len) self.assertEqual(message.repeated_string[0], 'c') self.assertEqual(message.repeated_string[1], 'bb') self.assertEqual(message.repeated_string[2], 'aaa') def testSortingRepeatedCompositeFieldsCustomComparator(self, message_module): """Check passing a custom comparator to sort a repeated composite field.""" message = message_module.TestAllTypes() message.repeated_nested_message.add().bb = 1 message.repeated_nested_message.add().bb = 3 message.repeated_nested_message.add().bb = 2 message.repeated_nested_message.add().bb = 6 message.repeated_nested_message.add().bb = 5 message.repeated_nested_message.add().bb = 4 message.repeated_nested_message.sort(key=operator.attrgetter('bb')) self.assertEqual(message.repeated_nested_message[0].bb, 1) self.assertEqual(message.repeated_nested_message[1].bb, 2) self.assertEqual(message.repeated_nested_message[2].bb, 3) self.assertEqual(message.repeated_nested_message[3].bb, 4) self.assertEqual(message.repeated_nested_message[4].bb, 5) self.assertEqual(message.repeated_nested_message[5].bb, 6) self.assertEqual(str(message.repeated_nested_message), '[bb: 1\n, bb: 2\n, bb: 3\n, bb: 4\n, bb: 5\n, bb: 6\n]') def testSortingRepeatedCompositeFieldsStable(self, message_module): """Check passing a custom comparator to sort a repeated composite field.""" message = message_module.TestAllTypes() message.repeated_nested_message.add().bb = 21 message.repeated_nested_message.add().bb = 20 message.repeated_nested_message.add().bb = 13 message.repeated_nested_message.add().bb = 33 message.repeated_nested_message.add().bb = 11 message.repeated_nested_message.add().bb = 24 message.repeated_nested_message.add().bb = 10 message.repeated_nested_message.sort(key=lambda z: z.bb // 10) self.assertEqual( [13, 11, 10, 21, 20, 24, 33], [n.bb for n in message.repeated_nested_message]) # Make sure that for the C++ implementation, the underlying fields # are actually reordered. pb = message.SerializeToString() message.Clear() message.MergeFromString(pb) self.assertEqual( [13, 11, 10, 21, 20, 24, 33], [n.bb for n in message.repeated_nested_message]) def testRepeatedCompositeFieldSortArguments(self, message_module): """Check sorting a repeated composite field using list.sort() arguments.""" message = message_module.TestAllTypes() get_bb = operator.attrgetter('bb') cmp_bb = lambda a, b: cmp(a.bb, b.bb) message.repeated_nested_message.add().bb = 1 message.repeated_nested_message.add().bb = 3 message.repeated_nested_message.add().bb = 2 message.repeated_nested_message.add().bb = 6 message.repeated_nested_message.add().bb = 5 message.repeated_nested_message.add().bb = 4 message.repeated_nested_message.sort(key=get_bb) self.assertEqual([k.bb for k in message.repeated_nested_message], [1, 2, 3, 4, 5, 6]) message.repeated_nested_message.sort(key=get_bb, reverse=True) self.assertEqual([k.bb for k in message.repeated_nested_message], [6, 5, 4, 3, 2, 1]) if sys.version_info >= (3,): return # No cmp sorting in PY3. message.repeated_nested_message.sort(sort_function=cmp_bb) self.assertEqual([k.bb for k in message.repeated_nested_message], [1, 2, 3, 4, 5, 6]) message.repeated_nested_message.sort(cmp=cmp_bb, reverse=True) self.assertEqual([k.bb for k in message.repeated_nested_message], [6, 5, 4, 3, 2, 1]) def testRepeatedScalarFieldSortArguments(self, message_module): """Check sorting a scalar field using list.sort() arguments.""" message = message_module.TestAllTypes() message.repeated_int32.append(-3) message.repeated_int32.append(-2) message.repeated_int32.append(-1) message.repeated_int32.sort(key=abs) self.assertEqual(list(message.repeated_int32), [-1, -2, -3]) message.repeated_int32.sort(key=abs, reverse=True) self.assertEqual(list(message.repeated_int32), [-3, -2, -1]) if sys.version_info < (3,): # No cmp sorting in PY3. abs_cmp = lambda a, b: cmp(abs(a), abs(b)) message.repeated_int32.sort(sort_function=abs_cmp) self.assertEqual(list(message.repeated_int32), [-1, -2, -3]) message.repeated_int32.sort(cmp=abs_cmp, reverse=True) self.assertEqual(list(message.repeated_int32), [-3, -2, -1]) message.repeated_string.append('aaa') message.repeated_string.append('bb') message.repeated_string.append('c') message.repeated_string.sort(key=len) self.assertEqual(list(message.repeated_string), ['c', 'bb', 'aaa']) message.repeated_string.sort(key=len, reverse=True) self.assertEqual(list(message.repeated_string), ['aaa', 'bb', 'c']) if sys.version_info < (3,): # No cmp sorting in PY3. len_cmp = lambda a, b: cmp(len(a), len(b)) message.repeated_string.sort(sort_function=len_cmp) self.assertEqual(list(message.repeated_string), ['c', 'bb', 'aaa']) message.repeated_string.sort(cmp=len_cmp, reverse=True) self.assertEqual(list(message.repeated_string), ['aaa', 'bb', 'c']) def testRepeatedFieldsComparable(self, message_module): m1 = message_module.TestAllTypes() m2 = message_module.TestAllTypes() m1.repeated_int32.append(0) m1.repeated_int32.append(1) m1.repeated_int32.append(2) m2.repeated_int32.append(0) m2.repeated_int32.append(1) m2.repeated_int32.append(2) m1.repeated_nested_message.add().bb = 1 m1.repeated_nested_message.add().bb = 2 m1.repeated_nested_message.add().bb = 3 m2.repeated_nested_message.add().bb = 1 m2.repeated_nested_message.add().bb = 2 m2.repeated_nested_message.add().bb = 3 if sys.version_info >= (3,): return # No cmp() in PY3. # These comparisons should not raise errors. _ = m1 < m2 _ = m1.repeated_nested_message < m2.repeated_nested_message # Make sure cmp always works. If it wasn't defined, these would be # id() comparisons and would all fail. self.assertEqual(cmp(m1, m2), 0) self.assertEqual(cmp(m1.repeated_int32, m2.repeated_int32), 0) self.assertEqual(cmp(m1.repeated_int32, [0, 1, 2]), 0) self.assertEqual(cmp(m1.repeated_nested_message, m2.repeated_nested_message), 0) with self.assertRaises(TypeError): # Can't compare repeated composite containers to lists. cmp(m1.repeated_nested_message, m2.repeated_nested_message[:]) # TODO(anuraag): Implement extensiondict comparison in C++ and then add test def testRepeatedFieldsAreSequences(self, message_module): m = message_module.TestAllTypes() self.assertIsInstance(m.repeated_int32, collections.MutableSequence) self.assertIsInstance(m.repeated_nested_message, collections.MutableSequence) def testRepeatedFieldsNotHashable(self, message_module): m = message_module.TestAllTypes() with self.assertRaises(TypeError): hash(m.repeated_int32) with self.assertRaises(TypeError): hash(m.repeated_nested_message) def testRepeatedFieldInsideNestedMessage(self, message_module): m = message_module.NestedTestAllTypes() m.payload.repeated_int32.extend([]) self.assertTrue(m.HasField('payload')) def ensureNestedMessageExists(self, msg, attribute): """Make sure that a nested message object exists. As soon as a nested message attribute is accessed, it will be present in the _fields dict, without being marked as actually being set. """ getattr(msg, attribute) self.assertFalse(msg.HasField(attribute)) def testOneofGetCaseNonexistingField(self, message_module): m = message_module.TestAllTypes() self.assertRaises(ValueError, m.WhichOneof, 'no_such_oneof_field') self.assertRaises(Exception, m.WhichOneof, 0) def testOneofDefaultValues(self, message_module): m = message_module.TestAllTypes() self.assertIs(None, m.WhichOneof('oneof_field')) self.assertFalse(m.HasField('oneof_uint32')) # Oneof is set even when setting it to a default value. m.oneof_uint32 = 0 self.assertEqual('oneof_uint32', m.WhichOneof('oneof_field')) self.assertTrue(m.HasField('oneof_uint32')) self.assertFalse(m.HasField('oneof_string')) m.oneof_string = "" self.assertEqual('oneof_string', m.WhichOneof('oneof_field')) self.assertTrue(m.HasField('oneof_string')) self.assertFalse(m.HasField('oneof_uint32')) def testOneofSemantics(self, message_module): m = message_module.TestAllTypes() self.assertIs(None, m.WhichOneof('oneof_field')) m.oneof_uint32 = 11 self.assertEqual('oneof_uint32', m.WhichOneof('oneof_field')) self.assertTrue(m.HasField('oneof_uint32')) m.oneof_string = 'foo' self.assertEqual('oneof_string', m.WhichOneof('oneof_field')) self.assertFalse(m.HasField('oneof_uint32')) self.assertTrue(m.HasField('oneof_string')) # Read nested message accessor without accessing submessage. m.oneof_nested_message self.assertEqual('oneof_string', m.WhichOneof('oneof_field')) self.assertTrue(m.HasField('oneof_string')) self.assertFalse(m.HasField('oneof_nested_message')) # Read accessor of nested message without accessing submessage. m.oneof_nested_message.bb self.assertEqual('oneof_string', m.WhichOneof('oneof_field')) self.assertTrue(m.HasField('oneof_string')) self.assertFalse(m.HasField('oneof_nested_message')) m.oneof_nested_message.bb = 11 self.assertEqual('oneof_nested_message', m.WhichOneof('oneof_field')) self.assertFalse(m.HasField('oneof_string')) self.assertTrue(m.HasField('oneof_nested_message')) m.oneof_bytes = b'bb' self.assertEqual('oneof_bytes', m.WhichOneof('oneof_field')) self.assertFalse(m.HasField('oneof_nested_message')) self.assertTrue(m.HasField('oneof_bytes')) def testOneofCompositeFieldReadAccess(self, message_module): m = message_module.TestAllTypes() m.oneof_uint32 = 11 self.ensureNestedMessageExists(m, 'oneof_nested_message') self.assertEqual('oneof_uint32', m.WhichOneof('oneof_field')) self.assertEqual(11, m.oneof_uint32) def testOneofWhichOneof(self, message_module): m = message_module.TestAllTypes() self.assertIs(None, m.WhichOneof('oneof_field')) if message_module is unittest_pb2: self.assertFalse(m.HasField('oneof_field')) m.oneof_uint32 = 11 self.assertEqual('oneof_uint32', m.WhichOneof('oneof_field')) if message_module is unittest_pb2: self.assertTrue(m.HasField('oneof_field')) m.oneof_bytes = b'bb' self.assertEqual('oneof_bytes', m.WhichOneof('oneof_field')) m.ClearField('oneof_bytes') self.assertIs(None, m.WhichOneof('oneof_field')) if message_module is unittest_pb2: self.assertFalse(m.HasField('oneof_field')) def testOneofClearField(self, message_module): m = message_module.TestAllTypes() m.oneof_uint32 = 11 m.ClearField('oneof_field') if message_module is unittest_pb2: self.assertFalse(m.HasField('oneof_field')) self.assertFalse(m.HasField('oneof_uint32')) self.assertIs(None, m.WhichOneof('oneof_field')) def testOneofClearSetField(self, message_module): m = message_module.TestAllTypes() m.oneof_uint32 = 11 m.ClearField('oneof_uint32') if message_module is unittest_pb2: self.assertFalse(m.HasField('oneof_field')) self.assertFalse(m.HasField('oneof_uint32')) self.assertIs(None, m.WhichOneof('oneof_field')) def testOneofClearUnsetField(self, message_module): m = message_module.TestAllTypes() m.oneof_uint32 = 11 self.ensureNestedMessageExists(m, 'oneof_nested_message') m.ClearField('oneof_nested_message') self.assertEqual(11, m.oneof_uint32) if message_module is unittest_pb2: self.assertTrue(m.HasField('oneof_field')) self.assertTrue(m.HasField('oneof_uint32')) self.assertEqual('oneof_uint32', m.WhichOneof('oneof_field')) def testOneofDeserialize(self, message_module): m = message_module.TestAllTypes() m.oneof_uint32 = 11 m2 = message_module.TestAllTypes() m2.ParseFromString(m.SerializeToString()) self.assertEqual('oneof_uint32', m2.WhichOneof('oneof_field')) def testOneofCopyFrom(self, message_module): m = message_module.TestAllTypes() m.oneof_uint32 = 11 m2 = message_module.TestAllTypes() m2.CopyFrom(m) self.assertEqual('oneof_uint32', m2.WhichOneof('oneof_field')) def testOneofNestedMergeFrom(self, message_module): m = message_module.NestedTestAllTypes() m.payload.oneof_uint32 = 11 m2 = message_module.NestedTestAllTypes() m2.payload.oneof_bytes = b'bb' m2.child.payload.oneof_bytes = b'bb' m2.MergeFrom(m) self.assertEqual('oneof_uint32', m2.payload.WhichOneof('oneof_field')) self.assertEqual('oneof_bytes', m2.child.payload.WhichOneof('oneof_field')) def testOneofMessageMergeFrom(self, message_module): m = message_module.NestedTestAllTypes() m.payload.oneof_nested_message.bb = 11 m.child.payload.oneof_nested_message.bb = 12 m2 = message_module.NestedTestAllTypes() m2.payload.oneof_uint32 = 13 m2.MergeFrom(m) self.assertEqual('oneof_nested_message', m2.payload.WhichOneof('oneof_field')) self.assertEqual('oneof_nested_message', m2.child.payload.WhichOneof('oneof_field')) def testOneofNestedMessageInit(self, message_module): m = message_module.TestAllTypes( oneof_nested_message=message_module.TestAllTypes.NestedMessage()) self.assertEqual('oneof_nested_message', m.WhichOneof('oneof_field')) def testOneofClear(self, message_module): m = message_module.TestAllTypes() m.oneof_uint32 = 11 m.Clear() self.assertIsNone(m.WhichOneof('oneof_field')) m.oneof_bytes = b'bb' self.assertEqual('oneof_bytes', m.WhichOneof('oneof_field')) def testAssignByteStringToUnicodeField(self, message_module): """Assigning a byte string to a string field should result in the value being converted to a Unicode string.""" m = message_module.TestAllTypes() m.optional_string = str('') self.assertIsInstance(m.optional_string, six.text_type) def testLongValuedSlice(self, message_module): """It should be possible to use long-valued indicies in slices This didn't used to work in the v2 C++ implementation. """ m = message_module.TestAllTypes() # Repeated scalar m.repeated_int32.append(1) sl = m.repeated_int32[int(0):int(len(m.repeated_int32))] self.assertEqual(len(m.repeated_int32), len(sl)) # Repeated composite m.repeated_nested_message.add().bb = 3 sl = m.repeated_nested_message[int(0):int(len(m.repeated_nested_message))] self.assertEqual(len(m.repeated_nested_message), len(sl)) def testExtendShouldNotSwallowExceptions(self, message_module): """This didn't use to work in the v2 C++ implementation.""" m = message_module.TestAllTypes() with self.assertRaises(NameError) as _: m.repeated_int32.extend(a for i in range(10)) # pylint: disable=undefined-variable with self.assertRaises(NameError) as _: m.repeated_nested_enum.extend( a for i in range(10)) # pylint: disable=undefined-variable FALSY_VALUES = [None, False, 0, 0.0, b'', '', bytearray(), [], {}, set()] def testExtendInt32WithNothing(self, message_module): """Test no-ops extending repeated int32 fields.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_int32) # TODO(ptucker): Deprecate this behavior. b/18413862 for falsy_value in MessageTest.FALSY_VALUES: m.repeated_int32.extend(falsy_value) self.assertSequenceEqual([], m.repeated_int32) m.repeated_int32.extend([]) self.assertSequenceEqual([], m.repeated_int32) def testExtendFloatWithNothing(self, message_module): """Test no-ops extending repeated float fields.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_float) # TODO(ptucker): Deprecate this behavior. b/18413862 for falsy_value in MessageTest.FALSY_VALUES: m.repeated_float.extend(falsy_value) self.assertSequenceEqual([], m.repeated_float) m.repeated_float.extend([]) self.assertSequenceEqual([], m.repeated_float) def testExtendStringWithNothing(self, message_module): """Test no-ops extending repeated string fields.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_string) # TODO(ptucker): Deprecate this behavior. b/18413862 for falsy_value in MessageTest.FALSY_VALUES: m.repeated_string.extend(falsy_value) self.assertSequenceEqual([], m.repeated_string) m.repeated_string.extend([]) self.assertSequenceEqual([], m.repeated_string) def testExtendInt32WithPythonList(self, message_module): """Test extending repeated int32 fields with python lists.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_int32) m.repeated_int32.extend([0]) self.assertSequenceEqual([0], m.repeated_int32) m.repeated_int32.extend([1, 2]) self.assertSequenceEqual([0, 1, 2], m.repeated_int32) m.repeated_int32.extend([3, 4]) self.assertSequenceEqual([0, 1, 2, 3, 4], m.repeated_int32) def testExtendFloatWithPythonList(self, message_module): """Test extending repeated float fields with python lists.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_float) m.repeated_float.extend([0.0]) self.assertSequenceEqual([0.0], m.repeated_float) m.repeated_float.extend([1.0, 2.0]) self.assertSequenceEqual([0.0, 1.0, 2.0], m.repeated_float) m.repeated_float.extend([3.0, 4.0]) self.assertSequenceEqual([0.0, 1.0, 2.0, 3.0, 4.0], m.repeated_float) def testExtendStringWithPythonList(self, message_module): """Test extending repeated string fields with python lists.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_string) m.repeated_string.extend(['']) self.assertSequenceEqual([''], m.repeated_string) m.repeated_string.extend(['11', '22']) self.assertSequenceEqual(['', '11', '22'], m.repeated_string) m.repeated_string.extend(['33', '44']) self.assertSequenceEqual(['', '11', '22', '33', '44'], m.repeated_string) def testExtendStringWithString(self, message_module): """Test extending repeated string fields with characters from a string.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_string) m.repeated_string.extend('abc') self.assertSequenceEqual(['a', 'b', 'c'], m.repeated_string) class TestIterable(object): """This iterable object mimics the behavior of numpy.array. __nonzero__ fails for length > 1, and returns bool(item[0]) for length == 1. """ def __init__(self, values=None): self._list = values or [] def __bool__(self): size = len(self._list) if size == 0: return False if size == 1: return bool(self._list[0]) raise ValueError('Truth value is ambiguous.') def __len__(self): return len(self._list) def __iter__(self): return self._list.__iter__() def testExtendInt32WithIterable(self, message_module): """Test extending repeated int32 fields with iterable.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_int32) m.repeated_int32.extend(MessageTest.TestIterable([])) self.assertSequenceEqual([], m.repeated_int32) m.repeated_int32.extend(MessageTest.TestIterable([0])) self.assertSequenceEqual([0], m.repeated_int32) m.repeated_int32.extend(MessageTest.TestIterable([1, 2])) self.assertSequenceEqual([0, 1, 2], m.repeated_int32) m.repeated_int32.extend(MessageTest.TestIterable([3, 4])) self.assertSequenceEqual([0, 1, 2, 3, 4], m.repeated_int32) def testExtendFloatWithIterable(self, message_module): """Test extending repeated float fields with iterable.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_float) m.repeated_float.extend(MessageTest.TestIterable([])) self.assertSequenceEqual([], m.repeated_float) m.repeated_float.extend(MessageTest.TestIterable([0.0])) self.assertSequenceEqual([0.0], m.repeated_float) m.repeated_float.extend(MessageTest.TestIterable([1.0, 2.0])) self.assertSequenceEqual([0.0, 1.0, 2.0], m.repeated_float) m.repeated_float.extend(MessageTest.TestIterable([3.0, 4.0])) self.assertSequenceEqual([0.0, 1.0, 2.0, 3.0, 4.0], m.repeated_float) def testExtendStringWithIterable(self, message_module): """Test extending repeated string fields with iterable.""" m = message_module.TestAllTypes() self.assertSequenceEqual([], m.repeated_string) m.repeated_string.extend(MessageTest.TestIterable([])) self.assertSequenceEqual([], m.repeated_string) m.repeated_string.extend(MessageTest.TestIterable([''])) self.assertSequenceEqual([''], m.repeated_string) m.repeated_string.extend(MessageTest.TestIterable(['1', '2'])) self.assertSequenceEqual(['', '1', '2'], m.repeated_string) m.repeated_string.extend(MessageTest.TestIterable(['3', '4'])) self.assertSequenceEqual(['', '1', '2', '3', '4'], m.repeated_string) def testPickleRepeatedScalarContainer(self, message_module): # TODO(tibell): The pure-Python implementation support pickling of # scalar containers in *some* cases. For now the cpp2 version # throws an exception to avoid a segfault. Investigate if we # want to support pickling of these fields. # # For more information see: https://b2.corp.google.com/u/0/issues/18677897 if (api_implementation.Type() != 'cpp' or api_implementation.Version() == 2): return m = message_module.TestAllTypes() with self.assertRaises(pickle.PickleError) as _: pickle.dumps(m.repeated_int32, pickle.HIGHEST_PROTOCOL) def testSortEmptyRepeatedCompositeContainer(self, message_module): """Exercise a scenario that has led to segfaults in the past. """ m = message_module.TestAllTypes() m.repeated_nested_message.sort() def testHasFieldOnRepeatedField(self, message_module): """Using HasField on a repeated field should raise an exception. """ m = message_module.TestAllTypes() with self.assertRaises(ValueError) as _: m.HasField('repeated_int32') def testRepeatedScalarFieldPop(self, message_module): m = message_module.TestAllTypes() with self.assertRaises(IndexError) as _: m.repeated_int32.pop() m.repeated_int32.extend(list(range(5))) self.assertEqual(4, m.repeated_int32.pop()) self.assertEqual(0, m.repeated_int32.pop(0)) self.assertEqual(2, m.repeated_int32.pop(1)) self.assertEqual([1, 3], m.repeated_int32) def testRepeatedCompositeFieldPop(self, message_module): m = message_module.TestAllTypes() with self.assertRaises(IndexError) as _: m.repeated_nested_message.pop() with self.assertRaises(TypeError) as _: m.repeated_nested_message.pop('0') for i in range(5): n = m.repeated_nested_message.add() n.bb = i self.assertEqual(4, m.repeated_nested_message.pop().bb) self.assertEqual(0, m.repeated_nested_message.pop(0).bb) self.assertEqual(2, m.repeated_nested_message.pop(1).bb) self.assertEqual([1, 3], [n.bb for n in m.repeated_nested_message]) def testRepeatedCompareWithSelf(self, message_module): m = message_module.TestAllTypes() for i in range(5): m.repeated_int32.insert(i, i) n = m.repeated_nested_message.add() n.bb = i self.assertSequenceEqual(m.repeated_int32, m.repeated_int32) self.assertEqual(m.repeated_nested_message, m.repeated_nested_message) def testReleasedNestedMessages(self, message_module): """A case that lead to a segfault when a message detached from its parent container has itself a child container. """ m = message_module.NestedTestAllTypes() m = m.repeated_child.add() m = m.child m = m.repeated_child.add() self.assertEqual(m.payload.optional_int32, 0) def testSetRepeatedComposite(self, message_module): m = message_module.TestAllTypes() with self.assertRaises(AttributeError): m.repeated_int32 = [] m.repeated_int32.append(1) if api_implementation.Type() == 'cpp': # For test coverage: cpp has a different path if composite # field is in cache with self.assertRaises(TypeError): m.repeated_int32 = [] else: with self.assertRaises(AttributeError): m.repeated_int32 = [] # Class to test proto2-only features (required, extensions, etc.) class Proto2Test(BaseTestCase): def testFieldPresence(self): message = unittest_pb2.TestAllTypes() self.assertFalse(message.HasField("optional_int32")) self.assertFalse(message.HasField("optional_bool")) self.assertFalse(message.HasField("optional_nested_message")) with self.assertRaises(ValueError): message.HasField("field_doesnt_exist") with self.assertRaises(ValueError): message.HasField("repeated_int32") with self.assertRaises(ValueError): message.HasField("repeated_nested_message") self.assertEqual(0, message.optional_int32) self.assertEqual(False, message.optional_bool) self.assertEqual(0, message.optional_nested_message.bb) # Fields are set even when setting the values to default values. message.optional_int32 = 0 message.optional_bool = False message.optional_nested_message.bb = 0 self.assertTrue(message.HasField("optional_int32")) self.assertTrue(message.HasField("optional_bool")) self.assertTrue(message.HasField("optional_nested_message")) # Set the fields to non-default values. message.optional_int32 = 5 message.optional_bool = True message.optional_nested_message.bb = 15 self.assertTrue(message.HasField("optional_int32")) self.assertTrue(message.HasField("optional_bool")) self.assertTrue(message.HasField("optional_nested_message")) # Clearing the fields unsets them and resets their value to default. message.ClearField("optional_int32") message.ClearField("optional_bool") message.ClearField("optional_nested_message") self.assertFalse(message.HasField("optional_int32")) self.assertFalse(message.HasField("optional_bool")) self.assertFalse(message.HasField("optional_nested_message")) self.assertEqual(0, message.optional_int32) self.assertEqual(False, message.optional_bool) self.assertEqual(0, message.optional_nested_message.bb) def testAssignInvalidEnum(self): """Assigning an invalid enum number is not allowed in proto2.""" m = unittest_pb2.TestAllTypes() # Proto2 can not assign unknown enum. with self.assertRaises(ValueError) as _: m.optional_nested_enum = 1234567 self.assertRaises(ValueError, m.repeated_nested_enum.append, 1234567) # Assignment is a different code path than append for the C++ impl. m.repeated_nested_enum.append(2) m.repeated_nested_enum[0] = 2 with self.assertRaises(ValueError): m.repeated_nested_enum[0] = 123456 # Unknown enum value can be parsed but is ignored. m2 = unittest_proto3_arena_pb2.TestAllTypes() m2.optional_nested_enum = 1234567 m2.repeated_nested_enum.append(7654321) serialized = m2.SerializeToString() m3 = unittest_pb2.TestAllTypes() m3.ParseFromString(serialized) self.assertFalse(m3.HasField('optional_nested_enum')) # 1 is the default value for optional_nested_enum. self.assertEqual(1, m3.optional_nested_enum) self.assertEqual(0, len(m3.repeated_nested_enum)) m2.Clear() m2.ParseFromString(m3.SerializeToString()) self.assertEqual(1234567, m2.optional_nested_enum) self.assertEqual(7654321, m2.repeated_nested_enum[0]) def testUnknownEnumMap(self): m = map_proto2_unittest_pb2.TestEnumMap() m.known_map_field[123] = 0 with self.assertRaises(ValueError): m.unknown_map_field[1] = 123 def testExtensionsErrors(self): msg = unittest_pb2.TestAllTypes() self.assertRaises(AttributeError, getattr, msg, 'Extensions') def testGoldenExtensions(self): golden_data = test_util.GoldenFileData('golden_message') golden_message = unittest_pb2.TestAllExtensions() golden_message.ParseFromString(golden_data) all_set = unittest_pb2.TestAllExtensions() test_util.SetAllExtensions(all_set) self.assertEqual(all_set, golden_message) self.assertEqual(golden_data, golden_message.SerializeToString()) golden_copy = copy.deepcopy(golden_message) self.assertEqual(golden_data, golden_copy.SerializeToString()) def testGoldenPackedExtensions(self): golden_data = test_util.GoldenFileData('golden_packed_fields_message') golden_message = unittest_pb2.TestPackedExtensions() golden_message.ParseFromString(golden_data) all_set = unittest_pb2.TestPackedExtensions() test_util.SetAllPackedExtensions(all_set) self.assertEqual(all_set, golden_message) self.assertEqual(golden_data, all_set.SerializeToString()) golden_copy = copy.deepcopy(golden_message) self.assertEqual(golden_data, golden_copy.SerializeToString()) def testPickleIncompleteProto(self): golden_message = unittest_pb2.TestRequired(a=1) pickled_message = pickle.dumps(golden_message) unpickled_message = pickle.loads(pickled_message) self.assertEqual(unpickled_message, golden_message) self.assertEqual(unpickled_message.a, 1) # This is still an incomplete proto - so serializing should fail self.assertRaises(message.EncodeError, unpickled_message.SerializeToString) # TODO(haberman): this isn't really a proto2-specific test except that this # message has a required field in it. Should probably be factored out so # that we can test the other parts with proto3. def testParsingMerge(self): """Check the merge behavior when a required or optional field appears multiple times in the input.""" messages = [ unittest_pb2.TestAllTypes(), unittest_pb2.TestAllTypes(), unittest_pb2.TestAllTypes() ] messages[0].optional_int32 = 1 messages[1].optional_int64 = 2 messages[2].optional_int32 = 3 messages[2].optional_string = 'hello' merged_message = unittest_pb2.TestAllTypes() merged_message.optional_int32 = 3 merged_message.optional_int64 = 2 merged_message.optional_string = 'hello' generator = unittest_pb2.TestParsingMerge.RepeatedFieldsGenerator() generator.field1.extend(messages) generator.field2.extend(messages) generator.field3.extend(messages) generator.ext1.extend(messages) generator.ext2.extend(messages) generator.group1.add().field1.MergeFrom(messages[0]) generator.group1.add().field1.MergeFrom(messages[1]) generator.group1.add().field1.MergeFrom(messages[2]) generator.group2.add().field1.MergeFrom(messages[0]) generator.group2.add().field1.MergeFrom(messages[1]) generator.group2.add().field1.MergeFrom(messages[2]) data = generator.SerializeToString() parsing_merge = unittest_pb2.TestParsingMerge() parsing_merge.ParseFromString(data) # Required and optional fields should be merged. self.assertEqual(parsing_merge.required_all_types, merged_message) self.assertEqual(parsing_merge.optional_all_types, merged_message) self.assertEqual(parsing_merge.optionalgroup.optional_group_all_types, merged_message) self.assertEqual(parsing_merge.Extensions[ unittest_pb2.TestParsingMerge.optional_ext], merged_message) # Repeated fields should not be merged. self.assertEqual(len(parsing_merge.repeated_all_types), 3) self.assertEqual(len(parsing_merge.repeatedgroup), 3) self.assertEqual(len(parsing_merge.Extensions[ unittest_pb2.TestParsingMerge.repeated_ext]), 3) def testPythonicInit(self): message = unittest_pb2.TestAllTypes( optional_int32=100, optional_fixed32=200, optional_float=300.5, optional_bytes=b'x', optionalgroup={'a': 400}, optional_nested_message={'bb': 500}, optional_foreign_message={}, optional_nested_enum='BAZ', repeatedgroup=[{'a': 600}, {'a': 700}], repeated_nested_enum=['FOO', unittest_pb2.TestAllTypes.BAR], default_int32=800, oneof_string='y') self.assertIsInstance(message, unittest_pb2.TestAllTypes) self.assertEqual(100, message.optional_int32) self.assertEqual(200, message.optional_fixed32) self.assertEqual(300.5, message.optional_float) self.assertEqual(b'x', message.optional_bytes) self.assertEqual(400, message.optionalgroup.a) self.assertIsInstance(message.optional_nested_message, unittest_pb2.TestAllTypes.NestedMessage) self.assertEqual(500, message.optional_nested_message.bb) self.assertTrue(message.HasField('optional_foreign_message')) self.assertEqual(message.optional_foreign_message, unittest_pb2.ForeignMessage()) self.assertEqual(unittest_pb2.TestAllTypes.BAZ, message.optional_nested_enum) self.assertEqual(2, len(message.repeatedgroup)) self.assertEqual(600, message.repeatedgroup[0].a) self.assertEqual(700, message.repeatedgroup[1].a) self.assertEqual(2, len(message.repeated_nested_enum)) self.assertEqual(unittest_pb2.TestAllTypes.FOO, message.repeated_nested_enum[0]) self.assertEqual(unittest_pb2.TestAllTypes.BAR, message.repeated_nested_enum[1]) self.assertEqual(800, message.default_int32) self.assertEqual('y', message.oneof_string) self.assertFalse(message.HasField('optional_int64')) self.assertEqual(0, len(message.repeated_float)) self.assertEqual(42, message.default_int64) message = unittest_pb2.TestAllTypes(optional_nested_enum='BAZ') self.assertEqual(unittest_pb2.TestAllTypes.BAZ, message.optional_nested_enum) with self.assertRaises(ValueError): unittest_pb2.TestAllTypes( optional_nested_message={'INVALID_NESTED_FIELD': 17}) with self.assertRaises(TypeError): unittest_pb2.TestAllTypes( optional_nested_message={'bb': 'INVALID_VALUE_TYPE'}) with self.assertRaises(ValueError): unittest_pb2.TestAllTypes(optional_nested_enum='INVALID_LABEL') with self.assertRaises(ValueError): unittest_pb2.TestAllTypes(repeated_nested_enum='FOO') # Class to test proto3-only features/behavior (updated field presence & enums) class Proto3Test(BaseTestCase): # Utility method for comparing equality with a map. def assertMapIterEquals(self, map_iter, dict_value): # Avoid mutating caller's copy. dict_value = dict(dict_value) for k, v in map_iter: self.assertEqual(v, dict_value[k]) del dict_value[k] self.assertEqual({}, dict_value) def testFieldPresence(self): message = unittest_proto3_arena_pb2.TestAllTypes() # We can't test presence of non-repeated, non-submessage fields. with self.assertRaises(ValueError): message.HasField('optional_int32') with self.assertRaises(ValueError): message.HasField('optional_float') with self.assertRaises(ValueError): message.HasField('optional_string') with self.assertRaises(ValueError): message.HasField('optional_bool') # But we can still test presence of submessage fields. self.assertFalse(message.HasField('optional_nested_message')) # As with proto2, we can't test presence of fields that don't exist, or # repeated fields. with self.assertRaises(ValueError): message.HasField('field_doesnt_exist') with self.assertRaises(ValueError): message.HasField('repeated_int32') with self.assertRaises(ValueError): message.HasField('repeated_nested_message') # Fields should default to their type-specific default. self.assertEqual(0, message.optional_int32) self.assertEqual(0, message.optional_float) self.assertEqual('', message.optional_string) self.assertEqual(False, message.optional_bool) self.assertEqual(0, message.optional_nested_message.bb) # Setting a submessage should still return proper presence information. message.optional_nested_message.bb = 0 self.assertTrue(message.HasField('optional_nested_message')) # Set the fields to non-default values. message.optional_int32 = 5 message.optional_float = 1.1 message.optional_string = 'abc' message.optional_bool = True message.optional_nested_message.bb = 15 # Clearing the fields unsets them and resets their value to default. message.ClearField('optional_int32') message.ClearField('optional_float') message.ClearField('optional_string') message.ClearField('optional_bool') message.ClearField('optional_nested_message') self.assertEqual(0, message.optional_int32) self.assertEqual(0, message.optional_float) self.assertEqual('', message.optional_string) self.assertEqual(False, message.optional_bool) self.assertEqual(0, message.optional_nested_message.bb) def testAssignUnknownEnum(self): """Assigning an unknown enum value is allowed and preserves the value.""" m = unittest_proto3_arena_pb2.TestAllTypes() # Proto3 can assign unknown enums. m.optional_nested_enum = 1234567 self.assertEqual(1234567, m.optional_nested_enum) m.repeated_nested_enum.append(22334455) self.assertEqual(22334455, m.repeated_nested_enum[0]) # Assignment is a different code path than append for the C++ impl. m.repeated_nested_enum[0] = 7654321 self.assertEqual(7654321, m.repeated_nested_enum[0]) serialized = m.SerializeToString() m2 = unittest_proto3_arena_pb2.TestAllTypes() m2.ParseFromString(serialized) self.assertEqual(1234567, m2.optional_nested_enum) self.assertEqual(7654321, m2.repeated_nested_enum[0]) # Map isn't really a proto3-only feature. But there is no proto2 equivalent # of google/protobuf/map_unittest.proto right now, so it's not easy to # test both with the same test like we do for the other proto2/proto3 tests. # (google/protobuf/map_proto2_unittest.proto is very different in the set # of messages and fields it contains). def testScalarMapDefaults(self): msg = map_unittest_pb2.TestMap() # Scalars start out unset. self.assertFalse(-123 in msg.map_int32_int32) self.assertFalse(-2**33 in msg.map_int64_int64) self.assertFalse(123 in msg.map_uint32_uint32) self.assertFalse(2**33 in msg.map_uint64_uint64) self.assertFalse(123 in msg.map_int32_double) self.assertFalse(False in msg.map_bool_bool) self.assertFalse('abc' in msg.map_string_string) self.assertFalse(111 in msg.map_int32_bytes) self.assertFalse(888 in msg.map_int32_enum) # Accessing an unset key returns the default. self.assertEqual(0, msg.map_int32_int32[-123]) self.assertEqual(0, msg.map_int64_int64[-2**33]) self.assertEqual(0, msg.map_uint32_uint32[123]) self.assertEqual(0, msg.map_uint64_uint64[2**33]) self.assertEqual(0.0, msg.map_int32_double[123]) self.assertTrue(isinstance(msg.map_int32_double[123], float)) self.assertEqual(False, msg.map_bool_bool[False]) self.assertTrue(isinstance(msg.map_bool_bool[False], bool)) self.assertEqual('', msg.map_string_string['abc']) self.assertEqual(b'', msg.map_int32_bytes[111]) self.assertEqual(0, msg.map_int32_enum[888]) # It also sets the value in the map self.assertTrue(-123 in msg.map_int32_int32) self.assertTrue(-2**33 in msg.map_int64_int64) self.assertTrue(123 in msg.map_uint32_uint32) self.assertTrue(2**33 in msg.map_uint64_uint64) self.assertTrue(123 in msg.map_int32_double) self.assertTrue(False in msg.map_bool_bool) self.assertTrue('abc' in msg.map_string_string) self.assertTrue(111 in msg.map_int32_bytes) self.assertTrue(888 in msg.map_int32_enum) self.assertIsInstance(msg.map_string_string['abc'], six.text_type) # Accessing an unset key still throws TypeError if the type of the key # is incorrect. with self.assertRaises(TypeError): msg.map_string_string[123] with self.assertRaises(TypeError): 123 in msg.map_string_string def testMapGet(self): # Need to test that get() properly returns the default, even though the dict # has defaultdict-like semantics. msg = map_unittest_pb2.TestMap() self.assertIsNone(msg.map_int32_int32.get(5)) self.assertEqual(10, msg.map_int32_int32.get(5, 10)) self.assertIsNone(msg.map_int32_int32.get(5)) msg.map_int32_int32[5] = 15 self.assertEqual(15, msg.map_int32_int32.get(5)) self.assertEqual(15, msg.map_int32_int32.get(5)) with self.assertRaises(TypeError): msg.map_int32_int32.get('') self.assertIsNone(msg.map_int32_foreign_message.get(5)) self.assertEqual(10, msg.map_int32_foreign_message.get(5, 10)) submsg = msg.map_int32_foreign_message[5] self.assertIs(submsg, msg.map_int32_foreign_message.get(5)) # TODO(jieluo): Fix python and cpp extension diff. if api_implementation.Type() == 'cpp': with self.assertRaises(TypeError): msg.map_int32_foreign_message.get('') else: self.assertEqual(None, msg.map_int32_foreign_message.get('')) def testScalarMap(self): msg = map_unittest_pb2.TestMap() self.assertEqual(0, len(msg.map_int32_int32)) self.assertFalse(5 in msg.map_int32_int32) msg.map_int32_int32[-123] = -456 msg.map_int64_int64[-2**33] = -2**34 msg.map_uint32_uint32[123] = 456 msg.map_uint64_uint64[2**33] = 2**34 msg.map_int32_float[2] = 1.2 msg.map_int32_double[1] = 3.3 msg.map_string_string['abc'] = '123' msg.map_bool_bool[True] = True msg.map_int32_enum[888] = 2 # Unknown numeric enum is supported in proto3. msg.map_int32_enum[123] = 456 self.assertEqual([], msg.FindInitializationErrors()) self.assertEqual(1, len(msg.map_string_string)) # Bad key. with self.assertRaises(TypeError): msg.map_string_string[123] = '123' # Verify that trying to assign a bad key doesn't actually add a member to # the map. self.assertEqual(1, len(msg.map_string_string)) # Bad value. with self.assertRaises(TypeError): msg.map_string_string['123'] = 123 serialized = msg.SerializeToString() msg2 = map_unittest_pb2.TestMap() msg2.ParseFromString(serialized) # Bad key. with self.assertRaises(TypeError): msg2.map_string_string[123] = '123' # Bad value. with self.assertRaises(TypeError): msg2.map_string_string['123'] = 123 self.assertEqual(-456, msg2.map_int32_int32[-123]) self.assertEqual(-2**34, msg2.map_int64_int64[-2**33]) self.assertEqual(456, msg2.map_uint32_uint32[123]) self.assertEqual(2**34, msg2.map_uint64_uint64[2**33]) self.assertAlmostEqual(1.2, msg.map_int32_float[2]) self.assertEqual(3.3, msg.map_int32_double[1]) self.assertEqual('123', msg2.map_string_string['abc']) self.assertEqual(True, msg2.map_bool_bool[True]) self.assertEqual(2, msg2.map_int32_enum[888]) self.assertEqual(456, msg2.map_int32_enum[123]) # TODO(jieluo): Add cpp extension support. if api_implementation.Type() == 'python': self.assertEqual('{-123: -456}', str(msg2.map_int32_int32)) def testMapEntryAlwaysSerialized(self): msg = map_unittest_pb2.TestMap() msg.map_int32_int32[0] = 0 msg.map_string_string[''] = '' self.assertEqual(msg.ByteSize(), 12) self.assertEqual(b'\n\x04\x08\x00\x10\x00r\x04\n\x00\x12\x00', msg.SerializeToString()) def testStringUnicodeConversionInMap(self): msg = map_unittest_pb2.TestMap() unicode_obj = '\u1234' bytes_obj = unicode_obj.encode('utf8') msg.map_string_string[bytes_obj] = bytes_obj (key, value) = list(msg.map_string_string.items())[0] self.assertEqual(key, unicode_obj) self.assertEqual(value, unicode_obj) self.assertIsInstance(key, six.text_type) self.assertIsInstance(value, six.text_type) def testMessageMap(self): msg = map_unittest_pb2.TestMap() self.assertEqual(0, len(msg.map_int32_foreign_message)) self.assertFalse(5 in msg.map_int32_foreign_message) msg.map_int32_foreign_message[123] # get_or_create() is an alias for getitem. msg.map_int32_foreign_message.get_or_create(-456) self.assertEqual(2, len(msg.map_int32_foreign_message)) self.assertIn(123, msg.map_int32_foreign_message) self.assertIn(-456, msg.map_int32_foreign_message) self.assertEqual(2, len(msg.map_int32_foreign_message)) # Bad key. with self.assertRaises(TypeError): msg.map_int32_foreign_message['123'] # Can't assign directly to submessage. with self.assertRaises(ValueError): msg.map_int32_foreign_message[999] = msg.map_int32_foreign_message[123] # Verify that trying to assign a bad key doesn't actually add a member to # the map. self.assertEqual(2, len(msg.map_int32_foreign_message)) serialized = msg.SerializeToString() msg2 = map_unittest_pb2.TestMap() msg2.ParseFromString(serialized) self.assertEqual(2, len(msg2.map_int32_foreign_message)) self.assertIn(123, msg2.map_int32_foreign_message) self.assertIn(-456, msg2.map_int32_foreign_message) self.assertEqual(2, len(msg2.map_int32_foreign_message)) # TODO(jieluo): Fix text format for message map. # TODO(jieluo): Add cpp extension support. if api_implementation.Type() == 'python': self.assertEqual(15, len(str(msg2.map_int32_foreign_message))) def testNestedMessageMapItemDelete(self): msg = map_unittest_pb2.TestMap() msg.map_int32_all_types[1].optional_nested_message.bb = 1 del msg.map_int32_all_types[1] msg.map_int32_all_types[2].optional_nested_message.bb = 2 self.assertEqual(1, len(msg.map_int32_all_types)) msg.map_int32_all_types[1].optional_nested_message.bb = 1 self.assertEqual(2, len(msg.map_int32_all_types)) serialized = msg.SerializeToString() msg2 = map_unittest_pb2.TestMap() msg2.ParseFromString(serialized) keys = [1, 2] # The loop triggers PyErr_Occurred() in c extension. for key in keys: del msg2.map_int32_all_types[key] def testMapByteSize(self): msg = map_unittest_pb2.TestMap() msg.map_int32_int32[1] = 1 size = msg.ByteSize() msg.map_int32_int32[1] = 128 self.assertEqual(msg.ByteSize(), size + 1) msg.map_int32_foreign_message[19].c = 1 size = msg.ByteSize() msg.map_int32_foreign_message[19].c = 128 self.assertEqual(msg.ByteSize(), size + 1) def testMergeFrom(self): msg = map_unittest_pb2.TestMap() msg.map_int32_int32[12] = 34 msg.map_int32_int32[56] = 78 msg.map_int64_int64[22] = 33 msg.map_int32_foreign_message[111].c = 5 msg.map_int32_foreign_message[222].c = 10 msg2 = map_unittest_pb2.TestMap() msg2.map_int32_int32[12] = 55 msg2.map_int64_int64[88] = 99 msg2.map_int32_foreign_message[222].c = 15 msg2.map_int32_foreign_message[222].d = 20 old_map_value = msg2.map_int32_foreign_message[222] msg2.MergeFrom(msg) self.assertEqual(34, msg2.map_int32_int32[12]) self.assertEqual(78, msg2.map_int32_int32[56]) self.assertEqual(33, msg2.map_int64_int64[22]) self.assertEqual(99, msg2.map_int64_int64[88]) self.assertEqual(5, msg2.map_int32_foreign_message[111].c) self.assertEqual(10, msg2.map_int32_foreign_message[222].c) self.assertFalse(msg2.map_int32_foreign_message[222].HasField('d')) if api_implementation.Type() != 'cpp': # During the call to MergeFrom(), the C++ implementation will have # deallocated the underlying message, but this is very difficult to detect # properly. The line below is likely to cause a segmentation fault. # With the Python implementation, old_map_value is just 'detached' from # the main message. Using it will not crash of course, but since it still # have a reference to the parent message I'm sure we can find interesting # ways to cause inconsistencies. self.assertEqual(15, old_map_value.c) # Verify that there is only one entry per key, even though the MergeFrom # may have internally created multiple entries for a single key in the # list representation. as_dict = {} for key in msg2.map_int32_foreign_message: self.assertFalse(key in as_dict) as_dict[key] = msg2.map_int32_foreign_message[key].c self.assertEqual({111: 5, 222: 10}, as_dict) # Special case: test that delete of item really removes the item, even if # there might have physically been duplicate keys due to the previous merge. # This is only a special case for the C++ implementation which stores the # map as an array. del msg2.map_int32_int32[12] self.assertFalse(12 in msg2.map_int32_int32) del msg2.map_int32_foreign_message[222] self.assertFalse(222 in msg2.map_int32_foreign_message) if api_implementation.Type() == 'cpp': with self.assertRaises(TypeError): del msg2.map_int32_foreign_message[''] else: with self.assertRaises(KeyError): del msg2.map_int32_foreign_message[''] def testMergeFromBadType(self): msg = map_unittest_pb2.TestMap() with self.assertRaisesRegex( TypeError, r'Parameter to MergeFrom\(\) must be instance of same class: expected ' r'.*TestMap got int\.'): msg.MergeFrom(1) def testCopyFromBadType(self): msg = map_unittest_pb2.TestMap() with self.assertRaisesRegex( TypeError, r'Parameter to [A-Za-z]*From\(\) must be instance of same class: ' r'expected .*TestMap got int\.'): msg.CopyFrom(1) def testIntegerMapWithLongs(self): msg = map_unittest_pb2.TestMap() msg.map_int32_int32[int(-123)] = int(-456) msg.map_int64_int64[int(-2**33)] = int(-2**34) msg.map_uint32_uint32[int(123)] = int(456) msg.map_uint64_uint64[int(2**33)] = int(2**34) serialized = msg.SerializeToString() msg2 = map_unittest_pb2.TestMap() msg2.ParseFromString(serialized) self.assertEqual(-456, msg2.map_int32_int32[-123]) self.assertEqual(-2**34, msg2.map_int64_int64[-2**33]) self.assertEqual(456, msg2.map_uint32_uint32[123]) self.assertEqual(2**34, msg2.map_uint64_uint64[2**33]) def testMapAssignmentCausesPresence(self): msg = map_unittest_pb2.TestMapSubmessage() msg.test_map.map_int32_int32[123] = 456 serialized = msg.SerializeToString() msg2 = map_unittest_pb2.TestMapSubmessage() msg2.ParseFromString(serialized) self.assertEqual(msg, msg2) # Now test that various mutations of the map properly invalidate the # cached size of the submessage. msg.test_map.map_int32_int32[888] = 999 serialized = msg.SerializeToString() msg2.ParseFromString(serialized) self.assertEqual(msg, msg2) msg.test_map.map_int32_int32.clear() serialized = msg.SerializeToString() msg2.ParseFromString(serialized) self.assertEqual(msg, msg2) def testMapAssignmentCausesPresenceForSubmessages(self): msg = map_unittest_pb2.TestMapSubmessage() msg.test_map.map_int32_foreign_message[123].c = 5 serialized = msg.SerializeToString() msg2 = map_unittest_pb2.TestMapSubmessage() msg2.ParseFromString(serialized) self.assertEqual(msg, msg2) # Now test that various mutations of the map properly invalidate the # cached size of the submessage. msg.test_map.map_int32_foreign_message[888].c = 7 serialized = msg.SerializeToString() msg2.ParseFromString(serialized) self.assertEqual(msg, msg2) msg.test_map.map_int32_foreign_message[888].MergeFrom( msg.test_map.map_int32_foreign_message[123]) serialized = msg.SerializeToString() msg2.ParseFromString(serialized) self.assertEqual(msg, msg2) msg.test_map.map_int32_foreign_message.clear() serialized = msg.SerializeToString() msg2.ParseFromString(serialized) self.assertEqual(msg, msg2) def testModifyMapWhileIterating(self): msg = map_unittest_pb2.TestMap() string_string_iter = iter(msg.map_string_string) int32_foreign_iter = iter(msg.map_int32_foreign_message) msg.map_string_string['abc'] = '123' msg.map_int32_foreign_message[5].c = 5 with self.assertRaises(RuntimeError): for key in string_string_iter: pass with self.assertRaises(RuntimeError): for key in int32_foreign_iter: pass def testSubmessageMap(self): msg = map_unittest_pb2.TestMap() submsg = msg.map_int32_foreign_message[111] self.assertIs(submsg, msg.map_int32_foreign_message[111]) self.assertIsInstance(submsg, unittest_pb2.ForeignMessage) submsg.c = 5 serialized = msg.SerializeToString() msg2 = map_unittest_pb2.TestMap() msg2.ParseFromString(serialized) self.assertEqual(5, msg2.map_int32_foreign_message[111].c) # Doesn't allow direct submessage assignment. with self.assertRaises(ValueError): msg.map_int32_foreign_message[88] = unittest_pb2.ForeignMessage() def testMapIteration(self): msg = map_unittest_pb2.TestMap() for k, v in list(msg.map_int32_int32.items()): # Should not be reached. self.assertTrue(False) msg.map_int32_int32[2] = 4 msg.map_int32_int32[3] = 6 msg.map_int32_int32[4] = 8 self.assertEqual(3, len(msg.map_int32_int32)) matching_dict = {2: 4, 3: 6, 4: 8} self.assertMapIterEquals(list(msg.map_int32_int32.items()), matching_dict) def testPython2Map(self): if sys.version_info < (3,): msg = map_unittest_pb2.TestMap() msg.map_int32_int32[2] = 4 msg.map_int32_int32[3] = 6 msg.map_int32_int32[4] = 8 msg.map_int32_int32[5] = 10 map_int32 = msg.map_int32_int32 self.assertEqual(4, len(map_int32)) msg2 = map_unittest_pb2.TestMap() msg2.ParseFromString(msg.SerializeToString()) def CheckItems(seq, iterator): self.assertEqual(next(iterator), seq[0]) self.assertEqual(list(iterator), seq[1:]) CheckItems(list(map_int32.items()), iter(map_int32.items())) CheckItems(list(map_int32.keys()), iter(map_int32.keys())) CheckItems(list(map_int32.values()), iter(map_int32.values())) self.assertEqual(6, map_int32.get(3)) self.assertEqual(None, map_int32.get(999)) self.assertEqual(6, map_int32.pop(3)) self.assertEqual(0, map_int32.pop(3)) self.assertEqual(3, len(map_int32)) key, value = map_int32.popitem() self.assertEqual(2 * key, value) self.assertEqual(2, len(map_int32)) map_int32.clear() self.assertEqual(0, len(map_int32)) with self.assertRaises(KeyError): map_int32.popitem() self.assertEqual(0, map_int32.setdefault(2)) self.assertEqual(1, len(map_int32)) map_int32.update(msg2.map_int32_int32) self.assertEqual(4, len(map_int32)) with self.assertRaises(TypeError): map_int32.update(msg2.map_int32_int32, msg2.map_int32_int32) with self.assertRaises(TypeError): map_int32.update(0) with self.assertRaises(TypeError): map_int32.update(value=12) def testMapItems(self): # Map items used to have strange behaviors when use c extension. Because # [] may reorder the map and invalidate any exsting iterators. # TODO(jieluo): Check if [] reordering the map is a bug or intended # behavior. msg = map_unittest_pb2.TestMap() msg.map_string_string['local_init_op'] = '' msg.map_string_string['trainable_variables'] = '' msg.map_string_string['variables'] = '' msg.map_string_string['init_op'] = '' msg.map_string_string['summaries'] = '' items1 = list(msg.map_string_string.items()) items2 = list(msg.map_string_string.items()) self.assertEqual(items1, items2) def testMapDeterministicSerialization(self): golden_data = (b'r\x0c\n\x07init_op\x12\x01d' b'r\n\n\x05item1\x12\x01e' b'r\n\n\x05item2\x12\x01f' b'r\n\n\x05item3\x12\x01g' b'r\x0b\n\x05item4\x12\x02QQ' b'r\x12\n\rlocal_init_op\x12\x01a' b'r\x0e\n\tsummaries\x12\x01e' b'r\x18\n\x13trainable_variables\x12\x01b' b'r\x0e\n\tvariables\x12\x01c') msg = map_unittest_pb2.TestMap() msg.map_string_string['local_init_op'] = 'a' msg.map_string_string['trainable_variables'] = 'b' msg.map_string_string['variables'] = 'c' msg.map_string_string['init_op'] = 'd' msg.map_string_string['summaries'] = 'e' msg.map_string_string['item1'] = 'e' msg.map_string_string['item2'] = 'f' msg.map_string_string['item3'] = 'g' msg.map_string_string['item4'] = 'QQ' # If deterministic serialization is not working correctly, this will be # "flaky" depending on the exact python dict hash seed. # # Fortunately, there are enough items in this map that it is extremely # unlikely to ever hit the "right" in-order combination, so the test # itself should fail reliably. self.assertEqual(golden_data, msg.SerializeToString(deterministic=True)) def testMapIterationClearMessage(self): # Iterator needs to work even if message and map are deleted. msg = map_unittest_pb2.TestMap() msg.map_int32_int32[2] = 4 msg.map_int32_int32[3] = 6 msg.map_int32_int32[4] = 8 it = list(msg.map_int32_int32.items()) del msg matching_dict = {2: 4, 3: 6, 4: 8} self.assertMapIterEquals(it, matching_dict) def testMapConstruction(self): msg = map_unittest_pb2.TestMap(map_int32_int32={1: 2, 3: 4}) self.assertEqual(2, msg.map_int32_int32[1]) self.assertEqual(4, msg.map_int32_int32[3]) msg = map_unittest_pb2.TestMap( map_int32_foreign_message={3: unittest_pb2.ForeignMessage(c=5)}) self.assertEqual(5, msg.map_int32_foreign_message[3].c) def testMapValidAfterFieldCleared(self): # Map needs to work even if field is cleared. # For the C++ implementation this tests the correctness of # ScalarMapContainer::Release() msg = map_unittest_pb2.TestMap() int32_map = msg.map_int32_int32 int32_map[2] = 4 int32_map[3] = 6 int32_map[4] = 8 msg.ClearField('map_int32_int32') self.assertEqual(b'', msg.SerializeToString()) matching_dict = {2: 4, 3: 6, 4: 8} self.assertMapIterEquals(list(int32_map.items()), matching_dict) def testMessageMapValidAfterFieldCleared(self): # Map needs to work even if field is cleared. # For the C++ implementation this tests the correctness of # ScalarMapContainer::Release() msg = map_unittest_pb2.TestMap() int32_foreign_message = msg.map_int32_foreign_message int32_foreign_message[2].c = 5 msg.ClearField('map_int32_foreign_message') self.assertEqual(b'', msg.SerializeToString()) self.assertTrue(2 in list(int32_foreign_message.keys())) def testMapIterInvalidatedByClearField(self): # Map iterator is invalidated when field is cleared. # But this case does need to not crash the interpreter. # For the C++ implementation this tests the correctness of # ScalarMapContainer::Release() msg = map_unittest_pb2.TestMap() it = iter(msg.map_int32_int32) msg.ClearField('map_int32_int32') with self.assertRaises(RuntimeError): for _ in it: pass it = iter(msg.map_int32_foreign_message) msg.ClearField('map_int32_foreign_message') with self.assertRaises(RuntimeError): for _ in it: pass def testMapDelete(self): msg = map_unittest_pb2.TestMap() self.assertEqual(0, len(msg.map_int32_int32)) msg.map_int32_int32[4] = 6 self.assertEqual(1, len(msg.map_int32_int32)) with self.assertRaises(KeyError): del msg.map_int32_int32[88] del msg.map_int32_int32[4] self.assertEqual(0, len(msg.map_int32_int32)) with self.assertRaises(KeyError): del msg.map_int32_all_types[32] def testMapsAreMapping(self): msg = map_unittest_pb2.TestMap() self.assertIsInstance(msg.map_int32_int32, collections.Mapping) self.assertIsInstance(msg.map_int32_int32, collections.MutableMapping) self.assertIsInstance(msg.map_int32_foreign_message, collections.Mapping) self.assertIsInstance(msg.map_int32_foreign_message, collections.MutableMapping) def testMapsCompare(self): msg = map_unittest_pb2.TestMap() msg.map_int32_int32[-123] = -456 self.assertEqual(msg.map_int32_int32, msg.map_int32_int32) self.assertEqual(msg.map_int32_foreign_message, msg.map_int32_foreign_message) self.assertNotEqual(msg.map_int32_int32, 0) def testMapFindInitializationErrorsSmokeTest(self): msg = map_unittest_pb2.TestMap() msg.map_string_string['abc'] = '123' msg.map_int32_int32[35] = 64 msg.map_string_foreign_message['foo'].c = 5 self.assertEqual(0, len(msg.FindInitializationErrors())) class ValidTypeNamesTest(BaseTestCase): def assertImportFromName(self, msg, base_name): # Parse to extra 'some.name' as a string. tp_name = str(type(msg)).split("'")[1] valid_names = ('Repeated%sContainer' % base_name, 'Repeated%sFieldContainer' % base_name) self.assertTrue(any(tp_name.endswith(v) for v in valid_names), '%r does end with any of %r' % (tp_name, valid_names)) parts = tp_name.split('.') class_name = parts[-1] module_name = '.'.join(parts[:-1]) __import__(module_name, fromlist=[class_name]) def testTypeNamesCanBeImported(self): # If import doesn't work, pickling won't work either. pb = unittest_pb2.TestAllTypes() self.assertImportFromName(pb.repeated_int32, 'Scalar') self.assertImportFromName(pb.repeated_nested_message, 'Composite') class PackedFieldTest(BaseTestCase): def setMessage(self, message): message.repeated_int32.append(1) message.repeated_int64.append(1) message.repeated_uint32.append(1) message.repeated_uint64.append(1) message.repeated_sint32.append(1) message.repeated_sint64.append(1) message.repeated_fixed32.append(1) message.repeated_fixed64.append(1) message.repeated_sfixed32.append(1) message.repeated_sfixed64.append(1) message.repeated_float.append(1.0) message.repeated_double.append(1.0) message.repeated_bool.append(True) message.repeated_nested_enum.append(1) def testPackedFields(self): message = packed_field_test_pb2.TestPackedTypes() self.setMessage(message) golden_data = (b'\x0A\x01\x01' b'\x12\x01\x01' b'\x1A\x01\x01' b'\x22\x01\x01' b'\x2A\x01\x02' b'\x32\x01\x02' b'\x3A\x04\x01\x00\x00\x00' b'\x42\x08\x01\x00\x00\x00\x00\x00\x00\x00' b'\x4A\x04\x01\x00\x00\x00' b'\x52\x08\x01\x00\x00\x00\x00\x00\x00\x00' b'\x5A\x04\x00\x00\x80\x3f' b'\x62\x08\x00\x00\x00\x00\x00\x00\xf0\x3f' b'\x6A\x01\x01' b'\x72\x01\x01') self.assertEqual(golden_data, message.SerializeToString()) def testUnpackedFields(self): message = packed_field_test_pb2.TestUnpackedTypes() self.setMessage(message) golden_data = (b'\x08\x01' b'\x10\x01' b'\x18\x01' b'\x20\x01' b'\x28\x02' b'\x30\x02' b'\x3D\x01\x00\x00\x00' b'\x41\x01\x00\x00\x00\x00\x00\x00\x00' b'\x4D\x01\x00\x00\x00' b'\x51\x01\x00\x00\x00\x00\x00\x00\x00' b'\x5D\x00\x00\x80\x3f' b'\x61\x00\x00\x00\x00\x00\x00\xf0\x3f' b'\x68\x01' b'\x70\x01') self.assertEqual(golden_data, message.SerializeToString()) @unittest.skipIf(api_implementation.Type() != 'cpp' or sys.version_info < (2, 7), 'explicit tests of the C++ implementation for PY27 and above') class OversizeProtosTest(BaseTestCase): @classmethod def setUpClass(cls): # At the moment, reference cycles between DescriptorPool and Message classes # are not detected and these objects are never freed. # To avoid errors with ReferenceLeakChecker, we create the class only once. file_desc = """ name: "f/f.msg2" package: "f" message_type { name: "msg1" field { name: "payload" number: 1 label: LABEL_OPTIONAL type: TYPE_STRING } } message_type { name: "msg2" field { name: "field" number: 1 label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: "msg1" } } """ pool = descriptor_pool.DescriptorPool() desc = descriptor_pb2.FileDescriptorProto() text_format.Parse(file_desc, desc) pool.Add(desc) cls.proto_cls = message_factory.MessageFactory(pool).GetPrototype( pool.FindMessageTypeByName('f.msg2')) def setUp(self): self.p = self.proto_cls() self.p.field.payload = 'c' * (1024 * 1024 * 64 + 1) self.p_serialized = self.p.SerializeToString() def testAssertOversizeProto(self): from google.protobuf.pyext._message import SetAllowOversizeProtos SetAllowOversizeProtos(False) q = self.proto_cls() try: q.ParseFromString(self.p_serialized) except message.DecodeError as e: self.assertEqual(str(e), 'Error parsing message') def testSucceedOversizeProto(self): from google.protobuf.pyext._message import SetAllowOversizeProtos SetAllowOversizeProtos(True) q = self.proto_cls() q.ParseFromString(self.p_serialized) self.assertEqual(self.p.field.payload, q.field.payload) if __name__ == '__main__': unittest.main() PK!\<\<#protobuf/internal/_parameterized.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Adds support for parameterized tests to Python's unittest TestCase class. A parameterized test is a method in a test case that is invoked with different argument tuples. A simple example: class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( (1, 2, 3), (4, 5, 9), (1, 1, 3)) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) Each invocation is a separate test case and properly isolated just like a normal test method, with its own setUp/tearDown cycle. In the example above, there are three separate testcases, one of which will fail due to an assertion error (1 + 1 != 3). Parameters for invididual test cases can be tuples (with positional parameters) or dictionaries (with named parameters): class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( {'op1': 1, 'op2': 2, 'result': 3}, {'op1': 4, 'op2': 5, 'result': 9}, ) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) If a parameterized test fails, the error message will show the original test name (which is modified internally) and the arguments for the specific invocation, which are part of the string returned by the shortDescription() method on test cases. The id method of the test, used internally by the unittest framework, is also modified to show the arguments. To make sure that test names stay the same across several invocations, object representations like >>> class Foo(object): ... pass >>> repr(Foo()) '<__main__.Foo object at 0x23d8610>' are turned into '<__main__.Foo>'. For even more descriptive names, especially in test logs, you can use the NamedParameters decorator. In this case, only tuples are supported, and the first parameters has to be a string (or an object that returns an apt name when converted via str()): class NamedExample(parameterized.ParameterizedTestCase): @parameterized.NamedParameters( ('Normal', 'aa', 'aaa', True), ('EmptyPrefix', '', 'abc', True), ('BothEmpty', '', '', True)) def testStartsWith(self, prefix, string, result): self.assertEqual(result, strings.startswith(prefix)) Named tests also have the benefit that they can be run individually from the command line: $ testmodule.py NamedExample.testStartsWithNormal . -------------------------------------------------------------------- Ran 1 test in 0.000s OK Parameterized Classes ===================== If invocation arguments are shared across test methods in a single ParameterizedTestCase class, instead of decorating all test methods individually, the class itself can be decorated: @parameterized.Parameters( (1, 2, 3) (4, 5, 9)) class ArithmeticTest(parameterized.ParameterizedTestCase): def testAdd(self, arg1, arg2, result): self.assertEqual(arg1 + arg2, result) def testSubtract(self, arg2, arg2, result): self.assertEqual(result - arg1, arg2) Inputs from Iterables ===================== If parameters should be shared across several test cases, or are dynamically created from other sources, a single non-tuple iterable can be passed into the decorator. This iterable will be used to obtain the test cases: class AdditionExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( c.op1, c.op2, c.result for c in testcases ) def testAddition(self, op1, op2, result): self.assertEqual(result, op1 + op2) Single-Argument Test Methods ============================ If a test method takes only one argument, the single argument does not need to be wrapped into a tuple: class NegativeNumberExample(parameterized.ParameterizedTestCase): @parameterized.Parameters( -1, -3, -4, -5 ) def testIsNegative(self, arg): self.assertTrue(IsNegative(arg)) """ __author__ = 'tmarek@google.com (Torsten Marek)' import collections import functools import re import types try: import unittest2 as unittest except ImportError: import unittest import uuid import six ADDR_RE = re.compile(r'\<([a-zA-Z0-9_\-\.]+) object at 0x[a-fA-F0-9]+\>') _SEPARATOR = uuid.uuid1().hex _FIRST_ARG = object() _ARGUMENT_REPR = object() def _CleanRepr(obj): return ADDR_RE.sub(r'<\1>', repr(obj)) # Helper function formerly from the unittest module, removed from it in # Python 2.7. def _StrClass(cls): return '%s.%s' % (cls.__module__, cls.__name__) def _NonStringIterable(obj): return (isinstance(obj, collections.Iterable) and not isinstance(obj, six.string_types)) def _FormatParameterList(testcase_params): if isinstance(testcase_params, collections.Mapping): return ', '.join('%s=%s' % (argname, _CleanRepr(value)) for argname, value in list(testcase_params.items())) elif _NonStringIterable(testcase_params): return ', '.join(map(_CleanRepr, testcase_params)) else: return _FormatParameterList((testcase_params,)) class _ParameterizedTestIter(object): """Callable and iterable class for producing new test cases.""" def __init__(self, test_method, testcases, naming_type): """Returns concrete test functions for a test and a list of parameters. The naming_type is used to determine the name of the concrete functions as reported by the unittest framework. If naming_type is _FIRST_ARG, the testcases must be tuples, and the first element must have a string representation that is a valid Python identifier. Args: test_method: The decorated test method. testcases: (list of tuple/dict) A list of parameter tuples/dicts for individual test invocations. naming_type: The test naming type, either _NAMED or _ARGUMENT_REPR. """ self._test_method = test_method self.testcases = testcases self._naming_type = naming_type def __call__(self, *args, **kwargs): raise RuntimeError('You appear to be running a parameterized test case ' 'without having inherited from parameterized.' 'ParameterizedTestCase. This is bad because none of ' 'your test cases are actually being run.') def __iter__(self): test_method = self._test_method naming_type = self._naming_type def MakeBoundParamTest(testcase_params): @functools.wraps(test_method) def BoundParamTest(self): if isinstance(testcase_params, collections.Mapping): test_method(self, **testcase_params) elif _NonStringIterable(testcase_params): test_method(self, *testcase_params) else: test_method(self, testcase_params) if naming_type is _FIRST_ARG: # Signal the metaclass that the name of the test function is unique # and descriptive. BoundParamTest.__x_use_name__ = True BoundParamTest.__name__ += str(testcase_params[0]) testcase_params = testcase_params[1:] elif naming_type is _ARGUMENT_REPR: # __x_extra_id__ is used to pass naming information to the __new__ # method of TestGeneratorMetaclass. # The metaclass will make sure to create a unique, but nondescriptive # name for this test. BoundParamTest.__x_extra_id__ = '(%s)' % ( _FormatParameterList(testcase_params),) else: raise RuntimeError('%s is not a valid naming type.' % (naming_type,)) BoundParamTest.__doc__ = '%s(%s)' % ( BoundParamTest.__name__, _FormatParameterList(testcase_params)) if test_method.__doc__: BoundParamTest.__doc__ += '\n%s' % (test_method.__doc__,) return BoundParamTest return (MakeBoundParamTest(c) for c in self.testcases) def _IsSingletonList(testcases): """True iff testcases contains only a single non-tuple element.""" return len(testcases) == 1 and not isinstance(testcases[0], tuple) def _ModifyClass(class_object, testcases, naming_type): assert not getattr(class_object, '_id_suffix', None), ( 'Cannot add parameters to %s,' ' which already has parameterized methods.' % (class_object,)) class_object._id_suffix = id_suffix = {} # We change the size of __dict__ while we iterate over it, # which Python 3.x will complain about, so use copy(). for name, obj in list(class_object.__dict__.copy().items()): if (name.startswith(unittest.TestLoader.testMethodPrefix) and isinstance(obj, types.FunctionType)): delattr(class_object, name) methods = {} _UpdateClassDictForParamTestCase( methods, id_suffix, name, _ParameterizedTestIter(obj, testcases, naming_type)) for name, meth in list(methods.items()): setattr(class_object, name, meth) def _ParameterDecorator(naming_type, testcases): """Implementation of the parameterization decorators. Args: naming_type: The naming type. testcases: Testcase parameters. Returns: A function for modifying the decorated object. """ def _Apply(obj): if isinstance(obj, type): _ModifyClass( obj, list(testcases) if not isinstance(testcases, collections.Sequence) else testcases, naming_type) return obj else: return _ParameterizedTestIter(obj, testcases, naming_type) if _IsSingletonList(testcases): assert _NonStringIterable(testcases[0]), ( 'Single parameter argument must be a non-string iterable') testcases = testcases[0] return _Apply def Parameters(*testcases): """A decorator for creating parameterized tests. See the module docstring for a usage example. Args: *testcases: Parameters for the decorated method, either a single iterable, or a list of tuples/dicts/objects (for tests with only one argument). Returns: A test generator to be handled by TestGeneratorMetaclass. """ return _ParameterDecorator(_ARGUMENT_REPR, testcases) def NamedParameters(*testcases): """A decorator for creating parameterized tests. See the module docstring for a usage example. The first element of each parameter tuple should be a string and will be appended to the name of the test method. Args: *testcases: Parameters for the decorated method, either a single iterable, or a list of tuples. Returns: A test generator to be handled by TestGeneratorMetaclass. """ return _ParameterDecorator(_FIRST_ARG, testcases) class TestGeneratorMetaclass(type): """Metaclass for test cases with test generators. A test generator is an iterable in a testcase that produces callables. These callables must be single-argument methods. These methods are injected into the class namespace and the original iterable is removed. If the name of the iterable conforms to the test pattern, the injected methods will be picked up as tests by the unittest framework. In general, it is supposed to be used in conjunction with the Parameters decorator. """ def __new__(mcs, class_name, bases, dct): dct['_id_suffix'] = id_suffix = {} for name, obj in list(dct.items()): if (name.startswith(unittest.TestLoader.testMethodPrefix) and _NonStringIterable(obj)): iterator = iter(obj) dct.pop(name) _UpdateClassDictForParamTestCase(dct, id_suffix, name, iterator) return type.__new__(mcs, class_name, bases, dct) def _UpdateClassDictForParamTestCase(dct, id_suffix, name, iterator): """Adds individual test cases to a dictionary. Args: dct: The target dictionary. id_suffix: The dictionary for mapping names to test IDs. name: The original name of the test case. iterator: The iterator generating the individual test cases. """ for idx, func in enumerate(iterator): assert callable(func), 'Test generators must yield callables, got %r' % ( func,) if getattr(func, '__x_use_name__', False): new_name = func.__name__ else: new_name = '%s%s%d' % (name, _SEPARATOR, idx) assert new_name not in dct, ( 'Name of parameterized test case "%s" not unique' % (new_name,)) dct[new_name] = func id_suffix[new_name] = getattr(func, '__x_extra_id__', '') class ParameterizedTestCase(unittest.TestCase, metaclass=TestGeneratorMetaclass): """Base class for test cases using the Parameters decorator.""" def _OriginalName(self): return self._testMethodName.split(_SEPARATOR)[0] def __str__(self): return '%s (%s)' % (self._OriginalName(), _StrClass(self.__class__)) def id(self): # pylint: disable=invalid-name """Returns the descriptive ID of the test. This is used internally by the unittesting framework to get a name for the test to be used in reports. Returns: The test id. """ return '%s.%s%s' % (_StrClass(self.__class__), self._OriginalName(), self._id_suffix.get(self._testMethodName, '')) def CoopParameterizedTestCase(other_base_class): """Returns a new base class with a cooperative metaclass base. This enables the ParameterizedTestCase to be used in combination with other base classes that have custom metaclasses, such as mox.MoxTestBase. Only works with metaclasses that do not override type.__new__. Example: import google3 import mox from google3.testing.pybase import parameterized class ExampleTest(parameterized.CoopParameterizedTestCase(mox.MoxTestBase)): ... Args: other_base_class: (class) A test case base class. Returns: A new class object. """ metaclass = type( 'CoopMetaclass', (other_base_class.__metaclass__, TestGeneratorMetaclass), {}) return metaclass( 'CoopParameterizedTestCase', (other_base_class, ParameterizedTestCase), {}) PK!a protobuf/internal/wire_format.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Constants and static functions to support protocol buffer wire format.""" __author__ = 'robinson@google.com (Will Robinson)' import struct from google.protobuf import descriptor from google.protobuf import message TAG_TYPE_BITS = 3 # Number of bits used to hold type info in a proto tag. TAG_TYPE_MASK = (1 << TAG_TYPE_BITS) - 1 # 0x7 # These numbers identify the wire type of a protocol buffer value. # We use the least-significant TAG_TYPE_BITS bits of the varint-encoded # tag-and-type to store one of these WIRETYPE_* constants. # These values must match WireType enum in google/protobuf/wire_format.h. WIRETYPE_VARINT = 0 WIRETYPE_FIXED64 = 1 WIRETYPE_LENGTH_DELIMITED = 2 WIRETYPE_START_GROUP = 3 WIRETYPE_END_GROUP = 4 WIRETYPE_FIXED32 = 5 _WIRETYPE_MAX = 5 # Bounds for various integer types. INT32_MAX = int((1 << 31) - 1) INT32_MIN = int(-(1 << 31)) UINT32_MAX = (1 << 32) - 1 INT64_MAX = (1 << 63) - 1 INT64_MIN = -(1 << 63) UINT64_MAX = (1 << 64) - 1 # "struct" format strings that will encode/decode the specified formats. FORMAT_UINT32_LITTLE_ENDIAN = '> TAG_TYPE_BITS), (tag & TAG_TYPE_MASK) def ZigZagEncode(value): """ZigZag Transform: Encodes signed integers so that they can be effectively used with varint encoding. See wire_format.h for more details. """ if value >= 0: return value << 1 return (value << 1) ^ (~0) def ZigZagDecode(value): """Inverse of ZigZagEncode().""" if not value & 0x1: return value >> 1 return (value >> 1) ^ (~0) # The *ByteSize() functions below return the number of bytes required to # serialize "field number + type" information and then serialize the value. def Int32ByteSize(field_number, int32): return Int64ByteSize(field_number, int32) def Int32ByteSizeNoTag(int32): return _VarUInt64ByteSizeNoTag(0xffffffffffffffff & int32) def Int64ByteSize(field_number, int64): # Have to convert to uint before calling UInt64ByteSize(). return UInt64ByteSize(field_number, 0xffffffffffffffff & int64) def UInt32ByteSize(field_number, uint32): return UInt64ByteSize(field_number, uint32) def UInt64ByteSize(field_number, uint64): return TagByteSize(field_number) + _VarUInt64ByteSizeNoTag(uint64) def SInt32ByteSize(field_number, int32): return UInt32ByteSize(field_number, ZigZagEncode(int32)) def SInt64ByteSize(field_number, int64): return UInt64ByteSize(field_number, ZigZagEncode(int64)) def Fixed32ByteSize(field_number, fixed32): return TagByteSize(field_number) + 4 def Fixed64ByteSize(field_number, fixed64): return TagByteSize(field_number) + 8 def SFixed32ByteSize(field_number, sfixed32): return TagByteSize(field_number) + 4 def SFixed64ByteSize(field_number, sfixed64): return TagByteSize(field_number) + 8 def FloatByteSize(field_number, flt): return TagByteSize(field_number) + 4 def DoubleByteSize(field_number, double): return TagByteSize(field_number) + 8 def BoolByteSize(field_number, b): return TagByteSize(field_number) + 1 def EnumByteSize(field_number, enum): return UInt32ByteSize(field_number, enum) def StringByteSize(field_number, string): return BytesByteSize(field_number, string.encode('utf-8')) def BytesByteSize(field_number, b): return (TagByteSize(field_number) + _VarUInt64ByteSizeNoTag(len(b)) + len(b)) def GroupByteSize(field_number, message): return (2 * TagByteSize(field_number) # START and END group. + message.ByteSize()) def MessageByteSize(field_number, message): return (TagByteSize(field_number) + _VarUInt64ByteSizeNoTag(message.ByteSize()) + message.ByteSize()) def MessageSetItemByteSize(field_number, msg): # First compute the sizes of the tags. # There are 2 tags for the beginning and ending of the repeated group, that # is field number 1, one with field number 2 (type_id) and one with field # number 3 (message). total_size = (2 * TagByteSize(1) + TagByteSize(2) + TagByteSize(3)) # Add the number of bytes for type_id. total_size += _VarUInt64ByteSizeNoTag(field_number) message_size = msg.ByteSize() # The number of bytes for encoding the length of the message. total_size += _VarUInt64ByteSizeNoTag(message_size) # The size of the message. total_size += message_size return total_size def TagByteSize(field_number): """Returns the bytes required to serialize a tag with this field number.""" # Just pass in type 0, since the type won't affect the tag+type size. return _VarUInt64ByteSizeNoTag(PackTag(field_number, 0)) # Private helper function for the *ByteSize() functions above. def _VarUInt64ByteSizeNoTag(uint64): """Returns the number of bytes required to serialize a single varint using boundary value comparisons. (unrolled loop optimization -WPierce) uint64 must be unsigned. """ if uint64 <= 0x7f: return 1 if uint64 <= 0x3fff: return 2 if uint64 <= 0x1fffff: return 3 if uint64 <= 0xfffffff: return 4 if uint64 <= 0x7ffffffff: return 5 if uint64 <= 0x3ffffffffff: return 6 if uint64 <= 0x1ffffffffffff: return 7 if uint64 <= 0xffffffffffffff: return 8 if uint64 <= 0x7fffffffffffffff: return 9 if uint64 > UINT64_MAX: raise message.EncodeError('Value out of range: %d' % uint64) return 10 NON_PACKABLE_TYPES = ( descriptor.FieldDescriptor.TYPE_STRING, descriptor.FieldDescriptor.TYPE_GROUP, descriptor.FieldDescriptor.TYPE_MESSAGE, descriptor.FieldDescriptor.TYPE_BYTES ) def IsTypePackable(field_type): """Return true iff packable = true is valid for fields of this type. Args: field_type: a FieldDescriptor::Type value. Returns: True iff fields of this type are packable. """ return field_type not in NON_PACKABLE_TYPES PK!sݴ&protobuf/internal/more_messages_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/more_messages.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/more_messages.proto', package='google.protobuf.internal', syntax='proto2', serialized_pb=_b('\n,google/protobuf/internal/more_messages.proto\x12\x18google.protobuf.internal\"h\n\x10OutOfOrderFields\x12\x17\n\x0foptional_sint32\x18\x05 \x01(\x11\x12\x17\n\x0foptional_uint32\x18\x03 \x01(\r\x12\x16\n\x0eoptional_int32\x18\x01 \x01(\x05*\x04\x08\x04\x10\x05*\x04\x08\x02\x10\x03:C\n\x0foptional_uint64\x12*.google.protobuf.internal.OutOfOrderFields\x18\x04 \x01(\x04:B\n\x0eoptional_int64\x12*.google.protobuf.internal.OutOfOrderFields\x18\x02 \x01(\x03') ) OPTIONAL_UINT64_FIELD_NUMBER = 4 optional_uint64 = _descriptor.FieldDescriptor( name='optional_uint64', full_name='google.protobuf.internal.optional_uint64', index=0, number=4, 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, options=None, file=DESCRIPTOR) OPTIONAL_INT64_FIELD_NUMBER = 2 optional_int64 = _descriptor.FieldDescriptor( name='optional_int64', full_name='google.protobuf.internal.optional_int64', index=1, number=2, 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, options=None, file=DESCRIPTOR) _OUTOFORDERFIELDS = _descriptor.Descriptor( name='OutOfOrderFields', full_name='google.protobuf.internal.OutOfOrderFields', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_sint32', full_name='google.protobuf.internal.OutOfOrderFields.optional_sint32', index=0, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint32', full_name='google.protobuf.internal.OutOfOrderFields.optional_uint32', index=1, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int32', full_name='google.protobuf.internal.OutOfOrderFields.optional_int32', index=2, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(4, 5), (2, 3), ], oneofs=[ ], serialized_start=74, serialized_end=178, ) DESCRIPTOR.message_types_by_name['OutOfOrderFields'] = _OUTOFORDERFIELDS DESCRIPTOR.extensions_by_name['optional_uint64'] = optional_uint64 DESCRIPTOR.extensions_by_name['optional_int64'] = optional_int64 _sym_db.RegisterFileDescriptor(DESCRIPTOR) OutOfOrderFields = _reflection.GeneratedProtocolMessageType('OutOfOrderFields', (_message.Message,), dict( DESCRIPTOR = _OUTOFORDERFIELDS, __module__ = 'google.protobuf.internal.more_messages_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.internal.OutOfOrderFields) )) _sym_db.RegisterMessage(OutOfOrderFields) OutOfOrderFields.RegisterExtension(optional_uint64) OutOfOrderFields.RegisterExtension(optional_int64) # @@protoc_insertion_point(module_scope) PK!s`%%,protobuf/internal/missing_enum_values_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/missing_enum_values.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/missing_enum_values.proto', package='google.protobuf.python.internal', syntax='proto2', serialized_pb=_b('\n2google/protobuf/internal/missing_enum_values.proto\x12\x1fgoogle.protobuf.python.internal\"\xc1\x02\n\x0eTestEnumValues\x12X\n\x14optional_nested_enum\x18\x01 \x01(\x0e\x32:.google.protobuf.python.internal.TestEnumValues.NestedEnum\x12X\n\x14repeated_nested_enum\x18\x02 \x03(\x0e\x32:.google.protobuf.python.internal.TestEnumValues.NestedEnum\x12Z\n\x12packed_nested_enum\x18\x03 \x03(\x0e\x32:.google.protobuf.python.internal.TestEnumValues.NestedEnumB\x02\x10\x01\"\x1f\n\nNestedEnum\x12\x08\n\x04ZERO\x10\x00\x12\x07\n\x03ONE\x10\x01\"\xd3\x02\n\x15TestMissingEnumValues\x12_\n\x14optional_nested_enum\x18\x01 \x01(\x0e\x32\x41.google.protobuf.python.internal.TestMissingEnumValues.NestedEnum\x12_\n\x14repeated_nested_enum\x18\x02 \x03(\x0e\x32\x41.google.protobuf.python.internal.TestMissingEnumValues.NestedEnum\x12\x61\n\x12packed_nested_enum\x18\x03 \x03(\x0e\x32\x41.google.protobuf.python.internal.TestMissingEnumValues.NestedEnumB\x02\x10\x01\"\x15\n\nNestedEnum\x12\x07\n\x03TWO\x10\x02\"\x1b\n\nJustString\x12\r\n\x05\x64ummy\x18\x01 \x02(\t') ) _TESTENUMVALUES_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='google.protobuf.python.internal.TestEnumValues.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='ZERO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='ONE', index=1, number=1, options=None, type=None), ], containing_type=None, options=None, serialized_start=378, serialized_end=409, ) _sym_db.RegisterEnumDescriptor(_TESTENUMVALUES_NESTEDENUM) _TESTMISSINGENUMVALUES_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='google.protobuf.python.internal.TestMissingEnumValues.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='TWO', index=0, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=730, serialized_end=751, ) _sym_db.RegisterEnumDescriptor(_TESTMISSINGENUMVALUES_NESTEDENUM) _TESTENUMVALUES = _descriptor.Descriptor( name='TestEnumValues', full_name='google.protobuf.python.internal.TestEnumValues', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_nested_enum', full_name='google.protobuf.python.internal.TestEnumValues.optional_nested_enum', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_enum', full_name='google.protobuf.python.internal.TestEnumValues.repeated_nested_enum', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_nested_enum', full_name='google.protobuf.python.internal.TestEnumValues.packed_nested_enum', index=2, number=3, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _TESTENUMVALUES_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=88, serialized_end=409, ) _TESTMISSINGENUMVALUES = _descriptor.Descriptor( name='TestMissingEnumValues', full_name='google.protobuf.python.internal.TestMissingEnumValues', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_nested_enum', full_name='google.protobuf.python.internal.TestMissingEnumValues.optional_nested_enum', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=2, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_enum', full_name='google.protobuf.python.internal.TestMissingEnumValues.repeated_nested_enum', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed_nested_enum', full_name='google.protobuf.python.internal.TestMissingEnumValues.packed_nested_enum', index=2, number=3, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')), file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _TESTMISSINGENUMVALUES_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=412, serialized_end=751, ) _JUSTSTRING = _descriptor.Descriptor( name='JustString', full_name='google.protobuf.python.internal.JustString', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='dummy', full_name='google.protobuf.python.internal.JustString.dummy', index=0, number=1, type=9, cpp_type=9, label=2, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=753, serialized_end=780, ) _TESTENUMVALUES.fields_by_name['optional_nested_enum'].enum_type = _TESTENUMVALUES_NESTEDENUM _TESTENUMVALUES.fields_by_name['repeated_nested_enum'].enum_type = _TESTENUMVALUES_NESTEDENUM _TESTENUMVALUES.fields_by_name['packed_nested_enum'].enum_type = _TESTENUMVALUES_NESTEDENUM _TESTENUMVALUES_NESTEDENUM.containing_type = _TESTENUMVALUES _TESTMISSINGENUMVALUES.fields_by_name['optional_nested_enum'].enum_type = _TESTMISSINGENUMVALUES_NESTEDENUM _TESTMISSINGENUMVALUES.fields_by_name['repeated_nested_enum'].enum_type = _TESTMISSINGENUMVALUES_NESTEDENUM _TESTMISSINGENUMVALUES.fields_by_name['packed_nested_enum'].enum_type = _TESTMISSINGENUMVALUES_NESTEDENUM _TESTMISSINGENUMVALUES_NESTEDENUM.containing_type = _TESTMISSINGENUMVALUES DESCRIPTOR.message_types_by_name['TestEnumValues'] = _TESTENUMVALUES DESCRIPTOR.message_types_by_name['TestMissingEnumValues'] = _TESTMISSINGENUMVALUES DESCRIPTOR.message_types_by_name['JustString'] = _JUSTSTRING _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestEnumValues = _reflection.GeneratedProtocolMessageType('TestEnumValues', (_message.Message,), dict( DESCRIPTOR = _TESTENUMVALUES, __module__ = 'google.protobuf.internal.missing_enum_values_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.TestEnumValues) )) _sym_db.RegisterMessage(TestEnumValues) TestMissingEnumValues = _reflection.GeneratedProtocolMessageType('TestMissingEnumValues', (_message.Message,), dict( DESCRIPTOR = _TESTMISSINGENUMVALUES, __module__ = 'google.protobuf.internal.missing_enum_values_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.TestMissingEnumValues) )) _sym_db.RegisterMessage(TestMissingEnumValues) JustString = _reflection.GeneratedProtocolMessageType('JustString', (_message.Message,), dict( DESCRIPTOR = _JUSTSTRING, __module__ = 'google.protobuf.internal.missing_enum_values_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.JustString) )) _sym_db.RegisterMessage(JustString) _TESTENUMVALUES.fields_by_name['packed_nested_enum'].has_options = True _TESTENUMVALUES.fields_by_name['packed_nested_enum']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) _TESTMISSINGENUMVALUES.fields_by_name['packed_nested_enum'].has_options = True _TESTMISSINGENUMVALUES.fields_by_name['packed_nested_enum']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) # @@protoc_insertion_point(module_scope) PK!qKb%protobuf/internal/text_format_test.pynu[# -*- coding: utf-8 -*- # # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Test for google.protobuf.text_format.""" __author__ = 'kenton@google.com (Kenton Varda)' import math import re import six import string try: import unittest2 as unittest # PY26, pylint: disable=g-import-not-at-top except ImportError: import unittest # pylint: disable=g-import-not-at-top from google.protobuf.internal import _parameterized from google.protobuf import any_test_pb2 from google.protobuf import map_unittest_pb2 from google.protobuf import unittest_mset_pb2 from google.protobuf import unittest_pb2 from google.protobuf import unittest_proto3_arena_pb2 from google.protobuf.internal import api_implementation from google.protobuf.internal import any_test_pb2 as test_extend_any from google.protobuf.internal import message_set_extensions_pb2 from google.protobuf.internal import test_util from google.protobuf import descriptor_pool from google.protobuf import text_format # Low-level nuts-n-bolts tests. class SimpleTextFormatTests(unittest.TestCase): # The members of _QUOTES are formatted into a regexp template that # expects single characters. Therefore it's an error (in addition to being # non-sensical in the first place) to try to specify a "quote mark" that is # more than one character. def testQuoteMarksAreSingleChars(self): for quote in text_format._QUOTES: self.assertEqual(1, len(quote)) # Base class with some common functionality. class TextFormatBase(unittest.TestCase): def ReadGolden(self, golden_filename): with test_util.GoldenFile(golden_filename) as f: return (f.readlines() if str is bytes else # PY3 [golden_line.decode('utf-8') for golden_line in f]) def CompareToGoldenFile(self, text, golden_filename): golden_lines = self.ReadGolden(golden_filename) self.assertMultiLineEqual(text, ''.join(golden_lines)) def CompareToGoldenText(self, text, golden_text): self.assertEqual(text, golden_text) def RemoveRedundantZeros(self, text): # Some platforms print 1e+5 as 1e+005. This is fine, but we need to remove # these zeros in order to match the golden file. text = text.replace('e+0','e+').replace('e+0','e+') \ .replace('e-0','e-').replace('e-0','e-') # Floating point fields are printed with .0 suffix even if they are # actualy integer numbers. text = re.compile(r'\.0$', re.MULTILINE).sub('', text) return text @_parameterized.Parameters((unittest_pb2), (unittest_proto3_arena_pb2)) class TextFormatTest(TextFormatBase): def testPrintExotic(self, message_module): message = message_module.TestAllTypes() message.repeated_int64.append(-9223372036854775808) message.repeated_uint64.append(18446744073709551615) message.repeated_double.append(123.456) message.repeated_double.append(1.23e22) message.repeated_double.append(1.23e-18) message.repeated_string.append('\000\001\a\b\f\n\r\t\v\\\'"') message.repeated_string.append('\u00fc\ua71f') self.CompareToGoldenText( self.RemoveRedundantZeros(text_format.MessageToString(message)), 'repeated_int64: -9223372036854775808\n' 'repeated_uint64: 18446744073709551615\n' 'repeated_double: 123.456\n' 'repeated_double: 1.23e+22\n' 'repeated_double: 1.23e-18\n' 'repeated_string:' ' "\\000\\001\\007\\010\\014\\n\\r\\t\\013\\\\\\\'\\""\n' 'repeated_string: "\\303\\274\\352\\234\\237"\n') def testPrintExoticUnicodeSubclass(self, message_module): class UnicodeSub(six.text_type): pass message = message_module.TestAllTypes() message.repeated_string.append(UnicodeSub('\u00fc\ua71f')) self.CompareToGoldenText( text_format.MessageToString(message), 'repeated_string: "\\303\\274\\352\\234\\237"\n') def testPrintNestedMessageAsOneLine(self, message_module): message = message_module.TestAllTypes() msg = message.repeated_nested_message.add() msg.bb = 42 self.CompareToGoldenText( text_format.MessageToString(message, as_one_line=True), 'repeated_nested_message { bb: 42 }') def testPrintRepeatedFieldsAsOneLine(self, message_module): message = message_module.TestAllTypes() message.repeated_int32.append(1) message.repeated_int32.append(1) message.repeated_int32.append(3) message.repeated_string.append('Google') message.repeated_string.append('Zurich') self.CompareToGoldenText( text_format.MessageToString(message, as_one_line=True), 'repeated_int32: 1 repeated_int32: 1 repeated_int32: 3 ' 'repeated_string: "Google" repeated_string: "Zurich"') def testPrintNestedNewLineInStringAsOneLine(self, message_module): message = message_module.TestAllTypes() message.optional_string = 'a\nnew\nline' self.CompareToGoldenText( text_format.MessageToString(message, as_one_line=True), 'optional_string: "a\\nnew\\nline"') def testPrintExoticAsOneLine(self, message_module): message = message_module.TestAllTypes() message.repeated_int64.append(-9223372036854775808) message.repeated_uint64.append(18446744073709551615) message.repeated_double.append(123.456) message.repeated_double.append(1.23e22) message.repeated_double.append(1.23e-18) message.repeated_string.append('\000\001\a\b\f\n\r\t\v\\\'"') message.repeated_string.append('\u00fc\ua71f') self.CompareToGoldenText( self.RemoveRedundantZeros(text_format.MessageToString( message, as_one_line=True)), 'repeated_int64: -9223372036854775808' ' repeated_uint64: 18446744073709551615' ' repeated_double: 123.456' ' repeated_double: 1.23e+22' ' repeated_double: 1.23e-18' ' repeated_string: ' '"\\000\\001\\007\\010\\014\\n\\r\\t\\013\\\\\\\'\\""' ' repeated_string: "\\303\\274\\352\\234\\237"') def testRoundTripExoticAsOneLine(self, message_module): message = message_module.TestAllTypes() message.repeated_int64.append(-9223372036854775808) message.repeated_uint64.append(18446744073709551615) message.repeated_double.append(123.456) message.repeated_double.append(1.23e22) message.repeated_double.append(1.23e-18) message.repeated_string.append('\000\001\a\b\f\n\r\t\v\\\'"') message.repeated_string.append('\u00fc\ua71f') # Test as_utf8 = False. wire_text = text_format.MessageToString(message, as_one_line=True, as_utf8=False) parsed_message = message_module.TestAllTypes() r = text_format.Parse(wire_text, parsed_message) self.assertIs(r, parsed_message) self.assertEqual(message, parsed_message) # Test as_utf8 = True. wire_text = text_format.MessageToString(message, as_one_line=True, as_utf8=True) parsed_message = message_module.TestAllTypes() r = text_format.Parse(wire_text, parsed_message) self.assertIs(r, parsed_message) self.assertEqual(message, parsed_message, '\n%s != %s' % (message, parsed_message)) def testPrintRawUtf8String(self, message_module): message = message_module.TestAllTypes() message.repeated_string.append('\u00fc\ua71f') text = text_format.MessageToString(message, as_utf8=True) self.CompareToGoldenText(text, 'repeated_string: "\303\274\352\234\237"\n') parsed_message = message_module.TestAllTypes() text_format.Parse(text, parsed_message) self.assertEqual(message, parsed_message, '\n%s != %s' % (message, parsed_message)) def testPrintFloatFormat(self, message_module): # Check that float_format argument is passed to sub-message formatting. message = message_module.NestedTestAllTypes() # We use 1.25 as it is a round number in binary. The proto 32-bit float # will not gain additional imprecise digits as a 64-bit Python float and # show up in its str. 32-bit 1.2 is noisy when extended to 64-bit: # >>> struct.unpack('f', struct.pack('f', 1.2))[0] # 1.2000000476837158 # >>> struct.unpack('f', struct.pack('f', 1.25))[0] # 1.25 message.payload.optional_float = 1.25 # Check rounding at 15 significant digits message.payload.optional_double = -.000003456789012345678 # Check no decimal point. message.payload.repeated_float.append(-5642) # Check no trailing zeros. message.payload.repeated_double.append(.000078900) formatted_fields = ['optional_float: 1.25', 'optional_double: -3.45678901234568e-6', 'repeated_float: -5642', 'repeated_double: 7.89e-5'] text_message = text_format.MessageToString(message, float_format='.15g') self.CompareToGoldenText( self.RemoveRedundantZeros(text_message), 'payload {{\n {0}\n {1}\n {2}\n {3}\n}}\n'.format( *formatted_fields)) # as_one_line=True is a separate code branch where float_format is passed. text_message = text_format.MessageToString(message, as_one_line=True, float_format='.15g') self.CompareToGoldenText( self.RemoveRedundantZeros(text_message), 'payload {{ {0} {1} {2} {3} }}'.format(*formatted_fields)) def testMessageToString(self, message_module): message = message_module.ForeignMessage() message.c = 123 self.assertEqual('c: 123\n', str(message)) def testPrintField(self, message_module): message = message_module.TestAllTypes() field = message.DESCRIPTOR.fields_by_name['optional_float'] value = message.optional_float out = text_format.TextWriter(False) text_format.PrintField(field, value, out) self.assertEqual('optional_float: 0.0\n', out.getvalue()) out.close() # Test Printer out = text_format.TextWriter(False) printer = text_format._Printer(out) printer.PrintField(field, value) self.assertEqual('optional_float: 0.0\n', out.getvalue()) out.close() def testPrintFieldValue(self, message_module): message = message_module.TestAllTypes() field = message.DESCRIPTOR.fields_by_name['optional_float'] value = message.optional_float out = text_format.TextWriter(False) text_format.PrintFieldValue(field, value, out) self.assertEqual('0.0', out.getvalue()) out.close() # Test Printer out = text_format.TextWriter(False) printer = text_format._Printer(out) printer.PrintFieldValue(field, value) self.assertEqual('0.0', out.getvalue()) out.close() def testParseAllFields(self, message_module): message = message_module.TestAllTypes() test_util.SetAllFields(message) ascii_text = text_format.MessageToString(message) parsed_message = message_module.TestAllTypes() text_format.Parse(ascii_text, parsed_message) self.assertEqual(message, parsed_message) if message_module is unittest_pb2: test_util.ExpectAllFieldsSet(self, message) def testParseAndMergeUtf8(self, message_module): message = message_module.TestAllTypes() test_util.SetAllFields(message) ascii_text = text_format.MessageToString(message) ascii_text = ascii_text.encode('utf-8') parsed_message = message_module.TestAllTypes() text_format.Parse(ascii_text, parsed_message) self.assertEqual(message, parsed_message) if message_module is unittest_pb2: test_util.ExpectAllFieldsSet(self, message) parsed_message.Clear() text_format.Merge(ascii_text, parsed_message) self.assertEqual(message, parsed_message) if message_module is unittest_pb2: test_util.ExpectAllFieldsSet(self, message) if six.PY2: msg2 = message_module.TestAllTypes() text = ('optional_string: "café"') text_format.Merge(text, msg2) self.assertEqual(msg2.optional_string, 'café') msg2.Clear() text_format.Parse(text, msg2) self.assertEqual(msg2.optional_string, 'café') def testParseExotic(self, message_module): message = message_module.TestAllTypes() text = ('repeated_int64: -9223372036854775808\n' 'repeated_uint64: 18446744073709551615\n' 'repeated_double: 123.456\n' 'repeated_double: 1.23e+22\n' 'repeated_double: 1.23e-18\n' 'repeated_string: \n' '"\\000\\001\\007\\010\\014\\n\\r\\t\\013\\\\\\\'\\""\n' 'repeated_string: "foo" \'corge\' "grault"\n' 'repeated_string: "\\303\\274\\352\\234\\237"\n' 'repeated_string: "\\xc3\\xbc"\n' 'repeated_string: "\xc3\xbc"\n') text_format.Parse(text, message) self.assertEqual(-9223372036854775808, message.repeated_int64[0]) self.assertEqual(18446744073709551615, message.repeated_uint64[0]) self.assertEqual(123.456, message.repeated_double[0]) self.assertEqual(1.23e22, message.repeated_double[1]) self.assertEqual(1.23e-18, message.repeated_double[2]) self.assertEqual('\000\001\a\b\f\n\r\t\v\\\'"', message.repeated_string[0]) self.assertEqual('foocorgegrault', message.repeated_string[1]) self.assertEqual('\u00fc\ua71f', message.repeated_string[2]) self.assertEqual('\u00fc', message.repeated_string[3]) def testParseTrailingCommas(self, message_module): message = message_module.TestAllTypes() text = ('repeated_int64: 100;\n' 'repeated_int64: 200;\n' 'repeated_int64: 300,\n' 'repeated_string: "one",\n' 'repeated_string: "two";\n') text_format.Parse(text, message) self.assertEqual(100, message.repeated_int64[0]) self.assertEqual(200, message.repeated_int64[1]) self.assertEqual(300, message.repeated_int64[2]) self.assertEqual('one', message.repeated_string[0]) self.assertEqual('two', message.repeated_string[1]) def testParseRepeatedScalarShortFormat(self, message_module): message = message_module.TestAllTypes() text = ('repeated_int64: [100, 200];\n' 'repeated_int64: 300,\n' 'repeated_string: ["one", "two"];\n') text_format.Parse(text, message) self.assertEqual(100, message.repeated_int64[0]) self.assertEqual(200, message.repeated_int64[1]) self.assertEqual(300, message.repeated_int64[2]) self.assertEqual('one', message.repeated_string[0]) self.assertEqual('two', message.repeated_string[1]) def testParseRepeatedMessageShortFormat(self, message_module): message = message_module.TestAllTypes() text = ('repeated_nested_message: [{bb: 100}, {bb: 200}],\n' 'repeated_nested_message: {bb: 300}\n' 'repeated_nested_message [{bb: 400}];\n') text_format.Parse(text, message) self.assertEqual(100, message.repeated_nested_message[0].bb) self.assertEqual(200, message.repeated_nested_message[1].bb) self.assertEqual(300, message.repeated_nested_message[2].bb) self.assertEqual(400, message.repeated_nested_message[3].bb) def testParseEmptyText(self, message_module): message = message_module.TestAllTypes() text = '' text_format.Parse(text, message) self.assertEqual(message_module.TestAllTypes(), message) def testParseInvalidUtf8(self, message_module): message = message_module.TestAllTypes() text = 'repeated_string: "\\xc3\\xc3"' with self.assertRaises(text_format.ParseError) as e: text_format.Parse(text, message) self.assertEqual(e.exception.GetLine(), 1) self.assertEqual(e.exception.GetColumn(), 28) def testParseSingleWord(self, message_module): message = message_module.TestAllTypes() text = 'foo' six.assertRaisesRegex(self, text_format.ParseError, ( r'1:1 : Message type "\w+.TestAllTypes" has no field named ' r'"foo".'), text_format.Parse, text, message) def testParseUnknownField(self, message_module): message = message_module.TestAllTypes() text = 'unknown_field: 8\n' six.assertRaisesRegex(self, text_format.ParseError, ( r'1:1 : Message type "\w+.TestAllTypes" has no field named ' r'"unknown_field".'), text_format.Parse, text, message) def testParseBadEnumValue(self, message_module): message = message_module.TestAllTypes() text = 'optional_nested_enum: BARR' six.assertRaisesRegex(self, text_format.ParseError, (r'1:23 : Enum type "\w+.TestAllTypes.NestedEnum" ' r'has no value named BARR.'), text_format.Parse, text, message) def testParseBadIntValue(self, message_module): message = message_module.TestAllTypes() text = 'optional_int32: bork' six.assertRaisesRegex(self, text_format.ParseError, ('1:17 : Couldn\'t parse integer: bork'), text_format.Parse, text, message) def testParseStringFieldUnescape(self, message_module): message = message_module.TestAllTypes() text = r'''repeated_string: "\xf\x62" repeated_string: "\\xf\\x62" repeated_string: "\\\xf\\\x62" repeated_string: "\\\\xf\\\\x62" repeated_string: "\\\\\xf\\\\\x62" repeated_string: "\x5cx20"''' text_format.Parse(text, message) SLASH = '\\' self.assertEqual('\x0fb', message.repeated_string[0]) self.assertEqual(SLASH + 'xf' + SLASH + 'x62', message.repeated_string[1]) self.assertEqual(SLASH + '\x0f' + SLASH + 'b', message.repeated_string[2]) self.assertEqual(SLASH + SLASH + 'xf' + SLASH + SLASH + 'x62', message.repeated_string[3]) self.assertEqual(SLASH + SLASH + '\x0f' + SLASH + SLASH + 'b', message.repeated_string[4]) self.assertEqual(SLASH + 'x20', message.repeated_string[5]) def testMergeDuplicateScalars(self, message_module): message = message_module.TestAllTypes() text = ('optional_int32: 42 ' 'optional_int32: 67') r = text_format.Merge(text, message) self.assertIs(r, message) self.assertEqual(67, message.optional_int32) def testMergeDuplicateNestedMessageScalars(self, message_module): message = message_module.TestAllTypes() text = ('optional_nested_message { bb: 1 } ' 'optional_nested_message { bb: 2 }') r = text_format.Merge(text, message) self.assertTrue(r is message) self.assertEqual(2, message.optional_nested_message.bb) def testParseOneof(self, message_module): m = message_module.TestAllTypes() m.oneof_uint32 = 11 m2 = message_module.TestAllTypes() text_format.Parse(text_format.MessageToString(m), m2) self.assertEqual('oneof_uint32', m2.WhichOneof('oneof_field')) def testMergeMultipleOneof(self, message_module): m_string = '\n'.join(['oneof_uint32: 11', 'oneof_string: "foo"']) m2 = message_module.TestAllTypes() text_format.Merge(m_string, m2) self.assertEqual('oneof_string', m2.WhichOneof('oneof_field')) def testParseMultipleOneof(self, message_module): m_string = '\n'.join(['oneof_uint32: 11', 'oneof_string: "foo"']) m2 = message_module.TestAllTypes() with self.assertRaisesRegex(text_format.ParseError, ' is specified along with field '): text_format.Parse(m_string, m2) # These are tests that aren't fundamentally specific to proto2, but are at # the moment because of differences between the proto2 and proto3 test schemas. # Ideally the schemas would be made more similar so these tests could pass. class OnlyWorksWithProto2RightNowTests(TextFormatBase): def testPrintAllFieldsPointy(self): message = unittest_pb2.TestAllTypes() test_util.SetAllFields(message) self.CompareToGoldenFile( self.RemoveRedundantZeros(text_format.MessageToString( message, pointy_brackets=True)), 'text_format_unittest_data_pointy_oneof.txt') def testParseGolden(self): golden_text = '\n'.join(self.ReadGolden( 'text_format_unittest_data_oneof_implemented.txt')) parsed_message = unittest_pb2.TestAllTypes() r = text_format.Parse(golden_text, parsed_message) self.assertIs(r, parsed_message) message = unittest_pb2.TestAllTypes() test_util.SetAllFields(message) self.assertEqual(message, parsed_message) def testPrintAllFields(self): message = unittest_pb2.TestAllTypes() test_util.SetAllFields(message) self.CompareToGoldenFile( self.RemoveRedundantZeros(text_format.MessageToString(message)), 'text_format_unittest_data_oneof_implemented.txt') def testPrintInIndexOrder(self): message = unittest_pb2.TestFieldOrderings() message.my_string = '115' message.my_int = 101 message.my_float = 111 message.optional_nested_message.oo = 0 message.optional_nested_message.bb = 1 self.CompareToGoldenText( self.RemoveRedundantZeros(text_format.MessageToString( message, use_index_order=True)), 'my_string: \"115\"\nmy_int: 101\nmy_float: 111\n' 'optional_nested_message {\n oo: 0\n bb: 1\n}\n') self.CompareToGoldenText( self.RemoveRedundantZeros(text_format.MessageToString(message)), 'my_int: 101\nmy_string: \"115\"\nmy_float: 111\n' 'optional_nested_message {\n bb: 1\n oo: 0\n}\n') def testMergeLinesGolden(self): opened = self.ReadGolden('text_format_unittest_data_oneof_implemented.txt') parsed_message = unittest_pb2.TestAllTypes() r = text_format.MergeLines(opened, parsed_message) self.assertIs(r, parsed_message) message = unittest_pb2.TestAllTypes() test_util.SetAllFields(message) self.assertEqual(message, parsed_message) def testParseLinesGolden(self): opened = self.ReadGolden('text_format_unittest_data_oneof_implemented.txt') parsed_message = unittest_pb2.TestAllTypes() r = text_format.ParseLines(opened, parsed_message) self.assertIs(r, parsed_message) message = unittest_pb2.TestAllTypes() test_util.SetAllFields(message) self.assertEqual(message, parsed_message) def testPrintMap(self): message = map_unittest_pb2.TestMap() message.map_int32_int32[-123] = -456 message.map_int64_int64[-2**33] = -2**34 message.map_uint32_uint32[123] = 456 message.map_uint64_uint64[2**33] = 2**34 message.map_string_string['abc'] = '123' message.map_int32_foreign_message[111].c = 5 # Maps are serialized to text format using their underlying repeated # representation. self.CompareToGoldenText( text_format.MessageToString(message), 'map_int32_int32 {\n' ' key: -123\n' ' value: -456\n' '}\n' 'map_int64_int64 {\n' ' key: -8589934592\n' ' value: -17179869184\n' '}\n' 'map_uint32_uint32 {\n' ' key: 123\n' ' value: 456\n' '}\n' 'map_uint64_uint64 {\n' ' key: 8589934592\n' ' value: 17179869184\n' '}\n' 'map_string_string {\n' ' key: "abc"\n' ' value: "123"\n' '}\n' 'map_int32_foreign_message {\n' ' key: 111\n' ' value {\n' ' c: 5\n' ' }\n' '}\n') def testMapOrderEnforcement(self): message = map_unittest_pb2.TestMap() for letter in string.ascii_uppercase[13:26]: message.map_string_string[letter] = 'dummy' for letter in reversed(string.ascii_uppercase[0:13]): message.map_string_string[letter] = 'dummy' golden = ''.join(('map_string_string {\n key: "%c"\n value: "dummy"\n}\n' % (letter,) for letter in string.ascii_uppercase)) self.CompareToGoldenText(text_format.MessageToString(message), golden) # TODO(teboring): In c/137553523, not serializing default value for map entry # message has been fixed. This test needs to be disabled in order to submit # that cl. Add this back when c/137553523 has been submitted. # def testMapOrderSemantics(self): # golden_lines = self.ReadGolden('map_test_data.txt') # message = map_unittest_pb2.TestMap() # text_format.ParseLines(golden_lines, message) # candidate = text_format.MessageToString(message) # # The Python implementation emits "1.0" for the double value that the C++ # # implementation emits as "1". # candidate = candidate.replace('1.0', '1', 2) # candidate = candidate.replace('0.0', '0', 2) # self.assertMultiLineEqual(candidate, ''.join(golden_lines)) # Tests of proto2-only features (MessageSet, extensions, etc.). class Proto2Tests(TextFormatBase): def testPrintMessageSet(self): message = unittest_mset_pb2.TestMessageSetContainer() ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension message.message_set.Extensions[ext1].i = 23 message.message_set.Extensions[ext2].str = 'foo' self.CompareToGoldenText( text_format.MessageToString(message), 'message_set {\n' ' [protobuf_unittest.TestMessageSetExtension1] {\n' ' i: 23\n' ' }\n' ' [protobuf_unittest.TestMessageSetExtension2] {\n' ' str: \"foo\"\n' ' }\n' '}\n') message = message_set_extensions_pb2.TestMessageSet() ext = message_set_extensions_pb2.message_set_extension3 message.Extensions[ext].text = 'bar' self.CompareToGoldenText( text_format.MessageToString(message), '[google.protobuf.internal.TestMessageSetExtension3] {\n' ' text: \"bar\"\n' '}\n') def testPrintMessageSetByFieldNumber(self): out = text_format.TextWriter(False) message = unittest_mset_pb2.TestMessageSetContainer() ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension message.message_set.Extensions[ext1].i = 23 message.message_set.Extensions[ext2].str = 'foo' text_format.PrintMessage(message, out, use_field_number=True) self.CompareToGoldenText(out.getvalue(), '1 {\n' ' 1545008 {\n' ' 15: 23\n' ' }\n' ' 1547769 {\n' ' 25: \"foo\"\n' ' }\n' '}\n') out.close() def testPrintMessageSetAsOneLine(self): message = unittest_mset_pb2.TestMessageSetContainer() ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension message.message_set.Extensions[ext1].i = 23 message.message_set.Extensions[ext2].str = 'foo' self.CompareToGoldenText( text_format.MessageToString(message, as_one_line=True), 'message_set {' ' [protobuf_unittest.TestMessageSetExtension1] {' ' i: 23' ' }' ' [protobuf_unittest.TestMessageSetExtension2] {' ' str: \"foo\"' ' }' ' }') def testParseMessageSet(self): message = unittest_pb2.TestAllTypes() text = ('repeated_uint64: 1\n' 'repeated_uint64: 2\n') text_format.Parse(text, message) self.assertEqual(1, message.repeated_uint64[0]) self.assertEqual(2, message.repeated_uint64[1]) message = unittest_mset_pb2.TestMessageSetContainer() text = ('message_set {\n' ' [protobuf_unittest.TestMessageSetExtension1] {\n' ' i: 23\n' ' }\n' ' [protobuf_unittest.TestMessageSetExtension2] {\n' ' str: \"foo\"\n' ' }\n' '}\n') text_format.Parse(text, message) ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension self.assertEqual(23, message.message_set.Extensions[ext1].i) self.assertEqual('foo', message.message_set.Extensions[ext2].str) def testExtensionInsideAnyMessage(self): message = test_extend_any.TestAny() text = ('value {\n' ' [type.googleapis.com/google.protobuf.internal.TestAny] {\n' ' [google.protobuf.internal.TestAnyExtension1.extension1] {\n' ' i: 10\n' ' }\n' ' }\n' '}\n') text_format.Merge(text, message, descriptor_pool=descriptor_pool.Default()) self.CompareToGoldenText( text_format.MessageToString( message, descriptor_pool=descriptor_pool.Default()), text) def testParseMessageByFieldNumber(self): message = unittest_pb2.TestAllTypes() text = ('34: 1\n' 'repeated_uint64: 2\n') text_format.Parse(text, message, allow_field_number=True) self.assertEqual(1, message.repeated_uint64[0]) self.assertEqual(2, message.repeated_uint64[1]) message = unittest_mset_pb2.TestMessageSetContainer() text = ('1 {\n' ' 1545008 {\n' ' 15: 23\n' ' }\n' ' 1547769 {\n' ' 25: \"foo\"\n' ' }\n' '}\n') text_format.Parse(text, message, allow_field_number=True) ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension self.assertEqual(23, message.message_set.Extensions[ext1].i) self.assertEqual('foo', message.message_set.Extensions[ext2].str) # Can't parse field number without set allow_field_number=True. message = unittest_pb2.TestAllTypes() text = '34:1\n' six.assertRaisesRegex(self, text_format.ParseError, ( r'1:1 : Message type "\w+.TestAllTypes" has no field named ' r'"34".'), text_format.Parse, text, message) # Can't parse if field number is not found. text = '1234:1\n' six.assertRaisesRegex( self, text_format.ParseError, (r'1:1 : Message type "\w+.TestAllTypes" has no field named ' r'"1234".'), text_format.Parse, text, message, allow_field_number=True) def testPrintAllExtensions(self): message = unittest_pb2.TestAllExtensions() test_util.SetAllExtensions(message) self.CompareToGoldenFile( self.RemoveRedundantZeros(text_format.MessageToString(message)), 'text_format_unittest_extensions_data.txt') def testPrintAllExtensionsPointy(self): message = unittest_pb2.TestAllExtensions() test_util.SetAllExtensions(message) self.CompareToGoldenFile( self.RemoveRedundantZeros(text_format.MessageToString( message, pointy_brackets=True)), 'text_format_unittest_extensions_data_pointy.txt') def testParseGoldenExtensions(self): golden_text = '\n'.join(self.ReadGolden( 'text_format_unittest_extensions_data.txt')) parsed_message = unittest_pb2.TestAllExtensions() text_format.Parse(golden_text, parsed_message) message = unittest_pb2.TestAllExtensions() test_util.SetAllExtensions(message) self.assertEqual(message, parsed_message) def testParseAllExtensions(self): message = unittest_pb2.TestAllExtensions() test_util.SetAllExtensions(message) ascii_text = text_format.MessageToString(message) parsed_message = unittest_pb2.TestAllExtensions() text_format.Parse(ascii_text, parsed_message) self.assertEqual(message, parsed_message) def testParseAllowedUnknownExtension(self): # Skip over unknown extension correctly. message = unittest_mset_pb2.TestMessageSetContainer() text = ('message_set {\n' ' [unknown_extension] {\n' ' i: 23\n' ' bin: "\xe0"' ' [nested_unknown_ext]: {\n' ' i: 23\n' ' x: x\n' ' test: "test_string"\n' ' floaty_float: -0.315\n' ' num: -inf\n' ' multiline_str: "abc"\n' ' "def"\n' ' "xyz."\n' ' [nested_unknown_ext.ext]: <\n' ' i: 23\n' ' i: 24\n' ' pointfloat: .3\n' ' test: "test_string"\n' ' floaty_float: -0.315\n' ' num: -inf\n' ' long_string: "test" "test2" \n' ' >\n' ' }\n' ' }\n' ' [unknown_extension]: 5\n' '}\n') text_format.Parse(text, message, allow_unknown_extension=True) golden = 'message_set {\n}\n' self.CompareToGoldenText(text_format.MessageToString(message), golden) # Catch parse errors in unknown extension. message = unittest_mset_pb2.TestMessageSetContainer() malformed = ('message_set {\n' ' [unknown_extension] {\n' ' i:\n' # Missing value. ' }\n' '}\n') six.assertRaisesRegex(self, text_format.ParseError, 'Invalid field value: }', text_format.Parse, malformed, message, allow_unknown_extension=True) message = unittest_mset_pb2.TestMessageSetContainer() malformed = ('message_set {\n' ' [unknown_extension] {\n' ' str: "malformed string\n' # Missing closing quote. ' }\n' '}\n') six.assertRaisesRegex(self, text_format.ParseError, 'Invalid field value: "', text_format.Parse, malformed, message, allow_unknown_extension=True) message = unittest_mset_pb2.TestMessageSetContainer() malformed = ('message_set {\n' ' [unknown_extension] {\n' ' str: "malformed\n multiline\n string\n' ' }\n' '}\n') six.assertRaisesRegex(self, text_format.ParseError, 'Invalid field value: "', text_format.Parse, malformed, message, allow_unknown_extension=True) message = unittest_mset_pb2.TestMessageSetContainer() malformed = ('message_set {\n' ' [malformed_extension] <\n' ' i: -5\n' ' \n' # Missing '>' here. '}\n') six.assertRaisesRegex(self, text_format.ParseError, '5:1 : Expected ">".', text_format.Parse, malformed, message, allow_unknown_extension=True) # Don't allow unknown fields with allow_unknown_extension=True. message = unittest_mset_pb2.TestMessageSetContainer() malformed = ('message_set {\n' ' unknown_field: true\n' ' \n' # Missing '>' here. '}\n') six.assertRaisesRegex(self, text_format.ParseError, ('2:3 : Message type ' '"proto2_wireformat_unittest.TestMessageSet" has no' ' field named "unknown_field".'), text_format.Parse, malformed, message, allow_unknown_extension=True) # Parse known extension correcty. message = unittest_mset_pb2.TestMessageSetContainer() text = ('message_set {\n' ' [protobuf_unittest.TestMessageSetExtension1] {\n' ' i: 23\n' ' }\n' ' [protobuf_unittest.TestMessageSetExtension2] {\n' ' str: \"foo\"\n' ' }\n' '}\n') text_format.Parse(text, message, allow_unknown_extension=True) ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension self.assertEqual(23, message.message_set.Extensions[ext1].i) self.assertEqual('foo', message.message_set.Extensions[ext2].str) def testParseBadIdentifier(self): message = unittest_pb2.TestAllTypes() text = ('optional_nested_message { "bb": 1 }') with self.assertRaises(text_format.ParseError) as e: text_format.Parse(text, message) self.assertEqual(str(e.exception), '1:27 : Expected identifier or number, got "bb".') def testParseBadExtension(self): message = unittest_pb2.TestAllExtensions() text = '[unknown_extension]: 8\n' six.assertRaisesRegex(self, text_format.ParseError, '1:2 : Extension "unknown_extension" not registered.', text_format.Parse, text, message) message = unittest_pb2.TestAllTypes() six.assertRaisesRegex(self, text_format.ParseError, ( '1:2 : Message type "protobuf_unittest.TestAllTypes" does not have ' 'extensions.'), text_format.Parse, text, message) def testParseNumericUnknownEnum(self): message = unittest_pb2.TestAllTypes() text = 'optional_nested_enum: 100' six.assertRaisesRegex(self, text_format.ParseError, (r'1:23 : Enum type "\w+.TestAllTypes.NestedEnum" ' r'has no value with number 100.'), text_format.Parse, text, message) def testMergeDuplicateExtensionScalars(self): message = unittest_pb2.TestAllExtensions() text = ('[protobuf_unittest.optional_int32_extension]: 42 ' '[protobuf_unittest.optional_int32_extension]: 67') text_format.Merge(text, message) self.assertEqual(67, message.Extensions[unittest_pb2.optional_int32_extension]) def testParseDuplicateExtensionScalars(self): message = unittest_pb2.TestAllExtensions() text = ('[protobuf_unittest.optional_int32_extension]: 42 ' '[protobuf_unittest.optional_int32_extension]: 67') six.assertRaisesRegex(self, text_format.ParseError, ( '1:96 : Message type "protobuf_unittest.TestAllExtensions" ' 'should not have multiple ' '"protobuf_unittest.optional_int32_extension" extensions.'), text_format.Parse, text, message) def testParseDuplicateNestedMessageScalars(self): message = unittest_pb2.TestAllTypes() text = ('optional_nested_message { bb: 1 } ' 'optional_nested_message { bb: 2 }') six.assertRaisesRegex(self, text_format.ParseError, ( '1:65 : Message type "protobuf_unittest.TestAllTypes.NestedMessage" ' 'should not have multiple "bb" fields.'), text_format.Parse, text, message) def testParseDuplicateScalars(self): message = unittest_pb2.TestAllTypes() text = ('optional_int32: 42 ' 'optional_int32: 67') six.assertRaisesRegex(self, text_format.ParseError, ( '1:36 : Message type "protobuf_unittest.TestAllTypes" should not ' 'have multiple "optional_int32" fields.'), text_format.Parse, text, message) def testParseGroupNotClosed(self): message = unittest_pb2.TestAllTypes() text = 'RepeatedGroup: <' six.assertRaisesRegex(self, text_format.ParseError, '1:16 : Expected ">".', text_format.Parse, text, message) text = 'RepeatedGroup: {' six.assertRaisesRegex(self, text_format.ParseError, '1:16 : Expected "}".', text_format.Parse, text, message) def testParseEmptyGroup(self): message = unittest_pb2.TestAllTypes() text = 'OptionalGroup: {}' text_format.Parse(text, message) self.assertTrue(message.HasField('optionalgroup')) message.Clear() message = unittest_pb2.TestAllTypes() text = 'OptionalGroup: <>' text_format.Parse(text, message) self.assertTrue(message.HasField('optionalgroup')) # Maps aren't really proto2-only, but our test schema only has maps for # proto2. def testParseMap(self): text = ('map_int32_int32 {\n' ' key: -123\n' ' value: -456\n' '}\n' 'map_int64_int64 {\n' ' key: -8589934592\n' ' value: -17179869184\n' '}\n' 'map_uint32_uint32 {\n' ' key: 123\n' ' value: 456\n' '}\n' 'map_uint64_uint64 {\n' ' key: 8589934592\n' ' value: 17179869184\n' '}\n' 'map_string_string {\n' ' key: "abc"\n' ' value: "123"\n' '}\n' 'map_int32_foreign_message {\n' ' key: 111\n' ' value {\n' ' c: 5\n' ' }\n' '}\n') message = map_unittest_pb2.TestMap() text_format.Parse(text, message) self.assertEqual(-456, message.map_int32_int32[-123]) self.assertEqual(-2**34, message.map_int64_int64[-2**33]) self.assertEqual(456, message.map_uint32_uint32[123]) self.assertEqual(2**34, message.map_uint64_uint64[2**33]) self.assertEqual('123', message.map_string_string['abc']) self.assertEqual(5, message.map_int32_foreign_message[111].c) class Proto3Tests(unittest.TestCase): def testPrintMessageExpandAny(self): packed_message = unittest_pb2.OneString() packed_message.data = 'string' message = any_test_pb2.TestAny() message.any_value.Pack(packed_message) self.assertEqual( text_format.MessageToString(message, descriptor_pool=descriptor_pool.Default()), 'any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] {\n' ' data: "string"\n' ' }\n' '}\n') def testPrintMessageExpandAnyRepeated(self): packed_message = unittest_pb2.OneString() message = any_test_pb2.TestAny() packed_message.data = 'string0' message.repeated_any_value.add().Pack(packed_message) packed_message.data = 'string1' message.repeated_any_value.add().Pack(packed_message) self.assertEqual( text_format.MessageToString(message), 'repeated_any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] {\n' ' data: "string0"\n' ' }\n' '}\n' 'repeated_any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] {\n' ' data: "string1"\n' ' }\n' '}\n') def testPrintMessageExpandAnyDescriptorPoolMissingType(self): packed_message = unittest_pb2.OneString() packed_message.data = 'string' message = any_test_pb2.TestAny() message.any_value.Pack(packed_message) empty_pool = descriptor_pool.DescriptorPool() self.assertEqual( text_format.MessageToString(message, descriptor_pool=empty_pool), 'any_value {\n' ' type_url: "type.googleapis.com/protobuf_unittest.OneString"\n' ' value: "\\n\\006string"\n' '}\n') def testPrintMessageExpandAnyPointyBrackets(self): packed_message = unittest_pb2.OneString() packed_message.data = 'string' message = any_test_pb2.TestAny() message.any_value.Pack(packed_message) self.assertEqual( text_format.MessageToString(message, pointy_brackets=True), 'any_value <\n' ' [type.googleapis.com/protobuf_unittest.OneString] <\n' ' data: "string"\n' ' >\n' '>\n') def testPrintMessageExpandAnyAsOneLine(self): packed_message = unittest_pb2.OneString() packed_message.data = 'string' message = any_test_pb2.TestAny() message.any_value.Pack(packed_message) self.assertEqual( text_format.MessageToString(message, as_one_line=True), 'any_value {' ' [type.googleapis.com/protobuf_unittest.OneString]' ' { data: "string" } ' '}') def testPrintMessageExpandAnyAsOneLinePointyBrackets(self): packed_message = unittest_pb2.OneString() packed_message.data = 'string' message = any_test_pb2.TestAny() message.any_value.Pack(packed_message) self.assertEqual( text_format.MessageToString(message, as_one_line=True, pointy_brackets=True, descriptor_pool=descriptor_pool.Default()), 'any_value <' ' [type.googleapis.com/protobuf_unittest.OneString]' ' < data: "string" > ' '>') def testUnknownEnums(self): message = unittest_proto3_arena_pb2.TestAllTypes() message2 = unittest_proto3_arena_pb2.TestAllTypes() message.optional_nested_enum = 999 text_string = text_format.MessageToString(message) text_format.Parse(text_string, message2) self.assertEqual(999, message2.optional_nested_enum) def testMergeExpandedAny(self): message = any_test_pb2.TestAny() text = ('any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] {\n' ' data: "string"\n' ' }\n' '}\n') text_format.Merge(text, message) packed_message = unittest_pb2.OneString() message.any_value.Unpack(packed_message) self.assertEqual('string', packed_message.data) message.Clear() text_format.Parse(text, message) packed_message = unittest_pb2.OneString() message.any_value.Unpack(packed_message) self.assertEqual('string', packed_message.data) def testMergeExpandedAnyRepeated(self): message = any_test_pb2.TestAny() text = ('repeated_any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] {\n' ' data: "string0"\n' ' }\n' '}\n' 'repeated_any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] {\n' ' data: "string1"\n' ' }\n' '}\n') text_format.Merge(text, message) packed_message = unittest_pb2.OneString() message.repeated_any_value[0].Unpack(packed_message) self.assertEqual('string0', packed_message.data) message.repeated_any_value[1].Unpack(packed_message) self.assertEqual('string1', packed_message.data) def testMergeExpandedAnyPointyBrackets(self): message = any_test_pb2.TestAny() text = ('any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] <\n' ' data: "string"\n' ' >\n' '}\n') text_format.Merge(text, message) packed_message = unittest_pb2.OneString() message.any_value.Unpack(packed_message) self.assertEqual('string', packed_message.data) def testMergeAlternativeUrl(self): message = any_test_pb2.TestAny() text = ('any_value {\n' ' [type.otherapi.com/protobuf_unittest.OneString] {\n' ' data: "string"\n' ' }\n' '}\n') text_format.Merge(text, message) packed_message = unittest_pb2.OneString() self.assertEqual('type.otherapi.com/protobuf_unittest.OneString', message.any_value.type_url) def testMergeExpandedAnyDescriptorPoolMissingType(self): message = any_test_pb2.TestAny() text = ('any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] {\n' ' data: "string"\n' ' }\n' '}\n') with self.assertRaises(text_format.ParseError) as e: empty_pool = descriptor_pool.DescriptorPool() text_format.Merge(text, message, descriptor_pool=empty_pool) self.assertEqual( str(e.exception), 'Type protobuf_unittest.OneString not found in descriptor pool') def testMergeUnexpandedAny(self): text = ('any_value {\n' ' type_url: "type.googleapis.com/protobuf_unittest.OneString"\n' ' value: "\\n\\006string"\n' '}\n') message = any_test_pb2.TestAny() text_format.Merge(text, message) packed_message = unittest_pb2.OneString() message.any_value.Unpack(packed_message) self.assertEqual('string', packed_message.data) def testMergeMissingAnyEndToken(self): message = any_test_pb2.TestAny() text = ('any_value {\n' ' [type.googleapis.com/protobuf_unittest.OneString] {\n' ' data: "string"\n') with self.assertRaises(text_format.ParseError) as e: text_format.Merge(text, message) self.assertEqual(str(e.exception), '3:11 : Expected "}".') class TokenizerTest(unittest.TestCase): def testSimpleTokenCases(self): text = ('identifier1:"string1"\n \n\n' 'identifier2 : \n \n123 \n identifier3 :\'string\'\n' 'identifiER_4 : 1.1e+2 ID5:-0.23 ID6:\'aaaa\\\'bbbb\'\n' 'ID7 : "aa\\"bb"\n\n\n\n ID8: {A:inf B:-inf C:true D:false}\n' 'ID9: 22 ID10: -111111111111111111 ID11: -22\n' 'ID12: 2222222222222222222 ID13: 1.23456f ID14: 1.2e+2f ' 'false_bool: 0 true_BOOL:t \n true_bool1: 1 false_BOOL1:f ' 'False_bool: False True_bool: True X:iNf Y:-inF Z:nAN') tokenizer = text_format.Tokenizer(text.splitlines()) methods = [(tokenizer.ConsumeIdentifier, 'identifier1'), ':', (tokenizer.ConsumeString, 'string1'), (tokenizer.ConsumeIdentifier, 'identifier2'), ':', (tokenizer.ConsumeInteger, 123), (tokenizer.ConsumeIdentifier, 'identifier3'), ':', (tokenizer.ConsumeString, 'string'), (tokenizer.ConsumeIdentifier, 'identifiER_4'), ':', (tokenizer.ConsumeFloat, 1.1e+2), (tokenizer.ConsumeIdentifier, 'ID5'), ':', (tokenizer.ConsumeFloat, -0.23), (tokenizer.ConsumeIdentifier, 'ID6'), ':', (tokenizer.ConsumeString, 'aaaa\'bbbb'), (tokenizer.ConsumeIdentifier, 'ID7'), ':', (tokenizer.ConsumeString, 'aa\"bb'), (tokenizer.ConsumeIdentifier, 'ID8'), ':', '{', (tokenizer.ConsumeIdentifier, 'A'), ':', (tokenizer.ConsumeFloat, float('inf')), (tokenizer.ConsumeIdentifier, 'B'), ':', (tokenizer.ConsumeFloat, -float('inf')), (tokenizer.ConsumeIdentifier, 'C'), ':', (tokenizer.ConsumeBool, True), (tokenizer.ConsumeIdentifier, 'D'), ':', (tokenizer.ConsumeBool, False), '}', (tokenizer.ConsumeIdentifier, 'ID9'), ':', (tokenizer.ConsumeInteger, 22), (tokenizer.ConsumeIdentifier, 'ID10'), ':', (tokenizer.ConsumeInteger, -111111111111111111), (tokenizer.ConsumeIdentifier, 'ID11'), ':', (tokenizer.ConsumeInteger, -22), (tokenizer.ConsumeIdentifier, 'ID12'), ':', (tokenizer.ConsumeInteger, 2222222222222222222), (tokenizer.ConsumeIdentifier, 'ID13'), ':', (tokenizer.ConsumeFloat, 1.23456), (tokenizer.ConsumeIdentifier, 'ID14'), ':', (tokenizer.ConsumeFloat, 1.2e+2), (tokenizer.ConsumeIdentifier, 'false_bool'), ':', (tokenizer.ConsumeBool, False), (tokenizer.ConsumeIdentifier, 'true_BOOL'), ':', (tokenizer.ConsumeBool, True), (tokenizer.ConsumeIdentifier, 'true_bool1'), ':', (tokenizer.ConsumeBool, True), (tokenizer.ConsumeIdentifier, 'false_BOOL1'), ':', (tokenizer.ConsumeBool, False), (tokenizer.ConsumeIdentifier, 'False_bool'), ':', (tokenizer.ConsumeBool, False), (tokenizer.ConsumeIdentifier, 'True_bool'), ':', (tokenizer.ConsumeBool, True), (tokenizer.ConsumeIdentifier, 'X'), ':', (tokenizer.ConsumeFloat, float('inf')), (tokenizer.ConsumeIdentifier, 'Y'), ':', (tokenizer.ConsumeFloat, float('-inf')), (tokenizer.ConsumeIdentifier, 'Z'), ':', (tokenizer.ConsumeFloat, float('nan'))] i = 0 while not tokenizer.AtEnd(): m = methods[i] if isinstance(m, str): token = tokenizer.token self.assertEqual(token, m) tokenizer.NextToken() elif isinstance(m[1], float) and math.isnan(m[1]): self.assertTrue(math.isnan(m[0]())) else: self.assertEqual(m[1], m[0]()) i += 1 def testConsumeAbstractIntegers(self): # This test only tests the failures in the integer parsing methods as well # as the '0' special cases. int64_max = (1 << 63) - 1 uint32_max = (1 << 32) - 1 text = '-1 %d %d' % (uint32_max + 1, int64_max + 1) tokenizer = text_format.Tokenizer(text.splitlines()) self.assertEqual(-1, tokenizer.ConsumeInteger()) self.assertEqual(uint32_max + 1, tokenizer.ConsumeInteger()) self.assertEqual(int64_max + 1, tokenizer.ConsumeInteger()) self.assertTrue(tokenizer.AtEnd()) text = '-0 0 0 1.2' tokenizer = text_format.Tokenizer(text.splitlines()) self.assertEqual(0, tokenizer.ConsumeInteger()) self.assertEqual(0, tokenizer.ConsumeInteger()) self.assertEqual(True, tokenizer.TryConsumeInteger()) self.assertEqual(False, tokenizer.TryConsumeInteger()) with self.assertRaises(text_format.ParseError): tokenizer.ConsumeInteger() self.assertEqual(1.2, tokenizer.ConsumeFloat()) self.assertTrue(tokenizer.AtEnd()) def testConsumeIntegers(self): # This test only tests the failures in the integer parsing methods as well # as the '0' special cases. int64_max = (1 << 63) - 1 uint32_max = (1 << 32) - 1 text = '-1 %d %d' % (uint32_max + 1, int64_max + 1) tokenizer = text_format.Tokenizer(text.splitlines()) self.assertRaises(text_format.ParseError, text_format._ConsumeUint32, tokenizer) self.assertRaises(text_format.ParseError, text_format._ConsumeUint64, tokenizer) self.assertEqual(-1, text_format._ConsumeInt32(tokenizer)) self.assertRaises(text_format.ParseError, text_format._ConsumeUint32, tokenizer) self.assertRaises(text_format.ParseError, text_format._ConsumeInt32, tokenizer) self.assertEqual(uint32_max + 1, text_format._ConsumeInt64(tokenizer)) self.assertRaises(text_format.ParseError, text_format._ConsumeInt64, tokenizer) self.assertEqual(int64_max + 1, text_format._ConsumeUint64(tokenizer)) self.assertTrue(tokenizer.AtEnd()) text = '-0 -0 0 0' tokenizer = text_format.Tokenizer(text.splitlines()) self.assertEqual(0, text_format._ConsumeUint32(tokenizer)) self.assertEqual(0, text_format._ConsumeUint64(tokenizer)) self.assertEqual(0, text_format._ConsumeUint32(tokenizer)) self.assertEqual(0, text_format._ConsumeUint64(tokenizer)) self.assertTrue(tokenizer.AtEnd()) def testConsumeByteString(self): text = '"string1\'' tokenizer = text_format.Tokenizer(text.splitlines()) self.assertRaises(text_format.ParseError, tokenizer.ConsumeByteString) text = 'string1"' tokenizer = text_format.Tokenizer(text.splitlines()) self.assertRaises(text_format.ParseError, tokenizer.ConsumeByteString) text = '\n"\\xt"' tokenizer = text_format.Tokenizer(text.splitlines()) self.assertRaises(text_format.ParseError, tokenizer.ConsumeByteString) text = '\n"\\"' tokenizer = text_format.Tokenizer(text.splitlines()) self.assertRaises(text_format.ParseError, tokenizer.ConsumeByteString) text = '\n"\\x"' tokenizer = text_format.Tokenizer(text.splitlines()) self.assertRaises(text_format.ParseError, tokenizer.ConsumeByteString) def testConsumeBool(self): text = 'not-a-bool' tokenizer = text_format.Tokenizer(text.splitlines()) self.assertRaises(text_format.ParseError, tokenizer.ConsumeBool) def testSkipComment(self): tokenizer = text_format.Tokenizer('# some comment'.splitlines()) self.assertTrue(tokenizer.AtEnd()) self.assertRaises(text_format.ParseError, tokenizer.ConsumeComment) def testConsumeComment(self): tokenizer = text_format.Tokenizer('# some comment'.splitlines(), skip_comments=False) self.assertFalse(tokenizer.AtEnd()) self.assertEqual('# some comment', tokenizer.ConsumeComment()) self.assertTrue(tokenizer.AtEnd()) def testConsumeTwoComments(self): text = '# some comment\n# another comment' tokenizer = text_format.Tokenizer(text.splitlines(), skip_comments=False) self.assertEqual('# some comment', tokenizer.ConsumeComment()) self.assertFalse(tokenizer.AtEnd()) self.assertEqual('# another comment', tokenizer.ConsumeComment()) self.assertTrue(tokenizer.AtEnd()) def testConsumeTrailingComment(self): text = 'some_number: 4\n# some comment' tokenizer = text_format.Tokenizer(text.splitlines(), skip_comments=False) self.assertRaises(text_format.ParseError, tokenizer.ConsumeComment) self.assertEqual('some_number', tokenizer.ConsumeIdentifier()) self.assertEqual(tokenizer.token, ':') tokenizer.NextToken() self.assertRaises(text_format.ParseError, tokenizer.ConsumeComment) self.assertEqual(4, tokenizer.ConsumeInteger()) self.assertFalse(tokenizer.AtEnd()) self.assertEqual('# some comment', tokenizer.ConsumeComment()) self.assertTrue(tokenizer.AtEnd()) def testConsumeLineComment(self): tokenizer = text_format.Tokenizer('# some comment'.splitlines(), skip_comments=False) self.assertFalse(tokenizer.AtEnd()) self.assertEqual((False, '# some comment'), tokenizer.ConsumeCommentOrTrailingComment()) self.assertTrue(tokenizer.AtEnd()) def testConsumeTwoLineComments(self): text = '# some comment\n# another comment' tokenizer = text_format.Tokenizer(text.splitlines(), skip_comments=False) self.assertEqual((False, '# some comment'), tokenizer.ConsumeCommentOrTrailingComment()) self.assertFalse(tokenizer.AtEnd()) self.assertEqual((False, '# another comment'), tokenizer.ConsumeCommentOrTrailingComment()) self.assertTrue(tokenizer.AtEnd()) def testConsumeAndCheckTrailingComment(self): text = 'some_number: 4 # some comment' # trailing comment on the same line tokenizer = text_format.Tokenizer(text.splitlines(), skip_comments=False) self.assertRaises(text_format.ParseError, tokenizer.ConsumeCommentOrTrailingComment) self.assertEqual('some_number', tokenizer.ConsumeIdentifier()) self.assertEqual(tokenizer.token, ':') tokenizer.NextToken() self.assertRaises(text_format.ParseError, tokenizer.ConsumeCommentOrTrailingComment) self.assertEqual(4, tokenizer.ConsumeInteger()) self.assertFalse(tokenizer.AtEnd()) self.assertEqual((True, '# some comment'), tokenizer.ConsumeCommentOrTrailingComment()) self.assertTrue(tokenizer.AtEnd()) def testHashinComment(self): text = 'some_number: 4 # some comment # not a new comment' tokenizer = text_format.Tokenizer(text.splitlines(), skip_comments=False) self.assertEqual('some_number', tokenizer.ConsumeIdentifier()) self.assertEqual(tokenizer.token, ':') tokenizer.NextToken() self.assertEqual(4, tokenizer.ConsumeInteger()) self.assertEqual((True, '# some comment # not a new comment'), tokenizer.ConsumeCommentOrTrailingComment()) self.assertTrue(tokenizer.AtEnd()) # Tests for pretty printer functionality. @_parameterized.Parameters((unittest_pb2), (unittest_proto3_arena_pb2)) class PrettyPrinterTest(TextFormatBase): def testPrettyPrintNoMatch(self, message_module): def printer(message, indent, as_one_line): del message, indent, as_one_line return None message = message_module.TestAllTypes() msg = message.repeated_nested_message.add() msg.bb = 42 self.CompareToGoldenText( text_format.MessageToString( message, as_one_line=True, message_formatter=printer), 'repeated_nested_message { bb: 42 }') def testPrettyPrintOneLine(self, message_module): def printer(m, indent, as_one_line): del indent, as_one_line if m.DESCRIPTOR == message_module.TestAllTypes.NestedMessage.DESCRIPTOR: return 'My lucky number is %s' % m.bb message = message_module.TestAllTypes() msg = message.repeated_nested_message.add() msg.bb = 42 self.CompareToGoldenText( text_format.MessageToString( message, as_one_line=True, message_formatter=printer), 'repeated_nested_message { My lucky number is 42 }') def testPrettyPrintMultiLine(self, message_module): def printer(m, indent, as_one_line): if m.DESCRIPTOR == message_module.TestAllTypes.NestedMessage.DESCRIPTOR: line_deliminator = (' ' if as_one_line else '\n') + ' ' * indent return 'My lucky number is:%s%s' % (line_deliminator, m.bb) return None message = message_module.TestAllTypes() msg = message.repeated_nested_message.add() msg.bb = 42 self.CompareToGoldenText( text_format.MessageToString( message, as_one_line=True, message_formatter=printer), 'repeated_nested_message { My lucky number is: 42 }') self.CompareToGoldenText( text_format.MessageToString( message, as_one_line=False, message_formatter=printer), 'repeated_nested_message {\n My lucky number is:\n 42\n}\n') def testPrettyPrintEntireMessage(self, message_module): def printer(m, indent, as_one_line): del indent, as_one_line if m.DESCRIPTOR == message_module.TestAllTypes.DESCRIPTOR: return 'The is the message!' return None message = message_module.TestAllTypes() self.CompareToGoldenText( text_format.MessageToString( message, as_one_line=False, message_formatter=printer), 'The is the message!\n') self.CompareToGoldenText( text_format.MessageToString( message, as_one_line=True, message_formatter=printer), 'The is the message!') def testPrettyPrintMultipleParts(self, message_module): def printer(m, indent, as_one_line): del indent, as_one_line if m.DESCRIPTOR == message_module.TestAllTypes.NestedMessage.DESCRIPTOR: return 'My lucky number is %s' % m.bb return None message = message_module.TestAllTypes() message.optional_int32 = 61 msg = message.repeated_nested_message.add() msg.bb = 42 msg = message.repeated_nested_message.add() msg.bb = 99 msg = message.optional_nested_message msg.bb = 1 self.CompareToGoldenText( text_format.MessageToString( message, as_one_line=True, message_formatter=printer), ('optional_int32: 61 ' 'optional_nested_message { My lucky number is 1 } ' 'repeated_nested_message { My lucky number is 42 } ' 'repeated_nested_message { My lucky number is 99 }')) if __name__ == '__main__': unittest.main() PK!?Udd*protobuf/internal/well_known_types_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Test for google.protobuf.internal.well_known_types.""" __author__ = 'jieluo@google.com (Jie Luo)' import collections from datetime import datetime try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import any_pb2 from google.protobuf import duration_pb2 from google.protobuf import field_mask_pb2 from google.protobuf import struct_pb2 from google.protobuf import timestamp_pb2 from google.protobuf import unittest_pb2 from google.protobuf.internal import any_test_pb2 from google.protobuf.internal import test_util from google.protobuf.internal import well_known_types from google.protobuf import descriptor from google.protobuf import text_format class TimeUtilTestBase(unittest.TestCase): def CheckTimestampConversion(self, message, text): self.assertEqual(text, message.ToJsonString()) parsed_message = timestamp_pb2.Timestamp() parsed_message.FromJsonString(text) self.assertEqual(message, parsed_message) def CheckDurationConversion(self, message, text): self.assertEqual(text, message.ToJsonString()) parsed_message = duration_pb2.Duration() parsed_message.FromJsonString(text) self.assertEqual(message, parsed_message) class TimeUtilTest(TimeUtilTestBase): def testTimestampSerializeAndParse(self): message = timestamp_pb2.Timestamp() # Generated output should contain 3, 6, or 9 fractional digits. message.seconds = 0 message.nanos = 0 self.CheckTimestampConversion(message, '1970-01-01T00:00:00Z') message.nanos = 10000000 self.CheckTimestampConversion(message, '1970-01-01T00:00:00.010Z') message.nanos = 10000 self.CheckTimestampConversion(message, '1970-01-01T00:00:00.000010Z') message.nanos = 10 self.CheckTimestampConversion(message, '1970-01-01T00:00:00.000000010Z') # Test min timestamps. message.seconds = -62135596800 message.nanos = 0 self.CheckTimestampConversion(message, '0001-01-01T00:00:00Z') # Test max timestamps. message.seconds = 253402300799 message.nanos = 999999999 self.CheckTimestampConversion(message, '9999-12-31T23:59:59.999999999Z') # Test negative timestamps. message.seconds = -1 self.CheckTimestampConversion(message, '1969-12-31T23:59:59.999999999Z') # Parsing accepts an fractional digits as long as they fit into nano # precision. message.FromJsonString('1970-01-01T00:00:00.1Z') self.assertEqual(0, message.seconds) self.assertEqual(100000000, message.nanos) # Parsing accpets offsets. message.FromJsonString('1970-01-01T00:00:00-08:00') self.assertEqual(8 * 3600, message.seconds) self.assertEqual(0, message.nanos) # It is not easy to check with current time. For test coverage only. message.GetCurrentTime() self.assertNotEqual(8 * 3600, message.seconds) def testDurationSerializeAndParse(self): message = duration_pb2.Duration() # Generated output should contain 3, 6, or 9 fractional digits. message.seconds = 0 message.nanos = 0 self.CheckDurationConversion(message, '0s') message.nanos = 10000000 self.CheckDurationConversion(message, '0.010s') message.nanos = 10000 self.CheckDurationConversion(message, '0.000010s') message.nanos = 10 self.CheckDurationConversion(message, '0.000000010s') # Test min and max message.seconds = 315576000000 message.nanos = 999999999 self.CheckDurationConversion(message, '315576000000.999999999s') message.seconds = -315576000000 message.nanos = -999999999 self.CheckDurationConversion(message, '-315576000000.999999999s') # Parsing accepts an fractional digits as long as they fit into nano # precision. message.FromJsonString('0.1s') self.assertEqual(100000000, message.nanos) message.FromJsonString('0.0000001s') self.assertEqual(100, message.nanos) def testTimestampIntegerConversion(self): message = timestamp_pb2.Timestamp() message.FromNanoseconds(1) self.assertEqual('1970-01-01T00:00:00.000000001Z', message.ToJsonString()) self.assertEqual(1, message.ToNanoseconds()) message.FromNanoseconds(-1) self.assertEqual('1969-12-31T23:59:59.999999999Z', message.ToJsonString()) self.assertEqual(-1, message.ToNanoseconds()) message.FromMicroseconds(1) self.assertEqual('1970-01-01T00:00:00.000001Z', message.ToJsonString()) self.assertEqual(1, message.ToMicroseconds()) message.FromMicroseconds(-1) self.assertEqual('1969-12-31T23:59:59.999999Z', message.ToJsonString()) self.assertEqual(-1, message.ToMicroseconds()) message.FromMilliseconds(1) self.assertEqual('1970-01-01T00:00:00.001Z', message.ToJsonString()) self.assertEqual(1, message.ToMilliseconds()) message.FromMilliseconds(-1) self.assertEqual('1969-12-31T23:59:59.999Z', message.ToJsonString()) self.assertEqual(-1, message.ToMilliseconds()) message.FromSeconds(1) self.assertEqual('1970-01-01T00:00:01Z', message.ToJsonString()) self.assertEqual(1, message.ToSeconds()) message.FromSeconds(-1) self.assertEqual('1969-12-31T23:59:59Z', message.ToJsonString()) self.assertEqual(-1, message.ToSeconds()) message.FromNanoseconds(1999) self.assertEqual(1, message.ToMicroseconds()) # For negative values, Timestamp will be rounded down. # For example, "1969-12-31T23:59:59.5Z" (i.e., -0.5s) rounded to seconds # will be "1969-12-31T23:59:59Z" (i.e., -1s) rather than # "1970-01-01T00:00:00Z" (i.e., 0s). message.FromNanoseconds(-1999) self.assertEqual(-2, message.ToMicroseconds()) def testDurationIntegerConversion(self): message = duration_pb2.Duration() message.FromNanoseconds(1) self.assertEqual('0.000000001s', message.ToJsonString()) self.assertEqual(1, message.ToNanoseconds()) message.FromNanoseconds(-1) self.assertEqual('-0.000000001s', message.ToJsonString()) self.assertEqual(-1, message.ToNanoseconds()) message.FromMicroseconds(1) self.assertEqual('0.000001s', message.ToJsonString()) self.assertEqual(1, message.ToMicroseconds()) message.FromMicroseconds(-1) self.assertEqual('-0.000001s', message.ToJsonString()) self.assertEqual(-1, message.ToMicroseconds()) message.FromMilliseconds(1) self.assertEqual('0.001s', message.ToJsonString()) self.assertEqual(1, message.ToMilliseconds()) message.FromMilliseconds(-1) self.assertEqual('-0.001s', message.ToJsonString()) self.assertEqual(-1, message.ToMilliseconds()) message.FromSeconds(1) self.assertEqual('1s', message.ToJsonString()) self.assertEqual(1, message.ToSeconds()) message.FromSeconds(-1) self.assertEqual('-1s', message.ToJsonString()) self.assertEqual(-1, message.ToSeconds()) # Test truncation behavior. message.FromNanoseconds(1999) self.assertEqual(1, message.ToMicroseconds()) # For negative values, Duration will be rounded towards 0. message.FromNanoseconds(-1999) self.assertEqual(-1, message.ToMicroseconds()) def testDatetimeConverison(self): message = timestamp_pb2.Timestamp() dt = datetime(1970, 1, 1) message.FromDatetime(dt) self.assertEqual(dt, message.ToDatetime()) message.FromMilliseconds(1999) self.assertEqual(datetime(1970, 1, 1, 0, 0, 1, 999000), message.ToDatetime()) def testTimedeltaConversion(self): message = duration_pb2.Duration() message.FromNanoseconds(1999999999) td = message.ToTimedelta() self.assertEqual(1, td.seconds) self.assertEqual(999999, td.microseconds) message.FromNanoseconds(-1999999999) td = message.ToTimedelta() self.assertEqual(-1, td.days) self.assertEqual(86398, td.seconds) self.assertEqual(1, td.microseconds) message.FromMicroseconds(-1) td = message.ToTimedelta() self.assertEqual(-1, td.days) self.assertEqual(86399, td.seconds) self.assertEqual(999999, td.microseconds) converted_message = duration_pb2.Duration() converted_message.FromTimedelta(td) self.assertEqual(message, converted_message) def testInvalidTimestamp(self): message = timestamp_pb2.Timestamp() self.assertRaisesRegex( well_known_types.ParseError, 'Failed to parse timestamp: missing valid timezone offset.', message.FromJsonString, '') self.assertRaisesRegex( well_known_types.ParseError, 'Failed to parse timestamp: invalid trailing data ' '1970-01-01T00:00:01Ztrail.', message.FromJsonString, '1970-01-01T00:00:01Ztrail') self.assertRaisesRegex( ValueError, 'time data \'10000-01-01T00:00:00\' does not match' ' format \'%Y-%m-%dT%H:%M:%S\'', message.FromJsonString, '10000-01-01T00:00:00.00Z') self.assertRaisesRegex( well_known_types.ParseError, 'nanos 0123456789012 more than 9 fractional digits.', message.FromJsonString, '1970-01-01T00:00:00.0123456789012Z') self.assertRaisesRegex( well_known_types.ParseError, (r'Invalid timezone offset value: \+08.'), message.FromJsonString, '1972-01-01T01:00:00.01+08',) self.assertRaisesRegex( ValueError, 'year (0 )?is out of range', message.FromJsonString, '0000-01-01T00:00:00Z') message.seconds = 253402300800 self.assertRaisesRegex( OverflowError, 'date value out of range', message.ToJsonString) def testInvalidDuration(self): message = duration_pb2.Duration() self.assertRaisesRegex( well_known_types.ParseError, 'Duration must end with letter "s": 1.', message.FromJsonString, '1') self.assertRaisesRegex( well_known_types.ParseError, 'Couldn\'t parse duration: 1...2s.', message.FromJsonString, '1...2s') text = '-315576000001.000000000s' self.assertRaisesRegex( well_known_types.Error, r'Duration is not valid\: Seconds -315576000001 must be in range' r' \[-315576000000\, 315576000000\].', message.FromJsonString, text) text = '315576000001.000000000s' self.assertRaisesRegex( well_known_types.Error, r'Duration is not valid\: Seconds 315576000001 must be in range' r' \[-315576000000\, 315576000000\].', message.FromJsonString, text) message.seconds = -315576000001 message.nanos = 0 self.assertRaisesRegex( well_known_types.Error, r'Duration is not valid\: Seconds -315576000001 must be in range' r' \[-315576000000\, 315576000000\].', message.ToJsonString) message.seconds = 0 message.nanos = 999999999 + 1 self.assertRaisesRegex( well_known_types.Error, r'Duration is not valid\: Nanos 1000000000 must be in range' r' \[-999999999\, 999999999\].', message.ToJsonString) class FieldMaskTest(unittest.TestCase): def testStringFormat(self): mask = field_mask_pb2.FieldMask() self.assertEqual('', mask.ToJsonString()) mask.paths.append('foo') self.assertEqual('foo', mask.ToJsonString()) mask.paths.append('bar') self.assertEqual('foo,bar', mask.ToJsonString()) mask.FromJsonString('') self.assertEqual('', mask.ToJsonString()) mask.FromJsonString('foo') self.assertEqual(['foo'], mask.paths) mask.FromJsonString('foo,bar') self.assertEqual(['foo', 'bar'], mask.paths) # Test camel case mask.Clear() mask.paths.append('foo_bar') self.assertEqual('fooBar', mask.ToJsonString()) mask.paths.append('bar_quz') self.assertEqual('fooBar,barQuz', mask.ToJsonString()) mask.FromJsonString('') self.assertEqual('', mask.ToJsonString()) mask.FromJsonString('fooBar') self.assertEqual(['foo_bar'], mask.paths) mask.FromJsonString('fooBar,barQuz') self.assertEqual(['foo_bar', 'bar_quz'], mask.paths) def testDescriptorToFieldMask(self): mask = field_mask_pb2.FieldMask() msg_descriptor = unittest_pb2.TestAllTypes.DESCRIPTOR mask.AllFieldsFromDescriptor(msg_descriptor) self.assertEqual(75, len(mask.paths)) self.assertTrue(mask.IsValidForDescriptor(msg_descriptor)) for field in msg_descriptor.fields: self.assertTrue(field.name in mask.paths) def testIsValidForDescriptor(self): msg_descriptor = unittest_pb2.TestAllTypes.DESCRIPTOR # Empty mask mask = field_mask_pb2.FieldMask() self.assertTrue(mask.IsValidForDescriptor(msg_descriptor)) # All fields from descriptor mask.AllFieldsFromDescriptor(msg_descriptor) self.assertTrue(mask.IsValidForDescriptor(msg_descriptor)) # Child under optional message mask.paths.append('optional_nested_message.bb') self.assertTrue(mask.IsValidForDescriptor(msg_descriptor)) # Repeated field is only allowed in the last position of path mask.paths.append('repeated_nested_message.bb') self.assertFalse(mask.IsValidForDescriptor(msg_descriptor)) # Invalid top level field mask = field_mask_pb2.FieldMask() mask.paths.append('xxx') self.assertFalse(mask.IsValidForDescriptor(msg_descriptor)) # Invalid field in root mask = field_mask_pb2.FieldMask() mask.paths.append('xxx.zzz') self.assertFalse(mask.IsValidForDescriptor(msg_descriptor)) # Invalid field in internal node mask = field_mask_pb2.FieldMask() mask.paths.append('optional_nested_message.xxx.zzz') self.assertFalse(mask.IsValidForDescriptor(msg_descriptor)) # Invalid field in leaf mask = field_mask_pb2.FieldMask() mask.paths.append('optional_nested_message.xxx') self.assertFalse(mask.IsValidForDescriptor(msg_descriptor)) def testCanonicalFrom(self): mask = field_mask_pb2.FieldMask() out_mask = field_mask_pb2.FieldMask() # Paths will be sorted. mask.FromJsonString('baz.quz,bar,foo') out_mask.CanonicalFormFromMask(mask) self.assertEqual('bar,baz.quz,foo', out_mask.ToJsonString()) # Duplicated paths will be removed. mask.FromJsonString('foo,bar,foo') out_mask.CanonicalFormFromMask(mask) self.assertEqual('bar,foo', out_mask.ToJsonString()) # Sub-paths of other paths will be removed. mask.FromJsonString('foo.b1,bar.b1,foo.b2,bar') out_mask.CanonicalFormFromMask(mask) self.assertEqual('bar,foo.b1,foo.b2', out_mask.ToJsonString()) # Test more deeply nested cases. mask.FromJsonString( 'foo.bar.baz1,foo.bar.baz2.quz,foo.bar.baz2') out_mask.CanonicalFormFromMask(mask) self.assertEqual('foo.bar.baz1,foo.bar.baz2', out_mask.ToJsonString()) mask.FromJsonString( 'foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quz') out_mask.CanonicalFormFromMask(mask) self.assertEqual('foo.bar.baz1,foo.bar.baz2', out_mask.ToJsonString()) mask.FromJsonString( 'foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quz,foo.bar') out_mask.CanonicalFormFromMask(mask) self.assertEqual('foo.bar', out_mask.ToJsonString()) mask.FromJsonString( 'foo.bar.baz1,foo.bar.baz2,foo.bar.baz2.quz,foo') out_mask.CanonicalFormFromMask(mask) self.assertEqual('foo', out_mask.ToJsonString()) def testUnion(self): mask1 = field_mask_pb2.FieldMask() mask2 = field_mask_pb2.FieldMask() out_mask = field_mask_pb2.FieldMask() mask1.FromJsonString('foo,baz') mask2.FromJsonString('bar,quz') out_mask.Union(mask1, mask2) self.assertEqual('bar,baz,foo,quz', out_mask.ToJsonString()) # Overlap with duplicated paths. mask1.FromJsonString('foo,baz.bb') mask2.FromJsonString('baz.bb,quz') out_mask.Union(mask1, mask2) self.assertEqual('baz.bb,foo,quz', out_mask.ToJsonString()) # Overlap with paths covering some other paths. mask1.FromJsonString('foo.bar.baz,quz') mask2.FromJsonString('foo.bar,bar') out_mask.Union(mask1, mask2) self.assertEqual('bar,foo.bar,quz', out_mask.ToJsonString()) src = unittest_pb2.TestAllTypes() with self.assertRaises(ValueError): out_mask.Union(src, mask2) def testIntersect(self): mask1 = field_mask_pb2.FieldMask() mask2 = field_mask_pb2.FieldMask() out_mask = field_mask_pb2.FieldMask() # Test cases without overlapping. mask1.FromJsonString('foo,baz') mask2.FromJsonString('bar,quz') out_mask.Intersect(mask1, mask2) self.assertEqual('', out_mask.ToJsonString()) # Overlap with duplicated paths. mask1.FromJsonString('foo,baz.bb') mask2.FromJsonString('baz.bb,quz') out_mask.Intersect(mask1, mask2) self.assertEqual('baz.bb', out_mask.ToJsonString()) # Overlap with paths covering some other paths. mask1.FromJsonString('foo.bar.baz,quz') mask2.FromJsonString('foo.bar,bar') out_mask.Intersect(mask1, mask2) self.assertEqual('foo.bar.baz', out_mask.ToJsonString()) mask1.FromJsonString('foo.bar,bar') mask2.FromJsonString('foo.bar.baz,quz') out_mask.Intersect(mask1, mask2) self.assertEqual('foo.bar.baz', out_mask.ToJsonString()) def testMergeMessage(self): # Test merge one field. src = unittest_pb2.TestAllTypes() test_util.SetAllFields(src) for field in src.DESCRIPTOR.fields: if field.containing_oneof: continue field_name = field.name dst = unittest_pb2.TestAllTypes() # Only set one path to mask. mask = field_mask_pb2.FieldMask() mask.paths.append(field_name) mask.MergeMessage(src, dst) # The expected result message. msg = unittest_pb2.TestAllTypes() if field.label == descriptor.FieldDescriptor.LABEL_REPEATED: repeated_src = getattr(src, field_name) repeated_msg = getattr(msg, field_name) if field.cpp_type == descriptor.FieldDescriptor.CPPTYPE_MESSAGE: for item in repeated_src: repeated_msg.add().CopyFrom(item) else: repeated_msg.extend(repeated_src) elif field.cpp_type == descriptor.FieldDescriptor.CPPTYPE_MESSAGE: getattr(msg, field_name).CopyFrom(getattr(src, field_name)) else: setattr(msg, field_name, getattr(src, field_name)) # Only field specified in mask is merged. self.assertEqual(msg, dst) # Test merge nested fields. nested_src = unittest_pb2.NestedTestAllTypes() nested_dst = unittest_pb2.NestedTestAllTypes() nested_src.child.payload.optional_int32 = 1234 nested_src.child.child.payload.optional_int32 = 5678 mask = field_mask_pb2.FieldMask() mask.FromJsonString('child.payload') mask.MergeMessage(nested_src, nested_dst) self.assertEqual(1234, nested_dst.child.payload.optional_int32) self.assertEqual(0, nested_dst.child.child.payload.optional_int32) mask.FromJsonString('child.child.payload') mask.MergeMessage(nested_src, nested_dst) self.assertEqual(1234, nested_dst.child.payload.optional_int32) self.assertEqual(5678, nested_dst.child.child.payload.optional_int32) nested_dst.Clear() mask.FromJsonString('child.child.payload') mask.MergeMessage(nested_src, nested_dst) self.assertEqual(0, nested_dst.child.payload.optional_int32) self.assertEqual(5678, nested_dst.child.child.payload.optional_int32) nested_dst.Clear() mask.FromJsonString('child') mask.MergeMessage(nested_src, nested_dst) self.assertEqual(1234, nested_dst.child.payload.optional_int32) self.assertEqual(5678, nested_dst.child.child.payload.optional_int32) # Test MergeOptions. nested_dst.Clear() nested_dst.child.payload.optional_int64 = 4321 # Message fields will be merged by default. mask.FromJsonString('child.payload') mask.MergeMessage(nested_src, nested_dst) self.assertEqual(1234, nested_dst.child.payload.optional_int32) self.assertEqual(4321, nested_dst.child.payload.optional_int64) # Change the behavior to replace message fields. mask.FromJsonString('child.payload') mask.MergeMessage(nested_src, nested_dst, True, False) self.assertEqual(1234, nested_dst.child.payload.optional_int32) self.assertEqual(0, nested_dst.child.payload.optional_int64) # By default, fields missing in source are not cleared in destination. nested_dst.payload.optional_int32 = 1234 self.assertTrue(nested_dst.HasField('payload')) mask.FromJsonString('payload') mask.MergeMessage(nested_src, nested_dst) self.assertTrue(nested_dst.HasField('payload')) # But they are cleared when replacing message fields. nested_dst.Clear() nested_dst.payload.optional_int32 = 1234 mask.FromJsonString('payload') mask.MergeMessage(nested_src, nested_dst, True, False) self.assertFalse(nested_dst.HasField('payload')) nested_src.payload.repeated_int32.append(1234) nested_dst.payload.repeated_int32.append(5678) # Repeated fields will be appended by default. mask.FromJsonString('payload.repeatedInt32') mask.MergeMessage(nested_src, nested_dst) self.assertEqual(2, len(nested_dst.payload.repeated_int32)) self.assertEqual(5678, nested_dst.payload.repeated_int32[0]) self.assertEqual(1234, nested_dst.payload.repeated_int32[1]) # Change the behavior to replace repeated fields. mask.FromJsonString('payload.repeatedInt32') mask.MergeMessage(nested_src, nested_dst, False, True) self.assertEqual(1, len(nested_dst.payload.repeated_int32)) self.assertEqual(1234, nested_dst.payload.repeated_int32[0]) def testMergeErrors(self): src = unittest_pb2.TestAllTypes() dst = unittest_pb2.TestAllTypes() mask = field_mask_pb2.FieldMask() test_util.SetAllFields(src) mask.FromJsonString('optionalInt32.field') with self.assertRaises(ValueError) as e: mask.MergeMessage(src, dst) self.assertEqual('Error: Field optional_int32 in message ' 'protobuf_unittest.TestAllTypes is not a singular ' 'message field and cannot have sub-fields.', str(e.exception)) def testSnakeCaseToCamelCase(self): self.assertEqual('fooBar', well_known_types._SnakeCaseToCamelCase('foo_bar')) self.assertEqual('FooBar', well_known_types._SnakeCaseToCamelCase('_foo_bar')) self.assertEqual('foo3Bar', well_known_types._SnakeCaseToCamelCase('foo3_bar')) # No uppercase letter is allowed. self.assertRaisesRegex( well_known_types.Error, 'Fail to print FieldMask to Json string: Path name Foo must ' 'not contain uppercase letters.', well_known_types._SnakeCaseToCamelCase, 'Foo') # Any character after a "_" must be a lowercase letter. # 1. "_" cannot be followed by another "_". # 2. "_" cannot be followed by a digit. # 3. "_" cannot appear as the last character. self.assertRaisesRegex( well_known_types.Error, 'Fail to print FieldMask to Json string: The character after a ' '"_" must be a lowercase letter in path name foo__bar.', well_known_types._SnakeCaseToCamelCase, 'foo__bar') self.assertRaisesRegex( well_known_types.Error, 'Fail to print FieldMask to Json string: The character after a ' '"_" must be a lowercase letter in path name foo_3bar.', well_known_types._SnakeCaseToCamelCase, 'foo_3bar') self.assertRaisesRegex( well_known_types.Error, 'Fail to print FieldMask to Json string: Trailing "_" in path ' 'name foo_bar_.', well_known_types._SnakeCaseToCamelCase, 'foo_bar_') def testCamelCaseToSnakeCase(self): self.assertEqual('foo_bar', well_known_types._CamelCaseToSnakeCase('fooBar')) self.assertEqual('_foo_bar', well_known_types._CamelCaseToSnakeCase('FooBar')) self.assertEqual('foo3_bar', well_known_types._CamelCaseToSnakeCase('foo3Bar')) self.assertRaisesRegex( well_known_types.ParseError, 'Fail to parse FieldMask: Path name foo_bar must not contain "_"s.', well_known_types._CamelCaseToSnakeCase, 'foo_bar') class StructTest(unittest.TestCase): def testStruct(self): struct = struct_pb2.Struct() self.assertIsInstance(struct, collections.Mapping) self.assertEqual(0, len(struct)) struct_class = struct.__class__ struct['key1'] = 5 struct['key2'] = 'abc' struct['key3'] = True struct.get_or_create_struct('key4')['subkey'] = 11.0 struct_list = struct.get_or_create_list('key5') self.assertIsInstance(struct_list, collections.Sequence) struct_list.extend([6, 'seven', True, False, None]) struct_list.add_struct()['subkey2'] = 9 struct['key6'] = {'subkey': {}} struct['key7'] = [2, False] self.assertEqual(7, len(struct)) self.assertTrue(isinstance(struct, well_known_types.Struct)) self.assertEqual(5, struct['key1']) self.assertEqual('abc', struct['key2']) self.assertIs(True, struct['key3']) self.assertEqual(11, struct['key4']['subkey']) inner_struct = struct_class() inner_struct['subkey2'] = 9 self.assertEqual([6, 'seven', True, False, None, inner_struct], list(struct['key5'].items())) self.assertEqual({}, dict(struct['key6']['subkey'].fields)) self.assertEqual([2, False], list(struct['key7'].items())) serialized = struct.SerializeToString() struct2 = struct_pb2.Struct() struct2.ParseFromString(serialized) self.assertEqual(struct, struct2) for key, value in list(struct.items()): self.assertIn(key, struct) self.assertIn(key, struct2) self.assertEqual(value, struct2[key]) self.assertEqual(7, len(list(struct.keys()))) self.assertEqual(7, len(list(struct.values()))) for key in list(struct.keys()): self.assertIn(key, struct) self.assertIn(key, struct2) self.assertEqual(struct[key], struct2[key]) item = (next(iter(list(struct.keys()))), next(iter(list(struct.values())))) self.assertEqual(item, next(iter(list(struct.items())))) self.assertTrue(isinstance(struct2, well_known_types.Struct)) self.assertEqual(5, struct2['key1']) self.assertEqual('abc', struct2['key2']) self.assertIs(True, struct2['key3']) self.assertEqual(11, struct2['key4']['subkey']) self.assertEqual([6, 'seven', True, False, None, inner_struct], list(struct2['key5'].items())) struct_list = struct2['key5'] self.assertEqual(6, struct_list[0]) self.assertEqual('seven', struct_list[1]) self.assertEqual(True, struct_list[2]) self.assertEqual(False, struct_list[3]) self.assertEqual(None, struct_list[4]) self.assertEqual(inner_struct, struct_list[5]) struct_list[1] = 7 self.assertEqual(7, struct_list[1]) struct_list.add_list().extend([1, 'two', True, False, None]) self.assertEqual([1, 'two', True, False, None], list(struct_list[6].items())) struct_list.extend([{'nested_struct': 30}, ['nested_list', 99], {}, []]) self.assertEqual(11, len(struct_list.values)) self.assertEqual(30, struct_list[7]['nested_struct']) self.assertEqual('nested_list', struct_list[8][0]) self.assertEqual(99, struct_list[8][1]) self.assertEqual({}, dict(struct_list[9].fields)) self.assertEqual([], list(struct_list[10].items())) struct_list[0] = {'replace': 'set'} struct_list[1] = ['replace', 'set'] self.assertEqual('set', struct_list[0]['replace']) self.assertEqual(['replace', 'set'], list(struct_list[1].items())) text_serialized = str(struct) struct3 = struct_pb2.Struct() text_format.Merge(text_serialized, struct3) self.assertEqual(struct, struct3) struct.get_or_create_struct('key3')['replace'] = 12 self.assertEqual(12, struct['key3']['replace']) # Tests empty list. struct.get_or_create_list('empty_list') empty_list = struct['empty_list'] self.assertEqual([], list(empty_list.items())) list2 = struct_pb2.ListValue() list2.add_list() empty_list = list2[0] self.assertEqual([], list(empty_list.items())) # Tests empty struct. struct.get_or_create_struct('empty_struct') empty_struct = struct['empty_struct'] self.assertEqual({}, dict(empty_struct.fields)) list2.add_struct() empty_struct = list2[1] self.assertEqual({}, dict(empty_struct.fields)) self.assertEqual(9, len(struct)) del struct['key3'] del struct['key4'] self.assertEqual(7, len(struct)) self.assertEqual(6, len(struct['key5'])) del struct['key5'][1] self.assertEqual(5, len(struct['key5'])) self.assertEqual([6, True, False, None, inner_struct], list(struct['key5'].items())) def testMergeFrom(self): struct = struct_pb2.Struct() struct_class = struct.__class__ dictionary = { 'key1': 5, 'key2': 'abc', 'key3': True, 'key4': {'subkey': 11.0}, 'key5': [6, 'seven', True, False, None, {'subkey2': 9}], 'key6': [['nested_list', True]], 'empty_struct': {}, 'empty_list': [] } struct.update(dictionary) self.assertEqual(5, struct['key1']) self.assertEqual('abc', struct['key2']) self.assertIs(True, struct['key3']) self.assertEqual(11, struct['key4']['subkey']) inner_struct = struct_class() inner_struct['subkey2'] = 9 self.assertEqual([6, 'seven', True, False, None, inner_struct], list(struct['key5'].items())) self.assertEqual(2, len(struct['key6'][0].values)) self.assertEqual('nested_list', struct['key6'][0][0]) self.assertEqual(True, struct['key6'][0][1]) empty_list = struct['empty_list'] self.assertEqual([], list(empty_list.items())) empty_struct = struct['empty_struct'] self.assertEqual({}, dict(empty_struct.fields)) # According to documentation: "When parsing from the wire or when merging, # if there are duplicate map keys the last key seen is used". duplicate = { 'key4': {'replace': 20}, 'key5': [[False, 5]] } struct.update(duplicate) self.assertEqual(1, len(struct['key4'].fields)) self.assertEqual(20, struct['key4']['replace']) self.assertEqual(1, len(struct['key5'].values)) self.assertEqual(False, struct['key5'][0][0]) self.assertEqual(5, struct['key5'][0][1]) class AnyTest(unittest.TestCase): def testAnyMessage(self): # Creates and sets message. msg = any_test_pb2.TestAny() msg_descriptor = msg.DESCRIPTOR all_types = unittest_pb2.TestAllTypes() all_descriptor = all_types.DESCRIPTOR all_types.repeated_string.append('\u00fc\ua71f') # Packs to Any. msg.value.Pack(all_types) self.assertEqual(msg.value.type_url, 'type.googleapis.com/%s' % all_descriptor.full_name) self.assertEqual(msg.value.value, all_types.SerializeToString()) # Tests Is() method. self.assertTrue(msg.value.Is(all_descriptor)) self.assertFalse(msg.value.Is(msg_descriptor)) # Unpacks Any. unpacked_message = unittest_pb2.TestAllTypes() self.assertTrue(msg.value.Unpack(unpacked_message)) self.assertEqual(all_types, unpacked_message) # Unpacks to different type. self.assertFalse(msg.value.Unpack(msg)) # Only Any messages have Pack method. try: msg.Pack(all_types) except AttributeError: pass else: raise AttributeError('%s should not have Pack method.' % msg_descriptor.full_name) def testMessageName(self): # Creates and sets message. submessage = any_test_pb2.TestAny() submessage.int_value = 12345 msg = any_pb2.Any() msg.Pack(submessage) self.assertEqual(msg.TypeName(), 'google.protobuf.internal.TestAny') def testPackWithCustomTypeUrl(self): submessage = any_test_pb2.TestAny() submessage.int_value = 12345 msg = any_pb2.Any() # Pack with a custom type URL prefix. msg.Pack(submessage, 'type.myservice.com') self.assertEqual(msg.type_url, 'type.myservice.com/%s' % submessage.DESCRIPTOR.full_name) # Pack with a custom type URL prefix ending with '/'. msg.Pack(submessage, 'type.myservice.com/') self.assertEqual(msg.type_url, 'type.myservice.com/%s' % submessage.DESCRIPTOR.full_name) # Pack with an empty type URL prefix. msg.Pack(submessage, '') self.assertEqual(msg.type_url, '/%s' % submessage.DESCRIPTOR.full_name) # Test unpacking the type. unpacked_message = any_test_pb2.TestAny() self.assertTrue(msg.Unpack(unpacked_message)) self.assertEqual(submessage, unpacked_message) def testPackDeterministic(self): submessage = any_test_pb2.TestAny() for i in range(10): submessage.map_value[str(i)] = i * 2 msg = any_pb2.Any() msg.Pack(submessage, deterministic=True) serialized = msg.SerializeToString(deterministic=True) golden = (b'\n4type.googleapis.com/google.protobuf.internal.TestAny\x12F' b'\x1a\x05\n\x010\x10\x00\x1a\x05\n\x011\x10\x02\x1a\x05\n\x01' b'2\x10\x04\x1a\x05\n\x013\x10\x06\x1a\x05\n\x014\x10\x08\x1a' b'\x05\n\x015\x10\n\x1a\x05\n\x016\x10\x0c\x1a\x05\n\x017\x10' b'\x0e\x1a\x05\n\x018\x10\x10\x1a\x05\n\x019\x10\x12') self.assertEqual(golden, serialized) if __name__ == '__main__': unittest.main() PK!xG'protobuf/internal/proto_builder_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Tests for google.protobuf.proto_builder.""" try: from collections import OrderedDict except ImportError: from ordereddict import OrderedDict #PY26 try: import unittest2 as unittest except ImportError: import unittest from google.protobuf import descriptor_pb2 from google.protobuf import descriptor_pool from google.protobuf import proto_builder from google.protobuf import text_format class ProtoBuilderTest(unittest.TestCase): def setUp(self): self.ordered_fields = OrderedDict([ ('foo', descriptor_pb2.FieldDescriptorProto.TYPE_INT64), ('bar', descriptor_pb2.FieldDescriptorProto.TYPE_STRING), ]) self._fields = dict(self.ordered_fields) def testMakeSimpleProtoClass(self): """Test that we can create a proto class.""" proto_cls = proto_builder.MakeSimpleProtoClass( self._fields, full_name='net.proto2.python.public.proto_builder_test.Test') proto = proto_cls() proto.foo = 12345 proto.bar = 'asdf' self.assertMultiLineEqual( 'bar: "asdf"\nfoo: 12345\n', text_format.MessageToString(proto)) def testOrderedFields(self): """Test that the field order is maintained when given an OrderedDict.""" proto_cls = proto_builder.MakeSimpleProtoClass( self.ordered_fields, full_name='net.proto2.python.public.proto_builder_test.OrderedTest') proto = proto_cls() proto.foo = 12345 proto.bar = 'asdf' self.assertMultiLineEqual( 'foo: 12345\nbar: "asdf"\n', text_format.MessageToString(proto)) def testMakeSameProtoClassTwice(self): """Test that the DescriptorPool is used.""" pool = descriptor_pool.DescriptorPool() proto_cls1 = proto_builder.MakeSimpleProtoClass( self._fields, full_name='net.proto2.python.public.proto_builder_test.Test', pool=pool) proto_cls2 = proto_builder.MakeSimpleProtoClass( self._fields, full_name='net.proto2.python.public.proto_builder_test.Test', pool=pool) self.assertIs(proto_cls1.DESCRIPTOR, proto_cls2.DESCRIPTOR) if __name__ == '__main__': unittest.main() PK!K5QQprotobuf/internal/containers.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Contains container classes to represent different protocol buffer types. This file defines container classes which represent categories of protocol buffer field types which need extra maintenance. Currently these categories are: - Repeated scalar fields - These are all repeated fields which aren't composite (e.g. they are of simple types like int32, string, etc). - Repeated composite fields - Repeated fields which are composite. This includes groups and nested messages. """ __author__ = 'petar@google.com (Petar Petrov)' import collections import sys if sys.version_info[0] < 3: # We would use collections.MutableMapping all the time, but in Python 2 it # doesn't define __slots__. This causes two significant problems: # # 1. we can't disallow arbitrary attribute assignment, even if our derived # classes *do* define __slots__. # # 2. we can't safely derive a C type from it without __slots__ defined (the # interpreter expects to find a dict at tp_dictoffset, which we can't # robustly provide. And we don't want an instance dict anyway. # # So this is the Python 2.7 definition of Mapping/MutableMapping functions # verbatim, except that: # 1. We declare __slots__. # 2. We don't declare this as a virtual base class. The classes defined # in collections are the interesting base classes, not us. # # Note: deriving from object is critical. It is the only thing that makes # this a true type, allowing us to derive from it in C++ cleanly and making # __slots__ properly disallow arbitrary element assignment. class Mapping(object): __slots__ = () def get(self, key, default=None): try: return self[key] except KeyError: return default def __contains__(self, key): try: self[key] except KeyError: return False else: return True def iterkeys(self): return iter(self) def itervalues(self): for key in self: yield self[key] def iteritems(self): for key in self: yield (key, self[key]) def keys(self): return list(self) def items(self): return [(key, self[key]) for key in self] def values(self): return [self[key] for key in self] # Mappings are not hashable by default, but subclasses can change this __hash__ = None def __eq__(self, other): if not isinstance(other, collections.Mapping): return NotImplemented return dict(list(self.items())) == dict(list(other.items())) def __ne__(self, other): return not (self == other) class MutableMapping(Mapping): __slots__ = () __marker = object() def pop(self, key, default=__marker): try: value = self[key] except KeyError: if default is self.__marker: raise return default else: del self[key] return value def popitem(self): try: key = next(iter(self)) except StopIteration: raise KeyError value = self[key] del self[key] return key, value def clear(self): try: while True: self.popitem() except KeyError: pass def update(*args, **kwds): if len(args) > 2: raise TypeError("update() takes at most 2 positional " "arguments ({} given)".format(len(args))) elif not args: raise TypeError("update() takes at least 1 argument (0 given)") self = args[0] other = args[1] if len(args) >= 2 else () if isinstance(other, Mapping): for key in other: self[key] = other[key] elif hasattr(other, "keys"): for key in list(other.keys()): self[key] = other[key] else: for key, value in other: self[key] = value for key, value in list(kwds.items()): self[key] = value def setdefault(self, key, default=None): try: return self[key] except KeyError: self[key] = default return default collections.Mapping.register(Mapping) collections.MutableMapping.register(MutableMapping) else: # In Python 3 we can just use MutableMapping directly, because it defines # __slots__. MutableMapping = collections.MutableMapping class BaseContainer(object): """Base container class.""" # Minimizes memory usage and disallows assignment to other attributes. __slots__ = ['_message_listener', '_values'] def __init__(self, message_listener): """ Args: message_listener: A MessageListener implementation. The RepeatedScalarFieldContainer will call this object's Modified() method when it is modified. """ self._message_listener = message_listener self._values = [] def __getitem__(self, key): """Retrieves item by the specified key.""" return self._values[key] def __len__(self): """Returns the number of elements in the container.""" return len(self._values) def __ne__(self, other): """Checks if another instance isn't equal to this one.""" # The concrete classes should define __eq__. return not self == other def __hash__(self): raise TypeError('unhashable object') def __repr__(self): return repr(self._values) def sort(self, *args, **kwargs): # Continue to support the old sort_function keyword argument. # This is expected to be a rare occurrence, so use LBYL to avoid # the overhead of actually catching KeyError. if 'sort_function' in kwargs: kwargs['cmp'] = kwargs.pop('sort_function') self._values.sort(*args, **kwargs) class RepeatedScalarFieldContainer(BaseContainer): """Simple, type-checked, list-like container for holding repeated scalars.""" # Disallows assignment to other attributes. __slots__ = ['_type_checker'] def __init__(self, message_listener, type_checker): """ Args: message_listener: A MessageListener implementation. The RepeatedScalarFieldContainer will call this object's Modified() method when it is modified. type_checker: A type_checkers.ValueChecker instance to run on elements inserted into this container. """ super(RepeatedScalarFieldContainer, self).__init__(message_listener) self._type_checker = type_checker def append(self, value): """Appends an item to the list. Similar to list.append().""" self._values.append(self._type_checker.CheckValue(value)) if not self._message_listener.dirty: self._message_listener.Modified() def insert(self, key, value): """Inserts the item at the specified position. Similar to list.insert().""" self._values.insert(key, self._type_checker.CheckValue(value)) if not self._message_listener.dirty: self._message_listener.Modified() def extend(self, elem_seq): """Extends by appending the given iterable. Similar to list.extend().""" if elem_seq is None: return try: elem_seq_iter = iter(elem_seq) except TypeError: if not elem_seq: # silently ignore falsy inputs :-/. # TODO(ptucker): Deprecate this behavior. b/18413862 return raise new_values = [self._type_checker.CheckValue(elem) for elem in elem_seq_iter] if new_values: self._values.extend(new_values) self._message_listener.Modified() def MergeFrom(self, other): """Appends the contents of another repeated field of the same type to this one. We do not check the types of the individual fields. """ self._values.extend(other._values) self._message_listener.Modified() def remove(self, elem): """Removes an item from the list. Similar to list.remove().""" self._values.remove(elem) self._message_listener.Modified() def pop(self, key=-1): """Removes and returns an item at a given index. Similar to list.pop().""" value = self._values[key] self.__delitem__(key) return value def __setitem__(self, key, value): """Sets the item on the specified position.""" if isinstance(key, slice): # PY3 if key.step is not None: raise ValueError('Extended slices not supported') self.__setslice__(key.start, key.stop, value) else: self._values[key] = self._type_checker.CheckValue(value) self._message_listener.Modified() def __getslice__(self, start, stop): """Retrieves the subset of items from between the specified indices.""" return self._values[start:stop] def __setslice__(self, start, stop, values): """Sets the subset of items from between the specified indices.""" new_values = [] for value in values: new_values.append(self._type_checker.CheckValue(value)) self._values[start:stop] = new_values self._message_listener.Modified() def __delitem__(self, key): """Deletes the item at the specified position.""" del self._values[key] self._message_listener.Modified() def __delslice__(self, start, stop): """Deletes the subset of items from between the specified indices.""" del self._values[start:stop] self._message_listener.Modified() def __eq__(self, other): """Compares the current instance with another one.""" if self is other: return True # Special case for the same type which should be common and fast. if isinstance(other, self.__class__): return other._values == self._values # We are presumably comparing against some other sequence type. return other == self._values collections.MutableSequence.register(BaseContainer) class RepeatedCompositeFieldContainer(BaseContainer): """Simple, list-like container for holding repeated composite fields.""" # Disallows assignment to other attributes. __slots__ = ['_message_descriptor'] def __init__(self, message_listener, message_descriptor): """ Note that we pass in a descriptor instead of the generated directly, since at the time we construct a _RepeatedCompositeFieldContainer we haven't yet necessarily initialized the type that will be contained in the container. Args: message_listener: A MessageListener implementation. The RepeatedCompositeFieldContainer will call this object's Modified() method when it is modified. message_descriptor: A Descriptor instance describing the protocol type that should be present in this container. We'll use the _concrete_class field of this descriptor when the client calls add(). """ super(RepeatedCompositeFieldContainer, self).__init__(message_listener) self._message_descriptor = message_descriptor def add(self, **kwargs): """Adds a new element at the end of the list and returns it. Keyword arguments may be used to initialize the element. """ new_element = self._message_descriptor._concrete_class(**kwargs) new_element._SetListener(self._message_listener) self._values.append(new_element) if not self._message_listener.dirty: self._message_listener.Modified() return new_element def extend(self, elem_seq): """Extends by appending the given sequence of elements of the same type as this one, copying each individual message. """ message_class = self._message_descriptor._concrete_class listener = self._message_listener values = self._values for message in elem_seq: new_element = message_class() new_element._SetListener(listener) new_element.MergeFrom(message) values.append(new_element) listener.Modified() def MergeFrom(self, other): """Appends the contents of another repeated field of the same type to this one, copying each individual message. """ self.extend(other._values) def remove(self, elem): """Removes an item from the list. Similar to list.remove().""" self._values.remove(elem) self._message_listener.Modified() def pop(self, key=-1): """Removes and returns an item at a given index. Similar to list.pop().""" value = self._values[key] self.__delitem__(key) return value def __getslice__(self, start, stop): """Retrieves the subset of items from between the specified indices.""" return self._values[start:stop] def __delitem__(self, key): """Deletes the item at the specified position.""" del self._values[key] self._message_listener.Modified() def __delslice__(self, start, stop): """Deletes the subset of items from between the specified indices.""" del self._values[start:stop] self._message_listener.Modified() def __eq__(self, other): """Compares the current instance with another one.""" if self is other: return True if not isinstance(other, self.__class__): raise TypeError('Can only compare repeated composite fields against ' 'other repeated composite fields.') return self._values == other._values class ScalarMap(MutableMapping): """Simple, type-checked, dict-like container for holding repeated scalars.""" # Disallows assignment to other attributes. __slots__ = ['_key_checker', '_value_checker', '_values', '_message_listener', '_entry_descriptor'] def __init__(self, message_listener, key_checker, value_checker, entry_descriptor): """ Args: message_listener: A MessageListener implementation. The ScalarMap will call this object's Modified() method when it is modified. key_checker: A type_checkers.ValueChecker instance to run on keys inserted into this container. value_checker: A type_checkers.ValueChecker instance to run on values inserted into this container. entry_descriptor: The MessageDescriptor of a map entry: key and value. """ self._message_listener = message_listener self._key_checker = key_checker self._value_checker = value_checker self._entry_descriptor = entry_descriptor self._values = {} def __getitem__(self, key): try: return self._values[key] except KeyError: key = self._key_checker.CheckValue(key) val = self._value_checker.DefaultValue() self._values[key] = val return val def __contains__(self, item): # We check the key's type to match the strong-typing flavor of the API. # Also this makes it easier to match the behavior of the C++ implementation. self._key_checker.CheckValue(item) return item in self._values # We need to override this explicitly, because our defaultdict-like behavior # will make the default implementation (from our base class) always insert # the key. def get(self, key, default=None): if key in self: return self[key] else: return default def __setitem__(self, key, value): checked_key = self._key_checker.CheckValue(key) checked_value = self._value_checker.CheckValue(value) self._values[checked_key] = checked_value self._message_listener.Modified() def __delitem__(self, key): del self._values[key] self._message_listener.Modified() def __len__(self): return len(self._values) def __iter__(self): return iter(self._values) def __repr__(self): return repr(self._values) def MergeFrom(self, other): self._values.update(other._values) self._message_listener.Modified() def InvalidateIterators(self): # It appears that the only way to reliably invalidate iterators to # self._values is to ensure that its size changes. original = self._values self._values = original.copy() original[None] = None # This is defined in the abstract base, but we can do it much more cheaply. def clear(self): self._values.clear() self._message_listener.Modified() def GetEntryClass(self): return self._entry_descriptor._concrete_class class MessageMap(MutableMapping): """Simple, type-checked, dict-like container for with submessage values.""" # Disallows assignment to other attributes. __slots__ = ['_key_checker', '_values', '_message_listener', '_message_descriptor', '_entry_descriptor'] def __init__(self, message_listener, message_descriptor, key_checker, entry_descriptor): """ Args: message_listener: A MessageListener implementation. The ScalarMap will call this object's Modified() method when it is modified. key_checker: A type_checkers.ValueChecker instance to run on keys inserted into this container. value_checker: A type_checkers.ValueChecker instance to run on values inserted into this container. entry_descriptor: The MessageDescriptor of a map entry: key and value. """ self._message_listener = message_listener self._message_descriptor = message_descriptor self._key_checker = key_checker self._entry_descriptor = entry_descriptor self._values = {} def __getitem__(self, key): try: return self._values[key] except KeyError: key = self._key_checker.CheckValue(key) new_element = self._message_descriptor._concrete_class() new_element._SetListener(self._message_listener) self._values[key] = new_element self._message_listener.Modified() return new_element def get_or_create(self, key): """get_or_create() is an alias for getitem (ie. map[key]). Args: key: The key to get or create in the map. This is useful in cases where you want to be explicit that the call is mutating the map. This can avoid lint errors for statements like this that otherwise would appear to be pointless statements: msg.my_map[key] """ return self[key] # We need to override this explicitly, because our defaultdict-like behavior # will make the default implementation (from our base class) always insert # the key. def get(self, key, default=None): if key in self: return self[key] else: return default def __contains__(self, item): return item in self._values def __setitem__(self, key, value): raise ValueError('May not set values directly, call my_map[key].foo = 5') def __delitem__(self, key): del self._values[key] self._message_listener.Modified() def __len__(self): return len(self._values) def __iter__(self): return iter(self._values) def __repr__(self): return repr(self._values) def MergeFrom(self, other): for key in other: # According to documentation: "When parsing from the wire or when merging, # if there are duplicate map keys the last key seen is used". if key in self: del self[key] self[key].CopyFrom(other[key]) # self._message_listener.Modified() not required here, because # mutations to submessages already propagate. def InvalidateIterators(self): # It appears that the only way to reliably invalidate iterators to # self._values is to ensure that its size changes. original = self._values self._values = original.copy() original[None] = None # This is defined in the abstract base, but we can do it much more cheaply. def clear(self): self._values.clear() self._message_listener.Modified() def GetEntryClass(self): return self._entry_descriptor._concrete_class PK!Dġġ%protobuf/internal/json_format_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Test for google.protobuf.json_format.""" __author__ = 'jieluo@google.com (Jie Luo)' import json import math import sys try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import any_pb2 from google.protobuf import duration_pb2 from google.protobuf import field_mask_pb2 from google.protobuf import struct_pb2 from google.protobuf import timestamp_pb2 from google.protobuf import wrappers_pb2 from google.protobuf import unittest_mset_pb2 from google.protobuf import unittest_pb2 from google.protobuf.internal import well_known_types from google.protobuf import json_format from google.protobuf.util import json_format_proto3_pb2 class JsonFormatBase(unittest.TestCase): def FillAllFields(self, message): message.int32_value = 20 message.int64_value = -20 message.uint32_value = 3120987654 message.uint64_value = 12345678900 message.float_value = float('-inf') message.double_value = 3.1415 message.bool_value = True message.string_value = 'foo' message.bytes_value = b'bar' message.message_value.value = 10 message.enum_value = json_format_proto3_pb2.BAR # Repeated message.repeated_int32_value.append(0x7FFFFFFF) message.repeated_int32_value.append(-2147483648) message.repeated_int64_value.append(9007199254740992) message.repeated_int64_value.append(-9007199254740992) message.repeated_uint32_value.append(0xFFFFFFF) message.repeated_uint32_value.append(0x7FFFFFF) message.repeated_uint64_value.append(9007199254740992) message.repeated_uint64_value.append(9007199254740991) message.repeated_float_value.append(0) message.repeated_double_value.append(1E-15) message.repeated_double_value.append(float('inf')) message.repeated_bool_value.append(True) message.repeated_bool_value.append(False) message.repeated_string_value.append('Few symbols!#$,;') message.repeated_string_value.append('bar') message.repeated_bytes_value.append(b'foo') message.repeated_bytes_value.append(b'bar') message.repeated_message_value.add().value = 10 message.repeated_message_value.add().value = 11 message.repeated_enum_value.append(json_format_proto3_pb2.FOO) message.repeated_enum_value.append(json_format_proto3_pb2.BAR) self.message = message def CheckParseBack(self, message, parsed_message): json_format.Parse(json_format.MessageToJson(message), parsed_message) self.assertEqual(message, parsed_message) def CheckError(self, text, error_message): message = json_format_proto3_pb2.TestMessage() self.assertRaisesRegex( json_format.ParseError, error_message, json_format.Parse, text, message) class JsonFormatTest(JsonFormatBase): def testEmptyMessageToJson(self): message = json_format_proto3_pb2.TestMessage() self.assertEqual(json_format.MessageToJson(message), '{}') parsed_message = json_format_proto3_pb2.TestMessage() self.CheckParseBack(message, parsed_message) def testPartialMessageToJson(self): message = json_format_proto3_pb2.TestMessage( string_value='test', repeated_int32_value=[89, 4]) self.assertEqual(json.loads(json_format.MessageToJson(message)), json.loads('{"stringValue": "test", ' '"repeatedInt32Value": [89, 4]}')) parsed_message = json_format_proto3_pb2.TestMessage() self.CheckParseBack(message, parsed_message) def testAllFieldsToJson(self): message = json_format_proto3_pb2.TestMessage() text = ('{"int32Value": 20, ' '"int64Value": "-20", ' '"uint32Value": 3120987654,' '"uint64Value": "12345678900",' '"floatValue": "-Infinity",' '"doubleValue": 3.1415,' '"boolValue": true,' '"stringValue": "foo",' '"bytesValue": "YmFy",' '"messageValue": {"value": 10},' '"enumValue": "BAR",' '"repeatedInt32Value": [2147483647, -2147483648],' '"repeatedInt64Value": ["9007199254740992", "-9007199254740992"],' '"repeatedUint32Value": [268435455, 134217727],' '"repeatedUint64Value": ["9007199254740992", "9007199254740991"],' '"repeatedFloatValue": [0],' '"repeatedDoubleValue": [1e-15, "Infinity"],' '"repeatedBoolValue": [true, false],' '"repeatedStringValue": ["Few symbols!#$,;", "bar"],' '"repeatedBytesValue": ["Zm9v", "YmFy"],' '"repeatedMessageValue": [{"value": 10}, {"value": 11}],' '"repeatedEnumValue": ["FOO", "BAR"]' '}') self.FillAllFields(message) self.assertEqual( json.loads(json_format.MessageToJson(message)), json.loads(text)) parsed_message = json_format_proto3_pb2.TestMessage() json_format.Parse(text, parsed_message) self.assertEqual(message, parsed_message) def testUnknownEnumToJsonAndBack(self): text = '{\n "enumValue": 999\n}' message = json_format_proto3_pb2.TestMessage() message.enum_value = 999 self.assertEqual(json_format.MessageToJson(message), text) parsed_message = json_format_proto3_pb2.TestMessage() json_format.Parse(text, parsed_message) self.assertEqual(message, parsed_message) def testExtensionToJsonAndBack(self): message = unittest_mset_pb2.TestMessageSetContainer() ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension message.message_set.Extensions[ext1].i = 23 message.message_set.Extensions[ext2].str = 'foo' message_text = json_format.MessageToJson( message ) parsed_message = unittest_mset_pb2.TestMessageSetContainer() json_format.Parse(message_text, parsed_message) self.assertEqual(message, parsed_message) def testExtensionErrors(self): self.CheckError('{"[extensionField]": {}}', 'Message type proto3.TestMessage does not have extensions') def testExtensionToDictAndBack(self): message = unittest_mset_pb2.TestMessageSetContainer() ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension message.message_set.Extensions[ext1].i = 23 message.message_set.Extensions[ext2].str = 'foo' message_dict = json_format.MessageToDict( message ) parsed_message = unittest_mset_pb2.TestMessageSetContainer() json_format.ParseDict(message_dict, parsed_message) self.assertEqual(message, parsed_message) def testExtensionSerializationDictMatchesProto3Spec(self): """See go/proto3-json-spec for spec. """ message = unittest_mset_pb2.TestMessageSetContainer() ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension message.message_set.Extensions[ext1].i = 23 message.message_set.Extensions[ext2].str = 'foo' message_dict = json_format.MessageToDict( message ) golden_dict = { 'messageSet': { '[protobuf_unittest.' 'TestMessageSetExtension1.messageSetExtension]': { 'i': 23, }, '[protobuf_unittest.' 'TestMessageSetExtension2.messageSetExtension]': { 'str': 'foo', }, }, } self.assertEqual(golden_dict, message_dict) def testExtensionSerializationJsonMatchesProto3Spec(self): """See go/proto3-json-spec for spec. """ message = unittest_mset_pb2.TestMessageSetContainer() ext1 = unittest_mset_pb2.TestMessageSetExtension1.message_set_extension ext2 = unittest_mset_pb2.TestMessageSetExtension2.message_set_extension message.message_set.Extensions[ext1].i = 23 message.message_set.Extensions[ext2].str = 'foo' message_text = json_format.MessageToJson( message ) ext1_text = ('protobuf_unittest.TestMessageSetExtension1.' 'messageSetExtension') ext2_text = ('protobuf_unittest.TestMessageSetExtension2.' 'messageSetExtension') golden_text = ('{"messageSet": {' ' "[%s]": {' ' "i": 23' ' },' ' "[%s]": {' ' "str": "foo"' ' }' '}}') % (ext1_text, ext2_text) self.assertEqual(json.loads(golden_text), json.loads(message_text)) def testJsonEscapeString(self): message = json_format_proto3_pb2.TestMessage() if sys.version_info[0] < 3: message.string_value = '&\n<\"\r>\b\t\f\\\001/\xe2\x80\xa8\xe2\x80\xa9' else: message.string_value = '&\n<\"\r>\b\t\f\\\001/' message.string_value += (b'\xe2\x80\xa8\xe2\x80\xa9').decode('utf-8') self.assertEqual( json_format.MessageToJson(message), '{\n "stringValue": ' '"&\\n<\\\"\\r>\\b\\t\\f\\\\\\u0001/\\u2028\\u2029"\n}') parsed_message = json_format_proto3_pb2.TestMessage() self.CheckParseBack(message, parsed_message) text = '{"int32Value": "\u0031"}' json_format.Parse(text, message) self.assertEqual(message.int32_value, 1) def testAlwaysSeriliaze(self): message = json_format_proto3_pb2.TestMessage( string_value='foo') self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads('{' '"repeatedStringValue": [],' '"stringValue": "foo",' '"repeatedBoolValue": [],' '"repeatedUint32Value": [],' '"repeatedInt32Value": [],' '"enumValue": "FOO",' '"int32Value": 0,' '"floatValue": 0,' '"int64Value": "0",' '"uint32Value": 0,' '"repeatedBytesValue": [],' '"repeatedUint64Value": [],' '"repeatedDoubleValue": [],' '"bytesValue": "",' '"boolValue": false,' '"repeatedEnumValue": [],' '"uint64Value": "0",' '"doubleValue": 0,' '"repeatedFloatValue": [],' '"repeatedInt64Value": [],' '"repeatedMessageValue": []}')) parsed_message = json_format_proto3_pb2.TestMessage() self.CheckParseBack(message, parsed_message) def testIntegersRepresentedAsFloat(self): message = json_format_proto3_pb2.TestMessage() json_format.Parse('{"int32Value": -2.147483648e9}', message) self.assertEqual(message.int32_value, -2147483648) json_format.Parse('{"int32Value": 1e5}', message) self.assertEqual(message.int32_value, 100000) json_format.Parse('{"int32Value": 1.0}', message) self.assertEqual(message.int32_value, 1) def testMapFields(self): message = json_format_proto3_pb2.TestNestedMap() self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads('{' '"boolMap": {},' '"int32Map": {},' '"int64Map": {},' '"uint32Map": {},' '"uint64Map": {},' '"stringMap": {},' '"mapMap": {}' '}')) message.bool_map[True] = 1 message.bool_map[False] = 2 message.int32_map[1] = 2 message.int32_map[2] = 3 message.int64_map[1] = 2 message.int64_map[2] = 3 message.uint32_map[1] = 2 message.uint32_map[2] = 3 message.uint64_map[1] = 2 message.uint64_map[2] = 3 message.string_map['1'] = 2 message.string_map['null'] = 3 message.map_map['1'].bool_map[True] = 3 self.assertEqual( json.loads(json_format.MessageToJson(message, False)), json.loads('{' '"boolMap": {"false": 2, "true": 1},' '"int32Map": {"1": 2, "2": 3},' '"int64Map": {"1": 2, "2": 3},' '"uint32Map": {"1": 2, "2": 3},' '"uint64Map": {"1": 2, "2": 3},' '"stringMap": {"1": 2, "null": 3},' '"mapMap": {"1": {"boolMap": {"true": 3}}}' '}')) parsed_message = json_format_proto3_pb2.TestNestedMap() self.CheckParseBack(message, parsed_message) def testOneofFields(self): message = json_format_proto3_pb2.TestOneof() # Always print does not affect oneof fields. self.assertEqual( json_format.MessageToJson(message, True), '{}') message.oneof_int32_value = 0 self.assertEqual( json_format.MessageToJson(message, True), '{\n' ' "oneofInt32Value": 0\n' '}') parsed_message = json_format_proto3_pb2.TestOneof() self.CheckParseBack(message, parsed_message) def testSurrogates(self): # Test correct surrogate handling. message = json_format_proto3_pb2.TestMessage() json_format.Parse('{"stringValue": "\\uD83D\\uDE01"}', message) self.assertEqual(message.string_value, b'\xF0\x9F\x98\x81'.decode('utf-8', 'strict')) # Error case: unpaired high surrogate. self.CheckError( '{"stringValue": "\\uD83D"}', r'Invalid \\uXXXX escape|Unpaired.*surrogate') # Unpaired low surrogate. self.CheckError( '{"stringValue": "\\uDE01"}', r'Invalid \\uXXXX escape|Unpaired.*surrogate') def testTimestampMessage(self): message = json_format_proto3_pb2.TestTimestamp() message.value.seconds = 0 message.value.nanos = 0 message.repeated_value.add().seconds = 20 message.repeated_value[0].nanos = 1 message.repeated_value.add().seconds = 0 message.repeated_value[1].nanos = 10000 message.repeated_value.add().seconds = 100000000 message.repeated_value[2].nanos = 0 # Maximum time message.repeated_value.add().seconds = 253402300799 message.repeated_value[3].nanos = 999999999 # Minimum time message.repeated_value.add().seconds = -62135596800 message.repeated_value[4].nanos = 0 self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads('{' '"value": "1970-01-01T00:00:00Z",' '"repeatedValue": [' ' "1970-01-01T00:00:20.000000001Z",' ' "1970-01-01T00:00:00.000010Z",' ' "1973-03-03T09:46:40Z",' ' "9999-12-31T23:59:59.999999999Z",' ' "0001-01-01T00:00:00Z"' ']' '}')) parsed_message = json_format_proto3_pb2.TestTimestamp() self.CheckParseBack(message, parsed_message) text = (r'{"value": "1970-01-01T00:00:00.01+08:00",' r'"repeatedValue":[' r' "1970-01-01T00:00:00.01+08:30",' r' "1970-01-01T00:00:00.01-01:23"]}') json_format.Parse(text, parsed_message) self.assertEqual(parsed_message.value.seconds, -8 * 3600) self.assertEqual(parsed_message.value.nanos, 10000000) self.assertEqual(parsed_message.repeated_value[0].seconds, -8.5 * 3600) self.assertEqual(parsed_message.repeated_value[1].seconds, 3600 + 23 * 60) def testDurationMessage(self): message = json_format_proto3_pb2.TestDuration() message.value.seconds = 1 message.repeated_value.add().seconds = 0 message.repeated_value[0].nanos = 10 message.repeated_value.add().seconds = -1 message.repeated_value[1].nanos = -1000 message.repeated_value.add().seconds = 10 message.repeated_value[2].nanos = 11000000 message.repeated_value.add().seconds = -315576000000 message.repeated_value.add().seconds = 315576000000 self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads('{' '"value": "1s",' '"repeatedValue": [' ' "0.000000010s",' ' "-1.000001s",' ' "10.011s",' ' "-315576000000s",' ' "315576000000s"' ']' '}')) parsed_message = json_format_proto3_pb2.TestDuration() self.CheckParseBack(message, parsed_message) def testFieldMaskMessage(self): message = json_format_proto3_pb2.TestFieldMask() message.value.paths.append('foo.bar') message.value.paths.append('bar') self.assertEqual( json_format.MessageToJson(message, True), '{\n' ' "value": "foo.bar,bar"\n' '}') parsed_message = json_format_proto3_pb2.TestFieldMask() self.CheckParseBack(message, parsed_message) def testWrapperMessage(self): message = json_format_proto3_pb2.TestWrapper() message.bool_value.value = False message.int32_value.value = 0 message.string_value.value = '' message.bytes_value.value = b'' message.repeated_bool_value.add().value = True message.repeated_bool_value.add().value = False message.repeated_int32_value.add() self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads('{\n' ' "int32Value": 0,' ' "boolValue": false,' ' "stringValue": "",' ' "bytesValue": "",' ' "repeatedBoolValue": [true, false],' ' "repeatedInt32Value": [0],' ' "repeatedUint32Value": [],' ' "repeatedFloatValue": [],' ' "repeatedDoubleValue": [],' ' "repeatedBytesValue": [],' ' "repeatedInt64Value": [],' ' "repeatedUint64Value": [],' ' "repeatedStringValue": []' '}')) parsed_message = json_format_proto3_pb2.TestWrapper() self.CheckParseBack(message, parsed_message) def testStructMessage(self): message = json_format_proto3_pb2.TestStruct() message.value['name'] = 'Jim' message.value['age'] = 10 message.value['attend'] = True message.value['email'] = None message.value.get_or_create_struct('address')['city'] = 'SFO' message.value['address']['house_number'] = 1024 struct_list = message.value.get_or_create_list('list') struct_list.extend([6, 'seven', True, False, None]) struct_list.add_struct()['subkey2'] = 9 message.repeated_value.add()['age'] = 11 message.repeated_value.add() self.assertEqual( json.loads(json_format.MessageToJson(message, False)), json.loads( '{' ' "value": {' ' "address": {' ' "city": "SFO", ' ' "house_number": 1024' ' }, ' ' "age": 10, ' ' "name": "Jim", ' ' "attend": true, ' ' "email": null, ' ' "list": [6, "seven", true, false, null, {"subkey2": 9}]' ' },' ' "repeatedValue": [{"age": 11}, {}]' '}')) parsed_message = json_format_proto3_pb2.TestStruct() self.CheckParseBack(message, parsed_message) def testValueMessage(self): message = json_format_proto3_pb2.TestValue() message.value.string_value = 'hello' message.repeated_value.add().number_value = 11.1 message.repeated_value.add().bool_value = False message.repeated_value.add().null_value = 0 self.assertEqual( json.loads(json_format.MessageToJson(message, False)), json.loads( '{' ' "value": "hello",' ' "repeatedValue": [11.1, false, null]' '}')) parsed_message = json_format_proto3_pb2.TestValue() self.CheckParseBack(message, parsed_message) # Can't parse back if the Value message is not set. message.repeated_value.add() self.assertEqual( json.loads(json_format.MessageToJson(message, False)), json.loads( '{' ' "value": "hello",' ' "repeatedValue": [11.1, false, null, null]' '}')) message.Clear() json_format.Parse('{"value": null}', message) self.assertEqual(message.value.WhichOneof('kind'), 'null_value') def testListValueMessage(self): message = json_format_proto3_pb2.TestListValue() message.value.values.add().number_value = 11.1 message.value.values.add().null_value = 0 message.value.values.add().bool_value = True message.value.values.add().string_value = 'hello' message.value.values.add().struct_value['name'] = 'Jim' message.repeated_value.add().values.add().number_value = 1 message.repeated_value.add() self.assertEqual( json.loads(json_format.MessageToJson(message, False)), json.loads( '{"value": [11.1, null, true, "hello", {"name": "Jim"}]\n,' '"repeatedValue": [[1], []]}')) parsed_message = json_format_proto3_pb2.TestListValue() self.CheckParseBack(message, parsed_message) def testAnyMessage(self): message = json_format_proto3_pb2.TestAny() value1 = json_format_proto3_pb2.MessageType() value2 = json_format_proto3_pb2.MessageType() value1.value = 1234 value2.value = 5678 message.value.Pack(value1) message.repeated_value.add().Pack(value1) message.repeated_value.add().Pack(value2) message.repeated_value.add() self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads( '{\n' ' "repeatedValue": [ {\n' ' "@type": "type.googleapis.com/proto3.MessageType",\n' ' "value": 1234\n' ' }, {\n' ' "@type": "type.googleapis.com/proto3.MessageType",\n' ' "value": 5678\n' ' },\n' ' {}],\n' ' "value": {\n' ' "@type": "type.googleapis.com/proto3.MessageType",\n' ' "value": 1234\n' ' }\n' '}\n')) parsed_message = json_format_proto3_pb2.TestAny() self.CheckParseBack(message, parsed_message) # Must print @type first test_message = json_format_proto3_pb2.TestMessage( bool_value=True, int32_value=20, int64_value=-20, uint32_value=20, uint64_value=20, double_value=3.14, string_value='foo') message.Clear() message.value.Pack(test_message) self.assertEqual( json_format.MessageToJson(message, False)[0:68], '{\n' ' "value": {\n' ' "@type": "type.googleapis.com/proto3.TestMessage"') def testWellKnownInAnyMessage(self): message = any_pb2.Any() int32_value = wrappers_pb2.Int32Value() int32_value.value = 1234 message.Pack(int32_value) self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads( '{\n' ' "@type": \"type.googleapis.com/google.protobuf.Int32Value\",\n' ' "value": 1234\n' '}\n')) parsed_message = any_pb2.Any() self.CheckParseBack(message, parsed_message) timestamp = timestamp_pb2.Timestamp() message.Pack(timestamp) self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads( '{\n' ' "@type": "type.googleapis.com/google.protobuf.Timestamp",\n' ' "value": "1970-01-01T00:00:00Z"\n' '}\n')) self.CheckParseBack(message, parsed_message) duration = duration_pb2.Duration() duration.seconds = 1 message.Pack(duration) self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads( '{\n' ' "@type": "type.googleapis.com/google.protobuf.Duration",\n' ' "value": "1s"\n' '}\n')) self.CheckParseBack(message, parsed_message) field_mask = field_mask_pb2.FieldMask() field_mask.paths.append('foo.bar') field_mask.paths.append('bar') message.Pack(field_mask) self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads( '{\n' ' "@type": "type.googleapis.com/google.protobuf.FieldMask",\n' ' "value": "foo.bar,bar"\n' '}\n')) self.CheckParseBack(message, parsed_message) struct_message = struct_pb2.Struct() struct_message['name'] = 'Jim' message.Pack(struct_message) self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads( '{\n' ' "@type": "type.googleapis.com/google.protobuf.Struct",\n' ' "value": {"name": "Jim"}\n' '}\n')) self.CheckParseBack(message, parsed_message) nested_any = any_pb2.Any() int32_value.value = 5678 nested_any.Pack(int32_value) message.Pack(nested_any) self.assertEqual( json.loads(json_format.MessageToJson(message, True)), json.loads( '{\n' ' "@type": "type.googleapis.com/google.protobuf.Any",\n' ' "value": {\n' ' "@type": "type.googleapis.com/google.protobuf.Int32Value",\n' ' "value": 5678\n' ' }\n' '}\n')) self.CheckParseBack(message, parsed_message) def testParseNull(self): message = json_format_proto3_pb2.TestMessage() parsed_message = json_format_proto3_pb2.TestMessage() self.FillAllFields(parsed_message) json_format.Parse('{"int32Value": null, ' '"int64Value": null, ' '"uint32Value": null,' '"uint64Value": null,' '"floatValue": null,' '"doubleValue": null,' '"boolValue": null,' '"stringValue": null,' '"bytesValue": null,' '"messageValue": null,' '"enumValue": null,' '"repeatedInt32Value": null,' '"repeatedInt64Value": null,' '"repeatedUint32Value": null,' '"repeatedUint64Value": null,' '"repeatedFloatValue": null,' '"repeatedDoubleValue": null,' '"repeatedBoolValue": null,' '"repeatedStringValue": null,' '"repeatedBytesValue": null,' '"repeatedMessageValue": null,' '"repeatedEnumValue": null' '}', parsed_message) self.assertEqual(message, parsed_message) # Null and {} should have different behavior for sub message. self.assertFalse(parsed_message.HasField('message_value')) json_format.Parse('{"messageValue": {}}', parsed_message) self.assertTrue(parsed_message.HasField('message_value')) # Null is not allowed to be used as an element in repeated field. self.assertRaisesRegex( json_format.ParseError, 'Failed to parse repeatedInt32Value field: ' 'null is not allowed to be used as an element in a repeated field.', json_format.Parse, '{"repeatedInt32Value":[1, null]}', parsed_message) self.CheckError('{"repeatedMessageValue":[null]}', 'Failed to parse repeatedMessageValue field: null is not' ' allowed to be used as an element in a repeated field.') def testNanFloat(self): message = json_format_proto3_pb2.TestMessage() message.float_value = float('nan') text = '{\n "floatValue": "NaN"\n}' self.assertEqual(json_format.MessageToJson(message), text) parsed_message = json_format_proto3_pb2.TestMessage() json_format.Parse(text, parsed_message) self.assertTrue(math.isnan(parsed_message.float_value)) def testParseEmptyText(self): self.CheckError('', r'Failed to load JSON: (Expecting value)|(No JSON).') def testParseEnumValue(self): message = json_format_proto3_pb2.TestMessage() text = '{"enumValue": 0}' json_format.Parse(text, message) text = '{"enumValue": 1}' json_format.Parse(text, message) self.CheckError( '{"enumValue": "baz"}', 'Failed to parse enumValue field: Invalid enum value baz ' 'for enum type proto3.EnumType.') # Proto3 accepts numeric unknown enums. text = '{"enumValue": 12345}' json_format.Parse(text, message) # Proto2 does not accept unknown enums. message = unittest_pb2.TestAllTypes() self.assertRaisesRegex( json_format.ParseError, 'Failed to parse optionalNestedEnum field: Invalid enum value 12345 ' 'for enum type protobuf_unittest.TestAllTypes.NestedEnum.', json_format.Parse, '{"optionalNestedEnum": 12345}', message) def testParseBadIdentifer(self): self.CheckError('{int32Value: 1}', (r'Failed to load JSON: Expecting property name' r'( enclosed in double quotes)?: line 1')) self.CheckError('{"unknownName": 1}', 'Message type "proto3.TestMessage" has no field named ' '"unknownName".') def testIgnoreUnknownField(self): text = '{"unknownName": 1}' parsed_message = json_format_proto3_pb2.TestMessage() json_format.Parse(text, parsed_message, ignore_unknown_fields=True) text = ('{\n' ' "repeatedValue": [ {\n' ' "@type": "type.googleapis.com/proto3.MessageType",\n' ' "unknownName": 1\n' ' }]\n' '}\n') parsed_message = json_format_proto3_pb2.TestAny() json_format.Parse(text, parsed_message, ignore_unknown_fields=True) def testDuplicateField(self): # Duplicate key check is not supported for python2.6 if sys.version_info < (2, 7): return self.CheckError('{"int32Value": 1,\n"int32Value":2}', 'Failed to load JSON: duplicate key int32Value.') def testInvalidBoolValue(self): self.CheckError('{"boolValue": 1}', 'Failed to parse boolValue field: ' 'Expected true or false without quotes.') self.CheckError('{"boolValue": "true"}', 'Failed to parse boolValue field: ' 'Expected true or false without quotes.') def testInvalidIntegerValue(self): message = json_format_proto3_pb2.TestMessage() text = '{"int32Value": 0x12345}' self.assertRaises(json_format.ParseError, json_format.Parse, text, message) self.CheckError('{"int32Value": 1.5}', 'Failed to parse int32Value field: ' 'Couldn\'t parse integer: 1.5.') self.CheckError('{"int32Value": 012345}', (r'Failed to load JSON: Expecting \'?,\'? delimiter: ' r'line 1.')) self.CheckError('{"int32Value": " 1 "}', 'Failed to parse int32Value field: ' 'Couldn\'t parse integer: " 1 ".') self.CheckError('{"int32Value": "1 "}', 'Failed to parse int32Value field: ' 'Couldn\'t parse integer: "1 ".') self.CheckError('{"int32Value": 12345678901234567890}', 'Failed to parse int32Value field: Value out of range: ' '12345678901234567890.') self.CheckError('{"uint32Value": -1}', 'Failed to parse uint32Value field: ' 'Value out of range: -1.') def testInvalidFloatValue(self): self.CheckError('{"floatValue": "nan"}', 'Failed to parse floatValue field: Couldn\'t ' 'parse float "nan", use "NaN" instead.') def testInvalidBytesValue(self): self.CheckError('{"bytesValue": "AQI"}', 'Failed to parse bytesValue field: Incorrect padding.') self.CheckError('{"bytesValue": "AQI*"}', 'Failed to parse bytesValue field: Incorrect padding.') def testInvalidRepeated(self): self.CheckError('{"repeatedInt32Value": 12345}', (r'Failed to parse repeatedInt32Value field: repeated field' r' repeatedInt32Value must be in \[\] which is 12345.')) def testInvalidMap(self): message = json_format_proto3_pb2.TestMap() text = '{"int32Map": {"null": 2, "2": 3}}' self.assertRaisesRegex( json_format.ParseError, 'Failed to parse int32Map field: invalid literal', json_format.Parse, text, message) text = '{"int32Map": {1: 2, "2": 3}}' self.assertRaisesRegex( json_format.ParseError, (r'Failed to load JSON: Expecting property name' r'( enclosed in double quotes)?: line 1'), json_format.Parse, text, message) text = '{"boolMap": {"null": 1}}' self.assertRaisesRegex( json_format.ParseError, 'Failed to parse boolMap field: Expected "true" or "false", not null.', json_format.Parse, text, message) if sys.version_info < (2, 7): return text = r'{"stringMap": {"a": 3, "\u0061": 2}}' self.assertRaisesRegex( json_format.ParseError, 'Failed to load JSON: duplicate key a', json_format.Parse, text, message) text = r'{"stringMap": 0}' self.assertRaisesRegex( json_format.ParseError, 'Failed to parse stringMap field: Map field string_map must be ' 'in a dict which is 0.', json_format.Parse, text, message) def testInvalidTimestamp(self): message = json_format_proto3_pb2.TestTimestamp() text = '{"value": "10000-01-01T00:00:00.00Z"}' self.assertRaisesRegex( json_format.ParseError, 'time data \'10000-01-01T00:00:00\' does not match' ' format \'%Y-%m-%dT%H:%M:%S\'.', json_format.Parse, text, message) text = '{"value": "1970-01-01T00:00:00.0123456789012Z"}' self.assertRaisesRegex( well_known_types.ParseError, 'nanos 0123456789012 more than 9 fractional digits.', json_format.Parse, text, message) text = '{"value": "1972-01-01T01:00:00.01+08"}' self.assertRaisesRegex( well_known_types.ParseError, (r'Invalid timezone offset value: \+08.'), json_format.Parse, text, message) # Time smaller than minimum time. text = '{"value": "0000-01-01T00:00:00Z"}' self.assertRaisesRegex( json_format.ParseError, 'Failed to parse value field: year (0 )?is out of range.', json_format.Parse, text, message) # Time bigger than maxinum time. message.value.seconds = 253402300800 self.assertRaisesRegex( OverflowError, 'date value out of range', json_format.MessageToJson, message) def testInvalidOneof(self): message = json_format_proto3_pb2.TestOneof() text = '{"oneofInt32Value": 1, "oneofStringValue": "2"}' self.assertRaisesRegex( json_format.ParseError, 'Message type "proto3.TestOneof"' ' should not have multiple "oneof_value" oneof fields.', json_format.Parse, text, message) def testInvalidListValue(self): message = json_format_proto3_pb2.TestListValue() text = '{"value": 1234}' self.assertRaisesRegex( json_format.ParseError, r'Failed to parse value field: ListValue must be in \[\] which is 1234', json_format.Parse, text, message) def testInvalidStruct(self): message = json_format_proto3_pb2.TestStruct() text = '{"value": 1234}' self.assertRaisesRegex( json_format.ParseError, 'Failed to parse value field: Struct must be in a dict which is 1234', json_format.Parse, text, message) def testInvalidAny(self): message = any_pb2.Any() text = '{"@type": "type.googleapis.com/google.protobuf.Int32Value"}' self.assertRaisesRegex( KeyError, 'value', json_format.Parse, text, message) text = '{"value": 1234}' self.assertRaisesRegex( json_format.ParseError, '@type is missing when parsing any message.', json_format.Parse, text, message) text = '{"@type": "type.googleapis.com/MessageNotExist", "value": 1234}' self.assertRaisesRegex( TypeError, 'Can not find message descriptor by type_url: ' 'type.googleapis.com/MessageNotExist.', json_format.Parse, text, message) # Only last part is to be used: b/25630112 text = (r'{"@type": "incorrect.googleapis.com/google.protobuf.Int32Value",' r'"value": 1234}') json_format.Parse(text, message) def testPreservingProtoFieldNames(self): message = json_format_proto3_pb2.TestMessage() message.int32_value = 12345 self.assertEqual('{\n "int32Value": 12345\n}', json_format.MessageToJson(message)) self.assertEqual('{\n "int32_value": 12345\n}', json_format.MessageToJson(message, False, True)) # When including_default_value_fields is True. message = json_format_proto3_pb2.TestTimestamp() self.assertEqual('{\n "repeatedValue": []\n}', json_format.MessageToJson(message, True, False)) self.assertEqual('{\n "repeated_value": []\n}', json_format.MessageToJson(message, True, True)) # Parsers accept both original proto field names and lowerCamelCase names. message = json_format_proto3_pb2.TestMessage() json_format.Parse('{"int32Value": 54321}', message) self.assertEqual(54321, message.int32_value) json_format.Parse('{"int32_value": 12345}', message) self.assertEqual(12345, message.int32_value) def testIndent(self): message = json_format_proto3_pb2.TestMessage() message.int32_value = 12345 self.assertEqual('{\n"int32Value": 12345\n}', json_format.MessageToJson(message, indent=0)) def testParseDict(self): expected = 12345 js_dict = {'int32Value': expected} message = json_format_proto3_pb2.TestMessage() json_format.ParseDict(js_dict, message) self.assertEqual(expected, message.int32_value) def testMessageToDict(self): message = json_format_proto3_pb2.TestMessage() message.int32_value = 12345 expected = {'int32Value': 12345} self.assertEqual(expected, json_format.MessageToDict(message)) def testJsonName(self): message = json_format_proto3_pb2.TestCustomJsonName() message.value = 12345 self.assertEqual('{\n "@value": 12345\n}', json_format.MessageToJson(message)) parsed_message = json_format_proto3_pb2.TestCustomJsonName() self.CheckParseBack(message, parsed_message) def testSortKeys(self): # Testing sort_keys is not perfectly working, as by random luck we could # get the output sorted. We just use a selection of names. message = json_format_proto3_pb2.TestMessage(bool_value=True, int32_value=1, int64_value=3, uint32_value=4, string_value='bla') self.assertEqual( json_format.MessageToJson(message, sort_keys=True), # We use json.dumps() instead of a hardcoded string due to differences # between Python 2 and Python 3. json.dumps({'boolValue': True, 'int32Value': 1, 'int64Value': '3', 'uint32Value': 4, 'stringValue': 'bla'}, indent=2, sort_keys=True)) if __name__ == '__main__': unittest.main() PK!W'&protobuf/internal/factory_test1_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/factory_test1.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/factory_test1.proto', package='google.protobuf.python.internal', syntax='proto2', serialized_pb=_b('\n,google/protobuf/internal/factory_test1.proto\x12\x1fgoogle.protobuf.python.internal\"\xd5\x03\n\x0f\x46\x61\x63tory1Message\x12\x45\n\x0e\x66\x61\x63tory_1_enum\x18\x01 \x01(\x0e\x32-.google.protobuf.python.internal.Factory1Enum\x12\x62\n\x15nested_factory_1_enum\x18\x02 \x01(\x0e\x32\x43.google.protobuf.python.internal.Factory1Message.NestedFactory1Enum\x12h\n\x18nested_factory_1_message\x18\x03 \x01(\x0b\x32\x46.google.protobuf.python.internal.Factory1Message.NestedFactory1Message\x12\x14\n\x0cscalar_value\x18\x04 \x01(\x05\x12\x12\n\nlist_value\x18\x05 \x03(\t\x1a&\n\x15NestedFactory1Message\x12\r\n\x05value\x18\x01 \x01(\t\"P\n\x12NestedFactory1Enum\x12\x1c\n\x18NESTED_FACTORY_1_VALUE_0\x10\x00\x12\x1c\n\x18NESTED_FACTORY_1_VALUE_1\x10\x01*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02*<\n\x0c\x46\x61\x63tory1Enum\x12\x15\n\x11\x46\x41\x43TORY_1_VALUE_0\x10\x00\x12\x15\n\x11\x46\x41\x43TORY_1_VALUE_1\x10\x01') ) _FACTORY1ENUM = _descriptor.EnumDescriptor( name='Factory1Enum', full_name='google.protobuf.python.internal.Factory1Enum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FACTORY_1_VALUE_0', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='FACTORY_1_VALUE_1', index=1, number=1, options=None, type=None), ], containing_type=None, options=None, serialized_start=553, serialized_end=613, ) _sym_db.RegisterEnumDescriptor(_FACTORY1ENUM) Factory1Enum = enum_type_wrapper.EnumTypeWrapper(_FACTORY1ENUM) FACTORY_1_VALUE_0 = 0 FACTORY_1_VALUE_1 = 1 _FACTORY1MESSAGE_NESTEDFACTORY1ENUM = _descriptor.EnumDescriptor( name='NestedFactory1Enum', full_name='google.protobuf.python.internal.Factory1Message.NestedFactory1Enum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='NESTED_FACTORY_1_VALUE_0', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='NESTED_FACTORY_1_VALUE_1', index=1, number=1, options=None, type=None), ], containing_type=None, options=None, serialized_start=460, serialized_end=540, ) _sym_db.RegisterEnumDescriptor(_FACTORY1MESSAGE_NESTEDFACTORY1ENUM) _FACTORY1MESSAGE_NESTEDFACTORY1MESSAGE = _descriptor.Descriptor( name='NestedFactory1Message', full_name='google.protobuf.python.internal.Factory1Message.NestedFactory1Message', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.python.internal.Factory1Message.NestedFactory1Message.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=420, serialized_end=458, ) _FACTORY1MESSAGE = _descriptor.Descriptor( name='Factory1Message', full_name='google.protobuf.python.internal.Factory1Message', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='factory_1_enum', full_name='google.protobuf.python.internal.Factory1Message.factory_1_enum', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_factory_1_enum', full_name='google.protobuf.python.internal.Factory1Message.nested_factory_1_enum', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='nested_factory_1_message', full_name='google.protobuf.python.internal.Factory1Message.nested_factory_1_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='scalar_value', full_name='google.protobuf.python.internal.Factory1Message.scalar_value', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='list_value', full_name='google.protobuf.python.internal.Factory1Message.list_value', index=4, number=5, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_FACTORY1MESSAGE_NESTEDFACTORY1MESSAGE, ], enum_types=[ _FACTORY1MESSAGE_NESTEDFACTORY1ENUM, ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1000, 536870912), ], oneofs=[ ], serialized_start=82, serialized_end=551, ) _FACTORY1MESSAGE_NESTEDFACTORY1MESSAGE.containing_type = _FACTORY1MESSAGE _FACTORY1MESSAGE.fields_by_name['factory_1_enum'].enum_type = _FACTORY1ENUM _FACTORY1MESSAGE.fields_by_name['nested_factory_1_enum'].enum_type = _FACTORY1MESSAGE_NESTEDFACTORY1ENUM _FACTORY1MESSAGE.fields_by_name['nested_factory_1_message'].message_type = _FACTORY1MESSAGE_NESTEDFACTORY1MESSAGE _FACTORY1MESSAGE_NESTEDFACTORY1ENUM.containing_type = _FACTORY1MESSAGE DESCRIPTOR.message_types_by_name['Factory1Message'] = _FACTORY1MESSAGE DESCRIPTOR.enum_types_by_name['Factory1Enum'] = _FACTORY1ENUM _sym_db.RegisterFileDescriptor(DESCRIPTOR) Factory1Message = _reflection.GeneratedProtocolMessageType('Factory1Message', (_message.Message,), dict( NestedFactory1Message = _reflection.GeneratedProtocolMessageType('NestedFactory1Message', (_message.Message,), dict( DESCRIPTOR = _FACTORY1MESSAGE_NESTEDFACTORY1MESSAGE, __module__ = 'google.protobuf.internal.factory_test1_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.Factory1Message.NestedFactory1Message) )) , DESCRIPTOR = _FACTORY1MESSAGE, __module__ = 'google.protobuf.internal.factory_test1_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.Factory1Message) )) _sym_db.RegisterMessage(Factory1Message) _sym_db.RegisterMessage(Factory1Message.NestedFactory1Message) # @@protoc_insertion_point(module_scope) PK!C/9z9zprotobuf/internal/decoder.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Code for decoding protocol buffer primitives. This code is very similar to encoder.py -- read the docs for that module first. A "decoder" is a function with the signature: Decode(buffer, pos, end, message, field_dict) The arguments are: buffer: The string containing the encoded message. pos: The current position in the string. end: The position in the string where the current message ends. May be less than len(buffer) if we're reading a sub-message. message: The message object into which we're parsing. field_dict: message._fields (avoids a hashtable lookup). The decoder reads the field and stores it into field_dict, returning the new buffer position. A decoder for a repeated field may proactively decode all of the elements of that field, if they appear consecutively. Note that decoders may throw any of the following: IndexError: Indicates a truncated message. struct.error: Unpacking of a fixed-width field failed. message.DecodeError: Other errors. Decoders are expected to raise an exception if they are called with pos > end. This allows callers to be lax about bounds checking: it's fineto read past "end" as long as you are sure that someone else will notice and throw an exception later on. Something up the call stack is expected to catch IndexError and struct.error and convert them to message.DecodeError. Decoders are constructed using decoder constructors with the signature: MakeDecoder(field_number, is_repeated, is_packed, key, new_default) The arguments are: field_number: The field number of the field we want to decode. is_repeated: Is the field a repeated field? (bool) is_packed: Is the field a packed field? (bool) key: The key to use when looking up the field within field_dict. (This is actually the FieldDescriptor but nothing in this file should depend on that.) new_default: A function which takes a message object as a parameter and returns a new instance of the default value for this field. (This is called for repeated fields and sub-messages, when an instance does not already exist.) As with encoders, we define a decoder constructor for every type of field. Then, for every field of every message class we construct an actual decoder. That decoder goes into a dict indexed by tag, so when we decode a message we repeatedly read a tag, look up the corresponding decoder, and invoke it. """ __author__ = 'kenton@google.com (Kenton Varda)' import struct import six if six.PY3: long = int from google.protobuf.internal import encoder from google.protobuf.internal import wire_format from google.protobuf import message # This will overflow and thus become IEEE-754 "infinity". We would use # "float('inf')" but it doesn't work on Windows pre-Python-2.6. _POS_INF = 1e10000 _NEG_INF = -_POS_INF _NAN = _POS_INF * 0 # This is not for optimization, but rather to avoid conflicts with local # variables named "message". _DecodeError = message.DecodeError def _VarintDecoder(mask, result_type): """Return an encoder for a basic varint value (does not include tag). Decoded values will be bitwise-anded with the given mask before being returned, e.g. to limit them to 32 bits. The returned decoder does not take the usual "end" parameter -- the caller is expected to do bounds checking after the fact (often the caller can defer such checking until later). The decoder returns a (value, new_pos) pair. """ def DecodeVarint(buffer, pos): result = 0 shift = 0 while 1: b = six.indexbytes(buffer, pos) result |= ((b & 0x7f) << shift) pos += 1 if not (b & 0x80): result &= mask result = result_type(result) return (result, pos) shift += 7 if shift >= 64: raise _DecodeError('Too many bytes when decoding varint.') return DecodeVarint def _SignedVarintDecoder(bits, result_type): """Like _VarintDecoder() but decodes signed values.""" signbit = 1 << (bits - 1) mask = (1 << bits) - 1 def DecodeVarint(buffer, pos): result = 0 shift = 0 while 1: b = six.indexbytes(buffer, pos) result |= ((b & 0x7f) << shift) pos += 1 if not (b & 0x80): result &= mask result = (result ^ signbit) - signbit result = result_type(result) return (result, pos) shift += 7 if shift >= 64: raise _DecodeError('Too many bytes when decoding varint.') return DecodeVarint # We force 32-bit values to int and 64-bit values to long to make # alternate implementations where the distinction is more significant # (e.g. the C++ implementation) simpler. _DecodeVarint = _VarintDecoder((1 << 64) - 1, int) _DecodeSignedVarint = _SignedVarintDecoder(64, int) # Use these versions for values which must be limited to 32 bits. _DecodeVarint32 = _VarintDecoder((1 << 32) - 1, int) _DecodeSignedVarint32 = _SignedVarintDecoder(32, int) def ReadTag(buffer, pos): """Read a tag from the buffer, and return a (tag_bytes, new_pos) tuple. We return the raw bytes of the tag rather than decoding them. The raw bytes can then be used to look up the proper decoder. This effectively allows us to trade some work that would be done in pure-python (decoding a varint) for work that is done in C (searching for a byte string in a hash table). In a low-level language it would be much cheaper to decode the varint and use that, but not in Python. """ start = pos while six.indexbytes(buffer, pos) & 0x80: pos += 1 pos += 1 return (six.binary_type(buffer[start:pos]), pos) # -------------------------------------------------------------------- def _SimpleDecoder(wire_type, decode_value): """Return a constructor for a decoder for fields of a particular type. Args: wire_type: The field's wire type. decode_value: A function which decodes an individual value, e.g. _DecodeVarint() """ def SpecificDecoder(field_number, is_repeated, is_packed, key, new_default): if is_packed: local_DecodeVarint = _DecodeVarint def DecodePackedField(buffer, pos, end, message, field_dict): value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) (endpoint, pos) = local_DecodeVarint(buffer, pos) endpoint += pos if endpoint > end: raise _DecodeError('Truncated message.') while pos < endpoint: (element, pos) = decode_value(buffer, pos) value.append(element) if pos > endpoint: del value[-1] # Discard corrupt value. raise _DecodeError('Packed element was truncated.') return pos return DecodePackedField elif is_repeated: tag_bytes = encoder.TagBytes(field_number, wire_type) tag_len = len(tag_bytes) def DecodeRepeatedField(buffer, pos, end, message, field_dict): value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) while 1: (element, new_pos) = decode_value(buffer, pos) value.append(element) # Predict that the next tag is another copy of the same repeated # field. pos = new_pos + tag_len if buffer[new_pos:pos] != tag_bytes or new_pos >= end: # Prediction failed. Return. if new_pos > end: raise _DecodeError('Truncated message.') return new_pos return DecodeRepeatedField else: def DecodeField(buffer, pos, end, message, field_dict): (field_dict[key], pos) = decode_value(buffer, pos) if pos > end: del field_dict[key] # Discard corrupt value. raise _DecodeError('Truncated message.') return pos return DecodeField return SpecificDecoder def _ModifiedDecoder(wire_type, decode_value, modify_value): """Like SimpleDecoder but additionally invokes modify_value on every value before storing it. Usually modify_value is ZigZagDecode. """ # Reusing _SimpleDecoder is slightly slower than copying a bunch of code, but # not enough to make a significant difference. def InnerDecode(buffer, pos): (result, new_pos) = decode_value(buffer, pos) return (modify_value(result), new_pos) return _SimpleDecoder(wire_type, InnerDecode) def _StructPackDecoder(wire_type, format): """Return a constructor for a decoder for a fixed-width field. Args: wire_type: The field's wire type. format: The format string to pass to struct.unpack(). """ value_size = struct.calcsize(format) local_unpack = struct.unpack # Reusing _SimpleDecoder is slightly slower than copying a bunch of code, but # not enough to make a significant difference. # Note that we expect someone up-stack to catch struct.error and convert # it to _DecodeError -- this way we don't have to set up exception- # handling blocks every time we parse one value. def InnerDecode(buffer, pos): new_pos = pos + value_size result = local_unpack(format, buffer[pos:new_pos])[0] return (result, new_pos) return _SimpleDecoder(wire_type, InnerDecode) def _FloatDecoder(): """Returns a decoder for a float field. This code works around a bug in struct.unpack for non-finite 32-bit floating-point values. """ local_unpack = struct.unpack def InnerDecode(buffer, pos): # We expect a 32-bit value in little-endian byte order. Bit 1 is the sign # bit, bits 2-9 represent the exponent, and bits 10-32 are the significand. new_pos = pos + 4 float_bytes = buffer[pos:new_pos] # If this value has all its exponent bits set, then it's non-finite. # In Python 2.4, struct.unpack will convert it to a finite 64-bit value. # To avoid that, we parse it specially. if (float_bytes[3:4] in b'\x7F\xFF' and float_bytes[2:3] >= b'\x80'): # If at least one significand bit is set... if float_bytes[0:3] != b'\x00\x00\x80': return (_NAN, new_pos) # If sign bit is set... if float_bytes[3:4] == b'\xFF': return (_NEG_INF, new_pos) return (_POS_INF, new_pos) # Note that we expect someone up-stack to catch struct.error and convert # it to _DecodeError -- this way we don't have to set up exception- # handling blocks every time we parse one value. result = local_unpack('= b'\xF0') and (double_bytes[0:7] != b'\x00\x00\x00\x00\x00\x00\xF0')): return (_NAN, new_pos) # Note that we expect someone up-stack to catch struct.error and convert # it to _DecodeError -- this way we don't have to set up exception- # handling blocks every time we parse one value. result = local_unpack(' end: raise _DecodeError('Truncated message.') while pos < endpoint: value_start_pos = pos (element, pos) = _DecodeSignedVarint32(buffer, pos) if element in enum_type.values_by_number: value.append(element) else: if not message._unknown_fields: message._unknown_fields = [] tag_bytes = encoder.TagBytes(field_number, wire_format.WIRETYPE_VARINT) message._unknown_fields.append( (tag_bytes, buffer[value_start_pos:pos])) if pos > endpoint: if element in enum_type.values_by_number: del value[-1] # Discard corrupt value. else: del message._unknown_fields[-1] raise _DecodeError('Packed element was truncated.') return pos return DecodePackedField elif is_repeated: tag_bytes = encoder.TagBytes(field_number, wire_format.WIRETYPE_VARINT) tag_len = len(tag_bytes) def DecodeRepeatedField(buffer, pos, end, message, field_dict): value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) while 1: (element, new_pos) = _DecodeSignedVarint32(buffer, pos) if element in enum_type.values_by_number: value.append(element) else: if not message._unknown_fields: message._unknown_fields = [] message._unknown_fields.append( (tag_bytes, buffer[pos:new_pos])) # Predict that the next tag is another copy of the same repeated # field. pos = new_pos + tag_len if buffer[new_pos:pos] != tag_bytes or new_pos >= end: # Prediction failed. Return. if new_pos > end: raise _DecodeError('Truncated message.') return new_pos return DecodeRepeatedField else: def DecodeField(buffer, pos, end, message, field_dict): value_start_pos = pos (enum_value, pos) = _DecodeSignedVarint32(buffer, pos) if pos > end: raise _DecodeError('Truncated message.') if enum_value in enum_type.values_by_number: field_dict[key] = enum_value else: if not message._unknown_fields: message._unknown_fields = [] tag_bytes = encoder.TagBytes(field_number, wire_format.WIRETYPE_VARINT) message._unknown_fields.append( (tag_bytes, buffer[value_start_pos:pos])) return pos return DecodeField # -------------------------------------------------------------------- Int32Decoder = _SimpleDecoder( wire_format.WIRETYPE_VARINT, _DecodeSignedVarint32) Int64Decoder = _SimpleDecoder( wire_format.WIRETYPE_VARINT, _DecodeSignedVarint) UInt32Decoder = _SimpleDecoder(wire_format.WIRETYPE_VARINT, _DecodeVarint32) UInt64Decoder = _SimpleDecoder(wire_format.WIRETYPE_VARINT, _DecodeVarint) SInt32Decoder = _ModifiedDecoder( wire_format.WIRETYPE_VARINT, _DecodeVarint32, wire_format.ZigZagDecode) SInt64Decoder = _ModifiedDecoder( wire_format.WIRETYPE_VARINT, _DecodeVarint, wire_format.ZigZagDecode) # Note that Python conveniently guarantees that when using the '<' prefix on # formats, they will also have the same size across all platforms (as opposed # to without the prefix, where their sizes depend on the C compiler's basic # type sizes). Fixed32Decoder = _StructPackDecoder(wire_format.WIRETYPE_FIXED32, ' end: raise _DecodeError('Truncated string.') value.append(_ConvertToUnicode(buffer[pos:new_pos])) # Predict that the next tag is another copy of the same repeated field. pos = new_pos + tag_len if buffer[new_pos:pos] != tag_bytes or new_pos == end: # Prediction failed. Return. return new_pos return DecodeRepeatedField else: def DecodeField(buffer, pos, end, message, field_dict): (size, pos) = local_DecodeVarint(buffer, pos) new_pos = pos + size if new_pos > end: raise _DecodeError('Truncated string.') field_dict[key] = _ConvertToUnicode(buffer[pos:new_pos]) return new_pos return DecodeField def BytesDecoder(field_number, is_repeated, is_packed, key, new_default): """Returns a decoder for a bytes field.""" local_DecodeVarint = _DecodeVarint assert not is_packed if is_repeated: tag_bytes = encoder.TagBytes(field_number, wire_format.WIRETYPE_LENGTH_DELIMITED) tag_len = len(tag_bytes) def DecodeRepeatedField(buffer, pos, end, message, field_dict): value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) while 1: (size, pos) = local_DecodeVarint(buffer, pos) new_pos = pos + size if new_pos > end: raise _DecodeError('Truncated string.') value.append(buffer[pos:new_pos]) # Predict that the next tag is another copy of the same repeated field. pos = new_pos + tag_len if buffer[new_pos:pos] != tag_bytes or new_pos == end: # Prediction failed. Return. return new_pos return DecodeRepeatedField else: def DecodeField(buffer, pos, end, message, field_dict): (size, pos) = local_DecodeVarint(buffer, pos) new_pos = pos + size if new_pos > end: raise _DecodeError('Truncated string.') field_dict[key] = buffer[pos:new_pos] return new_pos return DecodeField def GroupDecoder(field_number, is_repeated, is_packed, key, new_default): """Returns a decoder for a group field.""" end_tag_bytes = encoder.TagBytes(field_number, wire_format.WIRETYPE_END_GROUP) end_tag_len = len(end_tag_bytes) assert not is_packed if is_repeated: tag_bytes = encoder.TagBytes(field_number, wire_format.WIRETYPE_START_GROUP) tag_len = len(tag_bytes) def DecodeRepeatedField(buffer, pos, end, message, field_dict): value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) while 1: value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) # Read sub-message. pos = value.add()._InternalParse(buffer, pos, end) # Read end tag. new_pos = pos+end_tag_len if buffer[pos:new_pos] != end_tag_bytes or new_pos > end: raise _DecodeError('Missing group end tag.') # Predict that the next tag is another copy of the same repeated field. pos = new_pos + tag_len if buffer[new_pos:pos] != tag_bytes or new_pos == end: # Prediction failed. Return. return new_pos return DecodeRepeatedField else: def DecodeField(buffer, pos, end, message, field_dict): value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) # Read sub-message. pos = value._InternalParse(buffer, pos, end) # Read end tag. new_pos = pos+end_tag_len if buffer[pos:new_pos] != end_tag_bytes or new_pos > end: raise _DecodeError('Missing group end tag.') return new_pos return DecodeField def MessageDecoder(field_number, is_repeated, is_packed, key, new_default): """Returns a decoder for a message field.""" local_DecodeVarint = _DecodeVarint assert not is_packed if is_repeated: tag_bytes = encoder.TagBytes(field_number, wire_format.WIRETYPE_LENGTH_DELIMITED) tag_len = len(tag_bytes) def DecodeRepeatedField(buffer, pos, end, message, field_dict): value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) while 1: # Read length. (size, pos) = local_DecodeVarint(buffer, pos) new_pos = pos + size if new_pos > end: raise _DecodeError('Truncated message.') # Read sub-message. if value.add()._InternalParse(buffer, pos, new_pos) != new_pos: # The only reason _InternalParse would return early is if it # encountered an end-group tag. raise _DecodeError('Unexpected end-group tag.') # Predict that the next tag is another copy of the same repeated field. pos = new_pos + tag_len if buffer[new_pos:pos] != tag_bytes or new_pos == end: # Prediction failed. Return. return new_pos return DecodeRepeatedField else: def DecodeField(buffer, pos, end, message, field_dict): value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) # Read length. (size, pos) = local_DecodeVarint(buffer, pos) new_pos = pos + size if new_pos > end: raise _DecodeError('Truncated message.') # Read sub-message. if value._InternalParse(buffer, pos, new_pos) != new_pos: # The only reason _InternalParse would return early is if it encountered # an end-group tag. raise _DecodeError('Unexpected end-group tag.') return new_pos return DecodeField # -------------------------------------------------------------------- MESSAGE_SET_ITEM_TAG = encoder.TagBytes(1, wire_format.WIRETYPE_START_GROUP) def MessageSetItemDecoder(descriptor): """Returns a decoder for a MessageSet item. The parameter is the message Descriptor. The message set message looks like this: message MessageSet { repeated group Item = 1 { required int32 type_id = 2; required string message = 3; } } """ type_id_tag_bytes = encoder.TagBytes(2, wire_format.WIRETYPE_VARINT) message_tag_bytes = encoder.TagBytes(3, wire_format.WIRETYPE_LENGTH_DELIMITED) item_end_tag_bytes = encoder.TagBytes(1, wire_format.WIRETYPE_END_GROUP) local_ReadTag = ReadTag local_DecodeVarint = _DecodeVarint local_SkipField = SkipField def DecodeItem(buffer, pos, end, message, field_dict): message_set_item_start = pos type_id = -1 message_start = -1 message_end = -1 # Technically, type_id and message can appear in any order, so we need # a little loop here. while 1: (tag_bytes, pos) = local_ReadTag(buffer, pos) if tag_bytes == type_id_tag_bytes: (type_id, pos) = local_DecodeVarint(buffer, pos) elif tag_bytes == message_tag_bytes: (size, message_start) = local_DecodeVarint(buffer, pos) pos = message_end = message_start + size elif tag_bytes == item_end_tag_bytes: break else: pos = SkipField(buffer, pos, end, tag_bytes) if pos == -1: raise _DecodeError('Missing group end tag.') if pos > end: raise _DecodeError('Truncated message.') if type_id == -1: raise _DecodeError('MessageSet item missing type_id.') if message_start == -1: raise _DecodeError('MessageSet item missing message.') extension = message.Extensions._FindExtensionByNumber(type_id) if extension is not None: value = field_dict.get(extension) if value is None: value = field_dict.setdefault( extension, extension.message_type._concrete_class()) if value._InternalParse(buffer, message_start,message_end) != message_end: # The only reason _InternalParse would return early is if it encountered # an end-group tag. raise _DecodeError('Unexpected end-group tag.') else: if not message._unknown_fields: message._unknown_fields = [] message._unknown_fields.append((MESSAGE_SET_ITEM_TAG, buffer[message_set_item_start:pos])) return pos return DecodeItem # -------------------------------------------------------------------- def MapDecoder(field_descriptor, new_default, is_message_map): """Returns a decoder for a map field.""" key = field_descriptor tag_bytes = encoder.TagBytes(field_descriptor.number, wire_format.WIRETYPE_LENGTH_DELIMITED) tag_len = len(tag_bytes) local_DecodeVarint = _DecodeVarint # Can't read _concrete_class yet; might not be initialized. message_type = field_descriptor.message_type def DecodeMap(buffer, pos, end, message, field_dict): submsg = message_type._concrete_class() value = field_dict.get(key) if value is None: value = field_dict.setdefault(key, new_default(message)) while 1: # Read length. (size, pos) = local_DecodeVarint(buffer, pos) new_pos = pos + size if new_pos > end: raise _DecodeError('Truncated message.') # Read sub-message. submsg.Clear() if submsg._InternalParse(buffer, pos, new_pos) != new_pos: # The only reason _InternalParse would return early is if it # encountered an end-group tag. raise _DecodeError('Unexpected end-group tag.') if is_message_map: value[submsg.key].MergeFrom(submsg.value) else: value[submsg.key] = submsg.value # Predict that the next tag is another copy of the same repeated field. pos = new_pos + tag_len if buffer[new_pos:pos] != tag_bytes or new_pos == end: # Prediction failed. Return. return new_pos return DecodeMap # -------------------------------------------------------------------- # Optimization is not as heavy here because calls to SkipField() are rare, # except for handling end-group tags. def _SkipVarint(buffer, pos, end): """Skip a varint value. Returns the new position.""" # Previously ord(buffer[pos]) raised IndexError when pos is out of range. # With this code, ord(b'') raises TypeError. Both are handled in # python_message.py to generate a 'Truncated message' error. while ord(buffer[pos:pos+1]) & 0x80: pos += 1 pos += 1 if pos > end: raise _DecodeError('Truncated message.') return pos def _SkipFixed64(buffer, pos, end): """Skip a fixed64 value. Returns the new position.""" pos += 8 if pos > end: raise _DecodeError('Truncated message.') return pos def _SkipLengthDelimited(buffer, pos, end): """Skip a length-delimited value. Returns the new position.""" (size, pos) = _DecodeVarint(buffer, pos) pos += size if pos > end: raise _DecodeError('Truncated message.') return pos def _SkipGroup(buffer, pos, end): """Skip sub-group. Returns the new position.""" while 1: (tag_bytes, pos) = ReadTag(buffer, pos) new_pos = SkipField(buffer, pos, end, tag_bytes) if new_pos == -1: return pos pos = new_pos def _EndGroup(buffer, pos, end): """Skipping an END_GROUP tag returns -1 to tell the parent loop to break.""" return -1 def _SkipFixed32(buffer, pos, end): """Skip a fixed32 value. Returns the new position.""" pos += 4 if pos > end: raise _DecodeError('Truncated message.') return pos def _RaiseInvalidWireType(buffer, pos, end): """Skip function for unknown wire types. Raises an exception.""" raise _DecodeError('Tag had invalid wire type.') def _FieldSkipper(): """Constructs the SkipField function.""" WIRETYPE_TO_SKIPPER = [ _SkipVarint, _SkipFixed64, _SkipLengthDelimited, _SkipGroup, _EndGroup, _SkipFixed32, _RaiseInvalidWireType, _RaiseInvalidWireType, ] wiretype_mask = wire_format.TAG_TYPE_MASK def SkipField(buffer, pos, end, tag_bytes): """Skips a field with the specified tag. |pos| should point to the byte immediately after the tag. Returns: The new position (after the tag value), or -1 if the tag is an end-group tag (in which case the calling loop should break). """ # The wire type is always in the first byte since varints are little-endian. wire_type = ord(tag_bytes[0:1]) & wiretype_mask return WIRETYPE_TO_SKIPPER[wire_type](buffer, pos, end) return SkipField SkipField = _FieldSkipper() PK! ;'protobuf/internal/api_implementation.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Determine which implementation of the protobuf API is used in this process. """ import os import warnings import sys try: # pylint: disable=g-import-not-at-top from google.protobuf.internal import _api_implementation # The compile-time constants in the _api_implementation module can be used to # switch to a certain implementation of the Python API at build time. _api_version = _api_implementation.api_version _proto_extension_modules_exist_in_build = True except ImportError: _api_version = -1 # Unspecified by compiler flags. _proto_extension_modules_exist_in_build = False if _api_version == 1: raise ValueError('api_version=1 is no longer supported.') if _api_version < 0: # Still unspecified? try: # The presence of this module in a build allows the proto implementation to # be upgraded merely via build deps rather than a compiler flag or the # runtime environment variable. # pylint: disable=g-import-not-at-top from google.protobuf import _use_fast_cpp_protos # Work around a known issue in the classic bootstrap .par import hook. if not _use_fast_cpp_protos: raise ImportError('_use_fast_cpp_protos import succeeded but was None') del _use_fast_cpp_protos _api_version = 2 except ImportError: try: # pylint: disable=g-import-not-at-top from google.protobuf.internal import use_pure_python del use_pure_python # Avoids a pylint error and namespace pollution. except ImportError: if _proto_extension_modules_exist_in_build: if sys.version_info[0] >= 3: # Python 3 defaults to C++ impl v2. _api_version = 2 # TODO(b/17427486): Make Python 2 default to C++ impl v2. _default_implementation_type = ( 'python' if _api_version <= 0 else 'cpp') # This environment variable can be used to switch to a certain implementation # of the Python API, overriding the compile-time constants in the # _api_implementation module. Right now only 'python' and 'cpp' are valid # values. Any other value will be ignored. _implementation_type = os.getenv('PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION', _default_implementation_type) if _implementation_type != 'python': _implementation_type = 'cpp' if 'PyPy' in sys.version and _implementation_type == 'cpp': warnings.warn('PyPy does not work yet with cpp protocol buffers. ' 'Falling back to the python implementation.') _implementation_type = 'python' # This environment variable can be used to switch between the two # 'cpp' implementations, overriding the compile-time constants in the # _api_implementation module. Right now only '2' is supported. Any other # value will cause an error to be raised. _implementation_version_str = os.getenv( 'PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION', '2') if _implementation_version_str != '2': raise ValueError( 'unsupported PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION: "' + _implementation_version_str + '" (supported versions: 2)' ) _implementation_version = int(_implementation_version_str) # Detect if serialization should be deterministic by default try: # The presence of this module in a build allows the proto implementation to # be upgraded merely via build deps. # # NOTE: Merely importing this automatically enables deterministic proto # serialization for C++ code, but we still need to export it as a boolean so # that we can do the same for `_implementation_type == 'python'`. # # NOTE2: It is possible for C++ code to enable deterministic serialization by # default _without_ affecting Python code, if the C++ implementation is not in # use by this module. That is intended behavior, so we don't actually expose # this boolean outside of this module. # # pylint: disable=g-import-not-at-top,unused-import from google.protobuf import enable_deterministic_proto_serialization _python_deterministic_proto_serialization = True except ImportError: _python_deterministic_proto_serialization = False # Usage of this function is discouraged. Clients shouldn't care which # implementation of the API is in use. Note that there is no guarantee # that differences between APIs will be maintained. # Please don't use this function if possible. def Type(): return _implementation_type # See comment on 'Type' above. def Version(): return _implementation_version # For internal use only def IsPythonDefaultSerializationDeterministic(): return _python_deterministic_proto_serialization # DO NOT USE: For migration and testing only. Will be removed when Proto3 # defaults to preserve unknowns. if _implementation_type == 'cpp': try: # pylint: disable=g-import-not-at-top from google.protobuf.pyext import _message def GetPythonProto3PreserveUnknownsDefault(): return _message.GetPythonProto3PreserveUnknownsDefault() def SetPythonProto3PreserveUnknownsDefault(preserve): _message.SetPythonProto3PreserveUnknownsDefault(preserve) except ImportError: # Unrecognized cpp implementation. Skipping the unknown fields APIs. pass else: _python_proto3_preserve_unknowns_default = True def GetPythonProto3PreserveUnknownsDefault(): return _python_proto3_preserve_unknowns_default def SetPythonProto3PreserveUnknownsDefault(preserve): global _python_proto3_preserve_unknowns_default _python_proto3_preserve_unknowns_default = preserve PK!~Mb)protobuf/internal/descriptor_pool_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Tests for google.protobuf.descriptor_pool.""" __author__ = 'matthewtoia@google.com (Matt Toia)' import os import sys try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import unittest_import_pb2 from google.protobuf import unittest_import_public_pb2 from google.protobuf import unittest_pb2 from google.protobuf import descriptor_pb2 from google.protobuf.internal import api_implementation from google.protobuf.internal import descriptor_pool_test1_pb2 from google.protobuf.internal import descriptor_pool_test2_pb2 from google.protobuf.internal import factory_test1_pb2 from google.protobuf.internal import factory_test2_pb2 from google.protobuf.internal import file_options_test_pb2 from google.protobuf.internal import more_messages_pb2 from google.protobuf import descriptor from google.protobuf import descriptor_database from google.protobuf import descriptor_pool from google.protobuf import message_factory from google.protobuf import symbol_database class DescriptorPoolTestBase(object): def testFindFileByName(self): name1 = 'google/protobuf/internal/factory_test1.proto' file_desc1 = self.pool.FindFileByName(name1) self.assertIsInstance(file_desc1, descriptor.FileDescriptor) self.assertEqual(name1, file_desc1.name) self.assertEqual('google.protobuf.python.internal', file_desc1.package) self.assertIn('Factory1Message', file_desc1.message_types_by_name) name2 = 'google/protobuf/internal/factory_test2.proto' file_desc2 = self.pool.FindFileByName(name2) self.assertIsInstance(file_desc2, descriptor.FileDescriptor) self.assertEqual(name2, file_desc2.name) self.assertEqual('google.protobuf.python.internal', file_desc2.package) self.assertIn('Factory2Message', file_desc2.message_types_by_name) def testFindFileByNameFailure(self): with self.assertRaises(KeyError): self.pool.FindFileByName('Does not exist') def testFindFileContainingSymbol(self): file_desc1 = self.pool.FindFileContainingSymbol( 'google.protobuf.python.internal.Factory1Message') self.assertIsInstance(file_desc1, descriptor.FileDescriptor) self.assertEqual('google/protobuf/internal/factory_test1.proto', file_desc1.name) self.assertEqual('google.protobuf.python.internal', file_desc1.package) self.assertIn('Factory1Message', file_desc1.message_types_by_name) file_desc2 = self.pool.FindFileContainingSymbol( 'google.protobuf.python.internal.Factory2Message') self.assertIsInstance(file_desc2, descriptor.FileDescriptor) self.assertEqual('google/protobuf/internal/factory_test2.proto', file_desc2.name) self.assertEqual('google.protobuf.python.internal', file_desc2.package) self.assertIn('Factory2Message', file_desc2.message_types_by_name) # Tests top level extension. file_desc3 = self.pool.FindFileContainingSymbol( 'google.protobuf.python.internal.another_field') self.assertIsInstance(file_desc3, descriptor.FileDescriptor) self.assertEqual('google/protobuf/internal/factory_test2.proto', file_desc3.name) # Tests nested extension inside a message. file_desc4 = self.pool.FindFileContainingSymbol( 'google.protobuf.python.internal.Factory2Message.one_more_field') self.assertIsInstance(file_desc4, descriptor.FileDescriptor) self.assertEqual('google/protobuf/internal/factory_test2.proto', file_desc4.name) file_desc5 = self.pool.FindFileContainingSymbol( 'protobuf_unittest.TestService') self.assertIsInstance(file_desc5, descriptor.FileDescriptor) self.assertEqual('google/protobuf/unittest.proto', file_desc5.name) def testFindFileContainingSymbolFailure(self): with self.assertRaises(KeyError): self.pool.FindFileContainingSymbol('Does not exist') def testFindMessageTypeByName(self): msg1 = self.pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory1Message') self.assertIsInstance(msg1, descriptor.Descriptor) self.assertEqual('Factory1Message', msg1.name) self.assertEqual('google.protobuf.python.internal.Factory1Message', msg1.full_name) self.assertEqual(None, msg1.containing_type) self.assertFalse(msg1.has_options) nested_msg1 = msg1.nested_types[0] self.assertEqual('NestedFactory1Message', nested_msg1.name) self.assertEqual(msg1, nested_msg1.containing_type) nested_enum1 = msg1.enum_types[0] self.assertEqual('NestedFactory1Enum', nested_enum1.name) self.assertEqual(msg1, nested_enum1.containing_type) self.assertEqual(nested_msg1, msg1.fields_by_name[ 'nested_factory_1_message'].message_type) self.assertEqual(nested_enum1, msg1.fields_by_name[ 'nested_factory_1_enum'].enum_type) msg2 = self.pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory2Message') self.assertIsInstance(msg2, descriptor.Descriptor) self.assertEqual('Factory2Message', msg2.name) self.assertEqual('google.protobuf.python.internal.Factory2Message', msg2.full_name) self.assertIsNone(msg2.containing_type) nested_msg2 = msg2.nested_types[0] self.assertEqual('NestedFactory2Message', nested_msg2.name) self.assertEqual(msg2, nested_msg2.containing_type) nested_enum2 = msg2.enum_types[0] self.assertEqual('NestedFactory2Enum', nested_enum2.name) self.assertEqual(msg2, nested_enum2.containing_type) self.assertEqual(nested_msg2, msg2.fields_by_name[ 'nested_factory_2_message'].message_type) self.assertEqual(nested_enum2, msg2.fields_by_name[ 'nested_factory_2_enum'].enum_type) self.assertTrue(msg2.fields_by_name['int_with_default'].has_default_value) self.assertEqual( 1776, msg2.fields_by_name['int_with_default'].default_value) self.assertTrue( msg2.fields_by_name['double_with_default'].has_default_value) self.assertEqual( 9.99, msg2.fields_by_name['double_with_default'].default_value) self.assertTrue( msg2.fields_by_name['string_with_default'].has_default_value) self.assertEqual( 'hello world', msg2.fields_by_name['string_with_default'].default_value) self.assertTrue(msg2.fields_by_name['bool_with_default'].has_default_value) self.assertFalse(msg2.fields_by_name['bool_with_default'].default_value) self.assertTrue(msg2.fields_by_name['enum_with_default'].has_default_value) self.assertEqual( 1, msg2.fields_by_name['enum_with_default'].default_value) msg3 = self.pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory2Message.NestedFactory2Message') self.assertEqual(nested_msg2, msg3) self.assertTrue(msg2.fields_by_name['bytes_with_default'].has_default_value) self.assertEqual( b'a\xfb\x00c', msg2.fields_by_name['bytes_with_default'].default_value) self.assertEqual(1, len(msg2.oneofs)) self.assertEqual(1, len(msg2.oneofs_by_name)) self.assertEqual(2, len(msg2.oneofs[0].fields)) for name in ['oneof_int', 'oneof_string']: self.assertEqual(msg2.oneofs[0], msg2.fields_by_name[name].containing_oneof) self.assertIn(msg2.fields_by_name[name], msg2.oneofs[0].fields) def testFindTypeErrors(self): self.assertRaises(TypeError, self.pool.FindExtensionByNumber, '') # TODO(jieluo): Fix python to raise correct errors. if api_implementation.Type() == 'cpp': self.assertRaises(TypeError, self.pool.FindMethodByName, 0) self.assertRaises(KeyError, self.pool.FindMethodByName, '') error_type = TypeError else: error_type = AttributeError self.assertRaises(error_type, self.pool.FindMessageTypeByName, 0) self.assertRaises(error_type, self.pool.FindFieldByName, 0) self.assertRaises(error_type, self.pool.FindExtensionByName, 0) self.assertRaises(error_type, self.pool.FindEnumTypeByName, 0) self.assertRaises(error_type, self.pool.FindOneofByName, 0) self.assertRaises(error_type, self.pool.FindServiceByName, 0) self.assertRaises(error_type, self.pool.FindFileContainingSymbol, 0) if api_implementation.Type() == 'python': error_type = KeyError self.assertRaises(error_type, self.pool.FindFileByName, 0) def testFindMessageTypeByNameFailure(self): with self.assertRaises(KeyError): self.pool.FindMessageTypeByName('Does not exist') def testFindEnumTypeByName(self): enum1 = self.pool.FindEnumTypeByName( 'google.protobuf.python.internal.Factory1Enum') self.assertIsInstance(enum1, descriptor.EnumDescriptor) self.assertEqual(0, enum1.values_by_name['FACTORY_1_VALUE_0'].number) self.assertEqual(1, enum1.values_by_name['FACTORY_1_VALUE_1'].number) self.assertFalse(enum1.has_options) nested_enum1 = self.pool.FindEnumTypeByName( 'google.protobuf.python.internal.Factory1Message.NestedFactory1Enum') self.assertIsInstance(nested_enum1, descriptor.EnumDescriptor) self.assertEqual( 0, nested_enum1.values_by_name['NESTED_FACTORY_1_VALUE_0'].number) self.assertEqual( 1, nested_enum1.values_by_name['NESTED_FACTORY_1_VALUE_1'].number) enum2 = self.pool.FindEnumTypeByName( 'google.protobuf.python.internal.Factory2Enum') self.assertIsInstance(enum2, descriptor.EnumDescriptor) self.assertEqual(0, enum2.values_by_name['FACTORY_2_VALUE_0'].number) self.assertEqual(1, enum2.values_by_name['FACTORY_2_VALUE_1'].number) nested_enum2 = self.pool.FindEnumTypeByName( 'google.protobuf.python.internal.Factory2Message.NestedFactory2Enum') self.assertIsInstance(nested_enum2, descriptor.EnumDescriptor) self.assertEqual( 0, nested_enum2.values_by_name['NESTED_FACTORY_2_VALUE_0'].number) self.assertEqual( 1, nested_enum2.values_by_name['NESTED_FACTORY_2_VALUE_1'].number) def testFindEnumTypeByNameFailure(self): with self.assertRaises(KeyError): self.pool.FindEnumTypeByName('Does not exist') def testFindFieldByName(self): if isinstance(self, SecondaryDescriptorFromDescriptorDB): if api_implementation.Type() == 'cpp': # TODO(jieluo): Fix cpp extension to find field correctly # when descriptor pool is using an underlying database. return field = self.pool.FindFieldByName( 'google.protobuf.python.internal.Factory1Message.list_value') self.assertEqual(field.name, 'list_value') self.assertEqual(field.label, field.LABEL_REPEATED) self.assertFalse(field.has_options) with self.assertRaises(KeyError): self.pool.FindFieldByName('Does not exist') def testFindOneofByName(self): if isinstance(self, SecondaryDescriptorFromDescriptorDB): if api_implementation.Type() == 'cpp': # TODO(jieluo): Fix cpp extension to find oneof correctly # when descriptor pool is using an underlying database. return oneof = self.pool.FindOneofByName( 'google.protobuf.python.internal.Factory2Message.oneof_field') self.assertEqual(oneof.name, 'oneof_field') with self.assertRaises(KeyError): self.pool.FindOneofByName('Does not exist') def testFindExtensionByName(self): if isinstance(self, SecondaryDescriptorFromDescriptorDB): if api_implementation.Type() == 'cpp': # TODO(jieluo): Fix cpp extension to find extension correctly # when descriptor pool is using an underlying database. return # An extension defined in a message. extension = self.pool.FindExtensionByName( 'google.protobuf.python.internal.Factory2Message.one_more_field') self.assertEqual(extension.name, 'one_more_field') # An extension defined at file scope. extension = self.pool.FindExtensionByName( 'google.protobuf.python.internal.another_field') self.assertEqual(extension.name, 'another_field') self.assertEqual(extension.number, 1002) with self.assertRaises(KeyError): self.pool.FindFieldByName('Does not exist') def testFindAllExtensions(self): factory1_message = self.pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory1Message') factory2_message = self.pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory2Message') # An extension defined in a message. one_more_field = factory2_message.extensions_by_name['one_more_field'] self.pool.AddExtensionDescriptor(one_more_field) # An extension defined at file scope. factory_test2 = self.pool.FindFileByName( 'google/protobuf/internal/factory_test2.proto') another_field = factory_test2.extensions_by_name['another_field'] self.pool.AddExtensionDescriptor(another_field) extensions = self.pool.FindAllExtensions(factory1_message) expected_extension_numbers = set([one_more_field, another_field]) self.assertEqual(expected_extension_numbers, set(extensions)) # Verify that mutating the returned list does not affect the pool. extensions.append('unexpected_element') # Get the extensions again, the returned value does not contain the # 'unexpected_element'. extensions = self.pool.FindAllExtensions(factory1_message) self.assertEqual(expected_extension_numbers, set(extensions)) def testFindExtensionByNumber(self): factory1_message = self.pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory1Message') factory2_message = self.pool.FindMessageTypeByName( 'google.protobuf.python.internal.Factory2Message') # An extension defined in a message. one_more_field = factory2_message.extensions_by_name['one_more_field'] self.pool.AddExtensionDescriptor(one_more_field) # An extension defined at file scope. factory_test2 = self.pool.FindFileByName( 'google/protobuf/internal/factory_test2.proto') another_field = factory_test2.extensions_by_name['another_field'] self.pool.AddExtensionDescriptor(another_field) # An extension defined in a message. extension = self.pool.FindExtensionByNumber(factory1_message, 1001) self.assertEqual(extension.name, 'one_more_field') # An extension defined at file scope. extension = self.pool.FindExtensionByNumber(factory1_message, 1002) self.assertEqual(extension.name, 'another_field') with self.assertRaises(KeyError): extension = self.pool.FindExtensionByNumber(factory1_message, 1234567) def testExtensionsAreNotFields(self): with self.assertRaises(KeyError): self.pool.FindFieldByName('google.protobuf.python.internal.another_field') with self.assertRaises(KeyError): self.pool.FindFieldByName( 'google.protobuf.python.internal.Factory2Message.one_more_field') with self.assertRaises(KeyError): self.pool.FindExtensionByName( 'google.protobuf.python.internal.Factory1Message.list_value') def testFindService(self): service = self.pool.FindServiceByName('protobuf_unittest.TestService') self.assertEqual(service.full_name, 'protobuf_unittest.TestService') with self.assertRaises(KeyError): self.pool.FindServiceByName('Does not exist') def testUserDefinedDB(self): db = descriptor_database.DescriptorDatabase() self.pool = descriptor_pool.DescriptorPool(db) db.Add(self.factory_test1_fd) db.Add(self.factory_test2_fd) self.testFindMessageTypeByName() def testAddSerializedFile(self): if isinstance(self, SecondaryDescriptorFromDescriptorDB): if api_implementation.Type() == 'cpp': # Cpp extension cannot call Add on a DescriptorPool # that uses a DescriptorDatabase. # TODO(jieluo): Fix python and cpp extension diff. return self.pool = descriptor_pool.DescriptorPool() self.pool.AddSerializedFile(self.factory_test1_fd.SerializeToString()) self.pool.AddSerializedFile(self.factory_test2_fd.SerializeToString()) self.testFindMessageTypeByName() def testEnumDefaultValue(self): """Test the default value of enums which don't start at zero.""" def _CheckDefaultValue(file_descriptor): default_value = (file_descriptor .message_types_by_name['DescriptorPoolTest1'] .fields_by_name['nested_enum'] .default_value) self.assertEqual(default_value, descriptor_pool_test1_pb2.DescriptorPoolTest1.BETA) # First check what the generated descriptor contains. _CheckDefaultValue(descriptor_pool_test1_pb2.DESCRIPTOR) # Then check the generated pool. Normally this is the same descriptor. file_descriptor = symbol_database.Default().pool.FindFileByName( 'google/protobuf/internal/descriptor_pool_test1.proto') self.assertIs(file_descriptor, descriptor_pool_test1_pb2.DESCRIPTOR) _CheckDefaultValue(file_descriptor) if isinstance(self, SecondaryDescriptorFromDescriptorDB): if api_implementation.Type() == 'cpp': # Cpp extension cannot call Add on a DescriptorPool # that uses a DescriptorDatabase. # TODO(jieluo): Fix python and cpp extension diff. return # Then check the dynamic pool and its internal DescriptorDatabase. descriptor_proto = descriptor_pb2.FileDescriptorProto.FromString( descriptor_pool_test1_pb2.DESCRIPTOR.serialized_pb) self.pool.Add(descriptor_proto) # And do the same check as above file_descriptor = self.pool.FindFileByName( 'google/protobuf/internal/descriptor_pool_test1.proto') _CheckDefaultValue(file_descriptor) def testDefaultValueForCustomMessages(self): """Check the value returned by non-existent fields.""" def _CheckValueAndType(value, expected_value, expected_type): self.assertEqual(value, expected_value) self.assertIsInstance(value, expected_type) def _CheckDefaultValues(msg): try: int64 = int except NameError: # Python3 int64 = int try: unicode_type = str except NameError: # Python3 unicode_type = str _CheckValueAndType(msg.optional_int32, 0, int) _CheckValueAndType(msg.optional_uint64, 0, (int64, int)) _CheckValueAndType(msg.optional_float, 0, (float, int)) _CheckValueAndType(msg.optional_double, 0, (float, int)) _CheckValueAndType(msg.optional_bool, False, bool) _CheckValueAndType(msg.optional_string, '', unicode_type) _CheckValueAndType(msg.optional_bytes, b'', bytes) _CheckValueAndType(msg.optional_nested_enum, msg.FOO, int) # First for the generated message _CheckDefaultValues(unittest_pb2.TestAllTypes()) # Then for a message built with from the DescriptorPool. pool = descriptor_pool.DescriptorPool() pool.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_import_public_pb2.DESCRIPTOR.serialized_pb)) pool.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_import_pb2.DESCRIPTOR.serialized_pb)) pool.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_pb2.DESCRIPTOR.serialized_pb)) message_class = message_factory.MessageFactory(pool).GetPrototype( pool.FindMessageTypeByName( unittest_pb2.TestAllTypes.DESCRIPTOR.full_name)) _CheckDefaultValues(message_class()) def testAddFileDescriptor(self): if isinstance(self, SecondaryDescriptorFromDescriptorDB): if api_implementation.Type() == 'cpp': # Cpp extension cannot call Add on a DescriptorPool # that uses a DescriptorDatabase. # TODO(jieluo): Fix python and cpp extension diff. return file_desc = descriptor_pb2.FileDescriptorProto(name='some/file.proto') self.pool.Add(file_desc) self.pool.AddSerializedFile(file_desc.SerializeToString()) def testComplexNesting(self): if isinstance(self, SecondaryDescriptorFromDescriptorDB): if api_implementation.Type() == 'cpp': # Cpp extension cannot call Add on a DescriptorPool # that uses a DescriptorDatabase. # TODO(jieluo): Fix python and cpp extension diff. return more_messages_desc = descriptor_pb2.FileDescriptorProto.FromString( more_messages_pb2.DESCRIPTOR.serialized_pb) test1_desc = descriptor_pb2.FileDescriptorProto.FromString( descriptor_pool_test1_pb2.DESCRIPTOR.serialized_pb) test2_desc = descriptor_pb2.FileDescriptorProto.FromString( descriptor_pool_test2_pb2.DESCRIPTOR.serialized_pb) self.pool.Add(more_messages_desc) self.pool.Add(test1_desc) self.pool.Add(test2_desc) TEST1_FILE.CheckFile(self, self.pool) TEST2_FILE.CheckFile(self, self.pool) class DefaultDescriptorPoolTest(DescriptorPoolTestBase, unittest.TestCase): def setUp(self): self.pool = descriptor_pool.Default() self.factory_test1_fd = descriptor_pb2.FileDescriptorProto.FromString( factory_test1_pb2.DESCRIPTOR.serialized_pb) self.factory_test2_fd = descriptor_pb2.FileDescriptorProto.FromString( factory_test2_pb2.DESCRIPTOR.serialized_pb) def testFindMethods(self): self.assertIs( self.pool.FindFileByName('google/protobuf/unittest.proto'), unittest_pb2.DESCRIPTOR) self.assertIs( self.pool.FindMessageTypeByName('protobuf_unittest.TestAllTypes'), unittest_pb2.TestAllTypes.DESCRIPTOR) self.assertIs( self.pool.FindFieldByName( 'protobuf_unittest.TestAllTypes.optional_int32'), unittest_pb2.TestAllTypes.DESCRIPTOR.fields_by_name['optional_int32']) self.assertIs( self.pool.FindEnumTypeByName('protobuf_unittest.ForeignEnum'), unittest_pb2.ForeignEnum.DESCRIPTOR) self.assertIs( self.pool.FindExtensionByName( 'protobuf_unittest.optional_int32_extension'), unittest_pb2.DESCRIPTOR.extensions_by_name['optional_int32_extension']) self.assertIs( self.pool.FindOneofByName('protobuf_unittest.TestAllTypes.oneof_field'), unittest_pb2.TestAllTypes.DESCRIPTOR.oneofs_by_name['oneof_field']) self.assertIs( self.pool.FindServiceByName('protobuf_unittest.TestService'), unittest_pb2.DESCRIPTOR.services_by_name['TestService']) class CreateDescriptorPoolTest(DescriptorPoolTestBase, unittest.TestCase): def setUp(self): self.pool = descriptor_pool.DescriptorPool() self.factory_test1_fd = descriptor_pb2.FileDescriptorProto.FromString( factory_test1_pb2.DESCRIPTOR.serialized_pb) self.factory_test2_fd = descriptor_pb2.FileDescriptorProto.FromString( factory_test2_pb2.DESCRIPTOR.serialized_pb) self.pool.Add(self.factory_test1_fd) self.pool.Add(self.factory_test2_fd) self.pool.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_import_public_pb2.DESCRIPTOR.serialized_pb)) self.pool.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_import_pb2.DESCRIPTOR.serialized_pb)) self.pool.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_pb2.DESCRIPTOR.serialized_pb)) class SecondaryDescriptorFromDescriptorDB(DescriptorPoolTestBase, unittest.TestCase): def setUp(self): self.factory_test1_fd = descriptor_pb2.FileDescriptorProto.FromString( factory_test1_pb2.DESCRIPTOR.serialized_pb) self.factory_test2_fd = descriptor_pb2.FileDescriptorProto.FromString( factory_test2_pb2.DESCRIPTOR.serialized_pb) db = descriptor_database.DescriptorDatabase() db.Add(self.factory_test1_fd) db.Add(self.factory_test2_fd) db.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_import_public_pb2.DESCRIPTOR.serialized_pb)) db.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_import_pb2.DESCRIPTOR.serialized_pb)) db.Add(descriptor_pb2.FileDescriptorProto.FromString( unittest_pb2.DESCRIPTOR.serialized_pb)) self.pool = descriptor_pool.DescriptorPool(descriptor_db=db) class ProtoFile(object): def __init__(self, name, package, messages, dependencies=None, public_dependencies=None): self.name = name self.package = package self.messages = messages self.dependencies = dependencies or [] self.public_dependencies = public_dependencies or [] def CheckFile(self, test, pool): file_desc = pool.FindFileByName(self.name) test.assertEqual(self.name, file_desc.name) test.assertEqual(self.package, file_desc.package) dependencies_names = [f.name for f in file_desc.dependencies] test.assertEqual(self.dependencies, dependencies_names) public_dependencies_names = [f.name for f in file_desc.public_dependencies] test.assertEqual(self.public_dependencies, public_dependencies_names) for name, msg_type in list(self.messages.items()): msg_type.CheckType(test, None, name, file_desc) class EnumType(object): def __init__(self, values): self.values = values def CheckType(self, test, msg_desc, name, file_desc): enum_desc = msg_desc.enum_types_by_name[name] test.assertEqual(name, enum_desc.name) expected_enum_full_name = '.'.join([msg_desc.full_name, name]) test.assertEqual(expected_enum_full_name, enum_desc.full_name) test.assertEqual(msg_desc, enum_desc.containing_type) test.assertEqual(file_desc, enum_desc.file) for index, (value, number) in enumerate(self.values): value_desc = enum_desc.values_by_name[value] test.assertEqual(value, value_desc.name) test.assertEqual(index, value_desc.index) test.assertEqual(number, value_desc.number) test.assertEqual(enum_desc, value_desc.type) test.assertIn(value, msg_desc.enum_values_by_name) class MessageType(object): def __init__(self, type_dict, field_list, is_extendable=False, extensions=None): self.type_dict = type_dict self.field_list = field_list self.is_extendable = is_extendable self.extensions = extensions or [] def CheckType(self, test, containing_type_desc, name, file_desc): if containing_type_desc is None: desc = file_desc.message_types_by_name[name] expected_full_name = '.'.join([file_desc.package, name]) else: desc = containing_type_desc.nested_types_by_name[name] expected_full_name = '.'.join([containing_type_desc.full_name, name]) test.assertEqual(name, desc.name) test.assertEqual(expected_full_name, desc.full_name) test.assertEqual(containing_type_desc, desc.containing_type) test.assertEqual(desc.file, file_desc) test.assertEqual(self.is_extendable, desc.is_extendable) for name, subtype in list(self.type_dict.items()): subtype.CheckType(test, desc, name, file_desc) for index, (name, field) in enumerate(self.field_list): field.CheckField(test, desc, name, index, file_desc) for index, (name, field) in enumerate(self.extensions): field.CheckField(test, desc, name, index, file_desc) class EnumField(object): def __init__(self, number, type_name, default_value): self.number = number self.type_name = type_name self.default_value = default_value def CheckField(self, test, msg_desc, name, index, file_desc): field_desc = msg_desc.fields_by_name[name] enum_desc = msg_desc.enum_types_by_name[self.type_name] test.assertEqual(name, field_desc.name) expected_field_full_name = '.'.join([msg_desc.full_name, name]) test.assertEqual(expected_field_full_name, field_desc.full_name) test.assertEqual(index, field_desc.index) test.assertEqual(self.number, field_desc.number) test.assertEqual(descriptor.FieldDescriptor.TYPE_ENUM, field_desc.type) test.assertEqual(descriptor.FieldDescriptor.CPPTYPE_ENUM, field_desc.cpp_type) test.assertTrue(field_desc.has_default_value) test.assertEqual(enum_desc.values_by_name[self.default_value].number, field_desc.default_value) test.assertFalse(enum_desc.values_by_name[self.default_value].has_options) test.assertEqual(msg_desc, field_desc.containing_type) test.assertEqual(enum_desc, field_desc.enum_type) test.assertEqual(file_desc, enum_desc.file) class MessageField(object): def __init__(self, number, type_name): self.number = number self.type_name = type_name def CheckField(self, test, msg_desc, name, index, file_desc): field_desc = msg_desc.fields_by_name[name] field_type_desc = msg_desc.nested_types_by_name[self.type_name] test.assertEqual(name, field_desc.name) expected_field_full_name = '.'.join([msg_desc.full_name, name]) test.assertEqual(expected_field_full_name, field_desc.full_name) test.assertEqual(index, field_desc.index) test.assertEqual(self.number, field_desc.number) test.assertEqual(descriptor.FieldDescriptor.TYPE_MESSAGE, field_desc.type) test.assertEqual(descriptor.FieldDescriptor.CPPTYPE_MESSAGE, field_desc.cpp_type) test.assertFalse(field_desc.has_default_value) test.assertEqual(msg_desc, field_desc.containing_type) test.assertEqual(field_type_desc, field_desc.message_type) test.assertEqual(file_desc, field_desc.file) # TODO(jieluo): Fix python and cpp extension diff for message field # default value. if api_implementation.Type() == 'cpp': test.assertRaises( NotImplementedError, getattr, field_desc, 'default_value') class StringField(object): def __init__(self, number, default_value): self.number = number self.default_value = default_value def CheckField(self, test, msg_desc, name, index, file_desc): field_desc = msg_desc.fields_by_name[name] test.assertEqual(name, field_desc.name) expected_field_full_name = '.'.join([msg_desc.full_name, name]) test.assertEqual(expected_field_full_name, field_desc.full_name) test.assertEqual(index, field_desc.index) test.assertEqual(self.number, field_desc.number) test.assertEqual(descriptor.FieldDescriptor.TYPE_STRING, field_desc.type) test.assertEqual(descriptor.FieldDescriptor.CPPTYPE_STRING, field_desc.cpp_type) test.assertTrue(field_desc.has_default_value) test.assertEqual(self.default_value, field_desc.default_value) test.assertEqual(file_desc, field_desc.file) class ExtensionField(object): def __init__(self, number, extended_type): self.number = number self.extended_type = extended_type def CheckField(self, test, msg_desc, name, index, file_desc): field_desc = msg_desc.extensions_by_name[name] test.assertEqual(name, field_desc.name) expected_field_full_name = '.'.join([msg_desc.full_name, name]) test.assertEqual(expected_field_full_name, field_desc.full_name) test.assertEqual(self.number, field_desc.number) test.assertEqual(index, field_desc.index) test.assertEqual(descriptor.FieldDescriptor.TYPE_MESSAGE, field_desc.type) test.assertEqual(descriptor.FieldDescriptor.CPPTYPE_MESSAGE, field_desc.cpp_type) test.assertFalse(field_desc.has_default_value) test.assertTrue(field_desc.is_extension) test.assertEqual(msg_desc, field_desc.extension_scope) test.assertEqual(msg_desc, field_desc.message_type) test.assertEqual(self.extended_type, field_desc.containing_type.name) test.assertEqual(file_desc, field_desc.file) class AddDescriptorTest(unittest.TestCase): def _TestMessage(self, prefix): pool = descriptor_pool.DescriptorPool() pool.AddDescriptor(unittest_pb2.TestAllTypes.DESCRIPTOR) self.assertEqual( 'protobuf_unittest.TestAllTypes', pool.FindMessageTypeByName( prefix + 'protobuf_unittest.TestAllTypes').full_name) # AddDescriptor is not recursive. with self.assertRaises(KeyError): pool.FindMessageTypeByName( prefix + 'protobuf_unittest.TestAllTypes.NestedMessage') pool.AddDescriptor(unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR) self.assertEqual( 'protobuf_unittest.TestAllTypes.NestedMessage', pool.FindMessageTypeByName( prefix + 'protobuf_unittest.TestAllTypes.NestedMessage').full_name) # Files are implicitly also indexed when messages are added. self.assertEqual( 'google/protobuf/unittest.proto', pool.FindFileByName( 'google/protobuf/unittest.proto').name) self.assertEqual( 'google/protobuf/unittest.proto', pool.FindFileContainingSymbol( prefix + 'protobuf_unittest.TestAllTypes.NestedMessage').name) @unittest.skipIf(api_implementation.Type() == 'cpp', 'With the cpp implementation, Add() must be called first') def testMessage(self): self._TestMessage('') self._TestMessage('.') def _TestEnum(self, prefix): pool = descriptor_pool.DescriptorPool() pool.AddEnumDescriptor(unittest_pb2.ForeignEnum.DESCRIPTOR) self.assertEqual( 'protobuf_unittest.ForeignEnum', pool.FindEnumTypeByName( prefix + 'protobuf_unittest.ForeignEnum').full_name) # AddEnumDescriptor is not recursive. with self.assertRaises(KeyError): pool.FindEnumTypeByName( prefix + 'protobuf_unittest.ForeignEnum.NestedEnum') pool.AddEnumDescriptor(unittest_pb2.TestAllTypes.NestedEnum.DESCRIPTOR) self.assertEqual( 'protobuf_unittest.TestAllTypes.NestedEnum', pool.FindEnumTypeByName( prefix + 'protobuf_unittest.TestAllTypes.NestedEnum').full_name) # Files are implicitly also indexed when enums are added. self.assertEqual( 'google/protobuf/unittest.proto', pool.FindFileByName( 'google/protobuf/unittest.proto').name) self.assertEqual( 'google/protobuf/unittest.proto', pool.FindFileContainingSymbol( prefix + 'protobuf_unittest.TestAllTypes.NestedEnum').name) @unittest.skipIf(api_implementation.Type() == 'cpp', 'With the cpp implementation, Add() must be called first') def testEnum(self): self._TestEnum('') self._TestEnum('.') @unittest.skipIf(api_implementation.Type() == 'cpp', 'With the cpp implementation, Add() must be called first') def testService(self): pool = descriptor_pool.DescriptorPool() with self.assertRaises(KeyError): pool.FindServiceByName('protobuf_unittest.TestService') pool.AddServiceDescriptor(unittest_pb2._TESTSERVICE) self.assertEqual( 'protobuf_unittest.TestService', pool.FindServiceByName('protobuf_unittest.TestService').full_name) @unittest.skipIf(api_implementation.Type() == 'cpp', 'With the cpp implementation, Add() must be called first') def testFile(self): pool = descriptor_pool.DescriptorPool() pool.AddFileDescriptor(unittest_pb2.DESCRIPTOR) self.assertEqual( 'google/protobuf/unittest.proto', pool.FindFileByName( 'google/protobuf/unittest.proto').name) # AddFileDescriptor is not recursive; messages and enums within files must # be explicitly registered. with self.assertRaises(KeyError): pool.FindFileContainingSymbol( 'protobuf_unittest.TestAllTypes') def testEmptyDescriptorPool(self): # Check that an empty DescriptorPool() contains no messages. pool = descriptor_pool.DescriptorPool() proto_file_name = descriptor_pb2.DESCRIPTOR.name self.assertRaises(KeyError, pool.FindFileByName, proto_file_name) # Add the above file to the pool file_descriptor = descriptor_pb2.FileDescriptorProto() descriptor_pb2.DESCRIPTOR.CopyToProto(file_descriptor) pool.Add(file_descriptor) # Now it exists. self.assertTrue(pool.FindFileByName(proto_file_name)) def testCustomDescriptorPool(self): # Create a new pool, and add a file descriptor. pool = descriptor_pool.DescriptorPool() file_desc = descriptor_pb2.FileDescriptorProto( name='some/file.proto', package='package') file_desc.message_type.add(name='Message') pool.Add(file_desc) self.assertEqual(pool.FindFileByName('some/file.proto').name, 'some/file.proto') self.assertEqual(pool.FindMessageTypeByName('package.Message').name, 'Message') # Test no package file_proto = descriptor_pb2.FileDescriptorProto( name='some/filename/container.proto') message_proto = file_proto.message_type.add( name='TopMessage') message_proto.field.add( name='bb', number=1, type=descriptor_pb2.FieldDescriptorProto.TYPE_INT32, label=descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL) enum_proto = file_proto.enum_type.add(name='TopEnum') enum_proto.value.add(name='FOREIGN_FOO', number=4) file_proto.service.add(name='TopService') pool = descriptor_pool.DescriptorPool() pool.Add(file_proto) self.assertEqual('TopMessage', pool.FindMessageTypeByName('TopMessage').name) self.assertEqual('TopEnum', pool.FindEnumTypeByName('TopEnum').name) self.assertEqual('TopService', pool.FindServiceByName('TopService').name) def testFileDescriptorOptionsWithCustomDescriptorPool(self): # Create a descriptor pool, and add a new FileDescriptorProto to it. pool = descriptor_pool.DescriptorPool() file_name = 'file_descriptor_options_with_custom_descriptor_pool.proto' file_descriptor_proto = descriptor_pb2.FileDescriptorProto(name=file_name) extension_id = file_options_test_pb2.foo_options file_descriptor_proto.options.Extensions[extension_id].foo_name = 'foo' pool.Add(file_descriptor_proto) # The options set on the FileDescriptorProto should be available in the # descriptor even if they contain extensions that cannot be deserialized # using the pool. file_descriptor = pool.FindFileByName(file_name) options = file_descriptor.GetOptions() self.assertEqual('foo', options.Extensions[extension_id].foo_name) # The object returned by GetOptions() is cached. self.assertIs(options, file_descriptor.GetOptions()) def testAddTypeError(self): pool = descriptor_pool.DescriptorPool() with self.assertRaises(TypeError): pool.AddDescriptor(0) with self.assertRaises(TypeError): pool.AddEnumDescriptor(0) with self.assertRaises(TypeError): pool.AddServiceDescriptor(0) with self.assertRaises(TypeError): pool.AddExtensionDescriptor(0) with self.assertRaises(TypeError): pool.AddFileDescriptor(0) TEST1_FILE = ProtoFile( 'google/protobuf/internal/descriptor_pool_test1.proto', 'google.protobuf.python.internal', { 'DescriptorPoolTest1': MessageType({ 'NestedEnum': EnumType([('ALPHA', 1), ('BETA', 2)]), 'NestedMessage': MessageType({ 'NestedEnum': EnumType([('EPSILON', 5), ('ZETA', 6)]), 'DeepNestedMessage': MessageType({ 'NestedEnum': EnumType([('ETA', 7), ('THETA', 8)]), }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'ETA')), ('nested_field', StringField(2, 'theta')), ]), }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'ZETA')), ('nested_field', StringField(2, 'beta')), ('deep_nested_message', MessageField(3, 'DeepNestedMessage')), ]) }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'BETA')), ('nested_message', MessageField(2, 'NestedMessage')), ], is_extendable=True), 'DescriptorPoolTest2': MessageType({ 'NestedEnum': EnumType([('GAMMA', 3), ('DELTA', 4)]), 'NestedMessage': MessageType({ 'NestedEnum': EnumType([('IOTA', 9), ('KAPPA', 10)]), 'DeepNestedMessage': MessageType({ 'NestedEnum': EnumType([('LAMBDA', 11), ('MU', 12)]), }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'MU')), ('nested_field', StringField(2, 'lambda')), ]), }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'IOTA')), ('nested_field', StringField(2, 'delta')), ('deep_nested_message', MessageField(3, 'DeepNestedMessage')), ]) }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'GAMMA')), ('nested_message', MessageField(2, 'NestedMessage')), ]), }) TEST2_FILE = ProtoFile( 'google/protobuf/internal/descriptor_pool_test2.proto', 'google.protobuf.python.internal', { 'DescriptorPoolTest3': MessageType({ 'NestedEnum': EnumType([('NU', 13), ('XI', 14)]), 'NestedMessage': MessageType({ 'NestedEnum': EnumType([('OMICRON', 15), ('PI', 16)]), 'DeepNestedMessage': MessageType({ 'NestedEnum': EnumType([('RHO', 17), ('SIGMA', 18)]), }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'RHO')), ('nested_field', StringField(2, 'sigma')), ]), }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'PI')), ('nested_field', StringField(2, 'nu')), ('deep_nested_message', MessageField(3, 'DeepNestedMessage')), ]) }, [ ('nested_enum', EnumField(1, 'NestedEnum', 'XI')), ('nested_message', MessageField(2, 'NestedMessage')), ], extensions=[ ('descriptor_pool_test', ExtensionField(1001, 'DescriptorPoolTest1')), ]), }, dependencies=['google/protobuf/internal/descriptor_pool_test1.proto', 'google/protobuf/internal/more_messages.proto'], public_dependencies=['google/protobuf/internal/more_messages.proto']) if __name__ == '__main__': unittest.main() PK!_kEX77-protobuf/internal/test_bad_identifiers_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/internal/test_bad_identifiers.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 from google.protobuf import service as _service from google.protobuf import service_reflection from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/internal/test_bad_identifiers.proto', package='protobuf_unittest', syntax='proto2', serialized_pb=_b('\n3google/protobuf/internal/test_bad_identifiers.proto\x12\x11protobuf_unittest\"\x1e\n\x12TestBadIdentifiers*\x08\x08\x64\x10\x80\x80\x80\x80\x02\"\x10\n\x0e\x41notherMessage2\x10\n\x0e\x41notherService:;\n\x07message\x12%.protobuf_unittest.TestBadIdentifiers\x18\x64 \x01(\t:\x03\x66oo:>\n\ndescriptor\x12%.protobuf_unittest.TestBadIdentifiers\x18\x65 \x01(\t:\x03\x62\x61r:>\n\nreflection\x12%.protobuf_unittest.TestBadIdentifiers\x18\x66 \x01(\t:\x03\x62\x61z:;\n\x07service\x12%.protobuf_unittest.TestBadIdentifiers\x18g \x01(\t:\x03quxB\x03\x90\x01\x01') ) MESSAGE_FIELD_NUMBER = 100 message = _descriptor.FieldDescriptor( name='message', full_name='protobuf_unittest.message', index=0, number=100, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("foo").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) DESCRIPTOR_FIELD_NUMBER = 101 descriptor = _descriptor.FieldDescriptor( name='descriptor', full_name='protobuf_unittest.descriptor', index=1, number=101, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("bar").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) REFLECTION_FIELD_NUMBER = 102 reflection = _descriptor.FieldDescriptor( name='reflection', full_name='protobuf_unittest.reflection', index=2, number=102, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("baz").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) SERVICE_FIELD_NUMBER = 103 service = _descriptor.FieldDescriptor( name='service', full_name='protobuf_unittest.service', index=3, number=103, type=9, cpp_type=9, label=1, has_default_value=True, default_value=_b("qux").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, options=None, file=DESCRIPTOR) _TESTBADIDENTIFIERS = _descriptor.Descriptor( name='TestBadIdentifiers', full_name='protobuf_unittest.TestBadIdentifiers', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(100, 536870912), ], oneofs=[ ], serialized_start=74, serialized_end=104, ) _ANOTHERMESSAGE = _descriptor.Descriptor( name='AnotherMessage', full_name='protobuf_unittest.AnotherMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=106, serialized_end=122, ) DESCRIPTOR.message_types_by_name['TestBadIdentifiers'] = _TESTBADIDENTIFIERS DESCRIPTOR.message_types_by_name['AnotherMessage'] = _ANOTHERMESSAGE DESCRIPTOR.extensions_by_name['message'] = message DESCRIPTOR.extensions_by_name['descriptor'] = descriptor DESCRIPTOR.extensions_by_name['reflection'] = reflection DESCRIPTOR.extensions_by_name['service'] = service _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestBadIdentifiers = _reflection.GeneratedProtocolMessageType('TestBadIdentifiers', (_message.Message,), dict( DESCRIPTOR = _TESTBADIDENTIFIERS, __module__ = 'google.protobuf.internal.test_bad_identifiers_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestBadIdentifiers) )) _sym_db.RegisterMessage(TestBadIdentifiers) AnotherMessage = _reflection.GeneratedProtocolMessageType('AnotherMessage', (_message.Message,), dict( DESCRIPTOR = _ANOTHERMESSAGE, __module__ = 'google.protobuf.internal.test_bad_identifiers_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.AnotherMessage) )) _sym_db.RegisterMessage(AnotherMessage) TestBadIdentifiers.RegisterExtension(message) TestBadIdentifiers.RegisterExtension(descriptor) TestBadIdentifiers.RegisterExtension(reflection) TestBadIdentifiers.RegisterExtension(service) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\220\001\001')) _ANOTHERSERVICE = _descriptor.ServiceDescriptor( name='AnotherService', full_name='protobuf_unittest.AnotherService', file=DESCRIPTOR, index=0, options=None, serialized_start=124, serialized_end=140, methods=[ ]) _sym_db.RegisterServiceDescriptor(_ANOTHERSERVICE) DESCRIPTOR.services_by_name['AnotherService'] = _ANOTHERSERVICE AnotherService = service_reflection.GeneratedServiceType('AnotherService', (_service.Service,), dict( DESCRIPTOR = _ANOTHERSERVICE, __module__ = 'google.protobuf.internal.test_bad_identifiers_pb2' )) AnotherService_Stub = service_reflection.GeneratedServiceStubType('AnotherService_Stub', (AnotherService,), dict( DESCRIPTOR = _ANOTHERSERVICE, __module__ = 'google.protobuf.internal.test_bad_identifiers_pb2' )) # @@protoc_insertion_point(module_scope) PK!&q=**%protobuf/internal/wire_format_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Test for google.protobuf.internal.wire_format.""" __author__ = 'robinson@google.com (Will Robinson)' try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import message from google.protobuf.internal import wire_format class WireFormatTest(unittest.TestCase): def testPackTag(self): field_number = 0xabc tag_type = 2 self.assertEqual((field_number << 3) | tag_type, wire_format.PackTag(field_number, tag_type)) PackTag = wire_format.PackTag # Number too high. self.assertRaises(message.EncodeError, PackTag, field_number, 6) # Number too low. self.assertRaises(message.EncodeError, PackTag, field_number, -1) def testUnpackTag(self): # Test field numbers that will require various varint sizes. for expected_field_number in (1, 15, 16, 2047, 2048): for expected_wire_type in range(6): # Highest-numbered wiretype is 5. field_number, wire_type = wire_format.UnpackTag( wire_format.PackTag(expected_field_number, expected_wire_type)) self.assertEqual(expected_field_number, field_number) self.assertEqual(expected_wire_type, wire_type) self.assertRaises(TypeError, wire_format.UnpackTag, None) self.assertRaises(TypeError, wire_format.UnpackTag, 'abc') self.assertRaises(TypeError, wire_format.UnpackTag, 0.0) self.assertRaises(TypeError, wire_format.UnpackTag, object()) def testZigZagEncode(self): Z = wire_format.ZigZagEncode self.assertEqual(0, Z(0)) self.assertEqual(1, Z(-1)) self.assertEqual(2, Z(1)) self.assertEqual(3, Z(-2)) self.assertEqual(4, Z(2)) self.assertEqual(0xfffffffe, Z(0x7fffffff)) self.assertEqual(0xffffffff, Z(-0x80000000)) self.assertEqual(0xfffffffffffffffe, Z(0x7fffffffffffffff)) self.assertEqual(0xffffffffffffffff, Z(-0x8000000000000000)) self.assertRaises(TypeError, Z, None) self.assertRaises(TypeError, Z, 'abcd') self.assertRaises(TypeError, Z, 0.0) self.assertRaises(TypeError, Z, object()) def testZigZagDecode(self): Z = wire_format.ZigZagDecode self.assertEqual(0, Z(0)) self.assertEqual(-1, Z(1)) self.assertEqual(1, Z(2)) self.assertEqual(-2, Z(3)) self.assertEqual(2, Z(4)) self.assertEqual(0x7fffffff, Z(0xfffffffe)) self.assertEqual(-0x80000000, Z(0xffffffff)) self.assertEqual(0x7fffffffffffffff, Z(0xfffffffffffffffe)) self.assertEqual(-0x8000000000000000, Z(0xffffffffffffffff)) self.assertRaises(TypeError, Z, None) self.assertRaises(TypeError, Z, 'abcd') self.assertRaises(TypeError, Z, 0.0) self.assertRaises(TypeError, Z, object()) def NumericByteSizeTestHelper(self, byte_size_fn, value, expected_value_size): # Use field numbers that cause various byte sizes for the tag information. for field_number, tag_bytes in ((15, 1), (16, 2), (2047, 2), (2048, 3)): expected_size = expected_value_size + tag_bytes actual_size = byte_size_fn(field_number, value) self.assertEqual(expected_size, actual_size, 'byte_size_fn: %s, field_number: %d, value: %r\n' 'Expected: %d, Actual: %d'% ( byte_size_fn, field_number, value, expected_size, actual_size)) def testByteSizeFunctions(self): # Test all numeric *ByteSize() functions. NUMERIC_ARGS = [ # Int32ByteSize(). [wire_format.Int32ByteSize, 0, 1], [wire_format.Int32ByteSize, 127, 1], [wire_format.Int32ByteSize, 128, 2], [wire_format.Int32ByteSize, -1, 10], # Int64ByteSize(). [wire_format.Int64ByteSize, 0, 1], [wire_format.Int64ByteSize, 127, 1], [wire_format.Int64ByteSize, 128, 2], [wire_format.Int64ByteSize, -1, 10], # UInt32ByteSize(). [wire_format.UInt32ByteSize, 0, 1], [wire_format.UInt32ByteSize, 127, 1], [wire_format.UInt32ByteSize, 128, 2], [wire_format.UInt32ByteSize, wire_format.UINT32_MAX, 5], # UInt64ByteSize(). [wire_format.UInt64ByteSize, 0, 1], [wire_format.UInt64ByteSize, 127, 1], [wire_format.UInt64ByteSize, 128, 2], [wire_format.UInt64ByteSize, wire_format.UINT64_MAX, 10], # SInt32ByteSize(). [wire_format.SInt32ByteSize, 0, 1], [wire_format.SInt32ByteSize, -1, 1], [wire_format.SInt32ByteSize, 1, 1], [wire_format.SInt32ByteSize, -63, 1], [wire_format.SInt32ByteSize, 63, 1], [wire_format.SInt32ByteSize, -64, 1], [wire_format.SInt32ByteSize, 64, 2], # SInt64ByteSize(). [wire_format.SInt64ByteSize, 0, 1], [wire_format.SInt64ByteSize, -1, 1], [wire_format.SInt64ByteSize, 1, 1], [wire_format.SInt64ByteSize, -63, 1], [wire_format.SInt64ByteSize, 63, 1], [wire_format.SInt64ByteSize, -64, 1], [wire_format.SInt64ByteSize, 64, 2], # Fixed32ByteSize(). [wire_format.Fixed32ByteSize, 0, 4], [wire_format.Fixed32ByteSize, wire_format.UINT32_MAX, 4], # Fixed64ByteSize(). [wire_format.Fixed64ByteSize, 0, 8], [wire_format.Fixed64ByteSize, wire_format.UINT64_MAX, 8], # SFixed32ByteSize(). [wire_format.SFixed32ByteSize, 0, 4], [wire_format.SFixed32ByteSize, wire_format.INT32_MIN, 4], [wire_format.SFixed32ByteSize, wire_format.INT32_MAX, 4], # SFixed64ByteSize(). [wire_format.SFixed64ByteSize, 0, 8], [wire_format.SFixed64ByteSize, wire_format.INT64_MIN, 8], [wire_format.SFixed64ByteSize, wire_format.INT64_MAX, 8], # FloatByteSize(). [wire_format.FloatByteSize, 0.0, 4], [wire_format.FloatByteSize, 1000000000.0, 4], [wire_format.FloatByteSize, -1000000000.0, 4], # DoubleByteSize(). [wire_format.DoubleByteSize, 0.0, 8], [wire_format.DoubleByteSize, 1000000000.0, 8], [wire_format.DoubleByteSize, -1000000000.0, 8], # BoolByteSize(). [wire_format.BoolByteSize, False, 1], [wire_format.BoolByteSize, True, 1], # EnumByteSize(). [wire_format.EnumByteSize, 0, 1], [wire_format.EnumByteSize, 127, 1], [wire_format.EnumByteSize, 128, 2], [wire_format.EnumByteSize, wire_format.UINT32_MAX, 5], ] for args in NUMERIC_ARGS: self.NumericByteSizeTestHelper(*args) # Test strings and bytes. for byte_size_fn in (wire_format.StringByteSize, wire_format.BytesByteSize): # 1 byte for tag, 1 byte for length, 3 bytes for contents. self.assertEqual(5, byte_size_fn(10, 'abc')) # 2 bytes for tag, 1 byte for length, 3 bytes for contents. self.assertEqual(6, byte_size_fn(16, 'abc')) # 2 bytes for tag, 2 bytes for length, 128 bytes for contents. self.assertEqual(132, byte_size_fn(16, 'a' * 128)) # Test UTF-8 string byte size calculation. # 1 byte for tag, 1 byte for length, 8 bytes for content. self.assertEqual(10, wire_format.StringByteSize( 5, b'\xd0\xa2\xd0\xb5\xd1\x81\xd1\x82'.decode('utf-8'))) class MockMessage(object): def __init__(self, byte_size): self.byte_size = byte_size def ByteSize(self): return self.byte_size message_byte_size = 10 mock_message = MockMessage(byte_size=message_byte_size) # Test groups. # (2 * 1) bytes for begin and end tags, plus message_byte_size. self.assertEqual(2 + message_byte_size, wire_format.GroupByteSize(1, mock_message)) # (2 * 2) bytes for begin and end tags, plus message_byte_size. self.assertEqual(4 + message_byte_size, wire_format.GroupByteSize(16, mock_message)) # Test messages. # 1 byte for tag, plus 1 byte for length, plus contents. self.assertEqual(2 + mock_message.byte_size, wire_format.MessageByteSize(1, mock_message)) # 2 bytes for tag, plus 1 byte for length, plus contents. self.assertEqual(3 + mock_message.byte_size, wire_format.MessageByteSize(16, mock_message)) # 2 bytes for tag, plus 2 bytes for length, plus contents. mock_message.byte_size = 128 self.assertEqual(4 + mock_message.byte_size, wire_format.MessageByteSize(16, mock_message)) # Test message set item byte size. # 4 bytes for tags, plus 1 byte for length, plus 1 byte for type_id, # plus contents. mock_message.byte_size = 10 self.assertEqual(mock_message.byte_size + 6, wire_format.MessageSetItemByteSize(1, mock_message)) # 4 bytes for tags, plus 2 bytes for length, plus 1 byte for type_id, # plus contents. mock_message.byte_size = 128 self.assertEqual(mock_message.byte_size + 7, wire_format.MessageSetItemByteSize(1, mock_message)) # 4 bytes for tags, plus 2 bytes for length, plus 2 byte for type_id, # plus contents. self.assertEqual(mock_message.byte_size + 8, wire_format.MessageSetItemByteSize(128, mock_message)) # Too-long varint. self.assertRaises(message.EncodeError, wire_format.UInt64ByteSize, 1, 1 << 128) if __name__ == '__main__': unittest.main() PK!R" 11$protobuf/internal/descriptor_test.pynu[# # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Unittest for google.protobuf.internal.descriptor.""" __author__ = 'robinson@google.com (Will Robinson)' import sys try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import unittest_custom_options_pb2 from google.protobuf import unittest_import_pb2 from google.protobuf import unittest_pb2 from google.protobuf import descriptor_pb2 from google.protobuf.internal import api_implementation from google.protobuf.internal import test_util from google.protobuf import descriptor from google.protobuf import descriptor_pool from google.protobuf import symbol_database from google.protobuf import text_format TEST_EMPTY_MESSAGE_DESCRIPTOR_ASCII = """ name: 'TestEmptyMessage' """ class DescriptorTest(unittest.TestCase): def setUp(self): file_proto = descriptor_pb2.FileDescriptorProto( name='some/filename/some.proto', package='protobuf_unittest') message_proto = file_proto.message_type.add( name='NestedMessage') message_proto.field.add( name='bb', number=1, type=descriptor_pb2.FieldDescriptorProto.TYPE_INT32, label=descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL) enum_proto = message_proto.enum_type.add( name='ForeignEnum') enum_proto.value.add(name='FOREIGN_FOO', number=4) enum_proto.value.add(name='FOREIGN_BAR', number=5) enum_proto.value.add(name='FOREIGN_BAZ', number=6) file_proto.message_type.add(name='ResponseMessage') service_proto = file_proto.service.add( name='Service') method_proto = service_proto.method.add( name='CallMethod', input_type='.protobuf_unittest.NestedMessage', output_type='.protobuf_unittest.ResponseMessage') # Note: Calling DescriptorPool.Add() multiple times with the same file only # works if the input is canonical; in particular, all type names must be # fully qualified. self.pool = self.GetDescriptorPool() self.pool.Add(file_proto) self.my_file = self.pool.FindFileByName(file_proto.name) self.my_message = self.my_file.message_types_by_name[message_proto.name] self.my_enum = self.my_message.enum_types_by_name[enum_proto.name] self.my_service = self.my_file.services_by_name[service_proto.name] self.my_method = self.my_service.methods_by_name[method_proto.name] def GetDescriptorPool(self): return symbol_database.Default().pool def testEnumValueName(self): self.assertEqual(self.my_message.EnumValueName('ForeignEnum', 4), 'FOREIGN_FOO') self.assertEqual( self.my_message.enum_types_by_name[ 'ForeignEnum'].values_by_number[4].name, self.my_message.EnumValueName('ForeignEnum', 4)) with self.assertRaises(KeyError): self.my_message.EnumValueName('ForeignEnum', 999) with self.assertRaises(KeyError): self.my_message.EnumValueName('NoneEnum', 999) with self.assertRaises(TypeError): self.my_message.EnumValueName() def testEnumFixups(self): self.assertEqual(self.my_enum, self.my_enum.values[0].type) def testContainingTypeFixups(self): self.assertEqual(self.my_message, self.my_message.fields[0].containing_type) self.assertEqual(self.my_message, self.my_enum.containing_type) def testContainingServiceFixups(self): self.assertEqual(self.my_service, self.my_method.containing_service) def testGetOptions(self): self.assertEqual(self.my_enum.GetOptions(), descriptor_pb2.EnumOptions()) self.assertEqual(self.my_enum.values[0].GetOptions(), descriptor_pb2.EnumValueOptions()) self.assertEqual(self.my_message.GetOptions(), descriptor_pb2.MessageOptions()) self.assertEqual(self.my_message.fields[0].GetOptions(), descriptor_pb2.FieldOptions()) self.assertEqual(self.my_method.GetOptions(), descriptor_pb2.MethodOptions()) self.assertEqual(self.my_service.GetOptions(), descriptor_pb2.ServiceOptions()) def testSimpleCustomOptions(self): file_descriptor = unittest_custom_options_pb2.DESCRIPTOR message_descriptor = (unittest_custom_options_pb2. TestMessageWithCustomOptions.DESCRIPTOR) field_descriptor = message_descriptor.fields_by_name['field1'] oneof_descriptor = message_descriptor.oneofs_by_name['AnOneof'] enum_descriptor = message_descriptor.enum_types_by_name['AnEnum'] enum_value_descriptor = (message_descriptor. enum_values_by_name['ANENUM_VAL2']) other_enum_value_descriptor = (message_descriptor. enum_values_by_name['ANENUM_VAL1']) service_descriptor = (unittest_custom_options_pb2. TestServiceWithCustomOptions.DESCRIPTOR) method_descriptor = service_descriptor.FindMethodByName('Foo') file_options = file_descriptor.GetOptions() file_opt1 = unittest_custom_options_pb2.file_opt1 self.assertEqual(9876543210, file_options.Extensions[file_opt1]) message_options = message_descriptor.GetOptions() message_opt1 = unittest_custom_options_pb2.message_opt1 self.assertEqual(-56, message_options.Extensions[message_opt1]) field_options = field_descriptor.GetOptions() field_opt1 = unittest_custom_options_pb2.field_opt1 self.assertEqual(8765432109, field_options.Extensions[field_opt1]) field_opt2 = unittest_custom_options_pb2.field_opt2 self.assertEqual(42, field_options.Extensions[field_opt2]) oneof_options = oneof_descriptor.GetOptions() oneof_opt1 = unittest_custom_options_pb2.oneof_opt1 self.assertEqual(-99, oneof_options.Extensions[oneof_opt1]) enum_options = enum_descriptor.GetOptions() enum_opt1 = unittest_custom_options_pb2.enum_opt1 self.assertEqual(-789, enum_options.Extensions[enum_opt1]) enum_value_options = enum_value_descriptor.GetOptions() enum_value_opt1 = unittest_custom_options_pb2.enum_value_opt1 self.assertEqual(123, enum_value_options.Extensions[enum_value_opt1]) service_options = service_descriptor.GetOptions() service_opt1 = unittest_custom_options_pb2.service_opt1 self.assertEqual(-9876543210, service_options.Extensions[service_opt1]) method_options = method_descriptor.GetOptions() method_opt1 = unittest_custom_options_pb2.method_opt1 self.assertEqual(unittest_custom_options_pb2.METHODOPT1_VAL2, method_options.Extensions[method_opt1]) message_descriptor = ( unittest_custom_options_pb2.DummyMessageContainingEnum.DESCRIPTOR) self.assertTrue(file_descriptor.has_options) self.assertFalse(message_descriptor.has_options) self.assertTrue(field_descriptor.has_options) self.assertTrue(oneof_descriptor.has_options) self.assertTrue(enum_descriptor.has_options) self.assertTrue(enum_value_descriptor.has_options) self.assertFalse(other_enum_value_descriptor.has_options) def testDifferentCustomOptionTypes(self): kint32min = -2**31 kint64min = -2**63 kint32max = 2**31 - 1 kint64max = 2**63 - 1 kuint32max = 2**32 - 1 kuint64max = 2**64 - 1 message_descriptor =\ unittest_custom_options_pb2.CustomOptionMinIntegerValues.DESCRIPTOR message_options = message_descriptor.GetOptions() self.assertEqual(False, message_options.Extensions[ unittest_custom_options_pb2.bool_opt]) self.assertEqual(kint32min, message_options.Extensions[ unittest_custom_options_pb2.int32_opt]) self.assertEqual(kint64min, message_options.Extensions[ unittest_custom_options_pb2.int64_opt]) self.assertEqual(0, message_options.Extensions[ unittest_custom_options_pb2.uint32_opt]) self.assertEqual(0, message_options.Extensions[ unittest_custom_options_pb2.uint64_opt]) self.assertEqual(kint32min, message_options.Extensions[ unittest_custom_options_pb2.sint32_opt]) self.assertEqual(kint64min, message_options.Extensions[ unittest_custom_options_pb2.sint64_opt]) self.assertEqual(0, message_options.Extensions[ unittest_custom_options_pb2.fixed32_opt]) self.assertEqual(0, message_options.Extensions[ unittest_custom_options_pb2.fixed64_opt]) self.assertEqual(kint32min, message_options.Extensions[ unittest_custom_options_pb2.sfixed32_opt]) self.assertEqual(kint64min, message_options.Extensions[ unittest_custom_options_pb2.sfixed64_opt]) message_descriptor =\ unittest_custom_options_pb2.CustomOptionMaxIntegerValues.DESCRIPTOR message_options = message_descriptor.GetOptions() self.assertEqual(True, message_options.Extensions[ unittest_custom_options_pb2.bool_opt]) self.assertEqual(kint32max, message_options.Extensions[ unittest_custom_options_pb2.int32_opt]) self.assertEqual(kint64max, message_options.Extensions[ unittest_custom_options_pb2.int64_opt]) self.assertEqual(kuint32max, message_options.Extensions[ unittest_custom_options_pb2.uint32_opt]) self.assertEqual(kuint64max, message_options.Extensions[ unittest_custom_options_pb2.uint64_opt]) self.assertEqual(kint32max, message_options.Extensions[ unittest_custom_options_pb2.sint32_opt]) self.assertEqual(kint64max, message_options.Extensions[ unittest_custom_options_pb2.sint64_opt]) self.assertEqual(kuint32max, message_options.Extensions[ unittest_custom_options_pb2.fixed32_opt]) self.assertEqual(kuint64max, message_options.Extensions[ unittest_custom_options_pb2.fixed64_opt]) self.assertEqual(kint32max, message_options.Extensions[ unittest_custom_options_pb2.sfixed32_opt]) self.assertEqual(kint64max, message_options.Extensions[ unittest_custom_options_pb2.sfixed64_opt]) message_descriptor =\ unittest_custom_options_pb2.CustomOptionOtherValues.DESCRIPTOR message_options = message_descriptor.GetOptions() self.assertEqual(-100, message_options.Extensions[ unittest_custom_options_pb2.int32_opt]) self.assertAlmostEqual(12.3456789, message_options.Extensions[ unittest_custom_options_pb2.float_opt], 6) self.assertAlmostEqual(1.234567890123456789, message_options.Extensions[ unittest_custom_options_pb2.double_opt]) self.assertEqual("Hello, \"World\"", message_options.Extensions[ unittest_custom_options_pb2.string_opt]) self.assertEqual(b"Hello\0World", message_options.Extensions[ unittest_custom_options_pb2.bytes_opt]) dummy_enum = unittest_custom_options_pb2.DummyMessageContainingEnum self.assertEqual( dummy_enum.TEST_OPTION_ENUM_TYPE2, message_options.Extensions[unittest_custom_options_pb2.enum_opt]) message_descriptor =\ unittest_custom_options_pb2.SettingRealsFromPositiveInts.DESCRIPTOR message_options = message_descriptor.GetOptions() self.assertAlmostEqual(12, message_options.Extensions[ unittest_custom_options_pb2.float_opt], 6) self.assertAlmostEqual(154, message_options.Extensions[ unittest_custom_options_pb2.double_opt]) message_descriptor =\ unittest_custom_options_pb2.SettingRealsFromNegativeInts.DESCRIPTOR message_options = message_descriptor.GetOptions() self.assertAlmostEqual(-12, message_options.Extensions[ unittest_custom_options_pb2.float_opt], 6) self.assertAlmostEqual(-154, message_options.Extensions[ unittest_custom_options_pb2.double_opt]) def testComplexExtensionOptions(self): descriptor =\ unittest_custom_options_pb2.VariousComplexOptions.DESCRIPTOR options = descriptor.GetOptions() self.assertEqual(42, options.Extensions[ unittest_custom_options_pb2.complex_opt1].foo) self.assertEqual(324, options.Extensions[ unittest_custom_options_pb2.complex_opt1].Extensions[ unittest_custom_options_pb2.quux]) self.assertEqual(876, options.Extensions[ unittest_custom_options_pb2.complex_opt1].Extensions[ unittest_custom_options_pb2.corge].qux) self.assertEqual(987, options.Extensions[ unittest_custom_options_pb2.complex_opt2].baz) self.assertEqual(654, options.Extensions[ unittest_custom_options_pb2.complex_opt2].Extensions[ unittest_custom_options_pb2.grault]) self.assertEqual(743, options.Extensions[ unittest_custom_options_pb2.complex_opt2].bar.foo) self.assertEqual(1999, options.Extensions[ unittest_custom_options_pb2.complex_opt2].bar.Extensions[ unittest_custom_options_pb2.quux]) self.assertEqual(2008, options.Extensions[ unittest_custom_options_pb2.complex_opt2].bar.Extensions[ unittest_custom_options_pb2.corge].qux) self.assertEqual(741, options.Extensions[ unittest_custom_options_pb2.complex_opt2].Extensions[ unittest_custom_options_pb2.garply].foo) self.assertEqual(1998, options.Extensions[ unittest_custom_options_pb2.complex_opt2].Extensions[ unittest_custom_options_pb2.garply].Extensions[ unittest_custom_options_pb2.quux]) self.assertEqual(2121, options.Extensions[ unittest_custom_options_pb2.complex_opt2].Extensions[ unittest_custom_options_pb2.garply].Extensions[ unittest_custom_options_pb2.corge].qux) self.assertEqual(1971, options.Extensions[ unittest_custom_options_pb2.ComplexOptionType2 .ComplexOptionType4.complex_opt4].waldo) self.assertEqual(321, options.Extensions[ unittest_custom_options_pb2.complex_opt2].fred.waldo) self.assertEqual(9, options.Extensions[ unittest_custom_options_pb2.complex_opt3].qux) self.assertEqual(22, options.Extensions[ unittest_custom_options_pb2.complex_opt3].complexoptiontype5.plugh) self.assertEqual(24, options.Extensions[ unittest_custom_options_pb2.complexopt6].xyzzy) # Check that aggregate options were parsed and saved correctly in # the appropriate descriptors. def testAggregateOptions(self): file_descriptor = unittest_custom_options_pb2.DESCRIPTOR message_descriptor =\ unittest_custom_options_pb2.AggregateMessage.DESCRIPTOR field_descriptor = message_descriptor.fields_by_name["fieldname"] enum_descriptor = unittest_custom_options_pb2.AggregateEnum.DESCRIPTOR enum_value_descriptor = enum_descriptor.values_by_name["VALUE"] service_descriptor =\ unittest_custom_options_pb2.AggregateService.DESCRIPTOR method_descriptor = service_descriptor.FindMethodByName("Method") # Tests for the different types of data embedded in fileopt file_options = file_descriptor.GetOptions().Extensions[ unittest_custom_options_pb2.fileopt] self.assertEqual(100, file_options.i) self.assertEqual("FileAnnotation", file_options.s) self.assertEqual("NestedFileAnnotation", file_options.sub.s) self.assertEqual("FileExtensionAnnotation", file_options.file.Extensions[ unittest_custom_options_pb2.fileopt].s) self.assertEqual("EmbeddedMessageSetElement", file_options.mset.Extensions[ unittest_custom_options_pb2.AggregateMessageSetElement .message_set_extension].s) # Simple tests for all the other types of annotations self.assertEqual( "MessageAnnotation", message_descriptor.GetOptions().Extensions[ unittest_custom_options_pb2.msgopt].s) self.assertEqual( "FieldAnnotation", field_descriptor.GetOptions().Extensions[ unittest_custom_options_pb2.fieldopt].s) self.assertEqual( "EnumAnnotation", enum_descriptor.GetOptions().Extensions[ unittest_custom_options_pb2.enumopt].s) self.assertEqual( "EnumValueAnnotation", enum_value_descriptor.GetOptions().Extensions[ unittest_custom_options_pb2.enumvalopt].s) self.assertEqual( "ServiceAnnotation", service_descriptor.GetOptions().Extensions[ unittest_custom_options_pb2.serviceopt].s) self.assertEqual( "MethodAnnotation", method_descriptor.GetOptions().Extensions[ unittest_custom_options_pb2.methodopt].s) def testNestedOptions(self): nested_message =\ unittest_custom_options_pb2.NestedOptionType.NestedMessage.DESCRIPTOR self.assertEqual(1001, nested_message.GetOptions().Extensions[ unittest_custom_options_pb2.message_opt1]) nested_field = nested_message.fields_by_name["nested_field"] self.assertEqual(1002, nested_field.GetOptions().Extensions[ unittest_custom_options_pb2.field_opt1]) outer_message =\ unittest_custom_options_pb2.NestedOptionType.DESCRIPTOR nested_enum = outer_message.enum_types_by_name["NestedEnum"] self.assertEqual(1003, nested_enum.GetOptions().Extensions[ unittest_custom_options_pb2.enum_opt1]) nested_enum_value = outer_message.enum_values_by_name["NESTED_ENUM_VALUE"] self.assertEqual(1004, nested_enum_value.GetOptions().Extensions[ unittest_custom_options_pb2.enum_value_opt1]) nested_extension = outer_message.extensions_by_name["nested_extension"] self.assertEqual(1005, nested_extension.GetOptions().Extensions[ unittest_custom_options_pb2.field_opt2]) def testFileDescriptorReferences(self): self.assertEqual(self.my_enum.file, self.my_file) self.assertEqual(self.my_message.file, self.my_file) def testFileDescriptor(self): self.assertEqual(self.my_file.name, 'some/filename/some.proto') self.assertEqual(self.my_file.package, 'protobuf_unittest') self.assertEqual(self.my_file.pool, self.pool) self.assertFalse(self.my_file.has_options) self.assertEqual('proto2', self.my_file.syntax) file_proto = descriptor_pb2.FileDescriptorProto() self.my_file.CopyToProto(file_proto) self.assertEqual(self.my_file.serialized_pb, file_proto.SerializeToString()) # Generated modules also belong to the default pool. self.assertEqual(unittest_pb2.DESCRIPTOR.pool, descriptor_pool.Default()) @unittest.skipIf( api_implementation.Type() != 'cpp' or api_implementation.Version() != 2, 'Immutability of descriptors is only enforced in v2 implementation') def testImmutableCppDescriptor(self): file_descriptor = unittest_pb2.DESCRIPTOR message_descriptor = unittest_pb2.TestAllTypes.DESCRIPTOR field_descriptor = message_descriptor.fields_by_name['optional_int32'] enum_descriptor = message_descriptor.enum_types_by_name['NestedEnum'] oneof_descriptor = message_descriptor.oneofs_by_name['oneof_field'] with self.assertRaises(AttributeError): message_descriptor.fields_by_name = None with self.assertRaises(TypeError): message_descriptor.fields_by_name['Another'] = None with self.assertRaises(TypeError): message_descriptor.fields.append(None) with self.assertRaises(AttributeError): field_descriptor.containing_type = message_descriptor with self.assertRaises(AttributeError): file_descriptor.has_options = False with self.assertRaises(AttributeError): field_descriptor.has_options = False with self.assertRaises(AttributeError): oneof_descriptor.has_options = False with self.assertRaises(AttributeError): enum_descriptor.has_options = False with self.assertRaises(AttributeError) as e: message_descriptor.has_options = True self.assertEqual('attribute is not writable: has_options', str(e.exception)) class NewDescriptorTest(DescriptorTest): """Redo the same tests as above, but with a separate DescriptorPool.""" def GetDescriptorPool(self): return descriptor_pool.DescriptorPool() class GeneratedDescriptorTest(unittest.TestCase): """Tests for the properties of descriptors in generated code.""" def CheckMessageDescriptor(self, message_descriptor): # Basic properties self.assertEqual(message_descriptor.name, 'TestAllTypes') self.assertEqual(message_descriptor.full_name, 'protobuf_unittest.TestAllTypes') # Test equality and hashability self.assertEqual(message_descriptor, message_descriptor) self.assertEqual(message_descriptor.fields[0].containing_type, message_descriptor) self.assertIn(message_descriptor, [message_descriptor]) self.assertIn(message_descriptor, {message_descriptor: None}) # Test field containers self.CheckDescriptorSequence(message_descriptor.fields) self.CheckDescriptorMapping(message_descriptor.fields_by_name) self.CheckDescriptorMapping(message_descriptor.fields_by_number) self.CheckDescriptorMapping(message_descriptor.fields_by_camelcase_name) self.CheckDescriptorMapping(message_descriptor.enum_types_by_name) self.CheckDescriptorMapping(message_descriptor.enum_values_by_name) self.CheckDescriptorMapping(message_descriptor.oneofs_by_name) self.CheckDescriptorMapping(message_descriptor.enum_types[0].values_by_name) # Test extension range self.assertEqual(message_descriptor.extension_ranges, []) def CheckFieldDescriptor(self, field_descriptor): # Basic properties self.assertEqual(field_descriptor.name, 'optional_int32') self.assertEqual(field_descriptor.camelcase_name, 'optionalInt32') self.assertEqual(field_descriptor.full_name, 'protobuf_unittest.TestAllTypes.optional_int32') self.assertEqual(field_descriptor.containing_type.name, 'TestAllTypes') self.assertEqual(field_descriptor.file, unittest_pb2.DESCRIPTOR) # Test equality and hashability self.assertEqual(field_descriptor, field_descriptor) self.assertEqual( field_descriptor.containing_type.fields_by_name['optional_int32'], field_descriptor) self.assertEqual( field_descriptor.containing_type.fields_by_camelcase_name[ 'optionalInt32'], field_descriptor) self.assertIn(field_descriptor, [field_descriptor]) self.assertIn(field_descriptor, {field_descriptor: None}) self.assertEqual(None, field_descriptor.extension_scope) self.assertEqual(None, field_descriptor.enum_type) if api_implementation.Type() == 'cpp': # For test coverage only self.assertEqual(field_descriptor.id, field_descriptor.id) def CheckDescriptorSequence(self, sequence): # Verifies that a property like 'messageDescriptor.fields' has all the # properties of an immutable abc.Sequence. self.assertNotEqual(sequence, unittest_pb2.TestAllExtensions.DESCRIPTOR.fields) self.assertNotEqual(sequence, []) self.assertNotEqual(sequence, 1) self.assertFalse(sequence == 1) # Only for cpp test coverage self.assertEqual(sequence, sequence) expected_list = list(sequence) self.assertEqual(expected_list, sequence) self.assertGreater(len(sequence), 0) # Sized self.assertEqual(len(sequence), len(expected_list)) # Iterable self.assertEqual(sequence[len(sequence) -1], sequence[-1]) item = sequence[0] self.assertEqual(item, sequence[0]) self.assertIn(item, sequence) # Container self.assertEqual(sequence.index(item), 0) self.assertEqual(sequence.count(item), 1) other_item = unittest_pb2.NestedTestAllTypes.DESCRIPTOR.fields[0] self.assertNotIn(other_item, sequence) self.assertEqual(sequence.count(other_item), 0) self.assertRaises(ValueError, sequence.index, other_item) self.assertRaises(ValueError, sequence.index, []) reversed_iterator = reversed(sequence) self.assertEqual(list(reversed_iterator), list(sequence)[::-1]) self.assertRaises(StopIteration, next, reversed_iterator) expected_list[0] = 'change value' self.assertNotEqual(expected_list, sequence) # TODO(jieluo): Change __repr__ support for DescriptorSequence. if api_implementation.Type() == 'python': self.assertEqual(str(list(sequence)), str(sequence)) else: self.assertEqual(str(sequence)[0], '<') def CheckDescriptorMapping(self, mapping): # Verifies that a property like 'messageDescriptor.fields' has all the # properties of an immutable abc.Mapping. self.assertNotEqual( mapping, unittest_pb2.TestAllExtensions.DESCRIPTOR.fields_by_name) self.assertNotEqual(mapping, {}) self.assertNotEqual(mapping, 1) self.assertFalse(mapping == 1) # Only for cpp test coverage excepted_dict = dict(list(mapping.items())) self.assertEqual(mapping, excepted_dict) self.assertEqual(mapping, mapping) self.assertGreater(len(mapping), 0) # Sized self.assertEqual(len(mapping), len(excepted_dict)) # Iterable if sys.version_info >= (3,): key, item = next(iter(list(mapping.items()))) else: key, item = list(mapping.items())[0] self.assertIn(key, mapping) # Container self.assertEqual(mapping.get(key), item) with self.assertRaises(TypeError): mapping.get() # TODO(jieluo): Fix python and cpp extension diff. if api_implementation.Type() == 'python': self.assertRaises(TypeError, mapping.get, []) else: self.assertEqual(None, mapping.get([])) # keys(), iterkeys() &co item = (next(iter(list(mapping.keys()))), next(iter(list(mapping.values())))) self.assertEqual(item, next(iter(list(mapping.items())))) if sys.version_info < (3,): def CheckItems(seq, iterator): self.assertEqual(next(iterator), seq[0]) self.assertEqual(list(iterator), seq[1:]) CheckItems(list(mapping.keys()), iter(mapping.keys())) CheckItems(list(mapping.values()), iter(mapping.values())) CheckItems(list(mapping.items()), iter(mapping.items())) excepted_dict[key] = 'change value' self.assertNotEqual(mapping, excepted_dict) del excepted_dict[key] excepted_dict['new_key'] = 'new' self.assertNotEqual(mapping, excepted_dict) self.assertRaises(KeyError, mapping.__getitem__, 'key_error') self.assertRaises(KeyError, mapping.__getitem__, len(mapping) + 1) # TODO(jieluo): Add __repr__ support for DescriptorMapping. if api_implementation.Type() == 'python': self.assertEqual(len(str(dict(list(mapping.items())))), len(str(mapping))) else: self.assertEqual(str(mapping)[0], '<') def testDescriptor(self): message_descriptor = unittest_pb2.TestAllTypes.DESCRIPTOR self.CheckMessageDescriptor(message_descriptor) field_descriptor = message_descriptor.fields_by_name['optional_int32'] self.CheckFieldDescriptor(field_descriptor) field_descriptor = message_descriptor.fields_by_camelcase_name[ 'optionalInt32'] self.CheckFieldDescriptor(field_descriptor) enum_descriptor = unittest_pb2.DESCRIPTOR.enum_types_by_name[ 'ForeignEnum'] self.assertEqual(None, enum_descriptor.containing_type) # Test extension range self.assertEqual( unittest_pb2.TestAllExtensions.DESCRIPTOR.extension_ranges, [(1, 536870912)]) self.assertEqual( unittest_pb2.TestMultipleExtensionRanges.DESCRIPTOR.extension_ranges, [(42, 43), (4143, 4244), (65536, 536870912)]) def testCppDescriptorContainer(self): containing_file = unittest_pb2.DESCRIPTOR self.CheckDescriptorSequence(containing_file.dependencies) self.CheckDescriptorMapping(containing_file.message_types_by_name) self.CheckDescriptorMapping(containing_file.enum_types_by_name) self.CheckDescriptorMapping(containing_file.services_by_name) self.CheckDescriptorMapping(containing_file.extensions_by_name) self.CheckDescriptorMapping( unittest_pb2.TestNestedExtension.DESCRIPTOR.extensions_by_name) def testCppDescriptorContainer_Iterator(self): # Same test with the iterator enum = unittest_pb2.TestAllTypes.DESCRIPTOR.enum_types_by_name['NestedEnum'] values_iter = iter(enum.values) del enum self.assertEqual('FOO', next(values_iter).name) def testServiceDescriptor(self): service_descriptor = unittest_pb2.DESCRIPTOR.services_by_name['TestService'] self.assertEqual(service_descriptor.name, 'TestService') self.assertEqual(service_descriptor.methods[0].name, 'Foo') self.assertIs(service_descriptor.file, unittest_pb2.DESCRIPTOR) self.assertEqual(service_descriptor.index, 0) self.CheckDescriptorMapping(service_descriptor.methods_by_name) def testOneofDescriptor(self): message_descriptor = unittest_pb2.TestAllTypes.DESCRIPTOR oneof_descriptor = message_descriptor.oneofs_by_name['oneof_field'] self.assertFalse(oneof_descriptor.has_options) self.assertEqual(message_descriptor, oneof_descriptor.containing_type) self.assertEqual('oneof_field', oneof_descriptor.name) self.assertEqual('protobuf_unittest.TestAllTypes.oneof_field', oneof_descriptor.full_name) self.assertEqual(0, oneof_descriptor.index) class DescriptorCopyToProtoTest(unittest.TestCase): """Tests for CopyTo functions of Descriptor.""" def _AssertProtoEqual(self, actual_proto, expected_class, expected_ascii): expected_proto = expected_class() text_format.Merge(expected_ascii, expected_proto) self.assertEqual( actual_proto, expected_proto, 'Not equal,\nActual:\n%s\nExpected:\n%s\n' % (str(actual_proto), str(expected_proto))) def _InternalTestCopyToProto(self, desc, expected_proto_class, expected_proto_ascii): actual = expected_proto_class() desc.CopyToProto(actual) self._AssertProtoEqual( actual, expected_proto_class, expected_proto_ascii) def testCopyToProto_EmptyMessage(self): self._InternalTestCopyToProto( unittest_pb2.TestEmptyMessage.DESCRIPTOR, descriptor_pb2.DescriptorProto, TEST_EMPTY_MESSAGE_DESCRIPTOR_ASCII) def testCopyToProto_NestedMessage(self): TEST_NESTED_MESSAGE_ASCII = """ name: 'NestedMessage' field: < name: 'bb' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > """ self._InternalTestCopyToProto( unittest_pb2.TestAllTypes.NestedMessage.DESCRIPTOR, descriptor_pb2.DescriptorProto, TEST_NESTED_MESSAGE_ASCII) def testCopyToProto_ForeignNestedMessage(self): TEST_FOREIGN_NESTED_ASCII = """ name: 'TestForeignNested' field: < name: 'foreign_nested' number: 1 label: 1 # Optional type: 11 # TYPE_MESSAGE type_name: '.protobuf_unittest.TestAllTypes.NestedMessage' > """ self._InternalTestCopyToProto( unittest_pb2.TestForeignNested.DESCRIPTOR, descriptor_pb2.DescriptorProto, TEST_FOREIGN_NESTED_ASCII) def testCopyToProto_ForeignEnum(self): TEST_FOREIGN_ENUM_ASCII = """ name: 'ForeignEnum' value: < name: 'FOREIGN_FOO' number: 4 > value: < name: 'FOREIGN_BAR' number: 5 > value: < name: 'FOREIGN_BAZ' number: 6 > """ self._InternalTestCopyToProto( unittest_pb2.ForeignEnum.DESCRIPTOR, descriptor_pb2.EnumDescriptorProto, TEST_FOREIGN_ENUM_ASCII) def testCopyToProto_Options(self): TEST_DEPRECATED_FIELDS_ASCII = """ name: 'TestDeprecatedFields' field: < name: 'deprecated_int32' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 options: < deprecated: true > > """ self._InternalTestCopyToProto( unittest_pb2.TestDeprecatedFields.DESCRIPTOR, descriptor_pb2.DescriptorProto, TEST_DEPRECATED_FIELDS_ASCII) def testCopyToProto_AllExtensions(self): TEST_EMPTY_MESSAGE_WITH_EXTENSIONS_ASCII = """ name: 'TestEmptyMessageWithExtensions' extension_range: < start: 1 end: 536870912 > """ self._InternalTestCopyToProto( unittest_pb2.TestEmptyMessageWithExtensions.DESCRIPTOR, descriptor_pb2.DescriptorProto, TEST_EMPTY_MESSAGE_WITH_EXTENSIONS_ASCII) def testCopyToProto_SeveralExtensions(self): TEST_MESSAGE_WITH_SEVERAL_EXTENSIONS_ASCII = """ name: 'TestMultipleExtensionRanges' extension_range: < start: 42 end: 43 > extension_range: < start: 4143 end: 4244 > extension_range: < start: 65536 end: 536870912 > """ self._InternalTestCopyToProto( unittest_pb2.TestMultipleExtensionRanges.DESCRIPTOR, descriptor_pb2.DescriptorProto, TEST_MESSAGE_WITH_SEVERAL_EXTENSIONS_ASCII) def testCopyToProto_FileDescriptor(self): UNITTEST_IMPORT_FILE_DESCRIPTOR_ASCII = (""" name: 'google/protobuf/unittest_import.proto' package: 'protobuf_unittest_import' dependency: 'google/protobuf/unittest_import_public.proto' message_type: < name: 'ImportMessage' field: < name: 'd' number: 1 label: 1 # Optional type: 5 # TYPE_INT32 > > """ + """enum_type: < name: 'ImportEnum' value: < name: 'IMPORT_FOO' number: 7 > value: < name: 'IMPORT_BAR' number: 8 > value: < name: 'IMPORT_BAZ' number: 9 > > enum_type: < name: 'ImportEnumForMap' value: < name: 'UNKNOWN' number: 0 > value: < name: 'FOO' number: 1 > value: < name: 'BAR' number: 2 > > options: < java_package: 'com.google.protobuf.test' optimize_for: 1 # SPEED """ + """ cc_enable_arenas: true > public_dependency: 0 """) self._InternalTestCopyToProto( unittest_import_pb2.DESCRIPTOR, descriptor_pb2.FileDescriptorProto, UNITTEST_IMPORT_FILE_DESCRIPTOR_ASCII) def testCopyToProto_ServiceDescriptor(self): TEST_SERVICE_ASCII = """ name: 'TestService' method: < name: 'Foo' input_type: '.protobuf_unittest.FooRequest' output_type: '.protobuf_unittest.FooResponse' > method: < name: 'Bar' input_type: '.protobuf_unittest.BarRequest' output_type: '.protobuf_unittest.BarResponse' > """ self._InternalTestCopyToProto( unittest_pb2.TestService.DESCRIPTOR, descriptor_pb2.ServiceDescriptorProto, TEST_SERVICE_ASCII) @unittest.skipIf( api_implementation.Type() == 'python', 'It is not implemented in python.') # TODO(jieluo): Add support for pure python or remove in c extension. def testCopyToProto_MethodDescriptor(self): expected_ascii = """ name: 'Foo' input_type: '.protobuf_unittest.FooRequest' output_type: '.protobuf_unittest.FooResponse' """ method_descriptor = unittest_pb2.TestService.DESCRIPTOR.FindMethodByName( 'Foo') self._InternalTestCopyToProto( method_descriptor, descriptor_pb2.MethodDescriptorProto, expected_ascii) @unittest.skipIf( api_implementation.Type() == 'python', 'Pure python does not raise error.') # TODO(jieluo): Fix pure python to check with the proto type. def testCopyToProto_TypeError(self): file_proto = descriptor_pb2.FileDescriptorProto() self.assertRaises(TypeError, unittest_pb2.TestEmptyMessage.DESCRIPTOR.CopyToProto, file_proto) self.assertRaises(TypeError, unittest_pb2.ForeignEnum.DESCRIPTOR.CopyToProto, file_proto) self.assertRaises(TypeError, unittest_pb2.TestService.DESCRIPTOR.CopyToProto, file_proto) proto = descriptor_pb2.DescriptorProto() self.assertRaises(TypeError, unittest_import_pb2.DESCRIPTOR.CopyToProto, proto) class MakeDescriptorTest(unittest.TestCase): def testMakeDescriptorWithNestedFields(self): file_descriptor_proto = descriptor_pb2.FileDescriptorProto() file_descriptor_proto.name = 'Foo2' message_type = file_descriptor_proto.message_type.add() message_type.name = file_descriptor_proto.name nested_type = message_type.nested_type.add() nested_type.name = 'Sub' enum_type = nested_type.enum_type.add() enum_type.name = 'FOO' enum_type_val = enum_type.value.add() enum_type_val.name = 'BAR' enum_type_val.number = 3 field = message_type.field.add() field.number = 1 field.name = 'uint64_field' field.label = descriptor.FieldDescriptor.LABEL_REQUIRED field.type = descriptor.FieldDescriptor.TYPE_UINT64 field = message_type.field.add() field.number = 2 field.name = 'nested_message_field' field.label = descriptor.FieldDescriptor.LABEL_REQUIRED field.type = descriptor.FieldDescriptor.TYPE_MESSAGE field.type_name = 'Sub' enum_field = nested_type.field.add() enum_field.number = 2 enum_field.name = 'bar_field' enum_field.label = descriptor.FieldDescriptor.LABEL_REQUIRED enum_field.type = descriptor.FieldDescriptor.TYPE_ENUM enum_field.type_name = 'Foo2.Sub.FOO' result = descriptor.MakeDescriptor(message_type) self.assertEqual(result.fields[0].cpp_type, descriptor.FieldDescriptor.CPPTYPE_UINT64) self.assertEqual(result.fields[1].cpp_type, descriptor.FieldDescriptor.CPPTYPE_MESSAGE) self.assertEqual(result.fields[1].message_type.containing_type, result) self.assertEqual(result.nested_types[0].fields[0].full_name, 'Foo2.Sub.bar_field') self.assertEqual(result.nested_types[0].fields[0].enum_type, result.nested_types[0].enum_types[0]) self.assertFalse(result.has_options) self.assertFalse(result.fields[0].has_options) if api_implementation.Type() == 'cpp': with self.assertRaises(AttributeError): result.fields[0].has_options = False def testMakeDescriptorWithUnsignedIntField(self): file_descriptor_proto = descriptor_pb2.FileDescriptorProto() file_descriptor_proto.name = 'Foo' message_type = file_descriptor_proto.message_type.add() message_type.name = file_descriptor_proto.name enum_type = message_type.enum_type.add() enum_type.name = 'FOO' enum_type_val = enum_type.value.add() enum_type_val.name = 'BAR' enum_type_val.number = 3 field = message_type.field.add() field.number = 1 field.name = 'uint64_field' field.label = descriptor.FieldDescriptor.LABEL_REQUIRED field.type = descriptor.FieldDescriptor.TYPE_UINT64 enum_field = message_type.field.add() enum_field.number = 2 enum_field.name = 'bar_field' enum_field.label = descriptor.FieldDescriptor.LABEL_REQUIRED enum_field.type = descriptor.FieldDescriptor.TYPE_ENUM enum_field.type_name = 'Foo.FOO' result = descriptor.MakeDescriptor(message_type) self.assertEqual(result.fields[0].cpp_type, descriptor.FieldDescriptor.CPPTYPE_UINT64) def testMakeDescriptorWithOptions(self): descriptor_proto = descriptor_pb2.DescriptorProto() aggregate_message = unittest_custom_options_pb2.AggregateMessage aggregate_message.DESCRIPTOR.CopyToProto(descriptor_proto) reformed_descriptor = descriptor.MakeDescriptor(descriptor_proto) options = reformed_descriptor.GetOptions() self.assertEqual(101, options.Extensions[unittest_custom_options_pb2.msgopt].i) def testCamelcaseName(self): descriptor_proto = descriptor_pb2.DescriptorProto() descriptor_proto.name = 'Bar' names = ['foo_foo', 'FooBar', 'fooBaz', 'fooFoo', 'foobar'] camelcase_names = ['fooFoo', 'fooBar', 'fooBaz', 'fooFoo', 'foobar'] for index in range(len(names)): field = descriptor_proto.field.add() field.number = index + 1 field.name = names[index] result = descriptor.MakeDescriptor(descriptor_proto) for index in range(len(camelcase_names)): self.assertEqual(result.fields[index].camelcase_name, camelcase_names[index]) def testJsonName(self): descriptor_proto = descriptor_pb2.DescriptorProto() descriptor_proto.name = 'TestJsonName' names = ['field_name', 'fieldName', 'FieldName', '_field_name', 'FIELD_NAME', 'json_name'] json_names = ['fieldName', 'fieldName', 'FieldName', 'FieldName', 'FIELDNAME', '@type'] for index in range(len(names)): field = descriptor_proto.field.add() field.number = index + 1 field.name = names[index] field.json_name = '@type' result = descriptor.MakeDescriptor(descriptor_proto) for index in range(len(json_names)): self.assertEqual(result.fields[index].json_name, json_names[index]) if __name__ == '__main__': unittest.main() PK!.C$protobuf/internal/reflection_test.pynu[# -*- coding: utf-8 -*- # # Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Unittest for reflection.py, which also indirectly tests the output of the pure-Python protocol compiler. """ import copy import gc import operator import six import struct try: import unittest2 as unittest #PY26 except ImportError: import unittest from google.protobuf import unittest_import_pb2 from google.protobuf import unittest_mset_pb2 from google.protobuf import unittest_pb2 from google.protobuf import descriptor_pb2 from google.protobuf import descriptor from google.protobuf import message from google.protobuf import reflection from google.protobuf import text_format from google.protobuf.internal import api_implementation from google.protobuf.internal import more_extensions_pb2 from google.protobuf.internal import more_messages_pb2 from google.protobuf.internal import message_set_extensions_pb2 from google.protobuf.internal import wire_format from google.protobuf.internal import test_util from google.protobuf.internal import testing_refleaks from google.protobuf.internal import decoder BaseTestCase = testing_refleaks.BaseTestCase class _MiniDecoder(object): """Decodes a stream of values from a string. Once upon a time we actually had a class called decoder.Decoder. Then we got rid of it during a redesign that made decoding much, much faster overall. But a couple tests in this file used it to check that the serialized form of a message was correct. So, this class implements just the methods that were used by said tests, so that we don't have to rewrite the tests. """ def __init__(self, bytes): self._bytes = bytes self._pos = 0 def ReadVarint(self): result, self._pos = decoder._DecodeVarint(self._bytes, self._pos) return result ReadInt32 = ReadVarint ReadInt64 = ReadVarint ReadUInt32 = ReadVarint ReadUInt64 = ReadVarint def ReadSInt64(self): return wire_format.ZigZagDecode(self.ReadVarint()) ReadSInt32 = ReadSInt64 def ReadFieldNumberAndWireType(self): return wire_format.UnpackTag(self.ReadVarint()) def ReadFloat(self): result = struct.unpack('') and not tokenizer.LookingAt('}'): _SkipField(tokenizer) tokenizer.Consume(delimiter) def _SkipFieldValue(tokenizer): """Skips over a field value. Args: tokenizer: A tokenizer to parse the field name and values. Raises: ParseError: In case an invalid field value is found. """ # String/bytes tokens can come in multiple adjacent string literals. # If we can consume one, consume as many as we can. if tokenizer.TryConsumeByteString(): while tokenizer.TryConsumeByteString(): pass return if (not tokenizer.TryConsumeIdentifier() and not _TryConsumeInt64(tokenizer) and not _TryConsumeUint64(tokenizer) and not tokenizer.TryConsumeFloat()): raise ParseError('Invalid field value: ' + tokenizer.token) class Tokenizer(object): """Protocol buffer text representation tokenizer. This class handles the lower level string parsing by splitting it into meaningful tokens. It was directly ported from the Java protocol buffer API. """ _WHITESPACE = re.compile(r'\s+') _COMMENT = re.compile(r'(\s*#.*$)', re.MULTILINE) _WHITESPACE_OR_COMMENT = re.compile(r'(\s|(#.*$))+', re.MULTILINE) _TOKEN = re.compile('|'.join([ r'[a-zA-Z_][0-9a-zA-Z_+-]*', # an identifier r'([0-9+-]|(\.[0-9]))[0-9a-zA-Z_.+-]*', # a number ] + [ # quoted str for each quote mark r'{qt}([^{qt}\n\\]|\\.)*({qt}|\\?$)'.format(qt=mark) for mark in _QUOTES ])) _IDENTIFIER = re.compile(r'[^\d\W]\w*') _IDENTIFIER_OR_NUMBER = re.compile(r'\w+') def __init__(self, lines, skip_comments=True): self._position = 0 self._line = -1 self._column = 0 self._token_start = None self.token = '' self._lines = iter(lines) self._current_line = '' self._previous_line = 0 self._previous_column = 0 self._more_lines = True self._skip_comments = skip_comments self._whitespace_pattern = (skip_comments and self._WHITESPACE_OR_COMMENT or self._WHITESPACE) self._SkipWhitespace() self.NextToken() def LookingAt(self, token): return self.token == token def AtEnd(self): """Checks the end of the text was reached. Returns: True iff the end was reached. """ return not self.token def _PopLine(self): while len(self._current_line) <= self._column: try: self._current_line = next(self._lines) except StopIteration: self._current_line = '' self._more_lines = False return else: self._line += 1 self._column = 0 def _SkipWhitespace(self): while True: self._PopLine() match = self._whitespace_pattern.match(self._current_line, self._column) if not match: break length = len(match.group(0)) self._column += length def TryConsume(self, token): """Tries to consume a given piece of text. Args: token: Text to consume. Returns: True iff the text was consumed. """ if self.token == token: self.NextToken() return True return False def Consume(self, token): """Consumes a piece of text. Args: token: Text to consume. Raises: ParseError: If the text couldn't be consumed. """ if not self.TryConsume(token): raise self.ParseError('Expected "%s".' % token) def ConsumeComment(self): result = self.token if not self._COMMENT.match(result): raise self.ParseError('Expected comment.') self.NextToken() return result def ConsumeCommentOrTrailingComment(self): """Consumes a comment, returns a 2-tuple (trailing bool, comment str).""" # Tokenizer initializes _previous_line and _previous_column to 0. As the # tokenizer starts, it looks like there is a previous token on the line. just_started = self._line == 0 and self._column == 0 before_parsing = self._previous_line comment = self.ConsumeComment() # A trailing comment is a comment on the same line than the previous token. trailing = (self._previous_line == before_parsing and not just_started) return trailing, comment def TryConsumeIdentifier(self): try: self.ConsumeIdentifier() return True except ParseError: return False def ConsumeIdentifier(self): """Consumes protocol message field identifier. Returns: Identifier string. Raises: ParseError: If an identifier couldn't be consumed. """ result = self.token if not self._IDENTIFIER.match(result): raise self.ParseError('Expected identifier.') self.NextToken() return result def TryConsumeIdentifierOrNumber(self): try: self.ConsumeIdentifierOrNumber() return True except ParseError: return False def ConsumeIdentifierOrNumber(self): """Consumes protocol message field identifier. Returns: Identifier string. Raises: ParseError: If an identifier couldn't be consumed. """ result = self.token if not self._IDENTIFIER_OR_NUMBER.match(result): raise self.ParseError('Expected identifier or number, got %s.' % result) self.NextToken() return result def TryConsumeInteger(self): try: # Note: is_long only affects value type, not whether an error is raised. self.ConsumeInteger() return True except ParseError: return False def ConsumeInteger(self, is_long=False): """Consumes an integer number. Args: is_long: True if the value should be returned as a long integer. Returns: The integer parsed. Raises: ParseError: If an integer couldn't be consumed. """ try: result = _ParseAbstractInteger(self.token, is_long=is_long) except ValueError as e: raise self.ParseError(str(e)) self.NextToken() return result def TryConsumeFloat(self): try: self.ConsumeFloat() return True except ParseError: return False def ConsumeFloat(self): """Consumes an floating point number. Returns: The number parsed. Raises: ParseError: If a floating point number couldn't be consumed. """ try: result = ParseFloat(self.token) except ValueError as e: raise self.ParseError(str(e)) self.NextToken() return result def ConsumeBool(self): """Consumes a boolean value. Returns: The bool parsed. Raises: ParseError: If a boolean value couldn't be consumed. """ try: result = ParseBool(self.token) except ValueError as e: raise self.ParseError(str(e)) self.NextToken() return result def TryConsumeByteString(self): try: self.ConsumeByteString() return True except ParseError: return False def ConsumeString(self): """Consumes a string value. Returns: The string parsed. Raises: ParseError: If a string value couldn't be consumed. """ the_bytes = self.ConsumeByteString() try: return six.text_type(the_bytes, 'utf-8') except UnicodeDecodeError as e: raise self._StringParseError(e) def ConsumeByteString(self): """Consumes a byte array value. Returns: The array parsed (as a string). Raises: ParseError: If a byte array value couldn't be consumed. """ the_list = [self._ConsumeSingleByteString()] while self.token and self.token[0] in _QUOTES: the_list.append(self._ConsumeSingleByteString()) return b''.join(the_list) def _ConsumeSingleByteString(self): """Consume one token of a string literal. String literals (whether bytes or text) can come in multiple adjacent tokens which are automatically concatenated, like in C or Python. This method only consumes one token. Returns: The token parsed. Raises: ParseError: When the wrong format data is found. """ text = self.token if len(text) < 1 or text[0] not in _QUOTES: raise self.ParseError('Expected string but found: %r' % (text,)) if len(text) < 2 or text[-1] != text[0]: raise self.ParseError('String missing ending quote: %r' % (text,)) try: result = text_encoding.CUnescape(text[1:-1]) except ValueError as e: raise self.ParseError(str(e)) self.NextToken() return result def ConsumeEnum(self, field): try: result = ParseEnum(field, self.token) except ValueError as e: raise self.ParseError(str(e)) self.NextToken() return result def ParseErrorPreviousToken(self, message): """Creates and *returns* a ParseError for the previously read token. Args: message: A message to set for the exception. Returns: A ParseError instance. """ return ParseError(message, self._previous_line + 1, self._previous_column + 1) def ParseError(self, message): """Creates and *returns* a ParseError for the current token.""" return ParseError(message, self._line + 1, self._column + 1) def _StringParseError(self, e): return self.ParseError('Couldn\'t parse string: ' + str(e)) def NextToken(self): """Reads the next meaningful token.""" self._previous_line = self._line self._previous_column = self._column self._column += len(self.token) self._SkipWhitespace() if not self._more_lines: self.token = '' return match = self._TOKEN.match(self._current_line, self._column) if not match and not self._skip_comments: match = self._COMMENT.match(self._current_line, self._column) if match: token = match.group(0) self.token = token else: self.token = self._current_line[self._column] # Aliased so it can still be accessed by current visibility violators. # TODO(dbarnett): Migrate violators to textformat_tokenizer. _Tokenizer = Tokenizer # pylint: disable=invalid-name def _ConsumeInt32(tokenizer): """Consumes a signed 32bit integer number from tokenizer. Args: tokenizer: A tokenizer used to parse the number. Returns: The integer parsed. Raises: ParseError: If a signed 32bit integer couldn't be consumed. """ return _ConsumeInteger(tokenizer, is_signed=True, is_long=False) def _ConsumeUint32(tokenizer): """Consumes an unsigned 32bit integer number from tokenizer. Args: tokenizer: A tokenizer used to parse the number. Returns: The integer parsed. Raises: ParseError: If an unsigned 32bit integer couldn't be consumed. """ return _ConsumeInteger(tokenizer, is_signed=False, is_long=False) def _TryConsumeInt64(tokenizer): try: _ConsumeInt64(tokenizer) return True except ParseError: return False def _ConsumeInt64(tokenizer): """Consumes a signed 32bit integer number from tokenizer. Args: tokenizer: A tokenizer used to parse the number. Returns: The integer parsed. Raises: ParseError: If a signed 32bit integer couldn't be consumed. """ return _ConsumeInteger(tokenizer, is_signed=True, is_long=True) def _TryConsumeUint64(tokenizer): try: _ConsumeUint64(tokenizer) return True except ParseError: return False def _ConsumeUint64(tokenizer): """Consumes an unsigned 64bit integer number from tokenizer. Args: tokenizer: A tokenizer used to parse the number. Returns: The integer parsed. Raises: ParseError: If an unsigned 64bit integer couldn't be consumed. """ return _ConsumeInteger(tokenizer, is_signed=False, is_long=True) def _TryConsumeInteger(tokenizer, is_signed=False, is_long=False): try: _ConsumeInteger(tokenizer, is_signed=is_signed, is_long=is_long) return True except ParseError: return False def _ConsumeInteger(tokenizer, is_signed=False, is_long=False): """Consumes an integer number from tokenizer. Args: tokenizer: A tokenizer used to parse the number. is_signed: True if a signed integer must be parsed. is_long: True if a long integer must be parsed. Returns: The integer parsed. Raises: ParseError: If an integer with given characteristics couldn't be consumed. """ try: result = ParseInteger(tokenizer.token, is_signed=is_signed, is_long=is_long) except ValueError as e: raise tokenizer.ParseError(str(e)) tokenizer.NextToken() return result def ParseInteger(text, is_signed=False, is_long=False): """Parses an integer. Args: text: The text to parse. is_signed: True if a signed integer must be parsed. is_long: True if a long integer must be parsed. Returns: The integer value. Raises: ValueError: Thrown Iff the text is not a valid integer. """ # Do the actual parsing. Exception handling is propagated to caller. result = _ParseAbstractInteger(text, is_long=is_long) # Check if the integer is sane. Exceptions handled by callers. checker = _INTEGER_CHECKERS[2 * int(is_long) + int(is_signed)] checker.CheckValue(result) return result def _ParseAbstractInteger(text, is_long=False): """Parses an integer without checking size/signedness. Args: text: The text to parse. is_long: True if the value should be returned as a long integer. Returns: The integer value. Raises: ValueError: Thrown Iff the text is not a valid integer. """ # Do the actual parsing. Exception handling is propagated to caller. try: # We force 32-bit values to int and 64-bit values to long to make # alternate implementations where the distinction is more significant # (e.g. the C++ implementation) simpler. if is_long: return int(text, 0) else: return int(text, 0) except ValueError: raise ValueError('Couldn\'t parse integer: %s' % text) def ParseFloat(text): """Parse a floating point number. Args: text: Text to parse. Returns: The number parsed. Raises: ValueError: If a floating point number couldn't be parsed. """ try: # Assume Python compatible syntax. return float(text) except ValueError: # Check alternative spellings. if _FLOAT_INFINITY.match(text): if text[0] == '-': return float('-inf') else: return float('inf') elif _FLOAT_NAN.match(text): return float('nan') else: # assume '1.0f' format try: return float(text.rstrip('f')) except ValueError: raise ValueError('Couldn\'t parse float: %s' % text) def ParseBool(text): """Parse a boolean value. Args: text: Text to parse. Returns: Boolean values parsed Raises: ValueError: If text is not a valid boolean. """ if text in ('true', 't', '1', 'True'): return True elif text in ('false', 'f', '0', 'False'): return False else: raise ValueError('Expected "true" or "false".') def ParseEnum(field, value): """Parse an enum value. The value can be specified by a number (the enum value), or by a string literal (the enum name). Args: field: Enum field descriptor. value: String value. Returns: Enum value number. Raises: ValueError: If the enum value could not be parsed. """ enum_descriptor = field.enum_type try: number = int(value, 0) except ValueError: # Identifier. enum_value = enum_descriptor.values_by_name.get(value, None) if enum_value is None: raise ValueError('Enum type "%s" has no value named %s.' % (enum_descriptor.full_name, value)) else: # Numeric value. if hasattr(field.file, 'syntax'): # Attribute is checked for compatibility. if field.file.syntax == 'proto3': # Proto3 accept numeric unknown enums. return number enum_value = enum_descriptor.values_by_number.get(number, None) if enum_value is None: raise ValueError('Enum type "%s" has no value with number %d.' % (enum_descriptor.full_name, number)) return enum_value.number PK!EXXprotobuf/proto_builder.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Dynamic Protobuf class creator.""" try: from collections import OrderedDict except ImportError: from ordereddict import OrderedDict #PY26 import hashlib import os from google.protobuf import descriptor_pb2 from google.protobuf import message_factory def _GetMessageFromFactory(factory, full_name): """Get a proto class from the MessageFactory by name. Args: factory: a MessageFactory instance. full_name: str, the fully qualified name of the proto type. Returns: A class, for the type identified by full_name. Raises: KeyError, if the proto is not found in the factory's descriptor pool. """ proto_descriptor = factory.pool.FindMessageTypeByName(full_name) proto_cls = factory.GetPrototype(proto_descriptor) return proto_cls def MakeSimpleProtoClass(fields, full_name=None, pool=None): """Create a Protobuf class whose fields are basic types. Note: this doesn't validate field names! Args: fields: dict of {name: field_type} mappings for each field in the proto. If this is an OrderedDict the order will be maintained, otherwise the fields will be sorted by name. full_name: optional str, the fully-qualified name of the proto type. pool: optional DescriptorPool instance. Returns: a class, the new protobuf class with a FileDescriptor. """ factory = message_factory.MessageFactory(pool=pool) if full_name is not None: try: proto_cls = _GetMessageFromFactory(factory, full_name) return proto_cls except KeyError: # The factory's DescriptorPool doesn't know about this class yet. pass # Get a list of (name, field_type) tuples from the fields dict. If fields was # an OrderedDict we keep the order, but otherwise we sort the field to ensure # consistent ordering. field_items = list(fields.items()) if not isinstance(fields, OrderedDict): field_items = sorted(field_items) # Use a consistent file name that is unlikely to conflict with any imported # proto files. fields_hash = hashlib.sha1() for f_name, f_type in field_items: fields_hash.update(f_name.encode('utf-8')) fields_hash.update(str(f_type).encode('utf-8')) proto_file_name = fields_hash.hexdigest() + '.proto' # If the proto is anonymous, use the same hash to name it. if full_name is None: full_name = ('net.proto2.python.public.proto_builder.AnonymousProto_' + fields_hash.hexdigest()) try: proto_cls = _GetMessageFromFactory(factory, full_name) return proto_cls except KeyError: # The factory's DescriptorPool doesn't know about this class yet. pass # This is the first time we see this proto: add a new descriptor to the pool. factory.pool.Add( _MakeFileDescriptorProto(proto_file_name, full_name, field_items)) return _GetMessageFromFactory(factory, full_name) def _MakeFileDescriptorProto(proto_file_name, full_name, field_items): """Populate FileDescriptorProto for MessageFactory's DescriptorPool.""" package, name = full_name.rsplit('.', 1) file_proto = descriptor_pb2.FileDescriptorProto() file_proto.name = os.path.join(package.replace('.', '/'), proto_file_name) file_proto.package = package desc_proto = file_proto.message_type.add() desc_proto.name = name for f_number, (f_name, f_type) in enumerate(field_items, 1): field_proto = desc_proto.field.add() field_proto.name = f_name field_proto.number = f_number field_proto.label = descriptor_pb2.FieldDescriptorProto.LABEL_OPTIONAL field_proto.type = f_type return file_proto PK!O=protobuf/empty_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/empty.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/empty.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n\x1bgoogle/protobuf/empty.proto\x12\x0fgoogle.protobuf\"\x07\n\x05\x45mptyBv\n\x13\x63om.google.protobufB\nEmptyProtoP\x01Z\'github.com/golang/protobuf/ptypes/empty\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') ) _EMPTY = _descriptor.Descriptor( name='Empty', full_name='google.protobuf.Empty', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=48, serialized_end=55, ) DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY _sym_db.RegisterFileDescriptor(DESCRIPTOR) Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), dict( DESCRIPTOR = _EMPTY, __module__ = 'google.protobuf.empty_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Empty) )) _sym_db.RegisterMessage(Empty) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\nEmptyProtoP\001Z\'github.com/golang/protobuf/ptypes/empty\370\001\001\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) # @@protoc_insertion_point(module_scope) PK!BHprotobuf/unittest_import_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_import.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import unittest_import_public_pb2 as google_dot_protobuf_dot_unittest__import__public__pb2 from google.protobuf.unittest_import_public_pb2 import * DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest_import.proto', package='protobuf_unittest_import', syntax='proto2', serialized_pb=_b('\n%google/protobuf/unittest_import.proto\x12\x18protobuf_unittest_import\x1a,google/protobuf/unittest_import_public.proto\"\x1a\n\rImportMessage\x12\t\n\x01\x64\x18\x01 \x01(\x05*<\n\nImportEnum\x12\x0e\n\nIMPORT_FOO\x10\x07\x12\x0e\n\nIMPORT_BAR\x10\x08\x12\x0e\n\nIMPORT_BAZ\x10\t*1\n\x10ImportEnumForMap\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03\x46OO\x10\x01\x12\x07\n\x03\x42\x41R\x10\x02\x42\x1f\n\x18\x63om.google.protobuf.testH\x01\xf8\x01\x01P\x00') , dependencies=[google_dot_protobuf_dot_unittest__import__public__pb2.DESCRIPTOR,], public_dependencies=[google_dot_protobuf_dot_unittest__import__public__pb2.DESCRIPTOR,]) _IMPORTENUM = _descriptor.EnumDescriptor( name='ImportEnum', full_name='protobuf_unittest_import.ImportEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='IMPORT_FOO', index=0, number=7, options=None, type=None), _descriptor.EnumValueDescriptor( name='IMPORT_BAR', index=1, number=8, options=None, type=None), _descriptor.EnumValueDescriptor( name='IMPORT_BAZ', index=2, number=9, options=None, type=None), ], containing_type=None, options=None, serialized_start=141, serialized_end=201, ) _sym_db.RegisterEnumDescriptor(_IMPORTENUM) ImportEnum = enum_type_wrapper.EnumTypeWrapper(_IMPORTENUM) _IMPORTENUMFORMAP = _descriptor.EnumDescriptor( name='ImportEnumForMap', full_name='protobuf_unittest_import.ImportEnumForMap', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='UNKNOWN', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOO', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR', index=2, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=203, serialized_end=252, ) _sym_db.RegisterEnumDescriptor(_IMPORTENUMFORMAP) ImportEnumForMap = enum_type_wrapper.EnumTypeWrapper(_IMPORTENUMFORMAP) IMPORT_FOO = 7 IMPORT_BAR = 8 IMPORT_BAZ = 9 UNKNOWN = 0 FOO = 1 BAR = 2 _IMPORTMESSAGE = _descriptor.Descriptor( name='ImportMessage', full_name='protobuf_unittest_import.ImportMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='d', full_name='protobuf_unittest_import.ImportMessage.d', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=113, serialized_end=139, ) DESCRIPTOR.message_types_by_name['ImportMessage'] = _IMPORTMESSAGE DESCRIPTOR.enum_types_by_name['ImportEnum'] = _IMPORTENUM DESCRIPTOR.enum_types_by_name['ImportEnumForMap'] = _IMPORTENUMFORMAP _sym_db.RegisterFileDescriptor(DESCRIPTOR) ImportMessage = _reflection.GeneratedProtocolMessageType('ImportMessage', (_message.Message,), dict( DESCRIPTOR = _IMPORTMESSAGE, __module__ = 'google.protobuf.unittest_import_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest_import.ImportMessage) )) _sym_db.RegisterMessage(ImportMessage) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\030com.google.protobuf.testH\001\370\001\001')) # @@protoc_insertion_point(module_scope) PK!W;̤̤$protobuf/test_messages_proto2_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/test_messages_proto2.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/test_messages_proto2.proto', package='protobuf_test_messages.proto2', syntax='proto2', serialized_pb=_b('\n*google/protobuf/test_messages_proto2.proto\x12\x1dprotobuf_test_messages.proto2\"\xde\x32\n\x12TestAllTypesProto2\x12\x16\n\x0eoptional_int32\x18\x01 \x01(\x05\x12\x16\n\x0eoptional_int64\x18\x02 \x01(\x03\x12\x17\n\x0foptional_uint32\x18\x03 \x01(\r\x12\x17\n\x0foptional_uint64\x18\x04 \x01(\x04\x12\x17\n\x0foptional_sint32\x18\x05 \x01(\x11\x12\x17\n\x0foptional_sint64\x18\x06 \x01(\x12\x12\x18\n\x10optional_fixed32\x18\x07 \x01(\x07\x12\x18\n\x10optional_fixed64\x18\x08 \x01(\x06\x12\x19\n\x11optional_sfixed32\x18\t \x01(\x0f\x12\x19\n\x11optional_sfixed64\x18\n \x01(\x10\x12\x16\n\x0eoptional_float\x18\x0b \x01(\x02\x12\x17\n\x0foptional_double\x18\x0c \x01(\x01\x12\x15\n\roptional_bool\x18\r \x01(\x08\x12\x17\n\x0foptional_string\x18\x0e \x01(\t\x12\x16\n\x0eoptional_bytes\x18\x0f \x01(\x0c\x12`\n\x17optional_nested_message\x18\x12 \x01(\x0b\x32?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage\x12U\n\x18optional_foreign_message\x18\x13 \x01(\x0b\x32\x33.protobuf_test_messages.proto2.ForeignMessageProto2\x12Z\n\x14optional_nested_enum\x18\x15 \x01(\x0e\x32<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum\x12O\n\x15optional_foreign_enum\x18\x16 \x01(\x0e\x32\x30.protobuf_test_messages.proto2.ForeignEnumProto2\x12!\n\x15optional_string_piece\x18\x18 \x01(\tB\x02\x08\x02\x12\x19\n\roptional_cord\x18\x19 \x01(\tB\x02\x08\x01\x12L\n\x11recursive_message\x18\x1b \x01(\x0b\x32\x31.protobuf_test_messages.proto2.TestAllTypesProto2\x12\x16\n\x0erepeated_int32\x18\x1f \x03(\x05\x12\x16\n\x0erepeated_int64\x18 \x03(\x03\x12\x17\n\x0frepeated_uint32\x18! \x03(\r\x12\x17\n\x0frepeated_uint64\x18\" \x03(\x04\x12\x17\n\x0frepeated_sint32\x18# \x03(\x11\x12\x17\n\x0frepeated_sint64\x18$ \x03(\x12\x12\x18\n\x10repeated_fixed32\x18% \x03(\x07\x12\x18\n\x10repeated_fixed64\x18& \x03(\x06\x12\x19\n\x11repeated_sfixed32\x18\' \x03(\x0f\x12\x19\n\x11repeated_sfixed64\x18( \x03(\x10\x12\x16\n\x0erepeated_float\x18) \x03(\x02\x12\x17\n\x0frepeated_double\x18* \x03(\x01\x12\x15\n\rrepeated_bool\x18+ \x03(\x08\x12\x17\n\x0frepeated_string\x18, \x03(\t\x12\x16\n\x0erepeated_bytes\x18- \x03(\x0c\x12`\n\x17repeated_nested_message\x18\x30 \x03(\x0b\x32?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage\x12U\n\x18repeated_foreign_message\x18\x31 \x03(\x0b\x32\x33.protobuf_test_messages.proto2.ForeignMessageProto2\x12Z\n\x14repeated_nested_enum\x18\x33 \x03(\x0e\x32<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum\x12O\n\x15repeated_foreign_enum\x18\x34 \x03(\x0e\x32\x30.protobuf_test_messages.proto2.ForeignEnumProto2\x12!\n\x15repeated_string_piece\x18\x36 \x03(\tB\x02\x08\x02\x12\x19\n\rrepeated_cord\x18\x37 \x03(\tB\x02\x08\x01\x12]\n\x0fmap_int32_int32\x18\x38 \x03(\x0b\x32\x44.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry\x12]\n\x0fmap_int64_int64\x18\x39 \x03(\x0b\x32\x44.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry\x12\x61\n\x11map_uint32_uint32\x18: \x03(\x0b\x32\x46.protobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry\x12\x61\n\x11map_uint64_uint64\x18; \x03(\x0b\x32\x46.protobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry\x12\x61\n\x11map_sint32_sint32\x18< \x03(\x0b\x32\x46.protobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry\x12\x61\n\x11map_sint64_sint64\x18= \x03(\x0b\x32\x46.protobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry\x12\x65\n\x13map_fixed32_fixed32\x18> \x03(\x0b\x32H.protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry\x12\x65\n\x13map_fixed64_fixed64\x18? \x03(\x0b\x32H.protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry\x12i\n\x15map_sfixed32_sfixed32\x18@ \x03(\x0b\x32J.protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry\x12i\n\x15map_sfixed64_sfixed64\x18\x41 \x03(\x0b\x32J.protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry\x12]\n\x0fmap_int32_float\x18\x42 \x03(\x0b\x32\x44.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry\x12_\n\x10map_int32_double\x18\x43 \x03(\x0b\x32\x45.protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry\x12Y\n\rmap_bool_bool\x18\x44 \x03(\x0b\x32\x42.protobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry\x12\x61\n\x11map_string_string\x18\x45 \x03(\x0b\x32\x46.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry\x12_\n\x10map_string_bytes\x18\x46 \x03(\x0b\x32\x45.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry\x12p\n\x19map_string_nested_message\x18G \x03(\x0b\x32M.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry\x12r\n\x1amap_string_foreign_message\x18H \x03(\x0b\x32N.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry\x12j\n\x16map_string_nested_enum\x18I \x03(\x0b\x32J.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry\x12l\n\x17map_string_foreign_enum\x18J \x03(\x0b\x32K.protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry\x12\x16\n\x0coneof_uint32\x18o \x01(\rH\x00\x12_\n\x14oneof_nested_message\x18p \x01(\x0b\x32?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessageH\x00\x12\x16\n\x0coneof_string\x18q \x01(\tH\x00\x12\x15\n\x0boneof_bytes\x18r \x01(\x0cH\x00\x12\x14\n\noneof_bool\x18s \x01(\x08H\x00\x12\x16\n\x0coneof_uint64\x18t \x01(\x04H\x00\x12\x15\n\x0boneof_float\x18u \x01(\x02H\x00\x12\x16\n\x0coneof_double\x18v \x01(\x01H\x00\x12R\n\noneof_enum\x18w \x01(\x0e\x32<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnumH\x00\x12\x45\n\x04\x64\x61ta\x18\xc9\x01 \x01(\n26.protobuf_test_messages.proto2.TestAllTypesProto2.Data\x12\x13\n\nfieldname1\x18\x91\x03 \x01(\x05\x12\x14\n\x0b\x66ield_name2\x18\x92\x03 \x01(\x05\x12\x15\n\x0c_field_name3\x18\x93\x03 \x01(\x05\x12\x16\n\rfield__name4_\x18\x94\x03 \x01(\x05\x12\x14\n\x0b\x66ield0name5\x18\x95\x03 \x01(\x05\x12\x16\n\rfield_0_name6\x18\x96\x03 \x01(\x05\x12\x13\n\nfieldName7\x18\x97\x03 \x01(\x05\x12\x13\n\nFieldName8\x18\x98\x03 \x01(\x05\x12\x14\n\x0b\x66ield_Name9\x18\x99\x03 \x01(\x05\x12\x15\n\x0c\x46ield_Name10\x18\x9a\x03 \x01(\x05\x12\x15\n\x0c\x46IELD_NAME11\x18\x9b\x03 \x01(\x05\x12\x15\n\x0c\x46IELD_name12\x18\x9c\x03 \x01(\x05\x12\x17\n\x0e__field_name13\x18\x9d\x03 \x01(\x05\x12\x17\n\x0e__Field_name14\x18\x9e\x03 \x01(\x05\x12\x16\n\rfield__name15\x18\x9f\x03 \x01(\x05\x12\x16\n\rfield__Name16\x18\xa0\x03 \x01(\x05\x12\x17\n\x0e\x66ield_name17__\x18\xa1\x03 \x01(\x05\x12\x17\n\x0e\x46ield_name18__\x18\xa2\x03 \x01(\x05\x1a\x62\n\rNestedMessage\x12\t\n\x01\x61\x18\x01 \x01(\x05\x12\x46\n\x0b\x63orecursive\x18\x02 \x01(\x0b\x32\x31.protobuf_test_messages.proto2.TestAllTypesProto2\x1a\x34\n\x12MapInt32Int32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\x34\n\x12MapInt64Int64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x36\n\x14MapUint32Uint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\x36\n\x14MapUint64Uint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\x1a\x36\n\x14MapSint32Sint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x11:\x02\x38\x01\x1a\x36\n\x14MapSint64Sint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x12\x12\r\n\x05value\x18\x02 \x01(\x12:\x02\x38\x01\x1a\x38\n\x16MapFixed32Fixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05value\x18\x02 \x01(\x07:\x02\x38\x01\x1a\x38\n\x16MapFixed64Fixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x06\x12\r\n\x05value\x18\x02 \x01(\x06:\x02\x38\x01\x1a:\n\x18MapSfixed32Sfixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x0f\x12\r\n\x05value\x18\x02 \x01(\x0f:\x02\x38\x01\x1a:\n\x18MapSfixed64Sfixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x10\x12\r\n\x05value\x18\x02 \x01(\x10:\x02\x38\x01\x1a\x34\n\x12MapInt32FloatEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\x1a\x35\n\x13MapInt32DoubleEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x32\n\x10MapBoolBoolEntry\x12\x0b\n\x03key\x18\x01 \x01(\x08\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x36\n\x14MapStringStringEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MapStringBytesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1a~\n\x1bMapStringNestedMessageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12N\n\x05value\x18\x02 \x01(\x0b\x32?.protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage:\x02\x38\x01\x1as\n\x1cMapStringForeignMessageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x42\n\x05value\x18\x02 \x01(\x0b\x32\x33.protobuf_test_messages.proto2.ForeignMessageProto2:\x02\x38\x01\x1ax\n\x18MapStringNestedEnumEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12K\n\x05value\x18\x02 \x01(\x0e\x32<.protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum:\x02\x38\x01\x1am\n\x19MapStringForeignEnumEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12?\n\x05value\x18\x02 \x01(\x0e\x32\x30.protobuf_test_messages.proto2.ForeignEnumProto2:\x02\x38\x01\x1a\x33\n\x04\x44\x61ta\x12\x14\n\x0bgroup_int32\x18\xca\x01 \x01(\x05\x12\x15\n\x0cgroup_uint32\x18\xcb\x01 \x01(\r\x1a!\n\x11MessageSetCorrect*\x08\x08\x04\x10\xff\xff\xff\xff\x07:\x02\x08\x01\x1a\xe0\x01\n\x1bMessageSetCorrectExtension1\x12\x0b\n\x03str\x18\x19 \x01(\t2\xb3\x01\n\x15message_set_extension\x12\x43.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect\x18\xf9\xbb^ \x01(\x0b\x32M.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1\x1a\xdf\x01\n\x1bMessageSetCorrectExtension2\x12\t\n\x01i\x18\t \x01(\x05\x32\xb4\x01\n\x15message_set_extension\x12\x43.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect\x18\x90\xb3\xfc\x01 \x01(\x0b\x32M.protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2\"9\n\nNestedEnum\x12\x07\n\x03\x46OO\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x07\n\x03\x42\x41Z\x10\x02\x12\x10\n\x03NEG\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01*\x05\x08x\x10\xc9\x01\x42\r\n\x0boneof_field\"!\n\x14\x46oreignMessageProto2\x12\t\n\x01\x63\x18\x01 \x01(\x05*F\n\x11\x46oreignEnumProto2\x12\x0f\n\x0b\x46OREIGN_FOO\x10\x00\x12\x0f\n\x0b\x46OREIGN_BAR\x10\x01\x12\x0f\n\x0b\x46OREIGN_BAZ\x10\x02:J\n\x0f\x65xtension_int32\x12\x31.protobuf_test_messages.proto2.TestAllTypesProto2\x18x \x01(\x05\x42/\n(com.google.protobuf_test_messages.proto2H\x01\xf8\x01\x01') ) _FOREIGNENUMPROTO2 = _descriptor.EnumDescriptor( name='ForeignEnumProto2', full_name='protobuf_test_messages.proto2.ForeignEnumProto2', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOREIGN_FOO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAR', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAZ', index=2, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=6609, serialized_end=6679, ) _sym_db.RegisterEnumDescriptor(_FOREIGNENUMPROTO2) ForeignEnumProto2 = enum_type_wrapper.EnumTypeWrapper(_FOREIGNENUMPROTO2) FOREIGN_FOO = 0 FOREIGN_BAR = 1 FOREIGN_BAZ = 2 EXTENSION_INT32_FIELD_NUMBER = 120 extension_int32 = _descriptor.FieldDescriptor( name='extension_int32', full_name='protobuf_test_messages.proto2.extension_int32', index=0, number=120, 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, options=None, file=DESCRIPTOR) _TESTALLTYPESPROTO2_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAZ', index=2, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='NEG', index=3, number=-1, options=None, type=None), ], containing_type=None, options=None, serialized_start=6493, serialized_end=6550, ) _sym_db.RegisterEnumDescriptor(_TESTALLTYPESPROTO2_NESTEDENUM) _TESTALLTYPESPROTO2_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage.a', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='corecursive', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage.corecursive', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4534, serialized_end=4632, ) _TESTALLTYPESPROTO2_MAPINT32INT32ENTRY = _descriptor.Descriptor( name='MapInt32Int32Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4634, serialized_end=4686, ) _TESTALLTYPESPROTO2_MAPINT64INT64ENTRY = _descriptor.Descriptor( name='MapInt64Int64Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4688, serialized_end=4740, ) _TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRY = _descriptor.Descriptor( name='MapUint32Uint32Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry.key', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry.value', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4742, serialized_end=4796, ) _TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRY = _descriptor.Descriptor( name='MapUint64Uint64Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4798, serialized_end=4852, ) _TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRY = _descriptor.Descriptor( name='MapSint32Sint32Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4854, serialized_end=4908, ) _TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRY = _descriptor.Descriptor( name='MapSint64Sint64Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4910, serialized_end=4964, ) _TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRY = _descriptor.Descriptor( name='MapFixed32Fixed32Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=4966, serialized_end=5022, ) _TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRY = _descriptor.Descriptor( name='MapFixed64Fixed64Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5024, serialized_end=5080, ) _TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRY = _descriptor.Descriptor( name='MapSfixed32Sfixed32Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5082, serialized_end=5140, ) _TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRY = _descriptor.Descriptor( name='MapSfixed64Sfixed64Entry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5142, serialized_end=5200, ) _TESTALLTYPESPROTO2_MAPINT32FLOATENTRY = _descriptor.Descriptor( name='MapInt32FloatEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry.value', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5202, serialized_end=5254, ) _TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRY = _descriptor.Descriptor( name='MapInt32DoubleEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5256, serialized_end=5309, ) _TESTALLTYPESPROTO2_MAPBOOLBOOLENTRY = _descriptor.Descriptor( name='MapBoolBoolEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry.value', index=1, number=2, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5311, serialized_end=5361, ) _TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRY = _descriptor.Descriptor( name='MapStringStringEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5363, serialized_end=5417, ) _TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRY = _descriptor.Descriptor( name='MapStringBytesEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5419, serialized_end=5472, ) _TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRY = _descriptor.Descriptor( name='MapStringNestedMessageEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5474, serialized_end=5600, ) _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRY = _descriptor.Descriptor( name='MapStringForeignMessageEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5602, serialized_end=5717, ) _TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRY = _descriptor.Descriptor( name='MapStringNestedEnumEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5719, serialized_end=5839, ) _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRY = _descriptor.Descriptor( name='MapStringForeignEnumEntry', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5841, serialized_end=5950, ) _TESTALLTYPESPROTO2_DATA = _descriptor.Descriptor( name='Data', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.Data', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='group_int32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.Data.group_int32', index=0, number=202, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='group_uint32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.Data.group_uint32', index=1, number=203, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=5952, serialized_end=6003, ) _TESTALLTYPESPROTO2_MESSAGESETCORRECT = _descriptor.Descriptor( name='MessageSetCorrect', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\010\001')), is_extendable=True, syntax='proto2', extension_ranges=[(4, 2147483647), ], oneofs=[ ], serialized_start=6005, serialized_end=6038, ) _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1 = _descriptor.Descriptor( name='MessageSetCorrectExtension1', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='str', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1.str', index=0, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='message_set_extension', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1.message_set_extension', index=0, number=1547769, 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6041, serialized_end=6265, ) _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2 = _descriptor.Descriptor( name='MessageSetCorrectExtension2', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='i', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2.i', index=0, number=9, 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, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='message_set_extension', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2.message_set_extension', index=0, number=4135312, 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6268, serialized_end=6491, ) _TESTALLTYPESPROTO2 = _descriptor.Descriptor( name='TestAllTypesProto2', full_name='protobuf_test_messages.proto2.TestAllTypesProto2', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_int32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_int32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_int64', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_uint32', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_uint64', index=3, number=4, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_sint32', index=4, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_sint64', index=5, number=6, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_fixed32', index=6, number=7, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_fixed64', index=7, number=8, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_sfixed32', index=8, number=9, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_sfixed64', index=9, number=10, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_float', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_float', index=10, number=11, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_double', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_double', index=11, number=12, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bool', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_bool', index=12, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_string', index=13, number=14, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bytes', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_bytes', index=14, number=15, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_message', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_nested_message', index=15, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_message', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_foreign_message', index=16, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_enum', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_nested_enum', index=17, number=21, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_enum', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_foreign_enum', index=18, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string_piece', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_string_piece', index=19, number=24, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_cord', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.optional_cord', index=20, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='recursive_message', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.recursive_message', index=21, number=27, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_int32', index=22, number=31, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_int64', index=23, number=32, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_uint32', index=24, number=33, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_uint64', index=25, number=34, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_sint32', index=26, number=35, type=17, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_sint64', index=27, number=36, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_fixed32', index=28, number=37, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_fixed64', index=29, number=38, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_sfixed32', index=30, number=39, type=15, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_sfixed64', index=31, number=40, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_float', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_float', index=32, number=41, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_double', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_double', index=33, number=42, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bool', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_bool', index=34, number=43, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_string', index=35, number=44, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bytes', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_bytes', index=36, number=45, type=12, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_message', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_nested_message', index=37, number=48, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_message', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_foreign_message', index=38, number=49, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_enum', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_nested_enum', index=39, number=51, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_enum', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_foreign_enum', index=40, number=52, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string_piece', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_string_piece', index=41, number=54, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_cord', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.repeated_cord', index=42, number=55, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_int32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_int32_int32', index=43, number=56, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int64_int64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_int64_int64', index=44, number=57, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_uint32_uint32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_uint32_uint32', index=45, number=58, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_uint64_uint64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_uint64_uint64', index=46, number=59, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sint32_sint32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_sint32_sint32', index=47, number=60, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sint64_sint64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_sint64_sint64', index=48, number=61, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_fixed32_fixed32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_fixed32_fixed32', index=49, number=62, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_fixed64_fixed64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_fixed64_fixed64', index=50, number=63, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sfixed32_sfixed32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_sfixed32_sfixed32', index=51, number=64, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sfixed64_sfixed64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_sfixed64_sfixed64', index=52, number=65, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_float', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_int32_float', index=53, number=66, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_double', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_int32_double', index=54, number=67, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_bool_bool', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_bool_bool', index=55, number=68, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_string', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_string_string', index=56, number=69, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_bytes', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_string_bytes', index=57, number=70, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_nested_message', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_string_nested_message', index=58, number=71, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_foreign_message', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_string_foreign_message', index=59, number=72, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_nested_enum', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_string_nested_enum', index=60, number=73, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_foreign_enum', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.map_string_foreign_enum', index=61, number=74, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_uint32', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_uint32', index=62, number=111, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_nested_message', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_nested_message', index=63, number=112, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_string', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_string', index=64, number=113, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_bytes', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_bytes', index=65, number=114, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_bool', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_bool', index=66, number=115, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_uint64', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_uint64', index=67, number=116, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_float', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_float', index=68, number=117, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_double', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_double', index=69, number=118, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_enum', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_enum', index=70, number=119, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='data', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.data', index=71, number=201, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldname1', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.fieldname1', index=72, number=401, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_name2', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.field_name2', index=73, number=402, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='_field_name3', full_name='protobuf_test_messages.proto2.TestAllTypesProto2._field_name3', index=74, number=403, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field__name4_', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.field__name4_', index=75, number=404, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field0name5', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.field0name5', index=76, number=405, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_0_name6', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.field_0_name6', index=77, number=406, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldName7', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.fieldName7', index=78, number=407, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='FieldName8', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.FieldName8', index=79, number=408, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_Name9', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.field_Name9', index=80, number=409, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='Field_Name10', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.Field_Name10', index=81, number=410, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='FIELD_NAME11', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.FIELD_NAME11', index=82, number=411, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='FIELD_name12', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.FIELD_name12', index=83, number=412, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='__field_name13', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.__field_name13', index=84, number=413, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='__Field_name14', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.__Field_name14', index=85, number=414, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field__name15', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.field__name15', index=86, number=415, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field__Name16', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.field__Name16', index=87, number=416, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_name17__', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.field_name17__', index=88, number=417, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='Field_name18__', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.Field_name18__', index=89, number=418, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTALLTYPESPROTO2_NESTEDMESSAGE, _TESTALLTYPESPROTO2_MAPINT32INT32ENTRY, _TESTALLTYPESPROTO2_MAPINT64INT64ENTRY, _TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRY, _TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRY, _TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRY, _TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRY, _TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRY, _TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRY, _TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRY, _TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRY, _TESTALLTYPESPROTO2_MAPINT32FLOATENTRY, _TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRY, _TESTALLTYPESPROTO2_MAPBOOLBOOLENTRY, _TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRY, _TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRY, _TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRY, _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRY, _TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRY, _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRY, _TESTALLTYPESPROTO2_DATA, _TESTALLTYPESPROTO2_MESSAGESETCORRECT, _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1, _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2, ], enum_types=[ _TESTALLTYPESPROTO2_NESTEDENUM, ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(120, 201), ], oneofs=[ _descriptor.OneofDescriptor( name='oneof_field', full_name='protobuf_test_messages.proto2.TestAllTypesProto2.oneof_field', index=0, containing_type=None, fields=[]), ], serialized_start=78, serialized_end=6572, ) _FOREIGNMESSAGEPROTO2 = _descriptor.Descriptor( name='ForeignMessageProto2', full_name='protobuf_test_messages.proto2.ForeignMessageProto2', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='c', full_name='protobuf_test_messages.proto2.ForeignMessageProto2.c', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=6574, serialized_end=6607, ) _TESTALLTYPESPROTO2_NESTEDMESSAGE.fields_by_name['corecursive'].message_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_NESTEDMESSAGE.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPINT32INT32ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPINT64INT64ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPINT32FLOATENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPBOOLBOOLENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRY.fields_by_name['value'].message_type = _TESTALLTYPESPROTO2_NESTEDMESSAGE _TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRY.fields_by_name['value'].message_type = _FOREIGNMESSAGEPROTO2 _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRY.fields_by_name['value'].enum_type = _TESTALLTYPESPROTO2_NESTEDENUM _TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRY.fields_by_name['value'].enum_type = _FOREIGNENUMPROTO2 _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRY.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_DATA.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MESSAGESETCORRECT.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2.fields_by_name['optional_nested_message'].message_type = _TESTALLTYPESPROTO2_NESTEDMESSAGE _TESTALLTYPESPROTO2.fields_by_name['optional_foreign_message'].message_type = _FOREIGNMESSAGEPROTO2 _TESTALLTYPESPROTO2.fields_by_name['optional_nested_enum'].enum_type = _TESTALLTYPESPROTO2_NESTEDENUM _TESTALLTYPESPROTO2.fields_by_name['optional_foreign_enum'].enum_type = _FOREIGNENUMPROTO2 _TESTALLTYPESPROTO2.fields_by_name['recursive_message'].message_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2.fields_by_name['repeated_nested_message'].message_type = _TESTALLTYPESPROTO2_NESTEDMESSAGE _TESTALLTYPESPROTO2.fields_by_name['repeated_foreign_message'].message_type = _FOREIGNMESSAGEPROTO2 _TESTALLTYPESPROTO2.fields_by_name['repeated_nested_enum'].enum_type = _TESTALLTYPESPROTO2_NESTEDENUM _TESTALLTYPESPROTO2.fields_by_name['repeated_foreign_enum'].enum_type = _FOREIGNENUMPROTO2 _TESTALLTYPESPROTO2.fields_by_name['map_int32_int32'].message_type = _TESTALLTYPESPROTO2_MAPINT32INT32ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_int64_int64'].message_type = _TESTALLTYPESPROTO2_MAPINT64INT64ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_uint32_uint32'].message_type = _TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_uint64_uint64'].message_type = _TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_sint32_sint32'].message_type = _TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_sint64_sint64'].message_type = _TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_fixed32_fixed32'].message_type = _TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_fixed64_fixed64'].message_type = _TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_sfixed32_sfixed32'].message_type = _TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_sfixed64_sfixed64'].message_type = _TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRY _TESTALLTYPESPROTO2.fields_by_name['map_int32_float'].message_type = _TESTALLTYPESPROTO2_MAPINT32FLOATENTRY _TESTALLTYPESPROTO2.fields_by_name['map_int32_double'].message_type = _TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRY _TESTALLTYPESPROTO2.fields_by_name['map_bool_bool'].message_type = _TESTALLTYPESPROTO2_MAPBOOLBOOLENTRY _TESTALLTYPESPROTO2.fields_by_name['map_string_string'].message_type = _TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRY _TESTALLTYPESPROTO2.fields_by_name['map_string_bytes'].message_type = _TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRY _TESTALLTYPESPROTO2.fields_by_name['map_string_nested_message'].message_type = _TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRY _TESTALLTYPESPROTO2.fields_by_name['map_string_foreign_message'].message_type = _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRY _TESTALLTYPESPROTO2.fields_by_name['map_string_nested_enum'].message_type = _TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRY _TESTALLTYPESPROTO2.fields_by_name['map_string_foreign_enum'].message_type = _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRY _TESTALLTYPESPROTO2.fields_by_name['oneof_nested_message'].message_type = _TESTALLTYPESPROTO2_NESTEDMESSAGE _TESTALLTYPESPROTO2.fields_by_name['oneof_enum'].enum_type = _TESTALLTYPESPROTO2_NESTEDENUM _TESTALLTYPESPROTO2.fields_by_name['data'].message_type = _TESTALLTYPESPROTO2_DATA _TESTALLTYPESPROTO2_NESTEDENUM.containing_type = _TESTALLTYPESPROTO2 _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_uint32']) _TESTALLTYPESPROTO2.fields_by_name['oneof_uint32'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_nested_message']) _TESTALLTYPESPROTO2.fields_by_name['oneof_nested_message'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_string']) _TESTALLTYPESPROTO2.fields_by_name['oneof_string'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_bytes']) _TESTALLTYPESPROTO2.fields_by_name['oneof_bytes'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_bool']) _TESTALLTYPESPROTO2.fields_by_name['oneof_bool'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_uint64']) _TESTALLTYPESPROTO2.fields_by_name['oneof_uint64'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_float']) _TESTALLTYPESPROTO2.fields_by_name['oneof_float'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_double']) _TESTALLTYPESPROTO2.fields_by_name['oneof_double'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO2.fields_by_name['oneof_enum']) _TESTALLTYPESPROTO2.fields_by_name['oneof_enum'].containing_oneof = _TESTALLTYPESPROTO2.oneofs_by_name['oneof_field'] DESCRIPTOR.message_types_by_name['TestAllTypesProto2'] = _TESTALLTYPESPROTO2 DESCRIPTOR.message_types_by_name['ForeignMessageProto2'] = _FOREIGNMESSAGEPROTO2 DESCRIPTOR.enum_types_by_name['ForeignEnumProto2'] = _FOREIGNENUMPROTO2 DESCRIPTOR.extensions_by_name['extension_int32'] = extension_int32 _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestAllTypesProto2 = _reflection.GeneratedProtocolMessageType('TestAllTypesProto2', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_NESTEDMESSAGE, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.NestedMessage) )) , MapInt32Int32Entry = _reflection.GeneratedProtocolMessageType('MapInt32Int32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPINT32INT32ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32Int32Entry) )) , MapInt64Int64Entry = _reflection.GeneratedProtocolMessageType('MapInt64Int64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPINT64INT64ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapInt64Int64Entry) )) , MapUint32Uint32Entry = _reflection.GeneratedProtocolMessageType('MapUint32Uint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapUint32Uint32Entry) )) , MapUint64Uint64Entry = _reflection.GeneratedProtocolMessageType('MapUint64Uint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapUint64Uint64Entry) )) , MapSint32Sint32Entry = _reflection.GeneratedProtocolMessageType('MapSint32Sint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapSint32Sint32Entry) )) , MapSint64Sint64Entry = _reflection.GeneratedProtocolMessageType('MapSint64Sint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapSint64Sint64Entry) )) , MapFixed32Fixed32Entry = _reflection.GeneratedProtocolMessageType('MapFixed32Fixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed32Fixed32Entry) )) , MapFixed64Fixed64Entry = _reflection.GeneratedProtocolMessageType('MapFixed64Fixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapFixed64Fixed64Entry) )) , MapSfixed32Sfixed32Entry = _reflection.GeneratedProtocolMessageType('MapSfixed32Sfixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed32Sfixed32Entry) )) , MapSfixed64Sfixed64Entry = _reflection.GeneratedProtocolMessageType('MapSfixed64Sfixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapSfixed64Sfixed64Entry) )) , MapInt32FloatEntry = _reflection.GeneratedProtocolMessageType('MapInt32FloatEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPINT32FLOATENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32FloatEntry) )) , MapInt32DoubleEntry = _reflection.GeneratedProtocolMessageType('MapInt32DoubleEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapInt32DoubleEntry) )) , MapBoolBoolEntry = _reflection.GeneratedProtocolMessageType('MapBoolBoolEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPBOOLBOOLENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapBoolBoolEntry) )) , MapStringStringEntry = _reflection.GeneratedProtocolMessageType('MapStringStringEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapStringStringEntry) )) , MapStringBytesEntry = _reflection.GeneratedProtocolMessageType('MapStringBytesEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapStringBytesEntry) )) , MapStringNestedMessageEntry = _reflection.GeneratedProtocolMessageType('MapStringNestedMessageEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedMessageEntry) )) , MapStringForeignMessageEntry = _reflection.GeneratedProtocolMessageType('MapStringForeignMessageEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignMessageEntry) )) , MapStringNestedEnumEntry = _reflection.GeneratedProtocolMessageType('MapStringNestedEnumEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapStringNestedEnumEntry) )) , MapStringForeignEnumEntry = _reflection.GeneratedProtocolMessageType('MapStringForeignEnumEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRY, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MapStringForeignEnumEntry) )) , Data = _reflection.GeneratedProtocolMessageType('Data', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_DATA, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.Data) )) , MessageSetCorrect = _reflection.GeneratedProtocolMessageType('MessageSetCorrect', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MESSAGESETCORRECT, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrect) )) , MessageSetCorrectExtension1 = _reflection.GeneratedProtocolMessageType('MessageSetCorrectExtension1', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension1) )) , MessageSetCorrectExtension2 = _reflection.GeneratedProtocolMessageType('MessageSetCorrectExtension2', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2.MessageSetCorrectExtension2) )) , DESCRIPTOR = _TESTALLTYPESPROTO2, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.TestAllTypesProto2) )) _sym_db.RegisterMessage(TestAllTypesProto2) _sym_db.RegisterMessage(TestAllTypesProto2.NestedMessage) _sym_db.RegisterMessage(TestAllTypesProto2.MapInt32Int32Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapInt64Int64Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapUint32Uint32Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapUint64Uint64Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapSint32Sint32Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapSint64Sint64Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapFixed32Fixed32Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapFixed64Fixed64Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapSfixed32Sfixed32Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapSfixed64Sfixed64Entry) _sym_db.RegisterMessage(TestAllTypesProto2.MapInt32FloatEntry) _sym_db.RegisterMessage(TestAllTypesProto2.MapInt32DoubleEntry) _sym_db.RegisterMessage(TestAllTypesProto2.MapBoolBoolEntry) _sym_db.RegisterMessage(TestAllTypesProto2.MapStringStringEntry) _sym_db.RegisterMessage(TestAllTypesProto2.MapStringBytesEntry) _sym_db.RegisterMessage(TestAllTypesProto2.MapStringNestedMessageEntry) _sym_db.RegisterMessage(TestAllTypesProto2.MapStringForeignMessageEntry) _sym_db.RegisterMessage(TestAllTypesProto2.MapStringNestedEnumEntry) _sym_db.RegisterMessage(TestAllTypesProto2.MapStringForeignEnumEntry) _sym_db.RegisterMessage(TestAllTypesProto2.Data) _sym_db.RegisterMessage(TestAllTypesProto2.MessageSetCorrect) _sym_db.RegisterMessage(TestAllTypesProto2.MessageSetCorrectExtension1) _sym_db.RegisterMessage(TestAllTypesProto2.MessageSetCorrectExtension2) ForeignMessageProto2 = _reflection.GeneratedProtocolMessageType('ForeignMessageProto2', (_message.Message,), dict( DESCRIPTOR = _FOREIGNMESSAGEPROTO2, __module__ = 'google.protobuf.test_messages_proto2_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto2.ForeignMessageProto2) )) _sym_db.RegisterMessage(ForeignMessageProto2) TestAllTypesProto2.RegisterExtension(extension_int32) _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1.extensions_by_name['message_set_extension'].message_type = _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1 TestAllTypesProto2.MessageSetCorrect.RegisterExtension(_TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION1.extensions_by_name['message_set_extension']) _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2.extensions_by_name['message_set_extension'].message_type = _TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2 TestAllTypesProto2.MessageSetCorrect.RegisterExtension(_TESTALLTYPESPROTO2_MESSAGESETCORRECTEXTENSION2.extensions_by_name['message_set_extension']) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n(com.google.protobuf_test_messages.proto2H\001\370\001\001')) _TESTALLTYPESPROTO2_MAPINT32INT32ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPINT32INT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPINT64INT64ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPINT64INT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPUINT32UINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPUINT64UINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSINT32SINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSINT64SINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPFIXED32FIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPFIXED64FIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSFIXED32SFIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSFIXED64SFIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPINT32FLOATENTRY.has_options = True _TESTALLTYPESPROTO2_MAPINT32FLOATENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRY.has_options = True _TESTALLTYPESPROTO2_MAPINT32DOUBLEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPBOOLBOOLENTRY.has_options = True _TESTALLTYPESPROTO2_MAPBOOLBOOLENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSTRINGSTRINGENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSTRINGBYTESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSTRINGNESTEDMESSAGEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNMESSAGEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSTRINGNESTEDENUMENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRY.has_options = True _TESTALLTYPESPROTO2_MAPSTRINGFOREIGNENUMENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO2_MESSAGESETCORRECT.has_options = True _TESTALLTYPESPROTO2_MESSAGESETCORRECT._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\010\001')) _TESTALLTYPESPROTO2.fields_by_name['optional_string_piece'].has_options = True _TESTALLTYPESPROTO2.fields_by_name['optional_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPESPROTO2.fields_by_name['optional_cord'].has_options = True _TESTALLTYPESPROTO2.fields_by_name['optional_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPESPROTO2.fields_by_name['repeated_string_piece'].has_options = True _TESTALLTYPESPROTO2.fields_by_name['repeated_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPESPROTO2.fields_by_name['repeated_cord'].has_options = True _TESTALLTYPESPROTO2.fields_by_name['repeated_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) # @@protoc_insertion_point(module_scope) PK!X9&&protobuf/unittest_mset_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/unittest_mset.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import unittest_mset_wire_format_pb2 as google_dot_protobuf_dot_unittest__mset__wire__format__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/unittest_mset.proto', package='protobuf_unittest', syntax='proto2', serialized_pb=_b('\n#google/protobuf/unittest_mset.proto\x12\x11protobuf_unittest\x1a/google/protobuf/unittest_mset_wire_format.proto\"Z\n\x17TestMessageSetContainer\x12?\n\x0bmessage_set\x18\x01 \x01(\x0b\x32*.proto2_wireformat_unittest.TestMessageSet\"\x9f\x01\n\x18TestMessageSetExtension1\x12\t\n\x01i\x18\x0f \x01(\x05\x32x\n\x15message_set_extension\x12*.proto2_wireformat_unittest.TestMessageSet\x18\xb0\xa6^ \x01(\x0b\x32+.protobuf_unittest.TestMessageSetExtension1\"\xa1\x01\n\x18TestMessageSetExtension2\x12\x0b\n\x03str\x18\x19 \x01(\t2x\n\x15message_set_extension\x12*.proto2_wireformat_unittest.TestMessageSet\x18\xf9\xbb^ \x01(\x0b\x32+.protobuf_unittest.TestMessageSetExtension2\"n\n\rRawMessageSet\x12\x33\n\x04item\x18\x01 \x03(\n2%.protobuf_unittest.RawMessageSet.Item\x1a(\n\x04Item\x12\x0f\n\x07type_id\x18\x02 \x02(\x05\x12\x0f\n\x07message\x18\x03 \x02(\x0c\x42\x05H\x01\xf8\x01\x01') , dependencies=[google_dot_protobuf_dot_unittest__mset__wire__format__pb2.DESCRIPTOR,]) _TESTMESSAGESETCONTAINER = _descriptor.Descriptor( name='TestMessageSetContainer', full_name='protobuf_unittest.TestMessageSetContainer', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='message_set', full_name='protobuf_unittest.TestMessageSetContainer.message_set', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=107, serialized_end=197, ) _TESTMESSAGESETEXTENSION1 = _descriptor.Descriptor( name='TestMessageSetExtension1', full_name='protobuf_unittest.TestMessageSetExtension1', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='i', full_name='protobuf_unittest.TestMessageSetExtension1.i', index=0, number=15, 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, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='message_set_extension', full_name='protobuf_unittest.TestMessageSetExtension1.message_set_extension', index=0, number=1545008, 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=200, serialized_end=359, ) _TESTMESSAGESETEXTENSION2 = _descriptor.Descriptor( name='TestMessageSetExtension2', full_name='protobuf_unittest.TestMessageSetExtension2', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='str', full_name='protobuf_unittest.TestMessageSetExtension2.str', index=0, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ _descriptor.FieldDescriptor( name='message_set_extension', full_name='protobuf_unittest.TestMessageSetExtension2.message_set_extension', index=0, number=1547769, 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, options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=362, serialized_end=523, ) _RAWMESSAGESET_ITEM = _descriptor.Descriptor( name='Item', full_name='protobuf_unittest.RawMessageSet.Item', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='type_id', full_name='protobuf_unittest.RawMessageSet.Item.type_id', index=0, number=2, type=5, cpp_type=1, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='message', full_name='protobuf_unittest.RawMessageSet.Item.message', index=1, number=3, type=12, cpp_type=9, label=2, has_default_value=False, default_value=_b(""), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=595, serialized_end=635, ) _RAWMESSAGESET = _descriptor.Descriptor( name='RawMessageSet', full_name='protobuf_unittest.RawMessageSet', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='item', full_name='protobuf_unittest.RawMessageSet.item', index=0, number=1, type=10, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_RAWMESSAGESET_ITEM, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=525, serialized_end=635, ) _TESTMESSAGESETCONTAINER.fields_by_name['message_set'].message_type = google_dot_protobuf_dot_unittest__mset__wire__format__pb2._TESTMESSAGESET _RAWMESSAGESET_ITEM.containing_type = _RAWMESSAGESET _RAWMESSAGESET.fields_by_name['item'].message_type = _RAWMESSAGESET_ITEM DESCRIPTOR.message_types_by_name['TestMessageSetContainer'] = _TESTMESSAGESETCONTAINER DESCRIPTOR.message_types_by_name['TestMessageSetExtension1'] = _TESTMESSAGESETEXTENSION1 DESCRIPTOR.message_types_by_name['TestMessageSetExtension2'] = _TESTMESSAGESETEXTENSION2 DESCRIPTOR.message_types_by_name['RawMessageSet'] = _RAWMESSAGESET _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestMessageSetContainer = _reflection.GeneratedProtocolMessageType('TestMessageSetContainer', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESETCONTAINER, __module__ = 'google.protobuf.unittest_mset_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageSetContainer) )) _sym_db.RegisterMessage(TestMessageSetContainer) TestMessageSetExtension1 = _reflection.GeneratedProtocolMessageType('TestMessageSetExtension1', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESETEXTENSION1, __module__ = 'google.protobuf.unittest_mset_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageSetExtension1) )) _sym_db.RegisterMessage(TestMessageSetExtension1) TestMessageSetExtension2 = _reflection.GeneratedProtocolMessageType('TestMessageSetExtension2', (_message.Message,), dict( DESCRIPTOR = _TESTMESSAGESETEXTENSION2, __module__ = 'google.protobuf.unittest_mset_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.TestMessageSetExtension2) )) _sym_db.RegisterMessage(TestMessageSetExtension2) RawMessageSet = _reflection.GeneratedProtocolMessageType('RawMessageSet', (_message.Message,), dict( Item = _reflection.GeneratedProtocolMessageType('Item', (_message.Message,), dict( DESCRIPTOR = _RAWMESSAGESET_ITEM, __module__ = 'google.protobuf.unittest_mset_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.RawMessageSet.Item) )) , DESCRIPTOR = _RAWMESSAGESET, __module__ = 'google.protobuf.unittest_mset_pb2' # @@protoc_insertion_point(class_scope:protobuf_unittest.RawMessageSet) )) _sym_db.RegisterMessage(RawMessageSet) _sym_db.RegisterMessage(RawMessageSet.Item) _TESTMESSAGESETEXTENSION1.extensions_by_name['message_set_extension'].message_type = _TESTMESSAGESETEXTENSION1 google_dot_protobuf_dot_unittest__mset__wire__format__pb2.TestMessageSet.RegisterExtension(_TESTMESSAGESETEXTENSION1.extensions_by_name['message_set_extension']) _TESTMESSAGESETEXTENSION2.extensions_by_name['message_set_extension'].message_type = _TESTMESSAGESETEXTENSION2 google_dot_protobuf_dot_unittest__mset__wire__format__pb2.TestMessageSet.RegisterExtension(_TESTMESSAGESETEXTENSION2.extensions_by_name['message_set_extension']) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('H\001\370\001\001')) # @@protoc_insertion_point(module_scope) PK!mcUcUprotobuf/type_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/type.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper 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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from google.protobuf import source_context_pb2 as google_dot_protobuf_dot_source__context__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/type.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n\x1agoogle/protobuf/type.proto\x12\x0fgoogle.protobuf\x1a\x19google/protobuf/any.proto\x1a$google/protobuf/source_context.proto\"\xd7\x01\n\x04Type\x12\x0c\n\x04name\x18\x01 \x01(\t\x12&\n\x06\x66ields\x18\x02 \x03(\x0b\x32\x16.google.protobuf.Field\x12\x0e\n\x06oneofs\x18\x03 \x03(\t\x12(\n\x07options\x18\x04 \x03(\x0b\x32\x17.google.protobuf.Option\x12\x36\n\x0esource_context\x18\x05 \x01(\x0b\x32\x1e.google.protobuf.SourceContext\x12\'\n\x06syntax\x18\x06 \x01(\x0e\x32\x17.google.protobuf.Syntax\"\xd5\x05\n\x05\x46ield\x12)\n\x04kind\x18\x01 \x01(\x0e\x32\x1b.google.protobuf.Field.Kind\x12\x37\n\x0b\x63\x61rdinality\x18\x02 \x01(\x0e\x32\".google.protobuf.Field.Cardinality\x12\x0e\n\x06number\x18\x03 \x01(\x05\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x10\n\x08type_url\x18\x06 \x01(\t\x12\x13\n\x0boneof_index\x18\x07 \x01(\x05\x12\x0e\n\x06packed\x18\x08 \x01(\x08\x12(\n\x07options\x18\t \x03(\x0b\x32\x17.google.protobuf.Option\x12\x11\n\tjson_name\x18\n \x01(\t\x12\x15\n\rdefault_value\x18\x0b \x01(\t\"\xc8\x02\n\x04Kind\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"t\n\x0b\x43\x61rdinality\x12\x17\n\x13\x43\x41RDINALITY_UNKNOWN\x10\x00\x12\x18\n\x14\x43\x41RDINALITY_OPTIONAL\x10\x01\x12\x18\n\x14\x43\x41RDINALITY_REQUIRED\x10\x02\x12\x18\n\x14\x43\x41RDINALITY_REPEATED\x10\x03\"\xce\x01\n\x04\x45num\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\tenumvalue\x18\x02 \x03(\x0b\x32\x1a.google.protobuf.EnumValue\x12(\n\x07options\x18\x03 \x03(\x0b\x32\x17.google.protobuf.Option\x12\x36\n\x0esource_context\x18\x04 \x01(\x0b\x32\x1e.google.protobuf.SourceContext\x12\'\n\x06syntax\x18\x05 \x01(\x0e\x32\x17.google.protobuf.Syntax\"S\n\tEnumValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06number\x18\x02 \x01(\x05\x12(\n\x07options\x18\x03 \x03(\x0b\x32\x17.google.protobuf.Option\";\n\x06Option\x12\x0c\n\x04name\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any*.\n\x06Syntax\x12\x11\n\rSYNTAX_PROTO2\x10\x00\x12\x11\n\rSYNTAX_PROTO3\x10\x01\x42}\n\x13\x63om.google.protobufB\tTypeProtoP\x01Z/google.golang.org/genproto/protobuf/ptype;ptype\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') , dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_source__context__pb2.DESCRIPTOR,]) _SYNTAX = _descriptor.EnumDescriptor( name='Syntax', full_name='google.protobuf.Syntax', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='SYNTAX_PROTO2', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='SYNTAX_PROTO3', index=1, number=1, options=None, type=None), ], containing_type=None, options=None, serialized_start=1413, serialized_end=1459, ) _sym_db.RegisterEnumDescriptor(_SYNTAX) Syntax = enum_type_wrapper.EnumTypeWrapper(_SYNTAX) SYNTAX_PROTO2 = 0 SYNTAX_PROTO3 = 1 _FIELD_KIND = _descriptor.EnumDescriptor( name='Kind', full_name='google.protobuf.Field.Kind', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='TYPE_UNKNOWN', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_DOUBLE', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_FLOAT', index=2, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_INT64', index=3, number=3, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_UINT64', index=4, number=4, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_INT32', index=5, number=5, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_FIXED64', index=6, number=6, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_FIXED32', index=7, number=7, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_BOOL', index=8, number=8, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_STRING', index=9, number=9, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_GROUP', index=10, number=10, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_MESSAGE', index=11, number=11, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_BYTES', index=12, number=12, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_UINT32', index=13, number=13, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_ENUM', index=14, number=14, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_SFIXED32', index=15, number=15, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_SFIXED64', index=16, number=16, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_SINT32', index=17, number=17, options=None, type=None), _descriptor.EnumValueDescriptor( name='TYPE_SINT64', index=18, number=18, options=None, type=None), ], containing_type=None, options=None, serialized_start=610, serialized_end=938, ) _sym_db.RegisterEnumDescriptor(_FIELD_KIND) _FIELD_CARDINALITY = _descriptor.EnumDescriptor( name='Cardinality', full_name='google.protobuf.Field.Cardinality', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='CARDINALITY_UNKNOWN', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='CARDINALITY_OPTIONAL', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='CARDINALITY_REQUIRED', index=2, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='CARDINALITY_REPEATED', index=3, number=3, options=None, type=None), ], containing_type=None, options=None, serialized_start=940, serialized_end=1056, ) _sym_db.RegisterEnumDescriptor(_FIELD_CARDINALITY) _TYPE = _descriptor.Descriptor( name='Type', full_name='google.protobuf.Type', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.Type.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fields', full_name='google.protobuf.Type.fields', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneofs', full_name='google.protobuf.Type.oneofs', index=2, number=3, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.Type.options', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='source_context', full_name='google.protobuf.Type.source_context', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='syntax', full_name='google.protobuf.Type.syntax', index=5, number=6, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=113, serialized_end=328, ) _FIELD = _descriptor.Descriptor( name='Field', full_name='google.protobuf.Field', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='kind', full_name='google.protobuf.Field.kind', index=0, number=1, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cardinality', full_name='google.protobuf.Field.cardinality', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='number', full_name='google.protobuf.Field.number', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.Field.name', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type_url', full_name='google.protobuf.Field.type_url', index=4, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_index', full_name='google.protobuf.Field.oneof_index', index=5, number=7, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='packed', full_name='google.protobuf.Field.packed', index=6, number=8, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.Field.options', index=7, number=9, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='json_name', full_name='google.protobuf.Field.json_name', index=8, number=10, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_value', full_name='google.protobuf.Field.default_value', index=9, number=11, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ _FIELD_KIND, _FIELD_CARDINALITY, ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=331, serialized_end=1056, ) _ENUM = _descriptor.Descriptor( name='Enum', full_name='google.protobuf.Enum', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.Enum.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='enumvalue', full_name='google.protobuf.Enum.enumvalue', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.Enum.options', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='source_context', full_name='google.protobuf.Enum.source_context', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='syntax', full_name='google.protobuf.Enum.syntax', index=4, number=5, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1059, serialized_end=1265, ) _ENUMVALUE = _descriptor.Descriptor( name='EnumValue', full_name='google.protobuf.EnumValue', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.EnumValue.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='number', full_name='google.protobuf.EnumValue.number', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.EnumValue.options', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1267, serialized_end=1350, ) _OPTION = _descriptor.Descriptor( name='Option', full_name='google.protobuf.Option', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.Option.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='google.protobuf.Option.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=1352, serialized_end=1411, ) _TYPE.fields_by_name['fields'].message_type = _FIELD _TYPE.fields_by_name['options'].message_type = _OPTION _TYPE.fields_by_name['source_context'].message_type = google_dot_protobuf_dot_source__context__pb2._SOURCECONTEXT _TYPE.fields_by_name['syntax'].enum_type = _SYNTAX _FIELD.fields_by_name['kind'].enum_type = _FIELD_KIND _FIELD.fields_by_name['cardinality'].enum_type = _FIELD_CARDINALITY _FIELD.fields_by_name['options'].message_type = _OPTION _FIELD_KIND.containing_type = _FIELD _FIELD_CARDINALITY.containing_type = _FIELD _ENUM.fields_by_name['enumvalue'].message_type = _ENUMVALUE _ENUM.fields_by_name['options'].message_type = _OPTION _ENUM.fields_by_name['source_context'].message_type = google_dot_protobuf_dot_source__context__pb2._SOURCECONTEXT _ENUM.fields_by_name['syntax'].enum_type = _SYNTAX _ENUMVALUE.fields_by_name['options'].message_type = _OPTION _OPTION.fields_by_name['value'].message_type = google_dot_protobuf_dot_any__pb2._ANY DESCRIPTOR.message_types_by_name['Type'] = _TYPE DESCRIPTOR.message_types_by_name['Field'] = _FIELD DESCRIPTOR.message_types_by_name['Enum'] = _ENUM DESCRIPTOR.message_types_by_name['EnumValue'] = _ENUMVALUE DESCRIPTOR.message_types_by_name['Option'] = _OPTION DESCRIPTOR.enum_types_by_name['Syntax'] = _SYNTAX _sym_db.RegisterFileDescriptor(DESCRIPTOR) Type = _reflection.GeneratedProtocolMessageType('Type', (_message.Message,), dict( DESCRIPTOR = _TYPE, __module__ = 'google.protobuf.type_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Type) )) _sym_db.RegisterMessage(Type) Field = _reflection.GeneratedProtocolMessageType('Field', (_message.Message,), dict( DESCRIPTOR = _FIELD, __module__ = 'google.protobuf.type_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Field) )) _sym_db.RegisterMessage(Field) Enum = _reflection.GeneratedProtocolMessageType('Enum', (_message.Message,), dict( DESCRIPTOR = _ENUM, __module__ = 'google.protobuf.type_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Enum) )) _sym_db.RegisterMessage(Enum) EnumValue = _reflection.GeneratedProtocolMessageType('EnumValue', (_message.Message,), dict( DESCRIPTOR = _ENUMVALUE, __module__ = 'google.protobuf.type_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.EnumValue) )) _sym_db.RegisterMessage(EnumValue) Option = _reflection.GeneratedProtocolMessageType('Option', (_message.Message,), dict( DESCRIPTOR = _OPTION, __module__ = 'google.protobuf.type_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Option) )) _sym_db.RegisterMessage(Option) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\tTypeProtoP\001Z/google.golang.org/genproto/protobuf/ptype;ptype\370\001\001\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) # @@protoc_insertion_point(module_scope) PK!-protobuf/pyext/__init__.pynu[try: __import__('pkg_resources').declare_namespace(__name__) except ImportError: __path__ = __import__('pkgutil').extend_path(__path__, __name__) PK!?`Z%%protobuf/pyext/python_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/pyext/python.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/pyext/python.proto', package='google.protobuf.python.internal', syntax='proto2', serialized_pb=_b('\n\"google/protobuf/pyext/python.proto\x12\x1fgoogle.protobuf.python.internal\"\xbc\x02\n\x0cTestAllTypes\x12\\\n\x17repeated_nested_message\x18\x01 \x03(\x0b\x32;.google.protobuf.python.internal.TestAllTypes.NestedMessage\x12\\\n\x17optional_nested_message\x18\x02 \x01(\x0b\x32;.google.protobuf.python.internal.TestAllTypes.NestedMessage\x12\x16\n\x0eoptional_int32\x18\x03 \x01(\x05\x1aX\n\rNestedMessage\x12\n\n\x02\x62\x62\x18\x01 \x01(\x05\x12;\n\x02\x63\x63\x18\x02 \x01(\x0b\x32/.google.protobuf.python.internal.ForeignMessage\"&\n\x0e\x46oreignMessage\x12\t\n\x01\x63\x18\x01 \x01(\x05\x12\t\n\x01\x64\x18\x02 \x03(\x05\"\x1d\n\x11TestAllExtensions*\x08\x08\x01\x10\x80\x80\x80\x80\x02:\x9a\x01\n!optional_nested_message_extension\x12\x32.google.protobuf.python.internal.TestAllExtensions\x18\x01 \x01(\x0b\x32;.google.protobuf.python.internal.TestAllTypes.NestedMessage:\x9a\x01\n!repeated_nested_message_extension\x12\x32.google.protobuf.python.internal.TestAllExtensions\x18\x02 \x03(\x0b\x32;.google.protobuf.python.internal.TestAllTypes.NestedMessageB\x02H\x01') ) OPTIONAL_NESTED_MESSAGE_EXTENSION_FIELD_NUMBER = 1 optional_nested_message_extension = _descriptor.FieldDescriptor( name='optional_nested_message_extension', full_name='google.protobuf.python.internal.optional_nested_message_extension', 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=True, extension_scope=None, options=None, file=DESCRIPTOR) REPEATED_NESTED_MESSAGE_EXTENSION_FIELD_NUMBER = 2 repeated_nested_message_extension = _descriptor.FieldDescriptor( name='repeated_nested_message_extension', full_name='google.protobuf.python.internal.repeated_nested_message_extension', 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=True, extension_scope=None, options=None, file=DESCRIPTOR) _TESTALLTYPES_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='google.protobuf.python.internal.TestAllTypes.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='bb', full_name='google.protobuf.python.internal.TestAllTypes.NestedMessage.bb', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cc', full_name='google.protobuf.python.internal.TestAllTypes.NestedMessage.cc', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=300, serialized_end=388, ) _TESTALLTYPES = _descriptor.Descriptor( name='TestAllTypes', full_name='google.protobuf.python.internal.TestAllTypes', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='repeated_nested_message', full_name='google.protobuf.python.internal.TestAllTypes.repeated_nested_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_message', full_name='google.protobuf.python.internal.TestAllTypes.optional_nested_message', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int32', full_name='google.protobuf.python.internal.TestAllTypes.optional_int32', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTALLTYPES_NESTEDMESSAGE, ], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=72, serialized_end=388, ) _FOREIGNMESSAGE = _descriptor.Descriptor( name='ForeignMessage', full_name='google.protobuf.python.internal.ForeignMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='c', full_name='google.protobuf.python.internal.ForeignMessage.c', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='d', full_name='google.protobuf.python.internal.ForeignMessage.d', index=1, number=2, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=390, serialized_end=428, ) _TESTALLEXTENSIONS = _descriptor.Descriptor( name='TestAllExtensions', full_name='google.protobuf.python.internal.TestAllExtensions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=True, syntax='proto2', extension_ranges=[(1, 536870912), ], oneofs=[ ], serialized_start=430, serialized_end=459, ) _TESTALLTYPES_NESTEDMESSAGE.fields_by_name['cc'].message_type = _FOREIGNMESSAGE _TESTALLTYPES_NESTEDMESSAGE.containing_type = _TESTALLTYPES _TESTALLTYPES.fields_by_name['repeated_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE _TESTALLTYPES.fields_by_name['optional_nested_message'].message_type = _TESTALLTYPES_NESTEDMESSAGE DESCRIPTOR.message_types_by_name['TestAllTypes'] = _TESTALLTYPES DESCRIPTOR.message_types_by_name['ForeignMessage'] = _FOREIGNMESSAGE DESCRIPTOR.message_types_by_name['TestAllExtensions'] = _TESTALLEXTENSIONS DESCRIPTOR.extensions_by_name['optional_nested_message_extension'] = optional_nested_message_extension DESCRIPTOR.extensions_by_name['repeated_nested_message_extension'] = repeated_nested_message_extension _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestAllTypes = _reflection.GeneratedProtocolMessageType('TestAllTypes', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPES_NESTEDMESSAGE, __module__ = 'google.protobuf.pyext.python_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.TestAllTypes.NestedMessage) )) , DESCRIPTOR = _TESTALLTYPES, __module__ = 'google.protobuf.pyext.python_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.TestAllTypes) )) _sym_db.RegisterMessage(TestAllTypes) _sym_db.RegisterMessage(TestAllTypes.NestedMessage) ForeignMessage = _reflection.GeneratedProtocolMessageType('ForeignMessage', (_message.Message,), dict( DESCRIPTOR = _FOREIGNMESSAGE, __module__ = 'google.protobuf.pyext.python_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.ForeignMessage) )) _sym_db.RegisterMessage(ForeignMessage) TestAllExtensions = _reflection.GeneratedProtocolMessageType('TestAllExtensions', (_message.Message,), dict( DESCRIPTOR = _TESTALLEXTENSIONS, __module__ = 'google.protobuf.pyext.python_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.python.internal.TestAllExtensions) )) _sym_db.RegisterMessage(TestAllExtensions) optional_nested_message_extension.message_type = _TESTALLTYPES_NESTEDMESSAGE TestAllExtensions.RegisterExtension(optional_nested_message_extension) repeated_nested_message_extension.message_type = _TESTALLTYPES_NESTEDMESSAGE TestAllExtensions.RegisterExtension(repeated_nested_message_extension) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('H\001')) # @@protoc_insertion_point(module_scope) PK!TFpp5protobuf/pyext/__pycache__/cpp_message.cpython-36.pycnu[3 h# @s*dZdZddlmZGdddejZdS)zProtocol message implementation hooks for C++ implementation. Contains helper functions used to create protocol message classes from Descriptor objects at runtime backed by the protocol buffer C++ API. z tibell@google.com (Johan Tibell))_messagec@seZdZdZdZdS)GeneratedProtocolMessageTypeaMetaclass for protocol message classes created at runtime from Descriptors. The protocol compiler currently uses this metaclass to create protocol message classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = Descriptor(.....) factory = symbol_database.Default() factory.pool.AddDescriptor(mydescriptor) MyProtoClass = factory.GetPrototype(mydescriptor) myproto_instance = MyProtoClass() myproto.foo_field = 23 ... The above example will not work for nested types. If you wish to include them, use reflection.MakeClass() instead of manually instantiating the class in order to create the appropriate class structure. Z DESCRIPTORN)__name__ __module__ __qualname____doc__Z_DESCRIPTOR_KEYrr!/usr/lib/python3.6/cpp_message.pyr*srN)r __author__Zgoogle.protobuf.pyextrZ MessageMetarrrrr #s PK!uΘaa:protobuf/pyext/__pycache__/python_pb2.cpython-36.opt-1.pycnu[3 h%@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZdZejdddddddddddddddedZdZejddddddddgddddddedZejdddedejdddddddddddddddedejd d!dddddddddddddedggggddd ggd"d#d$Zejd%d&dedejd'd(ddddddgddddddedejd)d*dddddddddddddedejd+d,dddddddddddddedggeggddd ggd-d#d$Zejd.d/dedejd0d1dddddddddddddedejd2d3ddddddgddddddedggggddd ggd4d5d$Zejd6d7dedggggddd d?ggd9d:d$Zeejd _ee_eejd'_eejd)_eejd%<eejd.<eejd6<eejd<eejd<ej ee j!d%ej"fe#e j!dej"fe#ed;d<ed;d=Z$ej%e$ej%e$j&e j!d.ej"fe#ed;d<Z'ej%e'e j!d6ej"fe#ed;d<Z(ej%e(ee_e(j)eee_e(j)ede_*ej+e j,ed>e_-dS)@NcCs|S)N)xrr /usr/lib/python3.6/python_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z"google/protobuf/pyext/python.protozgoogle.protobuf.python.internalZproto2u "google/protobuf/pyext/python.protogoogle.protobuf.python.internal"¼ TestAllTypes\ repeated_nested_message ( 2;.google.protobuf.python.internal.TestAllTypes.NestedMessage\ optional_nested_message ( 2;.google.protobuf.python.internal.TestAllTypes.NestedMessage optional_int32 (X NestedMessage bb (; cc ( 2/.google.protobuf.python.internal.ForeignMessage"& ForeignMessage c ( d (" TestAllExtensions*€€€€:š !optional_nested_message_extension2.google.protobuf.python.internal.TestAllExtensions ( 2;.google.protobuf.python.internal.TestAllTypes.NestedMessage:š !repeated_nested_message_extension2.google.protobuf.python.internal.TestAllExtensions ( 2;.google.protobuf.python.internal.TestAllTypes.NestedMessageBH)namepackagesyntaxZ serialized_pb!optional_nested_message_extensionzAgoogle.protobuf.python.internal.optional_nested_message_extension FT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile!repeated_nested_message_extensionzAgoogle.protobuf.python.internal.repeated_nested_message_extension NestedMessagez:google.protobuf.python.internal.TestAllTypes.NestedMessageZbbz=google.protobuf.python.internal.TestAllTypes.NestedMessage.bbZccz=google.protobuf.python.internal.TestAllTypes.NestedMessage.cci,i)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_end TestAllTypesz,google.protobuf.python.internal.TestAllTypesZrepeated_nested_messagezDgoogle.protobuf.python.internal.TestAllTypes.repeated_nested_messageZoptional_nested_messagezDgoogle.protobuf.python.internal.TestAllTypes.optional_nested_messageZoptional_int32z;google.protobuf.python.internal.TestAllTypes.optional_int32HForeignMessagez.google.protobuf.python.internal.ForeignMessagecz0google.protobuf.python.internal.ForeignMessage.cdz0google.protobuf.python.internal.ForeignMessage.diiTestAllExtensionsz1google.protobuf.python.internal.TestAllExtensions iiz google.protobuf.pyext.python_pb2) DESCRIPTOR __module__)rr)r*zH)rr().sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr)Z.OPTIONAL_NESTED_MESSAGE_EXTENSION_FIELD_NUMBERZFieldDescriptorrZ.REPEATED_NESTED_MESSAGE_EXTENSION_FIELD_NUMBERrZ DescriptorZ_TESTALLTYPES_NESTEDMESSAGEZ _TESTALLTYPESZ_FOREIGNMESSAGEZ_TESTALLEXTENSIONSZfields_by_namerrZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr"ZRegisterMessagerr$r'ZRegisterExtensionZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs\                             PK!uΘaa4protobuf/pyext/__pycache__/python_pb2.cpython-36.pycnu[3 h%@sddlZejddkrddp$ddZddlmZddlmZddlmZ dd lm Z dd lm Z e j Zejd d d eddZdZejdddddddddddddddedZdZejddddddddgddddddedZejdddedejdddddddddddddddedejd d!dddddddddddddedggggddd ggd"d#d$Zejd%d&dedejd'd(ddddddgddddddedejd)d*dddddddddddddedejd+d,dddddddddddddedggeggddd ggd-d#d$Zejd.d/dedejd0d1dddddddddddddedejd2d3ddddddgddddddedggggddd ggd4d5d$Zejd6d7dedggggddd d?ggd9d:d$Zeejd _ee_eejd'_eejd)_eejd%<eejd.<eejd6<eejd<eejd<ej ee j!d%ej"fe#e j!dej"fe#ed;d<ed;d=Z$ej%e$ej%e$j&e j!d.ej"fe#ed;d<Z'ej%e'e j!d6ej"fe#ed;d<Z(ej%e(ee_e(j)eee_e(j)ede_*ej+e j,ed>e_-dS)@NcCs|S)N)xrr /usr/lib/python3.6/python_pb2.pysrcCs |jdS)Nlatin1)encode)rrrrrs) descriptor)message) reflection)symbol_database)descriptor_pb2z"google/protobuf/pyext/python.protozgoogle.protobuf.python.internalZproto2u "google/protobuf/pyext/python.protogoogle.protobuf.python.internal"¼ TestAllTypes\ repeated_nested_message ( 2;.google.protobuf.python.internal.TestAllTypes.NestedMessage\ optional_nested_message ( 2;.google.protobuf.python.internal.TestAllTypes.NestedMessage optional_int32 (X NestedMessage bb (; cc ( 2/.google.protobuf.python.internal.ForeignMessage"& ForeignMessage c ( d (" TestAllExtensions*€€€€:š !optional_nested_message_extension2.google.protobuf.python.internal.TestAllExtensions ( 2;.google.protobuf.python.internal.TestAllTypes.NestedMessage:š !repeated_nested_message_extension2.google.protobuf.python.internal.TestAllExtensions ( 2;.google.protobuf.python.internal.TestAllTypes.NestedMessageBH)namepackagesyntaxZ serialized_pb!optional_nested_message_extensionzAgoogle.protobuf.python.internal.optional_nested_message_extension FT)r full_nameindexZnumbertypeZcpp_typeZlabelZhas_default_valueZ default_value message_typeZ enum_typecontaining_typeZ is_extensionZextension_scopeoptionsfile!repeated_nested_message_extensionzAgoogle.protobuf.python.internal.repeated_nested_message_extension NestedMessagez:google.protobuf.python.internal.TestAllTypes.NestedMessageZbbz=google.protobuf.python.internal.TestAllTypes.NestedMessage.bbZccz=google.protobuf.python.internal.TestAllTypes.NestedMessage.cci,i)rrfilenamerrZfields extensionsZ nested_typesZ enum_typesrZ is_extendablerZextension_rangesZoneofsZserialized_startZserialized_end TestAllTypesz,google.protobuf.python.internal.TestAllTypesZrepeated_nested_messagezDgoogle.protobuf.python.internal.TestAllTypes.repeated_nested_messageZoptional_nested_messagezDgoogle.protobuf.python.internal.TestAllTypes.optional_nested_messageZoptional_int32z;google.protobuf.python.internal.TestAllTypes.optional_int32HForeignMessagez.google.protobuf.python.internal.ForeignMessagecz0google.protobuf.python.internal.ForeignMessage.cdz0google.protobuf.python.internal.ForeignMessage.diiTestAllExtensionsz1google.protobuf.python.internal.TestAllExtensions iiz google.protobuf.pyext.python_pb2) DESCRIPTOR __module__)rr)r*zH)rr().sys version_infoZ_bZgoogle.protobufr Z _descriptorr Z_messager Z _reflectionr Z_symbol_databaser ZDefaultZ_sym_dbZFileDescriptorr)Z.OPTIONAL_NESTED_MESSAGE_EXTENSION_FIELD_NUMBERZFieldDescriptorrZ.REPEATED_NESTED_MESSAGE_EXTENSION_FIELD_NUMBERrZ DescriptorZ_TESTALLTYPES_NESTEDMESSAGEZ _TESTALLTYPESZ_FOREIGNMESSAGEZ_TESTALLEXTENSIONSZfields_by_namerrZmessage_types_by_nameZextensions_by_nameZRegisterFileDescriptorZGeneratedProtocolMessageTypeZMessagedictr"ZRegisterMessagerr$r'ZRegisterExtensionZ has_optionsZ _ParseOptionsZ FileOptionsZ_optionsrrrrs\                             PK!TFpp;protobuf/pyext/__pycache__/cpp_message.cpython-36.opt-1.pycnu[3 h# @s*dZdZddlmZGdddejZdS)zProtocol message implementation hooks for C++ implementation. Contains helper functions used to create protocol message classes from Descriptor objects at runtime backed by the protocol buffer C++ API. z tibell@google.com (Johan Tibell))_messagec@seZdZdZdZdS)GeneratedProtocolMessageTypeaMetaclass for protocol message classes created at runtime from Descriptors. The protocol compiler currently uses this metaclass to create protocol message classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = Descriptor(.....) factory = symbol_database.Default() factory.pool.AddDescriptor(mydescriptor) MyProtoClass = factory.GetPrototype(mydescriptor) myproto_instance = MyProtoClass() myproto.foo_field = 23 ... The above example will not work for nested types. If you wish to include them, use reflection.MakeClass() instead of manually instantiating the class in order to create the appropriate class structure. Z DESCRIPTORN)__name__ __module__ __qualname____doc__Z_DESCRIPTOR_KEYrr!/usr/lib/python3.6/cpp_message.pyr*srN)r __author__Zgoogle.protobuf.pyextrZ MessageMetarrrrr #s PK!g2protobuf/pyext/__pycache__/__init__.cpython-36.pycnu[3 h @s<yedjeWn$ek r6edjeeZYnXdS)Z pkg_resourcesZpkgutilN) __import__Zdeclare_namespace__name__ ImportErrorZ extend_path__path__rr/usr/lib/python3.6/__init__.pysPK!g8protobuf/pyext/__pycache__/__init__.cpython-36.opt-1.pycnu[3 h @s<yedjeWn$ek r6edjeeZYnXdS)Z pkg_resourcesZpkgutilN) __import__Zdeclare_namespace__name__ ImportErrorZ extend_path__path__rr/usr/lib/python3.6/__init__.pysPK!6# # protobuf/pyext/cpp_message.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Protocol message implementation hooks for C++ implementation. Contains helper functions used to create protocol message classes from Descriptor objects at runtime backed by the protocol buffer C++ API. """ __author__ = 'tibell@google.com (Johan Tibell)' from google.protobuf.pyext import _message class GeneratedProtocolMessageType(_message.MessageMeta): """Metaclass for protocol message classes created at runtime from Descriptors. The protocol compiler currently uses this metaclass to create protocol message classes at runtime. Clients can also manually create their own classes at runtime, as in this example: mydescriptor = Descriptor(.....) factory = symbol_database.Default() factory.pool.AddDescriptor(mydescriptor) MyProtoClass = factory.GetPrototype(mydescriptor) myproto_instance = MyProtoClass() myproto.foo_field = 23 ... The above example will not work for nested types. If you wish to include them, use reflection.MakeClass() instead of manually instantiating the class in order to create the appropriate class structure. """ # Must be consistent with the protocol-compiler code in # proto2/compiler/internal/generator.*. _DESCRIPTOR_KEY = 'DESCRIPTOR' PK!+**protobuf/api_pb2.pynu[# Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/protobuf/api.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 from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() from google.protobuf import source_context_pb2 as google_dot_protobuf_dot_source__context__pb2 from google.protobuf import type_pb2 as google_dot_protobuf_dot_type__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='google/protobuf/api.proto', package='google.protobuf', syntax='proto3', serialized_pb=_b('\n\x19google/protobuf/api.proto\x12\x0fgoogle.protobuf\x1a$google/protobuf/source_context.proto\x1a\x1agoogle/protobuf/type.proto\"\x81\x02\n\x03\x41pi\x12\x0c\n\x04name\x18\x01 \x01(\t\x12(\n\x07methods\x18\x02 \x03(\x0b\x32\x17.google.protobuf.Method\x12(\n\x07options\x18\x03 \x03(\x0b\x32\x17.google.protobuf.Option\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x36\n\x0esource_context\x18\x05 \x01(\x0b\x32\x1e.google.protobuf.SourceContext\x12&\n\x06mixins\x18\x06 \x03(\x0b\x32\x16.google.protobuf.Mixin\x12\'\n\x06syntax\x18\x07 \x01(\x0e\x32\x17.google.protobuf.Syntax\"\xd5\x01\n\x06Method\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10request_type_url\x18\x02 \x01(\t\x12\x19\n\x11request_streaming\x18\x03 \x01(\x08\x12\x19\n\x11response_type_url\x18\x04 \x01(\t\x12\x1a\n\x12response_streaming\x18\x05 \x01(\x08\x12(\n\x07options\x18\x06 \x03(\x0b\x32\x17.google.protobuf.Option\x12\'\n\x06syntax\x18\x07 \x01(\x0e\x32\x17.google.protobuf.Syntax\"#\n\x05Mixin\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04root\x18\x02 \x01(\tBu\n\x13\x63om.google.protobufB\x08\x41piProtoP\x01Z+google.golang.org/genproto/protobuf/api;api\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3') , dependencies=[google_dot_protobuf_dot_source__context__pb2.DESCRIPTOR,google_dot_protobuf_dot_type__pb2.DESCRIPTOR,]) _API = _descriptor.Descriptor( name='Api', full_name='google.protobuf.Api', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.Api.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='methods', full_name='google.protobuf.Api.methods', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.Api.options', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='version', full_name='google.protobuf.Api.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='source_context', full_name='google.protobuf.Api.source_context', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='mixins', full_name='google.protobuf.Api.mixins', index=5, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='syntax', full_name='google.protobuf.Api.syntax', index=6, number=7, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=113, serialized_end=370, ) _METHOD = _descriptor.Descriptor( name='Method', full_name='google.protobuf.Method', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.Method.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='request_type_url', full_name='google.protobuf.Method.request_type_url', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='request_streaming', full_name='google.protobuf.Method.request_streaming', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='response_type_url', full_name='google.protobuf.Method.response_type_url', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='response_streaming', full_name='google.protobuf.Method.response_streaming', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='google.protobuf.Method.options', index=5, number=6, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='syntax', full_name='google.protobuf.Method.syntax', index=6, number=7, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=373, serialized_end=586, ) _MIXIN = _descriptor.Descriptor( name='Mixin', full_name='google.protobuf.Mixin', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.protobuf.Mixin.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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='root', full_name='google.protobuf.Mixin.root', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=588, serialized_end=623, ) _API.fields_by_name['methods'].message_type = _METHOD _API.fields_by_name['options'].message_type = google_dot_protobuf_dot_type__pb2._OPTION _API.fields_by_name['source_context'].message_type = google_dot_protobuf_dot_source__context__pb2._SOURCECONTEXT _API.fields_by_name['mixins'].message_type = _MIXIN _API.fields_by_name['syntax'].enum_type = google_dot_protobuf_dot_type__pb2._SYNTAX _METHOD.fields_by_name['options'].message_type = google_dot_protobuf_dot_type__pb2._OPTION _METHOD.fields_by_name['syntax'].enum_type = google_dot_protobuf_dot_type__pb2._SYNTAX DESCRIPTOR.message_types_by_name['Api'] = _API DESCRIPTOR.message_types_by_name['Method'] = _METHOD DESCRIPTOR.message_types_by_name['Mixin'] = _MIXIN _sym_db.RegisterFileDescriptor(DESCRIPTOR) Api = _reflection.GeneratedProtocolMessageType('Api', (_message.Message,), dict( DESCRIPTOR = _API, __module__ = 'google.protobuf.api_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Api) )) _sym_db.RegisterMessage(Api) Method = _reflection.GeneratedProtocolMessageType('Method', (_message.Message,), dict( DESCRIPTOR = _METHOD, __module__ = 'google.protobuf.api_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Method) )) _sym_db.RegisterMessage(Method) Mixin = _reflection.GeneratedProtocolMessageType('Mixin', (_message.Message,), dict( DESCRIPTOR = _MIXIN, __module__ = 'google.protobuf.api_pb2' # @@protoc_insertion_point(class_scope:google.protobuf.Mixin) )) _sym_db.RegisterMessage(Mixin) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\023com.google.protobufB\010ApiProtoP\001Z+google.golang.org/genproto/protobuf/api;api\242\002\003GPB\252\002\036Google.Protobuf.WellKnownTypes')) # @@protoc_insertion_point(module_scope) PK!rrprotobuf/json_format.pynu[# Protocol Buffers - Google's data interchange format # Copyright 2008 Google Inc. All rights reserved. # https://developers.google.com/protocol-buffers/ # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following disclaimer # in the documentation and/or other materials provided with the # distribution. # * Neither the name of Google Inc. nor the names of its # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """Contains routines for printing protocol messages in JSON format. Simple usage example: # Create a proto object and serialize it to a json format string. message = my_proto_pb2.MyMessage(foo='bar') json_string = json_format.MessageToJson(message) # Parse a json format string to proto object. message = json_format.Parse(json_string, my_proto_pb2.MyMessage()) """ __author__ = 'jieluo@google.com (Jie Luo)' try: from collections import OrderedDict except ImportError: from ordereddict import OrderedDict #PY26 import base64 import json import math import re import six import sys from operator import methodcaller from google.protobuf import descriptor from google.protobuf import symbol_database _TIMESTAMPFOMAT = '%Y-%m-%dT%H:%M:%S' _INT_TYPES = frozenset([descriptor.FieldDescriptor.CPPTYPE_INT32, descriptor.FieldDescriptor.CPPTYPE_UINT32, descriptor.FieldDescriptor.CPPTYPE_INT64, descriptor.FieldDescriptor.CPPTYPE_UINT64]) _INT64_TYPES = frozenset([descriptor.FieldDescriptor.CPPTYPE_INT64, descriptor.FieldDescriptor.CPPTYPE_UINT64]) _FLOAT_TYPES = frozenset([descriptor.FieldDescriptor.CPPTYPE_FLOAT, descriptor.FieldDescriptor.CPPTYPE_DOUBLE]) _INFINITY = 'Infinity' _NEG_INFINITY = '-Infinity' _NAN = 'NaN' _UNPAIRED_SURROGATE_PATTERN = re.compile(six.u( r'[\ud800-\udbff](?![\udc00-\udfff])|(? \x03(\x0b\x32H.protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry\x12\x65\n\x13map_fixed64_fixed64\x18? \x03(\x0b\x32H.protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry\x12i\n\x15map_sfixed32_sfixed32\x18@ \x03(\x0b\x32J.protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry\x12i\n\x15map_sfixed64_sfixed64\x18\x41 \x03(\x0b\x32J.protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry\x12]\n\x0fmap_int32_float\x18\x42 \x03(\x0b\x32\x44.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry\x12_\n\x10map_int32_double\x18\x43 \x03(\x0b\x32\x45.protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry\x12Y\n\rmap_bool_bool\x18\x44 \x03(\x0b\x32\x42.protobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry\x12\x61\n\x11map_string_string\x18\x45 \x03(\x0b\x32\x46.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry\x12_\n\x10map_string_bytes\x18\x46 \x03(\x0b\x32\x45.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry\x12p\n\x19map_string_nested_message\x18G \x03(\x0b\x32M.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry\x12r\n\x1amap_string_foreign_message\x18H \x03(\x0b\x32N.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry\x12j\n\x16map_string_nested_enum\x18I \x03(\x0b\x32J.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry\x12l\n\x17map_string_foreign_enum\x18J \x03(\x0b\x32K.protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry\x12\x16\n\x0coneof_uint32\x18o \x01(\rH\x00\x12_\n\x14oneof_nested_message\x18p \x01(\x0b\x32?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessageH\x00\x12\x16\n\x0coneof_string\x18q \x01(\tH\x00\x12\x15\n\x0boneof_bytes\x18r \x01(\x0cH\x00\x12\x14\n\noneof_bool\x18s \x01(\x08H\x00\x12\x16\n\x0coneof_uint64\x18t \x01(\x04H\x00\x12\x15\n\x0boneof_float\x18u \x01(\x02H\x00\x12\x16\n\x0coneof_double\x18v \x01(\x01H\x00\x12R\n\noneof_enum\x18w \x01(\x0e\x32<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnumH\x00\x12:\n\x15optional_bool_wrapper\x18\xc9\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12<\n\x16optional_int32_wrapper\x18\xca\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12<\n\x16optional_int64_wrapper\x18\xcb\x01 \x01(\x0b\x32\x1b.google.protobuf.Int64Value\x12>\n\x17optional_uint32_wrapper\x18\xcc\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12>\n\x17optional_uint64_wrapper\x18\xcd\x01 \x01(\x0b\x32\x1c.google.protobuf.UInt64Value\x12<\n\x16optional_float_wrapper\x18\xce\x01 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12>\n\x17optional_double_wrapper\x18\xcf\x01 \x01(\x0b\x32\x1c.google.protobuf.DoubleValue\x12>\n\x17optional_string_wrapper\x18\xd0\x01 \x01(\x0b\x32\x1c.google.protobuf.StringValue\x12<\n\x16optional_bytes_wrapper\x18\xd1\x01 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x12:\n\x15repeated_bool_wrapper\x18\xd3\x01 \x03(\x0b\x32\x1a.google.protobuf.BoolValue\x12<\n\x16repeated_int32_wrapper\x18\xd4\x01 \x03(\x0b\x32\x1b.google.protobuf.Int32Value\x12<\n\x16repeated_int64_wrapper\x18\xd5\x01 \x03(\x0b\x32\x1b.google.protobuf.Int64Value\x12>\n\x17repeated_uint32_wrapper\x18\xd6\x01 \x03(\x0b\x32\x1c.google.protobuf.UInt32Value\x12>\n\x17repeated_uint64_wrapper\x18\xd7\x01 \x03(\x0b\x32\x1c.google.protobuf.UInt64Value\x12<\n\x16repeated_float_wrapper\x18\xd8\x01 \x03(\x0b\x32\x1b.google.protobuf.FloatValue\x12>\n\x17repeated_double_wrapper\x18\xd9\x01 \x03(\x0b\x32\x1c.google.protobuf.DoubleValue\x12>\n\x17repeated_string_wrapper\x18\xda\x01 \x03(\x0b\x32\x1c.google.protobuf.StringValue\x12<\n\x16repeated_bytes_wrapper\x18\xdb\x01 \x03(\x0b\x32\x1b.google.protobuf.BytesValue\x12\x35\n\x11optional_duration\x18\xad\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x12optional_timestamp\x18\xae\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x13optional_field_mask\x18\xaf\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x31\n\x0foptional_struct\x18\xb0\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\x0coptional_any\x18\xb1\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x12/\n\x0eoptional_value\x18\xb2\x02 \x01(\x0b\x32\x16.google.protobuf.Value\x12\x35\n\x11repeated_duration\x18\xb7\x02 \x03(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x12repeated_timestamp\x18\xb8\x02 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x12repeated_fieldmask\x18\xb9\x02 \x03(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x31\n\x0frepeated_struct\x18\xc4\x02 \x03(\x0b\x32\x17.google.protobuf.Struct\x12+\n\x0crepeated_any\x18\xbb\x02 \x03(\x0b\x32\x14.google.protobuf.Any\x12/\n\x0erepeated_value\x18\xbc\x02 \x03(\x0b\x32\x16.google.protobuf.Value\x12\x13\n\nfieldname1\x18\x91\x03 \x01(\x05\x12\x14\n\x0b\x66ield_name2\x18\x92\x03 \x01(\x05\x12\x15\n\x0c_field_name3\x18\x93\x03 \x01(\x05\x12\x16\n\rfield__name4_\x18\x94\x03 \x01(\x05\x12\x14\n\x0b\x66ield0name5\x18\x95\x03 \x01(\x05\x12\x16\n\rfield_0_name6\x18\x96\x03 \x01(\x05\x12\x13\n\nfieldName7\x18\x97\x03 \x01(\x05\x12\x13\n\nFieldName8\x18\x98\x03 \x01(\x05\x12\x14\n\x0b\x66ield_Name9\x18\x99\x03 \x01(\x05\x12\x15\n\x0c\x46ield_Name10\x18\x9a\x03 \x01(\x05\x12\x15\n\x0c\x46IELD_NAME11\x18\x9b\x03 \x01(\x05\x12\x15\n\x0c\x46IELD_name12\x18\x9c\x03 \x01(\x05\x12\x17\n\x0e__field_name13\x18\x9d\x03 \x01(\x05\x12\x17\n\x0e__Field_name14\x18\x9e\x03 \x01(\x05\x12\x16\n\rfield__name15\x18\x9f\x03 \x01(\x05\x12\x16\n\rfield__Name16\x18\xa0\x03 \x01(\x05\x12\x17\n\x0e\x66ield_name17__\x18\xa1\x03 \x01(\x05\x12\x17\n\x0e\x46ield_name18__\x18\xa2\x03 \x01(\x05\x1a\x62\n\rNestedMessage\x12\t\n\x01\x61\x18\x01 \x01(\x05\x12\x46\n\x0b\x63orecursive\x18\x02 \x01(\x0b\x32\x31.protobuf_test_messages.proto3.TestAllTypesProto3\x1a\x34\n\x12MapInt32Int32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x1a\x34\n\x12MapInt64Int64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\x1a\x36\n\x14MapUint32Uint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\x1a\x36\n\x14MapUint64Uint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\x1a\x36\n\x14MapSint32Sint32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x11\x12\r\n\x05value\x18\x02 \x01(\x11:\x02\x38\x01\x1a\x36\n\x14MapSint64Sint64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x12\x12\r\n\x05value\x18\x02 \x01(\x12:\x02\x38\x01\x1a\x38\n\x16MapFixed32Fixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x07\x12\r\n\x05value\x18\x02 \x01(\x07:\x02\x38\x01\x1a\x38\n\x16MapFixed64Fixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x06\x12\r\n\x05value\x18\x02 \x01(\x06:\x02\x38\x01\x1a:\n\x18MapSfixed32Sfixed32Entry\x12\x0b\n\x03key\x18\x01 \x01(\x0f\x12\r\n\x05value\x18\x02 \x01(\x0f:\x02\x38\x01\x1a:\n\x18MapSfixed64Sfixed64Entry\x12\x0b\n\x03key\x18\x01 \x01(\x10\x12\r\n\x05value\x18\x02 \x01(\x10:\x02\x38\x01\x1a\x34\n\x12MapInt32FloatEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x02:\x02\x38\x01\x1a\x35\n\x13MapInt32DoubleEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\x1a\x32\n\x10MapBoolBoolEntry\x12\x0b\n\x03key\x18\x01 \x01(\x08\x12\r\n\x05value\x18\x02 \x01(\x08:\x02\x38\x01\x1a\x36\n\x14MapStringStringEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13MapStringBytesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1a~\n\x1bMapStringNestedMessageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12N\n\x05value\x18\x02 \x01(\x0b\x32?.protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage:\x02\x38\x01\x1am\n\x1cMapStringForeignMessageEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12<\n\x05value\x18\x02 \x01(\x0b\x32-.protobuf_test_messages.proto3.ForeignMessage:\x02\x38\x01\x1ax\n\x18MapStringNestedEnumEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12K\n\x05value\x18\x02 \x01(\x0e\x32<.protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum:\x02\x38\x01\x1ag\n\x19MapStringForeignEnumEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0e\x32*.protobuf_test_messages.proto3.ForeignEnum:\x02\x38\x01\"9\n\nNestedEnum\x12\x07\n\x03\x46OO\x10\x00\x12\x07\n\x03\x42\x41R\x10\x01\x12\x07\n\x03\x42\x41Z\x10\x02\x12\x10\n\x03NEG\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x42\r\n\x0boneof_fieldJ\x06\x08\xf5\x03\x10\xff\x03\"\x1b\n\x0e\x46oreignMessage\x12\t\n\x01\x63\x18\x01 \x01(\x05*@\n\x0b\x46oreignEnum\x12\x0f\n\x0b\x46OREIGN_FOO\x10\x00\x12\x0f\n\x0b\x46OREIGN_BAR\x10\x01\x12\x0f\n\x0b\x46OREIGN_BAZ\x10\x02\x42\x38\n(com.google.protobuf_test_messages.proto3H\x01\xf8\x01\x01\xa2\x02\x06Proto3b\x06proto3') , dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_field__mask__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,]) _FOREIGNENUM = _descriptor.EnumDescriptor( name='ForeignEnum', full_name='protobuf_test_messages.proto3.ForeignEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOREIGN_FOO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAR', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='FOREIGN_BAZ', index=2, number=2, options=None, type=None), ], containing_type=None, options=None, serialized_start=7901, serialized_end=7965, ) _sym_db.RegisterEnumDescriptor(_FOREIGNENUM) ForeignEnum = enum_type_wrapper.EnumTypeWrapper(_FOREIGNENUM) FOREIGN_FOO = 0 FOREIGN_BAR = 1 FOREIGN_BAZ = 2 _TESTALLTYPESPROTO3_NESTEDENUM = _descriptor.EnumDescriptor( name='NestedEnum', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.NestedEnum', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='FOO', index=0, number=0, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAR', index=1, number=1, options=None, type=None), _descriptor.EnumValueDescriptor( name='BAZ', index=2, number=2, options=None, type=None), _descriptor.EnumValueDescriptor( name='NEG', index=3, number=-1, options=None, type=None), ], containing_type=None, options=None, serialized_start=7790, serialized_end=7847, ) _sym_db.RegisterEnumDescriptor(_TESTALLTYPESPROTO3_NESTEDENUM) _TESTALLTYPESPROTO3_NESTEDMESSAGE = _descriptor.Descriptor( name='NestedMessage', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='a', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage.a', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='corecursive', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage.corecursive', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6384, serialized_end=6482, ) _TESTALLTYPESPROTO3_MAPINT32INT32ENTRY = _descriptor.Descriptor( name='MapInt32Int32Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry.value', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6484, serialized_end=6536, ) _TESTALLTYPESPROTO3_MAPINT64INT64ENTRY = _descriptor.Descriptor( name='MapInt64Int64Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6538, serialized_end=6590, ) _TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRY = _descriptor.Descriptor( name='MapUint32Uint32Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry.key', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry.value', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6592, serialized_end=6646, ) _TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRY = _descriptor.Descriptor( name='MapUint64Uint64Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6648, serialized_end=6702, ) _TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRY = _descriptor.Descriptor( name='MapSint32Sint32Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6704, serialized_end=6758, ) _TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRY = _descriptor.Descriptor( name='MapSint64Sint64Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6760, serialized_end=6814, ) _TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRY = _descriptor.Descriptor( name='MapFixed32Fixed32Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6816, serialized_end=6872, ) _TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRY = _descriptor.Descriptor( name='MapFixed64Fixed64Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6874, serialized_end=6930, ) _TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRY = _descriptor.Descriptor( name='MapSfixed32Sfixed32Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6932, serialized_end=6990, ) _TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRY = _descriptor.Descriptor( name='MapSfixed64Sfixed64Entry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry.key', index=0, number=1, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=6992, serialized_end=7050, ) _TESTALLTYPESPROTO3_MAPINT32FLOATENTRY = _descriptor.Descriptor( name='MapInt32FloatEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry.value', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7052, serialized_end=7104, ) _TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRY = _descriptor.Descriptor( name='MapInt32DoubleEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7106, serialized_end=7159, ) _TESTALLTYPESPROTO3_MAPBOOLBOOLENTRY = _descriptor.Descriptor( name='MapBoolBoolEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry.key', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry.value', index=1, number=2, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7161, serialized_end=7211, ) _TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRY = _descriptor.Descriptor( name='MapStringStringEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7213, serialized_end=7267, ) _TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRY = _descriptor.Descriptor( name='MapStringBytesEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry.value', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7269, serialized_end=7322, ) _TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRY = _descriptor.Descriptor( name='MapStringNestedMessageEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7324, serialized_end=7450, ) _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRY = _descriptor.Descriptor( name='MapStringForeignMessageEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry.value', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7452, serialized_end=7561, ) _TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRY = _descriptor.Descriptor( name='MapStringNestedEnumEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7563, serialized_end=7683, ) _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRY = _descriptor.Descriptor( name='MapStringForeignEnumEntry', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='key', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry.key', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry.value', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')), is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7685, serialized_end=7788, ) _TESTALLTYPESPROTO3 = _descriptor.Descriptor( name='TestAllTypesProto3', full_name='protobuf_test_messages.proto3.TestAllTypesProto3', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='optional_int32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_int32', 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_int64', index=1, number=2, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_uint32', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_uint64', index=3, number=4, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_sint32', index=4, number=5, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sint64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_sint64', index=5, number=6, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_fixed32', index=6, number=7, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_fixed64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_fixed64', index=7, number=8, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_sfixed32', index=8, number=9, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_sfixed64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_sfixed64', index=9, number=10, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_float', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_float', index=10, number=11, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_double', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_double', index=11, number=12, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bool', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_bool', index=12, number=13, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_string', index=13, number=14, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bytes', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_bytes', index=14, number=15, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_message', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_nested_message', index=15, number=18, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_message', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_foreign_message', index=16, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_nested_enum', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_nested_enum', index=17, number=21, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_foreign_enum', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_foreign_enum', index=18, number=22, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string_piece', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_string_piece', index=19, number=24, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_cord', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_cord', index=20, number=25, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='recursive_message', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.recursive_message', index=21, number=27, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_int32', index=22, number=31, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_int64', index=23, number=32, type=3, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_uint32', index=24, number=33, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_uint64', index=25, number=34, type=4, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_sint32', index=26, number=35, type=17, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sint64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_sint64', index=27, number=36, type=18, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_fixed32', index=28, number=37, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fixed64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_fixed64', index=29, number=38, type=6, cpp_type=4, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_sfixed32', index=30, number=39, type=15, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_sfixed64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_sfixed64', index=31, number=40, type=16, cpp_type=2, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_float', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_float', index=32, number=41, type=2, cpp_type=6, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_double', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_double', index=33, number=42, type=1, cpp_type=5, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bool', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_bool', index=34, number=43, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_string', index=35, number=44, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bytes', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_bytes', index=36, number=45, type=12, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_message', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_nested_message', index=37, number=48, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_message', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_foreign_message', index=38, number=49, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_nested_enum', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_nested_enum', index=39, number=51, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_foreign_enum', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_foreign_enum', index=40, number=52, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string_piece', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_string_piece', index=41, number=54, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_cord', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_cord', index=42, number=55, 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, options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')), file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_int32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_int32_int32', index=43, number=56, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int64_int64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_int64_int64', index=44, number=57, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_uint32_uint32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_uint32_uint32', index=45, number=58, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_uint64_uint64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_uint64_uint64', index=46, number=59, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sint32_sint32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_sint32_sint32', index=47, number=60, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sint64_sint64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_sint64_sint64', index=48, number=61, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_fixed32_fixed32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_fixed32_fixed32', index=49, number=62, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_fixed64_fixed64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_fixed64_fixed64', index=50, number=63, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sfixed32_sfixed32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_sfixed32_sfixed32', index=51, number=64, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_sfixed64_sfixed64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_sfixed64_sfixed64', index=52, number=65, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_float', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_int32_float', index=53, number=66, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_int32_double', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_int32_double', index=54, number=67, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_bool_bool', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_bool_bool', index=55, number=68, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_string', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_string_string', index=56, number=69, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_bytes', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_string_bytes', index=57, number=70, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_nested_message', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_string_nested_message', index=58, number=71, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_foreign_message', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_string_foreign_message', index=59, number=72, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_nested_enum', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_string_nested_enum', index=60, number=73, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='map_string_foreign_enum', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.map_string_foreign_enum', index=61, number=74, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_uint32', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_uint32', index=62, number=111, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_nested_message', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_nested_message', index=63, number=112, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_string', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_string', index=64, number=113, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_bytes', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_bytes', index=65, number=114, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_bool', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_bool', index=66, number=115, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_uint64', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_uint64', index=67, number=116, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_float', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_float', index=68, number=117, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_double', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_double', index=69, number=118, 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=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='oneof_enum', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_enum', index=70, number=119, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bool_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_bool_wrapper', index=71, number=201, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int32_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_int32_wrapper', index=72, number=202, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_int64_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_int64_wrapper', index=73, number=203, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint32_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_uint32_wrapper', index=74, number=204, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_uint64_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_uint64_wrapper', index=75, number=205, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_float_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_float_wrapper', index=76, number=206, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_double_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_double_wrapper', index=77, number=207, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_string_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_string_wrapper', index=78, number=208, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_bytes_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_bytes_wrapper', index=79, number=209, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bool_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_bool_wrapper', index=80, number=211, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int32_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_int32_wrapper', index=81, number=212, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_int64_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_int64_wrapper', index=82, number=213, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint32_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_uint32_wrapper', index=83, number=214, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_uint64_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_uint64_wrapper', index=84, number=215, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_float_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_float_wrapper', index=85, number=216, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_double_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_double_wrapper', index=86, number=217, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_string_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_string_wrapper', index=87, number=218, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_bytes_wrapper', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_bytes_wrapper', index=88, number=219, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_duration', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_duration', index=89, number=301, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_timestamp', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_timestamp', index=90, number=302, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_field_mask', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_field_mask', index=91, number=303, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_struct', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_struct', index=92, number=304, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_any', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_any', index=93, number=305, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='optional_value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.optional_value', index=94, number=306, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_duration', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_duration', index=95, number=311, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_timestamp', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_timestamp', index=96, number=312, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_fieldmask', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_fieldmask', index=97, number=313, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_struct', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_struct', index=98, number=324, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_any', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_any', index=99, number=315, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='repeated_value', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.repeated_value', index=100, number=316, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldname1', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.fieldname1', index=101, number=401, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_name2', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.field_name2', index=102, number=402, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='_field_name3', full_name='protobuf_test_messages.proto3.TestAllTypesProto3._field_name3', index=103, number=403, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field__name4_', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.field__name4_', index=104, number=404, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field0name5', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.field0name5', index=105, number=405, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_0_name6', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.field_0_name6', index=106, number=406, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fieldName7', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.fieldName7', index=107, number=407, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='FieldName8', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.FieldName8', index=108, number=408, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_Name9', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.field_Name9', index=109, number=409, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='Field_Name10', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.Field_Name10', index=110, number=410, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='FIELD_NAME11', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.FIELD_NAME11', index=111, number=411, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='FIELD_name12', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.FIELD_name12', index=112, number=412, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='__field_name13', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.__field_name13', index=113, number=413, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='__Field_name14', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.__Field_name14', index=114, number=414, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field__name15', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.field__name15', index=115, number=415, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field__Name16', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.field__Name16', index=116, number=416, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_name17__', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.field_name17__', index=117, number=417, 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, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='Field_name18__', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.Field_name18__', index=118, number=418, 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[_TESTALLTYPESPROTO3_NESTEDMESSAGE, _TESTALLTYPESPROTO3_MAPINT32INT32ENTRY, _TESTALLTYPESPROTO3_MAPINT64INT64ENTRY, _TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRY, _TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRY, _TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRY, _TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRY, _TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRY, _TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRY, _TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRY, _TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRY, _TESTALLTYPESPROTO3_MAPINT32FLOATENTRY, _TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRY, _TESTALLTYPESPROTO3_MAPBOOLBOOLENTRY, _TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRY, _TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRY, _TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRY, _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRY, _TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRY, _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRY, ], enum_types=[ _TESTALLTYPESPROTO3_NESTEDENUM, ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ _descriptor.OneofDescriptor( name='oneof_field', full_name='protobuf_test_messages.proto3.TestAllTypesProto3.oneof_field', index=0, containing_type=None, fields=[]), ], serialized_start=266, serialized_end=7870, ) _FOREIGNMESSAGE = _descriptor.Descriptor( name='ForeignMessage', full_name='protobuf_test_messages.proto3.ForeignMessage', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='c', full_name='protobuf_test_messages.proto3.ForeignMessage.c', 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, options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=7872, serialized_end=7899, ) _TESTALLTYPESPROTO3_NESTEDMESSAGE.fields_by_name['corecursive'].message_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_NESTEDMESSAGE.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPINT32INT32ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPINT64INT64ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPINT32FLOATENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPBOOLBOOLENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRY.fields_by_name['value'].message_type = _TESTALLTYPESPROTO3_NESTEDMESSAGE _TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRY.fields_by_name['value'].message_type = _FOREIGNMESSAGE _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRY.fields_by_name['value'].enum_type = _TESTALLTYPESPROTO3_NESTEDENUM _TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRY.fields_by_name['value'].enum_type = _FOREIGNENUM _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRY.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3.fields_by_name['optional_nested_message'].message_type = _TESTALLTYPESPROTO3_NESTEDMESSAGE _TESTALLTYPESPROTO3.fields_by_name['optional_foreign_message'].message_type = _FOREIGNMESSAGE _TESTALLTYPESPROTO3.fields_by_name['optional_nested_enum'].enum_type = _TESTALLTYPESPROTO3_NESTEDENUM _TESTALLTYPESPROTO3.fields_by_name['optional_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPESPROTO3.fields_by_name['recursive_message'].message_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3.fields_by_name['repeated_nested_message'].message_type = _TESTALLTYPESPROTO3_NESTEDMESSAGE _TESTALLTYPESPROTO3.fields_by_name['repeated_foreign_message'].message_type = _FOREIGNMESSAGE _TESTALLTYPESPROTO3.fields_by_name['repeated_nested_enum'].enum_type = _TESTALLTYPESPROTO3_NESTEDENUM _TESTALLTYPESPROTO3.fields_by_name['repeated_foreign_enum'].enum_type = _FOREIGNENUM _TESTALLTYPESPROTO3.fields_by_name['map_int32_int32'].message_type = _TESTALLTYPESPROTO3_MAPINT32INT32ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_int64_int64'].message_type = _TESTALLTYPESPROTO3_MAPINT64INT64ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_uint32_uint32'].message_type = _TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_uint64_uint64'].message_type = _TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_sint32_sint32'].message_type = _TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_sint64_sint64'].message_type = _TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_fixed32_fixed32'].message_type = _TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_fixed64_fixed64'].message_type = _TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_sfixed32_sfixed32'].message_type = _TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_sfixed64_sfixed64'].message_type = _TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRY _TESTALLTYPESPROTO3.fields_by_name['map_int32_float'].message_type = _TESTALLTYPESPROTO3_MAPINT32FLOATENTRY _TESTALLTYPESPROTO3.fields_by_name['map_int32_double'].message_type = _TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRY _TESTALLTYPESPROTO3.fields_by_name['map_bool_bool'].message_type = _TESTALLTYPESPROTO3_MAPBOOLBOOLENTRY _TESTALLTYPESPROTO3.fields_by_name['map_string_string'].message_type = _TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRY _TESTALLTYPESPROTO3.fields_by_name['map_string_bytes'].message_type = _TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRY _TESTALLTYPESPROTO3.fields_by_name['map_string_nested_message'].message_type = _TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRY _TESTALLTYPESPROTO3.fields_by_name['map_string_foreign_message'].message_type = _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRY _TESTALLTYPESPROTO3.fields_by_name['map_string_nested_enum'].message_type = _TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRY _TESTALLTYPESPROTO3.fields_by_name['map_string_foreign_enum'].message_type = _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRY _TESTALLTYPESPROTO3.fields_by_name['oneof_nested_message'].message_type = _TESTALLTYPESPROTO3_NESTEDMESSAGE _TESTALLTYPESPROTO3.fields_by_name['oneof_enum'].enum_type = _TESTALLTYPESPROTO3_NESTEDENUM _TESTALLTYPESPROTO3.fields_by_name['optional_bool_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._BOOLVALUE _TESTALLTYPESPROTO3.fields_by_name['optional_int32_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._INT32VALUE _TESTALLTYPESPROTO3.fields_by_name['optional_int64_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._INT64VALUE _TESTALLTYPESPROTO3.fields_by_name['optional_uint32_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE _TESTALLTYPESPROTO3.fields_by_name['optional_uint64_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT64VALUE _TESTALLTYPESPROTO3.fields_by_name['optional_float_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE _TESTALLTYPESPROTO3.fields_by_name['optional_double_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._DOUBLEVALUE _TESTALLTYPESPROTO3.fields_by_name['optional_string_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._STRINGVALUE _TESTALLTYPESPROTO3.fields_by_name['optional_bytes_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_bool_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._BOOLVALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_int32_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._INT32VALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_int64_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._INT64VALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_uint32_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_uint64_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT64VALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_float_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_double_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._DOUBLEVALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_string_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._STRINGVALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_bytes_wrapper'].message_type = google_dot_protobuf_dot_wrappers__pb2._BYTESVALUE _TESTALLTYPESPROTO3.fields_by_name['optional_duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _TESTALLTYPESPROTO3.fields_by_name['optional_timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP _TESTALLTYPESPROTO3.fields_by_name['optional_field_mask'].message_type = google_dot_protobuf_dot_field__mask__pb2._FIELDMASK _TESTALLTYPESPROTO3.fields_by_name['optional_struct'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT _TESTALLTYPESPROTO3.fields_by_name['optional_any'].message_type = google_dot_protobuf_dot_any__pb2._ANY _TESTALLTYPESPROTO3.fields_by_name['optional_value'].message_type = google_dot_protobuf_dot_struct__pb2._VALUE _TESTALLTYPESPROTO3.fields_by_name['repeated_duration'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION _TESTALLTYPESPROTO3.fields_by_name['repeated_timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP _TESTALLTYPESPROTO3.fields_by_name['repeated_fieldmask'].message_type = google_dot_protobuf_dot_field__mask__pb2._FIELDMASK _TESTALLTYPESPROTO3.fields_by_name['repeated_struct'].message_type = google_dot_protobuf_dot_struct__pb2._STRUCT _TESTALLTYPESPROTO3.fields_by_name['repeated_any'].message_type = google_dot_protobuf_dot_any__pb2._ANY _TESTALLTYPESPROTO3.fields_by_name['repeated_value'].message_type = google_dot_protobuf_dot_struct__pb2._VALUE _TESTALLTYPESPROTO3_NESTEDENUM.containing_type = _TESTALLTYPESPROTO3 _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_uint32']) _TESTALLTYPESPROTO3.fields_by_name['oneof_uint32'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_nested_message']) _TESTALLTYPESPROTO3.fields_by_name['oneof_nested_message'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_string']) _TESTALLTYPESPROTO3.fields_by_name['oneof_string'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_bytes']) _TESTALLTYPESPROTO3.fields_by_name['oneof_bytes'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_bool']) _TESTALLTYPESPROTO3.fields_by_name['oneof_bool'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_uint64']) _TESTALLTYPESPROTO3.fields_by_name['oneof_uint64'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_float']) _TESTALLTYPESPROTO3.fields_by_name['oneof_float'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_double']) _TESTALLTYPESPROTO3.fields_by_name['oneof_double'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'].fields.append( _TESTALLTYPESPROTO3.fields_by_name['oneof_enum']) _TESTALLTYPESPROTO3.fields_by_name['oneof_enum'].containing_oneof = _TESTALLTYPESPROTO3.oneofs_by_name['oneof_field'] DESCRIPTOR.message_types_by_name['TestAllTypesProto3'] = _TESTALLTYPESPROTO3 DESCRIPTOR.message_types_by_name['ForeignMessage'] = _FOREIGNMESSAGE DESCRIPTOR.enum_types_by_name['ForeignEnum'] = _FOREIGNENUM _sym_db.RegisterFileDescriptor(DESCRIPTOR) TestAllTypesProto3 = _reflection.GeneratedProtocolMessageType('TestAllTypesProto3', (_message.Message,), dict( NestedMessage = _reflection.GeneratedProtocolMessageType('NestedMessage', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_NESTEDMESSAGE, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.NestedMessage) )) , MapInt32Int32Entry = _reflection.GeneratedProtocolMessageType('MapInt32Int32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPINT32INT32ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32Int32Entry) )) , MapInt64Int64Entry = _reflection.GeneratedProtocolMessageType('MapInt64Int64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPINT64INT64ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapInt64Int64Entry) )) , MapUint32Uint32Entry = _reflection.GeneratedProtocolMessageType('MapUint32Uint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapUint32Uint32Entry) )) , MapUint64Uint64Entry = _reflection.GeneratedProtocolMessageType('MapUint64Uint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapUint64Uint64Entry) )) , MapSint32Sint32Entry = _reflection.GeneratedProtocolMessageType('MapSint32Sint32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapSint32Sint32Entry) )) , MapSint64Sint64Entry = _reflection.GeneratedProtocolMessageType('MapSint64Sint64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapSint64Sint64Entry) )) , MapFixed32Fixed32Entry = _reflection.GeneratedProtocolMessageType('MapFixed32Fixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed32Fixed32Entry) )) , MapFixed64Fixed64Entry = _reflection.GeneratedProtocolMessageType('MapFixed64Fixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapFixed64Fixed64Entry) )) , MapSfixed32Sfixed32Entry = _reflection.GeneratedProtocolMessageType('MapSfixed32Sfixed32Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed32Sfixed32Entry) )) , MapSfixed64Sfixed64Entry = _reflection.GeneratedProtocolMessageType('MapSfixed64Sfixed64Entry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapSfixed64Sfixed64Entry) )) , MapInt32FloatEntry = _reflection.GeneratedProtocolMessageType('MapInt32FloatEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPINT32FLOATENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32FloatEntry) )) , MapInt32DoubleEntry = _reflection.GeneratedProtocolMessageType('MapInt32DoubleEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapInt32DoubleEntry) )) , MapBoolBoolEntry = _reflection.GeneratedProtocolMessageType('MapBoolBoolEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPBOOLBOOLENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapBoolBoolEntry) )) , MapStringStringEntry = _reflection.GeneratedProtocolMessageType('MapStringStringEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapStringStringEntry) )) , MapStringBytesEntry = _reflection.GeneratedProtocolMessageType('MapStringBytesEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapStringBytesEntry) )) , MapStringNestedMessageEntry = _reflection.GeneratedProtocolMessageType('MapStringNestedMessageEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedMessageEntry) )) , MapStringForeignMessageEntry = _reflection.GeneratedProtocolMessageType('MapStringForeignMessageEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignMessageEntry) )) , MapStringNestedEnumEntry = _reflection.GeneratedProtocolMessageType('MapStringNestedEnumEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapStringNestedEnumEntry) )) , MapStringForeignEnumEntry = _reflection.GeneratedProtocolMessageType('MapStringForeignEnumEntry', (_message.Message,), dict( DESCRIPTOR = _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRY, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3.MapStringForeignEnumEntry) )) , DESCRIPTOR = _TESTALLTYPESPROTO3, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.TestAllTypesProto3) )) _sym_db.RegisterMessage(TestAllTypesProto3) _sym_db.RegisterMessage(TestAllTypesProto3.NestedMessage) _sym_db.RegisterMessage(TestAllTypesProto3.MapInt32Int32Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapInt64Int64Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapUint32Uint32Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapUint64Uint64Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapSint32Sint32Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapSint64Sint64Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapFixed32Fixed32Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapFixed64Fixed64Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapSfixed32Sfixed32Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapSfixed64Sfixed64Entry) _sym_db.RegisterMessage(TestAllTypesProto3.MapInt32FloatEntry) _sym_db.RegisterMessage(TestAllTypesProto3.MapInt32DoubleEntry) _sym_db.RegisterMessage(TestAllTypesProto3.MapBoolBoolEntry) _sym_db.RegisterMessage(TestAllTypesProto3.MapStringStringEntry) _sym_db.RegisterMessage(TestAllTypesProto3.MapStringBytesEntry) _sym_db.RegisterMessage(TestAllTypesProto3.MapStringNestedMessageEntry) _sym_db.RegisterMessage(TestAllTypesProto3.MapStringForeignMessageEntry) _sym_db.RegisterMessage(TestAllTypesProto3.MapStringNestedEnumEntry) _sym_db.RegisterMessage(TestAllTypesProto3.MapStringForeignEnumEntry) ForeignMessage = _reflection.GeneratedProtocolMessageType('ForeignMessage', (_message.Message,), dict( DESCRIPTOR = _FOREIGNMESSAGE, __module__ = 'google.protobuf.test_messages_proto3_pb2' # @@protoc_insertion_point(class_scope:protobuf_test_messages.proto3.ForeignMessage) )) _sym_db.RegisterMessage(ForeignMessage) DESCRIPTOR.has_options = True DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n(com.google.protobuf_test_messages.proto3H\001\370\001\001\242\002\006Proto3')) _TESTALLTYPESPROTO3_MAPINT32INT32ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPINT32INT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPINT64INT64ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPINT64INT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPUINT32UINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPUINT64UINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSINT32SINT32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSINT64SINT64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPFIXED32FIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPFIXED64FIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSFIXED32SFIXED32ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSFIXED64SFIXED64ENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPINT32FLOATENTRY.has_options = True _TESTALLTYPESPROTO3_MAPINT32FLOATENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRY.has_options = True _TESTALLTYPESPROTO3_MAPINT32DOUBLEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPBOOLBOOLENTRY.has_options = True _TESTALLTYPESPROTO3_MAPBOOLBOOLENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSTRINGSTRINGENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSTRINGBYTESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSTRINGNESTEDMESSAGEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNMESSAGEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSTRINGNESTEDENUMENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRY.has_options = True _TESTALLTYPESPROTO3_MAPSTRINGFOREIGNENUMENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) _TESTALLTYPESPROTO3.fields_by_name['optional_string_piece'].has_options = True _TESTALLTYPESPROTO3.fields_by_name['optional_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPESPROTO3.fields_by_name['optional_cord'].has_options = True _TESTALLTYPESPROTO3.fields_by_name['optional_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) _TESTALLTYPESPROTO3.fields_by_name['repeated_string_piece'].has_options = True _TESTALLTYPESPROTO3.fields_by_name['repeated_string_piece']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\002')) _TESTALLTYPESPROTO3.fields_by_name['repeated_cord'].has_options = True _TESTALLTYPESPROTO3.fields_by_name['repeated_cord']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\010\001')) # @@protoc_insertion_point(module_scope) PK!  protobuf/text_encoding.pynu[PK! Ͼ,,Rprotobuf/message.pynu[PK!QtbbS?protobuf/__init__.pynu[PK!c+z(Fprotobuf/unittest_no_arena_import_pb2.pynu[PK!  Pprotobuf/source_context_pb2.pynu[PK!*``'AZprotobuf/unittest_custom_options_pb2.pynu[PK!@gƕ,Rprotobuf/unittest_no_generic_services_pb2.pynu[PK!l՚,,Cprotobuf/descriptor_database.pynu[PK!&' - -protobuf/wrappers_pb2.pynu[PK!E!protobuf/unittest_no_arena_pb2.pynu[PK!=  protobuf/any_test_pb2.pynu[PK!@\\protobuf/descriptor_pb2.pynu[PK!P=++Gprotobuf/service_reflection.pynu[PK!@D**sprotobuf/struct_pb2.pynu[PK!Pͷ#ܝprotobuf/symbol_database.pynu[PK!֗%Dprotobuf/unittest_proto3_arena_pb2.pynu[PK!8p):protobuf/unittest_mset_wire_format_pb2.pynu[PK! 7protobuf/__pycache__/proto_builder.cpython-36.opt-1.pycnu[PK!T6protobuf/__pycache__/duration_pb2.cpython-36.opt-1.pycnu[PK!NKQKQ/protobuf/__pycache__/json_format.cpython-36.pycnu[PK!yTT/Qprotobuf/__pycache__/text_format.cpython-36.pycnu[PK!80:[[+protobuf/__pycache__/any_pb2.cpython-36.pycnu[PK! 1protobuf/__pycache__/proto_builder.cpython-36.pycnu[PK!9P>protobuf/__pycache__/unittest_import_public_pb2.cpython-36.pycnu[PK!H'3protobuf/__pycache__/message_factory.cpython-36.pycnu[PK!Qq7protobuf/__pycache__/timestamp_pb2.cpython-36.opt-1.pycnu[PK!Duyuy2protobuf/__pycache__/descriptor_pb2.cpython-36.pycnu[PK!7H Jbprotobuf/__pycache__/unittest_no_generic_services_pb2.cpython-36.opt-1.pycnu[PK!;D222Hpprotobuf/__pycache__/field_mask_pb2.cpython-36.pycnu[PK!w Gxprotobuf/__pycache__/unittest_mset_wire_format_pb2.cpython-36.opt-1.pycnu[PK!\'(kk9`protobuf/__pycache__/descriptor_pool.cpython-36.opt-1.pycnu[PK!S+}}.protobuf/__pycache__/descriptor.cpython-36.pycnu[PK!zX665Xlprotobuf/__pycache__/text_format.cpython-36.opt-1.pycnu[PK!J 4 protobuf/__pycache__/reflection.cpython-36.opt-1.pycnu[PK!Kt!!2 protobuf/__pycache__/type_pb2.cpython-36.opt-1.pycnu[PK!T'DD3N4 protobuf/__pycache__/symbol_database.cpython-36.pycnu[PK!>Di9"9"1I protobuf/__pycache__/service.cpython-36.opt-1.pycnu[PK!)tORR0l protobuf/__pycache__/wrappers_pb2.cpython-36.pycnu[PK!Qq1A protobuf/__pycache__/timestamp_pb2.cpython-36.pycnu[PK!Kt!!,2 protobuf/__pycache__/type_pb2.cpython-36.pycnu[PK!˦0 6 protobuf/__pycache__/unittest_arena_pb2.cpython-36.pycnu[PK!h3 protobuf/__pycache__/empty_pb2.cpython-36.opt-1.pycnu[PK!q))1" protobuf/__pycache__/message.cpython-36.opt-1.pycnu[PK!J .k protobuf/__pycache__/reflection.cpython-36.pycnu[PK!x;I;I;f protobuf/__pycache__/map_proto2_unittest_pb2.cpython-36.pycnu[PK! &z. < protobuf/__pycache__/struct_pb2.cpython-36.pycnu[PK!Zl&oo=P protobuf/__pycache__/descriptor_database.cpython-36.opt-1.pycnu[PK!S+}}4[a protobuf/__pycache__/descriptor.cpython-36.opt-1.pycnu[PK!yV\ǚǚB protobuf/__pycache__/test_messages_proto2_pb2.cpython-36.opt-1.pycnu[PK!x;I;IAz protobuf/__pycache__/map_proto2_unittest_pb2.cpython-36.opt-1.pycnu[PK!)tORR6 protobuf/__pycache__/wrappers_pb2.cpython-36.opt-1.pycnu[PK!?t protobuf/__pycache__/unittest_custom_options_pb2.cpython-36.pycnu[PK!E3k3k3W protobuf/__pycache__/descriptor_pool.cpython-36.pycnu[PK!q))+n protobuf/__pycache__/message.cpython-36.pycnu[PK!ǍPP? protobuf/__pycache__/unittest_no_arena_pb2.cpython-36.opt-1.pycnu[PK!&; ; 7? protobuf/__pycache__/text_encoding.cpython-36.opt-1.pycnu[PK!NKQKQ5K protobuf/__pycache__/json_format.cpython-36.opt-1.pycnu[PK!w Ac protobuf/__pycache__/unittest_mset_wire_format_pb2.cpython-36.pycnu[PK!U MMF protobuf/__pycache__/unittest_no_arena_import_pb2.cpython-36.opt-1.pycnu[PK!h- protobuf/__pycache__/empty_pb2.cpython-36.pycnu[PK!T0ȶ protobuf/__pycache__/duration_pb2.cpython-36.pycnu[PK!XB protobuf/__pycache__/test_messages_proto3_pb2.cpython-36.opt-1.pycnu[PK! y~;1mprotobuf/__pycache__/unittest_mset_pb2.cpython-36.opt-1.pycnu[PK!5u4''6rprotobuf/__pycache__/service_reflection.cpython-36.pycnu[PK!z#1ަprotobuf/__pycache__/api_pb2.cpython-36.opt-1.pycnu[PK!5u4''<(protobuf/__pycache__/service_reflection.cpython-36.opt-1.pycnu[PK!ǍPP9protobuf/__pycache__/unittest_no_arena_pb2.cpython-36.pycnu[PK!9PD2protobuf/__pycache__/unittest_import_public_pb2.cpython-36.opt-1.pycnu[PK!;D228";protobuf/__pycache__/field_mask_pb2.cpython-36.opt-1.pycnu[PK!T'DD9Cprotobuf/__pycache__/symbol_database.cpython-36.opt-1.pycnu[PK!͕<iYprotobuf/__pycache__/source_context_pb2.cpython-36.opt-1.pycnu[PK!U MM@jbprotobuf/__pycache__/unittest_no_arena_import_pb2.cpython-36.pycnu[PK!NUUC'jprotobuf/__pycache__/unittest_proto3_arena_pb2.cpython-36.opt-1.pycnu[PK!yV\ǚǚ<Lprotobuf/__pycache__/test_messages_proto2_pb2.cpython-36.pycnu[PK!Duyuy8[protobuf/__pycache__/descriptor_pb2.cpython-36.opt-1.pycnu[PK!o@6\protobuf/__pycache__/unittest_pb2.cpython-36.opt-1.pycnu[PK!f"s s 7protobuf/__pycache__/unittest_import_pb2.cpython-36.pycnu[PK!>Di9"9"+iprotobuf/__pycache__/service.cpython-36.pycnu[PK!z#+protobuf/__pycache__/api_pb2.cpython-36.pycnu[PK!X<A protobuf/__pycache__/test_messages_proto3_pb2.cpython-36.pycnu[PK!80:[[1¹protobuf/__pycache__/any_pb2.cpython-36.opt-1.pycnu[PK!&; ; 1~protobuf/__pycache__/text_encoding.cpython-36.pycnu[PK!NUU=protobuf/__pycache__/unittest_proto3_arena_pb2.cpython-36.pycnu[PK!f"s s =9%protobuf/__pycache__/unittest_import_pb2.cpython-36.opt-1.pycnu[PK!H'92protobuf/__pycache__/message_factory.cpython-36.opt-1.pycnu[PK!˦0 <>Bprotobuf/__pycache__/unittest_arena_pb2.cpython-36.opt-1.pycnu[PK!F-BB4Mprotobuf/__pycache__/map_unittest_pb2.cpython-36.pycnu[PK!E\protobuf/__pycache__/unittest_custom_options_pb2.cpython-36.opt-1.pycnu[PK!9??,mprotobuf/__pycache__/__init__.cpython-36.pycnu[PK! &z4aoprotobuf/__pycache__/struct_pb2.cpython-36.opt-1.pycnu[PK!0px0ڃprotobuf/__pycache__/any_test_pb2.cpython-36.pycnu[PK!9??2protobuf/__pycache__/__init__.cpython-36.opt-1.pycnu[PK!o@0protobuf/__pycache__/unittest_pb2.cpython-36.pycnu[PK!Zl&oo7protobuf/__pycache__/descriptor_database.cpython-36.pycnu[PK!0px6protobuf/__pycache__/any_test_pb2.cpython-36.opt-1.pycnu[PK!͕6protobuf/__pycache__/source_context_pb2.cpython-36.pycnu[PK!7H Dprotobuf/__pycache__/unittest_no_generic_services_pb2.cpython-36.pycnu[PK!F-BB: protobuf/__pycache__/map_unittest_pb2.cpython-36.opt-1.pycnu[PK! y~5Qprotobuf/__pycache__/unittest_mset_pb2.cpython-36.pycnu[PK!X~ ~ cprotobuf/any_pb2.pynu[PK!+,;<<nprotobuf/unittest_pb2.pynu[PK!vYY#ޫprotobuf/map_proto2_unittest_pb2.pynu[PK!^protobuf/reflection.pynu[PK!%2protobuf/descriptor.pynu[PK!Lj 3protobuf/timestamp_pb2.pynu[PK!Cv v >protobuf/field_mask_pb2.pynu[PK!̖Hprotobuf/unittest_arena_pb2.pynu[PK!Os++Zprotobuf/map_unittest_pb2.pynu[PK!r  ImN#protobuf/internal/import_test_package/__pycache__/__init__.cpython-36.pycnu[PK!>r  OO#protobuf/internal/import_test_package/__pycache__/__init__.cpython-36.opt-1.pycnu[PK!A} 2}Q#protobuf/internal/import_test_package/outer_pb2.pynu[PK!2_\#protobuf/internal/import_test_package/inner_pb2.pynu[PK!We#protobuf/internal/__init__.pynu[PK!)e#protobuf/internal/symbol_database_test.pynu[PK!z z0z0.{#protobuf/internal/descriptor_pool_test2_pb2.pynu[PK!v' ' %Ь#protobuf/internal/message_listener.pynu[PK!-}66(L#protobuf/internal/unknown_fields_test.pynu[PK!g[a[a&#protobuf/internal/factory_test2_pb2.pynu[PK!W3v'protobuf/internal/__pycache__/enum_type_wrapper.cpython-36.pycnu[PK!EWcc6'protobuf/internal/__pycache__/test_util.cpython-36.pycnu[PK!pOO=P(protobuf/internal/__pycache__/containers.cpython-36.opt-1.pycnu[PK!I2 Ky(protobuf/internal/__pycache__/test_bad_identifiers_pb2.cpython-36.opt-1.pycnu[PK! DҮ(protobuf/internal/__pycache__/more_messages_pb2.cpython-36.opt-1.pycnu[PK!>;;@(protobuf/internal/__pycache__/more_extensions_pb2.cpython-36.pycnu[PK!+BBM(protobuf/internal/__pycache__/message_set_extensions_pb2.cpython-36.opt-1.pycnu[PK!ۜ Dx(protobuf/internal/__pycache__/enum_type_wrapper.cpython-36.opt-1.pycnu[PK!*[[G(protobuf/internal/__pycache__/message_factory_test.cpython-36.opt-1.pycnu[PK!&KKAZ(protobuf/internal/__pycache__/python_message.cpython-36.opt-1.pycnu[PK! ?)protobuf/internal/__pycache__/api_implementation.cpython-36.pycnu[PK!8Z;::Jn)protobuf/internal/__pycache__/service_reflection_test.cpython-36.opt-1.pycnu[PK!i~=")protobuf/internal/__pycache__/message_listener.cpython-36.pycnu[PK!u##@|)protobuf/internal/__pycache__/type_checkers.cpython-36.opt-1.pycnu[PK! E)protobuf/internal/__pycache__/api_implementation.cpython-36.opt-1.pycnu[PK! 5@xpxp=)protobuf/internal/__pycache__/json_format_test.cpython-36.pycnu[PK!>;;Fd*protobuf/internal/__pycache__/more_extensions_pb2.cpython-36.opt-1.pycnu[PK!=L  Et*protobuf/internal/__pycache__/proto_builder_test.cpython-36.opt-1.pycnu[PK!=L  ?~*protobuf/internal/__pycache__/proto_builder_test.cpython-36.pycnu[PK!I2 E*protobuf/internal/__pycache__/test_bad_identifiers_pb2.cpython-36.pycnu[PK!-l>*protobuf/internal/__pycache__/wire_format.cpython-36.opt-1.pycnu[PK!F@. . Hc*protobuf/internal/__pycache__/file_options_test_pb2.cpython-36.opt-1.pycnu[PK!8Z;::D *protobuf/internal/__pycache__/service_reflection_test.cpython-36.pycnu[PK!Mܺ**;*protobuf/internal/__pycache__/generator_test.cpython-36.pycnu[PK!\p] ] N5*protobuf/internal/__pycache__/more_extensions_dynamic_pb2.cpython-36.opt-1.pycnu[PK!{]]:+protobuf/internal/__pycache__/encoder.cpython-36.opt-1.pycnu[PK!G2TTE2_+protobuf/internal/__pycache__/text_encoding_test.cpython-36.opt-1.pycnu[PK!//Hd+protobuf/internal/__pycache__/packed_field_test_pb2.cpython-36.opt-1.pycnu[PK!)D+protobuf/internal/__pycache__/factory_test1_pb2.cpython-36.opt-1.pycnu[PK!\p] ] H+protobuf/internal/__pycache__/more_extensions_dynamic_pb2.cpython-36.pycnu[PK!%PPH+protobuf/internal/__pycache__/well_known_types_test.cpython-36.opt-1.pycnu[PK!VռeeC*+protobuf/internal/__pycache__/well_known_types.cpython-36.opt-1.pycnu[PK! >YZ,protobuf/internal/__pycache__/more_messages_pb2.cpython-36.pycnu[PK!]99Be,protobuf/internal/__pycache__/reflection_test.cpython-36.opt-1.pycnu[PK!`TK^K^4-protobuf/internal/__pycache__/encoder.cpython-36.pycnu[PK!G2TT?-protobuf/internal/__pycache__/text_encoding_test.cpython-36.pycnu[PK!s!RnnJd.protobuf/internal/__pycache__/missing_enum_values_pb2.cpython-36.opt-1.pycnu[PK!]>]]KL.protobuf/internal/__pycache__/descriptor_database_test.cpython-36.opt-1.pycnu[PK!ut9$ .protobuf/internal/__pycache__/message_test.cpython-36.pycnu[PK!//BL /protobuf/internal/__pycache__/packed_field_test_pb2.cpython-36.pycnu[PK!F@. . B*/protobuf/internal/__pycache__/file_options_test_pb2.cpython-36.pycnu[PK!n qqA4/protobuf/internal/__pycache__/descriptor_pool_test.cpython-36.pycnu[PK!{!!F/protobuf/internal/__pycache__/descriptor_pool_test1_pb2.cpython-36.pycnu[PK!Btt<D/protobuf/internal/__pycache__/descriptor_test.cpython-36.pycnu[PK!3 =K>0protobuf/internal/__pycache__/testing_refleaks.cpython-36.pycnu[PK!\f##@J0protobuf/internal/__pycache__/unknown_fields_test.cpython-36.pycnu[PK!=ٗAn0protobuf/internal/__pycache__/symbol_database_test.cpython-36.pycnu[PK!u##:}0protobuf/internal/__pycache__/type_checkers.cpython-36.pycnu[PK!s!RnnD0protobuf/internal/__pycache__/missing_enum_values_pb2.cpython-36.pycnu[PK!3 Cʴ0protobuf/internal/__pycache__/testing_refleaks.cpython-36.opt-1.pycnu[PK!=ٗG0protobuf/internal/__pycache__/symbol_database_test.cpython-36.opt-1.pycnu[PK!*[[A0protobuf/internal/__pycache__/message_factory_test.cpython-36.pycnu[PK!n qqG0protobuf/internal/__pycache__/descriptor_pool_test.cpython-36.opt-1.pycnu[PK!i~CBX1protobuf/internal/__pycache__/message_listener.cpython-36.opt-1.pycnu[PK!͡vg*g*>a1protobuf/internal/__pycache__/factory_test2_pb2.cpython-36.pycnu[PK!Мk=w1protobuf/internal/__pycache__/text_format_test.cpython-36.pycnu[PK!ʎ٫44AmH2protobuf/internal/__pycache__/_parameterized.cpython-36.opt-1.pycnu[PK!.6.6;}2protobuf/internal/__pycache__/_parameterized.cpython-36.pycnu[PK!]99<%2protobuf/internal/__pycache__/reflection_test.cpython-36.pycnu[PK!9WW?3protobuf/internal/__pycache__/message_test.cpython-36.opt-1.pycnu[PK!{!!LH4protobuf/internal/__pycache__/descriptor_pool_test1_pb2.cpython-36.opt-1.pycnu[PK! 5@xpxpC4protobuf/internal/__pycache__/json_format_test.cpython-36.opt-1.pycnu[PK!\f##Fl5protobuf/internal/__pycache__/unknown_fields_test.cpython-36.opt-1.pycnu[PK!BttBѐ5protobuf/internal/__pycache__/descriptor_test.cpython-36.opt-1.pycnu[PK!YPRPR46protobuf/internal/__pycache__/decoder.cpython-36.pycnu[PK!iy$bb<X6protobuf/internal/__pycache__/test_util.cpython-36.opt-1.pycnu[PK!tcqq56protobuf/internal/__pycache__/__init__.cpython-36.pycnu[PK! 9996protobuf/internal/__pycache__/any_test_pb2.cpython-36.pycnu[PK!tcqq;^6protobuf/internal/__pycache__/__init__.cpython-36.opt-1.pycnu[PK!x׺=:6protobuf/internal/__pycache__/wire_format_test.cpython-36.pycnu[PK!x׺Ca6protobuf/internal/__pycache__/wire_format_test.cpython-36.opt-1.pycnu[PK! 99?6protobuf/internal/__pycache__/any_test_pb2.cpython-36.opt-1.pycnu[PK!ЏF67protobuf/internal/__pycache__/descriptor_pool_test2_pb2.cpython-36.pycnu[PK!%PPBy7protobuf/internal/__pycache__/well_known_types_test.cpython-36.pycnu[PK!͡vg*g*Dp7protobuf/internal/__pycache__/factory_test2_pb2.cpython-36.opt-1.pycnu[PK!]>]]E7protobuf/internal/__pycache__/descriptor_database_test.cpython-36.pycnu[PK!Mܺ**AY7protobuf/internal/__pycache__/generator_test.cpython-36.opt-1.pycnu[PK!1.aRR:7protobuf/internal/__pycache__/decoder.cpython-36.opt-1.pycnu[PK!)>H!8protobuf/internal/__pycache__/factory_test1_pb2.cpython-36.pycnu[PK!-l828protobuf/internal/__pycache__/wire_format.cpython-36.pycnu[PK!Vռee=8L8protobuf/internal/__pycache__/well_known_types.cpython-36.pycnu[PK!Hi^l%%)a8protobuf/internal/message_factory_test.pynu[PK!KVnn%i8protobuf/internal/well_known_types.pynu[PK!]@ @ 'AG9protobuf/internal/text_encoding_test.pynu[PK!\ff0R9protobuf/internal/more_extensions_dynamic_pb2.pynu[PK! d99#f9protobuf/internal/generator_test.pynu[PK!Ӈ *9protobuf/internal/file_options_test_pb2.pynu[PK!\=!!/ެ9protobuf/internal/message_set_extensions_pb2.pynu[PK!.[nVnV!X9protobuf/internal/message_test.pynu[PK!\<\<#%;protobuf/internal/_parameterized.pynu[PK!a a;protobuf/internal/wire_format.pynu[PK!sݴ&;protobuf/internal/more_messages_pb2.pynu[PK!s`%%,;protobuf/internal/missing_enum_values_pb2.pynu[PK!qKb%;protobuf/internal/text_format_test.pynu[PK!?Udd*<protobuf/internal/well_known_types_test.pynu[PK!xG'C=protobuf/internal/proto_builder_test.pynu[PK!K5QQR=protobuf/internal/containers.pynu[PK!Dġġ%=protobuf/internal/json_format_test.pynu[PK!W'&F>protobuf/internal/factory_test1_pb2.pynu[PK!C/9z9ze>protobuf/internal/decoder.pynu[PK! ;'#>protobuf/internal/api_implementation.pynu[PK!~Mb)>protobuf/internal/descriptor_pool_test.pynu[PK!_kEX77-?protobuf/internal/test_bad_identifiers_pb2.pynu[PK!&q=**%?protobuf/internal/wire_format_test.pynu[PK!R" 11$v?protobuf/internal/descriptor_test.pynu[PK!.C$@protobuf/internal/reflection_test.pynu[PK!O}%@Bprotobuf/internal/testing_refleaks.pynu[PK!fX  ,1Bprotobuf/internal/service_reflection_test.pynu[PK!FНQQ.Bprotobuf/internal/descriptor_pool_test1_pb2.pynu[PK!gBprotobuf/text_format.pynu[PK!EXXCprotobuf/proto_builder.pynu[PK!O=bCprotobuf/empty_pb2.pynu[PK!BHFCprotobuf/unittest_import_pb2.pynu[PK!W;̤̤$Cprotobuf/test_messages_proto2_pb2.pynu[PK!X9&&Eprotobuf/unittest_mset_pb2.pynu[PK!mcUcUEprotobuf/type_pb2.pynu[PK!-Fprotobuf/pyext/__init__.pynu[PK!?`Z%%iFprotobuf/pyext/python_pb2.pynu[PK!TFpp5>Fprotobuf/pyext/__pycache__/cpp_message.cpython-36.pycnu[PK!uΘaa:{DFprotobuf/pyext/__pycache__/python_pb2.cpython-36.opt-1.pycnu[PK!uΘaa4FWFprotobuf/pyext/__pycache__/python_pb2.cpython-36.pycnu[PK!TFpp; jFprotobuf/pyext/__pycache__/cpp_message.cpython-36.opt-1.pycnu[PK!g2oFprotobuf/pyext/__pycache__/__init__.cpython-36.pycnu[PK!g8YqFprotobuf/pyext/__pycache__/__init__.cpython-36.opt-1.pycnu[PK!6# # rFprotobuf/pyext/cpp_message.pynu[PK!+**B~Fprotobuf/api_pb2.pynu[PK!rrFprotobuf/json_format.pynu[PK! Q:& & &nGprotobuf/unittest_import_public_pb2.pynu[PK!zQ//$$Gprotobuf/test_messages_proto3_pb2.pynu[PKymH