f" gdZdZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z Gdde Z dZGd d Zifd ZdCd ZdCd ZeZGddZGddZejdZdCdZdZhdZdZdZeeedZdZddddddd d!Zee_d"Z d#Z!d$Z"d%Z#dDddd&d'd(Z$Gd)d*ej%Z&dDddd&d'd+Z'd,Z(dEd.Z)dCd/Z*dDd0Z+Gd1d2Z,dCd3Z-dCd4Z.e-Z/dCd5Z0Gd6d7Z1Gd8d9Z2dCddd:d;Z3ej4dZ8d?Z9d@Z: eZ;ddAl$rYdSwxYw)F)CommentdumpElement ElementTree fromstringfromstringlistindent iselement iterparseparse ParseErrorPIProcessingInstructionQName SubElementtostring tostringlist TreeBuilderVERSIONXMLXMLID XMLParser XMLPullParserregister_namespace canonicalizeC14NWriterTargetz1.3.0N) ElementPathceZdZ dS)r N)__name__ __module__ __qualname__)r/r r'idr2s r%__repr__zElement.__repr__s!4>#:DHbhh"OOOr$c0 |||SN)r/)r2r'r0s r% makeelementzElement.makeelements ~~c6***r$c` tjdt|S)Nz7elem.copy() is deprecated. Use copy.copy(elem) instead.)warningswarnDeprecationWarning__copy__r7s r%copyz Element.copys3  E    }}r$c||j|j}|j|_|j|_||dd<|Sr:)r;r'r0texttail)r2elems r%r@zElement.__copy__s?$+66I I QQQ r$c*t|jSr:)lenr1r7s r%__len__zElement.__len__s4>"""r$cjtjdtdt|jdkS)NzyThe behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead. stacklevelr)r=r> FutureWarningrGr1r7s r%__bool__zElement.__bool__s=  K a     4>""a''r$c|j|Sr:r1r2indexs r% __getitem__zElement.__getitem__s~e$$r$ct|tr|D]}||n||||j|<dSr:)r,slice_assert_is_elementr1)r2rRr)elts r% __setitem__zElement.__setitem__sg eU # # - - -'',,,, -  # #G , , , 'ur$c|j|=dSr:rPrQs r% __delitem__zElement.__delitem__s N5 ! ! !r$cf |||j|dSr:rVr1appendr2 subelements r%r]zElement.appends9   +++ j)))))r$cp |D]1}|||j|2dSr:r\)r2elementsr)s r%extendzElement.extendsO   + +G  # #G , , , N ! !' * * * * + +r$ch |||j||dSr:)rVr1insert)r2rRr_s r%rdzElement.inserts76  +++ eZ00000r$cxt|ts$tdt|jzdS)Nzexpected an Element, not %s)r, _Element_Pyr.typer )r2es r%rVzElement._assert_is_elements@![)) N9DGG tt}||_|Sr:)rrrC)rCr)s r%rrs"gGGL Nr$cf tt}||_|r|jdz|z|_|S)N )rrrC)targetrCr)s r%rrs>+,,GGL 1|c)D0 Nr$cHeZdZ d dZdZdZdZdZdZdZ d Z d Z dS) rNc(|rd|d|}||_dS)N{}rC)r2 text_or_urir's r%r4zQName.__init__s*  8 8&1kk337K r$c|jSr:rr7s r%__str__z QName.__str__s yr$c2d|jjd|jdS)N)r/r rCr7s r%r8zQName.__repr__s  N333TYYY??r$c*t|jSr:)hashrCr7s r%__hash__zQName.__hash__sDIr$cbt|tr|j|jkS|j|kSr:r,rrCr2others r%__le__z QName.__le__0 eU # # +9 * *yE!!r$cbt|tr|j|jkS|j|kSr:rrs r%__lt__z QName.__lt__0 eU # # *9uz) )y5  r$cbt|tr|j|jkS|j|kSr:rrs r%__ge__z QName.__ge__rr$cbt|tr|j|jkS|j|kSr:rrs r%__gt__z QName.__gt__rr$cbt|tr|j|jkS|j|kSr:rrs r%__eq__z QName.__eq__rr$r:) r r!r"r4rr8rrrrrrr#r$r%rrs     @@@"""!!!"""!!!"""""r$rcpeZdZ ddZdZdZddZddZddZddZ dd Z dd Z dd d d Z dZ dS)rNcF||_|r||dSdSr:)_rootr )r2r)files r%r4zElementTree.__init__s3   JJt       r$c |jSr:rr7s r%getrootzElementTree.getroots /zr$c ||_dSr:r)r2r)s r%_setrootzElementTree._setroot#s  r$c d}t|dst|d}d} |Vt}t|dr8|||_|j|r|SS |d}|sn||.||_|j|r|SS#|r|wwxYw)NFreadrbT _parse_wholei)r(openrrrcloserfeed)r2sourceparser close_sourcedatas r%r zElementTree.parse-s  vv&& &$''FL ~"6>22& "(!4!4V!c8 |j|Sr:)rrr2r's r%rzElementTree.iterRs zs###r$c |dddkr$d|z}tjd|ztd|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 %rrJrK)r=r>rMrrlrms r%rlzElementTree.find^sh  8s??:D M-/34!      ztZ000r$c |dddkr$d|z}tjd|ztd|j|||Sr)r=r>rMrrqrrs r%rqzElementTree.findtexttsl  8s??:D M-/34!      z""4*===r$c |dddkr$d|z}tjd|ztd|j||Sr)r=r>rMrrurms r%ruzElementTree.findallsj  8s??:D M-/34!      z!!$ 333r$c |dddkr$d|z}tjd|ztd|j||Sr)r=r>rMrrwrms r%rwzElementTree.iterfindsj  8s??:D M-/34!      z""4444r$Tshort_empty_elementsc |sd}n|tvrtd|z|s |dkrd}nd}t||5\}}|dkrA|s0|=|dkr%|dvr|d|d |d krt ||jn:t |j|\} } t|} | ||j| | | ddddS#1swxYwYdS) Nxmlzunknown method %rc14nutf-8us-asciiunicode)rrz rCr) _serialize ValueError _get_writerlower_serialize_textr _namespaces) r2file_or_filenameencodingxml_declarationdefault_namespacemethodrwritedeclared_encodingqnamesro serializes r%rzElementTree.writes  . ;FF : % %069:: : &"% )8 4 4 E8R@QO$,^^%%22&,,..6KKK%%%()))tz2222%0=N%O%O" &v.  %VZ/CEEEE E E E E E E E E E E E E E E E E E EsB!C--C14C1c0||dS)Nr)r)r)r2rs r% write_c14nzElementTree.write_c14nszz$vz...r$rr:)NNNN)r r!r"r4rrr rrlrqrurwrrr#r$r%rrs   ####J $ $ $ $1111,>>>>,4444,5555." $ 3E $( 3E3E3E3E3Ej/////r$rc#xK |j}|dkr|t|ddpdfVdStj5}t |t jr|}nt |t jr/t j |}| |j nLt j}d|_ ||_ |j |_ |j|_n#t$rYnwxYwt j||dd}| |j |j|fVddddS#1swxYwYdS#t$rV|dkrd}t#|d|d 5}|j|fVdddYdS#1swxYwYYdSwxYw) NrrrcdSNTr#r#r$r%z_get_writer..sDr$xmlcharrefreplace )rerrorsnewlinew)rr)rrgetattr contextlib ExitStackr,ioBufferedIOBase RawIOBaseBufferedWritercallbackdetachwritableseekabletellAttributeError TextIOWrapperr)rrrstackrs r%rrs-+ & >>  y ( (!1:tDDOO O O O O O%'' +5.0ABB+DD 0",??,-=>>DNN4;////,..D$0LDM!&DJ)9(A $4$9 )'19/B04666 t{+++j(****9 + + + + + + + + + + + + + + + + + + ''' >>  y ( (H "C(,... '15*h& & & & ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'smEB E C21E 2 C?<E >C??AE  EE7F9 F* F9*F. .F91F. 2F98F9cddiird<fd}|D])}|j}t|tr|jvr||jnHt|t r|vr ||n#|!|t ur|turt|| D]^\}}t|tr|j}|vr ||t|tr|jvr||j_|j}t|tr|jvr||j+fS)Nc |dddkr|dddd\}}|}|9t|}|dtz}|dkr||<|r |d||<dS||<dSrt d||<dS#t $rt |YdSwxYw)Nrrrzns%dr:z.add_qname/s .RaRyC 9++C33S#,,>+//44F~!'#j//!9*0 3(/5vvss$;F5MMM$'F5MMM$$3!&u  . . . &u - - - - - - .sB B/B/B//C  C ) rr'r,rrCrrr rr) rErrr'r|r~rCrors ` @@r%rr$sD\FJ+(* $%.......8 !!h c5 ! ! ,xv%% #(### S ! ! ,&   # _G!3!32 &s + + +**,, & &JC#u%% h&   #%'' &EJf,D,D %*%%%y dE " " !ty'>'> Idi : r$c |j}|j}|tur|d|zn|tur|d|zn||}|5|r|t ||D]}t |||d|na|d|zt |} | s|r|rPt|dD]+\} } | rd| z} |d| d t| d ,| D]k\} } t| tr| j} t| tr|| j} nt| } |d || d | d l|st|s|sP|d |r|t ||D]}t |||d||d |zd zn |d|j r|t |j dSdS)N rrc|dSNrr#xs r%rz _serialize_xml..w QqTr$r|r xmlns=""rr)r'rCrr _escape_cdata_serialize_xmllistrsorted_escape_attribr,rrGrD) rrErrorkwargsr'rCrhrvks r%rras (C 9D g~~ kD !!!! % % % hoSk ; +mD))*** J Jua4HJJJJJ J E#)   &&E 9  9 &z'7'7'9'9+9>!;!;!;1( #aAAA*1----"99DAq!!U++#F!!U++."16N*1--EE&)))QQQ78888 s4yy (< c /E---...NNA"5!VT8LNNNNNdSj3&''''e  y( mDI&&'''''((r$>brhrcolimgwbrareabaselinkmetaembedframeinputparamtrackrisindexbasefontc j|j}|j}|tur|dt|zn|tur|dt|zn||}|3|r|t||D]}t |||dnu|d|zt |}|s|r|rPt|dD]+\} } | rd| z} |d| dt| d ,|D]k\} } t| tr| j} t| tr|| j} nt| } |d || d| d l|d | } |r0| d ks| d kr ||n|t||D]}t |||d| tvr|d|zd z|jr|t|jdSdS)Nr r rc|dSr r#r s r%rz!_serialize_html..rr$rrrrrrrscriptstyler)r'rCrrr_serialize_htmlrrrrr,r_escape_attrib_htmlr HTML_EMPTYrD) rrErrorr'rCrhrrrltags r%r1r1s (C 9D g~~ kM$///0000 % % % ht,,,----Sk ; +mD))*** 8 8q&$7777 8 E#)   &&E 9  9 &z'7'7'9'9+9>!;!;!;1( #aAAA*1----"99DAq!!U++#F!!U++3"16N/22EE&)))QQQ78888 E#JJJ99;;D /8##twE$KKKKE---... 8 8q&$7777:%%dSj3&''' y( mDI&&'''''((r$c||D] }|||jr||jdSdSr:)rrD)rrEparts r%rrsT  d  y dir$)rhtmlrCc tjd|rtdttD]\}}||ks||krt|=|t|<dS)Nzns\d+$z'Prefix format reserved for internal use)rematchrrrr)rrrrs r%rrs~  x 6""DBCCC^))++,,""1 88qF{{q! N3r$rr7rdfwsdlxsxsidc)$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/cRtd|dt|jd)Nzcannot serialize z (type ))r.rgr rs r%rrs1 )+/44d1D1D1DE   r$c d|vr|dd}d|vr|dd}d|vr|dd}|S#ttf$rt|YdSwxYw)N&&r<r>replacer.rrrs r%rrs ) $;;<<W--D $;;<<V,,D $;;<<V,,D ~ &)))"4(((((()AA A65A6c d|vr|dd}d|vr|dd}d|vr|dd}d|vr|dd}d |vr|d d }d |vr|d d }d |vr|d d}|S#ttf$rt|YdSwxYw)NrDrErrFrrGr" z rz  z rHrs r%rrs ) $;;<<W--D $;;<<V,,D $;;<<V,,D 4<<<<h//D 4<<<<g..D 4<<<<g..D 4<<<<g..D ~ &)))"4(((((()sB7B:: CCc d|vr|dd}d|vr|dd}d|vr|dd}|S#ttf$rt|YdSwxYw)NrDrErrGrrLrHrs r%r2r2+s ) $;;<<W--D $;;<<V,,D 4<<<<h//D ~ &)))"4(((((()rJT)rrrc |dkrtjntj}t||||||||S)Nrrrrr)rStringIOBytesIOrrgetvalue)r)rrrrrstreams r%rr:sr ')33R[]]]Fvx/>1B&,4H JJJ ??  r$c.eZdZ dZdZdZdZdZdS)_ListDataStreamc||_dSr:)lst)r2rYs r%r4z_ListDataStream.__init__Ts r$cdSrr#r7s r%rz_ListDataStream.writableWtr$cdSrr#r7s r%rz_ListDataStream.seekableZr[r$c:|j|dSr:)rYr])r2bs r%rz_ListDataStream.write]s r$c*t|jSr:)rGrYr7s r%rz_ListDataStream.tell`s48}}r$N)r r!r"r4rrrrr#r$r%rWrWRsbAr$rWcxg}t|}t||||||||S)NrQ)rWrr)r)rrrrrrYrUs r%rrcsU C S ! !Fvx/>1B&,4H JJJ Jr$c" t|tst|}|tjd|j}|r |ddkr!tjddSdS)Nr)rr)r,rrsysstdoutrrD)rErDs r%rrps dK ( (!4  JJszIJ... <<>> D 48t## $#r$ c t|tr|}|dkrtd|t |sdSd|zzgfd|ddS)Nrz,Initial indentation level must be >= 0, got rc|dz} |}n0#t$r#|z}|YnwxYw|jr|js||_|D]D}t |r |||jr|js||_E|js||_dSdSr ) IndexErrorr]rCstriprGrD)rElevel child_levelchild_indentationchild_indent_children indentationsspaces r%rnz indent.._indent_childrensai  3 ,[ 9   3 3 3 ,U 3e ;     1 2 2 2 2 2 3y *  1 1 *)DI / /E5zz 5   444: /UZ%5%5%7%7 /. z!! -%e,EJJJ - -s *>>)r,rrrrG)treerprjrnros ` @@r%rrs $ $$||~~ qyyOOOPPP t9955=()L-------,T1r$cP t}||||Sr:)rr )rrrqs r%r r s+ ==DJJvv Kr$c t||tdstddndfdGfddtjj}|}d|_tj||S) N)events_parserrrTFc3K Ed{V|d}|sn|H}Ed{V}|||_r|dSdS#r|wwxYw)NTi@) read_eventsrr_close_and_return_rootrootr)rrryitr pullparserwrs r%iteratorziterparse..iterators  &%11333333333{{9--%%%  &4466D!--// / / / / / / /B~    |   s B B))Cc<eZdZjZfdZdS)$iterparse..IterParseIteratorc8rdSdSr:)r)r2rrs r%__del__z,iterparse..IterParseIterator.__del__s&    r$N)r r!r"__next__r)rr}rsr%IterParseIteratorrsE8F##,        r$r) rr(r collectionsabcIteratorryweakrefref) rrtrrrzrr}r{r|s ` @@@@r%r r s  ff===J 66 " "fd##  $KO4    BBG RB Ir$c:eZdZd dddZdZdZdZdZdZdS) rN)ructj|_|ptt |_|d}|j|j|dS)Nr)end)rdeque _events_queuerrru _setevents)r2rtrus r%r4zXMLPullParser.__init__s[ ).00A);=="A"A"A >F  2F;;;;;r$c |jtd|rO |j|dS#t$r%}|j|Yd}~dSd}~wwxYwdS)Nz!feed() called after end of stream)rurr SyntaxErrorrr])r2rexcs r%rzXMLPullParser.feed s* < @AA A  / / !!$''''' / / /"))#......... / / /s7 A&A!!A&cF|j}d|_|Sr:)rur)r2rys r%rxz$XMLPullParser._close_and_return_roots!|!!##  r$c0 |dSr:)rxr7s r%rzXMLPullParser.closes! ##%%%%%r$c#K |j}|r3|}t|tr||V|1dSdSr:)rpopleftr, Exception)r2rtevents r%rwzXMLPullParser.read_events%sj # NN$$E%++        r$cd|jtd|jdS)Nz"flush() called after end of stream)rurflushr7s r%rzXMLPullParser.flush3s3 < ABB B r$r:) r r!r"r4rrxrrwrr#r$r%rrs >r$c |stt}|||}i}|D]}|d}|r|||<||fS)Nrr6)rrrrrr{)rCrrqidsrEr6s r%rrJs 1+--000 KK <<>>D C  XXd^^  CG 9r$c |stt}|D]}|||Srr)sequencerrCs r%rrbsW 1+--000 D <<>>r$cVeZdZ d ddddddZdZdZdZdZd Zd Z d d Z d Z dS)rNF)comment_factory pi_factoryinsert_comments insert_piscg|_g|_d|_d|_d|_|t }||_||_|t}||_ ||_ |t}||_ dSr:) _data_elem_lastr_tailr_comment_factoryrr _pi_factoryrr_factory)r2element_factoryrrrrs r%r4zTreeBuilder.__init__sr      "%O /.  .J%$  "%O' r$c |jSr:rr7s r%rzTreeBuilder.closesIzr$c|jrJ|j:d|j}|jr ||j_n ||j_g|_dSdSNr)rrjoinrrDrCr2rCs r%_flushzTreeBuilder._flushs\ : z%wwtz**:+&*DJOO'+DJODJJJ  r$c< |j|dSr:)rr]r2rs r%rzTreeBuilder.datas!* $r$c ||||x|_}|jr!|jd|n|j||_|j|d|_|S)Nrbr)rrrrr]rr)r2r'attrsrEs r%startzTreeBuilder.starts  MM#u555 T :  JrN ! !$ ' ' ' ' Z DJ $  r$c ||j|_d|_|jSr )rrpoprrrs r%rzTreeBuilder.ends: Z^^%%  zr$cF ||j|j|Sr:)_handle_singlerrrs r%commentzTreeBuilder.comments. ""  !4#7?? ?r$cH ||j|j||Sr:)rrr)r2rrCs r%pizTreeBuilder.pis/ ""  dovt== =r$c||}|rI|||_|jr |jd|d|_|S)Nrbr)rrrr]r)r2factoryrdargsrEs r%rzTreeBuilder._handle_singlesYw~   KKMMMDJz , 2%%d+++DJ r$r:) r r!r"r4rrrrrrrrr#r$r%rrts&(!%$!&5((((((      "   ???====r$rc`eZdZ ddddZdZdZdZdZdZd Z d Z d Z d Z d Z dZdS)rN)rrc@ ddlm}n3#t$r& ddl}n#t$rtdwxYwYnwxYw||d}|t }|x|_|_|x|_|_ |j |_ i|_ |j |_t|dr |j|_t|dr |j|_t|dr |j|_t|dr |j|_t|d r |j|_t|d r |j|_t|d r |j|_d |_d |_d|_ i|_! d |j"z|_#dS#tH$rYdSwxYw)Nrexpatz7No module named expat; use SimpleXMLTreeBuilder insteadrrrstart_nsend_nsrrrrzExpat %d.%d.%d)% xml.parsersr ImportErrorpyexpat ParserCreaterrrur_targeterror_error_names_defaultDefaultHandlerExpandr(_startStartElementHandler_endEndElementHandler _start_nsStartNamespaceDeclHandler_end_nsEndNamespaceDeclHandlerrCharacterDataHandlerrCommentHandlerrProcessingInstructionHandler buffer_textordered_attributes_doctypeentity version_infoversionr)r2rrrrs r%r4zXMLParser.__init__s  ) ) ) ) ) ) )    '''''   !M (' ##Hc22 > ]]F%++ dl%++ dlk  &*m# 67 # # 5)-F & 65 ! ! 1'+yF $ 6: & & >/3~F , 68 $ $ :-1\F * 66 " " 6*0+F ' 69 % % 3$*NF ! 64  <28)F /$%!   +e.@@DLLL    DD s. 99399>F FFc|j}|j}|D]}|dkrd|_|||jfd}||_#|dkr|||jfd}||_=|dkr0t|jdr |||j fd}n||fd }||_ s|d kr0t|jd r |||j fd }n||fd }||_ |dkr|||fd}||_ |dkr|||fd}||_td|zdS)Nrrc4|||||fdSr:r#)r' attrib_inrr]rs r%handlerz%XMLParser._setevents..handler1s)FE55i#8#89:::::r$rc2||||fdSr:r#)r'rr]rs r%rz%XMLParser._setevents..handler6s%FE33s88,-----r$zstart-nsrc4|||||fdSr:r#)rrrr]rs r%rz%XMLParser._setevents..handler=s)xx'<'<=>>>>>r$c,|||pd|pdffdSrr#)rrrr]s r%rz%XMLParser._setevents..handlerAs* "ciR'@ABBBBBr$zend-nsrc2||||fdSr:r#)rrr]rs r%rz%XMLParser._setevents..handlerGs%vvf~~677777r$c ||dfdSr:r#)rrr]s r%rz%XMLParser._setevents..handlerKst}-----r$rcP|||j|fdSr:)rr)rCrr]r2s r%rz%XMLParser._setevents..handlerOs-FE4;#6#6t#<#<=>>>>>r$rcR|||j||fdSr:)rr) pi_targetrrr]r2s r%rz%XMLParser._setevents..handlerSs-FE4;>>)T#B#BCDDDDDr$zunknown event %r)rur]rrrrrr(rrrrrrrr)r2 events_queueevents_to_reportrr] event_namers r%rzXMLParser._setevents%s$** B* BJW$$,-)2fCCCC3:00x''4;11..8'+|88888/9....18..y(((26????(/%%t##3=f!%EEEE7>33 !3j!@AAAU* B* Br$cbt|}|j|_|j|jf|_|r:)r codelinenooffsetposition)r2r~errs r% _raiseerrorzXMLParser._raiseerrorZs-:|U\1  r$cn |j|}n%#t$r|}d|vrd|z}||j|<YnwxYw|S)Nrr)rKeyError)r2r|names r%_fixnamezXMLParser._fixname`s` $;s#DD $ $ $Dd{{Tz#DK     $  s 22c@|j|pd|pdSr)rrr2rrs r%rzXMLParser._start_nsks"{##FLb#)<<tdt|dD]}||dz||||< |j||S)NrrJr)rrangerGrr)r2r' attr_listfixnamer0is r%rzXMLParser._startqs-gcll  ?1c)nna00 ? ?09!A#wwy|,,--{  f---r$c\|j||Sr:)rrrrs r%rzXMLParser._end}s"{t}}S11222r$c|dd}|dkr |jj}n#t$rYdSwxYw ||j|dddS#t$raddlm}|d||jj |jj fz}d|_ |jj |_ |jj |_ |wxYw|dkr|dd d kr g|_dS|j|d kr d|_dS|}|sdS|j|t#|j}|d kr|jd}|d kr|dkr|j\}}} } | r | dd} n|dkr|dkr|j\}}} d} ndSt%|jdr%|j|| | ddn*t%|drt)jdt,d|_dSdSdS)NrrDrbrrz'undefined entity %s: line %d, column %d r z RuntimeWarning) r2rCr data_handlerrrnrgrpubidsystems r%rzXMLParser._defaults}bqb S== #{/ !      T[ad455555   ------kk=4;6K133 ![8 ![:   s]]tBQBx;66DMMM ] &}} $ ::< AAA A* B* A74B6A77B Bcp|j} |jd|jddn,#|j$r}||Yd}~nd}~wwxYw|j|dS#|j|wxYw)NFr$)rGetReparseDeferralEnabledSetReparseDeferralEnabledrrr)r2 was_enabledrs r%rzXMLParser.flushsk;;==  ? K 1 1% 8 8 8 K  c5 ) ) ) ){     Q          K 1 1+ > > > > >DK 1 1+ > > > >s/5AB A:A50B5A::BB5)r r!r"r4rrrrrrrrrrrr#r$r%rrs"&+++++Z3B3B3Bj   ===000 . . .3334%4%4%l   ***"?????r$r)out from_filec J ||tdd}|tjx}}tt |jfi|}|*|||n|t|||| ndS)Nz:Either 'xml_data' or 'from_file' must be provided as inputr)r) rrrRrrrrrr rT)xml_datar r!optionssiors r%rrs I-UVVV C {KMM!c .syDDGDD E E EF H    i'''' _3<<>>>$6r$z ^\w+:\w+$ceZdZ dddddddddZefdZdZddZdZd j fd Z d Z d Z dd Z dZdZdZdS)rFN) with_comments strip_textrewrite_prefixesqname_aware_tagsqname_aware_attrs exclude_attrs exclude_tagscX||_g|_||_||_|rt |nd|_|rt |nd|_||_|rt ||_nd|_|rt |j |_ nd|_ dgg|_ g|_ |s>|j tt|j gi|_dg|_d|_d|_d|_d|_dS)N)r@rFr)_writer_with_comments _strip_textr_exclude_attrs _exclude_tags_rewrite_prefixes_qname_aware_tags intersection_find_qname_aware_attrs_declared_ns_stack _ns_stackr]rrr _prefix_map_preserve_space_pending_start _root_seen _root_done_ignored_depth) r2rr'r(r)r*r+r,r-s r%r4zC14NWriterTarget.__init__sE  +%4AKc-000t2>HS...D!1  *%()9%:%:D " "%)D "  0+./@+A+A+ND ( (+/D ( <$ #  @ N ! !$~';';'='=">"> ? ? ? b!!! %w"r$c#:K||D] }|r|Ed{V dSr:r#)r2ns_stack _reversedros r%_iter_namespacesz!C14NWriterTarget._iter_namespaces7sJ#)H-- & &J &%%%%%%%% & &r$c|dd\}}||jD]\}}||kr d|d|cStd|d|d)NrrrrzPrefix z of QName "" is not declared in scope)splitrCr9r)r2 prefixed_namerrrps r%_resolve_prefix_namez%C14NWriterTarget._resolve_prefix_name<s$**322 ++DN;; * *FCF{{)C))4)))))_6__m___```r$c|4|dddkr|ddddnd|f\}}n|}t}||jD]4\}}||kr||vr|r|d|n|||fcS||5|jrd||jvr|j|}n!dt|jx}|j|<|jd||f|d|||fS|s d|vr|||fS||j D]=\}}||kr2|jd||f|r|d|n|||fcS>|s|||fStd|d ) Nrrrrrrrbz Namespace "rE) rrrCr8addr4r:rGr]r9r)r2rrr' prefixes_seenurs r%_qnamezC14NWriterTarget._qnameCs$ ;38!93C3CuQRRy''Q///"eHCC ..t/FGG & &IAvCxxF-77,2;&((3(((S#EEEE   f % % % %  ! /d&&&)#.1LS9I5J5J1L1LL)#.  #B ' . .V} = = =$$s$$c3. . !r..S= ..t~>> F FIAvCxx'+22C=AAA,2;&((3(((S#EEEE !S= FsFFFGGGr$cL|js|j|dSdSr:)r?rr]rs r%rzC14NWriterTarget.datahs3" $ J  d # # # # # $ $r$rcd||j}|jdd=|jr!|jds|}|j7|jdc}|_|rt |r|nd}|jg||R|dS|r+|jr&|t|dSdSdSNrb) rr1r;rir<_looks_like_prefix_namerr=r/_escape_cdata_c14n)r2 _join_textrr qname_texts r%rzC14NWriterTarget._flushlsz$*%% JqqqM   D$8$< ::<D  F C/////r$cj"|r fd|D}|h|}i}|/|x}||<||jh|rf|}|rL|D]H} || } t | r/| x}|| <||Ind}nd}jfdt|dD} |r!d|D} | ng} |rlt|D]J\} }|| |vr||vr| ||d}| | \}} }| |r|n| |fK| d}j |r|dkn j d j }|d | |dz| r(|d d | D|d |*|t| ||dd_j gdS)Nc.i|]\}}|jv||Sr#)r2).0rrr2s r% z+C14NWriterTarget._start..s,TTTdaq@S7S7SQ7S7S7Sr$c(i|]}||Sr#r#)r[r parse_qnames r%r\z+C14NWriterTarget._start..s/444qKKNN444r$c.|ddS)Nrr)rF)rs r%rz)C14NWriterTarget._start..s!''#q//r$rc*g|]\}}|rd|znd|fS)zxmlns:xmlnsr#)r[rrs r% z+C14NWriterTarget._start..s@C'-9F""'3?r$rz+{http://www.w3.org/XML/1998/namespace}spacepreserverbrrc@g|]\}}d|dt|dS)rrr)_escape_attrib_c14n)r[rrs r%rbz+C14NWriterTarget._start..s9TTT$!Q=q==$7$:$:===TTTr$rT)r2rrIrKr7rRrNrsortr]r{r;r/rrSr=r9)r2r'rrXrUrresolved_namesrqattrs attr_namer~ parsed_qnamesrrr attr_qnamerspace_behaviourrr^s` @r%rzC14NWriterTarget._starts6   *u *TTTTekkmmTTTE  !151J1J:1V1V VEN:. JJu     ' 3 311%88F !'**I!),E.u55*8<8Q8QRW8X8XXu 5 5))) * Fk 4444F 11535353444   #1I NN    I  Hu{{}}-- H H1%!v++!~:M:M%nQ&78;A-:1-=* Is  "B**A!FGGGG ))$QRR ##-< *Oz ) )%b) + + +   cM#&q))***  W E"''TT)TTTUU V V V c   ! E$]>*3M%Nq%QRR S S S b!!!!!r$c|jr|xjdzc_dS|jr||d||dd|jt|jdk|_|j |j dS)Nrrrr) r?rrr/rNr;rrGr>r8r9rs r%rzC14NWriterTarget.ends      1 $   F :  KKMMM /S))!,///000   """d233q8 ##%%% r$c0|jsdS|jrdS|jr|dn"|jr|jr||dt|d|js|ddSdS)Nrz)r0r?r>r/r=rrrSrs r%rzC14NWriterTarget.comments"  F    F ?  KK     _   KKMMM 8-d33888999  KK       r$c4|jrdS|jr|dn"|jr|jr|||rd|dt |dnd|d|js|ddSdS)Nrz)r?r>r/r=rrrS)r2rrs r%rzC14NWriterTarget.pis    F ?  KK     _   KKMMM :> S 6 6 6,T22 6 6 6 6OOOO U U U  KK       r$r:)r r!r"r4reversedrCrIrNrrrrrrrrrr#r$r%rrs, %"&$#$# # # # # J4<&&&& aaa#H#H#H#HJ$$$!# 2 2 2 2111000"C"C"C"C"J           r$rc& d|vr|dd}d|vr|dd}d|vr|dd}d|vr|dd}|S#ttf$rt|YdSwxYw) NrDrErrFrrGrM rHrs r%rSrSs) $;;<<W--D $;;<<V,,D $;;<<V,,D 4<<<<g..D ~ &)))"4(((((()sA)A,, BBc d|vr|dd}d|vr|dd}d|vr|dd}d|vr|dd}d |vr|d d }d |vr|d d }|S#ttf$rt|YdSwxYw) NrDrErrFrrLrNz rz rMrrrHrs r%reres) $;;<<W--D $;;<<V,,D $;;<<X..D 4<<<<g..D 4<<<<g..D 4<<<<g..D ~ &)))"4(((((()sBB CC)r)_set_factoriesr:r)rer)?__all__rrcr9r=rrcollections.abcrrrrrr r rrrrr rrcontextmanagerrrrr3r1rrrrrrrr2rrrWrrrr r rrrrrrrrcompileUNICODEr:rRrrSrerf _elementtreertrr#r$r%r{s"!P   (             ### jjjjjjjjZ $&$     +"+"+"+"+"+"+"+"`_/_/_/_/_/_/_/_/H /+/+/+b;;;;z0(0(0(d 0(0(0(d    !!!*-2$*38(.(,16(,  %3!   ))) )))8 ) ) )!T"&0b'" !%&*     &////l    5555p77777777t",     $vvvvvvvvth?h?h?h?h?h?h?h?Z7tt77777<%"*\2:>>DD)))&))). 3K++++++N7122222   DD s E66E?>E?