+
    Bi                         ^ RI t ^ RIHt ^ RIHt ^ RIHt  ! R R]4      t ! R R]4      t ! R	 R
]4      t	 ! R R]4      t
 ! R R]4      t ! R R]4      t]R8X  d   ] P                  ! 4        R# R# )    N)_encoded_words)errors)TestEmailBasec                   >   a  ] tR t^t o . 3R ltR tR tR tRtV t	R# )TestDecodeQc                z    \         P                  ! V4      w  rEV P                  WB4       V P                  WS4       R # N)_ewdecode_qassertEqualassertDefectsEqualselfsource	ex_result
ex_defectsresultdefectss   &&&&  :/usr/lib/python3.14/test/test_email/test__encoded_words.py_testTestDecodeQ._test	   .    ,,v.+4    c                *    V P                  R R 4       R# )   foobarNr   r   s   &r   test_no_encodedTestDecodeQ.test_no_encoded   s    

9i(r   c                N    V P                  R R4       V P                  RR4       R# )s   foo=20bar=20   foo bar s   foo_bar_Nr   r   s   &r   test_spacesTestDecodeQ.test_spaces   s    

?K0

;,r   c                *    V P                  R R4       R# )s   foo=20=20=21=2Cbars
   foo  !,barNr   r   s   &r   test_run_of_encodedTestDecodeQ.test_run_of_encoded   s    

(-8r    N)
__name__
__module____qualname____firstlineno__r   r   r"   r%   __static_attributes____classdictcell____classdict__s   @r   r   r      s!     24 5
)-9 9r   r   c                   J   a  ] tR t^t o . 3R ltR tR tR tR tR t	Rt
V tR# )	TestDecodeBc                z    \         P                  ! V4      w  rEV P                  WB4       V P                  WS4       R # r	   )r
   decode_br   r   r   s   &&&&  r   r   TestDecodeB._test   r   r   c                *    V P                  R R4       R# )s   Zm9v   fooNr   r   s   &r   test_simpleTestDecodeB.test_simple    s    

7F#r   c                    V P                  R R\        P                  .4       V P                  RR\        P                  .4       R# )s   dmk   vis   dg   vNr   r   InvalidBase64PaddingDefectr   s   &r   test_missing_padding TestDecodeB.test_missing_padding#   s4    

656#D#D"EF

5$!B!B CDr   c                J    V P                  R R\        P                  .4       R# )s   dmk===r:   Nr   r   InvalidBase64CharactersDefectr   s   &r   test_invalid_character"TestDecodeB.test_invalid_character)   s    

=%&*N*N)OPr   c                h    V P                  R R\        P                  \        P                  .4       R# )s   dmkr:   Nr   r   rB   r=   r   s   &r   &test_invalid_character_and_bad_padding2TestDecodeB.test_invalid_character_and_bad_padding,   s*    

:uv'K'K'-'H'H'J 	Kr   c                J    V P                  R R \        P                  .4       R# )s   abcdeN)r   r   InvalidBase64LengthDefectr   s   &r   test_invalid_lengthTestDecodeB.test_invalid_length0   s    

8X(H(H'IJr   r'   N)r(   r)   r*   r+   r   r7   r>   rC   rG   rK   r,   r-   r.   s   @r   r1   r1      s0     24 5
$EQKK Kr   r1   c                      a  ] tR t^4t o R tRR. 3R ltR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tRtV tR# )
TestDecodec                   V P                  \        4      ;_uu_ 4        \        P                  ! R 4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  ! R4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  ! R4       RRR4       V P                  \        4      ;_uu_ 4        \        P                  ! R4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lt; i  + '       g   i     R# ; i)z
=?badone?=Nz=? z=?utf-8?X?somevalue?=)assertRaises
ValueErrorr
   decodeKeyErrorr   s   &r   test_wrong_format_input_raises)TestDecode.test_wrong_format_input_raises6   s    z**JJ|$ +z**JJt +z**JJrN +x((JJ./ )( +*****(((s/   C3DDD,3D	D	D)	,D=	us-asciirP   c                    \         P                  ! V4      w  rgrV P                  Wb4       V P                  Ws4       V P                  W4       V P                  W4       R # r	   )r
   rS   r   r   )
r   r   r   charsetlangr   rescharlds
   &&&&&&    r   r   TestDecode._test@   sL    **V,1%'!+r   c                *    V P                  R R4       R# )z=?us-ascii?q?foo?=fooNr   r   s   &r   test_simple_qTestDecode.test_simple_qG       

'/r   c                *    V P                  R R4       R# )z=?us-ascii?b?dmk=?=viNr   r   s   &r   test_simple_bTestDecode.test_simple_bJ       

($/r   c                *    V P                  R R4       R# )z=?us-ascii?Q?foo?=ra   Nr   r   s   &r   test_q_case_ignoredTestDecode.test_q_case_ignoredM   rd   r   c                *    V P                  R R4       R# )z=?us-ascii?B?dmk=?=rf   Nr   r   s   &r   test_b_case_ignoredTestDecode.test_b_case_ignoredP   ri   r   c                ,    V P                  R RR4       R# )z!=?latin-1?q?=20F=fcr=20Elise=20?=u    Für Elise zlatin-1Nr   r   s   &r   test_non_trivial_qTestDecode.test_non_trivial_qS   s    

6	Rr   c                l    V P                  R P                  RR4      R\        P                  .R7       R# )s   =?us-ascii?q?=20foo?=rW   surrogateescapeu    foor   N)r   rS   r   UndecodableBytesDefectr   s   &r   test_q_escaped_bytes_preserved)TestDecode.test_q_escaped_bytes_preservedV   s6    

/66z7HJ$;;< 	 	>r   c                    V P                  R P                  RR4      R\        P                  \        P                  .R7       R# )s   =?us-ascii?b?dmk?=rW   rt   rf   ru   N)r   rS   r   rB   r=   r   s   &r   ,test_b_undecodable_bytes_ignored_with_defect7TestDecode.test_b_undecodable_bytes_ignored_with_defect\   sA    

,33J3DF88557 	 	8r   c                L    V P                  R R\        P                  .R7       R# )z=?us-ascii?b?dmk===?=rf   ru   NrA   r   s   &r   (test_b_invalid_bytes_ignored_with_defect3TestDecode.test_b_invalid_bytes_ignored_with_defectd   s&    

.$BBC 	 	Er   c                j    V P                  R R\        P                  \        P                  .R7       R# )z=?us-ascii?b?dmk?=rf   ru   NrF   r   s   &r   &test_b_invalid_bytes_incorrect_padding1TestDecode.test_b_invalid_bytes_incorrect_paddingi   s0    

+88557 	 	8r   c                L    V P                  R R\        P                  .R7       R# )z=?us-ascii?b?dmk?=rf   ru   Nr<   r   s   &r   test_b_padding_defect TestDecode.test_b_padding_defectp   s&    

'%@@A 	 	Cr   c                .    V P                  R RRR7       R# )z=?us-ascii*jive?q?test?=testjiverZ   Nr   r   s   &r   test_nonnull_langTestDecode.test_nonnull_langu   s    

-vF
Cr   c                P    V P                  R RP                  RR4      R. R7       R# )=?unknown-8bit?q?foo=ACbar?=   foobarasciirt   unknown-8bitrY   r   N)r   rS   r   s   &r   test_unknown_8bit_charset$TestDecode.test_unknown_8bit_charsetx   s-    

1 ''1BC+ 	 	!r   c                n    V P                  R RP                  RR4      R\        P                  .R7       R# )z=?foobar?q?foo=ACbar?=r   r   rt   foobarr   Nr   rS   r   CharsetErrorr   s   &r   test_unknown_charsetTestDecode.test_unknown_charset~   s6    

+ ''1BC%$112	 	 	4r   c                n    V P                  R RP                  RR4      R\        P                  .R7       R# )u   =?utf-8?q?foo=ACbar?=r   r   rt   u   utf-8r   Nr   r   s   &r   !test_invalid_character_in_charset,TestDecode.test_invalid_character_in_charset   s6    

< ''1BC6$112	 	 	4r   c                .    V P                  R RRR7       R# )z=?utf-8?q?=C3=89ric?=u   Éricutf-8rY   Nr   r   s   &r   test_q_nonasciiTestDecode.test_q_nonascii   s    

*" 	 	$r   r'   N)r(   r)   r*   r+   rU   r   rb   rg   rk   rn   rq   rw   rz   r}   r   r   r   r   r   r   r   r,   r-   r.   s   @r   rN   rN   4   sl     0 -7R ,0000S>8E
8C
D!44$ $r   rN   c                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )TestEncodeQc                R    V P                  \        P                  ! V4      V4       R # r	   )r   r
   encode_q)r   srcexpecteds   &&&r   r   TestEncodeQ._test   s    c*H5r   c                *    V P                  R R4       R# )r   r   Nr   r   s   &r   test_all_safeTestEncodeQ.test_all_safe   s    

9h'r   c                *    V P                  R R4       R# )r!   foo_bar_Nr   r   s   &r   r"   TestEncodeQ.test_spaces   s    

;
+r   c                *    V P                  R R4       R# )s
   foo  ,,barzfoo__=2C=2CbarNr   r   s   &r   test_run_of_encodables"TestEncodeQ.test_run_of_encodables   s    

="23r   r'   N)
r(   r)   r*   r+   r   r   r"   r   r,   r-   r.   s   @r   r   r      s     6(,4 4r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )TestEncodeBc                R    V P                  \        P                  ! R 4      R4       R# )r6   Zm9vNr   r
   encode_br   s   &r   r7   TestEncodeB.test_simple   s    f-v6r   c                R    V P                  \        P                  ! R 4      R4       R# )r:   zdmk=Nr   r   s   &r   test_paddingTestEncodeB.test_padding   s    e,f5r   r'   N)r(   r)   r*   r+   r7   r   r,   r-   r.   s   @r   r   r      s     76 6r   r   c                   \   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tRtV tR# )
TestEncodec                V    V P                  \        P                  ! R RR4      R4       R# )ra   r   q=?utf-8?q?foo?=Nr   r
   encoder   s   &r   test_qTestEncode.test_q   s     E7C8:KLr   c                V    V P                  \        P                  ! R RR4      R4       R# )ra   r   bz=?utf-8?b?Zm9v?=Nr   r   s   &r   test_bTestEncode.test_b   s     E7C8:LMr   c                T    V P                  \        P                  ! R R4      R4       R# )ra   r   r   Nr   r   s   &r   test_auto_qTestEncode.test_auto_q   s    E735FGr   c                T    V P                  \        P                  ! R R4      R4       R# )zvi.r   z=?utf-8?q?vi=2E?=Nr   r   s   &r    test_auto_q_if_short_mostly_safe+TestEncode.test_auto_q_if_short_mostly_safe   s    E735HIr   c                T    V P                  \        P                  ! R R4      R4       R# )z.....r   z=?utf-8?b?Li4uLi4=?=Nr   r   s   &r   test_auto_b_if_enough_unsafe'TestEncode.test_auto_b_if_enough_unsafe   s    GW57MNr   c                T    V P                  \        P                  ! R R4      R4       R# )zvi.vi.vi.vi.vi.r   z =?utf-8?b?dmkudmkudmkudmkudmku?=Nr   r   s   &r   test_auto_b_if_long_unsafe%TestEncode.test_auto_b_if_long_unsafe   s!    $5w?;	=r   c                T    V P                  \        P                  ! R R4      R4       R# )zvi vi vi.vi r   z=?utf-8?q?vi_vi_vi=2Evi_?=Nr   r   s   &r   test_auto_q_if_long_mostly_safe*TestEncode.test_auto_q_if_long_mostly_safe   s     NG<5	7r   c                R    V P                  \        P                  ! R 4      R4       R# )ra   r   Nr   r   s   &r   test_utf8_defaultTestEncode.test_utf8_default   s    E*,=>r   c                V    V P                  \        P                  ! R RR7      R4       R# )ra   r   r   z=?utf-8*jive?q?foo?=Nr   r   s   &r   	test_langTestEncode.test_lang   s    E79OPr   c                V    V P                  \        P                  ! R RR7      R4       R# )u	   foobarr   r   r   Nr   r   s   &r   test_unknown_8bitTestEncode.test_unknown_8bit   s     NNK7	9r   r'   N)r(   r)   r*   r+   r   r   r   r   r   r   r   r   r   r   r,   r-   r.   s   @r   r   r      sB     MNHJO=7?Q9 9r   r   __main__)unittestemailr   r
   r   test.test_emailr   r   r1   rN   r   r   r   r(   mainr'   r   r   <module>r      sw     '  )9- 9$K- K6[$ [$|4- 46- 6!9 !9H zMMO r   