HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/site-packages/google/protobuf/__pycache__/json_format.cpython-38.pyc
U

ID�g���@s�dZdZddlZddlmZddlZddlZddlmZddl	Z	ddl
mZddl
mZddl
m
Z
dd	lmZeejjejjejjejjg�Zeejjejjg�Zeejjejjg�Zd
ZdZdZe	�d
�Ze	�d�Z Gdd�de!�Z"Gdd�de"�Z#Gdd�de"�Z$Gdd�de$�Z%dBdd�Z&dCdd�Z'dd�Z(Gd d!�d!e)�Z*d"d#�Z+d$d%�Z,d&d'�Z-dDd)d*�Z.dEd+d,�Z/e0e1fZ2Gd-d.�d.e)�Z3dFd/d0�Z4d1d2�Z5d3d4�Z6d5d6�Z7d7d8gd9d:gd9d:gd;d<gd=d>gd9d:gd?d@gdA�Z8dS)GatContains 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)�N)�OrderedDict)�methodcaller)�
descriptor)�message_factory)�symbol_database)�
type_checkers�Infinityz	-Infinity�NaNu.[�-�](?![�-�])|(?<![�-�])[�-�]z\[[a-zA-Z0-9\._]*\]$c@seZdZdZdS)�Errorz'Top-level module error for json_format.N��__name__�
__module__�__qualname__�__doc__�rr�H/opt/cppython/lib/python3.8/site-packages/google/protobuf/json_format.pyr
=sr
c@seZdZdZdS)�SerializeToJsonErrorz&Thrown if serialization to JSON fails.NrrrrrrAsrc@seZdZdZdS)�
ParseErrorz Thrown in case of parsing error.NrrrrrrEsrc@seZdZdZdS)�EnumStringValueParseErrorzvThrown if unknown string enum value is encountered.
  This exception is suppressed if ignore_unknown_fields is set.
  NrrrrrrIsrF�Tc	
Cs t|||||�}	|	�||||�S)a&Converts protobuf message to JSON format.

  Args:
    message: The protocol buffers message instance to serialize.
    always_print_fields_with_no_presence: If True, fields without
      presence (implicit presence scalars, repeated fields, and map fields) will
      always be serialized. Any field that supports presence is not affected by
      this option (including singular message fields and oneof fields).
    preserving_proto_field_name: If True, use the original proto field names as
      defined in the .proto file. If False, convert the field names to
      lowerCamelCase.
    indent: The JSON object will be pretty-printed with this indent level. An
      indent level of 0 or negative will only insert newlines. If the indent
      level is None, no newlines will be inserted.
    sort_keys: If True, then the output will be sorted by field names.
    use_integers_for_enums: If true, print integers instead of enum names.
    descriptor_pool: A Descriptor Pool for resolving types. If None use the
      default.
    float_precision: If set, use this to specify float field valid digits.
    ensure_ascii: If True, strings with non-ASCII characters are escaped. If
      False, Unicode strings are returned unchanged.

  Returns:
    A string containing the JSON formatted protocol buffer message.
  )�_Printer�ToJsonString)
�message�preserving_proto_field_name�indent�	sort_keys�use_integers_for_enums�descriptor_pool�float_precision�ensure_ascii�$always_print_fields_with_no_presence�printerrrr�
MessageToJsonOs$�r"cCst|||||�}|�|�S)a�Converts protobuf message to a dictionary.

  When the dictionary is encoded to JSON, it conforms to proto3 JSON spec.

  Args:
    message: The protocol buffers message instance to serialize.
    always_print_fields_with_no_presence: If True, fields without
      presence (implicit presence scalars, repeated fields, and map fields) will
      always be serialized. Any field that supports presence is not affected by
      this option (including singular message fields and oneof fields).
    preserving_proto_field_name: If True, use the original proto field names as
      defined in the .proto file. If False, convert the field names to
      lowerCamelCase.
    use_integers_for_enums: If true, print integers instead of enum names.
    descriptor_pool: A Descriptor Pool for resolving types. If None use the
      default.
    float_precision: If set, use this to specify float field valid digits.

  Returns:
    A dict representation of the protocol buffer message.
  )r�_MessageToJsonObject)rr rrrrr!rrr�
MessageToDict}s�r$cCs"|jtjjko |jjo |j��jS�N)�typer�FieldDescriptorZTYPE_MESSAGE�message_typeZhas_optionsZ
GetOptionsZ	map_entry)�fieldrrr�_IsMapEntry�s
�
�r*c@sjeZdZdZddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)rz)JSON format printer for protocol message.FNcCs4||_||_||_||_|r*d�|�|_nd|_dS)Nz.{}g)r rrr�format�float_format)�selfrrrrr rrr�__init__�s	�z_Printer.__init__cCs|�|�}tj||||d�S)N)rrr)r#�json�dumps)r-rrrr�jsrrrr�s
�z_Printer.ToJsonStringcCsL|j}|j}t|�r|�|�S|tkr<tt|d|�|�Si}|�||�S)zEConverts message to an object according to Proto3 JSON Specification.r)�
DESCRIPTOR�	full_name�_IsWrapperMessage�_WrapperMessageToJsonObject�_WKTJSONMETHODSr�_RegularMessageToJsonObject)r-r�message_descriptorr3r1rrrr#�s
z_Printer._MessageToJsonObjectc
s�|��}�zp|D]�\�}�jr&�j}n�j}t��r��jjd}i}|D]:}t|t�rf|r`d}	qnd}	nt	|�}	��
|||�||	<qH|||<q�jtj
jkr���fdd�|D�||<q�jr�d�j}��
�|�||<q��
�|�||<q�j�rx|j}
|
jD]x��j�r�j�rq��j�r$�j}n�j}||k�r6q�t���rJi||<q��jtj
jk�rdg||<q���
��j�||<q�Wn8tk
�r�}ztd��j|��|�W5d}~XYnX|S)	z?Converts normal message according to Proto3 JSON Specification.�value�true�falsecsg|]}���|��qSr)�_FieldToJsonObject)�.0�k�r)r-rr�
<listcomp>�sz8_Printer._RegularMessageToJsonObject.<locals>.<listcomp>z[%s]z#Failed to serialize {0} field: {1}.N)�
ListFieldsr�name�	json_namer*r(�fields_by_name�
isinstance�bool�strr<�labelrr'�LABEL_REPEATED�is_extensionr3r r2�fieldsZhas_presence�
default_value�
ValueErrorrr+)r-rr1rKr9rBZv_fieldZjs_map�keyZrecorded_keyr8�err?rr7�sb


�
��



��z$_Printer._RegularMessageToJsonObjectcCsD|jtjjkr|�|�S|jtjjkrv|jr0|S|jjdkr@dS|jj	�
|d�}|dk	r^|jS|jjrpt
d��n|Sn�|jtjjkr�|jtjjkr�t�|��d�St|�Sn�|jtjjkr�t|�S|jtkr�t|�S|jtk�r@t�|��r�|dk�r�tStSt�|��rtS|jtjjk�r@|j �r6t!t"||j ��St#�$|�S|S)z<Converts field value according to Proto3 JSON Specification.�google.protobuf.NullValueNzKEnum field contains an integer value which can not mapped to an enum value.�utf-8g)%�cpp_typerr'�CPPTYPE_MESSAGEr#�CPPTYPE_ENUMr�	enum_typer3�values_by_number�getrB�	is_closedr�CPPTYPE_STRINGr&�
TYPE_BYTES�base64�	b64encode�decoderG�CPPTYPE_BOOLrF�_INT64_TYPES�_FLOAT_TYPES�math�isinf�
_NEG_INFINITY�	_INFINITY�isnan�_NAN�
CPPTYPE_FLOATr,�floatr+rZToShortestFloat)r-r)r9�
enum_valuerrrr<sF
�



z_Printer._FieldToJsonObjectcCs�|��siSt�}|j}||d<t||j�}|�|j�|j}|j}t	|�r^|�
|�|d<|S|tkr�tt|d|�|�|d<|S|�
||�S)z<Converts Any message according to Proto3 JSON Specification.�@typer9r)rAr�type_url�_CreateMessageFromTypeUrlrZParseFromStringr9r2r3r4r5r6rr7)r-rr1rk�sub_messager8r3rrr�_AnyMessageToJsonObjectGs$�z _Printer._AnyMessageToJsonObjectcCs|��S)z8Converts message according to Proto3 JSON Specification.)r�r-rrrr�_GenericMessageToJsonObject]sz$_Printer._GenericMessageToJsonObjectcCs�|�d�}|dks|dkrdS|dkr2|�|j�S|dkrf|j}t�|�rRtd��t�|�rptd��n
t||�}|j	j
|}|�||�S)z>Converts Value message according to Proto3 JSON Specification.�kindN�
null_value�
list_value�number_valuezTFail to serialize Infinity for Value.number_value, which would parse as string_valuezOFail to serialize NaN for Value.number_value, which would parse as string_value)Z
WhichOneof�_ListValueMessageToJsonObjectrsrtrarbrMre�getattrr2rDr<)r-r�whichr9Zoneof_descriptorrrr�_ValueMessageToJsonObjectcs$

�
�
z"_Printer._ValueMessageToJsonObjectcs�fdd�|jD�S)zBConverts ListValue message according to Proto3 JSON Specification.csg|]}��|��qSr)rx)r=r9�r-rrr@sz:_Printer._ListValueMessageToJsonObject.<locals>.<listcomp>)�valuesrorryrru}sz&_Printer._ListValueMessageToJsonObjectcCs*|j}i}|D]}|�||�||<q|S)z?Converts Struct message according to Proto3 JSON Specification.)rKrx)r-rrK�retrNrrr�_StructMessageToJsonObject�s
z#_Printer._StructMessageToJsonObjectcCs|�|jjd|j�S)Nr9)r<r2rDr9rorrrr5�s
�z$_Printer._WrapperMessageToJsonObject)FFNNF)rr
rrr.rr#r7r<rnrprxrur|r5rrrrr�s"�
E.rcCs|jjdkS)Nzgoogle/protobuf/wrappers.proto)�filerB)r8rrrr4�sr4cCs4i}|D]&\}}||kr&td�|���|||<q|S)Nz'Failed to load JSON: duplicate key {0}.)rr+)r1�resultrBr9rrr�_DuplicateChecker�s
rc
Cszt��}|dkr|jn|}|�d�d}z|�|�}Wn2tk
rh}ztd�|��|�W5d}~XYnXt�	|�}|�S)z"Creates a message from a type URL.N�/���z0Can not find message descriptor by type_url: {0})
rZDefault�pool�splitZFindMessageTypeByName�KeyError�	TypeErrorr+rZGetMessageClass)rkr�dbr��	type_namer8rOZ
message_classrrrrl�s��
rl�dc
Cs�t|t�s|�d�}ztj|td�}Wn6tk
r\}ztd�t|���|�W5d}~XYnXzt	|||||�WStk
r�}z|�W5d}~XYn>tk
r�}z td�t
|�jt|���|�W5d}~XYnXdS)alParses 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.
    descriptor_pool: A Descriptor Pool for resolving types. If None use the
      default.
    max_recursion_depth: max recursion depth of JSON message to be deserialized.
      JSON messages over this depth will fail to be deserialized. Default value
      is 100.

  Returns:
    The same message passed as argument.

  Raises::
    ParseError: On JSON parsing problems.
  rQ)�object_pairs_hookzFailed to load JSON: {0}.NzFailed to parse JSON: {0}: {1}.)rErGr]r/�loadsr�	Exceptionrr+�	ParseDictr&r)�textr�ignore_unknown_fieldsr�max_recursion_depthr1rOrrr�Parse�s,

&���r�cCst|||�}|�||d�|S)a8Parses 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.
    descriptor_pool: A Descriptor Pool for resolving types. If None use the
      default.
    max_recursion_depth: max recursion depth of JSON message to be deserialized.
      JSON messages over this depth will fail to be deserialized. Default value
      is 100.

  Returns:
    The same message passed as argument.
  �)�_Parser�ConvertMessage)Zjs_dictrr�rr��parserrrrr��sr�c@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)r�z(JSON format parser for protocol message.cCs||_||_||_d|_dS)Nr)r�rr��recursion_depth)r-r�rr�rrrr.�sz_Parser.__init__cCs�|jd7_|j|jkr*td�|j���|j}|j}|s@|j}t|�rX|�|||�n2|t	kr|t
t	|d|||�|�n|�|||�|jd8_dS)aConvert a JSON object into a message.

    Args:
      value: A JSON object.
      message: A WKT or regular protocol message to record the data.
      path: parent path to log parse error info.

    Raises:
      ParseError: In case of convert problems.
    �z,Message too deep. Max recursion depth is {0}N)r�r�rr+r2r3rBr4�_ConvertWrapperMessager6r�_ConvertFieldValuePair)r-r9r�pathr8r3rrrr�s"��z_Parser.ConvertMessagecCsVg}|j}tdd�|jD��}|D�],}�zd|�|d�}|sJ|j�|d�}|s�t�|�r�|jsptd�	|j
|���|dd�}	|j�|	�}|s�d�
|	�d�dd��}	|j�|	�}|s�|jr�Wq"td�	|j
||d	d
�|jD����||kr�td�	|jj
||���|�|�||}
|jdk	�rX|
dk	�rX|jj}||k�rNtd�	|jj
||���|�|�|
dk�r�|jtjjk�r�|jj
d
k�r�t||j�}d|_n:|jtjjk�r�|jj
dk�r�t||jd�n|�|j�Wq"t|��r|�|j�|�|
||d�	||���n�|j tjj!k�r|�|j�t"|
t#��s>td�	||
|���|jtjjk�r�t$|
�D]\\}
}t||j��%�}|dk�r�|jj
d
k�r�td�	|||
���|�&||d�	|||
���qVnJt$|
�D]@\}
}|dk�r�td�	|||
���|�'|||d�	|||
���q�n�|jtjjk�rR|j(�r&|j|}nt||j�}|�)�|�&|
|d�	||��n:|j(�rt|�*|||
d�	||��n|�+|||
d�	||��Wq"tk
�r�}z8|�r�|jdk�r�td�	||��|�ntt,|��|�W5d}~XYq"t-k
�r}ztd�	||��|�W5d}~XYq"t.k
�rN}ztd�	||��|�W5d}~XYq"Xq"dS)a'Convert 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.
      path: parent path to log parse error info.

    Raises:
      ParseError: In case of problems converting.
    css|]}|j|fVqdSr%�rC�r=�frrr�	<genexpr>,sz1_Parser._ConvertFieldValuePair.<locals>.<genexpr>Nz0Message type {0} does not have extensions at {1}r�r��.zaMessage type "{0}" has no field named "{1}" at "{2}".
 Available Fields(except extensions): "{3}"cSsg|]
}|j�qSrr�r�rrrr@Qsz2_Parser._ConvertFieldValuePair.<locals>.<listcomp>zBMessage type "{0}" should not have multiple "{1}" fields at "{2}".zHMessage type "{0}" should not have multiple "{1}" oneof fields at "{2}".�google.protobuf.ValuerrP�{0}.{1}z4repeated field {0} must be in [] which is {1} at {2}zPnull is not allowed to be used as an element in a repeated field at {0}.{1}[{2}]z{0}.{1}[{2}]zFailed to parse {0} field: {1}.)/r2�dictrKrWrD�_VALID_EXTENSION_NAME�matchZ
is_extendablerr+r3�
ExtensionsZ_FindExtensionByName�joinr�r��appendZcontaining_oneofrBrRrr'rSr(rvrrrTrU�setattr�
ClearFieldr*�_ConvertMapFieldValuerHrIrE�list�	enumerate�addr��_ConvertAndAppendScalarrJZSetInParent�_ConvertAndSetScalarExtension�_ConvertAndSetScalarrGrMr�)r-r1rr��namesr8Zfields_by_json_namerBr)�
identifierr9Z
oneof_namerm�index�itemrOrrrr�s2�
�������

��

�
��
�

���������

���

��
��
��z_Parser._ConvertFieldValuePairc	
Cs$t|t�r|sdSz|d}Wn2tk
rP}ztd�|��|�W5d}~XYnXzt||j�}Wn4tk
r�}ztd�||��|�W5d}~XYnX|j}|j	}t
|�r�|�|d|d�|��nJ|tkr�t
t|d|d|d�|��|�n|d=|�|||�||d<|��|_||_dS)z/Convert a JSON representation into Any message.Nrjz0@type is missing when parsing any message at {0}�
{0} at {1}r9�	{0}.valuer�)rEr�r�rr+rlrr�r2r3r4r�r6rr�ZSerializeToStringr9rk)	r-r9rr�rkrOrmr8r3rrr�_ConvertAnyMessage�sH��$�
��
z_Parser._ConvertAnyMessagec
CsHz|�|�Wn4tk
rB}ztd�||��|�W5d}~XYnXdS)z?Convert a JSON representation into message with FromJsonString.r�N)ZFromJsonStringrMrr+)r-r9rr�rOrrr�_ConvertGenericMessage�sz_Parser._ConvertGenericMessagecCs�t|t�r|�||j|�nxt|t�r8|�||j|�n\|dkrHd|_nLt|t�rZ||_	n:t|t
�rl||_n(t|t�r~||_
ntd�|t|�|���dS)z1Convert a JSON representation into Value message.Nrz(Value {0} has unexpected type {1} at {2})rEr��_ConvertStructMessageZstruct_valuer��_ConvertListValueMessagersrrrFZ
bool_valuerGZstring_value�
_INT_OR_FLOATrtrr+r&)r-r9rr�rrr�_ConvertValueMessage�s&




��z_Parser._ConvertValueMessagec	CsVt|t�std�||���|�d�t|�D]$\}}|�||j��d�||��q,dS)z5Convert a JSON representation into ListValue message.z+ListValue must be in [] which is {0} at {1}rz�{0}[{1}]N)	rEr�rr+r�r�r�rzr�)r-r9rr�r�r�rrrr�s

�

�z _Parser._ConvertListValueMessagec	CsPt|t�std�||���|��|D]$}|�|||j|d�||��q&dS)z2Convert a JSON representation into Struct message.z,Struct must be in a dict which is {0} at {1}r�N)rEr�rr+ZClearr�rK)r-r9rr�rNrrrr�s

�
�z_Parser._ConvertStructMessagecCs(|jjd}|j|||d�|�d�dS)z3Convert a JSON representation into Wrapper message.r9r��r�N)r2rDr�r+)r-r9rr�r)rrrr�sz_Parser._ConvertWrapperMessagec	
Cs�t|t�std�|j||���|jjd}|jjd}|D]n}t||d�|�d�}|jt	j
jkr�|�||t
||j�|d�||��q:|j|||||d�||�d�q:dS)	afConvert 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.
      path: parent path to log parse error info.

    Raises:
      ParseError: In case of convert problems.
    z3Map field {0} must be in a dict which is {1} at {2}rNr9z{0}.keyTr�r�N)rEr�rr+rBr(rD�_ConvertScalarFieldValuerRrr'rSr�rv�_ConvertAndSetScalarToMapKey)	r-r9rr)r�Z	key_fieldZvalue_fieldrN�	key_valuerrrr�$s<
���
�
�z_Parser._ConvertMapFieldValuecCs8zt|||�|j|<Wntk
r2|js.�YnXdS)zRConvert scalar from js_value and assign it to message.Extensions[extension_field].N)r�r�rr�)r-rZextension_field�js_valuer�rrrr�Js�z%_Parser._ConvertAndSetScalarExtensioncCs<zt||jt|||��Wntk
r6|js2�YnXdS)z<Convert scalar from js_value and assign it to message.field.N)r�rBr�rr�)r-rr)r�r�rrrr�Ss
�z_Parser._ConvertAndSetScalarcCs@zt||j��t|||��Wntk
r:|js6�YnXdS)zEConvert scalar from js_value and append it to message.repeated_field.N)rvrBr�r�rr�)r-rZrepeated_fieldr�r�rrrr�^s
�z_Parser._ConvertAndAppendScalarcCsFz$t||jjd|�t||j�|<Wntk
r@|js<�YnXdS)zNConvert scalar from 'js_value' and add it to message.map_field[converted_key].r9N)r�r(rDrvrBrr�)r-rZ	map_fieldZ
converted_keyr�r�rrrr�gs
�z$_Parser._ConvertAndSetScalarToMapKeyN)rr
rrr.r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s $$	&		r�c	
Cs��zv|jtkrt|�WS|jtkr.t||�WS|jtjjkrHt||�WS|jtjj	kr�|j
tjjkr�t|t
�rz|�d�}n|}|ddt|�d}t�|�WSt�|�r�td��|WSn�|jtjjk�rv|jj�|d�}|dk�rnzt|�}|jj�|d�}Wn:tk
�r<}ztd�||jj��|�W5d}~XYnX|dk�rn|jj�rhtd�||jj���n|WS|j WSWnjtk
�r�}ztd�||��|�W5d}~XYn6tk
�r�}ztd�||��|�W5d}~XYnXdS)a�Convert a single scalar field value.

  Args:
    value: A scalar value to convert the scalar field value.
    field: The descriptor of the field to convert.
    path: parent path to log parse error info.
    require_str: If True, the field value must be a str.

  Returns:
    The converted scalar field value

  Raises:
    ParseError: In case of convert problems.
    EnumStringValueParseError: In case of unknown enum string value.
  rQ�=�zUnpaired surrogateNz(Invalid enum value {0} for enum type {1}r�)!rR�
_INT_TYPES�_ConvertIntegerr`�
_ConvertFloatrr'r^�_ConvertBoolrYr&rZrErG�encode�lenr[�urlsafe_b64decode�_UNPAIRED_SURROGATE_PATTERN�searchrrTrUZvalues_by_namerW�intrVrMrr+r3rX�number)	r9r)r��require_str�encodedZpadded_valuerir�rOrrrr�rs\





���

��"r�cCsft|t�r |��s td�|���t|t�rF|�d�dkrFtd�|���t|t�r^td�|���t|�S)z�Convert an integer.

  Args:
    value: A scalar value to convert.

  Returns:
    The integer value.

  Raises:
    ParseError: If an integer couldn't be consumed.
  zCouldn't parse integer: {0}� r�zCouldn't parse integer: "{0}"z2Bool value {0} is not acceptable for integer field)	rErh�
is_integerrr+rG�findrFr�)r9rrrr��s
�r�c
Cst|t�rrt�|�rtd��t�|�r@|dkr8td��ntd��|jtjj	krr|t
jkr`td��|t
jkrrtd��|dkr�td��z
t|�WSt
k
�r}z\|tkr�td	�WY�FS|tkr�td
�WY�.S|tkr�td�WY�Std�|��|�W5d}~XYnXdS)
z!Convert an floating point number.z,Couldn't parse NaN, use quoted "NaN" insteadrzICouldn't parse Infinity or value too large, use quoted "Infinity" insteadzKCouldn't parse -Infinity or value too small, use quoted "-Infinity" insteadzFloat value too largezFloat value too small�nanz-Couldn't parse float "nan", use "NaN" insteadz-inf�infzCouldn't parse float: {0}N)rErhrarerrbrRrr'rgrZ
_FLOAT_MAXZ
_FLOAT_MINrMrcrdrfr+)r9r)rOrrrr��s8


��


r�cCs@|r*|dkrdS|dkrdStd�|���t|t�s<td��|S)z�Convert a boolean value.

  Args:
    value: A scalar value to convert.
    require_str: If True, value must be a str.

  Returns:
    The bool parsed.

  Raises:
    ParseError: If a boolean value couldn't be consumed.
  r:Tr;Fz#Expected "true" or "false", not {0}z%Expected true or false without quotes)rr+rErF)r9r�rrrr��s

r�rnr�rpr�rur�r|r�rxr�)zgoogle.protobuf.Anyzgoogle.protobuf.Durationzgoogle.protobuf.FieldMaskzgoogle.protobuf.ListValuezgoogle.protobuf.Structzgoogle.protobuf.Timestampr�)FrFFNNTF)FFFNN)FNr�)FNr�)F)9r�
__author__r[�collectionsrr/ra�operatorr�reZgoogle.protobufrrrZgoogle.protobuf.internalr�	frozensetr'Z
CPPTYPE_INT32ZCPPTYPE_UINT32Z
CPPTYPE_INT64ZCPPTYPE_UINT64r�r_rgZCPPTYPE_DOUBLEr`rdrcrf�compiler�r�r�r
rrrr"r$r*�objectrr4rrlr�r�r�rhr�r�r�r�r�r�r6rrrr�<module>s�����
�
0�
(c	�
0�
~
E(�������