ó
    F\h  ã                   ó´   • S r / SQrSrSrSrSr SSKJrJr  S	 r
S
 rSS jrSS jrSS jrSS jrS rS rS r\S:X  a  \" 5         gg! \	 a    SrSr N>f = f)zHConversions to/from quoted-printable transport encoding as per RFC 1521.)ÚencodeÚdecodeÚencodestringÚdecodestringó   =éL   s   0123456789ABCDEFó    é    )Úa2b_qpÚb2a_qpNc                 ó¤   • [        U [        5      (       d   eU S;   a  U$ U S:X  a  U$ U [        :H  =(       d    SU s=:*  =(       a    S:*  Os  (       + $ )zÜDecide whether a particular byte ordinal needs to be quoted.

The 'quotetabs' flag indicates whether embedded tabs and spaces should be
quoted.  Note that line-ending tabs and spaces are always encoded, as per
RFC 1521.
ó    	ó   _ó    ó   ~)Ú
isinstanceÚbytesÚESCAPE)ÚcÚ	quotetabsÚheaders      Ú/usr/lib/python3.13/quopri.pyÚneedsquotingr      sO   € ô �aœ×ÑÐÐØˆFƒ{ØÐàˆDƒyØˆØ”‰;×1˜t q×0Ó0¨DÔ0Ô1Ð1r   c                 ó´   • [        U [        5      (       a  [        U 5      S:X  d   e[        U 5      n [        [        [
        U S-     [
        U S-     45      -   $ )zQuote a single character.é   é   )r   r   ÚlenÚordr   ÚHEX©r   s    r   Úquoter    $   sM   € ä�aœ×Ñ¤C¨£F¨A£IÐ-Ð-ÜˆA‹€AÜ”Eœ3˜q "™u™:¤s¨1¨R©4¡yÐ1Ó2Ñ2Ð2r   c                 ó¬  • [         b,  U R                  5       n[        XBUS9nUR                  U5        gUS4S jnSnU R                  5       =n(       aö  / n	Sn
USS S:X  a  USS nSn
U H\  n[	        U45      n[        X²U5      (       a  [        U5      nU(       a  US:X  a  U	R                  S5        MK  U	R                  U5        M^     Ub  U" U5        [        R                  U	5      n[        U5      [        :”  a2  U" US[        S	-
   S
S9  U[        S	-
  S n[        U5      [        :”  a  M2  UnU R                  5       =n(       a  Mö  Ub  U" UW
S9  gg)ab  Read 'input', apply quoted-printable encoding, and write to 'output'.

'input' and 'output' are binary file objects. The 'quotetabs' flag
indicates whether embedded tabs and spaces should be quoted. Note that
line-ending tabs and spaces are always encoded, as per RFC 1521.
The 'header' flag indicates whether we are encoding spaces as _ as per RFC
1522.N©r   r   ó   
c                 óà   • U (       a0  U SS  S;   a'  UR                  U S S [        U SS  5      -   U-   5        g U S:X  a  UR                  [        U 5      U-   5        g UR                  X-   5        g )Néÿÿÿÿr   ó   .)Úwriter    )ÚsÚoutputÚlineEnds      r   r'   Úencode.<locals>.write;   sd   € ö ��2�3�˜6Ó!Ø�L‰L˜˜3˜B˜¤%¨¨"¨#¨£-Ñ/°'Ñ9Õ:Ø�$‹YØ�L‰Lœ˜q› GÑ+Õ,à�L‰L˜™Õ%r   r   r%   r   r   r   s   =
)r*   )r   Úreadr'   Úreadliner   r   r    ÚappendÚEMPTYSTRINGÚjoinr   ÚMAXLINESIZE)Úinputr)   r   r   ÚdataÚodatar'   ÚprevlineÚlineÚoutlineÚstrippedr   Úthislines                r   r   r   ,   s[  € ô ÑØ�z‰z‹|ˆÜ�t¸Ñ@ˆØ�‰�UÔØà¨ô &ð €HØ—.‘.Ó"Ð
"ˆ$Õ
"ØˆàˆØ��ˆ9˜ÓØ˜˜�9ˆDØˆHãˆAÜ�q�d“ˆAÜ˜A¨&×1Ñ1Ü˜!“H�Þ˜!˜t›)Ø—‘˜tÖ$à—‘˜qÖ!ñ ð ÑÙ�(ŒOô ×#Ñ# GÓ,ˆÜ�(‹mœkÓ)ñ �(˜>œK¨™MÐ*°FÒ;Ø¤¨A¡ Ð/ˆHô	 �(‹mœkÕ)ð ˆð9 —.‘.Ó"Ð
"ˆ$×
"ð< ÑÙˆh Ó)ð r   c                 ó†   • [         b
  [        XUS9$ SSKJn  U" U 5      nU" 5       n[        XEX5        UR	                  5       $ )Nr"   r	   ©ÚBytesIO)r   Úior<   r   Úgetvalue)r(   r   r   r<   ÚinfpÚoutfps         r   r   r   g   s?   € ÜÑÜ�a°VÑ<Ð<ÝÙ�1‹:€DÙ‹I€EÜ
ˆ4˜	Ô*Ø�>‰>ÓÐr   c           	      ó˜  • [         b+  U R                  5       n[        X2S9nUR                  U5        gSnU R                  5       =n(       Gae  S[	        U5      p‡US:”  a;  XhS-
  U S:X  a0  So˜S-
  nUS:”  a#  XhS-
  U S;   a  US-
  nUS:”  a  XhS-
  U S;   a  M  OSn	Xx:  aÚ  XgUS-    n
U
S:X  a  U(       a
  US	-   oWS-   nOµU
[
        :w  a	  XZ-   oWS-   nO¢US-   U:X  a
  U	(       d  Sn	O–US-   U:  a   XgS-   US
-    [
        :X  a  U[
        -   oWS
-   nOfUS
-   U:  aU  [        XgS-   US
-    5      (       a=  [        XgS
-   US-    5      (       a%  U[        [        XgS-   US-    5      45      -   oWS-   nOXZ-   oWS-   nXx:  a  MÚ  U	(       d  UR                  US-   5        SnU R                  5       =n(       a  GMe  U(       a  UR                  U5        gg)z³Read 'input', apply quoted-printable decoding, and write to 'output'.
'input' and 'output' are binary file objects.
If 'header' is true, decode underscore as space (per RFC 1522).N©r   r   r	   r   r#   s    	r   r   é   é   )	r
   r,   r'   r-   r   r   Úishexr   Úunhex)r2   r)   r   r3   r4   Únewr6   ÚiÚnÚpartialr   s              r   r   r   r   sê  € ô
 ÑØ�z‰z‹|ˆÜ�tÑ+ˆØ�‰�UÔØà
€CØ—.‘.Ó"Ð
"ˆ$Ö
"Ø”#�d“)ˆ1Øˆq‹5�T˜A™#˜a�[ EÓ)ØˆG˜q™S˜à�a“%˜D 1¡ Q˜K¨8Ó3Ø�a‘C�ð �a“%˜D 1¡ Q˜K¨8Õ3øð ˆGØ‹eØ�q˜‘s�ˆAØ�D‹yžVØ˜D‘j�¨¡c¡!Ø”f“Ø‘g� Q¡3™qØ�1‘˜“¦'Ø�˜UØ�1‘�q“˜T A¡# a¨¡c˜]¬fÓ4ØœF‘l�¨!©¡AØ�1‘�q“œU 4¨!©¨A¨a©C =×1Ñ1´e¸DÀ1ÁÀQÀqÁS¸M×6JÑ6JØœE¤5¨°©c°!°A±#¨Ó#7Ð"9Ó:Ñ:�À!Á¹Aà‘g� Q¡3˜qð �eö Ø�L‰L˜˜u™Ô%ØˆCð3 —.‘.Ó"Ð
"ˆ$×
"Ð
"ö4 Ø�‰�SÕð r   c                 ó€   • [         b	  [        XS9$ SSKJn  U" U 5      nU" 5       n[        X4US9  UR	                  5       $ )NrB   r	   r;   )r
   r=   r<   r   r>   )r(   r   r<   r?   r@   s        r   r   r   ›   s=   € ÜÑÜ�aÑ'Ð'ÝÙ�1‹:€DÙ‹I€EÜ
ˆ4˜vÒ&Ø�>‰>ÓÐr   c                 óÊ   • [        U [        5      (       d   eSU s=:*  =(       a    S:*  Os  =(       d1    SU s=:*  =(       a    S:*  Os  =(       d    SU s=:*  =(       a    S:*  $ s  $ )zDReturn true if the byte ordinal 'c' is a hexadecimal digit in ASCII.ó   0ó   9ó   aó   fó   Aó   F)r   r   r   s    r   rE   rE   §   sR   € ä�aœ×ÑÐÐØ�1×Ó˜Ô×F ¨× 1Ó 1¨TÔ 1×F°T¸Q×5FÓ5FÀ$Ñ5FÐFÑ5FÐFr   c                 ó6  • SnU  H�  n[        U45      nSUs=::  a  S::  a  O  O[        S5      nOQSUs=::  a  S::  a  O  O[        S5      S-
  nO2S	Us=::  a  S
::  a  O  O[        S	5      S-
  nO S[        U5      -   5       eUS-  [        U5      U-
  -   nM’     U$ )z.Get the integer value of a hexadecimal number.r	   rM   rN   Ú0rO   rP   Úaé
   rQ   rR   znon-hex digit r   )r   r   Úrepr)r(   Úbitsr   rH   s       r   rF   rF   ¬   s—   € à€DÛˆÜ�1�$‹KˆØ�1Õ˜ÖÜ�C“‰AØ�QÕ˜$ÖÜ�C“˜‘‰AØ�QÕ˜$ÖÜ�D“	˜"‘‰Aà2Ð*¬4°«7Ñ2Ó2�5Ø�B‰wœ#˜a›& 1™*Ñ%Šñ ð €Kr   c                  ó  • SS K n SS Kn UR                  U R                  SS  S5      u  p#SnSnW H  u  pxUS	:X  a  S
nUS:X  d  M  S
nM     U(       a4  U(       a-  U R                  U l        [        S5        U R                  S5        W(       d  S/nSn	U H�  n
U
S:X  a  U R                  R                  nO [        U
S5      n U(       a   [        X°R
                  R                  5        O [        X°R
                  R                  U5        U
S:w  a  UR                  5         M�  M�     U	(       a  U R                  U	5        g g ! UR                   aY  nU R                  U l        [        U5        [        S5        [        S5        [        S5        U R                  S5         S nAGNyS nAff = f! [         a1  nU R                  R                  U
< SU< S35        Sn	 S nAGMM  S nAff = f! U
S:w  a  UR                  5         f f = f)Nr	   r   Útdz"usage: quopri [-t | -d] [file] ...z-t: quote tabsz-d: decode; default encoderC   Fz-tTz-dz -t and -d are mutually exclusiveÚ-Úrbz: can't open (z)
)ÚsysÚgetoptÚargvÚerrorÚstderrÚstdoutÚprintÚexitÚstdinÚbufferÚopenÚOSErrorr'   r   r   Úclose)r]   r^   ÚoptsÚargsÚmsgÚdecoÚtabsÚorU   ÚstsÚfileÚfps               r   Úmainrs   ¾   s­  € ÛÛðØ—]‘] 3§8¡8¨A¨B <°Ó6‰
ˆð €DØ€DÛ‰ˆØ�‹9˜T�dØ��9˜T’dñ ö –Ø—Z‘ZˆŒ
ÜÐ0Ô1Ø�‰�ŒÞ˜˜�Ø
€CÛˆØ�3‹;Ø—‘×!Ñ!‰BðÜ˜$ Ó%�ð
	ÞÜ�rŸ:™:×,Ñ,Õ-ä�rŸ:™:×,Ñ,¨dÔ3à�s‹{Ø—‘–
ñ ñ! ö$ Ø�‰��ð øðI �<‰<ó Ø—Z‘ZˆŒ
ÜˆcŒ
ÜÐ2Ô3ÜÐÔÜÐ*Ô+Ø�‰��Šûðûô0 ó Ø—
‘
× Ñ »DÃ#Ð!FÔGØ�Þûðûð �s‹{Ø—‘•
ð ús=   Š!E  Â6F,ÃAG*Å F)ÅAF$Æ$F)Æ,
G'Æ6%G"Ç"G'Ç*HÚ__main__)F)FF)Ú__doc__Ú__all__r   r1   r   r/   Úbinasciir
   r   ÚImportErrorr   r    r   r   r   r   rE   rF   rs   Ú__name__© r   r   Ú<module>r{      s�   ðñ Oò ?€à	€Ø€Ø€Ø€ðß'ò2ò3ô9*ôvô'ôRòGò
ò$*ð\ ˆzÓÙ…Fð øðy ó Ø€FØ‚Fðús   �A
 Á

AÁA