U e5dÙã@s®dddddddddd d d d d dddddddddddgZdZddlZddlZddlZddlZddlZddlZddlZddl m Z Gdd „d e ƒZ dd„Z Gd d„dƒZifd!d „Zd\d"d„Zd]d#d „ZeZGd$d „d ƒZGd%d„dƒZejd&d'„ƒZd^d(d)„Zd*d+„Zd,Zz eeƒZWnek �r*YnXd-d.„Zd/d0„Zeeed1œZd2d„Zd3d4d5d6d7d8d9d:œZ e e_ d;d<„Z!d=d>„Z"d?d@„Z#dAdB„Z$d_dddCdDœdEd„Z%GdFdG„dGej&ƒZ'd`dddCdDœdHd„Z(dId„Z)dadJd„Z*dbdKd„Z+GdLd„dƒZ,dcdMd„Z-dddNd„Z.e-Z/dedOd„Z0GdPd„dƒZ1GdQd„dƒZ2dfdddRœdSd„Z3e 4dTej5¡j6Z7GdUd„dƒZ8dVdW„Z9dXdY„Z:zeZ;ddZlk �ržYn Xe=eeƒdS)gÚCommentÚdumpÚElementÚ ElementTreeÚ fromstringÚfromstringlistÚ iselementÚ iterparseÚparseÚ ParseErrorÚPIÚProcessingInstructionÚQNameÚ SubElementÚtostringÚ tostringlistÚ TreeBuilderÚVERSIONÚXMLÚXMLIDÚ XMLParserÚ XMLPullParserÚregister_namespaceÚ canonicalizeÚC14NWriterTargetz1.3.0éNé)Ú ElementPathc@s eZdZdS)r N)Ú__name__Ú __module__Ú __qualname__©r r ú-/usr/lib64/python3.8/xml/etree/ElementTree.pyr js cCs t|dƒS)NÚtag)Úhasattr)Úelementr r r!rxsc@seZdZdZdZdZdZifdd„Zdd„Zdd„Z dd „Z d d „Z d d „Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd8d d!„Zd9d"d#„Zd:d$d%„Zd;d&d'„Zd(d)„Zdd4d5„Z d6d7„Z!dS)?rNcKs6t|tƒstd|jjfƒ‚||_||–|_g|_dS)Nzattrib must be dict, not %s)Ú isinstanceÚdictÚ TypeErrorÚ __class__rr"ÚattribÚ _children)Úselfr"r)Úextrar r r!Ú__init__©s ÿ zElement.__init__cCsd|jj|jt|ƒfS)Nz<%s %r at %#x>)r(rr"Úid©r+r r r!Ú__repr__±szElement.__repr__cCs | ||¡S©N)r()r+r"r)r r r!Ú makeelement´s zElement.makeelementcCs0| |j|j¡}|j|_|j|_||dd…<|Sr1)r2r"r)ÚtextÚtail)r+Úelemr r r!Úcopy¿s  z Element.copycCs t|jƒSr1)Úlenr*r/r r r!Ú__len__ÌszElement.__len__cCstjdtdd�t|jƒdkS)NzyThe behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.é©Ú stacklevelr)ÚwarningsÚwarnÚ FutureWarningr7r*r/r r r!Ú__bool__Ïs ýzElement.__bool__cCs |j|Sr1©r*©r+Úindexr r r!Ú __getitem__×szElement.__getitem__cCs8t|tƒr |D]}| |¡qn | |¡||j|<dSr1)r%ÚsliceÚ_assert_is_elementr*)r+rBr$Zeltr r r!Ú __setitem__Ús   zElement.__setitem__cCs |j|=dSr1r@rAr r r!Ú __delitem__âszElement.__delitem__cCs| |¡|j |¡dSr1©rEr*Úappend©r+Ú subelementr r r!rIås zElement.appendcCs$|D]}| |¡|j |¡qdSr1rH)r+Úelementsr$r r r!Úextendðs zElement.extendcCs| |¡|j ||¡dSr1)rEr*Úinsert)r+rBrKr r r!rNús zElement.insertcCs t|tƒstdt|ƒjƒ‚dS)Nzexpected an Element, not %s)r%Ú _Element_Pyr'Útyper)r+Úer r r!rEÿs zElement._assert_is_elementcCs|j |¡dSr1)r*ÚremoverJr r r!rRs zElement.removecCstjdtdd�|jS)NzaThis method will be removed in future versions. Use 'list(elem)' or iteration over elem instead.r9r:)r<r=ÚDeprecationWarningr*r/r r r!Ú getchildrens ýzElement.getchildrencCst |||¡Sr1)rÚfind©r+ÚpathÚ namespacesr r r!rU!s z Element.findcCst ||||¡Sr1)rÚfindtext©r+rWÚdefaultrXr r r!rY,s zElement.findtextcCst |||¡Sr1)rÚfindallrVr r r!r\:s zElement.findallcCst |||¡Sr1)rÚiterfindrVr r r!r]Es zElement.iterfindcCs |j ¡g|_d|_|_dSr1)r)Úclearr*r3r4r/r r r!r^Ps z Element.clearcCs|j ||¡Sr1)r)Úget)r+Úkeyr[r r r!r_[s z Element.getcCs||j|<dSr1)r))r+r`Úvaluer r r!Úsethsz Element.setcCs |j ¡Sr1)r)Úkeysr/r r r!rcrsz Element.keyscCs |j ¡Sr1)r)Úitemsr/r r r!rd{s z Element.itemsccsD|dkr d}|dks|j|kr$|V|jD]}| |¡EdHq*dS)NÚ*)r"r*Úiter)r+r"rQr r r!rf†s  z Element.itercCstjdtdd�t| |¡ƒS)NzbThis method will be removed in future versions. Use 'elem.iter()' or 'list(elem.iter())' instead.r9r:©r<r=rSÚlistrf©r+r"r r r!Ú getiterator�s ýzElement.getiteratorccsX|j}t|tƒs|dk rdS|j}|r,|V|D]"}| ¡EdH|j}|r0|Vq0dSr1)r"r%Ústrr3Úitertextr4)r+r"ÚtrQr r r!rl¥szElement.itertext)N)NN)N)N)N)N)N)"rrrr"r)r3r4r-r0r2r6r8r?rCrFrGrIrMrNrErRrTrUrYr\r]r^r_rbrcrdrfrjrlr r r r!r}s>            cKs"||–}| ||¡}| |¡|Sr1)r2rI)Úparentr"r)r,r$r r r!r¹s   cCsttƒ}||_|Sr1)rrr3)r3r$r r r!rËs cCs&ttƒ}||_|r"|jd||_|S)Nú )rr r3)Útargetr3r$r r r!r Ùs c@sVeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dS)r NcCs|rd||f}||_dS)Nz{%s}%s©r3)r+Z text_or_urir"r r r!r-ús zQName.__init__cCs|jSr1rqr/r r r!Ú__str__þsz QName.__str__cCsd|jj|jfS)Nz<%s %r>)r(rr3r/r r r!r0szQName.__repr__cCs t|jƒSr1)Úhashr3r/r r r!Ú__hash__szQName.__hash__cCs t|tƒr|j|jkS|j|kSr1©r%r r3©r+Úotherr r r!Ú__le__s  z QName.__le__cCs t|tƒr|j|jkS|j|kSr1rurvr r r!Ú__lt__s  z QName.__lt__cCs t|tƒr|j|jkS|j|kSr1rurvr r r!Ú__ge__ s  z QName.__ge__cCs t|tƒr|j|jkS|j|kSr1rurvr r r!Ú__gt__s  z QName.__gt__cCs t|tƒr|j|jkS|j|kSr1rurvr r r!Ú__eq__s  z QName.__eq__)N) rrrr-rrr0rtrxryrzr{r|r r r r!r ìs c@s„eZdZddd„Zdd„Zdd„Zddd „Zdd d „Zdd d „Zd dd„Z d!dd„Z d"dd„Z d#dd„Z d$ddœdd„Z dd„ZdS)%rNcCs||_|r| |¡dSr1)Ú_rootr )r+r$Úfiler r r!r-'szElementTree.__init__cCs|jSr1©r}r/r r r!Úgetroot-szElementTree.getrootcCs ||_dSr1r)r+r$r r r!Ú_setroot1szElementTree._setrootcCsŽd}t|dƒst|dƒ}d}z^|dkrLtƒ}t|dƒrL| |¡|_|jW¢2S| d¡}|s\qh| |¡qL| ¡|_|jW¢S|rˆ| ¡XdS)NFÚreadÚrbTÚ _parse_wholei)r#ÚopenÚcloserr„r}r‚Úfeed)r+ÚsourceÚparserÚ close_sourceÚdatar r r!r ;s$          zElementTree.parsecCs |j |¡Sr1)r}rfrir r r!rf`s zElementTree.itercCstjdtdd�t| |¡ƒS)NzbThis method will be removed in future versions. Use 'tree.iter()' or 'list(tree.iter())' instead.r9r:rgrir r r!rjms ýzElementTree.getiteratorcCs:|dd…dkr,d|}tjd|tdd�|j ||¡S©Nrú/Ú.z‡This search is broken in 1.3 and earlier, and will be fixed in a future version. If you rely on the current behaviour, change it to %rr9r:)r<r=r>r}rUrVr r r!rUus þüzElementTree.findcCs<|dd…dkr,d|}tjd|tdd�|j |||¡SrŒ)r<r=r>r}rYrZr r r!rY‹s þüzElementTree.findtextcCs:|dd…dkr,d|}tjd|tdd�|j ||¡SrŒ)r<r=r>r}r\rVr r r!r\¡s þüzElementTree.findallcCs:|dd…dkr,d|}tjd|tdd�|j ||¡SrŒ)r<r=r>r}r]rVr r r!r]·s þüzElementTree.iterfindT©Úshort_empty_elementsc CsÞ|s d}n|tkrtd|ƒ‚|s4|dkr0d}nd}| ¡}t||ƒ�Ž}|dkrŽ|sd|dkrŽ|dkrŽ|} |dkr€ddl} |  ¡} |d | fƒ|d kr¤t||jƒn,t|j|ƒ\} } t|} | ||j| | |d �W5QRXdS) NÚxmlzunknown method %rÚc14núutf-8úus-ascii)r“r”Úunicoder•rz$ r3r�) Ú _serializeÚ ValueErrorÚlowerÚ _get_writerÚlocaleZgetpreferredencodingÚ_serialize_textr}Ú _namespaces)r+Úfile_or_filenameÚencodingÚxml_declarationÚdefault_namespaceÚmethodr�Z enc_lowerÚwriteZdeclared_encodingršÚqnamesrXZ serializer r r!r¢Ís:   ÿþÿ ÿzElementTree.writecCs|j|dd�S)Nr’)r¡)r¢)r+r~r r r!Ú write_c14nszElementTree.write_c14n)NN)N)N)N)N)NN)N)N)NNNN)rrrr-r€r�r rfrjrUrYr\r]r¢r¤r r r r!rs$  %     üû :c cs"z |j}WnPtk rZ|dkr.t|dƒ}nt|d|dd�}|�|jVW5QRXYnÄX|dkrl|Vn²t ¡�¤}t|tjƒrˆ|}nft|tjƒr¬t  |¡}|  |j ¡nBt ¡}dd„|_ ||_z|j |_ |j|_Wntk rìYnXtj||ddd�}|  |j ¡|jVW5QRXdS) Nr•ÚwÚxmlcharrefreplace)ržÚerrorscSsdS©NTr r r r r!Ú0óz_get_writer..Ú )ržr§Únewline)r¢ÚAttributeErrorr…Ú contextlibÚ ExitStackr%ÚioÚBufferedIOBaseÚ RawIOBaseÚBufferedWriterÚcallbackÚdetachÚwritableÚseekableÚtellÚ TextIOWrapper)r�ržr¢r~Ústackr r r!r™sB  ÿ      ý r™csddi‰i‰ˆrdˆˆ<‡‡‡fdd„}| ¡D]Ú}|j}t|tƒrZ|jˆkr–||jƒn.add_qname) rfr"r%r r3rkrr rÀrd)r5r rÅr"r`rar3r rÄr!rœBs4         rœc Ks´|j}|j}|tkr$|d|ƒ�nv|tkr<|d|ƒ�n^||}|dkr||r\|t|ƒƒ|D]}t|||d|d�q`�n|d|ƒt| ¡ƒ} | sž|�r2|ràt| ¡dd„d�D](\} } | rÊd| } |d | t | ƒfƒq¶| D]L\} } t | t ƒrü| j} t | t ƒ�r|| j} nt | ƒ} |d || | fƒqä|�sHt |ƒ�sH|�s’|d ƒ|�rb|t|ƒƒ|D]}t|||d|d��qf|d |d ƒn|d ƒ|j �r°|t|j ƒƒdS)Nú úr�ú.©r`ú:ú xmlns%s="%s"ú %s="%s"ú>ú)r"r3rr Ú _escape_cdataÚ_serialize_xmlrhrdÚsortedÚ_escape_attribr%r r7r4) r¢r5r£rXr�Úkwargsr"r3rQrdÚvÚkr r r!rÓs\  ÿ    ÿþ       ÿ rÓ) ZareaÚbaseZbasefontÚbrÚcolÚframeZhrZimgÚinputZisindexÚlinkÚmetaZparamc KsÆ|j}|j}|tkr(|dt|ƒƒ�n„|tkrD|dt|ƒƒ�nh||}|dkr€|rd|t|ƒƒ|D]}t|||dƒqh�n,|d|ƒt| ¡ƒ}|s¢|�r8|rät| ¡dd„d�D](\} } | rÎd| } |d| t | ƒfƒqº|D]N\} } t | t ƒ�r| j} t | t ƒ�r|| j} nt | ƒ} |d || | fƒqè|d ƒ|  ¡} |�rx| d k�sb| d k�rl||ƒn |t|ƒƒ|D]}t|||dƒ�q|| tk�r¬|d |d ƒ|j�rÂ|t|jƒƒdS)NrÆrÇrÈcSs|dSrÉr rÊr r r!r©Írªz!_serialize_html..rÌrÍrÎrÏrÐZscriptZstylerÑ)r"r3rrÒr Ú_serialize_htmlrhrdrÔrÕr%r Ú_escape_attrib_htmlr˜Ú HTML_EMPTYr4) r¢r5r£rXrÖr"r3rQrdr×rØZltagr r r!rà¹sX    ÿþ        ràcCs*| ¡D] }||ƒq|jr&||jƒdSr1)rlr4)r¢r5Úpartr r r!r›ës  r›)r‘Úhtmlr3cCsLt d|¡rtdƒ‚tt ¡ƒD]\}}||ks8||kr t|=q |t|<dS)Nzns\d+$z'Prefix format reserved for internal use)ÚreÚmatchr—rhr¿rd)rÃrÂrØr×r r r!rús r‘räZrdfZwsdlZxsZxsiZdc)ú$http://www.w3.org/XML/1998/namespacezhttp://www.w3.org/1999/xhtmlz+http://www.w3.org/1999/02/22-rdf-syntax-ns#z http://schemas.xmlsoap.org/wsdl/z http://www.w3.org/2001/XMLSchemaz)http://www.w3.org/2001/XMLSchema-instancez http://purl.org/dc/elements/1.1/cCstd|t|ƒjfƒ‚dS)Nzcannot serialize %r (type %s))r'rPrrqr r r!rÀsÿrÀc CshzBd|kr| dd¡}d|kr*| dd¡}d|kr>| dd¡}|WSttfk rbt|ƒYnXdS)Nú&ú&rÈú<rÐú>©Úreplacer'r­rÀrqr r r!rÒ!s   rÒc CsÌz¦d|kr| dd¡}d|kr*| dd¡}d|kr>| dd¡}d|krR| dd¡}d |krf| d d ¡}d |krz| d d ¡}d |krŽ| d d ¡}d |kr¢| d d¡}|WSttfk rÆt|ƒYnXdS)NrèrérÈrêrÐrëú"ú"z r«ú z ú z rìrqr r r!rÕ1s(        rÕc CshzBd|kr| dd¡}d|kr*| dd¡}d|kr>| dd¡}|WSttfk rbt|ƒYnXdS)NrèrérÐrërîrïrìrqr r r!ráMs   ráT)rŸr r�cCs:|dkrt ¡nt ¡}t|ƒj||||||d�| ¡S)Nr•©rŸr r¡r�)r°ÚStringIOÚBytesIOrr¢Úgetvalue)r$ržr¡rŸr r�Ústreamr r r!r\s üc@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú_ListDataStreamcCs ||_dSr1)Úlst)r+rør r r!r-vsz_ListDataStream.__init__cCsdSr¨r r/r r r!r¶ysz_ListDataStream.writablecCsdSr¨r r/r r r!r·|sz_ListDataStream.seekablecCs|j |¡dSr1)rørI)r+Úbr r r!r¢sz_ListDataStream.writecCs t|jƒSr1)r7rør/r r r!r¸‚sz_ListDataStream.tellN)rrrr-r¶r·r¢r¸r r r r!r÷ts r÷cCs*g}t|ƒ}t|ƒj||||||d�|S)Nrò)r÷rr¢)r$ržr¡rŸr r�rørör r r!r…s ücCsLt|tƒst|ƒ}|jtjdd�| ¡j}|r<|ddkrHtj d¡dS)Nr•)ržéÿÿÿÿr«)r%rr¢ÚsysÚstdoutr€r4)r5r4r r r!r’s  cCstƒ}| ||¡|Sr1)rr )rˆr‰Útreer r r!r ¨s  csft||d�‰‡‡‡‡fdd„‰G‡fdd„dtjjƒ}|ƒ‰dˆ_Š~d‰tˆdƒsbtˆdƒ‰d ‰ˆS) N)ÚeventsÚ_parserc3s^zJˆ ¡EdHˆ d¡}|s q,ˆ |¡qˆ ¡}ˆ ¡EdH|ˆ_W5ˆrXˆ ¡XdS)Ni@)r†Ú read_eventsr‚r‡Ú_close_and_return_rootÚroot)r‹r)rŠÚitÚ pullparserrˆr r!ÚiteratorÈs   ziterparse..iteratorcseZdZ”ƒjZdS)z$iterparse..IterParseIteratorN)rrrÚ__next__r )rr r!ÚIterParseIteratorØsrFr‚rƒT)rÚ collectionsÚabcÚIteratorrr#r…)rˆrþr‰rr )rŠrrrrˆr!r¶s   c@s<eZdZd ddœdd„Zdd„Zdd„Zd d „Zd d „ZdS)rN)rÿcCs<t ¡|_|pttƒd�|_|dkr(d}|j |j|¡dS)N©rp)Úend)rÚdequeÚ _events_queuerrrÿÚ _setevents)r+rþrÿr r r!r-ès  zXMLPullParser.__init__c CsZ|jdkrtdƒ‚|rVz|j |¡Wn.tk rT}z|j |¡W5d}~XYnXdS)Nz!feed() called after end of stream)rÿr—r‡Ú SyntaxErrorrrI)r+r‹Úexcr r r!r‡ôs zXMLPullParser.feedcCs|j ¡}d|_|Sr1)rÿr†)r+rr r r!rþs z$XMLPullParser._close_and_return_rootcCs | ¡dSr1)rr/r r r!r†szXMLPullParser.closeccs.|j}|r*| ¡}t|tƒr"|‚q|VqdSr1)rÚpopleftr%Ú Exception)r+rþÚeventr r r!r s  zXMLPullParser.read_events)N)rrrr-r‡rr†rr r r r!ræs   cCs"|sttƒd�}| |¡| ¡S©Nr ©rrr‡r†)r3r‰r r r!rs   cCsR|sttƒd�}| |¡| ¡}i}| ¡D]}| d¡}|r.|||<q.||fS)Nr r.)rrr‡r†rfr_)r3r‰rýZidsr5r.r r r!r,s      cCs,|sttƒd�}|D]}| |¡q| ¡Srr)Zsequencer‰r3r r r!rDs   c@sdeZdZddddddœdd„Zdd„Zdd „Zd d „Zd d „Zdd„Zdd„Z ddd„Z dd„Z dS)rNF)Úcomment_factoryÚ pi_factoryÚinsert_commentsÚ insert_piscCsdg|_g|_d|_d|_d|_|dkr*t}||_||_|dkrBt}||_ ||_ |dkrZt }||_ dSr1) Ú_dataÚ_elemÚ_lastr}Ú_tailrÚ_comment_factoryrr Ú _pi_factoryrrÚ_factory)r+Zelement_factoryrrrrr r r!r-js zTreeBuilder.__init__cCs|jSr1rr/r r r!r†~szTreeBuilder.closecCs>|jr:|jdk r4d |j¡}|jr,||j_n||j_g|_dS©Nr»)rrÚjoinrr4r3©r+r3r r r!Ú_flush„s   zTreeBuilder._flushcCs|j |¡dSr1)rrI©r+r‹r r r!r‹�szTreeBuilder.datacCsX| ¡| ||¡|_}|jr2|jd |¡n|jdkrB||_|j |¡d|_|S)Nrúr)r%r!rrrIr}r)r+r"Úattrsr5r r r!Ústart”s  zTreeBuilder.startcCs | ¡|j ¡|_d|_|jSrÉ)r%rÚpoprrrir r r!r ¥s zTreeBuilder.endcCs| |j|j|¡Sr1)Ú_handle_singlerrr$r r r!Úcomment³s ÿzTreeBuilder.commentcCs| |j|j||¡Sr1)r*r r)r+rpr3r r r!Úpi»s ÿzTreeBuilder.picGs:||Ž}|r6| ¡||_|jr0|jd |¡d|_|S)Nrúr)r%rrrIr)r+ÚfactoryrNÚargsr5r r r!r*ÄszTreeBuilder._handle_single)N)N) rrrr-r†r%r‹r(r r+r,r*r r r r!rVsþ   c@sleZdZdddœdd„Zdd„Zdd„Zd d „Zd d „Zd d„Zdd„Z dd„Z dd„Z dd„Z dd„Z dS)rN)rpržc Csdzddlm}Wn>tk rNz ddl}Wntk rHtdƒ‚YnXYnX| |d¡}|dkrjtƒ}||_|_||_|_ |j |_ i|_ |j |_t|dƒrª|j|_t|dƒr¼|j|_t|dƒrÎ|j|_t|dƒrà|j|_t|d ƒrò|j|_t|d ƒ�r|j|_t|d ƒ�r|j|_d |_d |_d |_ d|_!i|_"zd |j#|_$Wnt%k �r^YnXdS)Nr©Úexpatz7No module named expat; use SimpleXMLTreeBuilder insteadr½r(r Ústart_nsÚend_nsr‹r+r,rzExpat %d.%d.%d)&Ú xml.parsersr0Ú ImportErrorZpyexpatZ ParserCreaterr‰rÿrpÚ_targetÚerrorÚ_errorÚ_namesÚ_defaultZDefaultHandlerExpandr#Ú_startÚStartElementHandlerÚ_endÚEndElementHandlerÚ _start_nsÚStartNamespaceDeclHandlerÚ_end_nsÚEndNamespaceDeclHandlerr‹ZCharacterDataHandlerr+ÚCommentHandlerr,ÚProcessingInstructionHandlerZ buffer_textÚordered_attributesÚspecified_attributesÚ_doctypeÚentityÚ version_infoÚversionr­)r+rpržr0r‰r r r!r-ÚsP ÿ          zXMLParser.__init__cCs8|j}|j}|D�] }|dkrDd|_d|_|||jfdd„}||_q|dkrf|||jfdd„}||_q|dkr¤t|j dƒrŽ|||j fd d„}n||fd d„}||_ q|d krât|j d ƒrÌ|||j fd d„}n||fdd„}||_ q|dk�r|||fdd„}||_q|dk�r&|||fdd„}||_qtd|ƒ‚qdS)Nr(rcSs|||||ƒfƒdSr1r )r"Z attrib_inrrIr(r r r!Úhandlersz%XMLParser._setevents..handlerr cSs||||ƒfƒdSr1r )r"rrIr r r r!rJszstart-nsr1cSs|||||ƒfƒdSr1r )rÃrÂrrIr1r r r!rJ!scSs|||p d|pdffƒdSr"r )rÃrÂrrIr r r!rJ%szend-nsr2cSs||||ƒfƒdSr1r )rÃrrIr2r r r!rJ+scSs||dfƒdSr1r )rÃrrIr r r!rJ/sr+cSs|||j |¡fƒdSr1)rpr+)r3rrIr+r r r!rJ3sr,cSs|||j ||¡fƒdSr1)rpr,)Z pi_targetr‹rrIr+r r r!rJ7szunknown event %r)rÿrIrDrEr:r;r<r=r#rpr>r?r@rArBrCr—)r+Z events_queueZevents_to_reportr‰rIZ event_namerJr r r!rsL ÿ ÿ  ÿ  ÿ   ÿ zXMLParser._seteventscCs&t|ƒ}|j|_|j|jf|_|‚dSr1)r ÚcodeÚlinenoÚoffsetZposition)r+raÚerrr r r!Ú _raiseerror>szXMLParser._raiseerrorcCsFz|j|}Wn2tk r@|}d|kr2d|}||j|<YnX|S)Nr½r¼)r8ÚKeyError)r+r`Únamer r r!Ú_fixnameDszXMLParser._fixnamecCs|j |p d|pd¡Sr")rpr1©r+rÃrÂr r r!r>OszXMLParser._start_nscCs|j |p d¡Sr")rpr2)r+rÃr r r!r@RszXMLParser._end_nscCsR|j}||ƒ}i}|rDtdt|ƒdƒD]}||d||||ƒ<q&|j ||¡S)Nrr9r)rRÚranger7rpr()r+r"Ú attr_listZfixnamer)Úir r r!r:UszXMLParser._startcCs|j | |¡¡Sr1)rpr rRrir r r!r<aszXMLParser._endc CsØ|dd…}|dkr²z |jj}Wntk r6YdSXz||j|dd…ƒWnZtk r¬ddlm}| d||jj |jj f¡}d|_ |jj |_ |jj |_ |‚YnX�n"|dkrÔ|dd …d krÔg|_�n|jdk �rÔ|d kròd|_dS| ¡}|�sdS|j |¡t|jƒ}|d k�rÔ|jd}|d k�rd|dk�rd|j\}}} } | �rŽ| dd…} n*|dk�rŠ|dk�rŠ|j\}}} d} ndSt|jdƒ�r¶|j || | dd…¡nt|dƒ�rÎt dt¡d|_dS)Nrrèrúrr/z'undefined entity %s: line %d, column %dé rÈé z r@r:r<r9r‡r†r r r r!rÐs .6  6)ÚoutÚ from_filecKsˆ|dkr|dkrtdƒ‚d}|dkr0t ¡}}tt|jf|Žd�}|dk r`| |¡| ¡n|dk rtt||d�|dk r„|  ¡SdS)Nz:Either 'xml_data' or 'from_file' must be provided as inputr )r‰) r—r°rórrr¢r‡r†r rõ)Zxml_datararbZoptionsZsior‰r r r!r¶s     z ^\w+:\w+$c@sŒeZdZddddddddœdd„Zefdd„Zdd „Zdd d „Zd d „Zdj fdd„Z dd„Z dd„Z ddd„Z dd„Zdd„Zdd„ZdS)rFN)Ú with_commentsÚ strip_textÚrewrite_prefixesÚqname_aware_tagsÚqname_aware_attrsÚ exclude_attrsÚ exclude_tagsc CsÎ||_g|_||_||_|r$t|ƒnd|_|r6t|ƒnd|_||_|rRt|ƒ|_nd|_|rjt|ƒj |_ nd|_ dgg|_ g|_ |s˜|j   tt ¡ƒ¡|j   g¡i|_dg|_d|_d|_d|_d|_dS)N)rçr‘Fr)Ú_writerÚ_with_commentsÚ _strip_textrbÚ_exclude_attrsÚ _exclude_tagsÚ_rewrite_prefixesÚ_qname_aware_tagsÚ intersectionÚ_find_qname_aware_attrsÚ_declared_ns_stackÚ _ns_stackrIrhr¿rdÚ _prefix_mapÚ_preserve_spaceÚ_pending_startÚ _root_seenÚ _root_doneÚ_ignored_depth) r+r¢rcrdrerfrgrhrir r r!r-ís2 ÿ zC14NWriterTarget.__init__ccs ||ƒD]}|r|EdHqdSr1r )r+Zns_stackZ _reversedrXr r r!Ú_iter_namespacess z!C14NWriterTarget._iter_namespacescCs\| dd¡\}}| |j¡D]$\}}||krd|›d|›�Sqtd|›d|›d�ƒ‚dS)NrÍrr¼r½zPrefix z of QName "ú" is not declared in scope)Úsplitr{rtr—)r+Z prefixed_namerÃrQrÂÚpr r r!Ú_resolve_prefix_names z%C14NWriterTarget._resolve_prefix_namecCsˆ|dkr:|dd…dkr,|dd… dd¡nd|f\}}n|}tƒ}| |j¡D]B\}}||krˆ||krˆ|rz|›d|›�n|||fS| |¡qP|jrò||jkr°|j|}ndt|jƒ›�}|j|<|jd ||f¡|›d|›�||fS|�s d|k�r |||fS| |j ¡D]J\}}||k�r|jd ||f¡|�rR|›d|›�n|||fS�q|�st|||fSt d|›d �ƒ‚dS) Nrr¼r½r»rÍr^rúz Namespace "r|) r¾rbr{rsÚaddrorur7rIrtr—)r+rÁrÂr"Z prefixes_seenÚurÃr r r!Ú_qnames.2      & zC14NWriterTarget._qnamecCs|js|j |¡dSr1)rzrrIr&r r r!r‹CszC14NWriterTarget.datar»cCs’||jƒ}|jdd…=|jr.|jds.| ¡}|jdk rv|jd}|_|rVt|ƒrV|nd}|j||fžŽ|dk rvdS|rŽ|jrŽ| t |ƒ¡dS©Nrú) rrlrvr\rwÚ_looks_like_prefix_namer:rxrjÚ_escape_cdata_c14n)r+Z _join_textr‹r.Ú qname_textr r r!r%Gs    zC14NWriterTarget._flushcCs0|jr dS|jr| ¡|jd ||f¡dSrƒ)rzrr%rtrIrSr r r!r1Us zC14NWriterTarget.start_nscCs€|jdk r,|js||jkr,|jd7_dS|jr:| ¡g}|j |¡|jdk rn||jkrn|||f|_dS| |||¡dSrÉ) rnrzrr%rsrIrprwr:)r+r"r'Únew_namespacesr r r!r(]s ÿÿ  zC14NWriterTarget.startcs ˆjdk r$|r$‡fdd„| ¡Dƒ}|h|™}i}|dk rVˆ |¡}||<| |¡ˆjdk r°|r°ˆ |¡}|rª|D]0} || } t| ƒrvˆ | ¡}|| <| |¡qvq´d}nd}ˆj‰‡fdd„t|dd„d�Dƒ} |rôdd„|Dƒ} |  ¡ng} |�rjt| ¡ƒD]^\} }|dk �r@| |k�r@||k�r@| ||d }| | \}} }|   |�r\|n| |f¡�q |  d ¡}ˆj   |�rˆ|d knˆj d ¡ˆj }|d | |d ƒ| �rÌ|d  dd„| Dƒ¡ƒ|dƒ|dk �rö|t| ||d ƒƒdˆ_ˆj  g¡dS)Ncs i|]\}}|ˆjkr||“qSr )rm©Ú.0rØr×r/r r!Ú ps z+C14NWriterTarget._start..csi|]}|ˆ|ƒ“qSr r )r‰r^)Ú parse_qnamer r!rŠˆscSs | dd¡S)Nr½r)r})r^r r r!r©‰rªz)C14NWriterTarget._start..rÌcSs$g|]\}}|rd|nd|f‘qS)zxmlns:Zxmlnsr )r‰rÂrÃr r r!Ú �sÿz+C14NWriterTarget._start..rz+{http://www.w3.org/XML/1998/namespace}spaceZpreserverúrÈr»cSs&g|]\}}d|›dt|ƒ›d�‘qS)roz="rî)Ú_escape_attrib_c14nrˆr r r!rŒ©srÐT)rmrdrr€rrr„r‚rÔÚsortrIr_rvrjr#r…rxrt)r+r"r'r‡r†r£Zresolved_namesrÁZqattrsZ attr_nameraZ parsed_qnamesrUrØr×Z attr_qnamerÂZspace_behaviourr¢r )r‹r+r!r:ns`    ÿ þ  þ zC14NWriterTarget._startcCst|jr|jd8_dS|jr&| ¡| d| |¡d›d�¡|j ¡t|jƒdk|_|j  ¡|j  ¡dS)NrrÑrrÐ) rzrr%rjr‚rvr)r7ryrsrtrir r r!r ³s  zC14NWriterTarget.endcCsd|js dS|jrdS|jr&| d¡n|jr:|jr:| ¡| dt|ƒ›d�¡|js`| d¡dS)Nr«z)rkrzryrjrxrr%r…r$r r r!r+¿s  zC14NWriterTarget.commentcCsp|jr dS|jr| d¡n|jr0|jr0| ¡| |rNd|›dt|ƒ›d�n d|›d�¡|jsl| d¡dS)Nr«z)rzryrjrxrr%r…)r+rpr‹r r r!r,Ìs  $ÿzC14NWriterTarget.pi)N)N)rrrr-Úreversedr{rr‚r‹r#r%r1r(r:r r+r,r r r r!r×s&ý %  % E  c Cs|zVd|kr| dd¡}d|kr*| dd¡}d|kr>| dd¡}d|krR| dd¡}|WSttfk rvt|ƒYnXdS) NrèrérÈrêrÐrërðú rìrqr r r!r…Ùs    r…c Cs¤z~d|kr| dd¡}d|kr*| dd¡}d|kr>| dd¡}d|krR| dd¡}d |krf| d d ¡}d |krz| d d ¡}|WSttfk ržt|ƒYnXdS) NrèrérÈrêrîrïrñz r«z rðr�rìrqr r r!r�ìs       r�)re)Ú_set_factories)N)N)N)NN)NN)N)NN)N)N)N)N)?Ú__all__rrûrår<r°rZcollections.abcr®r»rrr rrrrr r r rÚcontextmanagerr™rœrÓrârbÚ NameErrorràr›r–rr¿rÀrÒrÕrárr±r÷rrr rrrrrrrrrÚcompileÚUNICODErær„rr…r�rOZ _elementtreer‘r4r r r r!ÚKsÞï >   0s 3 =2 2ý ö þ þ   05   zg