+
    yȇiS                      +   ^ RI H t Ht ^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
HtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt R	 tR
 t]P:                  P=                  RRR]P>                  ! ^.4      .4      R 4       t ]P:                  P=                  R]! ^R7      ]! ^R7      R]! ]! R^R7      ]! ^4      R7      .4      R 4       t!]P:                  P=                  RRR.4      R 4       t"]P:                  P=                  R]! ^R7      ]! ^R7      .4      R 4       t#]P:                  P=                  R]! ^R7      ]! ^R7      R.4      R 4       t$R t%]P:                  P=                  RR. RO. RO. RO. RO. RO.3R!. RO. RO. RO. RO. RO.3R". RO. RO. RO. RO. RO.3R#. RO. RO. RO. RO. RO.3.4      R$ 4       t&]P:                  P=                  R%R&R". RO3R&R. RO3R&R!. RO3R&R#. RO3R(R". RO3R(R. RO3R(R!. RO3R(R#. RO3.4      R* 4       t']P:                  P=                  R%R+R". RO3R+R!. RO3R+R. RO3R+R#. RO3.4      R, 4       t(]P:                  P=                  R-R!]PR                  ]PR                  ^^^^
^^^^.
3R#]PR                  ]PR                  ^^^^	^^^^.
3R". RO3R. ER O3.4      R. 4       t*]P:                  P=                  R-R!]PR                  ]PR                  ^^^^
^^^^.
3R#]PR                  ]PR                  ^^^^
^^^^.
3R". ERO3R. ERO3.4      R/ 4       t+R0 t,R1 t-]P:                  P=                  R2R#R!.4      R3 4       t.]P:                  P=                  R4R5R6.4      R7 4       t/]P:                  P=                  R4R5R6.4      R8 4       t0]P:                  P=                  R9R:R;.4      ]P:                  P=                  R<R5R". ERO3R5R. ERO3R5R#]PR                  ^ ^ ^^^^^^^.
3R5R!]PR                  ^ ^ ^ ^^^^^^.
3R6R". ERO3R6R. ERO3R6R#]PR                  ^ ^^^^^^^^.
3R6R!]PR                  ^ ^^^^^^^^.
3.4      R> 4       4       t1R? t2]P:                  P=                  R<R5R"]PR                  ^ ^ ^^^^^]PR                  ]PR                  .
3R5R]PR                  ^ ^ ^ ^^^^^]PR                  .
3R5R#]PR                  ]PR                  ^ ^^^^^]PR                  ]PR                  .
3R5R!]PR                  ]PR                  ^ ^ ^^^^^]PR                  .
3R6R"]PR                  ^^^^^^^]PR                  ]PR                  .
3R6R]PR                  ^^^^^^^^]PR                  .
3R6R#]PR                  ]PR                  ^^^^^^]PR                  ]PR                  .
3R6R!]PR                  ]PR                  ^^^^^^^]PR                  .
3.4      R@ 4       t3]P:                  P=                  R-R". ERO3R. ERO3R#]PR                  ^ RARBRCRDRERFRGRH.
3R!]PR                  ^ RA^^^^^^^.
3.4      RI 4       t4]P:                  P=                  RJRK^.4      RL 4       t5RM t6RN t7RO t8RP t9RQ t:RR t;RS t<RT t=RU t>RV t?RW t@RX tA]P:                  P=                  RYRZ. EROR[. ER	O/RZ^.R[^./^ .3RZ^^.R[^^./^ ^.3RZ. EROR[. ER	O/. ER
O3.^R3RZ. EROR[. ER	O/RZ^.R[^./^ .3RZ^^.R[^^./^ ^.3RZ^^.R[^^./^^.3.^^3RZ. EROR[. ER	O/RZ^.R[^./^ .3RZ^^.R[^^./^ ^.3RZ^^.R[^^./^^.3.^^3RZ. EROR[. ER	O/RZ^.R[^./^ .3RZ^.R[^./^.3RZ^.R[^./^.3.^^3RZ. EROR[. ER	O/RZ^.R[^./^ .3RZ^.R[^./^.3RZ^.R[^./^.3.^^ 3RZ^.R[^./. ^R3RZ^.R[^./. ^^3R/ . 3.^R3RZ^]PR                  ^.R[]PR                  ^^./RZR).R[]PR                  ./^ .3RZ^]PR                  .R[]PR                  ^./^ ^.3RZ^]PR                  ^.R[]PR                  ^^./. ER
O3.^^3.	4      R\ 4       tB]P:                  P=                  R]RZ^.R[^./^ .3RZ^^.R[^^./^ ^.3RZ^^.R[^^./^^.3.R+3RZ^.R[^./^ .3RZ^^.R[^^./^ ^.3RZ. EROR[. ER	O/. ER
O3.R3RZ^.R[^./^ .3RZ^.R[^./^.3RZ^.R[^./^.3.R^3.4      R_ 4       tCR` tD]P:                  P=                  Ra]! . ERO4      ^.^ .3^^.^ ^.3. ERO. ER
O3.^R3]! . ERO4      ^.^ .3^^.^ ^.3. ERO. ER
O3.^^3]! . ERO4      ^.^ .3^^.^ ^.3^^.^^.3.^^3]! . ERO4      ^.^ .3^^.^ ^.3^^.^^.3.^^3]! . ERO4      ^.^ .3^.^.3^.^.3.^^ 3]! . ERO4      ^.^ .3^.^.3^.^.3.^^3]! ^^.4      ^.^ .3^^.^ ^.3.^^ 3]! . RbRc7      . ^^3.4      Rd 4       tE]P:                  P=                  Re^ .^.^.^.^..]! Rf^RgRh7      ]! Ri^RgRh7      ]! Rj^RgRh7      ]! Rk^RgRh7      ]! Rl^RgRh7      .R^3^ .^ ^.^^.^^.^^..]! Rf^RgRh7      ]! Rf^RgRh7      ]! Ri^RgRh7      ]! Rj^RgRh7      ]! Rk^RgRh7      .R+3^ .^ ^.. ER
O. ERO. ERO.]! Rf^RgRh7      ]! Rf^RgRh7      ]! Rf^RgRh7      ]! Ri^RgRh7      ]! Rj^RgRh7      .R3.4      Rm 4       tF]P:                  P=                  RnRo^ /]P                  ! . ERORR.Rp7      3RqRr/]P                  ! . ERORrR.Rp7      3.4      Rs 4       tH]P:                  P=                  RtR=R.4      Ru 4       tIRv tJRw tKRx tLRy tM]P:                  P=                  ER]! RzR{R5R|7      R}3]! RzR~RR|7      R3.4      ]P:                  P=                  ERR5]PR                  ^ ^ ^^^^^^.	3R6]PR                  ^ ^^^^^^^.	3R]PR                  ^ ^^^^^	^^.	3.4      R 4       4       tNR tO]P:                  P=                  ERR. ERO^^. ERO3R. ERO^^. ERO3R. ERO^^. ERO3R. ERO^^. ERO3R. ERO^^. ERO3R. ERO^^. ERO3R. ERO^^. ERO3.4      R 4       tPR tQ]P:                  P=                  R. ERO4      R 4       tR]P:                  P=                  R%R(R". ERO3R(R!. ERO3R(R. ER O3R(R#. ER!O3R&R". ER O3R&R!. ER O3R&R. ER O3R&R#. ER O3.4      R 4       tS]P:                  P=                  RR. ER"O3R. ER#O3.4      R 4       tT]P:                  P=                  RR]U! R4      R]U! R4      RRRRR.3R]U! R4      RH]U! R4      RRRRR.3R]U! R4      R]U! R4      RRRRR.3R]U! R4      R]U! R4      RRRRR.3R]U! R4      ER$]U! R4      ER%ER&ER'ER(ER).3.4      R 4       tV]P:                  P=                  ER. ER*O^3]! RRg^R7      R+3.4      R 4       tW]P:                  P=                  R. ER+OR]U! R4      ]U! R4      R)RR'RRRRR.
3R)]PR                  R']PR                  R]PR                  R]PR                  R]PR                  .
R]U! R4      .^
,          3. ER+OR]U! R4      ]U! R4      R'RRRRRRR.
3R)]PR                  R']PR                  R]PR                  R]PR                  R]PR                  .
R]U! R4      .^
,          3.4      R 4       tX]P:                  P=                  R. ER+OR. ER,O3R)]PR                  R']PR                  R]PR                  R]PR                  R]PR                  .
R. ER-O3. ER+OR. ER+O3R)]PR                  R']PR                  R]PR                  R]PR                  R]PR                  .
R. ER.O3.4      R 4       tYR tZ]P:                  P=                  RRR.4      R 4       t[]P:                  P=                  ER/R. ER0O]PR                  .^,          . ER1O,           3R. ER2O]PR                  .^,          . ER3O,           3R. ER0O]PR                  .^,          . ER4O,           3R. ER2O]PR                  .^,          . ER5O,           3.4      R 4       t\]P:                  P=                  RRR.4      R 4       t]R t^R t_R t`R ta]P:                  P=                  R^. ER6O3^. ER7O3.4      R 4       tbR tcR td]P:                  P=                  R. ER8O4      ]P:                  P=                  R. ER9O4      ]P:                  P=                  RRR .4      ]P:                  P=                  R. ER:O4      R 4       4       4       4       te]P:                  P=                  R. ER8O4      ]P:                  P=                  R. ER;O4      R 4       4       tfR tg]P:                  P=                  R. ER<O4      ]P:                  P=                  R. ER=O4      ]P:                  P=                  R. ER>O. ER?OR=]PR                  R]PR                  R.]PR                  ]PR                  ]PR                  ]PR                  .]PR                  R]PR                  RRRA.RA.]PR                  RR..4      R 4       4       4       thR tiR tjR tkR tlR tmR tn]P:                  P=                  . ER@O^^
^
]P                  ^^^^.^^]PR                  ^2ERA^ R^ ERB^..^^
^
]PR                  ^
^^^.^^]PR                  ^2ERA^ ^ RERC^..]PR                  ^^^^^^.^^]PR                  .^,          . EREO,           .^^^^]PR                  ]P                  ^^^^.
^^]PR                  .^,          ERD^ .,           ]PR                  .^,          ,           ERB^ .,           .^^^^]PR                  ]P                  ^^^^.
^^]PR                  .^,          ERD^ .,           ]PR                  .^,          ,           ERF^ .,           .^^.^,          ^^]PR                  .^,          ERD.^,          ,           .^^^]PR                  ^^^.^^]PR                  ^ERD.^.^,          ,           ERD.,           ..4      R 4       tpR tqR trR ts]P:                  P=                  RRR.4      ]P:                  P=                  RRR .4      R 4       4       tt]P:                  P=                  R]u]v.4      R 4       tw]P:                  P=                  RRR.4      ]P:                  P=                  RRR .4      ]P:                  P=                  R]u]v.4      R 4       4       4       tx]P:                  P=                  R. ERGO4      R 4       ty ! R R]4      tz ! R R4      t{R# (H      )datetime	timedeltaN)IS64)Pandas4Warning)	DataFrameDatetimeIndex
MultiIndexSeries	Timedelta	Timestamp
date_rangeperiod_range)BaseIndexer)VariableOffsetWindowIndexer)BusinessDayc                      \        R ^ ^^\        P                  ^./4      p V  V P                  ^4      P	                  4        V P                  ^^R7      P	                  4        R# )Bmin_periodsN)r   npnanrollingsum)dfs    p/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/window/test_rolling.pytest_doc_stringr      sP    	C!Q2661-.	/BJJqMJJqaJ $$&    c                 4   V ! \        ^4      4      P                  pV! ^ 4       V! ^R7       V! ^^R7       V! ^^RR7       V! ^^RR7       Rp\        P                  ! \        VR7      ;_uu_ 4        V! R	4       RRR4       R#   + '       g   i     R# ; i)
   windowr!   r   Tr!   r   centerFz&window must be an integer 0 or greatermatchN)ranger   pytestraises
ValueError)frame_or_seriescmsgs   &  r   test_constructorr/   &   sx     	a!))A aDQKQAQAd+QAe, 3C	z	-	-	" 
.	-	-	-s   3	BB	w       @fooc                 (   V ! \        ^4      4      P                  pRP                  RR.4      p\        P                  ! \
        VR7      ;_uu_ 4        V! VR7       RRR4       Rp\        P                  ! \
        VR7      ;_uu_ 4        V! ^VR7       RRR4       R	p\        P                  ! \
        VR7      ;_uu_ 4        V! ^^VR
7       RRR4       R#   + '       g   i     L; i  + '       g   i     L_; i  + '       g   i     R# ; i)r   |zwindow must be an integerz=passed window foo is not compatible with a datetimelike indexr%   r    Nzmin_periods must be an integerr"   zcenter must be a booleanr#   )r(   r   joinr)   r*   r+   )r,   r0   r-   r.   s   &&  r   test_invalid_constructorr6   :   s     	a!))A
(('K	
C 
z	-	-	 
. +C	z	-	-	" 
. %C	z	-	-	!, 
.	- 
.	- 
.	- 
.	-	-s$   
CC-D C*	-C=	 D	r!   days3Dz
2015-12-25periodsindexoffsetc           	      $   \        \        P                  ! ^
4      \        R^
RR7      R7      p\        P
                  ! \        RR7      ;_uu_ 4        VP                  V ^R7      P                  4        RRR4       R#   + '       g   i     R# ; i)	
   
2015-12-24Dr;   freqr=   z(^step (not implemented|is not supported)r%   stepN)	r   r   aranger   r)   r*   NotImplementedErrorr   r   )r!   r   s   & r    test_freq_window_not_implementedrJ   R   sn     

		"r<
B 
#M
 
 	

6
"&&(
 
 
 
s   "A>>B	aggcovcorrc                     \        \        ^4      4      P                  ^^R7      p\        P                  ! \
        RR7      ;_uu_ 4        \        W4      ! 4        RRR4       R#   + '       g   i     R# ; i)   rF   zstep not implementedr%   N)r   r(   r   r)   r*   rI   getattr)rK   rolls   & r   &test_step_not_implemented_for_cov_corrrR   i   sP     U1X&&qq&1D	*2H	I	I 
J	I	I	Is   
A%%A6	c           	         ^
p\        R\        P                  ! V4      /\        RVRR7      R7      p\        P                  ! RR.\        P                  ! RR	^4      4      pVP                  V R
7      P                  4       p\        RV/\        RVRR7      R7      p\        P                  ! WE4       VP                  R4      P                  4       p\        P                  ! WE4       R# )r@   valuerA   rB   rC   rE                 ?      @      ;@r    r9   N)	r   r   rH   r   appendr   r   tmassert_frame_equal)r!   nr   expected_dataresultexpecteds   &     r   &test_constructor_with_timedelta_windowr`   q   s     	A		"))A,qs;
B IIsCj"))Cq*ABMZZvZ&**,F	- qs;H &+zz$##%H&+r   c                    ^
p\        R\        P                  ! V4      /\        RVRR7      R7      p\        R\        P                  ! \        P
                  R.\        P                  ! RR^4      4      /\        RVRR7      R7      pVP                  V ^R	7      P                  4       pVP                  V ^R	7      P                  \        VR
7      p\        P                  ! WT4       \        P                  ! Wd4       R# )r@   rT   z
2017-08-08rB   rC   rE   rV   rW   rX   r"   )rawN)r   r   rH   r   rY   r   r   r   applyrZ   r[   )r!   rb   r\   r   r_   result_roll_sumresult_roll_generics   &&     r   0test_constructor_timedelta_window_and_minperiodsrf      s     	A		"))A,qs;
B 	"))RVVSM299S$+BCDqs;H jjAj>BBDO**F*BHHRUHV/4-8r   c                 8   Tp\        R . R	O/4      p\        R . R	O/\        R^R7      R7      p\        VP                  ^V ^R7      V4      ! 4       p\        VP                  RV ^R7      V4      ! 4       P	                  RR7      p\
        P                  ! WV4       R# )
A2020r:   rE   closedr   2DTdropNr      rO         )r   r   rP   r   reset_indexrZ   r[   )rk   arithmetic_win_operators	func_namedf_fixeddf_timer^   r_   s   &&     r   test_closed_fixedrx      s    (I#/0Ho.jQR6STG6q9 F V;  	 
 &+r   zclosed, window_selectionsbothTFleftrightneitherc           
      f   Tp\        R . R
O/\        R^R7      R7      p\        R V Uu. uF,  p\        VR ,          P                  V,          V4      ! 4       NK.  	  up/\        R^R7      R7      p\        VP	                  RV ^RR7      V4      ! 4       p\
        P                  ! WvRR7       R	# u upi )rh   ri   r:   rE   rl   T)rk   r   r$   F)check_dtypeN)rU   rV   r1   rW         @)r   r   rP   ilocr   rZ   r[   )rk   window_selectionsrt   ru   rw   sr_   r^   s   &&&     r   %test_datetimelike_centered_selectionsr      s    b )I	'(
610MG 	CTUCTawws|((+Y79CTUV+H
 V4H F
 &> Vs   2B.
zwindow,closed,expected3srW   2srV   c                     \        R 4      \        R4      \        R4      .pV! . ROVR7      pVP                  WRR7      P                  4       pV! W$R7      p\        P                  ! Wb4       R# )z20130101 09:00:01z20130101 09:00:02rE   Trk   r$   N)rp   rp   rp   )r   r   r   rZ   assert_equalr!   rk   r_   r,   r=   r   r^   s   &&&&   r   ,test_datetimelike_centered_offset_covers_allr      se    & 	%&%&%&E
 
%	0BZZdZ;??AFx5HOOF%r   rl   c                     \        . RO4      pV! ^.^,          V\        R7      pV! W$\        R7      pVP                  V RVR7      P                  4       p\        P
                  ! Wb4       R# )
2020-01-01r=   dtypeT)r$   rk   N)r   r   
2020-01-02r   
2020-01-03r   
2020-01-04r   )r   floatr   r   rZ   r   r   s   &&&&   r   +test_datetimelike_nonunique_index_centeringr   
  s^     		
E 
!qU	;BxEBHZZtFZ;??AFOOF%r   zclosed,expectedc                     \        . RO4      pV! \        ^
4      V\        R7      pV! W\        R7      pVP                  RV R7      P	                  4       p\
        P                  ! WQ4       R# )
2011-01-01r   rl   rk   N
r   r   
2011-01-02r   r   z
2011-01-03
2011-01-04r   z
2011-01-05z
2011-01-06)r   r(   r   r   r   rZ   r   )rk   r_   r,   r=   r   r^   s   &&&   r   test_variable_window_nonuniquer   +  sZ     	
E 
r%u	=BxEBHZZVZ,002FOOF%r   c                    \        . RO4      pV! \        ^
4      V\        R7      pV! W\        R7      p\        ^4      p\	        W5R7      pVP                  W`^R7      P                  4       p\        P                  ! Wq4       R# )r   r   r<   rj   Nr   )	r   r(   r   r   r   r   r   rZ   r   )rk   r_   r,   r=   r   r>   indexerr^   s   &&&     r   %test_variable_offset_window_nonuniquer   M  sm     	
E 
r%u	=BxEBH^F)EGZZAZ>BBDFOOF%r   c            	          \        \        ^4      \        RR^R7      R7      p V P                  R^RR7      P	                  4       p\        . R	OV P
                  R7      p\        P                  ! W4       R# )
rq   r   rB   startrD   r;   rE   rl   Tr#   N)      ?      ?rO   )r
   r(   r   r   meanr=   rZ   assert_series_equalr   r^   r_   s      r   !test_even_number_window_alignmentr   q  sY    uQxz3PQRSA
 YYd$Y?DDFFm1773H6,r   c                    . ROp\        RV/\        RR\        V4      R7      R7      pV '       d   . ROpM\        P                  ^ RRRRRR.p\        VR.\        RR\        V4      R7      R	7      R
R
V1,          pVP                  \        V4      R^WR7      pVP                  4       p\        P                  ! Wu4       R
# )r   
binary_colr   minr   rE   r   皙?@m?)columnsr=   Nrz   )r!   rk   r   r$   rG   )r   rp   rp   r   r   rp   r   rp   UUUUUU?)r   r   r   r   r   r   g._x%I?r   )	r   r   lenr   r   r   r   rZ   r[   )r$   rG   datar   r]   r_   r   r^   s   &&      r   test_closed_fixed_binary_colr     s    #D		t|%TK
B
 LCS#xH|%]AST f	H jj2wv1V  G \\^F&+r   rk   c           	      0   Tp\        \        P                  ! ^4      \        R^RR7      R7      pVP	                  RV R7      p\        WB4      ! 4       p\        \        P                  .^,          VP                  R7      p\        P                  ! WV4       R# )	r   2000rl   rC   r   r=   1Dr   rE   N)
r
   r   rH   r   r   rP   r   r=   rZ   r   )rk   rt   ru   serrQ   r^   r_   s   &&     r   test_closed_emptyr     sm     )I
biil*VQT*R
SC;;tF;+DT%'Frvvhl#))4H6,r   funcr   maxc                     \        ^.\        R^R7      R7      p\        VP                  RRR7      V 4      ! 4       p\        P
                  ! V\        \        P                  .VP                  R7      4       R# )	rO   r   r:   r   10Drz   r   rE   N)	r
   r   rP   r   rZ   r   r   r   r=   )r   r   r^   s   &  r   test_closed_one_entryr     sV     qcFA!>
?CS[[v[6=?F66266(#))#DEr   c                    \        R . ROR. RO/\        R^R7      R7      p\        VP                  R RR7      R,          P	                  RRR	7      V 4      ! 4       p\
        P                  ! . ROVP                  .RR7      p\        \        P                  ^\        P                  .VRR7      p\        P                  ! W$4       R
# )rh   r   r   r:   r   F)sortr   rz   r   N)arraysnames)r   r=   name)rp   rp   rO   )rq   rO   rp   )rh   N)r   r   rP   groupbyr   r	   from_arraysr=   r
   r   r   rZ   r   )r   r   r^   exp_idxr_   s   &    r   test_closed_one_entry_groupbyr     s     9c9-+C Ce$S)11%1G F $$Y		,B+VGBFFArvv.gCHH6,r   input_dtypeintr   zfunc,closed,expectedrU   c                    \        \        P                  ! ^
4      P                  V 4      \	        R^
R7      R7      p\        VP                  RVR7      V4      ! 4       p\        W4P                  R7      p\        P                  ! WS4       R# )r@   r   r:   r   r9   r   rE   N)
r
   r   rH   astyper   rP   r   r=   rZ   r   )r   r   rk   r_   r   r^   s   &&&&  r   test_closed_min_max_datetimer     sh      YYr]!!+.,C
 S[[f[5t<>Fhii0H6,r   c            
      p   \        \        P                  ! ^
4      \        R^
R7      R7      p V P	                  V P
                  ^^.,          R7      p V P                  RRR7      P                  4       p\        \        P                  ^ ^ ^^^^^.V P
                  R7      p\        P                  ! W4       R# )	r@   r   r:   r   rE   r9   rz   r   N)r
   r   rH   r   rn   r=   r   r   r   rZ   r   )r   r^   r_   s      r   test_closed_unevenr     s    
biim:fb+I
JC ((Aq6*(
+C[[f[-113Frvvq!Q1a3399EH6,r   c                 \   \        \        P                  ! ^
4      \        R^
R7      R7      pVP	                  R4      p\        P
                  W3P                  R	R &   \        VP                  R^VR7      V 4      ! 4       p\        W#P                  R7      p\        P                  ! WB4       R# )
r@   r   r:   r   r   Nr9   )r   rk   rE   )r
   r   rH   r   r   r   r=   rP   r   rZ   r   )r   rk   r_   r   r^   s   &&&  r   test_closed_min_max_minpr     s}     biim:fb+I
JC
**W
C&&C		"#S[[1V[DdKMFhii0H6,r   r   r         @      @      @      @      @      @c                 J   \        \        P                  ! ^
4      \        R^
R7      R7      pVP	                  RV R7      p\        WP
                  R7      pVP                  4       p\        P                  ! WA4       VP                  R4      p\        P                  ! WA4       R# )	r@   r   r:   r   r9   r   rE   r   N)
r
   r   rH   r   r   r=   medianrZ   r   quantile)rk   r_   r   rQ   r^   s   &&   r   test_closed_median_quantiler     st     biim:fb+I
JC;;tF;+Dhii0H[[]F6,]]3F6,r   roller1sc                 N   \        4       p\        4       P                  V 4      P                  4       p\        P                  ! W!4       \        \        . 4      R 7      p\        \        . 4      R 7      P                  V 4      P                  4       p\        P                  ! W!4       R# )rE   N)r   r   r   rZ   r[   r   )r   r_   r^   s   &  r   tests_empty_df_rollingr     sv     {H[  (,,.F&+ }R01H]2./77?CCEF&+r   c                  l   \        \        P                  \        P                  \        P                  .4      p \        \        P                  ! ^4      4      P	                  ^ 4      pVP                  4       p\        P                  ! W 4       VP                  R4      p\        P                  ! W 4       R# )rq   皙?N)	r
   r   r   rH   r   r   rZ   r   r   )r_   rQ   r^   s      r   !test_empty_window_median_quantiler     sq    rvvrvvrvv./H"))A,''*D[[]F6,]]3F6,r   c                  b   \        \        P                  .4      p V P                  ^^ R7      P	                  4       p\        R.4      p\
        P                  ! W4       V P                  ^^R7      P	                  4       p\        \        P                  .4      p\
        P                  ! W4       R# )rp   r   rU   N)r
   r   r   r   r   rZ   r   xr^   r_   s      r   test_missing_minp_zeror   *  s     	xAYYqaY(,,.Fse}H6, YYqaY(,,.FrvvhH6,r   c                     \        \        P                  .^,          \        . RO4      R7      p V P	                  \        R4      ^ R7      P                  4       p\        RV P                  R7      p\        P                  ! W4       R# )rr   rE   rl   r   rU   N)z
2017-01-01z
2017-01-04z
2017-01-06z
2017-01-07)
r
   r   r   r   r   r   r   r=   rZ   r   r   s      r   test_missing_minp_zero_variabler   8  sa    	1TU	A YYyAY6::<Fc)H6,r   c                  Z   \         P                  ! R R.. RO.RR.R7      p \        \        P                  ! R4      V R7      pVP                  ^4      P                  4       p\        P                  ! VP                  VP                  4       VP                  P                  . R	O8X  g   Q hR# )
rh   r   12r   r   N)CrB   E)r@      )Nr   r   )r	   from_productr   r   onesr   rL   rZ   assert_index_equalr   r=   r   )colsr   r^   s      r   test_multi_index_namesr   C  s}    ""S#J#@c
SD	2777#T	2BZZ] F&.."**5<<!1111r   c            	      J   \        \        P                  ! R4      4      p \        \        ^4       Uu/ uF*  q\        P                  .^,          R.^,          ,           bK,  	  up4      pV P                  ^4      P                  4       p\        P                  ! W24       R# u upi )r@   rW   N)r@      )	r   r   r   r(   r   r   r   rZ   r[   )r   ir_   r^   s       r   test_rolling_axis_sumr   M  st    	2778$	%BuRyIy!bffX\SEAI55yIJHZZ] F&+ Js   0B c                      \        R \        ^4      R\        ^4      /4      p \        R . ROR. RO/4      pV P                  ^^ R7      P                  4       p\        P
                  ! W!4       R# )r   yr   NrV   r1   r1   )r   r(   r   countrZ   r[   )r   r_   r^   s      r   test_rolling_axis_countr   U  sY    	Cq3a1	2B#_EFHZZqZ)//1F&+r   c                  l   \         P                  ! ^^\         P                  ^^.4      p V P                  RR7       \	        V 4      P                  ^4      P                  4       p\	        \         P                  ^\         P                  \         P                  ^.4      p\        P                  ! W4       R# )rp   F)writeN)	r   arrayr   setflagsr
   r   r   rZ   r   )arrr^   r_   s      r   test_readonly_arrayr  ^  sy    
((Aq"&&!Q'
(CLLuLC[  #((*Frvvq"&&"&&!45H6,r   c           
         T p\        \        R RRVR7       Uu/ uF  q"^.^,          bK  	  up4      pVP                  P                  R4      P	                  4       P                  p\        / \        R ^RVR7       Uu/ uF  pVR.^,          bK  	  upC\        RRRVR7       Uu/ uF  pVR	.^,          bK  	  upC4      p\
        P                  ! WE4       R
# u upi u upi u upi )z	2019-8-01z
2019-08-03rB   )rD   tzrl   )r;   rD   r  rV   z	2019-8-02z	2019-8-03r1   N)r   r   Tr   r   rZ   r[   )tz_naive_fixturer  r   r   r^   r_   s   &     r   test_rolling_datetimer  g  s    	B	'\PRSTSQC!GST
B TT\\$##%''F		
 $KLLA C519L		
 $K32NNA C519N		
H &+! 	Us   C=C
%C#
c                 `   \         P                  ! 4       p\        W\        R 4      ,           RR7      p\        P
                  ! \        V4      4      p\        RVRV/4      pVP                  RRR7       VP                  R^RV R	7      R,          P                  R
4      pVP                  R4      pVP                  R4      p\        P
                  ! \        V4      \        P                  R7      pV '       g   \        P                  VR&   \        WvRR7      p\         P"                  ! WX4       R# )im  rB   )rD   DateColmetricT)inplace21Drz   )r!   r   rk   r$   r   Nr   :NrO   N)r=   r   )r   nowr   r   r   r   r   r   	set_indexr   rK   rename
_with_freqfloat64r   r
   rZ   r   )	r$   
date_todayr8   r   r   r^   r=   r]   r_   s	   &        r   test_rolling_window_as_stringr  ~  s    Jjy~"=CHD773t9D	ItXt4	5BLLDL)ZZu!F6ZR	c%j  KK	"ET"EGGCIRZZ8MFFbmx@H6,r   c                      \        . ROR.R7      p V R,          P                  ^R^R7      P                  4       p\        . RORR7      p\        P
                  ! W4       R# )	r   ar   T)r$   r   r   N)r   rp   rO   rp   r   )rV   r1   r1   r1   rV   )r   r   r   r
   rZ   r   r   r^   r_   s      r   test_min_periods1r    sL    	?SE	2BW__Qt_;??AF/c:H6,r   c                     V ! \        ^4      4      P                  ^^R7      P                  4       pV ! \        P                  \        P                  RRR.4      p\
        P                  ! W4       R# )r   r   rW   N)r(   r   r   r   r   rZ   r   )r,   r^   r_   s   &  r   #test_rolling_count_with_min_periodsr    sR    U1X&..qa.@FFHFS#>?HOOF%r   c                     ^^^\         P                  ^^^.p. ROpV ! V4      P                  ^^ R7      P                  4       pV ! V4      p\        P
                  ! W44       R# )rp   r   N)rV   r1   rW   r1   r1   r1   rW   )r   r   r   r   rZ   r   )r,   valuesexpected_countsr^   r_   s   &    r   7test_rolling_count_default_min_periods_with_null_valuesr    sZ    Arvvq!Q'F9O V$,,QA,>DDFF/HOOF%r   zdf,expected,window,min_periodsrh   r   c           	          \        V 4      p V UUu. uF  w  rE\        WER 7      NK  	  ppp\        W`P                  W#R7      RR7       F  w  r\        P                  ! Wq4       K  	  R# u uppi )rE   r   FstrictN)r   zipr   rZ   r[   )r   r_   r!   r   r  r=   	expectedsactuals   &&&&    r   test_iter_rolling_dataframer%    sa    L 
2BGOPxOV6/xIP::f:>u 	f/ Qs   A)zexpected,windowr   c                 2   \        R . ROR. ROR\        R^RR7      /4      pV  UUu. uF$  w  r4\        W2P                  VR3,          R7      NK&  	  ppp\        WRP	                  VRR7      RR	7       F  w  r\
        P                  ! W`4       K  	  R
# u uppi )rh   r   r   z
2016-01-01rB   r   r;   rD   rE   )onFr   Nrp   rO   rq   rr   r   )rr   r   r         )r   r   locr"  r   rZ   r[   )r_   r!   r   r  r=   r#  r$  s   &&     r   test_iter_rolling_on_dataframer-    s    > 
,D	

B LTKS	&ucz 238    	::f:+EeT
f/ Us   *Bc                  6   \        R . ROR. RO/4      p \        V P                  R 4      P                  ^4      4      p^ .^ ^.^.3 Uu. uF  q P                  V^.3,          NK  	  pp\        WRR7       F  w  rE\        P                  ! WE4       K  	  R# u upi )r  bTr   N)r   r   r   r   rp   rO   )r   listr   r   r   r"  rZ   r[   )r   resultsidxr#  r^   r_   s         r   (test_iter_rolling_on_dataframe_unorderedr4  +  s    	C#y9	:B2::c?**1-.G01sQFQC.@A.@sqc"".@IA4@
f/ A Bs   Bz ser,expected,window, min_periodsint64r  c           	          V UUu. uF  w  rE\        WER 7      NK  	  ppp\        W`P                  W#R7      RR7       F  w  r\        P                  ! Wq4       K  	  R# u uppi )rE   r   Tr   N)r
   r"  r   rZ   r   )r   r_   r!   r   r  r=   r#  r$  s   &&&&    r   test_iter_rolling_seriesr7  4  sZ    F EMMH&,HIM;;v;? 	v0 Ns   Azexpected,expected_index,windowr   rB   rC   r   r   r   z
2020-01-05c           	          \        \        ^4      \        R^RR7      R7      p\        WRR7       UUu. uF  w  rE\        WER7      NK  	  ppp\        WcP	                  V4      RR7       F  w  r\
        P                  ! Wp4       K  	  R# u uppi )r   r   rB   r'  rE   Tr   N)r
   r(   r   r"  r   rZ   r   )r_   expected_indexr!   r   r  r3  r#  r$  s   &&&     r   test_iter_rolling_datetimer:  _  s    P q,PS!T
UC !$GGMV 	v!G  
  	;;v+>tL
v0 Ms   B
zgrouping,_indexlevelr   byXc                 &   R  p\        R\        ^4      /. ROR7      p\        R. R	O/VR7      pRV 9   d   VP                  RRR7      pVP                  ! R
/ V B P	                  ^4      P                  W2RR7      p\        P                  ! We4       R# )c                  n    \        V 4      ^8  d   \        R4      hV w  rVP                  4       V,          # )rO   z The function needs two arguments)r   r+   r   )argsr   scales   *  r   
scaled_sum4test_rolling_positional_argument.<locals>.scaled_sum  s1    t9q=?@@yy{U""r   r=  r   r<  ignore)r   errors)rb   r@  N)r   r   rp   rp   rp   )rU   r   rV   r   r1    )rO   )r   r(   rn   r   r   rc   rZ   r[   )grouping_indexrb   rB  r   r_   r^   s   &&&    r    test_rolling_positional_argumentrI    s    (# 
eAh	?Bs$=>fMHx==X=>ZZ#(#++A.44Zt4TF&+r   addc           
         \        \        R 4      \        R4      \        R4      .4      P                  V4      p\        RRV ,           RR./VR7      pVP	                  R4      P                  4       P                  RR	^R
7      P                  4       p\        R ^RVR7      p\        R\        P                  \        P                  \        P                  RRRR./VR7      p\        P                  ! WF4       R# )z19700101 09:00:00z19700101 09:00:03z19700101 09:00:06rh   gVUUUUU%CrU   rE   r   r   rz   rj   r   )r;   rD   unitgUUUUUU%CgqqCgqqCN       )r   r   as_unitr   resampleffillr   r   r   r   r   rZ   r[   )rJ  rL  dtir   r^   datesr_   s   &&     r   *test_rolling_numerical_accuracy_kahan_meanrS    s     )*)*)*	
 gdm  
	!C't45
B
 	D!))$v1)MRRT  *ACdKE"#$
	
 H &+r   c                      \        . ROR.R7      p V R,          P                  ^4      P                  4       p\        \        P
                  \        P
                  RRRR.RR7      p\        P                  ! W4       R# )	rh|@rU   r   r   gsh|??r  N'1Z)rU  rV  rU   rU   rU   rU   )r   r   r   r
   r   r   rZ   r   r  s      r   )test_rolling_numerical_accuracy_kahan_sumrW    s[    	6	FBW__Q##%Frvvrvvufc3?cJH6,r   c                  Z   \        R RRR7      P                  \        R.4      4      p \        P                  P                  ^4      P	                  \        V 4      4      p\        RV/V R7      pVP                  R4      P                  4       p\        P                  ! W2R.,          4       R# )r   r   60sr   endrD   r   r   rE   N)r   rY   r   r   randomdefault_rngr   r   r   r   rZ   r[   )r=   r   r   r^   s       r   $test_rolling_numerical_accuracy_jumpr^    s    \|%HOO|n%E 99  #**3u:6D	FD>	/BZZ##%F&fX,/r   c                      \        . RO\        RR4      R7      p V P                  ^4      P                  4       p\        P
                  ! W4       R# )(@S ?z
1999-02-03z
1999-02-06r   N)r`  ga2U0*3?rM  rM  )r
   r   r   r   rZ   r   )r   r^   s     r   ,test_rolling_numerical_accuracy_small_valuesra    s?    -|4	A YYq\ F6%r   c                     \        R ^
RR7      p \        \        ^
4      V \        P                  R7      pR	VP
                  ^&   VP                  ^4      P                  4       p\        \        P                  \        P                  \        P                  \        P                  R
R
R
RRR.
V R7      p\        P                  ! W#4       R# )z
2015-01-01rB   rC   )r   r=   r         @      @      @rE   NgТgk/)r   r
   r(   r   r  r   r   r   r   rZ   r   )rR  dsr^   r_   s       r   (test_rolling_numerical_too_large_numbersrg    s    |Rc:E	U2Ye2::	>BBGGAJZZ]!FFFFFFFFF	
 H 6,r   z2020-01-01 08:00z2020-01-01 08:08rZ  2minz2020-01-01 12:0030min1hr   c                     \        . ROV R7      p\        VP                  VRR7      V4      ! 4       p\        W0R7      p\        P                  ! WV4       R# )r   rE   rz   r   N)	r   rp   rO   rq   rr   r   r   r*  r+  r
   rP   r   rZ   r   )r=   r!   r   r  rf  r^   r_   s   &&&&   r   test_rolling_period_indexrm    sE    2 
+5	9BRZZvZ6=?Ff*H6,r   c                 >   V ! . RO4      pVP                  ^^R7      P                  4       p\        V\        4      '       d   \	        V^ ,          P
                  4      p\	        \        P                  .R.^,          ,           4      p\        P                  ! W#4       R# )r   r   r   Nr0  )
r   sem
isinstancer   r
   r  r   r   rZ   r   )r,   objr^   r_   s   &   r   test_rolling_semrr  .  sq    
)
$C[[[*..0F&)$$q	(()rvvh#*+H6,r   varstdc                 ~   \        V4      p\        VP                  VR 7      V 4      ! VR7      pVP                  4       '       d9   VVP	                  4       VP                  4       ^,            P                  RR7      p\        V4      p\        P                  ! WgRR7       \        P                  ! V^ 8H  V^ 8H  4       R# )r    ddofTrm   gvo4atolN)r
   rP   r   last_valid_indexfirst_valid_indexrs   rZ   r   )r   r  r!   rw  expected_valuestsr^   r_   s   &&&&&   r   test_rolling_var_correctnessr~  8  s    X 
BRZZvZ.54@F  $$&)@)@)BQ)F

+4+
  	 o&H6%86Q;A6r   c                 "   \        \        R 4      \        R4      \        R4      \        R4      \        R4      .4      P                  V 4      p\        P                  ! VRR..4      p\        R\        P                  \        P                  RRRRRRRR.
R\        P                  \        P                  RR	RR
RR	RR	.
/VR7      p\        R. ROR. RO/VR7      pVP                  RR7      P                  4       p\        P                  ! W54       R# )z20130101 09:00:00z20130102 09:00:02z20130103 09:00:03z20130105 09:00:05z20130106 09:00:06r   rh   g?rV   g     ?g?rE   r9   r    Ng      g6<AԿ)r   rp   rO   rr   rq   )r*  rr   r   	   rq   )r   r   rN  r	   r   r   r   r   r   rM   rZ   r[   )rL  rQ  miexpr   ress   &     r   ,test_timeoffset_as_window_parameter_for_corrr    s   
)*)*)*)*)*	
 gdm  
	 	 #Sz!2	3B
"#"" "#"""	
4 7C< 
	osO4
B
 **D*
!
&
&
(C##r   methodr   skewkurtc                   \        R\        P                  ! R^
4      ^,          /4      p\        RVR,          RRR	1,          /VP                  RRR	1,          R7      p\	        VP                  ^R7      V 4      ! 4       p\	        VP                  ^R7      V 4      ! 4       p\        P                  ! VP                  RRR	1,          RR
 VP                  R,          RR7       R# )zZ
Make sure that decreasing indices give the same results as increasing indices.

GH 36933
r  NrE   r    :rr   NNg-q=rx  ir'   )	r   r   rH   r=   rP   r   rZ   assert_almost_equalr  )r  r   
df_reverse
increasing
decreasings   &    r   test_rolling_decreasing_indicesr    s     
HbiiR0A56	7BHbl4R4&89$B$PJ1-v68J++1+5v>@J$B$$j&7&7&;%r   rc  rd  c                   \        R^RR7      pV! \        ^4      VR7      pV! \        ^4      VRRR1,          R7      pV! W$R7      pV! W$RRR1,          R7      pVP                  WRR7      P                  4       p	VP                  WRR7      P                  4       p
\        P
                  ! W4       \        P
                  ! W4       R# )	zN
Ensure that a symmetrical inverted index return same result as non-inverted.
ri   r   rC   rE   NTr   r'   )r   r(   r   r   rZ   r   )r!   rk   r_   r,   r=   df_incdf_decexpected_incexpected_dec
result_inc
result_decs   &&&&       r   (test_rolling_decreasing_indices_centeredr    s    & vqt4EU1XU3FU1XU4R4[9F"89L"82;?LdCGGIJdCGGIJOOJ-OOJ-r   zwindow,expected1ns3nsc                     \        R ^RR7      pV! . ROV\        R7      pV! W$\        R7      pVP                  WRR7      P                  4       p\        P
                  ! Wb4       R# )ri   r  rC   r   Tr   N)rp   rp   rp   rp   )r   r   r   r   rZ   r   r   s   &&&&   r   )test_rolling_center_nanosecond_resolutionr    sS     vqu5E	U%	@BxEBHZZdZ;??AFOOF%r   zmethod,expectedr   g     E@g
a@g     E@gCݽW@g     f@g     s@g     5@g`UU"@g      *@g     1@g      >@g     U@g     K@g     V@g     a@g/e?g8j{?gLM?g4`i?g
+TT?g?c                (   . ROp\        R\        P                  ! \        V4      4      ^,          /4      p ! R R\        4      pV! ^VR7      p\        VP                  V4      V 4      ! 4       p\        RV/4      p\        P                  ! Wa4       R# )z
Make sure the (rare) branch of non-monotonic indices is covered by a test.

output from 1.1.3 is assumed to be the expected output. Output of sum/mean has
manually been verified.

GH 36933.
r  c                   &   a  ] tR tRt o R tRtV tR# )1test_rolling_non_monotonic.<locals>.CustomIndexeriJ  c                H   \         P                  ! V\         P                  R 7      p\         P                  ! V\         P                  R 7      p\        V4       FE  pV P                  V,          '       d   ^ Wh&   V^,           Wx&   K-  WV&   WP
                  ,           Wx&   KG  	  Wg3# )r  )r   emptyr5  r(   use_expandingwindow_size)	self
num_valuesr   r$   rk   rG   r   r[  r   s	   &&&&&&   r   get_window_boundsCtest_rolling_non_monotonic.<locals>.CustomIndexer.get_window_boundsK  s}    HHZrxx8E((:RXX6C:&%%a(( EHUCF !H!1!11CF ' :r   rF  N)__name__
__module____qualname____firstlineno__r  __static_attributes____classdictcell____classdict__s   @r   CustomIndexerr  J  s     
	 
	r   r  )r  r  N)TFTFTTTT)	r   r   rH   r   r   rP   r   rZ   r[   )r  r_   r  r   r  r   r^   s   &&     r   test_rolling_non_monotonicr  	  s|    | GM	HbiiM(:;q@A	BB  GGRZZ(&13F(H-.H&+r   z
2001-01-01)rD   r;   c                 *   \        . ROV R7      pVP                  4       pRVP                  R&   VP                  V4      P	                  V4      p\        \
        P                  \
        P                  ^^^.V R7      p\        P                  ! WE4       R# )rp   rE   rU   :r   rO   NNr)  )	r
   copyr   r   rM   r   r   rZ   r  )r=   r!   r   r   r^   r_   s   &&    r   !test_rolling_corr_timedelta_indexr  ^  sn     	e,A	AAFF3KYYv##A&Frvvrvvq!Q/u=H6,r   zvalues,method,expectedr   re         @      "@      $@firstlastc                 >   \        V 4      p\        VP                  ^4      V4      ! 4       p\        V4      p\        P                  ! WB4       \        RV /4      p\        VP                  ^4      V4      ! 4       p\        RV/4      p\        P                  ! WB4       R# )rq   rh   Nr
   rP   r   rZ   r  r   r  r  r_   r   r^   s   &&&  r   test_rolling_first_lastr  o  s}    6 	vAQYYq\6*,FhH6,3- AQYYq\6*,F#x)H6,r   c                 F   \        V 4      p\        VP                  ^^ R7      V4      ! 4       p\        V4      p\        P                  ! WB4       \        RV /4      p\        VP                  ^^ R7      V4      ! 4       p\        RV/4      p\        P                  ! WB4       R# )rq   r   rh   Nr  r  s   &&&  r   test_rolling_first_last_no_minpr    s    6 	vAQYYqaY0&9;FhH6,3- AQYYqaY0&9;F#x)H6,r   c            	      r   R R\         P                  RR\         P                  .R. R
O/p \        V 4      pVP                  R RR7      P	                  ^^R7      P                  4       p\        R. RO/\        RR\         P                  .. R
O.. RO. RO.R R.R7      R	7      p\        P                  ! W#4       R# )groupg1g2r   F)dropnar   Nr   rE   ro   )rU   r1   rW   rV   r   )r   r   rp   rO   rO   )r   rO   rq   rp   rr   )	r   r   r   r   r   r   r	   rZ   r[   )r   r   r^   r_   s       r   !test_groupby_rolling_nan_includedr    s    dBFFD$7oND	4BZZZ.66qa6HMMOF	'( D"&&!?3o.D/
H &+r   c                 ~   \        \        P                  P                  ^4      P                  ^
4      4      pVP	                  4       p\        VP                  ^4      V 4      ! 4       p\        P                  ! W4       VR,           p\        VP                  ^4      V 4      ! 4       p\        P                  ! WC4       R# )rO   iP  N)	r
   r   r\  r]  r  rP   r   rZ   r   )r  r   ser_copyr_   r^   s   &    r   *test_rolling_skew_kurt_numerical_stabilityr    s     &&q)004
5CxxzHs{{1~v.0H3)
+CS[[^V,.F6,r   r   c                     \        V4      p\        VP                  ^4      V 4      ! 4       p\        V4      p\        P                  ! WE4       R# )rr   Nrl  )r  r   r  r   r^   r_   s   &&&   r   (test_rolling_skew_kurt_large_value_ranger    s;    6 	tAQYYq\6*,Ff~H6,r   c                 `   ^
p^p^p\         P                  P                  ^4      pVP                  RRVR7      p\	        VRV 4      P                  V4      p\	        V4      P                  V4      p\        W`4      ! 4       p\        Wp4      ! 4       p	V	RV p
\        P                  ! WRR7       R# )r@   rU   g     @@)r,  rA  sizeNT)check_exact)	r   r\  r]  normalr
   r   rP   rZ   r   )r  len_smaller
len_biggerr  rngr   window_smallerwindow_biggerresult_smallerresult_biggerresult_bigger_trimmeds   &          r   'test_same_result_with_different_lengthsr    s     KJK
))


"C::#Sz::DD+./77DN4L((5M^46NM24M),;7>dSr   c                      \         P                  ! \        R R7      ;_uu_ 4        \        \	        ^4      4      P                  ^RR7       RRR4       R#   + '       g   i     R# ; i)z!method must be 'table' or 'singler%   r2   )r  N)r)   r*   r+   r
   r(   r   rF  r   r   test_invalid_methodr    s@    	z)L	M	MuQx  5 1 
N	M	M	M   &AA&	c                 \   R p\         P                  ! \        VR7      ;_uu_ 4        \        RRRR7      pV ! \	        ^^4      VR7      pVP                  RRR7      P                  4       pR	R	R	4       V ! \        P                  ^^.XR7      p\         P                  ! XV4       XP                  R	R	R1,          P                  R
RR7      P                  4       p\        RRRR7      pV ! \        P                  ^^.VR7      p\         P                  ! WE4       R	#   + '       g   i     L; i)z:'d' is deprecated and will be removed in a future version.r%   r   r   1drZ  rE   rz   r   Nr   z-1Dr'   )rZ   assert_produces_warningr   r   r(   r   r   r   r   r   r   )r,   r.   r3  rq  r^   r_   s   &     r   .test_rolling_descending_date_order_with_offsetr    s    
FC		#	#N#	>	>|DIeAqk5T&1557 
?
 1~S9HOOFH%XXdd^##D#8<<>F
<\
FC1~S9HOOF% 
?	>s   ADD+	c                      \        . RO4      p V P                  ^4      P                  4       p\        \        P                  \        P                  R^ .4      p\
        P                  ! WRRR7       \
        P                  ! V^ 8H  V^ 8H  4       R# )r*  V瞯<ry  rtolN)r*  r   r   r   UUUUUU?)r
   r   rs  r   r   rZ   r   r   s      r   ,test_rolling_var_floating_artifact_precisionr  )  si    |AYYq\Frvvrvvua01H6'H 6Q;A6r   c                      \        . RO4      p V P                  ^4      P                  4       p\        \        P                  RR.4      p\
        P                  ! WRRR7       R# )Q؎>g[^>>r  r  N)r  g 4PSȡ>r  )r
   r   rt  r   r   rZ   r   r   s      r   test_rolling_std_small_valuesr  4  sP    	
	A YYq\Frvv{K89H6'Hr   zstart, exp_valuesc                 D   \        R R R\        P                  RR\        P                  \        P                  \        P                  \        P                  \        P                  \        P                  RR.4      p. VORNRNRNRN\        P                  N\        P                  NRNRNp\        V\        \	        V \        V4      V ,           4      4      R7      pVP                  V R	 P                  ^^ R
7      P                  4       p\        P                  ! WT4       R	# )Q?MbP?Mb`?Mb?{Gzt?皙?<#	n?g=
ףp=?rE   Nr   )r   r   r   r1  r(   r   r   r   r   rZ   r[   )r   
exp_valuesr   r  r_   r^   s   &&    r   3test_rolling_mean_all_nan_window_floating_artifactsr  B  s    
FFFFFFFFFFFFFF	

B&
	

 	
 		

 	
 	
 	
 	
 	
F 5Fe 345H WWUV_$$QA$6;;=F&+r   c                     \        R RR\        P                  \        P                  \        P                  .4      p V P                  ^^ R7      P	                  4       p\        . RO4      p\
        P                  ! W4       R# )r  r  r  r   N)r  g{Gz?gQ?g9v?r  rU   )r   r   r   r   r   rZ   r[   r  s      r   2test_rolling_sum_all_nan_window_floating_artifactsr  q  sY    	E5%@	ABZZqZ)--/FABH&+r   c                      \        \        ^4      4      p V P                  ^ 4      P                  4       p\        \        P
                  .4      p\        P                  ! W4       R# )rp   N)r
   r(   r   r   r   r   rZ   r   r   s      r   test_rolling_zero_windowr  y  sD    uQxAYYq\FrvvhH6,r   pct	test_datac           
        aaa ^pVR8X  d:   \        \        P                  P                  ^4      P                  V4      R7      pMVR8X  d;   \        \        P                  P                  ^4      P	                  ^V4      R7      pMqVR8X  dk   \        \        P                  P                  ^4      P	                  RRR\        P
                  \        P                  \        P                  ) .V4      R7      pXP                  V 4      P                  VVV3R l4      pVP                  V 4      P                  SSSR	7      p\        P                  ! W4       R
# )r   defaultr   
duplicatesnansrV         ?      ?c                 N   < V P                  SSSR 7      P                  R,          # )r  r  	ascendingr'   )rankr   )r   r  r  r  s   &r   <lambda>test_rank.<locals>.<lambda>  s    !&&C9&EJJ2Nr   r  N)r
   r   r\  r]  choicer   infr   rc   r   rZ   r   )	r!   r  r  r  r  lengthr   r_   r^   s	   &fff&    r   	test_rankr    s   
 FI"))//299&AB	l	""))//299!VDE	f	&&q)00dD"&&"&&266':F
 {{6"((NH [[ %%V	%RF6,r   c           
         ^pVR8X  d:   \        \        P                  P                  ^4      P                  V4      R7      pMVR8X  d;   \        \        P                  P                  ^4      P	                  ^V4      R7      pMVR8X  dl   \        \        P                  P                  ^4      P	                  RRR\        P
                  \        P                  \        P                  ) .V4      R7      pM$VR8X  d   \        . RO\        P                  R	7      pXP                  V 4      P                  R
 4      pVP                  V 4      P                  4       p\        P                  ! WT4       R# )r   r  r  r  r  rV   r  r  	precision)r   r   c                 "    V P                  4       # N)nunique)r   s   &r   r  test_nunique.<locals>.<lambda>  s
    199;r   N)
333333?g433333?333333?g433333??g?r   r   皙?r  )r
   r   r\  r]  r  r   r  r  r   rc   r  rZ   r   )r!   r  r  r   r_   r^   s   &&    r   test_nuniquer    s    FI"))//299&AB	l	""))//299!VDE	f	&&q)00dD"&&"&&266':F

 
k	! **
  {{6"(()>?H[[ ((*F6,r   c                     ^
p ^p\        RV RR7      p\        \        P                  P	                  ^4      P                  W,          4      P                  V R34      VR7      pVP                  . RO^ R7      p\        P                  ! V. R	O^ R7      p\        P                  ! VP                  \        P                  ! V4      4       R# )
r@   20100101r   rC   rE   )axisNr'   )r  r   r  )   2   K   )r   r   r   r\  r]  reshaper   
percentilerZ   r  r  r   )rowcolr3  r   df_quantilenp_percentiles         r   #test_rolling_quantile_np_percentiler    s     C
C
Z3
7C	
		a ''	2::C9ES
B ++/a+8KMM"l;M;--rxx/FGr   r   r   interpolationr  r   r  gffffff?r  c                    \        V4      pVP                  W4      pVP                  ^R7      P                  W4      P                  R,          p\        P
                  ! V4      '       d!   \        P
                  ! V4      '       g   Q hR# \        '       g'   \        P                  ! V.V.R^ R7      '       g   Q hR# WE8X  g   Q hR# )rp   r   gHz>)r  ry  Nr'   )r
   r   	expandingr   r   isnanr   allclose)r   r  r   r   q1q2s   &&&   r   +test_rolling_quantile_interpolation_optionsr&    s    & 	tA	
H	,B	
	#	,	,X	E	J	J2	NB	xx||xx|||T{{B4"E::::xxr   c                  (   \         P                  ! ^4      p \        V 4      pRp\        P                  ! \
        VR7      ;_uu_ 4        VP                  \        V 4      ^R7      P                  RRR7       RRR4       R#   + '       g   i     R# ; i)r   z(Interpolation 'invalid' is not supportedr%   r   r   invalid)r  N)	r   rH   r
   r)   r*   r+   r   r   r   )r   r   r.   s      r   test_invalid_quantile_valuer)    sa    99Q<DtA
4C	z	-	-			#d)	+44S	4R 
.	-	-	-s   .B  B	c                  n   \        . RO4      p Rp\        P                  ! \        VR7      ;_uu_ 4        V P	                  ^4      P                  R	4       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        V P	                  ^4      P                  R4       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        V P	                  ^4      P                  R4       RRR4       R#   + '       g   i     L; i  + '       g   i     Lt; i  + '       g   i     R# ; i)
rU   z#quantile value -0.1 not in \[0, 1\]r%   Nz#quantile value 10.0 not in \[0, 1\]r  zmust be real number, not strr2   )rU   r   r   r  rV   g)r
   r)   r*   r+   r   r   	TypeError)r   r.   s     r   test_rolling_quantile_paramr,    s    
*
+C
1C	z	-	-A% 
. 2C	z	-	-A% 
. )C	y	,	,A& 
-	, 
.	- 
.	- 
-	,	,s#   !C=!D!D#=D	D 	#D4	c                  H   \        . RO4      p V P                  ^^R7      P                  4       p\        \        P                  .^,          4      p\
        P                  ! W4       V P                  ^^R7      P                  ^ R7      p\        R.^,          4      p\
        P                  ! W4       \        \        P                  \        P                  ^^^.4      P                  ^^R7      P                  4       p\        P                  ! V^,          4      '       g   Q hR# )rV   r   rv  rU   N)rV   r1   rW   r   rc  )r
   r   rt  r   r   rZ   r   r"  )valsr^   r_   s      r   test_rolling_std_1obsr/    s    +,D\\!\+//1Frvvhl#H6,\\!\+//Q/7Fseai H6,RVVRVVQ1-.66qa6HLLNF88F1Ir   c                  l   \        . RO4      p V P                  ^R7      P                  4       p\        P                  ! VR,          4      P                  4       '       g   Q hV P                  ^R7      P                  4       p\        P                  ! VR,          4      P                  4       '       g   Q hR# )e>R?r    :rO   NN)spanN)r1  Rz12?r3  r3  r3  )r
   r   rt  r   isfiniteallewm)r  r/  s     r   test_rolling_std_neg_sqrtr7    s    
 		
	A 	
			!A;;qu!!####	1A;;qu!!####r   c                      \         P                  ! \        R R7      ;_uu_ 4        \        \	        ^4      4      P                  ^RR7       RRR4       R#   + '       g   i     R# ; i)zstep must be an integerr%   r2   rF   Nr)   r*   r+   r   r(   r   rF  r   r   test_step_not_integer_raisesr:  ,  s@    	z)B	C	C%(##AE#2 
D	C	C	Cr  c                      \         P                  ! \        R R7      ;_uu_ 4        \        \	        ^4      4      P                  ^RR7       RRR4       R#   + '       g   i     R# ; i)zstep must be >= 0r%   rF   Nr'   r9  rF  r   r   test_step_not_positive_raisesr<  1  s?    	z)<	=	=%(##AB#/ 
>	=	=	=r  g     @D@c                    \        V4      p\        V 4      pVP                  WR 7      P                  4       p\        P                  ! WS4       \        P                  ! V^ 8H  V^ 8H  4       VP                  WR 7      P                  4       p\        P                  ! V\        P                  ! V4      4       \        P                  ! V^ 8H  V^ 8H  4       R# )r   N)r
   r   rs  rZ   r   rt  r   sqrt)r  r!   r   r_   sr
result_var
result_stds   &&&&   r   'test_rolling_var_same_value_count_logicrB  6  s    d hH	B F<@@BJ :08q=*/: F<@@BJ:rwwx'898q=*/:r   c                      \        . RO4      p V P                  ^4      pVP                  4       pVRR ^ 8H  P                  4       '       g   Q hVP	                  4       pVRR ^ 8H  P                  4       '       g   Q hR# )rp   NUUUUUU?rr   r   r   r   r   r   r   )r
   r   r   r5  r   )r?  rr^   s      r   (test_rolling_mean_sum_floating_artifactsrG    sr     
)	*B


1AVVXF23K1!!####UUWF23K1!!####r   c            	         \        . RO4      p V P                  ^4      pVP                  4       p\        \        P                  \        P                  \        P                  RRRR.4      p\
        P                  ! W#4       VP                  4       p\        \        P                  \        P                  \        P                  RRRR.4      p\
        P                  ! W#4       R# )	rp   g87c?r1   rU   gt﬩@r   NrD  g      )r
   r   r  r   r   rZ   r   r  )r?  rF  r^   r_   s       r   )test_rolling_skew_kurt_floating_artifactsrI    s     
)	*B


1AVVXFrvvrvvrvv/A3SQRH6,VVXFrvvrvvrvv/A3dSTH6,r   c                    T p\        R ^.R^R^/4      pVR,          P                  \        4      VR&   VP                  ^^R7      p\	        WB4      pV! VR7      pV'       d   R R.M. ROpW7,          P                  V.4      P                  RR7      P                  \        4      p\        VP                  4      V8X  g   Q h\        P                  ! Wh4       R# )	r  r/  r-   r   numeric_onlyTrm   Nr  r/  r-   )r   r   objectr   rP   rK   rs   r   r1  r   rZ   r[   )	rt   rL  kernelr   r   opr^   r   r_   s	   &&       r   test_numeric_only_framerQ    s    %F	C!c1c1-	.BgnnV$BsGjjj*G		!B\*F(sCjoG{x(44$4?FFuMH  !W,,,&+r   rO  use_argc                    \        R . ROR^R^/4      pVR,          P                  \        4      VR&   V'       d   V3MRpVP                  ^^R7      p\	        WP4      pV! VRV/ pV'       d   R R.M. ROpW8,          P                  \
        4      p	V'       d   V	3MRp
V	P                  ^^R7      p\	        W4      pV! V
RV/ p\        P                  ! W}4       R# )	r  r/  r-   r   rL  Nrp   rO   rq   rF  rM  )r   r   rN  r   rP   r   rZ   r[   )rO  rL  rR  r   argr   rP  r^   r   df2arg2rolling2op2r_   s   &&&           r    test_numeric_only_corr_cov_framerZ    s     
CCC3	4BgnnV$BsG2%Cjjj*G		!B0<0F )sCjoG
+

U
#CC6"D{{1!{,H
(
#CD4|4H&+r   r   c                    T p\        ^.VR7      pVP                  ^^R7      p\        WS4      pV'       dI   V\        J d?   RV R2p\        P
                  ! \        VR7      ;_uu_ 4        V! VR7       RRR4       R# V! VR7      pVP                  V.4      P                  RR	7      P                  \        4      p	\        P                  ! W4       R#   + '       g   i     R# ; i)
rp   r  r   Rolling.  does not implement numeric_onlyr%   rK  NTrm   )r
   r   rP   rN  r)   r*   rI   rK   rs   r   r   rZ   r   )
rt   rL  r   rO  r   r   rP  r.   r^   r_   s
   &&&       r   test_numeric_only_seriesr^    s     &F
!E
"Ckk!k+G		!B @A]].c::L) ;: .77F8$00d0;BB5I
v0 ;::s   +
CC&	c                    \        . ROVR7      pV'       d   V3MR	pVP                  ^^R7      p\        W`4      pV'       dH   V\        J d>   RV  R2p\        P
                  ! \        VR7      ;_uu_ 4        V! VRV/  RRR4       R# V! VRV/ p	VP                  \        4      p
V'       d   V
3MR	pV
P                  ^^R7      p\        W4      pV! VRV/ p\        P                  ! W4       R#   + '       g   i     R# ; i)
rp   r  r   r\  r]  r%   rL  NrT  rF  )r
   r   rP   rN  r)   r*   rI   r   r   rZ   r   )rO  rR  rL  r   r   rU  r   rP  r.   r^   ser2rW  rX  rY  r_   s   &&&&           r   !test_numeric_only_corr_cov_seriesra    s    
 %
(C3&Ckk!k+G		!B @A]].c::/,/ ;: S4|4zz% !wr<<q<1h'8<8
v0 ;::s   7	C22D	r  c                 `   \        R \        ^4      /\        RR^VRR7      R7      pVP                  R4      P	                  4       pVP
                  P                  V 4      Vn        VP                  R4      P	                  4       pVP
                  P                  R4      Vn        \        P                  ! W44       \        RRRVR7      p\        ^ VR7      p^VP                  ^ &   VP                  \        ^R	7      4      P                  4       p\        RRWR7      p\        ^ VR7      p	^V	P                  ^ &   V	P                  \        ^R	7      4      P                  4       p
\        V4      p\        V
4      pVP
                  P                  R4      Vn        \        P                  ! W4       R
# )rh   z
2013-01-01r   ns)rD   r;   r  rL  rE   z
2023-01-01z
2023-01-10)rL  r  r7   N)r   r(   r   r   r   r=   rN  rZ   r[   r
   r   r   r   )rL  r  rw   sum_in_nanosecssum_in_microsecs	ref_dates
ref_seriesref_max_seriesrR  series
max_seriesref_dfr   s   &&           r   -test_rolling_timedelta_window_non_nanosecondsrl    s]    	eAhD!NG ood+//1OMM))$/GMt,002-33;;DA/< <DRHI+JJOOA''	q(9:>>@N|\DEAU#FFKKN	q 12668J~&F	:	Bxx%BH&%r   c                   <   a a ] tR tRt oV 3R ltRR ltRtVtV ;t# )PrescribedWindowIndexeri  c                <   < Wn         W n        \        SV `  4        R # r
  )_start_endsuper__init__)r  r   r[  	__class__s   &&&r   rs   PrescribedWindowIndexer.__init__  s    	r   c                    Vf   \        V P                  4      p\        P                  ! V P                  ^ V4      p\        P                  ! V P                  ^ V4      pWg3# r
  )r   rp  r   cliprq  )r  r  r   r$   rk   rG   r   r[  s   &&&&&&  r   r  )PrescribedWindowIndexer.get_window_bounds  sL     T[[)JQ
3ggdiiJ/zr   )rq  rp  )NNNNN)	r  r  r  r  rs  r  r  r  __classcell__)rt  r  s   @@r   rn  rn    s     
 r   rn  c            
          a  ] tR tRt o ]P
                  P                  RRR. R	O3RR. R
O3RR. RO3RR. RO3.4      R 4       tR tRt	V t
R# )
TestMinMaxi  zis_max, has_nan, exp_listTFc           	        . ROp\        R. ROR. ROR. R	O/4      pV'       d    \        P                  VP                  VR3&   \	        VRR7      pVP
                  P                  \        VP                  P                  4       VP                  P                  4       4      4      pV'       d   VP                  4       pMVP                  4       p\        P                  ! W4       R# )
r   r   r   r[  r  N)r   r   r+  )
rc  r   rW   r1   rV   rU   rd  re  r  r  )
rO   r   rq   r   rr   r   r   r   r*  rq   )
rq   rr   rr   r   r   r   r*  r+  r  r@   )r   r   r   r,  r
   r   r   rn  r   to_numpyr[  r   r   rZ   r   )	r  is_maxhas_nanexp_listnan_idxr   r_   rF  r^   s	   &&&&     r   test_minmaxTestMinMax.test_minmax  s     J76
 &(ffBFF7F?#(0GGOO#BHH$5$5$79JK
 UUWFUUWF
v0r   c                   \         P                  ! \        ^4      \         P                  R7      pV^,           pV^,          V^&   V^,          ^,
          V^&   \	        RVR,          RVRV/4      pVP
                  P                  \        W4      4      p\        P                  ! \        RR7      ;_uu_ 4        VP                  4        RRR4       R#   + '       g   i     R# ; i)	r   r  r   rV   r   r[  z5Start/End ordering requirement is violated at index 3r%   N)r   r   r(   r5  r   r   r   rn  r)   r*   r+   r   )r  r   r[  r   rF  s   &    r   test_wrong_orderTestMinMax.test_wrong_order7  s    q2aiQA8a<aWeUCHIGGOO3E?@]]U
 
 EEG
 
 
 
s   8CC$	rF  N)
rW   rc  r1   rc  rV   rc  rd  re  r  r  )
rW   r   r1   r   rV   r   rd  re  re  r  )
rW   r1   r1   rV   rV   rU   rU   rU   re  rU   )
rW   r1   r1   rV   rV   rV   rd  rd  re  rV   )r  r  r  r  r)   markparametrizer  r  r  r  r  s   @r   r{  r{    sd     [[#5LM4KLEMNDLM		
11, r   r{  )TTFFF)TTTFF)FTTTF)FFTTT)FFFTT)TFFFF)FTTFF)FFTTF)FFFFT)FTFFF)FFTFF)FFFTF)rW   rW   rW   )rW   r1   r1   )rV   rW   rW   r   )rr   rr   rr   rr   rr   rr   rO   rO   )rO   rO   rr   rr   rr   rr   rr   rr   )rr   rr   r   r   r   r   rr   rr   )rO   rO   rO   rO   rO   rO   rO   rO   )
r   rp   rq   r   r@                  )
r   rp   rq   r   r@      r            )
r   rp   rq   r   r@   r  r     r  r  )
r   rp   rq   r   r@   r  r  r  r  r  )
rU   r   r   rp   rO   rq   rr   r   r   r*  )
rU   r   r   r   rp   rO   rq   rr   r   r   )
rU   rp   rO   rq   rr   r   r   r*  r+  r  )
r   r   rp   rO   rq   rr   r   r   r*  r+  )
r   r   rp   r   r   r   r   r   r   r   rT  )rr   r   r   r0  )rO   rq   rr   )r   r   r  rp   rp   r  r  )r  )rp   r   )rO   rp   )rq   rp   )rr   rp   )r=   r!   )r   r  )r   r  r!   rw  r|  )   ;rp   rp   rO   rq   rp   rp   )|Fr   r   r   rO   r   ) >gfoCr   Pp?r  绹۞?r   )r  rp   rO   rO   rq   rp   rp   )r  r   r   r   rO   r   )r  r  r   r  r  r   )g     @g |Cg xbACg     ,@g     @)g i\DitCg ,ICg p'wCg$+H@)
rU   rU   g,`)M<gkZ5P<gMpۢj5rU   rU   g0A6g8nA0rU   )gK8=A +b9r  g1mib9g*14,r  r  )rp   r'   r   rp   rq   rO   l    d(	 rp   rO   r   r  rp   rq   r   rp   )g'e?g?  ڷjAr  r  r  r  r  gM?g?g.jJ?)rs  r   r   r  r  r   r   )rV   rW   rc  rW   )rU   rV   rW   rc  )rV   rW   rd  rc  )rU   rV   r1   rW   )rV   rV   rV   rV   )r1   rW   rW   r1   g %bgOq&g zCen@gk=Cпg~~׿gf`8gݿro   )
rV   r1   rW   r   rc  rd  re  r  r  r  )
rV   rV   rV   r1   rW   r   rc  rd  re  r  )
rV   rV   rV   rW   rW   rc  rc  re  re  r  )
rV   rV   rW   rW   rc  rc  re  re  r  r  )r  r   r  )i- rp   rp   rO   rq   rr   i  )r1   g+X?rU   gJ_9?)g    .Ag    .rp   rO   rq   rr   r   r   )gT׾g       rU   rU   rU   )r   gBʠ333333g >@)r   r   r  r  r  )r  X9v?r  gI+?gˡE?)r  r  g~jtX?r  )rp   rq   r@   r   )r   r   average)r  r  r  )r  r  r  r  )rU   r   g?r   rp   )linearlowerhighernearestmidpoint)rV   r1   rW   r   rc  rd  re  )r  rV   rW   r   rc  r1   rd  re  )r  r!   r   r_   g@@rE  gUUUUUU8@r  )rp   rp   r  r   gUUUUUU@)NUTCzEurope/Prague)|r   r   numpyr   r)   pandas.compatr   pandas.errorsr   pandasr   r   r	   r
   r   r   r   r   pandas._testing_testingrZ   pandas.api.indexersr   pandas.core.indexers.objectsr   pandas.tseries.offsetsr   r   r/   r  r  r   r6   rJ   rR   r`   rf   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r%  r-  r4  r7  r:  from_tuplesrI  rS  rW  r^  ra  rg  rm  rr  r~  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r)  r,  r/  r7  r:  r<  r  rB  rG  rI  rQ  rZ  r   rN  r^  ra  rl  rn  r{  rF  r   r   <module>r     s  
   )	 	 	  + D .'( sE288QC=9:- ;-. qq#\15k!n	
	
	)
	) 0 1 I1$5ya7H#IJ, K,& I1$5ya7H$#OP9 Q9",$  10001		
 21111		
 11112		
 22222		
?),Z?[,Z?, 	w(	v'	v'	y/*	w(	v'	v'	y/*	&&" 	w01	v/0	v/0	y23	&&0 	"&&"&&!Q2r2r2>?	RVVRVVQ1aAr1=>	67	56	&&2 	"&&"&&!Q2r2r2>?	RVVRVVQ1b"b"a@A	67	56	&&6-,4 Iv#67- 8- %0F 1F %0- 1- (89	9:	89		BFFAq!Q1aA>?	Aq!Q1a;<	9:	89		BFFAq!Q1aA>?	Aq!Q1a;<		- :	-- 	"&&!Q1aArvvrvvFG	Aq!Q1a@A		BFFBFFAq!Q1bffbffMN	Aq!Q1bffEF	"&&!Q1aArvvrvvFG	Aq!Q1a@A		BFFBFFAq!Q1bffbffMN	Aq!Q1bffEF	-- 	23	?@	RVVQS#sCc3GH	"&&!S!Q1aA67	
-
- D!9-, .,	---2,,-,.-,-&& $ )S),sC!%s+1vsQF+aV4y#y19=
 		
 )S),sC!%s+1vsQF+aV41vsQF+aV4
 		
 )S),sC!%s+1vsQF+aV41vsQF+aV4
 		
 )S),sC!%s+sC!%s+sC!%s+
 		
 )S),sC!%s+sC!%s+sC!%s+
 		
 sC!	r1d+
sC!	r1a(	Rz1d#1bffa.#1~6ucBFF8,qc2266{C"&&!51v>2661~sRVVQN;YG
 		
m@CH0ICH0  sC!%s+1vsQF+aV41vsQF+aV4
 	
 sC!%s+1vsQF+aV4y#y19=
 	
 sC!%s+sC!%s+sC!%s+
 	
#:0;:0"0 & 9cA3Z1a&1a&)Iy+AB		
 9cA3Z1a&1a&)Iy+AB		
 9cA3Z1a&1a&)QFQF+;<		
 9cA3Z1a&1a&)QFQF+;<		
 
		qcA3Z1#sqcA3Z@!QG			qcA3Z1#sqcA3Z@!QG	AA3*1v1v&67A>	'	"B1-9 B1C B1 $ S1#sQC!%<=<=<=<=<= 
	
 S1a&1a&1a&1a&1<=<=<=<=<= 
	
 S1a&)Y	:<=<=<=<=<= 
	
/"%L
1M%L
1  aL""8t	
 3K""8d	
",#",& c
+, ,,D-	0&-0  17IPUV	

 (.@w 		
 	Aq!Q1a01	Aq!Q1a01	Aq!Q2r23-.-- ;	5q!=VW1?	
 
5q!=VW1?	
 8@	
  	!	
8 I	
gFIT7UIT72$j #WX Y" 	w,-	v+,	v+,	y./	w,-	v+,	v+,	y./	..( 	$%	$%&&  ee		
 5\3edC4N	

 5\4utT4uM	

 ee		
 e#e#$"$$		
G03h,i3h,B 	!	LsA	6=--  @5\5<c3S#sCP	
 "&&#rvvsBFFCbffM5\NR	
 @5\5<c3S#sDQ	
 "&&#rvvsBFFCbffM5\NR	
!2
-32
-  @>	
 "&&#rvvsBFFCbffM>	
 @?	
 "&&#rvvsBFFCbffM>	
!2
-32
-,, FF#34- 5-   )VVHqL99	
 )VVHqLAA	
 )VVHqL;;	
 )VVHqL77	
!2-32- FF#34T 5T&2
&$7I 	
23	
./%,%,P,- >2#<=u.&GH- I / > 3-* >2&TU - V 3 -FH  %=>I 
+0	bffc2663'	(	bffc3,		c ? "S'$*3
0
 3 RAq!,VVR!T1eQ7		
 RQ1-VVR!Qfa8		
 VVQ1aA&VVHqL++		
 1aAq!4VVHqLE1:%14qzA		
 1aAq!4VVHqLE1:%14{B		
 FQJVVHqLE7Q;&		
 1bffaA&VVQ!q(E72		
K+.^;_.^;6$
-,  FE?3T5M2, 3 4,( 3-01 11  FE?3T5M23-01 1 3 41* =>& ?&>k  , ,r   