+
    Bi                       R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIt^ RIt^ RIHtHt ^ RIHt ]P2                  P4                  '       d   R tMR	 t ! R
 R4      t ! R R4      t ! R R]]P<                  4      t ! R R]]P<                  4      t  ! R R]P<                  4      t! ! R R]P<                  4      t" ! R R]PF                  PH                  4      t% ! R R]%]P<                  4      t& ! R R]%]P<                  4      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( R)](]P<                  4      t0 ! R* R+](]P<                  4      t1 ! R, R-](]P<                  4      t2 ! R. R/]P<                  4      t3]4R08X  d   ]Pj                  ! 4        R# R# )1zUnit tests for the bytes and bytearray types.

XXX This is a mess.  Common tests should be unified with string_tests.py (and
the latter should be modernized).
N)support)import_helper)threading_helper)warnings_helper)bigaddrspacetestMAX_Py_ssize_t)assert_python_failurec                 F   a  \         P                  ! S 4      V 3R  l4       pV# )c                     < \         P                  ! R \        34      ;_uu_ 4        S! V / VB uuRRR4       #   + '       g   i     R# ; i) Nr   check_warningsBytesWarning)argskwfuncs   *,&/usr/lib/python3.14/test/test_bytes.pywrapper%check_bytes_warnings.<locals>.wrapper!   s6     //\0BCCT(R( DCCCs	   9A
	)	functoolswraps)r   r   s   f r   check_bytes_warningsr       s%    			) 
	)     c                     V # N )r   s   &r   r   r   (   s    r   c                   0   a  ] tR t^,t o RR ltR tRtV tR# )	Indexablec                    Wn         R # r   valueselfr    s   &&r   __init__Indexable.__init__-       
r   c                    V P                   # r   r   r"   s   &r   	__index__Indexable.__index__/       zzr   r   N    __name__
__module____qualname____firstlineno__r#   r(   __static_attributes____classdictcell____classdict__s   @r   r   r   ,   s      r   r   c                     a  ] tR t^3t o 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 4       tR tR t]R 4       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&R" t'R# t(R$ t)R% t*R& t+R' t,R( t-R) t.R* t/R+ t0R, t1R- t2R. t3R/ t4R0 t5R1 t6R2 t7R3 t8R4 t9R5 t:R6 t;R7 t<R8 t=R9 t>R: t?R; t@R< tAR= tBR> tCR? tDR@ tERA tFRB tGRC tHRD tIRE tJRF tKRG tLRHtMV tNRI# )JBaseBytesTestc                p    V P                  \        V4      \        V4      4       V P                  W4       R # r   )assertIstypeassertEqual)r"   actualexpecteds   &&&r   assertTypedEqualBaseBytesTest.assertTypedEqual5   s&    d6lDN3*r   c                    V P                  4       pV P                  \        V4      V P                   4       V P                  VP                  V P                   4       R # r   )	type2testr;   r:   	__class__r"   bs   & r   test_basicsBaseBytesTest.test_basics9   s>    NNa$..1dnn5r   c                    V P                  R 4      p\        P                  \        P                  3 F@  pV! V4      pV P                  W4       V P                  \	        V4      \	        V4      4       KB  	  R#    abcdN)rA   copydeepcopyr;   r:   r"   acopy_methodrD   s   &   r   	test_copyBaseBytesTest.test_copy>   sV    NN7# IIt}}5KAAQ"T!Wd1g. 6r   c                  a V P                  4       oV P                  \        S4      ^ 4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R	 l4       V P                  \        V3R
 l4       V P                  \        V3R l4       R# )r,   c                     < S ^ ,          # r+   r   rD   s   r   <lambda>3BaseBytesTest.test_empty_sequence.<locals>.<lambda>H   	    adr   c                     < S ^,          #    r   rS   s   r   rT   rU   I   rV   r   c                  2   < S \         P                  ,          # r   sysmaxsizerS   s   r   rT   rU   J   s    anr   c                  @   < S \         P                  ^,           ,          # rX   r[   rS   s   r   rT   rU   K   s    aA.>r   c                  $   < S ^
^d,          ,          # 
   r   rS   s   r   rT   rU   L   s    aCjr   c                     < S R,          # rY   r   rS   s   r   rT   rU   M   	    aer   c                     < S R,          # )   r   rS   s   r   rT   rU   N   re   r   c                  4   < S \         P                  ) ,          # r   r[   rS   s   r   rT   rU   O   s    aor   c                  B   < S \         P                  ) ^,
          ,          # rX   r[   rS   s   r   rT   rU   P       aQ.?r   c                  B   < S \         P                  ) ^,
          ,          # )rg   r[   rS   s   r   rT   rU   Q   rk   r   c                  &   < S ^
^d,          ) ,          # r`   r   rS   s   r   rT   rU   R   s    aSkr   N)rA   r;   lenassertRaises
IndexErrorrC   s   &@r   test_empty_sequence!BaseBytesTest.test_empty_sequenceE   s    NNQ#*l3*l3*&<=*&>?*&89*m4*m4*&=>*&?@*&?@*&9:r   c                   V P                  \        R 4      4      pV P                  \        V4      R 4       V P                  \	        V4      \	        \        R 4      4      4       V P                  ^*04      pV P                  VR4       V P                  ^+^-04      pV P                  \        V4      RR	04       V P                  \        \        R 4      4      4      pV P                  \        V4      R 4       V P                  \	        V4      \	        \        R 4      4      4       V P                  R \        R 4       4       4      pV P                  \        V4      ^4       V P                  \	        V4      \	        \        R 4      4      R,          4        ! R R4      pV P                  V! 4       4      pV P                  VR4       R# )
      *c              3   F   "   T F  q^,          '       g   K  Vx  K  	  R# 5irg   Nr   ).0is   & r   	<genexpr>3BaseBytesTest.test_from_iterable.<locals>.<genexpr>e   s     :jEE11js   !
!:rY   Nrg   c                   &   a  ] tR t^jt o R tRtV tR# )+BaseBytesTest.test_from_iterable.<locals>.Sc                    RV,          # )rY   rY   rg      r   )r"   ry   s   &&r   __getitem__7BaseBytesTest.test_from_iterable.<locals>.S.__getitem__k   s     |#r   r   N)r.   r/   r0   r1   r   r2   r3   r4   s   @r   Sr}   j   s     $ $r   r      N)+   -   )r   r   )rA   ranger;   rn   listassertIntupleiter)r"   rD   r   s   &  r   test_from_iterable BaseBytesTest.test_from_iterableT   sV   NN5:&Q%a$uSz"23 NNB4 D!NNB8$eAh8 45 NN4c
+,Q%a$uSz"23 NN:eCj::Q%a$uSz"24"89	$ 	$ NN13O,r   c                "   V P                  \        \        R 4      4      4      pV P                  \	        V4      R 4       V P                  \        V4      \        \        R 4      4      4       V P                  R4      pV P                  VR4       R# rt   r   Nr   )rA   r   r   r;   rn   r   rC   s   & r   test_from_tupleBaseBytesTest.test_from_tuplep   sh    NN5s,-Q%a$uSz"23NN9%O,r   c                &   V P                  \        \        R 4      4      4      pV P                  \	        V4      R 4       V P                  \        V4      \        \        R 4      4      4       V P                  . RO4      pV P                  VR4       R# r   )rA   r   r   r;   rn   rC   s   & r   test_from_listBaseBytesTest.test_from_listx   sh    NN4c
+,Q%a$uSz"23NN9%O,r   c                   a  ! V3R  lR4      pV! 4       V! 4       .oV P                  \        S4      R4        ! V3R lR4      pV! 4       .oV P                  \        S4      R4       R# )c                   .   <a  ] tR t^t o V3R ltRtV tR# )0BaseBytesTest.test_from_mutating_list.<locals>.Xc                (   < SP                  4        ^*# *   clearr"   rM   s   &r   r(   :BaseBytesTest.test_from_mutating_list.<locals>.X.__index__   s    	r   r   Nr.   r/   r0   r1   r(   r2   r3   r5   rM   s   @r   Xr      s      r   r   ru   c                   .   <a  ] tR t^t o V3R ltRtV tR# )0BaseBytesTest.test_from_mutating_list.<locals>.Yc                J   < \        S4      R 8  d   SP                  V 4       ^*# )  )rn   appendr   s   &r   r(   :BaseBytesTest.test_from_mutating_list.<locals>.Y.__index__   s    q6D=HHTNr   r   Nr   r   s   @r   Yr            r   r   Ns  ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************r;   bytes)r"   r   r   rM   s   &  @r   test_from_mutating_list%BaseBytesTest.test_from_mutating_list   sY    	 	 S!#Jq4(	 	
 SEq;/r   c                \   V P                  \        4       \        ^4      \        ^4      \        ^4      .4      pV P                  \        V4      . RO4       V P	                  \
        V P                   \        R4      .4       V P	                  \
        V P                   \        R4      .4       R# )rY   rt   Nr,   rY         rd   )rA   r   r;   r   ro   
ValueErrorrC   s   & r   test_from_indexBaseBytesTest.test_from_index   sz    NNIK1y~%cN, -a"23*dnny}oF*dnny~6FGr   c                ,   V P                  \        P                  ! R . RO4      4      pV P                  VR4       V P                  R4      pV P                  VR4        ! R R \        4      pV P                  V P                  V! R4      4      R4       R# )Br   c                   &   a  ] tR t^t o R tRtV tR# ))BaseBytesTest.test_from_buffer.<locals>.Bc                    \         hr   )	TypeErrorr'   s   &r   r(   3BaseBytesTest.test_from_buffer.<locals>.B.__index__   s    r   r   Nr   r4   s   @r   r   r      s        r   s   foobarNr   )rA   arrayr;   r   )r"   rM   r   s   &  r   test_from_bufferBaseBytesTest.test_from_buffer   st    NN5;;sI67O,NN?+O,	  	  	)5yAr   c                    V P                  V P                  ^ 4      R4       V P                  V P                  ^4      R4       V P                  V P                  ^4      R4       V P                  \        V P                  R4       V P                  V P                  RR4      R4       V P                  V P                  R4      R4       V P                  \        V P                  \
        P                  ^,           4       R# )	r,   r       s        0ascii   0Nrd   )r;   rA   ro   r   OverflowErrorr\   r]   r'   s   &r   test_from_ssizeBaseBytesTest.test_from_ssize   s    *C0*G4*,CD*dnnb9W5t<-t4-qIr   c                $   V P                  \        V P                  R 4        ! R R4      pV P                  \        V P                  R.4       V P                  \        V P                  R .4       V P                  \        V P                  R.4       V P                  \        V P                  V! 4       .4       V P                  \        V P                  RR7       V P                  \        V P                  RR7       V P                  \        V P                  ^ R4       V P                  \        V P                  R	R4       V P                  \        V P                  ^ RR7       V P                  \        V P                  R	RR7       V P                  \        V P                  R
4       V P                  \        V P                  R
RR7       V P                  \        V P                  R
R4       V P                  \        V P                  R
RR4       R# )g        c                       ] tR t^tRtR# )5BaseBytesTest.test_constructor_type_errors.<locals>.Cr   Nr.   r/   r0   r1   r2   r   r   r   Cr          r   r   r   Nr   )encodingignore)errorsr   r   s   asciis   ignore)ro   r   rA   )r"   r   s   & r   test_constructor_type_errors*BaseBytesTest.test_constructor_type_errors   s   )T^^S9	 	)T^^cU;)T^^cU;)T^^dV<)T^^acU;)T^^gF)T^^HE)T^^Q@)T^^S'B)T^^QxH)T^^SJ)T^^R8)T^^RI)T^^RB)T^^R)Lr   c                   V P                  \        V P                  R.4       V P                  \        V P                  \        P                  ) .4       V P                  \        V P                  \        P                  ) ^,
          .4       V P                  \        V P                  \        P                  ) ^,
          .4       V P                  \        V P                  ^
^d,          ) .4       V P                  \        V P                  R.4       V P                  \        V P                  R.4       V P                  \        V P                  \        P                  .4       V P                  \        V P                  \        P                  ^,           .4       V P                  \        V P                  ^
^d,          .4       R# )rY   rt   i  Nrd   )ro   r   rA   r\   r]   r'   s   &r   test_constructor_value_errors+BaseBytesTest.test_constructor_value_errors   s$   *dnnrd;*dnn|nE*dnn|A~6FG*dnn|A~6FG*dnnCxjA*dnnse<*dnnse<*dnns{{mD*dnns{{1}oF*dnnr3wi@r   c                    \         pV P                  \        \        3V P                  V4        \        V^,
          4       R#   \        \        3 d     R# i ; i)   N)r   ro   r   MemoryErrorrA   	bytearray)r"   sizes   & r   test_constructor_overflow'BaseBytesTest.test_constructor_overflow   sL    =+6M	 dQh{+ 		s   A AAc                    ! R  R4      pV P                  \        V P                  V! 4       4       V P                  \        V P                  V! 4       .4        ! R R4      pV P                  \        V P                  V! 4       4       R# )c                   &   a  ] tR t^t o R tRtV tR# )9BaseBytesTest.test_constructor_exceptions.<locals>.BadIntc                    ^^ ,           R# rY   Nr   r'   s   &r   r(   CBaseBytesTest.test_constructor_exceptions.<locals>.BadInt.__index__       !r   r   Nr   r4   s   @r   BadIntr            r   r   c                   &   a  ] tR t^t o R tRtV tR# )>BaseBytesTest.test_constructor_exceptions.<locals>.BadIterablec                    ^^ ,           R# r   r   r'   s   &r   __iter__GBaseBytesTest.test_constructor_exceptions.<locals>.BadIterable.__iter__   r   r   r   N)r.   r/   r0   r1   r   r2   r3   r4   s   @r   BadIterabler      r   r   r   N)ro   ZeroDivisionErrorrA   )r"   r   r   s   &  r   test_constructor_exceptions)BaseBytesTest.test_constructor_exceptions   sg    	 	 	+T^^VXF+T^^fhZH	 	 	+T^^[]Kr   c                   V P                  . RO4      pV P                  . RO4      pV P                  ^^.4      pV P                  W4       V P                  W#8g  4       V P                  W8*  4       V P                  W8*  4       V P                  W8  4       V P                  W8  4       V P                  W28  4       V P                  W28  4       V P                  W8g  4       V P                  W#8H  4       V P                  W8  4       V P                  W8  4       V P                  W8  4       V P                  W8  4       V P                  W28  4       V P                  W28*  4       R# )rY   Nr   )rA   r;   
assertTrueassertFalse)r"   b1b2b3s   &   r   test_compareBaseBytesTest.test_compare   s    ^^I&^^I&^^QF# !!!!!!!""""""""r   c                   V P                  V P                  R 4      R8H  R4       V P                  V P                  R4      R8H  R4       V P                  V P                  R4      R8H  R4       V P                  V P                  R4      R8H  R4       V P                  V P                  4       \        4       8H  R4       V P                  V P                  4       \        4       8g  R4       R# )s    a b cabcFs      a   b   cs   a b c s   a   b   c   TN)r;   rA   strr'   s   &r   test_compare_to_str!BaseBytesTest.test_compare_to_str   s    
 	5>F(@AUJ!	#5>F(@AUJ!	#)SU2E:)SU2D9r   c                    \        \        \        R 4      4      pV P                  V4      p\        \	        V4      4      pVP                  4        V P                  W14       R# )HelloN)r   mapordrA   reversedreverser;   )r"   inputrD   outputs   &   r   test_reversedBaseBytesTest.test_reversed  sF    Sg&'NN5!hqk"'r   c                  a  V 3R  lpV! R4      pS P                  VR,          V! R4      4       S P                  VR,          V! R4      4       S P                  VR,          V! R4      4       S P                  VR,          V! R	4      4       S P                  VR
,          V! R	4      4       S P                  VR,          V! R	4      4       S P                  VRR V! R4      4       S P                  VRR V! R4      4       S P                  VRR V! R4      4       S P                  VRR V! R	4      4       S P                  VR^ V! R	4      4       S P                  VR^d V! R	4      4       S P                  VR^ V! R4      4       R# )c                 B   < SP                  \        \        V 4      4      # r   )rA   r   r   )sr"   s   &r   by'BaseBytesTest.test_getslice.<locals>.by  s    >>#c1+..r   Hello, world:N   Nr   :rY   r  Nello:r     Nz, :r  NNworld:r     N:r  d   NNi)r;   r"   r  rD   s   f  r   test_getsliceBaseBytesTest.test_getslice  sX   	/~27,3F,3D*27,4"W+.52g;/3BG-3rBvJ/2b2d8,23G-2b2g;/2cBwK04BwK0r   c                ,   \        \        ^4      4      pV P                  V4      p^ R^^^^d\        P                  RRRR3pV FM  pV FD  pVR,           F4  pV P                  W$WV1,          V P                  WWV1,          4      4       K6  	  KF  	  KO  	  R# )r   NrY   NNrd   rh   r  )r   r   rA   r\   r]   r;   )r"   LrD   indicesstartstopsteps   &      r   test_extended_getslice$BaseBytesTest.test_extended_getslice(  s    sNN1dAq"c3;;BTJE#BKKD$$QT%7PT/HZ9[\ (   r   c           	     N   R pR FC  pV P                  W4      pV P                  W0P                  VP                  V4      4      4       KE  	  V P                  \        V P                   VR4       V P                  VRR4      pV P                  W0P                  VRR R4      4       R# )   Hello world
ሴ噸骼utf-8latin-1r   Nr#  zutf-16)rA   r;   encodero   UnicodeEncodeErrorr"   sampleencrD   s   &   r   test_encodingBaseBytesTest.test_encoding3  s    2&Cv+AQv}}S/A BC ' 	,dnnfiPNN69h7NN6#2;@Ar   c                   R pR
 F5  pV P                  W4      pV P                  VP                  V4      V4       K7  	  RpV P                  VR4      pV P                  \        VP                  R4       V P                  VP                  RR4      R4       V P                  VP                  RRR7      R4       V P                  V P                  R4      P                  4       R4       R	# )r"  r#  u   Hello world
þÿr$  r   zHello world
)r   r   s   ☃u   ☃Nr%  )rA   r;   decodero   UnicodeDecodeErrorr)  s   &   r   test_decodeBaseBytesTest.test_decode<  s    2&Cv+AQXXc]F3 ' 1NN69-,ahh@'84oFGD(	* 	8??A8Lr   c                    R pRp\         P                  ! RV P                  P                   RV: RV: RV: RV: RV: RV: R24      p\	        R	R
RV4      pV P                  VP                  ^
V4       R# )zBoom, Shaka Laka, Boom!z0
            import sys
            type2test = z
            encodings = zr

            for data in ('', 'short string'):
                try:
                    type2test(data, encoding=z)
                except LookupError:
                    pass
                else:
                    sys.exit(21)

                for encoding in encodings:
                    try:
                        type2test(data, encoding=encoding, errors=a>  )
                    except LookupError:
                        pass
                    else:
                        sys.exit(22)

            for data in (b'', b'short string'):
                data = type2test(data)
                print(repr(data))
                try:
                    data.decode(encoding=z)
                except LookupError:
                    sys.exit(10)
                else:
                    sys.exit(23)

                try:
                    data.decode(errors=z)
                except LookupError:
                    pass
                else:
                    sys.exit(24)

                for encoding in encodings:
                    try:
                        data.decode(encoding=encoding, errors=z)
                    except LookupError:
                        pass
                    else:
                        sys.exit(25)

            sys.exit(10)
        z-Xdevz-cN)r   utf8latin1)textwrapdedentrA   r.   r   r;   rc)r"   invalid	encodingscodeprocs   &    r   test_check_encoding_errors(BaseBytesTest.test_check_encoding_errorsJ  s     ,/	 $001 2" &. /6[ 9C DK+ 
N* +2 5( )0{ 3? @Gk J	Q/  /` %T5$="d+r   c                J   V P                  ^ 4      pV P                  WP                  4       4       V P                  ^
4      pV P                  WP                  ^ .^
,          4      4       V P                  R4      pV P                  WP                  ^ .R,          4      4       R# )r,   i'  N)rA   r;   rC   s   & r   test_from_intBaseBytesTest.test_from_int  s{    NN1NN,-NN2NNA3r623NN5!NNA3u956r   c                p  aa V P                  R 4      oV P                  R4      oV P                  SS,           R4       V P                  S\        R4      ,           R4       V P                  \        R4      S,           R4       V P                  \        V3R l4       V P                  \        V3R l4       R# )   abc   def   abcdefs   defabcc                     < S R ,           # )defr   )r   s   r   rT   +BaseBytesTest.test_concat.<locals>.<lambda>  s	    R%Zr   c                     < R S ,           # )r   r   )r   s   r   rT   rI    s	    URZr   N)rA   r;   r   ro   r   )r"   r   r   s   &@@r   test_concatBaseBytesTest.test_concat  s    ^^F#^^F#b),eFm+Y7v+Y7)%78)%78r   c                  a R V P                  R 4      3 EF	  oV P                  S^,          R4       V P                  S^ ,          R4       V P                  SR,          R4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        \
        34      ;_uu_ 4        S\        P                  ,          pRRR4       V P                  \        \
        34      ;_uu_ 4        S\        P                  ,          oRRR4       EK  	  R#   + '       g   i     LZ; i  + '       g   i     EK5  ; i)rD  	   abcabcabcr   c                     < S R ,          # Q	@r   rS   s   r   rT   +BaseBytesTest.test_repeat.<locals>.<lambda>  s	    Tr   c                     < R S ,          # rP  r   rS   s   r   rT   rR    s	    r   Nrd   )rA   r;   ro   r   r   r   r\   r]   r"   crD   s   & @r   test_repeatBaseBytesTest.test_repeat  s    //AQUL1QUC(QVS)i)9:i)9:""M;#?@@O A""M;#?@@S[[  A@ 0 A@@@@s   ;D%>D8%D58E
c                    V P                  V P                  R 4      ^d,          V P                  \        R4      .^d,          4      4       R# )   xxN)r;   rA   r   r'   s   &r   test_repeat_1charBaseBytesTest.test_repeat_1char  s3    -c14>>3s8*S.3QRr   c                >  a V P                  R 4      oV P                  \        R4      S4       V P                  \        \        R4      4      S4       V P	                  ^S4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       V P                  \        V3R l4       \        \        3 EF  pV P                  V! R4      S4       V P                  V! R	4      S4       V P                  V! R
4      S4       V P                  V! R4      S4       V P                  V! R4      S4       V P                  V! R4      S4       V P                  V! R 4      S4       V P	                  V! R4      S4       V P	                  V! R4      S4       V P	                  V! R4      S4       V P	                  V! R4      S4       EK  	  R# )rD  rM   c                     < R S 9   # ),  r   rS   s   r   rT   -BaseBytesTest.test_contains.<locals>.<lambda>  s	    cQhr   c                     < RS 9   # rc   r   rS   s   r   rT   r`    s	    bAgr   c                  8   < \         P                  ^,           S 9   # rX   r[   rS   s   r   rT   r`    s    ckk!mq.@r   c                     < R S 9   # r   r   rS   s   r   rT   r`    s	    TQYr   c                  2   < \        \        R 4      4      S 9   # rM   )floatr   rS   s   r   rT   r`    s    U3s8_-Ar   c                     < R S 9   # re  r   rS   s   r   rT   r`    s	    SAXr   r      a   b   c   ab   bc   ac   ds   dabs   abdN)
rA   r   r   intassertNotInro   r   r   r   r   )r"   frD   s   & @r   test_containsBaseBytesTest.test_contains  s   NN6"c#h"c#c(mQ'a *&67*o6*&@A)%67)%AB)%56	!AMM!C&!$MM!D'1%MM!D'1%MM!D'1%MM!E(A&MM!E(A&MM!F)Q'QuXq)QtWa(QvY*QvY* "r   c           
     
   V P                  \        V P                  P                  4       V P                  \        V P                  P                  ^4       V P	                  V P                  P                  R4      V P                  4       4       \        . RO4      pV P	                  V P                  P                  R4      V4       V P	                  V P                  P                  R4      V4       V P	                  V P                  P                  R4      V4       V P	                  V P                  P                  R4      V4       R F<  pV P	                  V P                  P                  V4      V P                  4       4       K>  	  R F.  pV P                  \        V P                  P                  V4       K0  	  R\        3R	\
        3R
\        3RR 3.pV FY  w  rEV P                  VR7      ;_uu_ 4        V P	                  V P                  P                  V! R4      4      V4       RRR4       K[  	  R F<  p\        ^^V.4      pV P                  \        V P                  P                  V4       K>  	  V P	                  V P                  P                  R4      R4       V P                  \        R4      ;_uu_ 4        V P                  P                  R4       RRR4       V P                  \        V P                  P                  R4       V P                  \        V P                  P                  R4       V P                  \        V P                  P                  R4       V P                  \        V P                  P                  R4       V P                  \        V P                  P                  R4       R Fi  pV P                  \        4      ;_uu_ 4       pV P                  P                  V4       RRR4       V P                  R\        XP                  4      4       Kk  	  R Fn  w  ryV P                  \        4      ;_uu_ 4       pV P                  P                  V4       RRR4       V P                  RV	 2\        XP                  4      4       Kp  	  R  Fr  w  rV P                  \        4      ;_uu_ 4       pV P                  P                  V
4       RRR4       V P                  RV,          \        XP                  4      4       Kt  	  R#   + '       g   i     EKR  ; i  + '       g   i     ELZ; i  + '       g   i     ELQ; i  + '       g   i     L; i  + '       g   i     L; i)!rY   r   1a2B30z  1A 2B  30   z
 1A
2B	30s
    1A
2B	30z	
 u       r   r   
memoryviewzarray.arrayc                 0    \         P                   ! R V 4      # )r   )r   )bss   &r   rT   ,BaseBytesTest.test_fromhex.<locals>.<lambda>  s    u{{3';r   )names
    1A 2B 30 Ns    0000s     z9fromhex\(\) argument must be str or bytes-like, not tuplerM   rtz1a b cd z12       34z?fromhex() arg must contain an even number of hexadecimal digitsz:non-hexadecimal number found in fromhex() arg at position zat position %s   r   0   r   )rM   aaadeadbee))za rY   )z aa a r  )z aa a a r  ))z12 x4 56r   )z12 3x 56r   )z12 xy 56r   )u	   12 3ÿ 56r   )ro   r   rA   fromhexr;   r   r   r   rv  subTestassertRaisesRegexr   r   	exception)r"   rD   rU  testsrz  factoryu8r    cmpositiondataposs   &           r   test_fromhexBaseBytesTest.test_fromhex  s   )T^^%;%;<)T^^%;%;Q?//3T^^5EF()//91=//0@A1E 	//@!D//0@A1E+AT^^33A68HI ,=Aj$..*@*@!D >
 e)$:&;<	
 #MD4((  !7!78N!OQRS )( #
 0Br2rl#Aj$..*@*@!D 0 	//7A##H
 
 NN""2&	

 	*dnn&<&<cB*dnn&<&<dC*dnn&<&<iH*dnn&<&<fE*dnn&<&<>NO -E"":.."&&u- /MM[]`acamam]no -  KOE"":.."&&u- /MMVW_V`acfgigsgsctu  K
	
ID "":.."&&t, /MM*S0#bll2CD	
= )((
 
 
 /.. /. /.s<   :2TT0 UUU+T-0U	UU(+U;c                   V P                  \        V P                  P                  4       V P                  \        V P                  P                  ^4       V P	                  V P                  R4      P                  4       R4       V P	                  \        . RO4      P                  4       R4       V P	                  V P                  R4      P                  4       R4       V P	                  \        R4      P                  4       R4       R# )rY   r   r   1a2b30   +0Nr~  )ro   r   rA   hexr;   r   rv  r'   s   &r   test_hexBaseBytesTest.test_hex  s    )T^^%7%78)T^^%7%7;,002B7#56::<hG8<<>IO488:HEr   c                	   V P                  R 4      pV P                  VP                  4       R4       V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P                  VP                  R^ 4      R4       V P                  \
        4      ;_uu_ 4        VP                  R^ 4       RRR4       V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        4      ;_uu_ 4        VP                  \        R	4      4       RRR4       V P                  VP                  R^ 4      R4       V P                  VP                  R
4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R^4      R4       V P                  VP                  R^4      R4       V P                  VP                  RR4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R^4      R4       V P                  VP                  RR4      R4       V P                  VP                  R^4      R4       V P                  VP                  R^4      R4       V P                  VP                  RR4      R4       RpV P                  VP                  R^4      R4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL<; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i)s   b901efr   Nxx:   ÿ      rt   r   zb9 01 efr}     zb901efzb9:01:ef   $zb9$01$efzb9:01ef*zb901*efs    {s   worldi   s   helloi   0.zC7b7305000000776f.726c646902000000.730500000068656c.6c6f690100000030rd   rh   )rA   r;   r  ro   r   r   chr)r"   three_bytesr    s   &  r   test_hex_separator_basics'BaseBytesTest.test_hex_separator_basics  s/   nn_5*H5z**OOB +z**OOD! +a0(;y))OOD!$ *z**OOF# +z**OOG$ +z**OOG$ +z**OOCJ' +a0(;13CD02BC13CD02BCa0(;a0(;b18<-z:.
;a0*=b1:>a0)<a0*=b19=c3*,qrA +***** *))************sT   O=PP%P9QQ!<Q5=P	P"	%P6	9Q
	Q	!Q2	5R	c                |    V P                  \        ^Z^_4      4      pV P                  VP                  4       R4       R# )Z   
5a5b5c5d5eNrA   r   r;   r  )r"   
five_bytess   & r   test_hex_separator_five_bytes+BaseBytesTest.test_hex_separator_five_bytes,  s-    ^^E"RL1
)<8r   c                   V P                  R  \        ^^4       4       4      pV P                  VP                  4       R4       V P                  VP                  R^4      R4       V P                  VP                  R^4      R4       V P                  VP                  R^4      R4       V P                  VP                  R^4      R	4       V P                  VP                  R^4      R
4       V P                  VP                  R^4      R4       V P                  VP                  R^_4      R4       V P                  VP                  RR4      R4       V P                  VP                  RR4      R4       V P                  VP                  RR4      R4       V P                  VP                  RR4      R4       V P                  VP                  RR4      R4       R# )c              3   2   "   T F  q^,          x  K  	  R# 5ir   Nr   rx   rZ  s   & r   rz   =BaseBytesTest.test_hex_separator_six_bytes.<locals>.<genexpr>1  s     "<1Q33s   0306090c0f12r  z03.06.09.0c.0f.12 z0306 090c 0f12-z030609-0c0f12r  z0306:090c0f12z03:06090c0f12_030609_0c0f12z0306090c:0f12   @z0306090c0f@12Nr&  r  r  iir  )r"   	six_bytess   & r   test_hex_separator_six_bytes*BaseBytesTest.test_hex_separator_six_bytes0  sx   NN"<a"<<	.9sA.0CDsA.0@AsA.@sA.@sA.@sA.?sB/@sB/AsB/AtR0/BsB/@sC0.Ar   c                t   V P                  V P                  R 4      P                  . 4      R 4       V P                  V P                  R 4      P                  R .4      R 4       R.RR.RR.. RO3 F  p\        \	        V P                  V4      4      pV P                  V P                  R 4      P                  V4      R4       V P                  V P                  R 4      P                  \        V4      4      R4       V P                  V P                  R 4      P                  \        V4      4      R4       K  	  V P                  R4      P                  pV P                  V! RR.4      R4       V P                  V! \        R4      R.4      R4       V P                  V! R\        R4      .4      R4       V P                  V! \        R4      R.4      R4       V P                  V! R\        R4      .4      R4       R.R	,          pRR
R,          ,           pV P                  V! V4      V4       R.R	,          pRR	,          pV P                  V P                  R 4      P                  V4      V4       V P                  \        V P                  R4      P                  R4       V P                  \        4      ;_uu_ 4        V! \        R4      RR.4       RRR4       V P                  \        4      ;_uu_ 4        V! \        R4      RR.4       RRR4       R#   + '       g   i     LL; i  + '       g   i     R# ; i)r   rD  rh  rl  rk  rj  s   .:s   cds   ab.:cdi s   .:abci     Ncds   ef)rh  ri  rj  )r;   rA   joinr   r   r   r   rv  r   ro   r   )r"   lstdot_joinseqr=   s   &    r   	test_joinBaseBytesTest.test_join@  s   ,11"5s;,113%8#>HtUmeT]<NOCs4>>3/0CT^^C055c:FCT^^C055eCjA6JT^^C055d3i@&I	 P
 >>%(--5%.19=:e#4e"<=yI5*U*;"<=yI9U#3U";<iH5)E*:";<iHhHu,,#1hF?,11#6A)T^^D%9%>%>E y))i&e45 *y))j'u56 *) *))))s   :L4L&L#	&L7	c                   V P                  R 4      p^ip^pp^wpV P                  VP                  R4      ^4       V P                  VP                  R4      ^4       V P                  VP                  R4      ^ 4       V P                  VP                  V4      ^4       V P                  VP                  V4      ^ 4       V P                  VP                  R^4      ^4       V P                  VP                  R^4      ^4       V P                  VP                  R^^4      ^4       V P                  VP                  R^^	4      ^4       V P                  VP                  V^4      ^4       V P                  VP                  V^4      ^4       V P                  VP                  V^^4      ^4       V P                  VP                  V^^	4      ^4       R# )   mississippi   i   ss   w   pN)rA   r;   count)r"   rD   ry   pws   &    r   
test_countBaseBytesTest.test_count^  su   NN>**+*Q'Q'q)1-q)1-q!,a0q!,a0A*A*Aq)1-Aq)1-r   c                   V P                  R 4      pV P                  V P                  4       P                  R4      4       V P                  VP                  R 4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       V P	                  \
        4      ;_uu_ 4       pVP                  R.4       RRR4       \        XP                  4      pV P                  RV4       V P                  RV4       R#   + '       g   i     LK; i)	   hello   anythings   hel   hs   hellows   haNr   r   )	rA   r   
startswithr   ro   r   r   r  r   r"   rD   r  excs   &   r   test_startswithBaseBytesTest.test_startswithu  s    NN8$)44[ABX./V,-T*+i01e,-y))RLL$  *",,gs#gs#	 *)s   =EE#	c                   V P                  R 4      pV P                  \        4       P                  R4      4       V P	                  VP                  R 4      4       V P	                  VP                  R4      4       V P	                  VP                  R4      4       V P                  VP                  R4      4       V P                  VP                  R4      4       V P                  \        4      ;_uu_ 4       pVP                  R.4       RRR4       \        XP                  4      pV P                  RV4       V P                  RV4       R#   + '       g   i     LK; i)	r  r  s   llo   os   whellos   noNr   r   )
rA   r   r   endswithr   ro   r   r   r  r   r  s   &   r   test_endswithBaseBytesTest.test_endswith  s    NN8$--k:;

8,-

6*+

4()I./E*+y))RJJv *",,gs#gs#	 *)s   7EE	c                   V P                  R 4      p^ip^wpV P                  VP                  R4      ^4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  V4      ^4       V P                  VP                  V4      R4       V P                  VP                  R^4      ^4       V P                  VP                  R^^4      ^4       V P                  VP                  R^^4      R4       V P                  VP                  V^4      ^4       V P                  VP                  V^^4      ^4       V P                  VP                  V^^4      R4       RR\        P                  ^,           3 F%  pV P                  \        RVP                  V4       K'  	  R# )r  r  r     mississippianrt   zbyte must be in range\(0, 256\)Nrd   )rA   r;   findr\   r]   r  r   )r"   rD   ry   r  indexs   &    r   	test_findBaseBytesTest.test_find  sq   NN>**r* 0126A&B'q)1-q!,a0q!,b11q)1a!,1a"-#s{{Q/E""> 0r   c                   V P                  R 4      p^ip^wpV P                  VP                  R4      ^4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  V4      ^
4       V P                  VP                  V4      R4       V P                  VP                  R^4      ^4       V P                  VP                  R^ ^4      ^4       V P                  VP                  V^^4      ^4       V P                  VP                  V^^	4      ^4       V P                  VP                  V^^4      R4       R# )r  r  r  r  Nrd   )rA   r;   rfindr"   rD   ry   r  s   &   r   
test_rfindBaseBytesTest.test_rfind  s#   NN>*++!12B7R(R(*A.1-q1Aq)1-Aq)1-Aq)2.r   c                   V P                  R 4      p^ip^wpV P                  VP                  R4      ^4       V P                  \        VP                  R4       V P                  \        VP                  R4       V P                  VP                  V4      ^4       V P                  \        VP                  V4       V P                  VP                  R^4      ^4       V P                  VP                  R^^4      ^4       V P                  \        VP                  R^^4       V P                  VP                  V^4      ^4       V P                  VP                  V^^4      ^4       V P                  \        VP                  V^^4       R# r  r  r  r  N)rA   r;   r  ro   r   r  s   &   r   
test_indexBaseBytesTest.test_index  s0   NN>*+*aggt4*agg/?@Q'*aggq1*A.1-q1*aggua;A*Aq)1-*aggq!Q7r   c                   V P                  R 4      p^ip^wpV P                  VP                  R4      ^4       V P                  \        VP                  R4       V P                  \        VP                  R4       V P                  VP                  V4      ^
4       V P                  \        VP                  V4       V P                  VP                  R^4      ^4       V P                  VP                  R^ ^4      ^4       V P                  VP                  V^^4      ^4       V P                  VP                  V^^	4      ^4       V P                  \        VP                  V^^4       R# r  )rA   r;   rindexro   r   r  s   &   r   test_rindexBaseBytesTest.test_rindex  s   NN>*%!,*ahh5*ahh0@A!b)*ahh2%+Q/%A.2!Q*A.!Q*A.*ahh1a8r   c                  a  S P                  R 4      pTpVR,          pS P                  VR4       S P                  VR 4       S P                  WJ 4       S P                  R4      pVR",          pS P                  VR4       S P                  \	        V4      S P                   4       S P                  R4      pVR,          pS P                  VR4       S P                  \	        V4      S P                   4       V 3R lpV! RR	R
/R4       V! RRR
R	R/R4       V! RR	R
R^{/R4       V! RR#R4       V! RR$R4       V! RR%R4       V! RR&R4       V! RR'R4       V! RR(R4       V! RRR4        ! R R4      pV! R4      pR)R*R+RRV3R,R-R.R/R0R1R RV3.pV FC  w  rp
S P                  \        V4      ;_uu_ 4        \        P                  ! W4       R!R!R!4       KE  	  R!#   + '       g   i     KZ  ; i)2
   hello, %b!   world   hello, world!   %s / 100 = %d%%   seventy-nine / 100 = 79%
   hello, %b!   hello, world!c                    < SP                  V 4      pW1,          pSP                  W24       SP                  \        V4      SP                   4       R # r   )rA   r;   r9   r:   )fmtvalsresultrD   r"   s   &&& r   check%BaseBytesTest.test_mod.<locals>.check  s<    s#AAQ'MM$q'4>>2r   s   ...%(foo)b...   foorD  s	   ...abc...s   ...%(f(o)o)b...s   f(o)os   barrE  s   %*bs     abcs   abc  s   %*.*bs      abs   %i %*.*bs   10   abcs
   %i%b %*.*bs	   103   abc   %crh  c                   ,   a  ] tR tRt o R tR tRtV tR# )+BaseBytesTest.test_mod.<locals>.PseudoFloati  c                &    \        V4      V n        R # r   )rf  r    r!   s   &&r   r#   4BaseBytesTest.test_mod.<locals>.PseudoFloat.__init__  s    "5\
r   c                ,    \        V P                  4      # r   )ro  r    r'   s   &r   __int__3BaseBytesTest.test_mod.<locals>.PseudoFloat.__int__
  s    4::&r   r   N)r.   r/   r0   r1   r#   r  r2   r3   r4   s   @r   PseudoFloatr    s     *' 'r   r  go!	@   %xz2%x format: an integer is required, not PseudoFloatzL%c requires an integer in range\(256\) or a single byte, not .*\.PseudoFloatNs   seventy-nineO   )r  rD  )r  rD  )r  rg   rD  )r  r   rD  )ra   r  r   rD  )ra      3r  r   rD  )z,%x format: an integer is required, not floatr	  rQ  )z,%X format: an integer is required, not float   %XgzG @)z,%o format: an integer is required, not float   %ogp=
ף?)z.%x format: an integer is required, not complexr	                @)z.%X format: an integer is required, not complexr                 @)z.%o format: an integer is required, not complexr  y              ?)z1%u format: a real number is required, not complexs   %ur  )z1%i format: a real number is required, not complexs   %ir  )z1%d format: a real number is required, not complex   %dr  )	rA   r;   r   r9   r:   r  r   operatormod)r"   rD   origrM   r  r  piexceptions_paramsmsgformat_bytesr    s   f          r   test_modBaseBytesTest.test_mod  s   NN=)L,-}-#NN-.%%78d1gt~~.NN+,L/0d1gt~~.	3 	> 8FF6"BLQvc :LIflH-fmX.h2h2k.<m6EeT4 	' 	'   JIIA5"MIIILLL:r
$ ):$Cu''	377\1 87 ):777s   5GG+c                   V P                  R 4      pTpVR,          pV P                  VR4       V P                  VR 4       V P                  WJ 4       V P                  R4      pVR,          pV P                  VR4       V P                  \	        V4      V P                   4       V P                  R4      pVR,          pV P                  VR4       V P                  \	        V4      V P                   4       R# )	r  r  r  r  r  r  r  Nr
  )rA   r;   r   r9   r:   )r"   rD   r  s   &  r   	test_imodBaseBytesTest.test_imod%  s    NN=)	X,-}-#NN-.	""78d1gt~~.NN+,	X/0d1gt~~.r   c                    V P                  \        4      ;_uu_ 4        \        4       V P                  R 4      ,           RRR4       V P	                  V P                  R 4      P                  R4      \        4       R#   + '       g   i     LF; i)rD  Nz%r)ro   r   objectrA   r9   __rmod__NotImplementedr'   s   &r   	test_rmodBaseBytesTest.test_rmod6  sV    y))Ht~~f-- *dnnV,55d;^L *)s   !A==B	c                    V P                  R 4      pV P                  VP                  RR4      R4       V P                  VP                  RR4      R4       R# )r  r  rh  s   massassappar  rY  s	   mixixippiN)rA   r;   replacerC   s   & r   test_replaceBaseBytesTest.test_replace;  sF    NN>*4.?5$/>r   c                h    V P                  \        V P                  R 4      P                  ^ R4       R# )   a br   N)ro   r   rA   r%  r'   s   &r   test_replace_int_error$BaseBytesTest.test_replace_int_error@  s%    )T^^F%;%C%CRMr   c                    V P                  \        V P                  R 4      P                  R4       V P                  \        V P                  R 4      P                  R4       R# r)  r  Nro   r   rA   splitrsplitr'   s   &r   test_split_string_error%BaseBytesTest.test_split_string_errorC  sD    )T^^F%;%A%A3G)T^^F%;%B%BCHr   c                    V P                  \        V P                  R 4      P                  ^ 4       V P                  \        V P                  R 4      P                  ^ 4       R# r)  Nr.  r'   s   &r   test_split_int_error"BaseBytesTest.test_split_int_errorG  sD    )T^^F%;%A%A2F)T^^F%;%B%BBGr   c                    R F5  pV P                  V4      pV P                  VP                  4       V.4       K7  	  V P                  R4      pV P                  VP                  4       R.4       R# )   ab	   	
   N)r8  s   abs   abs   ab)rA   r;   r/  rC   s   & r   test_split_unicodewhitespace*BaseBytesTest.test_split_unicodewhitespaceK  s]    =Aq!AQWWY, > NNBC%8$9:r   c                j    V P                  R 4      pV P                  VP                  4       R.4       R# )r9  r:  N)rA   r;   r0  rC   s   & r   test_rsplit_unicodewhitespace+BaseBytesTest.test_rsplit_unicodewhitespaceR  s+    NNBC&9%:;r   c                    V P                  R 4      pV P                  VP                  R4      R4       V P                  VP                  R4      R4       R# )r  r  r  N)s   mir  s   issippi)r  r   r   )rA   r;   	partitionrC   s   & r   test_partitionBaseBytesTest.test_partitionV  sD    NN>*U+-GHT*,FGr   c                    V P                  R 4      pV P                  VP                  R4      R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       R# )r  r  r  r  N)s   missir  s   ippi)s
   mississippr  r   )r   r   r  )rA   r;   
rpartitionrC   s   & r   test_rpartitionBaseBytesTest.test_rpartition[  s^    NN>*e,.HId+-GHd+-GHr   c                    V P                  \        V P                  R 4      P                  R4       V P                  \        V P                  R 4      P                  R4       R# r-  ro   r   rA   rA  rE  r'   s   &r   test_partition_string_error)BaseBytesTest.test_partition_string_errora  sD    )T^^F%;%E%EsK)T^^F%;%F%FLr   c                    V P                  \        V P                  R 4      P                  ^ 4       V P                  \        V P                  R 4      P                  ^ 4       R# r4  rI  r'   s   &r   test_partition_int_error&BaseBytesTest.test_partition_int_errore  sD    )T^^F%;%E%ErJ)T^^F%;%F%FKr   c                   \        \        P                  ^,           4       FZ  pR FQ  pV P                  V4      p\        P                  ! W!4      p\        P
                  ! V4      pV P                  W$4       KS  	  K\  	  R# )rY   Nr   rh  rD  s   abs       )r   pickleHIGHEST_PROTOCOLrA   dumpsloadsr;   )r"   protorD   psqs   &    r   test_picklingBaseBytesTest.test_picklingi  s_    622Q67EFNN1%\\!+LL$  &	 G 8r   c                   \        \        P                  ^,           4       EF(  pR EF  p\        V P	                  V4      4      ;r4\        V P	                  V4      4      p\        P                  ! W14      p\        P                  ! V4      pV P                  \        V4      \        V4      4       V P                  \        V4      V4       \        P                  ! V4      pV'       g   K  \        V4       \        P                  ! W14      p\        P                  ! V4      pV P                  \        V4      VR,          4       EK   	  EK+  	  R# )rY   r  NrP  )r   rQ  rR  r   rA   r   rS  rT  r;   r:   next)r"   rU  rD   ititorgr  ds   &      r   test_iterator_pickling$BaseBytesTest.test_iterator_picklingq  s    622Q67EF!$.."344DNN1-.LL+\\!_  ed2h7  b40\\!_RLL+\\!_  b484 G 8r   c                \   V P                  V P                  R 4      P                  \        R4      4      R4       V P                  V P                  R 4      P	                  \        R4      4      R4       V P                  V P                  R 4      P                  \        R4      4      R4       R# )rD  rm  ri  rl  rk  N)r;   rA   striprv  lstriprstripr'   s   &r   test_strip_bytearray"BaseBytesTest.test_strip_bytearray  s}    /55j6GH$O/66z%7HI5Q/66z%7HI5Qr   c                &   V P                  \        V P                  R 4      P                  R4       V P                  \        V P                  R 4      P                  R4       V P                  \        V P                  R 4      P
                  R4       R# )rD  acNro   r   rA   rb  rc  rd  r'   s   &r   test_strip_string_error%BaseBytesTest.test_strip_string_error  se    )T^^F%;%A%A4H)T^^F%;%B%BDI)T^^F%;%B%BDIr   c                &   V P                  \        V P                  R 4      P                  ^ 4       V P                  \        V P                  R 4      P                  ^ 4       V P                  \        V P                  R 4      P
                  ^ 4       R# )s    abc Nri  r'   s   &r   test_strip_int_error"BaseBytesTest.test_strip_int_error  se    )T^^H%=%C%CRH)T^^H%=%D%DbI)T^^H%=%D%DbIr   c           	         V P                  R 4      p\        \        3 F:  pV P                  VP	                  ^V! R4      4      V P                  R4      4       K<  	  R# )rD     -s   --abc--N)rA   r   r   r;   centerr"   rD   	fill_types   &  r   test_centerBaseBytesTest.test_center  sJ    NN6"+IQXXa49!^^J79 ,r   c           	         V P                  R 4      p\        \        3 F:  pV P                  VP	                  ^V! R4      4      V P                  R4      4       K<  	  R# )rD  rp  s   abc----N)rA   r   r   r;   ljustrr  s   &  r   
test_ljustBaseBytesTest.test_ljust  J    NN6"+IQWWQ	$8!^^J79 ,r   c           	         V P                  R 4      p\        \        3 F:  pV P                  VP	                  ^V! R4      4      V P                  R4      4       K<  	  R# )rD  rp  s   ----abcN)rA   r   r   r;   rjustrr  s   &  r   
test_rjustBaseBytesTest.test_rjust  rz  r   c                ,   V P                  \        V P                  R 4      P                  ^^ 4       V P                  \        V P                  R 4      P                  ^^ 4       V P                  \        V P                  R 4      P
                  ^^ 4       R# )rD  N)ro   r   rA   rq  rw  r|  r'   s   &r   test_xjust_int_error"BaseBytesTest.test_xjust_int_error  sk    )T^^F%;%B%BArJ)T^^F%;%A%A1bI)T^^F%;%A%A1bIr   c                    V P                  R 4      pT P                  \        \        V4      4       Uu. uF  p\	        WV^,            4      NK  	  up. RO4       R# u upi )s    AN)r,   A         r   )rA   r;   r   rn   r   )r"   rD   ry   s   &  r   test_ordBaseBytesTest.test_ord  sJ    NN-.s1v?A#a!A#h-?/	1?s   Ac                n   R pV P                  V P                  P                  RR4      V4       RpV P                  V P                  P                  RR4      V4       V P                  \        V P                  P                  RR4       V P                  \
        V P                  P                  RR4       R# )	s    	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`xyzdefghijklmnopqrstuvwxyz{|}~rD     xyzs    	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~xyzs   s   xyzqr   rH  N)r;   rA   	maketransro   r   r   )r"   
transtables   & r   test_maketransBaseBytesTest.test_maketrans  s     ~
11&&A:N u
11/6JJW*dnn&>&>P)T^^%=%=ueLr   c                J   V P                  R 4      pV P                  R4      pV P                  R4      pV P                  R4      pV P                  R4      pV P                  ^VP                  VR4      4       V P                  ^VP                  VRR4      4       V P                  ^VP                  VRR4      4       V P                  ^ VP                  VRR4      4       V P                  ^VP                  VR4      4       V P                  ^VP                  VRR4      4       V P                  ^VP                  VRR4      4       V P                  ^ VP                  VRR4      4       V P                  ^VP	                  VR4      4       V P                  ^VP	                  VRR4      4       V P                  ^VP	                  VRR4      4       V P                  ^ VP	                  VRR4      4       V P                  ^VP                  VR4      4       V P                  ^VP                  VRR4      4       V P                  ^VP                  VRR4      4       V P                  ^ VP                  VRR4      4       V P                  ^VP                  VR4      4       V P                  ^VP                  VRR4      4       V P                  ^VP                  VRR4      4       V P                  ^ VP                  VRR4      4       V P                  RVP                  VR4      4       V P                  RVP                  VRR4      4       V P                  RVP                  VRR4      4       V P                  RVP                  VRR4      4       V P                  RVP                  VR4      4       V P                  RVP                  VRR4      4       V P                  RVP                  VRR4      4       V P                  RVP                  VRR4      4       R# )	r     lr  rY  r  NTFrh   )	rA   r;   r  r  r  r  r  r  r  )r"   rD   lhrZ  os   &     r   test_none_arguments!BaseBytesTest.test_none_arguments  se   NN8$NN4 NN4 NN4 NN4 AFF1dO,AFF1b$/0AFF1dB/0AFF1dD12AGGAt,-AGGAr401AGGAtR01AGGAtT23AGGAt,-AGGAr401AGGAtR01AGGAtT23AHHQ-.AHHQD12AHHQb12AHHQd34AGGAt,-AGGAr401AGGAtR01AGGAtT23qzz!T23qzz!R67qzz!T267

1dD 9:q||At45q||Ar489q||AtR89Qd ;<r   c                2   V P                  R 4      pVP                  VP                  VP                  VP                  VP
                  3 FH  pV P                  \        VR4       V P                  \        VR4       V P                  \        VR4       KJ  	  R# )r  rt   i'  Nrd   )rA   r  r  r  r  r  ro   r   )r"   rD   methods   &  r   (test_integer_arguments_out_of_byte_range6BaseBytesTest.test_integer_arguments_out_of_byte_range  sp    NN8$ww!((CFj&"5j&#6j&$7 Dr   c           	     P   V P                  R 4      pV P                  R4      pV P                  \        RVP                  VRRR4       V P                  \        RVP                  VRRR4       V P                  \        RVP
                  VRRR4       V P                  \        RVP                  VRRR4       V P                  \        RVP                  VRRR4       V P                  \        RVP                  VRRR4       V P                  \        R	VP                  VRRR4       R# )
r  rY  z\bfind\bNz	\brfind\bz	\bindex\bz
\brindex\bz	\bcount\bz\bstartswith\bz\bendswith\b)
rA   r  r   r  r  r  r  r  r  r  )r"   rD   rZ  s   &  r   *test_find_etc_raise_correct_error_messages8BaseBytesTest.test_find_etc_raise_correct_error_messages  s   NN8$NN4 y+qvv !4t	5y, !4t	5y, !4t	5y- !4t	5y, !4t	5y*;Q\\ !4t	5y/1:: !4t	5r   c                    \         P                  P                  V \        V P                  4       \         P                  P                  V \
        V P                  4       R # r   )testr   check_free_after_iteratingr   rA   r   r'   s   &r   test_free_after_iterating'BaseBytesTest.test_free_after_iterating  s6    //dDNNK//hOr   c           	        V P                  R 4      p\        \        R4      4      p\        R4      V\        R4      &   V P	                  \
        VP                  4       V P	                  \
        VP                  RR4       V P	                  \        VP                  \        \        ^4      4      4       VP                  VR 4      pV P                  VR 4       V P                  W0P                   4       VP                  V4      pVP                  VR4      pV P                  W44       V P                  VR4       VP                  VR4      pV P                  VR4       VP                  RR	4      pV P                  VR
4       VP                  VRR7      pV P                  VR4       VP                  VRR7      pV P                  VR4       VP                  RR	R7      pV P                  VR
4       R# )r  rt   er  Nr   s   heller  s   hee   es   hllo)delete)rA   r   r   r   ro   r   	translater   r   r;   assertIsInstance)r"   rD   rosettarU  r^  s   &    r   test_translateBaseBytesTest.test_translate  s   NN8$E#J'HC)Q[[1)Q[[$=*akk5s3DEKK*H%a0KK KK%H%KK&F#KKd#G$ KKK,H%KKK-F#KKTK*G$r   c                   \         P                  ! R 4      pV P                  R4      pV P                  \        4      ;_uu_ 4        VP                  VR4       RRR4       V P                  \        4      ;_uu_ 4        VP                  V^4       RRR4       V P                  VP                  V^ 4      ^*4       R#   + '       g   i     Ll; i  + '       g   i     LG; i)_testlimitedcapiNr   rh   )r   import_modulerA   ro   rp   sequence_getitemr;   )r"   r  objs   &  r   test_sq_itemBaseBytesTest.test_sq_item"  s    (667IJnnU#z**--c26 +z**--c15 +)::3BBG	 +***s   B<=C<C	C	r   N)Or.   r/   r0   r1   r>   rE   rO   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r,  r1  r>  rA  rK  rV  r[  rr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r&  r*  r1  r5  r;  r>  rB  rF  rJ  rM  rX  r_  re  rj  rm  rt  rx  r}  r  r  r  r  r  r  r  r  r  r2   r3   r4   s   @r   r7   r7   3   s    +6
/;-8--0"HBJM&
A  L#. : :(1(	]BM6,p79!S+0BEHF#sJ9B 7<..$$2/&8(9&?2B/"M
?
NIH;<H
IML'5$R
J
J
999J
1
M)=V85&P%>H Hr   r7   c                   N   a  ] tR tRt o ]tR tR tR tR t	R t
R tR tR	tV tR
# )	BytesTesti,  c                   R pV P                  VP                  4       V4       V P                  \        VP                  4       4      V P                  4        ! R R\        4      pV! R4      pV P                  VP                  4       V4       V P                  \        VP                  4       4      V P                  4       R# )s   foo barc                       ] tR tRtRtR# )/BytesTest.test__bytes__.<locals>.bytes_subclassi4  r   Nr   r   r   r   bytes_subclassr  4  r   r   r  s   bar fooN)r;   	__bytes__r:   rA   r   )r"   foor  bars   &   r   test__bytes__BytesTest.test__bytes__/  s    #.cmmo.?	U 	 ]+#.cmmo.?r   c                    R pRpV P                  \        V4      ;_uu_ 4        VR,           RRR4       R#   + '       g   i     R# ; i)   pythonz'byte indices must be integers or slicesrM   N)r  r   r"   rD   r  s   &  r   test_getitem_errorBytesTest.test_getitem_error;  s5    7##Is33cF 4333s	   
7A	c                    \         P                  ! \        \         P                  4      p\        VR ^ R7      ;_uu_ 4       pV P	                  \
        VP                  R4       RRR4       R#   + '       g   i     R# ; i)rb)	bufferingr   N)osopen__file__O_RDONLYro   r   readinto)r"   fdrq  s   &  r   test_buffer_is_readonly!BytesTest.test_buffer_is_readonlyA  sL    WWXr{{+"da((AiS9 )(((s    "A,,A=	c           	        V P                  \        \        R 4      4      R 4       V P                  \        \        R 4      4      \        R 4      4       V P                  \        \	        R 4      4      R 4       V P                  \        \	        R 4      4      \        R 4      4        ! R R4      pV P                  \        \        V! 4       4       V P                  \        \        \	        R4      4       V P                  \        \        \	        R4      4        ! R R4      pV P                  \        V! 4       4      R4        ! R R	\        4      pV P                  \        V! R 4      4      R 4       V P                  \        V! R 4      R
4      R4       V P                  \        V! \        R 4      4      4      R 4       V P                  \        V! R 4      4      \        R 4      4       V P                  \        V! R 4      R
4      \        R4      4       V P                  \        V! \        R 4      4      4      \        R 4      4       V P                  \        V! \        R 4      4      4      \        R 4      4       V P                  \        \	        \        R 4      4      4      \        R 4      4       V P                  \        \	        \        R 4      4      4      \        R 4      4       V P                  \        \	        \        R 4      4      4      \        R 4      4        ! R R\        4      pV P                  \        V! R 4      4      R 4       V P                  \        V! R 4      4      \        R 4      4       V P                  \        V! \        R 4      4      4      \        R 4      4       V P                  \        V! \        R 4      4      4      \        R 4      4       V P                  \        V! \        R 4      4      4      \        R 4      4       R# )rD  c                       ] tR tRtRtR# )&BytesTest.test_custom.<locals>.NoBytesiM  r   Nr   r   r   r   NoBytesr  M  s    tr   r  r   Nc                   ,   a  ] tR tRt o R tR tRtV tR# )-BytesTest.test_custom.<locals>.IndexWithBytesiQ  c                    R # )rh  r   r'   s   &r   r  7BytesTest.test_custom.<locals>.IndexWithBytes.__bytes__R  s    r   c                    ^*# r   r   r'   s   &r   r(   7BytesTest.test_custom.<locals>.IndexWithBytes.__index__T  s    r   r   N)r.   r/   r0   r1   r  r(   r2   r3   r4   s   @r   IndexWithBytesr  Q  s      r   r  rh  c                   ,   a  ] tR tRt o R tR tRtV tR# )+BytesTest.test_custom.<locals>.StrWithBytesiX  c                >    \         P                  V R 4      pWn        V# )u   €)r   __new__r    clsr    r"   s   && r   r  3BytesTest.test_custom.<locals>.StrWithBytes.__new__Y  s    {{31"
r   c                    V P                   # r   r   r'   s   &r   r  5BytesTest.test_custom.<locals>.StrWithBytes.__bytes__]      zz!r   r   Nr.   r/   r0   r1   r  r  r2   r3   r4   s   @r   StrWithBytesr  X       " "r   r  z
iso8859-15   c                   ,   a  ] tR tRt o R tR tRtV tR# )-BytesTest.test_custom.<locals>.BytesWithBytesip  c                >    \         P                  V R 4      pWn        V# )r  )r   r  r    r  s   && r   r  5BytesTest.test_custom.<locals>.BytesWithBytes.__new__q  s    }}S'2"
r   c                    V P                   # r   r   r'   s   &r   r  7BytesTest.test_custom.<locals>.BytesWithBytes.__bytes__u  r  r   r   Nr  r4   s   @r   BytesWithBytesr  p  r  r   r  )	r;   r   BytesSubclassOtherBytesSubclass	WithBytesro   r   r   r>   )r"   r  r  r  r  s   &    r   test_customBytesTest.test_customF  s   }V45v>'9&'AB&v.	0y016:y'89=;PQ)UGI6)UIe,<=)UIdO<	 	
 	~/0$7	"3 	" 	|F34f=|F3\BGL|M&,ABCVL|F';<mF>ST|F';\J&w/	1|M&4I'JK&v.	0|4Fv4N'OP&v.	0 	eImF.C$DE}U[G\]mImF6K,LM+F3	5mI6H6P,QR+F3	5	"U 	" 	eN6$:;VDmN6,BC+F3	5eN=3H$IJ+F3	5mN=;P,QR+F3	5mN;Mf;U,VW+F3	5r   c                b	  a \         P                  ! R 4      p\         P                  ! R4      p^ RIHpHp ^ RIHpHpHpHpH	p	H
p
Hp VP                  pV3Vn        WLn        V P                  V! R4      R4       V P                  V! RR4      R4       V P                  V! RV! ^ 4      4      R	4       V P                  V! RV! \!        R
4      4      4      R4       V P                  V! RV! ^4      4      R4       V P                  V! RV! ^4      V! ^4      V	! ^4      4      R4       V P                  V! RV! R?4      V! R@4      V	! RA4      4      R4       V P                  V! RV! ^{4      V! R4      V	! R4      4      R4       V P                  V! RV! ^{4      4      R4       V P                  V! RV! RB4      4      R4       V P                  V! RV! R4      4      R4       VP#                  V4      p\$        P&                  R8X  d    RP)                  ^V,          4      oV3R lpMR pRpV P                  V! RV! V4      4      R V! V4      ,           P+                  R!4      4       V P                  V! R"V! R#4      4      R$4       V	! R?4      P,                  pR%WRP.                  \0        3R%WRP2                  \0        3R&WrP4                  \0        3R&WrP6                  \0        3R'WP8                  \0        3R(WP:                  \0        3R(WP<                  \0        3R)V	V\0        3R*VVV33	 F=  w  ppppV P                  V! VV! V4      4      V! V4      P+                  R!4      4      3 K?  	  V P                  V! R+R,4      R,4       V P                  V! R-R.4      R/4       V P                  V! R04      R14       V P                  V! R24      R34       V P                  V! R4V! \!        R54      4      4      R64       V P                  V! R74      R84       V P                  V! R14      R14       V P                  V! R9V! ^4      V! ^4      4      R:4       V P?                  \@        VR;V! R?4      4       V P?                  \@        VR;V! R<4      4       V P                  V! R=4      R=4       V P                  V! R8R=4      R=4       R># )Cctypes	_testcapi)	pythonapi	py_object)c_intc_uintc_longc_ulongc_size_t	c_ssize_tc_char_ps   formats
   Hello %s !r  s   Hello world !s   c=%cs   c= @s   c=@s   c=s   d=%d ld=%ld zd=%zds   d=1 ld=2 zd=3s   d=-1 ld=-2 zd=-3s   u=%u lu=%lu zu=%zui  i  s   u=123 lu=456 zu=789s   i=%is   i=123s   i=-123s   x=%xi
  s   x=abcntz0x%0{}Xc                    < SV ,          # r   r   )ptr
ptr_formats   &r   ptr_formatter1BytesTest.test_from_format.<locals>.ptr_formatter  s    "S()r   c                     R V ,          # )z%#xr   )r   s   &r   r  r    s    s{"r   iͫ s   ptr=%pzptr=r   s   s=%ss   cstrs   s=cstrr  s   %lds   %lus   %zds   %zus   %ps   %5srh  s   %.3srF  rD  s   %%   %s   [%%]s   [%]s   %%%cr  s   %_s   %%s   %ss   x=%i y=%s   x=2 y=%r   rt   r   Nrd   rh   r&  i)!r   r  r  r  r  r  r  r  r  r  r  r  PyBytes_FromFormatargtypesrestyper;   r   sizeofr  rz  formatr'  r    INT_MINr   INT_MAXLONG_MINLONG_MAX	ULONG_MAXPY_SSIZE_T_MINPY_SSIZE_T_MAXro   r   )r"   r  r  r  r  r  r  r  r  r  r  r  r  
sizeof_ptrr  r   size_max	formatstrctypes_typer    py_formatterr  s   &                    @r   test_from_formatBytesTest.test_from_format  s   ,,X6!//<	/	 	 	 '99'/k#%." 	+I6"	$+M8D)	+ 	+GU1X> 	"+GU3s8_E	!+GU3Z@"	$+,A,1!HfQi,4QK9 *	+ 	+,A,1"Ivbz,4RL: -	. 	+,A,23K,4SM; 0	1 	+GU3Z@!	#+GU4[A"	$+GU5\B!	# ]]8,
77d?"))!j.9J*# +Ix}E =#55==gF	H+GXg5FG"	$ B<%%E,,c2E,,c2V//5V//5W1137Y 8 8#>Y 8 8#>Xx-Hh6
<
7I{E< /	;u;MN)%077@B C
<
 	+FD9	+GY?	! 	+E2	+G4	!+GU3s8_E	 +F3	  	+D148+Kq58L#	%
 	-,eU2Y	@-,eU3Z	A 	+C0	+E37	r   c                ~    ! R  R\         4      p. ROpV P                  \        V4      R4       V P                  \        \        V! V4      4        ! R R\
        4      pV P                  \        ^4      R4       V P                  \        \        V! ^4      4        ! R R\        4      pV P                  \        R4      R4       V P                  \        \        V! R4      4        ! R	 R
\        4      p\        R4      V! R4      rvV P                  \        V4      R4       V P                  \        \        V4       R# )c                       ] tR tRtRtRtR# )7BytesTest.test_bytes_blocking.<locals>.IterationBlockedi  Nr   r.   r/   r0   r1   r  r2   r   r   r   IterationBlockedr        Ir   r  s    c                       ] tR tRtRtRtR# )1BytesTest.test_bytes_blocking.<locals>.IntBlockedi  Nr   r  r   r   r   
IntBlockedr!    r  r   r"  s      c                       ] tR tRtRtRtR# );BytesTest.test_bytes_blocking.<locals>.BytesSubclassBlockedi  Nr   r  r   r   r   BytesSubclassBlockedr$    r  r   r%  rk  c                       ] tR tRtRtRtR# )4BytesTest.test_bytes_blocking.<locals>.BufferBlockedi  Nr   r  r   r   r   BufferBlockedr'    r  r   r(  N)r,   rY   rg   r   )r   r;   r   ro   r   ro  r   )r"   r  ry   r"  r%  r(  babbs   &       r   test_bytes_blockingBytesTest.test_bytes_blocking  s    	t 	q#67)U,<Q,?@
	 	q9-)UJqM:	5 	uu-)U,@,GH	I 	5!=#7BrE*)UB/r   c                p   R pRpV P                  \        V4      \        V4      4       V P                  \        V4      \        V4      4       V P                  \        V4      \        VR,          4      4       V P                  \        V4      \        V^ ,          4      4       V P                  \        V4      \        V^,          4      4       V P                  \        V4      \        ^V,          4      4       V P                  \        V4      \        V^,          4      4        ! R R\        4      pV! R4      pV P                  \        V4      \        V4      4       V P                  \        V4      \        VR,          4      4       V P                  \        V4      \        V^ ,          4      4       V P                  \        V4      \        V^,          4      4       V P                  \        V4      \        ^V,          4      4       V P                  \        V4      \        V^,          4      4       R# )s   123abc1@s   456zyx-+c                       ] tR tRtRtR# )5BytesTest.test_repeat_id_preserving.<locals>.SubBytesi  r   Nr   r   r   r   SubBytesr/    r   r   r0  s   qwerty()Nr  )r;   idassertNotEqualr   )r"   rM   rD   r0  r  s   &    r   test_repeat_id_preserving#BytesTest.test_repeat_id_preserving  s   A1&BqE2a5)BqE2a"f:.BqE2a!e9-A1q5	*A1q5	*BqE2a!e9-	u 	 [!A1&BqE2a"f:.BqE2a!e9-BqE2a!e9-BqE2a!e9-BqE2a!e9-r   r   N)r.   r/   r0   r1   r   rA   r  r  r  r  r  r+  r3  r2   r3   r4   s   @r   r  r  ,  s6     I
@:
95xpd0<. .r   r  c                     a  ] tR tRt o ]t]P                  ! R4      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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'](PR                  PT                  R" 4       t+R# t,](PZ                  P\                  P^                  t/R$ t0R% t1R& t2R' t3R(t4V t5R)# )*ByteArrayTesti)  r  c                    \        R 4      pRpV P                  \        V4      ;_uu_ 4        VR,           RRR4       R#   + '       g   i     R# ; i)r  ,bytearray indices must be integers or slicesrM   Nr   r  r   r  s   &  r   r   ByteArrayTest.test_getitem_error.  s:    i <##Is33cF 4333s   
A  A	c                    \        R 4      pRpV P                  \        V4      ;_uu_ 4        RVR&   RRR4       R#   + '       g   i     R# ; i)r  r8  pythonrM   Nr9  r  s   &  r   test_setitem_error ByteArrayTest.test_setitem_error4  s<    i <##Is33AcF 4333s	   <A	c                L    V P                  \        \        \        4       4       R # r   )ro   r   hashr   r'   s   &r   test_nohashByteArrayTest.test_nohash:  s    )T9;7r   c                   R pVR^\        V4      ,
          ,          ,           p\        P                  ! 4       p \        VR4      ;_uu_ 4       pVP	                  V4       RRR4       \        VR4      ;_uu_ 4       p\        ^4      pVP                  V4      pRRR4       V P                  X\        V4      4       V P                  \        X4      \        V4      4       \        VR4      ;_uu_ 4       pVP	                  V4       RRR4       \        VR4      ;_uu_ 4       pV P                  VP                  4       V4       RRR4        \        P                  ! V4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lc; i  \         d     R# i ; i   \        P                  ! T4       i   \         d     i i ; i; i)s   Hello world
r   wbNr  )rn   tempfilemktempr  writer   r  r;   r   readr  removeOSError)r"   short_sampler*  tfnrq  rD   ns   &      r   test_bytearray_api ByteArrayTest.test_bytearray_api=  sR   'rC,='= >>oo	c4A% ! c4AbMJJqM ! QL 12T!Wd6l3c4A
 !c4A  62 !		#! ! ! !   		# s   G E#G ;E7AG 3F
G !!FG F0 #E4	.	G 7F	G 
F	G F-	(G 0F?>F?G,GG,G)&G,(G))G,c                0   \        R 4      pV P                  VP                  4       R4       V P                  VR4       \        R4      pVP                  4        V P                  VR4       \        4       pVP                  4        V P                  V4       R# )r  Ns   ollehs   hello1s   1olleh)r   r;   r   r   rC   s   & r   test_reverseByteArrayTest.test_reverseW  ss    hd+H%i 			I&K			r   c                |   \        R 4      pVP                  4        V P                  VR4       \        R4      pVP                  4        V P                  VR4       \        R4      pVP                  \	        R4      4       VP                  4        VP                  \	        R4      4       V P                  VR4       R# )r  r   rr  r  N)r   r   r;   r   r   rC   s   & r   
test_clearByteArrayTest.test_clearb  s    i 		C cN		C cN	S			SD!r   c                   \        R 4      pVP                  4       pV P                  VR 4       \        R4      pVP                  4       pV P                  VR4       \        R 4      pVP                  4       pV P                  W4       V P                  W4       VP	                  \        R4      4       V P                  VR4       V P                  VR 4       R# )rD  r   r^  rI   N)r   rJ   r;   assertIsNotr   r   )r"   rD   r*  s   &  r   rO   ByteArrayTest.test_copyq  s    fVVXV$cNVVXS! fVVX
		#c(W%F#r   c                    R  pV! R4      pV P                  \        P                  ! RV4      V! R4      V! R4      .4       R# )c                 4    \        \        \        V 4      4      # r   )r   r   r   )r  s   &r   r  &ByteArrayTest.test_regexps.<locals>.by  s    Sa[))r   r
  s   \w+r   r  N)r;   refindallr  s   &  r   test_regexpsByteArrayTest.test_regexps  s9    	*~GQ/"W+r'{1KLr   c                   \        R 4      pV P                  VP                  ^4      4       V P                  V\        R4      4       V P                  VP                  ^
4      4       V P                  \	        V4      ^
4       V P                  V\        R4      4       RVR&   V P                  V\        R4      4       V P                  VP                  R	4      4       V P                  \	        V4      R	4       V P                  V\        RRR
,          ,           4      4       V P                  VP                  ^ 4      4       V P                  V\        4       4       V P                  VP                  ^
4      4       V P                  V\        R4      4       \        R 4      pV P                  VP                  ^4      4       V P                  V\        R4      4       V P                  \        \        4       P                  4       V P                  \        \        4       P                  R4       V P                  \        \        4       P                  R4       V P                  \        \        4       P                  R4       V P                  \        \        4       P                  \        P                  4       V P                  \        \        R4      P                  \        P                  4       R# )rF  rD  s
   abc       s   defghij:r   ra   Ns
   abcdefghijr   r   Ni   i s
             )ra   ra   rd   i8)r   assertIsNoneresizer;   rn   ByteArraySubclassro   r   r   r   r\   r]   )r"   r)  s   & r   test_resizeByteArrayTest.test_resize  s   y!"))A,'Yv./"))B-(R"%Y';<=4Y}56"))G,-R%(Y}u7M'MNO"))A,'Y[)"))B-(Yz23 y)"))A,'Yv./ 	)Y[%7%78)Y[%7%7B*ik&8&8"=*ik&8&8$?+y{'9'93;;G+y'='=s{{Kr   c                  a  R  pV 3R lpV 3R lpS P                  R4      ;_uu_ 4        V! V4       RRR4       S P                  R4      ;_uu_ 4        V! V4       RRR4       R#   + '       g   i     L<; i  + '       g   i     R# ; i)c                     W V&   R # r   r   )rD   ry   vals   &&&r   setitem_as_mapping6ByteArrayTest.test_setitem.<locals>.setitem_as_mapping  s	    aDr   c                 @   < SP                   P                  WV4       R # r   )r  sequence_setitem)rD   ry   ri  r"   s   &&&r   setitem_as_sequence7ByteArrayTest.test_setitem.<locals>.setitem_as_sequence  s    !!221=r   c                   < \        . RO4      pV ! V^^d4       SP                  V\        . RO4      4       V ! VR^4       SP                  V\        . R	O4      4       V ! V^ \        ^
4      4       SP                  V\        . R
O4      4        V ! V^^ 4       SP                  R4        V ! VR^ 4       SP                  R4        V ! V^ R4       SP                  R4        V ! V^ \        R4      4       SP                  R4        V ! V^ \        4       4       SP                  R4       R#   \         d     Li ; i  \         d     Li ; i  \
         d     Lzi ; i  \
         d     Lfi ; i  \         d     R# i ; i)rY   zDidn't raise IndexErrorrt   zDidn't raise ValueErrorzDidn't raise TypeErrorNr   )rY   r  r   rd   )rY   r     )ra   r  rq  i)r   r;   r   failrp   r   r  r   )setitemrD   r"   s   & r   do_tests,ByteArrayTest.test_setitem.<locals>.do_tests  sp   )$AAq#Q	+ 67Ar3Q	- 89Aq)B-(Q	. 9:1a 		343"		341c"		341im,		341fh'		23'  
  
  
  
  sZ   D, *D= E "$E #E0 ,D:9D:=E
EEEE-,E-0E?>E?tp_as_mappingNtp_as_sequencer  )r"   rj  rn  rt  s   f   r   test_setitemByteArrayTest.test_setitem  sj    		> 	D \\/**'( + \\*++() ,+ +* ,++   	A'	A:'A7	:B	c                  a  R  pV 3R lpV 3R lpS P                  R4      ;_uu_ 4        V! V4       RRR4       S P                  R4      ;_uu_ 4        V! V4       RRR4       R#   + '       g   i     L<; i  + '       g   i     R# ; i)c                 
    W R # r   r   )rD   ry   s   &&r   del_as_mapping2ByteArrayTest.test_delitem.<locals>.del_as_mapping  s    r   c                 >   < SP                   P                  W4       R # r   )r  sequence_delitem)rD   ry   r"   s   &&r   del_as_sequence3ByteArrayTest.test_delitem.<locals>.del_as_sequence  s    !!2218r   c           	      4  < \        \        ^
4      4      pV ! V^ 4       SP                  V\        \        ^^
4      4      4       V ! VR4       SP                  V\        \        ^^	4      4      4       V ! V^4       SP                  V\        . RO4      4       R# )ra   Nrd   )rY   rg   r   r      r     )r   r   r;   )r  rD   r"   s   & r   rt  ,ByteArrayTest.test_delitem.<locals>.do_tests  sx    %)$A1aLQ	%2, 781bMQ	%1+ 671aLQ	*? @Ar   rv  Nrw  rx  )r"   r~  r  rt  s   f   r   test_delitemByteArrayTest.test_delitem  sh    		9	B \\/**^$ + \\*++_% ,+ +* ,++r{  c           	        \        \        ^
4      4      pV P                  \        V4      \        \        ^
4      4      4       \        . RO4      VR&   V P                  V\        . RO4      4       V^ R1 V P                  V\        . RO4      4       \        . RO4      VR&   V P                  V\        \        ^
4      4      4       \        ^d^e.4      VRR% V P                  V\        . RO4      4       . ROVR&   V P                  V\        \        ^
4      4      4       . ROVR&   V P                  V\        . RO4      4       RVR&   V P                  V\        . RO4      4       \	        R4      VR&   V P                  V\        . RO4      4       . VR&   V P                  V\        . RO4      4       ^R^ \        R	4      R
RRR.RR.. .3	 F-  pV P                  \        4      ;_uu_ 4        W!R&   RRR4       K/  	  . R OR!R.3 F-  pV P                  \        4      ;_uu_ 4        W!R&   RRR4       K/  	  R#   + '       g   i     K}  ; i  + '       g   i     KX  ; i)"ra   :r,   r  N:r,   r,   N:r   r  N:r   r,   Nr  :r   NN:Nr   N:r   r   NgPKDr   gffffff@rM   rD   rh  ri  Ni(#  )rY   rY   rY   rY   rY   )
rY   rY   rY   rY   rY   r  r  r  r  	   r  )r  r  r  r  r  )r,   rY   rg   r   r   r  r&  )r,   rY   rg   r  e   r  r  r  )r   r   r  r  )r   r   r   )r,   rY   rg   r   r   r   r   r   r  r  r  r  r  )r,   rY   rg   f   o   r  )r  r  r  r  r  r  )r  r  r  r  r  )r   r   rt   i )	r   r   r;   r   rv  ro  ro   r   r   )r"   rD   elems   &  r   test_setsliceByteArrayTest.test_setslice  s   eBi a$uRy/2?+#I&DEFadGIo67?+#IeBi01c3Z("RI&BCD#IeBi01#I&PQR"I&>?@6""I&DEF#I&?@AAs5z5#3Z$t5D""9--# .-5
 %tTl3D"":..# /. 4 .-- /..s   )H5"I	5I	Ic           	     |   \        \        ^d4      4      pV P                  \        V4      \        \        ^d4      4      4       VR V P                  \        V4      \        \        ^
^d4      4      4       VP	                  \        ^d^n4      4       V P                  \        V4      \        \        ^
^n4      4      4       R# )r  :Nra   NN)r   r   r;   r   extendrC   s   & r   test_setslice_extend"ByteArrayTest.test_setslice_extend  s    eCj!a$uSz"23cFa$uR~"67	sC!a$uR~"67r   c                h    \        ^
4      pVP                  4        VR V\        ^4      ,          p?R# ra   :NrY   NN)r   popr   rC   s   & r   test_fifo_overrunByteArrayTest.test_fifo_overrun%  s-     bM	bE	U1Xr   c                    \        ^
4      p\        P                  ! V4      pVR V P                  \        P                  ! V4      V4       R# r  )r   r\   	getsizeofassertLessEqual)r"   rD   r   s   &  r   test_del_expandByteArrayTest.test_del_expand.  s9    bM}}QbES]]1-t4r   c                   ^ R^^^R^R,          \         P                  RRRR3pV F  pV F  pVR,           F  p\        \        ^4      4      p\	        V4      pWRW41,          pVP                  4        WuW#V1&   WvW#V1&   V P                  V\	        V4      4       WRW41 WbW41 V P                  V\	        V4      4       K  	  K  	  K  	  R# )	r,   Nr_  iM  r  rd   rh   r  i)r\   r]   r   r   r   r   r;   )r"   r  r  r  r  r  rD   r  s   &       r   test_extended_set_del_slice)ByteArrayTest.test_extended_set_del_slice5  s    dAq"c1c63;;CE#BKKDU3Z(A!!A 4_-DLLN)-eo&)-eo&$$Q	!5/*/*$$Q	!5 (   r   c                    \        \        R 4      4      pWR&   V P                  V\        \        \        ^4      4      \        \        R 4      4      ,           4      4       R# )rt   :r  NNN)r   r   r;   r   rC   s   & r   test_setslice_trap ByteArrayTest.test_setslice_trapJ  sD     eCj!"Id58ntE#J7G&GHIr   c                *   \        R 4      pTpVR,          pV P                  VR4       V P                  W4       V P                  W4       VR,          pV P                  VR4        VR,          pV P                  R4       R#   \         d     R# i ; i)rD  rE  rF  r  s	   abcdefxyzr   z'bytes += unicode didn't raise TypeErrorN)r   r;   r9   rr  r   r"   rD   r   s   &  r   test_iconcatByteArrayTest.test_iconcatQ  s    f	VI&a	VL)	AGA II?@  		s   '	B BBc                    \        R 4      pTpV^,          pV P                  VR4       V P                  W4       V P                  W4       R# )rD  rN  Nr   r;   r9   r  s   &  r   test_irepeatByteArrayTest.test_irepeata  sD    f	QL)ar   c                    \        R 4      pTpV^d,          pV P                  VR4       V P                  W4       V P                  W4       R# )rY  Nsd   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr  r  s   &  r   test_irepeat_1char ByteArrayTest.test_irepeat_1chari  sC    dO	SH%ar   c                "   \        4       pVP                  4       pV P                  V^ 4       V.p\        ^d4       FP  pVR,          pVP                  4       pV P	                  V\        V4      4       W#9  g   K?  VP                  V4       KR  	  R# )r,   rY  N)r   	__alloc__assertGreaterEqualr   assertGreaterrn   r   )r"   rD   allocr  ry   s   &    r   
test_allocByteArrayTest.test_allocq  ss    Kq)gsAIAKKMEuc!f-

5! r   c           	     @  a a \        4       oVV 3R  lpSP                  V! 4       4       S P                  \        S4      \        \	        ^^d4      4      4       S P                  \        S4      ^c4       SP                  4       pS P                  V\        S4      4       R# )c               3     <"   \        ^^d4       F  p V x  \        S4      pSP                  V\        \        ^\        V4      ^,           4      4      4       SP                  \        S4      \        V4      4       SP	                  \        S4      V 4       SP                  4       pSP                  V\        S4      4       K  	  R# 5ir   )r   r   r;   rn   r  r  r  )ry   rM   r  rD   r"   s      r   g(ByteArrayTest.test_init_alloc.<locals>.g  s     1c]G  Dq#a&();$<=  QQ0$$SVQ/""5#a&1 #s   CCN)r   r#   r;   r   r   rn   r  r  )r"   r  r  rD   s   f  @r   test_init_allocByteArrayTest.test_init_alloc}  sp    K	2 	


13a$uQ}"56Q$5#a&)r   c           	     2   R p\        V4      pVP                  V4       V P                  W!V,           4       V P                  VR,          V4       \        R4      pVP                  \        \        V^,          4      4       VP                  R V^,           4       4       V P                  W!^2,          4       V P                  VRR V4       \        R4      pVP                  \        \        \        V^2,          4      4      4       V P                  W!^2,          4       V P                  VRR V4       \        R4      pVP                  \        \        \        V^2,          4      4      4       V P                  W!^2,          4       V P                  VRR V4       \        R4      pV P                  \        VP                  . RO4       V P                  \        VP                  . RO4       V P                  \        V4      ^ 4       \        R4      pVP                  \        \        R4      4      .4       V P                  VR4       \        R4      pV P                  \        RVP                  R	4       V P                  \        R
VP                  R4       R# )r  :r  NNr   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   )ro  r  s   & r   rz   ,ByteArrayTest.test_extend.<locals>.<genexpr>  s     +AQs   NrM   rh  rD  z)expected iterable of integers; got: 'str'rH  z!can't extend bytearray with floatg      ?r  )r,   rY   rg   rt   )r,   rY   rg   rd   )r   r  r;   r   ro  r   r   ro   r   rn   r   r   r  r   )r"   r  rM   s   &  r   test_extendByteArrayTest.test_extend  s   dO	4K(2%cN	S$)$%	+++2I&23&cN	c#tby)*+2I&23&cN	c#tby)*+2I&23&cN*ahh?*ahh>Q#cN	)CH%&'D!fyJ xx	0 	yB xx	.r   c                f  a \        R 4      oSP                  \        R4      4       V P                  SR4       SP                  \        R4      4       V P                  SR4       V P	                  \
        V3R l4       V P	                  \
        V3R l4       V P	                  \        V3R l4       SP                  \        R4      4       SP                  \        R4      4       V P                  SR	4       V P	                  \        V3R
 l4       SP                  \        \        R4      4      4       V P                  SR4       \        . RO4      pVP                  ^4       V P                  V\        . RO4      4       VP                  ^4       V P                  V\        ^~^.4      4       R# )r  r  s   helos   heoc                  8   < S P                  \        R 4      4      # )r  )rI  r   rS   s   r   rT   +ByteArrayTest.test_remove.<locals>.<lambda>  s    ahhs3x.@r   c                  &   < S P                  R 4      # )i  rI  rS   s   r   rT   r    s    ahhsmr   c                  &   < S P                  R 4      # )r  r  rS   s   r   rT   r    s    QXXc]r   r  r  r  c                  &   < S P                  R 4      # )r  r  rS   s   r   rT   r        QXXd^r   r  r   N)~   r  r     )r  r  r  )	r   rI  r   r;   ro   r   r   r   r   rT  s   & @r   test_removeByteArrayTest.test_remove  s7   h	SG$	SF#*&@A*&;<)%:;	S	SD!)%;<	3s8$%C  *+	E/23	E3*-.r   c                  a \        R 4      oV P                  SP                  4       \        R4      4       V P                  SP                  ^ 4      \        R4      4       V P                  SP                  R4      \        R4      4       V P	                  \
        V3R l4       V P	                  \
        R 4       V P                  \        R4      P                  4       ^4       R# )	r  r^  r  rT  c                  &   < S P                  ^
4      # r`   )r  rS   s   r   rT   (ByteArrayTest.test_pop.<locals>.<lambda>  s    aeeBir   c                  2    \        4       P                  4       # r   )r   r  r   r   r   rT   r    s    ikoo.?r   r  Nrh   )r   r;   r  r   ro   rp   rC   s   &@r   test_popByteArrayTest.test_pop  s    h#c(+q3s8,rCH-*&78*&?@7+//148r   c                4    V P                  \        R  4       R# )c                  2    \        4       P                  4       # r   )r   sortr   r   r   rT   +ByteArrayTest.test_nosort.<locals>.<lambda>  s    )+2B2B2Dr   N)ro   AttributeErrorr'   s   &r   test_nosortByteArrayTest.test_nosort  s    .*DEr   c                  a \        R 4      oSP                  \        R4      4       V P                  SR4       V P                  SP                  ^d4      R4       \        4       oSP                  \        R4      4       V P                  \	        S4      ^4       V P                  \        V3R l4       \        4       oSP                  \        \        R4      4      4       V P                  SR4       R# )s   hellr  r  NAc                  &   < S P                  R 4      # )r  )r   rS   s   r   rT   +ByteArrayTest.test_append.<locals>.<lambda>  r  r      A)r   r   r   r;   rn   ro   r   r   rC   s   &@r   test_appendByteArrayTest.test_append  s    g	SH%#-K	SQ#)%;<K	3s8$%D!r   c                  a \        R 4      oSP                  ^\        R4      4       SP                  ^\        R4      4       SP                  R\        R4      4       SP                  R\        R4      4       V P                  SR4       V P	                  \
        V3R l4       \        4       oSP                  ^ \        \        R4      4      4       V P                  SR4       R# )	s   mssssppry   r   r  c                  (   < S P                  ^ R4      # )r,      1)insertrS   s   r   rT   +ByteArrayTest.test_insert.<locals>.<lambda>  s    QXXa->r   r  r  Nrh   )r   r  r   r;   ro   r   r   rC   s   &@r   test_insertByteArrayTest.test_insert  s    j!	CH	CH	SX	s3x N+)%>?K	Ic#h'(D!r   c                   \        R 4      pV P                  WP                  R R^ 4      4       \        \        R4       Uu. uF  q"NK  	  up4      p\        R4      pV P                  WDP	                  V4      4       R# u upi )rD  s   cdert   r   N)r   rX  r%  r   r  )r"   rD   ry   trZ  s   &    r   test_copiedByteArrayTest.test_copied  sj     fIIffa89%*-*Qq*-.cNKKN+ .s    
A>c                   \        R 4      P                  R4      w  rpV P                  VR4       V P                  VR4       V P                  W#4       VR,          pV P                  VR4       \        R 4      P                  R4      w  rpV P                  VR4       V P                  VR4       \        R 4      P	                  R4      w  r#pV P                  VR4       V P                  VR4       V P                  W#4       VR,          pV P                  VR4       \        R 4      P	                  R4      w  r2pV P                  VR4       V P                  VR4       R# )rY     yr      !N)r   rA  r;   rX  rE  )r"   rM   rD   rU  s   &   r   0test_partition_bytearray_doesnt_share_nullstring>ByteArrayTest.test_partition_bytearray_doesnt_share_nullstring  s0   D/++D1aC C 	T	C D/++D1aC C D/,,T2aC C 	T	C D/,,T2aC C r   c                f  a \        ^
4      o\        S4      pV3R lpSP                  ^
4       SR,          pV P                  \        SP                  ^4       V P                  \        V^4       V P                  SV4       V P                  \        SP                  ^	4       V P                  SV4       V P                  \        SP                  ^ 4       V P                  SV4       V P                  \        SP                  ^ 4       V P                  SV4       V P                  \        SP                  S^,          4       V P                  SV4       V3R lpV P                  \        V4       V P                  SV4       V3R lpV P                  \        V4       V P                  SV4       R# )ra   c                 P   < \        V ^,           ^V ,          ^,
          4      S^R% R# )rY   Nrd   )r   )rM  rD   s   &r   manual_resize:ByteArrayTest.test_resize_forbidden.<locals>.manual_resize  s!    AE1Q37+AaGr   NNNc                     < S ^ R# r   r   rS   s   r   delitem4ByteArrayTest.test_resize_forbidden.<locals>.delitem%  s
    !r   c                     < R S ^R^1&   R# )r   Nrd   r   rS   s   r   delslice5ByteArrayTest.test_resize_forbidden.<locals>.delslice*  s    Aa1fIr   N)r   rv  rc  ro   BufferErrorr;   r  rI  )r"   vr  r  r  r  rD   s   &     @r   test_resize_forbidden#ByteArrayTest.test_resize_forbidden  sN   
 bMqM	,	t+qxx4+}b9D!+qxx3D!+qxx3D!+quua0D!+qxx16D!	+w/D!	+x0D!r   c                    \         P                  ! R 4      pV P                  \        VP                  \        4       4       R# )r  N)r   r  ro   r  getbuffer_with_null_viewr   )r"   r  s   & r   test_obsolete_write_lock&ByteArrayTest.test_obsolete_write_lock/  s,    !//<	+y'I'I9;Wr   c                   \        R 4      p\        R4      p\        \        P                  ^,           4       EF  p\        V4      p\        P                  ! WA3V4      p\        P                  ! V4      w  rgW'R&   V P                  \        V4      \        V4      4       V P                  \        V4      V4       \        V4       \        P                  ! WA3V4      p\        P                  ! V4      w  rgW'R&   V P                  \        V4      \        V4      4       V P                  \        V4      VR,          4       \        ^\        V4      4       F  p\        V4       K  	  \        P                  ! WA3V4      p\        P                  ! V4      w  rgW'R&   V P                  \        V4      \        V4      4       V P                  \        V4      V\        V4      R 4       V P                  \        \        V4       \        P                  ! WA3V4      p\        P                  ! V4      w  rgW'R&   V P                  \        V4      . 4       EK  	  R# )rD  s   qwertyr  r  N)r   r   r   rQ  rR  r   rS  rT  r;   r:   r[  rn   ro   StopIteration)	r"   r  r  rU  itorigr^  r\  rD   ry   s	   &        r   test_iterator_pickling2%ByteArrayTest.test_iterator_pickling24  s    I622Q67E$ZFf^U3ALLOEBaDT"XtF|4T"Xt, Lf^U3ALLOEBaDT"XtF|4T"XtBx0 1c$i(V )f^U3ALLOEBaDT"XtF|4T"XtCIJ'78 mT6:f^U3ALLOEBaDT"Xr*? 8r   c                    \        R 4      p\        V4      p\        V4       VP                  4        V P	                  \        V4      . 4       R# )rk  N)r   r   r[  r   r;   r   )r"   r)  r\  s   &  r   test_iterator_length_hint'ByteArrayTest.test_iterator_length_hintZ  s9    u"XR

b2&r   c                    \        R 4      pRVR&   V^,          pV^,          pV P                  VR4       V P                  W!4       V P                  VR4       R# )rD  rY  :Nrg   Ns   xcs   xcxcxcNr   r;   )r"   rD   r   r   s   &   r   test_repeat_after_setslice(ByteArrayTest.test_repeat_after_setslicec  sU    f"UUU#Y'r   c           
     `  a  ! V3R  lR4      pV P                  R4      ;_uu_ 4        \        R4      oV P                  \        4      ;_uu_ 4        V! 4       S^ &   RRR4       RRR4       V P                  R4      ;_uu_ 4        \        R4      oV P                  \        4      ;_uu_ 4        V P                  P                  S^ V! 4       4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L@; i  + '       g   i     R# ; i)c                   .   <a  ] tR tRt o V3R ltRtV tR# )/ByteArrayTest.test_mutating_index.<locals>.Boomir  c                (   < SP                  4        ^ # r+   r   rC   s   &r   r(   9ByteArrayTest.test_mutating_index.<locals>.Boom.__index__s  s    	r   r   Nr   )r5   rD   s   @r   Boomr  r  s      r   r  rv  s   Now you see me...Nrw  )r  r   ro   rp   r  rm  )r"   r  rD   s   & @r   test_mutating_index!ByteArrayTest.test_mutating_indexm  s    
	 	
 \\/**./A"":..v! / +
 \\*++./A"":..%%66q!TVD / ,+ /. +* /. ,++sG   )C6C#	C6)D.#D		D#C3.C66D		DDD-	c           	     j    ! R  R4      pV P                  R4      ;_uu_ 4        V! 4       p\        R4      VP                  V&   V P                  VP                  ^ ,          \        R4      R4       V P                  VP                  \        R4      R4       RRR4       V P                  R4      ;_uu_ 4        V! 4       p\        R4      VP                  V&   V P                  P                  VP                  V\        R4      4       V P                  VP                  ^ ,          \        R4      R4       V P                  VP                  \        R4      R4       RRR4       V P                  R	4      ;_uu_ 4        V! 4       p\        R4      .VP                  V^% V P                  VP                  ^ ,          \        R4      R4       V P                  VP                  \        R4      R4       RRR4       R#   + '       g   i     ELl; i  + '       g   i     L; i  + '       g   i     R# ; i)
c                   ,   a  ] tR tRt o R tR tRtV tR# )BByteArrayTest.test_mutating_index_inbounds.<locals>.MutatesOnIndexi  c                &    \        R 4      V n        R# )  N)r   r)  r'   s   &r   r#   KByteArrayTest.test_mutating_index_inbounds.<locals>.MutatesOnIndex.__init__  s    #E*r   c                    V P                   P                  4        \        R 4      V n        V P                   P	                  ^ .R ,          4       ^ # )r  )r)  r   r   new_bar  r'   s   &r   r(   LByteArrayTest.test_mutating_index_inbounds.<locals>.MutatesOnIndex.__index__  s4    '.sU{+r   )r)  r!  Nr-   r4   s   @r   MutatesOnIndexr    s     + r   r#  skip_bounds_safety?zAssigned bytearray not alteredr  zWrong object alteredNskip_bounds_safety_capiskip_bounds_safety_slice)r  r   r)  r;   r!  r   r  rm  )r"   r#  instances   &  r   test_mutating_index_inbounds*ByteArrayTest.test_mutating_index_inbounds  s   	 	 \\.//%'H$'HHKK!X[[^SX7WXX__i.>@VW	 0 \\344%'H$'HHKK!!!228;;#c(SX[[^SX7WXX__i.>@VW 5 \\455%'H'*3xjHKK#X[[^SX7WXX__i.>@VW	 65 0// 54 655s&   A3G:8B#H<A4H!:H	H	!H2	r   N)6r.   r/   r0   r1   r   rA   r   r  r  r  r=  rA  rN  rQ  rU  rO   r_  re  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r   cpython_onlyr  r	  
list_tests
CommonTesttest_exhausted_iteratorr  r  r  r)  r2   r3   r4   s   @r   r6  r6  )  s    I$223EF84	"$$M#LL-*^&,&P856*JA 
"*"!.F/09F"
",!*"B 
\\X X"+H #oo88PP'(E(X Xr   r6  c                     a  ] tR tRt o ]R 4       t]R 4       tR t]P                  P                  R 4       tR t]R 4       tR tR	 tR
 tR t]P&                  ! ]P*                  P,                  R4      R 4       tRtV tR# )AssortedBytesTesti  c           	        \         \        3 F  pV P                  V! \        4       4      R 4       V P                  V! \        ^ .4      4      R4       V P                  V! \        . R
O4      4      R4       V P                  V! R4      R4       V P                  V! R4      R4       V P                  V! R4      R4       K  	  R	# )bytearray(b'')zbytearray(b'\x00')zbytearray(b'\x00\x01\xfe\xff')rD  zb'abc'   'zb"'"s   '"zb'\'"'Nr   )r   reprr;   r   )r"   rq  s   & r   test_repr_strAssortedBytesTest.test_repr_str  s    dAQy{^-=>Qy!~.0EFQy)9:;ACQvY1QtWj1QvY6 r   c           
        R \        R 4      3 F  pV P                  \        V4      \        V4      4       V P                  \        VR4      \        V4      4       V P	                  \
        R\        P                  ! \        V4      P                  4      ,          4      ;_uu_ 4        \        VR4       RRR4       K  	  R#   + '       g   i     K  ; i)rD  r   z\b%s\br  N)
r   r;   r  r   r  r   r]  escaper:   r.   rC   s   & r   test_formatAssortedBytesTest.test_format  s    6**AVAYA/VAr]CF3''	(1BIId1g>N>N4O(OQ Qq#Q Q +Q Q Qs   &CCc                   V P                  R \        R 4      8H  R4       V P                  R\        R 4      8g  R4       V P                  R\        R 4      8*  R4       V P                  R\        R 4      8  R4       V P                  R \        R4      8  R4       V P                  R \        R4      8  R4       V P                  R \        R 4      8g  R4       V P                  R\        R 4      8H  R4       V P                  R\        R 4      8  R4       V P                  R\        R 4      8  R4       V P                  R \        R4      8  R4       V P                  R \        R4      8*  R4       V P                  \        R 4      R 8H  R4       V P                  \        R4      R 8g  R4       V P                  \        R4      R 8*  R4       V P                  \        R4      R 8  R4       V P                  \        R 4      R8  R4       V P                  \        R 4      R8  R4       V P                  \        R 4      R 8g  R4       V P                  \        R4      R 8H  R4       V P                  \        R4      R 8  R4       V P                  \        R4      R 8  R4       V P                  \        R 4      R8  R4       V P                  \        R 4      R8*  R4       R# )rD  Trk  FNr   r'   s   &r   test_compare_bytes_to_bytearray1AssortedBytesTest.test_compare_bytes_to_bytearray  sZ   5=0$7%-/6%-/6v.55</6%,.55=0%8%-/7v.6%-/7%,.65</7v&0$7u/6u/6u.5v%/6v.5v&0%8u/7u.6u/7v.6v%/7r   c                   V P                  \        P                  4       V P                  \        P                  R 4       V P                  \        P                  4       V P                  \        P                  R4       R# )z
bytearray(zbytes(N)assertIsNotNoner   __doc__assertStartsWithr   r'   s   &r   test_docAssortedBytesTest.test_doc  sR    Y../i//>U]]+emmX6r   c                ~    \        R 4      p\        V4      p\        V4      pV P                  V\        V4      4       R# )s   Hello world
N)r   rv  r   r;   )r"   r*  bufrD   s   &   r   test_from_bytearray%AssortedBytesTest.test_from_bytearray  s5    78 cNIf-.r   c                   V P                  \        R 4      R4       V P                  \        R4      R4       V P                  \        R4      R4       V P                  \        \        R 4      4      R4       V P                  \        \        R4      4      R4       V P                  \        \        R4      4      R4       R	# )
r   zb''rY  zb'x'r  zb'\x80'r2  zbytearray(b'x')zbytearray(b'\x80')N)r;   r   r   r'   s   &r   test_to_strAssortedBytesTest.test_to_str  s    S5)TF+Wz2Ys^,.>?Yt_-/@AYw/02GHr   c           	         . ROpV F!  w  r#V P                  V\        VR4      4       K#  	  \        ^R4       F.  pV P                  \        \
        R\        V4      ,          4       K0  	  R# )   Wonderful spamr$  rt   zb"%s"N))rL  zWonderful spam)s   Wonderful spam toozWonderful spam too)s     u   ª  )s   \xaa\x00\000\200z\xaa\x00\000\200)r;   r   r   ro   SyntaxErrorevalr  )r"   r  rD   r  rU  s   &    r   test_literalAssortedBytesTest.test_literal  s\    
 DAQ	!Y 78 sCAk4%A.0 !r   c                ^    V P                  R P                  \        R4      4      RR.4       R# r)  r  rh  ri  N)r;   r/  rv  r'   s   &r   test_split_bytearray&AssortedBytesTest.test_split_bytearray  s$    j&67$Fr   c                ^    V P                  R P                  \        R4      4      RR.4       R# rR  )r;   r0  rv  r'   s   &r   test_rsplit_bytearray'AssortedBytesTest.test_rsplit_bytearray  s$    z$'784,Gr   c                ^    \        4       pV P                  VP                  R R 4      V4       R# )r   N)r   rX  r%  rC   s   & r   test_return_self"AssortedBytesTest.test_return_self  s$    K3,a0r   z4BytesWarning is needed for this test: use -bb optionc                   R  pV! 4       ;_uu_ 4        RR8H   RRR4       V! 4       ;_uu_ 4        RR8H   RRR4       V! 4       ;_uu_ 4        RR8g   RRR4       V! 4       ;_uu_ 4        RR8g   RRR4       V! 4       ;_uu_ 4        \        R4      R8H   RRR4       V! 4       ;_uu_ 4        R\        R4      8H   RRR4       V! 4       ;_uu_ 4        \        R4      R8g   RRR4       V! 4       ;_uu_ 4        R\        R4      8g   RRR4       V! 4       ;_uu_ 4        R^ 8H   RRR4       V! 4       ;_uu_ 4        ^ R8H   RRR4       V! 4       ;_uu_ 4        R^ 8g   RRR4       V! 4       ;_uu_ 4        ^ R8g   RRR4       R#   + '       g   i     ELv; i  + '       g   i     ELm; i  + '       g   i     ELd; i  + '       g   i     EL[; i  + '       g   i     ELI; i  + '       g   i     EL7; i  + '       g   i     EL%; i  + '       g   i     EL; i  + '       g   i     EL
; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     R# ; i)c                  :    \         P                  ! R \        34      # )r   r   r   r   r   bytes_warning5AssortedBytesTest.test_compare.<locals>.bytes_warning
  s    "112|2DEEr   r   r   Nr   r   )r"   r]  s   & r   r   AssortedBytesTest.test_compare  sb   	F__2I __#I __2I __#I __cNb  __)C.  __cNb  __)C.  __QJ __J __QJ __J _- _______________________s   FFF.*GG-G*G>9HH&<H:I6I!F	F+	.F?	G	G'	*G;	>H	H#	&H7	:I	I	!I2	r   N)r.   r/   r0   r1   r   r5  r9  r<  r  r   requires_docstringsrB  rF  rI  rO  rS  rV  rY  unittest
skipUnlessr\   flagsr]  r   r2   r3   r4   s   @r   r0  r0    s     
 7 7  8: 
\\%%7 &7/ I I0GH1
 00OQQr   r0  c                   ,   a  ] tR tRt o R tR tRtV tR# )BytearrayPEP3137Testi4  c                    \        V4      # r   r_  )r"   rZ  s   &&r   marshalBytearrayPEP3137Test.marshal5  s    |r   c                   V P                  R 4      pR F@  p\        W4      pV! ^4      pV P                  W4       V P                  WVR,           4       KB  	  R F8  p\	        V4      pV P                  W4       V P                  WVR,           4       K:  	  V P                  R4      pVP                  V.4      pV P                  W4       V P                  W4       R# )s   1234z" returned self on a mutable objectz! returned val on a mutable objectr   N)zfillr|  rw  rq  )zval.split()[0]zval.rsplit()[0]zval.partition(b".")[0]zval.rpartition(b".")[2]zval.splitlines()[0]zval.replace(b"", b""))rh  getattrr;   rX  rN  r  )r"   ri  methnamer  newvalexprseps   &      r   test_returns_new_copy*BytearrayPEP3137Test.test_returns_new_copy8  s    ll7# >HS+FAYFS)S$%IIK	 >ED $ZFS)S !DDFE ll33%%%r   r   N)r.   r/   r0   r1   rh  rq  r2   r3   r4   s   @r   rf  rf  4  s     & &r   rf  c                   6   a a ] tR tRt oV 3R ltRtRtVtV ;t# )FixedStringTestiO  c                   < \        V\        4      '       d!   V P                  VP                  R 4      4      # \        SV `  V4      # )r#  )
isinstancer   rA   r'  superfixtype)r"   r  rB   s   &&r   rx  FixedStringTest.fixtypeP  s7    c3>>#**W"566ws##r   Tr   )	r.   r/   r0   r1   rx  contains_bytesr2   r3   __classcell__)rB   r5   s   @@r   rt  rt  O  s     $
 NNr   rt  c                       ] tR tRt]tRtR# )ByteArrayAsStringTestiW  r   N)r.   r/   r0   r1   r   rA   r2   r   r   r   r}  r}  W  s    Ir   r}  c                       ] tR tRt]tRtR# )BytesAsStringTestiZ  r   N)r.   r/   r0   r1   r   rA   r2   r   r   r   r  r  Z  s    Ir   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	SubclassTesti^  c                   V P                  V P                  V P                  4       V P                  V P                  4       V P                  4       R Rr!V P                  V4      V P                  V4      rCV P	                  W38H  4       V P	                  W48g  4       V P	                  W48  4       V P	                  W48*  4       V P	                  WC8  4       V P	                  WC8  4       V P                  W14       V P                  W,           W4,           4       V P                  W,           W,           4       V P                  W,           W2,           4       V P	                  V^,          V^,          8H  4       R# )rI      efghN)assertIsSubclassrA   basetyper  r   rX  r;   )r"   rM   rD   _a_bs   &    r   
test_basicSubclassTest.test_basic`  s   dnndmm<dnn.>1"DNN1$5B 	!! !!  	('' 	!r!t$r   c                V   V P                  R 4      pV P                  4       P                  V.4      pV P                  W4       V P	                  \        V4      V P                  \        V4      4       VP                  R .4      pV P	                  \        V4      V P                  4       R# rH   )rA   r  r  rX  r9   r:   )r"   s1s2s3s   &   r   r  SubclassTest.test_joinx  s|     ^^G$]]_!!2$' d2htBx8 WWgYd2h.r   c                   V P                  R 4      p^
Vn        V P                  R4      Vn        \        \        P
                  ^,           4       EF  p\        P                  ! \        P                  ! W4      4      pV P                  \        V4      \        V4      4       V P                  W4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  \        V4      \        V4      4       V P                  \        VP                  4      \        VP                  4      4       V P                  VR4       EK   	  R# rI   r  yN)rA   rZ  zr   rQ  rR  rT  rS  r2  r1  r;   r:   assertNotHasAttr)r"   rM   rU  rD   s   &   r   test_pickleSubclassTest.test_pickle  s    NN7#nnW%622Q67EV\\!34A1r!u-Q"QSS!##&QSS!##&T!Wd1g.T!##YQSS	2!!!S) 8r   c                   V P                  R 4      p^
Vn        V P                  R4      Vn        \        P                  \        P                  3 F  pV! V4      pV P                  \        V4      \        V4      4       V P                  W4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  \        V4      \        V4      4       V P                  \        VP                  4      \        VP                  4      4       V P                  VR4       K  	  R# r  )
rA   rZ  r  rJ   rK   r2  r1  r;   r:   r  rL   s   &   r   rO   SubclassTest.test_copy  s    NN7#nnW% IIt}}5KAA1r!u-Q"QSS!##&QSS!##&T!Wd1g.T!##YQSS	2!!!S) 6r   c                t  a  S P                   P                  R 4      pS P                  VR4       S P                  \	        V4      S P                   4        ! V 3R lRS P
                  4      pVP                  R 4      pS P                  VR4       S P                  \	        V4      V4       S P                  VP                  R4        ! V 3R lRS P
                  4      pVP                  R 4      pS P                  VR4       S P                  \	        V4      V4       S P                  VP                  R4       R# )ru  r  c                   .   <a  ] tR tRt o V3R ltRtV tR# )%SubclassTest.test_fromhex.<locals>.B1i  c                L   < SP                   P                  W4      pR Vn        V# )r  )r  r  r  )r  r    mer"   s   && r   r  -SubclassTest.test_fromhex.<locals>.B1.__new__  s#    ]]**36	r   r   N)r.   r/   r0   r1   r  r2   r3   r5   r"   s   @r   B1r    r   r   r  r  c                   .   <a  ] tR tRt o V3R ltRtV tR# )%SubclassTest.test_fromhex.<locals>.B2i  c                ~   < SP                   \        Jd!   SP                   P                  ! V .VO5/ VB  R V n        R# )r  N)r  r   r#   r  )r  r   kwargsr"   s   &*,r   r#   .SubclassTest.test_fromhex.<locals>.B2.__init__  s2    ==-MM**2???r   r   Nr.   r/   r0   r1   r#   r2   r3   r  s   @r   B2r    s      r   r  N)rA   r  r;   r9   r:   r  r  )r"   rD   r  r  s   f   r   r  SubclassTest.test_fromhex  s    NN""8,O,d1gt~~.	 	 JJx O,d1gr"&	 	 JJx O,d1gr"&r   r   N)r.   r/   r0   r1   r  r  r  rO   r  r2   r3   r4   s   @r   r  r  ^  s#     %0/**' 'r   r  c                       ] tR tRtRtR# )rd  i  r   Nr   r   r   r   rd  rd        r   rd  c                       ] tR tRtRtRtR# )ByteArraySubclassWithSlotsi  r   N)rZ  r  __dict__)r.   r/   r0   r1   	__slots__r2   r   r   r   r  r    s    &Ir   r  c                       ] tR tRtRtR# )r  i  r   Nr   r   r   r   r  r    r  r   r  c                       ] tR tRtRtR# )r  i  r   Nr   r   r   r   r  r    r  r   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )r  i  c                    Wn         R # r   r   r!   s   &&r   r#   WithBytes.__init__  r%   r   c                    V P                   # r   r   r'   s   &r   r  WithBytes.__bytes__  r*   r   r   N)r.   r/   r0   r1   r#   r  r2   r3   r4   s   @r   r  r    s      r   r  c                   .   a  ] tR tRt o ]t]tR tRt	V t
R# )ByteArraySubclassTesti  c                     ! R  R\         4      pV! ^R4      pV! ^RR7      pV P                  VR4       V! ^RR7      pV P                  VR4       R# )c                   *   a  ] tR tRt o RR ltRtV tR# ):ByteArraySubclassTest.test_init_override.<locals>.subclassi  c                :    \         P                  ! V .VO5/ VB  R # r   )r   r#   )r  newargr   r  s   &&*,r   r#   CByteArraySubclassTest.test_init_override.<locals>.subclass.__init__  s    ""2777r   r   NrX   r  r4   s   @r   subclassr    s     8 8r   r  rI   )source)r  r  Nr  )r"   r  rZ  s   &  r   test_init_override(ByteArraySubclassTest.test_init_override  sT    	8y 	8 Q Qw'G$Ag.G$r   r   N)r.   r/   r0   r1   r   r  rd  rA   r  r2   r3   r4   s   @r   r  r    s     H!I% %r   r  c                       ] tR tRt]t]tRtR# )ByteArraySubclassWithSlotsTesti  r   N)	r.   r/   r0   r1   r   r  r  rA   r2   r   r   r   r  r    s    H*Ir   r  c                       ] tR tRt]t]tRtR# )BytesSubclassTesti  r   N)	r.   r/   r0   r1   r   r  r  rA   r2   r   r   r   r  r    s    HIr   r  c                   8  a  ] tR tRt o ]P
                  ! ]P                  R4      ]P                  ]P                  ! 4       R 4       4       4       t]P
                  ! ]P                  R4      ]P                  ]P                  ! 4       R 4       4       4       tRtV tR# )FreeThreadingTesti  z2this test can only possibly fail with GIL disabledc                   R  pR pR pR pR pR pR pR pR p	R	 p
R
 pR pR pR pR pR pR pR pR pR pR pR pR pR pR pR pR pR pR pR pR pR p R  p!R! p"R" p#R# p$R$ p%R% p&R& p'R' p(R( p)R) p*R* p+R+ p,R, p-R- p.R. p/R/ p0R0 p1R1 p2R2 p3R3 p4R4 p5R5 p6R6 p7RFR8 lp8V8! V.V	.^
,          ,           4       V8! V.V
.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.^
,          4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! W.V.^
,          ,           \        \        ^4      4      \        \        ^4      4      4       V8! V.V.^
,          ,           R7\         P                  \        \        ^4      4      \        \        ^4      4      4      4       V8! V.V$.^
,          ,           4       V8! V.V&.^
,          ,           4       V8! V.V'.^
,          ,           4       V8! V.V).^
,          ,           4       V8! V.V-.^
,          ,           4       V8! V.V.^
,          ,           \        R9R:,          4      4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           \        R;4      4       V8! V.V.^
,          ,           \        R;4      4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           4       V8! V.V.^
,          ,           \        R;R<,          4      4       V8! V.V.^
,          ,           4       V8! V.V .^
,          ,           \        R;R<,          4      4       V8! V.V!.^
,          ,           \        RG4      4       V8! V.V".^
,          ,           4       V8! V.V#.^
,          ,           4       V8! V.V%.^
,          ,           4       V8! V.V(.^
,          ,           4       V8! V.V*.^
,          ,           R7\        R;R=,          4      4       V8! V.V+.^
,          ,           \        R>R?,          4      4       V8! V.V,.^
,          ,           \        R@4      \        R;R=,          4      4       V8! V.V..^
,          ,           \        R9R:,          4      4       V8! V.V/.^
,          ,           \        R9R:,          4      4       V8! V.V0.^
,          ,           \        RAR?,          4      4       V8! V.V1.^
,          ,           \        R;R=,          4      4       V8! V.V2.^
,          ,           \        RBR=,          4      4       V8! V.V3.^
,          ,           \        R;R=,          4      4       V8! V.V4.^
,          ,           \        RCRD,          4      4       V8! V.V5.^
,          ,           \        RCRD,          4      4       V8! V.V6.^
,          ,           \        R9R=,          4      4       V8! V.V7.^
,          ,           \        RERD,          4      4       R7# )Hc                 j    V P                  4        VP                  4        R #   \         d     R # i ; ir   waitr   r  )rD   rM   r   s   &&*r   r   >FreeThreadingTest.test_free_threading_bytearray.<locals>.clear  !    FFH$$   # 22c                 j    V P                  4        VP                  4        R #   \         d     R # i ; ir   r  rD   rM   rU  s   &&&r   clear2?FreeThreadingTest.test_free_threading_bytearray.<locals>.clear2  r  r  c                 j    V P                  4        VP                  4        R #   \         d     R # i ; ir   )r  r  rp   rD   rM   s   &&r   pop1=FreeThreadingTest.test_free_threading_bytearray.<locals>.pop1  s!    FFH#t#r  c                 H    V P                  4        VP                  ^ 4       R# r,   N)r  r   r  s   &&r   append1@FreeThreadingTest.test_free_threading_bytearray.<locals>.append1  s    FFHHHQKr   c                 J    V P                  4        VP                  ^ ^ 4       R# r  )r  r  r  s   &&r   insert1@FreeThreadingTest.test_free_threading_bytearray.<locals>.insert1	  s    FFHHHQNr   c                 l    \        R R,          4      pV P                  4        VP                  V4       R# r     @ N)r   r  r  r  s   && r   r  ?FreeThreadingTest.test_free_threading_bytearray.<locals>.extend	  s$    $/*AFFHHHQKr   c                     \        R 4      pV P                  4        VP                  V4       R#   \         d     R# i ; i)r   N)r   r  rI  r   r  s   && r   rI  ?FreeThreadingTest.test_free_threading_bytearray.<locals>.remove	  s,    CAFFH!#t#s   / >>c                 F    V P                  4        VP                  4        R # r   )r  r   r  s   &&r   r   @FreeThreadingTest.test_free_threading_bytearray.<locals>.reverse	  s    FFHIIKr   c                 F    V P                  4        VP                  4        R # r   r  
__reduce__r  s   &&r   reduce?FreeThreadingTest.test_free_threading_bytearray.<locals>.reduce	  s    FFHLLNr   c                 H    V P                  4        VP                  ^4       R# rw   r  __reduce_ex__r  s   &&r   	reduceex2BFreeThreadingTest.test_free_threading_bytearray.<locals>.reduceex2	  s    FFHOOAr   c                     V P                  4        VP                  ^4      pV^,          '       d   ^V^,          ^ ,          9  g   Q hR# R# r  r  r  s   && r   	reduceex3BFreeThreadingTest.test_free_threading_bytearray.<locals>.reduceex3	  s<    FFH"Attt1Q472222tr   c                 H    V P                  4        VP                  ^ 4       R# r  )r  r  r  s   &&r   count0?FreeThreadingTest.test_free_threading_bytearray.<locals>.count0"	  s    FFHGGAJr   c                 F    V P                  4        VP                  4        R # r   )r  r/  r  s   &&r   r/  ?FreeThreadingTest.test_free_threading_bytearray.<locals>.decode&	  s    FFHHHJr   c                 l    \        R R,          4      pV P                  4        VP                  V4       R# )r      N)r   r  r  r  s   && r   r  =FreeThreadingTest.test_free_threading_bytearray.<locals>.find*	  s$    $.)AFFHFF1Ir   c                 H    V P                  4        VP                  R 4       R# )r  N)r  r  r  s   &&r   r  <FreeThreadingTest.test_free_threading_bytearray.<locals>.hex/	  s    FFHEE#Jr   c                 L    V P                  4        VP                  . RO4       R# )r  N)r     2r  )r  r  r  s   &&r   r  =FreeThreadingTest.test_free_threading_bytearray.<locals>.join3	  s    FFHFF%&r   c                 J    V P                  4        VP                  R R4       R# )r   r   N)r  r%  r  s   &&r   r%  @FreeThreadingTest.test_free_threading_bytearray.<locals>.replace7	  s    FFHIIdC r   c                 l    V P                  4        VP                  W4       R #   \         d     R # i ; ir   )r  r  r   r  s   &&&r   r  BFreeThreadingTest.test_free_threading_bytearray.<locals>.maketrans;	  s$    FFHQ"#t#   $ 33c                 H    V P                  4        VP                  V4       R # r   )r  r  r  s   &&&r   r  BFreeThreadingTest.test_free_threading_bytearray.<locals>.translate@	  s    FFHKKNr   c                 z    V P                  4        VP                  4       pV'       d   V^ ,          ^08X  g   Q hR# R# r  )r  rJ   r  s   && r   rJ   =FreeThreadingTest.test_free_threading_bytearray.<locals>.copyD	  s*    FFHA1#qr   c                 X    V P                  4        VP                  R 4      '       d   Q hR#    N)r  r  r  s   &&r   r  AFreeThreadingTest.test_free_threading_bytearray.<locals>.endswithI	  s#    FFHzz'*****r   c                 l    V P                  4        VP                  R 4       Q h  \         d     R# i ; ir	  )r  r  r   r  s   &&r   r  >FreeThreadingTest.test_free_threading_bytearray.<locals>.indexM	  s+    FFH!5 %v%r  c                 X    V P                  4        VP                  R 4      '       d   Q hR# r   N)r  rc  r  s   &&r   rc  ?FreeThreadingTest.test_free_threading_bytearray.<locals>.lstripS	       FFHxx~~%%~r   c                 f    V P                  4        VP                  R 4      ^,          '       d   Q hR# r	  )r  rA  r  s   &&r   rA  BFreeThreadingTest.test_free_threading_bytearray.<locals>.partitionW	  s(    FFH{{7+A.....r   c                 X    V P                  4        VP                  R 4      '       d   Q hR# r  )r  removeprefixr  s   &&r   r  EFreeThreadingTest.test_free_threading_bytearray.<locals>.removeprefix[	  #    FFH~~d+++++r   c                 X    V P                  4        VP                  R 4      '       d   Q hR# r  )r  removesuffixr  s   &&r   r  EFreeThreadingTest.test_free_threading_bytearray.<locals>.removesuffix_	  r  r   c                 V    V P                  4        VP                  R 4      R8X  g   Q hR# )r
  Nrd   )r  r  r  s   &&r   r  >FreeThreadingTest.test_free_threading_bytearray.<locals>.rfindc	  s"    FFH777#r)))r   c                 l    V P                  4        VP                  R 4       Q h  \         d     R# i ; ir	  )r  r  r   r  s   &&r   r  ?FreeThreadingTest.test_free_threading_bytearray.<locals>.rindexg	  s+    FFH'"5 %v%r  c                 f    V P                  4        VP                  R 4      ^ ,          '       d   Q hR# r	  )r  rE  r  s   &&r   rE  CFreeThreadingTest.test_free_threading_bytearray.<locals>.rpartitionm	  s(    FFH||G,Q/////r   c                 h    V P                  4        \        VP                  R 4      4      ^8X  g   Q hR# r	  )r  rn   r0  r  s   &&r   r0  ?FreeThreadingTest.test_free_threading_bytearray.<locals>.rsplitq	  s'    FFHqxx()Q...r   c                 X    V P                  4        VP                  R 4      '       d   Q hR# r  )r  rd  r  s   &&r   rd  ?FreeThreadingTest.test_free_threading_bytearray.<locals>.rstripu	  r  r   c                 h    V P                  4        \        VP                  R 4      4      ^8X  g   Q hR# r	  )r  rn   r/  r  s   &&r   r/  >FreeThreadingTest.test_free_threading_bytearray.<locals>.splity	  s'    FFHqwww'(A---r   c                 |    V P                  4        \        VP                  4       4      pV^8  g   V^ 8X  g   Q hR# R# r   )r  rn   
splitlines)rD   rM   r  s   && r   r(  CFreeThreadingTest.test_free_threading_bytearray.<locals>.splitlines}	  s1    FFHALLN#Aq5AF"?F5r   c                 X    V P                  4        VP                  R 4      '       d   Q hR# r	  )r  r  r  s   &&r   r  CFreeThreadingTest.test_free_threading_bytearray.<locals>.startswith	  s#    FFH||G,,,,,r   c                 X    V P                  4        VP                  R 4      '       d   Q hR# r  )r  rb  r  s   &&r   rb  >FreeThreadingTest.test_free_threading_bytearray.<locals>.strip	  s     FFHwwt}}$$}r   c                 8    V P                  4        V^,           R# rw   r  r  s   &&r   repeat?FreeThreadingTest.test_free_threading_bytearray.<locals>.repeat	  s    FFHEEr   c                 8    V P                  4        ^V9  g   Q hR# )   Nr/  r  s   &&r   containsAFreeThreadingTest.test_free_threading_bytearray.<locals>.contains	  s    FFHq= =r   c                 Z    \        R R,          4      pV P                  4        W,          pR# r  r   r  r  s   && r   iconcat@FreeThreadingTest.test_free_threading_bytearray.<locals>.iconcat	  s     $/*AFFHFAr   c                 8    V P                  4        V^,          pR# rw   r/  r  s   &&r   irepeat@FreeThreadingTest.test_free_threading_bytearray.<locals>.irepeat	  s    FFHFAr   c                 j    V P                  4        V^ ,          ^8w  g   Q hR#   \         d     R# i ; ir  )r  rp   r  s   &&r   	subscriptBFreeThreadingTest.test_free_threading_bytearray.<locals>.subscript	  s(    FFH!$#t#r  c                 R    \        R R,          4      pV P                  4        W!R&   R# )r   r  r  Nr7  r  s   && r   ass_subscriptFFreeThreadingTest.test_free_threading_bytearray.<locals>.ass_subscript	  s     $/*AFFHaDr   c                 @    V P                  4        W!R &   RV9  g   Q hR# )r  r
  Nr/  r  s   &&&r   ass_subscript2GFreeThreadingTest.test_free_threading_bytearray.<locals>.ass_subscript2	  s     FFHaD!###r   c                     \        \        R 4      4      pV P                  4        W,           R#   \         d     R# i ; i)   N)r   r   r  r   r  s   && r   r  <FreeThreadingTest.test_free_threading_bytearray.<locals>.mod	  s-    eDk"AFFH"d"s   / >>c                 H    V P                  4        W,          pR V9  g   Q hR# r	  r/  )rD   rM   rU  r^  s   &&& r   mod2=FreeThreadingTest.test_free_threading_bytearray.<locals>.mod2	  s     FFHA!###r   c                 <    V P                  4        \        V4       R # r   )r  r4  r  s   &&r   repr_>FreeThreadingTest.test_free_threading_bytearray.<locals>.repr_	  s    FFHGr   c                 z    V P                  4        VP                  4       pV'       d   V^ ,          R9  g   Q hR# R# r,   Nr3     )r  
capitalizer  s   && r   rS  CFreeThreadingTest.test_free_threading_bytearray.<locals>.capitalize	  /    FFHAAaD4444qr   c                 |    V P                  4        VP                  R 4      pV'       d   VR,          R9  g   Q hR# R# )i   i   NrQ  )r  rq  r  s   && r   rq  ?FreeThreadingTest.test_free_threading_bytearray.<locals>.center	  s2    FFH!AAgJl::::qr   c                 z    V P                  4        VP                  4       pV'       d   V^ ,          R9  g   Q hR# R# rP  )r  
expandtabsr  s   && r   rY  CFreeThreadingTest.test_free_threading_bytearray.<locals>.expandtabs	  rU  r   c                 |    V P                  4        VP                  R 4      pV'       d   V^ ,          R9  g   Q hR# R# )  ` NrQ  )r  rw  r  s   && r   rw  >FreeThreadingTest.test_free_threading_bytearray.<locals>.ljust	  s2    FFH!AAaD4444qr   c                 z    V P                  4        VP                  4       pV'       d   V^ ,          R9  g   Q hR# R# rP  )r  lowerr  s   && r   r_  >FreeThreadingTest.test_free_threading_bytearray.<locals>.lower	  s/    FFH	AAaD4444qr   c                 |    V P                  4        VP                  R 4      pV'       d   VR,          R9  g   Q hR# R# )r\  Nrd   rQ  )r  r|  r  s   && r   r|  >FreeThreadingTest.test_free_threading_bytearray.<locals>.rjust	  2    FFH!AAbE5555qr   c                 z    V P                  4        VP                  4       pV'       d   VR,          R9  g   Q hR# R# rY   Nrd   rQ  )r  swapcaser  s   && r   rf  AFreeThreadingTest.test_free_threading_bytearray.<locals>.swapcase	  s/    FFH

AAbE5555qr   c                 z    V P                  4        VP                  4       pV'       d   VR,          R9  g   Q hR# R# re  )r  titler  s   && r   ri  >FreeThreadingTest.test_free_threading_bytearray.<locals>.title	  /    FFH	AAbE5555qr   c                 z    V P                  4        VP                  4       pV'       d   VR,          R9  g   Q hR# R# re  )r  upperr  s   && r   rm  >FreeThreadingTest.test_free_threading_bytearray.<locals>.upper	  rk  r   c                 |    V P                  4        VP                  R 4      pV'       d   VR,          R9  g   Q hR# R# )r  Nrd   rQ  )r  rk  r  s   && r   rk  >FreeThreadingTest.test_free_threading_bytearray.<locals>.zfill	  rc  r   Nc                 X   Vf   \        RR,          4      p\        P                  ! \        V 4      4      p. pV  F0  p\        P                  ! WSV.VO5R7      pVP                  V4       K2  	  \        P                  ! V4      ;_uu_ 4         R R R 4       R #   + '       g   i     R # ; i)Nr   r  targetr   )r   	threadingBarrierrn   Threadr   r   start_threads)funcsrM   r   barrierthreadsr   threads   &&*    r   r  >FreeThreadingTest.test_free_threading_bytearray.<locals>.check	  s    ydXo.''E
3GG"))a<O$<OPv& 
 "//88 9888s   BB)	rh  r  r    @  r  r  rG  r  s   0	r  s   aAi    r  r   s   































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































)r   r   r  )9r"   r   r  r  r  r  r  rI  r   r  r  r  r  r/  r  r  r  r%  r  r  rJ   r  r  rc  rA  r  r  r  r  rE  r0  rd  r/  r(  r  rb  r0  r4  r8  r;  r>  rA  rD  r  rJ  rM  rS  rq  rY  rw  r_  r|  rf  ri  rm  rk  r  s9   &                                                        r   test_free_threading_bytearray/FreeThreadingTest.test_free_threading_bytearray  s   	%
	%
	$
			
	$				3
			
		'	!	$
		$
	+		&	/	,	,	*		0	/	&	.	#
	-	%		!	
		$
	
	$
	#	$
		5
	;
	5
	5
	5
	6
	6
	6
	6
	6
	" 	ug2%&ugb(()ug	B&'uglug2%&ug2%&ug2%&ug#$ug
"#ug	B&'ug#$ug#$ug2%&ug	B&'ug	B&'uob 00)E#J2GSXY\S]I^_ugb(($	0C0CIeTWjDY[dejkneo[p0qrug2%&ug	B&'ug	B&'ug",,-ug"$% 	ugb(()D7N*CDug#$ug
R'(ug"$%ug2%&ugb(()ug++Yt_=ug++Yt_=ug"$%ug2%&ugr))*ug2%y'?@ug2%&ug"$iv&>?ugr))9]+CDugr))*ug"$%ug
R'(ugb(()vh.)B..ix6PQug
"Iedl$;<vh$"$i&6	$/8RSugr))9TG^+DEug2%y'@Augr))9Vd]+CDug"$ix&@Aug"$ix&@Aug"$ix&@Aug
R'583C)DEug"$i0@&ABug"$ix&@Aug"$ix&@Ar   c                "   R  pR pR pR p\        ^
4       Fs  p\        RR,          4      pV! V.^
,          \        V4      4       V! V.V.^
,          ,           \        V4      4       V! V.V.^
,          ,           \        V4      4       Ku  	  R# )c                 <    V P                  4        \        V4       R # r   )r  r   rD   r\  s   &&r   	iter_nextFFreeThreadingTest.test_free_threading_bytearrayiter.<locals>.iter_next@
  s    FFHHr   c                 F    V P                  4        VP                  4        R # r   r  r  s   &&r   iter_reduceHFreeThreadingTest.test_free_threading_bytearrayiter.<locals>.iter_reduceD
  s    FFHMMOr   c                 H    V P                  4        VP                  ^ 4       R# r  )r  __setstate__r  s   &&r   iter_setstateJFreeThreadingTest.test_free_threading_bytearrayiter.<locals>.iter_setstateH
  s    FFHOOAr   c                 &   \         P                  ! \        V 4      4      p. pV  F-  p\         P                  ! WBV3R 7      pVP	                  V4       K/  	  \
        P                  ! V4      ;_uu_ 4         RRR4       R#   + '       g   i     R# ; i)rr  N)rt  ru  rn   rv  r   r   rw  )rx  r\  ry  rz  r   r{  s   &&    r   r  BFreeThreadingTest.test_free_threading_bytearrayiter.<locals>.checkL
  sj    ''E
3GG"))bMJv& 
 "//88 9888s   3A??B	r   r}  N)r   r   r   )r"   r  r  r  r  r  r)  s   &      r   !test_free_threading_bytearrayiter3FreeThreadingTest.test_free_threading_bytearrayiter9
  s    			
	 rA4&=)B9+"DH-9+ 22DH=9+" 44d2h? r   r   N)r.   r/   r0   r1   rb  rc  r   Py_GIL_DISABLEDr   reap_threadsrequires_working_threadingr~  r  r2   r3   r4   s   @r   r  r    s     002fg""002MB 3 # hMB^
 002fg""002!@ 3 # h!@r   r  __main__)6r@  r   r  r  r]  r\   rJ   r   rQ  rE  r7  rt  rb  test.supportr  r   r   r   r   test.string_teststest.list_testsr   r   test.support.script_helperr   rd  r]  r   r   r7   TestCaser  r6  r0  rf  string_testsBaseTestrt  r}  r  r  r   rd  r  r   r  r  r  r  r  r  r  r.   mainr   r   r   <module>r     s     	 	 
          & ) (   9 < 99 vH vHrz.x00 z.zw	XM8#4#4 w	Xt@)) @b&8,, &6d''00 OX->-> ):): \' \'~		 	' '	E 		 	 %L(*;*; %+\83D3D +h&7&7 
w@)) w@t zMMO r   