
    Mh                     :   S SK J r   S SKrS SKrS SKrS SKJr  S SKrS SKJ	r	J
r
JrJrJr  S SKJr  S SKJr  \R&                  S 5       r\R&                  " S\R*                  " S\R,                  R.                  S	9/S
9S 5       rS r\R,                  R5                  SS S/5      \R,                  R5                  SSS/5      S 5       5       rS rS r\R,                  R5                  SSS\" S/5      4\" SSS9S4/5      S 5       rS r\R,                  R5                  S\R@                  \RB                  /5      S 5       r"S r#S r$S  r%\R,                  R5                  S/ S!Q5      S" 5       r&S# r'S$ r(S% r)S& r*S' r+S( r,S) r-S* r.\R,                  R5                  SS S/5      S+ 5       r/\R,                  R5                  SS S/5      S, 5       r0S- r1\R,                  R5                  SS S/5      S. 5       r2S/ r3S0 r4S1 r5\R,                  Rm                  S25      \R,                  R5                  S3S4S5/5      \R,                  R5                  SS6 S7 /S8S9/S:9\R,                  R5                  SSS/5      \R,                  R5                  SS S/5      S; 5       5       5       5       5       r7S< r8S= r9S> r:S? r;S@ r<SA r=SB r>SC r?SD r@SE rASF rBSG rCSH rDSI rESJ rF\R,                  R5                  SK\	" SLSM/SNSO//5      \" SLSNSP.SMSOSP./5      /\	" S S/SQSR//5      \" S SQSP.SSRSP./5      //5      SS 5       rGST rHSU rISV rJ\R,                  R5                  SWSXSY/5      SZ 5       rKS[ rLS\ rMS] rNS^ rO\R,                  R5                  S_S`SaS\R                  /5      Sb 5       rQSc rR\R,                  R5                  SdSeSf 0Sg\	" SeSQSR/05      4SeSh 0S\	" SeSQSR/05      4SeSi 0Sg\" SeSR05      4SeSj 0S\" SeSR05      4SeSk\R                  Sl /0Sg\	" Se/ SmQ0/ SnQSo94SeSk\R                  Sp /0S\	" Se/ SmQ0/ SnQSo94SeSq 0Sg\	" SeSS/05      4SeSr 0S\" SeS05      4/5      Ss 5       rT\R,                  R5                  StSeSu 0SeSv 0SeSk\R                  Sw /0SeSx 0/5      Sy 5       rUSz rVS{ rWS| rX\R,                  R5                  SdS} /Sg\	" S~SQSR/05      4S /S\	" S~SQSR/05      4S /Sg\	" SeSR/0S/So94S /S\	" SeSR/0S/So94Sk\R                  S /Sg\	" Se/ SmQ0/ SnQSo94Sk\R                  S /S\	" Se/ SmQ0/ SnQSo94S S /Sg\	" SQSR/SRSR//SeSe/SS//S94S S /S\	" SeSQSR/0SS/5      4/5      S 5       rY\R,                  R5                  StS /S /Sk\R                  S /S S //5      S 5       rZS r[S r\S r]S r^\R,                  R5                  S_SSQ/5      S 5       r_S r`\R,                  R5                  S/ SQSSQ//5      S 5       raS rbS rcS rdS reS rfS rgS rh\R,                  R5                  SS S S // SQS:9S 5       riS rjS rkS rlS rmS rnS roS rpS rq\R,                  R5                  SSYSX/5      S 5       rr\R,                  R5                  SSYSX/5      S 5       rsS rt\R,                  R5                  SS S/5      \R,                  R5                  SS0 4S0 4S0 4SSSQ04SSSQS.4SSQSS.4SSSQSRS.4/5      S 5       5       ru\R,                  R5                  S/ SQ5      S 5       rvS rw\R,                  R5                  S\	" SeS/SS/S.5      /5      \R,                  R5                  S/ SQ5      S 5       5       rx\R,                  R5                  SSSSSe\R                  /5      S 5       ryS rzS r{S r|S r}S r~S rS rS rS rS r\R,                  R5                  S/ SQ/ SQS./ SQS/S.4/ SQ/ SQS.SQ/S/S.4/5      S 5       rS rS rS rS rg)    )datetimeN)CategoricalDtype)	DataFrame
MultiIndexSeries	Timestamp
date_range)
zip_framesc            	          [        [        R                  " [        R                  " SSS9S5      R	                  SS5      S-   / SQS9n U $ )	z
Fixture for DataFrame of ints which are constant per column

Columns are ['A', 'B', 'C'], with values (per column): [1, 2, 3]
   int64dtype      ABCcolumns)r   nptilearangereshape)dfs    U/var/www/html/env/lib/python3.13/site-packages/pandas/tests/apply/test_frame_apply.pyint_frame_const_colr      sC     

		!7+Q/772>B
B I    pythonnumba)marks)paramsc                 f    U R                   S:X  a  [        R                  " S5        U R                   $ )Nr"   )parampytestimportorskip)requests    r   enginer*   #   s&    }}G$==r    c                    US:X  a8  [         R                  R                  SS9nUR                  R	                  U5        [
        R                  " SS9   [
        R                  " U S   5      nU R                  [
        R                  US9S   n[        R                  " XE5        U R                  [
        R                  US9S   n[
        R                  " U S   5      nXE:X  d   eU R                  S   nU R                  [
        R                  S	US
9n[
        R                  " U R                  U5      5      nXF   U:X  d   eUR                  U R                  L d   e S S S 5        g ! , (       d  f       g = f)Nr"   z+numba engine not supporting numpy ufunc yetreasonignoreallr   r*   r   r   axisr*   )r'   markxfailnode
add_markerr   errstatesqrtapplytmassert_series_equalmeanindexxs)float_framer*   r)   r4   resultexpectedds          r   
test_applyrD   *   s4   {{  (U V%		"S)*$$RWWV$<SA
v0 ""2776":3?77;s+,!!!a ""2776"B77;>>!,-yH$$$||{00000 
#	"	"s   D
E''
E5r3   r   rawTFc                     US:X  a8  [         R                  R                  SS9nUR                  R	                  U5        U R                  S USX#S9nU S-   n[        R                  " Xg5        g )Nr"   z!numba engine doesn't support argsr,   c                 
    X-   $ N xys     r   <lambda>!test_apply_args.<locals>.<lambda>G   s    QUr    r   )argsrE   r*   r   )r'   r4   r5   r6   r7   r:   r;   assert_frame_equal)r@   r3   rE   r*   r)   r4   rA   rB   s           r   test_apply_argsrR   @   sm     {{  (K L%Dt  F QH&+r    c                      [        / SQ/ SQS.5      n U R                  S 5      nUR                  S:X  d   e[        US   R                  [
        5      (       d   e[        US   R                  [
        5      (       d   eg )N)r   r   r   r   )r   r   DrT   c0c1c                 $    U R                  S5      $ )Ncategoryastype)tss    r   rM   -test_apply_categorical_func.<locals>.<lambda>P   s    :!6r    )      rV   rW   )r   r:   shape
isinstancer   r   r   rA   s     r   test_apply_categorical_funcrc   M   sp    	.6JK	LBXX67F<<6!!!fTl((*:;;;;fTl((*:;;;;r    c                  ~    [        S[        SSS9/05      n U R                  S SS9n[        R                  " X5        g )Nr   
2013-01-01UTCtzc                     U $ rH   rI   rK   s    r   rM   *test_apply_axis1_with_ea.<locals>.<lambda>Z       ar    r   r3   r   r   r:   r;   rQ   rB   rA   s     r   test_apply_axis1_with_earp   W   s;    #	,5 ABCDH^^Ka^0F&+r    zdata, dtype)r   Nre   rf   rg   c                 t    [        U /U //SS/US9nUR                  S SS9n[        R                  " X25        g )Na)r>   r   c                     U $ rH   rI   rj   s    r   rM   0test_agg_axis1_duplicate_index.<locals>.<lambda>e   s    Ar    r   rm   r   aggr;   rQ   )datar   rB   rA   s       r   test_agg_axis1_duplicate_indexrx   ^   s?     4&4&)#s5IH\\+A\.F&+r    c                      [        [        SSS9[        R                  " [        R
                  " S5      SS9S.5      n U R                  S SS	9n[        R                  " X5        g )
N20130101r   periodss)unitr   r   c                     U $ rH   rI   rj   s    r   rM   /test_apply_mixed_datetimelike.<locals>.<lambda>r   rl   r    r   rm   )	r   r	   pdto_timedeltar   r   r:   r;   rQ   ro   s     r   test_apply_mixed_datetimeliker   i   sU     J21C8	
H ^^Ka^0F&+r    funcc                 \    [        5       nUR                  XS9nUR                  (       d   eg )Nr1   )r   r:   empty)r   r*   empty_framerA   s       r   test_apply_emptyr   v   s*     +Kt3F<<<r    c                 Z   U S S nUR                  S US9n[        [        R                  U R                  S9n[
        R                  " X45        U R                  S S 2/ 4   nUR                  S SUS9n[        [        R                  U R                  S9n[
        R                  " X45        g )Nr   c                 "    U R                  5       $ rH   r=   rj   s    r   rM   (test_apply_float_frame.<locals>.<lambda>   
    QVVXr    r1   r>   c                 "    U R                  5       $ rH   r   rj   s    r   rM   r      r   r    r   r2   )	r:   r   r   nanr   r;   r<   locr>   )r@   r*   no_rowsrA   rB   no_colss         r   test_apply_float_framer      s    "1oG]]-f]=FbffK$7$78H6,ooae$G]]-Af]EFbffK$5$56H6,r    c                 h    [        S/S9nUR                  S SU S9n[        R                  " X!5        g )Nrr   r   c                     U S   $ )Nrr   rI   rj   s    r   rM   /test_apply_empty_except_index.<locals>.<lambda>   s    afr    r   r2   r   r:   r;   rQ   )r*   rB   rA   s      r   test_apply_empty_except_indexr      s1    u%H^^,1V^DF&+r    c                  *   [        5       n / nU R                  UR                  SSS9n[        R                  " X 5        U R                  UR                  SSS9n[        / [        R                  S9n[        R                  " X#5        [        / SQS9nUR                  UR                  SSS9n[        R                  " X$5        UR                  UR                  SSS9n[        / [        R                  S9n[        R                  " X#5        U/ :X  d   eg )Nr   expandr3   result_typereducer   rr   bcr   )	r   r:   appendr;   rQ   r   r   float64r<   )r   rK   rA   rB   empty_with_colss        r   test_apply_with_reduce_emptyr      s    +K
AqxxaXFF&.qxxaXFFb

+H6,8O""188!"JF&2""188!"JFb

+H6, 7N7r    )sumprodanyr0   c                     [        / SQS9nUR                  [        [        U 5      5      n[        X5      " 5       nU S;   a  UR	                  [
        5      n[        R                  " X#5        g )Nr   r   )r   r   )r   r:   getattrr   r[   floatr;   r<   )r   r   rA   rB   s       r   test_apply_funcs_over_emptyr      sT     
?	+BXXgb$'(Fr "H??5)6,r    c                     [        / SQS9n U R                  5       n[        SU R                  S9n[        R
                  " X5        U R                  R                  5       n[        / [        R                  S9n[        R
                  " X5        g )Nr   r   r   r   r   )	r   nuniquer   r   r;   r<   Tr   r   r   rA   rB   s      r   test_nunique_emptyr      sb    	?	+BZZ\Farzz*H6,TT\\^Fb

+H6,r    c                      [        / SQ/ SQ/ SQ// SQS9n U R                  S SS9n[        / S	Q/ SQ5      n[        R                  " X5        U R
                  R                  S
 SS9n[        R                  " X5        g )Nr   r_   r   )r^      r   )      	   )rr   rr   r   r   c                     U S   $ Nr   rI   r}   s    r   rM   /test_apply_standard_nonunique.<locals>.<lambda>       !r    r   rm   )r   r^   r   c                     U S   $ r   rI   r   s    r   rM   r      s    !A$r    r   )r   r:   r   r;   r<   r   r   s      r   test_apply_standard_nonuniquer      se    	Iy)4O	LBXXn1X-Fi1H6,TTZZQZ/F6,r    c                     U R                  [        R                  SS9n[        U R                  5       /U R                  S9n[
        R                  " X5        g )N	broadcastr   r   )r:   r   r=   r   r>   r;   rQ   r@   rA   rB   s      r   test_apply_broadcast_scalarsr      sG    rwwK@F+**,-[5F5FGH&+r    c                     U R                  [        R                  SSS9nU R                  SS9n[        U R                   Vs0 s H  o3U_M     sn5      n[
        R                  " X5        g s  snf )Nr   r   r   rm   )r:   r   r=   r   r   r;   rQ   r@   rA   mr   rB   s        r   "test_apply_broadcast_scalars_axis1r      sf    rwwQKHFa A(;(;<(;1Q$(;<=H&+ =s   A,c                   ^  T R                  U 4S jSSS9n[        [        [        T R                  5      5      5      n[        U/[        T R                  5      -  ST R                  T R                  S9n[        R                  " X5        g )Nc                 R   > [        [        [        TR                  5      5      5      $ rH   )listrangelenr   rK   r@   s    r   rM   4test_apply_broadcast_lists_columns.<locals>.<lambda>   s    $uS!4!4567r    r   r   r   r   )r   r>   r   )	r:   r   r   r   r   r   r>   r;   rQ   )r@   rA   r   rB   s   `   r   "test_apply_broadcast_lists_columnsr      s    7  F
 	U3{**+,-A	
c+##$$##	H &+r    c                   ^  T R                  U 4S jSS9n[        [        [        T R                  5      5      5      n[        T R                   Vs0 s H  o3U_M     snST R                  S9n[        R                  " X5        g s  snf )Nc                 R   > [        [        [        TR                  5      5      5      $ rH   )r   r   r   r>   r   s    r   rM   2test_apply_broadcast_lists_index.<locals>.<lambda>   s    $uS!2!2345r    r   r   r   )r   r>   )	r:   r   r   r   r>   r   r   r;   rQ   r   s   `    r    test_apply_broadcast_lists_indexr      s    5;  F 	U3{(()*+A"**+*!A*+H
 &+	 	,s   Bc                 X    U nUR                  S SSS9n[        R                  " X!5        g )Nc                 
    / SQ$ Nr   rI   rj   s    r   rM   7test_apply_broadcast_list_lambda_func.<locals>.<lambda>       	r    r   r   r   r:   r;   rQ   )r   r   rA   s      r   %test_apply_broadcast_list_lambda_funcr      s*    	BXX){XKF&%r    c                 x    U nUR                  S SSS9nUR                  5       n[        R                  " X#5        g )Nc                 ,    [        / SQ[        S5      S9$ )Nr   abcr   )r   r   rj   s    r   rM   9test_apply_broadcast_series_lambda_func.<locals>.<lambda>  s    &$u+6r    r   r   r   )r:   copyr;   rQ   r   r   rA   rB   s       r   'test_apply_broadcast_series_lambda_funcr      s>    	BXX6  F
 wwyH&+r    c                 d    US:X  a  [         R                  " S5        S nU R                  X1USS9  g )Nr"   z)numba can't handle when UDF returns None.c                 j    [        U [        R                  5      (       d   eU R                  S:X  d   eg Nr   ra   r   ndarrayndimrj   s    r   _assert_raw/test_apply_raw_float_frame.<locals>._assert_raw  )    !RZZ((((vv{{r    Tr3   r*   rE   )r'   skipr:   )r@   r3   r*   r   s       r   test_apply_raw_float_framer   
  s3    ?@ kVFr    c                     U R                  [        R                  XSS9nU R                  S US9n[        R                  " X45        g )NTr   c                 6    U R                   R                  5       $ rH   )valuesr=   rj   s    r   rM   3test_apply_raw_float_frame_lambda.<locals>.<lambda>  s    188==?r    rm   )r:   r   r=   r;   r<   )r@   r3   r*   rA   rB   s        r   !test_apply_raw_float_frame_lambdar     sA    rwwTdKF  !: FH6,r    c                 ^    U R                  S USS9nU S-  n[        R                  " X#5        g )Nc                     U S-  $ Nr_   rI   rj   s    r   rM   9test_apply_raw_float_frame_no_reduction.<locals>.<lambda>  s    Qr    T)r*   rE   r_   r   )r@   r*   rA   rB   s       r   'test_apply_raw_float_frame_no_reductionr     s0    v4HFQH&+r    c                    US:X  a  [         R                  " S5        S n[        SSS[        R                  " S/S-  SS	9[        R                  " S
/S-  SS	9S.[        R
                  " S5      S9nUR                  X USS9  g )Nr"   z(isinstance check doesn't work with numbac                 j    [        U [        R                  5      (       d   eU R                  S:X  d   eg r   r   rj   s    r   r   4test_apply_raw_mixed_type_frame.<locals>._assert_raw)  r   r          ?r_   foo
   float32r   r   int32)rr   r   r   r   r   r   Tr   )r'   r   r   r   arrayr   r:   )r3   r*   r   r   s       r   test_apply_raw_mixed_type_framer  $  s    >?
 
xx
)<XXqcBhg6	
 iim	
B HH[FH=r    c                     U R                   S   nU R                  [        R                  SS9U   n[        R                  " U R	                  U5      5      nX#:X  d   eg )Nr   r   rm   )r>   r:   r   r=   r?   )r@   rC   rA   rB   s       r   test_apply_axis1r  ;  sS    !ArwwQ/2Fww{~~a()Hr    c                      [        S/S/S.5      n U S S R                  [        R                  SS9n[	        [        R
                  [        R                  " / SS9S	9n[        R                  " X5        g )
Nr   r   r   r   r   rm   r   r   r   )
r   r:   r   r=   r   r   r   Indexr;   r<   r   s      r   test_apply_mixed_dtype_cornerr  B  s\    	%u-	.BV\\"''\*F bffBHHRw$?@H6,r    c                      [        S/S/S.5      n U R                  S SS9n[        S/S/S9n[        R                  " X5        U R                  S	 SS9n[        S/S/S9n[        R                  " X5        g )
Nr   r   r   c                     U S   $ )Nr   rI   rj   s    r   rM   8test_apply_mixed_dtype_corner_indexing.<locals>.<lambda>M      #r    r   rm   r   r   c                     U S   $ )Nr   rI   rj   s    r   rM   r
  Q  r  r    )r   r:   r   r;   r<   r   s      r   &test_apply_mixed_dtype_corner_indexingr  K  sw    	%u-	.BXX&QX/FugaS)H6,XX&QX/FseA3'H6,r    zignore::RuntimeWarningaxr>   r   c                     U $ rH   rI   rj   s    r   rM   rM   Y      qr    c                 "    U R                  5       $ rH   r   rj   s    r   rM   rM   Y  s
    AFFHr    identityr=   )idsc                    [        S0 U / SQ0D6n[        R                  " SS9   U" [        R                  " / SS95      n[	        U[        R
                  5      (       + nUR                  XXBS9n	U(       a:  UR                  U5      n
[	        U	[        5      (       d   eU	R                  U
L d   eO[	        U	[         5      (       d   eS S S 5        g ! , (       d  f       g = f)Nr   r.   r/   f8r   r   rI   )
r   r   r8   r  ra   r   r:   _get_agg_axisr   r>   )r  r   rE   r3   r*   r)   r   test_resis_reductionrA   agg_axiss              r   test_apply_empty_infer_typer  V  s     
	+b/*	+B		"401%h

;;$&B''-Hff----<<8+++fi0000 
#	"	"s   B#C
Cc                  j    [        / SQS9n U R                  S SS9n[        U[         5      (       d   eg )Nr   r   c                 "    U R                  5       $ rH   r   rj   s    r   rM   7test_apply_empty_infer_type_broadcast.<locals>.<lambda>o  r   r    r   r   )r   r:   ra   )r   rA   s     r   %test_apply_empty_infer_type_broadcastr  m  s2    o.G]]-;]GFfi((((r    c                 ~    SS jnU R                  USS9nU R                  S 5      n[        R                  " X#5        g )Nc                 
    X-   $ rH   rI   rK   howmuchs     r   add_some4test_apply_with_args_kwds_add_some.<locals>.add_somet  s
    {r    r_   r"  c                     U S-   $ r   rI   rj   s    r   rM   4test_apply_with_args_kwds_add_some.<locals>.<lambda>x  s    1q5r    r   r   )r@   r#  rA   rB   s       r   "test_apply_with_args_kwds_add_somer)  s  s<     x3F  1H&+r    c                 ~    SS jnU R                  USS9nU R                  S 5      n[        R                  " X#5        g )Nc                 (    U R                  5       U-   $ rH   r   r!  s     r   agg_and_add:test_apply_with_args_kwds_agg_and_add.<locals>.agg_and_add}  s    vvx'!!r    r_   r%  c                 (    U R                  5       S-   $ r   r   rj   s    r   rM   7test_apply_with_args_kwds_agg_and_add.<locals>.<lambda>  s    1668a<r    r(  )r:   r;   r<   )r@   r,  rA   rB   s       r   %test_apply_with_args_kwds_agg_and_addr0  |  s=    " {A6F  !78H6,r    c                     SS jnU R                  USSS9nU R                  S 5      n[        R                  " X#5        g )Nc                     X-
  U-  $ rH   rI   )rK   subdivides      r   subtract_and_divideJtest_apply_with_args_kwds_subtract_and_divide.<locals>.subtract_and_divide  s    6!!r    )r_   r_   )rP   r4  c                     U S-
  S-  $ )N       @rI   rj   s    r   rM   ?test_apply_with_args_kwds_subtract_and_divide.<locals>.<lambda>  s    AGs?r    rO   r   )r@   r5  rA   rB   s       r   -test_apply_with_args_kwds_subtract_and_divider:    s@    " 2aHF  !:;H&+r    c                 Z    U R                  [        5      n[        R                  " X5        g rH   )r:   r   r;   rQ   )r@   rA   s     r   test_apply_yield_listr<    s     t$F&.r    c                    [         R                  U R                  S S S2U R                  R	                  S5      4'   U R                  S5      nU R                  [         R
                  SS9n[        R                  " X!5        g )Nr_   r   r   rm   )	r   r   ilocr   get_locr=   r:   r;   r<   )r@   rB   rA   s      r   test_apply_reduce_Seriesr@    sg    >@ffKSqS+--55c::;"HrwwQ/F6,r    c                  F   [        SS/SS//SS/SS/S	9n U R                  [        S
S9n[        SSS.SSS./U R                  S9n[
        R                  " X5        U R                  [        SS9n[        SSS.SSS./U R                  S9n[
        R                  " X5        g )Nr   r_   r   r^   rV   rW   i0i1r   r>   r   rm   )rB  rC  r   rU   )r   r:   dictr   r   r;   r<   r>   )rw   rA   rB   s      r   test_apply_reduce_to_dictrF    s    q!fq!f%d|D$<PDZZ1Z%Faq)!1+=>dllSH6,ZZ1Z%Faq)!1+=>djjQH6,r    c            	         [        [        R                  R                  S5      R	                  S5      5      n U R                  [        R                  SS9n[        U R                  5        VVs0 s H  u  p#X#R                  5       _M     snnU R                  S9n[        R                  " X5        U R                  [        R                  SS9n[        U R                  R                  5        VVs0 s H  u  p#X#R                  5       _M     snnU R                  S9R                  n[        R                  " X5        g s  snnf s  snnf )Nr_   )   r   r   rm   r   r   )r   r   randomdefault_rngstandard_normalr:   r   describeitemsr   r;   rQ   r   r>   )r   rA   ivrB   s        r   test_apply_differently_indexedrP    s    	299((+;;HE	FBXXfooAX.FbhhjAjda!ZZ\/jA2::VH&+XXfooAX.FbddjjlClda!ZZ\/lCRXXVXXH&+ B Ds   .D?
1E
c                  ~   [        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ// SQS9n S	 nU R                  US
S9n[        [        SS
S
5      SS/[        SS
S5      SS/[        SS
S5      SS/[        SS
S5      SS/[        SS
S5      SS/[        SS
S5      SS/// SQS9n U R                  US
S9n[        R                  " X25        g )N)r   ABC02   )r   YUM0rH  )r   DEF0rH  )r_   ABC1rS  )r_   YUM1rH  )r_   DEF1rH  )rr   marketpositionr   c                     U S   $ )NrY  rI   )rs    r   ftest_apply_bug.<locals>.f  s    {r    r   rm   i  rR  rS  r_   rT  rH  r   rU  r^   rV  r   rW  r   rX  )r   r:   r   r;   r<   )	positionsr]  rB   rA   s       r   test_apply_bugr`    s    	
 ,
I qq)HdAq!62.dAq!62.dAq!62.dAq!62.dAq!62.dAq!62.	
 ,
I __QQ_'F6,r    c            
         [        / SQ/ SQ/ SQ[        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      S.5      n U R                  S SS	9n[        R                  " X5        g )
N)r   r   r   r   barrb  rb  rb  r   r   r   )onerc  rc  tworc  rc  rc  rd  rd  rd  rc  )dullre  shinyre  re  rf  rf  re  rf  rf  rf  r_      )r   r   r   rT   EFc                     U $ rH   rI   rj   s    r   rM   ,test_apply_convert_objects.<locals>.<lambda>  rl   r    r   rm   )r   r   rI  rJ  rK  r:   r;   rQ   ro   s     r   test_apply_convert_objectsrl    s     &&q)99"=&&q)99"=&&q)99"=U+	
-H^ ^^Ka^0F&+r    c                     U R                  S 5      n[        U R                  U R                  S9n[        R                  " X5        g )Nc                     U R                   $ rH   namerj   s    r   rM   (test_apply_attach_name.<locals>.<lambda>
      r    r   )r:   r   r   r;   r<   r   s      r   test_apply_attach_namers  	  s9    /0Fk))1D1DEH6,r    c                     U R                  S SS9n[        U R                  U R                  S9n[        R                  " X5        g )Nc                     U R                   $ rH   ro  rj   s    r   rM   .test_apply_attach_name_axis1.<locals>.<lambda>  rr  r    r   rm   r   )r:   r   r>   r;   r<   r   s      r   test_apply_attach_name_axis1rw    s>    /a8Fk''{/@/@AH6,r    c                     U R                  S 5      n[        [        R                  " U R                  [        U R                  5      S45      U R                  U R                  S9n[        R                  " X5        g )Nc                 V    [         R                  " U R                  [        U 5      5      $ rH   r   repeatrp  r   rj   s    r   rM   6test_apply_attach_name_non_reduction.<locals>.<lambda>      1663q6)Br    r   r>   r   )	r:   r   r   r   r   r   r>   r;   rQ   r   s      r   $test_apply_attach_name_non_reductionr    sc    BCF
##c+*;*;&<a%@A##H
 &+r    c                    ^  T R                  S SS9n[        U 4S jT R                  5        5       5      nT R                  Ul        [        R
                  " X5        g )Nc                 V    [         R                  " U R                  [        U 5      5      $ rH   rz  rj   s    r   rM   <test_apply_attach_name_non_reduction_axis1.<locals>.<lambda>!  r}  r    r   rm   c              3   ~   >#    U  H2  n[         R                  " US    [        TR                  5      5      v   M4     g7f)r   N)r   r{  r   r   ).0tr@   s     r   	<genexpr>=test_apply_attach_name_non_reduction_axis1.<locals>.<genexpr>"  s2      ;Sa		!A$K//011;Ss   :=)r:   r   
itertuplesr>   r;   r<   r   s   `  r   *test_apply_attach_name_non_reduction_axis1r     sV    BKF ;F;Q;Q;S H !&&HN6,r    c                      [         R                  " / SQ/ SQ/5      n [        SS/SS/SS//U S	S
/S9nUR                  S S5      n[        SS/SS/SS//U SS/S9n[        R
                  " X#SS9  g )N)rr   rr   r   )r   rC   rC   r   r_   r   r^   r   r   col1col2r~  c                 B    [        [        U 5      [        U 5      S.5      $ )N)minmax)r   r  r  rj   s    r   rM   (test_apply_multi_index.<locals>.<lambda>,  s    vc!fSV&DEr    r  r  T
check_like)r   from_arraysr   r:   r;   rQ   )r>   r}   rA   rB   s       r   test_apply_multi_indexr  )  s    ""O_#EFEAq6Aq6Aq6*%&&AQRAWWEqIF1a&1a&1a&1PUWH&t<r    z	df, dictsr   rb  spameggs)r   r   r_   r   c                     S nU R                  USS9nU R                  USS9nU R                  U5      n[        R                  " X15        [        R                  " X@5        [        R                  " XQ5        g )Nc                 "    U R                  5       $ rH   )to_dictrj   s    r   rM   !test_apply_dict.<locals>.<lambda>=  s
    199;r    r   r   r   )r:   r;   r<   rQ   )r   dictsfnreduce_truereduce_falsereduce_nones         r   test_apply_dictr  1  sd     
B((28(4K88BH85L((2,K;.,+;.r    c            	          [        S[        SSSS905      n U R                  S 5      n[        R                  " X5        U R                  S 5      n[        S[        SSSS905      n[        R                  " X5        g )	Ndtz
2015-01-01r   zEurope/Brussels)r|   rh   c                     U $ rH   rI   rj   s    r   rM   ,test_apply_non_numpy_dtype.<locals>.<lambda>J      r    c                 4    U [         R                  " S5      -   $ )N1day)r   	Timedeltarj   s    r   rM   r  M  s    BLL$8 8r    z
2015-01-02)r   r	   r:   r;   rQ   r   s      r   test_apply_non_numpy_dtyper  G  sr    	D*\1ARST	UBXXk"F&%XX89F	z,6GHIH &+r    c                  p    [        S/ SQ0SS9n U R                  S 5      n[        R                  " X5        g )Nr  )rr   r   r   rr   rY   r   c                     U $ rH   rI   rj   s    r   rM   5test_apply_non_numpy_dtype_category.<locals>.<lambda>V  r  r    r   rb   s     r   #test_apply_non_numpy_dtype_categoryr  T  s0    	D./z	BBXXk"F&%r    c                      [        SS/SS//SS/S9n [        SS//SS/S/S9nU R                  S/5      n[        R                  " X!5        g )	Nr   r   r_   r   rr   r   r  rD  ru   r   rB   rA   s      r   test_apply_dup_names_multi_aggr  Z  sV    	QFQF#c3Z	8B1a&C:eWEHVVUG_F&+r    opr:   rv   c                     S n[        [        R                  " S5      [        S5      S9n[	        X 5      " USS9n[        / SQ/ SQ/ SQ/ SQ/5      n[        R                  " X45        g )Nc                 0    SU S   -  SU S   -  SU S   -  /$ )Nr_   r   r   r   rI   rows    r   
apply_list3test_apply_nested_result_axis_1.<locals>.apply_listf  s'    CHa#c(lACL99r    )r^   r^   ABCDr   r   rm   )        r  r  )r   r   zerosr   r   r   r;   r<   )r  r  r   rA   rB   s        r   test_apply_nested_result_axis_1r  c  sX    : 
288F#T&\	:BR_Za0F	/?OLH 6,r    c                      [        S[        SSS9/0SS9n U R                  S 5      n[        R                  " X5        U R                  S 5      n[        R                  " X5        g )	Nr   2020rf   rg   zdatetime64[ns, UTC]r   c                     U $ rH   rI   rj   s    r   rM   7test_apply_noreduction_tzaware_object.<locals>.<lambda>v  rl   r    c                 "    U R                  5       $ rH   )r   rj   s    r   rM   r  x  s
    affhr    rn   ro   s     r   %test_apply_noreduction_tzaware_objectr  q  s\    	6e,-.6KH ^^K(F&+^^./F&+r    c                     ^ [        S/ SQ05      n / mU4S jnU4S jnX4 H3  nTS S 2	 U R                  USS9  T[        U R                  5      :X  a  M3   e   g )Nrr   r   c                 <   > TR                  U R                  5        g rH   r   rp  r  namess    r   reducing_function8test_apply_function_runs_once.<locals>.reducing_function  s    SXXr    c                 >   > TR                  U R                  5        U $ rH   r  r  s    r   non_reducing_function<test_apply_function_runs_once.<locals>.non_reducing_function  s    SXX
r    r   rm   )r   r:   r   r>   )r   r  r  r   r  s       @r   test_apply_function_runs_oncer  |  s_     
C#	$BE #:!H
ARXX&&&	 ;r    c                 
  ^ U S:X  a  [         R                  " S5        [        S/ SQ05      n/ mU4S jnU4S jnX#4 HB  nTS S 2	 UR                  X@SSS	9  T[	        UR
                  R                  5       5      :X  a  MB   e   g )
Nr"   z8appending to list outside of numba func is not supportedrr   r   c                 (   > TR                  U 5        g rH   extendr  r   s    r   r  <test_apply_raw_function_runs_once.<locals>.reducing_function  s    cr    c                 *   > TR                  U 5        U $ rH   r  r  s    r   r  @test_apply_raw_function_runs_once.<locals>.non_reducing_function  s    c
r    Tr   )r*   rE   r3   )r'   r   r   r:   r   rr   to_list)r*   r   r  r  r   r   s        @r   !test_apply_raw_function_runs_oncer    s{    NO	C#	$BF #:1I
$Q7bddlln----	 ;r    c                      [        [        R                  " SS/5      S/S9n [        [        R                  " SS/5      S/[        S9nU R	                  S 5      n[
        R                  " X!5        g )Ns   abcds   efghcolr   )r   r   c                 $    U R                  S5      $ )NobjectrZ   rj   s    r   rM   -test_apply_with_byte_string.<locals>.<lambda>  s     2r    )r   r   r  r  r:   r;   rQ   r  s      r   test_apply_with_byte_stringr    s[    	288Wg./%	AB7G"45wfUH XX23F&+r    valasd   c                 P  ^  SS SSS[         R                  /n[        SU0SS9nUR                  R	                  U 4S j5      n[        U Vs/ s H3  n[        R                  " U5      (       a  [         R                  OUT :H  PM5     snSS9n[        R                  " X55        g s  snf )	Nr  r  cderr   rY   r   c                    > U T:H  $ rH   rI   )rK   r  s    r   rM   /test_apply_category_equalness.<locals>.<lambda>  s	    !s(r    ro  )
r   r   r   rr   r:   r   r   isnullr;   r<   )r  	df_valuesr   rA   rK   rB   s   `     r   test_apply_category_equalnessr    s     b%7I	C#:	6BTTZZ*+F7@Ay!299Q<<Q#X	-yAH 6, 	Bs   :B#c                  Z   [        [        R                  R                  S5      R                  S5      5      n U R	                  [        R
                  R
                  SS9R                  nUS:X  d   eU R	                  [        R
                  R                  SS9R                  nUS:X  d   eg )Nr_   )r   r_   r   rm   )r   r_   )r   r   rI  rJ  r:   fftr`   rfftrb   s     r   test_infer_row_shaper    s     
299((+227;	<BXXbffjjqX)//FWXXbffkkX*00FVr    zops, by_row, expectedrr   c                     U S-   $ r   rI   rj   s    r   rM   rM         Qr    compatc                     U S-   $ r   rI   rj   s    r   rM   rM     r  r    c                 "    U R                  5       $ rH   r   rj   s    r   rM   rM     
    r    c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM     r  r    r   c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM     
    AEEGr    )r   r   r   )r   r   <lambda>r   c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM     r  r    c                     gr   rI   rj   s    r   rM   rM         r    c                     gr   rI   rj   s    r   rM   rM     r  r    c                 l    [        SSS/05      nUR                  XS9n[        R                  " XB5        g Nrr   r   r_   by_rowr   r:   r;   assert_equalopsr  rB   r   rA   s        r   test_dictlike_lambdar    s2    . 
C!Q=	!BXXcX)FOOF%r    r  c                     U S-   $ r   rI   rj   s    r   rM   rM     s    Ar    c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM     s
    r    c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM     s
    r    c                     gr   rI   rj   s    r   rM   rM     s    r    c                     [        SSS/05      n[        R                  " [        SS9   UR	                  U SS9  S S S 5        g ! , (       d  f       g = fNrr   r   r_   zby_row=True not allowedmatchTr  r   r'   raises
ValueErrorr:   r  r   s     r   test_dictlike_lambda_raisesr    B     
C!Q=	!B	z)B	C
T" 
D	C	C   A
Ac                     [        SS/SS//SS/S9n U R                  S SS9n[        U R                  5        Vs/ s H  nSS	0PM	     sn5      n[        R
                  " X5        [        S
5      [        S5      /U S'   U R                  S SS9n[        R
                  " X5        U S   U S   -   R                  S 5      n[        SS	0SS	0/5      n[        R
                  " X5        g s  snf )Nr   r_   rr   r   r   c                     SU S   U S   -   0$ Nr}   rr   r   rI   rj   s    r   rM   ,test_with_dictlike_columns.<locals>.<lambda>      afqvo 6r    rm   r}   r   2017-05-01 00:00:002017-05-02 00:00:00r;   c                     SU S   U S   -   0$ r  rI   rj   s    r   rM   r    r  r    c                 
    SU 0$ )Nr}   rI   rj   s    r   rM   r    s    #qr    )r   r:   r   r  r;   r<   r   r   rA   r  rB   s       r   test_with_dictlike_columnsr    s    	QFQF#c3Z	8BXX6QX?F9AQx9:H6, 	'('(BtH XX6QX?F6, g3&&'9:FQx#q*+H6, :s   C)c                      [        5       n / SQU S'   / SQU S'   [        R                  " / SQSS9U S'   U R                  S	 S
S9n[	        0 0 0 /5      n[
        R                  " X5        g )N)XYZauthor)BBCNBCN24	publisher)z17-10-2010 07:15:30z13-05-2011 08:20:35z15-01-2013 09:09:09T)dayfirstdatec                     0 $ rH   rI   rj   s    r   rM   :test_with_dictlike_columns_with_datetime.<locals>.<lambda>      r    r   rm   )r   r   to_datetimer:   r   r;   r<   r   s      r   (test_with_dictlike_columns_with_datetimer,    se    	B"BxL+B{OMBvJ XXlX+Fr2rl#H6,r    c                     [        SS/SS//SS/S9n U R                  S SSS9n[        S	S
S
/05      n[        R                  " X5        [	        S5      [	        S5      /U S'   U R                  S SSS9n[        R                  " X5        g )Nr   r_   rr   r   r   c                     SU S   U S   -   0$ r  rI   rj   s    r   rM   7test_with_dictlike_columns_with_infer.<locals>.<lambda>  r  r    r   r   r}   r   r  r  r;   c                     SU S   U S   -   0$ r  rI   rj   s    r   rM   r/  &  r  r    )r   r:   r;   rQ   r   r   s      r   %test_with_dictlike_columns_with_inferr1    s    	QFQF#c3Z	8BXX6QHXUF#1v'H&+ 	'('(BtH XX6QHXUF&+r    c                     U S-   $ r   rI   rj   s    r   rM   rM   -      AEr    )rr   r  c                     U S-   $ r   rI   rj   s    r   rM   rM   .  r3  r    c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM   /  
    AEEGr    r  c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM   0  r6  r    c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM   2  
    aeegr    c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM   7  r9  r    c                     U S-   $ r   rI   rj   s    r   rM   rM   <  s    q1ur    c                     gNr   rI   rj   s    r   rM   rM   <  s    r    r   c                     gr   rI   rj   s    r   rM   rM   A  s    qr    c                     gr=  rI   rj   s    r   rM   rM   A      Ar    c                 l    [        SSS/05      nUR                  XS9n[        R                  " XB5        g r  r  r   s        r   test_listlike_lambdarB  *  s2    > 
C!Q=	!BXXcX)FOOF%r    c                     U S-   $ r   rI   rj   s    r   rM   rM   Q      1q5r    c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM   R  s
    1557r    c                 "    U R                  5       $ rH   r  rj   s    r   rM   rM   S  s
    !%%'r    c                     U S-   $ r   rI   rj   s    r   rM   rM   T  rD  r    c                     gr=  rI   rj   s    r   rM   rM   T  r@  r    c                     [        SSS/05      n[        R                  " [        SS9   UR	                  U SS9  S S S 5        g ! , (       d  f       g = fr  r  r  s     r   test_listlike_lambda_raisesrJ  N  r  r  c            
      6   [        [        [        R                  R	                  S5      R                  S5      5      / SQ[        SSSS9S.5      n U SS	/   R                  [        S
S9n[        U SS	/   R                  5        Vs/ s H  o"S
S  PM	     sn5      n[        R                  " X5        U SS/   R                  [        S
S9n[        U SS/   R                  5        Vs/ s H  o"S
S  PM	     sn5      n[        R                  " X5        g s  snf s  snf )Nr_   r^   )rr   r   ofwordsz
2016-10-01h)r|   freq)rr   r   r\   rr   r   r   rm   r\   )r   r   r   rI  rJ  rK  r	   r:   tupler  r;   r<   r  s       r   test_with_listlike_columnsrQ  ^  s   			--a0@@CD-\13?	

B c
^!!%a!0Fb#sn&?&?&AB&Au&ABCH6,d_""5q"1Fb#to&@&@&BC&Bu&BCDH6, C Ds   D%Dc                     [        [        SS/S//5      [        S/SS//5      S.5      n [        R                  " SS/5      U l        U R                  S	 S
S9n[        / S//U R                  S9n[        R                  " X5        g )Nrr   r   qzr  rJ   )rB  j0)rC  j1c                 L    U S    Vs/ s H  oU S   ;   d  M  UPM     sn$ s  snf )NrK   rL   rI   )r  els     r   rM   ;test_with_listlike_columns_returning_list.<locals>.<lambda>v  s"    C"K"#c(N2"K"Ks   !!r   rm   r   )r   r   r   from_tuplesr>   r:   r;   r<   r   s      r   )test_with_listlike_columns_returning_listr[  q  s    	#scU 346C53PS*BU;VW	XB%%|\&BCBHXXKRSXTFrC5k2H6,r    c                  (   [        SS/SS/[        S5      [        S5      /S.5      n U R                  S S	S
9n[        U R	                  5        Vs/ s H  o"R
                  UR                  4PM     sn5      n[        R                  " X5        g s  snf )Nr   r8  r   rb  z2017-11-29 03:30:00z2017-11-29 03:45:00)numberstringr   c                 2    U R                   U R                  4$ rH   )r]  r^  r  s    r   rM   1test_infer_output_shape_columns.<locals>.<lambda>  s    3::szz":r    r   rm   )	r   r   r:   r   r  r]  r^  r;   r<   r  s       r   test_infer_output_shape_columnsra  {  s     
Cjen/0/0	
	
B XX:XCFR]]_E_!((+_EFH6, Fs   !Bc                     [        [        R                  R                  S5      R	                  S5      / SQS9n U R                  S SS9n[        U R                  5        Vs/ s H  n/ SQPM	     sn5      n[        R                  " X5        U R                  S	 SS9n[        U R                  5        Vs/ s H  nSS/PM	     sn5      n[        R                  " X5        g s  snf s  snf )
Nr_   )r   r   r   r   c                 
    / SQ$ r   rI   rj   s    r   rM   :test_infer_output_shape_listlike_columns.<locals>.<lambda>  r   r    r   rm   r   c                 
    SS/$ Nr   r_   rI   rj   s    r   rM   rd        Ar    
r   r   rI  rJ  rK  r:   r   r  r;   r<   r  s       r   (test_infer_output_shape_listlike_columnsri    s     

		a 008/
B XX)X2F"--/:/Qy/:;H6,XX&QX/Fr}}7!1v78H6, ; 8s   !C 4C%c                    ^  [        S/ SQ0[        S5      S9nUR                  U 4S jSS9n[        UR	                  5        Vs/ s H  n[
        R                  " T 5      PM     snUR                  S9n[        R                  " X$5        g s  snf )Nrr   r   r   r   c                 0   > [         R                  " T5      $ rH   )r   ones)r  r  s    r   rM   Btest_infer_output_shape_listlike_columns_np_func.<locals>.<lambda>  s    "''#,r    r   rm   )
r   r   r:   r   r  r   rl  r>   r;   r<   )r  r   rA   r  rB   s   `    r   0test_infer_output_shape_listlike_columns_np_funcrn    sm     
C#4;	7BXX.QX7FR]]_=_rwws|_=RXXNH6, >s    Bc                  0   [        [        S5      [        S5      [        S5      [        S5      // SQ/ SQ/ SQS.5      n S	 nU R                  US
S9n[        U R	                  5        Vs/ s H  nSPM     sn5      n[
        R                  " X$5        g s  snf )Nz
2010-02-01z
2010-02-04z
2010-02-05z
2010-02-06)r   r   r^   r   )r   r   r^   r_   )r   r_   r   r^   )rr   r   r   rC   c                     g)Nr   r_   rI   rj   s    r   funDtest_infer_output_shape_listlike_columns_with_timestamp.<locals>.fun  s    r    r   rm   rq  )r   r   r:   r   r  r;   r<   )r   rr  rA   r  rB   s        r   7test_infer_output_shape_listlike_columns_with_timestamprt    s    	 ,',',','	 
	

B XXcX"Fr}}7!v78H6, 8s   )Blstr   c                 (  ^  [        [        R                  R                  S5      R	                  S5      / SQS9nUR                  U 4S jSS9n[        UR                  5        Vs/ s H  nT PM     sn5      n[        R                  " X$5        g s  snf )Nr_   )r^   r   r   r   c                    > T$ rH   rI   )rK   ru  s    r   rM   3test_consistent_coerce_for_shapes.<locals>.<lambda>  s    r    r   rm   rh  )ru  r   rA   r  rB   s   `    r   !test_consistent_coerce_for_shapesry    st     

		a 008/
B XXm!X,FBMMO4OqsO45H6, 5s   %Bc                     U nUR                  S SS9nU R                  SSSS.S9n[        R                  " X#5        UR                  S	 SS9nUSS/   n[        R                  " X#5        g )
Nc                     [        / SQ/ SQS9$ )Nr   )testothercolsr   r   rj   s    r   rM   'test_consistent_names.<locals>.<lambda>  s    &*CDr    r   rm   r|  r}  r~  r   r   c                     [        SS/SS/S9$ )Nr   r_   r|  r}  r   r  rj   s    r   rM   r    s    1vfg5F Gr    )r:   renamer;   rQ   r   s       r   test_consistent_namesr    s    	BXXD1  F #))78 * H &+XXGaXPF)*H&+r    c                     U nUR                  S SSS9nUR                  5       n/ SQUl        [        R                  " X#5        g )Nc                 
    / SQ$ r   rI   rj   s    r   rM   "test_result_type.<locals>.<lambda>  r   r    r   r   r   r   r   r_   r:   r   r   r;   rQ   r   s       r   test_result_typer    s?     
BXX)xXHFwwyH H&+r    c                     U nUR                  S SSS9nUSS/   R                  5       nSS/Ul        [        R                  " X#5        g )Nc                 
    SS/$ rf  rI   rj   s    r   rM   /test_result_type_shorter_list.<locals>.<lambda>  rg  r    r   r   r   r   r   r   r  r   s       r   test_result_type_shorter_listr    sN     
BXX&QHXEF3*~""$H1vH&+r    c                     US:X  a8  [         R                  R                  SS9nUR                  R	                  U5        U nUR                  S SSUS9nUR                  5       n[        R                  " XV5        g )Nr"   z(numba engine doesn't support list returnr,   c                 
    / SQ$ r   rI   rj   s    r   rM   ,test_result_type_broadcast.<locals>.<lambda>  s    )r    r   r   r3   r   r*   	r'   r4   r5   r6   r7   r:   r   r;   rQ   )r   r)   r*   r4   r   rA   rB   s          r   test_result_type_broadcastr    sr     {{  (R S%	BXX!V  F wwyH&+r    c                   ^ US:X  a8  [         R                  R                  SS9nUR                  R	                  U5        U n/ SQmUR                  U4S jSSUS9nUR                  5       n[        R                  " XV5        g )	Nr"   <numba Series constructor only support ndarrays not list datar,   r}  r  r  c                    > [        / SQTS9$ Nr   r   r  rK   r   s    r   rM   8test_result_type_broadcast_series_func.<locals>.<lambda>  s    &'2r    r   r   r  r  r   r*   r)   r4   r   rA   rB   r   s          @r   &test_result_type_broadcast_series_funcr    s     {{  Q ! 
 	%	B'GXX2	  F wwyH&+r    c                     US:X  a8  [         R                  R                  SS9nUR                  R	                  U5        U nUR                  S SUS9nUR                  5       n[        R                  " XV5        g )Nr"   r  r,   c                 .    [        / SQU R                  S9$ r  )r   r>   rj   s    r   rM   0test_result_type_series_result.<locals>.<lambda>  s    y @r    r   r2   r  )r   r*   r)   r4   r   rA   rB   s          r   test_result_type_series_resultr    sp     {{  Q ! 
 	%	BXX@qQWXXFwwyH&+r    c                   ^ US:X  a8  [         R                  R                  SS9nUR                  R	                  U5        U n/ SQmUR                  U4S jSUS9nUR                  5       nTUl        [        R                  " XV5        g )Nr"   z:no support in numba Series constructor for list of columnsr,   r  c                    > [        / SQTS9$ r  r  r  s    r   rM   <test_result_type_series_result_other_index.<locals>.<lambda>0  s    y @r    r   r2   )
r'   r4   r5   r6   r7   r:   r   r   r;   rQ   r  s          @r   *test_result_type_series_result_other_indexr  $  s~     {{  O ! 
 	%	B'GXX@qQWXXFwwyHH&+r    boxc                     [        U 5      $ rH   )r   rj   s    r   rM   rM   8  s    tAwr    c                     [        U 5      $ rH   )rP  rj   s    r   rM   rM   8  s    %(r    c                 ,    [         R                  " U SS9$ )Nr   r   )r   r  rj   s    r   rM   rM   8  s    bhhq6Pr    )r   rP  r  c           	      P  ^  UnUR                  U 4S jSS9n[        UR                  5        Vs/ s H  nT " SS/5      PM     sn5      n[        R                  " X55        UR                  U 4S jSSS9nUSS	/   R                  S
SS.S9n[        R                  " X55        g s  snf )Nc                    > T" SS/5      $ rf  rI   rK   r  s    r   rM   ,test_consistency_for_boxed.<locals>.<lambda>?      QFr    r   rm   r_   c                    > T" SS/5      $ rf  rI   r  s    r   rM   r  C  r  r    r   r   r   r   r   r   r   )r:   r   r  r;   r<   r  rQ   )r  r   r   rA   r  rB   s   `     r   test_consistency_for_boxedr  6  s     
BXX+!X4FBMMO<OqsAq6{O<=H6,XX+!XJF"C:.55AA>N5OH&+ =s   B#c                    U S;   a  SOSn[         R                  " SS9   [         R                  " U5      n[         R                  " U5      nUR	                  5       nUR                  [         R                  U S9n[        R                  " Xe5        UR                  [         R                  /U S9nUR	                  5       nU S;   a)  [        R                  " UR                  S//5      Ul
        O([        R                  " UR                  S//5      Ul        [        R                  " Xe5        UR                  [         R                  [         R                  /U S9n[        X4/US9nU S;   a*  [        R                  " UR                  SS//5      Ul
        O)[        R                  " UR                  SS//5      Ul        [        R                  " Xe5        S S S 5        g ! , (       d  f       g = f)	N   r>   r   r   r   r.   r/   rm   r9   absolute)r   r8   absr9   r   r:   r;   rQ   r   from_productr   r>   r
   )r3   r@   
other_axisf_absf_sqrtrB   rA   s          r   test_agg_transformr  H  s   l*J		"{#% ;;=""277"6
f/ ""BGG94"8;;=<)668K8KfX7VWH'44k6G6G&5RSHN
f/
 ""BFFBGG#44"@uoJ?<)66$$z6&:; H (44""Z$89HN 	f/? 
#	"	"s   F5G
G+c                      [        [        S5      SS.5      n U R                  SS/5      n[        SS/SS/S.SS/SS/S	9n[        R                  " X5        g )
Nr   r   r  r  r   r^   r   r   rD  )r   r   rv   r;   rQ   r   s      r   	test_demor  m  s]    	q*	+BVVUEN#F!fAq6"S#JuenH &+r    c                     [        [        S5      SS.5      n U R                  SS/SS/S.5      n[        SS[        R                  /S[        R                  S	/S.S
S// SQS9n[
        R                  " UR                  U5      U5        g )Nr   r   r  r  r         @r        @g      9@r   r   )r  r  r   rD  )r   r   rv   r   r   r;   rQ   reindex_liker   s      r   test_demo_dict_aggr  x  s    	q*	+BVV5%.u~>?FC RVVT':;c
#H
 &--h7Br    c                     SSS/0n [        U 5      nUR                  SS05      n[        SS05      n[        R                  " X#5        US   R                  SS05      n[        SS0SS9n[        R                  " X#5        g )Nrp  r   rb  countr_   ro  )r   rv   r   r;   r<   )rw   r   rA   rB   s       r   !test_agg_with_name_as_column_namer    s    UEN#D	4B VVVW%&Fvqk"H6, Z^^VW-.Fvqk/H6,r    c                  8   [        / SQ/ SQ/ SQS.5      n [        SS/SS/S	S
/S.SS/S9nU R                  SS/5      n[        R                  " X!5        U / SQ   R                  SS/5      nU/ SQ   R	                  SS/5      n[        R                  " X!5        g )Nr   r   r8        @r   rb  bazr   r   r   r         @rb  	foobarbazr  r   r   )r   r   r   )r   rv   r;   rQ   reindex)mdfrB   rA   s      r   test_agg_multiple_mixedr    s    
 &	
C Qs%	

 enH WWeU^$F&+!%%uen5F (00%@H&+r    c            
      f   [        / SQ/ SQ/ SQ[        SSS9S.5      n Sn[        R                  " [        US	9   U R                  S
S/5        S S S 5        [        R                  " [        US	9   U / SQ   R                  SS
/5        S S S 5        g ! , (       d  f       NI= f! , (       d  f       g = f)Nr   r  r  rz   r   r{   r   r   r   rT   does not support reductionr	  r  r   )rT   r   r   r   )r   r	   r'   r  	TypeErrorrv   )r  msgs     r   test_agg_multiple_mixed_raisesr    s    
 &J2		
C 'C	y	, 
- 
y	, !%%uen5 
-	, 
-	, 
-	,s   B/B"
B"
B0c                    U S;   a  SOSnUR                   U   R                  5       S S R                  5       u  p4[        R                  " UR                  U S9UR                  U S9UR                  U S9/SS9n/ SQUl        U S;   a  UR                  OUnUR                  / SQU S9n[        R                  " Xe5        USUS0nUR                  XpS9n[        UR                  U5      U   R                  5       UR                  U5      U   R                  5       /X4/S	9n[        R                  " Xe5        US/US/0nUR                  XpS9n[!        U[        UR                  U5      U   R                  5       /S/S	9U[        UR                  U5      U   R                  5       /S/S	905      nU S
;   a  UR                  OUn[        R                  " Xe5        USS/USS/0nUR                  XpS9n[        R                  " U[        UR                  U5      U   R                  5       UR                  U5      U   R                  5       /SS/S	9U[        UR                  U5      U   R                  5       UR                  U5      U   R                  5       /SS/S	90SS9nU S
;   a  UR                  OUn[        R                  " Xe5        g )Nr  r   r   r_   rm   )r=   r  r   r=   r   r   >   r   r   r  )axesuniquesort_valuesr   concatr=   r  r   r   r   rv   r;   rQ   r   r   r<   r   )r3   r@   r  name1name2rB   rA   r   s           r   test_agg_reducer    s   l*J##J/668!<HHJLE yy$'OOO&OOO&	

 H .H!\1xzzxH__3$_?F&+ 65%(D__T_-FOOJ'.335OOJ'.224	
 nH 6, F8UUG,D__T_-F6;??:6u=BBDEfXV6;??:6u=AACDUGT	
H "^3xzzH&+ FE?EE5>:D__T_-Fyy6OOJ/6;;=OOJ/6::< uo 6OOJ/6::<OOJ/6::< en	
  #H& "^3xzzH&+r    c            
         [        / SQ/ SQ/ SQ[        SSS9S.5      n U R                  S5      n[        S	S
S[	        S5      /U R
                  S9n[        R                  " X5        U R                  S/5      n[        S	S
S[	        S5      R                  S5      //S/U R
                  S9n[        R                  " X5        Sn[        R                  " [        US9   U R                  S5        S S S 5        U / SQ   R                  S5      n[        / SQ/ SQS9n[        R                  " X5        Sn[        R                  " [        US9   U R                  S/5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r  r  rz   r   r{   r  r  r   r   rb  r   nsr~  r  r	  r   r   )r   r  r  )r   r	   rv   r   r   r   r;   r<   as_unitrQ   r'   r  r  )r   rA   rB   r  s       r   test_nuiscance_columnsr  	  sB   	 &J2		

B VVE]Fq#ui
&;<BJJOH6,VVUG_F
S%:.66t<	=>g

H
 &+
&C	y	,
u 
-  $$U+F+?CH6,
&C	y	,
w 
-	, 
-	, 
-	,s   E(E9(
E69
Fhowc                 r   [        / SQS[        R                  S// SQS.5      n[        X5      " SS05      n[	        SS05      n[
        R                  " X#5        [        X5      " SS	05      n[	        SS
05      n[
        R                  " X#5        [        X5      " SS	/5      n[        X5      " SS	/SS	/SS	/S.5      n[        SS
S.SS
S.SS
S.S.5      n[
        R                  " XESS9  [
        R                  " XSSS9  [        X5      " S5      nUR                  5       n[
        R                  " X#5        g )NNr_   r   r   r  r   Nrb  r   r   r  r_   sizer   )r  r  Tr  )	r   r   r   r   r   r;   r<   rQ   r  )r  r   rA   rB   result1result2s         r   test_non_callable_aggregatesr  -  s9    
#rvvs!3:NO
B
 RsGn-FsAhH6, RsFm,FsAhH6, b01Gbw&7w>OPG a(a(a(	
H 't<'= Rg&FxxzH6,r    c                 *   [        / SQS[        R                  S// SQS.5      n[        X 5      " SUS9nUS;   a"  [	        UR
                  S	   UR                  S
9nO![	        UR
                  S   UR                  S
9n[        R                  " X45        g )Nr  r   r  r  r   r  rm   )r   r>   r   r   r   )
r   r   r   r   r   r`   r   r>   r;   r<   )r  r3   r   rA   rB   s        r   test_size_as_strr  Z  s}     
#rvvs!3:NO
B
 Rf40F|"((1+RZZ8"((1+RXX66,r    c                  N   [        / SQS[        R                  S// SQS.5      n S nU R                  U5      n[	        SS/S/SS	/// SQS
9n[
        R                  " X#5        U R                  U/5      nUR                  S5      R                  n[
        R                  " X#5        g )N)r_   r_   r   g      ?r  r   c                 P    [        U R                  5       R                  5       5      $ rH   )r   dropnar  )	group_cols    r   r   &test_agg_listlike_result.<locals>.funcn  s    I$$&--/00r    r_   r   r   rb  r   r   )
r   r   r   rv   r   r;   r<   to_framer   rQ   )r   r   rA   rB   s       r   test_agg_listlike_resultr  j  s    	#rvvs);BVW	XB1 VVD\F1vuuen5_MH6,VVTF^F  (**H&+r    zargs, kwargs)r   r      rq  rO   r   rI   rr   r   r   c                     SS jn[        SS/SS//5      nU S:X  a  [        SS/5      nO[        S	S
/5      nUR                  " X0/UQ70 UD6n[        R                  " Xe5        g )Nr   c                 2    U R                  5       X-   U-  -   $ rH   r  )rK   rr   r   r   s       r   r]  test_agg_args_kwargs.<locals>.f  s    uuw!%1$$r    r   r_   r^   r   r  g      @r  g       @)r   r   r   rv   r;   r<   )r3   rP   kwargsr]  r   rB   rA   s          r   test_agg_args_kwargsr  z  si    % 
QFQF#	$Bqy3*%3*%VVA-d-f-F6,r    num_cols)r_   r   r   c                 R   US:X  a8  [         R                  R                  SS9nUR                  R	                  U5        [
        R                  " / SQ5      nUR                  5       n[        SU[        U 5      S9nUR                  S US9  UR                  UR                  :X  d   eg )	Nr"   z*numba engine only supports numeric indicesr,   )z
1950-06-30z
1952-10-24z
1953-05-29r   r~  c                     U $ rH   rI   rj   s    r   rM   ,test_frequency_is_original.<locals>.<lambda>  r  r    r1   )r'   r4   r5   r6   r7   r   DatetimeIndexr   r   r   r:   rO  )r  r*   r)   r4   r>   originalr   s          r   test_frequency_is_originalr    s     {{  (T U%GHEzz|H	1E5?	;BHH[H(::&&&r    c                 4   U S:X  a8  [         R                  R                  SS9nUR                  R	                  U5        [        SSS9[        SSS9[        SSS9/n[        / S	QUS
9nUR                  S SU S9n[        X3S9n[        R                  " XV5        g )Nr"   z0numba engine doesn't support non-numeric indexesr,   z2019-03-15 12:34:31.909000+0000rf   rg   z2019-03-15 12:34:34.359000+0000z2019-03-15 12:34:34.660000+0000r  )rw   r>   c                     U R                   $ rH   ro  rj   s    r   rM   .test_apply_datetime_tz_issue.<locals>.<lambda>  s    r    r   r2   )r>   rw   )r'   r4   r5   r6   r7   r   r   r:   r   r;   r<   )r*   r)   r4   
timestampsr   rA   rB   s          r   test_apply_datetime_tz_issuer    s     {{  E ! 
 	% 	3>3>3>J
 
		4BXX&QvX>FJ8H6,r    r   r   rC   r   method)r  r  r   c                     US:X  a  SnOSnU(       d3  [         R                  " [        US9   [        X5      " 5         S S S 5        g [        X5      " 5         g ! , (       d  f       g = f)Nr   z>can only concatenate str \(not "int"\) to str|does not supportz4not supported between instances of 'str' and 'float'r	  )r'   r  r  r   )r   r  using_infer_stringr  s       r   test_mixed_column_raisesr    sO     OD]]9C0B! 10 	 10s   A
A%r  r   c                     [        SU //SS/S9nUR                  S 5      nUR                  n[        R                  " X#5        g )Nr   rr   r   r   c                     U R                   $ rH   r   rj   s    r   rM   "test_apply_dtype.<locals>.<lambda>  s    r    )r   r:   dtypesr;   r<   )r  r   rA   rB   s       r   test_apply_dtyper    s@     
S#J<#s	4BXX'(FyyH6,r    c                    [        [        S5      [        SS5      S.5      nUR                  5       nS nUR                  5       nUS==   S-  ss'   [        R                  " U5         UR                  USS9nS S S 5        [        R                  " WU5        U(       d  U (       a  [        R                  " X45        g [        R                  " X75        g ! , (       d  f       Na= f)Nd      r  c                 n    U R                   nU R                  S==   S-  ss'   U R                   ULd   eU $ )Nrr   r   )_mgrr   )r  mgrs     r   r   !test_apply_mutating.<locals>.func  s4    hhxxs"""
r    rr   r   rm   )r   r   r   r;   assert_cow_warningr:   rQ   )using_array_managerusing_copy_on_writewarn_copy_on_writer   df_origr   rB   rA   s           r   test_apply_mutatingr    s    	s%S/:	;BggiG wwyHSMQM			1	2$Q' 
3 &(+1 	b*
b) 
3	2s   (C
C"c                      [        SS/SS/SS/SS/S	S
//SS/S9n U R                  S SS9n[        / / S.[        S9n[        R
                  " X5        g )Nr   r_   r   r^   r   r   r   r   r   r   rr   r   r   c                     / $ rH   rI   rj   s    r   rM   .test_apply_empty_list_reduce.<locals>.<lambda>  r*  r    r   r   r  r   )r   r:   r   r  r;   r<   r   s      r   test_apply_empty_list_reducer    sb    	QFQFQFQFQG<sCj	QBXXlX9FBR(7H6,r    c                     U S:X  a8  [         R                  R                  SS9nUR                  R	                  U5        [        SS//S-  SS/S	9nUR                  S
S S /U S9n[        / SQ/ SQS./ SQS9n[        R                  " XE5        g )Nr"   z;numba engine doesn't support list-likes/dict-like callablesr,   r^   r   r   r   r   r   r   c                 "    U R                  5       $ rH   r  rj   s    r   rM   ,test_apply_no_suffix_index.<locals>.<lambda>  s
    r    c                 "    U R                  5       $ rH   r  rj   s    r   rM   r     s
    AEEGr    r1   )r  r  r  )   r"  r"  r   )r   r  r  r   )	r'   r4   r5   r6   r7   r   r:   r;   rQ   )r*   r)   r4   pdfrA   rB   s         r   test_apply_no_suffix_indexr$    s    {{  P ! 
 	%
aVHqL3*
5CYY02CDVYTF.6UH &+r    c                     U S:X  a  [         R                  " S5        [        SSS/05      nUR                  S U SSS	9n[	        SS/5      n[
        R                  " X#5        g )
Nr"   z No object dtype support in numbar   aabbbc                     U S   $ r   rI   rj   s    r   rM   /test_apply_raw_returns_string.<locals>.<lambda>  r   r    r   T)r*   r3   rE   )r'   r   r   r:   r   r;   r<   r*   r   rA   rB   s       r   test_apply_raw_returns_stringr+    s\    67	C$'	(BXXnV!XFFtUm$H6,r    c                      [        / SQSS9n S nSUSS/nU R                  U5      n[        / SQ/ S	Q/ S
QS./ SQS9n[        R                  " X45        g )N))r   r   r   )r_   r   r   )r   r   r   )r^   r   r^   )r   r   r   )r   r   r   )att1att2att3r   c                 (    U R                  5       S-  $ r   r  r   s    r   sum_div24test_aggregation_func_column_order.<locals>.sum_div2  s    uuw{r    r   r  r  )g      5@g      %@r  r   )g      2@g      "@r  r  )g      1@g      !@r  r  )r   r1  r  r  r   ru   )r   r1  aggsrA   rB   s        r   "test_aggregation_func_column_orderr4    sg     
	
 )

B 8We,DVVD\F*))	

 2H &+r    c                    U S:X  a8  [         R                  R                  SS9nUR                  R	                  U5        [        / SQ/ SQS.5      nUSS/   R                  S S	U S
9n[        / SQ5      n[        R                  " XE5        g )Nr"   z2numba engine not supporting duplicate index valuesr,   r  r   r  rr   c                 @    U R                   S   U R                   S   -   $ )Nr   r   )r>  rj   s    r   rM   +test_apply_getitem_axis_1.<locals>.<lambda>8  s    !&&)affQi'r    r   r2   )r   r_   r^   )
r'   r4   r5   r6   r7   r   r:   r   r;   r<   )r*   r)   r4   r   rA   rB   s         r   test_apply_getitem_axis_1r8  /  s    {{  G ! 
 	%	3	4Bc
^!!'a " F i H6,r    c                      S n [        S/ SQ05      n[        R                  " [        SS9   UR	                  U /5        S S S 5        g ! , (       d  f       g = f)Nc                 N    [         R                  " S5        U R                  5       $ )NHello, World!)warningswarnr   rj   s    r   expected_warningDtest_nuisance_depr_passes_through_warnings.<locals>.expected_warningF  s    o&uuwr    rr   r   r;  r	  )r   r;   assert_produces_warningUserWarningrv   )r>  r   s     r   *test_nuisance_depr_passes_through_warningsrB  >  sE     
C#	$B		#	#K	G
 !" 
H	G	Gs   A
Ac            	      r   [        SS[        /S[        SSS5      [        R                  /S./ SQS9n U R                  [        S	S
9n[        [        [        S.5      n[        R                  " X5        U R                  [        SS
9n[        [        [        [        S.5      n[        R                  " X5        g )Nr   r^  g      ?i  r   )r  r  r   r   r   rm   )
r   r   r   r   r   r:   typer   r;   r<   r   s      r   test_apply_typerE  O  s    	Xu%htQ6JBFF/ST
B XXdX#Fvv67H6, XXdX#FFf=>H6,r    c                     [        SS/SS/S.5      nUR                  S5      R                  S SU S9n[        / [        R
                  S9n[        R                  " X#5        g )	Nr   r_   r   r   r  c                 &    [        U S   U S   5      $ )Nrr   r   )r  rj   s    r   rM   /test_apply_on_empty_dataframe.<locals>.<lambda>d  s    AcFAcF(;r    r2   r   )r   headr:   r   r   r   r;   r<   r*  s       r   test_apply_on_empty_dataframerJ  a  sW    	!Qq!f-	.BWWQZ;!FSFb

+H6,r    c                      [        SS/SS/S.5      n U R                  S 5      n[        SS//SS//S.5      n[        R                  " X5        g )Nr   r_   r   r  c                     U R                   /$ rH   )r   rj   s    r   rM   (test_apply_return_list.<locals>.<lambda>k  s
    
r    r   r   s      r   test_apply_return_listrN  i  sQ    	!Qq!f-	.BXX*+FAx1vh78H&+r    ztest, constant)r   r   r   )r_   r_   r_   c                     [        U 5      n[        USS/SS9nSSS.nUR                  U5      n[        R                  " XS5        g )Nrr   r   r  )rw   r>   r   r  r  r  )r|  constantdf1rB   aggregationrA   s         r   test_unique_agg_type_is_seriesrS  p  sE     D/C8C:XFH x0KWW[!F6,r    c                  ,   [        / SQ/ SQ/ SQS.5      n [        / SQ5      n[        R                  " U R	                  SS9U5        U R                  SSS9n[        R                  " X!5        U R                  SS5      n[        R                  " X!5        g )	N)r   r_   r   )r   r_   r   )r   r   r   r   )TTFr   rm   r   )r   r   r;   r<   r   r:   r  s      r   /test_any_apply_keyword_non_zero_axis_regressionrU    sv    	C	DB)*H266q6>84XXe!X$F6,XXeQF6,r    c                  R   [        S/ SQ05      n SS jnSS jnU R                  USSSS9nU S	-   n[        R                  " X45        S
n[        R                  " [
        US9   U R                  X/SSSS9nS S S 5        [        SS/SS/SS//SS/SS//S9n[        R                  " X45        [        R                  " [
        US9   U R                  SU0SSSS9nS S S 5        [        / SQS/S9n[        R                  " X45        g ! , (       d  f       N= f! , (       d  f       NC= f)NrK   r   r   c                     X-   U-   $ rH   rI   )rK   rr   r   s      r   foo1.test_agg_mapping_func_deprecated.<locals>.foo1      uqyr    c                     X-   U-   $ rH   rI   )rK   r   r   s      r   foo2.test_agg_mapping_func_deprecated.<locals>.foo2  rZ  r    r   r^   )r   r   z+using .+ in Series.agg cannot aggregate andr	  r   r   r   rX  r\  r   )r_   r   r^   )r   r   )r_   r   )r   rv   r;   rQ   r@  FutureWarning)r   rX  r\  rA   rB   r  s         r    test_agg_mapping_func_deprecatedr_    s   	C#	$B VVD!Q!V$FAvH&+
7C		#	#M	=aa0 
>
Q!Q"b"c3Z&&9I,JH &+ 
	#	#M	=dQQ/ 
>SE2H&+ 
>	= 
>	=s   "DD
D
D&c                  F   [        [        R                  " S5      R                  SS5      SS/S9n [        R
                  " [        SS9   U R                  [        R                  5      nS S S 5        [        S	S	S
.[        S9n[        R                  " WU5        [        R
                  " [        SS9   U R                  [        R                  /5      nS S S 5        [        S	S	S
.S/S9n[        R                  " X5        g ! , (       d  f       N= f! , (       d  f       ND= f)Nr   r   r_   r   r   r   zusing DataFrame.stdr	  r8  r   r   zusing Series.stdstdr   )r   r   r   r   r;   r@  r^  rv   ra  r   r   r<   rQ   r   s      r   test_agg_stdrb    s    	299Q<''1-Sz	BB		#	#M9N	O 
PCc*%8H68,		#	#M9K	L! 
Ms-eW=H&+ 
P	O
 
M	Ls   
 D3!D
D
D c                      [        / SQS[        R                  S// SQS.5      n / SQU l        U R	                  SS05      nU S   R                  5       n[        R                  " X5        g )	Nr  r   r  r  r   )r   r   r   r   r  )r   r   r   r   rv   r  r;   r<   r   s      r   (test_agg_dist_like_and_nonunique_columnsrd    sZ    	#rvvs!3:NO
B !BJVVS'N#F#w}}H6,r    )r   r<  numpyr   r'   pandas.core.dtypes.dtypesr   pandasr   r   r   r   r   r	   pandas._testing_testingr;   pandas.tests.frame.commonr
   fixturer   r&   r4   
single_cpur*   rD   parametrizerR   rc   rp   rx   r   r9   r=   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  filterwarningsr  r  r)  r0  r:  r<  r@  rF  rP  r`  rl  rs  rw  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r  r  r  r,  r1  rB  rJ  rQ  r[  ra  ri  rn  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r+  r4  r8  rB  rE  rJ  rN  rS  rU  r_  rb  rd  rI   r    r   <module>ro     s
       6    0 
 
 &,,wfkk>T>T"UVW X1, !Q(u., / ),<, $aS)*Y|-NPT,UV,	,
, "''277!34 5	-,, !>?- @-
--,,,"
,&, !Q(G )G !Q(- )-, !Q(> )>,-- 4534
[,-J3G   u.!Q(1 ) / 5 61 ),-,/
-
-	,-D1,h--,-=  u~'789&)u+@AB	
 
QFQF#	$f!laL-I&JK		/		/
,&, /0
- 1
-,'(.,, D"&& 9:	- ;	-" 
	9cAq6]+CD
		3A-(@A
 	!8VS!H-=>
 	!5&#q*:;5"&&"345sI&.HI	
 5"&&"345sI&.HI	

 {	Xy#1v'?@
{	UFC8$45!*&+*& 		o	 	ubff/01	k	##-(-, 
	Hi1BQF0K&LM
	E9.?!Q-H#IJ
	h	3*ZL(QR
	eYaSz*%NOBFF-.sI&.HI	
 BFF-.sI&.HI	
 k*1v1v&#sj*=U0VW	
 +&sQFmj*%=>	
):&;:& 				)*	+&	##-&--$-  A'- (--0 QF 34	- 5	-,",,,,(,,$ 	*,PQ"  

,

,"0J,	C- ,86(B,J!H  01)- 2)-X  01- 2-,  !Q(	B	R		Qx	11	11	111%&- )-  Y/	' 0	'-* 	d3**M NOP#89
 : Q
 CsBFF ;<- =-*6-, -,>-#"-$-, y	)!+EFy	)!A3+?@--
-,>,	-r    