Ë
    £ehž  ã                   ój   — d Z ddlmZmZmZmZ ddlZddlZddlZdZ	 G d„ de
«      Zd„ Zd„ Zd	„ Zd
„ Zy)z*xmlWriter.py -- Simple XML authoring classé    )ÚbyteordÚstrjoinÚtobytesÚtostrNz  c                   óˆ   — e Zd Zedddfd„Zd„ Zd„ Zd„ Zdd„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y)Ú	XMLWriterNÚutf_8ú
c                 ó  — |j                  «       j                  dd«      j                  dd«      dk7  rt        d«      ‚|dk(  rt        j                  }t        |d«      s || _        t        |d«      | _        d| _	        nd | _        || _        d	| _	        	 | j                  j                  d
«       t        | _        | j                  |«      | _        |€%| j                  t         j"                  «      | _        n| j                  |«      | _        d| _        g | _        d| _        || _        d| _        | j1                  d«       | j3                  «        y # t        $ r) | j                  j                  d«       t        | _        Y ŒÉw xY w)Nú-Ú Ú_Úutf8z!Only UTF-8 encoding is supported.ÚwriteÚwbTFó    r   é   z&<?xml version="1.0" encoding="UTF-8"?>)ÚlowerÚreplaceÚ	ExceptionÚsysÚstdoutÚhasattrÚfilenameÚopenÚfileÚ_closeStreamr   r   ÚtotypeÚ	TypeErrorr   ÚindentwhiteÚosÚlinesepÚ
newlinestrÚindentlevelÚstackÚ
needindentÚidlefuncÚidlecounterÚ	_writerawÚnewline)ÚselfÚ
fileOrPathr    r'   Úencodingr#   s         úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/misc/xmlWriter.pyÚ__init__zXMLWriter.__init__   sE  € ð �>‰>Ó×#Ñ# C¨Ó,×4Ñ4°S¸"Ó=ÀÒGÜÐ?Ó@Ð@Ø˜ÒÜŸ™ˆJÜ�z 7Ô+Ø&ˆDŒMÜ˜Z¨Ó.ˆDŒIØ $ˆDÕà ˆDŒMà"ˆDŒIØ %ˆDÔð	 ð �I‰I�O‰O˜CÔ Ü!ˆDŒKð
  Ÿ;™; {Ó3ˆÔØÐØ"Ÿk™k¬"¯*©*Ó5ˆD�Oà"Ÿk™k¨*Ó5ˆDŒOØˆÔØˆŒ
ØˆŒØ ˆŒØˆÔØ�‰Ð?Ô@Ø�‰�øô ò 	 à�I‰I�O‰O˜BÔÜˆDŽKð	 ús   Â&E Å/FÆFc                 ó   — | S ©N© ©r+   s    r.   Ú	__enter__zXMLWriter.__enter__9   s   € Øˆr   c                 ó$   — | j                  «        y r1   )Úclose)r+   Úexception_typeÚexception_valueÚ	tracebacks       r.   Ú__exit__zXMLWriter.__exit__<   s   € Ø�
‰
�r   c                 óR   — | j                   r| j                  j                  «        y y r1   )r   r   r6   r3   s    r.   r6   zXMLWriter.close?   s   € Ø×ÒØ�I‰I�O‰OÕð r   c                 ó<   — | j                  t        |«      |¬«       y)zWrites text.©ÚindentN©r)   Úescape)r+   Ústringr>   s      r.   r   zXMLWriter.writeC   s   € à�‰”v˜f“~¨fˆÕ5r   c                 ó2   — | j                  d|z   dz   «       y)zWrites text in a CDATA section.z	<![CDATA[z]]>N)r)   ©r+   rA   s     r.   Ú
writecdatazXMLWriter.writecdataG   s   € à�‰�{ VÑ+¨eÑ3Õ4r   c                 ó<   — | j                  t        |«      |¬«       y)z¸Writes a bytes() sequence into the XML, escaping
        non-ASCII bytes.  When this is read in xmlReader,
        the original bytes can be recovered by encoding to
        'latin-1'.)ÚstripN)r)   Ú
escape8bit)r+   ÚdatarF   s      r.   Ú	write8bitzXMLWriter.write8bitK   s   € ð
 	�‰”z $Ó'¨uˆÕ5r   c                 ó<   — | j                  t        |«      d¬«       y)z Writes text without indentation.Fr=   Nr?   rC   s     r.   Úwrite_noindentzXMLWriter.write_noindentR   s   € à�‰”v˜f“~¨eˆÕ4r   c                 ó  — |rE| j                   r9| j                  j                  | j                  | j                  z  «       d| _         | j                  |d¬«      }|r|j                  «       }| j                  j                  |«       y)z Writes bytes, possibly indented.r   r	   )r-   N)r&   r   r   r$   r    r   rF   )r+   rH   r>   rF   Úss        r.   r)   zXMLWriter._writerawV   sc   € á�d—o’oØ�I‰I�O‰O˜D×,Ñ,¨t×/?Ñ/?Ñ?Ô@ØˆDŒOØ�K‰K˜ wˆKÓ/ˆÙØ—‘“	ˆAØ�	‰	�‰˜Õr   c                 óÊ   — | j                   j                  | j                  «       d| _        | j                  }|dz  s| j
                  �| j                  «        |dz   | _        y )Nr   éd   )r   r   r#   r&   r(   r'   )r+   r(   s     r.   r*   zXMLWriter.newline`   sN   € Ø�	‰	�‰˜Ÿ™Ô(ØˆŒØ×&Ñ&ˆØ˜SÒ  T§]¡]Ð%>Ø�M‰MŒOØ&¨™?ˆÕr   c                 óè   — t        |«      }|j                  d«      }| j                  d|d   z   «       |dd  D ]&  }| j                  «        | j                  d|z   «       Œ( | j                  d«       y )Nr
   z<!-- r   r   z     z -->)r@   Úsplitr)   r*   )r+   rH   ÚlinesÚlines       r.   ÚcommentzXMLWriter.commenth   sj   € Ü�d‹|ˆØ—
‘
˜4Ó ˆØ�‰�w  q¡Ñ)Ô*Ø˜!˜"�Iò 	+ˆDØ�L‰LŒNØ�N‰N˜7 T™>Õ*ð	+ð 	�‰�vÕr   c                 óZ   —  | j                   |i |¤Ž}d|›|›d�}| j                  |«       y )Nú<z/>)Ústringifyattrsr)   ©r+   Ú_TAG_ÚargsÚkwargsÚattrdatarH   s         r.   Ú	simpletagzXMLWriter.simpletagq   s/   € Ø&�4×&Ñ&¨Ð7°Ñ7‰Ù!¢8Ð,ˆØ�‰�tÕr   c                 ó°   —  | j                   |i |¤Ž}d|›|›d�}| j                  |«       | j                  j                  |«       | j	                  «        y )NrV   ú>)rW   r)   r%   Úappendr>   rX   s         r.   ÚbegintagzXMLWriter.begintagv   sJ   € Ø&�4×&Ñ&¨Ð7°Ñ7‰Ù ¢(Ð+ˆØ�‰�tÔØ�
‰
×Ñ˜%Ô Ø�‰�r   c                 ó´   — | j                   r| j                   d   |k(  sJ d«       ‚| j                   d= | j                  «        d|z  }| j                  |«       y )Néÿÿÿÿznonmatching endtagz</%s>)r%   Údedentr)   )r+   rY   rH   s      r.   ÚendtagzXMLWriter.endtag}   sM   € Ø�zŠz˜dŸj™j¨™n°Ò5ÐKÐ7KÓKÐ5Ø�J‰J�rˆNØ�‰ŒØ˜‰ˆØ�‰�tÕr   c                 óü   — d}|dz  }d}t        dt        |«      |«      D ]Z  }t        ||||z    «      }d}d}t        d||«      D ]  }	||z   ||	|	|z    z   }d}Œ | j                  |«       | j	                  «        Œ\ y )Né   é   é   r   r   ú )ÚrangeÚlenÚhexStrr)   r*   )
r+   rH   Ú
linelengthÚhexlinelengthÚ	chunksizeÚiÚhexlinerS   ÚwhiteÚjs
             r.   ÚdumphexzXMLWriter.dumphex„   s�   € Øˆ
Ø" Q™ˆØˆ	Ü�qœ#˜d›) ZÓ0ò 	ˆAÜ˜T ! a¨*¡nÐ5Ó6ˆGØˆDØˆEÜ˜1˜m¨YÓ7ò �Ø˜e‘| g¨a°!°i±-Ð&@Ñ@�Ø‘ðð �N‰N˜4Ô Ø�L‰L�Nñ	r   c                 ó,   — | j                   dz   | _         y )Nr   ©r$   r3   s    r.   r>   zXMLWriter.indent’   s   € Ø×+Ñ+¨aÑ/ˆÕr   c                 óN   — | j                   dkD  sJ ‚| j                   dz
  | _         y )Nr   r   rw   r3   s    r.   rd   zXMLWriter.dedent•   s)   € Ø×Ñ !Ò#Ð#Ð#Ø×+Ñ+¨aÑ/ˆÕr   c                 óü   — |r|rJ ‚t        |j                  «       «      }n|rt        |«      dk(  sJ ‚|d   }nyd}|D ];  \  }}t        |t        t
        f«      st        |«      }|d|›dt        |«      ›d�z   }Œ= |S )Nr   r   r   rj   z="ú")ÚsortedÚitemsrl   Ú
isinstanceÚbytesÚstrÚ
escapeattr)r+   rZ   r[   Ú
attributesrH   ÚattrÚvalues          r.   rW   zXMLWriter.stringifyattrs™   s‡   € ÙÙˆO�8Ü §¡£Ó/‰JÙÜ�t“9 ’>Ð!�>Ø˜a™‰JàØˆØ%ò 	A‰KˆD�%Ü˜e¤e¬S \Ô2Ü˜E›
�Ùª¬j¸Õ.?Ð@Ñ@‰Dð	Að ˆr   )T)F)TF)Ú__name__Ú
__module__Ú__qualname__ÚINDENTr/   r4   r:   r6   r   rD   rI   rK   r)   r*   rT   r]   ra   re   ru   r>   rd   rW   r2   r   r.   r   r      sk   „ ð ØØØó+òZòòó6ò5ó6ò5óò+òòò
òòò0ò0ór   r   c                 ó®   — t        | d«      } | j                  dd«      } | j                  dd«      } | j                  dd«      } | j                  dd	«      } | S )
Nr	   ú&z&amp;rV   z&lt;r_   z&gt;úz&#13;)r   r   ©rH   s    r.   r@   r@   ª   sS   € Ü��wÓ€DØ�<‰<˜˜WÓ%€DØ�<‰<˜˜VÓ$€DØ�<‰<˜˜VÓ$€DØ�<‰<˜˜gÓ&€DØ€Kr   c                 ó@   — t        | «      } | j                  dd«      } | S )Nrz   z&quot;)r@   r   r‹   s    r.   r€   r€   ³   s    € Ü�$‹<€DØ�<‰<˜˜XÓ&€DØ€Kr   c                 óP   — d„ }t        t        || j                  d«      «      «      S )zInput is Unicode string.c                 ób   — t        | «      }d|cxk  rdk  r	n n| dvr| S dt        |«      z   dz   S )Né    é   z<&>z&#ú;)ÚordÚrepr)ÚcÚns     r.   Ú
escapecharzescape8bit.<locals>.escapechar¼   s4   € Ü�‹FˆØ�Œ>�c�>˜a u™nØˆHàœ$˜q›'‘> CÑ'Ð'r   zlatin-1)r   ÚmapÚdecode)rH   r–   s     r.   rG   rG   ¹   s$   € ò(ô ”3�z 4§;¡;¨yÓ#9Ó:Ó;Ð;r   c                 ó|   — t         j                  }d}| D ]$  }t        |«      }|||dz	  dz     z   ||dz     z   }Œ& |S )Nr   é   é   )rA   Ú	hexdigitsr   )rM   ÚhÚrr”   rq   s        r.   rm   rm   Æ   sU   € Ü×Ñ€AØ
€AØò /ˆÜ�A‹JˆØ��1˜‘6˜S‘.Ñ!Ñ! A a¨#¡g¡JÑ.‰ð/ð €Hr   )Ú__doc__ÚfontTools.misc.textToolsr   r   r   r   r   r!   rA   r‡   Úobjectr   r@   r€   rG   rm   r2   r   r.   ú<module>r¢      s?   ðÙ 0ç EÓ EÛ 
Û 	Û à	€ô\�ô \ò~òò
<ór   