+
    KV-j°  ã                   óD  € ^ RI t ^ RIHt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# )é    N)ÚAnyÚOptional)Ú	IDNAErrorÚ_unicode_dots_reÚalabelÚdecodeÚencodeÚulabelc                   óP   a € ] tR t^t o RtRV 3R lR lltRV 3R lR lltRtV 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                óB   <€ V ^8„  d   QhRS[ RS[ RS[S[S[3,          /# ©é   ÚdataÚerrorsÚreturn)ÚstrÚtupleÚbytesÚint)ÚformatÚ__classdict__s   "€Ú[/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/idna/codec.pyÚ__annotate__ÚCodec.__annotate__   s+   ø€ ÷ 'ñ '™3ð '©ð '¹5ÁÉÀÕ;Lñ 'ó    c                ón   € VR 8w  d   \        RV R24      hV'       g   R# \        V4      \        V4      3# )ÚstrictúUnsupported error handling "Ú"©r   r   )r   r	   Úlen©Úselfr   r   s   &&&r   r	   ÚCodec.encode   s:   € Ø�XÔÜÐ:¸6¸(À!ÐDÓEÐEçØˆMä�d‹|œS ›YÐ&Ð&r   c                óB   <€ V ^8„  d   QhRS[ RS[RS[S[S[3,          /# r   )r   r   r   r   )r   r   s   "€r   r   r      s*   ø€ ÷ 'ñ '™5ð '©#ð '¹UÁ3ÉÀ8½_ñ 'r   c                ón   € VR 8w  d   \        RV R24      hV'       g   R# \        V4      \        V4      3# )r   r   r    ©Ú r   )r   r   r"   r#   s   &&&r   r   ÚCodec.decode   s:   € Ø�XÔÜÐ:¸6¸(À!ÐDÓEÐEçØˆLä�d‹|œS ›YÐ&Ð&r   © N)r   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r	   r   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s#   ø‡ € ñ÷'ò '÷'÷ 'ð 'r   r   c                   ó6   a € ] tR t^%t o RtV 3R lR ltRtV 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          
      óH   <€ V ^8„  d   QhRS[ RS[ RS[RS[S[S[3,          /# ©r   r   r   Úfinalr   )r   Úboolr   r   r   )r   r   s   "€r   r   ÚIncrementalEncoder.__annotate__1   s3   ø€ ÷ "ñ "¡3ð "±ð "¹Dð "ÁUÉ5ÑRUÈ:ÕEVñ "r   c                óÄ  € VR 8w  d   \        RV R24      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   ÚsplitÚappendr   r"   Újoin)
r$   r   r   r8   ÚlabelsÚtrailing_dotÚresultÚsizeÚlabelÚresult_bytess
   &&&&      r   Ú_buffer_encodeÚ!IncrementalEncoder._buffer_encode1   sÑ   € Ø�XÔÜÐ:¸6¸(À!ÐDÓEÐEçØˆMä!×'Ò'¨Ó-ˆØˆßØ˜"—:”:Ø#�Ø˜2‘Jßà˜2�JßØ#'�LàˆØˆÛˆEØ�M‰Mœ& ›-Ô(ßØ˜•	�Ø”C˜“JÕŠDñ	 ð —y‘y Ó(¨<Õ7ˆØ”�LÓ!Õ!ˆØÐ!Ð!r   r+   N)r,   r-   r.   r/   r0   rG   r1   r2   r3   s   @r   r5   r5   %   s   ø‡ € ñ	÷"ö "r   r5   c                   ó6   a € ] tR t^Rt o RtV 3R lR ltRtV 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          
      óH   <€ V ^8„  d   QhRS[ RS[RS[RS[S[S[3,          /# r7   )r   r   r9   r   r   )r   r   s   "€r   r   ÚIncrementalDecoder.__annotate__\   s2   ø€ ÷  "ñ  "¡3ð  "±ð  "¹Dð  "ÁUÉ3ÑPSÈ8Å_ñ  "r   c                ó  € VR 8w  d   \        RV R24      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# )r   r   r    r)   ÚasciiÚ.r(   r=   )	r   Ú
isinstancer   r   r>   r?   r
   r"   r@   )
r$   r   r   r8   rA   rB   rC   rD   rE   Ú
result_strs
   &&&&      r   Ú_buffer_decodeÚ!IncrementalDecoder._buffer_decode\   sê   € Ø�XÔÜÐ:¸6¸(À!ÐDÓEÐEçØˆNä˜$¤×$Ò$Ü�t˜WÓ%ˆDä!×'Ò'¨Ó-ˆØˆßØ˜"—:”:Ø"�Ø˜2‘Jßà˜2�JßØ#&�LàˆØˆÛˆEØ�M‰Mœ& ›-Ô(ßØ˜•	�Ø”C˜“JÕŠDñ	 ð —X‘X˜fÓ%¨Õ4ˆ
Ø”�LÓ!Õ!ˆØÐ!Ð!r   r+   N)r,   r-   r.   r/   r0   rR   r1   r2   r3   s   @r   rJ   rJ   R   s   ø‡ € ñ÷ "ö  "r   rJ   c                   ó   € ] tR t^tRtR# )ÚStreamWriterr+   N©r,   r-   r.   r/   r1   r+   r   r   rU   rU      ó   † Ûr   rU   c                   ó   € ] tR t^ƒtRtR# )ÚStreamReaderr+   NrV   r+   r   r   rY   rY   ƒ   rW   r   rY   c                óZ   € V ^8„  d   QhR\         R\        \        P                  ,          /# )r   Únamer   )r   r   ÚcodecsÚ	CodecInfo)r   s   "r   r   r   ‡   s%   € ÷ ñ œ#ð ¤(¬6×+;Ñ+;Õ"<ñ 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)	r\   r]   r   r	   r   r5   rJ   rU   rY   )r[   s   &r   Úsearch_functionrd   ‡   sC   € ð ˆzÔÙÜ×ÒØÜ‹w�~‰~Ü‹w�~‰~Ü-Ü-Ü!Ü!ôð r   )r\   Útypingr   r   Úcorer   r   r   r   r	   r
   r   ÚBufferedIncrementalEncoderr5   ÚBufferedIncrementalDecoderrJ   rU   rY   rd   Úregisterr+   r   r   Ú<module>rj      s‚   ðÛ ß  ç M× Mô'ˆF�L‰Lô 'ô<*"˜×:Ñ:ô *"ôZ*"˜×:Ñ:ô *"ôZ	�5˜&×-Ñ-ô 	ô	�5˜&×-Ñ-ô 	õð0 ‡‚�Ö  r   