R
    ¢¤Òj÷  ã                   ó¾   €   Q s , QNsQs]LsQsQs ] QHGsGs Q s
Q sQQ ksQQ ksQQ	 ksQQ
 ksQ sQ sQ s\Q6X  c
   \ 2        P! P!  \	 c    PsPs KBh 9 h)zHConversions to/from quoted-printable transport encoding as per RFC 1521.ó   =s   0123456789ABCDEFó    )Úa2b_qpÚb2a_qpc                ó°   €   [        U [        2      %       f   P gU Q7   c   U! U Q6X  c   U! U [        6H  9%       f    QS t96*  9%       c    Q6*  Lt %       ( ! )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/local/lib/python3.15/quopri.pyÚneedsquotingr      sR   � ô �aœ×ÒÐÐØˆF„{ØÐàˆD„yØˆØ”‰;×1Ð1˜t q×0Ô0¨DÔ0Ô1Ð1r   c                óâ   €   [        U [        2      %       c   [        U 2      ]6X  f   P g[        U 2      o [        [        [
        U ]*          *          [
        U ]*          *          12      *           ! )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                ó–  €   [         d1   U O                  2       o[        VBUQ5      oUO                  U2       P! UQ1Q koPoU O                  2       9o%       cß   , o	Qo
UPP Q6X  c   UPP oQo
SF   D_  o[	        U12      o[        V²U2      %       c   [        U2      oU%       c   UQ6X  c   U	O                  Q2       JN  U	O                  U2       Ja  	  Ud	   U U2       [        O                  U	2      o[        U2      [        6”  c+   U UP[        ]*
           QQ5       U[        ]*
          P oJ>  SoJö  Ud   U UW
Q5       P! P! )	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.©r   r   ó   
c                 ó  €   U %       c;   U PP Q7   c1   UO                  U PP [        U PP 2      *           U*           2       P! U Q6X  c$   UO                  [        U 2      U*           2       P! UO                  V*           2       P! )é   r   ó   .)Úwriter   )ÚsÚoutputÚlineEnds   &&&r   r   Úencode.<locals>.write9   sd   � ÷ ��2�3�˜6Ô!Ø�L‰L˜˜3˜B˜¤%¨¨"¨#¨£-Õ/°'Õ9Ö:Ø�$ŒYØ�L‰Lœ˜q› GÕ+Ö,à�L‰L˜�Ö%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   Úencoder2   *   s5  � ô ÒØ�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àŠàÒÙˆh ×)ñ r   c                 ó�   €   [         d   [        VUQ5      ! ] QHGo U U 2      oU 2       o[        VEV2       UO	                  2       ! )Nr   ©ÚBytesIO)r   Úior5   r2   Úgetvalue)r    r   r   r5   ÚinfpÚoutfps   &&&   r   Úencodestringr:   e   s?   � ÜÒÜ�a°VÔ<Ð<ÝÙ�1‹:€DÙ‹I€EÜ
ˆ4˜	Ô*Ø�>‰>ÓÐr   c           	     ó^  €   [         d0   U O                  2       o[        V2Q5      oUO                  U2       P! QoU O                  2       9o%       Cc¿   ] [	        U2      q‡U] 6”  c>   Vh]*
          U Q6X  c.   ] p˜]*
          oU] 6”  c   Vh]*
          U Q7   c   U]*
          oJ"  L]o	Vx6  Cc>   VgU]*            o
U
Q6X  c   U%       c   UQ*           pW]*           oJ4  U
[
        6w  c   VZ*           pW]*           oJQ  U]*           U6X  c   U	%       f   ]o	LÚU]*           U6  c3   Vg]*           U]*            [
        6X  c   U[
        *           pW]*           oJª  U]*           U6  cz   [        Vg]*           U]*            2      %       cY   [        Vg]*           U]*            2      %       c8   U[        [        Vg]*           U]*            2      12      *           pW]*           oCJ1  VZ*           pW]*           oCJD  U	%       c   CJº  UO                  UQ*           2       QoCJ×  U%       c   UO                  U2       P! P! )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).©r   r   r   s    	r   r	   )	r   r$   r   r%   r   r   Úishexr   Úunhex)r*   r!   r   r+   r,   Únewr.   ÚiÚnÚpartialr   s   &&&        r   ÚdecoderC   p   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’øàˆ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ßŠwØ�L‰L˜˜u�Ô%Ø‹Cß
Ø�‰�SÖñ r   c                 ó�   €   [         d   [        VQ5      ! ] QHGo U U 2      oU 2       o[        V4UQ5       UO	                  2       ! )Nr<   r4   )r   r6   r5   rC   r7   )r    r   r5   r8   r9   s   &&   r   ÚdecodestringrE   ™   s=   � ÜÒÜ�aÔ'Ð'ÝÙ�1‹:€DÙ‹I€EÜ
ˆ4˜vÕ&Ø�>‰>ÓÐr   c                óØ   €   [        U [        2      %       f   P gQS t96*  9%       c    Q6*  Lt 9%       f5    QS t96*  9%       c    Q6*  Lt 9%       f    QS t96*  9%       c    Q6*  ! t ! )zDReturn true if the byte ordinal 'c' is a hexadecimal digit in ASCII.ó   0ó   9ó   aó   fó   Aó   F)r   r   r   s   &r   r=   r=   ¥   sX   � ä�aœ×ÒÐÐØ�1×Ô˜Ô×FÐF ¨× 1Ô 1¨TÔ 1×FÐF°T¸Q×5FÔ5FÀ$Ñ5FÐFÑ5FÐFr   c                óv  €   ] oS F   D®  o[        U12      oQSt96:  c   Q6:  c   L L[        Q2      oLaQSt96:  c   Q6:  c   L L[        Q2      ]
*
          oL<QSt96:  c   Q6:  c   L L[        Q2      ]
*
          oLP Q	[        U2      *           2       gU]*          [        U2      U*
          *           oJ°  	  U! )
z.Get the integer value of a hexadecimal number.rG   rH   Ú0rI   rJ   ÚarK   rL   znon-hex digit )r   r   Úrepr)r    Úbitsr   r@   s   &   r   r>   r>   ª   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            	      ó6  €   ] PHo ] PHo UO                  U O                  Q*          Q2      v  q#P
oP
oWF   D  v  qxUQ6X  c   P	oUQ6X  f   J  P	oJ  	  U%       c6   U%       c.   U O                  U m        [        Q2       U O                  ]2       W%       f   Q	,o] o	SF   D�  o
U
Q	6X  c   U O                  O                  oL [        U
Q
2      o U%       c!   [        V°O
                  O                  2       L [        V°O
                  O                  U2       U
Q	6w  c   UO                  2        J�  J’  	  U	%       c   U O                  U	2       P! P!  SO                   cZ   oS O                  S m        [        S2       [        Q2       [        Q2       [        Q2       S O                  ]2        Po=CK‡Po=hh 9 h [         c2   oS O                  O                  S
8 QS8 Q02       ]o	 Po=CJU  Po=hh 9 h S
Q	6w  c   SO                  2        h h 9 h)é    :r   NNÚtdz"usage: quopri [-t | -d] [file] ...z-t: quote tabsz-d: decode; default encodez-tz-dz -t and -d are mutually exclusiveÚ-Úrbz: can't open (z)
)ÚsysÚgetoptÚargvÚerrorÚstderrÚstdoutÚprintÚexitÚstdinÚbufferÚopenÚOSErrorr   rC   r2   Úclose)rW   rX   ÚoptsÚargsÚmsgÚdecoÚtabsÚorO   ÚstsÚfileÚfps               r   Úmainrm   ¼   s«  � ÛÛðØ—]‘] 3§8¡8¨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Œ{Ø—‘•
ð úsU   ‹%E ÃF?ÃG>ÃA G>ÅF<Å"F<Å#AF7Æ7F<Æ?	G;Ç	G;Ç
%G6Ç6G;Ç>HÈHÚ__main__)r2   rC   r:   rE   )F)FF)Ú__doc__Ú__all__r   r)   r   r'   Úbinasciir   r   ÚImportErrorr   r   r2   r:   rC   rE   r=   r>   rm   Ú__name__© r   r   Ú<module>ru      sŒ   ñÙ Nò ?€à	€Ø€Ø€Ø€ðß'ò2ò3ô9*ôvô'ôRòGò
ò$*ð\ ˆzÔÙ†Fñ øðy ô Ø€FØ‚Fðús   ‘A ÁAÁAÁA