+
    iB  c                   s   . R<Ot ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHt ^t	^t
^t^tRtRtRt/ R]	]	R3bR	]	]	R3bR
]	]	R3bR]	]	R3bR]	]	R3bR]	]	R3bR]	]	R3bR]	]	R3bR]	]	R3bR]	]	R3bR]	]	R3bR]	]	R3bRR=bR]
]
R3bR]
]
R3bR]
RR3bR]
RR3bR]
RR3R]
]
R3R]]
R3/Ct/ RRbRRbRR	bRR	bRR
bR R
bR!RbR"RbR#RbR$RbR%RbR&RbR'RbR(RbR)RbR*RbR+RbR,RR-RR.RR/R0R1RR2R3R4R/CtRR5RR6RR/tR=R7 ltR8 tR9 tR: t ! R; R 4      tR# )>Charset)partialN)errors)encode_7or8bitus-asciizunknown-8bitZ z
iso-8859-1z
iso-8859-2z
iso-8859-3z
iso-8859-4z
iso-8859-9ziso-8859-10ziso-8859-13ziso-8859-14ziso-8859-15ziso-8859-16zwindows-1252ZvisciiZbig5Zgb2312zeuc-jpziso-2022-jpZ	shift_jiszkoi8-rzutf-8Zlatin_1zlatin-1Zlatin_2zlatin-2Zlatin_3zlatin-3Zlatin_4zlatin-4Zlatin_5zlatin-5Zlatin_6zlatin-6Zlatin_7zlatin-7Zlatin_8zlatin-8Zlatin_9zlatin-9Zlatin_10zlatin-10Zcp949zks_c_5601-1987Zeuc_jpZeuc_krzeuc-krasciiZeucgb2312_cnZbig5_twc                 sH    V\         8X  d   \        R 4      hWV3\        V &   R# )z!SHORTEST not allowed for body_encN)SHORTESTZ
ValueErrorCHARSETS)charsetZ
header_encZbody_encoutput_charsets   &&&&&/usr/lib64/python3.14/email/charset.pyadd_charsetr   j   s'    . 8<==#~>HW    c                     V\         V &   R # N)ALIASES)ZaliasZ	canonical   &&r
   	add_aliasr      s     GENr   c                 r   r   )	CODEC_MAP)r   Z	codecnamer   r
   	add_codecr      s     #Igr   c                 s^    V\         8X  d   V P                  R R4      # V P                  V4      # )r   Zsurrogateescape)UNKNOWN8BITencode)stringcodecr   r
   _encoder      s+    }}W&788}}U##r   c                   s\   a  ] tR t^t o ]3R ltR tR tR tR t	R t
R tR tR	 tR
tV tR# )r    c                s    \        V\        4      '       d   VP                  R 4       M\        VR 4      p VP                  4       p\        P                  W4      V n	        \        P                  V P                  \        \        R34      w  r#pV'       g   V P                  pW n        W0n        \        P                  WD4      V n        \         P                  V P                  V P                  4      V n        \         P                  V P                  V P                  4      V n        R#   \         d    \        P
                  ! T4      hi ; i)r   N)
isinstancestrr   ZUnicodeErrorr   ZCharsetErrorlowerr   Zgetinput_charsetr   r   BASE64header_encodingbody_encodingr	   r   input_codecoutput_codec)selfr   ZhencZbencZconv   &&   r
   __init__ZCharset.__init__   s
   
	5---$$W- #M7 ; &++-$[[F $<<(:(:)164(@BD%%D#!%kk$5 %==););)-););=%MM$*=*=*.*=*=?)  	5%%m44	5s   'D) D) )"Ec                s6    V P                   P                  4       # r   )r   r   r"      &r
   __repr__ZCharset.__repr__   s    !!''))r   c                sL    \        V 4      \        V4      P                  4       8H  # r   )r   r   )r"   Zotherr   r
   __eq__ZCharset.__eq__   s    4yCJ,,...r   c                sj    V P                   \        8X  d   R # V P                   \        8X  d   R# \        # )zquoted-printableZbase64)r   QPr   r   r%   r&   r
   get_body_encodingZCharset.get_body_encoding   s,     #%6)!!r   c                sB    V P                   ;'       g    V P                  # r   )r	   r   r%   r&   r
   get_output_charsetZCharset.get_output_charset
  s     ""88d&8&88r   c                s    V P                   ;'       g    R p\        W4      pV P                  V4      pVf   V# VP                  W24      # )r   )r!   r   _get_encoderheader_encode)r"   r   r   header_bytesencoder_moduler#   r
   r-   ZCharset.header_encode  sM     !!//Zv-**<8!M++L@@r   c                s   V P                   ;'       g    R p\        W4      pV P                  V4      p\        VP                  VR7      pV P                  4       p\        V4      \        ,           p. p	. p
\        V4      V,
          pV F  pV
P                  V4       \        P                  V
4      pVP                  \        W4      4      pW8  g   KK  V
P                  4        V	'       g   V
'       g   V	P                  R4       M7\        P                  V
4      p\        W4      pV	P                  V! V4      4       V.p
\        V4      V,
          pK  	  \        P                  V
4      p\        W4      pV	P                  V! V4      4       V	# )r   )r   N)r!   r   r,   r   r-   r+   ZlenRFC2047_CHROME_LENZnextZappendEMPTYSTRINGZjoinheader_lengthZpop)r"   r   Z
maxlengthsr   r.   r/   Zencoderr   ZextraZlinesZcurrent_lineZmaxlenZ	characterZ	this_lineZlengthZjoined_lines   &&&             r
   header_encode_linesZCharset.header_encode_lines%  sO   $ !!//Zv-**<8.66F ))+G11 j!E)I	*#((6I#11')2MNF  "\LL&"-"2"2<"@K#*;#>LLL!67 ){j)E1    "&&|4{2W\*+r   c                s   V P                   \        8X  d   \        P                  # V P                   \        8X  d   \        P
                  # V P                   \        8X  de   \        P                  P                  V4      p\        P
                  P                  V4      pW#8  d   \        P                  # \        P
                  # R # r   )r   r   email
base64mimer)   
quoprimimer   r2   )r"   r.   Zlen64Zlenqps   &&  r
   r,   ZCharset._get_encoderb  s    6)###!!R'###!!X-$$22<@E$$22<@E}''''''r   c                sL   V'       g   V# V P                   \        J dQ   \        V\        4      '       d   VP	                  V P
                  4      p\        P                  P                  V4      # V P                   \        J db   \        V\        4      '       d   VP	                  V P
                  4      pVP                  R 4      p\        P                  P                  V4      # \        V\        4      '       d+   VP	                  V P
                  4      P                  R4      pV# )Zlatin1r   )r   r   r   r   r   r	   r4   r5   body_encoder)   Zdecoder6   )r"   r   r   r
   r7   ZCharset.body_encodeq  s     M'&#&&t':':;##//772% &#&&t':':;]]8,F##//77&#&&t':':;BB7KMr   )r   r   r   r    r	   r!   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__DEFAULT_CHARSETr$   r'   r(   r*   r+   r-   r3   r,   r7   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r
   r    r       s@     X &5 ?B*/"*9A&;z r   )r    r   r   r   )NNN)Z__all__Z	functoolsr   Zemail.base64mimer4   Zemail.quoprimimer   Zemail.encodersr   r)   r   r   r0   r8   r   r1   r   r   r   r   r   r   r   r    ) r   r
   <module>r9      s  
     )   Br- Br- Br-	
 Br- Br- Br- Br- Br- Br-  Br-!" Br-#$ Br-%& -'( Fv-)* Fv-+, Ft6-. Ft6/0 Ft-Fv-Hvw/5>|| | |	
 | | | | | | } } } } }  }!" }#$ }}}xxz1< >
9 4	?8#$l lr   