§
    ¸)ýfß/  ã                   óÈ   — d Z ddlZddlZddlZddlZddlZddlmZ ddlm	Z	 d„ Z
i fd„Zi fd„Zi fd	„Zd
„ Z G d„ dej        ¦  «        Z G d„ de	j        ¦  «        Zdd„ZdS )znA library of useful helper classes to the SAX classes, for the
convenience of application and driver writers.
é    Né   )Úhandler)Ú	xmlreaderc                 óf   — |                      ¦   «         D ]\  }}|                      ||¦  «        } Œ| S )z2Replace substrings of a string using a dictionary.)ÚitemsÚreplace)ÚsÚdÚkeyÚvalues       ú\/home/blender/git/blender-v430/install_release/4.3/python/lib/python3.11/xml/sax/saxutils.pyÚ__dict_replacer      s7   € à—g’g‘i”ið "ð "‰
ˆˆUØ�IŠI�c˜5Ñ!Ô!ˆˆØ€Hó    c                 ó®   — |                       dd¦  «        } |                       dd¦  «        } |                       dd¦  «        } |rt          | |¦  «        } | S )züEscape &, <, and > in a string of data.

    You can escape other strings of data by passing a dictionary as
    the optional entities parameter.  The keys and values must all be
    strings; each key will be replaced with its corresponding value.
    ú&ú&amp;ú>ú&gt;ú<ú&lt;©r   r   ©ÚdataÚentitiess     r   Úescaper      sY   € ð �<Š<˜˜WÑ%Ô%€DØ�<Š<˜˜VÑ$Ô$€DØ�<Š<˜˜VÑ$Ô$€DØð .Ý˜d HÑ-Ô-ˆØ€Kr   c                 óª   — |                       dd¦  «        } |                       dd¦  «        } |rt          | |¦  «        } |                       dd¦  «        S )a
  Unescape &amp;, &lt;, and &gt; in a string of data.

    You can unescape other strings of data by passing a dictionary as
    the optional entities parameter.  The keys and values must all be
    strings; each key will be replaced with its corresponding value.
    r   r   r   r   r   r   r   r   s     r   Úunescaper   "   sU   € ð �<Š<˜ Ñ$Ô$€DØ�<Š<˜ Ñ$Ô$€DØð .Ý˜d HÑ-Ô-ˆà�<Š<˜ Ñ%Ô%Ð%r   c                 ó”   — i |¥ddddœ¥}t          | |¦  «        } d| v r$d| v rd|                      dd¦  «        z  } nd	| z  } nd| z  } | S )
a“  Escape and quote an attribute value.

    Escape &, <, and > in a string of data, then quote it for use as
    an attribute value.  The " character will be escaped as well, if
    necessary.

    You can escape other strings of data by passing a dictionary as
    the optional entities parameter.  The keys and values must all be
    strings; each key will be replaced with its corresponding value.
    z&#10;z&#13;z&#9;)ú
úú	ú"ú'z"%s"z&quot;z'%s')r   r   r   s     r   Ú	quoteattrr$   0   sr   € ð G�(ÐF '°¸vÐFÐFÐF€HÝ�$˜Ñ!Ô!€DØ
ˆd€{€{Ø�$ˆ;ˆ;Ø˜DŸLšL¨¨hÑ7Ô7Ñ7ˆDˆDà˜D‘=ˆDˆDà˜‰}ˆØ€Kr   c                 óò  ‡ — ‰ €dd l }|j        S t          ‰ t          j        ¦  «        r‰ S t          ‰ t
          j        t
          j        f¦  «        r‰ S t          ‰ t          j        ¦  «        r" G ˆ fd„d¦  «        } |¦   «         }d„ |_	        nQt          j
        ¦   «         }d„ |_        ‰ j        |_        	 ‰ j        |_        ‰ j        |_        n# t          $ r Y nw xY wt          j        ||ddd¬	¦  «        S )
Nr   c                   ó(   •— e Zd Z” j        Zˆ fd„ZdS )ú _gettextwriter.<locals>._wrapperc                 ó$   •— t          ‰|¦  «        S ©N)Úgetattr)ÚselfÚnameÚouts     €r   Ú__getattr__z,_gettextwriter.<locals>._wrapper.__getattr__Z   s   ø€ Ý˜s DÑ)Ô)Ð)r   N)Ú__name__Ú
__module__Ú__qualname__Ú	__class__r.   )r-   s   €r   Ú_wrapperr'   X   s5   ø€ € € € € ØœˆIð*ð *ð *ð *ð *ð *ð *r   r3   c                  ó   — d S r)   © r5   r   r   ú<lambda>z _gettextwriter.<locals>.<lambda>]   s   € ˜t€ r   c                  ó   — dS )NTr5   r5   r   r   r6   z _gettextwriter.<locals>.<lambda>b   s   €  $€ r   Úxmlcharrefreplacer   T)ÚencodingÚerrorsÚnewlineÚwrite_through)ÚsysÚstdoutÚ
isinstanceÚioÚ
TextIOBaseÚcodecsÚStreamWriterÚStreamReaderWriterÚ	RawIOBaseÚcloseÚBufferedIOBaseÚwritableÚwriteÚseekableÚtellÚAttributeErrorÚTextIOWrapper)r-   r9   r=   r3   Úbuffers   `    r   Ú_gettextwriterrO   G   s8  ø€ Ø
€{Øˆ
ˆ
ˆ
ØŒzÐå�#•r”}Ñ%Ô%ð àˆ
å�#�Ô+­VÔ-FÐGÑHÔHð àˆ
õ �#•r”|Ñ$Ô$ð ð	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð �‘”ˆØ#�|ˆŒˆõ Ô"Ñ$Ô$ˆØ&˜,ˆŒØ”yˆŒð	ð "œlˆFŒOØœ(ˆFŒKˆKøÝð 	ð 	ð 	ØˆDð	øøøåÔ˜F¨XØ#6Ø$(Ø*.ð0ñ 0ô 0ð 0s   Â7C Ã
CÃCc                   óf   — e Zd Zdd„Zd„ Zdd„Zd„ Zd„ Zd	„ Zd
„ Z	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚXMLGeneratorNú
iso-8859-1Fc                 ó   — t           j                             | ¦  «         t          ||¦  «        }|j        | _        |j        | _        i g| _        | j        d         | _	        g | _
        || _        || _        d| _        d S )NéÿÿÿÿF)r   ÚContentHandlerÚ__init__rO   rI   Ú_writeÚflushÚ_flushÚ_ns_contextsÚ_current_contextÚ_undeclared_ns_mapsÚ	_encodingÚ_short_empty_elementsÚ_pending_start_element)r+   r-   r9   Úshort_empty_elementss       r   rV   zXMLGenerator.__init__r   sy   € ÝÔ×'Ò'¨Ñ-Ô-Ð-Ý˜S (Ñ+Ô+ˆØ”iˆŒØ”iˆŒØ˜DˆÔØ $Ô 1°"Ô 5ˆÔØ#%ˆÔ Ø!ˆŒØ%9ˆÔ"Ø&+ˆÔ#Ð#Ð#r   c                 ó–   — |d         r:d|d         k    rd|d         z   S | j         |d                  }|r|dz   |d         z   S |d         S )z7Builds a qualified name from a (ns_url, localname) pairr   z$http://www.w3.org/XML/1998/namespacezxml:r   ú:)r[   )r+   r,   Úprefixs      r   Ú_qnamezXMLGenerator._qname~   sc   € à�Œ7ð 	.ð
 6¸¸a¼Ò@Ð@Ø  Q¤Ñ'Ð'àÔ*¨4°¬7Ô3ˆFØð .à ‘| d¨1¤gÑ-Ð-à�AŒwˆr   c                 óP   — | j         r|                      d¦  «         d| _         d S d S )Nr   F©r_   rW   )r+   Ú
endElements     r   Ú_finish_pending_start_elementz*XMLGenerator._finish_pending_start_element�   s7   € ØÔ&ð 	0Ø�KŠK˜ÑÔÐØ*/ˆDÔ'Ð'Ð'ð	0ð 	0r   c                 ó@   — |                       d| j        z  ¦  «         d S )Nz$<?xml version="1.0" encoding="%s"?>
)rW   r]   ©r+   s    r   ÚstartDocumentzXMLGenerator.startDocument–   s/   € Ø�ŠÐ;Øœñ'ñ 	(ô 	(ð 	(ð 	(ð 	(r   c                 ó.   — |                       ¦   «          d S r)   )rY   rj   s    r   ÚendDocumentzXMLGenerator.endDocumentš   s   € Ø�Š‰Œˆˆˆr   c                 ó´   — | j                              | j                             ¦   «         ¦  «         || j        |<   | j                             ||f¦  «         d S r)   )rZ   Úappendr[   Úcopyr\   ©r+   rc   Úuris      r   ÚstartPrefixMappingzXMLGenerator.startPrefixMapping�   sV   € ØÔ× Ò  Ô!6×!;Ò!;Ñ!=Ô!=Ñ>Ô>Ð>Ø%+ˆÔ˜cÑ"ØÔ ×'Ò'¨°¨Ñ6Ô6Ð6Ð6Ð6r   c                 ó:   — | j         d         | _        | j         d= d S )NrT   )rZ   r[   ©r+   rc   s     r   ÚendPrefixMappingzXMLGenerator.endPrefixMapping¢   s#   € Ø $Ô 1°"Ô 5ˆÔØÔ˜bÐ!Ð!Ð!r   c           	      ó,  — |                       ¦   «          |                      d|z   ¦  «         |                     ¦   «         D ]-\  }}|                      d|›dt          |¦  «        ›�¦  «         Œ.| j        r	d| _        d S |                      d¦  «         d S )Nr   ú ú=Tr   )rh   rW   r   r$   r^   r_   )r+   r,   Úattrsr   s       r   ÚstartElementzXMLGenerator.startElement¦   s¡   € Ø×*Ò*Ñ,Ô,Ð,Ø�Š�C˜$‘JÑÔÐØ"Ÿ[š[™]œ]ð 	=ð 	=‰MˆT�5Ø�KŠKˆK D D D­)°EÑ*:Ô*:Ð*:Ð;Ñ<Ô<Ð<Ð<ØÔ%ð 	Ø*.ˆDÔ'Ð'Ð'à�KŠK˜ÑÔÐÐÐr   c                 ó€   — | j         r|                      d¦  «         d| _         d S |                      d|z  ¦  «         d S ©Nz/>Fz</%s>rf   ©r+   r,   s     r   rg   zXMLGenerator.endElement°   sI   € ØÔ&ð 	(Ø�KŠK˜ÑÔÐØ*/ˆDÔ'Ð'Ð'à�KŠK˜ $™Ñ'Ô'Ð'Ð'Ð'r   c           	      ó  — |                       ¦   «          |                      d|                      |¦  «        z   ¦  «         | j        D ]<\  }}|r|                      d|›d|›d�¦  «         Œ$|                      d|z  ¦  «         Œ=g | _        |                     ¦   «         D ]@\  }}|                      d|                      |¦  «        ›dt          |¦  «        ›�¦  «         ŒA| j        r	d| _        d S |                      d	¦  «         d S )
Nr   z xmlns:z="r"   z xmlns="%s"rx   ry   Tr   )rh   rW   rd   r\   r   r$   r^   r_   )r+   r,   Úqnamerz   rc   rr   r   s          r   ÚstartElementNSzXMLGenerator.startElementNS·   s"  € Ø×*Ò*Ñ,Ô,Ð,Ø�Š�C˜$Ÿ+š+ dÑ+Ô+Ñ+Ñ,Ô,Ð,àÔ3ð 	1ð 	1‰KˆF�CØð 1Ø—’�°°°¸¸¸Ð<Ñ=Ô=Ð=Ð=à—’˜M¨CÑ/Ñ0Ô0Ð0Ð0Ø#%ˆÔ à"Ÿ[š[™]œ]ð 	Jð 	J‰MˆT�5Ø�KŠKˆK D§K¢K°Ñ$5Ô$5Ð$5Ð$5µyÀÑ7GÔ7GÐ7GÐHÑIÔIÐIÐIØÔ%ð 	Ø*.ˆDÔ'Ð'Ð'à�KŠK˜ÑÔÐÐÐr   c                 ó¦   — | j         r|                      d¦  «         d| _         d S |                      d|                      |¦  «        z  ¦  «         d S r}   )r_   rW   rd   ©r+   r,   r€   s      r   ÚendElementNSzXMLGenerator.endElementNSÉ   sV   € ØÔ&ð 	5Ø�KŠK˜ÑÔÐØ*/ˆDÔ'Ð'Ð'à�KŠK˜ $§+¢+¨dÑ"3Ô"3Ñ3Ñ4Ô4Ð4Ð4Ð4r   c                 óÎ   — |rb|                       ¦   «          t          |t          ¦  «        st          || j        ¦  «        }|                      t          |¦  «        ¦  «         d S d S r)   )rh   r?   Ústrr]   rW   r   ©r+   Úcontents     r   Ú
characterszXMLGenerator.charactersÐ   sg   € Øð 	)Ø×.Ò.Ñ0Ô0Ð0Ý˜g¥sÑ+Ô+ð 7Ý˜g t¤~Ñ6Ô6�Ø�KŠK�˜w™œÑ(Ô(Ð(Ð(Ð(ð		)ð 	)r   c                 ó´   — |rU|                       ¦   «          t          |t          ¦  «        st          || j        ¦  «        }|                      |¦  «         d S d S r)   )rh   r?   r†   r]   rW   r‡   s     r   ÚignorableWhitespacez XMLGenerator.ignorableWhitespace×   sa   € Øð 	!Ø×.Ò.Ñ0Ô0Ð0Ý˜g¥sÑ+Ô+ð 7Ý˜g t¤~Ñ6Ô6�Ø�KŠK˜Ñ Ô Ð Ð Ð ð		!ð 	!r   c                 óf   — |                       ¦   «          |                      d|›d|›d�¦  «         d S )Nz<?rx   z?>)rh   rW   ©r+   Útargetr   s      r   ÚprocessingInstructionz"XMLGenerator.processingInstructionÞ   s;   € Ø×*Ò*Ñ,Ô,Ð,Ø�Šˆ 6 6 6¨4¨4¨4Ð0Ñ1Ô1Ð1Ð1Ð1r   )NrR   F)F)r/   r0   r1   rV   rd   rh   rk   rm   rs   rv   r{   rg   r�   r„   r‰   r‹   r�   r5   r   r   rQ   rQ   p   sð   € € € € € ð
,ð 
,ð 
,ð 
,ðð ð ð"0ð 0ð 0ð 0ð(ð (ð (ðð ð ð7ð 7ð 7ð
"ð "ð "ðð ð ð(ð (ð (ðð ð ð$5ð 5ð 5ð)ð )ð )ð!ð !ð !ð2ð 2ð 2ð 2ð 2r   rQ   c                   ó¼   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS ) ÚXMLFilterBaseaY  This class is designed to sit between an XMLReader and the
    client application's event handlers.  By default, it does nothing
    but pass requests up to the reader and events on to the handlers
    unmodified, but subclasses can override specific methods to modify
    the event stream or the configuration requests as they pass
    through.Nc                 óR   — t           j                             | ¦  «         || _        d S r)   )r   Ú	XMLReaderrV   Ú_parent©r+   Úparents     r   rV   zXMLFilterBase.__init__ë   s$   € ÝÔ×$Ò$ TÑ*Ô*Ð*ØˆŒˆˆr   c                 ó:   — | j                              |¦  «         d S r)   )Ú_err_handlerÚerror©r+   Ú	exceptions     r   r™   zXMLFilterBase.errorñ   s   € ØÔ×Ò 	Ñ*Ô*Ð*Ð*Ð*r   c                 ó:   — | j                              |¦  «         d S r)   )r˜   Ú
fatalErrorrš   s     r   r�   zXMLFilterBase.fatalErrorô   s   € ØÔ×$Ò$ YÑ/Ô/Ð/Ð/Ð/r   c                 ó:   — | j                              |¦  «         d S r)   )r˜   Úwarningrš   s     r   rŸ   zXMLFilterBase.warning÷   s   € ØÔ×!Ò! )Ñ,Ô,Ð,Ð,Ð,r   c                 ó:   — | j                              |¦  «         d S r)   )Ú_cont_handlerÚsetDocumentLocator)r+   Úlocators     r   r¢   z XMLFilterBase.setDocumentLocatorü   s   € ØÔ×-Ò-¨gÑ6Ô6Ð6Ð6Ð6r   c                 ó8   — | j                              ¦   «          d S r)   )r¡   rk   rj   s    r   rk   zXMLFilterBase.startDocumentÿ   s   € ØÔ×(Ò(Ñ*Ô*Ð*Ð*Ð*r   c                 ó8   — | j                              ¦   «          d S r)   )r¡   rm   rj   s    r   rm   zXMLFilterBase.endDocument  s   € ØÔ×&Ò&Ñ(Ô(Ð(Ð(Ð(r   c                 ó<   — | j                              ||¦  «         d S r)   )r¡   rs   rq   s      r   rs   z XMLFilterBase.startPrefixMapping  s!   € ØÔ×-Ò-¨f°cÑ:Ô:Ð:Ð:Ð:r   c                 ó:   — | j                              |¦  «         d S r)   )r¡   rv   ru   s     r   rv   zXMLFilterBase.endPrefixMapping  s   € ØÔ×+Ò+¨FÑ3Ô3Ð3Ð3Ð3r   c                 ó<   — | j                              ||¦  «         d S r)   )r¡   r{   )r+   r,   rz   s      r   r{   zXMLFilterBase.startElement  ó!   € ØÔ×'Ò'¨¨eÑ4Ô4Ð4Ð4Ð4r   c                 ó:   — | j                              |¦  «         d S r)   )r¡   rg   r~   s     r   rg   zXMLFilterBase.endElement  s   € ØÔ×%Ò% dÑ+Ô+Ð+Ð+Ð+r   c                 ó>   — | j                              |||¦  «         d S r)   )r¡   r�   )r+   r,   r€   rz   s       r   r�   zXMLFilterBase.startElementNS  s#   € ØÔ×)Ò)¨$°°uÑ=Ô=Ð=Ð=Ð=r   c                 ó<   — | j                              ||¦  «         d S r)   )r¡   r„   rƒ   s      r   r„   zXMLFilterBase.endElementNS  r©   r   c                 ó:   — | j                              |¦  «         d S r)   )r¡   r‰   r‡   s     r   r‰   zXMLFilterBase.characters  s   € ØÔ×%Ò% gÑ.Ô.Ð.Ð.Ð.r   c                 ó:   — | j                              |¦  «         d S r)   )r¡   r‹   )r+   Úcharss     r   r‹   z!XMLFilterBase.ignorableWhitespace  s   € ØÔ×.Ò.¨uÑ5Ô5Ð5Ð5Ð5r   c                 ó<   — | j                              ||¦  «         d S r)   )r¡   r�   r�   s      r   r�   z#XMLFilterBase.processingInstruction  s!   € ØÔ×0Ò0°¸Ñ>Ô>Ð>Ð>Ð>r   c                 ó:   — | j                              |¦  «         d S r)   )r¡   ÚskippedEntityr~   s     r   r²   zXMLFilterBase.skippedEntity   s   € ØÔ×(Ò(¨Ñ.Ô.Ð.Ð.Ð.r   c                 ó>   — | j                              |||¦  «         d S r)   )Ú_dtd_handlerÚnotationDecl)r+   r,   ÚpublicIdÚsystemIds       r   rµ   zXMLFilterBase.notationDecl%  s#   € ØÔ×&Ò& t¨X°xÑ@Ô@Ð@Ð@Ð@r   c                 ó@   — | j                              ||||¦  «         d S r)   )r´   ÚunparsedEntityDecl)r+   r,   r¶   r·   Úndatas        r   r¹   z XMLFilterBase.unparsedEntityDecl(  s%   € ØÔ×,Ò,¨T°8¸XÀuÑMÔMÐMÐMÐMr   c                 ó8   — | j                              ||¦  «        S r)   )Ú_ent_handlerÚresolveEntity)r+   r¶   r·   s      r   r½   zXMLFilterBase.resolveEntity-  s   € ØÔ ×.Ò.¨x¸ÑBÔBÐBr   c                 ó
  — | j                              | ¦  «         | j                              | ¦  «         | j                              | ¦  «         | j                              | ¦  «         | j                              |¦  «         d S r)   )r”   ÚsetContentHandlerÚsetErrorHandlerÚsetEntityResolverÚsetDTDHandlerÚparse)r+   Úsources     r   rÃ   zXMLFilterBase.parse2  sv   € ØŒ×&Ò& tÑ,Ô,Ð,ØŒ×$Ò$ TÑ*Ô*Ð*ØŒ×&Ò& tÑ,Ô,Ð,ØŒ×"Ò" 4Ñ(Ô(Ð(ØŒ×Ò˜6Ñ"Ô"Ð"Ð"Ð"r   c                 ó:   — | j                              |¦  «         d S r)   )r”   Ú	setLocale)r+   Úlocales     r   rÆ   zXMLFilterBase.setLocale9  s   € ØŒ×Ò˜vÑ&Ô&Ð&Ð&Ð&r   c                 ó6   — | j                              |¦  «        S r)   )r”   Ú
getFeaturer~   s     r   rÉ   zXMLFilterBase.getFeature<  s   € ØŒ|×&Ò& tÑ,Ô,Ð,r   c                 ó<   — | j                              ||¦  «         d S r)   )r”   Ú
setFeature)r+   r,   Ústates      r   rË   zXMLFilterBase.setFeature?  s    € ØŒ×Ò  eÑ,Ô,Ð,Ð,Ð,r   c                 ó6   — | j                              |¦  «        S r)   )r”   ÚgetPropertyr~   s     r   rÎ   zXMLFilterBase.getPropertyB  s   € ØŒ|×'Ò'¨Ñ-Ô-Ð-r   c                 ó<   — | j                              ||¦  «         d S r)   )r”   ÚsetProperty)r+   r,   r   s      r   rÐ   zXMLFilterBase.setPropertyE  s    € ØŒ× Ò   uÑ-Ô-Ð-Ð-Ð-r   c                 ó   — | j         S r)   ©r”   rj   s    r   Ú	getParentzXMLFilterBase.getParentJ  s
   € ØŒ|Ðr   c                 ó   — || _         d S r)   rÒ   r•   s     r   Ú	setParentzXMLFilterBase.setParentM  s   € ØˆŒˆˆr   r)   ) r/   r0   r1   Ú__doc__rV   r™   r�   rŸ   r¢   rk   rm   rs   rv   r{   rg   r�   r„   r‰   r‹   r�   r²   rµ   r¹   r½   rÃ   rÆ   rÉ   rË   rÎ   rÐ   rÓ   rÕ   r5   r   r   r‘   r‘   ã   sÐ  € € € € € ðð ðð ð ð ð+ð +ð +ð0ð 0ð 0ð-ð -ð -ð
7ð 7ð 7ð+ð +ð +ð)ð )ð )ð;ð ;ð ;ð4ð 4ð 4ð5ð 5ð 5ð,ð ,ð ,ð>ð >ð >ð5ð 5ð 5ð/ð /ð /ð6ð 6ð 6ð?ð ?ð ?ð/ð /ð /ð
Að Að AðNð Nð Nð
Cð Cð Cð
#ð #ð #ð'ð 'ð 'ð-ð -ð -ð-ð -ð -ð.ð .ð .ð.ð .ð .ð
ð ð ðð ð ð ð r   r‘   Ú c                 óÞ  — t          | t          j        ¦  «        rt          j        | ¦  «        } t          | t          ¦  «        rt          j        | ¦  «        } n¼t          | d¦  «        r¬| }t          j        ¦   «         } t          |                     d¦  «        t          ¦  «        r|  	                    |¦  «         n|  
                    |¦  «         t          |d¦  «        r4t          |j        t          ¦  «        r|                      |j        ¦  «         |                      ¦   «         �€C|                      ¦   «         �€.|                      ¦   «         }t          j                             t          j                             |¦  «        ¦  «        }t          j                             ||¦  «        }t          j                             |¦  «        r&|                      |¦  «         t+          |d¦  «        }nd|                      t,          j                             ||¦  «        ¦  «         t,          j                             |                      ¦   «         ¦  «        }|  
                    |¦  «         | S )z‚This function takes an InputSource and an optional base URL and
    returns a fully resolved InputSource object ready for reading.Úreadr   r,   NÚrb)r?   ÚosÚPathLikeÚfspathr†   r   ÚInputSourceÚhasattrrÙ   ÚsetCharacterStreamÚsetByteStreamr,   ÚsetSystemIdÚgetCharacterStreamÚgetByteStreamÚgetSystemIdÚpathÚdirnameÚnormpathÚjoinÚisfileÚopenÚurllibrÃ   ÚurljoinÚrequestÚurlopen)rÄ   ÚbaseÚfÚsysidÚbaseheadÚsysidfilenames         r   Úprepare_input_sourcerõ   R  sù  € õ �&�"œ+Ñ&Ô&ð #Ý”˜6Ñ"Ô"ˆÝ�&�#ÑÔð 
'ÝÔ& vÑ.Ô.ˆˆÝ	�˜Ñ	 Ô	 ð 'ØˆÝÔ&Ñ(Ô(ˆÝ�a—f’f˜Q‘i”i¥Ñ%Ô%ð 	$Ø×%Ò% aÑ(Ô(Ð(Ð(à× Ò  Ñ#Ô#Ð#Ý�1�fÑÔð 	'¥*¨Q¬VµSÑ"9Ô"9ð 	'Ø×Ò˜qœvÑ&Ô&Ð&à× Ò Ñ"Ô"Ñ*¨v×/CÒ/CÑ/EÔ/EÑ/MØ×"Ò"Ñ$Ô$ˆÝ”7—?’?¥2¤7×#3Ò#3°DÑ#9Ô#9Ñ:Ô:ˆÝœŸš X¨uÑ5Ô5ˆÝŒ7�>Š>˜-Ñ(Ô(ð 	=Ø×Ò˜}Ñ-Ô-Ð-Ý�] DÑ)Ô)ˆAˆAà×Ò�vœ|×3Ò3°D¸%Ñ@Ô@ÑAÔAÐAÝ”×&Ò& v×'9Ò'9Ñ';Ô';Ñ<Ô<ˆAà×Ò˜QÑÔÐà€Mr   )r×   )rÖ   rÛ   Úurllib.parserì   Úurllib.requestr@   rB   r×   r   r   r   r   r   r$   rO   rU   rQ   r“   r‘   rõ   r5   r   r   ú<module>rø      s_  ððð ð
 (Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð  ð &ð &ð &ð &ð  ð ð ð ð ð.'0ð '0ð '0ðRp2ð p2ð p2ð p2ð p2�7Ô)ñ p2ô p2ð p2ðfkð kð kð kð k�IÔ'ñ kô kð kð^ð ð ð ð ð r   