ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     U
    e5dB                     @   sr  d dddgZ ddlmZ ddlZddlZddlmZ ddlmZ d	Z	d
Z
dZdZdZdZdZe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfde
e
dfe
e
dfe
ddfe
ddfe
ddfe
e
dfee
dfdZddddddddddddddddddddddd dd!Zd"d#dd$Zd+d%dZd&d Zd'd Zd(d) ZG d*d  d ZdS ),Charset	add_aliasadd_charset	add_codec    )partialN)errors)encode_7or8bit            us-asciizunknown-8bit )NNNiso-2022-jputf-8)
iso-8859-1
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-9iso-8859-10iso-8859-13iso-8859-14iso-8859-15iso-8859-16zwindows-1252Zvisciir   big5gb2312euc-jp	shift_jisr   zkoi8-rr   r   r   r   r   r   r   r   r   r   r   zks_c_5601-1987r   zeuc-kr)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-10cp949euc_jpeuc_krasciieucgb2312_cnbig5_tw)r   r   r   c                 C   s"   |t krtd|||ft| < d S )Nz!SHORTEST not allowed for body_enc)SHORTEST
ValueErrorCHARSETS)charsetZ
header_encZbody_encoutput_charset r+   %/usr/lib64/python3.8/email/charset.pyr   m   s    c                 C   s   |t | < d S N)ALIASES)aliasZ	canonicalr+   r+   r,   r      s    c                 C   s   |t | < d S r-   )	CODEC_MAP)r)   Z	codecnamer+   r+   r,   r      s    c                 C   s"   |t kr| ddS | |S d S )Nr#   surrogateescape)UNKNOWN8BITencode)stringcodecr+   r+   r,   _encode   s    r6   c                   @   sX   e Zd ZefddZd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   c                 C   s   z$t |tr|d n
t|d}W n tk
rB   t|Y nX | }t||| _	t
| j	ttd f\}}}|s~| j	}|| _|| _t||| _t| j	| j	| _t| j| j| _d S )Nr#   )
isinstancestrr3   UnicodeErrorr   ZCharsetErrorlowerr.   getinput_charsetr(   r&   BASE64header_encodingbody_encodingr*   r0   Zinput_codecoutput_codec)selfr<   ZhencZbencZconvr+   r+   r,   __init__   s,    

zCharset.__init__c                 C   s
   | j  S r-   )r<   r:   rA   r+   r+   r,   __repr__   s    zCharset.__repr__c                 C   s   t | t | kS r-   )r8   r:   )rA   otherr+   r+   r,   __eq__   s    zCharset.__eq__c                 C   s$   | j tkrdS | j tkrdS tS d S )Nzquoted-printablebase64)r?   QPr=   r   rC   r+   r+   r,   get_body_encoding   s
    

zCharset.get_body_encodingc                 C   s   | j p
| jS r-   )r*   r<   rC   r+   r+   r,   get_output_charset  s    zCharset.get_output_charsetc                 C   s6   | j pd}t||}| |}|d kr*|S |||S )Nr   )r@   r6   _get_encoderheader_encode)rA   r4   r5   header_bytesencoder_moduler+   r+   r,   rL     s    


zCharset.header_encodec                 C   s  | j pd}t||}| |}t|j|d}|  }t|t }g }	g }
t|| }|D ]}|
	| t
|
}|t||}||krX|
  |	s|
s|		d  n.|	rdnd}t
|
}t||}|		|| |g}
t|| }qXt
|
}t||}|		|| |	S )Nr   )r)    r   )r@   r6   rK   r   rL   rJ   lenRFC2047_CHROME_LENnextappendEMPTYSTRINGjoinheader_lengthpop)rA   r4   Z
maxlengthsr5   rM   rN   encoderr)   ZextralinesZcurrent_linemaxlen	characterZ	this_lineZlengthZ	separatorZjoined_liner+   r+   r,   header_encode_lines*  s6    








zCharset.header_encode_linesc                 C   s`   | j tkrtjS | j tkr tjS | j tkrXtj|}tj|}||k rPtjS tjS nd S d S r-   )r>   r=   email
base64mimerH   
quoprimimer&   rV   )rA   rM   Zlen64Zlenqpr+   r+   r,   rK   h  s    


zCharset._get_encoderc                 C   s   |s|S | j tkr4t|tr(|| j}tj|S | j t	krjt|trT|| j}|
d}tj|S t|tr|| j
d}|S d S )Nlatin1r#   )r?   r=   r7   r8   r3   r*   r]   r^   body_encoderH   decoder_   )rA   r4   r+   r+   r,   ra   w  s    	





zCharset.body_encodeN)__name__
__module____qualname__DEFAULT_CHARSETrB   rD   rF   rI   rJ   rL   r\   rK   ra   r+   r+   r+   r,   r      s   ,!>)NNN)__all__	functoolsr   Zemail.base64mimer]   Zemail.quoprimimer   Zemail.encodersr   rH   r=   r&   rQ   rf   r2   rT   r(   r.   r0   r   r   r   r6   r   r+   r+   r+   r,   <module>   s    
	