§
    *‚Kg	  ã                   óÎ   — d Z ddlZddlZej        Zdd„Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d	„ d
ej	        ¦  «        Z	 G d„ dej
        ¦  «        Z
d„ ZdS )z
Python 'utf-32' Codec
é    NÚstrictc                 ó.   — t          j        | |d¦  «        S )NT)ÚcodecsÚutf_32_decode)ÚinputÚerrorss     ú'/usr/lib/python3.11/encodings/utf_32.pyÚdecoder
   
   s   € ÝÔ  v¨tÑ4Ô4Ð4ó    c                   ó0   — e Zd Zd	d„Zd
d„Zd„ Zd„ Zd„ ZdS )ÚIncrementalEncoderr   c                 óT   — t           j                             | |¦  «         d | _        d S ©N)r   r   Ú__init__Úencoder©Úselfr   s     r	   r   zIncrementalEncoder.__init__   s&   € ÝÔ!×*Ò*¨4°Ñ8Ô8Ð8ØˆŒˆˆr   Fc                 óü   — | j         €Ut          j        || j        ¦  «        d         }t          j        dk    rt          j        | _         nt          j        | _         |S |                       || j        ¦  «        d         S )Nr   Úlittle)r   r   Úutf_32_encoder   ÚsysÚ	byteorderÚutf_32_le_encodeÚutf_32_be_encode)r   r   ÚfinalÚresults       r	   ÚencodezIncrementalEncoder.encode   sf   € ØŒ<ÐÝÔ)¨%°´Ñ=Ô=¸aÔ@ˆFÝŒ} Ò(Ð(Ý%Ô6�”�å%Ô6�”ØˆMØ�|Š|˜E 4¤;Ñ/Ô/°Ô2Ð2r   c                 óR   — t           j                             | ¦  «         d | _        d S r   )r   r   Úresetr   ©r   s    r	   r   zIncrementalEncoder.reset   s$   € ÝÔ!×'Ò'¨Ñ-Ô-Ð-ØˆŒˆˆr   c                 ó   — | j         €dndS )Né   r   )r   r    s    r	   ÚgetstatezIncrementalEncoder.getstate    s   € ð
 ”\Ð)��¨qÐ1r   c                 ó„   — |r	d | _         d S t          j        dk    rt          j        | _         d S t          j        | _         d S ©Nr   )r   r   r   r   r   r   ©r   Ústates     r	   ÚsetstatezIncrementalEncoder.setstate'   s>   € Øð 	7ØˆDŒLˆLˆLåŒ} Ò(Ð(Ý%Ô6�”��å%Ô6�”��r   N©r   )F)Ú__name__Ú
__module__Ú__qualname__r   r   r   r#   r(   © r   r	   r   r      si   € € € € € ðð ð ð ð3ð 3ð 3ð 3ðð ð ð2ð 2ð 2ð7ð 7ð 7ð 7ð 7r   r   c                   ó.   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ ZdS )	ÚIncrementalDecoderr   c                 óT   — t           j                             | |¦  «         d | _        d S r   )r   ÚBufferedIncrementalDecoderr   Údecoderr   s     r	   r   zIncrementalDecoder.__init__1   s&   € ÝÔ)×2Ò2°4¸Ñ@Ô@Ð@ØˆŒˆˆr   c                 ó  — | j         €dt          j        ||d|¦  «        \  }}}|dk    rt          j        | _         n-|dk    rt          j        | _         n|dk    rt          d¦  «        ‚||fS |                       || j        |¦  «        S )Nr   éÿÿÿÿé   é   ú%UTF-32 stream does not start with BOM)r2   r   Úutf_32_ex_decodeÚutf_32_le_decodeÚutf_32_be_decodeÚUnicodeErrorr   )r   r   r   r   ÚoutputÚconsumedr   s          r	   Ú_buffer_decodez!IncrementalDecoder._buffer_decode5   sŽ   € ØŒ<ÐåÔ'¨¨v°q¸%Ñ@Ô@ñ *ˆV�X˜yà˜BŠˆÝ%Ô6�”�Ø˜a’�Ý%Ô6�”�Ø˜Q’�Ý"Ð#JÑKÔKÐKØ˜HÐ%Ð%Ø�|Š|˜E 4¤;°Ñ6Ô6Ð6r   c                 óR   — t           j                             | ¦  «         d | _        d S r   )r   r1   r   r2   r    s    r	   r   zIncrementalDecoder.resetB   s$   € ÝÔ)×/Ò/°Ñ5Ô5Ð5ØˆŒˆˆr   c                 óÎ   — t           j                             | ¦  «        d         }| j        €|dfS t	          t
          j        dk    | j        t           j        u k    ¦  «        }||fS )Nr   r"   Úbig)r   r1   r#   r2   Úintr   r   r:   )r   r'   Úaddstates      r	   r#   zIncrementalDecoder.getstateF   sk   € õ Ô1×:Ò:¸4Ñ@Ô@ÀÔCˆð
 Œ<ÐØ˜1�:ÐÝ�œ¨Ò.Øœ­Ô(?Ð?òAñ Bô Bˆà�xÐ Ð r   c                 ó8  — t           j                             | |¦  «         |d         }|dk    r/t          j        dk    rt           j        nt           j        | _        d S |dk    r/t          j        dk    rt           j        nt           j        | _        d S d | _        d S )Nr5   r   rA   )r   r1   r(   r   r   r:   r9   r2   r&   s     r	   r(   zIncrementalDecoder.setstateT   s—   € åÔ)×2Ò2°4¸Ñ?Ô?Ð?Ø�a”ˆØ�AŠ:ˆ:å"œ}°Ò5Ð5õ #Ô3Ð3å!'Ô!8ð ŒLˆLˆLð �aŠZˆZå"œ}°Ò5Ð5õ #Ô3Ð3å!'Ô!8ð ŒLˆLˆLð  ˆDŒLˆLˆLr   Nr)   )r*   r+   r,   r   r>   r   r#   r(   r-   r   r	   r/   r/   0   sd   € € € € € ðð ð ð ð7ð 7ð 7ðð ð ð!ð !ð !ð ð  ð  ð  ð  r   r/   c                   ó$   — e Zd Zdd„Zd„ Zdd„ZdS )ÚStreamWriterr   c                 óV   — d | _         t          j                             | ||¦  «         d S r   )r   r   rF   r   )r   Ústreamr   s      r	   r   zStreamWriter.__init__d   s*   € ØˆŒÝÔ×$Ò$ T¨6°6Ñ:Ô:Ð:Ð:Ð:r   c                 óR   — t           j                             | ¦  «         d | _        d S r   )r   rF   r   r   r    s    r	   r   zStreamWriter.reseth   s$   € ÝÔ×!Ò! $Ñ'Ô'Ð'ØˆŒˆˆr   c                 óÐ   — | j         €Jt          j        ||¦  «        }t          j        dk    rt          j        | _         nt          j        | _         |S |                       ||¦  «        S r%   )r   r   r   r   r   r   r   )r   r   r   r   s       r	   r   zStreamWriter.encodel   sX   € ØŒ<ÐÝÔ)¨%°Ñ8Ô8ˆFÝŒ} Ò(Ð(Ý%Ô6�”�å%Ô6�”ØˆMà—<’<  vÑ.Ô.Ð.r   Nr)   )r*   r+   r,   r   r   r   r-   r   r	   rF   rF   c   sK   € € € € € ð;ð ;ð ;ð ;ðð ð ð	/ð 	/ð 	/ð 	/ð 	/ð 	/r   rF   c                   ó   — e Zd Zd„ Zdd„ZdS )ÚStreamReaderc                 ól   — t           j                             | ¦  «         	 | `d S # t          $ r Y d S w xY wr   )r   rL   r   r
   ÚAttributeErrorr    s    r	   r   zStreamReader.resety   sI   € ÝÔ×!Ò! $Ñ'Ô'Ð'ð	Ø���øÝð 	ð 	ð 	ØˆDˆDð	øøøs   ¡% ¥
3²3r   c                 óÊ   — t          j        ||dd¦  «        \  }}}|dk    rt           j        | _        n-|dk    rt           j        | _        n|dk    rt          d¦  «        ‚||fS )Nr   Fr4   r5   r6   r7   )r   r8   r9   r
   r:   r;   )r   r   r   Úobjectr=   r   s         r	   r
   zStreamReader.decode€   sn   € åÔ# E¨6°1°eÑ<Ô<ñ 	&ˆ�˜9à˜Š?ˆ?Ý Ô1ˆDŒKˆKØ˜!Š^ˆ^Ý Ô1ˆDŒKˆKØ�qŠ[ˆ[ÝÐFÑGÔGÐGØ˜Ð!Ð!r   Nr)   )r*   r+   r,   r   r
   r-   r   r	   rL   rL   w   s7   € € € € € ðð ð ð	"ð 	"ð 	"ð 	"ð 	"ð 	"r   rL   c            	      ót   — t          j        dt          t          t          t
          t          t          ¬¦  «        S )Nzutf-32)Únamer   r
   ÚincrementalencoderÚincrementaldecoderÚstreamreaderÚstreamwriter)r   Ú	CodecInfor   r
   r   r/   rL   rF   r-   r   r	   ÚgetregentryrX   �   s1   € ÝÔØÝÝÝ-Ý-Ý!Ý!ðñ ô ð r   r)   )Ú__doc__r   r   r   r   r
   r   r1   r/   rF   rL   rX   r-   r   r	   ú<module>rZ      s  ððð ð Ð Ð Ð Ð Ð Ð Ð ð 
Ô	€ð5ð 5ð 5ð 5ð!7ð !7ð !7ð !7ð !7˜Ô2ñ !7ô !7ð !7ðF1 ð 1 ð 1 ð 1 ð 1 ˜Ô:ñ 1 ô 1 ð 1 ðf/ð /ð /ð /ð /�6Ô&ñ /ô /ð /ð("ð "ð "ð "ð "�6Ô&ñ "ô "ð "ð,	ð 	ð 	ð 	ð 	r   