Ë
    ¤ehÅ  ã                   ó¨  — d dl Z d dlZd dlmZ d dlmZmZ ej                  d„ «       Zej                  d„ «       Z	ej                  d„ «       Z
ej                  d„ «       Z ej                  dd	g¬
«      d„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Z ej                  ddg¬
«      d„ «       Z ej                  d„ d„ d„ d„ gg d¢¬«      d„ «       Z ej                  ddg¬
«      d„ «       Z ej                  ddg¬
«      d„ «       Z ej                  ddg¬
«      d„ «       Z ej                  dd g¬
«      d!„ «       Z ej                  ddg¬
«      d"„ «       Zej                  d#„ «       Zej                  d$efd%„«       Zy)&é    N)Ú_get_option)ÚSeriesÚoptionsc                  ó   — t         ‚)z3A fixture providing the ExtensionDtype to validate.©ÚNotImplementedError© ó    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/extension/conftest.pyÚdtyper      ó
   € ô Ðr
   c                  ó   — t         ‚)z�
    Length-100 array for this type.

    * data[0] and data[1] should both be non missing
    * data[0] and data[1] should not be equal
    r   r	   r
   r   Údatar      ó
   € ô Ðr
   c                 ót   — | j                   s'| j                  dk(  st        j                  | › d�«       t        ‚)z‰
    Length-100 array in which all the elements are two.

    Call pytest.skip in your fixture if the dtype does not support divmod.
    Úmz is not a numeric dtype)Ú_is_numericÚkindÚpytestÚskipr   ©r   s    r   Údata_for_twosr      s4   € ð ×Ò §¡¨sÒ!2ô 	�‰�u�gÐ4Ð5Ô6ä
Ðr
   c                  ó   — t         ‚)zLength-2 array with [NA, Valid]r   r	   r
   r   Údata_missingr   -   r   r
   r   r   )Úparamsc                 óH   — | j                   dk(  r|S | j                   dk(  r|S y)z5Parametrized fixture giving 'data' and 'data_missing'r   r   N©Úparam)Úrequestr   r   s      r   Úall_datar    3   s,   € ð ‡}�}˜ÒØˆØ	�‰˜.Ò	(ØÐð 
)r
   c                 ó   ‡ — ˆ fd„}|S )a  
    Generate many datasets.

    Parameters
    ----------
    data : fixture implementing `data`

    Returns
    -------
    Callable[[int], Generator]:
        A callable that takes a `count` argument and
        returns a generator yielding `count` datasets.
    c              3   ó6   •K  — t        | «      D ]  }‰–— Œ y ­w©N)Úrange)ÚcountÚ_r   s     €r   Úgenzdata_repeated.<locals>.genL   s   øè ø€ Ü�u“ò 	ˆAØ‹Jñ	ùs   ƒr	   )r   r'   s   ` r   Údata_repeatedr(   <   s   ø€ ô ð €Jr
   c                  ó   — t         ‚)zÆ
    Length-3 array with a known sort order.

    This should be three items [B, C, A] with
    A < B < C

    For boolean dtypes (for which there are only 2 values available),
    set B=C=True
    r   r	   r
   r   Údata_for_sortingr*   S   s
   € ô Ðr
   c                  ó   — t         ‚)z{
    Length-3 array with a known sort order.

    This should be three items [B, NA, A] with
    A < B and NA missing.
    r   r	   r
   r   Údata_missing_for_sortingr,   a   r   r
   c                  ó"   — t         j                  S )zÏ
    Binary operator for comparing NA values.

    Should return a function of two arguments that returns
    True if both arguments are (scalar) NA for your type.

    By default, uses ``operator.is_``
    )ÚoperatorÚis_r	   r
   r   Úna_cmpr0   l   s   € ô �<‰<Ðr
   c                 ó   — | j                   S )z 
    The scalar missing value for this type. Default dtype.na_value.

    TODO: can be removed in 3.x (see https://github.com/pandas-dev/pandas/pull/54930)
    )Úna_valuer   s    r   r2   r2   y   s   € ð �>‰>Ðr
   c                  ó   — t         ‚)zö
    Data for factorization, grouping, and unique tests.

    Expected to be like [B, B, NA, NA, A, A, B, C]

    Where A < B < C and NA is missing.

    If a dtype has _is_boolean = True, i.e. only 2 unique non-NA entries,
    then set C=B.
    r   r	   r
   r   Údata_for_groupingr4   ƒ   s
   € ô Ðr
   TFc                 ó   — | j                   S )z#Whether to box the data in a Seriesr   ©r   s    r   Úbox_in_seriesr7   ’   s   € ð �=‰=Ðr
   c                  ó   — y©Né   r	   ©Úxs    r   ú<lambda>r=   š   s   � r
   c                 ó    — dgt        | «      z  S r9   )Úlenr;   s    r   r=   r=   ›   s   € �1�#œ˜A›‘,€ r
   c                 ó2   — t        dgt        | «      z  «      S r9   )r   r?   r;   s    r   r=   r=   œ   s   € ”&˜!˜œs 1›v™Ó&€ r
   c                 ó   — | S r#   r	   r;   s    r   r=   r=   �   s   € �!€ r
   )ÚscalarÚlistÚseriesÚobject)r   Úidsc                 ó   — | j                   S )z,
    Functions to test groupby.apply().
    r   r6   s    r   Úgroupby_apply_oprH   ˜   s   € ð �=‰=Ðr
   c                 ó   — | j                   S )zU
    Boolean fixture to support Series and Series.to_frame() comparison testing.
    r   r6   s    r   Úas_framerJ   ¨   ó   € ð
 �=‰=Ðr
   c                 ó   — | j                   S )zL
    Boolean fixture to support arr and Series(arr) comparison testing.
    r   r6   s    r   Ú	as_seriesrM   °   rK   r
   c                 ó   — | j                   S )zd
    Boolean fixture to support comparison testing of ExtensionDtype array
    and numpy array.
    r   r6   s    r   Ú	use_numpyrO   ¸   ó   € ð �=‰=Ðr
   ÚffillÚbfillc                 ó   — | j                   S )z{
    Parametrized fixture giving method parameters 'ffill' and 'bfill' for
    Series.fillna(method=<method>) testing.
    r   r6   s    r   Úfillna_methodrT   Á   rP   r
   c                 ó   — | j                   S )zR
    Boolean fixture to support ExtensionDtype _from_sequence method testing.
    r   r6   s    r   Úas_arrayrV   Ê   rK   r
   c                 ó4   — t         j                  t         «      S )zØ
    A scalar that *cannot* be held by this ExtensionArray.

    The default should work for most subclasses, but is not guaranteed.

    If the array can hold any item (i.e. object dtype), then use pytest.skip.
    )rE   Ú__new__)r   s    r   Úinvalid_scalarrY   Ò   s   € ô �>‰>œ&Ó!Ð!r
   Úreturnc                  ó^   — t         j                  j                  du xr t        dd¬«      dk(  S )z7
    Fixture to check if Copy-on-Write is enabled.
    Tzmode.data_manager)ÚsilentÚblock)r   ÚmodeÚcopy_on_writer   r	   r
   r   Úusing_copy_on_writer`   Þ   s1   € ô 	�‰×"Ñ" dÐ*ò 	EÜÐ+°DÔ9¸WÑDðr
   )r.   r   Úpandas._config.configr   Úpandasr   r   Úfixturer   r   r   r   r    r(   r*   r,   r0   r2   r4   r7   rH   rJ   rM   rO   rT   rV   rY   Úboolr`   r	   r
   r   ú<module>re      sf  ðÛ ã å -÷ð ‡�ñó ðð
 ‡�ñó ðð ‡�ñó ðð ‡�ñó ðð
 €‡�˜ Ð/Ô0ñó 1ðð ‡�ñó ðð, ‡�ñ
ó ð
ð ‡�ñó ðð ‡�ñ	ó ð	ð ‡�ñó ðð ‡�ñó ðð €‡�˜˜e�}Ô%ñó &ðð
 €‡�áÙÙ&Ùð	ò 	/ôñóðð €‡�˜˜e�}Ô%ñó &ðð €‡�˜˜e�}Ô%ñó &ðð €‡�˜˜e�}Ô%ñó &ðð €‡�˜ Ð)Ô*ñó +ðð €‡�˜˜e�}Ô%ñó &ðð ‡�ñ"ó ð"ð ‡�ð˜Tò ó ñr
   