Ë
    ¤ehR>  ã                   ót	  — d dl Zd dlZd dlmZmZmZmZmZ d dl	m
Z d dlmZmZ d dlmZmZmZ d dlmZ d„ Zd„ Zd„ Zd	„ Zej2                  j5                  d
dedddddddddej8                  g
i fdej:                  dddddddddej8                  g
i fdej<                  dddddddddej8                  g
i fdej>                  dddddddddej8                  g
ddifdej@                  dddd d!d"ddd#ej8                  g
ddifd$ejB                  ddddddddd%ej8                  g
i fg«      d&„ «       Z"d'„ Z#ej2                  j5                  d(d)dddd*dd+ddej8                  ej8                  g
fd,dddd-d.d/ddej8                  ej8                  g
fg«      d0„ «       Z$ej2                  j5                  d1d2g d3¢gd4g d5¢gg«      d6„ «       Z%d7„ Z&d8„ Z'd9„ Z(ej2                  j5                  d:dg d;¢fd<g d=¢fg«      ej2                  j5                  d>d$g fd?d#gfg«      d@„ «       «       Z)ej2                  j5                  dAeeeg«      ej2                  j5                  dBg dC¢«      ej2                  j5                  dDddgd dgdEœddFgd dgdEœdgdGz  ej8                  ddFej8                  g e* e+dHdG«      «      z   dEœg«      dI„ «       «       «       Z,ej2                  j5                  dJddd gdgfddFd dgddFgfdFdd gdgfdFdFd dgdFdFgfdKdL e+dL«       e* e+dKdL«      «      dLgdKz  z   fdLdK e+dK«      dKgdKz  fd d  ejZ                  g «       ejZ                  g «      fdd  ejZ                  g «       ejZ                  g «      fd dd gd gfg	«      dM„ «       Z.ej2                  j5                  dN eg dO¢g dP¢dQœ«      dF eg dR¢ ej^                  g dP¢ e+dS«      gdTdg¬U«      dVej`                  ¬W«      f eej8                  ddFej8                  g e* e+dHdX«      «      z   dgdYz  dFgdZz  z    e+dX«      d[œ«      dL eg d\¢ ej^                  dgdYz  dFgdZz  z    e+dX«      gdTdg¬U«      dVej`                  ¬W«      fg«      d]„ «       Z1ej2                  j5                  d^g d_¢«      ej2                  j5                  dBg d`¢«      da„ «       «       Z2db„ Z3dc„ Z4y)dé    N)Ú	DataFrameÚ
MultiIndexÚSeriesÚconcatÚ
date_range)ÚBaseIndexerÚFixedForwardWindowIndexer)ÚExpandingIndexerÚFixedWindowIndexerÚVariableOffsetWindowIndexer)ÚBusinessDayc                  óÖ   —  G d„ dt         «      }  | «       }t        j                  t        d¬«      5  t	        t        d«      «      j                  |«       d d d «       y # 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú8test_bad_get_window_bounds_signature.<locals>.BadIndexerc                  ó   — y ©N© )Úselfs    úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/window/test_base_indexer.pyÚget_window_boundszJtest_bad_get_window_bounds_signature.<locals>.BadIndexer.get_window_bounds   s   € Øó    N©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   Ú
BadIndexerr      s   „ ó	r   r   zBadIndexer does not implement©Úmatché   )r   ÚpytestÚraisesÚ
ValueErrorr   ÚrangeÚrolling)r   Úindexers     r   Ú$test_bad_get_window_bounds_signaturer&      sR   € ô”[ô ñ ‹l€GÜ	�‰”zÐ)HÔ	Iñ *ÜŒu�Q‹xÓ× Ñ  Ô)÷*÷ *ñ *ús   ²$AÁA(c                  óæ   — t        t        d«      «      } t        «       }| j                  |«      j	                  «       }| j                  «       j	                  «       }t        j                  ||«       y )Né
   )r   r#   r
   r$   ÚmeanÚ	expandingÚtmÚassert_series_equal)Úsr%   ÚresultÚexpecteds       r   Útest_expanding_indexerr0   #   sS   € ÜŒu�R‹yÓ€AÜÓ €GØ�Y‰Y�wÓ×$Ñ$Ó&€FØ�{‰{‹}×!Ñ!Ó#€HÜ×Ñ˜6 8Õ,r   c                  óò   — g d¢} t        dt        d«      i«      } G d„ dt        «      } |d| ¬«      }|j                  |«      j	                  «       }t        dg d¢i«      }t        j                  ||«       y )	N©TFTFTÚvaluesr   c                   ó   — e Zd Zd„ Zy)ú3test_indexer_constructor_arg.<locals>.CustomIndexerc                 ó&  — t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        |«      D ]6  }| j                  |   rd||<   |dz   ||<   Œ |||<   || j
                  z   ||<   Œ8 ||fS ©N©Údtyper   é   )ÚnpÚemptyÚint64r#   Úuse_expandingÚwindow_size©	r   Ú
num_valuesÚmin_periodsÚcenterÚclosedÚstepÚstartÚendÚis	            r   r   zEtest_indexer_constructor_arg.<locals>.CustomIndexer.get_window_bounds1   s‹   € Ü—H‘H˜Z¬r¯x©xÔ8ˆEÜ—(‘(˜:¬R¯X©XÔ6ˆCÜ˜:Ó&ò 2�Ø×%Ñ% aÒ(Ø �E˜!‘HØ ™U�C˜’Fà �E˜!‘HØ ×!1Ñ!1Ñ1�C˜’Fð2ð ˜#�:Ðr   Nr   r   r   r   ÚCustomIndexerr5   0   s   „ ó
	r   rI   r:   ©r?   r>   )ç        ç      ð?ç      @rM   ç      $@©r   r#   r   r$   Úsumr+   Úassert_frame_equal)r>   ÚdfrI   r%   r.   r/   s         r   Útest_indexer_constructor_argrS   +   sk   € â4€MÜ	�Hœe A›hÐ'Ó	(€Bôœô ñ ¨¸ÔG€GØ�Z‰Z˜Ó ×$Ñ$Ó&€FÜ˜(Ò$>Ð?Ó@€HÜ×Ñ˜& (Õ+r   c                  óò   — t        dt        d«      i«      }  G d„ dt        «      } |d¬«      }| j                  |dddd¬	«      j	                  «       }t        dg d
¢i«      }t        j                  ||«       y )Nr3   r   c                   ó   — e Zd Zd„ Zy)ú8test_indexer_accepts_rolling_args.<locals>.CustomIndexerc                 ó.  — t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        |«      D ]:  }|r|dk(  r|dk(  r|dk(  r|dk(  rd||<   |||<   Œ$|||<   || j                  z   ||<   Œ< ||fS )Nr8   r:   Úbothé   r   )r;   r<   r=   r#   r?   r@   s	            r   r   zJtest_indexer_accepts_rolling_args.<locals>.CustomIndexer.get_window_boundsG   sš   € Ü—H‘H˜Z¬r¯x©xÔ8ˆEÜ—(‘(˜:¬R¯X©XÔ6ˆCÜ˜:Ó&ò 2�áØ# qÒ(Ø &Ò(Ø š	Ø˜Qšà �E˜!‘HØ'�C˜’Fà �E˜!‘HØ ×!1Ñ!1Ñ1�C˜’Fð2ð ˜#�:Ðr   Nr   r   r   r   rI   rV   F   s   „ ó	r   rI   r:   ©r?   TrX   )rC   rB   rD   rE   )rK   rL   rN   rM   ç      @rO   )rR   rI   r%   r.   r/   s        r   Ú!test_indexer_accepts_rolling_argsr\   C   sw   € Ü	�Hœe A›hÐ'Ó	(€Bôœô ñ& ¨Ô*€GØ�Z‰ZØ˜¨!°FÀð ó ç	�cƒeð ô ˜(Ò$>Ð?Ó@€HÜ×Ñ˜& (Õ+r   zfunc,np_func,expected,np_kwargsÚcountrM   ç       @ÚminrK   rL   r[   ç      @ç      @ç       @Úmaxç      Y@ç      "@Ústdg–Ã»·ÛK@gþDéû¾mK@gµ!µ?þJ@gß'Üež æ?Úddofr:   Úvarg[{Ÿªª@¨@g[{Ÿªª‚§@g[{ŸªªÄ¦@g      à?Úmediang      !@c                 óŽ  ‡‡— t        j                  d«      }d|d<   t        d¬«      }d}t        j                  t
        |¬«      5   | |«      j                  |d¬	«      }	 t        |	|«      «        d d d «       d
}t        j                  t
        |¬«      5   | |«      j                  |d¬«      }	 t        |	|«      «        d d d «        | |«      j                  |d|¬«      }	 t        |	|«      «       }
 | |«      d d |…   }t        j                  |
|«        | |	j                  ˆˆfd„«      «      }t        j                  |
|«       |dk(  rdnd } | |«      j                  ||¬«      } t        ||«      «       } | |j                  ˆˆfd„«      «      }t        j                  ||«       y # 1 sw Y   �Œ?xY w# 1 sw Y   ŒûxY w)NrN   rd   r   é   rZ   z.Forward-looking windows can't have center=Truer   T)ÚwindowrC   zAForward-looking windows don't support setting the closed argumentÚright)rl   rD   rY   ©rl   rB   rE   c                 ó   •—  ‰| fi ‰¤ŽS r   r   ©ÚxÚnp_funcÚ	np_kwargss    €€r   ú<lambda>z-test_rolling_forward_window.<locals>.<lambda>²   s   ø€ ¹ÀÑ8OÀYÑ8O€ r   r]   r   ©rl   rB   c                 ó   •—  ‰| fi ‰¤ŽS r   r   rp   s    €€r   rt   z-test_rolling_forward_window.<locals>.<lambda>¼   s   ø€ ¹ÀÑ9PÀiÑ9P€ r   )r;   Úaranger	   r    r!   r"   r$   Úgetattrr+   Úassert_equalÚapply)Úframe_or_seriesÚfuncrr   r/   rs   rE   r3   r%   r   r$   r.   Ú	expected2rB   Úrolling3Úresult3Ú	expected3s     ` `           r   Útest_rolling_forward_windowr�   a   sž  ù€ ôr �Y‰Y�t‹_€FØ€Fˆ1�Iä'°AÔ6€Gà<€EÜ	�‰”z¨Ô	/ñ !Ù! &Ó)×1Ñ1¸ÈÐ1ÓNˆØŒ�˜ÓÔ ÷!ð P€EÜ	�‰”z¨Ô	/ñ !Ù! &Ó)×1Ñ1¸ÈÐ1ÓQˆØŒ�˜ÓÔ ÷!ñ ˜fÓ%×-Ñ-°WÈ!ÐRVÐ-ÓW€GØ#ŒW�W˜dÓ#Ó%€Fñ ˜xÓ(©¨4¨Ñ0€HÜ‡O�O�F˜HÔ%ñ   §¡Ô.OÓ PÓQ€IÜ‡O�O�F˜IÔ&ð ˜w’‘!¨D€KÙ˜vÓ&×.Ñ.°gÈ;Ð.ÓW€HØ%Œg�h Ó%Ó'€GÙ §¡Ô/PÓ QÓR€IÜ‡O�O�G˜YÕ'÷;!ñ !ú÷
!ð !ús   Á+F.Â+F;Æ.F8Æ;Gc                 ó8  — t        j                  d«      }d|d<   t        d¬«      } | |«      j                  |d|¬«      }|j	                  «       } | ddd	d
ddddt         j
                  t         j
                  g
«      d d |…   }t        j                  ||«       y )NrN   rd   r   rZ   rk   rn   rK   gÅoòÛ@gê\QJÖ@gúòì£Ó@g§v†©-Õ@gA€Û@)r;   rw   r	   r$   ÚskewÚnanr+   ry   )r{   rE   r3   r%   r$   r.   r/   s          r   Útest_rolling_forward_skewnessr…   À   s�   € Ü�Y‰Y�t‹_€FØ€Fˆ1�Iä'°AÔ6€GÙ˜fÓ%×-Ñ-°WÈ!ÐRVÐ-ÓW€GØ�\‰\‹^€FáàØØØØØØØÜ�F‰FÜ�F‰Fð	
óñ ˆ€fñ€Hô ‡O�O�F˜HÕ%r   zfunc,expectedÚcovg     @X@g     @WÀÚcorrgîá°óÚë?g¥hÆ"¥ª’?g¡´1=�ë¿c                 óâ  — t        j                  d«      j                  dd«      }|dz  }d|d<   t        j                  ||gd¬«      }t	        d¬	«      }t        |«      j                  |d¬
«      } t        || «      «       j                  t        d «      dfdf   }|j                  d¬«      }t        |«      j                  d¬«      }|j                  |_        t        j                  ||«       y )Nr(   éÿÿÿÿr:   rY   éd   )r   r   )Úaxisrk   rZ   ru   r   T)Údrop)r;   rw   ÚreshapeÚconcatenater	   r   r$   rx   ÚlocÚsliceÚreset_indexr   Únamer+   ry   )r|   r/   Úvalues1Úvalues2r3   r%   r$   r.   s           r   Útest_rolling_forward_cov_corrr•   Ù   s×   € ô, �i‰i˜‹m×#Ñ# B¨Ó*€GØ˜‰k€GØ€GˆD�MÜ�^‰^˜W gÐ.°QÔ7€Fä'°AÔ6€GÜ˜Ó×'Ñ'¨wÀAÐ'ÓF€Gà#ŒW�W˜dÓ#Ó%×)Ñ)¬5°«;¸Ð*:¸AÐ*=Ñ>€FØ×Ñ TÐÓ*€FÜ�hÓ×+Ñ+°Ð+Ó6€HØ—K‘K€H„MÜ‡O�O�F˜HÕ%r   zclosed,expected_datarm   )
rK   rL   r^   rM   ra   ç      (@r`   ra   rb   re   Úleft)
rK   rK   rL   r^   ç      @re   r˜   r`   ra   rb   c                 ó  — t        dd¬«      }t        t        d«      |¬«      }t        d«      }t	        ||¬«      }|j                  || ¬«      j                  «       }t        ||¬«      }t        j                  ||«       y )NÚ2020r(   ©Úperiods)Úindexr:   ©r�   Úoffset)rD   )	r   r   r#   r   r   r$   rP   r+   rQ   )rD   Úexpected_datar�   rR   rŸ   r%   r.   r/   s           r   Ú&test_non_fixed_variable_window_indexerr¡   þ   sl   € ô �v rÔ*€EÜ	”5˜“9 EÔ	*€BÜ˜‹^€FÜ)°¸fÔE€GØ�Z‰Z˜¨ˆZÓ/×3Ñ3Ó5€FÜ˜¨eÔ4€HÜ×Ñ˜& (Õ+r   c                  ó�   — t        j                  t        d¬«      5  t        dt	        d«      ¬«       d d d «       y # 1 sw Y   y xY w)Nzindex must be a DatetimeIndex.r   Úfoor:   rž   )r    r!   r"   r   r   r   r   r   Ú(test_variableoffsetwindowindexer_not_dtir¤     s8   € ä	�‰”zÐ)IÔ	Jñ HÜ#¨%¼ÀA»ÕG÷H÷ Hñ Hús	   œ<¼Ac                  ó˜   — t        dd¬«      } t        j                  t        d¬«      5  t	        | d¬«       d d d «       y # 1 sw Y   y xY w)Nrš   r(   r›   z(offset must be a DateOffset-like object.r   r£   rž   )r   r    r!   r"   r   )Úidxs    r   Ú+test_variableoffsetwindowindexer_not_offsetr§     s<   € ä
�V RÔ
(€CÜ	�‰”zÐ)SÔ	Tñ =Ü#¨#°eÕ<÷=÷ =ñ =ús   ©A Á A	c                 óÔ   — t        dg d¢i«      }t        d¬«      }|j                  |d| ¬«      j                  «       }t        dg d¢i«      d d | …   }t	        j
                  ||«       y )NÚb)NNNé   rY   rZ   r   rn   )rK   rK   rL   rL   )r   r	   r$   r]   r+   rQ   )rE   rR   r%   r.   r/   s        r   Ú test_fixed_forward_indexer_countr«     sb   € ä	�CÒ.Ð/Ó	0€BÜ'°AÔ6€GØ�Z‰Z˜w°A¸DˆZÓA×GÑGÓI€FÜ˜#Ò3Ð4Ó5±f¸°fÑ=€HÜ×Ñ˜& (Õ+r   )Ú	end_valuer3   )rK   r:   r:   rk   rY   r‰   )rK   r:   r   rk   r:   )r|   ÚargsÚquantilec                 óò   ‡ —  G ˆ fd„dt         «      }g d¢}t        dt        d«      i«      } |d|¬«      } t        |j	                  |«      |«      |Ž }t        d|i«      }	t        j                  ||	«       y )Nc                   ó   •— e Zd Zˆ fd„Zy)ú0test_indexer_quantile_sum.<locals>.CustomIndexerc                 ó<  •— t        j                  |t         j                  ¬«      }t        j                  |t         j                  ¬«      }t        |«      D ]@  }| j                  |   rd||<   t        |‰	z   d«      ||<   Œ*|||<   || j                  z   ||<   ŒB ||fS r7   )r;   r<   r=   r#   r>   rc   r?   )
r   rA   rB   rC   rD   rE   rF   rG   rH   r¬   s
            €r   r   zBtest_indexer_quantile_sum.<locals>.CustomIndexer.get_window_bounds,  s“   ø€ Ü—H‘H˜Z¬r¯x©xÔ8ˆEÜ—(‘(˜:¬R¯X©XÔ6ˆCÜ˜:Ó&ò 2�Ø×%Ñ% aÒ(Ø �E˜!‘HÜ   Y¡°Ó2�C˜’Fà �E˜!‘HØ ×!1Ñ!1Ñ1�C˜’Fð2ð ˜#�:Ðr   Nr   )r¬   s   €r   rI   r±   +  s   ø„ õ
	r   rI   r2   r3   r   r:   rJ   )r   r   r#   rx   r$   r+   rQ   )
r¬   r3   r|   r­   rI   r>   rR   r%   r.   r/   s
   `         r   Útest_indexer_quantile_sumr³   %  sp   ø€ öœô ò 5€MÜ	�Hœe A›hÐ'Ó	(€Bá¨¸ÔG€GØ/ŒW�R—Z‘Z Ó(¨$Ó/°Ð6€FÜ˜( FÐ+Ó,€HÜ×Ñ˜& (Õ+r   Úindexer_classr?   )r:   rY   é   Údf_data)Úar©   rY   é   é   c                 óð   — t        |«      }d} | |¬«      }|j                  }t        |«      D ]F  }|j                  d«      d   j	                  |d¬«      j                  «        |j                  |k(  rŒFJ ‚ y )Nrk   rZ   r·   r©   r:   ru   )r   r?   r#   Úgroupbyr$   r)   )r´   r?   r¶   rR   Ú
num_trialsr%   Úoriginal_window_sizerH   s           r   Ú0test_indexers_are_reusable_after_groupby_rollingr¾   A  s{   € ô  
�7Ó	€BØ€JÙ¨Ô4€GØ"×.Ñ.ÐÜ�:Óò ;ˆØ
�
‰
�3‹˜Ñ×$Ñ$¨GÀÐ$ÓC×HÑHÔJØ×"Ñ"Ð&:Ó:Ð:Ð:ñ;r   z5window_size, num_values, expected_start, expected_endr   rµ   c           	      ó>  — t        | ¬«      }|j                  ||¬«      \  }}t        j                  |t	        j
                  |d d |…   «      d¬«       t        j                  |t	        j
                  |d d |…   «      d¬«       t        |«      t        |«      k(  sJ ‚y )NrZ   )rA   rE   F)Úcheck_dtype)r	   r   r+   Úassert_numpy_array_equalr;   ÚarrayÚlen)r?   rA   Úexpected_startÚexpected_endrE   r%   rF   rG   s           r   Ú!test_fixed_forward_indexer_boundsrÆ   Z  s‹   € ô$ (°KÔ@€GØ×*Ñ*°jÀtÐ*ÓL�J€Eˆ3ä×ÑØŒr�x‰x˜¡v¨ vÑ.Ó/¸Uõô ×Ñ ¤R§X¡X¨l¹6¸T¸6Ñ.BÓ%CÐQVÕWÜˆu‹:œ˜S›Ò!Ð!Ñ!r   zdf, window_size, expected)r   r:   rY   )r:   rY   rY   )r©   r·   )r   g      ø?r^   rk   r·   )Únamesr©   )r�   r’   r9   é   rª   é   )r©   r·   Úc)çÍÌÌÌÌÌ@rË   g      @r˜   r˜   g      @r`   r–   g      )@g      *@g      +@g      ,@g      -@g      .@g      /@g      0@g     €0@g      1@c                 ó®   — t        |¬«      }| j                  d«      d   j                  |d¬«      j                  «       }t	        j
                  ||«       y )NrZ   r·   r©   r:   ru   )r	   r»   r$   r)   r+   r,   )rR   r?   r/   r%   r.   s        r   Ú0test_rolling_groupby_with_fixed_forward_specificrÍ   v  sJ   € ôl (°KÔ@€GØ�Z‰Z˜‹_˜SÑ!×)Ñ)°ÀaÐ)ÓH×MÑMÓO€FÜ×Ñ˜6 8Õ,r   Ú
group_keys)	)r:   )r:   rY   )rY   r:   )r:   r:   rY   )r:   rY   r:   )r:   r:   rY   rY   )r:   rY   rk   rY   rk   )r:   r:   rY   r:   r:   rY   r:   r:   rY   r:   r:   rY   )r:   rY   rk   r:   rY   rk   r:   rY   rk   r:   rY   rk   r:   rY   rk   )r:   rY   rk   r¹   r   é   é   c                 ó6  — t        t        j                  t        | «      «      t        j                  t        | «      t        j                  ¬«      dz   t        j                  t        | «      t        j                  ¬«      dœ«      }t        |¬«      }|j                  d«      d   j                  |d¬«      j                  «       }dd	g|j                  _        |j                  d«      g d¢   }t        |D ���cg c]Z  \  }}|j                  t!        t        |«      «      D �cg c]'  }|d   j"                  |||z    j                  d¬
«      ‘Œ) c}¬«      ‘Œ\ c}}}«      }	|	j%                  dd	g«      d   }	t'        j(                  ||	«       y c c}w c c}}}w )Nr8   é   )r·   r©   rÊ   rZ   r·   r©   r:   ru   rÊ   )Ú	min_count)r©   )r   r;   rÂ   Úlistrw   rÃ   Úfloat64r=   r	   r»   r$   rP   r�   rÇ   r   Úassignr#   ÚilocÚ	set_indexr+   r,   )
rÎ   r?   rR   r%   r.   ÚgroupsÚ_ÚgrH   Úmanuals
             r   Ú,test_rolling_groupby_with_fixed_forward_manyrÝ   ±  s_  € ô" 
ä—‘œ$˜zÓ*Ó+Ü—‘œ3˜z›?´"·*±*Ô=ÀÑBÜ—‘œ3˜z›?´"·(±(Ô;ñ	
ó
€Bô (°KÔ@€GØ�Z‰Z˜‹_˜SÑ!×)Ñ)°ÀaÐ)ÓH×LÑLÓN€FØ˜s˜€F‡L�LÔà�Z‰Z˜‹_š_Ñ-€FÜð ÷	
ð 	
ñ ��1ð �H‰Hô #¤3 q£6›]öàð �c‘F—K‘K  A¨¡OÐ4×8Ñ8À1Ð8ÕEòð õ ô	
ó
€Fð ×Ñ˜s C˜jÓ)¨#Ñ.€Fä×Ñ˜6 6Õ*ùòùô	
s   Ã:)FÄ#,FÅ
FÆFc                  óx  —  G d„ dt         «      }  | «       }t        d«      j                  |«      }d}t        j                  t
        |¬«      5  |j                  «        d d d «       t        j                  t
        |¬«      5  t        t        |«      «       d d d «       t        j                  t
        |¬«      5  |j                  d¬«       d d d «       t        j                  t
        |¬«      5  |j                  d¬«       d d d «       y # 1 sw Y   Œ®xY w# 1 sw Y   Œ‚xY w# 1 sw Y   ŒXxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú4test_unequal_start_end_bounds.<locals>.CustomIndexerc                 ó\   — t        j                  dg«      t        j                  ddg«      fS ©Nr:   rY   ©r;   rÂ   ©r   rA   rB   rC   rD   rE   s         r   r   zFtest_unequal_start_end_bounds.<locals>.CustomIndexer.get_window_boundsá  s$   € Ü—8‘8˜Q˜C“=¤"§(¡(¨A¨q¨6Ó"2Ð2Ð2r   Nr   r   r   r   rI   rà   à  s   „ ó	3r   rI   r:   rF   r   T©Úpairwise©r   r   r$   r    r!   r"   r)   ÚnextÚiterr‡   r†   ©rI   r%   Úrollr   s       r   Útest_unequal_start_end_boundsrì   ß  sø   € ô3œô 3ñ ‹o€GÜ�!‹9×Ñ˜WÓ%€DØ€EÜ	�‰”z¨Ô	/ñ Ø�	‰	Œ÷ô 
�‰”z¨Ô	/ñ ÜŒT�$‹ZÔ÷ô 
�‰”z¨Ô	/ñ !Ø�	‰	˜4ˆ	Ô ÷!ô 
�‰”z¨Ô	/ñ  Ø�‰˜$ˆÔ÷ ð  ÷ð ú÷ð ú÷!ð !ú÷ ð  ús0   ÁDÂDÂ:D$Ã0D0ÄDÄD!Ä$D-Ä0D9c                  ó|  —  G d„ dt         «      }  | «       }t        ddg«      j                  |«      }d}t        j                  t
        |¬«      5  |j                  «        d d d «       t        j                  t
        |¬«      5  t        t        |«      «       d d d «       t        j                  t
        |¬«      5  |j                  d¬«       d d d «       t        j                  t
        |¬«      5  |j                  d¬«       d d d «       y # 1 sw Y   Œ®xY w# 1 sw Y   Œ‚xY w# 1 sw Y   ŒXxY w# 1 sw Y   y xY w)Nc                   ó   — e Zd Zd„ Zy)ú4test_unequal_bounds_to_object.<locals>.CustomIndexerc                 óZ   — t        j                  dg«      t        j                  dg«      fS râ   rã   rä   s         r   r   zFtest_unequal_bounds_to_object.<locals>.CustomIndexer.get_window_bounds÷  s!   € Ü—8‘8˜Q˜C“=¤"§(¡(¨A¨3£-Ð/Ð/r   Nr   r   r   r   rI   rï   ö  s   „ ó	0r   rI   r:   zstart and endr   Trå   rç   rê   s       r   Útest_unequal_bounds_to_objectrñ   ô  sü   € ô0œô 0ñ ‹o€GÜ�1�a�&‹>×!Ñ! 'Ó*€DØ€EÜ	�‰”z¨Ô	/ñ Ø�	‰	Œ÷ô 
�‰”z¨Ô	/ñ ÜŒT�$‹ZÔ÷ô 
�‰”z¨Ô	/ñ !Ø�	‰	˜4ˆ	Ô ÷!ô 
�‰”z¨Ô	/ñ  Ø�‰˜$ˆÔ÷ ð  ÷ð ú÷ð ú÷!ð !ú÷ ð  ús0   ÁDÂDÂ<D&Ã2D2ÄDÄD#Ä&D/Ä2D;)5Únumpyr;   r    Úpandasr   r   r   r   r   Úpandas._testingÚ_testingr+   Úpandas.api.indexersr   r	   Úpandas.core.indexers.objectsr
   r   r   Úpandas.tseries.offsetsr   r&   r0   rS   r\   ÚmarkÚparametrizerÃ   r„   r_   rc   rf   rh   ri   r�   r…   r•   r¡   r¤   r§   r«   r³   rÔ   r#   r¾   rÂ   rÆ   Úfrom_arraysrÕ   rÍ   rÝ   rì   rñ   r   r   r   ú<module>rü      s  ðÛ Û ÷õ õ ÷÷ñ õ /ò*ò-ò,ò0,ð< ‡�×ÑØ%à	�#˜˜S # s¨C°°c¸3ÀÀRÇVÁVÐLÈbÐQØ	�—‘˜˜c 3¨¨S°#°s¸CÀÀbÇfÁfÐMÈrÐRàØ�F‰FØ�#�s˜E 5¨%°°c¸3ÀÇÁÐGØð		
ð Ø�F‰FàØØØØØØØØØ—‘ðð �QˆKð	
ð$ Ø�F‰FàØØØØØØØØØ—‘ðð �QˆKð	
ð$ Ø�I‰IØ�#�s˜C  c¨3°°S¸"¿&¹&ÐAØð		
ðW1ó4ñj'(ók4ðj'(òT&ð2 ‡�×ÑØà	��c˜3  c¨5°#°s¸B¿F¹FÀBÇFÁFÐKÐLààØØØ"Ø$Ø"ØØØ—‘Ø—‘ðð	
ðóñ*&ó+ð*&ð  ‡�×ÑØà	ÒEÐFØ	ÒCÐDðóñ,óð,òHò=ò,ð ‡�×ÑØ˜qÒ"3Ð4°rÒ;LÐ6MÐNóð ‡�×ÑÐ)¨X°r¨N¸ZÈ#ÈÐ<OÐ+PÓQñ,ó Róð,ð0 ‡�×ÑØÐ(Ð*CÐEUÐVóð ‡�×Ñ˜ª
Ó3Ø‡�×ÑØà�!ˆf˜A˜q˜6Ñ"Ø�!ˆf˜A˜q˜6Ñ"Øˆc�B‰h˜bŸf™f a¨¨B¯F©FÐ3±d¹5ÀÀB»<Ó6HÑHÑIðóñ
;óó 4óð
;ð ‡�×ÑØ;à	
ˆA�ˆs�Q�CÐØ	
ˆA��1ˆv˜˜1�vÐØ	
ˆA�ˆs�Q�CÐØ	
ˆA��1ˆv˜˜1�vÐØ	
ˆB‘�b“	™4¡ a¨£Ó-°°°q±Ñ8Ð9Ø	ˆQ‘�a“˜1˜# ™'Ð"Ø	
ˆAˆxˆr�x‰x˜‹|˜X˜RŸX™X b›\Ð*Ø	
ˆAˆxˆr�x‰x˜‹|˜X˜RŸX™X b›\Ð*Ø	
ˆA�ˆs�Q�CÐð
óñ"óð"ð ‡�×ÑØñ šIªIÑ6Ó7ØÙÚØ,�j×,Ñ,ªi¹¸q»Ð-BÈ3ÐPTÈ+ÔVØØ—j‘jô	ð		
ñ àŸ&™& ! Q¨¯©Ð/±$±u¸QÀ³|Ó2DÑDØ˜˜q™ A 3¨¡8Ñ+Ù˜r›ñóð Ùòð( -�j×,Ñ,Ø�S˜1‘W ˜s R™xÑ'©¨r«Ð3¸CÀ¸;ôð Ø—j‘jô3ð$	
ð0ó3ñh-ói3ðh-ð ‡�×ÑØò
óð ‡�×Ñ˜Ò(>Ó?ñ+ó @óð+ò> ó* r   