PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  pY-@sddlZddlZdZdZdZdZdZdZdZ d Z Gd d d ej j Z Gd d d ZGdddZGddde ZdZddddZdddZdS)N START_ELEMENT END_ELEMENTCOMMENTSTART_DOCUMENT END_DOCUMENTPROCESSING_INSTRUCTIONIGNORABLE_WHITESPACE CHARACTERSc@seZdZdZdZdddZddZddZdd Zd d Z d d Z ddZ ddZ ddZ ddZddZddZddZddZddZd d!Zd"d#ZdS)$PullDOMNc Csddlm}||_ddg|_|j|_g|_|jj|_y|jj|_Wnt k rsYnX|dig|_ |j d|_ g|_ dS)Nr) XML_NAMESPACExml) Zxml.domr documentFactory firstEvent lastEvent elementStackappendpushpopAttributeError _ns_contexts_current_contextpending_events)selfrr r&/opt/python35/lib/python3.5/pulldom.py__init__s    zPullDOM.__init__cCs|jd}|jd=|S)Nr rr)r)rresultrrrr!s  z PullDOM.popcCs ||_dS)N)_locator)rZlocatorrrrsetDocumentLocator&szPullDOM.setDocumentLocatorcCsdt|dsg|_|jj|p*d|f|jj|jj|pVd|j|rrrprocessingInstructions  zPullDOM.processingInstructioncCs?|jj|}t|fdg|jd<|jd|_dS)Nr )r+createTextNoderr)rcharsr6rrrignorableWhitespaceszPullDOM.ignorableWhitespacecCs?|jj|}t|fdg|jd<|jd|_dS)Nr )r+rDr r)rrEr6rrr charactersszPullDOM.characterscCs4|jdkr0ddl}|jjjj|_dS)Nr)rZxml.dom.minidomZdomZminidomZDocumentimplementation)rr rrr startDocuments zPullDOM.startDocumentc Cs8|jj||d}||_t|fdg|jd<|jd|_|j|x|jD]}|ddtkr|d\}}}|jj||}t|f|dparentstokenZcur_noderrr expandNodes        zDOMEventStream.expandNodecCs|jjds"|jj|j_xP|jjdst|jj|j}|sa|jjdS|jj|q%W|jjdd}|jjdd|jjd<|S)Nr r) rarrr[readr]r\closerZ)rbufrfrrrr_s zDOMEventStream.getEventcCs)|jj|j|j|_|jS)z Fallback replacement for getEvent() using the standard SAX2 interface, which means we slurp the SAX events into memory (no performance gain, but we are compatible to all SAX parsers). )r\parser[_emitr_)rrrrr^s zDOMEventStream._slurpcCs6|jjdd}|jjdd|jjd<|S)zn Fallback replacement for getEvent() that emits the events that _slurp() read previously. r r)rar)rrfrrrrsszDOMEventStream._emitcCs)|jj|`d|_d|_dS)z+clear(): Explicitly release parsing objectsN)rarOr\r[)rrrrrOs  zDOMEventStream.clearN) rPrQrRrr`rgrirjrnr_r^rsrOrrrrrYs         rYc@sLeZdZddZddZddZddZd d Zd S) SAX2DOMcCsAtj|||||jd}|jd}|j|dS)Nr r)r r8rrk)rr2r3r4curNode parentNoderrrr8#s  zSAX2DOM.startElementNScCs>tj||||jd}|jd}|j|dS)Nr rurrv)r r:rrk)rr2r4rwrxrrrr:)s  zSAX2DOM.startElementcCsBtj||||jdd}|jd}|j|dS)Nrr r)r rCrrrk)rrArBr6rxrrrrC/s zSAX2DOM.processingInstructioncCs?tj|||jdd}|jd}|j|dS)Nrr r)r rFrrrk)rrEr6rxrrrrF5s zSAX2DOM.ignorableWhitespacecCs?tj|||jdd}|jd}|j|dS)Nrr r)r rGrrrk)rrEr6rxrrrrG;s zSAX2DOM.charactersN)rPrQrRr8r:rCrFrGrrrrrt!s     rtrucCs^|dkrt}t|tr3t|d}n|}|sNtjj}t|||S)Nrb)default_bufsize isinstancestropenr rb make_parserrY)Zstream_or_stringr\r]r[rrrrrDs rrcCsMddlm}t|}||}|s=tjj}t|||S)Nr)StringIO)iorlenr rbrrY)stringr\rr]rqrrr parseStringOs   ri@i?)Zxml.saxr Zxml.sax.handlerrrrrrrrr rbZContentHandlerr rSrYrtr|rrrrrrrs  U!