
    MhPT                         S SK rS SK J r   S SKrS SKrS SKrS SKrS SKJrJ	r	J
r
JrJrJrJrJrJr  S SKJr   " S S5      r " S S5      r " S S	5      rS
 rS rS rg)    N)datetime)		DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestampconcat
date_rangeto_timedeltac            	          \ rS rSrS rS rS rS rS rS r	S r
\R                  R                  S	S
S/5      S 5       r\R                  R                  SS
S/5      \R                  R                  SS
S/5      \R                  R                  S\R                   \" S5      /5      S 5       5       5       r\R                  R                  SS
S/5      \R                  R                  SS
S/5      S 5       5       r\R                  R                  SS
S/5      \R                  R                  SS
S/5      S 5       5       rSrg
)TestDatetimeConcat   c                     [        SSS9n[        SU05      n[        X"/5      nUR                  S S S   U:H  R	                  5       (       d   eUR                  SS  S   U:H  R	                  5       (       d   eg )Nz1/1/2000
   )periodstime)r   r   r
   ilocall)selfrngdfresults       \/var/www/html/env/lib/python3.13/site-packages/pandas/tests/reshape/concat/test_datetimes.pytest_concat_datetime64_block/TestDatetimeConcat.test_concat_datetime64_block   s|    R0}%!CR (C/446666BC (C/446666    c                 
   / nUR                  [        SSS5      S/5        UR                  [        SSS5      S/5        [        R                  " USS/S9n[	        SS	S
S9n[        U[        S
5      S.5      n[        XB/5        g )Ni        hidatetestcolumnsz2000/1/1Dr   )startfreqr   )r"   r#   )appendr   r   from_recordsr   ranger
   )r   rowsdf2_objinddf1s        r   %test_concat_datetime_datetime64_frame8TestDatetimeConcat.test_concat_datetime_datetime64_frame!   s    XdAq)1-.XdAq)401((7GHzR@eBi89 	~r   c           	         [        SSSSS9n[        US   US   SS9n[        S	/ S
Q0US9n[        S/ S
Q0US9n[        X4/SS9n[        / SQSSS9n[        SS/SS/SS//US	S/S9n[        R
                  " XW5        [        SSSSS9n[        S/ S
Q0US9n	[        X9/SS9n[        / SQ5      R                  S5      n[        [        R                  S/[        R                  S/[        R                  S/S[        R                  /S[        R                  /S[        R                  //US	S/S9n[        R
                  " XW5        [        UR                  S5      R                  5       UR                  S5      R                  5       /SS9n[        / S
Q[        R                  /S-  -   [        R                  /S-  / S
Q-   S.UR                  U5      S9n[        R
                  " XW5        g )N
2011-01-01   hzEurope/Parisr   r(   tzr   )r'   endr(   ar   r    r4   indexbr   axis)z2011-01-01 00:00:00+01:00z2011-01-01 01:00:00+01:00z2011-01-01 02:00:00+01:00zM8[ns, Europe/Paris])dtyper(   r    r=   r%   z
Asia/Tokyo)z2010-12-31 15:00:00+00:00z2010-12-31 16:00:00+00:00z2010-12-31 17:00:00+00:00z2010-12-31 23:00:00+00:00z2011-01-01 00:00:00+00:00z2011-01-01 01:00:00+00:00nsT)sortr:   r>   )r   r   r
   r   tmassert_frame_equalas_unitnpnanresamplemeanr)   )
r   idx1idx2r/   df2r   exp_idxexpectedidx3df3s
             r   test_concat_datetime_timezone0TestDatetimeConcat.test_concat_datetime_timezone/   s   ,OQT"XC@i(5i(5
+
 )
 VaVaV$Gc3Z
 	f/,Mi(5
+	
 '$- 	 BFFBFFBFF #J
 	f/ c*//13<<3D3I3I3KLSWXrvvhl*"&&A	1IJ++d#
 	f/r   c                    [        SSSSS9n[        [        S5      5      n[        X!S9n[	        US S USS  /5      n[
        R                  " XC5        [	        USS  US S /5      n[        USS  US S -   USS  R                  US S 5      S9nS UR                  R                  l
        [
        R                  " XC5        g )Nz01-Jan-2013d   50msUTCr6   r<   2   )r   listr+   r   r
   rF   rG   r)   r=   _datar(   )r   drdatarQ   r   s        r   test_concat_datetimeindex_freq1TestDatetimeConcat.test_concat_datetimeindex_freql   s     sEJE#JT,#267
f/ "#"67T"#Ycr2"RS'..CR:QR$(!
f/r   c           
      d   [        [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      /SS9n[        SS/[        R
                  " SS	/US S
 /SS/S9S9n[        SS/[        R
                  " SS	/US S S	2   /SS/S9S9n[        R
                  " / SQU/SS/S9nUR                  S   R                  [        :X  d   e[        SS/S[        R                  /[        R                  S//US9n[        X#/SS9n[        R                  " Xe5        g )Ni  r     i  objectrA   r:   r>   r    r8   firstsecond)namesr<   )r   r    r    r?   )r   dtr"   r   r   from_arrayslevelsrA   rc   r   rI   rJ   r
   rF   rG   )r   idxss2mirQ   r   s          r   ,test_concat_multiindex_datetime_object_index?TestDatetimeConcat.test_concat_multiindex_datetime_object_index{   sF   WWT1a "''$1"5rwwtQ7JK

 #J((FH )	
 #J((QSqS")
 ##H%
 yy|!!V+++3Z#rvv6
 a(
f/r   c           	         [        [        SSSSS95      n[        [        R                  SS/SS	9n[        US   US   [        R                  [        R                  /5      n[	        X/S
S9n[
        R                  " XC5        [        [        R                  [        S5      SS	9n[	        X"/S
S9n[
        R                  " XC5        g )N20151124 08:0020151124 09:001h
US/Easternr(   r7   r   r   zdatetime64[ns, US/Eastern]r=   rA   Tignore_index   r   r   pdNaTr
   rF   assert_series_equalr+   r   xyrQ   r   s        r   test_concat_NaT_series)TestDatetimeConcat.test_concat_NaT_series   s     ')9V
 266!Q/KL1Q41rvvrvv67T2
v0 "&&a8TUT2
v0r   c                    [        [        SSSS95      n[        [        SSSS95      n[        R                  US S & [        US   US   [        R                  [        R                  /5      n[	        X/S	S
9n[
        R                  " XC5        [        R                  US S & [        [        R                  [        S5      SS9n[	        X/S	S
9n[
        R                  " XC5        g )Nrr   rs   rt   r(   z20151124 10:00z20151124 11:00r   r   Trx   rz   datetime64[ns]rw   r{   r   s        r   test_concat_NaT_series2*TestDatetimeConcat.test_concat_NaT_series2   s    :.0@tLM:.0@tLMvv!1Q41rvvrvv67T2
v0 vv!"&&a8HIT2
v0r   r7   NrY   c           
      f   [        [        R                  [        R                  /US9n[        SU05      n[        [	        SUS9/[	        SUS9//SS/S9n[        [        R                  [        R                  [	        SUS9[	        SUS9/5      n[        X4/SS9n[        R                  " Xe5        g )	Nr7   r   
2015/01/01
2016/01/01r    r4   r<   r?   )r   r|   r}   r   r	   r
   rF   rG   )r   r7   dtire   rf   rQ   r   s          r   test_concat_NaT_dataframes-TestDatetimeConcat.test_concat_NaT_dataframes   s     RVVRVV,41c(#,-	,20N/OPa&
 ,2.,2.	
 a0
f/r   tz1tz2item20150101c                   ^^ [        [        R                  /[        R                  //5      R                  U4S j5      n[        U/5      R                  U4S j5      n[	        XV/SS9n[        [        [        R                  [        R                  U// SQS95      nUR                  U4S j5      nTT:w  aq  UR                  [        5      nU[        R                  L aI  U(       dB  Tb  [        R                  UR                  S'   O![        R                  UR                  S S	2S4'   [        R                  " Xx5        g )
Nc                 :   > U R                   R                  T5      $ Nrh   tz_localize)r   r   s    r   <lambda>NTestDatetimeConcat.test_concat_NaT_dataframes_all_NaT_axis_0.<locals>.<lambda>   s    @P@PQT@Ur   c                 :   > U R                   R                  T5      $ r   r   r   r   s    r   r   r      s    1443C3CC3Hr   r   r?   )r   r   r   r<   c                 :   > U R                   R                  T5      $ r   r   r   s    r   r   r      s    ADD,<,<S,Ar   )r8   r   r8   )r   r|   r}   applyr
   r   astyperc   rI   rJ   r   rF   rG   )	r   r   r   r   using_array_managerre   rf   r   rQ   s	    ``      r   )test_concat_NaT_dataframes_all_NaT_axis_0<TestDatetimeConcat.test_concat_NaT_dataframes_all_NaT_axis_0   s     BFF8bffX./556UVD6"(()HIa0VRVVRVVT$:)LM>>"AB#:v.Hrvv~&9
 ?+-66HMM%(,.FFHMM#2#q&)
f/r   c                 p   [        [        [        R                  [        R                  /5      R                  R                  U5      5      n[        [        [        R                  /5      R                  R                  U5      S/S9n[        [        [        R                  [        R                  /5      R                  R                  U5      [        [        R                  [        R                  /5      R                  R                  U5      S.5      n[        X4/SS9n[        R                  " Xe5        g )Nr   r$   )r   r   r?   )	r   r   r|   r}   rh   r   r
   rF   rG   r   r   r   re   rf   rQ   r   s          r   )test_concat_NaT_dataframes_all_NaT_axis_1<TestDatetimeConcat.test_concat_NaT_dataframes_all_NaT_axis_1   s    
 &"&&"&&!1255AA#FG6266(+..::3?!M266266*+..::3?266266*+..::3?
 a0
f/r   c           
         [        [        R                  [        R                  /5      R                  R	                  U5      n[        [        SUS9/[        SUS9//SS/S9n[        [        R                  [        R                  [        SUS9[        SUS9/5      nX:w  a  UR                  [        5      n[        X4/5      n[        R                  " Xe5        g )Nr   r   r   r    r4   r<   )r   r|   r}   rh   r   r   r	   r   rc   r
   rF   rG   r   s          r   (test_concat_NaT_series_dataframe_all_NaT;TestDatetimeConcat.test_concat_NaT_series_dataframe_all_NaT  s     '(++77<<C01<C01 a&
 ,3/,3/	
 :v.H(
f/r    )__name__
__module____qualname____firstlineno__r   r0   rT   r_   ro   r   r   pytestmarkparametrizer   r|   r}   r	   r   r   r   __static_attributes__r   r   r   r   r      sJ   7;0z0#0J1"1 [[TD%=10 20* [[UT5M2[[UT5M2[[Vbffi
.C%DE0 F 3 304 [[UT5M2[[UT5M20 3 30 [[UT5M2[[UT5M20 3 30r   r   c                   
   \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS r\R"                  R%                  SS\R&                  " \R*                  \R"                  R-                  SS9S9/5      S 5       rS rSrg)TestTimezoneConcati!  c           	          [        [        SSSSS95      n[        [        SS5      5      n[        US   US	   US   US	   /S
S9n[        X/SS9n[        R                  " XC5        g )Nrr   rs   rt   rY   rv   
2012-01-01z
2012-01-02r   r   rc   rd   Trx   r   r   r
   rF   r~   r   s        r   test_concat_tz_series(TestTimezoneConcat.test_concat_tz_series"  sl    :.0@tPUVW:lL9:1Q41qtQqT2(CT2
v0r   c           	          [        [        SSSSS95      n[        SS/5      n[        US   US	   US   US	   /S
S9n[        X/SS9n[        R                  " XC5        g )Nrr   rs   rt   rY   rv   r:   r>   r   r   rc   rd   Trx   r   r   s        r   test_concat_tz_series2)TestTimezoneConcat.test_concat_tz_series2*  si    :.0@tPUVWC:1Q41qtQqT2(CT2
v0r   c                 j   [        [        SSS5      //SU S3S9nUS   R                  R                  S5      US'   [        [        SSS5      //SU S3S9nUS   R                  R                  S5      US'   [	        X4/5      n[
        R                  " X5      nUS   R                  S	U S
3:X  d   eg )N  r   M8[]rd   r   rY   r    datetime64[z, UTC]r   r   rh   r   r
   rF   get_finest_unitrA   r   unitunit2re   rf   r   exp_units          r   test_concat_tz_series3)TestTimezoneConcat.test_concat_tz_series32  s     HT1a012CvQ-H8;;**51aXdAq123Sq>J1ILL,,U3q	(%%d2ayKz"@@@@r   c                 j   [        [        SSS5      //SU S3S9nUS   R                  R                  S5      US'   [        [        SSS5      //SU S3S9nUS   R                  R                  S5      US'   [	        X4/5      n[
        R                  " X5      nUS   R                  S	U S
3:X  d   eg )Nr   r   r   r   rd   r   Europe/Londonr    r   , Europe/London]r   r   s          r   test_concat_tz_series4)TestTimezoneConcat.test_concat_tz_series4?  s    HT1a012CvQ-H8;;**?;aXdAq123Sq>J1ILL,,_=q	(%%d2ayKz9I"JJJJr   c                    [        [        SSS5      /[        SSS5      //SU S3S9nUS   R                  R                  S5      US'   [        [        SSS	5      //SU S3S9nUS   R                  R                  S5      US'   [	        X4/5      n[
        R                  " X5      nUS   R                  S
U S3:X  d   eg )Nr   r   r    r   r   rd   r   r   r4   r   r   r   r   s          r   test_concat_tz_series5)TestTimezoneConcat.test_concat_tz_series5K  s    tQ"#htQ&:%;<c$qM
 8;;**?;aXdAq123Sq>J1ILL,,_=q	(%%d2ayKz9I"JJJJr   c                    [        [        SSS5      //SU S3S9nUS   R                  R                  S5      US'   [        [        SSS5      /[        SSS	5      //SU S3S9nUS   R                  R                  S5      US'   [	        X4/5      n[
        R                  " X5      nUS   R                  S
U S3:X  d   eg )Nr   r   r   r   rd   r   r   r    r4   r   r   r   r   s          r   test_concat_tz_series6)TestTimezoneConcat.test_concat_tz_series6Y  s    HT1a012CvQ-H8;;**?;atQ"#htQ&:%;<c%PQN
 1ILL,,_=q	(%%d2ayKz9I"JJJJr   c                    [        S[        R                  R                  5       S9[        S[        R                  R                  5       S9/n[        S[        R                  R                  5       S9[        S[        R                  R                  5       S9/n[	        [        U5      [        U5      /SS9n[        R                  " U[        X-   5      5        UR                  S:X  d   eg )	Nr3   r   
2011-02-01r   z
2012-02-01Trx   zdatetime64[ns, tzlocal()])	r	   dateutilr7   tzlocalr
   r   rF   r~   rA   r   r   r   r   s       r   test_concat_tz_series_tzlocal0TestTimezoneConcat.test_concat_tz_series_tzlocalg  s     lx{{':':'<=lx{{':':'<=

 lx{{':':'<=lx{{':':'<=

 F1I.TB
vvae}5||::::r   c                    [        SSS9[        SSS9/n[        R                  " S5      [        R                  " S5      /n[        [	        U5      [	        U5      /SS9n[
        R                  " U[	        X-   S	S
95        [        R                  " SSS9[        R                  " SSS9/n[        [	        U5      [	        U5      /SS9n[
        R                  " U[	        X-   S	S
95        g )Nr3   ru   r   r   z1 dayz2 dayTrx   rc   rd   z2011-03Mr   z2011-04)r	   r|   	Timedeltar
   r   rF   r~   Periodr   s       r   'test_concat_tz_series_with_datetimelike:TestTimezoneConcat.test_concat_tz_series_with_datetimelikev  s     l|4l|4
 \\'"BLL$9:F1I.TB
vvae8'DE YYys+RYYys-KLF1I.TB
vvae8'DEr   c                     [        [        SSS9[        SSS9S.[        S5      S9n[        UR                  R                  5       UR                  R                  5       /S	S
9n[        R                  " X5        g )N20130102ru   r   20130603CETAB   r<   r   r?   )	r   r	   r+   r
   r   to_framer   rF   rG   )r   rO   rS   s      r   test_concat_tz_frame'TestTimezoneConcat.test_concat_tz_frame  se    zl;ze4 (
 ceenn&(89B
c'r   c                    [        SS S9n[        SSS9n[        SSS9n[        SU/05      n[        SU/05      n[        SU/05      n[        XE/5      R                  SS9n[        SX/0[        S9n[
        R                  " Xx5        [        XF/5      R                  SS9n[        SX/0[        S9n[
        R                  " Xx5        [        XV/5      R                  SS9n[        SX#/05      n[
        R                  " Xx5        g )	N
2015-01-01r   rY   ESTr   T)droprd   )r	   r   r
   reset_indexrc   rF   rG   )	r   ts1ts2ts3r/   rO   rS   resultsrQ   s	            r   test_concat_multiple_tzs+TestTimezoneConcat.test_concat_multiple_tzs  s    .//#(#(#(#$00d0;fsj1@
g0#$00d0;fsj1@
g0#$00d0;fsj12
g0r   c                    [        [        [        SSS5      [        SSS5      [        SSS5      /SS9/ SQ/ SQ/ S	QS
.5      nUR                  SS/5      n[        / SQS-  SSS9n[	        / SQS-  SS9n[
        R                  " X#/5      n[        / SQS-  / S	QS-  S.USS/S9n[        X/5      n[        R                  " Xe5        g )Nrb   r   r    r4   zM8[ns, US/Pacific]rd   )r   r   Cr;   )rz   r      )rh   r>   cdrh   r>   )z
2014-01-01z
2014-01-02z
2014-01-03)rA   name)r   )r   r   r   r   rB   )
r   r   r   	set_indexr   r   ri   r
   rF   rG   )r   r   exp_idx1exp_idx2rP   rQ   r   s          r   test_concat_multiindex_with_tz1TestTimezoneConcat.test_concat_multiindex_with_tz  s    # q!, q!, q!,
 / %
 \\4+& 6:&

 1,37((()=>a-i!m4GcSVZ
 !
f/r   c                 d   [         R                  " SS/5      R                  S5      n[        SU05      n[        XS.5      n[	        X#/SSS9n[        [        U5      [        U5      -   [         R                  [         R                  /[        U5      -   S.5      n[        R                  " XE5        g )Nr   r    rY   r   r   T)rD   ry   )	r|   to_datetimer   r   r
   r[   r}   rF   rG   )r   tsr:   r>   r   rQ   s         r   test_concat_tz_not_aligned-TestTimezoneConcat.test_concat_tz_not_aligned  s    ^^QF#//6sBi B()T=r(T"X%RVVRVV,<tBx,GH
 	f/r   t1r   z*GH23037 incorrect dtype when concatenating)reason)marksc                     [        USS9n[        SSS9n[        SSS9n[        X#//5      n[        U//5      n[        XV/5      n[        X#/U[        R                  //SS/S9n[
        R                  " Xx5        g )NrY   r   r   r   r<   )r	   r   r
   r|   r}   rF   rG   )	r   r  r   r   r   r/   rO   r   rQ   s	            r   test_concat_tz_NaT%TestTimezoneConcat.test_concat_tz_NaT  s}     u%//#%# 
#sj3-8AG
f/r   c           
          [        [        [        SSSS95      [        5       /5      n[        [        SSSS95      n[        R                  " X5        g )N2000r   rY   )r   r7   )r
   r   r   rF   rG   )r   r   rQ   s      r   test_concat_tz_with_empty,TestTimezoneConcat.test_concat_tz_with_empty  sG    z&!>?M
 ZeDE
f/r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   paramr|   r}   xfailr  r  r   r   r   r   r   r   !  s    11A
KKK;F(1.0B	0 [[LLkk''G ( 	
000r   r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestPeriodConcati  c                     [        [        R                  " SS/SS95      n[        [        R                  " SS/SS95      n[        US   US   US   US   /S	S
9n[        X/SS9n[        R
                  " XC5        g )N
2015-11-01
2015-12-01r&   r   
2015-10-01
2016-01-01r   r   z	Period[D]rd   Trx   )r   r|   PeriodIndexr
   rF   r~   r   s        r   test_concat_period_series*TestPeriodConcat.test_concat_period_series  sw    2>><">SIJ2>><">SIJ1Q41qtQqT2+FT2
v0r   c                    [        [        R                  " SS/SS95      n[        [        R                  " SS/SS95      n[        US   US	   US   US	   /S
S9n[        X/SS9n[        R
                  " XC5        UR                  S
:X  d   eg )Nr  r  r&   r   r  r  r   r   r   rc   rd   Trx   r   r|   r  r
   rF   r~   rA   r   s        r   'test_concat_period_multiple_freq_series8TestPeriodConcat.test_concat_period_multiple_freq_series      2>><">SIJ2>><">SIJ1Q41qtQqT2(CT2
v0||x'''r   c                    [        [        R                  " SS/SS95      n[        [        R                  " SS/SS95      n[        US   US   US   US   /SS	9n[        X/S
S9n[        R
                  " XC5        UR                  S:X  d   eg )Nr  r  r&   r   r   r   r   rc   rd   Trx   r  r   s        r   test_concat_period_other_series0TestPeriodConcat.test_concat_period_other_series	  r"  r   c                 
   [        [        R                  " SS/SS95      n[        [        SS/5      5      n[        US   US   US   US   /SS9n[	        X/S	S
9n[
        R                  " XC5        UR                  S:X  d   eg )Nr  r  r&   r   r   r   rc   rd   Trx   )r   r|   r  r   r
   rF   r~   rA   r   s        r    test_concat_period_other_series21TestPeriodConcat.test_concat_period_other_series2  s    2>><">SIJ=,!=>?1Q41qtQqT2(CT2
v0||x'''r   c                     [        [        R                  " SS/SS95      n[        SS/5      n[        US   US   US   US   /S	S
9n[        X/SS9n[        R
                  " XC5        UR                  S	:X  d   eg )Nr  r  r&   r   r   r   r   r   rc   rd   Trx   r  r   s        r    test_concat_period_other_series31TestPeriodConcat.test_concat_period_other_series3  s}    2>><">SIJC:1Q41qtQqT2(CT2
v0||x'''r   r   N)
r   r   r   r   r  r   r$  r'  r*  r   r   r   r   r  r    s    1((((r   r  c                     [        [        R                  " S5      SS9n [        SU 05      n[	        X/5      n[
        R                  " UR                  S S U5        [
        R                  " UR                  SS  U5        g )Nr   rl   )r   r   )r   rI   aranger   r
   rF   rG   r   )r   r   r   s      r   test_concat_timedelta64_blockr.  #  sf    
ryy}3
/C	FC=	!BRHF&++cr*B/&++bc*B/r   c                     [        SS0[        R                  " S[        R                  4/5      S9n [        SS0[        R                  " S[        R                  4S[        R                  4/5      S9n[        X/SS9n[        S[        R                  /SS	.[        R                  " S[        R                  4S[        R                  4/5      5      n[        R                  " X#5        g )
Nr:   r   r<   r>   r    r%   r?         ?rE   )
r   r   from_tuplesr|   r}   r
   rI   rJ   rF   rG   )leftrightr   rQ   s       r   #test_concat_multiindex_datetime_natr4  -  s    c1XZ%;%;a[M%JKD	a
..BFFa[/IJE TM	2FBFFm!$j&<&<q"&&kArvv;=W&XH &+r   c           	         [        S[        R                  " S/SS905      n[        S[        R                  " S/SS905      n[        S[        R                  " S/SS9S   [        R                  " S/SS9S   /0SS/S9n[        X/5      n[        R
                  " XC5        [        S[        R                  " / S	S905      n[        UR                  S S UR                  S S /5      n[        R
                  " XC5        [        S[        R                  " S/S	S905      n[        UR                  S S U/5      n[        R
                  " XC5        U (       du  [        S[        R                  " S/SS905      nS
n[        R                  " [        US9   [        XR                  S S /5      nS S S 5        [        R
                  " XC5        g [        S[        R                  " S/SS905      R                  SS	05      n[        XR                  S S /5      n[        R
                  " XC5        g ! , (       d  f       N= f)Nr   r  r   rd   r0  float64r   r<   rc   zDThe behavior of DataFrame concatenation with empty or all-NA entries)match)
r   r|   arrayr
   rF   rG   r   assert_produces_warningFutureWarningr   )r   df_timedf_floatrQ   r   msgs         r   test_concat_float_datetime64r>  :  s   bhhx7GHIJG#rxxY?@AH&)9:1=#i03	
 !fH W'(F&+#rxx(;<=HW\\"1%x}}Ra'89:F&+#rxxX>?@HW\\"1%x01F&+c288VH<L#MNOT''SAWmmBQ&789F B
f/c288VH<L#MNOVV(O
 --"345
f/ BAs   H//
H=)r   rh   r   numpyrI   r   pandasr|   r   r   r   r   r   r	   r
   r   r   pandas._testing_testingrF   r   r   r  r.  r4  r>  r   r   r   <module>rC     s_         
 
 
 G0 G0TU0 U0p'( '(T0
,$0r   