3 SÉLj�„ã @sÐdZdZddlZddlZddlZddlmZddlmZye Wne k rXe Z YnXdd„Z dd „Z d d „Zd d „Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZGdd„dejƒZdS) 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)Úmessage©rú/usr/lib/python3.6/test_util.pyÚIsProto27srcCs”d|_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|ƒr¬t 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|ƒ�r‚d%|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&tjƒt|ƒ�rÔ|j?j&t j!ƒ|jAj&dDƒ|jBj&dEƒt|ƒ�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. éeéfégéhéiéjékéléménéoépTÚ115s116éuévéwéxé~Ú124Ú125éÉéÊéËéÌéÍéÎéÏéÐéÑéÒéÓéÔÚ215s216éÙéÚéÛéÜéãÚ224Ú225rÚ0ó0i-éi.i/i0i1i2i3i4i5i6i7i8FÚ315s316i=i>i?i@iGÚ324Ú325i‘i’i“i”i•i–i—i˜i™iši›iœÚ415s416Ú424Ú425iYiZÚ603s604N)^Ú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_bytesrÚ optionalgroupÚaÚoptional_nested_messageÚbbÚoptional_foreign_messageÚcÚoptional_import_messageÚdÚoptional_public_import_messageÚerÚ TestAllTypesÚBAZÚoptional_nested_enumÚ FOREIGN_BAZÚoptional_foreign_enumrÚ IMPORT_BAZÚoptional_import_enumÚoptional_string_pieceÚ optional_cordÚrepeated_int32ÚappendÚ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Ú repeatedgroupÚaddÚrepeated_nested_messageÚrepeated_foreign_messageÚrepeated_import_messageÚrepeated_lazy_messageÚrepeated_nested_enumÚBARÚrepeated_foreign_enumÚ FOREIGN_BARÚrepeated_import_enumÚ IMPORT_BARÚrepeated_string_pieceÚ repeated_cordÚ default_int32Ú default_int64Údefault_uint32Údefault_uint64Údefault_sint32Údefault_sint64Údefault_fixed32Údefault_fixed64Údefault_sfixed32Údefault_sfixed64Ú default_floatÚdefault_doubleÚ default_boolÚdefault_stringÚ default_bytesÚFOOÚdefault_nested_enumÚ FOREIGN_FOOÚdefault_foreign_enumÚ IMPORT_FOOÚdefault_import_enumZdefault_string_pieceZ default_cordZ oneof_uint32Zoneof_nested_messageZ oneof_stringZ oneof_bytes)rrrrÚSetAllNonLazyFields;sô                                                                   r�cCst|ƒd|j_dS)Né)r�Úoptional_lazy_messagerL)rrrrÚ SetAllFieldsÚsr’cCsb|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'dBƒdC||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 rrrrrrTrs116rrrrrr�rrrrrrr r!r"r#r$r%r&r'r(s216r)r*r+r,r-r.r/i-i.i/i0i1i2i3i4i5i6i7i8Fr3s316i=i>i?i@iGr4r5i‘i’i“i”i•i–i—i˜i™iši›iœr6s416r7r8iYiZr9s604N)_Ú 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_extensionr‰Zdefault_nested_enum_extensionr‹Zdefault_foreign_enum_extensionr�Zdefault_import_enum_extensionZdefault_string_piece_extensionZdefault_cord_extensionZoneof_uint32_extensionZoneof_nested_message_extensionZoneof_string_extensionZoneof_bytes_extension)rÚ extensionsÚpb2Z import_pb2rrrÚSetAllExtensionsßsÐ                                               r–cCs.d|_d|_d|_d|jtj<d|jtj<dS)zƒSets every field and extension in the message to a unique value. Args: message: A unittest_pb2.TestAllExtensions message. r2Úfoogð?éÚbarN)Úmy_intÚ my_stringÚmy_floatr“rÚmy_extension_intÚmy_extension_string)rrrrÚSetAllFieldsAndExtensionsms  rŸcCsÒtj}tj}g}tjƒ}d|_|j|jƒƒ|jƒd|j|<|j|jƒƒ|jƒd|_ |j|jƒƒ|jƒd|j|<|j|jƒƒ|jƒd|_ |j|jƒƒ|jƒdj |ƒ}||krÎt d||fƒ‚dS) zÇEnsures that serialized is the serialization we expect for a message filled with SetAllFieldsAndExtensions(). (Specifically, ensures that the serialization is in canonical, tag-number order). r2r˜r—r™gð?ózExpected %r, found %rN) rr�ržZTestFieldOrderingsršr]ZSerializeToStringZClearr“r›rœÚjoinÚ ValueError)Z serializedr�ržZexpected_stringsrZexpectedrrrÚ#ExpectAllFieldsAndExtensionsInOrderzs,   r£cCsÒ |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ƒƒt|ƒ�r |j|jdƒƒ|j|jdƒƒ|j|jdƒƒ|j|jdƒƒ|j|jjdƒƒ|j|jjdƒƒ|j|jjdƒƒ|j|jjdƒƒ|j|jdƒƒ|j|jdƒƒt|ƒ�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+|jƒt|ƒ�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'|j6ƒƒt|ƒ�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|j6d4ƒt|ƒ�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 rrrrrrTrs116rrrrrr�érrrrrr r!r"r#r$r%r&r'r(s216r)r*r+r,r-i-r2i.i/i0i1i2i3i4i5i6i7i8Fr3s316i=i>i?i@iGrzr{r|r}r~rr€r�r‚rƒr„r…r†r‡rˆrŠrŒrŽi‘i’i“i”i•i–i—i˜i™iši›iœr6s416N)YZ assertTrueZHasFieldrrIrKrMrOZ assertEqualr:r;r<r=r>r?r@rArBrCrDrErFrGrHrJrLrNrPrQrRr‘rrSrTrUrVrWrrXrYÚlenr\r^r_r`rarbrcrdrerfrgrhrirjrkrlrnrorprrrtrvrxryrqrsrurwrzr{r|r}r~rr€r�r‚rƒr„r…r†r‡rˆr‰rŠr‹rŒr�rŽ)Z test_caserrrrÚExpectAllFieldsSet˜sj                     r¦cCsŠd}xNtjj|ƒrRtjjtjj|dƒƒrBtjj|d|ƒ}t|dƒStjj|dƒ}qWd}tjj|d|ƒ}tjj|ƒr~t|dƒStdƒ‚dS) zFFinds the given golden file and returns a file object representing it.Ú.zsrc/google/protobufzsrc/google/protobuf/testdataÚrbz..z'third_party/py/google/protobuf/testdataz™Could 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)ÚosÚpathÚexistsr¡ÚopenÚ RuntimeError)ÚfilenamerªÚ full_pathrrrÚ GoldenFileis    r°c Cst|ƒ� }|jƒSQRXdS)z5Finds the given golden file and returns its contents.N)r°Úread)r®ÚfrrrÚGoldenFileDataƒs r³cCsè|jjddgƒ|jjddgƒ|jjddgƒ|jjddgƒ|jjd d gƒ|jjd d gƒ|jjd dgƒ|jjddgƒ|j jddgƒ|j jddgƒ|j jddgƒ|j jddgƒ|j jddgƒ|jjtjtjgƒdS)zgSets every field in the message to a unique value. Args: message: A TestPackedTypes instance. iYi½iZi¾i[i¿i\iÀi]iÁi^iÂi_iÃi`iÄiaiÅibiÆgƒ@g8†@g ƒ@g@†@TFN)Z packed_int32ÚextendZ packed_int64Z packed_uint32Z packed_uint64Z packed_sint32Z packed_sint64Zpacked_fixed32Zpacked_fixed64Zpacked_sfixed32Zpacked_sfixed64Z packed_floatZ packed_doubleZ packed_boolZ packed_enumrrurV)rrrrÚSetAllPackedFields‰s rµcCs*|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ƒ||jjtjtjgƒdS)z}Sets every extension in the message to a unique value. Args: message: A unittest_pb2.TestPackedExtensions instance. iYi½iZi¾i[i¿i\iÀi]iÁi^iÂi_iÃi`iÄiaiÅibiÆgƒ@g8†@g ƒ@g@†@TFN)r“rZpacked_int32_extensionr´Zpacked_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)rr”r•rrrÚSetAllPackedExtensions s"r¶cCsè|jjddgƒ|jjddgƒ|jjddgƒ|jjddgƒ|jjd d gƒ|jjd d gƒ|jjd dgƒ|jjddgƒ|j jddgƒ|j jddgƒ|j jddgƒ|j jddgƒ|j jddgƒ|jjtjtjgƒdS)zvSets every field in the message to a unique value. Args: message: A unittest_pb2.TestUnpackedTypes instance. iYi½iZi¾i[i¿i\iÀi]iÁi^iÂi_iÃi`iÄiaiÅibiÆgƒ@g8†@g ƒ@g@†@TFN)Zunpacked_int32r´Zunpacked_int64Zunpacked_uint32Zunpacked_uint64Zunpacked_sint32Zunpacked_sint64Zunpacked_fixed32Zunpacked_fixed64Zunpacked_sfixed32Zunpacked_sfixed64Zunpacked_floatZunpacked_doubleZ unpacked_boolZ unpacked_enumrrurV)rrrrÚSetAllUnpackedFieldsºs r·c@sZeZdZdZdUdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Z d=d>„Z!d?d@„Z"dAdB„Z#dCdD„Z$dEdF„Z%dGdH„Z&dIdJ„Z'dKdL„Z(dMdN„Z)dOdP„Z*dQdR„Z+dSdT„Z,dS)VÚNonStandardIntegeraÝAn 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|tjƒst‚t|tƒr |j}||_||_dS)N)Ú isinstanceÚnumbersÚIntegralÚAssertionErrorr¸ÚvalÚerror_string_on_conversion)Úselfr½r¾rrrÚ__init__ßs  zNonStandardInteger.__init__cCs|jrt|jƒ‚t|jƒS)N)r¾r­Úlongr½)r¿rrrÚ__long__æs zNonStandardInteger.__long__cCsttj|jƒƒS)N)r¸ÚoperatorÚabsr½)r¿rrrÚ__abs__ëszNonStandardInteger.__abs__cCsttj|j|ƒƒS)N)r¸rÃrmr½)r¿ÚyrrrÚ__add__îszNonStandardInteger.__add__cCsttj|j|ƒƒS)N)r¸rÃÚdivr½)r¿rÆrrrÚ__div__ñszNonStandardInteger.__div__cCstj|j|ƒS)N)rÃÚeqr½)r¿rÆrrrÚ__eq__ôszNonStandardInteger.__eq__cCsttj|j|ƒƒS)N)r¸rÃÚfloordivr½)r¿rÆrrrÚ __floordiv__÷szNonStandardInteger.__floordiv__cCsttj|j|ƒƒS)N)r¸rÃÚtruedivr½)r¿rÆrrrÚ __truediv__úszNonStandardInteger.__truediv__cCsttj|jƒƒS)N)r¸rÃÚinvertr½)r¿rrrÚ __invert__ýszNonStandardInteger.__invert__cCsttj|j|ƒƒS)N)r¸rÃÚmodr½)r¿rÆrrrÚ__mod__szNonStandardInteger.__mod__cCsttj|j|ƒƒS)N)r¸rÃÚmulr½)r¿rÆrrrÚ__mul__szNonStandardInteger.__mul__cCsttj|jƒƒS)N)r¸rÃÚnegr½)r¿rrrÚ__neg__szNonStandardInteger.__neg__cCsttj|jƒƒS)N)r¸rÃÚposr½)r¿rrrÚ__pos__ szNonStandardInteger.__pos__cCsttj|j|ƒƒS)N)r¸rÃÚpowr½)r¿rÆrrrÚ__pow__ szNonStandardInteger.__pow__cCs t|jƒS)N)Úintr½)r¿rrrÚ __trunc__szNonStandardInteger.__trunc__cCsttj||jƒƒS)N)r¸rÃrmr½)r¿rÆrrrÚ__radd__szNonStandardInteger.__radd__cCsttj||jƒƒS)N)r¸rÃrÈr½)r¿rÆrrrÚ__rdiv__szNonStandardInteger.__rdiv__cCsttj||jƒƒS)N)r¸rÃrÒr½)r¿rÆrrrÚ__rmod__szNonStandardInteger.__rmod__cCsttj||jƒƒS)N)r¸rÃrÔr½)r¿rÆrrrÚ__rmul__szNonStandardInteger.__rmul__cCsttj||jƒƒS)N)r¸rÃrÚr½)r¿rÆrrrÚ__rpow__szNonStandardInteger.__rpow__cCsttj||jƒƒS)N)r¸rÃrÌr½)r¿rÆrrrÚ __rfloordiv__!sz NonStandardInteger.__rfloordiv__cCsttj||jƒƒS)N)r¸rÃrÎr½)r¿rÆrrrÚ __rtruediv__$szNonStandardInteger.__rtruediv__cCsttj|j|ƒƒS)N)r¸rÃÚlshiftr½)r¿rÆrrrÚ __lshift__'szNonStandardInteger.__lshift__cCsttj|j|ƒƒS)N)r¸rÃÚrshiftr½)r¿rÆrrrÚ __rshift__*szNonStandardInteger.__rshift__cCsttj||jƒƒS)N)r¸rÃrår½)r¿rÆrrrÚ __rlshift__-szNonStandardInteger.__rlshift__cCsttj||jƒƒS)N)r¸rÃrçr½)r¿rÆrrrÚ __rrshift__0szNonStandardInteger.__rrshift__cCst|tƒr|j}tj|j|ƒS)N)r¹r¸r½rÃÚle)r¿rÆrrrÚ__le__3s zNonStandardInteger.__le__cCst|tƒr|j}tj|j|ƒS)N)r¹r¸r½rÃÚlt)r¿rÆrrrÚ__lt__8s zNonStandardInteger.__lt__cCsttj|j|ƒƒS)N)r¸rÃÚand_r½)r¿rÆrrrÚ__and__=szNonStandardInteger.__and__cCsttj|j|ƒƒS)N)r¸rÃÚor_r½)r¿rÆrrrÚ__or__@szNonStandardInteger.__or__cCsttj|j|ƒƒS)N)r¸rÃÚxorr½)r¿rÆrrrÚ__xor__CszNonStandardInteger.__xor__cCsttj||jƒƒS)N)r¸rÃrïr½)r¿rÆrrrÚ__rand__FszNonStandardInteger.__rand__cCsttj||jƒƒS)N)r¸rÃrñr½)r¿rÆrrrÚ__ror__IszNonStandardInteger.__ror__cCsttj||jƒƒS)N)r¸rÃrór½)r¿rÆrrrÚ__rxor__LszNonStandardInteger.__rxor__cCs|jS)N)r½)r¿rrrÚ__bool__OszNonStandardInteger.__bool__cCs|jS)N)r½)r¿rrrÚ __nonzero__RszNonStandardInteger.__nonzero__cCs|S)Nr)r¿rrrÚ__ceil__UszNonStandardInteger.__ceil__cCs|S)Nr)r¿rrrÚ __floor__XszNonStandardInteger.__floor__cCs|jrt|jƒ‚t|jƒS)N)r¾r­rÜr½)r¿rrrÚ__int__[s zNonStandardInteger.__int__cCs|S)Nr)r¿rrrÚ __round__`szNonStandardInteger.__round__cCs d|jS)NzNonStandardInteger(%s))r½)r¿rrrÚ__repr__cszNonStandardInteger.__repr__)N)-Ú__name__Ú __module__Ú __qualname__Ú__doc__rÀrÂrÅrÇrÉrËrÍrÏrÑrÓrÕr×rÙrÛrÝrÞrßràrárârãrärærèrérêrìrîrðròrôrõrör÷rørùrúrûrürýrþrrrrr¸ÑsT  r¸)rÚ __author__rºrÃZos.pathr©Zgoogle.protobufrrrÁÚ NameErrorrÜrr�r’r–rŸr£r¦r°r³rµr¶r·r»r¸rrrrÚ#s4     R