PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB` sh-3ll

HOME


sh-3ll 1.0
DIR:/proc/self/root/lib/python2.7/site-packages/google/protobuf/
Upload File :
Current File : //proc/self/root/lib/python2.7/site-packages/google/protobuf/text_format.pyc
�
���hc
@s+dZdZddlZddlZddlZejrBeZnddlm	Z	ddl
mZddl
mZddd	d
dgZ
e	j�e	j�e	j�e	j�fZejdej�Zejd
ej�Zeejjejjg�Zeddf�ZdZdefd��YZdefd��YZ de!fd��YZ"e#e#e#e#e$e#e$de$d�	Z%d�Z&de#e#e#e#e$e#e$e$d�	Z'de#e#e#e#e$e$d�Z(de#e#e#e#e$e$d�Z)d�Z*de!fd��YZ+e#e#e$d �Z,e#e#e$d!�Z-e#e#e$d"�Z.e#e#e$d#�Z/d$e!fd%��YZ0d&�Z1d'�Z2d(�Z3d)�Z4d*e!fd+��YZ5e5Z6d,�Z7d-�Z8d.�Z9d/�Z:d0�Z;d1�Z<e#e#d2�Z=e#e#d3�Z>e#e#d4�Z?e#d5�Z@d6�ZAd7�ZBd8�ZCdS(9sbContains 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())
s kenton@google.com (Kenton Varda)i����N(t
type_checkers(t
descriptor(t
text_encodingtMessageToStringtPrintMessaget
PrintFieldtPrintFieldValuetMerges-?inf(?:inity)?f?snanf?t't"sgoogle.protobuf.AnytErrorcBseZdZRS(s'Top-level module error for text_format.(t__name__t
__module__t__doc__(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR
Ist
ParseErrorcBs2eZdZdddd�Zd�Zd�ZRS(s3Thrown in case of text parsing or tokenizing error.cCs�|dk	r[|dk	r[t|�}|dk	rF|dj|�7}ndj||�}n|dk	r�tt|�j|�ntt|�j�||_||_dS(Ns:{0}s	{0} : {1}(tNonetstrtformattsuperRt__init__t_linet_column(tselftmessagetlinetcolumntloc((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRPs	cCs|jS(N(R(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytGetLine]scCs|jS(N(R(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt	GetColumn`sN(RRR
RRRR(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRMs
	t
TextWritercBs,eZd�Zd�Zd�Zd�ZRS(cCs.tjrtj�|_ntj�|_dS(N(tsixtPY2tiotBytesIOt_writertStringIO(Rtas_utf8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRfs	cCs@tjr0t|tj�r0|jd�}q0n|jj|�S(Nsutf-8(RRt
isinstancet	text_typetencodeR"twrite(Rtval((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR(ls	cCs
|jj�S(N(R"tclose(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR*rscCs
|jj�S(N(R"tgetvalue(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR+us(RRRR(R*R+(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRds			ic

Csjt|�}
t|
|||||||||	�
}|j|�|
j�}|
j�|rf|j�S|S(s�Convert 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.
  (Rt_PrinterRR+R*trstrip(
RR$tas_one_linetpointy_bracketstuse_index_ordertfloat_formattuse_field_numbertdescriptor_pooltindenttmessage_formattertouttprintertresult((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRys&	


cCs1|jtjjko0|jjo0|jj�jS(N(ttypeRtFieldDescriptortTYPE_MESSAGEtmessage_typethas_optionst
GetOptionst	map_entry(tfield((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_IsMapEntry�scCs8t|||||||||	|
�
}|j|�dS(N(R,R(RR6R4R$R.R/R0R1R2R3R5R7((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s	c
	Cs5t||||||||	�}
|
j||�dS(s%Print a single field name/value pair.N(R,R(R@tvalueR6R4R$R.R/R0R1R5R7((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�sc
	Cs5t||||||||	�}
|
j||�dS(s0Print a single field value (not including name).N(R,R(R@RBR6R4R$R.R/R0R1R5R7((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�scCs�|dkr+ddlm}|j�}nddlm}|j�}y|j|�}Wntk
rndSX|j|�}|�S(s!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.
  i����(R3(tsymbol_databaseN(Rtgoogle.protobufR3tDefaultRCtFindMessageTypeByNametKeyErrortGetPrototype(t	type_nameR3tpool_modRCtdatabasetmessage_descriptorR<((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_BuildMessageFromTypeName�s
R,c
BsheZdZdeeeed	ed	d	d�	Zd�Zd�Zd�Zd�Z	d�Z
d�ZRS(
s)Text format printer for protocol message.icCs^||_||_||_||_||_||_||_||_|	|_|
|_	dS(sZInitialize 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(
R6R4R$R.R/R0R1R2R3R5(RR6R4R$R.R/R0R1R2R3R5((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s%									cCs�t|j�|j�}|r�|j|j�|jjd|jd|jf�|j	|�|jj|j
rwdnd�tStSdS(s5Serializes if message is a google.protobuf.Any field.s%s[%s]t s
N(
RMtTypeNameR3tMergeFromStringRBR6R(R4ttype_urlt_PrintMessageFieldValueR.tTruetFalse(RRtpacked_message((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_TryPrintAsAnyMessage.s$
cCsu|j||j|j�}|dkr+tS|j}|jd|j�|j|�|j|jrjdnd�tS(NRNs
(R5R4R.RRTR6R(RS(RRt	formattedR6((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_TryCustomFormatMessage;s	
cCs%|jr|j|�rdS|jjtkrA|j|�rAdS|j�}|jrl|jdd��nx�|D]�\}}t	|�r�x�t
|�D]5}|j�d|d||�}|j||�q�Wqs|j
tjjkr
x1|D]}|j||�q�Wqs|j||�qsWdS(seConvert protobuf message to text format.

    Args:
      message: The protocol buffers message.
    NtkeycSs|djS(Ni(tindex(tx((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt<lambda>StRB(R5RXt
DESCRIPTORt	full_namet_ANY_FULL_TYPE_NAMERVt
ListFieldsR0tsortRAtsortedt
GetEntryClassRtlabelRR:tLABEL_REPEATED(RRtfieldsR@RBRYtentry_submsgtelement((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRFs"	
cCsa|j}|jd|j�|jr?|jt|j��n�|jr�|jd�|jj�j	r�|j
tjj
kr�|jtjjkr�|j|jj�n|j|j�|jd�n;|j
tjjkr�|j|jj�n|j|j�|jtjjkr'|jd�n|j||�|jrP|jd�n
|jd�dS(s%Print a single field name/value pair.RNt[t]s: s
N(R6R(R4R2Rtnumbertis_extensiontcontaining_typeR>tmessage_set_wire_formatR9RR:R;RetLABEL_OPTIONALR<R_t
TYPE_GROUPtnametcpp_typetCPPTYPE_MESSAGERR.(RR@RBR6((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRds*			
	cCs�|jrd}d}nd}d}|jra|jjd|�|j|�|jj|�nZ|jjd|�|jd7_|j|�|jd8_|jjd|j|�dS(	Nt<t>t{t}s %s s %s
iRN(R/R.R6R(RR4(RRBtopenbtcloseb((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRR�s			

cCs�|j}|jtjjkr.|j|�n�|jtjjkr�|jjj	|d�}|dk	rz|j|j�q�|jt
|��n'|jtjjkr,|jd�t|tj�r�|jd�}n|}|jtjjkr�t}n	|j}|jtj||��|jd�n�|jtjjkrg|rW|jd�q�|jd�nP|jtkr�|jdk	r�|jdj|j|��n|jt
|��dS(s�Print 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.
    s"sutf-8ttruetfalses{1:{0}}N(R6RsRR:RtRRtCPPTYPE_ENUMt	enum_typetvalues_by_numbertgetRR(RrRtCPPTYPE_STRINGR%RR&R'R9t
TYPE_BYTESRTR$RtCEscapetCPPTYPE_BOOLt_FLOAT_TYPESR1R(RR@RBR6t
enum_valuet	out_valuetout_as_utf8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s2		
		N(RRR
RTRRRVRXRRRRR(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR,�s &	
			!	cCs^t|t�s<tjr*|jd�}q<|jd�}nt|jd�|||d|�S(s�Parses 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.
  sutf-8s
R3(R%RRtPY3tdecodeR't
ParseLinestsplit(ttextRtallow_unknown_extensiontallow_field_numberR3((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytParse�s%	cCs^t|t�s<tjr*|jd�}q<|jd�}nt|jd�|||d|�S(s^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.
  sutf-8s
R3(R%RRR�R�R't
MergeLinesR�(R�RR�R�R3((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s	cCs%t||d|�}|j||�S(sParses 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.
  R3(t_ParserR�(tlinesRR�R�R3tparser((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s	cCs%t||d|�}|j||�S(sParses 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.
  R3(R�R�(R�RR�R�R3R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�3s	R�cBs�eZdZeedd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
ed
��Zd�ZRS(
s(Text format parser for protocol message.cCs||_||_||_dS(N(R�R�R3(RR�R�R3((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRQs		cCs:t|t�s!|jd�}n|j|jd�|�S(sBParses a text representation of a protocol message into a message.sutf-8s
(R%RR�R�R�(RR�R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytParseFromStringYscCst|_|j||�|S(sBParses a text representation of a protocol message into a message.(RTt_allow_multiple_scalarst
_ParseOrMerge(RR�R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�_s	cCs|j|jd�|�S(sBMerges a text representation of a protocol message into a message.s
(t_MergeLinesR�(RR�R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRPescCst|_|j||�|S(sBMerges a text representation of a protocol message into a message.(RSR�R�(RR�R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�is	cCs3t|�}x |j�s.|j||�qWdS(s�Converts 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(t	TokenizertAtEndt_MergeField(RR�Rt	tokenizer((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�os
c	Cs�|j}|jd�r�|j�g}x&|jd�rO|j|j��q*Wdj|�}|js�|jd|j��n|jj	|�}|s�|j
r�d}q�|jd|��n.||jkr�|jd||jf��n|j
d�n(|j�}|jro|j�rot|tt�}|jj|d�}|r|jr|jj|�}qn�|jj|d�}|s�|jj|j�d�}|r�|jtjjkr�d}q�n|r|jtjjkr|jj|krd}n|s'|jd|j|f��n|r\|jr�|jr�|j |jj�}|dk	r�||jkr�|jd|j||jj|jf��q�n|j!tjj"kr�|jd	�|j#}n|j
d	�|j$}|j%tjj&krI|jd�rIxMtrE||||�|jd�r5Pn|j
d
�qWqu||||�n|j
skt'�t(|�|jd
�s�|jd�ndS(
s�Merges 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.
    Rjt.s+Message type "%s" does not have extensions.s�Extension "%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 wells1Extension "%s" does not extend message type "%s".Rks*Message type "%s" has no field named "%s".sbField "%s" is specified along with field "%s", another member of oneof "%s" for message type "%s".t:t,t;N()R^t
TryConsumetConsumeIdentifiertappendtjoint
is_extendabletParseErrorPreviousTokenR_t
Extensionst_FindExtensionByNameR�RRntConsumetConsumeIdentifierOrNumberR�tisdigittParseIntegerRStfields_by_numberR�t_FindExtensionByNumbertfields_by_nametlowerR9RR:RqR<RrR�tcontaining_oneoft
WhichOneofRsRtt_MergeMessageFieldt_MergeScalarFieldReRftAssertionErrort_SkipFieldContents(	RR�RRLRrR@Rltwhich_oneoftmerger((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�}s�
				
	

		
cCs�|j�g}|jd�|j|j��|jd�|j|j��|jd�|j�g}x&|jd�r�|j|j��qnWdj|�dj|�fS(sBConsumes a google.protobuf.Any type URL and returns the type name.R�t/(R�R�R�R�R�(RR�tprefixRr((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_ConsumeAnyTypeUrl�s


cCs�t|�}|jd�r$d}n|jd�d}|jjtkr�|jd�r�|j|�\}}|jd�|jd�|jd�r�d}n|jd�d}t||j�}	|	s�t	d|��nxH|j|�s'|j
�r|jd	|f��n|j||	�q�W|j
tjjkrXt||j�j�}
nt||j�}
|
j|	d
|�n�|j
tjjkr�|jr�|j|j�}q(|r�t||j�j��}q(t||j�j�}n5|jr|j|}nt||j�}|j�xH|j|�sr|j
�r_|jd	|f��n|j||�q+W|r�|jjdj}|tjjkr�t||j�|j}
|
j|j�q�|jt||j�|j<ndS(
s"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.
    RuRvRwRxRjRkR�s$Type %s not found in descriptor poolsExpected "%s".ttype_url_prefixRBN(RAR�R�R<R_R`R�RMR3RR�R�R�ReRR:RftgetattrRrtaddtPackRmR�RdtSetInParentR�RsRtRYt	MergeFromRB(RR�RR@tis_map_entryt	end_tokenR�tpacked_type_nametexpanded_any_end_tokentexpanded_any_sub_messagetany_messagetsub_messaget
value_cpptypeRB((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��sb	


	

	
		
cCs%|j}t|d�o$|jdkS(Ntsyntaxtproto3(R^thasattrR�(RRL((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_IsProto3SyntaxAs	cCs�|j}d}|jtjjtjjtjjfkrHt|�}no|jtjj	tjj
tjjfkr�t|�}n6|jtjj
tjjfkr�t|�}n|jtjjtjjfkr�t|�}n�|jtjjtjjfkr|j�}n�|jtjjkr5|j�}n�|jtjjkrY|j�}n^|jtjjkr}|j�}n:|jtjjkr�|j|�}ntd|j��|jtjj kr|j!r�|j"|j#|�q�t$||j%�j#|�n�|j&|�}|j!ru|j're|re|j(|�re|j)d|j*j+|j+f��q�||j"|<nZ|j'r�|r�|j,|j%�r�|j)d|j*j+|j%f��nt-||j%|�dS(sHMerges 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.
    sUnknown field type %ds;Message type "%s" should not have multiple "%s" extensions.s7Message type "%s" should not have multiple "%s" fields.N(.R�RR9RR:t
TYPE_INT32tTYPE_SINT32t
TYPE_SFIXED32t
_ConsumeInt32t
TYPE_INT64tTYPE_SINT64t
TYPE_SFIXED64t
_ConsumeInt64tTYPE_UINT32tTYPE_FIXED32t_ConsumeUint32tTYPE_UINT64tTYPE_FIXED64t_ConsumeUint64t
TYPE_FLOATtTYPE_DOUBLEtConsumeFloatt	TYPE_BOOLtConsumeBooltTYPE_STRINGt
ConsumeStringR�tConsumeByteStringt	TYPE_ENUMtConsumeEnumtRuntimeErrorReRfRmR�R�R�RrR�R�tHasExtensionR�R^R_tHasFieldtsetattr(RR�RR@t_RBtcan_check_presence((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�Gs\					N(RRR
RTRRR�R�RPR�R�R�R�R�tstaticmethodR�R�(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�Ns						m		HcCsJ|jd�r<|jd�r<|jd�r<t|�n
t|�dS(s}Skips over contents (value or message) of a field.

  Args:
    tokenizer: A tokenizer to parse the field name and values.
  R�RwRuN(R�t	LookingAtt_SkipFieldValuet_SkipFieldMessage(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s
cCs�|jd�rI|j�x|jd�r8|j�qW|jd�n
|j�t|�|jd�s||jd�ndS(s�Skips over a complete field (name and value/message).

  Args:
    tokenizer: A tokenizer to parse the field name and values.
  RjR�RkR�R�N(R�R�R�R�(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt
_SkipField�s


cCsm|jd�rd}n|jd�d}x.|jd�r[|jd�r[t|�q.W|j|�dS(sfSkips over a field message.

  Args:
    tokenizer: A tokenizer to parse the field name and values.
  RuRvRwRxN(R�R�R�R�(R�t	delimiter((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s	
#cCsq|j�r#x|j�rqWdS|j�rmt|�rmt|�rm|j�rmtd|j��ndS(s�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.
  NsInvalid field value: (tTryConsumeByteStringtTryConsumeIdentifiert_TryConsumeInt64t_TryConsumeUint64tTryConsumeFloatRttoken(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s

R�cBs�eZdZejd�Zejdej�Zejdej�Zejdj	ddgge
D]Zdjde�^qa��Z
ejd	�Zejd
�Zed�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d �Z'd!�Z(d"�Z)d#�Z*d$�Z+d%�Z,RS(&s�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.
  s\s+s	(\s*#.*$)s(\s|(#.*$))+t|s[a-zA-Z_][0-9a-zA-Z_+-]*s#([0-9+-]|(\.[0-9]))[0-9a-zA-Z_.+-]*s!{qt}([^{qt}\n\\]|\\.)*({qt}|\\?$)tqts
[^\d\W]\w*s\w+cCs�d|_d|_d|_d|_d|_t|�|_d|_d|_	d|_
t|_||_
|rx|jp~|j|_|j�|j�dS(Nii����R](t	_positionRRRt_token_startR�titert_linest
_current_linet_previous_linet_previous_columnRSt_more_linest_skip_commentst_WHITESPACE_OR_COMMENTt_WHITESPACEt_whitespace_patternt_SkipWhitespacet	NextToken(RR�t
skip_comments((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s										
cCs
|j|kS(N(R�(RR�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�scCs|jS(s^Checks the end of the text was reached.

    Returns:
      True iff the end was reached.
    (R�(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�
scCsxxqt|j�|jkrsyt|j�|_Wn$tk
rWd|_t|_dSX|jd7_d|_qWdS(NR]ii(	tlenR�RtnextR�t
StopIterationRTRR(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_PopLines
		cCsdx]tr_|j�|jj|j|j�}|s8Pnt|jd��}|j|7_qWdS(Ni(RSRRtmatchR�RR	tgroup(RR
tlength((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs	
cCs!|j|kr|j�tStS(s�Tries to consume a given piece of text.

    Args:
      token: Text to consume.

    Returns:
      True iff the text was consumed.
    (R�RRSRT(RR�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�'s	
cCs)|j|�s%|jd|��ndS(s�Consumes a piece of text.

    Args:
      token: Text to consume.

    Raises:
      ParseError: If the text couldn't be consumed.
    sExpected "%s".N(R�R(RR�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�5s	cCs;|j}|jj|�s-|jd��n|j�|S(NsExpected comment.(R�t_COMMENTR
RR(RR8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytConsumeCommentAs
	
cCsS|jdko|jdk}|j}|j�}|j|koF|}||fS(sCConsumes a comment, returns a 2-tuple (trailing bool, comment str).i(RRR�R(Rtjust_startedtbefore_parsingtcommentttrailing((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytConsumeCommentOrTrailingCommentHs	cCs+y|j�tSWntk
r&tSXdS(N(R�RSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�Xs


cCs;|j}|jj|�s-|jd��n|j�|S(s�Consumes protocol message field identifier.

    Returns:
      Identifier string.

    Raises:
      ParseError: If an identifier couldn't be consumed.
    sExpected identifier.(R�t_IDENTIFIERR
RR(RR8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�_s
		
cCs+y|j�tSWntk
r&tSXdS(N(R�RSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytTryConsumeIdentifierOrNumberns


cCs?|j}|jj|�s1|jd|��n|j�|S(s�Consumes protocol message field identifier.

    Returns:
      Identifier string.

    Raises:
      ParseError: If an identifier couldn't be consumed.
    s&Expected identifier or number, got %s.(R�t_IDENTIFIER_OR_NUMBERR
RR(RR8((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�us
		
cCs+y|j�tSWntk
r&tSXdS(N(tConsumeIntegerRSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pytTryConsumeInteger�s


cCsRyt|jd|�}Wn(tk
rC}|jt|���nX|j�|S(s�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.
    tis_long(t_ParseAbstractIntegerR�t
ValueErrorRRR(RRR8te((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s
cCs+y|j�tSWntk
r&tSXdS(N(R�RSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s


cCsLyt|j�}Wn(tk
r=}|jt|���nX|j�|S(s�Consumes an floating point number.

    Returns:
      The number parsed.

    Raises:
      ParseError: If a floating point number couldn't be consumed.
    (t
ParseFloatR�RRRR(RR8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s	
cCsLyt|j�}Wn(tk
r=}|jt|���nX|j�|S(s�Consumes a boolean value.

    Returns:
      The bool parsed.

    Raises:
      ParseError: If a boolean value couldn't be consumed.
    (t	ParseBoolR�RRRR(RR8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s	
cCs+y|j�tSWntk
r&tSXdS(N(R�RSRRT(R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s


cCsI|j�}ytj|d�SWn"tk
rD}|j|��nXdS(s�Consumes a string value.

    Returns:
      The string parsed.

    Raises:
      ParseError: If a string value couldn't be consumed.
    sutf-8N(R�RR&tUnicodeDecodeErrort_StringParseError(Rt	the_bytesR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s
	cCsR|j�g}x3|jrD|jdtkrD|j|j��qWdj|�S(s�Consumes a byte array value.

    Returns:
      The array parsed (as a string).

    Raises:
      ParseError: If a byte array value couldn't be consumed.
    iR](t_ConsumeSingleByteStringR�t_QUOTESR�R�(Rtthe_list((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s	cCs�|j}t|�dks+|dtkrD|jd|f��nt|�dksj|d|dkr�|jd|f��nytj|dd!�}Wn(tk
r�}|jt|���nX|j�|S(sOConsume 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.
    iisExpected string but found: %rii����sString missing ending quote: %r(	R�R	R&RRt	CUnescapeRRR(RR�R8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR%�s	"&
cCsOyt||j�}Wn(tk
r@}|jt|���nX|j�|S(N(t	ParseEnumR�RRRR(RR@R8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s
cCst||jd|jd�S(s�Creates and *returns* a ParseError for the previously read token.

    Args:
      message: A message to set for the exception.

    Returns:
      A ParseError instance.
    i(RR�R(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s	cCst||jd|jd�S(s9Creates and *returns* a ParseError for the current token.i(RRR(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRscCs|jdt|��S(NsCouldn't parse string: (RR(RR((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR#scCs�|j|_|j|_|jt|j�7_|j�|jsPd|_dS|jj	|j
|j�}|r�|jr�|jj	|j
|j�}n|r�|j
d�}||_n|j
|j|_dS(s Reads the next meaningful token.R]Ni(RR�RRR	R�RRt_TOKENR
R�RRR(RR
R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyRs
		(-RRR
tretcompileRt	MULTILINERRR�R&tmarkRR*RRRSRR�R�RRR�R�RRR�R�RR�RRTRR�R�R�R�R�R�R%R�R�RR#R(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��sJ,																									cCst|dtdt�S(s�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.
  t	is_signedR(t_ConsumeIntegerRSRT(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�8scCst|dtdt�S(s�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.
  R/R(R0RT(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�GscCs+yt|�tSWntk
r&tSXdS(N(R�RSRRT(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�Vs


cCst|dtdt�S(s�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.
  R/R(R0RS(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�^scCs+yt|�tSWntk
r&tSXdS(N(R�RSRRT(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�ms


cCst|dtdt�S(s�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.
  R/R(R0RTRS(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�uscCs7yt|d|d|�tSWntk
r2tSXdS(NR/R(R0RSRRT(R�R/R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt_TryConsumeInteger�s

cCsXyt|jd|d|�}Wn(tk
rI}|jt|���nX|j�|S(sUConsumes 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.
  R/R(R�R�RRRR(R�R/RR8R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR0�s
cCsAt|d|�}tdt|�t|�}|j|�|S(sParses 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.
  Ri(Rt_INTEGER_CHECKERStintt
CheckValue(R�R/RR8tchecker((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR��s
cCsLy$|rt|d�St|d�SWn!tk
rGtd|��nXdS(sParses 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.
  isCouldn't parse integer: %sN(tlongR3R(R�R((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR�s

cCs�yt|�SWn�tk
r�tj|�rT|ddkrGtd�Std�Sq�tj|�rmtd�Syt|jd��SWq�tk
r�td|��q�XnXdS(	s�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.
  it-s-inftinftnantfsCouldn't parse float: %sN(tfloatRt_FLOAT_INFINITYR
t
_FLOAT_NANR-(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR �s




cCs0|dkrtS|dkr tStd	��d
S(
s�Parse a boolean value.

  Args:
    text: Text to parse.

  Returns:
    Boolean values parsed

  Raises:
    ValueError: If text is not a valid boolean.
  R{ttt1RSR|R:t0RTsExpected "true" or "false".N(R{R>R?RS(R|R:R@RT(RSRTR(R�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR!�s
cCs�|j}yt|d�}WnNtk
rl|jj|d�}|dkr�td|j|f��q�niXt|jd�r�|jj	dkr�|Sn|j
j|d�}|dkr�td|j|f��n|jS(s&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.
  is%Enum type "%s" has no value named %s.R�R�s+Enum type "%s" has no value with number %d.N(R~R3Rtvalues_by_nameR�RR_R�tfileR�RRl(R@RBtenum_descriptorRlR�((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyR)s 	
(DR
t
__author__R R+RR�R3R6tgoogle.protobuf.internalRRDRRt__all__tUint32ValueCheckertInt32ValueCheckertUint64ValueCheckertInt64ValueCheckerR2R,t
IGNORECASER<R=t	frozensetR:t
CPPTYPE_FLOATtCPPTYPE_DOUBLER�R&R`t	ExceptionR
RtobjectRRTRRRARRRRMR,R�RR�R�R�R�R�R�R�R�t
_TokenizerR�R�R�R�R�R�R1R0R�RR R!R)(((s?/usr/lib/python2.7/site-packages/google/protobuf/text_format.pyt<module>)s�						)	

	�/#�@				�V