Ë ‚Ö¦iããó8—dZddlZd„Zd„Zd„Zd„Zd„ZdZd „Zd „Z d „Z d „Z d „Z d„Z d„ZGd„dej«ZGd„dej «ZGd„dej"«ZGd„deej$«ZGd„deej&«Zd„Zy)uY Codec for the Punicode encoding, as specified in RFC 3492 Written by Martin v. Löwis. éNcóÜ—t«}t«}|D]<}t|«dkr|jt|««Œ,|j |«Œ>t |«}t |«|fS)z 3.1 Basic code point segregationé€)Ú bytearrayÚsetÚordÚappendÚaddÚsortedÚbytes)ÚstrÚbaseÚextendedÚcs ú+/usr/lib64/python3.12/encodings/punycode.pyÚ segregater s[€ä ‹;€DÜ‹u€HÛ ˆÜ ˆq‹6�CŠ<Ø �K‰Kœ˜A›Õ à �L‰L˜�Oð ô �hÓ€HÜ �‹;˜Ð Ð ócó@—d}|D]}t|«|ksŒ|dz }Œ|S)z@Return the length of str, considering only characters below max.ré)r)r ÚmaxÚresrs rÚ selective_lenrs,€à €CÛ ˆÜ ˆq‹6�C‹<Ø �1‰H‰Cðð €Jrcóh—t|«} |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 ÚcharÚindexÚposÚlrs rÚselective_findrsV€ô ˆC‹€AØ Ø ˆq‰ˆØ �!Š8ØØ �‰HˆØ �Š9ؘ‘7˜C�<Ð Ø �ŠXØ �Q‰JˆEð rcóâ—d}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 rÚoldcharÚresultÚoldindexrrrrÚcurlenÚdeltas rÚinsertion_unsortr'0s©€à€GØ €FØ€HÛ ˆØÐˆ�Ü�1‹vˆÜ˜s DÓ)ˆØ˜‘˜d W™nÑ-ˆØÜ& s¨1¨U°3Ó7‰IˆE�#ؘŠ{ØØ �U˜XÑ%Ñ %ˆEØ �M‰M˜% ™'Ô "؈H؈Eðð‰ðð €Mrcó4—d|dzz|z }|dkry|dkDry|S)Né$ré©)ÚjÚbiasrs rÚTr.Fs+€à ��A‘‰,˜Ñ €CØ ˆQ‚w�qØ ˆR‚x˜Ø €Jrs$abcdefghijklmnopqrstuvwxyz0123456789cóî—t«}d} t||«}||kr#|jt|«t |«S|jt|||z d|z zz«||z d|z z}|dz }Œi)ú(3.3 Generalized variable-length integersrrr))rr.rÚdigitsr )ÚNr-r#r,Úts rÚgenerate_generalized_integerr4Ns€€ä ‹[€FØ €AØ Ü ˆa�‹JˆØ ˆqŠ5Ø �M‰Mœ& ™)Ô $ܘ“=Ð Ø� ‰ ”f˜Q 1 q¡5¨R°!©VÑ"4Ñ5Ñ6Ô7Ø �‰U˜˜Q™Ñ ˆØ ˆQ‰ˆð rcóz—|r|dz}n|dz}|||zz }d}|dkDr|dz}|dz }|dkDrŒ|d|z|dzzz}|S)Ni¼ériÇé#r)é&r+)r&ÚfirstÚnumcharsÚ divisionsr-s rÚadaptr<[sk€Ù Ø �#‰ ‰à �!‰ ˆØ ˆU�hÑ Ñ€Eà€IØ �#Š+ؘ‘ ˆØ�R‰ˆ ð �#‹+𠘘U™  u¨r¡zÑ2Ñ 3€DØ €Krcó¼—t«}d}t|«D]8\}}t||«}|j|«t ||dk(||zdz«}Œ:t |«S)z3.4 Bias adaptationéHrr)rÚ enumerater4Úextendr<r )ÚbaselenÚdeltasr#r-Úpointsr&Úss rÚgenerate_integersrEjsb€ô‹[€FØ €DÜ" 6Ö*‰ ˆ�Ü (¨°Ó 5ˆØ� ‰ �aÔÜ�U˜F A™I w¨v¡~°aÑ'7Ó8‰ð+ô �‹=Ðrcóx—t|«\}}t||«}tt|«|«}|r|dz|zS|S)Nó-)rr'rEr)Útextr rrBs rÚpunycode_encoderIusB€Ü˜t“_�N€Dˆ(Ü ˜d HÓ -€FÜ ¤ T£¨FÓ3€HÙ Ø�d‰{˜XÑ%Ð%Ø €Orcód—d}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(r td«‚|dzdfcYSwxYw) r0rrÚstrictzincomplete punicode stringNéAéZé0é9éz Invalid extended code point '%s'r))rÚ IndexErrorÚ UnicodeErrorr.) rÚextposr-Úerrorsr#Úwr,rÚdigitr3s rÚdecode_generalized_numberrWs €à €FØ €AØ €AØ ð $Ü�x Ñ'Ó(ˆDð �!‰ ˆØ �4Ô ˜4Õ Ø˜4‘K‰EØ �TÔ !˜TÕ !ؘ2‘I‰EØ �xÒ ÜÐAØ!)¨&°©(Ñ!3ñ 4ó5ð 5ð˜4�<Ð Ü ˆa�‹JˆØ�%˜!‘)ÑˆØ �1Š9ؘ6�>Ð !Ø ��a‘‰LˆØ ˆQ‰ˆð- øôò $ؘÒ!Ü"Ð#?Ó@Ð@ؘA‘:˜tÐ#Ò #ð $ús‰B  B/Â.B/có~—d}d}d}d}|t|«kr¦t||||«\}}|€|S||dzz }||t|«dzzz }|dkDr|dk(rtd |z«‚td «}|t|«dzz}|d|t |«z||dz}t ||dk(t|««}|}|t|«krŒ¦|S) r!rrr>rNriÿÿrKzInvalid character U+%xÚ?)rrWrRrÚchrr<) r rrTrrr-rSÚnewposr&s rÚinsertion_sortr\�sô€à €DØ €CØ €DØ €FØ ”3�x“=Ò Ü1°(¸FØ26¸ó@‰ ˆ�à ˆ=ðˆKØ ˆu�Q‰w‰ˆØ �œ˜D›  A™ Ñ&Ñ&ˆØ �(Š?ؘÒ!Ü"Ð#;¸dÑ#BÓCÐCÜ�s“8ˆDØ”S˜“Y ‘]Ñ#ˆØ�D�SˆzœC ›IÑ%¨¨S¨T¨ Ñ2ˆÜ�U˜V q™[¬3¨t«9Ó5ˆØˆð! ”3�x“=Ó ð" €KrcóZ—t|t«r|jd«}t|t«r t |«}|j d«}|dk(rd}t|d«j «}n0t|d|d|«}t||dzdd«j «}t|||«S)NÚasciirGrÚr)Ú isinstancer ÚencodeÚ memoryviewr ÚrfindÚupperr\)rHrTrr rs rÚpunycode_decodere¶sž€Ü�$œÔØ�{‰{˜7Ó#ˆÜ�$œ Ô#Ü�T‹{ˆØ �*‰*�TÓ €CØ ˆb‚y؈Ü�t˜WÓ%×+Ñ+Ó-‰ä�4˜˜�:˜w¨Ó/ˆÜ�t˜C ™E˜F�| WÓ-×3Ñ3Ó5ˆÜ ˜$ ¨&Ó 1Ð1rcó—eZdZdd„Zdd„Zy)ÚCodeccó2—t|«}|t|«fS©N)rIr©ÚselfÚinputrTrs rraz Codec.encodeÈs€Ü˜eÓ$ˆØ”C˜“JˆÐrcóX—|dvrtd|z«‚t||«}|t|«fS©N)rKÚreplaceÚignorezUnsupported error handling )rRrerrjs rÚdecodez Codec.decodeÌs6€Ø Ð8Ñ 8ÜÐ<¸VÑCÓDÐ Dܘe VÓ,ˆØ”C˜“JˆÐrN)rK)Ú__name__Ú __module__Ú __qualname__rarqr+rrrgrgÆs „óôrrgcó—eZdZdd„Zy)ÚIncrementalEncodercó—t|«Sri)rI©rkrlÚfinals rrazIncrementalEncoder.encodeÓs €Ü˜uÓ%Ð%rN©F)rrrsrtrar+rrrvrvÒs„ô&rrvcó—eZdZdd„Zy)ÚIncrementalDecodercóz—|jdvrtd|jz«‚t||j«Srn)rTrRrerxs rrqzIncrementalDecoder.decode×s5€Ø �;‰;Ð=Ñ =ÜÐ<¸T¿[¹[ÑHÓIÐ Iܘu d§k¡kÓ2Ð2rNrz)rrrsrtrqr+rrr|r|Ös„ô3rr|có —eZdZy)Ú StreamWriterN©rrrsrtr+rrrrÜó„Ørrcó —eZdZy)Ú StreamReaderNr€r+rrrƒrƒßr�rrƒc ó¢—tjdt«jt«jt t tt¬«S)NÚpunycode)ÚnamerarqÚincrementalencoderÚincrementaldecoderÚ streamwriterÚ streamreader) ÚcodecsÚ CodecInforgrarqrvr|rrƒr+rrÚ getregentryr�äs6€Ü × Ñ Ø Ü‹w�~‰~Ü‹w�~‰~Ü-Ü-Ü!Ü!ô ðr)Ú__doc__r‹rrrr'r.r1r4r<rErIrWr\rergrvr|rrƒr�r+rrÚr�s³ðñó ò !òòò$ò,ð 1€ò ò ò òòò<ò2 2ô ˆF�L‰Lô ô&˜×2Ñ2ô&ô3˜×2Ñ2ô3ô  �5˜×,Ñ,ô ô �5˜×,Ñ,ô ó r