
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,aã  ã                   @   sÖ   d dl Z dd„ Zdd„ Zdd„ Zdd	„ Zd
d„ ZdZdd„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ ZG dd„ de jƒZG dd„ de jƒZG dd „ d e jƒZG d!d"„ d"ee jƒZG d#d$„ d$ee jƒZd%d&„ ZdS )'é    Nc                 C   sP   t ƒ }tƒ }| D ]*}t|ƒdk r0| t|ƒ¡ q| |¡ qt|ƒ}t|ƒ|fS )Né€   )Ú	bytearrayÚsetÚordÚappendÚaddÚsortedÚbytes)ÚstrÚbaseÚextendedÚc© r   ú7/opt/alt/python38/lib64/python3.8/encodings/punycode.pyÚ	segregate
   s    r   c                 C   s&   d}| D ]}t |ƒ|k r|d7 }q|S )Nr   é   )r   )r
   ÚmaxÚresr   r   r   r   Úselective_len   s
    
r   c                 C   sN   t | ƒ}|d7 }||krdS | | }||kr8|d |fS ||k r|d7 }qd S )Nr   )éÿÿÿÿr   )Úlen)r
   ÚcharÚindexÚposÚlr   r   r   r   Úselective_find   s    r   c                 C   sˆ   d}g }d}|D ]r}d }}t |ƒ}t| |ƒ}	|	d ||  }
t| |||ƒ\}}|dkrZq~|
|| 7 }
| |
d ¡ |}d}
q>|}q|S )Nr   r   r   r   )r   r   r   r   )r
   r   ZoldcharÚresultZoldindexr   r   r   r   ZcurlenÚdeltar   r   r   Úinsertion_unsort0   s"    
r   c                 C   s,   d| d  | }|dk rdS |dkr(dS |S )Né$   r   é   r   )ÚjÚbiasr   r   r   r   ÚTF   s      r#   s$   abcdefghijklmnopqrstuvwxyz0123456789c                 C   sn   t ƒ }d}t||ƒ}| |k r2| t|  ¡ t|ƒS | t|| | d|    ¡ | | d|  } |d7 }q
d S )Nr   r   r   )r   r#   r   Údigitsr	   )ÚNr"   r   r!   Útr   r   r   Úgenerate_generalized_integerN   s    
r'   c                 C   sX   |r| d } n| d } | | | 7 } d}| dkr@| d } |d7 }q&|d|  | d   }|S )Ni¼  é   r   iÇ  é#   r   é&   r   )r   ÚfirstÚnumcharsZ	divisionsr"   r   r   r   Úadapt[   s    

r-   c                 C   sP   t ƒ }d}t|ƒD ]4\}}t||ƒ}| |¡ t||dk| | d ƒ}qt|ƒS )NéH   r   r   )r   Ú	enumerater'   Úextendr-   r	   )ZbaselenÚdeltasr   r"   Zpointsr   Úsr   r   r   Úgenerate_integersj   s    

r3   c                 C   s8   t | ƒ\}}t| |ƒ}tt|ƒ|ƒ}|r4|d | S |S )Nó   -)r   r   r3   r   )Útextr   r   r1   r   r   r   Úpunycode_encodeu   s    
r6   c           
      C   s   d}d}d}zt | | ƒ}W n0 tk
rL   |dkr<tdƒ‚|d d f Y S X |d7 }d|  krjdkrxn n
|d }nHd|  krŒdkršn n
|d	 }n&|dkr¸td
| |d   ƒ‚n|d fS t||ƒ}	||| 7 }||	k ræ||fS |d|	  }|d7 }qd S )Nr   r   Ústrictzincomplete punicode stringéA   éZ   é0   é9   é   z Invalid extended code point '%s'r   )r   Ú
IndexErrorÚUnicodeErrorr#   )
r   Úextposr"   Úerrorsr   Úwr!   r   Údigitr&   r   r   r   Údecode_generalized_number   s2    


ÿ
rC   c           	      C   sÌ   d}d}d}d}|t |ƒk rÈt||||ƒ\}}|d kr:| S ||d 7 }||t | ƒd  7 }|dkr~|dkrvtd| ƒ‚td	ƒ}|t | ƒd  }| d |… t|ƒ | |d …  } t||dkt | ƒƒ}|}q| S )
Nr   r   r.   r   r   iÿÿ r7   zInvalid character U+%xú?)r   rC   r>   r   Úchrr-   )	r   r   r@   r   r   r"   r?   Znewposr   r   r   r   Úinsertion_sort�   s,     ÿ rF   c                 C   s†   t | tƒr|  d¡} t | tƒr&t| ƒ} |  d¡}|dkrLd}t| dƒ ¡ }n.t| d |… d|ƒ}t| |d d … dƒ ¡ }t|||ƒS )NÚasciir4   r   Ú r   )Ú
isinstancer
   ÚencodeÚ
memoryviewr	   ÚrfindÚupperrF   )r5   r@   r   r   r   r   r   r   Úpunycode_decode¶   s    



rN   c                   @   s    e Zd Zddd„Zddd„ZdS )	ÚCodecr7   c                 C   s   t |ƒ}|t|ƒfS ©N)r6   r   ©ÚselfÚinputr@   r   r   r   r   rJ   È   s    zCodec.encodec                 C   s*   |dkrt d| ƒ‚t||ƒ}|t|ƒfS ©N)r7   ÚreplaceÚignorezUnsupported error handling )r>   rN   r   rQ   r   r   r   ÚdecodeÌ   s    
zCodec.decodeN)r7   )r7   )Ú__name__Ú
__module__Ú__qualname__rJ   rW   r   r   r   r   rO   Æ   s   
rO   c                   @   s   e Zd Zddd„ZdS )ÚIncrementalEncoderFc                 C   s   t |ƒS rP   )r6   ©rR   rS   Úfinalr   r   r   rJ   Ó   s    zIncrementalEncoder.encodeN)F)rX   rY   rZ   rJ   r   r   r   r   r[   Ò   s   r[   c                   @   s   e Zd Zddd„ZdS )ÚIncrementalDecoderFc                 C   s$   | j dkrtd| j  ƒ‚t|| j ƒS rT   )r@   r>   rN   r\   r   r   r   rW   ×   s    
zIncrementalDecoder.decodeN)F)rX   rY   rZ   rW   r   r   r   r   r^   Ö   s   r^   c                   @   s   e Zd ZdS )ÚStreamWriterN©rX   rY   rZ   r   r   r   r   r_   Ü   s   r_   c                   @   s   e Zd ZdS )ÚStreamReaderNr`   r   r   r   r   ra   ß   s   ra   c                	   C   s    t jdtƒ jtƒ jttttd�S )NZpunycode)ÚnamerJ   rW   ÚincrementalencoderÚincrementaldecoderÚstreamwriterÚstreamreader)	ÚcodecsÚ	CodecInforO   rJ   rW   r[   r^   r_   ra   r   r   r   r   Úgetregentryä   s    ùri   )rg   r   r   r   r   r#   r$   r'   r-   r3   r6   rC   rF   rN   rO   r[   r^   r_   ra   ri   r   r   r   r   Ú<module>   s&   
