U e5dá:ã@sˆddlZddlmZddlmZddlmZdddgZGdd „d ƒZd d „Z d d „Z Gdd„deej d�Z e Gdd„de ƒƒZ e ƒZdS)éN)Úheader)Úcharset)Ú_has_surrogatesÚPolicyÚCompat32Úcompat32cs<eZdZ‡fdd„Zdd„Zdd„Zdd„Zd d „Z‡ZS) Ú _PolicyBasec sH| ¡D]:\}}t||ƒr.tt|ƒ ||¡qtd ||jj¡ƒ‚qdS©Nz*{!r} is an invalid keyword argument for {}) ÚitemsÚhasattrÚsuperrÚ __setattr__Ú TypeErrorÚformatÚ __class__Ú__name__)ÚselfÚkwÚnameÚvalue©r©ú)/usr/lib64/python3.8/email/_policybase.pyÚ__init__)s ÿÿz_PolicyBase.__init__cCs*dd„|j ¡Dƒ}d |jjd |¡¡S)NcSsg|]\}}d ||¡‘qS)z{}={!r})r)Ú.0rrrrrÚ 8sÿz(_PolicyBase.__repr__..z{}({})z, )Ú__dict__r rrrÚjoin)rÚargsrrrÚ__repr__7sÿz_PolicyBase.__repr__cKsr|j |j¡}|j ¡D]\}}t |||¡q| ¡D]4\}}t||ƒs^td ||jj ¡ƒ‚t |||¡q8|Sr ) rÚ__new__rr Úobjectr r rrr)rrZ newpolicyÚattrrrrrÚclone<s ÿÿz_PolicyBase.clonecCs,t||ƒrd}nd}t| |jj|¡ƒ‚dS)Nz'{!r} object attribute {!r} is read-onlyz!{!r} object has no attribute {!r})r ÚAttributeErrorrrr)rrrÚmsgrrrr Ns z_PolicyBase.__setattr__cCs|jf|jŽS©N)r#r)rÚotherrrrÚ__add__Usz_PolicyBase.__add__) rÚ __module__Ú __qualname__rrr#r r(Ú __classcell__rrrrrs  rcCs,| dd¡d}| dd¡d}|d|S)NÚ ér)ÚrsplitÚsplit)ÚdocZ added_docrrrÚ _append_doc^sr1cCsŽ|jr(|j d¡r(t|jdj|jƒ|_|j ¡D]V\}}|jr2|j d¡r2dd„|jDƒD]*}tt||ƒdƒ}|r\t||jƒ|_q2q\q2|S)Nú+rcss |]}| ¡D] }|VqqdSr&)Úmro)rÚbaseÚcrrrÚ hs z%_extend_docstrings..Ú__doc__)r7Ú startswithr1Ú __bases__rr Úgetattr)Úclsrr"r5r0rrrÚ_extend_docstringscsr<c@s‚eZdZdZdZdZdZdZdZdd„Z dd „Z d d „Z e j d d „ƒZe j dd„ƒZe j dd„ƒZe j dd„ƒZe j dd„ƒZdS)rFr,Z8bitéNNcCs|jr |‚| ||¡dSr&)Úraise_on_defectÚregister_defect©rÚobjZdefectrrrÚ handle_defect©szPolicy.handle_defectcCs|j |¡dSr&)ZdefectsÚappendr@rrrr?¼s zPolicy.register_defectcCsdSr&r)rrrrrÚheader_max_countÉszPolicy.header_max_countcCst‚dSr&©ÚNotImplementedError)rÚ sourcelinesrrrÚheader_source_parseÜszPolicy.header_source_parsecCst‚dSr&rE©rrrrrrÚheader_store_parseæszPolicy.header_store_parsecCst‚dSr&rErIrrrÚheader_fetch_parseís zPolicy.header_fetch_parsecCst‚dSr&rErIrrrÚfoldøs z Policy.foldcCst‚dSr&rErIrrrÚ fold_binaryszPolicy.fold_binary)rr)r*r>ÚlinesepÚcte_typeÚmax_line_lengthÚ mangle_from_Zmessage_factoryrBr?rDÚabcÚabstractmethodrHrJrKrLrMrrrrrps&2     )Ú metaclassc@sHeZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dS)rTcCs0t|tƒs|St|ƒr(tj|tj|d�S|SdS)N©rÚ header_name)Ú isinstanceÚstrrrÚHeaderÚ_charsetÚ UNKNOWN8BITrIrrrÚ_sanitize_headers  ÿzCompat32._sanitize_headercCs>|d dd¡\}}| d¡d |dd…¡}|| d¡fS)Nrú:r-z Úz )r/ÚlstriprÚrstrip)rrGrrrrrrH%szCompat32.header_source_parsecCs||fSr&rrIrrrrJ1szCompat32.header_store_parsecCs | ||¡Sr&)r\rIrrrrK7szCompat32.header_fetch_parsecCs|j||dd�S)NT©Úsanitize)Ú_foldrIrrrrL>sz Compat32.foldcCs"|j|||jdkd�}| dd¡S)NZ7bitraÚasciiÚsurrogateescape)rcrOÚencode)rrrZfoldedrrrrMHs zCompat32.fold_binarycCs¨g}| d|¡t|tƒr\t|ƒrL|rs   ýL  f