zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
U
£ý°dàŽã@sÎdZdZddlZddlmZddlZddlZddlmZddl    Z    ddl
Z
ddl m Z ddl mZddl mZd    ZeejjejjejjejjgƒZeejjejjgƒZeejjejjgƒZd
Zd Zd Ze     d ¡Z e     d¡Z!Gdd„de"ƒZ#Gdd„de#ƒZ$Gdd„de#ƒZ%d@dd„Z&dAdd„Z'dd„Z(Gdd„de)ƒZ*d d!„Z+d"d#„Z,d$d%„Z-dBd'd(„Z.dCd)d*„Z/e0e1fZ2Gd+d,„d,e)ƒZ3dDd-d.„Z4d/d0„Z5d1d2„Z6d3d4„Z7d5d6gd7d8gd7d8gd9d:gd;d<gd7d8gd=d>gd?œZ8dS)EatContains 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)Ú type_checkers)Ú
descriptor)Úsymbol_databasez%Y-%m-%dT%H:%M:%SÚInfinityz    -InfinityÚNaNu.[í €-í¯¿](?![í°€-í¿¿])|(?<![í €-í¯¿])[í°€-í¿¿]z\[[a-zA-Z0-9\._]*\]$c@seZdZdZdS)ÚErrorz'Top-level module error for json_format.N©Ú__name__Ú
__module__Ú __qualname__Ú__doc__©rrúRd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\google/protobuf/json_format.pyr    Nsr    c@seZdZdZdS)ÚSerializeToJsonErrorz&Thrown if serialization to JSON fails.Nr
rrrrrRsrc@seZdZdZdS)Ú
ParseErrorz Thrown in case of parsing error.Nr
rrrrrVsrFéTc    
Cs"t|||||d}    |     ||||¡S)aÖConverts protobuf message to JSON format.
 
  Args:
    message: The protocol buffers message instance to serialize.
    including_default_value_fields: If True, singular primitive fields,
        repeated fields, and map fields will always be serialized.  If
        False, only serialize non-empty fields.  Singular message fields
        and oneof fields are not affected by this option.
    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.
    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.
  ©Úfloat_precision)Ú_PrinterÚ ToJsonString)
ÚmessageÚincluding_default_value_fieldsÚpreserving_proto_field_nameÚindentÚ    sort_keysÚuse_integers_for_enumsÚdescriptor_poolrÚ ensure_asciiÚprinterrrrÚ MessageToJsonZs"ûr!cCst|||||d}| |¡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.
    including_default_value_fields: If True, singular primitive fields,
        repeated fields, and map fields will always be serialized.  If
        False, only serialize non-empty fields.  Singular message fields
        and oneof fields are not affected by this option.
    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)rÚ_MessageToJsonObject)rrrrrrr rrrÚ MessageToDict…sûr#cCs"|jtjjko |jjo |j ¡jS©N)ÚtyperÚFieldDescriptorZ TYPE_MESSAGEÚ message_typeZ has_optionsZ
GetOptionsZ    map_entry)ÚfieldrrrÚ _IsMapEntry«s
ÿ
þr)c@sjeZdZdZddd„Zdd„Zdd    „Zd
d „Zd d „Zdd„Z    dd„Z
dd„Z dd„Z dd„Z dd„ZdS)rz)JSON format printer for protocol message.FNcCs4||_||_||_||_|r*d |¡|_nd|_dS)Nz.{}g)rrrrÚformatÚ float_format)ÚselfrrrrrrrrÚ__init__´sz_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_descriptorr2r0rrrr"És
z_Printer._MessageToJsonObjectc
sÌ| ¡}z†|D]Ø\‰}ˆjr&ˆj}nˆj}tˆƒrŽˆjjd}i}|D]:}t|tƒrf|r`d}    qnd}    nt    |ƒ}    ˆ 
|||¡||    <qH|||<qˆj t j jkr¶‡‡fdd„|Dƒ||<qˆjrØdˆj}ˆ 
ˆ|¡||<qˆ 
ˆ|¡||<qˆjrŽ|j}
|
jD]މˆj t j jkr ˆjt j jksþˆjr*qþˆjr:ˆj}nˆj}||krLqþtˆƒr`i||<qþˆj t j jkrzg||<qþˆ 
ˆˆj¡||<qþWn6tk
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>ïsÿz8_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_extensionr2rr1ÚfieldsÚcpp_typeÚCPPTYPE_MESSAGEÚcontaining_oneofÚ default_valueÚ
ValueErrorrr*) r,rr0rJr8rAZv_fieldZjs_mapÚkeyZ recorded_keyr7Úerr>rr6Ôsh  
ÿ
 
 ÿ 
 
 ÿþ
 
 
 
 ÿz$_Printer._RegularMessageToJsonObjectcCsB|jtjjkr| |¡S|jtjjkrx|jr0|S|jjdkr@dS|jj     
|d¡}|dk    r^|j S|j j dkrn|Stdƒ‚nÆ|jtjjkrª|jtjjkr¤t |¡ d¡S|Sn”|jtjjkrÀt|ƒS|jtkrÒt|ƒS|jtkr>t |¡rü|dkrøtStSt |¡r tS|jtjj kr>|j!r4t"t#||j!ƒƒSt$ %|¡S|S)z<Converts field value according to Proto3 JSON Specification.úgoogle.protobuf.NullValueNÚproto3zKEnum field contains an integer value which can not mapped to an enum value.úutf-8g)&rKrr&rLr"Ú CPPTYPE_ENUMrÚ    enum_typer2Úvalues_by_numberÚgetrAÚfileÚsyntaxrÚCPPTYPE_STRINGr%Ú
TYPE_BYTESÚbase64Ú    b64encodeÚdecodeÚ CPPTYPE_BOOLrEÚ _INT64_TYPESrFÚ _FLOAT_TYPESÚmathÚisinfÚ _NEG_INFINITYÚ    _INFINITYÚisnanÚ_NANÚ CPPTYPE_FLOATr+Úfloatr*rZToShortestFloat)r,r(r8Ú
enum_valuerrrr;sB
 
 
 
 
z_Printer._FieldToJsonObjectcCs| ¡s iStƒ}|j}||d<t||jƒ}| |j¡|j}|j}t    |ƒr^| 
|¡|d<|S|t kr„t t |d|ƒ|ƒ|d<|S|  ||¡S)z<Converts Any message according to Proto3 JSON Specification.ú@typer8r)r@rÚtype_urlÚ_CreateMessageFromTypeUrlrZParseFromStringr8r1r2r3r4r5rr6)r,rr0rmÚ sub_messager7r2rrrÚ_AnyMessageToJsonObject?s(   ÿÿz _Printer._AnyMessageToJsonObjectcCs| ¡S)z8Converts message according to Proto3 JSON Specification.)r©r,rrrrÚ_GenericMessageToJsonObjectTsz$_Printer._GenericMessageToJsonObjectcCsd| d¡}|dks|dkrdS|dkr2| |j¡S|dkrB|j}n
t||ƒ}|jj|}| ||¡S)z>Converts Value message according to Proto3 JSON Specification.ÚkindNÚ
null_valueÚ
list_valueÚ struct_value)Z
WhichOneofÚ_ListValueMessageToJsonObjectrurvÚgetattrr1rCr;)r,rÚwhichr8Zoneof_descriptorrrrÚ_ValueMessageToJsonObjectZs
 
 z"_Printer._ValueMessageToJsonObjectcs‡fdd„|jDƒS)zBConverts ListValue message according to Proto3 JSON Specification.csg|]}ˆ |¡‘qSr)rz)r<r8©r,rrr?lsÿz:_Printer._ListValueMessageToJsonObject.<locals>.<listcomp>)Úvaluesrqrr{rrwjs
ÿz&_Printer._ListValueMessageToJsonObjectcCs*|j}i}|D]}| ||¡||<q|S)z?Converts Struct message according to Proto3 JSON Specification.)rJrz)r,rrJÚretrPrrrÚ_StructMessageToJsonObjectos
z#_Printer._StructMessageToJsonObjectcCs| |jjd|j¡S)Nr8)r;r1rCr8rqrrrr4ws
ÿz$_Printer._WrapperMessageToJsonObject)FFFNN)r r r rr-rr"r6r;rprrrzrwr~r4rrrrr±s"ú
 @+rcCs |jjdkS)Nzgoogle/protobuf/wrappers.proto)rYrA)r7rrrr3|sr3cCs4i}|D]&\}}||kr&td |¡ƒ‚|||<q|S)Nz'Failed to load JSON: duplicate key {0}.)rr*)r0ÚresultrAr8rrrÚ_DuplicateChecker€s  
r€cCsjt ¡}|dkr|jn|}| d¡d}z| |¡}Wn"tk
rXtd |¡ƒ‚YnX| |¡}|ƒS)z"Creates a message from a type URL.Nú/éÿÿÿÿz0Can not find message descriptor by type_url: {0})    rZDefaultÚpoolÚsplitZFindMessageTypeByNameÚKeyErrorÚ    TypeErrorr*Z GetPrototype)rmrÚdbrƒZ    type_namer7Z message_classrrrrn‰sÿ
 
rnédc
Cslt|tƒs| d¡}ztj|td}Wn4tk
rZ}ztd t|ƒ¡ƒ‚W5d}~XYnXt    |||||ƒS)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.
  rT)Úobject_pairs_hookzFailed to load JSON: {0}.N)
rDrFr_r.Úloadsr€rOrr*Ú    ParseDict)ÚtextrÚignore_unknown_fieldsrÚmax_recursion_depthr0rQrrrÚ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„Z dd„Z dd„Z dS)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*r1r2rAr3Ú_ConvertWrapperMessager5rÚ_ConvertFieldValuePair)r,r8rÚpathr7r2rrrr’Þs  ÿz_Parser.ConvertMessagec Cs`g}|j}tdd„|jDƒƒ}|D]6}zv| |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     ||| ¡¡qVnTt$|
ƒD]J\} }|dkrâtd     ||| ¡ƒ‚t||jƒ t'||d     ||| ¡ƒ¡q¾n’|jtjjkr\|j(r0|j |} n t||jƒ} |  )¡| &|
| d     ||¡¡nB|j(r€t'|
|d     ||¡ƒ|j |<nt||jt'|
|d     ||¡ƒƒWq"tk
rô}z4|rØ|jdkrØtd     ||¡ƒ‚n tt*|ƒƒ‚W5d}~XYq"t+k
r&}ztd     ||¡ƒ‚W5d}~XYq"t,k
rX}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$©rB©r<ÚfrrrÚ    <genexpr>sÿz1_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?$sz2_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.ValuerrRú{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}.)-r1ÚdictrJrXrCÚ_VALID_EXTENSION_NAMEÚmatchZ is_extendablerr*r2Z
ExtensionsZ_FindExtensionByNameÚjoinr„rÚappendrMrArKrr&rLr'rxrtrUrVÚsetattrÚ
ClearFieldr)Ú_ConvertMapFieldValuerGrHrDÚlistÚ    enumerateÚaddr’Ú_ConvertScalarFieldValuerIZ SetInParentrFrOr†)r,r0rr˜Únamesr7Zfields_by_json_namerAr(Ú
identifierr8Z
oneof_nameroÚindexÚitemrQrrrr—ùs ÿ
 ÿÿ   ýÿþ
 
ý
 
 
ÿ 
ÿ 
 
 
ÿ  ÿ
 
ÿþ ÿ
 
þ  ÿÿ
 
ÿ 
ÿþ z_Parser._ConvertFieldValuePairc    
Cst|tƒr|sdSz |d}Wn"tk
r@td |¡ƒ‚YnXzt||jƒ}Wn2tk
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.Nrlz0@type is missing when parsing any message at {0}ú
{0} at {1}r8ú    {0}.valuer•)rDr r…rr*rnrr†r1r2r3r–r5rr—ZSerializeToStringr8rm)    r,r8rr˜rmrorQr7r2rrrÚ_ConvertAnyMessage{s: ÿ
" ÿÿþ
z_Parser._ConvertAnyMessagec
CsFz| |¡Wn2tk
r@}ztd ||¡ƒ‚W5d}~XYnXdS)z?Convert a JSON representation into message with FromJsonString.r°N)ZFromJsonStringrOrr*)r,r8rr˜rQrrrÚ_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})rDr Ú_ConvertStructMessagervr¨Ú_ConvertListValueMessagerurtrEZ
bool_valuerFZ string_valueÚ _INT_OR_FLOATZ number_valuerr*r%)r,r8rr˜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}r|ú{0}[{1}]N)    rDr¨rr*r¦r©r·r|rª)r,r8rr˜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)rDr rr*ZClearr·rJ)r,r8rr˜rPrrrr´¿s
ÿ
ÿz_Parser._ConvertStructMessagec    Cs,|jjd}t|dt||d |¡dƒdS)z3Convert a JSON representation into Wrapper message.r8r±©r˜N)r1rCr¥r«r*)r,r8rr˜r(rrrr–Ìs  þz_Parser._ConvertWrapperMessagec        Cs´t|tƒstd |j||¡ƒ‚|jjd}|jjd}|D]t}t||d |¡dƒ}|jt    j
j krˆ|  ||t ||jƒ|d ||¡¡q:t|||d ||¡dt ||jƒ|<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}rPr8z{0}.keyTr¸r¹N)rDr rr*rAr'rCr«rKrr&rLr’rx)    r,r8rr(r˜Z    key_fieldZ value_fieldrPÚ    key_valuerrrr§Ós2
ÿÿ  ÿ
 
þ
ÿz_Parser._ConvertMapFieldValueN)r r r rr-r’r—r²r³r·rµr´r–r§rrrrr‘Ôs    
 r‘c    
Cs¤zh|jtkrt|ƒWS|jtkr.t||ƒWS|jtjjkrHt||ƒWS|jtjj    kr¼|j
tjj kr¢t |t ƒrz| d¡}n|}|ddt|ƒd}t |¡WSt |¡r´tdƒ‚|WSn¬|jtjjkrh|jj |d¡}|dkr`zt|ƒ}|jj |d¡}Wn*tk
r,td ||jj¡ƒ‚YnX|dkr`|jjdkrL|WStd ||jj¡ƒ‚|j WSWn4tk
rž}ztd ||¡ƒ‚W5d}~XYnXdS)    aqConvert 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.
  rTó=ézUnpaired surrogateNz(Invalid enum value {0} for enum type {1}rSr°)!rKÚ
_INT_TYPESÚ_ConvertIntegerrbÚ _ConvertFloatrr&r`Ú _ConvertBoolr[r%r\rDrFÚencodeÚlenr]Úurlsafe_b64decodeÚ_UNPAIRED_SURROGATE_PATTERNÚsearchrrUrVZvalues_by_namerXÚintrWrOr*r2rYrZÚnumber)    r8r(r˜Ú require_strÚencodedZ padded_valuerkrÇrQrrrr«ñsL
 
 
 
 
 
ÿ 
ÿ 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)    rDrjÚ
is_integerrr*rFÚfindrErÆ)r8rrrr¾+s 
ÿr¾cCsðt|tƒrrt |¡rtdƒ‚t |¡r@|dkr8tdƒ‚ntdƒ‚|jtjj    krr|t
j kr`tdƒ‚|t
j krrtdƒ‚|dkr‚tdƒ‚z
t|ƒWSt k
rê|tkr°td    ƒYS|tkrÄtd
ƒYS|tkrØtdƒYStd  |¡ƒ‚YnXd 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)rDrjrcrgrrdrKrr&rirZ
_FLOAT_MAXZ
_FLOAT_MINrOrerfrhr*)r8r(rrrr¿Ds0
 
 
 
 
 
 
   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.
  r9Tr:Fz#Expected "true" or "false", not {0}z%Expected true or false without quotes)rr*rDrE)r8rÈrrrrÀhs 
rÀrpr²rrr³rwrµr~r´rzr·)zgoogle.protobuf.Anyzgoogle.protobuf.Durationzgoogle.protobuf.FieldMaskzgoogle.protobuf.ListValuezgoogle.protobuf.Structzgoogle.protobuf.Timestamprž)FFrFFNNT)FFFNN)FNrˆ)FNrˆ)F)9rÚ
__author__r]Ú collectionsrr.rcÚoperatorrÚreÚsysZgoogle.protobuf.internalrZgoogle.protobufrrZ_TIMESTAMPFOMATÚ    frozensetr&Z CPPTYPE_INT32ZCPPTYPE_UINT32Z CPPTYPE_INT64ZCPPTYPE_UINT64r½rariZCPPTYPE_DOUBLErbrfrerhÚcompilerÄr¡Ú    Exceptionr    rrr!r#r)Úobjectrr3r€rnrr‹rÆrjr¶r‘r«r¾r¿rÀr5rrrrÚ<module>s¸      ýÿÿÿ
÷
-ú
&L    ü
#ü

:$ÿÿÿÿÿÿÿó