
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,aá:  ã                   @   sˆ   d dl Z d dlmZ d dlmZ d dlmZ dddgZG dd	„ d	ƒZd
d„ Z	dd„ Z
G dd„ dee jd�Ze
G dd„ deƒƒZeƒ ZdS )é    N)Úheader)Úcharset)Ú_has_surrogatesÚPolicyÚCompat32Úcompat32c                       s<   e Zd Z‡ fdd„Zdd„ Zdd„ Zdd„ Zd	d
„ Z‡  ZS )Ú_PolicyBasec                    sH   |  ¡ D ]:\}}t| |ƒr.tt| ƒ ||¡ qtd || jj¡ƒ‚qd S ©Nz*{!r} is an invalid keyword argument for {})	ÚitemsÚhasattrÚsuperr   Ú__setattr__Ú	TypeErrorÚformatÚ	__class__Ú__name__)ÚselfÚkwÚnameÚvalue©r   © ú6/opt/alt/python38/lib64/python3.8/email/_policybase.pyÚ__init__)   s    
 ÿÿz_PolicyBase.__init__c                 C   s*   dd„ | j  ¡ D ƒ}d | jjd |¡¡S )Nc                 S   s   g | ]\}}d   ||¡‘qS )z{}={!r})r   )Ú.0r   r   r   r   r   Ú
<listcomp>8   s   ÿz(_PolicyBase.__repr__.<locals>.<listcomp>z{}({})z, )Ú__dict__r
   r   r   r   Újoin)r   Úargsr   r   r   Ú__repr__7   s    ÿz_PolicyBase.__repr__c                 K   sr   | j  | j ¡}| j ¡ D ]\}}t |||¡ q| ¡ D ]4\}}t| |ƒs^td || j j	¡ƒ‚t |||¡ q8|S r	   )
r   Ú__new__r   r
   Úobjectr   r   r   r   r   )r   r   Z	newpolicyÚattrr   r   r   r   Úclone<   s    
 ÿÿz_PolicyBase.clonec                 C   s,   t | |ƒrd}nd}t| | jj|¡ƒ‚d S )Nz'{!r} object attribute {!r} is read-onlyz!{!r} object has no attribute {!r})r   ÚAttributeErrorr   r   r   )r   r   r   Úmsgr   r   r   r   N   s    
z_PolicyBase.__setattr__c                 C   s   | j f |jŽS ©N)r#   r   )r   Úotherr   r   r   Ú__add__U   s    z_PolicyBase.__add__)	r   Ú
__module__Ú__qualname__r   r   r#   r   r(   Ú__classcell__r   r   r   r   r      s
   r   c                 C   s,   |   dd¡d } | dd¡d }| d | S )NÚ
é   r   )ÚrsplitÚsplit)ÚdocZ	added_docr   r   r   Ú_append_doc^   s    r1   c                 C   sŽ   | j r(| j  d¡r(t| jd j | j ƒ| _ | j ¡ D ]V\}}|j r2|j  d¡r2dd„ | jD ƒD ]*}tt||ƒdƒ}|r\t||j ƒ|_  q2q\q2| S )Nú+r   c                 s   s    | ]}|  ¡ D ]
}|V  qqd S r&   )Úmro)r   ÚbaseÚcr   r   r   Ú	<genexpr>h   s     
  z%_extend_docstrings.<locals>.<genexpr>Ú__doc__)r7   Ú
startswithr1   Ú	__bases__r   r
   Úgetattr)Úclsr   r"   r5   r0   r   r   r   Ú_extend_docstringsc   s    r<   c                   @   s‚   e Zd ZdZdZdZdZdZdZdd„ Z	dd	„ Z
d
d„ Zejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZejdd„ ƒZdS )r   Fr,   Z8bitéN   Nc                 C   s   | j r
|‚|  ||¡ d S r&   )Úraise_on_defectÚregister_defect©r   ÚobjZdefectr   r   r   Úhandle_defect©   s    zPolicy.handle_defectc                 C   s   |j  |¡ d S r&   )ZdefectsÚappendr@   r   r   r   r?   ¼   s    zPolicy.register_defectc                 C   s   d S r&   r   )r   r   r   r   r   Úheader_max_countÉ   s    zPolicy.header_max_countc                 C   s   t ‚d S r&   ©ÚNotImplementedError)r   Úsourcelinesr   r   r   Úheader_source_parseÜ   s    zPolicy.header_source_parsec                 C   s   t ‚d S r&   rE   ©r   r   r   r   r   r   Úheader_store_parseæ   s    zPolicy.header_store_parsec                 C   s   t ‚d S r&   rE   rI   r   r   r   Úheader_fetch_parseí   s    	zPolicy.header_fetch_parsec                 C   s   t ‚d S r&   rE   rI   r   r   r   Úfoldø   s    
zPolicy.foldc                 C   s   t ‚d S r&   rE   rI   r   r   r   Úfold_binary  s    zPolicy.fold_binary)r   r)   r*   r>   ÚlinesepÚcte_typeÚmax_line_lengthÚmangle_from_Zmessage_factoryrB   r?   rD   ÚabcÚabstractmethodrH   rJ   rK   rL   rM   r   r   r   r   r   p   s&   2
	



)Ú	metaclassc                   @   sH   e Z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
dS )r   Tc                 C   s0   t |tƒs|S t|ƒr(tj|tj|d�S |S d S )N©r   Úheader_name)Ú
isinstanceÚstrr   r   ÚHeaderÚ_charsetÚUNKNOWN8BITrI   r   r   r   Ú_sanitize_header  s    

ÿzCompat32._sanitize_headerc                 C   s>   |d   dd¡\}}| d¡d |dd … ¡ }|| d¡fS )Nr   ú:r-   z 	Ú z
)r/   Úlstripr   Úrstrip)r   rG   r   r   r   r   r   rH   %  s    zCompat32.header_source_parsec                 C   s   ||fS r&   r   rI   r   r   r   rJ   1  s    zCompat32.header_store_parsec                 C   s   |   ||¡S r&   )r\   rI   r   r   r   rK   7  s    zCompat32.header_fetch_parsec                 C   s   | j ||dd�S )NT©Úsanitize)Ú_foldrI   r   r   r   rL   >  s    zCompat32.foldc                 C   s"   | j ||| jdkd�}| dd¡S )NZ7bitra   ÚasciiÚsurrogateescape)rc   rO   Úencode)r   r   r   Zfoldedr   r   r   rM   H  s    	zCompat32.fold_binaryc                 C   s¨   g }|  d| ¡ t|tƒr\t|ƒrL|r<tj|tj|d�}qZ|  |¡ d }q`tj||d�}n|}|d k	r’d}| jd k	r|| j}|  |j	| j
|d�¡ |  | j
¡ d |¡S )Nz%s: rU   )rV   r   )rN   Ú
maxlinelenr^   )rC   rW   rX   r   r   rY   rZ   r[   rP   rf   rN   r   )r   r   r   rb   ÚpartsÚhrg   r   r   r   rc   T  s(    
þ


zCompat32._foldN)r   r)   r*   rQ   r\   rH   rJ   rK   rL   rM   rc   r   r   r   r   r     s   
)rR   Zemailr   r   rZ   Zemail.utilsr   Ú__all__r   r1   r<   ÚABCMetar   r   r   r   r   r   r   Ú<module>   s   ýL  f