o ?OgL"@s gdZdZddlZddlZddlZddlZddlZddlZddlZddl m Z Gddde Z dd Z Gd d d Zifd d Zd]ddZd]ddZeZGdddZGdddZejddZd]ddZddZdZzeeZWn ey}YnwddZdd Zeeed!Zd"d#Zd$d%d&d'd(d)d*d+Z e e_ d,d-Z!d.d/Z"d0d1Z#d2d3Z$d^ddd4d5d6d7Z%Gd8d9d9ej&Z'd^ddd4d5d:d;Z(dZ>Wn e?y<YdSwe>eedS)`)CommentdumpElement ElementTree fromstringfromstringlistindent iselement iterparseparse ParseErrorPIProcessingInstructionQName SubElementtostring tostringlist TreeBuilderVERSIONXMLXMLID XMLParser XMLPullParserregister_namespace canonicalizeC14NWriterTargetz1.3.0N) ElementPathc@seZdZ dS)r N)__name__ __module__ __qualname__r!r!)r)rr#idr,r!r!r"__repr__zElement.__repr__cCs |||SN)r))r,r#r*r!r!r" makeelements zElement.makeelementcCs tdt|S)Nz7elem.copy() is deprecated. Use copy.copy(elem) instead.)warningswarnDeprecationWarning__copy__r0r!r!r"copys z Element.copycCs0||j|j}|j|_|j|_||dd<|Sr3)r4r#r*texttail)r,elemr!r!r"r8s  zElement.__copy__cC t|jSr3)lenr+r0r!r!r"__len__ zElement.__len__cCstjdtddt|jdkS)NzyThe behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead. stacklevelr)r5r6 FutureWarningr>r+r0r!r!r"__bool__s zElement.__bool__cCs |j|Sr3r+r,indexr!r!r" __getitem__r@zElement.__getitem__cCs8t|tr|D]}||qn||||j|<dSr3)r&slice_assert_is_elementr+)r,rHr%eltr!r!r" __setitem__s   zElement.__setitem__cCs |j|=dSr3rFrGr!r!r" __delitem__s zElement.__delitem__cCs |||j|dSr3rKr+appendr, subelementr!r!r"rPs zElement.appendcCs& |D] }|||j|qdSr3rO)r,elementsr%r!r!r"extends  zElement.extendcCs |||j||dSr3)rKr+insert)r,rHrRr!r!r"rUs zElement.insertcCs t|tstdt|jdS)Nzexpected an Element, not %s)r& _Element_Pyr(typer)r,er!r!r"rKs zElement._assert_is_elementcC |j|dSr3)r+removerQr!r!r"rZ s zElement.removecC t|||Sr3)rfindr,path namespacesr!r!r"r\z Element.findcCs t||||Sr3)rfindtextr,r^defaultr_r!r!r"ra&s zElement.findtextcCr[r3)rfindallr]r!r!r"rd4r`zElement.findallcCr[r3)riterfindr]r!r!r"re?r`zElement.iterfindcCs" |jg|_d|_|_dSr3)r*clearr+r:r;r0r!r!r"rfJs z Element.clearcCs |j||Sr3)r*get)r,keyrcr!r!r"rgUs z Element.getcCs ||j|<dSr3)r*)r,rhvaluer!r!r"setbsz Element.setcC |jSr3)r*keysr0r!r!r"rlls z Element.keyscCrkr3)r*itemsr0r!r!r"rmus z Element.itemsccsH |dkrd}|dus|j|kr|V|jD] }||EdHqdS)N*)r#r+iter)r,r#rXr!r!r"ros z Element.iterccs\ |j}t|ts|durdS|j}|r|V|D]}|EdH|j}|r+|VqdSr3)r#r&strr:itertextr;)r,r#trXr!r!r"rqszElement.itertextr3NN)!rrr r#r*r:r;r.r1r4r9r8r?rErIrMrNrPrTrUrKrZr\rardrerfrgrjrlrmrorqr!r!r!r"r}sH            rcKs( i||}|||}|||Sr3)r4rP)parentr#r*r-r%r!r!r"rs   rcCs tt}||_|Sr3)rrr:)r:r%r!r!r"rsrcCs( tt}||_|r|jd||_|S)N )rr r:)targetr:r%r!r!r"r s  r c@sXeZdZ dddZddZddZdd Zd d Zd d ZddZ ddZ ddZ dS)rNcCs|rd||f}||_dS)Nz{%s}%sr:)r,Z text_or_urir#r!r!r"r.s  zQName.__init__cCs|jSr3rwr0r!r!r"__str__sz QName.__str__cCsd|jj|jfS)Nz<%s %r>)r)rr:r0r!r!r"r1zQName.__repr__cCr=r3)hashr:r0r!r!r"__hash__r@zQName.__hash__cCs t|tr |j|jkS|j|kSr3r&rr:r,otherr!r!r"__le__   z QName.__le__cCs t|tr |j|jkS|j|kSr3r|r}r!r!r"__lt__rz QName.__lt__cCs t|tr |j|jkS|j|kSr3r|r}r!r!r"__ge__rz QName.__ge__cCs t|tr |j|jkS|j|kSr3r|r}r!r!r"__gt__rz QName.__gt__cCs t|tr |j|jkS|j|kSr3r|r}r!r!r"__eq__rz QName.__eq__r3) rrr r.rxr1r{rrrrrr!r!r!r"rs  rc@seZdZ dddZddZddZddd Zdd d Zdd d ZdddZ dddZ dddZ    dddddZ ddZ dS)rNcCs||_|r ||dSdSr3)_rootr )r,r%filer!r!r"r.szElementTree.__init__cC |jSr3rr0r!r!r"getrootszElementTree.getrootcCs ||_dSr3r)r,r%r!r!r"_setroot"s zElementTree._setrootcCs d}t|dst|d}d}z<|dur-t}t|dr-|||_|jW|r,|SS |d}|s6n||q.||_|jW|rK|SS|rS|ww)NFreadrbT _parse_wholei)r$openrrrcloserfeed)r,sourceparser close_sourcedatar!r!r"r ,s6          zElementTree.parsecCs |j|Sr3)rror,r#r!r!r"roQs zElementTree.itercC< |dddkrd|}tjd|tdd|j||SNr/.zThis 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 %rrArB)r5r6rDrr\r]r!r!r"r\] zElementTree.findcCs> |dddkrd|}tjd|tdd|j|||Sr)r5r6rDrrarbr!r!r"rass zElementTree.findtextcCrr)r5r6rDrrdr]r!r!r"rdrzElementTree.findallcCrr)r5r6rDrrer]r!r!r"rerzElementTree.iterfindTshort_empty_elementsc Cs |sd}n |tvrtd||s|dkrd}nd}t||Q\}}|dkr@|s9|dur@|dkr@|dvr@|d|f|d krKt||jnt|j|\} } t|} | ||j| | |d WddSWddS1stwYdS) Nxmlzunknown method %rc14nutf-8us-asciiunicode)rrz$ r:r) _serialize ValueError _get_writerlower_serialize_textr _namespaces) r,file_or_filenameencodingxml_declarationdefault_namespacemethodrwriteZdeclared_encodingqnamesr_Z serializer!r!r"rs6     "zElementTree.writecCs|j|ddS)Nr)r)r)r,rr!r!r" write_c14nszElementTree.write_c14nrsr3)NNNN)rrr r.rrr ror\rardrerrr!r!r!r"r s&  %    5rc csfz|j}Wn2ty8|dkrd}t|d|dd}|j|fVWdYdS1s0wYYdSw|dkrL|t|ddpGdfVdStY}t|tj rZ|}n2t|tj rlt |}| |j n t }dd|_||_z |j|_|j|_Wn tyYnwtj||dd d }| |j |j|fVWddS1swYdS) Nrrwxmlcharrefreplace)rerrorsrcSdSNTr!r!r!r!r"sz_get_writer.. )rrnewline)rAttributeErrorrrgetattr contextlib ExitStackr&ioBufferedIOBase RawIOBaseBufferedWritercallbackdetachwritableseekabletell TextIOWrapper)rrrrstackr!r!r"rsL   &         "rcsddiir d<fdd}|D]m}|j}t|tr-|jvr,||jnt|tr;|vr:||n|durK|turK|turKt|| D]#\}}t|tr[|j}|vrc||t|trr|jvrr||jqO|j}t|tr|jvr||jqfS)NcszU|dddkrI|dddd\}}|}|dur5t|}|dur-dt}|dkr5||<|rBd||f|<WdS||<WdSrOtd||<WdStyct|YdSw)Nr{}zns%drz%s:%szrr(_raise_serialization_error)qnameurir#prefixrr_rr!r" add_qname.s*    z_namespaces..add_qname) ror#r&rr:rprr rrm)r<rrr#rhrir:r!rr"r#s<        rc Ks|j}|j}|tur|d|n|tur|d|n||}|dur;|r,|t||D] }t|||d|dq.n|d|t|} | sK|r|rlt|dddD]\} } | rad| } |d | t | fqW| D]%\} } t | t rz| j} t | t r|| j} nt | } |d || | fqn|st |s|s|d |r|t||D] }t|||d|dq|d |d n|d |j r|t|j dSdS)N r.rh: xmlns%s="%s" %s="%s">)r#r:rr _escape_cdata_serialize_xmllistrmsorted_escape_attribr&rr>r;) rr<rr_rkwargsr#r:rXrmvkr!r!r"r`s`          r) ZareabaseZbasefontbrcolframeZhrZimginputZisindexlinkmetaZparamc Ks|j}|j}|tur|dt|n|tur |dt|n||}|dur=|r0|t||D] }t|||dq2n|d|t|}|sM|r|rnt|dddD]\} } | rcd| } |d| t | fqY|D]%\} } t | t r|| j} t | t r|| j} nt | } |d || | fqp|d | } |r| d ks| d kr||n|t||D] }t|||dq| tvr|d |d |jr|t|jdSdS)NrrrcSrrr!rr!r!r"rrz!_serialize_html..rrrrrZscriptZstyler)r#r:rrr _serialize_htmlrrmrrr&r_escape_attrib_htmlr HTML_EMPTYr;) rr<rr_rr#r:rXrmrrZltagr!r!r"rs\         rcCs.|D]}||q|jr||jdSdSr3)rqr;)rr<partr!r!r"rs  r)rhtmlr:cCsN td|r tdttD]\}}||ks||kr t|=q|t|<dS)Nzns\d+$z'Prefix format reserved for internal use)rematchrrrrm)rrrrr!r!r"rs  rrrZrdfZwsdlZxsZxsiZdc)$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)Nzcannot serialize %r (type %s))r(rWrrwr!r!r"rsrc Cdz!d|vr |dd}d|vr|dd}d|vr|dd}|WSttfy1t|YdSw)N&&r<r>replacer(rrrwr!r!r"rs   rc CszId|vr |dd}d|vr|dd}d|vr|dd}d|vr)|dd}d |vr3|d d }d |vr=|d d }d |vrG|d d}|WSttfyYt|YdSw)Nrrrrrr"" z rz  z rrwr!r!r"rs&       rc Cr)Nrrrrrrrrwr!r!r"r.s   rT)rrrcCs< |dkr tnt}t|j||||||d|S)Nrrrrr)rStringIOBytesIOrrgetvalue)r%rrrrrstreamr!r!r"r=s rc@s6eZdZ ddZddZddZddZd d Zd S) _ListDataStreamcCs ||_dSr3)lst)r,rr!r!r"r.Wr@z_ListDataStream.__init__cCrrr!r0r!r!r"rZz_ListDataStream.writablecCrrr!r0r!r!r"r]r z_ListDataStream.seekablecCs|j|dSr3)rrP)r,br!r!r"r`z_ListDataStream.writecCr=r3)r>rr0r!r!r"rcr@z_ListDataStream.tellN)rrr r.rrrrr!r!r!r"rUs rcCs*g}t|}t|j||||||d|S)Nr)rrr)r%rrrrrrrr!r!r"rfs rcCsR t|ts t|}|jtjdd|j}|r|ddkr'tjddSdS)Nr)rr)r&rrsysstdoutrr;)r<r;r!r!r"rss  r csb t|tr |}|dkrtd|t|sdSd|gfdd|ddS)Nrz,Initial indentation level must be >= 0, got rcs|d}z|}Wnty|}|Ynw|jr'|js*||_|D]}t|r7|||jr?|jsB||_q,|jsO||_dSdSr) IndexErrorrPr:stripr>r;)r<levelZ child_levelZchild_indentationchild_indent_childrenZ indentationsspacer!r"rs$     z indent.._indent_children)r&rrrr>)treerrr!rr"rs rcCs t}||||Sr3)rr )rrrr!r!r"r s r csR t||dfddGfdddtjj}|d_~tS)N)events_parserc3sd}z>t|dst|d}d}dV EdH|d}|s#n|q}EdH|_W|r@|dSdS|rI|ww)NFrrTi@)r$r read_eventsrr_close_and_return_rootrootr)rrrr)it pullparserr!r"iterators,      ziterparse..iteratorcseZdZjZdS)z$iterparse..IterParseIteratorN)rrr __next__r!)rrr!r"IterParseIteratorsr!)r collectionsabcIteratorrnext)rrrr!r!)rrrrr"r s r c@sDeZdZdddddZddZddZd d Zd d Zd dZdS)rN)rcCs<t|_|p ttd|_|durd}|j|j|dS)Nrv)end)r"deque _events_queuerrr _setevents)r,rrr!r!r"r.s zXMLPullParser.__init__c Csb |jdur td|r/z |j|WdSty.}z |j|WYd}~dSd}~wwdS)Nz!feed() called after end of stream)rrr SyntaxErrorr)rP)r,rexcr!r!r"r s zXMLPullParser.feedcCs|j}d|_|Sr3)rr)r,rr!r!r"rs z$XMLPullParser._close_and_return_rootcCs |dSr3)rr0r!r!r"rs zXMLPullParser.closeccs6 |j}|r|}t|tr||V|sdSdSr3)r)popleftr& Exception)r,reventr!r!r"r"s  zXMLPullParser.read_eventscCs |jdur td|jdS)Nz"flush() called after end of stream)rrflushr0r!r!r"r00s zXMLPullParser.flushr3) rrr r.rrrrr0r!r!r!r"rs   rcCs$ |s ttd}|||SNr&rrrr)r:rr!r!r"r6s   rcCsT |s ttd}|||}i}|D] }|d}|r%|||<q||fS)Nr&r/)rrrrrorg)r:rrZidsr<r/r!r!r"rGs    rcCs. |s ttd}|D]}||q |Sr1r2)Zsequencerr:r!r!r"r_s   rc@sfeZdZ ddddddddZddZdd Zd d Zd d ZddZddZ dddZ ddZ dS)rNF)comment_factory pi_factoryinsert_comments insert_piscCsdg|_g|_d|_d|_d|_|durt}||_||_|dur!t}||_ ||_ |dur-t }||_ dSr3) _data_elem_lastr_tailr_comment_factoryr5r _pi_factoryr6r_factory)r,Zelement_factoryr3r4r5r6r!r!r"r.s  zTreeBuilder.__init__cCrr3rr0r!r!r"rszTreeBuilder.closecCsB|jr|jdurd|j}|jr||j_n||j_g|_dSdSNr)r7r9joinr:r;r:r,r:r!r!r"_flushs    zTreeBuilder._flushcCrYr3)r7rPr,rr!r!r"rszTreeBuilder.datacCsZ |||||_}|jr|jd|n|jdur"||_|j|d|_|S)Nr r)rAr=r9r8rPrr:)r,r#attrsr<r!r!r"starts  zTreeBuilder.startcCs" ||j|_d|_|jSr)rAr8popr9r:rr!r!r"r's  zTreeBuilder.endcCs ||j|j|Sr3)_handle_singler;r5r@r!r!r"comments zTreeBuilder.commentcCs ||j|j||Sr3)rFr<r6)r,rvr:r!r!r"pis zTreeBuilder.picGs:||}|r|||_|jr|jd|d|_|S)Nr r)rAr9r8rPr:)r,factoryrUargsr<r!r!r"rFszTreeBuilder._handle_singler3) rrr r.rrArrDr'rGrHrFr!r!r!r"rqs    rc@sveZdZ dddddZddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZdS)rN)rvrc CsNzddlm}Wnty#zddl}Wn ty tdwYnw||d}|dur1t}||_|_||_|_ |j |_ i|_ |j |_t|drQ|j|_t|drZ|j|_t|drc|j|_t|drl|j|_t|d ru|j|_t|d r~|j|_t|d r|j|_d |_d |_d|_ i|_!z d |j"|_#WdSt$yYdSw)Nrexpatz7No module named expat; use SimpleXMLTreeBuilder insteadrrDr'start_nsend_nsrrGrHrzExpat %d.%d.%d)% xml.parsersrL ImportErrorZpyexpatZ ParserCreaterrrrv_targeterror_error_names_defaultZDefaultHandlerExpandr$_startStartElementHandler_endEndElementHandler _start_nsStartNamespaceDeclHandler_end_nsEndNamespaceDeclHandlerrZCharacterDataHandlerrGCommentHandlerrHProcessingInstructionHandlerZ buffer_textordered_attributes_doctypeentity version_infoversionr)r,rvrrLrr!r!r"r.sV              zXMLParser.__init__cCs*|j}|j}|D]}|dkrd|_|||jfdd}||_q|dkr/|||jfdd}||_q|dkrNt|jdrC|||j fd d}n||fd d}||_ q|d krmt|jd rb|||j fd d}n||fdd}||_ q|dkr}|||fdd}||_ q|dkr|||fdd}||_qtd|dS)NrDrcS|||||fdSr3r!)r#Z attrib_inr/rPrDr!r!r"handler.z%XMLParser._setevents..handlerr'cS||||fdSr3r!)r#r/rPr'r!r!r"rf3zstart-nsrMcSrer3r!)rrr/rPrMr!r!r"rf:rgcSs|||pd|pdffdSr>r!)rrr/rPr!r!r"rf>szend-nsrNcSrhr3r!)rr/rPrNr!r!r"rfDricSs||dfdSr3r!)rr/rPr!r!r"rfHr rGcSs|||j|fdSr3)rvrG)r:r/rPr,r!r!r"rfLr2rHcSs|||j||fdSr3)rvrH)Z pi_targetrr/rPr,r!r!r"rfPszunknown event %r)rrPr`rVrWrXrYr$rvrZr[r\r]r^r_r)r,Z events_queueZevents_to_reportrrPZ event_namerfr!r!r"r*"sL        zXMLParser._seteventscCs"t|}|j|_|j|jf|_|r3)r codelinenooffsetZposition)r,rierrr!r!r" _raiseerrorWszXMLParser._raiseerrorcCsDz|j|}W|Sty!|}d|vrd|}||j|<Y|Sw)Nrr)rTKeyError)r,rhnamer!r!r"_fixname]s   zXMLParser._fixnamecCs|j|pd|p dSr>)rvrMr,rrr!r!r"rZhszXMLParser._start_nscCs|j|pdSr>)rvrN)r,rr!r!r"r\kr zXMLParser._end_nscCsR|j}||}i}|r"tdt|dD]}||d||||<q|j||S)NrrAr)rqranger>rvrD)r,r# attr_listZfixnamer*ir!r!r"rVnszXMLParser._startcCs|j||Sr3)rvr'rqrr!r!r"rXzryzXMLParser._endc Cs|dd}|dkrTz|jj}Wn tyYdSwz||j|ddWdStySddlm}|d||jj |jj f}d|_ |jj |_ |jj |_ |w|dkre|dd d kreg|_dS|jdur|d krsd|_dS|}|s{dS|j|t|j}|d kr|jd}|d kr|dkr|j\}}} } | r| dd} n|dkr|dkr|j\}}} d} ndSt|jdr|j|| | ddn t|drtdtd|_dSdSdS)Nrrr rrKz'undefined entity %s: line %d, column %d r z r$rzr5r6RuntimeWarning) r,r:rZ data_handlerrLrmnrWrpZpubidsystemr!r!r"rU}sn                  zXMLParser._defaultc CsJ z |j|dWdS|jy$}z ||WYd}~dSd}~ww)NF)rParserSrn)r,rrr!r!r"rszXMLParser.feedc Cs z |jddWn|jy"}z ||WYd}~nd}~wwz'z|jj}Wn ty3Yn w|W|`|`|`|`SW|`|`|`|`dS|`|`|`|`w)NT) rr~rSrnrvrrrrQ)r,rZ close_handlerr!r!r"rs(     zXMLParser.closec Cs|j}z:z|jd|jddWn|jy-}z ||WYd}~nd}~wwW|j|dSW|j|dS|j|w)NFr)rZGetReparseDeferralEnabledZSetReparseDeferralEnabledr~rSrn)r,Z was_enabledrr!r!r"r0s  zXMLParser.flush)rrr r.r*rnrqrZr\rVrXrUrrr0r!r!r!r"rs -5  6 r)out from_filecKs |dur |dur tdd}|durt}}tt|jfi|d}|dur3|||n |dur=t||d|durE| SdS)Nz:Either 'xml_data' or 'from_file' must be provided as inputr&)r) rrrrrrrrr r)Zxml_datarrZoptionsZsiorr!r!r"rs     rz ^\w+:\w+$c@seZdZ ddddddddddZefddZdd Zdd d Zd d Zdj fddZ ddZ ddZ dddZ ddZddZddZdS)rFN) with_comments strip_textrewrite_prefixesqname_aware_tagsqname_aware_attrs exclude_attrs exclude_tagsc Cs||_g|_||_||_|rt|nd|_|rt|nd|_||_|r)t||_nd|_|r5t|j |_ nd|_ dgg|_ g|_ |sL|j tt|j gi|_dg|_d|_d|_d|_d|_dS)N)rrFr)_writer7_with_comments _strip_textrj_exclude_attrs _exclude_tags_rewrite_prefixes_qname_aware_tags intersection_find_qname_aware_attrs_declared_ns_stack _ns_stackrPrrrm _prefix_map_preserve_space_pending_start _root_seen _root_done_ignored_depth) r,rrrrrrrrr!r!r"r.s2   zC14NWriterTarget.__init__ccs"||D] }|r|EdHqdSr3r!)r,Zns_stackZ _reversedr_r!r!r"_iter_namespaces4s   z!C14NWriterTarget._iter_namespacescCsX|dd\}}||jD]\}}||kr d|d|Sqtd|d|d)NrrrrzPrefix z of QName "" is not declared in scope)splitrrr)r,Z prefixed_namerrprpr!r!r"_resolve_prefix_name9s z%C14NWriterTarget._resolve_prefix_namecCsx|dur|dddkr|ddddnd|f\}}n|}t}||jD]!\}}||krD||vrD|r=|d|n|||fS||q(|jry||jvrX|j|}n dt|j}|j|<|jd||f|d|||fS|sd|vr|||fS||j D]"\}}||kr|jd||f|r|d|n|||fSq|s|||fSt d|d ) Nrrrrrr|r z Namespace "r) rrjrraddrrr>rPrr)r,rrr#Z prefixes_seenurr!r!r"_qname@s02        zC14NWriterTarget._qnamecCs|js |j|dSdSr3)rr7rPrBr!r!r"reszC14NWriterTarget.datarcCs||j}|jdd=|jr|jds|}|jdur=|jd}|_|r+t|r+|nd}|jg||R|dur=dS|rK|jrM|t |dSdSdSNr ) r7rrrr_looks_like_prefix_namerVrr_escape_cdata_c14n)r,Z _join_textrrJ qname_textr!r!r"rAis    zC14NWriterTarget._flushcCs0|jrdS|jr ||jd||fdSr)rr7rArrPrrr!r!r"rMws zC14NWriterTarget.start_nscCs|jdur|js ||jvr|jd7_dS|jr|g}|j||jdur7||jvr7|||f|_dS||||dSr) rrr7rArrPrrrV)r,r#rCnew_namespacesr!r!r"rDs    zC14NWriterTarget.startcsjdur|rfdd|D}|h|}i}|dur+|}||<||jdurX|rX|}|rU|D]} || } t| rS| }|| <||q;nd}nd}jfddt|dddD} |rzdd|D} | ng} |rt|D]*\} }|dur| |vr||vr| ||d }| | \}} }| |r|n| |fq| d }j |r|d knj d j }|d | |d | r|d dd| D|d|dur|t| ||d d_j gdS)Ncs i|] \}}|jvr||qSr!)r.0rrr0r!r" s z+C14NWriterTarget._start..csi|]}||qSr!r!)rr|) parse_qnamer!r"rscSs |ddS)Nrr)r)r|r!r!r"rs z)C14NWriterTarget._start..rcSs$g|]\}}|r d|nd|fqS)zxmlns:Zxmlnsr!)rrrr!r!r" sz+C14NWriterTarget._start..rz+{http://www.w3.org/XML/1998/namespace}spaceZpreserver rrcSs&g|]\}}d|dt|dqS)ruz="r)_escape_attrib_c14nrr!r!r"rs&rT)rrmrrrrrrsortrPrgrrr?rrr)r,r#rCrrrZresolved_namesrZqattrsZ attr_nameriZ parsed_qnamesrtrrZ attr_qnamerZspace_behaviourrr!)rr,r"rVsb         zC14NWriterTarget._startcCst|jr |jd8_dS|jr||d||dd|jt|jdk|_|j |j dS)Nrrrr) rr7rArrrrEr>rrrrr!r!r"r's  zC14NWriterTarget.endcCsh|jsdS|jr dS|jr|dn |jr|jr||dt|d|js2|ddSdS)Nrz)rrrrrr7rArr@r!r!r"rGs  zC14NWriterTarget.commentcCst|jrdS|jr|dn |jr|jr|||r'd|dt|dnd|d|js8|ddSdS)Nrz)rrrrr7rAr)r,rvrr!r!r"rHs  $zC14NWriterTarget.pir3)rrr r.reversedrrrrr?rArMrDrVr'rGrHr!r!r!r"rs" % % E rc Csxz+d|vr |dd}d|vr|dd}d|vr|dd}d|vr)|dd}|WSttfy;t|YdSw) Nrrrrrrr rrwr!r!r"rs    rc Csz?d|vr |dd}d|vr|dd}d|vr|dd}d|vr)|dd}d |vr3|d d }d |vr=|d d }|WSttfyOt|YdSw) Nrrrrrrrz rz rrrrwr!r!r"rs"      r)rn)_set_factoriesr3rs)rr)@__all__rr rr5rr"Zcollections.abcrrrr+r rrrrr r rrcontextmanagerrrrrrj NameErrorrrrrrrrrrrrrrrrr r rrrrrrrrcompileUNICODErrrrrrVZ _elementtreerrPr!r!r!r"sH  /  0e  1=2  2      6 2 :  zn