
    -hh&                        / S Qr SSKrSSKJrJrJr  SrSrSr\	" S5       V s/ s H  n SU -  PM
     sn r
\
SS r\
SS rS	\R                  " S
5      -   \R                  " S
5      -    H  r\" \5      \\'   M     S\\" S5      '   S H  r\" \5      \\'   M     S rS rS rS rSS jrS rS rSS jr\SS rS H  r\" \5      \\'   M     CS\4S jr\4S jr\r\rS rS rgs  sn f ))
body_decodebody_encodebody_lengthdecodedecodestringheader_decodeheader_encodeheader_lengthquoteunquote    N)ascii_lettersdigits	hexdigits

    z=%02Xs   -!*+/ascii_ s_    !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	c                 ,    [        U 5      [        U    :g  $ N)chr_QUOPRI_HEADER_MAPoctets    9/opt/python-3.13.8/usr/lib/python3.13/email/quoprimime.pyheader_checkr   J   s    u:+E222    c                 ,    [        U 5      [        U    :g  $ r   )r   _QUOPRI_BODY_MAPr   s    r   
body_checkr"   O   s    u:)%000r   c                 &    [        S U  5       5      $ )Nc              3   F   #    U  H  n[        [        U   5      v   M     g 7fr   )lenr   .0r   s     r   	<genexpr> header_length.<locals>.<genexpr>^   s     E9%s%e,--9   !sum	bytearrays    r   r	   r	   T   s     E9EEEr   c                 &    [        S U  5       5      $ )Nc              3   F   #    U  H  n[        [        U   5      v   M     g 7fr   )r%   r!   r&   s     r   r(   body_length.<locals>.<genexpr>h   s     Cs#E*++r*   r+   r-   s    r   r   r   a   s     CCCCr   c                 ,   [        U[        5      (       d  [        U5      nU (       d   U R                  UR	                  5       5        g [        U S   5      [        U5      -   U::  a  U S==   X1-   -  ss'   g U R                  UR	                  5       5        g )N)
isinstancestrr   appendlstripr%   )Lsmaxlenextras       r   _max_appendr<   k   sh    aF		QrUc!f		&	"	r   c                 2    [        [        U SS S5      5      $ )N         )r   intr9   s    r   r   r   v   s    s1Qq62r   c                 &    [         [        U 5         $ r   )_QUOPRI_MAPordcs    r   r
   r
   {   s    s1vr   c                 p    U (       d  gU R                  S5      R                  [        5      nSU< SU< S3$ )Nr   latin1z=?z?q?z?=)r   	translater   )header_bytescharsetencodeds      r   r   r      s3     !!(+556HIG $W--r   s   
L   c                    US:  a  [        S5      eU (       d  U $ U R                  [        5      n SU-   nUS-
  n/ nUR                  nU R	                  5        H  nSn[        U5      S-
  U-
  n	X::  aS  X-   n
XzS-
     S:X  a  U" XxU
S-
   5        U
S-
  nO*XzS-
     S:X  a  U" XxU
 5        U
S-
  nOU" XxU
 S-   5        U
nX::  a  MS  U(       aQ  US   S;   aH  X-
  nUS	:  a  [        US   5      nO US:X  a	  US   U-   nOU[        US   5      -   nU" XxS U-   5        M  U" XxS  5        M     U S   [        ;   a  U" S
5        UR                  U5      $ )N   zmaxlinelen must be at least 4=r>   r      r3   z 	r?   r   )	
ValueErrorrJ   _QUOPRI_BODY_ENCODE_MAPr6   
splitlinesr%   r
   CRLFjoin)body
maxlineleneol
soft_breakmaxlinelen1encoded_bodyr6   linestart	laststartstoproomqs                r   r   r      s   & A~899 >>12DsJq.KL  F!IMJ.	 &D1H~$t$(+,qQh3&t$'(qt$'#-.   DH%$Dqy $r(OHz) tBx04b>A%&4< C "H Bx4r
88L!!r   c                    U (       d  U $ SnU R                  5        H  nUR                  5       nU(       d  X!-  nM   Sn[        U5      nXE:  d  M4  X4   nUS:w  a
  X&-  nUS-  nOYUS-   U:X  a  US-  nM+  US-   U:  a7  X4S-      [        ;   a(  X4S-      [        ;   a  U[	        X4US-    5      -  nUS-  nO	X&-  nUS-  nXE:X  a  X!-  nXE:  a  M}  M     U S   S;  a  UR                  U5      (       a  US S nU$ )	Nr   r   rQ   r>   rR   r?   r3   r   )rU   rstripr%   r   r   endswith)rM   rZ   decodedr^   inrG   s          r   r   r      s    
  G""${{}NGIeACxQ 1Q1qTA#Y)3qS	Y8N74!A#;//Q Qv) e %< r{& W%5%5c%:%:#2,Nr   c                 :    U R                  S5      n[        U5      $ )Nr   )groupr   )matchr9   s     r   _unquote_matchrm     s    AA1:r   c                 x    U R                  SS5      n [        R                  " S[        U [        R                  S9$ )Nr   r   z=[a-fA-F0-9]{2})flags)replaceresubrm   ASCIIrB   s    r   r   r   $  s.     	
		#sA66$narxxHHr   )r   )z
iso-8859-1) __all__rq   stringr   r   r   rV   NLEMPTYSTRINGrangerD   r   r!   encoderG   r   rE   r   r"   r	   r   r<   r   r
   r   rT   r   r   r   r   rm   r   rF   s   0r   <module>rz      sG  : 
 3 3	 %*#J/Jqw{J/ ^ q>  
M((1	1FMM'4J	JAFq 
K  # 3s8 .A a&Q.3
1

FD 
.* +1- 	A!$QA 
!# I"^  ,` I[ 0s   C&