python (3.12.0)

(root)/
lib/
python3.12/
encodings/
__pycache__/
punycode.cpython-312.pyc

̑e8dZddlZdZdZdZdZdZdZd	Zd
Z	dZ
dZd
ZdZ
dZGddejZGddej ZGddej"ZGddeej$ZGddeej&ZdZy)uY Codec for the Punicode encoding, as specified in RFC 3492

Written by Martin v. Löwis.
Nct}t}|D]<}t|dkr|jt|,|j	|>t|}t
||fS)z 3.1 Basic code point segregation)	bytearraysetordappendaddsortedbytes)strbaseextendedcs    F/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/encodings/punycode.py	segregater
s`;DuH
q6C<KKALLO	
hH;  c@d}|D]}t||ks|dz
}|S)z@Return the length of str, considering only characters below max.r)r)rmaxresrs    r
selective_lenrs1
C
q6C<1HCJrcht|}	|dz
}||k(ry||}||k(r|dz|fS||kr|dz
}')aReturn a pair (index, pos), indicating the next occurrence of
    char in str. index is the position of the character considering
    only ordinals up to and including char, and pos is the position in
    the full string. index/pos is the starting position in the full
    string.r)r)len)rcharindexposlrs      rselective_findrsV	CA
q!8H97C<
XQJErcd}g}d}|D]c}dx}}t|}t||}	|	dz||z
z}
	t||||\}}|dk(rn!|
||z
z
}
|j|
dz
|}d}
8|}e|S)3.2 Insertion unsort codingrrrr)rrrr)rroldcharresultoldindexrrrrcurlendeltas           rinsertion_unsortr'0sG
FH

1vsD)dWn-&s1U37IE#{UX%%EMM%'"HE
Mrc4d|dzz|z
}|dkry|dkDry|S)N$r)jbiasrs   rTr.Fs+
A,
C
Qwq
RxJrs$abcdefghijklmnopqrstuvwxyz0123456789ct}d}	t||}||kr#|jt|t	|S|jt|||z
d|z
zz||z
d|z
z}|dz
}i)(3.3 Generalized variable-length integersrrr))rr.rdigitsr)Nr-r#r,ts     rgenerate_generalized_integerr4Ns
[F	A

aJq5MM&)$= 

fQ1q5R!V"4567
UQ	Qrcz|r|dz}n|dz}|||zz
}d}|dkDr|dz}|dz
}|dkDr|d|z|dzzz}|S)Niri#r)&r+)r&firstnumchars	divisionsr-s     radaptr<[sk
#

!	Uh
EI
#+R	#+U
urz23DKrct}d}t|D]8\}}t||}|j|t	||dk(||zdz}:t|S)z3.4 Bias adaptationHrr)r	enumerater4extendr<r)baselendeltasr#r-pointsr&ss       rgenerate_integersrEjsg[F
D"6*9
(5

aUFAIwv~a'789=rcxt|\}}t||}tt||}|r|dz|zS|S)N-)rr'rEr)textr
rrBs    rpunycode_encoderIusBt_ND(
dH
-F TF3Hd{X%%Orcdd}d}d}		t||}|dz
}d|cxkrdkr	nn|dz
}n1d|cxkrd	kr	nn|d
z
}n|dk(rtd||dz
z|dfSt||}	|||zz
}||	kr||fS|d|	z
z}|dz
}#t$r|dk(rtd|dzdfcYSwxYw)
r0rrstrictzincomplete punicode stringNAZ09z Invalid extended code point '%s'r))r
IndexErrorUnicodeErrorr.)
rextposr-errorsr#wr,rdigitr3s
          rdecode_generalized_numberrWs

F	A	A
	$x'(D
	!444KE
T
!T
!2IE
x
A!)&(!3 45
54<
aJ%!)196>!
aL	Q-	$!"#?@@A:t##	$sB B/.B/c~d}d}d}d}|t|krt||||\}}||S||dzz
}||t|dzzz
}|dkDr|dk(rtd	|ztd
}|t|dzz}|d|t	|z||dz}t||dk(t|}|}|t|kr|S)r!rrr>rNrirKzInvalid character U+%x?)rrWrRrchrr<)	r
rrTrrr-rSnewposr&s	         rinsertion_sortr\sD
C
D
F
3x=
 1(F26@
=KuQwD	A
&&(?!"#;d#BCCs8DSY]#DSzCI%ST
2UVq[3t95!3x=
 "KrcZt|tr|jd}t|trt	|}|jd}|dk(rd}t|dj
}n0t|d|d|}t||dzddj
}t|||S)NasciirGrr)
isinstancerencode
memoryviewrrfindupperr\)rHrTrr
rs     rpunycode_decoderes${{7#$
#T{
**T
C
bytW%++-4:w/tCEF|W-335$&11rceZdZddZddZy)Codecc2t|}|t|fSN)rIrselfinputrTrs    rrazCodec.encodese$CJrcX|dvrtd|zt||}|t|fSN)rKreplaceignorezUnsupported error handling )rRrerrjs    rdecodezCodec.decodes688<VCDDeV,CJrN)rK)__name__
__module____qualname__rarqr+rrrgrgsrrgceZdZddZy)IncrementalEncoderct|Sri)rIrkrlfinals   rrazIncrementalEncoder.encodes
u%%rNF)rrrsrtrar+rrrvrvs&rrvceZdZddZy)IncrementalDecodercz|jdvrtd|jzt||jSrn)rTrRrerxs   rrqzIncrementalDecoder.decodes5;;==<T[[HIIudkk22rNrz)rrrsrtrqr+rrr|r|s3rr|ceZdZy)StreamWriterNrrrsrtr+rrrrrrceZdZy)StreamReaderNrr+rrrrrrrc	tjdtjtjt
tttS)Npunycode)namerarqincrementalencoderincrementaldecoderstreamwriterstreamreader)	codecs	CodecInforgrarqrvr|rrr+rrgetregentryrs6
w~~w~~--!!r)__doc__rrrrr'r.r1r4r<rErIrWr\rergrvr|rrrr+rr<module>rs

!$,
1	<22 
FLL
&22&3223	5,,		5,,	
	r