
    bMh                     >   d dl mZm Z  d dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
mZmZmZ d dlmZ d dlmZ d Zd Zd Zd	 Zd
 Zej                            d e	g dg dd          g df e	g dg dd          d dgf e	ddgi          dgf e	g d ed          d          ddgf e	g dg dd          g df e	 ed          g dg dd          g df e	g dg dgg d           ddgfgg d!"          d#             Zd$ Zd% Zej                            d&d' d( d) d* g          d+             Zd, Z d- Z!d. Z"d/ Z#d0 Z$d1 Z%d2 Z&d3 Z'd4 Z(d5 Z)d6 Z*ej                            d7d8d9g          d:             Z+d; Z,d< Z-d= Z.d> Z/d? Z0ej                            d@d8d9g          dA             Z1dB Z2dC Z3dD Z4dE Z5dF Z6dG Z7dH Z8dI Z9dJ Z:dK Z;dL Z<dM Z=ej                            dN e j>                     e j>                                                     e j>                    ?                                g          dO             Z@dP ZAej                            dQd9d8g          dR             ZBdS ZCej                            dT ejD         edU                     ejE        d dV           ejF        dWdVdXY           ejG        g dZ          g          d[             ZHej                            d\d] d dgddVggfd^ d dhddVhgfd_ d`dagfdb d dd`ddVd`gfdc d d iddigd diddViggfg          dd             ZIde ZJej                            dfdg dh g          di             ZKdj ZLej                            dkdl dm g          ej                            d7d8d9g          dn                         ZMdo ZNdp ZOdq ZPdr ZQds ZRej                            dtd8d9g          du             ZSej                            dv ejT        d9 e	g dwg dxg e
g dyeUz                     ej        V                     e            d{|          }          d8 eddg ejG        d~dgddg                    gg          d             ZWd ZXd ZYd ZZd Z[ej                            dtd8d9g          d             Z\d Z]ej                            dg dg dg          d             Z^ej                            dg dg dgg dg dgg dg dgg          d             Z_ej                            dd8gi fg dd8ifg          d             Z`ej                            dddg          d             Zaej                            ddd fdd fdddg          d             Zbej                            dd8d9g          d             Zcej                            dedeeefg          ej                            ddddgg          d                         ZgdS )    )datedatetimeN)using_string_dtype)	DataFrameIndex
MultiIndexSeriesbdate_range)get_groupby_method_argsc                     t          dt          t          d                    dz  dg                                          } g fd}d}t	          j        t          |          5  |                     d                              |           d d d            n# 1 swxY w Y   t          dgdz  dgdz  d	t          j
        dd
d                    }t	          j        d         |           d S )N   
   r   )indexcolumnsc                 2                         |            d S N)append)groupgroupss    _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/groupby/test_apply.pystorezFtest_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FutureWarninggroupbyapplypd
RangeIndexassert_frame_equal)dfr   msgexpected_valuer   s       @r   7test_apply_func_that_appends_group_to_list_without_copyr,      sC    
1DrOOb01#	>	>	>	J	J	L	LBF     DC		#M	=	=	= ) )


7!!%((() ) ) ) ) ) ) ) ) ) ) ) ) ) )#(sRx((ab0I0I  N &)^44444s   ()BB!$B!c                 l   g d}t          dg dit          t          j        |          d                    }|                    |j        j                                                  }|                    |j        j                                      d           }t          j
        ||           d S )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                 *    |                                  S r   idxmaxxs    r   <lambda>z'test_apply_index_date.<locals>.<lambda>N   s    qxxzz r   )r   r   r&   to_datetimer$   r   r   r:   r%   r!   r(   )using_infer_stringtsr)   expectedresults        r   test_apply_index_daterC   *   s    
 
 
B 
   	
  BN2&&[999#
 
 
B& zz"(-((//11HZZ&&,,-A-ABBF&(+++++r   c                     g d} t          d | D             ddg          }g d|d<   t          g dd	          }t          g d
|          }d}t          j        t
          |          5  |                    dd                              d           }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr.   c                 6    g | ]}|                                 S  )split).0rows     r   
<listcomp>z0test_apply_index_date_object.<locals>.<listcomp>c   s     ...CCIIKK...r   r   timer   r0   r/   )z
2011-05-16z
2011-05-17z
2011-05-18r6   )z00:0002:00rM   r   r   r   F
group_keysc                 N    | d         | d                                                   S )NrK   r/   r9   r;   s    r   r=   z.test_apply_index_date_object.<locals>.<lambda>w   s    ai'
 1 1 3 34 r   )	r   r   r	   r!   r"   r#   r$   r%   assert_series_equal)r@   r)   exp_idxrA   r*   rB   s         r   test_apply_index_date_objectrS   R   s:   
 
 
B 
..2...8H	I	I	IB  BwK >>>VLLLG111AAAH
CC		#M	=	=	= 
 
Fu55;;44
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 68,,,,,s   ,,B$$B(+B(c                    t          g dg ddddg          | rdnd}t          j        j        d	d          j        d	d          gd	d
|g          }d}t	          j        t          |          5                      d j        D             d	          }d d d            n# 1 swxY w Y   |	                    fd          }t	          j
        ||           d S )NarV   brW   rV         ?       @      @      @g      @keydatar^   r_   rL   strobjectr   float64axiskeys+DataFrame.groupby with axis=1 is deprecatedr   c                 ,    g | ]}t          |          S rF   r`   rH   r<   s     r   rJ   z&test_apply_trivial.<locals>.<listcomp>       333AQ333r   rd   c                 "    j         dd          S Nr   ilocr<   r)   s    r   r=   z$test_apply_trivial.<locals>.<lambda>   s     r   )r   r&   concatro   r!   r"   r#   r$   dtypesr%   r(   r?   dtyperA   r*   gbrB   r)   s         @r   test_apply_trivialrv   |   sF    
)))3L3L3LMM
 
 
B (5EEXEy"'!""+rwqrr{3!9eBTUUUH
7C		#M	=	=	= = =ZZ33333!Z<<= = = = = = = = = = = = = = =XX++++,,F&(+++++s   4'B''B+.B+c                    t          g dg ddddg          | rdnd}t          j        gd	d
|g          }d}t          j        t
          |          5                      d j        D             d	d          }d d d            n# 1 swxY w Y   |                    fd          }t          j	        ||           d S )NrU   rX   r]   r^   r_   rL   r`   ra   r   rb   rc   rf   r   c                 ,    g | ]}t          |          S rF   rh   ri   s     r   rJ   z+test_apply_trivial_fail.<locals>.<listcomp>   rj   r   T)rd   rO   c                     S r   rF   rp   s    r   r=   z)test_apply_trivial_fail.<locals>.<lambda>   s     r   )
r   r&   rq   r!   r"   r#   r$   rr   r%   r(   rs   s         @r   test_apply_trivial_failrz      s>   	)))3L3L3LMM
 
 
B (5EEXEy"bE0BCCCH
7C		#M	=	=	= N NZZ33333!ZMMN N N N N N N N N N N N N N NXXllll##F&(+++++s   (BBBzdf, group_names)r   r   r         )rV   rV   rV   rW   crV   rW   r   r{   r|   r   r   r   r   )r   r   r   r   r   rV   )r   r   r   r{   r{   r   r   r{      r{   r   r{   r|   r   r{   r|   )            r   	   )rV   two
aaabbbcccc)
r|   r   r|   r   r   r{   r   r   r   r   )
r   r   r{   r{   r{   r   r   r   r{   r   )rV   BCrV   rW   r}   )r{   r{   r|   rL   )GH2936zGH7739 & GH10519GH10519GH2656GH12155GH20084GH21417)idsc                 *  	 g 		fd}	fd}	fd}	fd}	fd}|||||fD ]n}	d d = d}t          j        t          |          5  |                     dd	
                              |           d d d            n# 1 swxY w Y   	|k    sJ od S )Nc                 `                         | j                   |                                 S r   )r   r7   copyr   namess    r   f_copyz/test_group_apply_once_per_group.<locals>.f_copy   s%    UZ   zz||r   c                 <                         | j                   | S r   r   r7   r   s    r   f_nocopyz1test_group_apply_once_per_group.<locals>.f_nocopy   s    UZ   r   c                 <                         | j                   dS Nr   r   r   s    r   f_scalarz1test_group_apply_once_per_group.<locals>.f_scalar   s    UZ   qr   c                 <                         | j                   d S r   r   r   s    r   f_nonez/test_group_apply_once_per_group.<locals>.f_none   s    UZ     r   c                 `                         | j                   t          dgdgd          S )Nr   r~   )r   r7   r   r   s    r   f_constant_dfz6test_group_apply_once_per_group.<locals>.f_constant_df   s1    UZ   s!--...r   r   r   rV   FrN   )r!   r"   r#   r$   r%   )
r)   group_namesr   r   r   r   r   funcr*   r   s
            @r   test_group_apply_once_per_groupr      sa   N E    
    
    
! ! ! ! !/ / / / /
 8V]C $ $!!!HG'SAAA 	: 	:JJsuJ--33D999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:#####$ $s   +A??B	B	c                 f   d}t          g dg ddg d          }d}t          j        t          |          5  |                    dd	
                              d            d d d            n# 1 swxY w Y   |                                 j                            d          }||k    sJ d S )Nr{   )r   r   r   r   r   r   r   r   )02468101214)group_by_columntest_columnr   r   r   r   FrN   c                      t          d          S )Nfunction_called)printr)   s    r   r=   z2test_group_apply_once_per_group2.<locals>.<lambda>   s    u.// r   r   )	r   r!   r"   r#   r$   r%   
readouterroutcount)capsysrA   r)   r*   rB   s        r    test_group_apply_once_per_group2r      s"    H	777FFF	
 	
 :99
 
 
B DC		#M	=	=	= 
 



$
77==//	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 

   $**+<==FXs   ,A22A69A6c                     t          g dt          d          d          } d }d }d}t          j        t          |          5  |                     dd	
                              |          }d d d            n# 1 swxY w Y   t          j        t          |          5  |                     dd	
                              |          }d d d            n# 1 swxY w Y   t          j        ||           d S )N)r   r   r   r|   )ArW   c                     | S r   rF   r   s    r   slowz,test_apply_fast_slow_identical.<locals>.slow
  s    r   c                 *    |                                  S r   r   r   s    r   fastz,test_apply_fast_slow_identical.<locals>.fast  s    zz||r   r   r   r   FrN   )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2	3	3B     DC		#M	=	=	= @ @**SU*3399$??@ @ @ @ @ @ @ @ @ @ @ @ @ @ @		#M	=	=	= @ @**SU*3399$??@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ '7+++++s$   +A<<B B "+CC Cr   c                     | S r   rF   r;   s    r   r=   r=     s    ! r   c                     | d d          S r   rF   r;   s    r   r=   r=     s    !AAA$ r   c                 .    |                      d          S )NFdeepr   r;   s    r   r=   r=     s    !&&e&$$ r   c                 .    |                      d          S )NTr   r   r;   s    r   r=   r=     s    !&&d&## r   c                     t          g dg dg dd          }d}t          j        t          |          5  |                    dd	                              |           }d d d            n# 1 swxY w Y   t          j        ||           d S )
Nr   r{   r{   r{   r   r{   r|   r   )r   r   r   r   )grV   rW   r   r   r   FrN   r   r!   r"   r#   r$   r%   r(   )r   r)   r*   rB   s       r   5test_groupby_apply_identity_maybecopy_index_identicalr     s     
LLL|||LL	M	MB
CC		#M	=	=	= ? ?CE2288>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&"%%%%%s   +A..A25A2c                  B   t          t          j                            d                              d          g dd          } |                     d d          j        }| j        }t          j        ||           t          dg d	i          } | j	        d
z  | d<   | 
                    d                                                                          j        }| 
                    dd                                          j        }t          j        ||           d S )Nr{   r   oner   r   threer   r   foo1foo2c                     | S r   rF   r;   s    r   r=   z-test_apply_with_mixed_dtype.<locals>.<lambda>8  s     r   r   rk   c1)r   r{   r   r   r   rZ   c2Fas_index)r   nprandomdefault_rngstandard_normalr%   rr   r!   rQ   r   r$   meanr    r   )r)   rB   rA   result1result2s        r   test_apply_with_mixed_dtyper   0  s   	I))!,,<<Q??@@@	
 	

 
B XXkkX**1FyH68,,, 
D///*	+	+Bus{BtHjj##%%11336Gjjj..33558G7G,,,,,r   c                     t          g dg dt          d          d          } |                     dd          }|                     dd          }|                    d	          j        }|                    d	          j        }t          g d
          }t          j        ||           t          j        ||           d}t          j        t          |          5  |
                    d           j        }d d d            n# 1 swxY w Y   t          j        t          |          5  |
                    d           j        }d d d            n# 1 swxY w Y   t          j        g d          }	g d}
t          j        |
dd g          }t          j        ||           t          j        ||	           t          t          d                    }t          dd	gd	dgddgddgd	dgg|          } d}t          j        t          |          5  |                     ddd          
                    d           j        }d d d            n# 1 swxY w Y   t          j        ||           d S )N)rW   rW   rV   r}   rV   rW   )r   r{   r   r   r|   r   r   )item_iduser_idrK   r   Tr   Fr{   )r   r   r{   r   r   r   c                 ,    |                      d          S Nr{   headr;   s    r   r=   z-test_groupby_as_index_apply.<locals>.<lambda>Y  s    AFF1II r   c                 ,    |                      d          S r   r   r;   s    r   r=   z-test_groupby_as_index_apply.<locals>.<lambda>[  s    AFF1II r   ))r   r   )r   r{   r   r   r{   r   )r   r   r   r{   )r{   r   )r|   r   r   abcder   r|   r   r   r   r   )r   rO   c                     | S r   rF   r;   s    r   r=   z-test_groupby_as_index_apply.<locals>.<lambda>j  s    a r   )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  D  sK   	555)))!HH	
 	

 
B ::i$://Dzz)ez44HYYq\\Fq!!'J


C&#&&&*c***
CC		#M	=	=	= = =zz"5"566<= = = = = = = = = = = = = = =		#M	=	=	= E E#>>*=*=>>DE E E E E E E E E E E E E E E
 "-.N.N.NOO	)	)	)B)"Y4EFFFL,555*,<===
W

C	QFQFQFQFQF;3	G	G	GB
CC		#M	=	=	= W WjjUuj==CCKKPPVW W W W W W W W W W W W W W W#s#####s6   DDD-EEE2IIIc                 n   |                      ddg          }d }d }d }d}t          j        t          |          5  |                    |          }d d d            n# 1 swxY w Y   |j        j        dk    sJ d}t          j        t          |          5  |                    |          }d d d            n# 1 swxY w Y   |j        j        dk    sJ d}t          j        t          |          5  |                    |          }d d d            n# 1 swxY w Y   |j        j        d	k    sJ d S )
Nr   r   c                 F    |                                  }d|j        _        |S Nstat)describer   r7   r   rB   s     r   descz.test_apply_concat_preserve_names.<locals>.descq  s     !!"r   c                 t    |                                  }d|j        _        |d t          |                    }|S r  )r  r   r7   lenr	  s     r   desc2z/test_apply_concat_preserve_names.<locals>.desc2v  s4    !!"#e**%r   c                     |                                  }dt          |           d|j        _        |d t          |                    }|S )Nstat_d)r  r  r   r7   r	  s     r   desc3z/test_apply_concat_preserve_names.<locals>.desc3}  sG    !! 3CJJ222#e**%r   r   r   )r   r   r  )r   r   N)r$   r!   r"   r#   r%   r   r   )	three_groupgroupedr
  r  r  r*   rB   r   result3s	            r    test_apply_concat_preserve_namesr  n  s   !!3*--G  
     DC		#M	=	=	= % %t$$% % % % % % % % % % % % % % %<!33333
CC		#M	=	=	= ' '--&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '="44444
CC		#M	=	=	= ' '--&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '="2222222s5   A  A$'A$B<<C C 6DDDc                     d } t          dd          }t          t          j                            d                              d          |          }|                    d d	          }|                    |           }t          |t                    sJ t          |d
          rJ t          j        |j        |j                   d S )Nc                     t          j        d          5  t          j        |           }d d d            n# 1 swxY w Y   t          | | |                                 z
  |d          S )Nignore)invalid)r/   demeanedlogged)r   errstatelogr   r   )piecer  s     r   fz%test_apply_series_to_frame.<locals>.f  s    [*** 	# 	#VE]]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#)=PP
 
 	
s   7;;z1/1/2000r   )periodsr{   r   c                     | j         S r   monthr;   s    r   r=   z,test_apply_series_to_frame.<locals>.<lambda>      17 r   FrN   r7   )r
   r	   r   r   r   r   r$   r%   
isinstancer   hasattrr!   r   r   )r  drr@   r  rB   s        r   test_apply_series_to_framer(    s    
 
 
 
Z	-	-	-B		%%a((88==R	H	H	HBjj**uj==G]]1Ffi(((((vv&&&&&&,11111r   c                     |                      ddg          d                             t                    }|j        j        d d         dk    sJ d S )Nr   r   r   r{   r   r   )r$   r%   r  r   r   )r)   rB   s     r    test_apply_series_yield_constantr+    sO    ZZc
##C(..s33F<bqb!Z//////r   c                    d}t          j        t          |          5  |                     ddg                              t
                    }d d d            n# 1 swxY w Y   t          |t                    sJ |j        J |                     ddg          ddg                             t
                    }t          |t                    sJ |j        J d S )Nr   r   r   r   r   D)	r!   r"   r#   r$   r%   r  r%  r	   r7   )r)   r*   rB   s      r   test_apply_frame_yield_constantr.    s   
CC		#M	=	=	= 3 3S#J''--c223 3 3 3 3 3 3 3 3 3 3 3 3 3 3ff%%%%%;ZZc
##S#J/55c::Fff%%%%%;s   0AA!Ac                    |                      ddg          }d}t          j        t          |          5  |                    t
                    }d d d            n# 1 swxY w Y   |                                d         }t          j        |j        |j                   t          j	        |j
        |j
                   d S )Nr   r   r   r   r   )r$   r!   r"   r#   r%   r  r   r   r   assert_numpy_array_equalvaluesr)   r  r*   rB   rA   s        r   test_apply_frame_to_seriesr3    s    jj#s$$G
CC		#M	=	=	= $ $s##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $}}s#H&,777x?????s   AA #A c                    |                      ddgd          }d}t          j        t          |          5  |                    t
                    }d d d            n# 1 swxY w Y   |                                                    dt          j	        i          
                    d	          }t          j        |j        |j                   t          j        |j        |j                   d S )
Nr   r   Fr   r   r   r   rL   r-  )r$   r!   r"   r#   r%   r  r   renamer   nandropr   r   r0  r1  r2  s        r   )test_apply_frame_not_as_index_column_namer8    s   jj#sej44G
CC		#M	=	=	= $ $s##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $}}%%sBFm%<<AA#ANNH&,777x?????s   AA"%A"c                     d } fd}t          t          j                            d                              ddd          t          j                            d                              ddd          t          j                            d                              d          d          d}t          j        t          |	          5  	                    d
          
                    |           }d d d            n# 1 swxY w Y   	                    d
          d         
                    |          }t          j        ||d           |j        dk    sJ d S )Nc                     |                      d          d                                                                         j        d d         S )Nr   r   r{   )r$   sumsort_valuesro   r   s    r   transz-test_apply_frame_concat_series.<locals>.trans  s=    }}S!!#&**,,88::?CCr   c                     |                                          | j                  d                   }|                                                                j        d d         S )Nr   r{   )r$   reindexr   r;  r<  ro   )r   r  r)   s     r   trans2z.test_apply_frame_concat_series.<locals>.trans2  sM    --

5; 7 7 <=={{}}((**/33r   r{   r   r     r   r   r   r   r   r   r   F)check_names)r   r   r   r   integersr   r!   r"   r#   r$   r%   rQ   r7   )r=  r@  r*   rB   r   r)   s        @r   test_apply_frame_concat_seriesrE    s   D D D4 4 4 4 4 
&&q))221a>>&&q))221a>>&&q))99$??	
 	

 
B DC		#M	=	=	= . .C&&u--. . . . . . . . . . . . . . .
**S//#

$
$V
,
,C63E::::;#s   )DD
Dc                     |                      d d          }|                    d           }|                    d           }t          j        ||           d S )Nc                     | j         S r   r"  r;   s    r   r=   z&test_apply_transform.<locals>.<lambda>  r$  r   FrN   c                     | dz  S r   rF   r;   s    r   r=   z&test_apply_transform.<locals>.<lambda>  s
    QU r   c                     | dz  S r   rF   r;   s    r   r=   z&test_apply_transform.<locals>.<lambda>  s
    1q5 r   )r$   r%   	transformr!   rQ   )r@   r  rB   rA   s       r   test_apply_transformrK    s\    jj**uj==G]]??++F  11H68,,,,,r   c                     |                      d d g          }d }|                    |          }|D ].\  }}t          j        |j        |          ||                     /d S )Nc                     | j         S r   yearr;   s    r   r=   z,test_apply_multikey_corner.<locals>.<lambda>  s     r   c                     | j         S r   r"  r;   s    r   r=   z,test_apply_multikey_corner.<locals>.<lambda>  s    17 r   c                 <    |                      d          dd          S )Nr   r<  r   s    r   r  z%test_apply_multikey_corner.<locals>.f  s      %%bcc**r   )r$   r%   r!   r(   loc)tsframer  r  rB   r^   r   s         r   test_apply_multikey_cornerrV    s    oo//1B1BCDDG+ + + ]]1F 9 9
U
fjoqqxx88889 9r   rO   TFc                    t          g dt          d          d          }d}t          j        t          |          5  |                    d|                               d           }d d d            n# 1 swxY w Y   |                    g d	          }| r&t          j	        g d
|j
        gdd g          |_
        t          j        ||           d S )N)	r   r   r   r{   r{   r{   r|   r|   r|   r   )r^   r/   r   r   r^   rN   c                      | j         d d         S r   rn   r;   s    r   r=   z'test_apply_chunk_view.<locals>.<lambda>  s    !&QSRSQS* r   )r   r   r|   r   r   r   )r   r   r{   r{   r|   r|   r   )r   r   r!   r"   r#   r$   r%   taker   from_arraysr   r(   )rO   r)   r*   rB   rA   s        r   test_apply_chunk_viewr[    s8    
666qJJ	K	KB
CC		#M	=	=	= V VEj99??@T@TUUV V V V V V V V V V V V V V Vww)))**H 
#/0
 
 
 &(+++++s   ,A77A;>A;c            	         t          g dg dt          ddd          d          } |                     ddg          }d}t          j        t
          |	          5  |                    d
            d d d            d S # 1 swxY w Y   d S )N)
r   r   r   r   r   r   r{   r{   r{   r{   )
r   r   r   r   r   r   r   r   r   r   r   )r7   name2r/   r7   r^  r   r   c                 0    |                      dd          S )Nr/   TinplacerS  r;   s    r   r=   z4test_apply_no_name_column_conflict.<locals>.<lambda>  s    gt D D r   )r   r   r$   r!   r"   r#   r%   )r)   r  r*   s      r   "test_apply_no_name_column_conflictrb    s    	2223331b"%%	
 	

 
B jj&'*++G
CC		#M	=	=	= F FDDEEEF F F F F F F F F F F F F F F F F Fs   A??BBc                     t          g dt          j        g dd          t          j        dd          d          } d }d}t	          j        t          |	          5  |                     d
d                              |          }d d d            n# 1 swxY w Y   | 	                                }t          j        g dd          |d<   t	          j
        ||           d S )NrY   rY   rY   rZ   rZ   rZ   r   r{   rY         @r  r}   vc                     | d         }||                                 z
  |                                |                                 z
  z  | d<   | S Nrg  v2minmaxr   rg  s     r   r  z#test_apply_typecast_fail.<locals>.f&  ?    #J15577{quuww'89dr   r   r   r  FrN           g      ?r   rj  )r   r   tilearanger!   r"   r#   r$   r%   r   r(   )r)   r  r*   rB   rA   s        r   test_apply_typecast_failrt    s,   	///!,,3$$	
 	

 
B  
 DC		#M	=	=	= < <CE2288;;< < < < < < < < < < < < < < < wwyyHW]]]A..HTN&(+++++s   +BBBc                     t          j        g dg dg          } t          g dt          j        g dd          t          j        dd          d| 	          }d
 }d}t          j        t          |          5  |	                    dd          
                    |          }d d d            n# 1 swxY w Y   |                                }t          j        g dd          |d<   t          j        ||           d S )N)r   r   r   r   r   r   r   rd  r   r{   rY   re  rf  r   c                     | d         }||                                 z
  |                                |                                 z
  z  | d<   | S ri  rk  rn  s     r   r  z%test_apply_multiindex_fail.<locals>.f@  ro  r   r   r   r  FrN   rp  rj  )r   rZ  r   r   rr  rs  r!   r"   r#   r$   r%   r   r(   )r   r)   r  r*   rB   rA   s         r   test_apply_multiindex_failrw  5  sY   "$6$6$68J8J8J#KLLE	///!,,3$$	
 	

 
 
 
B  
 DC		#M	=	=	= < <CE2288;;< < < < < < < < < < < < < < < wwyyHW]]]A..HTN&(+++++s   :+B11B58B5c                     |                      d d                              d           }| dz  }t          j        ||           d S )Nc                     | j         S r   rN  r;   s    r   r=   z#test_apply_corner.<locals>.<lambda>P  s    qv r   FrN   c                     | dz  S r   rF   r;   s    r   r=   z#test_apply_corner.<locals>.<lambda>P  s    QRUVQV r   r{   )r$   r%   r!   r(   )rU  rB   rA   s      r   test_apply_cornerr{  O  sM    __--%_@@FFWWF{H&(+++++r   c                     t          g dg dg dd          } d }d }d}t          j        t          |          5  |                     d	                              |          }d d d            n# 1 swxY w Y   t          j        t          |          5  |                     d	                              |          }d d d            n# 1 swxY w Y   t          j        ||           d S )
N)r   r      i,  )rV   rW   r}   r}   r   )id_fieldcategoryr/   c                 n    | j         d         dk    r|                                 S | | j        dk             S Nr   r   r}   )shaper   r  r;   s    r   filt1z&test_apply_without_copy.<locals>.filt1a  s0    71:??6688OQZ3&''r   c                 J    | j         d         dk    r| S | | j        dk             S r  )r  r  r;   s    r   filt2z&test_apply_without_copy.<locals>.filt2g  s(    71:??HQZ3&''r   r   r   r~  r   )r_   r  r  r*   rA   rB   s         r   test_apply_without_copyr  U  s    ,,,,,,!\\	
 	
 D( ( (( ( ( DC		#M	=	=	= 9 9<<
++11%889 9 9 9 9 9 9 9 9 9 9 9 9 9 9		#M	=	=	= 7 7j))//667 7 7 7 7 7 7 7 7 7 7 7 7 7 7&(+++++s#   )A22A69A6)CCCtest_seriesc                    t          ddgddgddggddgg d          }| r|                    d          d         }|                    dd	
                              d           }|                                }|                                }t          j        ||           d S d}t          j        t          |          5  |                    dd	                              d           }d d d            n# 1 swxY w Y   |	                    d          }|	                    d          }t          j
        ||           d S )Nr<   poXY)r   r{   r{   r   r   r   F)levelrO   c                     | S r   rF   r;   s    r   r=   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>}  s     r   r   r   rN   c                     | S r   rF   r;   s    r   r=   z<test_apply_with_duplicated_non_sorted_axis.<locals>.<lambda>      q r   )r   	set_indexr$   r%   
sort_indexr!   rQ   r"   r#   r<  r(   )r  r)   serrB   rA   r*   s         r   *test_apply_with_duplicated_non_sorted_axisr  u  s    

sc3Z#s,sCj			
 
 
B  0ll3$177==kkJJ ""$$>>##
vx00000G'SAAA 	J 	JZZZ66<<[[IIF	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J ##C((>>#&&
fh/////s   ,C<<D D c                      g d} g d}t          ddgdz  | d|          }t          | |d	          }d
 }|                    dd          j                            |          }t          j        ||           d S )Nr   r   r   r{   r{   Group1Group2r{   r   r/   r   r/   r   r7   c                     |                      t          j        | j                                        | j                                        dz                       S rm   )r?  r   rs  r   rl  rm  r;   s    r   reindex_helperz1test_apply_reindex_values.<locals>.reindex_helper  s9    yy17;;==!'++--!2CDDEEEr   r   FrN   )r   r	   r$   r/   r%   r!   rQ   )r1  indicesr)   rA   r  rB   s         r   test_apply_reindex_valuesr    s    
 \\FllG	h1A5GGw	W	W	WBfG':::HF F F ZZEZ228>>~NNF8V,,,,,r   c                     d} t           j                            d                              dd|           }t	          |t           j                            d                              |           g d| dz  z  d          }|                    d	d
          }d }d}t          j        t          |          5  |
                    |          }d d d            n# 1 swxY w Y   d|v sJ d S )NrA  r{   r   r   )size)foobarbazquxr   )r^   value1value2r^   FrN   c                 "    | d         dz  | d<   | S )Nr  r{   value3rF   r   s    r   r  z"test_apply_corner_cases.<locals>.f  s    kAo(r   r   r   r  )r   r   r   rD  r   r   r$   r!   r"   r#   r%   )Nlabelsr)   r  r  r*   rB   s          r   test_apply_corner_casesr    sC    	AY""1%%..q#A.>>F	i++A..>>qAA222a1f=	
 	

 
B jj5j11G   DC		#M	=	=	= " "q!!" " " " " " " " " " " " " " "vs   :CC #C c                     t          ddgdgdz  ddgd          } d}t          j        t          |          5  |                     d	g                              d
           }d d d            n# 1 swxY w Y   t          j        | j                  | _        d}t          j        t          |          5  |                     d	g                              d           }d d d            n# 1 swxY w Y   t          j	        |d         |d                    t          g dg dt          j
        d          gdz  d          } d }d}t          j        t          |          5  |                     d                              |          d         }d d d            n# 1 swxY w Y   | j        }| j        |_        t          j	        ||           d }t          g dg dg dg dd          }|                                }t          j        |j                  |_        d}t          j        t          |          5  |                    d                              |          j        }d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d                              |          j        }d d d            n# 1 swxY w Y   t          j	        ||           d S )Nr   r{   z
2017-03-02r  inf)NumberDateStrr   r   r  c                     | j         d         S r   rn   r;   s    r   r=   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    !&) r   c                     | j         d         S r   rn   r;   s    r   r=   z;test_apply_numeric_coercion_when_datetime.<locals>.<lambda>  s    q	 r   r  )r         )r  3r   z12:31:22r|   )r   r   Tc                 *    | j         d         dg         S )Nr   r   rn   r  s    r   get_Bz8test_apply_numeric_coercion_when_datetime.<locals>.get_B  s    vay#r   r   r   c                    t          g dt                    }dt          | j                  v r1t	          | | j        dk             j        j        d                   |d<   dt          | j                  v rbt	          | | j        dk             j        j        d                   |d<   t	          | | j        dk             j        j        d                   |d<   |S )	N)p1p2useTime)r   rt   step1r   r  step2r  r  )r	   ra   r   Stater`   Machiner1  oTime)toolr   s     r   predictionsz>test_apply_numeric_coercion_when_datetime.<locals>.predictions  s    222&AAAd4:&&&&Dw!67?FqIJJCId4:&&&&Dw!67?FqIJJCI djG&;!<!B!I!!LM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*   rA   rB   r  r  df1df2s           r   )test_apply_numeric_coercion_when_datetimer    sW    
q6L>A#5uenMM
 
B DC		#M	=	=	= E E::xj))//0C0CDDE E E E E E E E E E E E E E EnRW%%BG
CC		#M	=	=	= C CXJ''--.A.ABBC C C C C C C C C C C C C C C6%=(5/::: 
ll!2!2!2",z:R:R9SVW9WXX
 
B      DC		#M	=	=	= 3 3C&&u--c23 3 3 3 3 3 3 3 3 3 3 3 3 3 3tHTHN68,,,   '''999KKK222		
 	
 C ((**Csy))CI
CC		#M	=	=	= < <;;u%%++K88;< < < < < < < < < < < < < < <		#M	=	=	= : :U##))+669: : : : : : : : : : : : : : :8V,,,,,sY   +A00A47A46+C--C14C1&/F!!F%(F%.I<<J J ".KK #K c                     t          g dt          j        d          gdz  d          } | j        | j        z
  | d<   d}t	          j        t          |          5  |                     d                              d	           }d d d            n# 1 swxY w Y   t          g dt          j	        d
d          gdz  t          j        d          gdz  d          
                    d          }t	          j        ||           d S )NrB  z2017-02-01 00:00:00r|   )clientidr   time_delta_zeror   r   r  c                     t          | j                                        | j                                        d          S )N)clientid_ager   )r	   r  rl  r   )ddfs    r   r=   z?test_apply_aggregating_timedelta_and_datetime.<locals>.<lambda>  s8    !$!4!8!8!:!:CLDTDTDVDVWW  r   r   r-  )r  r  r   )r   r   
datetime64r   r!   r"   r#   r$   r%   timedelta64r  r(   r)   r*   rB   rA   s       r   -test_apply_aggregating_timedelta_and_datetimer    sg    
''<==>B	
 	

 
B K"+5B
CC		#M	=	=	= 
 
J''-- 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 '^As334q8]#899:Q>	
 	
  i
  &(+++++s   *BBBc                  H   ddgddgddgddgddgg} t          | d	d
gt          j        dd                    }|                    d	                                          }t          g dg dd          }|                    d	d           t          j        ||           d S )Nr   r   r   r  r  r   (   2   NameValuez
2020-09-01z
2020-09-05r  rB  )r   r  Z   )r  r  Tr`  )r   r&   
date_ranger$   r;  r  r!   r(   )r_   r)   rB   rA   s       r    test_apply_groupby_datetimeindexr    s     "IRy3)c2Yb	BD	vw'r}\</X/X
 
 
B ZZ##%%F///LLLIIJJHvt,,,&(+++++r   c                     t          dd t          d          D             d          } d }d }d}t          j        t          |          5  |                     d	g
                              |          }d d d            n# 1 swxY w Y   t          ddidg          }d	|j        _        d}t          j        t          |          5  |                     d	g
                              |          }d d d            n# 1 swxY w Y   t          t          j
        ddd                              d          dddg          }d	|j        _        t          j        ||           t          j        ||           d S )Nr   c                 4    g | ]}t          j                    S rF   )r   now)rH   nns     r   rJ   z'test_time_field_bug.<locals>.<listcomp>+  s    !E!E!ER(,..!E!E!Er   r   r~   c                 $    t          ddi          S )Nr}   r{   r	   batchs    r   func_with_no_datez.test_time_field_bug.<locals>.func_with_no_date-  s    sAhr   c                 D    t          t          ddd          dd          S )N  r   r{   rW   r}   )r	   r   r  s    r   func_with_datez+test_time_field_bug.<locals>.func_with_date0  s$    HT1a00q99:::r   r   r   rV   byr}   r{   r   r  nsr  )r   r   r!   r"   r#   r$   r%   r   r7   r&   r  as_unitr(   )r)   r  r  r*   dfg_no_conversiondfg_no_conversion_expecteddfg_conversiondfg_conversion_expecteds           r   test_time_field_bugr  %  s;    
!E!E599!E!E!EFF	G	GB     ; ; ; DC		#M	=	=	= J JJJ3%J00667HIIJ J J J J J J J J J J J J J J!*C8A3!?!?!?,/$)
CC		#M	=	=	= D Du--33NCCD D D D D D D D D D D D D D D'l4A&&..t441==aS   *-!&+-GHHH.*ABBBBBs$   +BBB+DD
Dc                      t          g dg dg dg dd          } |                     ddg          } |                     ddgd	          }d
 |                    fd           d S )N)rV   rV   rV   rW   rW   rW   rV   rV   rV   rW   rW   rW   )r}   r}   r  r  r  er}   r}   r  r  r  r  )g?r{   r|   r   r   r   r{   r   r   r   r   r{   )gffffff@r   r   r         r   r   r   r   r   r|   )group1group2weightr/   r  r  T)r  sortc                 Z    t          j        | |z                                d          }|S )Nr|   )r   arrayrepeat)r/   r  r   s      r   noddyz7test_gb_apply_list_of_unequal_len_arrays.<locals>.noddyR  s(    huv~&&--a00
r   c                 0     | j         | j                  S r   )r/   r  )r<   r  s    r   r=   z:test_gb_apply_list_of_unequal_len_arrays.<locals>.<lambda>\  s    uuQWah77 r   )r   r  r$   r%   )r)   
df_groupedr  s     @r   (test_gb_apply_list_of_unequal_len_arraysr  E  s    	RRRRRR<<<>>>		
 	

 
B 
x*	+	+B8X"6TBBJ   777788888r   c                  8   t          g dg dd          } d }d}t          j        t          |          5  |                     d                              |          }d d d            n# 1 swxY w Y   t                      }t          j        ||           d S )Nr   )r   r   r   r   )r   random_varsc                     d S r   rF   r;   s    r   	test_funcz.test_groupby_apply_all_none.<locals>.test_funcd  s    r   r   r   r   r   )test_dfr	  r*   rB   rA   s        r   test_groupby_apply_all_noner  _  s     <<<MMNNG   DC		#M	=	=	= < <**00;;< < < < < < < < < < < < < < <{{H&(+++++s   )A,,A03A0c                      t          g dg dd          } t          g dg dd          }d }d}t          j        t          |          5  |                     d                              |          }d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d                              |          }d d d            n# 1 swxY w Y   t          j        d	d	gd
dggdd g          }t          j        ddgd	dggdd g          }t          d	d	gd
dgd|          }t          ddgd	dgd|          }	t          j        ||           t          j        ||	           d S )N)r   r   r   r{   )r   r   r{   r|   )r   varsr   c                 F    | j         d         dk     rd S | j        ddg         S )Nr   r{   r]  )r  ro   r;   s    r   r	  z0test_groupby_apply_none_first.<locals>.test_funcs  s&    71:>>4vq"gr   r   r   r   r   r   r{   r   r|   r   )	r   r!   r"   r#   r$   r%   r   rZ  r(   )
test_df1test_df2r	  r*   r   r   index1index2	expected1	expected2s
             r   test_groupby_apply_none_firstr  n  s)   LLL,,,GGHHHLLL,,,GGHHH  
 DC		#M	=	=	= > >""8,,229==> > > > > > > > > > > > > > >		#M	=	=	= > >""8,,229==> > > > > > > > > > > > > > >#aVaV$4Xt<LMMMF#aVaV$4Xt<LMMMFaVaV<<FKKKIaVaV<<FKKKI'9---'9-----s$   )BB	B()CC!$C!c            	         t          ddgddgd          } |                     d          }d}t          j        t          |          5  |                    d	           }d d d            n# 1 swxY w Y   t          dgd
t          j        ddgdggdd g          	                    d                    }t          j
        ||           d S )Nr   r   filledempty)r/   r   r   r   r   c                 0    | | j         dk             d         S )Nr   r/   )r/   r   s    r   r=   z7test_groupby_apply_return_empty_chunk.<locals>.<lambda>  s    E%+2B,CG,L r   r/   r   )r7   r   )r   r$   r!   r"   r#   r%   r	   r   from_productr7  rQ   )r)   r   r*   rB   rA   s        r   %test_groupby_apply_return_empty_chunkr    s3   	aVx.ABB	C	CBZZ  F
CC		#M	=	=	= N NLLMMN N N N N N N N N N N N N N N	
%x 1#&wo
 
 

$w--  H 68,,,,,s   	A,,A03A0c                  ^   t          d                                g dg dd          } |                     dd          }|                    d           }t          g d	g d
d          }t	          j        ||           |                    d           }t	          j        ||           d S )Nza a br   r   r   r   rB  r   FrN   c                 0    | |                                  z  S r   r;  r;   s    r   r=   z-test_apply_with_mixed_types.<locals>.<lambda>  s    1quuww; r   )gUUUUUU?gUUUUUU?r   )皙?g333333?rY   r   r   c                 0    | |                                  z  S r   r  r;   s    r   r=   z-test_apply_with_mixed_types.<locals>.<lambda>  s    q15577{ r   )r   rG   r$   rJ  r!   r(   r%   )r)   r   rB   rA   s       r   test_apply_with_mixed_typesr#    s    	yyyyyyII	J	JB


35
))A[[..//F444???KKLLH&(+++WW**++F&(+++++r   c                     t          dddgit          ddg                    } d}t          j        t          |          5  |                     d                              d           }d d d            n# 1 swxY w Y   t          t          dg          t          dg          gt          ddgd                    }t          j        ||           d S )	NrV   r   r{   r   r   r   c                     | j         S r   r   r  s    r   r=   z*test_func_returns_object.<locals>.<lambda>  s     r   r6   )	r   r   r!   r"   r#   r$   r%   r	   rQ   r  s       r   test_func_returns_objectr&    s   	C!Q=q!f	6	6	6B
CC		#M	=	=	= : :C&&'8'899: : : : : : : : : : : : : : :uaSzz5!::.eQF6M6M6MNNNH68,,,,,s   *A88A<?A<group_column_dtlikec                 ^   t          dg| gd          }d}t          j        t          |          5  |                    d                              d           }d d d            n# 1 swxY w Y   t          dgt          dgdd	          d
g          }t          j        ||           d S )Nr  r~   r   r   rV   c                 (    t          dgdg          S )Nspam*   r   r  r;   s    r   r=   z+test_apply_datetime_issue.<locals>.<lambda>  s    1M1M1M r   r*  r`   rt   r7   r+  rL   )r   r!   r"   r#   r$   r%   r   r(   )r'  r)   r*   rB   rA   s        r   test_apply_datetime_issuer-    s    
%(;'<==	>	>B
CC		#M	=	=	= O OC&&'M'MNNO O O O O O O O O O O O O O O &5%C#H#H#HSURVWWWH&(+++++s   *A((A,/A,c            
      J   t          t          j        d          t          j        d          t          j        d          t          j        d          t          j        d          dddddddddddddd          } d }d}t          j        t
          |	          5  |                     d
                              |          d         }d d d            n# 1 swxY w Y   t          dgt          j	        dgd
          d          }t          j
        ||           d S )Nz2015-02-24 00:00:00)r   r   r{   r|   r   zsome UA stringzanother UA string17661101)day	userAgentuserIdc                 X    t          d |                                 D                       S )Nc                 T    i | ]%\  }}||                                 j        d          &S )r   )value_countsr   )rH   r}   ss      r   
<dictcomp>zYtest_apply_series_return_dataframe_groups.<locals>.most_common_values.<locals>.<dictcomp>  s0    KKK1q!..**03KKKr   )r	   itemsr   s    r   most_common_valueszEtest_apply_series_return_dataframe_groups.<locals>.most_common_values  s'    KK

KKKLLLr   r   r   r0  r2  z
2015-02-24r6   r  )r   r&   r  r!   r"   r#   r$   r%   r	   DatetimeIndexrQ   )tdfr9  r*   rB   rA   s        r   )test_apply_series_return_dataframe_groupsr<    s   
 < 566< 566< 566< 566< 566  $##&#   	
 	
 C4M M M DC		#M	=	=	= H HU##))*<==hGH H H H H H H H H H H H H H H	B,l^%HHHx  H 68,,,,,s    /CC"Cr  c           
      d   ddgdz  }| r8t          j        |g d          }t          j        g dg dd          }g d}nt          ddgd	          }d
dg}t	          ||d|          }t	          t          j        d          |t          t          d                    t          t          d                    d          	                    ddg          }|
                    dd                              d           }t          j        ||           |j        j        ddgk    sJ d S )Nr   r{   r   r   )
categoriesr   )r>  r7   )r     r   r6   r  r?  )r   r-  r   r   )r   r   r   r-  r   F)observedc                 *    |                                  S r   r  r;   s    r   r=   z-test_apply_multi_level_name.<locals>.<lambda>  s    QUUWW r   )r&   CategoricalCategoricalIndexr   r   r   rs  r   r   r  r$   r%   r!   r(   r   r   )r  rW   expected_indexexpected_valuesrA   r)   rB   s          r   test_apply_multi_level_namerF    sK    
A
A #N1333,YYY999SVWWW%++1vC000r(O44N  H 
imm!$uRyy//U2YYPP
 
ic
  ZZeZ,,223D3DEEF&(+++8>c3Z''''''r   c           
         t          j        t          j        ddd          ddddft          j        ddd          ddd	d
ft          j        ddd          ddddft          j        ddd          ddddfgg d          }d}t	          j        t          |          5  |                    d                              d           j	        }d d d            n# 1 swxY w Y   | rt          j
        t          j                  nt          }t          t          j        d          ||t          j        |gg d          }t	          j        ||           d S )Ni  r   reddarkr   r  greenstormyr{   9i  bluebrightr|   r   i  calmr   potato)observationcolormood	intensityscorerL   r   r   rR  c                     | j         d         S r   rn   r  s    r   r=   z;test_groupby_apply_datetime_result_dtypes.<locals>.<lambda>  s    qvay r   )na_valuezdatetime64[ns]r   )r   from_recordsr&   r  r!   r"   r#   r$   r%   rr   StringDtyper   r6  ra   r	   rt   int64rQ   )r?   r_   r*   rB   rt   rA   s         r   )test_groupby_apply_datetime_result_dtypesr[     s   !\$1%%ufa=\$1%%w!SA\$1%%vxDA\$1%%vvq(C		
 GFF  D DC		#M	=	=	= I Ig&&,,-@-@AAHI I I I I I I I I I I I I I I/AMBNBF++++vE	"	#	#UE28UCDDD  H 68,,,,,s   /CC Cr   abcr|   2020r-  )r   freq))rV   r   )rV   r   )rW   r   c                     t          g dg dd|           }d}t          j        t          |          5  |                    dd	                              d
           }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr   r   r{   )r   r   r   r  r   r   r   r   FrN   c                     | S r   rF   r;   s    r   r=   z8test_apply_index_has_complex_internals.<locals>.<lambda>$  r  r   r   )r   r)   r*   rB   s       r   &test_apply_index_has_complex_internalsrb    s     
YYY;;5	I	I	IB
CC		#M	=	=	= J JG66<<[[IIJ J J J J J J J J J J J J J J&"%%%%%s   ,A..A25A2zfunction, expected_valuesc                 4    | j                                         S r   )r   to_listr;   s    r   r=   r=   +  s    17??$$ r   c                 N    t          | j                                                  S r   )setr   rd  r;   s    r   r=   r=   ,  s    3qw(()) r   c                 N    t          | j                                                  S r   )tupler   rd  r;   s    r   r=   r=   -  s    5**++ r   )r   r   r{   r|   c                 h    t          t          | j                                                            S r   )dict	enumerater   rd  r;   s    r   r=   r=   /  s"    d9QW__%6%67788 r   c                 b    d t          | j                                                  D             S )Nc                     g | ]	\  }}||i
S rF   rF   )rH   nis      r   rJ   z<lambda>.<locals>.<listcomp>3  s     III&1a1vIIIr   )rl  r   rd  r;   s    r   r=   r=   3  s)    IIIagoo6G6G,H,HIII r   c                 V   t          g ddg          }d}t          j        t          |          5  |                    d                              |           }d d d            n# 1 swxY w Y   t          |t          ddgd          	          }t          j        ||           d S )
N)r   r   r   r   r   rL   r   r   r   r   r6   r   	r   r!   r"   r#   r$   r%   r	   r   rQ   )functionrE  r)   r*   rB   rA   s         r   1test_apply_function_returns_non_pandas_non_scalarrt  (  s    $ 
'''(	<	<	<B
CC		#M	=	=	= 6 6H%%++H556 6 6 6 6 6 6 6 6 6 6 6 6 6 6oUC:H-M-M-MNNNH68,,,,,   )A''A+.A+c                     d } t          g ddddt          j        gd          }d}t          j        t
          |          5  |                    d	                              |           }d d d            n# 1 swxY w Y   t          d
dgdgt          j        ggt          g dd	                    }t          j
        ||           d S )Nc                 @    | d         j                                         S )Nr   )r1  flattenr   s    r   fctz4test_apply_function_returns_numpy_array.<locals>.fctD  s    Sz ((***r   )rV   rV   rW   noner   r{   r|   r*  r   r   r   rY   rZ   r[   )rV   rW   rz  r6   r   )r   r   r6  r!   r"   r#   r$   r%   r	   r   rQ   )ry  r)   r*   rB   rA   s        r   'test_apply_function_returns_numpy_arrayr{  B  s    + + + 
0001a7HII	J	JB
CC		#M	=	=	= , ,C&&s++, , , , , , , , , , , , , , ,
scURVH%U3E3E3EC-P-P-P  H 68,,,,,s   )A88A<?A<rs  c                     | j         S r   r   grs    r   r=   r=   R  s     r   c                     | j         dz   dz
  S rm   r   r}  s    r   r=   r=   R  s    bhQRlUVFV r   c                    t          g ddg          }d}t          j        t          |          5  |                    d                              |           }d d d            n# 1 swxY w Y   t          t          g d          t          g d          t          dd	g          gt          g d
d                    }t          j        ||           d S )N)
r   r{   r{   r{   r   r{   r|   r   r|   r   idrL   r   r   )r   r   r   r   )r   r{   r|   r   r   r   r   r6   r   rr  )rs  r)   r*   rB   rA   s        r    test_apply_function_index_returnr  R  s    
111D6	B	B	BB
CC		#M	=	=	= 2 2D!!''112 2 2 2 2 2 2 2 2 2 2 2 2 2 2	|||		eLLL115!Q==AIIID)))  H 68,,,,,ru  c                      t          g dg dd          } |                     dd                              d           }t          g dg d	d          }t          j        ||           d S )
Nr   )r   r{   r   r   r   r   r   r   Fr   c                 *    |                                  S r   )r   r;   s    r   r=   zAtest_apply_function_with_indexing_return_column.<locals>.<lambda>h  s     r   )r   r   r   )r[   r\   r\   )r   r$   r%   r!   r(   )r)   rB   rA   s      r   /test_apply_function_with_indexing_return_columnr  `  s    	@@@&&&	
 	

 
B ZZZ//556H6HIIF+++#OO	
 	
 H &(+++++r   udfc                 *    |                                  S r   r   r;   s    r   r=   r=   t  s     r   c                 R    |                                                      d           S )Nc                     | dz   S rm   rF   )ys    r   r=   z<lambda>.<locals>.<lambda>t  s
    A r   )r   r5  r;   s    r   r=   r=   t  s    affhhoooo&F&F r   c                    t          ddgddgd          }d}t          j        t          |          5  |                    d| 	                              |          }d d d            n# 1 swxY w Y   |j                            |j        | 	                              |          }| r&|j        j	        dk    sJ |j        j	        dk    sJ d S |j        j	        dk    sJ |j        j	        dk    sJ d S )
NrV   rW   r   r{   r*  r   r   r   rN   )
r   r!   r"   r#   r$   r%   r   r   r   nlevels)rO   r  r)   r*   	df_resultseries_results         r   test_apply_result_typer  r  sZ    
#s1a&11	2	2B
CC		#M	=	=	= F FJJszJ::@@EE	F F F F F F F F F F F F F F FDLL*L==CCCHHM 0&!++++"*a//////&!++++"*a//////s   +A++A/2A/c                     t          g dg dd          } d}t          j        t          |          5  |                     dd                              d	           }d d d            n# 1 swxY w Y   t          j        t          |          5  |                     dd                              d
           }d d d            n# 1 swxY w Y   t          j        ||           d S )N)r{   r   r{   r   r*  r   r   r   FrN   c                     | S r   rF   r;   s    r   r=   z4test_result_order_group_keys_false.<locals>.<lambda>  s    1 r   c                 *    |                                  S r   r   r;   s    r   r=   z4test_result_order_group_keys_false.<locals>.<lambda>  s    QVVXX r   r   r  s       r   "test_result_order_group_keys_falser    s    
33	4	4B
CC		#M	=	=	= F FCE2288EEF F F F F F F F F F F F F F F		#M	=	=	= O O::ce:44::;M;MNNO O O O O O O O O O O O O O O&(+++++s#   ,A,,A03A0,C

CCc                     dgdz  dgdz  z   dgdz  z   } t          j        |           }t          j        | d          }t          t          t	          d                    dz  t	          d          |d	          }t          t          t	          d                    dz  t	          d          |d	          }d
}t          j        t          |          5  |                    dd          	                    d           }d d d            n# 1 swxY w Y   t          j        t          |          5  |                    dd          	                    d           }d d d            n# 1 swxY w Y   t          j
        ||           d S )Nz
2001-01-01r{   z
2001-01-02z
2001-01-03UTC)tzr|   r   )r<   r  tr   r   r<   FrN   c                 :    | ddg                                          S Nr<   r  r   r   s    r   r=   z1test_apply_with_timezones_aware.<locals>.<lambda>      r3*~**,, r   c                 :    | ddg                                          S r  r   r   s    r   r=   z1test_apply_with_timezones_aware.<locals>.<lambda>  r  r   )r&   r:  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%000H
$uQxx..1,588+NN
O
OC
$uQxx..1,588(KK
L
LC
CC		#M	=	=	= 
 
++ce+44::,,
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
	#M	=	=	= 
 
++ce+44::,,
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

 '7+++++s$   ,DDD4,E,,E03E0c                    t          g dg dg dd          }t          ddgddgd	t          d
dgd                    }|                    d          }d}t          j        t
          |d          5  |                    t          d          }d d d            n# 1 swxY w Y   t          j        ||           |                    d          }t          | |          } t          ||           | }t          j        t
          |d          5  |                    t          d          }d d d            n# 1 swxY w Y   t          j        ||           d S )N)c   r  r  X   r  r  )r   r{   r|   r   r   r   )r   r  r  r  r  <   r      r      r  r  r  r  rV   r6   r   r  :The behavior of DataFrame.sum with axis=None is deprecatedF)r   check_stacklevelinclude_groups)r   r   r$   r!   r"   r#   r%   r;  r(   r   getattr)reduction_funcr)   rA   grpr*   rB   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	U	U 6 63u556 6 6 6 6 6 6 6 6 6 6 6 6 6 6&(+++ ***

C">266D$^$$d+A		#Mu	U	U	U 6 63u556 6 6 6 6 6 6 6 6 6 6 6 6 6 6&(+++++s$   7B  B$'B$D>>EEc                     t          g dt          ddd          t          ddd          t          ddd          t          ddd          gg ddt          g dd	
                    } |                     ddg          }d}t	          j        t          |          5  |                    d           }d d d            n# 1 swxY w Y   | j        g d         }|	                                }t          j        |g d                   |_        |                    d	          }t	          j        ||           |j        j        d         D ]}t!          |          t          u sJ d S )N)rV   rV   rV   rW   i  r   r   r{   r   rB  )r   e   f   g   idxr6   r   r   r   r   r   c                 ,    |                      d          S rm   r   r;   s    r   r=   zRtest_apply_with_date_in_multiindex_does_not_convert_to_timestamp.<locals>.<lambda>  s    QVVAYY r   )r   r{   r|   )r   r   r  rL   )r   r   r   r$   r!   r"   r#   r%   ro   r    r   
from_framer   r7  r(   levelstype)r)   r  r*   rB   rA   vals         r   @test_apply_with_date_in_multiindex_does_not_convert_to_timestampr    s    
%%%T1b!!T1b!!T1b!!T1b!!	 		
 		
 (((u555
 
 
B **c3Z
 
 C
CC		#M	=	=	= 0 0..//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 wyyy!H##%%H*84E4E4E+FGGHN}}U}++H&(+++|"1% ! !CyyD     ! !s   CC	Cc                     t          t          j                            d                              ddg          t	          j        ddgddgg                    } d}t          j        t          |	          5  | j	        
                    d
d
          }d d d            n# 1 swxY w Y   |                    d           }d}t          j        t          |	          5  | 
                    dd
          }d d d            n# 1 swxY w Y   |                    d           }t          j        ||j	                   t          j        ||            d S )Nr{   r   r   r   r   r   rL   z5The 'axis' keyword in DataFrame.groupby is deprecatedr   r   rd   r  c                 0    |                      dd          S )Nr   r  	droplevelr;   s    r   r=   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>  s    !1!=!= r   rf   c                 0    |                      dd          S )Nr   r   r  r  r;   s    r   r=   zDtest_apply_by_cols_equals_apply_by_rows_transposed.<locals>.<lambda>  s    !++1A+">"> r   )r   r   r   r   r   r  r!   r"   r#   r  r$   r%   r(   )r)   r*   ru   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	=	=	= + +T\\q\**+ + + + + + + + + + + + + + +hh==>>G
7C		#M	=	=	= * *jjaqj))* * * * * * * * * * * * * * *ii>>??G'79---'2&&&&&s$   9B""B&)B& DDDdropnac                    t          g ddt          j        t          j        ddgdt          d                    }d}t	          j        t          |          5  |                    d	| d
                              d           }d d d            n# 1 swxY w Y   | r|	                                n|j
        g d         }t	          j        ||           d S )Nr   r{   r|   r   r   rV   rW   )colr   xxyxzr   r   r   r   F)r  rO   c                     | S r   rF   r;   s    r   r=   z5test_apply_dropna_with_indexed_same.<locals>.<lambda>  s    VW r   )r   r|   r   r{   r   )r   r   r6  r   r!   r"   r#   r$   r%   r  ro   r(   )r  r)   r*   rB   rA   s        r   #test_apply_dropna_with_indexed_samer    s+    
"??262634	
 	
 7mm
 
 
B DC		#M	=	=	= Y YGFuEEKKKKXXY Y Y Y Y Y Y Y Y Y Y Y Y Y Y$Bryy{{{"'///*BH&(+++++s   -BBBzas_index, expected)r   r   r   )r{   r{   r   )rV   rW   N)rt   zTODO(infer_string))reason)marksr   )r{   r{   rW   r   r   c                 &   t          g dg dg dd          }d}t          j        t          |          5  |                    ddg|                               d	           }d d d            n# 1 swxY w Y   t          j        ||           d S )
Nr  )r   r   r   r   r   r   r   rV   rW   r   c                     dS rm   rF   r;   s    r   r=   z5test_apply_as_index_constant_lambda.<locals>.<lambda>,      1 r   )r   r!   r"   r#   r$   r%   assert_equal)r   rA   r)   r*   rB   s        r   #test_apply_as_index_constant_lambdar    s    ( 
LLL|||LL	M	MB
CC		#M	=	=	= N NS#J::@@MMN N N N N N N N N N N N N N NOFH%%%%%s   .A11A58A5c                     t          g dg dg ddt          d                    } d}t          j        t          |          5  |                     d	                              d
           }d d d            n# 1 swxY w Y   t          t          dd          t          j	        g dd	d g          d          }t          j
        ||           d S )Nr  )r   r   r   r   r   )r   r   r   r{   r{   rB  r   r   r   r   r   c                 4    | j                                         S r   )r   r  r;   s    r   r=   z(test_sort_index_groups.<locals>.<lambda>8  s    1A1A r   r   r   )r   r   r   ri  r   r   r   r  )r   r   r!   r"   r#   r$   r%   r	   r   r   rQ   r  s       r   test_sort_index_groupsr  0  s@   	ooOOO///JJAhh
 
 
B DC		#M	=	=	= C CC&&'A'ABBC C C C C C C C C C C C C C Ca$444S$K
 
 
   H 68,,,,,s   *A<<B B c                     t          t          j        ddd          t          d          t	          d          d          } d}t          j        t          |          5  |                     | j	        | j
        j        j
        gd	
                              d           }d d d            n# 1 swxY w Y   t          j        ||            d S )Nz
2010-01-0112hr   )r^  r   r   )r   valsletr   r   FrN   c                      | j         dd          S r   rn   r;   s    r   r=   z;test_positional_slice_groups_datetimelike.<locals>.<lambda>P  s    !&* r   )r   r&   r  r   r   r!   r"   r#   r$   r  r   dtr%   r(   )rA   r*   rB   s      r   )test_positional_slice_groups_datetimeliker  C  s   M,UAFFF!HH==	
 	
 H DC		#M	=	=	= & &!!\8=+01e " 
 

%$$
%
% 	& & & & & & & & & & & & & & & &(+++++s    AB..B25B2c                     t          g dg dg dd          } |                     d          }|ddg                             d           }t          d	d
gdd
gdt          ddgd                    }t	          j        ||           d S )N)rV   rV   rW   r   r  rB  r   r   r   c                     |                      t                                                    |                                 z
  S r   )astypefloatrm  rl  r;   s    r   r=   z7test_groupby_apply_shape_cache_safety.<locals>.<lambda>X  s)    AHHUOO,?,?,A,AAEEGG,K r   rY   rq  rZ   r!  rV   rW   r6   r   )r   r$   r%   r   r!   r(   )r)   ru   rB   rA   s       r   %test_groupby_apply_shape_cache_safetyr  T  s    	yyyyyyII	J	JB	CBc
^!!"K"KLLFCjSz**%c
2M2M2M  H &(+++++r   c                  6   t          j        g dg dg dd          } |                     d          ddg         }|                    d           }t	          j        g d	g d
gdd g          }t          g d|d          }t          j        ||           d S )N)rV   rW   rV   rW   )aaacr  ad)r  r  r  r  )rV   b1b2rV   r  r  c                 N    |                                                                  S r   )unstackr5  r;   s    r   r=   z3test_groupby_apply_to_series_name.<locals>.<lambda>j  s    !9!9!;!; r   )rV   rV   rW   rW   rW   )r  r  r  r  r  )arraysr   )r|   r   r{   r   r   r   r  )	r   	from_dictr$   r%   r   rZ  r	   r!   rQ   )r)   r  rB   expected_idxrA   s        r   !test_groupby_apply_to_series_namer  `  s    		%%%******	
 	

 
B **S//4,
'CYY;;<<F))))+I+I+IJDk  L ooo\HHHH68,,,,,r   c                    t          g dg dddt          j        t          j        gd          }|                    d|           }d}t	          j        t          |	          5  |                    d
           }d d d            n# 1 swxY w Y   t	          j        t          |	          5  |                    d           }d d d            n# 1 swxY w Y   t	          j        ||           d S )Nr  )r   r   r{   r   r   r{   )r  r  zr  )r  r   r   c                 .    |                      dd          S )Nr   r  )nlargest)grp_dfs    r   r=   ztest_apply_na.<locals>.<lambda>}  s    FOOAs,C,C r   c                 V    |                      dd                              d          S )Nr  F)	ascendingr   )r<  r   r;   s    r   r=   ztest_apply_na.<locals>.<lambda>  s%    se)L)L)Q)QRS)T)T r   )	r   r   r6  r$   r!   r"   r#   r%   r(   )r  r)   dfgrpr*   rB   rA   s         r   test_apply_nar  t  s    
<<<q!RVRV6LMM
 
B JJuVJ,,E
CC		#M	=	=	= E ECCDDE E E E E E E E E E E E E E E		#M	=	=	= V V;;TTUUV V V V V V V V V V V V V V V&(+++++s$   $BBB-CCCc            	         d} t          j        t          |           5  t          g dg dt	          j        g dd          d                              d	d
g                              d           }d d d            n# 1 swxY w Y   t          ddt	          j        dd          gddt	          j        dd          ggg dt          j	        ddgd	d
g                    }t          j
        ||           d S )Nr   r   r  )r  r  r  r  r   r6  )unitr   rV   rW   c                     | j         d         S Nr]  rn   r   s    r   r=   z8test_apply_empty_string_nan_coerce_bug.<locals>.<lambda>  s    bgbk r   r   r  r{   r   )r   r  )r{   r  r   r  )r!   r"   r#   r   r&   r>   r$   r%   r   r   r(   )r*   rB   rA   s      r   &test_apply_empty_string_nan_coerce_bugr    s`   
CC		#M	=	=	= 
 
%)))3???   Wc3Z  U))** 	
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R,,,	-2r~ac7R7R7R/ST$gw%7SzJJJ  H
 &(+++++s   ABBBindex_values)rY   rZ   r[   c                    t          g dg ddt          |                     }t          dg dit          g dd	                    }d
}t          j        t          |          5  |                    d                              d           }d d d            n# 1 swxY w Y   t          j        ||           d S )N)r  a2a3r   r~   r   b_mean)rZ   r[   rY   )r  r  r  rV   r6   r   r   c                 X    t          | d                                         gdg          S )NrW   r   r   )r	   r   r   s    r   r=   z0test_apply_index_key_error_bug.<locals>.<lambda>  s$    vr#w||~~.xjAAA r   )r   r   r!   r"   r#   r$   r%   r(   )r  rB   rA   r*   s       r   test_apply_index_key_error_bugr    s1    ###	
 	
 L!!  F ooo	
 &&&S111	  H DC		#M	=	=	= 
 
$$**AA
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &(+++++s   )*BB#&B#zarg,idx)皙?333333?皙?)r  r  r  )r   r   r|   )r  r   r  c                    t          d| i|          }d}t          j        t          |          5  |                    dd                              d           }d d d            n# 1 swxY w Y   t          j        ||           d S )Nr  r   r   r   FrN   c                     | S r   rF   r;   s    r   r=   z5test_apply_nonmonotonic_float_index.<locals>.<lambda>  r  r   r   )argr  rA   r*   rB   s        r   #test_apply_nonmonotonic_float_indexr	    s    V %S111H
CC		#M	=	=	= N N!!%E!::@@MMN N N N N N N N N N N N N N N&(+++++s   ,A))A-0A-zargs, kwargsnumeric_onlyc                     |                      d          } |j        dg|R i |}|                    d          }t          j        ||           d S )Nr   r;  T)r
  )r$   r%   r;  r!   r(   )r)   r  kwargsru   rB   rA   s         r   test_apply_str_with_argsr    s`     
CBRXe-d---f--Fvv4v((H&(+++++r   r7   	some_namec                     t          ddg|           }|                    ddgd                              d           }t          ddg|           }t          j        ||           d S )Nr   r{   r6   rV   FrN   c                     | S r   rF   r;   s    r   r=   z1test_result_name_when_one_group.<locals>.<lambda>  r  r   )r	   r$   r%   r!   rQ   )r7   r  rB   rA   s       r   test_result_name_when_one_groupr    sr     !Qd
#
#
#C[[#s[66<<[[IIFq!f4(((H68,,,,,r   z
method, opr%   c                     | j         d         S r  )r1  ru   s    r   r=   r=     s    RYr] r   c                 (    | d         j         d         S )NrW   r   rn   r  s    r   r=   r=     s    RW\!_ r   )aggskew)r  prod)r  r;  c           
         t          g g d          }|                    dd          }t          |d          } t          ||           |          }t          g ddt	          g dd                    }t          j        ||           d S )	Nr~   rV   TrN   rW   rb   r,  )r7   rt   r   )r   r$   r  r	   r   r!   rQ   )methodopempty_dfru   r   rB   rA   s          r   test_empty_dfr    s     r++,,H			#$		/	/BBE#WUF##B''F
IU2YS-Q-Q-Q  H 68,,,,,r   r  c                    t          g dg dd          }|                    d          }| rt          nd }d}t          j        ||          5  |                    d |           }d d d            n# 1 swxY w Y   t          d	d	gd
dgdt          dd	gd                    }| s	|dg         }t          j        ||           d S )Nr`  )r|   r   r   r~   rV   r   r   c                 *    |                                  S r   r  r;   s    r   r=   z%test_include_groups.<locals>.<lambda>  s    AEEGG r   r  r{   r   r   r   r6   r   rW   )r   r$   r#   r!   r"   r%   r   r(   )r  r)   ru   warnr*   rB   rA   s          r   test_include_groupsr     s7    
33	4	4B	CB*4==D
CC		#D	4	4	4 L L++NKKL L L L L L L L L L L L L L L1vQF335!Qc;R;R;RSSSH #SE?&(+++++s   A44A8;A8r  re   jimjoec                    t           j                            d          }t          |                    ddd          ddg          }|                    d          |d	<   |                    |           }|j        |t          urd nt          }d
}t          j        ||dd          5  |                    |          }d d d            n# 1 swxY w Y   t          |                    |                     }d|j         d| d}	|j        |dfk    s
J |	            fdd}t          j        t          |          5  |                              }
d d d            n# 1 swxY w Y   t          j        ||
           t          j        t          |          5  |                    fd          }d d d            n# 1 swxY w Y   t          j        ||           |t          k    rV|                                                              }
|
                    | dd           t          j        ||
d           t          j         t+          |          d           t+          |          d                     d S )Nr{   r   r   )r   r{   r!  r"  rL   r   jolier  F)r   r  raise_on_extra_warnings)subsetzinvalid frame shape: z (expected (z, 3))r|   c                 D     t          t                    | d          S )Nr   rk   )r  r   )r<   fnames    r   r=   z%test_builtins_apply.<locals>.<lambda>6  s!    )wr5))!!444 r   r   r   c                      |           S r   rF   )r<   npfuncs    r   r=   z%test_builtins_apply.<locals>.<lambda>=  s    vvayy r   T)ra  r7  )check_dtyper   rk   )r   r   r   r   rD  r   r$   __name__r;  r#   r!   r"   r%   r  drop_duplicatesr  r(   r  r    r  rQ   r  )re   r  rsr)   ru   r  r*   rB   ngroups
assert_msgrA   r  r(  r*  s               @@r   test_builtins_applyr1    sB    
		q	!	!B	2;;q!W--u~	F	F	FB$$R((BwK	D		BJEC<<44]D
FC		#C%
 
 
   !	              
 "$$D$1122GQQQ7QQQJ<GQ<''''''4444F
CC		#M	=	=	= $ $88F##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $&(+++		#M	=	=	= 2 2HH000011	2 2 2 2 2 2 2 2 2 2 2 2 2 2 2&),,,Cxx66%==,,..4E:::
fhEBBBB176511q999;M72u;M;MST;U;U;UVVVVVs6   *CCCE##E'*E'GG
G)hr   r   numpyr   pytestpandas._configr   pandasr&   r   r   r   r	   r
   pandas._testing_testingr!   pandas.tests.groupbyr   r,   rC   rS   rv   rz   markparametrizer   r   r   r   r   r   r   r  r  r(  r+  r.  r3  r8  rE  rK  rV  r[  rb  rt  rw  r{  r  r  r  r  r  r  r  r  r  r  r  r  r#  r&  todayrK   r-  r<  rF  r[  rC  interval_rangeperiod_ranger   rb  rt  r{  r  r  r  r  r  r  r  r  r  paramra   xfailr  r  r  r  r  r  r  r  r	  r  r  r  r   rm  rl  r;  r1  rF   r   r   <module>r@     s:         
      - - - - - -                        8 8 8 8 8 85 5 5&%, %, %,P'- '- '-T, , ,$, , ,  	/H/H/HII	J	JIIIV	LLL99	:	:QFC	C!:		$	111aAA	B	BQFK	+++4F4F4FGG	H	H)))TIl++777777   OO		
 
IIIyyy)???	C	C	CaVL!$	 	 	)   <+$ +$= <+$\  2, , ,, 
$$##	 & & &- - -('$ '$ '$T&3 &3 &3R2 2 2&0 0 0

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

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