+
    Biy                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt RtRtR t	 ! R R] P                  4      t]R8X  d   ] P                  ! 4        R# R# )	    N)supports_  Here's a bunch of special=20

=A1=A2=A3=A4=A5=A6=A7=A8=A9
=AA=AB=AC=AD=AE=AF=B0=B1=B2=B3
=B4=B5=B6=B7=B8=B9=BA=BB=BC=BD=BE
=BF=C0=C1=C2=C3=C4=C5=C6
=C7=C8=C9=CA=CB=CC=CD=CE=CF
=D0=D1=D2=D3=D4=D5=D6=D7
=D8=D9=DA=DB=DC=DD=DE=DF
=E0=E1=E2=E3=E4=E5=E6=E7
=E8=E9=EA=EB=EC=ED=EE=EF
=F0=F1=F2=F3=F4=F5=F6=F7
=F8=F9=FA=FB=FC=FD=FE=FF

characters... have fun!
c                 6   a  V 3R  lpS P                   Vn         V# )c                 D  < S! V 4       \         P                  f   \         P                  eX   \         P                  p\         P                  p R \         n        R \         n        S! V 4       V\         n        V\         n        R # R #   T\         n        T\         n        i ; iN)quoprib2a_qpa2b_qp)self	oldencode	olddecodetestfuncs   &  '/usr/lib/python3.14/test/test_quopri.pynewtest)withpythonimplementation.<locals>.newtest0   so    ==$(AII* $ $ ) ) )B !* )s   B B)__name__)r   r   s   f r   withpythonimplementationr   /   s    *  ((GN    c                   4  a  ] tR t^At o RRRRRRRRRRR]]33tRtRt]	R 4       t
]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R 4       t]	R	 4       t]P(                  ! 4       R
 4       t]P(                  ! 4       R 4       tRtV tR# )QuopriTestCasec                |    V P                    F+  w  rV P                  \        P                  ! V4      V4       K-  	  R # r   )STRINGSassertEqualr   encodestringr
   pes   &  r   test_encodestring QuopriTestCase.test_encodestring   -    LLDAV003Q7 !r   c                |    V P                    F+  w  rV P                  \        P                  ! V4      V4       K-  	  R # r   )r   r   r   decodestringr   s   &  r   test_decodestring QuopriTestCase.test_decodestring   r   r   c                X    R Rr!V P                  \        P                  ! V4      V4       R# )s   123=fours	   123==fourN)r   r   r!   )r
   decoded_valueencoded_values   &  r   test_decodestring_double_equals.QuopriTestCase.test_decodestring_double_equals   s&     )4\},,];]Kr   c                    V P                    F?  w  rV P                  \        P                  ! \        P                  ! V4      4      V4       KA  	  R # r   )r   r   r   r!   r   r   s   &  r   test_idempotent_string%QuopriTestCase.test_idempotent_string   s8    LLDAV001D1DQ1GH!L !r   c                    V P                    Fh  w  r\        P                  ! V4      p\        P                  ! 4       p\        P                  ! W4R R7       V P                  VP                  4       V4       Kj  	  R# )F	quotetabsN)r   ioBytesIOr   encoder   getvaluer
   r   r   infpoutfps   &    r   test_encodeQuopriTestCase.test_encode   sO    LLDA::a=DJJLEMM$7U^^-q1	 !r   c                    V P                    Ff  w  r\        P                  ! V4      p\        P                  ! 4       p\        P                  ! W44       V P                  VP                  4       V4       Kh  	  R # r   )r   r/   r0   r   decoder   r2   r3   s   &    r   test_decodeQuopriTestCase.test_decode   sM    LLDA::a=DJJLEMM$&U^^-q1	 !r   c                    V P                    FS  w  rV P                  \        P                  ! VR R7      V4       V P                  \        P                  ! V4      V4       KU  	  R# )Tr-   N)ESTRINGSr   r   r   r!   r   s   &  r   test_embedded_wsQuopriTestCase.test_embedded_ws   sJ    MMDAV00dCQGV003Q7 "r   c                    V P                    F-  w  rV P                  \        P                  ! VR R7      V4       K/  	  R# T)headerN)HSTRINGSr   r   r   r   s   &  r   test_encode_header!QuopriTestCase.test_encode_header   /    MMDAV004@!D "r   c                    V P                    F-  w  rV P                  \        P                  ! VR R7      V4       K/  	  R# rA   )rC   r   r   r!   r   s   &  r   test_decode_header!QuopriTestCase.test_decode_header   rF   r   c                :   V P                   R,          w  r\        P                  ! \        P                  R.\        P
                  \        P
                  R7      pV P                  VP                  P                  4       VP                  V4      w  rEVP                  R4      P                  4       pVP                  R4      P                  4       p\        \        V4      4       F!  pV P                  WF,          W&,          4       K#  	  V P                  WB4       R# )   -mquopristdinstdoutlatin-1N)r   
subprocessPopensys
executablePIPE
addCleanuprO   closecommunicater9   
splitlinesrangelenr   )r
   r   r   processcoutcerris   &      r   test_scriptencode QuopriTestCase.test_scriptencode   s    b!""CNNJ#?)3R,,-((+
 {{9%002HHY**,s4y!ATWad+ "!r   c                   V P                   R,          w  r\        P                  ! \        P                  RR.\        P
                  \        P
                  R7      pV P                  VP                  P                  4       VP                  V4      w  rEVP                  R4      pVP                  R4      pV P                  VP                  4       VP                  4       4       R# )rK   rL   z-drM   rP   NrQ   )r   rR   rS   rT   rU   rV   rW   rO   rX   rY   r9   r   rZ   )r
   r   r   r]   r^   r_   s   &     r   test_scriptdecode QuopriTestCase.test_scriptdecode   s    b!""CNNJ#E)3R,,-((+
{{9%HHY*ALLN;r    N)   hellorg   )!   hello
        there
        worldrh   )"   hello
        there
        world
ri   )s   s	   =81=82=83)s   hello s   hello=20)s   hello	s   hello=09)sl   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs~   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=D8=D9=DA=DB=DC=DD=DE=DFx=
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)L   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyrj   )sM   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzsO   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=
zz)s   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzs   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz)s   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzs   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz))   hello worlds   hello=20world)s   hello	worlds   hello=09world))rk      hello_world)rl   s   hello=5Fworld)r   
__module____qualname____firstlineno__	DECSAMPLE	ENCSAMPLEr   r=   rC   r   r   r"   r'   r*   r6   r:   r>   rD   rH   r   requires_subprocessra   rd   __static_attributes____classdictcell__)__classdict__s   @r   r   r   A   sR    
 		
	 	( !	6	Y
	
	Q	Q 
I_0
Gf
H
H
 8 8 8 8 L L M M 2 2 2 2 8 8
 E E E E   "" #"    "< #<r   r   __main__s   Here's a bunch of special 













characters... have fun!
)unittestrT   r/   rR   r   testr   rq   rp   r   TestCaser   r   mainrf   r   r   <module>r{      sT        	&	&$Q<X&& Q<f zMMO r   