File: //usr/local/CyberPanel/lib64/python3.10/site-packages/idna/__pycache__/codec.cpython-310.pyc
o
��h^
� @ s� d dl Z d dlZd dlmZmZmZ ddlmZmZm Z m
Z
mZ e�d�Z
G dd� de j�ZG dd � d e j�ZG d
d� de j�ZG dd
� d
ee j�ZG dd� dee j�Zdedee j fdd�Ze �e� dS )� N)�Any�Optional�Tuple� )� IDNAError�alabel�decode�encode�ulabelu [.。.。]c @ sL e Zd Zd
dededeeef fdd�Zd
dededeeef fdd�Zd S )�Codec�strict�data�errors�returnc C �. |dkrt d�|���|sdS t|�t|�fS )Nr �Unsupported error handling "{}"�� r )r �formatr �len��selfr
r � r �@/usr/local/CyberPanel/lib/python3.10/site-packages/idna/codec.pyr �
zCodec.encodec C r )Nr r �� r )r r r r r r r r r r zCodec.decodeN)r ) �__name__�
__module__�__qualname__�strr �bytes�intr r r r r r r
s $ r c
@ s. e Zd Zdedededeeef fdd�ZdS )�IncrementalEncoderr
r �finalr c
C s� |dkrt d�|���|sdS t�|�}d}|r+|d s"d}|d= n |s+|d= |r+d}g }d}|D ]}|�t|�� |r@|d7 }|t|�7 }q1d�|�| } |t|�7 }| |fS ) Nr r r r ���� .r r )r r �_unicode_dots_re�split�appendr r �join)
r r
r r$ �labels�trailing_dot�result�size�label�result_bytesr r r �_buffer_encode s0
z!IncrementalEncoder._buffer_encodeN) r r r r �boolr r! r"