+
    ÂHàj¶  ã                  óL  € ^ RI Ht ^ RIt^ RIHt ^RIHtHtHtH	t	H
t
Ht  ! R R]P                  4      t ! R R]P                  4      t ! R	 R
]P                  4      t ! R R]]P"                  4      t ! R R]]P$                  4      tR R lt]P(                  ! ]4       R# )é    )ÚannotationsN)ÚAny)Ú	IDNAErrorÚ_unicode_dots_reÚalabelÚdecodeÚencodeÚulabelc                  ó:   € ] tR t^	tRtRR R lltRR R lltRtR# )	ÚCodecaN  Stateless IDNA 2008 codec.

Implements the :class:`codecs.Codec` protocol so that the whole-domain
encoder (:func:`idna.encode`) and decoder (:func:`idna.decode`) are
accessible through the standard codec machinery as ``"idna2008"``.

Only the ``"strict"`` error handler is supported; any other handler
raises :exc:`~idna.IDNAError`.
c               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚdataÚstrÚerrorsÚreturnútuple[bytes, int]© )Úformats   "ÚŒ/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/88679baa1dc64374a0cd943b62eeefb9/venv/lib/python3.14/site-packages/idna/codec.pyÚ__annotate__ÚCodec.__annotate__   s"   € ÷ 'ñ '˜3ð '¨ð 'Ð;Lñ 'ó    c                	ór   € VR 8w  d   \        RV R2RR7      hV'       g   R# \        V4      \        V4      3# )ÚstrictúUnsupported error handling "Ú"Úunsupported_errors©Úcode©r   r   )r   r	   Úlen©Úselfr   r   s   &&&r   r	   ÚCodec.encode   s=   € Ø�XÔÜÐ:¸6¸(À!ÐDÐK_Ô`Ð`çØˆMä�d‹|œS ›YÐ&Ð&r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   Úbytesr   r   r   útuple[str, int]r   )r   s   "r   r   r      s!   € ÷ 'ñ '˜5ð '¨#ð '¸_ñ 'r   c                	ór   € VR 8w  d   \        RV R2RR7      hV'       g   R# \        V4      \        V4      3# )r   r   r   r   r   ©Ú r   )r   r   r"   r#   s   &&&r   r   ÚCodec.decode   s=   € Ø�XÔÜÐ:¸6¸(À!ÐDÐK_Ô`Ð`çØˆLä�d‹|œS ›YÐ&Ð&r   r   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r	   r   Ú__static_attributes__r   r   r   r   r   	   s   † ñ÷'÷'ó 'r   r   c                  ó&   € ] tR t^'tRtR R ltRtR# )ÚIncrementalEncodera›  Incremental IDNA 2008 encoder.

Buffers a partial trailing label across calls until either the next
label separator is seen or ``final=True``, so that streamed input is
encoded one whole label at a time. Any of the four Unicode label
separators (``U+002E``, ``U+3002``, ``U+FF0E``, ``U+FF61``) ends a
label; the result always uses ``U+002E`` as the separator.

Only the ``"strict"`` error handler is supported.
c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r   r   r   ÚfinalÚboolr   r   r   )r   s   "r   r   ÚIncrementalEncoder.__annotate__3   s)   € ÷ "ñ " 3ð "°ð "¸Dð "ÐEVñ "r   c                	óÈ  € VR 8w  d   \        RV R2RR7      hV'       g   R# \        P                  ! V4      pRpV'       d+   VR,          '       g   RpVR MV'       g   VR V'       d   Rp. p^ pV F@  pVP                  \	        V4      4       V'       d
   V^,          pV\        V4      ,          pKB  	  RP                  V4      V,           p	V\        V4      ,          pW—3# )	r   r   r   r   r   r   ó   .r!   éÿÿÿÿ)r   r   ÚsplitÚappendr   r"   Újoin)
r$   r   r   r6   ÚlabelsÚtrailing_dotÚresultÚsizeÚlabelÚresult_bytess
   &&&&      r   Ú_buffer_encodeÚ!IncrementalEncoder._buffer_encode3   sÔ   € Ø�XÔÜÐ:¸6¸(À!ÐDÐK_Ô`Ð`çØˆMä!×'Ò'¨Ó-ˆØˆßØ˜"—:”:Ø#�Ø˜2‘Jßà˜2�JßØ#'�LàˆØˆÛˆEØ�M‰Mœ& ›-Ô(ßØ˜•	�Ø”C˜“JÕŠDñ	 ð —y‘y Ó(¨<Õ7ˆØ”�LÓ!Õ!ˆØÐ!Ð!r   r   N)r-   r.   r/   r0   r1   rE   r2   r   r   r   r4   r4   '   s   † ñ	÷"ñ "r   r4   c                  ó&   € ] tR t^StRtR R ltRtR# )ÚIncrementalDecoderzÿIncremental IDNA 2008 decoder.

Buffers a partial trailing label across calls until either the next
label separator is seen or ``final=True``, so that streamed input is
decoded one whole label at a time.

Only the ``"strict"`` error handler is supported.
c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r   r   r   r   r6   r7   r   r(   r   )r   s   "r   r   ÚIncrementalDecoder.__annotate__]   s(   € ÷ #"ñ #" 3ð #"°ð #"¸Dð #"À_ñ #"r   c                	óP  € VR 8w  d   \        RV R2RR7      hV'       g   R# \        V\        4      '       g    \        VR4      p\        P
                  ! V4      pRpV'       d+   VR,          '       g   R
pVR MV'       g   VR V'       d   R
p. p^ pV F@  p	VP                  \        V	4      4       V'       d
   V^,          pV\        V	4      ,          pKB  	  R
P                  V4      V,           p
V\        V4      ,          pW¨3#   \         d   p\        RRR7      ThR	p?ii ; i)r   r   r   r   r   r+   ÚasciizInvalid ASCII in A-labelÚinvalid_asciiNÚ.r*   r;   )
r   Ú
isinstancer   ÚUnicodeDecodeErrorr   r<   r=   r
   r"   r>   )r$   r   r   r6   Úerrr?   r@   rA   rB   rC   Ú
result_strs   &&&&       r   Ú_buffer_decodeÚ!IncrementalDecoder._buffer_decode]   s  € Ø�XÔÜÐ:¸6¸(À!ÐDÐK_Ô`Ð`çØˆNä˜$¤×$Ò$ð[Ü˜4 Ó)�ô "×'Ò'¨Ó-ˆØˆßØ˜"—:”:Ø"�Ø˜2‘Jßà˜2�JßØ#&�LàˆØˆÛˆEØ�M‰Mœ& ›-Ô(ßØ˜•	�Ø”C˜“JÕŠDñ	 ð —X‘X˜fÓ%¨Õ4ˆ
Ø”�LÓ!Õ!ˆØÐ!Ð!øô3 &ô [ÜÐ :ÀÔQÐWZÐZûð[ús   ºD ÄD%ÄD Ä D%r   N)r-   r.   r/   r0   r1   rS   r2   r   r   r   rH   rH   S   s   † ñ÷#"ñ #"r   rH   c                  ó   € ] tR t^ƒtRtR# )ÚStreamWriterr   N©r-   r.   r/   r0   r2   r   r   r   rV   rV   ƒ   ó   † Ûr   rV   c                  ó   € ] tR t^‡tRtR# )ÚStreamReaderr   NrW   r   r   r   rZ   rZ   ‡   rX   r   rZ   c               ó    € V ^8„  d   QhRRRR/# )r   Únamer   r   zcodecs.CodecInfo | Noner   )r   s   "r   r   r   ‹   s   € ÷ ñ ˜#ð Ð"9ñ r   c           
     ó¶   € V R8w  d   R# \         P                  ! V \        4       P                  \        4       P                  \
        \        \        \        R7      # )a‡  Codec search function registered with :mod:`codecs`.

Returns a :class:`codecs.CodecInfo` for the ``"idna2008"`` codec name
so that ``str.encode("idna2008")`` and ``bytes.decode("idna2008")``
invoke the IDNA 2008 codec defined in this module.

:param name: The codec name being looked up.
:returns: A :class:`codecs.CodecInfo` instance if ``name`` is
    ``"idna2008"``, otherwise ``None``.
Úidna2008N)r\   r	   r   ÚincrementalencoderÚincrementaldecoderÚstreamwriterÚstreamreader)	ÚcodecsÚ	CodecInfor   r	   r   r4   rH   rV   rZ   )r\   s   &r   Úsearch_functionre   ‹   sC   € ð ˆzÔÙÜ×ÒØÜ‹w�~‰~Ü‹w�~‰~Ü-Ü-Ü!Ü!ôð r   )Ú
__future__r   rc   Útypingr   Úcorer   r   r   r   r	   r
   r   ÚBufferedIncrementalEncoderr4   ÚBufferedIncrementalDecoderrH   rV   rZ   re   Úregisterr   r   r   Ú<module>rl      s…   ðÝ "ã Ý ç M× Mô'ˆF�L‰Lô 'ô<)"˜×:Ñ:ô )"ôX-"˜×:Ñ:ô -"ô`	�5˜&×-Ñ-ô 	ô	�5˜&×-Ñ-ô 	õð0 ‡‚�Ö  r   