Ë
    RÏ!h  ã                   ó|   — d dl mZ 	 d dlmZ d dlmZmZ ddlmZ  G d„ de	«      Z
 G d„ d	e«      Z G d
„ de«      Zy)é    )Úabsolute_import)Úcontextmanager)ÚElementÚ_escape_cdataé   )Úincremental_treec                   ó   — e Zd Zy)ÚLxmlSyntaxErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/et_xmlfile/xmlfile.pyr
   r
      s   „ Ør   r
   c                   ó:   — e Zd ZdZd„ Zedd„«       Zd„ Zd„ Zd„ Z	y)	Ú_IncrementalFileWriterz.Replacement for _IncrementalFileWriter of lxmlc                 ón   — g | _         || _        d| _        t        j                  «       | _        d| _        y )NF)Ú_element_stackÚ_fileÚ
_have_rootr   Úcurrent_global_nsmapÚglobal_nsmapÚis_html)ÚselfÚoutput_files     r   Ú__init__z_IncrementalFileWriter.__init__   s0   € Ø ˆÔØ ˆŒ
ØˆŒÜ,×AÑAÓCˆÔØˆ�r   Nc              +   óÀ  K  — |rBd|v r>d|v r|d   |d   k7  rt        d«      ‚|j                  «       }|j                  d«      |d<   d| _        |€i }t	        |fd|i|¤Ž}d|_        d|_        | j                  rd}| j                  d   \  }}}	nd}i }d}i }	t        j                  | j                  ||| j                  d| j                  ||	||¬«
      \  }}}}	}
| j                  j                  |||	f«       d–— | j                  j                  «        | j                  d	|› d
�«       |j                  r%| j                  t        |j                  «      «       yy­w)z1Create a new xml element using a context manager.NÚ z?Found None and "" as default nsmap prefixes with different URIsTÚattribFéÿÿÿÿ)Únsmap_scoper   Úshort_empty_elementsr   Úis_rootÚuri_to_prefixÚdefault_ns_attr_prefixÚ	new_nsmapz</ú>)Ú
ValueErrorÚcopyÚpopr   r   ÚtextÚtailr   r   Úwrite_elem_startr   r   r   Úappendr   )r   Útagr   ÚnsmapÚ_extraÚelemr#   r!   r%   r$   Únext_remains_roots              r   Úelementz_IncrementalFileWriter.element   s‘  è ø€ ñ �T˜U‘]ð �U‰{˜u R™y¨E°$©KÒ7Ü ØUóð ð —J‘J“LˆEØŸ	™	 $›ˆE�"‰Ið ˆŒØˆ>ØˆFÜ�sÑ4 6Ð4¨VÑ4ˆØˆŒ	ØˆŒ	Ø×ÒØˆGð
 ×#Ñ# BÑ'ñ	ØØ&Ùð ˆGØˆKØ%)Ð"ØˆMô ×-Ñ-Ø�J‰JØØ#Ø×*Ñ*Ø!&Ø—L‘LØØ'Ø#9Øô
ñ	
ØØØ"ØØð 	×Ñ×"Ñ"àØ&Øðô	
ó 	ð 	×Ñ×ÑÔ!Ø�
‰
�R˜�u˜A�;ÔØ�9Š9Ø�J‰J”} T§Y¡YÓ/Õ0ð ùs   ‚EEc                 ó–  — t        |t        «      r1| j                  s
t        «       ‚| j	                  t        |«      «       y| j                  s| j                  r
t        «       ‚| j                  rd}| j                  d   \  }}}nd}i }d}i }t        j                  | j                  ||| j                  d| j                  |||¬«	       y)zWrite a string or subelement.Fr    TN)r!   r   r"   r   r#   r$   r%   )Ú
isinstanceÚstrr   r
   r   r   r   r   Ú_serialize_ns_xmlr   r   )r   Úargr#   r!   r%   r$   s         r   Úwritez_IncrementalFileWriter.write_   sÅ   € ô �cœ3Ôà×&Ò&Ü%Ó'Ð'Ø�J‰J”} SÓ)Õ*ð ×&Ò&¨4¯?ª?Ü%Ó'Ð'à×"Ò"Ø�ð
 ×'Ñ'¨Ñ+ñ	ØØ*Ù!ð �Ø �Ø)-Ð&Ø "�Ü×.Ñ.Ø—
‘
ØØ'Ø!×.Ñ.Ø%)ØŸ™ØØ+Ø'=ö
r   c                  ó   — y ©Nr   )r   s    r   Ú	__enter__z _IncrementalFileWriter.__enter__„   s   € Ør   c                 ó0   — | j                   s
t        «       ‚y r<   )r   r
   ©r   ÚtypeÚvalueÚ	tracebacks       r   Ú__exit__z_IncrementalFileWriter.__exit__‡   s   € à�ŠÜ!Ó#Ð#ð r   )NN)
r   r   r   Ú__doc__r   r   r4   r:   r=   rC   r   r   r   r   r      s/   „ Ù8òð ò>1ó ð>1ò@#òJó$r   r   c                   ó$   — e Zd ZdZdd„Zd„ Zd„ Zy)Úxmlfilez4Context manager that can replace lxml.etree.xmlfile.c                 ó<   — || _         || _        || _        d | _        y r<   )r   Ú_closeÚencodingÚ	writer_cm)r   r   ÚbufferedrI   Úcloses        r   r   zxmlfile.__init__�   s   € Ø ˆŒ
ØˆŒØ ˆŒØˆ�r   c                 ó²   — t        j                  | j                  | j                  ¬«      | _        | j                  j                  «       \  }}t        |«      S )N)rI   )r   Ú_get_writerr   rI   rJ   r=   r   )r   ÚwriterÚdeclared_encodings      r   r=   zxmlfile.__enter__•   sA   € Ü)×5Ñ5°d·j±jÈ4Ï=É=ÔYˆŒØ$(§N¡N×$<Ñ$<Ó$>Ñ!ˆÐ!Ü% fÓ-Ð-r   c                 ó¤   — | j                   r| j                   j                  |||«       | j                  r| j                  j	                  «        y y r<   )rJ   rC   rH   r   rL   r?   s       r   rC   zxmlfile.__exit__š   s;   € Ø�>Š>Ø�N‰N×#Ñ# D¨%°Ô;Ø�;Š;Ø�J‰J×ÑÕð r   N)Fzutf-8F)r   r   r   rD   r   r=   rC   r   r   r   rF   rF   �   s   „ Ù>óò.ó
r   rF   N)Ú
__future__r   Ú
contextlibr   Úxml.etree.ElementTreer   r   r   r   Ú	Exceptionr
   Úobjectr   rF   r   r   r   ú<module>rW      sD   ðÝ &ð Qõ &÷õ
 ô	�iô 	ôu$˜Vô u$ôpˆfõ r   