a XC?hԷ � @ s� d dgZ ddlZddlZddlZddlmZmZ ddlmZ ddlm Z ddl mZmZ ddlm Z dd lmZ ejZd Ze�d�Zdd � Zddd�Zdd� Zdd� ZG dd � d �ZG dd� de�ZG dd� de�ZdS )�Message�EmailMessage� N)�BytesIO�StringIO)�utils)�errors)�Policy�compat32��charset)�decode_bz; z[ \(\)<>@,;:\\"/\[\]\?=]c C s4 t | ��d�\}}}|s$|�� d fS |�� |�� fS )N�;)�str� partition�strip)�param�a�sep�b� r �2/opt/alt/python39/lib64/python3.9/email/message.py�_splitparam s r Tc C s� |d ur�t |�dkr�t|t�rL| d7 } t�|d |d |d �}d| |f S z|�d� W n4 ty� | d7 } t�|dd�}d| |f Y S 0 |s�t�|�r�d | t� |�f S d| |f S n| S d S ) Nr �*� � �%s=%s�asciizutf-8� z%s="%s") �len� isinstance�tupler Zencode_rfc2231�encode�UnicodeEncodeError� tspecials�search�quote)r �valuer% r r r �_formatparam' s r' c C s� dt | � } g }| d d� dkr�| dd � } | �d�}|dkrp| �dd|�| �dd|� d rp| �d|d �}q6|dk r�t| �}| d |� }d|v r�|�d�}|d |� �� �� d ||d d � �� }|�|�� � | |d � } q|S )Nr r r �"z\"r �=)r �find�countr �indexr �lower�append)�sZplist�end�f�ir r r �_parseparamI s ( ,r3 c C s4 t | t�r&| d | d t�| d �fS t�| �S d S )Nr r r )r r r �unquote)r&