a i( @ s d dl Z d dlZd dlmZmZmZmZ d dlmZ d dl m Z d dlmZ d dl mZ g dZe dZeG d d d eZe Ze`ejddZejd dZejd ddZejddZdS ) N)PolicyCompat32compat32_extend_docstrings)_has_surrogates)HeaderRegistry)raw_data_manager)EmailMessage)r r r EmailPolicydefaultstrictSMTPHTTPz\n|\rc sl e Zd ZeZdZdZe Ze Z fddZdd Zdd Z d d Zdd Zd d Zdd ZdddZ ZS )r Flongc s. d|vrt | dt t jf i | d S )Nheader_factory)object__setattr__r super__init__)selfkw __class__ $/usr/lib64/python3.9/email/policy.pyr ] s zEmailPolicy.__init__c C s | j | jS N)r Z max_count)r namer r r header_max_countd s zEmailPolicy.header_max_countc C s> |d dd\}}|dd|dd }||dfS )Nr : z )splitlstripjoinrstrip)r Zsourcelinesr valuer r r header_source_parsev s zEmailPolicy.header_source_parsec C sV t |dr$|j | kr$||fS t|trFt| dkrFtd|| ||fS )Nr r zDHeader values may not contain linefeed or carriage return characters) hasattrr lower isinstancestrlen splitlines ValueErrorr r r r&