o
    “si.  ã                   @   s¸   d dl mZmZmZmZmZ ddlZddlZddlm	Z	m
Z
 e 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ejfdd„ZdS )é   )ÚencodeÚdecodeÚalabelÚulabelÚ	IDNAErroré    N)ÚTupleÚOptionalu   [.ã€‚ï¼Žï½¡]c                	   @   sL   e Zd Zd
dededeeef fdd„Zd
dededeeef fdd„Zd	S )ÚCodecÚstrictÚdataÚerrorsÚreturnc                 C   ó.   |dkrt d |¡ƒ‚|sdS t|ƒt|ƒfS )Nr   úUnsupported error handling "{}")ó    r   )r   Úformatr   Úlen©Úselfr   r   © r   úeC:\Users\PC\students\dividedattentionclub\venv\lib\python3.10\site-packages\pip/_vendor/idna/codec.pyr   
   ó
   zCodec.encodec                 C   r   )Nr   r   ©Ú r   )r   r   r   r   r   r   r   r   r      r   zCodec.decodeN)r   )	Ú__name__Ú
__module__Ú__qualname__Ústrr   ÚbytesÚintr   r   r   r   r   r   r
      s     $	r
   c                
   @   ó.   e Zd Zdedededeeef fdd„ZdS )ÚIncrementalEncoderr   r   Úfinalr   c           
      C   ó°   |dkrt d |¡ƒ‚|sdS t |¡}d}|r+|d s"d}|d= n	|s+|d= |r+d}g }d}|D ]}| t|ƒ¡ |r@|d7 }|t|ƒ7 }q1d |¡| }	|t|ƒ7 }|	|fS ©	Nr   r   r   r   éÿÿÿÿÚ.r   r   )r   r   Ú_unicode_dots_reÚsplitÚappendr   r   Újoin©
r   r   r   r#   ÚlabelsÚtrailing_dotÚresultÚsizeÚlabelZ
result_strr   r   r   Ú_buffer_encode   s0   
z!IncrementalEncoder._buffer_encodeN)r   r   r   r   Úboolr   r    r2   r   r   r   r   r"      ó    &r"   c                
   @   r!   )ÚIncrementalDecoderr   r   r#   r   c           
      C   r$   r%   )r   r   r(   r)   r*   r   r   r+   r,   r   r   r   Ú_buffer_decode>   s0   
z!IncrementalDecoder._buffer_decodeN)r   r   r   r   r3   r   r    r6   r   r   r   r   r5   =   r4   r5   c                   @   ó   e Zd ZdS )ÚStreamWriterN©r   r   r   r   r   r   r   r8   ^   ó    r8   c                   @   r7   )ÚStreamReaderNr9   r   r   r   r   r;   b   r:   r;   r   c                	   C   s    t jdtƒ jtƒ jttttd�S )NÚidna)Únamer   r   ÚincrementalencoderÚincrementaldecoderÚstreamwriterÚstreamreader)	ÚcodecsÚ	CodecInfor
   r   r   r"   r5   r8   r;   r   r   r   r   Úgetregentryf   s   ùrD   )Úcorer   r   r   r   r   rB   ÚreÚtypingr   r	   Úcompiler(   r
   ÚBufferedIncrementalEncoderr"   ÚBufferedIncrementalDecoderr5   r8   r;   rC   rD   r   r   r   r   Ú<module>   s    
!!