
    MhK                        S SK JrJ r   S SKrS SK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  S rS rS rS rS	 r\R,                  R/                  S
\" / SQ/ SQS.5      / SQ4\" / SQ/ SQS.5      S S/4\" SS/05      S/4\" / SQ\" S5      S.5      SS/4\" / SQ/ SQS.5      / SQ4\" \" S5      / SQ/ SQS.5      / SQ4\" / SQ/ SQ// SQS9SS/4// S QS!9S" 5       rS# rS$ r\R,                  R/                  S%S& S' S( S) /5      S* 5       rS+ rS, rS- r S. r!S/ r"S0 r#S1 r$S2 r%S3 r&S4 r'S5 r(\R,                  R/                  S6S7S8/5      S9 5       r)S: r*S; r+S< r,S= r-S> r.\R,                  R/                  S?S7S8/5      S@ 5       r/SA r0SB r1SC r2SD r3SE r4SF r5SG r6SH r7SI r8SJ r9SK r:SL r;\R,                  R/                  SM\ Rx                  " 5       \ Rx                  " 5       R                  5       \ Rx                  " 5       R{                  5       /5      SN 5       r>SO r?\R,                  R/                  SPS8S7/5      SQ 5       r@SR rA\R,                  R/                  SS\R                  " \" ST5      5      \R                  " S SU5      \R                  " SVSUSWSX9\	R                  " / SYQ5      /5      SZ 5       rF\R,                  R/                  S[S\ S S/SSU//4S] S S1SSU1/4S^ S_S`/4Sa S SS_.SSUS_./4Sb S S 0SS0/S S0SSU0//4/5      Sc 5       rGSd rH\R,                  R/                  SeSf Sg /5      Sh 5       rISi rJ\R,                  R/                  SjSk Sl /5      \R,                  R/                  S6S7S8/5      Sm 5       5       rKSn rLSo rMSp rNSq rOSr rP\R,                  R/                  SsS7S8/5      St 5       rQ\R,                  R/                  SuS8\" / SvQ/ SwQ/\" / SxQ\RSy9S9/S7\
" SS/\	R                  " SzS{/SS|/S}9S~9//5      S 5       rSS rTS rUS rVS rW\R,                  R/                  SsS7S8/5      S 5       rXS rY\R,                  R/                  S/ SQ/ SQ/5      S 5       rZ\R,                  R/                  S/ SQ/ SQ// SQ/ SQ// SQ/ SQ//5      S 5       r[\R,                  R/                  SS7/0 4/ SS704/5      S 5       r\\R,                  R/                  SSS/5      S 5       r]\R,                  R/                  SSS 4SS 4SSS/5      S 5       r^\R,                  R/                  SS7S8/5      S 5       r_\R,                  R/                  S\`\a\b/5      \R,                  R/                  SSSS//5      S 5       5       rcg)    )datedatetimeN)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                    ^ [        S[        [        S5      5      S-  S/S9R                  5       n / mU4S jnSn[        R
                  " [        US9   U R                  S5      R                  U5        S S S 5        [        S/S-  S/S-  S	.[        R                  " SS
S5      S9n[        R                  " TS   U5        g ! , (       d  f       NT= f)N   
   r   )indexcolumnsc                 (   > TR                  U 5        g N)append)groupgroupss    Q/var/www/html/env/lib/python3.13/site-packages/pandas/tests/groupby/test_apply.pystoreFtest_apply_func_that_appends_group_to_list_without_copy.<locals>.store   s    e    7DataFrameGroupBy.apply operated on the grouping columnsmatchr   )r   r   d   r   )r   listrangereset_indextmassert_produces_warningDeprecationWarninggroupbyapplypd
RangeIndexassert_frame_equal)dfr   msgexpected_valuer   s       @r   7test_apply_func_that_appends_group_to_list_without_copyr,      s     
1DrOb01#	>	J	J	LBF DC		#	#$6c	B


7!!%( 
C#(sRx(ab0IN &)^4 
C	Bs   !C
Cc                 \   / SQn[        S/ SQ0[        [        R                  " U5      SS9S9nUR	                  UR
                  R                  5      R                  5       nUR	                  UR
                  R                  5      R                  S 5      n[        R                  " XC5        g )Nz2011-05-16 00:00z2011-05-16 01:00z2011-05-16 02:00z2011-05-16 03:00z2011-05-17 02:00z2011-05-17 03:00z2011-05-17 04:00z2011-05-17 05:00z2011-05-18 02:00z2011-05-18 03:00z2011-05-18 04:00z2011-05-18 05:00value	/?ݓ?Q?j?r1   r2   r3   r4   r1   r2   r3   r4   	date_timenamer   c                 "    U R                  5       $ r   idxmaxxs    r   <lambda>'test_apply_index_date.<locals>.<lambda>L   s
    qxxzr   )r   r   r&   to_datetimer$   r   r   r:   r%   r!   r(   )using_infer_stringtsr)   expectedresults        r   test_apply_index_daterD   (   s    
B 
 	
  BNN2&[9#
B& zz"((--(//1HZZ&,,-ABF&+r   c                    / SQn[        U Vs/ s H  o"R                  5       PM     snSS/S9n/ SQUS'   U (       a  SO[        n[        / SQUSS	9n[	        / S
QUS9nSn[
        R                  " [        US9   UR                  SSS9R                  S 5      nS S S 5        [
        R                  " WU5        g s  snf ! , (       d  f       N+= f)Nr.   r   timer   r0   r/   zstring[pyarrow_numpy])z
2011-05-16z
2011-05-17z
2011-05-18dtyper7   )z00:0002:00rJ   r   r   r   F
group_keysc                 4    U S   U S   R                  5          $ )NrF   r/   r9   r;   s    r   r=   .test_apply_index_date_object.<locals>.<lambda>x   s    ai'
 1 1 34r   )r   splitobjectr   r   r!   r"   r#   r$   r%   assert_series_equal)	r@   rA   rowr)   rI   exp_idxrB   r*   rC   s	            r   test_apply_index_date_objectrT   P   s    
B 
2.2CIIK2.8H	IBBwK (:#vE2%fG 1AH
CC		#	#$6c	BFu5;;4
 
C 68,3 /* 
C	Bs   B:9!B??
Cc           	        ^ [        / SQ/ SQS.SS/S9mU (       a  SOSn[        R                  " TR                  S	S  TR                  S	S  /S	S
U/S9nSn[        R
                  " [        US9   TR                  TR                   Vs/ s H  n[        U5      PM     snS	S9nS S S 5        WR                  U4S j5      n[        R                  " Xb5        g s  snf ! , (       d  f       N?= f)NarW   brX   rW         ?       @      @      @g      @keydatar_   r`   rG   stringrP   r   float64axiskeys+DataFrame.groupby with axis=1 is deprecatedr   rd   c                 "   > TR                   SS  $ Nr   ilocr<   r)   s    r   r=   $test_apply_trivial.<locals>.<lambda>   s    r   )r   r&   concatrk   r!   r"   FutureWarningr$   dtypesstrr%   r(   r@   rI   rB   r*   r<   gbrC   r)   s          @r   test_apply_trivialrt   }   s     
)3LM
B +HEyy"''!"+rwwqr{3!9eBTUH
7C		#	#M	=ZZ3AQ3!Z< 
>XX+,F&+ 4 
>	=s   /C	C
CC
C+c           	        ^ [        / SQ/ SQS.SS/S9mU (       a  SOSn[        R                  " TT/S	S
U/S9nSn[        R                  " [
        US9   TR                  TR                   Vs/ s H  n[        U5      PM     snS	SS9nS S S 5        WR                  U4S j5      n[        R                  " Xb5        g s  snf ! , (       d  f       N?= f)NrV   rY   r^   r_   r`   rG   ra   rP   r   rb   rc   rf   r   T)rd   rL   c                    > T$ r    rl   s    r   r=   )test_apply_trivial_fail.<locals>.<lambda>   s    r   )r   r&   rn   r!   r"   ro   r$   rp   rq   r%   r(   rr   s          @r   test_apply_trivial_failry      s    	)3LM
B +HEyy"bE0BCH
7C		#	#M	=ZZ3AQ3!ZM 
>XXl#F&+ 4 
>	=s   C/B?
C?C
Czdf, group_names)r   r   r         )rW   rW   rW   rX   crW   rX   r   rz   r{   r   r   r   r   )r   r   r   r   r   rW   )r   r   r   rz   rz   r   r   rz      rz   r   rz   r{   r   rz   r{   )            r   	   )rW   two
aaabbbcccc)
r{   r   r{   r   r   rz   r   r   r   r   )
r   r   rz   rz   rz   r   r   r   rz   r   )rW   BCrW   rX   r|   )rz   rz   r{   rG   )GH2936zGH7739 & GH10519GH10519GH2656GH12155GH20084GH21417)idsc                    ^	 / m	U	4S jnU	4S jnU	4S jnU	4S jnU	4S jnX#XEU4 HS  nT	S S 2	 Sn[         R                  " [        US9   U R                  SS	S
9R	                  U5        S S S 5        T	U:X  a  MS   e   g ! , (       d  f       N= f)Nc                 Z   > TR                  U R                  5        U R                  5       $ r   )r   r7   copyr   namess    r   f_copy/test_group_apply_once_per_group.<locals>.f_copy   s    UZZ zz|r   c                 >   > TR                  U R                  5        U $ r   r   r7   r   s    r   f_nocopy1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZZ r   c                 <   > TR                  U R                  5        gNr   r   r   s    r   f_scalar1test_group_apply_once_per_group.<locals>.f_scalar   s    UZZ r   c                 <   > TR                  U R                  5        g r   r   r   s    r   f_none/test_group_apply_once_per_group.<locals>.f_none   s    UZZ r   c                 Z   > TR                  U R                  5        [        S/S/S.5      $ )Nr   r}   )r   r7   r   r   s    r   f_constant_df6test_group_apply_once_per_group.<locals>.f_constant_df   s'    UZZ s!-..r   r   r   rW   FrK   )r!   r"   r#   r$   r%   )
r)   group_namesr   r   r   r   r   funcr*   r   s
            @r   test_group_apply_once_per_groupr      s    N E


!/
 8]C!HG''(:#FJJsuJ-33D9 G### D GFs   
 A??
B	c                 8   Sn[        / SQ/ SQS./ SQS9nSn[        R                  " [        US9   UR	                  SS	S
9R                  S 5        S S S 5        U R                  5       R                  R                  S5      nXA:X  d   eg ! , (       d  f       N?= f)Nrz   )r   r   r   r   r   r   r   r   )02468101214)group_by_columntest_columnr   r   r   r   FrK   c                     [        S5      $ )Nfunction_called)printr)   s    r   r=   2test_group_apply_once_per_group2.<locals>.<lambda>   s
    u./r   r   )	r   r!   r"   r#   r$   r%   
readouterroutcount)capsysrB   r)   r*   rC   s        r    test_group_apply_once_per_group2r      s     H	7F	
 :
B DC		#	#$6c	B


$
7==/	
 
C
  $$**+<=F 
C	Bs   !B
Bc                     [        / SQ[        S5      S.5      n S nS nSn[        R                  " [        US9   U R                  SS	S
9R                  U5      nS S S 5        [        R                  " [        US9   U R                  SS	S
9R                  U5      nS S S 5        [        R                  " WW5        g ! , (       d  f       Ng= f! , (       d  f       N7= f)N)r   r   r   r{   )ArX   c                     U $ r   rw   r   s    r   slow,test_apply_fast_slow_identical.<locals>.slow  s    r   c                 "    U R                  5       $ r   r   r   s    r   fast,test_apply_fast_slow_identical.<locals>.fast  s    zz|r   r   r   r   FrK   )r   r   r!   r"   r#   r$   r%   r(   )r)   r   r   r*   fast_dfslow_dfs         r   test_apply_fast_slow_identicalr     s     
q2	3B DC		#	#$6c	B**SU*399$? 
C		#	#$6c	B**SU*399$? 
C '7+ 
C	B	B	Bs    B<< C<
C

Cr   c                     U $ r   rw   r;   s    r   r=   r=     s    !r   c                     U S S  $ r   rw   r;   s    r   r=   r=     s    !A$r   c                      U R                  SS9$ )NFdeepr   r;   s    r   r=   r=     s    !&&e&$r   c                      U R                  SS9$ )NTr   r   r;   s    r   r=   r=      s    !&&d&#r   c                    [        / SQ/ SQ/ SQS.5      nSn[        R                  " [        US9   UR	                  SSS	9R                  U 5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)
Nr   rz   rz   rz   r   rz   r{   r   )r   r   r   r   )grW   rX   r   r   r   FrK   r   r!   r"   r#   r$   r%   r(   )r   r)   r*   rC   s       r   5test_groupby_apply_identity_maybecopy_index_identicalr     sh     
L|L	MB
CC		#	#$6c	BCE288> 
C&"% 
C	Bs    A11
A?c                  "   [        [        R                  R                  S5      R	                  S5      / SQS.5      n U R                  S SS9R                  nU R                  n[        R                  " X5        [        S/ S	Q05      n U R                  S
-  U S'   U R                  S5      R                  5       R                  5       R                  nU R                  SSS9R                  5       R                  n[        R                  " X45        g )Nrz   r   oner   r   threer   r   foo1foo2c                     U $ r   rw   r;   s    r   r=   -test_apply_with_mixed_dtype.<locals>.<lambda>9  s    r   r   rg   c1)r   rz   r   r   r   r[   c2Fas_index)r   nprandomdefault_rngstandard_normalr%   rp   r!   rQ   r   r$   meanr    r   )r)   rC   rB   result1result2s        r   test_apply_with_mixed_dtyper   1  s    	II))!,<<Q?@	

B XXkX*11FyyH6, 
D/*	+Buus{BtHjj##%11366Gjjj.33588G7,r   c                     [        / SQ/ SQ[        S5      S.5      n U R                  SSS9nU R                  SSS9nUR                  S	5      R                  nUR                  S	5      R                  n[        / S
Q5      n[        R                  " X55        [        R                  " XE5        Sn[        R                  " [        US9   UR                  S 5      R                  nS S S 5        [        R                  " [        US9   UR                  S 5      R                  nS S S 5        [        R                  " / SQ5      n	/ SQn
[        R                  " U
SS /S9n[        R                  " WU5        [        R                  " WU	5        [        [        S5      5      n[        SS	/S	S/SS/SS/S	S//US9n Sn[        R                  " [        US9   U R                  SSSS9R                  S 5      R                  nS S S 5        [        R                  " WU5        g ! , (       d  f       GNB= f! , (       d  f       GN= f! , (       d  f       NJ= f)N)rX   rX   rW   r|   rW   rX   )r   rz   r   r   r{   r   r   )item_iduser_idrF   r   Tr   Frz   )r   r   rz   r   r   r   c                 $    U R                  S5      $ Nrz   headr;   s    r   r=   -test_groupby_as_index_apply.<locals>.<lambda>Z  s    AFF1Ir   c                 $    U R                  S5      $ r   r   r;   s    r   r=   r   \  s    AFF1Ir   ))r   r   )r   rz   r   r   rz   r   )r   r   r   rz   )rz   r   )r{   r   r   abcder   r{   r   r   r   r   )r   rL   c                     U $ r   rw   r;   s    r   r=   r   k  s    ar   )r   r   r$   r   r   r   r!   assert_index_equalr"   r#   r%   r   from_tuplesr   )r)   g_asg_not_asres_as
res_not_asexpr*   res_as_applyres_not_as_applyexp_not_as_applytpexp_as_applyindress                 r   test_groupby_as_index_applyr  E  s   	5)!H	

B ::i$:/Dzz)ez4HYYq\Fq!''J

C&&**
CC		#	#$6c	Bzz"56<< 
C		#	#$6c	B#>>*=>DD 
C
 "--.NO	)B))"Y4EFL,5*,<=
W
C	QFQFQFQFQF;3	GB
CC		#	#$6c	BjjUuj=CCKPVV 
C#s#' 
C	B	B	B 
C	Bs$   HH1,I
H.1
I 
Ic                    U R                  SS/5      nS nS nS nSn[        R                  " [        US9   UR	                  U5      nS S S 5        WR
                  R                  S:X  d   eSn[        R                  " [        US9   UR	                  U5      nS S S 5        WR
                  R                  S:X  d   eSn[        R                  " [        US9   UR	                  U5      nS S S 5        WR
                  R                  S	:X  d   eg ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NM= f)
Nr   r   c                 H    U R                  5       nSUR                  l        U$ Nstat)describer   r7   r   rC   s     r   desc.test_apply_concat_preserve_names.<locals>.descr  s    !"r   c                 d    U R                  5       nSUR                  l        US [        U 5       nU$ r  )r  r   r7   lenr  s     r   desc2/test_apply_concat_preserve_names.<locals>.desc2w  s/    !"#e*%r   c                 ~    U R                  5       nS[        U 5      S 3UR                  l        US [        U 5       nU$ )Nstat_d)r  r  r   r7   r  s     r   desc3/test_apply_concat_preserve_names.<locals>.desc3~  s>    ! $CJq>2#e*%r   r   r   )r   r   r  )r   r   N)r$   r!   r"   r#   r%   r   r   )	three_groupgroupedr  r  r  r*   rC   r   result3s	            r    test_apply_concat_preserve_namesr!  o  s   !!3*-G
 DC		#	#$6c	Bt$ 
C<<!3333
CC		#	#$6c	B--& 
C=="4444
CC		#	#$6c	B--& 
C=="2222 
C	B
 
C	B
 
C	Bs#   D	D"D3
D"
D03
Ec                  x   S n [        SSS9n[        [        R                  R	                  S5      R                  S5      US9nUR                  S SS	9nUR                  U 5      n[        U[        5      (       d   e[        US
5      (       a   e[        R                  " UR                  UR                  5        g )Nc                     [         R                  " SS9   [         R                  " U 5      nS S S 5        [        X U R	                  5       -
  WS.5      $ ! , (       d  f       N-= f)Nignore)invalid)r/   demeanedlogged)r   errstatelogr   r   )piecer'  s     r   f%test_apply_series_to_frame.<locals>.f  sI    [[*VVE]F +)=P
 	
 +*s   A
A!z1/1/2000r   )periodsrz   r   c                     U R                   $ r   monthr;   s    r   r=   ,test_apply_series_to_frame.<locals>.<lambda>      177r   FrK   r7   )r	   r   r   r   r   r   r$   r%   
isinstancer   hasattrr!   r   r   )r+  drrA   r  rC   s        r   test_apply_series_to_framer6    s    
 
Z	-B			%%a(88=R	HBjj*uj=G]]1Ffi((((vv&&&&&,,1r   c                     U R                  SS/5      S   R                  [        5      nUR                  R                  S S S:X  d   eg )Nr   r   r   rz   r   r   )r$   r%   r  r   r   )r)   rC   s     r    test_apply_series_yield_constantr9    sC    ZZc
#C(..s3F<<bq!Z///r   c                    Sn[         R                  " [        US9   U R                  SS/5      R	                  [
        5      nS S S 5        [        W[        5      (       d   eUR                  b   eU R                  SS/5      SS/   R	                  [
        5      n[        U[        5      (       d   eUR                  b   eg ! , (       d  f       N= f)Nr   r   r   r   r   D)	r!   r"   r#   r$   r%   r  r3  r   r7   )r)   r*   rC   s      r   test_apply_frame_yield_constantr<    s    
CC		#	#$6c	BS#J'--c2 
Cff%%%%;;ZZc
#S#J/55c:Fff%%%%;; 
C	Bs   'C
Cc                    U R                  SS/5      nSn[        R                  " [        US9   UR	                  [
        5      nS S S 5        UR                  5       S   n[        R                  " WR                  UR                  5        [        R                  " UR                  UR                  5        g ! , (       d  f       Nx= f)Nr   r   r   r   r   )r$   r!   r"   r#   r%   r  r   r   r   assert_numpy_array_equalvaluesr)   r  r*   rC   rB   s        r   test_apply_frame_to_seriesrA    s    jj#s$G
CC		#	#$6c	Bs# 
C}}s#H&,,7x?	 
C	Bs   B77
Cc                    U R                  SS/SS9nSn[        R                  " [        US9   UR	                  [
        5      nS S S 5        UR                  5       R                  S[        R                  0S9R                  S	S9n[        R                  " WR                  UR                  5        [        R                  " UR                  UR                  5        g ! , (       d  f       N= f)
Nr   r   Fr   r   r   r   rG   r;  )r$   r!   r"   r#   r%   r  r   renamer   nandropr   r   r>  r?  r@  s        r   )test_apply_frame_not_as_index_column_namerF    s    jj#sej4G
CC		#	#$6c	Bs# 
C}}%%sBFFm%<AA#ANH&,,7x? 
C	Bs   C
C+c                    ^ S n U4S jn[        [        R                  R                  S5      R	                  SSS5      [        R                  R                  S5      R	                  SSS5      [        R                  R                  S5      R                  S5      S.5      mSn[        R                  " [        US	9   TR                  S
5      R                  U 5      nS S S 5        TR                  S
5      S   R                  U5      n[        R                  " WUSS9  UR                  S:X  d   eg ! , (       d  f       NZ= f)Nc                 |    U R                  S5      S   R                  5       R                  5       R                  S S $ )Nr   r   rz   )r$   sumsort_valuesrk   r   s    r   trans-test_apply_frame_concat_series.<locals>.trans  s5    }}S!#&**,88:??CCr   c                    > U R                  TR                  U R                  5      S   5      nUR                  5       R	                  5       R
                  S S $ )Nr   rz   )r$   reindexr   rI  rJ  rk   )r   r  r)   s     r   trans2.test_apply_frame_concat_series.<locals>.trans2  sE    --

5;; 7 <={{}((*//33r   rz   r   r     r   r   r   r   r   r   r   F)check_names)r   r   r   r   integersr   r!   r"   r#   r$   r%   rQ   r7   )rK  rO  r*   rC   r  r)   s        @r   test_apply_frame_concat_seriesrU    s    D4 
&&q)221a>&&q)221a>&&q)99$?	

B DC		#	#$6c	BC&&u- 
C
**S/#

$
$V
,C63E:;;#	 
C	Bs   =!D22
E c                     U R                  S SS9nUR                  S 5      nUR                  S 5      n[        R                  " X#5        g )Nc                     U R                   $ r   r/  r;   s    r   r=   &test_apply_transform.<locals>.<lambda>  r2  r   FrK   c                     U S-  $ r   rw   r;   s    r   r=   rX    s    QUr   c                     U S-  $ r   rw   r;   s    r   r=   rX    s    1q5r   )r$   r%   	transformr!   rQ   )rA   r  rC   rB   s       r   test_apply_transformr\    sA    jj*uj=G]]?+F  1H6,r   c                     U R                  S S /5      nS nUR                  U5      nU H/  u  pE[        R                  " UR                  U   U" U5      5        M1     g )Nc                     U R                   $ r   yearr;   s    r   r=   ,test_apply_multikey_corner.<locals>.<lambda>  s    r   c                     U R                   $ r   r/  r;   s    r   r=   ra    s    177r   c                 *    U R                  S5      SS  $ )Nr   rJ  r   s    r   r+  %test_apply_multikey_corner.<locals>.f  s      %bc**r   )r$   r%   r!   r(   loc)tsframer  r+  rC   r_   r   s         r   test_apply_multikey_cornerri    sT    oo/1BCDG+ ]]1F

fjjoqx8 r   rL   TFc                    [        / SQ[        S5      S.5      nSn[        R                  " [        US9   UR                  SU S9R                  S 5      nS S S 5        UR                  / S	Q5      nU (       a*  [        R                  " / S
QUR                  /SS /S9Ul
        [        R                  " WU5        g ! , (       d  f       Nj= f)N)	r   r   r   rz   rz   rz   r{   r{   r{   r   )r_   r/   r   r   r_   rK   c                      U R                   S S $ r   rj   r;   s    r   r=   'test_apply_chunk_view.<locals>.<lambda>  s    !&&QSRS*r   )r   r   r{   r   r   r   )r   r   rz   rz   r{   r{   r   )r   r   r!   r"   r#   r$   r%   taker   from_arraysr   r(   )rL   r)   r*   rC   rB   s        r   test_apply_chunk_viewro    s     
6qJ	KB
CC		#	#$6c	BEj9??@TU 
Cww)*H#//0
 &(+ 
C	Bs   !B::
Cc            	          [        / SQ/ SQ[        SSS5      S.5      n U R                  SS/5      nSn[        R                  " [
        US	9   UR                  S
 5        S S S 5        g ! , (       d  f       g = f)N)
r   r   r   r   r   r   rz   rz   rz   rz   )
r   r   r   r   r   r   r   r   r   r   r   )r7   name2r/   r7   rr  r   r   c                 "    U R                  SSS9$ )Nr/   Tinplacere  r;   s    r   r=   4test_apply_no_name_column_conflict.<locals>.<lambda>  s    gt Dr   )r   r   r$   r!   r"   r#   r%   )r)   r  r*   s      r   "test_apply_no_name_column_conflictrw    sh    	231b"%	

B jj&'*+G
CC		#	#$6c	BDE 
C	B	Bs   A))
A7c                     [        / SQ[        R                  " / SQS5      [        R                  " SS5      S.5      n S nSn[        R
                  " [        US	9   U R                  S
SS9R                  U5      nS S S 5        U R                  5       n[        R                  " / SQS5      US'   [        R                  " WU5        g ! , (       d  f       NR= f)NrZ   rZ   rZ   r[   r[   r[   r   rz   rZ         @r  r|   vc                 ~    U S   nXR                  5       -
  UR                  5       UR                  5       -
  -  U S'   U $ Nr|  v2minmaxr   r|  s     r   r+  #test_apply_typecast_fail.<locals>.f'  7    #J557{quuw'89dr   r   r   r  FrK           g      ?r   r  )r   r   tilearanger!   r"   r#   r$   r%   r   r(   )r)   r+  r*   rC   rB   s        r   test_apply_typecast_failr    s    	/!,3$	

B
 DC		#	#$6c	BCE288; 
C wwyHWW]A.HTN&(+ 
C	Bs    C
Cc                     [         R                  " / SQ/ SQ/5      n [        / SQ[        R                  " / SQS5      [        R
                  " SS5      S.U S	9nS
 nSn[        R                  " [        US9   UR                  SSS9R                  U5      nS S S 5        UR                  5       n[        R                  " / SQS5      US'   [        R                  " WU5        g ! , (       d  f       NR= f)N)r   r   r   r   r   r   r   ry  r   rz   rZ   rz  r{  r   c                 ~    U S   nXR                  5       -
  UR                  5       UR                  5       -
  -  U S'   U $ r~  r  r  s     r   r+  %test_apply_multiindex_fail.<locals>.fA  r  r   r   r   r  FrK   r  r  )r   rn  r   r   r  r  r!   r"   r#   r$   r%   r   r(   )r   r)   r+  r*   rC   rB   s         r   test_apply_multiindex_failr  6  s    ""$68J#KLE	/!,3$	

 
B
 DC		#	#$6c	BCE288; 
C wwyHWW]A.HTN&(+ 
C	Bs   7 C##
C1c                 |    U R                  S SS9R                  S 5      nU S-  n[        R                  " X5        g )Nc                     U R                   $ r   r_  r;   s    r   r=   #test_apply_corner.<locals>.<lambda>Q  s    qvvr   FrK   c                     U S-  $ r   rw   r;   s    r   r=   r  Q  s    QRUVQVr   rz   )r$   r%   r!   r(   )rh  rC   rB   s      r   test_apply_cornerr  P  s7    __-%_@FFWF{H&+r   c                     [        / SQ/ SQ/ SQS.5      n S nS nSn[        R                  " [        US9   U R	                  S	5      R                  U5      nS S S 5        [        R                  " [        US9   U R	                  S	5      R                  U5      nS S S 5        [        R                  " WW5        g ! , (       d  f       Nh= f! , (       d  f       N7= f)
N)r   r      i,  )rW   rX   r|   r|   r   )id_fieldcategoryr/   c                 j    U R                   S   S:X  a  U R                  5       $ X R                  S:H     $ Nr   r   r|   )shaper   r  r;   s    r   filt1&test_apply_without_copy.<locals>.filt1b  s.    771:?668OZZ3&''r   c                 N    U R                   S   S:X  a  U $ X R                  S:H     $ r  )r  r  r;   s    r   filt2&test_apply_without_copy.<locals>.filt2h  s(    771:?HZZ3&''r   r   r   r  r   )r`   r  r  r*   rB   rC   s         r   test_apply_without_copyr  V  s     ,,!	
D(( DC		#	#$6c	B<<
+11%8 
C		#	#$6c	Bj)//6 
C&(+	 
C	B	B	Bs   !B:9!C:
C
Ctest_seriesc                 2   [        SS/SS/SS//SS// SQS9nU (       ak  UR                  S5      S   nUR                  SS	S
9R                  S 5      nUR	                  5       nUR	                  5       n[
        R                  " X45        g Sn[
        R                  " [        US9   UR                  SS	S9R                  S 5      nS S S 5        WR                  S5      nUR                  S5      n[
        R                  " X45        g ! , (       d  f       NG= f)Nr<   poXY)r   rz   rz   r   r   r   F)levelrL   c                     U $ r   rw   r;   s    r   r=   <test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>~  s    r   r   r   rK   c                     U $ r   rw   r;   s    r   r=   r        qr   )r   	set_indexr$   r%   
sort_indexr!   rQ   r"   r#   rJ  r(   )r  r)   serrC   rB   r*   s         r   *test_apply_with_duplicated_non_sorted_axisr  v  s     

sc3Z#s,sCj	
B ll3$17==kJ ""$>>#
v0G''(:#FZZZ6<<[IF G ##C(>>#&
f/ GFs   &!D
Dc                      / SQn / SQn[        SS/S-  U S.US9n[        XSS	9nS
 nUR                  SSS9R                  R	                  U5      n[
        R                  " X55        g )Nr   r   r   rz   rz   Group1Group2rz   r   r/   r   r/   r   r7   c                     U R                  [        R                  " U R                  R	                  5       U R                  R                  5       S-   5      5      $ ri   )rN  r   r  r   r  r  r;   s    r   reindex_helper1test_apply_reindex_values.<locals>.reindex_helper  s5    yy177;;=!''++-!2CDEEr   r   FrK   )r   r   r$   r/   r%   r!   rQ   )r?  indicesr)   rB   r  rC   s         r   test_apply_reindex_valuesr    sn    
 FG	h1A5Gw	WBf':HF ZZEZ288>>~NF8,r   c                     Sn [         R                  R                  S5      R                  SSU S9n[	        U[         R                  R                  S5      R                  U 5      / SQU S-  -  S.5      nUR                  S	S
S9nS nSn[        R                  " [        US9   UR                  U5      nS S S 5        SW;   d   eg ! , (       d  f       N= f)NrQ  rz   r   r   )size)foobarbazquxr   )r_   value1value2r_   FrK   c                     U S   S-  U S'   U $ )Nr  rz   value3rw   r   s    r   r+  "test_apply_corner_cases.<locals>.f  s    kAo(r   r   r   r  )r   r   r   rT  r   r   r$   r!   r"   r#   r%   )Nlabelsr)   r  r+  r*   rC   s          r   test_apply_corner_casesr    s     	AYY""1%..q#A.>F	ii++A.>>qA2a1f=	

B jj5j1G DC		#	#$6c	Bq! 
Cv 
C	Bs   "C
Cc                     [        SS/S/S-  SS/S.5      n Sn[        R                  " [        US9   U R	                  S	/5      R                  S
 5      nS S S 5        [        R                  " U R                  5      U l        Sn[        R                  " [        US9   U R	                  S	/5      R                  S 5      nS S S 5        [        R                  " WS   WS   5        [        / SQ/ SQ[        R                  " S5      /S-  S.5      n S nSn[        R                  " [        US9   U R	                  S5      R                  U5      S   nS S S 5        U R                  nU R                  Ul        [        R                  " X25        S n[        / SQ/ SQ/ SQ/ SQS.5      nUR                  5       n[        R                  " UR                  5      Ul        Sn[        R                  " [        US9   UR	                  S5      R                  U5      R                   nS S S 5        [        R                  " [        US9   UR	                  S5      R                  U5      R                   nS S S 5        [        R                  " X#5        g ! , (       d  f       GN@= f! , (       d  f       GN= f! , (       d  f       GNg= f! , (       d  f       N= f! , (       d  f       Nl= f)Nr   rz   z
2017-03-02r  inf)NumberDateStrr   r   r  c                      U R                   S   $ r   rj   r;   s    r   r=   ;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    !&&)r   c                      U R                   S   $ r   rj   r;   s    r   r=   r    s    q	r   r  )r         )r  3r   z12:31:22r{   )r   r   Tc                 (    U R                   S   S/   $ )Nr   r   rj   r  s    r   get_B8test_apply_numeric_coercion_when_datetime.<locals>.get_B  s    vvay#r   r   r   c                    [        / SQ[        S9nS[        U R                  5      ;   a4  [	        X R                  S:H     R
                  R                  S   5      US'   S[        U R                  5      ;   ah  [	        X R                  S:H     R
                  R                  S   5      US'   [	        X R                  S:H     R                  R                  S   5      US'   U$ )	N)p1p2useTime)r   rI   step1r   r  step2r  r  )r   rP   r   Staterq   Machiner?  oTime)toolr   s     r   predictions>test_apply_numeric_coercion_when_datetime.<locals>.predictions  s    2&Ad4::&&Dw!67??FFqIJCId4::&&Dw!67??FFqIJCI jjG&;!<!B!B!I!I!!LMC	N
r   )r   r   r   r   )r  r  r  r  ) z2016-09-19 05:24:33r  z2016-09-19 23:59:04)2336L36Rr  )Keyr  r  r  r  )r   r!   r"   r#   r$   r%   r&   r?   r  rQ   	Timestampr   r   r   r   r  r  )r)   r*   rB   rC   r  r  df1df2s           r   )test_apply_numeric_coercion_when_datetimer    sD    
q6L>A#5uenM
B DC		#	#$6c	B::xj)//0CD 
CnnRWW%BG
CC		#	#$6c	BXJ'--.AB 
C6%=(5/: 
!2",,z:R9SVW9WX
B  DC		#	#$6c	BC&&u-c2 
CttHTTHN6, '9K2		
C ((*Csyy)CI
CC		#	#$6c	B;;u%++K8;; 
C		#	#$6c	BU#))+699 
C8,a 
C	B 
C	B 
C	B6 
C	B	B	Bs;   #J#J!/$J39+K+K
J!
J03
K
K
K$c                     [        / SQ[        R                  " S5      /S-  S.5      n U R                  U R                  -
  U S'   Sn[        R
                  " [        US9   U R                  S5      R                  S	 5      nS S S 5        [        / SQ[        R                  " S
S5      /S-  [        R                  " S5      /S-  S.5      R                  S5      n[        R                  " WU5        g ! , (       d  f       Nw= f)NrR  z2017-02-01 00:00:00r{   )clientidr   time_delta_zeror   r   r  c                 ~    [        U R                  R                  5       U R                  R                  5       S.5      $ )N)clientid_ager   )r   r  r  r   )ddfs    r   r=   ?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>  s-    !$!4!4!8!8!:CLLDTDTDVWr   r   r;  )r  r  r   )r   r   
datetime64r   r!   r"   r#   r$   r%   timedelta64r  r(   r)   r*   rC   rB   s       r   -test_apply_aggregating_timedelta_and_datetimer    s     
''<=>B	

B KK"++5B
CC		#	#$6c	BJ'--
 
C '^^As34q8]]#89:Q>	
 i
  &(+ 
C	Bs    "C33
Dc                     SS/SS/SS/SS/SS//n [        U S	S
/[        R                  " SS5      S9nUR                  S	5      R	                  5       n[        / SQ/ SQS.5      nUR                  S	SS9  [        R                  " X#5        g )Nr   r   r   r  r  r   (   2   NameValuez
2020-09-01z
2020-09-05r  rR  )r   r  Z   )r  r  Trt  )r   r&   
date_ranger$   rI  r  r!   r(   )r`   r)   rC   rB   s       r    test_apply_groupby_datetimeindexr    s     "IRy3)c2Yb	BD	vw'r}}\</X
B ZZ##%F/LIJHvt,&+r   c                      [        S[        S5       V s/ s H  n [        R                  " 5       PM     sn S.5      nS nS nSn[        R
                  " [        US9   UR                  S/S	9R                  U5      nS S S 5        [        S
S0S/S9nSUR                  l
        Sn[        R
                  " [        US9   UR                  S/S	9R                  U5      nS S S 5        [        [        R                  " SSS5      R                  S5      SS.S/S9nSUR                  l
        [        R                  " WU5        [        R                  " WU5        g s  sn f ! , (       d  f       N= f! , (       d  f       N= f)Nr   r   r}   c                     [        SS05      $ )Nr|   rz   r   batchs    r   func_with_no_date.test_time_field_bug.<locals>.func_with_no_date.  s    sAhr   c                 4    [        [        SSS5      SS.5      $ )N  r   rz   rX   r|   )r   r   r  s    r   func_with_date+test_time_field_bug.<locals>.func_with_date1  s    HT1a0q9::r   r   r   rW   byr|   rz   r   r
  nsr  )r   r   r   nowr!   r"   r#   r$   r%   r   r7   r&   r  as_unitr(   )	nnr)   r  r  r*   dfg_no_conversiondfg_no_conversion_expecteddfg_conversiondfg_conversion_expecteds	            r   test_time_field_bugr  &  sL    
59!E9R(,,.9!EF	GB ; DC		#	#$6c	BJJ3%J0667HI 
C!*C8A3!?,/$$)
CC		#	#$6c	Bu-33NC 
C'll4A&..t41=aS *-!!&+-GH.*AB/ "F 
C	B 
C	Bs   E
 E> E/
E,/
E=c                     ^ [        / SQ/ SQ/ SQ/ SQS.5      n U R                  SS/5      n U R                  SS/SS	9nS
 mUR                  U4S j5        g )N)rW   rW   rW   rX   rX   rX   rW   rW   rW   rX   rX   rX   )r|   r|   r  r  r  er|   r|   r  r  r  r  )g?rz   r{   r   r   r   rz   r   r   r   r   rz   )gffffff@r   r   r         r   r   r   r   r   r{   )group1group2weightr/   r  r  T)r  sortc                 T    [         R                  " X-  5      R                  S5      nU$ )Nr{   )r   arrayrepeat)r/   r  r   s      r   noddy7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyS  s"    hhu~&--a0
r   c                 >   > T" U R                   U R                  5      $ r   )r/   r  )r<   r$  s    r   r=   :test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>]  s    uQWWahh7r   )r   r  r$   r%   )r)   
df_groupedr$  s     @r   (test_gb_apply_list_of_unequal_len_arraysr)  F  s`    	RR<>		

B 
x*	+B8X"6TBJ 78r   c                     [        / SQ/ SQS.5      n S nSn[        R                  " [        US9   U R	                  S5      R                  U5      nS S S 5        [        5       n[        R                  " WU5        g ! , (       d  f       N0= f)Nr   )r   r   r   r   )r   random_varsc                     g r   rw   r;   s    r   	test_func.test_groupby_apply_all_none.<locals>.test_funce  s    r   r   r   r   r   )test_dfr-  r*   rC   rB   s        r   test_groupby_apply_all_noner0  `  sq     <MNG DC		#	#$6c	B*00; 
C{H&(+ 
C	Bs   !A<<
B
c                     [        / SQ/ SQS.5      n [        / SQ/ SQS.5      nS nSn[        R                  " [        US9   U R	                  S5      R                  U5      nS S S 5        [        R                  " [        US9   UR	                  S5      R                  U5      nS S S 5        [        R                  " S	S	/S
S//SS /S9n[        R                  " SS/S	S//SS /S9n[        S	S	/S
S/S.US9n[        SS/S	S/S.US9n	[        R                  " WU5        [        R                  " WU	5        g ! , (       d  f       N= f! , (       d  f       N= f)N)r   r   r   rz   )r   r   rz   r{   )r   varsr   c                 L    U R                   S   S:  a  g U R                  SS/   $ )Nr   rz   rq  )r  rk   r;   s    r   r-  0test_groupby_apply_none_first.<locals>.test_funct  s&    771:>vvq"gr   r   r   r   r   r   rz   r   r{   r   )	r   r!   r"   r#   r$   r%   r   rn  r(   )
test_df1test_df2r-  r*   r   r   index1index2	expected1	expected2s
             r   test_groupby_apply_none_firstr;  o  s<   L,GHHL,GHH
 DC		#	#$6c	B""8,229= 
C		#	#$6c	B""8,229= 
C##aVaV$4Xt<LMF##aVaV$4Xt<LMFaVaV<FKIaVaV<FKI'9-'9- 
C	B	B	Bs   !D9!E
9
E

Ec            	      p   [        SS/SS/S.5      n U R                  S5      nSn[        R                  " [        US9   UR                  S	 5      nS S S 5        [        S/S
[        R                  " SS/S//SS /S9R                  S5      S9n[        R                  " WU5        g ! , (       d  f       N[= f)Nr   r   filledempty)r/   r   r   r   r   c                 *    X R                   S:g     S   $ )Nr   r/   )r/   r   s    r   r=   7test_groupby_apply_return_empty_chunk.<locals>.<lambda>  s    E++2B,CG,Lr   r/   r   )r7   r   )r   r$   r!   r"   r#   r%   r   r   from_productrE  rQ   )r)   r   r*   rC   rB   s        r   %test_groupby_apply_return_empty_chunkrB    s    	aVx.AB	CBZZ F
CC		#	#$6c	BLM 
C	
%%x 1#&wo

$w-H 68, 
C	Bs   B''
B5c                  *   [        SR                  5       / SQ/ SQS.5      n U R                  SSS9nUR                  S 5      n[        / S	Q/ S
QS.5      n[        R
                  " X#5        UR                  S 5      n[        R
                  " X#5        g )Nza a br~   r   r   r   rR  r   FrK   c                 &    X R                  5       -  $ r   rI  r;   s    r   r=   -test_apply_with_mixed_types.<locals>.<lambda>  s    1uuw;r   )gUUUUUU?gUUUUUU?r   )皙?g333333?rZ   r   r   c                 &    X R                  5       -  $ r   rF  r;   s    r   r=   rG    s    q557{r   )r   rO   r$   r[  r!   r(   r%   )r)   r   rC   rB   s       r   test_apply_with_mixed_typesrK    su    	yyI	JB


35
)A[[./F4?KLH&+WW*+F&+r   c                  d   [        SSS/0[        SS/5      S9n Sn[        R                  " [        US9   U R                  S5      R                  S 5      nS S S 5        [        [        S/5      [        S/5      /[        SS/SS9S9n[        R                  " WU5        g ! , (       d  f       NP= f)	NrW   r   rz   r   r   r   c                     U R                   $ r   r   r  s    r   r=   *test_func_returns_object.<locals>.<lambda>  s    r   r6   )	r   r   r!   r"   r#   r$   r%   r   rQ   r  s       r   test_func_returns_objectrO    s    	C!Q=q!f	6B
CC		#	#$6c	BC&&'89 
CuaSz5!:.eQF6MNH68,	 
C	Bs   "B!!
B/group_column_dtlikec           	      B   [        S/U /S.5      nSn[        R                  " [        US9   UR	                  S5      R                  S 5      nS S S 5        U(       a  SOSn[        S	/[        S/USS
9S/S9n[        R                  " WU5        g ! , (       d  f       NH= f)Nr  r}   r   r   rW   c                     [        S/S/S9$ )Nspam*   r   r  r;   s    r   r=   +test_apply_datetime_issue.<locals>.<lambda>  s    1Mr   ra   rP   rS  rH   rT  rG   )r   r!   r"   r#   r$   r%   r   r(   )rP  r@   r)   r*   rC   rI   rB   s          r   test_apply_datetime_issuerV    s     
%(;'<=	>B
CC		#	#$6c	BC&&'MN 
C +HE&5%C#HSURVWH&(+ 
C	Bs   "B
Bc            
      2   [        [        R                  " S5      [        R                  " S5      [        R                  " S5      [        R                  " S5      [        R                  " S5      S.SSSSSS.SSSSSS.S.5      n S nSn[        R                  " [
        US	9   U R                  S
5      R                  U5      S   nS S S 5        [        S/[        R                  " S/S
S9SS9n[        R                  " WU5        g ! , (       d  f       NF= f)Nz2015-02-24 00:00:00)r   r   rz   r{   r   zsome UA stringzanother UA string17661101)day	userAgentuserIdc           	          [        U R                  5        VVs0 s H"  u  pXR                  5       R                  S   _M$     snn5      $ s  snnf r   )r   itemsvalue_countsr   )r)   r|   ss      r   most_common_valuesEtest_apply_series_return_dataframe_groups.<locals>.most_common_values  s<    
K
q..*0033
KLLKs   )A

r   r   rY  r[  z
2015-02-24r6   r  )r   r&   r  r!   r"   r#   r$   r%   r   DatetimeIndexrQ   )tdfr`  r*   rC   rB   s        r   )test_apply_series_return_dataframe_groupsrd    s   
 << 56<< 56<< 56<< 56<< 56 $##&# 	
C4M DC		#	#$6c	BU#))*<=hG 
C	B,,l^%HxH 68, 
C	Bs   $$D
Dr  c           
         SS/S-  nU (       a6  [         R                  " U/ SQS9n[         R                  " / SQ/ SQSS9n/ SQnO[        SS/SS	9nS
S/n[	        X3S.US9n[	        [
        R                  " S5      U[        [        S5      5      [        [        S5      5      S.5      R                  SS/5      nUR                  SSS9R                  S 5      n[        R                  " Xd5        UR                  R                  SS/:X  d   eg )Nr   rz   r   r~   )
categoriesr   )rf  r7   )r     r   r6   r  rg  )r   r;  r   r   )r   r   r   r;  r   F)observedc                 "    U R                  5       $ r   rF  r;   s    r   r=   -test_apply_multi_level_name.<locals>.<lambda>  s
    QUUWr   )r&   CategoricalCategoricalIndexr   r   r   r  r   r   r  r$   r%   r!   r(   r   r   )r  rX   expected_indexexpected_valuesrB   r)   rC   s          r   test_apply_multi_level_namero    s     
A
ANN13,,Y9SVW%1vC0r(4NH 
iim!$uRy/U2YP
ic
  ZZeZ,223DEF&+88>>c3Z'''r   c           
         [         R                  " [        R                  " SSS5      SSSS4[        R                  " SSS5      SSS	S
4[        R                  " SSS5      SSSS4[        R                  " SSS5      SSSS4// SQS9nSn[        R
                  " [        US9   UR                  S5      R                  S 5      R                  nS S S 5        U (       a  SO[        n[        [        R                  " S5      XD[        R                  U// SQS9n[        R                  " WU5        g ! , (       d  f       Ng= f)Ni  r   reddarkr   r
  greenstormyrz   9i  bluebrightr{   r   i  calmr   potato)observationcolormood	intensityscorerG   r   r   r{  c                      U R                   S   $ r   rj   r  s    r   r=   ;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    qvvayr   ra   zdatetime64[ns]r   )r   from_recordsr&   r  r!   r"   r#   r$   r%   rp   rP   r   r   rI   int64rQ   )r@   r`   r*   rC   rI   rB   s         r   )test_groupby_apply_datetime_result_dtypesr    s   !!\\$1%ufa=\\$1%w!SA\\$1%vxDA\\$1%vvq(C		
 GD DC		#	#$6c	Bg&,,-@AHH 
C*HE	"	#U288UCDH 68, 
C	Bs   #,D00
D>r   abcr{   2020r;  )r-  freq))rW   r   )rW   r   )rX   r   c                     [        / SQ/ SQS.U S9nSn[        R                  " [        US9   UR	                  SSS	9R                  S
 5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)Nr   r   rz   )r   r   r   r  r   r   r   r   FrK   c                     U $ r   rw   r;   s    r   r=   8test_apply_index_has_complex_internals.<locals>.<lambda>&  r  r   r   )r   r)   r*   rC   s       r   &test_apply_index_has_complex_internalsr    sh     
Y;5	IB
CC		#	#$6c	BG6<<[I 
C&"% 
C	Bs   !A..
A<zfunction, expected_valuesc                 6    U R                   R                  5       $ r   )r   to_listr;   s    r   r=   r=   -  s    177??$r   c                 H    [        U R                  R                  5       5      $ r   )setr   r  r;   s    r   r=   r=   .  s    3qww()r   c                 H    [        U R                  R                  5       5      $ r   )tupler   r  r;   s    r   r=   r=   /  s    5*+r   )r   r   rz   r{   c                 Z    [        [        U R                  R                  5       5      5      $ r   )dict	enumerater   r  r;   s    r   r=   r=   1  s    d9QWW__%678r   c                     [        U R                  R                  5       5       VVs/ s H  u  pX0PM
     snn$ s  snnf r   )r  r   r  )r<   nis      r   r=   r=   5  s,    Iaggoo6G,HI,H&1v,HIIs   :c                    [        / SQS/S9nSn[        R                  " [        US9   UR	                  S5      R                  U 5      nS S S 5        [        U[        SS/SS9S	9n[        R                  " WU5        g ! , (       d  f       N:= f)
N)r   r   r   r   r   rG   r   r   r   r   r6   r   	r   r!   r"   r#   r$   r%   r   r   rQ   )functionrn  r)   r*   rC   rB   s         r   1test_apply_function_returns_non_pandas_non_scalarr  *  sy    $ 
'(	<B
CC		#	#$6c	BH%++H5 
CoUC:H-MNH68, 
C	Bs   !A>>
Bc                  x   S n [        / SQSSS[        R                  /S.5      nSn[        R                  " [
        US9   UR                  S	5      R                  U 5      nS S S 5        [        S
S/S/[        R                  //[        / SQS	S9S9n[        R                  " WU5        g ! , (       d  f       NO= f)Nc                 <    U S   R                   R                  5       $ )Nr   )r?  flattenr   s    r   fct4test_apply_function_returns_numpy_array.<locals>.fctF  s    Sz  ((**r   )rW   rW   rX   noner   rz   r{   r8  r   r   r   rZ   r[   r\   )rW   rX   r  r6   r   )r   r   rD  r!   r"   r#   r$   r%   r   r   rQ   )r  r)   r*   rC   rB   s        r   'test_apply_function_returns_numpy_arrayr  D  s    + 
01a7HI	JB
CC		#	#$6c	BC&&s+ 
C
scURVVH%U3EC-PH 68, 
C	Bs   !B++
B9r  c                     U R                   $ r   r   grs    r   r=   r=   T  s    r   c                 &    U R                   S-   S-
  $ ri   r   r  s    r   r=   r=   T  s    bhhQRlUVFVr   c                 f   [        / SQS/S9nSn[        R                  " [        US9   UR	                  S5      R                  U 5      nS S S 5        [        [        / SQ5      [        / SQ5      [        SS	/5      /[        / S
QSS9S9n[        R                  " WU5        g ! , (       d  f       N^= f)N)
r   rz   rz   rz   r   rz   r{   r   r{   r   idrG   r   r   )r   r   r   r   )r   rz   r{   r   r   r   r~   r6   r   r  )r  r)   r*   rC   rB   s        r    test_apply_function_index_returnr  T  s     
1D6	BB
CC		#	#$6c	BD!''1 
C	|	eL15!Q=AID)H 68, 
C	Bs   !B""
B0c                      [        / SQ/ SQS.5      n U R                  SSS9R                  S 5      n[        / SQ/ S	QS.5      n[        R                  " X5        g )
Nr   )r   rz   r   r   r   r   r   r   Fr   c                 "    U R                  5       $ r   )r   r;   s    r   r=   Atest_apply_function_with_indexing_return_column.<locals>.<lambda>j  s
    r   )r   r   r   )r\   r]   r]   )r   r$   r%   r!   r(   )r)   rC   rB   s      r   /test_apply_function_with_indexing_return_columnr  b  s\    	@&	

B ZZZ/556HIF+#	
H &+r   udfc                 "    U R                  5       $ r   r   r;   s    r   r=   r=   v  s
    r   c                 B    U R                  5       R                  S 5      $ )Nc                     U S-   $ ri   rw   )ys    r   r=   <lambda>.<locals>.<lambda>v  s    Ar   )r   rC  r;   s    r   r=   r=   v  s    affhooo&Fr   c                 &   [        SS/SS/S.5      nSn[        R                  " [        US9   UR	                  SU S	9R                  U5      nS S S 5        UR                  R	                  UR                  U S	9R                  U5      nU (       a9  WR                  R                  S:X  d   eUR                  R                  S:X  d   eg WR                  R                  S:X  d   eUR                  R                  S:X  d   eg ! , (       d  f       N= f)
NrW   rX   r   rz   r8  r   r   r   rK   )
r   r!   r"   r#   r$   r%   r   r   r   nlevels)rL   r  r)   r*   	df_resultseries_results         r   test_apply_result_typer  t  s     
#s1a&1	2B
CC		#	#$6c	BJJszJ:@@E	 
CDDLL*L=CCCHM&&!+++""**a///&&!+++""**a/// 
C	Bs    D
Dc                     [        / SQ/ SQS.5      n Sn[        R                  " [        US9   U R	                  SSS9R                  S	 5      nS S S 5        [        R                  " [        US9   U R	                  SSS9R                  S
 5      nS S S 5        [        R                  " WW5        g ! , (       d  f       Nh= f! , (       d  f       N7= f)N)rz   r   rz   r~   r8  r   r   r   FrK   c                     U $ r   rw   r;   s    r   r=   4test_result_order_group_keys_false.<locals>.<lambda>  s    1r   c                 "    U R                  5       $ r   r   r;   s    r   r=   r    s
    QVVXr   r   r  s       r   "test_result_order_group_keys_falser    s     
3	4B
CC		#	#$6c	BCE288E 
C		#	#$6c	B::ce:4::;MN 
C&(+	 
C	B	B	Bs   !B10!C1
B?
Cc                     S/S-  S/S-  -   S/S-  -   n [         R                  " U 5      n[         R                  " U SS9n[        [        [	        S5      5      S-  [	        S5      US	.5      n[        [        [	        S5      5      S-  [	        S5      US	.5      nS
n[
        R                  " [        US9   UR                  SSS9R                  S 5      nS S S 5        [
        R                  " [        US9   UR                  SSS9R                  S 5      nS S S 5        [
        R                  " WW5        g ! , (       d  f       Nh= f! , (       d  f       N7= f)Nz
2001-01-01rz   z
2001-01-02z
2001-01-03UTC)tzr{   r   )r<   r  tr   r   r<   FrK   c                 ,    U SS/   R                  5       $ Nr<   r  r   r   s    r   r=   1test_apply_with_timezones_aware.<locals>.<lambda>      r3*~**,r   c                 ,    U SS/   R                  5       $ r  r   r   s    r   r=   r    r  r   )r&   rb  r   r   r   r!   r"   r#   r$   r%   r(   )datesindex_no_tzindex_tzr  r  r*   r   r   s           r   test_apply_with_timezones_awarer    s'   NQ,!!33|nq6HHE""5)K%0H
$uQx.1,58+N
OC
$uQx.1,58(K
LC
CC		#	#$6c	B++ce+4::,
 
C 
	#	#$6c	B++ce+4::,
 
C
 '7+ 
C	B 
C	Bs   5!D87!E	8
E	
Ec                 P   [        / SQ/ SQ/ SQS.5      n[        SS/SS/S	.[        S
S/SS9S9nUR                  SS9nSn[        R                  " [
        USS9   UR                  [        SS9nS S S 5        [        R                  " WU5        UR                  SS9n[        X5      n[        X05      " U6 n[        R                  " [
        USS9   UR                  [        SS9nS S S 5        [        R                  " XR5        g ! , (       d  f       N= f! , (       d  f       N6= f)N)c   r  r  X   r  r  )r   rz   r{   r   r   r   )r   r  r  r  r  <   r      r      r  r  r  r  rW   r6   r   r  :The behavior of DataFrame.sum with axis=None is deprecatedF)r   check_stacklevelinclude_groups)r   r   r$   r!   r"   ro   r%   rI  r(   r
   getattr)reduction_funcr)   rB   grpr*   rC   args_s           r   ;test_apply_is_unchanged_when_other_methods_are_called_firstr    s    
)#)	

B 1gS"I&RH3'H ***
C
FC		#	#Mu	U3u5 
V&(+ ***
C">6D$d+A		#	#Mu	U3u5 
V&+ 
V	U 
V	Us   DD
D
D%c                     [        / SQ[        SSS5      [        SSS5      [        SSS5      [        SSS5      // SQS.[        / SQS	S
9S9n U R                  SS/5      nSn[        R
                  " [        US9   UR                  S 5      nS S S 5        U R                  / SQ   nUR                  5       n[        R                  " U/ SQ   5      Ul        UR                  S	S9n[        R                  " WU5        UR                  R                  S    H  n[!        U5      [        L a  M   e   g ! , (       d  f       N= f)N)rW   rW   rW   rX   i  r   r   rz   r   rR  )r   e   f   g   idxr6   r   r   r   r   r   c                 $    U R                  S5      $ ri   r   r;   s    r   r=   Rtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>  s    QVVAYr   )r   rz   r{   )r   r   r  rG   )r   r   r   r$   r!   r"   r#   r%   rk   r    r   
from_framer   rE  r(   levelstype)r)   r  r*   rC   rB   vals         r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestampr    s'    
%T1b!T1b!T1b!T1b!	 		
 (u5
B **c3Z
 C
CC		#	#$6c	B./ 
C wwy!H##%H**84E+FGHN}}U}+H&(+||""1%CyD    & 
C	Bs   ;D22
E c                     [        [        R                  R                  S5      R                  SS/5      [        R
                  " SS/SS//5      S9n Sn[        R                  " [        US	9   U R                  R                  S
S
S9nS S S 5        WR                  S 5      nSn[        R                  " [        US	9   U R                  SS
S9nS S S 5        WR                  S 5      n[        R                  " XSR                  5        [        R                  " XP5        g ! , (       d  f       N= f! , (       d  f       Nh= f)Nrz   r   r   r   r   r   rG   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   rd   r  c                 "    U R                  SSS9$ )Nr   r  	droplevelr;   s    r   r=   Dtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>  s    !1!=r   rf   c                 "    U R                  SSS9$ )Nr   r   r  r  r;   s    r   r=   r    s    !++1A+">r   )r   r   r   r   r   rA  r!   r"   ro   r  r$   r%   r(   )r)   r*   rs   by_rowsgb2by_colss         r   2test_apply_by_cols_equals_apply_by_rows_transposedr    s     

		a ''A/''#saV(<=
B
 BC		#	#M	=TT\\q\* 
>hh=>G
7C		#	#M	=jjaqj) 
>ii>?G'99-'& 
>	=
 
>	=s   .D >D1 
D.1
D?dropnac                    [        / SQS[        R                  [        R                  SS/S.[        S5      S9nSn[        R
                  " [        US9   UR                  S	U S
S9R                  S 5      nS S S 5        U (       a  UR                  5       OUR                  / SQ   n[        R                  " WU5        g ! , (       d  f       NN= f)Nr   rz   r{   r   r   rW   rX   )colr   xxyxzr   r   r   r   F)r  rL   c                     U $ r   rw   r;   s    r   r=   5test_apply_dropna_with_indexed_same.<locals>.<lambda>  s    VWr   )r   r{   r   rz   r   )r   r   rD  r   r!   r"   r#   r$   r%   r  rk   r(   )r  r)   r*   rC   rB   s        r   #test_apply_dropna_with_indexed_samer    s     
"26626634	
 7m
B DC		#	#$6c	BGFuEKKKX 
C$ryy{"''/*BH&(+ 
C	Bs   "B??
Czas_index, expected)r   r   r   )rz   rz   r   )rW   rX   N)rI   r   )rz   rz   rX   r   r   c                 
   [        / SQ/ SQ/ SQS.5      nSn[        R                  " [        US9   UR	                  SS/U S9R                  S	 5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)
Nr  )r   r   r   r   r   r   r   rW   rX   r   c                     gri   rw   r;   s    r   r=   5test_apply_as_index_constant_lambda.<locals>.<lambda>-  s    1r   )r   r!   r"   r#   r$   r%   assert_equal)r   rB   r)   r*   rC   s        r   #test_apply_as_index_constant_lambdar    sj    & 
L|L	MB
CC		#	#$6c	BS#J:@@M 
COOFH% 
C	Bs   #A44
Bc                  p   [        / SQ/ SQ/ SQS.[        S5      S9n Sn[        R                  " [        US9   U R                  S	5      R                  S
 5      nS S S 5        [        [        SS5      [        R                  " / SQS	S /S9SS9n[        R                  " WU5        g ! , (       d  f       NR= f)Nr  )r   r   r   r   r   )r   r   r   rz   rz   rR  r   r   r   r   r   c                 6    U R                   R                  5       $ r   )r   r  r;   s    r   r=   (test_sort_index_groups.<locals>.<lambda>9  s    1Ar   r   r   )r   r   r   r  r   r   r   r  )r   r   r!   r"   r#   r$   r%   r   r   r   rQ   r  s       r   test_sort_index_groupsr  1  s    	O/JAh
B DC		#	#$6c	BC&&'AB 
Ca$$4S$K
 H 68, 
C	Bs   "B''
B5c                     [        [        R                  " SSSS9[        S5      [	        S5      S.5      n Sn[
        R                  " [        US9   U R                  U R                  U R                  R                  R                  /S	S
9R                  S 5      nS S S 5        [
        R                  " WU 5        g ! , (       d  f       N&= f)Nz
2010-01-0112hr   )r  r-  r   )r   valsletr   r   FrK   c                      U R                   SS  $ r   rj   r;   s    r   r=   ;test_positional_slice_groups_datetimelike.<locals>.<lambda>Q  s    !&&*r   )r   r&   r   r   r   r!   r"   r#   r$   r  r   dtr%   r(   )rB   r*   rC   s      r   )test_positional_slice_groups_datetimeliker  D  s    MM,UAF!H=	
H DC		#	#$6c	B!!\\8==++001e " 

%$
% 	 
C &(+	 
C	Bs   AB<<
C
c                      [        / SQ/ SQ/ SQS.5      n U R                  S5      nUSS/   R                  S 5      n[        S	S
/SS
/S.[        SS/SS9S9n[        R
                  " X#5        g )N)rW   rW   rX   r~   rD  rR  r   r   r   c                 j    U R                  [        5      R                  5       U R                  5       -
  $ r   )astypefloatr  r  r;   s    r   r=   7test_groupby_apply_shape_cache_safety.<locals>.<lambda>Y  s     AHHUO,?,?,AAEEG,Kr   rZ   r  r[   rI  rW   rX   r6   r   )r   r$   r%   r   r!   r(   )r)   rs   rC   rB   s       r   %test_groupby_apply_shape_cache_safetyr  U  sp    	yyI	JB	CBc
^!!"KLFCjSz*%c
2MH &+r   c                     [         R                  " / SQ/ SQ/ SQS.5      n U R                  S5      SS/   nUR                  S 5      n[        R
                  " / S	Q/ S
Q/SS /S9n[        / SQUSS9n[        R                  " X$5        g )N)rW   rX   rW   rX   )aaacr  ad)r  r  r  r  )rW   b1b2rW   r  r  c                 >    U R                  5       R                  5       $ r   )unstackr^  r;   s    r   r=   3test_groupby_apply_to_series_name.<locals>.<lambda>k  s    !9!9!;r   )rW   rW   rX   rX   rX   )r  r  r  r  r  )arraysr   )r{   r   rz   r   r   r   r  )	r   	from_dictr$   r%   r   rn  r   r!   rQ   )r)   r  rC   expected_idxrB   s        r   !test_groupby_apply_to_series_namer  a  s    			%**	

B **S/4,
'CYY;<F)))+IJDkL o\HH6,r   c                    [        / SQ/ SQSS[        R                  [        R                  /S.5      nUR                  SU S9nSn[        R
                  " [        US	9   UR                  S
 5      nS S S 5        [        R
                  " [        US	9   UR                  S 5      nS S S 5        [        R                  " WW5        g ! , (       d  f       NZ= f! , (       d  f       N7= f)Nr  )r   r   rz   r   r   rz   )r  r  zr  )r  r   r   c                 &    U R                  SS5      $ )Nr   r   )nlargest)grp_dfs    r   r=   test_apply_na.<locals>.<lambda>~  s    FOOAs,Cr   c                 @    U R                  SSS9R                  S5      $ )Nr   F)	ascendingr   )rJ  r   r;   s    r   r=   r$    s    se)L)Q)QRS)Tr   )	r   r   rD  r$   r!   r"   r#   r%   r(   )r  r)   dfgrpr*   rC   rB   s         r   test_apply_nar(  u  s     
<q!RVVRVV6LM
B JJuVJ,E
CC		#	#$6c	BCD 
C		#	#$6c	B;;TU 
C&(+	 
C	B	B	Bs   CC
C
C%c            
         Sn [         R                  " [        U S9   [        / SQ/ SQ[        R
                  " / SQSS9S.5      R                  S	S
/5      R                  S 5      nS S S 5        [        SS[        R
                  " SSS9/SS[        R
                  " SSS9/// SQ[        R                  " SS/S	S
/S9S9n[         R                  " WU5        g ! , (       d  f       Nx= f)Nr   r   r  )r  r  r  r  r   r_  )unitr   rW   rX   c                      U R                   S   $ Nrq  rj   r   s    r   r=   8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>  s    bggbkr   r   r  rz   r   )r   r  )rz   r  r   r  )r!   r"   r#   r   r&   r?   r$   r%   r   r   r(   )r*   rC   rB   s      r   &test_apply_empty_string_nan_coerce_bugr.    s    
CC		#	#$6c	B%)3? Wc3Z U)* 	 
C 
R,	-2r~~ac7R/ST$$gw%7SzJH
 &(+# 
C	Bs   A
C
C&index_values)rZ   r[   r\   c                 @   [        / SQ/ SQS.[        U 5      S9n[        S/ SQ0[        / SQSS	9S9nS
n[        R                  " [        US9   UR                  S5      R                  S 5      nS S S 5        [        R                  " X5        g ! , (       d  f       N%= f)N)r  a2a3r~   r}   r   b_mean)r[   r\   rZ   )r1  r2  r  rW   r6   r   r   c                 <    [        U S   R                  5       /S/S9$ )NrX   r3  r   )r   r   r   s    r   r=   0test_apply_index_key_error_bug.<locals>.<lambda>  s    vr#w||~.xjAr   )r   r   r!   r"   r#   r$   r%   r(   )r/  rC   rB   r*   s       r   test_apply_index_key_error_bugr6    s     #	
 L!F o	
 &S1	H DC		#	#$6c	B$**A
 
C &+	 
C	Bs   "B
Bzarg,idx)皙?333333?皙?)r7  r9  r8  )r   r   r{   )r7  rH  r9  c                     [        SU 0US9nSn[        R                  " [        US9   UR	                  SSS9R                  S 5      nS S S 5        [        R                  " WU5        g ! , (       d  f       N&= f)Nr  r   r   r   FrK   c                     U $ r   rw   r;   s    r   r=   5test_apply_nonmonotonic_float_index.<locals>.<lambda>  s    1r   r   )argr  rB   r*   rC   s        r   #test_apply_nonmonotonic_float_indexr>    sk    V %S1H
CC		#	#$6c	B!!%E!:@@M 
C&(+ 
C	Bs   !A))
A7zargs, kwargsnumeric_onlyc                     U R                  S5      nUR                  " S/UQ70 UD6nUR                  SS9n[        R                  " XE5        g )Nr   rI  T)r?  )r$   r%   rI  r!   r(   )r)   r  kwargsrs   rC   rB   s         r   test_apply_str_with_argsrB    sG     
CBXXe-d-f-Fvv4v(H&+r   r7   	some_namec                     [        SS/U S9nUR                  SS/SS9R                  S 5      n[        SS/U S9n[        R                  " X#5        g )Nr   rz   r6   rW   FrK   c                     U $ r   rw   r;   s    r   r=   1test_result_name_when_one_group.<locals>.<lambda>  r  r   )r   r$   r%   r!   rQ   )r7   r  rC   rB   s       r   test_result_name_when_one_grouprG    sS     !Qd
#C[[#s[6<<[IFq!f4(H6,r   z
method, opr%   c                      U R                   S   $ r,  )r?  rs   s    r   r=   r=     s    RYYr]r   c                 &    U S   R                   S   $ )NrX   r   rj   rI  s    r   r=   r=     s    RW\\!_r   )aggskew)rK  prod)rK  rI  c                     [        / / S.5      nUR                  SSS9n[        US5      n[        X@5      " U5      n[        / SS[	        / SSS9S9n[
        R                  " XV5        g )	Nr}   rW   TrK   rX   rb   rH   )r7   rI   r   )r   r$   r  r   r   r!   rQ   )methodopempty_dfrs   r   rC   rB   s          r   test_empty_dfrR    so     r+,H			#$		/BBEU#B'F
IU2YS-QH 6,r   r  c                 h   [        / SQ/ SQS.5      nUR                  S5      nU (       a  [        OS nSn[        R                  " X4S9   UR                  S U S9nS S S 5        [        S	S	/S
S/S.[        SS	/SS9S9nU (       d  US/   n[        R                  " WU5        g ! , (       d  f       NN= f)Nr  )r{   r   r   r}   rW   r   r   c                 "    U R                  5       $ r   rF  r;   s    r   r=   %test_include_groups.<locals>.<lambda>  s
    AEEGr   r  rz   r   r   r   r6   r   rX   )r   r$   r#   r!   r"   r%   r   r(   )r  r)   rs   warnr*   rC   rB   s          r   test_include_groupsrW    s     
3	4B	CB!/TD
CC		#	#D	4+NK 
51vQF35!Qc;RSHSE?&(+ 
5	4s   	B##
B1r+  re   jimjoec                   ^^ [         R                  R                  S5      n[        UR	                  SSS5      SS/S9nUR                  S5      US	'   UR                  U 5      nUR                  mU[        La  S O[        nS
n[        R                  " XVSSS9   UR                  U5      nS S S 5        [        UR                  U S95      nSWR                   SU S3n	UR                  US4:X  d   U	5       eU4S jmSn[        R                  " [         US9   UR                  T5      n
S S S 5        [        R"                  " UW
5        [        R                  " [         US9   UR                  U4S j5      nS S S 5        [        R"                  " UW5        U[        :w  aE  UR%                  T5      R'                  5       n
U
R)                  U SSS9  [        R"                  " XzSS9  [        R*                  " [-        UT5      " SS9[-        UT5      " SS95        g ! , (       d  f       GNv= f! , (       d  f       GN	= f! , (       d  f       N= f)Nrz   r   r   )r   rz   rX  rY  rG   r   jolier  F)r   r  raise_on_extra_warnings)subsetzinvalid frame shape: z (expected (z, 3))r{   c                 .   > [        [        T5      " U SS9$ )Nr   rg   )r  r   )r<   fnames    r   r=   %test_builtins_apply.<locals>.<lambda>7  s    wr5)!!4r   r   r   c                    > T" U 5      $ r   rw   )r<   npfuncs    r   r=   r`  >  s	    vayr   T)ru  rE  )check_dtyper   rg   )r   r   r   r   rT  r   r$   __name__rI  ro   r!   r"   r%   r  drop_duplicatesr  r#   r(   rK  r    r  rQ   r  )re   r+  rsr)   rs   rV  r*   rC   ngroups
assert_msgrB   r:  r_  rb  s               @@r   test_builtins_applyri    s    
		q	!B	2;;q!W-u~	FB$$R(BwK	D	BJJEC<4]D
FC		#	#%
 !	

 "$$D$12G(l7)5QJ<<GQ<'33'4F
CC		#	#$6c	B88F# 
C&(+		#	#$6c	BHH01	 
C&),Cx66%=,,.4E:
fEB7651q972u;MST;UV3
 
 
C	B 
C	Bs$   HH,"H>
H),
H;>
I)dr   r   numpyr   pytestpandasr&   r   r   r   r   r	   pandas._testing_testingr!   pandas.tests.groupbyr
   r,   rD   rT   rt   ry   markparametrizer   r   r   r   r   r   r   r  r!  r6  r9  r<  rA  rF  rU  r\  ri  ro  rw  r  r  r  r  r  r  r  r  r  r  r  r)  r0  r;  rB  rK  rO  todayrF   rV  rd  ro  r  rl  interval_rangeperiod_ranger   r  r  r  r  r  r  r  r  r  r  r  r  rP   r  r  r  r  r  r(  r.  r6  r>  rB  rG  rR  rW  r  r  rI  ri  rw   r   r   <module>ru     s   
      85&%,P*-Z,$,  	/HI	JIV	L9	:QFC	C!:	$	1aA	BQFK	+4FG	H)Tl+77 		
 
Iy)?	CaVL!$	)  <+$=<+$\2,, 
$#	&&-('$T&3R2&0

@	@0-9 e}5, 6, F ,0,4,,@ u60 700-$2;-|,:,"C@94,..-"
,- ^^x~~',,.0@0E0E0GH,	, %-P eT]3( 4(,-, 
DK(
!Q
4=>	&& 	$1v1v&67	)QFQF+;<	+ff-=>8q\qQ<(	

 J!fq!fAA/0	
 -! --  &9;V%WX
- Y
-,$ 	FH e}50 6	
0$	,,*,@!@'2 D%=1, 2,"  I&6Ff0U	
 Aj44ff5EcSVZX	
"&#"&-&,"	,-( D%=1, 2,,. )_)EF, G,. 
	

	

	
3%(R,S(R, D62,nd=S8T)UV, W, +t!45- 6- 	*+	,-	-	- )D%=9, :, sCo.%%!89%W : /%Wr   