ó
    F\hu-  ã                   óÈ   • S SK rS SKrSrSrSrSrSrSrSr	S	r
 " S
 S\R                  R                  5      r " S S5      r " S S5      r " S S\5      rSrSS jrSS jrg)é    NÚSTART_ELEMENTÚEND_ELEMENTÚCOMMENTÚSTART_DOCUMENTÚEND_DOCUMENTÚPROCESSING_INSTRUCTIONÚIGNORABLE_WHITESPACEÚ
CHARACTERSc                   ó†   • \ rS rSrSrSrSS jrS rS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rS rS rS rSrg)ÚPullDOMé   Nc                 ó6  • SSK Jn  Xl        S S /U l        U R                  U l        / U l        U R
                  R                  U l         U R
                  R                  U l        US0/U l
        U R                  S   U l        / U l        g ! [         a     N2f = f)Nr   )ÚXML_NAMESPACEÚxmléÿÿÿÿ)Úxml.domr   ÚdocumentFactoryÚ
firstEventÚ	lastEventÚelementStackÚappendÚpushÚpopÚAttributeErrorÚ_ns_contextsÚ_current_contextÚpending_events)Úselfr   r   s      Ú&/usr/lib/python3.13/xml/dom/pulldom.pyÚ__init__ÚPullDOM.__init__   s•   € Ý)Ø.ÔØ ˜,ˆŒØŸ™ˆŒØˆÔØ×%Ñ%×,Ñ,ˆŒ	ð	Ø×(Ñ(×,Ñ,ˆDŒHð ,¨EÐ2Ð3ˆÔØ $× 1Ñ 1°"Ñ 5ˆÔØ ˆÕøô ó 	áð	ús   Á
B Â
BÂBc                 ó>   • U R                   S   nU R                   S	 U$ ©Nr   )r   )r   Úresults     r   r   ÚPullDOM.pop!   s%   € Ø×"Ñ" 2Ñ&ˆØ×Ñ˜bÐ!Øˆó    c                 ó   • Xl         g ©N)Ú_locator)r   Úlocators     r   ÚsetDocumentLocatorÚPullDOM.setDocumentLocator&   s   € Ø�r&   c                 ó  • [        U S5      (       d  / U l        U R                  R                  U=(       d    SU45        U R                  R                  U R                  R                  5       5        U=(       d    S U R                  U'   g )NÚ_xmlns_attrsÚxmlns)Úhasattrr.   r   r   r   Úcopy)r   ÚprefixÚuris      r   ÚstartPrefixMappingÚPullDOM.startPrefixMapping)   sl   € Ü�t˜^×,Ñ,Ø "ˆDÔØ×Ñ× Ñ  &×"3¨G°SÐ!9Ô:Ø×Ñ× Ñ  ×!6Ñ!6×!;Ñ!;Ó!=Ô>Ø%+§^¨tˆ×Ñ˜cÒ"r&   c                 óB   • U R                   R                  5       U l        g r(   )r   r   r   )r   r2   s     r   ÚendPrefixMappingÚPullDOM.endPrefixMapping0   s   € Ø $× 1Ñ 1× 5Ñ 5Ó 7ˆÕr&   c                 ó  • Sn[        U SS 5      nUb!  U H  u  pgXsR                  XF4'   M     / U l        Uu  p‰U(       ac  Uc!  U R                  U   n
U
(       a	  U
S-   U	-   nOU	nU R                  (       a  U R                  R                  X‚5      nOQU R                  X‚5      nO?U R                  (       a  U R                  R                  U	5      nOU R                  S U	5      nUR                  5        HÐ  u  pgUu  pÍXÄ:X  a;  US:X  a  UnOSU-   nU R                  R                  XÎ5      nUR                  U5        O�U(       aN  U R                  U   n
U
(       a	  U
S-   U-   nOUnU R                  R                  XÎ5      nUR                  U5        O,U R                  R                  U5      nUR                  U5        Xl        MÒ     [        U4S /U R                  S'   U R                  S   U l        U R!                  U5        g )Nzhttp://www.w3.org/2000/xmlns/r.   Ú:r/   zxmlns:é   )ÚgetattrÚ_attrsr.   r   ÚdocumentÚcreateElementNSÚbuildDocumentÚcreateElementÚitemsÚcreateAttributeNSÚsetAttributeNodeNSÚcreateAttributeÚsetAttributeNodeÚvaluer   r   r   )r   ÚnameÚtagNameÚattrsÚ	xmlns_uriÚxmlns_attrsÚanamerG   r3   Ú	localnamer2   ÚnodeÚa_uriÚa_localnameÚqnameÚattrs                   r   ÚstartElementNSÚPullDOM.startElementNS3   sÏ  € à3ˆ	Ü˜d N°DÓ9ˆØÑ"Û +‘�Ø38—‘˜iÐ/Ó0ñ !,à "ˆDÔØ‰ˆÞð ‰Ø×.Ñ.¨sÑ3�ÞØ$ s™l¨YÑ6‘Gà'�GØ�}�}Ø—}‘}×4Ñ4°SÓB‘à×)Ñ)¨#Ó7‘ð �}�}Ø—}‘}×2Ñ2°9Ó=‘à×)Ñ)¨$°	Ó:�à Ÿ;™;ž=‰KˆEØ!&ÑˆEØÓ!Ø 'Ó)Ø'‘Eà$ {Ñ2�EØ—}‘}×6Ñ6°uÓD�Ø×'Ñ'¨Õ-ÞØ×.Ñ.¨uÑ5�ÞØ" S™L¨;Ñ6‘Eà'�EØ—}‘}×6Ñ6°uÓD�Ø×'Ñ'¨Õ-à—}‘}×4Ñ4°[ÓA�Ø×%Ñ% dÔ+ØŽJñ) )ô, ,¨TÐ2°DÐ9ˆ�‰�qÑØŸ™¨Ñ*ˆŒØ�	‰	�$�r&   c                 óv   • [         U R                  5       4S /U R                  S'   U R                  S   U l        g ©Nr;   ©r   r   r   )r   rH   rI   s      r   ÚendElementNSÚPullDOM.endElementNSl   ó0   € Ü)¨4¯8©8«:Ð6¸Ð=ˆ�‰�qÑØŸ™¨Ñ*ˆ�r&   c                 ó�  • U R                   (       a  U R                   R                  U5      nOU R                  S U5      nUR                  5        H7  u  pEU R                   R	                  U5      nXVl        UR                  U5        M9     [        U4S /U R                  S'   U R                  S   U l        U R                  U5        g rW   )
r>   rA   r@   rB   rE   rG   rF   r   r   r   )r   rH   rJ   rO   rM   rG   rS   s          r   ÚstartElementÚPullDOM.startElementp   s�   € Ø�=�=Ø—=‘=×.Ñ.¨tÓ4‰Dà×%Ñ% d¨DÓ1ˆDà Ÿ;™;ž=‰KˆEØ—=‘=×0Ñ0°Ó7ˆDØŒJØ×!Ñ! $Ö'ñ )ô
 ,¨TÐ2°DÐ9ˆ�‰�qÑØŸ™¨Ñ*ˆŒØ�	‰	�$�r&   c                 óv   • [         U R                  5       4S /U R                  S'   U R                  S   U l        g rW   rX   )r   rH   s     r   Ú
endElementÚPullDOM.endElement   r[   r&   c                 óþ   • U R                   (       aG  U R                   R                  U5      n[        U4S /U R                  S'   U R                  S   U l        g [        U4S /nU R                  R                  U5        g rW   )r>   ÚcreateCommentr   r   r   r   )r   ÚsrO   Úevents       r   ÚcommentÚPullDOM.commentƒ   sf   € Ø�=�=Ø—=‘=×.Ñ.¨qÓ1ˆDÜ")¨4 °$Ð 7ˆD�N‰N˜1ÑØ!Ÿ^™^¨AÑ.ˆD�Nä˜q�\ 4Ð(ˆEØ×Ñ×&Ñ& uÕ-r&   c                 óþ   • U R                   (       aG  U R                   R                  X5      n[        U4S /U R                  S'   U R                  S   U l        g [        X4S /nU R                  R                  U5        g rW   )r>   ÚcreateProcessingInstructionr   r   r   r   )r   ÚtargetÚdatarO   re   s        r   ÚprocessingInstructionÚPullDOM.processingInstructionŒ   sh   € Ø�=�=Ø—=‘=×<Ñ<¸VÓJˆDÜ"8¸$Ð!?ÀÐ FˆD�N‰N˜1ÑØ!Ÿ^™^¨AÑ.ˆD�Nä,¨fÐ;¸TÐBˆEØ×Ñ×&Ñ& uÕ-r&   c                 ó�   • U R                   R                  U5      n[        U4S /U R                  S'   U R                  S   U l        g rW   )r>   ÚcreateTextNoder	   r   ©r   ÚcharsrO   s      r   ÚignorableWhitespaceÚPullDOM.ignorableWhitespace•   s>   € Ø�}‰}×+Ñ+¨EÓ2ˆÜ2°DÐ9¸4Ð@ˆ�‰�qÑØŸ™¨Ñ*ˆ�r&   c                 ó�   • U R                   R                  U5      n[        U4S /U R                  S'   U R                  S   U l        g rW   )r>   ro   r
   r   rp   s      r   Ú
charactersÚPullDOM.charactersš   s>   € Ø�}‰}×+Ñ+¨EÓ2ˆÜ(¨$Ð/°Ð6ˆ�‰�qÑØŸ™¨Ñ*ˆ�r&   c                 ó†   • U R                   c4  SS KnUR                  R                  R                  R
                  U l         g g )Nr   )r   Úxml.dom.minidomÚdomÚminidomÚDocumentÚimplementation)r   r   s     r   ÚstartDocumentÚPullDOM.startDocumentŸ   s2   € Ø×ÑÑ'Û"Ø#&§7¡7§?¡?×#;Ñ#;×#JÑ#JˆDÕ ð (r&   c                 óN  • U R                   R                  XS 5      nX0l        [        U4S /U R                  S'   U R                  S   U l        U R                  U5        U R                   H¥  nUS   S   [        :X  a/  US   u  pVnU R                  R                  Xg5      n[        U4US'   OOUS   S   [        :X  a-  U R                  R                  US   S   5      n[        U4US'   O[        SUS   S   5      eX@R                  S'   X@l        M§     S U l        UR                  $ )Nr;   r   zUnknown pending event )r   ÚcreateDocumentr>   r   r   r   r   r   ri   r   rc   ÚAssertionErrorÚ
firstChild)	r   r3   ÚtagnamerO   ÚeÚ_rj   rk   Úns	            r   r@   ÚPullDOM.buildDocument¤   s  € ð ×#Ñ#×2Ñ2°3ÀÓFˆØŒÜ,¨dÐ3°TÐ:ˆ�‰�qÑØŸ™¨Ñ*ˆŒØ�	‰	�$Œà×$Ô$ˆAØ�‰t�A‰wÔ0Ó0Ø ! !¡‘�˜Ø—M‘M×=Ñ=¸fÓK�Ü.°Ð2��!’Ø�1‘�a‘œGÓ#Ø—M‘M×/Ñ/°°!±°Q±Ó8�Ü �|��!’ä$Ð%=¸aÀ¹dÀ1¹gÓFÐFØ !�N‰N˜1ÑØŽNñ %ð #ˆÔØ�‰Ðr&   c                 óf   • [         U R                  4S /U R                  S'   U R                  5         g rW   )r   r>   r   r   ©r   s    r   ÚendDocumentÚPullDOM.endDocument¼   s'   € Ü*¨D¯M©MÐ:¸DÐAˆ�‰�qÑØ�‰�
r&   c                 ó   • SU l         g)z.clear(): Explicitly release parsing structuresN)r>   r‰   s    r   ÚclearÚPullDOM.clearÀ   s	   € àˆ�r&   )r   r)   r   r.   r>   r   r   r   r   r   r   r   r(   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r)   r>   r    r   r+   r4   r7   rT   rY   r]   r`   rf   rl   rr   ru   r}   r@   rŠ   r�   Ú__static_attributes__© r&   r   r   r      sc   † Ø€HØ€Hô!ò ò
 ò4ò8ò7òr+òò+ò.ò.ò+ò
+ò
Kò
ò0õr&   r   c                   ó&   • \ rS rSrS rS rS rSrg)ÚErrorHandleréÄ   c                 ó   • [        U5        g r(   )Úprint©r   Ú	exceptions     r   ÚwarningÚErrorHandler.warningÅ   s
   € ÜˆiÕr&   c                 ó   • Uer(   r”   rš   s     r   ÚerrorÚErrorHandler.errorÇ   ó   € Øˆr&   c                 ó   • Uer(   r”   rš   s     r   Ú
fatalErrorÚErrorHandler.fatalErrorÉ   r¡   r&   r”   N)r�   r�   r‘   r’   rœ   rŸ   r£   r“   r”   r&   r   r–   r–   Ä   s   † òòõr&   r–   c                   óJ   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)ÚDOMEventStreaméÌ   c                 ó    • Xl         X l        X0l        [        U R                  S5      (       d  U R                  U l        U R                  5         g )NÚfeed)ÚstreamÚparserÚbufsizer0   Ú_slurpÚgetEventÚreset)r   rª   r«   r¬   s       r   r    ÚDOMEventStream.__init__Í   s6   € ØŒØŒØŒÜ�t—{‘{ F×+Ñ+Ø ŸK™KˆDŒMØ�
‰
�r&   c                 óè   • [        5       U l        U R                  R                  [        R
                  R                  R                  S5        U R                  R                  U R                  5        g rW   )	r   Úpulldomr«   Ú
setFeaturer   ÚsaxÚhandlerÚfeature_namespacesÚsetContentHandlerr‰   s    r   r¯   ÚDOMEventStream.resetÕ   sC   € Ü“yˆŒà�‰×ÑœsŸw™wŸ™×AÑAÀ1ÔEØ�‰×%Ñ% d§l¡lÕ3r&   c                 ó@   • U R                  5       nU(       a  U$ [        er(   )r®   ÚStopIteration©r   Úrcs     r   Ú__next__ÚDOMEventStream.__next__Û   s   € Ø�]‰]‹_ˆÞØˆIÜÐr&   c                 ó   • U $ r(   r”   r‰   s    r   Ú__iter__ÚDOMEventStream.__iter__á   s   € Øˆr&   c                 ó  • U R                  5       nU/nU(       aj  Uu  pEXQL a  g U[        :w  a  US   R                  U5        U[        :X  a  UR	                  U5        OU[        :X  a  US	 U R                  5       nU(       a  Mi  g g r#   )r®   r   ÚappendChildr   r   )r   rO   re   ÚparentsÚtokenÚcur_nodes         r   Ú
expandNodeÚDOMEventStream.expandNodeä   sv   € Ø—‘“ˆØ�&ˆÞØ#‰OˆEØÒØØœÓ#Ø˜‘×'Ñ'¨Ô1ØœÓ%Ø—‘˜xÕ(Øœ+Ó%Ø˜B�KØ—M‘M“OˆE÷ Šer&   c                 ój  • U R                   R                  S   (       d%  U R                   R                  U R                   l        U R                   R                  S   (       d‚  U R                  R	                  U R
                  5      nU(       d  U R                  R                  5         g U R                  R                  U5        U R                   R                  S   (       d  M‚  U R                   R                  S   S   nU R                   R                  S   S   U R                   R                  S'   U$ )Nr;   r   )	r²   r   r   rª   Úreadr¬   r«   Úcloser©   )r   Úbufr¼   s      r   r®   ÚDOMEventStream.getEventó   sÝ   € ð �|‰|×&Ñ& q×)Ø%)§\¡\×%<Ñ%<ˆD�L‰LÔ"Ø—,‘,×)Ñ)¨!×,Ø—+‘+×"Ñ" 4§<¡<Ó0ˆCÞØ—‘×!Ñ!Ô#ØØ�K‰K×Ñ˜SÔ!ð —,‘,×)Ñ)¨!×,Ñ,ð �\‰\×$Ñ$ QÑ'¨Ñ*ˆØ%)§\¡\×%<Ñ%<¸QÑ%?ÀÑ%Bˆ�‰×Ñ Ñ"Øˆ	r&   c                 óŽ   • U R                   R                  U R                  5        U R                  U l        U R                  5       $ )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®   r‰   s    r   r­   ÚDOMEventStream._slurp  s1   € ð 	�‰×Ñ˜$Ÿ+™+Ô&ØŸ
™
ˆŒØ�z‰z‹|Ðr&   c                 ó¤   • U R                   R                  S   S   nU R                   R                  S   S   U R                   R                  S'   U$ )zYFallback replacement for getEvent() that emits
the events that _slurp() read previously.
r;   r   )r²   r   r»   s     r   rÐ   ÚDOMEventStream._emit  sJ   € ð �\‰\×$Ñ$ QÑ'¨Ñ*ˆØ%)§\¡\×%<Ñ%<¸QÑ%?ÀÑ%Bˆ�‰×Ñ Ñ"Øˆ	r&   c                 óX   • U R                   R                  5         U ? SU l        SU l        g)z+clear(): Explicitly release parsing objectsN)r²   r�   r«   rª   r‰   s    r   r�   ÚDOMEventStream.clear  s%   € à�‰×ÑÔØˆLØˆŒØˆ�r&   )r¬   r®   r«   r²   rª   N)r�   r�   r‘   r’   r    r¯   r½   rÀ   rÇ   r®   r­   rÐ   r�   r“   r”   r&   r   r¦   r¦   Ì   s/   † òò4òòò$òòòõr&   r¦   c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚSAX2DOMi  c                 óŽ   • [         R                  XX#5        U R                  S   nU R                  S   nUR                  U5        g ©Nr   éþÿÿÿ)r   rT   r   rÃ   )r   rH   rI   rJ   ÚcurNodeÚ
parentNodes         r   rT   ÚSAX2DOM.startElementNS  s@   € Ü×Ñ˜t¨7Ô:Ø×#Ñ# BÑ'ˆØ×&Ñ& rÑ*ˆ
Ø×Ñ˜wÕ'r&   c                 óŽ   • [         R                  XU5        U R                  S   nU R                  S   nUR                  U5        g rÙ   )r   r]   r   rÃ   )r   rH   rJ   rÛ   rÜ   s        r   r]   ÚSAX2DOM.startElement#  s@   € Ü×Ñ˜T¨Ô/Ø×#Ñ# BÑ'ˆØ×&Ñ& rÑ*ˆ
Ø×Ñ˜wÕ'r&   c                 ó”   • [         R                  XU5        U R                  S   S   nU R                  S   nUR	                  U5        g ©Nr   r;   r   )r   rl   r   r   rÃ   )r   rj   rk   rO   rÜ   s        r   rl   ÚSAX2DOM.processingInstruction)  sC   € Ü×%Ñ% d°DÔ9Ø�~‰~˜aÑ  Ñ#ˆØ×&Ñ& rÑ*ˆ
Ø×Ñ˜tÕ$r&   c                 ó’   • [         R                  X5        U R                  S   S   nU R                  S   nUR	                  U5        g rá   )r   rr   r   r   rÃ   ©r   rq   rO   rÜ   s       r   rr   ÚSAX2DOM.ignorableWhitespace/  sA   € Ü×#Ñ# DÔ0Ø�~‰~˜aÑ  Ñ#ˆØ×&Ñ& rÑ*ˆ
Ø×Ñ˜tÕ$r&   c                 ó’   • [         R                  X5        U R                  S   S   nU R                  S   nUR	                  U5        g rá   )r   ru   r   r   rÃ   rä   s       r   ru   ÚSAX2DOM.characters5  sA   € Ü×Ñ˜4Ô'Ø�~‰~˜aÑ  Ñ#ˆØ×&Ñ& rÑ*ˆ
Ø×Ñ˜tÕ$r&   r”   N)
r�   r�   r‘   r’   rT   r]   rl   rr   ru   r“   r”   r&   r   r×   r×     s   † ò(ò(ò%ò%õ%r&   r×   iì?  c                 ó¾   • Uc  [         n[        U [        5      (       a  [        U S5      nOU nU(       d  [        R
                  R                  5       n[        X1U5      $ )NÚrb)Údefault_bufsizeÚ
isinstanceÚstrÚopenr   r´   Úmake_parserr¦   )Ústream_or_stringr«   r¬   rª   s       r   rÏ   rÏ   >  sN   € Ø�Ü!ˆÜÐ"¤C×(Ñ(ÜÐ&¨Ó-‰à!ˆÞÜ—‘×$Ñ$Ó&ˆÜ˜&¨'Ó2Ð2r&   c                 ó–   • SSK Jn  [        U 5      nU" U 5      nU(       d  [        R                  R                  5       n[        XAU5      $ )Nr   )ÚStringIO)Úiorñ   Úlenr   r´   rî   r¦   )Ústringr«   rñ   r¬   rÌ   s        r   ÚparseStringrõ   I  s:   € Ýä�&‹k€GÙ
�6Ó
€CÞÜ—‘×$Ñ$Ó&ˆÜ˜# wÓ/Ð/r&   )NNr(   )Úxml.saxr   Úxml.sax.handlerr   r   r   r   r   r   r	   r
   r´   ÚContentHandlerr   r–   r¦   r×   rê   rÏ   rõ   r”   r&   r   Ú<module>rù      sƒ   ðÛ Û à€Ø€Ø
€Ø!€Ø€Ø1Ð Ø-Ð Ø€
ôuˆc�g‰g×$Ñ$ô u÷nñ ÷Mñ Mô^%ˆgô %ðB !€ô	3õ0r&   