
    g                        d dl mZm Z  d dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z  d dl!m"Z# d dl$m%Z%  G d	 d
      Z& G d d      Z' G d d      Z( G d d      Z) G d d      Z* G d d      Z+ G d d      Z,d Z-d Z.d Z/d Z0 G d d      Z1 G d d      Z2ejf                  ji                  d ejj                   e ed d!             e ed d"      ejl                   ed#d$       ed$d!      gd%&      d e7d'(       ejj                   eg d)       eejl                  d#ejl                  d!ejl                  d*ejl                  d+ejl                  g	       e8ddd"      dd,(       ejj                   eg d-       eejl                  d.ejl                  d/ge9&       e8ddd"      e7d0(       ejj                   e ejt                  d1             eejl                  ejl                  ejl                  ejl                  ejl                  d!d2d*d3d+g
       e8dd!      dd4(       ejj                   eg d5       eejl                  d"d#g      d dd6(       ejj                   ed/g       eejl                  ge9&      d e7d7(       ejj                   ed/d.g       eejl                  d.ge9&      d e7d8(      g       G d9 d:e2             Z; G d; d<e2      Z< G d= d>e2      Z= G d? d@e2      Z> G dA dBe2      Z? G dC dDe2      Z@ejf                  ji                  dE eg d5       eejl                  d"d#g      df eg dF       eejl                  dGdHg      df e e dId d        e dId d"       e dId d#      g       ee e dId d"       e dId d#      g      df eg dJ       eg dK      dfg       G dL dMe2             ZA G dN dOe2      ZB G dP dQe2      ZCejf                  ji                  dR ej6                  dGdHg      df ej6                  dSdTg      e7f ej6                  d"dUz  d"dUz  d z   gej                  &      e7fg       G dV dWe2             ZEejf                  ji                  dXdY ej                  dY      g       G dZ d[e2             ZGejf                  ji                  dXg d\       G d] d^e2             ZH G d_ d`e2      ZIejf                  ji                  da ej                  d       ej                  df ej                  dY      ej                  e7fg       G db dceI             ZLejf                  ji                  dXg dd      ejf                  ji                  dee9g       G df dgeI                    ZMejf                  ji                  dad ej                  dfdhej                  dfdiej                  dfd.e9e7fg       G dj dkeI             ZOejf                  ji                  dad e9e7fdle9e7fd#e9e7fdhe9e7fdie9e7fd.ePdfg       G dm dneI             ZQejf                  ji                  dad ej                  dfdhej                  e7fdiej                  e7fd.e9e7fg       G do dpeI             ZSejf                  ji                  dad ej                  dfdhej                  dfdiej                  e7fd.e9e7fg       G dq dreI             ZTejf                  ji                  dad ej                  df ejj                  dhej                  dejf                  j                  e xs exr  ej                         dsk7  dtu      v      diej                  e7fd.e9e7f ej                  d"      ej                  df ej                  d"      ej                  df ej                   ej                  ej                        j                        ej                  e7f ej                  d"      ej                  df ej                  d"      ej                  dfg	       G dw dxeI             Z]ejf                  ji                  da edy      dzdfd e9e7fd{e9e7fg       G d| d}eI             Z^ejf                  ji                  da edyd~      ddf edyd      ddf edy      e9e7fd e9e7fg       G d deI             Z_ejf                  ji                  da ed      ddfd e9e7fd{e9e7fg       G d deI             Z`ejf                  ji                  dXd edd       ed d"d      g      ejf                  ji                  dee9g       G d deI                    Zad Zbd Zcd Zdd Zed Zfd Zgd Zhd Zid Zjd Zkd Zlejf                  ji                  d emd"d2            ejf                  ji                  dg dd.d/gd/gg      ejf                  ji                  ddGejl                   ej                  eo      j                   ej                  eo      j                  g      ejf                  ji                  dd d d g      d                             Zqd Zry)    )datedatetime)DecimalN)np_version_gte1p24)IndexingError)is_list_like)NACategorical	DataFrameDatetimeIndexIndexIntervalIntervalIndex
MultiIndexNaTPeriodSeries	Timedelta	Timestamparrayconcat
date_rangeinterval_rangeperiod_rangetimedelta_range)BDayc                   x    e Zd Zd Zd Zd Zd Zej                  j                  dg d      d        Z
d Zd	 Zy
)TestSetitemDT64Valuesc                     t        t        dd            }d |d<   |d   t        u sJ d |dd |d   t        u sJ t        j                  |d<   |d   t        u sJ t        j                  |dd |d   t        u sJ y )	Nz1/1/2000
   periods               )r   r   r   npnanselfseriess     f/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/pandas/tests/series/indexing/test_setitem.pytest_setitem_none_nanz+TestSetitemDT64Values.test_setitem_none_nan*   s    
:r:;q	ayCqayCFFq	ayCffqayC    c                     t        j                  ddg      }t        ddg|      }|j                         }d|j                  g <   t        j                  ||       y )N)a   )b   r2   r4   indexr   )r   from_tuplesr   copyloctmassert_series_equal)r+   idxresultexpecteds       r-   #test_setitem_multiindex_empty_slicez9TestSetitemDT64Values.test_setitem_multiindex_empty_slice8   sO    $$h%9:Ac*;;=

2
vx0r/   c                     t        g dg dt              }t        j                         |d<   |j                  t        j                         k(  sJ |d   t        j                         k(  sJ y )Nr2   r4   r#   )Dater3   otherr6   dtyperB   )r   objectr   todayrB   r+   sers     r-   test_setitem_with_string_indexz4TestSetitemDT64Values.test_setitem_with_string_index@   sR     Y&<FKjjlFxx4::<'''6{djjl***r/   c                     t        ddd      }g d}t        ||      }|j                         }t        j                  |d<   t        j                  |j
                  d<   t        j                  ||       y )	N2017r%   
US/Easternr"   tz)r   r2   )r   r4   )r   r#   )r   r%   r5   rP   r   )r   r   r8   r(   r)   ilocr:   r;   )r+   arrr6   r=   r>   s        r-   )test_setitem_tuple_with_datetimetz_valuesz?TestSetitemDT64Values.test_setitem_tuple_with_datetimetz_valuesH   s[    |<05);;=v66a
vx0r/   rO   )rM   UTCz
Asia/Tokyoc                    t        t        ddd|            }|j                  d| dk(  sJ t        t        d|      t        d	|      t        d
|      g|j                        }|j	                         }t        d|       ||      d<   t        j                  ||       t        t        d|      t        d|      gddg|j                        }|j                  d| dk(  sJ t        t        d|      t        d	|      t        d|      g|j                        }|j	                         }| ||      ddg<   t        j                  ||       y )N
2016-01-01hr#   freqr"   rO   datetime64[ns, ]z2016-01-01 00:00rO   2011-01-01 00:00z2016-01-01 02:00rE   
2011-01-01r2   
2012-01-01r4   rD   2012-01-01 00:00r   r   rE   r   r8   r:   r;   )r+   rO   indexer_sliorigexprI   valss          r-   test_setitem_with_tzz*TestSetitemDT64Values.test_setitem_with_tzR   sT   jCrJKzzrd!4444,4,4,4
 **
 iik'<C
sC( |+Y|-KLa&**

 zzrd!4444,4,4,4
 **
 iik#'C!Q 
sC(r/   c                    d}t        t        ddd|            }|j                  d| dk(  sJ t        t        d|	      t        d
|	      t        d|	      g|j                        }|j	                         }t        d|	       ||      d<   t        j                  ||       t        t        d|	      t        d|	      gddg|j                        }|j                  d| dk(  sJ t        t        d|	      t        d|	      t        d|	      g|j                        }|j	                         }| ||      ddg<   t        j                  ||       y )NrM   z
2016-11-06rW   r#   rX   rZ   r[   z2016-11-06 00:00-04:00r\   z2011-01-01 00:00-05:00z2016-11-06 01:00-05:00r^   r_   r2   r`   r4   rD   z2016-11-06 00:00r]   ra   rb   )r+   rc   rO   rd   re   rI   rf   s          r-   test_setitem_with_tz_dstz.TestSetitemDT64Values.test_setitem_with_tz_dstz   sY   jCrJKzzrd!44442r:2r:2r:
 **
 iik'<C
sC( |+Y|-KLa&**

 zzrd!4444,4,4,4
 **
 iik#'C!Q 
sC(r/   c                 0   t        dt        j                  it              }dg}t        j                  dgd      }||j
                  |<   t        |d   gdgt              }t        d |j                  D              sJ t        j                  ||       y )	NXr^   Tr%   M8[ns]r   rD   c              3   P   K   | ]  }t        |t        j                           y wN)
isinstancer(   
datetime64.0xs     r-   	<genexpr>zYTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match.<locals>.<genexpr>   s     IA:a/Is   $&)
r   r(   r)   rF   r   rQ   allvaluesr:   r;   )r+   rI   indexervaluer>   s        r-   0test_object_series_setitem_dt64array_exact_matchzFTestSetitemDT64Values.test_object_series_setitem_dt64array_exact_match   s     c266]&1& !H-!58*SE@IIIII
sH-r/   N)__name__
__module____qualname__r.   r?   rJ   rS   pytestmarkparametrizerg   ri   ry    r/   r-   r   r   )   sI     1+1 [[T#FG%) H%)N')R.r/   r   c                   $   e Zd Zd Zej
                  j                  dej                  ej                  g      ej
                  j                  dddg      d               Z
ej
                  j                  dddej                  fg      d	        Zy
)TestSetitemScalarIndexerc                     t        dgdz  dgdz        }d}d}t        j                  t        |      5  t	        j
                  t        |      5  d|d<   d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)	Nr1   r    r5   z5index -11|-1 is out of bounds for axis 0 with size 10;Series.__setitem__ treating keys as positions is deprecatedmatchfooi)r   r}   raises
IndexErrorr:   assert_produces_warningFutureWarning)r+   rI   msgwarn_msgs       r-   #test_setitem_negative_out_of_boundsz<TestSetitemScalarIndexer.test_setitem_negative_out_of_bounds   s}    cURZurz2 FP]]:S1 	!++MJ ! C!	! 	!! !	! 	!s#   A4A(A4(A1	-A44A=rw   	ser_indexr   r2   c                     t        ddgd      } ||      }t        dg|g      |d<   t        t        dg|g      dgd      }t        j                  ||       y )Nr   rF   r^   *   r5   r   r:   r;   )r+   rw   r   rI   idxrr>   s         r-    test_setitem_series_object_dtypez9TestSetitemScalarIndexer.test_setitem_series_object_dtype   s]     aV8,s|"i[1Q62$yk:A>hO
sH-r/   zindex, exp_value)r   r   c                     t        ddg      }t        dg|g      |j                  d<   t        |dg      }t        j                  ||       y )Nr   r   r5   )r   r9   r:   r;   )r+   r6   	exp_valuerI   r>   s        r-   test_setitem_seriesz,TestSetitemScalarIndexer.test_setitem_series   sG     aVnRD0
9a.)
sH-r/   N)rz   r{   r|   r   r}   r~   r   r:   r9   atr   r(   r)   r   r   r/   r-   r   r      s    ! [[Y8[[[1a&1. 2 9. [[/'Arvv;1GH. I.r/   r   c                   *    e Zd Zd Zd Zd Zd Zd Zy)TestSetitemSlicesc                    d}t        j                  t        |j                  d            5  d|dd d d d        t        j                  t        |j                  d            5  d|d	d d d d        y # 1 sw Y   CxY w# 1 sw Y   y xY w)
NzUcannot do slice indexing on DatetimeIndex with these indexers \[{key}\] of type floatz4\.0)keyr   r   g      @g      $@z4\.5g      @)r}   r   	TypeErrorformat)r+   datetime_seriesr   s      r-   test_setitem_slice_float_raisesz1TestSetitemSlices.test_setitem_slice_float_raises   s    ' 	 ]]9CJJ7J,CD 	*()OC%	* ]]9CJJ7J,CD 	*()OC%	* 	*	* 	*	* 	*s   A6'B6A?Bc                     t        t        d      t        t        d                  }d|dd  |dk(  j                         sJ d|d d |dk(  j                         sJ y )Nr    r5   r   ir$   )r   rangelistru   rH   s     r-   test_setitem_slicez$TestSetitemSlices.test_setitem_slice   sX    U2Yd59o6CD	q~~DS	q~~r/   c                     t        t        j                  j                  d      j	                  d      g d      }d|d d |d d dk(  j                         sJ |dd  dk(  j                         rJ y )Nr4      )r4   r%   r'   r   r             r5   r   r%   )r   r(   randomdefault_rngstandard_normalru   anyrH   s     r-   test_setitem_slice_integersz-TestSetitemSlices.test_setitem_slice_integers   st    II!!!$44Q7.

 BQBQ1!!###GqL%%''''r/   c                     t        t        j                  dt        j                        t        j                  dt        j                              }d|d d d<   |d d d   dk(  j                         sJ y )N   r^   r5   r   r4   )r   r(   arangefloat64int64ru   r*   s     r-   test_setitem_slicestepz(TestSetitemSlices.test_setitem_slicestep   s]    IIb

+299Rrxx3P
 ssssq %%'''r/   c                 
   t        j                  ddgt        d      f      }t        t	        j
                  dt        j                        |      }d ||      d d d<   t        g d|      }t        j                  ||       y )	Nr   r2   abcder    r^   d   r%   )
r   r2   r4   r#   r   r$   r'   r&   r   	   )	r   from_productr   r   r(   r   r   r:   r;   )r+   rc   mir=   r>   s        r-   test_setitem_multiindex_slicez/TestSetitemSlices.test_setitem_multiindex_slice   sj    $$q!fd7m%<=		"BHH5r:#&FCaC >C
vx0r/   N)rz   r{   r|   r   r   r   r   r   r   r/   r-   r   r      s    	* ((1r/   r   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                  j                  deej                  eg      d	        Zd
 Zd Zd Zd Zd Zy)TestSetitemBooleanMaskc                     t        ddgddgd      }t        dgdgd      |ddg<   t        ddgddgd      }t        j                  ||       y )Nr2   r4   r   rD   r   TFr   r+   rI   r>   s      r-   test_setitem_mask_castz-TestSetitemBooleanMask.test_setitem_mask_cast  s[     aVAq69#QCs'BT5M1a&Ag>
sH-r/   c                    t        t        j                  j                  d      j	                  d      t        j
                  ddd            j                  d      }|dkD  }|j                         }||   j                         j                  t              }t        j                  t        d      5  |||<   d d d        |j                  d	       }t        j                  ||       y # 1 sw Y   2xY w)
Nr4   r   r   r5   r$   item of incompatible dtyper   c                 &    | dkD  rt        |       S | S Nr   )str)ts    r-   <lambda>zLTestSetitemBooleanMask.test_setitem_mask_align_and_promote.<locals>.<lambda>  s    a!eCF  r/   )r   r(   r   r   r   r   roundr8   mapr   r:   r   r   r;   )r+   tsmaskleftrightr>   s         r-   #test_setitem_mask_align_and_promotez:TestSetitemBooleanMask.test_setitem_mask_align_and_promote  s    II!!!$44S93PQSUAV

%( 	 Avwwy4##C(''!=
 	 DJ	 66:;
tX.	 	s   4C++C4c                    t        g d      }|dkD  }||   j                  t              }t        j                  t
        d      5  |||<   d d d        t        g d      }t        j                  ||       y # 1 sw Y   -xY w)N)r   r2   r4   r   r   r   r   )r   12r   )r   r   r   r:   r   r   r;   r+   rI   r   ser2r>   s        r-   test_setitem_mask_promote_strsz5TestSetitemBooleanMask.test_setitem_mask_promote_strs  sx    \"Qw4y}}S!''!=
 	 CI	
 *+
sH-	 	s   A88Bc                     t        g d      }t        g d      }||   }|||<   t        g d      }t        j                  ||       y )N)r   r   barr   )FTTFr   r   s        r-   test_setitem_mask_promotez0TestSetitemBooleanMask.test_setitem_mask_promote)  sE    )*014yD	./
sH-r/   c                 J   ||j                         kD  }|j                         }|dz  ||<   |dz  }t        j                  ||   ||          |j                         }|dz  dd ||<   |dz  dd j	                  |      }||   || <   t        j                  ||   ||          y )Nr4   r   r$   )medianr8   r:   r;   reindex_like)r+   string_seriesr   r=   r>   s        r-   test_setitem_booleanz+TestSetitemBooleanMask.test_setitem_boolean2  s    }3355 ##%$q(t 1$
vd|Xd^< ##%%)1Q/t!A%q+88G'-$
vd|Xd^<r/   c                 L   |}|j                  dt                     |j                         kD  }d}t        j                  t
        |      5  d||<   d d d        t        j                  t
        |      5  d|j                  |<   d d d        y # 1 sw Y   =xY w# 1 sw Y   y xY w)Nr2   rY   zsUnalignable boolean Series provided as indexer \(index of the boolean Series and of the indexed object do not matchr   )shiftr   r   r}   r   r   r9   )r+   r   r   mask_shiftedr   s        r-   test_setitem_boolean_cornerz2TestSetitemBooleanMask.test_setitem_boolean_cornerB  s    xxx/"))+=I 	 ]]=4 	! B|	! ]]=4 	%#$BFF< 	% 	%	! 	!	% 	%s   B5BBB#c                     |j                         }|j                         }d||dkD  <   |j                         }d||dkD  <   t        j                  ||       y r   )sort_valuesr8   r:   r;   )r+   r   orderedr8   r>   s        r-   $test_setitem_boolean_different_orderz;TestSetitemBooleanMask.test_setitem_boolean_different_orderP  sX    ++-!!#Wq[ %%'!"A
tX.r/   funcc                     t        g d      } |g d      }ddg||<   t        g d      }t        j                  ||       y )N)Nr3   NTFTr1   cr1   r3   r   r   )r+   r   rI   r   r>   s        r-    test_setitem_boolean_python_listz7TestSetitemBooleanMask.test_setitem_boolean_python_list[  sA     &''(#JD	/*
sH-r/   c                    t        g d|      }t        t        d      |      ||dkD  <   t        g d|      }t        j                  ||       t        g d|      }t        t        d      |      |j                  |dkD  <   t        j                  ||       t        g d|      }t        t        d      |      }|j                  |dkD     |j                  |dkD  <   t        j                  ||       y )N)r$   r'   r&   r   r^   r%   r'   )r$   r'   r4   r#   r2   )r   r   r:   r;   r9   )r+   any_numeric_ea_dtyperI   r>   loc_sers        r-   'test_setitem_boolean_nullable_int_typesz>TestSetitemBooleanMask.test_setitem_boolean_nullable_int_typesd  s    \)=>eAh.BCC!G,.BC
sH-\)=>!%(2FGa
sH-\)=>q)=>";;w{3a
sH-r/   c                     t        d gdz        }dgdz  dgdz  z   dgdz  z   }t        d      ||<   |}t        d gdz  t        t        d            z   d gdz  z   t              }t	        j
                  ||       y )Nr    Fr#   Tr$   r4   r^   )r   r   r   rF   r:   r;   )r+   rI   r   r=   r>   s        r-   Atest_setitem_with_bool_mask_and_values_matching_n_trues_in_lengthzXTestSetitemBooleanMask.test_setitem_with_bool_mask_and_values_matching_n_trues_in_lengtht  s    dVb[!w{dVaZ'5'A+5!HD	4&1*tE!H~5
B&Q
vx0r/   c                    t        g d      }t        j                  t        d      5  t        j
                  |d<   d d d        t        t        j
                  ddgt              }t        j                  ||       y # 1 sw Y   BxY w)Nr   r   r   r   FTr^   )r   r:   r   r   r(   r)   rF   r;   )r+   r=   r>   s      r-   test_setitem_nan_with_boolz1TestSetitemBooleanMask.test_setitem_nan_with_bool}  sn    +,''!=
 	 F1I	 2665$/v>
vx0	 	s   A>>Bc                    t        g dd      }t        j                  g dt        j                        }t        j                  g d      }|j	                         }t        j                  t        d      5  t        |      ||<   d d d        t        g d      }t        j                  ||       |j	                         }t        j                  t        d      5  |j                  ||d	
       d d d        t        j                  ||       |j	                         }|j                  | t        |            }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   nxY w)NrA   int8r^   )      r   r   r   )r   r4   r   Tinplace)r   r(   r   r   r8   r:   r   r   r;   r   where	r+   rd   altr   rI   r>   r   ser3ress	            r-   !test_setitem_mask_smallint_upcastz8TestSetitemBooleanMask.test_setitem_mask_smallint_upcast  s   iv.hh(9xx+,iik''!=
 	$ sCI	$ .)
sH-yy{''!=
 	/ IIdCI.	/ 	tX.yy{jj$s,
sH-!	$ 	$	/ 	/s   9EE E E)c                    t        g dd      }t        g dt        j                        }t        j                  g d      }|j	                         }|||<   t        g dd      }t        j                  ||       |j	                         }|j                  ||d       t        j                  ||       |j	                         }|j                  | |      }t        j                  ||d	
       y )NrA   uint8r^   )   r      r   )r  r4   r  Tr   F)check_dtype)	r   r(   r   r   r8   r:   r;   r   r   r   s	            r-   $test_setitem_mask_smallint_no_upcastz;TestSetitemBooleanMask.test_setitem_mask_smallint_no_upcast  s     iw/%RXX6xx+,iikD	-w7
sH-yy{		$T	*
tX. yy{jj$$
sH%@r/   N)rz   r{   r|   r   r   r   r   r   r   r   r}   r~   r   r   r(   r   r   r   r   r   r   r  r  r   r/   r-   r   r     so    ./
..= %	/ [[VdBHHf%=>. ?.. 11.2Ar/   r   c                       e Zd Zd Zd Zy)TestSetitemViewCopySemanticsc                    t        ddd      }|d   }t        |      }|j                  |usJ |rB|j                  j                  j                  |j
                  j                  j                  u sDJ |j                  j                  j                  |j
                  j                  j                  usJ |j                  dk(  sJ t        |j                  d<   |j                  j                  J |j                  |usJ |j                  j                  j                  |j
                  j                  j                  usJ |d   |k(  sJ |j                  dk(  sJ y )N20130101r#   rM   rN   r2   D)	r   r   _values_ndarraybase_datarY   r   rQ   r+   using_copy_on_writedtir   rI   s        r-   ,test_setitem_invalidates_datetime_index_freqzITestSetitemViewCopySemantics.test_setitem_invalidates_datetime_index_freq  s*    Q<@VSk{{#%%%;;'',,		0B0B0G0GGGG;;'',,CII4F4F4K4KKKKxx3{{''' {{#%%%{{##((		0B0B0G0GGGG1v||xx3r/   c                 (   t        ddd      }|d   }t        |      }|j                  |usJ |r|j                  j                  j                  |j
                  j                  j                  u sJ |j                  j                  d   j                  j                  |j
                  j                  j                  u sJ |j                  j                  j                  |j
                  j                  j                  usJ |j                  j                  d   j                  j                  |j
                  j                  j                  usJ |j                  j                  d   |usJ t        |d d d<   |d   t        u sJ |d   |k(  sJ y )NrV   r    
US/PacificrN   r   r#   )	r   r   r  r  r  r  _mgrarraysr   r  s        r-   'test_dt64tz_setitem_does_not_mutate_dtizDTestSetitemViewCopySemantics.test_dt64tz_setitem_does_not_mutate_dti  sI   rlCVSk{{#%%%;;'',,		0B0B0G0GGGG88??1%..33syy7I7I7N7NNNN;;'',,CII4F4F4K4KKKK88??1%..33399;M;M;R;RRRRxxq!,,,CaC1v}}1v||r/   N)rz   r{   r|   r  r  r   r/   r-   r	  r	    s    ,r/   r	  c                       e Zd Zd Zd Zy)TestSetitemCallablec                     t        g dt        d            }d|d <   t        g dt        d            }t        j                  ||       y )Nr2   r4   r#   r%   ABCDr5   r   c                      y)NAr   rs   s    r-   r   z?TestSetitemCallable.test_setitem_callable_key.<locals>.<lambda>  s    r/   )r   r4   r#   r%   )r   r   r:   r;   r   s      r-   test_setitem_callable_keyz-TestSetitemCallable.test_setitem_callable_key  s<    \f6M-tF|<
sH-r/   c                     d }t        g dt              }|||dk  <   t        dd|dg      }t        j                  ||       y )Nc                     | dz   S Nr2   r   r!  s    r-   r   zATestSetitemCallable.test_setitem_callable_other.<locals>.<lambda>  s
    A r/   )r2   r4   r   r%   r^   r   r2   r4   r%   )r   rF   r:   r;   )r+   incrI   r>   s       r-   test_setitem_callable_otherz/TestSetitemCallable.test_setitem_callable_other  sD     ]&1C!G1aa.)
sH-r/   N)rz   r{   r|   r"  r'  r   r/   r-   r  r    s    .	.r/   r  c                      e Zd Zd Zd Zd Zej                  j                  d e	d       e	d      j                          e	d      j                         g      d        Zd Zd Zd	 Zej                  j                  d
eeddddfeeddddfeej$                  ddddfeej$                  ddddfeedddefeeddddfej$                  eddddfej$                  eddddfej$                  eddddfej$                  eddddfej$                  ej$                  ddddfej$                  ej$                  ddddfg      d        Zd Zy)TestSetitemWithExpansionc                     t        d      }t        t              }d||<   t        d|g      }t        j                  ||       y )Nr`   r^   /   )r   r   rF   r:   r;   )r+   r   r,   r>   s       r-   test_setitem_empty_seriesz2TestSetitemWithExpansion.test_setitem_empty_series  s=    %f%s"se$
vx0r/   c                 <   t        g dd      }t        g |t              }t        d      }d||<   t        dt        |gd      j	                  d            }t        j                  ||       |j                  j                  |j                  j                  k(  sJ y )	Nr  rl   )rY   rE   rD   r`   r+  r   ns)	r   r   rF   r   as_unitr:   r;   r6   rY   )r+   r  r,   r   r>   s        r-   6test_setitem_empty_series_datetimeindex_preserves_freqzOTestSetitemWithExpansion.test_setitem_empty_series_datetimeindex_preserves_freq   s    BS9#V4%s"mSE<DDTJK
vx0||  HNN$7$7777r/   c                     t        d      }t        |gdgt              }|d   }t        g t              }d|d<   ||d<   |d   }||k(  sJ y )Nl    Pi5 	timestamprD   r^   g     r@anything)r   r   rF   )r+   r2  r,   r>   r=   s        r-   3test_setitem_empty_series_timestamp_preserves_dtypezLTestSetitemWithExpansion.test_setitem_empty_series_timestamp_preserves_dtype
  sa    12	K=G+&&)"z'{$!!!r/   td9 daysc                    |r?t        |t              s/|j                  t        j                  j                  d             t        d|gddgt              }t        dg      }||d<   t        j                  ||       t        |d   t              sJ t        dg      }t        d      |j                  d<   t        j                  ||       t        |d   t              sJ y )Nzinferred as stringreasonrs   r   r5  rD   r6  )ro   r   applymarkerr}   r~   xfailr   rF   r:   r;   r9   )r+   r5  using_infer_stringrequestr>   rI   s         r-   #test_append_timedelta_does_not_castz<TestSetitemWithExpansion.test_append_timedelta_does_not_cast  s     jY&? 1 19M 1 NO3)At9FCcUmD	
sH-#d)Y///cUm!(+
sH-#d)Y///r/   c                     t        t              }t        d      |d<   d|d<   d|d<   t        t        d      ddgg d	      }t        j                  ||       y )
Nr^   rV   r1         @r3   r   r   r   r5   )r   rF   r   r:   r;   r   s      r-   *test_setitem_with_expansion_type_promotionzCTestSetitemWithExpansion.test_setitem_with_expansion_type_promotion0  sT    6"\*CCC9\2C?W
sH-r/   c                     |j                         }d|j                  vsJ d|d<   t        dgdgd      }t        ||g      }t	        j
                  ||       y )Nfoobarr2   r,   )r6   name)r8   r6   r   r   r:   r;   )r+   r   rI   appr>   s        r-   test_setitem_not_containedz3TestSetitemWithExpansion.test_setitem_not_contained9  s\      "syy(((HaS
:=#./
sH-r/   c                 v    t        ddg|      }d|d<   t        g d|      }t        j                  ||       y )Nr2   r4   r^   r    )r2   r4   r    r   )r+   r   rI   r>   s       r-   test_setitem_keep_precisionz4TestSetitemWithExpansion.test_setitem_keep_precisionC  s9    aV#78A*,@A
sH-r/   z1na, target_na, dtype, target_dtype, indexer, warnInt64r2   Nr4   r   r   rF   Float64c                     t        ddg|      }t        j                  |d      5  |||<   d d d        |dk(  rd|gndd|g}t        ||      }	t        j                  ||	       y # 1 sw Y   ;xY w)Nr2   r4   r^   incompatible dtyper   )r   r:   r   r;   )
r+   na	target_narE   target_dtyperw   warnrI   expected_valuesr>   s
             r-   test_setitem_enlarge_with_naz5TestSetitemWithExpansion.test_setitem_enlarge_with_naJ  sw    * aV5)''4HI 	CL	,3qL1i.q!Y>O/>
sH-		 	s   A''A0c                     t        ddg      }||d<   |rt        |t              sdnt        }t        dd|gg d|      }t	        j
                  ||       |r|d   t        j                  u  y |d   |u sJ y )Nr1   r3   r#   zstring[pyarrow_numpy])r   r2   r#   rD   )r   ro   r   rF   r:   r;   r(   r)   )r+   nulls_fixturer<  rI   rE   r>   s         r-   $test_setitem_enlargement_object_nonez=TestSetitemWithExpansion.test_setitem_enlargement_object_nonef  s    c3Z A "*]G*L $ 	
 3]39ER
sH-Fbffq6]***r/   )rz   r{   r|   r,  r0  r4  r}   r~   r   r   to_timedelta64to_pytimedeltar>  rA  rF  rH  r	   r(   r)   r   r   rR  rU  r   r/   r-   r)  r)    s   18
" [[hh..0h..0	
00$... [[;Wgq$/Wgq$/)Q5)Q5#w!];#w!T2VVR'1d3VVR'1d3VVRIq$7VVRIq$7VVRVVWiD9VVRVVWiD9	
"	.#"	.+r/   r)  c                     t        j                  d      } d| j                  _        t	        | d      }|j
                  D ]7  }d}t        j                  t        |      5  d||<   d d d        | |   dk(  r7J  y # 1 sw Y   xY w)Nr$   Fr8   #assignment destination is read-onlyr   r2   r   )	r(   zerosflags	writeabler   r6   r}   r   
ValueError)r   r,   nr   s       r-   .test_setitem_scalar_into_readonly_backing_datar`  w  s     HHQKE!EKKE&F\\ 3]]:S1 	F1I	 Qx1}}	 	s    A;;B	c                      t        j                  d      } d| j                  _        t	        | d      }d}t        j                  t        |      5  d|dd d d d         | j                         rJ y # 1 sw Y   xY w)Nr$   FrY  rZ  r   r2   r#   )	r(   r[  r\  r]  r   r}   r   r^  r   )r   r,   r   s      r-   -test_setitem_slice_into_readonly_backing_datarb    sp     HHQKE!EKKE&F
/C	z	- q uyy{?{ s   A33A<c                  "   t        t        ddgddg            } | j                         }d|d d  t        t        ddgddg            }t        j                  ||       | j                         }d|d<   t        t        ddgddg            }t        j                  ||       | j                         }d||j
                  dkD  <   t        t        ddgddg            }t        j                  ||       | j                         }d|ddg<   t        t        ddgddg            }t        j                  ||       | j                         }dd	g|_        d|d	<   t        t        ddgddg      dd	g
      }t        j                  ||       y )Nr3   r1   
categoriesr2   r   FTrs   yr5   )r   r
   r8   r:   r;   r6   )rd   rI   re   s      r-   &test_setitem_categorical_assigning_opsrg    sk   +sCjc3Z@AD
))+CCF
c3ZS#J?
@C3$
))+CCF
c3ZS#J?
@C3$
))+CC		A
c3ZS#J?
@C3$
))+CC
c3ZS#J?
@C3$
))+Cc
CICH
c3ZS#J?Sz
RC3$r/   c                      t        t        g d            } t        t        dt        j                  dgg d            }t        j                  | d<   t	        j
                  | |       y )NrA   r2   r#   rd  )r   r
   r(   r)   r:   r;   )rI   re   s     r-   !test_setitem_nan_into_categoricalri    sI    
Y'
(C
a^	B
CCVVCF3$r/   c                       e Zd Zej                  j                  dddg      ej                  j                  dg de      d               Zd Zy	)
TestSetitemCastinguniqueTFval)r#   r@  3)idsc                    t        ddg      }|s	ddg|_        t        j                  t        d      5  | ||      d<   d d d        t        |j                  d         t        |      k(  sJ t        d|gt        |j                        }|s(|t        j                  urt        ||gt        ddg      }t        j                  ||       y # 1 sw Y   xY w)NTFr2   rL  r   )rE   r6   )	r   r6   r:   r   r   typerQ   rF   r;   )r+   rm  rc   rl  rI   r>   s         r-   test_setitem_non_bool_into_boolz2TestSetitemCasting.test_setitem_non_bool_into_bool  s     dE]#ACI''=QR 	&"%KQ	&CHHQK DI---4+V399E+RWW4sCjq!fEH
sH-	& 	&s   CCc                 2   t        g d      }|j                  }t        g d      }|d d |d d |j                  |u sJ t        j                  t
        d      5  |dd  |dd  d d d        t        |      }t        j                  ||       y # 1 sw Y   +xY w)Nr   )TFNr4   rL  r   r2   )r   r  r   r:   r   r   r;   )r+   rI   rv   rR   r>   s        r-   &test_setitem_boolean_array_into_npboolz9TestSetitemCasting.test_setitem_boolean_array_into_npbool  s    ()'(bq'BQ{{f$$$''=QR 	!"gCG	#;
sH-	 	s   	BBN)	rz   r{   r|   r}   r~   r   rq  rr  rt  r   r/   r-   rk  rk    sL    [[Xe}5[[UMt<. = 6..r/   rk  c                   d    e Zd ZdZej
                  d        Zd Zd Zd Z	d Z
d Zd Zd	 Zd
 Zy)SetitemCastingEquivalentsz
    Check each of several methods that _should_ be equivalent to `obj[key] = val`

    We assume that
        - obj.index is the default Index(range(len(obj)))
        - the setitem does not expand the obj
    c                 4    |j                   |j                   k(  S )zF
        Whether we expect the setting to be in-place or not.
        r^   )r+   objr>   s      r-   
is_inplacez$SetitemCastingEquivalents.is_inplace  s    
 ~~**r/   c                     |}|j                         }|j                  }| ||      |<   t        j                  ||       | j	                  ||||       y rn   )r8   r  r:   r;   _check_inplace)	r+   rx  r   r>   rm  rw   ry  rd   rR   s	            r-   check_indexerz'SetitemCastingEquivalents.check_indexer  sM    hhjkkS
sH-Jc37r/   c                     |y |rN|j                   j                  dv r$|j                  |j                  j                  u sJ |j                  |u sJ y y t	        j
                  ||j                         y )N)mM)rE   kindr  r  r:   assert_equal)r+   ry  rd   rR   rx  s        r-   r{  z(SetitemCastingEquivalents._check_inplace  sg    yy~~+ ||s{{';';;;;{{c))) <
 OOC.r/   c           	         t        |t              st        j                  d       t	        j
                  |d      5  | j                  ||||||       d d d        |t        j                  u rEt	        j
                  |d      5  | j                  ||||t        j                  |       d d d        nV|t        j                  u rDt	        j
                  |d      5  | j                  ||||t        j                  |       d d d        t        ||dz         }t	        j
                  |d      5  | j                  ||||||       d d d        |t        j                  urEt        ||dz         }	t	        j
                  |d      5  | j                  ||	||||       d d d        |g}
t	        j
                  |d      5  | j                  ||
||||       d d d        t        j                  |
      }t	        j
                  |d      5  | j                  ||||||       d d d        d |fD        }t	        j
                  |d      5  | j                  ||||||       d d d        y # 1 sw Y   xY w# 1 sw Y   xxY w# 1 sw Y   xY w# 1 sw Y   MxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NzNot relevant for int keyrL  r   r2   c              3       K   | ]  }|  y wrn   r   rq   s     r-   rt   z9SetitemCastingEquivalents.test_int_key.<locals>.<genexpr>#  s     #!#   )ro   intr}   skipr:   r   r|  r9   r   rQ   iatr   slicer(   r   )r+   rx  r   r>   rP  rm  rc   ry  rngslcilkeyindkeygenkeys                r-   test_int_keyz&SetitemCastingEquivalents.test_int_key  s   #s#KK23''4HI 	QsC3ZP	Q "&& ++D8LM O""3XsBEE:NO OBGG#++D8LM P""3XsBFFJOP Cq!''4HI 	QsC3ZP	Q bff$S1W%C++D8LM U""3XsKTU ''4HI 	SsE8S+zR	S %''4HI 	TsFHc;
S	T $cU#''4HI 	TsFHc;
S	T 	T;	Q 	QO OP P	Q 	QU U	S 	S	T 	T	T 	Ts_   I*%I7%J/JJ?J+
J7
K*I47JJJJ(+J47K Kc           	         t        |t              st        j                  d       |t        j
                  ur6t	        j                  |d      5  | j                  ||||||       d d d        t        t        t        |                  |   }t	        j                  |d      5  | j                  ||||||       d d d        t        j                  |      }	t	        j                  |d      5  | j                  ||	||||       d d d        d |	D        }
t	        j                  |d      5  | j                  ||
||||       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   axY w# 1 sw Y   y xY w)NzNot relevant for slice keyrL  r   c              3       K   | ]  }|  y wrn   r   rq   s     r-   rt   z;SetitemCastingEquivalents.test_slice_key.<locals>.<genexpr>8  s     $!$r  )ro   r  r}   r  r:   r9   r   r|  r   r   lenr(   r   )r+   rx  r   r>   rP  rm  rc   ry  r  r  r  s              r-   test_slice_keyz(SetitemCastingEquivalents.test_slice_key'  sg   #u%KK45bff$++D8LM U""3XsKTU U3s8_%c*''4HI 	SsE8S+zR	S %''4HI 	TsFHc;
S	T %V$''4HI 	TsFHc;
S	T 	TU U	S 	S	T 	T	T 	Ts0   E%E0E'/E3EE$'E03E<c                    t        j                  |j                  t              }d||<   |j	                         }t        |      rNt        |      |j                         k  r2d}t        j                  t        |      5  | ||      |<   d d d        y t        j                  |d      5  | ||      |<   d d d        t        j                  ||       y # 1 sw Y   y xY w# 1 sw Y   ,xY w)Nr^   Tz9boolean index did not match indexed array along dimensionr   rL  )r(   r[  shapeboolr8   r   r  sumr}   r   r   r:   r   r;   )	r+   rx  r   r>   rP  rm  rc   r   r   s	            r-   test_mask_keyz'SetitemCastingEquivalents.test_mask_key<  s    xx		.S	hhjSDHHJ!6MCz5 -),C &-''4HI 	)%(KT"	)
sH--	) 	)s   ?C+C"C"C+c                    t        j                  |j                  t              }d||<   t	        |      rQt        |      t        |      k  r:d}t        j                  t        |      5  |j                  | |       d d d        y |}	|j                         }|j                  }
|j                  | |      }|t        u r)|j                  t        k(  r|j                  t              }nM|K|j                  t        k(  r8|j                  t        k(  sJ |j                         }d ||j!                         <   t#        j$                  ||       | j'                  ||	|
|       y # 1 sw Y   y xY w)Nr^   Tz4operands could not be broadcast together with shapesr   )r(   r[  r  r  r   r  r}   r   r^  r   r8   r  r	   rE   rF   fillnaisnar:   r;   r{  )r+   rx  r   r>   rP  rm  ry  r   r   rd   rR   r   s               r-   test_series_wherez+SetitemCastingEquivalents.test_series_whereM  s   xx		.S	SCH!4HCz5 &		4%%&hhjkkiis#"9f,r*H[SYY&0>>V+++}}H(,HX]]_%
sH-Jc37%&s   *E!!E*c                    t        j                  |j                  t              }d||<   |rT|j                  t
        k(  rAt        j                  t        d      5  t        |      j                  | |       d d d        y t        |      j                  | |      }t        ||j                        }	t        j                  ||	       y # 1 sw Y   y xY wNr^   TzScalar mustr   )r(   r[  r  r  rE   rF   r}   r   r   r   r   r:   assert_index_equal)
r+   rx  r   r>   rP  rm  r<  r   r   expected_idxs
             r-   test_index_wherez*SetitemCastingEquivalents.test_index_whereh  s    xx		.S	#))v"5y> -c
  $,- - *""D5#.C @L!!#|4- -s   CCc                    t        j                  |j                  t              }d||<   |rS|j                  t
        k(  r@t        j                  t        d      5  t        |      j                  ||       d d d        y t        |      j                  ||      }t        j                  |t        ||j                               y # 1 sw Y   y xY wr  )r(   r[  r  r  rE   rF   r}   r   r   r   putmaskr:   r  )	r+   rx  r   r>   rP  rm  r<  r   r   s	            r-   test_index_putmaskz,SetitemCastingEquivalents.test_index_putmaskt  s    xx		.S	#))v"5y> .c
""4-. . *$$T3/C!!#uXX^^'LM	. .s   CCN)rz   r{   r|   __doc__r}   fixturery  r|  r{  r  r  r  r  r  r  r   r/   r-   rv  rv    sK     ^^+ +8/"THT*."86
5	Nr/   rv  zobj,expected,key,warnr2   r$   r4   r#   r%   zinterval[float64]r^   interval_int_na_value)id)	r4   r#   r%   r$   r'   r&   r   r   r    r&   r   int_series_slice_key_step)TTFFTFbool_series_slice_key_stepr    r'   r   int_series_slice_keyrA   int_series_int_keybool_series_int_key_change_allbool_series_int_keyc                   z    e Zd Z ej                  ej                   ej                  d      deg      d        Z	y)TestSetitemCastingEquivalentsNaNNparamsc                     |j                   S )z
        NA values that should generally be valid_na for *all* dtypes.

        Include both python float NaN and np.float64; only np.float64 has a
        `dtype` attribute.
        paramr+   r=  s     r-   rm  z!TestSetitemCastingEquivalents.val  s     }}r/   )
rz   r{   r|   r}   r  r(   r)   r   r	   rm  r   r/   r-   r  r    s;    D V^^BFFJBJJu$5tR@A Br/   r  c                       e Zd Zej                  d        Z ej                  eeeg      d        Z	ej                  d        Z
ej                  d        Zej                  d        Zej                  d        Zy)	!TestSetitemTimedelta64IntoNumericc                 2    t        j                  dd      }|S )Nr%   r.  )r(   timedelta64)r+   r5  s     r-   rm  z%TestSetitemTimedelta64IntoNumeric.val  s    ^^At$	r/   r  c                     |j                   S rn   r  r  s     r-   rE   z'TestSetitemTimedelta64IntoNumeric.dtype      }}r/   c                 d    t        j                  d      j                  |      }t        |      }|S )Nr$   )r(   r   astyper   r+   rE   rR   rI   s       r-   rx  z%TestSetitemTimedelta64IntoNumeric.obj  s(    iil!!%(Sk
r/   c                     t        j                  d      j                  |      }t        |      }|j                  t              }t        j
                  dd      |j                  d<   |S )Nr$   r%   r.  r   )r(   r   r  r   rF   r  rQ   r  s       r-   r>   z*TestSetitemTimedelta64IntoNumeric.expected  sN    iil!!%(Skjj nnQ-
r/   c                      yr   r   r+   s    r-   r   z%TestSetitemTimedelta64IntoNumeric.key      r/   c                     t         S rn   r   r  s    r-   rP  z&TestSetitemTimedelta64IntoNumeric.warn      r/   N)rz   r{   r|   r}   r  rm  complexr  floatrE   rx  r>   r   rP  r   r/   r-   r  r    s     ^^ 
 V^^GS%01 2 ^^ 
 ^^  ^^  ^^ r/   r  c                   B   e Zd Z ej                  ddg      d        Zej                  d        Zej                  d        Zej                  d        Zej                  d        Z	 ej                  d	e
ej                  g      d
        Zej                  d        Zy	)TestSetitemDT64IntoIntrl   m8[ns]r  c                     |j                   S rn   r  r  s     r-   rE   zTestSetitemDT64IntoInt.dtype  r  r/   c                 F    t        j                  dd      }|dk(  r||z
  }|S )Nz2021-01-18 13:25:00r.  r  )r(   rp   )r+   rE   rm  s      r-   scalarzTestSetitemDT64IntoInt.scalar  s)    mm148H)C
r/   c                 b    t        ||dgt              }t        |d   t        |            sJ |S )Nr#   r^   r   )r   rF   ro   rq  )r+   r  r>   s      r-   r>   zTestSetitemDT64IntoInt.expected   s2    661-V<(1+tF|444r/   c                     t        g d      S )NrA   r   r  s    r-   rx  zTestSetitemDT64IntoInt.obj  s    i  r/   c                     t        d d      S )Nr   r  r  s    r-   r   zTestSetitemDT64IntoInt.key
  s    T2r/   Nc                 6    |j                   }||S  |||g      S rn   r  )r+   r  r=  boxs       r-   rm  zTestSetitemDT64IntoInt.val  s%    mm;MFF#$$r/   c                     t         S rn   r  r  s    r-   rP  zTestSetitemDT64IntoInt.warn  r  r/   )rz   r{   r|   r}   r  rE   r  r>   rx  r   r   r(   r   rm  rP  r   r/   r-   r  r    s     V^^Hh/0 1 ^^  ^^ 
 ^^! ! ^^  V^^D$12% 3% ^^ r/   r  c                      e Zd Zej                  d        Zej                  d        Z ej                  d edd      g      d        Z ej                  de	j                  g      d        Zej                  d	        Zy)
TestSetitemNAPeriodDtypec                     t        t        ddd            }t        j                  |j                  j                  d      |<   ||   t        u st        d ||   D              sJ |S )N
2000-01-01r    r  r"   rY   i8c              3   ,   K   | ]  }|t         u   y wrn   )r   rq   s     r-   rt   z4TestSetitemNAPeriodDtype.expected.<locals>.<genexpr>!  s     %A1a3h%As   )r   r   r   _valuer  viewru   )r+   r   re   s      r-   r>   z!TestSetitemNAPeriodDtype.expected  sY    \,EF&)jjs#3x3#%AC%A"AAA
r/   c                 0    t        t        ddd            S )Nr  r    r  r  )r   r   r  s    r-   rx  zTestSetitemNAPeriodDtype.obj$  s    l<#FGGr/   r#   r$   r  c                     |j                   S rn   r  r  s     r-   r   zTestSetitemNAPeriodDtype.key(  r  r/   Nc                     |j                   S rn   r  r  s     r-   rm  zTestSetitemNAPeriodDtype.val,  r  r/   c                      y rn   r   r  s    r-   rP  zTestSetitemNAPeriodDtype.warn0      r/   )rz   r{   r|   r}   r  r>   rx  r  r   r(   r)   rm  rP  r   r/   r-   r  r    s     ^^  ^^H H V^^AuQ{+, - V^^D"&&>* + ^^ r/   r  c            
          e Zd Z ej                  g d      d        Zej                  d        Z ej                  dej                  e	 ej                  dd       ej                  dd      g      d        Zej                  d	        Zej                  d
        Zej                  d        Zej                  d        Zy)TestSetitemNADatetimeLikeDtype)r  rl   zdatetime64[ns, UTC]zdatetime64[ns, US/Central]r  c                     |j                   S rn   r  r  s     r-   rE   z$TestSetitemNADatetimeLikeDtype.dtype;  s     }}r/   c                     t        dd      j                  }t        ||      }|j                  |k(  sJ t	        |      S )NrV   r#   r!   r^   )r   asi8r   rE   r   )r+   rE   i8valsr<   s       r-   rx  z"TestSetitemNADatetimeLikeDtype.objA  s<    L!499F%(yyE!!!c{r/   Nr   r.  c                     |j                   S rn   r  r  s     r-   rm  z"TestSetitemNADatetimeLikeDtype.valH  s     }}r/   c                 |    |t         u xs3 |d u xs- |t        j                  u xs |j                  |j                  k(  S rn   )r   r(   r)   rE   )r+   rm  rx  s      r-   ry  z)TestSetitemNADatetimeLikeDtype.is_inplaceT  s6    
 czSSD[SC266MSSYY#))=SSr/   c                 h    |r|j                   nt        }t        |gt        |dd        z   |      }|S )Nr2   r^   )rE   rF   r   r   )r+   rx  rm  ry  rE   r>   s         r-   r>   z'TestSetitemNADatetimeLikeDtype.expected[  s1    '		V3%$s12w-/u=r/   c                      yr   r   r  s    r-   r   z"TestSetitemNADatetimeLikeDtype.keya  r  r/   c                     |rd S t         S rn   r  )r+   ry  s     r-   rP  z#TestSetitemNADatetimeLikeDtype.warne  s    !t4}4r/   )rz   r{   r|   r}   r  rE   rx  r(   r)   r   r  rp   rm  ry  r>   r   rP  r   r/   r-   r  r  5  s     V^^X ^^  V^^FFBNN5$'BMM%&
 ^^T T ^^ 
 ^^  ^^5 5r/   r  c                       e Zd Zej                  d        Zej                  d        Zej                  d        Zej                  d        Zej                  d        Z	y)$TestSetitemMismatchedTZCastsToObjectc                 0    t        t        ddd            S )N2000r4   
US/CentralrN   r   r   r  s    r-   rx  z(TestSetitemMismatchedTZCastsToObject.objl  s    j|DEEr/   c                     t        dd      S )Nr  rM   r\   )r   r  s    r-   rm  z(TestSetitemMismatchedTZCastsToObject.valp  s    L11r/   c                      yr   r   r  s    r-   r   z(TestSetitemMismatchedTZCastsToObject.keyt  r  r/   c                 l    t        |j                  d      t        dd      g|j                        }|S )Nr  z2000-01-02 00:00:00-06:00r\   r^   )r   
tz_convertr   rE   )r+   rx  rm  r>   s       r-   r>   z-TestSetitemMismatchedTZCastsToObject.expectedx  s:     |,5,G ))
 r/   c                      y rn   r   r  s    r-   rP  z)TestSetitemMismatchedTZCastsToObject.warn  r  r/   N
rz   r{   r|   r}   r  rx  rm  r   r>   rP  r   r/   r-   r  r  j  sz    ^^F F ^^2 2 ^^  ^^
 
 ^^ r/   r  zobj,expected,warn)      ?       @r@  r  r@  i  )r   r   baz)Nr   r  c                   T    e Zd Zej                  d        Zej                  d        Zy)TestSeriesNoneCoercionc                      yr   r   r  s    r-   r   zTestSeriesNoneCoercion.key  r  r/   c                      y rn   r   r  s    r-   rm  zTestSeriesNoneCoercion.val  r  r/   N)rz   r{   r|   r}   r  r   rm  r   r/   r-   r   r     s2    " ^^  ^^ r/   r   c                       e Zd Zd Zej
                  d        Zej
                  d        Zej
                  d        Zej
                  d        Z	ej
                  d        Z
y)-TestSetitemFloatIntervalWithIntIntervalValuesc                     t        j                  t        d            }t        |      }t	        dd      }t        j                  t        d      5  ||d<   d d d        |j                  dk(  sJ y # 1 sw Y   xY w)Nr%         ?      ?z%Setting an item of incompatible dtyper   r   zInterval[float64, right])	r   from_breaksr   r   r   r:   r   r   rE   )r+   r<   rx  rm  s       r-   test_setitem_examplezBTestSetitemFloatIntervalWithIntIntervalValues.test_setitem_example  st    ''a1SksC ''!H
 	 CF	 yy6666		 	s   A11A:c                 T    t        j                  t        d            }t        |      S )Nr%   )r   r  r   r   )r+   r<   s     r-   rx  z1TestSetitemFloatIntervalWithIntIntervalValues.obj  s     ''a1c{r/   c                     t        dd      S )Nr  r  )r   r  s    r-   rm  z1TestSetitemFloatIntervalWithIntIntervalValues.val  s    S!!r/   c                      yr   r   r  s    r-   r   z1TestSetitemFloatIntervalWithIntIntervalValues.key  r  r/   c                 V    |gt        |dd        z   }t        |d      }t        |      S )Nr2   zInterval[float64]r^   )r   r   r   )r+   rx  rm  datar<   s        r-   r>   z6TestSetitemFloatIntervalWithIntIntervalValues.expected  s/    utCG}$D(;<c{r/   c                     t         S rn   r  r  s    r-   rP  z2TestSetitemFloatIntervalWithIntIntervalValues.warn  r  r/   N)rz   r{   r|   r	  r}   r  rx  rm  r   r>   rP  r   r/   r-   r  r    s    
7 ^^  ^^" " ^^  ^^ 
 ^^ r/   r  c                       e Zd Zej                  d        Zej                  d        Zej                  d        Zej                  d        Zej                  d        Z	y)!TestSetitemRangeIntoIntegerSeriesc                 \    t        j                  |      }t        t        d      |      }|S Nr$   r^   )r(   rE   r   r   )r+   any_int_numpy_dtyperE   rI   s       r-   rx  z%TestSetitemRangeIntoIntegerSeries.obj  s&    ,-U1XU+
r/   c                     t        dd      S )Nr4   r%   )r   r  s    r-   rm  z%TestSetitemRangeIntoIntegerSeries.val      Q{r/   c                     t        dd      S Nr   r4   r  r  s    r-   r   z%TestSetitemRangeIntoIntegerSeries.key  r  r/   c                 N    t        j                  |      }t        g d|      }|S )N)r4   r#   r4   r#   r%   r^   )r(   rE   r   )r+   r  rE   re   s       r-   r>   z*TestSetitemRangeIntoIntegerSeries.expected  s"    ,-_E2
r/   c                      y rn   r   r  s    r-   rP  z&TestSetitemRangeIntoIntegerSeries.warn  r  r/   Nr  r   r/   r-   r  r    sz     ^^ 
 ^^  ^^  ^^ 
 ^^ r/   r  z	val, warn      @g      @A   c                   x    e Zd Zej                  d        Zej                  d        Zej                  d        Zy)(TestSetitemFloatNDarrayIntoIntegerSeriesc                 J    t        t        d      t        j                        S r  )r   r   r(   r   r  s    r-   rx  z,TestSetitemFloatNDarrayIntoIntegerSeries.obj  s    eAhbhh//r/   c                     t        dd      S r  r  r  s    r-   r   z,TestSetitemFloatNDarrayIntoIntegerSeries.key  r  r/   c                     |d   dk(  rt         j                  }nt         j                  }t        j                  t	        d      |      }||d d t        |      S )Nr   r4   r$   r^   )r(   r   r   r   r   r   )r+   rm  rE   
res_valuess       r-   r>   z1TestSetitemFloatNDarrayIntoIntegerSeries.expected  sI    q6Q;HHEJJEXXeAhe4

2Aj!!r/   N)rz   r{   r|   r}   r  rx  r   r>   r   r/   r-   r  r    sJ     ^^0 0 ^^  ^^" "r/   r  rm     c                       e Zd Zej                  d        Zej                  d        Zej                  d        Zej                  d        Zy)'TestSetitemIntoIntegerSeriesNeedsUpcastc                 <    t        g dt        j                        S )NrA   r^   r   r(   r   r  s    r-   rx  z+TestSetitemIntoIntegerSeriesNeedsUpcast.obj
  s    irww//r/   c                      yr%  r   r  s    r-   r   z+TestSetitemIntoIntegerSeriesNeedsUpcast.key  r  r/   c                 <    t        g dt        j                        S )N)r2   r#  r#   r^   )r   r(   int16r  s    r-   r>   z0TestSetitemIntoIntegerSeriesNeedsUpcast.expected  s    k22r/   c                     t         S rn   r  r  s    r-   rP  z,TestSetitemIntoIntegerSeriesNeedsUpcast.warn  r  r/   N	rz   r{   r|   r}   r  rx  r   r>   rP  r   r/   r-   r%  r%    s`    ^^0 0 ^^  ^^3 3 ^^ r/   r%  )g      Bg    Bl            c                       e Zd Zej                  d        Zej                  d        Zej                  d        Zej                  d        Zy)TestSmallIntegerSetitemUpcastc                      t        g dd      S )NrA   i4r^   r  r  s    r-   rx  z!TestSmallIntegerSetitemUpcast.obj  s    it,,r/   c                      yr   r   r  s    r-   r   z!TestSmallIntegerSetitemUpcast.key"  r  r/   c                 <    |dz  dk7  rd}nd}t        |ddg|      S )Nr2   r   f8r  r4   r#   r^   r  )r+   rm  rE   s      r-   r>   z&TestSmallIntegerSetitemUpcast.expected&  s*    7a<EEsAqk//r/   c                     t         S rn   r  r  s    r-   rP  z"TestSmallIntegerSetitemUpcast.warn.  r  r/   Nr,  r   r/   r-   r.  r.    sb     ^^- - ^^  ^^0 0 ^^ r/   r.  c                   T    e Zd Zej                  d        Zej                  d        Zy)CoercionTestc                      yr%  r   r  s    r-   r   zCoercionTest.key6  r  r/   c                 <    t        |      }|||<   t        ||      S )Nr^   )r   r   )r+   rx  r   rm  	exp_dtyperf   s         r-   r>   zCoercionTest.expected:  s!    CyS	d),,r/   N)rz   r{   r|   r}   r  r   r>   r   r/   r-   r6  r6  3  s2     ^^  ^^- -r/   r6  zval,exp_dtype,warnc                   0    e Zd Zej                  d        Zy)TestCoercionInt8c                 <    t        g dt        j                        S )Nr  r^   r'  r  s    r-   rx  zTestCoercionInt8.objG  s    l"''22r/   Nrz   r{   r|   r}   r  rx  r   r/   r-   r;  r;  A  s     ^^3 3r/   r;  )r2   皙?      ?      ?Tr9  c                   T    e Zd Zej                  d        Zej                  d        Zy)TestCoercionObjectc                 (    t        g dt              S )N)r1   r3   r   dr^   )r   rF   r  s    r-   rx  zTestCoercionObject.objP  s    *&99r/   c                      y rn   r   r  s    r-   rP  zTestCoercionObject.warnT  r  r/   Nrz   r{   r|   r}   r  rx  rP  r   r/   r-   rA  rA  L  s2     ^^: : ^^ r/   rA  r>  r?  c                   0    e Zd Zej                  d        Zy)TestCoercionComplexc                     t        g d      S )N)r?  y       @       @y      @      @y      @      @r  r  s    r-   rx  zTestCoercionComplex.objd  s    677r/   Nr=  r   r/   r-   rG  rG  Y  s     ^^8 8r/   rG  rn  c                   0    e Zd Zej                  d        Zy)TestCoercionBoolc                 (    t        g dt              S )N)TFTFr^   )r   r  r  s    r-   rx  zTestCoercionBool.objv  s    0==r/   Nr=  r   r/   r-   rJ  rJ  i  s     ^^> >r/   rJ  c                   0    e Zd Zej                  d        Zy)TestCoercionInt64c                     t        g d      S )Nr  r  r  s    r-   rx  zTestCoercionInt64.obj  s    l##r/   Nr=  r   r/   r-   rM  rM  {  s     ^^$ $r/   rM  c                   0    e Zd Zej                  d        Zy)TestCoercionFloat64c                     t        g d      S )Nr>  g@gffffff
@g@r  r  s    r-   rx  zTestCoercionFloat64.obj  s    *++r/   Nr=  r   r/   r-   rP  rP    s     ^^, ,r/   rP  weakzbnp.float32(1.1) ends up as 1.100000023841858, so np_can_hold_element raises and we cast to float64r8  )marksc                   B     e Zd Zej                  d        Z fdZ xZS )TestCoercionFloat32c                 <    t        g dt        j                        S )NrR  r^   )r   r(   float32r  s    r-   rx  zTestCoercionFloat32.obj  s    *"**==r/   c           	      f    t         |   |||||||       t        |t              rt	        d      y )Nz!xfail not relevant for this test.)superr  ro   r  AssertionError)	r+   rx  r   r>   rP  rm  rc   ry  	__class__s	           r-   r  z"TestCoercionFloat32.test_slice_key  s7    sC4k:Vc5! !DEE "r/   )rz   r{   r|   r}   r  rx  r  __classcell__)r\  s   @r-   rV  rV    s'    < ^^> >F Fr/   rV  r`   zdatetime64[ns]rs   c                   T    e Zd Zej                  d        Zej                  d        Zy)TestCoercionDatetime64c                 0    t        t        ddd            S )Nr_   r  r%   )rY   r"   r  r  s    r-   rx  zTestCoercionDatetime64.obj  s    jCCDDr/   c                      y rn   r   r  s    r-   rP  zTestCoercionDatetime64.warn  r  r/   NrE  r   r/   r-   r_  r_    s4     ^^E E ^^ r/   r_  rM   r\   zdatetime64[ns, US/Eastern]r  c                   T    e Zd Zej                  d        Zej                  d        Zy)TestCoercionDatetime64TZc                 6    d}t        t        ddd|            S )NrM   r_   r  r%   rX   r  )r+   rO   s     r-   rx  zTestCoercionDatetime64TZ.obj  s    jCrJKKr/   c                      y rn   r   r  s    r-   rP  zTestCoercionDatetime64TZ.warn  r  r/   NrE  r   r/   r-   rc  rc    s4     ^^L L ^^ r/   rc  z12 dayztimedelta64[ns]c                   T    e Zd Zej                  d        Zej                  d        Zy)TestCoercionTimedelta64c                 .    t        t        dd            S )Nz1 dayr%   r!   )r   r   r  s    r-   rx  zTestCoercionTimedelta64.obj  s    ogq9::r/   c                      y rn   r   r  s    r-   rP  zTestCoercionTimedelta64.warn  r  r/   NrE  r   r/   r-   rg  rg    s2     ^^; ; ^^ r/   rg  r   2016Yr   both)closedc                       e Zd Z ej                   eddd       edd      g      d        Zej                  d	        Zy
)TestPeriodIntervalCoercionrV   r#   r  r  r2   r$   r  c                 ,    t        |j                        S rn   )r   r  r  s     r-   rx  zTestPeriodIntervalCoercion.obj  s     gmm$$r/   c                     t         S rn   r  r  s    r-   rP  zTestPeriodIntervalCoercion.warn  r  r/   N)	rz   r{   r|   r}   r  r   r   rx  rP  r   r/   r-   ro  ro    sT     V^^qs;1a 
%% ^^ r/   ro  c                     t        g dg d      } t        g dg d      }| j                         }t        j                  t        d      5  d|j
                  d<   d d d        t        j                  ||       | j                         }t        j                  t        d      5  d|j                  d<   d d d        t        j                  ||       | j                         }t        j                  t        d      5  d|d<   d d d        t        j                  ||       | j                         }t        j                  t        d      5  d|j                  d	<   d d d        t        j                  ||       | j                         }t        j                  t        d      5  d|j                  d	<   d d d        t        j                  ||       | j                  d
      }|j                  d
      }|j                         }t        j                  t        d      5  d|j
                  d<   d d d        t        j                  ||       |j                         }t        j                  t        d      5  d|j                  d<   d d d        t        j                  ||       |j                         }t        j                  t        d      5  d|j                  d<   d d d        t        j                  ||       |j                         }t        j                  t        d      5  d|j                  d<   d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   'xY w# 1 sw Y   xY w# 1 sw Y   mxY w# 1 sw Y   !xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   r2   r4   r   r5   )r   皙@r4   rL  r   rt  r3   r2   r   )r3   r   )r2   r   )r   r8   r:   r   r   r   r;   r9   r  rQ   to_frameassert_frame_equal)rd   r>   rI   orig_dfexpected_dfdfs         r-   
test_20643rz    s   )?3Dk9H
))+C		#	#M9M	N s3)
))+C		#	#M9M	N 3)
))+C		#	#M9M	N C3)
))+C		#	#M9M	N 
3)
))+C		#	#M9M	N 3)mmC G##C(K	B		#	#M9M	N h"k*	B		#	#M9M	N x"k*	B		#	#M9M	N "k*	B		#	#M9M	N t"k*[ 
 
 
 
  
 
 
 sl   M'M* M7N(N#N<N+N8.OM'*M47NNNN(+N58OOc                  :   t        g dg d      } t        t        j                  ddgg d      }| j                         }d |j                  d<   t        j                  ||       | j                         }d |j                  d<   t        j                  ||       y )Nrs  r   r5   r2   r4   r   )r   r(   r)   r8   r  r:   r;   rQ   )rd   r>   rI   s      r-   test_20643_commentr|  M  sv     )?3Drvvq!nO<H
))+CCGGAJ3)
))+CCHHQK3)r/   c                     t        g d      } t        j                  t        d      5  | | dk(  xx   dz  cc<   d d d        t        g d      }t        j                  | |       t        g d      } t        j                  t        d      5  | dxx   dz  cc<   d d d        t        j                  | |       t        g d      } t        j                  t        d      5  | j
                  dxx   dz  cc<   d d d        t        j                  | |       t        g d      } t        j                  t        d      5  | j                  dxx   dz  cc<   d d d        t        j                  | |       t        g d      } t        j                  t        d      5  | j                  dxx   dz  cc<   d d d        t        j                  | |       t        g d      } t        j                  t        d      5  | j                  dxx   dz  cc<   d d d        t        j                  | |       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   UxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   `xY w)NrA   rL  r   r4   r  )r2   r  r#   r2   )	r   r:   r   r   r;   r9   rQ   r  r   )rI   r>   s     r-   
test_15413r~  \  s   

C		#	#M9M	N C1Hk"H3)

C		#	#M9M	N A#3)

C		#	#M9M	N 
c
3)

C		#	#M9M	N s3)

C		#	#M9M	N 
c
3)

C		#	#M9M	N q	S	3)9  
 
 
 
 sG   H2H?!I?II&;I22H<?I	II#&I/2I;c                     t        j                  d      j                  d      } t        |       }t        j                  t        j
                  t         j                        j                        }t        j                  t        d      5  ||d<   d d d        t        |dddd	gt         j                  
      }t        j                  ||       y # 1 sw Y   @xY w)Nr$   r0  rL  r   r   r2   r4   r#   r%   r^   )r(   r   r  r   r   iinfomaxr:   r   r   r;   rR   rI   rm  r>   s       r-   test_32878_int_itemsizer    s    
))A,

d
#C
+C
((288BHH%))
*C		#	#M9M	N AsAq!Q'rxx8H3) s   CCc                     t        j                  d      j                  d      } t        |       }t        j                  t         j
                        j                  }|j                  d      }t        j                  t        d      5  ||d<   d d d        |d   |k(  sJ t        |ddd	d
gd      }t        j                  ||       y # 1 sw Y   <xY w)Nr$   c8c16rL  r   r   r2   r4   r#   r%   r^   )r(   r   r  r   finfor   r  r:   r   r   r;   r  s       r-   test_32878_complex_itemsizer    s    
))A,

d
#C
+C
((2::

"
"C
**U
C 
	#	#M9M	N Aq6S==sAq!Q'u5H3)	 s   	C

Cc                     t        g dg d      }t        j                  t        d      5  d | |      d<   d d d        t        g dg dt        	      }t        j
                  ||       y # 1 sw Y   6xY w)
NrA   r   r5   rL  r   testr3   )r2   r  r#   rD   r   r:   r   r   rF   r;   )
indexer_alrI   r>   s      r-   
test_37692r    s`    
/
2C		#	#M9M	N &%
3&nO6JH3)& &s   A..A7c                 >   t         j                  t         j                  fD ]  }t        dt	        d      |      }t        j                  t        d      5  d | |      d<   d d d        |j                  t        k(  sJ t        dt	        d      t              }t        j                  t        d      5   |d      |d<   d d d        |j                  t        k(  rJ  t        dt	        d      t         j                        }t        j                  d       | |      d<   |j                  t         j                  k(  sJ t        dt	        d      t         j                        }t        j                  d       | |      d<   y # 1 sw Y   &xY w# 1 sw Y   xY w)	Nr   r#   rD   rL  r   Tr2   r  )r(   r   r   r   r   r:   r   r   rE   rF   r  )rc   rE   rI   s      r-   'test_setitem_bool_int_float_consistencyr    sD   
 **bhh' 	#QeAhe4''=QR 	'"&KQ	'yyF"""QeAhd3''=QR 	1XCF	yyF"""	# %("((
3C**S/KQ99    %("**
5C((1+KQ!	' 	'
	 	s   F5FF	F	c                      t        g dg d      } d}t        j                  t        |      5  d| d<   d d d        t        g dg dt        	      }t        j
                  | |       y # 1 sw Y   6xY w)
NrA   r   r5   r   r   rk   r   )rk   r4   r#   rD   r  rI   r   r>   s      r-   $test_setitem_positional_with_castingr    sa     /
2CLH		#	#M	B AkGH3) s   A**A3c                      t        g dg d      } d}t        j                  t        |      5  d| d<   d d d        t        g dg d      }t        j                  | |       y # 1 sw Y   1xY w)	NrA   r   r5   r   r   r  r   )r  r4   r#   )r   r:   r   r   r;   r  s      r-   .test_setitem_positional_float_into_int_coercesr    s_     /
2CLH		#	#M	B Ak9H3) s   A%%A.c                  D   t        g dg d      } | j                  j                  rJ d| d<   t        g d| j                        }t        j                  | |       d| d<   t        g dg d	      }t        j                  | |       t        j                  t        d            d d d
   }t        t        t        |            |      }|j                  t              j                  t        dg            }t        g d|      }d|d<   t        j                  ||       t        j                  | j                  ddgg      }t        t        t        |            |      }|j                         }d|j                   d<   d|d<   t        j                  ||       y )Nr  )r>   @r@  ffffff@r5   r    r#   )r2   r4   r    r%   r$   )r2   r4   r    r%   r$   )r>  r  r@  r  g      @r4   r%   )r   r2   r4   r#   r%   r   r   r   Bc   )r   r6   _should_fallback_to_positionalr:   r;   r   r  r   r  r  rF   appendr   r   r   r8   r9   )	rI   r>   iir   	exp_index	expected2r   r   	expected3s	            r-   test_setitem_int_not_positionalr    sQ    %9
:Cyy7777 CFm3995H3) CF&.GHH3)		"	"59	-cc	2B%B.+D		&!((s4I);IDG4+		 	 #))c3Z!8	9B%B.+D		IIMM!DG4+r/   c                  .   t        g dg dd      } | j                  d      j                         }d|g d<   t        g dd      }t	        j
                  ||       d	| j                  g dd
f<   t        d
g di      }t	        j                  | |       y )NrA   )r%   r$   r'   )r1   r3   r3   r   )TFF)r   r$   r'   )r  rD  r    r1   )r    r4   r#   )r   popr8   r   r:   r;   r9   rv  )ry  r=   r>   s      r-   test_setitem_with_bool_indexerr    s     
3	4BVVC[F#$F 93/H68,(*BFF$%#z*+H"h'r/   sizer   )TFFFFitemr  c                 .    t        j                  | g      S rn   )r(   r   r!  s    r-   r   r     s    bhhsm r/   c                     | gS rn   r   r!  s    r-   r   r     s    s r/   c                     | fS rn   r   r!  s    r-   r   r     s    qd r/   c                    t        j                  ||       }t        j                  | t              }t	        |      }|j                         dk7  r2d}t        j                  t        |      5   ||      ||<   d d d        y  ||      ||<   t	        t        j                  | t                    }|||<   t        j                  ||       y # 1 sw Y   y xY w)Nr^   r2   zKcannot set using a list-like indexer with a different length than the valuer   )r(   resizer   r  r   r  r}   r   r^  r:   r;   )	r  r   r  r  	selectionr  rI   r   r>   s	            r-   7test_setitem_bool_indexer_dont_broadcast_length1_valuesr    s      		$%I99T'D
,C}}!$ 	 ]]:S1 	' YC	N	' 	' TI"))D67"
sH-	' 	's   -CCc                     t        dd      } t        |       }|j                         }t        j                  dt
              }d||<   |j                  | j                  k(  sJ t        j                  ||       |j                  |dd       |j                  | j                  k(  sJ t        j                  ||       y )NrV   r#   r!   r^   r   Tr   )
r   r   r8   r(   r[  r  rE   r:   r;   r   )r  rI   rd   r   s       r-   (test_setitem_empty_mask_dont_upcast_dt64r  +  s    
\1
-C
+C88:D88AT"DCI99		!!!3%HHT5$H'99		!!!3%r/   )sr   r   decimalr   numpyr(   r}   pandas.compat.numpyr   pandas.errorsr   pandas.core.dtypes.commonr   pandasr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   pandas._testing_testingr:   pandas.tseries.offsetsr   r   r   r   r   r	  r  r)  r`  rb  rg  ri  rk  rv  r~   r   r  r)   r   r  rF   r   r  r  r  r  r  r  r   r  r  r   r  r*  r%  r.  r6  int32r   r;  rA  
complex128rG  r  rJ  r   rM  rP  rX  r;  _get_promotion_stater  uint32r  r  uint64rV  r_  rc  rg  ro  rz  r|  r~  r  r  r  r  r  r  r  r  r   r  r  minr  r  r   r/   r-   <module>r     sO      2 ' 2     *  'J. J.Z. .<-1 -1`pA pAf( (V. .*}+ }+@%:%. .BcN cNL  >!Q'(!Q!Q!QH) &	
 	/0BFFArvvq"&&!RVVQGH$a *	
 	-.BFFD"&&%0?$a +	
 	9299R=!BFFBFFBFFBFFBFFAq!QJK$N%	
 	9BFFAq>"#	
 	E7OBFF86*/	
 	E4=!BFFD>0$	
k=@B	$= 	C@B	"(A "J%6 %P8 625%> 25j+D @  
		FBFFAq>2D9		 &"&&#s);"<dC HT1a((4A*>qRS@TUVC$1-xa/CDE	
 
%	&/C(DdK 6 ! $4M $N(A : 	3*	t$	3*	}-BHHaeQUQY'rzz:	

"/H "
"* hbhhsm 45.G  6$  AB$=  C.-, - bhhqk277D!HBHHTNBHHm#LM3| 3	3  67vh/  0 8 	
BMM4 	bmmT"	%	v}%	8, 88 	
FM"	fm$	
FM"	fm$	'	tT
>| >
> 	
BHHd	bjj-(	.	v}%	$ $$ 	
BJJ	bjj$	.	v}%	,, ,, 	
BJJJJ++##** T*R/Fr/F/F/HF/RD $ 		
 
.	v}%	!bjj$'	1rzz4( 
8288BII&**	+RZZG	1rzz4(	!bjj$'1:
F, 
F;:
F 	<	 "2D9	
FM"	fm$	\ 		 	<L	13OQUV	<L	13OQUV	<	 &-8	
FM"		| 			 	8	/6	
FM"	fm$l  	E6&s+Xa6-JK vh/  0 4+n* *F***&4	*	*,D( q!-
/$H 
S"&&("((5/--xrxx/B/BC
 	#]NC. ..8&r/   