
    -hh                     4   S SK r S rS rS rS rS rSrS rS	 rS
 r	S r
S rS rS r " S S\ R                  5      r " S S\ R                  5      r " S S\ R                   5      r " S S\\ R"                  5      r " S S\\ R$                  5      rS rg)    Nc                     [        5       n[        5       nU  H?  n[        U5      S:  a  UR                  [        U5      5        M.  UR	                  U5        MA     [        U5      n[        U5      U4$ )N   )	bytearraysetordappendaddsortedbytes)strbaseextendedcs       ;/opt/python-3.13.8/usr/lib/python3.13/encodings/punycode.py	segregater   
   s[    ;DuHq6C<KKALLO	 
 hH;      c                 H    SnU  H  n[        U5      U:  d  M  US-  nM     U$ )Nr      )r   )r   maxresr   s       r   selective_lenr      s,    
Cq6C<1HC  Jr   c                 h    [        U 5      n US-  nX4:X  a  gX   nXQ:X  a  US-   U4$ XQ:  a  US-  nM'  )Nr   )r   )len)r   charindexposlr   s         r   selective_findr      sN     	CA
q8H97C<XQJE r   c                     Sn/ nSnU H_  nS=pg[        U5      n[        X5      n	U	S-   X-
  -  n
 [        XXg5      u  pgUS:X  a  O!XU-
  -  n
UR                  U
S-
  5        UnSn
M6  UnMa     U$ )Nr   r   r   r   )r   r   r   r   )r   r   oldcharresultoldindexr   r   r   r   curlendeltas              r   insertion_unsortr&   0   s    GFH1vs)dn-&sU7IE{X%%EMM%'"HE    Mr   c                 8    SU S-   -  U-
  nUS:  a  gUS:  a  gU$ )N$   r       )jbiasr   s      r   Tr-   F   s+    
A,
C
Qwq
RxJr   s$   abcdefghijklmnopqrstuvwxyz0123456789c                     [        5       nSn [        X15      nX:  a#  UR                  [        U    5        [	        U5      $ UR                  [        X@U-
  SU-
  -  -      5        X-
  SU-
  -  n US-  nMg  )Nr   r   r(   )r   r-   r   digitsr   )Nr,   r"   r+   ts        r   generate_generalized_integerr2   N   sx    [F	A
aJ5MM&)$= fQq5R!V"4567UQ	Q r   c                     U(       a  U S-  n OU S-  n X U-  -  n SnU S:  a  U S-  n US-  nU S:  a  M  USU -  U S-   -  -   nU$ )Ni     r   i  #   r(   &   r*   )r%   firstnumchars	divisionsr,   s        r   adaptr:   [   si    #!	hEI
#+R	 #+ U
urz23DKr   c                     [        5       nSn[        U5       H5  u  pE[        XS5      nUR                  U5        [	        XTS:H  X-   S-   5      nM7     [        U5      $ )NH   r   r   )r   	enumerater2   extendr:   r   )baselendeltasr"   r,   pointsr%   ss          r   generate_integersrC   j   sZ     [FD"6*(5aUAIw~a'78 + =r   c                 ~    [        U 5      u  p[        X5      n[        [        U5      U5      nU(       a  US-   U-   $ U$ )N   -)r   r&   rC   r   )textr   r   r@   s       r   punycode_encoderG   u   s>    t_NDd-F TF3Hd{X%%Or   c           
      r   SnSnSn  X   nUS-  nSUs=::  a  S::  a	  O  OUS-
  nO:SUs=::  a  S	::  a	  O  OUS
-
  nO$US:X  a  [        SXS-
  USXS-
      S35      eUS 4$ [        Xb5      n	XHU-  -  nX:  a  X4$ USU	-
  -  nUS-  nM  ! [          a!    US:X  a  [        SXUS-   S5      eUS-   S 4s $ f = f)Nr   r   strictpunycodezincomplete punycode stringA   Z   0   9      zInvalid extended code point ''r(   )
IndexErrorUnicodeDecodeErrorr-   )
r   extposr,   errorsr"   wr+   r   digitr1   s
             r   decode_generalized_numberrW      s   F	A	A
	$#D 	!444KET!T!2IEx$Z!8V'DXUVhEWDXXY%Z\ \ 4<aJ!)9>!aL	Q/   	$!(Xvax)EG GA:t##		$s   B (B65B6c           	         SnSnSnSnU[        U5      :  a  [        XXR5      u  pxUc  U $ XHS-   -  nX4[        U 5      S-   -  -  nUS:  a&  US:X  a  [        SXS-
  US	US
 35      e[        S5      nU[        U 5      S-   -  nU S U [	        U5      -   XS  -   n [        XS:H  [        U 5      5      nUnU[        U5      :  a  M  U $ )Nr   r   r<   r   r   i rI   rJ   zInvalid character U+x?)r   rW   rR   r   chrr:   )	r   r   rT   r   r   r,   rS   newposr%   s	            r   insertion_sortr]      s     D
CDF
3x=
 1(26@= KQwD	A&&(?!(a%*4(35 5 s8DSY]#DSzCI%T
2Uq[3t95% 3x=
 & Kr   c                 X   [        U [        5      (       a  U R                  S5      n [        U [        5      (       a  [	        U 5      n U R                  S5      nUS:X  a  SnU R                  5       nO& [        U S U SU5      nXS-   S  R                  5       n [        X4U5      $ ! [         a2  n[        SXR                  UR                  UR                  5      S eS nAff = f! [         a<  nUS-   n[        SU XeR                  -   XeR                  -   UR                  5      S eS nAff = f)NasciirE   r    r   rJ   )
isinstancer   encode
memoryviewr   rfindupperrR   startendreasonr]   )rF   rT   r   r   r   excoffsets          r   punycode_decoderk      s   ${{7#$
##T{
**T
C
by::<	;tDSz7F3D A<%%'7df55 " 	;$WdIIsww%(ZZ16:;	;  7q T!'		!16''>!$-26	77s0   2B$ C# $
C .-CC #
D)-7D$$D)c                   (    \ rS rSrSS jrSS jrSrg)Codec   c                 2    [        U5      nU[        U5      4$ N)rG   r   selfinputrT   r   s       r   rb   Codec.encode   s    e$CJr   c                 Z    US;  a  [        SU 35      e[        X5      nU[        U5      4$ N)rI   replaceignorezUnsupported error handling: )UnicodeErrorrk   r   rq   s       r   decodeCodec.decode   s6    88!=fXFGGe,CJr   r*   N)rI   )__name__
__module____qualname____firstlineno__rb   rz   __static_attributes__r*   r   r   rm   rm      s    r   rm   c                       \ rS rSrSS jrSrg)IncrementalEncoder   c                     [        U5      $ rp   )rG   rr   rs   finals      r   rb   IncrementalEncoder.encode   s    u%%r   r*   NF)r|   r}   r~   r   rb   r   r*   r   r   r   r      s    &r   r   c                       \ rS rSrSS jrSrg)IncrementalDecoder   c                 |    U R                   S;  a  [        SU R                    35      e[        XR                   5      $ rv   )rT   ry   rk   r   s      r   rz   IncrementalDecoder.decode   s5    ;;==!=dkk]KLLukk22r   r*   Nr   )r|   r}   r~   r   rz   r   r*   r   r   r   r      s    3r   r   c                       \ rS rSrSrg)StreamWriter   r*   Nr|   r}   r~   r   r   r*   r   r   r   r          r   r   c                       \ rS rSrSrg)StreamReader   r*   Nr   r*   r   r   r   r      r   r   r   c            
          [         R                  " S[        5       R                  [        5       R                  [
        [        [        [        S9$ )NrJ   )namerb   rz   incrementalencoderincrementaldecoderstreamwriterstreamreader)	codecs	CodecInform   rb   rz   r   r   r   r   r*   r   r   getregentryr      s6    w~~w~~--!! r   )r   r   r   r   r&   r-   r/   r2   r:   rC   rG   rW   r]   rk   rm   r   r   r   r   r   r*   r   r   <module>r      s    
!$, 
1	><74
FLL 
&22 &322 3	5,, 		5,, 	
	r   