Ë
    u™ãj·Ñ  ã                  óÜ>  — U d Z ddlmZ ddlmZ ddlZddlmZmZmZm	Z	m
Z
mZ ddlmZ ddlZddlZddlZddlmZmZ ddlZddlmZmZ ddlZddlZdd	lmZ dd
lmZ ddlm c m!Z" ddl#m$Z$m%Z% ddl&Z'ddl(m)Z* ddl+m,Z, ddl-m.Z.m/Z/ er
ddl0m1Z1m2Z2m3Z3 	 ddl4Z5[5dZ6 edd¬«      Z8g d¢Z9�dJd„Z:�dJd„Z;d„ Z<�dKd„Z=�dJd„Z> ej~                  d¬«      �dJd„«       Z@ ej~                  g d¢d„ ¬«      d „ «       ZA ej~                  ddg¬!«      d"„ «       ZB ej~                  g d#¢¬!«      d$„ «       ZC ej~                  ddg¬!«      d%„ «       ZD ej~                  ddg¬!«      d&„ «       ZE ej~                  ddg¬!«      d'„ «       ZF ej~                  g d(¢¬!«      d)„ «       ZG ej~                  g d*¢¬!«      d+„ «       ZH ej~                  g d,¢¬!«      d-„ «       ZI ej~                  g d,¢¬!«      d.„ «       ZJ ej~                  dd/d0d1d2d3 ej–                  d4 e"j˜                  d5«      ¬6«      g¬!«      d7„ «       ZM ej~                  d/d0d1d2d3 ej–                  d4 e"j˜                  d5«      ¬6«      g¬!«      d8„ «       ZN ej~                  ddg¬!«      d9„ «       ZO ej~                  g d:¢¬!«      d;„ «       ZP ej~                  d<d=g¬!«      d>„ «       ZQ ej~                  ddg¬!«      d?„ «       ZR ej~                  ddg¬!«      d@„ «       ZS ej~                  g dA¢¬!«      dB„ «       ZT ej~                  ddg¬!«      dC„ «       ZU ej~                  ddg¬!«      dD„ «       ZV ej~                  ddg¬!«      dE„ «       ZW ej~                  dg¬!«      dF„ «       ZX ej~                  e*j²                  dG„ ¬«      dH„ «       ZZeZZ[ ej~                  dej¸                  e'jº                  g¬!«      dI„ «       Z^e^Z_ ej~                  e*jÀ                  dJ„ ¬«      dK„ «       ZaeaZb ej~                  e'jÆ                  e'jÈ                  g¬!«      dL„ «       Ze ej~                  e.e'jÈ                  gdMdNg¬«      dO„ «       Zf ej~                  e.e'jÈ                  e'jÎ                  gg dP¢¬«      dQ„ «       Zh ej~                  e.e'jÈ                  e'jÆ                  e'jÎ                  gdR„ ¬«      dS„ «       ZieiZjej~                  �dLdT„«       Zkej~                  �dMdU„«       Zlej~                  dV„ «       Zmej~                  �dNdW„«       Znej~                  	 	 �dOdX„«       ZodY„ ZpdZ„ Zqi d[ e. erd\«      D � cg c]  } d]| › �‘Œ	 c} es¬^«      “d_ e. erd\«      D � cg c]  } d]| › �‘Œ	 c} d¬^«      “d` e'jè                  dad\¬b«      “dc e'jè                  dad\dd¬e«      “df e'jê                  dad\dg¬h«      “di e'jì                  djd\dg¬k«      “dl e'jî                  d\«      “dm e. ejð                  d\«      dm¬^«      “dn e. ejð                  d\«      dn¬^«      “do e. ejð                  d\«      do¬^«      “dp e. ejð                  d\«      dp¬^«      “dq e. ejð                  d\«      dq¬^«      “dr e. ejð                  d\«      dr¬^«      “ds e. ejð                  d\«      ds¬^«      “dt e. ejð                  d\«      dt¬^«      “du e. ejð                  d\«      du¬^«      “dv e. ejð                  d\«      dv¬^«      “i dw e.ddgdxz  es¬^«      “dy e.ddgdxz  ey¬^«      “dz e. ejð                  d\dz¬^«      d{ ejð                  d\dz¬^«      z  z   «      “d| e. ejð                  d\d|¬^«      d{ ejð                  d\d|¬^«      z  z   «      “d} e'jô                   e{d~«      dz  «      “d€e'jø                  jû                   ejü                  dd�d‚¬ƒ«      «      “d„ e.g «      “d… e/jþ                   e€g d†¢g d‡¢d¬ˆ«      «      “d‰ eq«       “dŠ ep«       “d‹ e.g dŒ¢«      “d� e.g dŽ¢«      “d� e. ejð                  d\«      d�¬^«      “d‘ e. ejð                  d\«      d’¬^«      “d“ e. ejð                  d\«      d”¬^«      “d• e. ejð                  d\«      �j                  ey«      d–¬^«      “d— e. e'jÎ                   erd\«      D � cg c]  } d]| › �‘Œ	 c} d˜¬^«      «      “¥Z‚e6r6 e. e'jÎ                   erd\«      D � cg c]  } d]| › �‘Œ	 c} d™¬^«      «      Zƒeƒe‚dš<    ej~                  e‚�j	                  «       ¬!«      d›„ «       Z… ej~                  e‚D �cg c]
  }|d‹k7  sŒ	|‘Œ c}¬!«      dœ„ «       Z† ej~                  e‚�j                  «       D ��cg c]  \  }} eˆ|e/«      rŒ|‘Œ c}}¬!«      d�„ «       Z‰ ej~                  e‚�j                  «       D ��cg c]  \  }} eˆ|e/«      s|d‹k7  r|‘Œ c}}¬!«      dž„ «       ZŠe‰Z‹eŠZŒ ej~                  e‚�j                  «       D ��cg c]&  \  }}|�j                  dŸ«      s|d v s eˆ|e/«      s|‘Œ( c}}¬!«      d¡„ «       ZŽ ej~                  e‚�j                  «       D ��cg c]&  \  }}|�j                  dŸ«      s|d¢v s eˆ|e/«      s|‘Œ( c}}¬!«      d£„ «       Z�ej~                  �dPd¤„«       Z�ej~                  �dPd¥„«       Z‘ej~                  �dPd¦„«       Z’d§„ Z“e‚�j                  «       D ��ci c]  \  }}d¨|› d©� e“|«      “Œ c}}Z”ej~                  �dPdª„«       Z•e*�j,                  D �� ci c]D  }|�j.                  › d«� e'jÈ                   erd¬«       erd¬«      D � cg c]  } d­| › �‘Œ	 c} d®|¬¯«      “ŒF c} }Z˜i e‚¥e”¥e˜¥Z™ ej~                  e™�j	                  «       ¬!«      d°„ «       Zše™�j                  «       D ��ci c]  \  }}d‹|vr||“Œ c}}Z› ej~                  e›�j	                  «       ¬!«      d±„ «       Zœe*�j:                  D �ci c]#  }|�j.                  › d«� e'jÈ                  |«      “Œ% c}Zži e‚¥e”¥e˜¥ež¥ZŸ ej~                  eŸ�j	                  «       ¬!«      d²„ «       Z ej~                  �dOd³„«       Z¡ej~                  �dOd´„«       Z¢ej~                  �dPdµ„«       Z£ ej~                   e'�jH                  ddx¬¶«       e%dpd·«      f e'�jH                  d¸d¹¬¶«       e%dvd·«      f e'�jJ                  dºd»¬¼«      d½f e'�jJ                  d¾dg¬¼«      d¿f e'�jL                  dÀdÁ¬Â«      �jO                  dÃ«       e$dÃdÁ¬Ä«      f e'�jP                  dÅ¬Æ«      dÇfg¬!«      dÈ„ «       Z© ej~                  e*�jT                  ¬!«      dÉ„ «       Z« ej~                  e�jX                  e,�jZ                  e�j\                  e,�j^                  e�j`                  e,�jb                  e�jd                  e,�jf                  e�jh                  e,�jj                  e�jl                  e,�jn                  e�jp                  e,�jr                  e�jt                  e�jv                  e�jx                  e�jz                  e�j|                  e�j~                  e�j€                  e,�j‚                  e�j„                  e,�j†                  e�jˆ                  e,�jŠ                  g¬!«      dÊ„ «       ZÆ ej~                  e�jX                  e,�jZ                  e�j\                  e,�j^                  e�j`                  e,�jb                  e�jd                  e,�jf                  e�jh                  e,�jj                  e�jl                  e,�jn                  e�jp                  e,�jr                  g¬!«      dË„ «       ZÇ ej~                  e*�j�                  ¬!«      dÌ„ «       ZÉ ej~                  e*�j”                  ¬!«      dÍ„ «       ZË ej~                  e*�j˜                  ¬!«      dÎ„ «       ZÌ ej~                  e*�jš                  ¬!«      dÏ„ «       ZÎ ej~                  g dÐ¢¬!«      dÑ„ «       ZÏ ej~                  g dÒ¢¬!«      dÓ„ «       ZÐ ej~                  e*�j¢                  ¬!«      dÔ„ «       ZÒej~                  dÕ„ «       ZÓej~                  �dQdÖ„«       ZÔdd×dÁdØdÙdÚdÛdÜdÝdÞ e«        e«       e e e
dß¬à«      «       e e
dá¬à«      dâ¬ã«      gZÕe8�eeÕ�j­                  e8�j¯                  dä«      e8�j¯                  d«      e8�j¯                  då«      e8j                  dd«      e8j                  d×«      f«       eÕD � cg c]
  }  eØ| «      ‘Œ c} ZÙ e"�j´                   eÛeÙ«      «       ej~                  eÕeÙ¬«      dæ„ «       «       ZÜ e"�j´                   eÛeÙdßd «      «       ej~                  eÕdßd eÙdßd ¬«      dç„ «       «       ZÝdèdé e«       egZÞe8�eÞ�j¿                  e8�jÀ                  «        ej~                  eÞ¬!«      dê„ «       ZáeáZâ ej~                  g dë¢¬!«      dì„ «       ZãeãZä ej~                  e*�jÊ                  ¬!«      dí„ «       Zæ ej~                  dîe'�jÎ                  f ej–                  dïe'�jÎ                  f e"j˜                  dï«      ¬6«       ej–                  dïej¸                  f e"j˜                  dï«      ¬6«      dîej¸                  fgg dð¢¬«      dñ„ «       Zè ej~                  d˜ ej–                  d™ e"j˜                  dï«      ¬6«      g¬!«      dò„ «       Zé ej~                   ej–                  dïej¸                  f e"j˜                  dï«      ¬6«       ej–                  dïe'�jÎ                  f e"j˜                  dï«      ¬6«      g¬!«      dó„ «       Zê ej~                  dî ej–                  dï e"j˜                  dï«      ¬6«      g¬!«      dô„ «       Zë ej~                  dîe'�jÎ                  f ej–                  dïe'�jÎ                  f e"j˜                  dï«      ¬6«       ej–                  dïej¸                  f e"j˜                  dï«      ¬6«      dîej¸                  fgg dð¢¬«      dõ„ «       Zì ej~                  dö ej–                  dï e"j˜                  dï«      ¬6«      g¬!«      d÷„ «       ZíeëZîeìZï ej~                  e*�jà                  ¬!«      dø„ «       Zñ ej~                  e*�jä                  ¬!«      dù„ «       Zó ej~                   e�jè                  d[«      dîe'�jÎ                  f ej–                  dïe'�jÎ                  f e"j˜                  dï«      ¬6«       ej–                  dïej¸                  f e"j˜                  dï«      ¬6«      dîej¸                  fgg dú¢¬«      dû„ «       ZõeõZö ej~                  e*�jî                  ¬!«      dü„ «       Zø ej~                  e*�jò                  ¬!«      dý„ «       Zúej~                  �dRdþ„«       Zû ej~                  e*�jø                  ¬!«      dÿ„ «       Zý ej~                  e*�jü                  ¬!«      �d „ «       Zÿ ej~                  e*�j                   ¬!«      �d„ «       �Z ej~                  e*�j                  ¬!«      �d„ «       �Z ej~                  e*�j                  ¬!«      �d„ «       �Z ej~                  e*�j                  ¬!«      �d„ «       �Z ej~                  e*�j                  ¬!«      �d„ «       �Z	 ej~                  e*�j                  ¬!«      �d„ «       �Z ej~                  e*�j                  ¬!«      �d„ «       �Z ej~                  e*�j                  ¬!«      �d„ «       �Z ej~                  e*�j                  e*�jü                  z   ¬!«      �d	„ «       �Z ej~                  e*�j                  e*�jü                  z   e*�j"                  z   e*�j$                  z   ¬!«      �d
„ «       �Z ej~                  e*�j(                  ¬!«      �d„ «       �Z ej~                  e*�j,                  ¬!«      �d„ «       �Z ej~                  e*�j0                  ¬!«      �d„ «       �Z ej~                  e*�j4                  ¬!«      �d„ «       �Z ej~                  e*�j8                  ¬!«      �d„ «       �Z ej~                  e*�j<                  ¬!«      �d„ «       �Zd_d®ej¸                  �dgfd_d®e'�jÎ                  �dgf�dd®e'jº                  �dgf�d�dej¸                  �dgfd„ej¸                  ej¸                  ej¸                  gfd„g f�dd®ej¸                  dgf�dd®ej¸                  �dgf�d�dej¸                  �dgf�ddßej¸                  dgf�ddßej¸                  �dgf�d edß«      ej¸                   ed«      gfd–dej¸                  dgfd–de'�jÎ                  dgf�d e�j@                  �d«      ej¸                   e�j@                  �d«      gfd` e'�jL                  �d «      ej¸                   e'�jL                  �d!«      gf�d" e�d#dßdß«      ej¸                   e�d$dßdß«      gf�d%�d&ej¸                  �d'gfdi e
dß«      ej¸                   e
d«      gf�d( e	dß«      ej¸                   e	d«      gfdf e'�jJ                  �d)«      e'jº                   e'�jJ                  �d*«      gfd€ e'�jH                  ddß«      ej¸                   e'�jH                  dd«      gfg�Z!�e!D �cg c]  }|d   ‘Œ	 c}�Z" ej~                  �e!�e"¬«      �d+„ «       �Z#ej~                  �d,„ «       �Z$ej~                  �d-„ «       �Z%e�jL                  �d.„ «       �Z' ej~                  e'�jP                  �jR                  D �cg c]P  } �e* �e+e'�jP                  |«      e'�jP                  �jX                  «      r|�d/k7  r �e+e'�jP                  |«      ‘ŒR c}¬!«      �d0„ «       �Z- ej~                  d�d1„ g¬!«      �d2„ «       �Z. ej~                  �d3�d4�d5ej¸                  ej¸                  ej¸                  fej¸                  e'jº                  dfej¸                  e'�jÎ                  dfe'�jÎ                  e'�jÎ                  e'�jÎ                  fg¬!«      �dS�d6„«       �Z/ ej~                  e*�j`                  e*�jb                  e*�jd                  g¬!«      �d7„ «       �Z3 ej~                  e*�jb                  e*�jd                  g¬!«      �d8„ «       �Z4 ej~                  e*�j`                  e*�jd                  g¬!«      �d9„ «       �Z5 ej~                  e*�j`                  e*�jb                  g¬!«      �d:„ «       �Z6 ej~                  e*�jn                  e*�jb                  g¬!«      �d;„ «       �Z8 ej~                  e*�jr                  e*�jd                  g¬!«      �d<„ «       �Z: ej~                  ddg¬!«      �dT�d=„«       �Z;ej~                  �dU�d>„«       �Z<ej~                  �dU�d?„«       �Z=�d@�dAg�Z>�dB�e?�dC<   e8�#�e>�j¿                  e8j                  �d@«      «        ej~                  �e>¬!«      �dV�dD„«       �Z@ej~                  �dE„ «       �ZA ej~                  �dF�¬G«      �dH„ «       �ZB ej~                  ddg¬!«      �dI„ «       �ZCy# e7$ r dZ6Y �Œsw xY wc c} w c c} w c c} w c c} w c c}w c c}}w c c}}w c c}}w c c}}w c c}}w c c} w c c} }w c c}}w c c}w c c} w c c}w c c}w (W  a•  
This file is very long and growing, but it was decided to not split it yet, as
it's still manageable (2020-03-17, ~1.1k LoC). See gh-31989

Instead of splitting it was decided to define sections here:
- Configuration / Settings
- Autouse fixtures
- Common arguments
- Missing values & co.
- Classes
- Indices
- Series'
- DataFrames
- Operators & Operations
- Data sets/files
- Time zones
- Dtypes
- Misc
é    )Úannotations)ÚabcN)ÚUTCÚdateÚdatetimeÚtimeÚ	timedeltaÚtimezone)ÚDecimal)ÚTYPE_CHECKINGÚAny)ÚtzlocalÚtzutc©Úusing_string_dtype)Úimport_optional_dependency)ÚDatetimeTZDtypeÚIntervalDtype)Úops)ÚIndexÚ
MultiIndex)ÚCallableÚHashableÚIteratorTFÚpytzÚignore)Úerrors)z6single_cpu: tests that should run on a single cpu onlyzslow: mark a test as slowznetwork: mark a test as networkz2db: tests requiring a database (mysql or postgres)z(clipboard: mark a pd.read_clipboard testz4arm_slow: mark a test as slow for arm64 architecturez4high_memory: mark a test as requiring >5GB of memoryc                óX   — | j                  ddddd¬«       | j                  ddd	¬
«       y )Nz--no-strict-data-filesÚstore_falseÚstrict_data_filesTz6Don't fail if a test is skipped for missing data file.)ÚactionÚdestÚdefaultÚhelpú--run-high-memoryÚ
store_truez.Run tests marked high_memory (>5GB of memory).)r!   r$   )Ú	addoption)Úparsers    úZ/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/conftest.pyÚpytest_addoptionr*   f   sB   € Ø
×ÑØ ØØ ØØEð ô ð ×ÑØØØ=ð õ ó    c                ó>   — t         D ]  }| j                  d|«       Œ y )NÚmarkers)ÚPANDAS_MARKERSÚaddinivalue_line)ÚconfigÚmarkers     r)   Úpytest_configurer2   u   s!   € Ü ò 3ˆØ×Ñ 	¨6Õ2ñ3r+   c                ór   ‡‡— dd l }dd lŠ|j                  j                  Šˆˆfd„}||j                  _        y )Nr   c                óX   •— ‰j                  |«      rd|j                  v ry ‰| ||«      S )Nú.T)Ú
isfunctionÚ__qualname__)ÚselfÚmoduleÚobjectÚinspectÚorigs      €€r)   Ú_from_modulez)pytest_sessionstart.<locals>._from_module„   s2   ø€ à×Ñ˜fÔ%¨#°×1DÑ1DÑ*Dð Ù�D˜& &Ó)Ð)r+   )Údoctestr;   ÚDocTestFinderr=   )Úsessionr>   r=   r;   r<   s      @@r)   Úpytest_sessionstartrA   z   s1   ù€ ÛÛð × Ñ ×-Ñ-€Dõ*ð *6€G×ÑÕ&r+   Ústrc                óž   — | j                   j                  |«      r2| j                  t        j                  j                  d|› �«      «       yy)a~  Ignore doctest warning.

    Parameters
    ----------
    item : pytest.Item
        pytest test item.
    path : str
        Module path to Python object, e.g. "pandas.DataFrame.append". A
        warning will be filtered when item.name ends with in given path. So it is
        sufficient to specify e.g. "DataFrame.append".
    message : str
        Message to be filtered.
    zignore:N)ÚnameÚendswithÚ
add_markerÚpytestÚmarkÚfilterwarnings)ÚitemÚpathÚmessages      r)   Úignore_doctest_warningrM   �   s=   € ð ‡y�y×Ñ˜$ÔØ�‰œŸ™×2Ñ2°W¸W¸IÐ3FÓGÕHð  r+   c                óJ  — |j                  d«      sGt        j                  j                  d¬«      }| D ]"  }d|j                  v sŒ|j                  |«       Œ$ |j                  d«      xs |j                  dd¬«      }g d	¢}|r| D ]  }|D ]  \  }}t        |||«       Œ Œ y y )
Nr%   zneed --run-high-memory to run)ÚreasonÚhigh_memoryz--doctest-modulesz--doctest-cythonF)r#   ))zapi.interchange.from_dataframeú"The DataFrame Interchange Protocol)Úis_int64_dtypezis_int64_dtype is deprecated)Úis_interval_dtypezis_interval_dtype is deprecated)Úis_period_dtypezis_period_dtype is deprecated)Úis_datetime64tz_dtypez#is_datetime64tz_dtype is deprecated)Úis_categorical_dtypez"is_categorical_dtype is deprecated)Ú	is_sparsezis_sparse is deprecated)z&CategoricalDtype._from_values_or_dtypezConstructing a Categorical)zDataFrame.__dataframe__rQ   )zDataFrameGroupBy.corrwithz'DataFrameGroupBy.corrwith is deprecated)Úto_pytimedeltaz2The behavior of TimedeltaProperties.to_pytimedelta)zSeries.autocorrú#invalid value encountered in divide)zSeries.corrrY   )zmissing.mask_zero_div_zerozdivide by zero encountered)zTimestamp.utcfromtimestampz(Timestamp.utcfromtimestamp is deprecated)zBaseOffset.name.__get__z!The 'name' property is deprecated)zProperties.freqz3A future version of pandas will return a BaseOffset)Ú	getoptionrG   rH   ÚskipÚkeywordsrF   rM   )Úitemsr0   Úskip_high_memoryrJ   Ú
is_doctestÚignored_doctest_warningsrK   rL   s           r)   Úpytest_collection_modifyitemsra   ¢   sÂ   € Ø×ÑÐ/Ô0Ü!Ÿ;™;×+Ñ+Ð3RÐ+ÓSÐØò 	2ˆDØ §¡Ò-Ø—‘Ð 0Õ1ð	2ð ×!Ñ!Ð"5Ó6ò ¸&×:JÑ:JØ Eð ;Kó ;€Jò Ðñ4 Øò 	<ˆDØ!9ò <‘��gÜ& t¨T°7Õ;ñ<ñ	<ð r+   )Úautousec                ó(   — t         | d<   t        | d<   y)z:
    Make `np` and `pd` names available for doctests.
    ÚnpÚpdN)rd   re   )Údoctest_namespaces    r)   Úadd_doctest_importsrg   Ö   s   € ô
 !Ð�dÑÜ Ð�dÒr+   )r   é   ÚindexÚcolumnsc                ó   — d| ›�S )Nzaxis=© ©Úxs    r)   ú<lambda>ro   â   s   € À5ÈÈÀ€ r+   )ÚparamsÚidsc                ó   — | j                   S )z@
    Fixture for returning the axis numbers of a DataFrame.
    ©Úparam©Úrequests    r)   Úaxisrw   â   ó   € ð
 �=‰=Ðr+   )rp   c                ó   — | j                   S )a…  
    Pass in the observed keyword to groupby for [True, False]
    This indicates whether categoricals should return values for
    values which are not in the grouper [False / None], or only values which
    appear in the grouper [True]. [None] is supported for future compatibility
    if we decide to change the default (and would need to warn if this
    parameter is not passed).
    rs   ru   s    r)   Úobservedrz   ê   ó   € ð �=‰=Ðr+   )TFNc                ó   — | j                   S )z6
    Boolean 'ordered' parameter for Categorical.
    rs   ru   s    r)   Úorderedr}   ÷   rx   r+   c                ó   — | j                   S )z%
    Boolean 'dropna' parameter.
    rs   ru   s    r)   Údropnar   ÿ   rx   r+   c                ó   — | j                   S )z#
    Boolean 'sort' parameter.
    rs   ru   s    r)   Úsortr�     rx   r+   c                ó   — | j                   S )z%
    Boolean 'skipna' parameter.
    rs   ru   s    r)   Úskipnarƒ     rx   r+   )ÚfirstÚlastFc                ó   — | j                   S )z[
    Valid values for the 'keep' parameter used in
    .duplicated or .drop_duplicates
    rs   ru   s    r)   Úkeepr‡     ó   € ð �=‰=Ðr+   )ÚbothÚneitherÚleftÚrightc                ó   — | j                   S )zA
    Fixture for trying all interval 'inclusive' parameters.
    rs   ru   s    r)   Úinclusive_endpoints_fixturerŽ      rx   r+   )r‹   rŒ   r‰   rŠ   c                ó   — | j                   S )z<
    Fixture for trying all interval closed parameters.
    rs   ru   s    r)   Úclosedr�   (  rx   r+   c                ó   — | j                   S )zS
    Secondary closed fixture to allow parametrizing over all pairs of closed.
    rs   ru   s    r)   Úother_closedr’   0  rx   r+   ÚgzipÚbz2ÚzipÚxzÚtarÚzstdÚ	zstandard)Úmarksc                ó   — | j                   S )zK
    Fixture for trying common compression types in compression tests.
    rs   ru   s    r)   Úcompressionrœ   8  ó   € ð �=‰=Ðr+   c                ó   — | j                   S )zk
    Fixture for trying common compression types in compression tests excluding
    uncompressed case.
    rs   ru   s    r)   Úcompression_onlyrŸ   J  r�   r+   c                ó   — | j                   S )z,
    Fixture that an array is writable.
    rs   ru   s    r)   Úwritabler¡   \  rx   r+   )ÚinnerÚouterr‹   rŒ   c                ó   — | j                   S )z:
    Fixture for trying all types of join operations.
    rs   ru   s    r)   Ú	join_typer¥   d  rx   r+   ÚnlargestÚ	nsmallestc                ó   — | j                   S )z1
    Fixture for trying all nselect methods.
    rs   ru   s    r)   Únselect_methodr©   l  rx   r+   c                ó   — | j                   S )z2
    Fixture for 'na_action' argument in map.
    rs   ru   s    r)   Ú	na_actionr«   t  rx   r+   c                ó   — | j                   S )zJ
    Fixture for 'ascending' argument in sort_values/sort_index/rank.
    rs   ru   s    r)   Ú	ascendingr­   |  rx   r+   )ÚaverageÚminÚmaxr„   Údensec                ó   — | j                   S )z.
    Fixture for 'rank' argument in rank.
    rs   ru   s    r)   Úrank_methodr³   „  rx   r+   c                ó   — | j                   S )z5
    Fixture for 'as_index' argument in groupby.
    rs   ru   s    r)   Úas_indexrµ   Œ  rx   r+   c                ó   — | j                   S )z6
    Fixture for 'cache' argument in to_datetime.
    rs   ru   s    r)   Úcacher·   ”  rx   r+   c                ó   — | j                   S )z>
    Fixture for parallel keyword argument for numba.jit.
    rs   ru   s    r)   Úparallelr¹   œ  rx   r+   c                ó   — | j                   S )z;
    Fixture for nogil keyword argument for numba.jit.
    rs   ru   s    r)   Únogilr»   ¨  rx   r+   c                ó,   — t        | «      j                  S ©N©ÚtypeÚ__name__rm   s    r)   ro   ro   ³  s   € ´d¸1³g×6FÑ6F€ r+   c                ó   — | j                   S )z/
    Fixture for each null type in pandas.
    rs   ru   s    r)   Únulls_fixturerÂ   ³  rx   r+   c                ó   — | j                   S )zL
    Fixture for each null type in pandas, each null type exactly once.
    rs   ru   s    r)   Úunique_nulls_fixturerÄ   ¾  rx   r+   c                ó,   — t        | «      j                  S r½   r¾   rm   s    r)   ro   ro   Ê  s   € ¼¸Q»×8HÑ8H€ r+   c                ó   — | j                   S )z-
    Fixture for each NaT type in numpy.
    rs   ru   s    r)   Únp_nat_fixturerÇ   Ê  rx   r+   c                ó   — | j                   S )z;
    Fixture to parametrize over DataFrame and Series.
    rs   ru   s    r)   Úframe_or_seriesrÉ   Û  rx   r+   ri   Úseriesc                ó   — | j                   S )zÑ
    Fixture to parametrize over Index and Series, made necessary by a mypy
    bug, giving an error:

    List item 0 has incompatible type "Type[Series]"; expected "Type[PandasObject]"

    See GH#29725
    rs   ru   s    r)   Úindex_or_seriesrÌ   ã  r{   r+   )ri   rÊ   Úarrayc                ó   — | j                   S )zG
    Fixture to parametrize over Index, Series, and ExtensionArray
    rs   ru   s    r)   Úindex_or_series_or_arrayrÏ   ð  rx   r+   c                ó   — | j                   S r½   )rÀ   rm   s    r)   ro   ro   ù  s
   € ÀQÇZÁZ€ r+   c                ó   — | j                   S )z]
    Fixture to test behavior for Index, Series, DataFrame, and pandas Array
    classes
    rs   ru   s    r)   Úbox_with_arrayrÒ   ø  ó   € ð �=‰=Ðr+   c                 ó>   —  G d„ dt         t        t        f   «      } | S )z,
    Fixture for a dictionary subclass.
    c                  ó   — e Zd Zdd„Zy)ú"dict_subclass.<locals>.TestSubDictc                ó6   — t        j                  | g|¢­i |¤Ž y r½   )ÚdictÚ__init__)r8   ÚargsÚkwargss      r)   rÙ   z+dict_subclass.<locals>.TestSubDict.__init__  s   € Ü�M‰M˜$Ð0 Ò0¨Ó0r+   N©ÚreturnÚNone)rÀ   Ú
__module__r7   rÙ   rl   r+   r)   ÚTestSubDictrÖ     s   „ ô	1r+   rà   )rØ   r   )rà   s    r)   Údict_subclassrá     s   € ô1”dœ3¤˜8‘nô 1ð Ðr+   c                 óR   —  G d„ dt         j                  t        t        f   «      } | S )z8
    Fixture for a non-mapping dictionary subclass.
    c                  ó*   — e Zd Zdd„Zd„ Zdd„Zdd„Zy)	ú5non_dict_mapping_subclass.<locals>.TestNonDictMappingc                ó   — || _         y r½   )Ú_data)r8   Úunderlying_dicts     r)   rÙ   z>non_dict_mapping_subclass.<locals>.TestNonDictMapping.__init__  s	   € Ø(ˆD�Jr+   c                ó8   — | j                   j                  |«      S r½   )ræ   Ú__getitem__)r8   Úkeys     r)   ré   zAnon_dict_mapping_subclass.<locals>.TestNonDictMapping.__getitem__  s   € Ø—:‘:×)Ñ)¨#Ó.Ð.r+   c                ó6   — | j                   j                  «       S r½   )ræ   Ú__iter__©r8   s    r)   rì   z>non_dict_mapping_subclass.<locals>.TestNonDictMapping.__iter__   s   € Ø—:‘:×&Ñ&Ó(Ð(r+   c                ó6   — | j                   j                  «       S r½   )ræ   Ú__len__rí   s    r)   rï   z=non_dict_mapping_subclass.<locals>.TestNonDictMapping.__len__#  s   € Ø—:‘:×%Ñ%Ó'Ð'r+   NrÜ   )rÝ   zIterator[Any])rÝ   Úint)rÀ   rß   r7   rÙ   ré   rì   rï   rl   r+   r)   ÚTestNonDictMappingrä     s   „ ó	)ò	/ó	)ô	(r+   rñ   )r   ÚMappingr   )rñ   s    r)   Únon_dict_mapping_subclassró     s#   € ô(œSŸ[™[¬¬c¨Ñ2ô (ð Ðr+   c            	     ó  — t        j                  t        j                  j	                  d«      j                  d«      t        t        d«      «      t        j                  ddd¬«      ¬«      } | j                  d	„ d
„ d„ g«      j                  «       }|j                  j                  |j                  j                  D �cg c]  }|j                  d«      ‘Œ c}«      |_        |j                  j                  g d¢d¬«       |S c c}w )z„
    DataFrame with 3 level MultiIndex (year, month, day) covering
    first 100 business days from 2000-01-01 with random data
    é   )éd   é   ÚABCDú
2000-01-01rö   ÚB©ÚperiodsÚfreq)rj   ri   c                ó   — | j                   S r½   )Úyearrm   s    r)   ro   zAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>7  s
   €  §¡€ r+   c                ó   — | j                   S r½   )Úmonthrm   s    r)   ro   zAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>7  s
   € °1·7±7€ r+   c                ó   — | j                   S r½   )Údayrm   s    r)   ro   zAmultiindex_year_month_day_dataframe_random_data.<locals>.<lambda>7  s
   € ÀaÇeÁe€ r+   Úi8)rÿ   r  r  T)Úinplace)re   Ú	DataFramerd   ÚrandomÚdefault_rngÚstandard_normalr   ÚlistÚ
date_rangeÚgroupbyÚsumri   Ú
set_levelsÚlevelsÚastypeÚ	set_names)ÚtdfÚymdÚlevs      r)   Ú/multiindex_year_month_day_dataframe_random_datar  ,  sÄ   € ô �,‰,Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó:Ü”d˜6“lÓ#Ü�m‰m˜L°#¸CÔ@ô€Cð
 �+‰+Ñ'Ñ):¹OÐLÓ
M×
QÑ
QÓ
S€Cà—	‘	×$Ñ$À#Ç)Á)×BRÑBRÖ%S¸3 c§j¡j°Õ&6Ò%SÓT€C„IØ‡I�I×ÑÒ0¸$ÐÔ?Ø€Jùò &Ts   Â?Dc                 ó:   — t        g d¢g d¢gg d¢g d¢gddg¬«      S )z;
    2-level MultiIndex, lexsorted, with string names.
    ©ÚfooÚbarÚbazÚqux©ÚoneÚtwoÚthree)
r   r   r   rh   rh   rõ   rõ   é   r   r   )
r   rh   rõ   r   rh   rh   rõ   r   rh   rõ   r„   Úsecond)r  ÚcodesÚnames)r   rl   r+   r)   Ú%lexsorted_two_level_string_multiindexr$  >  s+   € ô
 Ú,Ò.EÐFÚ-Ò/MÐNØ˜Ð!ôð r+   c                ó¨   — | }t        j                  t        j                  j	                  d«      j                  d«      |t        g d¢d¬«      ¬«      S )z2DataFrame with 2 level MultiIndex with random datarõ   )é
   r   )ÚArú   ÚCÚexp©rD   ©ri   rj   )re   r  rd   r  r  r	  r   )r$  ri   s     r)   Ú multiindex_dataframe_random_datar,  J  sD   € ð
 2€EÜ�<‰<Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó9ØÜ’o¨EÔ2ôð r+   c                 óÀ   — t        g d¢«      } t        ddg«      }t        j                  g d¢«      }t        j                  g d¢«      }ddg}t        | |g||g|d¬	«      S )
zJ
    MultiIndex used to test the general functionality of this object
    r  r  r  )r   r   rh   rõ   r   r   )r   rh   r   rh   r   rh   r„   r!  F)r  r"  r#  Úverify_integrity)r   rd   rÍ   r   )Ú
major_axisÚ
minor_axisÚmajor_codesÚminor_codesÚindex_namess        r)   Ú_create_multiindexr4  W  sh   € ô Ò3Ó4€JÜ˜˜u�~Ó&€Jä—(‘(Ò-Ó.€KÜ—(‘(Ò-Ó.€KØ˜HÐ%€KÜØ˜JÐ'Ø˜KÐ(ØØô	ð r+   c            	     ón   — t        j                  ddgddgt        j                  ddd¬«      gg d	¢¬
«      S )zB
    MultiIndex with a level that is a tzaware DatetimeIndex.
    rh   rõ   ÚaÚbÚ20130101r   ú
US/Eastern©rü   Útzr  )r#  )r   Úfrom_productre   r  rl   r+   r)   Ú_create_mi_with_dt64tz_levelr=  k  s9   € ô
 ×"Ñ"Ø
ˆQˆ�#�s�œRŸ]™]¨:¸qÀ\ÔRÐSÚ%ôð r+   r:   r&  Úpandas_©ÚdtypeÚstringr   z
2020-01-01)rü   zdatetime-tzz
US/Pacificr:  ÚperiodÚDrû   r	   z1 day)Ústartrü   rý   ÚrangeÚint8Úint16Úint32Úint64Úuint8Úuint16Úuint32Úuint64Úfloat32Úfloat64zbool-objecté   ú
bool-dtypeÚ	complex64y              ð?Ú
complex128ÚcategoricalÚabcdrõ   Úintervalrö   é   )ÚnumÚemptyÚtuples)r  r  r  )rh   rõ   r   )Ústrictúmi-with-dt64tz-levelÚmultiúmixed-int-string)r   r6  rh   r7  rõ   ÚcÚrepeats)r   r   rh   rh   rõ   rõ   Únullable_intÚInt64Únullable_uintÚUInt16Únullable_floatÚFloat32Únullable_boolÚbooleanzstring-pythonzstring[python]zstring[pyarrow]zstring-pyarrowc                óH   — t         | j                     j                  d¬«      S )zØ
    Fixture for many "simple" kinds of indices.

    These indices are unlikely to cover corner cases, e.g.
        - no names
        - no NaTs/NaNs
        - no values near implementation bounds
        - ...
    F©Údeep©Úindices_dictrt   Úcopyru   s    r)   ri   ri   §  s!   € ô ˜Ÿ™Ñ&×+Ñ+°Ð+Ó7Ð7r+   c                óH   — t         | j                     j                  d¬«      S )zD
    index fixture, but excluding types that are not orderable.
    Frj  rl  ru   s    r)   Úindex_sortablerp  ¶  s!   € ô
 ˜Ÿ™Ñ&×+Ñ+°Ð+Ó7Ð7r+   c                óL   — | j                   }t        |   j                  d¬«      S )z8
    index fixture, but excluding MultiIndex cases.
    Frj  )rt   rm  rn  )rv   rê   s     r)   Ú
index_flatrr  ¾  s&   € ð �-‰-€CÜ˜Ñ×!Ñ! uÐ!Ó-Ð-r+   c                óH   — t         | j                     j                  d¬«      S )zI
    index_flat fixture, but excluding types that are not orderable.
    Frj  rl  ru   s    r)   Úindex_flat_sortablert  Ë  s!   € ô ˜Ÿ™Ñ&×+Ñ+°Ð+Ó7Ð7r+   )rð   ÚuintÚfloat)rE  rY  r`  rQ  c                ó8  — t         | j                     }| j                  dv rC|j                  «       }dg|d   dd ¢­|d<   dg|d   dd ¢­|d<   t        j                  |«      S |j
                  j                  «       }d|d<   d|d<    t        |«      |d¬«      S )zÙ
    Fixture for indices with missing values.

    Integer-dtype and empty cases are excluded because they cannot hold missing
    values.

    MultiIndex is excluded because isna() is not defined for MultiIndex.
    )rZ  r\  r]  Nr   rh   éÿÿÿÿF©rn  )rm  rt   Útolistr   Úfrom_tuplesÚ_valuesrn  r¿   ©rv   ÚindÚvalss      r)   Úindex_with_missingr€  Þ  s¨   € ô( �w—}‘}Ñ
%€CØ‡}�}ÐCÑCà�z‰z‹|ˆØÐ&˜$˜q™' ! "˜+Ñ&ˆˆQ‰ØÐ(˜4 ™8 A B˜<Ñ(ˆˆR‰Ü×%Ñ% dÓ+Ð+à�{‰{×ÑÓ!ˆØˆˆQ‰ØˆˆR‰ØŒt�C‹y˜ EÔ*Ð*r+   )rE  rY  r`  rQ  r^  c                ó–   — t         | j                     }|j                  j                  «       }d|d<   d|d<    t	        |«      |d¬«      S )zQ
    index_with_missing fixture, but excluding types that are not orderable.
    Nr   rx  Fry  )rm  rt   r|  rn  r¿   r}  s      r)   Úindex_with_missing_sortabler‚     sI   € ô �w—}‘}Ñ
%€CØ�;‰;×ÑÓ€DØ€Dˆ�GØ€Dˆ�HØŒ4�‹9�T Ô&Ð&r+   c            
     óÎ   — t        j                  t        j                  dt        j                  ¬«      dz  t        t        d«      D � cg c]  } d| › �‘Œ	 c} «      d¬«      S c c} w )zC
    Fixture for Series of floats with Index of unique strings
    é   r?  gš™™™™™ñ?Úi_rÊ   ©ri   rD   )re   ÚSeriesrd   ÚarangerO  r   rE  ©Úis    r)   Ústring_seriesr‹    sO   € ô
 �9‰9Ü
�	‰	�"œBŸJ™JÔ'¨#Ñ-Ü¤u¨R£yÖ1 !�r˜!˜’XÒ1Ó2Øôð ùâ1s   Á	A"c                 óÐ   — t        d«      D � cg c]  } d| › �‘Œ	 }} t        t        d«      D � cg c]  } d| › �‘Œ	 c} «      }t        j                  ||dt        ¬«      S c c} w c c} w )zI
    Fixture for Series of dtype object with Index of unique strings
    r„  Úfoo_Úbar_Úobjects©ri   rD   r@  )rE  r   re   r‡  r:   )rŠ  Údatari   s      r)   Úobject_seriesr’  %  s]   € ô
 !& b£	Ö*˜1ˆd�1�#ŠJÐ*€DÐ*Ü¤u¨R£yÖ1 !�T˜!˜’:Ò1Ó2€EÜ�9‰9�T ¨Y¼fÔEÐEùò +ùÚ1s
   ŽA®A#c                 ó¶   — t        j                  t        j                  j	                  d«      j                  d«      t        j                  ddd¬«      d¬«      S )z9
    Fixture for Series of floats with DatetimeIndex
    rõ   r„  rù   rú   rû   Útsr†  )re   r‡  rd   r  r  r	  r  rl   r+   r)   Údatetime_seriesr•  /  sE   € ô
 �9‰9Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó4Ü�m‰m˜L°"¸3Ô?Øôð r+   c                ó¦   — t        | «      }t        j                  j                  d«      j	                  |«      }t        j                  || dd¬«      S )zHelper for the _series dictrõ   r6  F)ri   rD   rn  )Úlenrd   r  r  r	  re   r‡  )ri   Úsizer‘  s      r)   Ú_create_seriesr™  ;  s?   € äˆu‹:€DÜ�9‰9× Ñ  Ó#×3Ñ3°DÓ9€DÜ�9‰9�T ¨S°uÔ=Ð=r+   zseries-with-z-indexc                ó   — t        | «      S )zE
    Fixture for tests on series with changing types of indices.
    )r™  ©ri   s    r)   Úseries_with_simple_indexrœ  H  s   € ô
 ˜%Ó Ð r+   z-seriesr„  zi-r6  r�  c                óH   — t         | j                     j                  d¬«      S )z|
    Fixture for tests on indexes, series and series with a narrow dtype
    copy to avoid mutation, e.g. setting .name
    Frj  )Ú_index_or_series_objsrt   rn  ru   s    r)   Úindex_or_series_objrŸ  [  s!   € ô ! §¡Ñ/×4Ñ4¸%Ð4Ó@Ð@r+   c                óH   — t         | j                     j                  d¬«      S )zR
    index_or_series_obj fixture, but excluding types that are not orderable.
    Frj  )Ú_index_or_series_objs_orderablert   rn  ru   s    r)   Úindex_or_series_obj_orderabler¢  k  s!   € ô
 +¨7¯=©=Ñ9×>Ñ>ÀEÐ>ÓJÐJr+   c                óH   — t         | j                     j                  d¬«      S )z 
    Fixture for tests on indexes, series, series with a narrow dtype and
    series with empty objects type
    copy to avoid mutation, e.g. setting .name
    Frj  )Ú_index_or_series_memory_objsrt   rn  ru   s    r)   Úindex_or_series_memory_objr¥  €  s!   € ô (¨¯©Ñ6×;Ñ;ÀÐ;ÓGÐGr+   c            
     óì   — t        j                  t        j                  dt        j                  ¬«      t        t        d«      D � cg c]  } d| › �‘Œ	 c} «      t        t        d«      «      ¬«      S c c} w )zj
    Fixture for DataFrame of ints with index of unique strings

    Columns are ['A', 'B', 'C', 'D']
    ©r„  r÷   r?  r„  r�  rø   r+  )re   r  rd   ÚonesrI  r   rE  r
  r‰  s    r)   Ú	int_framer©  �  sS   € ô �<‰<Ü
�‰�œrŸx™xÔ(Ü¬¨r«Ö3 A�t˜A˜3’ZÒ3Ó4Ü”d˜6“lÓ#ôð ùâ3s   ÁA1c            
     óþ   — t        j                  t        j                  j	                  d«      j                  d«      t        t        d«      D � cg c]  } d| › �‘Œ	 c} «      t        t        d«      «      ¬«      S c c} w )zm
    Fixture for DataFrame of floats with index of unique strings

    Columns are ['A', 'B', 'C', 'D'].
    rõ   r§  r„  r�  rø   r+  )	re   r  rd   r  r  r	  r   rE  r
  r‰  s    r)   Úfloat_framer«  ›  s^   € ô �<‰<Ü
�	‰	×Ñ˜aÓ ×0Ñ0°Ó9Ü¬¨r«Ö3 A�t˜A˜3’ZÒ3Ó4Ü”d˜6“lÓ#ôð ùâ3s   ÁA:c                 óŽ  — t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      g
} t        j                  t        j                  j                  d«      j                  t        | «      «      | ¬«      S )zF
    Fixture for Series with a DatetimeIndex that has duplicates.
    iÐ  rh   rõ   r   r÷   rP  r›  )r   re   r‡  rd   r  r  r	  r—  )Údatess    r)   Ú(rand_series_with_duplicate_datetimeindexr®  ©  sµ   € ô 	��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!ÓÜ��q˜!Óð€Eô �9‰9”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¼cÀ%»jÓIÐQVÔWÐWr+   )r‹   rŒ   rŒ   gš™™™™™¹?g      à?z2012-01ÚM)rý   z	period[M]z
2012-02-01z	period[D]z
2011-01-01r9  )r;  Ús)Úunitr;  iô  )Úsecondsztimedelta64[us]c                ó   — | j                   S )z;
    Fixture that tests each scalar and datetime type.
    rs   ru   s    r)   Úea_scalar_and_dtyper´  Á  ó   € ð" �=‰=Ðr+   c                ó   — | j                   S )zD
    Fixture for dunder names for common arithmetic operations.
    rs   ru   s    r)   Úall_arithmetic_operatorsr·  Ú  rx   r+   c                ó   — | j                   S )zU
    Fixture for operator and roperator arithmetic, comparison, and logical ops.
    rs   ru   s    r)   Úall_binary_operatorsr¹  â  ó   € ðD �=‰=Ðr+   c                ó   — | j                   S )zÞ
    Fixture for operator and roperator arithmetic functions.

    Notes
    -----
    This does not include divmod and rdivmod, which return a tuple and so
    cannot be used interchangeably with the other operators.
    rs   ru   s    r)   Úall_arithmetic_functionsr¼    s   € ð6 �=‰=Ðr+   c                ó   — | j                   S )z.
    Fixture for numeric reduction names.
    rs   ru   s    r)   Úall_numeric_reductionsr¾  %  rx   r+   c                ó   — | j                   S )z.
    Fixture for boolean reduction names.
    rs   ru   s    r)   Úall_boolean_reductionsrÀ  -  rx   r+   c                ó   — | j                   S )z>
    Fixture for all (boolean + numeric) reduction names.
    rs   ru   s    r)   Úall_reductionsrÂ  5  rx   r+   c                ó   — | j                   S )z;
    Fixture for operator module comparison functions.
    rs   ru   s    r)   Úcomparison_oprÄ  =  rx   r+   )Ú__le__Ú__lt__Ú__ge__Ú__gt__c                ó   — | j                   S )zm
    Fixture for dunder names for compare operations except == and !=

    * >=
    * >
    * <
    * <=
    rs   ru   s    r)   Úcompare_operators_no_eq_nerÊ  E  r{   r+   )Ú__and__Ú__rand__Ú__or__Ú__ror__Ú__xor__Ú__rxor__c                ó   — | j                   S )zY
    Fixture for dunder names for common logical operations

    * |
    * &
    * ^
    rs   ru   s    r)   Úall_logical_operatorsrÒ  R  ó   € ð �=‰=Ðr+   c                ó   — | j                   S )z0
    Fixture for numeric accumulation names
    rs   ru   s    r)   Úall_numeric_accumulationsrÕ  `  rx   r+   c                ó$   — | j                  d«      S )zR
    Returns the configuration for the test setting `--no-strict-data-files`.
    r    )rZ   )Úpytestconfigs    r)   r    r    k  s   € ð
 ×!Ñ!Ð"5Ó6Ð6r+   c                ó˜   ‡ ‡— t         j                  j                  t         j                  j                  t        «      d«      Šˆˆ fd„}|S )aD  
    Get the path to a data file.

    Parameters
    ----------
    path : str
        Path to the file, relative to ``pandas/tests/``

    Returns
    -------
    path including ``pandas/tests``.

    Raises
    ------
    ValueError
        If the path doesn't exist and the --no-strict-data-files option is not set.
    Útestsc                 óÚ   •— t        j                  j                  ‰g| ¢­Ž }t         j                  j                  |«      s*‰rt	        d|› d�«      ‚t        j                  d|› d�«       |S )NzCould not find file z' and --no-strict-data-files is not set.zCould not find r5   )ÚosrK   ÚjoinÚexistsÚ
ValueErrorrG   r[   )rÚ   rK   Ú	BASE_PATHr    s     €€r)   Údecozdatapath.<locals>.decoˆ  sc   ø€ Ü�w‰w�|‰|˜IÐ-¨Ò-ˆÜ�w‰w�~‰~˜dÔ#Ù Ü Ø*¨4¨&Ð0WÐXóð ô �K‰K˜/¨$¨¨qÐ1Ô2Øˆr+   )rÛ  rK   rÜ  ÚdirnameÚ__file__)r    rà  rß  s   ` @r)   Údatapathrã  s  s2   ù€ ô& —‘—‘œRŸW™WŸ_™_¬XÓ6¸Ó@€Iõð €Kr+   r   z
Asia/Tokyozdateutil/US/Pacificzdateutil/Asia/Singaporez+01:15z-02:15z	UTC+01:15z	UTC-02:15rh   )Úhoursrx  r  r*  i,  iÔþÿÿc                ó   — | j                   S )zD
    Fixture for trying timezones including default (None): {0}
    rs   ru   s    r)   Útz_naive_fixtureræ  ¶  rˆ   r+   c                ó   — | j                   S )z4
    Fixture for trying explicit timezones: {0}
    rs   ru   s    r)   Útz_aware_fixturerè  ¿  rˆ   r+   Úutczdateutil/UTCc                ó   — | j                   S )zQ
    Fixture to provide variants of UTC timezone strings and tzinfo objects.
    rs   ru   s    r)   Úutc_fixturerë  Î  rx   r+   )r°  ÚmsÚusÚnsc                ó   — | j                   S )z&
    datetime64 units we support.
    rs   ru   s    r)   r±  r±  Ù  rx   r+   c                ó   — | j                   S )zR
    Parametrized fixture for string dtypes.

    * str
    * 'str'
    * 'U'
    rs   ru   s    r)   Ústring_dtyperñ  ç  ó   € ð �=‰=Ðr+   ÚpythonÚpyarrow)ústring=string[python]ústring=string[pyarrow]ústring=str[pyarrow]ústring=str[python]c                óL   — | j                   \  }}t        j                  ||«      S )zÍ
    Parametrized fixture for string dtypes.
    * 'string[python]' (NA variant)
    * 'string[pyarrow]' (NA variant)
    * 'str' (NaN variant, with pyarrow)
    * 'str' (NaN variant, without pyarrow)
    )rt   re   ÚStringDtype©rv   ÚstorageÚna_values      r)   Ústring_dtype_no_objectrþ  ó  s#   € ð0  Ÿ™Ñ€GˆXÜ�>‰>˜' 8Ó,Ð,r+   c                ó   — | j                   S )za
    Parametrized fixture for string dtypes.

    * 'string[python]'
    * 'string[pyarrow]'
    rs   ru   s    r)   Únullable_string_dtyper     ó   € ð �=‰=Ðr+   c                ó:   — t        j                  | j                  Ž S )zq
    Parametrized fixture for string dtypes backed by Pyarrow.

    * 'str[pyarrow]'
    * 'string[pyarrow]'
    )re   rú  rt   ru   s    r)   Úpyarrow_string_dtyper    s   € ô �>‰>˜7Ÿ=™=Ð)Ð)r+   c                ó   — | j                   S ©zb
    Parametrized fixture for pd.options.mode.string_storage.

    * 'python'
    * 'pyarrow'
    rs   ru   s    r)   Ústring_storager  /  r  r+   c                ó   — | j                   S )z�
    Parametrized fixture for StringDtype storage and na_value.

    * 'python' + pd.NA
    * 'pyarrow' + pd.NA
    * 'pyarrow' + np.nan
    rs   ru   s    r)   Ústring_dtype_argumentsr  ?  s   € ð, �=‰=Ðr+   Únumpy_nullablec                ó   — | j                   S r  rs   ru   s    r)   Údtype_backendr  X  r  r+   c                ó   — | j                   S )zK
    Parametrized fixture for bytes dtypes.

    * bytes
    * 'bytes'
    rs   ru   s    r)   Úbytes_dtyper  m  rÓ   r+   c                ó   — | j                   S )zN
    Parametrized fixture for object dtypes.

    * object
    * 'object'
    rs   ru   s    r)   Úobject_dtyper  x  rÓ   r+   )zstring=objectrõ  rö  r÷  rø  c                ó¬   — t        | j                  t        j                  «      r| j                  S | j                  \  }}t	        j
                  ||«      S )zÜ
    Parametrized fixture for string dtypes.
    * 'object'
    * 'string[python]' (NA variant)
    * 'string[pyarrow]' (NA variant)
    * 'str' (NaN variant, with pyarrow)
    * 'str' (NaN variant, without pyarrow)
    )Ú
isinstancert   rd   r@  re   rú  rû  s      r)   Úany_string_dtyper  ƒ  sA   € ô2 �'—-‘-¤§¡Ô*Ø�}‰}Ðð $ŸM™MÑˆ�Ü�~‰~˜g xÓ0Ð0r+   c                ó   — | j                   S )z\
    Parametrized fixture for datetime64 dtypes.

    * 'datetime64[ns]'
    * 'M8[ns]'
    rs   ru   s    r)   Údatetime64_dtyper  ¨  rÓ   r+   c                ó   — | j                   S )z^
    Parametrized fixture for timedelta64 dtypes.

    * 'timedelta64[ns]'
    * 'm8[ns]'
    rs   ru   s    r)   Útimedelta64_dtyper  ³  rÓ   r+   c            	     ó:   — t        j                  ddddddd¬«      S )z-
    Fixture emits fixed Timestamp.now()
    iå  rh   é   r÷   é   é   )rÿ   r  r  ÚhourÚminuter!  Úmicrosecond)re   Ú	Timestamprl   r+   r)   Úfixed_now_tsr  ¾  s$   € ô
 �<‰<Ø˜ ¨°1¸RÈRôð r+   c                ó   — | j                   S )z^
    Parameterized fixture for float dtypes.

    * float
    * 'float32'
    * 'float64'
    rs   ru   s    r)   Úfloat_numpy_dtyper!  È  rò  r+   c                ó   — | j                   S )zR
    Parameterized fixture for float dtypes.

    * 'Float32'
    * 'Float64'
    rs   ru   s    r)   Úfloat_ea_dtyper#  Ô  rÓ   r+   c                ó   — | j                   S )z~
    Parameterized fixture for float dtypes.

    * float
    * 'float32'
    * 'float64'
    * 'Float32'
    * 'Float64'
    rs   ru   s    r)   Úany_float_dtyper%  ß  rÓ  r+   c                ó   — | j                   S )zg
    Parameterized fixture for complex dtypes.

    * complex
    * 'complex64'
    * 'complex128'
    rs   ru   s    r)   Úcomplex_dtyper'  í  rò  r+   c                ó   — | j                   S )z£
    Parameterized fixture for complex and numpy float dtypes.

    * complex
    * 'complex64'
    * 'complex128'
    * float
    * 'float32'
    * 'float64'
    rs   ru   s    r)   Úcomplex_or_float_dtyper)  ù  s   € ð �=‰=Ðr+   c                ó   — | j                   S )z|
    Parameterized fixture for signed integer dtypes.

    * int
    * 'int8'
    * 'int16'
    * 'int32'
    * 'int64'
    rs   ru   s    r)   Úany_signed_int_numpy_dtyper+    rÓ  r+   c                ó   — | j                   S )zx
    Parameterized fixture for unsigned integer dtypes.

    * 'uint8'
    * 'uint16'
    * 'uint32'
    * 'uint64'
    rs   ru   s    r)   Úany_unsigned_int_numpy_dtyper-    r{   r+   c                ó   — | j                   S )z³
    Parameterized fixture for any integer dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    rs   ru   s    r)   Úany_int_numpy_dtyper/  #  r�   r+   c                ó   — | j                   S )z²
    Parameterized fixture for any nullable integer dtype.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    rs   ru   s    r)   Úany_int_ea_dtyper1  5  s   € ð �=‰=Ðr+   c                ó   — | j                   S )a.  
    Parameterized fixture for any nullable integer dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    rs   ru   s    r)   Úany_int_dtyper3  F  s   € ð. �=‰=Ðr+   c                ó   — | j                   S )zî
    Parameterized fixture for any nullable integer dtype and
    any float ea dtypes.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    rs   ru   s    r)   Úany_numeric_ea_dtyper5  `  rµ  r+   c                ó   — | j                   S )aÚ  
    Parameterized fixture for any nullable integer dtype and
    any float ea dtypes.

    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    * 'uint8[pyarrow]'
    * 'int8[pyarrow]'
    * 'uint16[pyarrow]'
    * 'int16[pyarrow]'
    * 'uint32[pyarrow]'
    * 'int32[pyarrow]'
    * 'uint64[pyarrow]'
    * 'int64[pyarrow]'
    * 'float32[pyarrow]'
    * 'float64[pyarrow]'
    rs   ru   s    r)   Úany_numeric_ea_and_arrow_dtyper7  v  s   € ð@ �=‰=Ðr+   c                ó   — | j                   S )z~
    Parameterized fixture for any signed nullable integer dtype.

    * 'Int8'
    * 'Int16'
    * 'Int32'
    * 'Int64'
    rs   ru   s    r)   Úany_signed_int_ea_dtyper9  ™  r{   r+   c                ó   — | j                   S )zí
    Parameterized fixture for any (purely) real numeric dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    rs   ru   s    r)   Úany_real_numpy_dtyper;  ¦  s   € ð$ �=‰=Ðr+   c                ó   — | j                   S )a  
    Parameterized fixture for any (purely) real numeric dtype.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'

    and associated ea dtypes.
    rs   ru   s    r)   Úany_real_numeric_dtyper=  »  s   € ð( �=‰=Ðr+   c                ó   — | j                   S )aÌ  
    Parameterized fixture for all numpy dtypes.

    * bool
    * 'bool'
    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    * complex
    * 'complex64'
    * 'complex128'
    * str
    * 'str'
    * 'U'
    * bytes
    * 'bytes'
    * 'datetime64[ns]'
    * 'M8[ns]'
    * 'timedelta64[ns]'
    * 'm8[ns]'
    * object
    * 'object'
    rs   ru   s    r)   Úany_numpy_dtyper?  Ò  rº  r+   c                ó   — | j                   S )aí  
    Parameterized fixture for all real dtypes that can hold NA.

    * float
    * 'float32'
    * 'float64'
    * 'Float32'
    * 'Float64'
    * 'UInt8'
    * 'UInt16'
    * 'UInt32'
    * 'UInt64'
    * 'Int8'
    * 'Int16'
    * 'Int32'
    * 'Int64'
    * 'uint8[pyarrow]'
    * 'uint16[pyarrow]'
    * 'uint32[pyarrow]'
    * 'uint64[pyarrow]'
    * 'int8[pyarrow]'
    * 'int16[pyarrow]'
    * 'int32[pyarrow]'
    * 'int64[pyarrow]'
    * 'float[pyarrow]'
    * 'double[pyarrow]'
    rs   ru   s    r)   Úany_real_nullable_dtyperA  ÷  s   € ð: �=‰=Ðr+   c                ó   — | j                   S )a¥  
    Parameterized fixture for all numeric dtypes.

    * int
    * 'int8'
    * 'uint8'
    * 'int16'
    * 'uint16'
    * 'int32'
    * 'uint32'
    * 'int64'
    * 'uint64'
    * float
    * 'float32'
    * 'float64'
    * complex
    * 'complex64'
    * 'complex128'
    * 'UInt8'
    * 'Int8'
    * 'UInt16'
    * 'Int16'
    * 'UInt32'
    * 'Int32'
    * 'UInt64'
    * 'Int64'
    * 'Float32'
    * 'Float64'
    rs   ru   s    r)   Úany_numeric_dtyperC    s   € ð> �=‰=Ðr+   r_  ÚmixedÚbytesó   aó   czmixed-integerg       @Úfloatingg      ð?Úintegerzmixed-integer-floatÚdecimalÚ
datetime64z
2013-01-01z
2018-01-01r8  Ú20180101r   iÝ  iâ  Úcomplexy      ð?      ð?y       @       @r   Ú2013Ú2018c                ó^   — | j                   \  }}t        j                  |t        ¬«      }||fS )aŽ  
    Fixture for all inferred dtypes from _libs.lib.infer_dtype

    The covered (inferred) types are:
    * 'string'
    * 'empty'
    * 'bytes'
    * 'mixed'
    * 'mixed-integer'
    * 'mixed-integer-float'
    * 'floating'
    * 'integer'
    * 'decimal'
    * 'boolean'
    * 'datetime64'
    * 'datetime'
    * 'date'
    * 'timedelta'
    * 'time'
    * 'period'
    * 'interval'

    Returns
    -------
    inferred_dtype : str
        The string for the inferred dtype from _libs.lib.infer_dtype
    values : np.ndarray
        An array of object dtype that will be inferred to have
        `inferred_dtype`

    Examples
    --------
    >>> from pandas._libs import lib
    >>>
    >>> def test_something(any_skipna_inferred_dtype):
    ...     inferred_dtype, values = any_skipna_inferred_dtype
    ...     # will pass
    ...     assert lib.infer_dtype(values, skipna=True) == inferred_dtype
    r?  )rt   rd   rÍ   r:   )rv   Úinferred_dtypeÚvaluess      r)   Úany_skipna_inferred_dtyperS  Z  s0   € ðR %Ÿ]™]Ñ€N�FÜ�X‰X�f¤FÔ+€Fð ˜6Ð!Ð!r+   c                 ó¬   — t        j                  dd¬«       ddlm}  ddlm}  |«       }d|j                  _        d|j                  _         | |¬	«      S )
zj
    Get an instance of IPython.InteractiveShell.

    Will raise a skip if IPython is not installed.
    ÚIPythonz6.0.0)Ú
minversionr   )ÚInteractiveShell)ÚConfigz:memory:F)r0   )	rG   ÚimportorskipÚIPython.core.interactiveshellrW  Útraitlets.configrX  ÚHistoryManagerÚ	hist_fileÚenabled)rW  rX  r_  s      r)   Úipr_  �  sJ   € ô ×Ñ˜	¨gÕ6Ý>õ
 (á‹€AØ!+€A×ÑÔØ$€A×ÑÔá 1Ô%Ð%r+   c               #  óR   K  — t        «       5  d–— ddd«       y# 1 sw Y   yxY w­w)zJUses mpl_cleanup_context to ensure matplotlib is cleaned up around a test.N)Úmpl_cleanup_contextrl   r+   r)   Úmpl_cleanuprb  £  s%   è ø€ ô 
Ó	ñ Û÷÷ ñ üs   ‚'�’	'›$ 'c               #  óª  K  — t        j                  d«      } t        j                  d«      }t        j                  d«      }|j                  j                  «       }	 | j	                  «       5  | j                  d«       d–— ddd«       |j                  j                  «        |j                  j                  |«       |j                  d«       t        j                  d«       y# 1 sw Y   ŒexY w# |j                  j                  «        |j                  j                  |«       |j                  d«       t        j                  d«       w xY w­w)a*  
    Ensure Matplotlib is cleaned up around a test.

    Before a test is run:

    1) Set the backend to "template" to avoid requiring a GUI.

    After a test is run:

    1) Reset units registry
    2) Reset rc_context
    3) Close all figures

    See matplotlib/testing/decorators.py#L24.
    Ú
matplotlibzmatplotlib.unitszmatplotlib.pyplotÚtemplateNÚallrh   )rG   rY  Úregistryrn  Ú
rc_contextÚuseÚclearÚupdateÚcloseÚgcÚcollect)ÚmplÚ	mpl_unitsÚpltÚorig_units_registrys       r)   ra  ra  ª  s  è ø€ ô" ×
Ñ
˜lÓ
+€CÜ×#Ñ#Ð$6Ó7€IÜ
×
Ñ
Ð1Ó
2€CØ#×,Ñ,×1Ñ1Ó3Ðð	Ø�^‰^Óñ 	Ø�G‰G�JÔÛ÷	ð 	×Ñ× Ñ Ô"Ø×Ñ×!Ñ!Ð"5Ô6Ø�	‰	�%Ôä
�
‰
�1�÷	ð 	ûð 	×Ñ× Ñ Ô"Ø×Ñ×!Ñ!Ð"5Ô6Ø�	‰	�%Ôä
�
‰
�1�üs8   ‚AEÁC3 Á-C'ÂC3 ÂAEÃ'C0Ã,C3 Ã3AEÅEÚTickc                ó   — | j                   S )zN
    Fixture for Tick based datetime offsets available for a time series.
    rs   ru   s    r)   Útick_classesru  Ë  rÓ  r+   c                ó   — | S r½   rl   rm   s    r)   ro   ro   Ù  s   € ¨€ r+   c                ó   — | j                   S )zk
    Simple fixture for testing keys in sorting methods.
    Tests None (no key) and the identity key.
    rs   ru   s    r)   Úsort_by_keyrx  Ù  rˆ   r+   )r  NN)ÚEgonÚVenkmanN)ÚNCC1701Dr{  r{  c                ó   — | j                   S )zP
    A 3-tuple of names, the first two for operands, the last for a result.
    rs   ru   s    r)   r#  r#  â  s   € ð  �=‰=Ðr+   c                ó   — | j                   S )zI
    Parametrize over __setitem__, loc.__setitem__, iloc.__setitem__
    rs   ru   s    r)   Úindexer_slir~  õ  rx   r+   c                ó   — | j                   S )z<
    Parametrize over loc.__getitem__, iloc.__getitem__
    rs   ru   s    r)   Ú
indexer_lir€  ý  rx   r+   c                ó   — | j                   S )z8
    Parametrize over __setitem__, iloc.__setitem__
    rs   ru   s    r)   Ú
indexer_sir‚    rx   r+   c                ó   — | j                   S )z7
    Parametrize over __setitem__, loc.__setitem__
    rs   ru   s    r)   Ú
indexer_slr„    rx   r+   c                ó   — | j                   S )z:
    Parametrize over at.__setitem__, loc.__setitem__
    rs   ru   s    r)   Ú
indexer_alr†    rx   r+   c                ó   — | j                   S )z<
    Parametrize over iat.__setitem__, iloc.__setitem__
    rs   ru   s    r)   Úindexer_ialrˆ    rx   r+   c              #  óÊ   K  — t        j                  d| j                  «      5  | j                  rt         j                  j                  nd–— ddd«       y# 1 sw Y   yxY w­w)z”
    Fixture to check if performance warnings are enabled. Either produces
    ``PerformanceWarning`` if they are enabled, otherwise ``False``.
    zmode.performance_warningsFN)re   Úoption_contextrt   r   ÚPerformanceWarningru   s    r)   Úperformance_warningrŒ  %  sM   è ø€ ô 
×	Ñ	Ð6¸¿¹Ó	Fñ GØ.5¯mªmŒb�i‰i×*Ò*ÀÒF÷G÷ Gñ Güs   ‚!A#£+AÁ	A#ÁA ÁA#c                 ó   — t        «       S )z=
    Fixture to check if infer string option is enabled.
    r   rl   r+   r)   Úusing_infer_stringrŽ  /  s   € ô
 ÓÐr+   c                 óN   — t         j                  j                  j                  du S )NT)re   ÚoptionsÚfutureÚpython_scalarsrl   r+   r)   Úusing_python_scalarsr“  7  s   € ä�:‰:×Ñ×+Ñ+¨tÐ3Ð3r+   zEurope/Warsawzdateutil/Europe/Warsawz	list[Any]Ú_warsawsc                ó   — | j                   S )zE
    tzinfo for Europe/Warsaw using pytz, dateutil, or zoneinfo.
    rs   ru   s    r)   Úwarsawr–  A  rx   r+   c                óf   — | t        t        j                  «       «      z  }|j                  «        |S )z­
    Generate a unique file for testing use. See link for removal policy.
    https://docs.pytest.org/en/7.1.x/how-to/tmp_path.html#the-default-base-temporary-directory
    )rB   ÚuuidÚuuid4Útouch)Útmp_pathÚ	file_paths     r)   Ú	temp_filer�  I  s)   € ð œ3œtŸz™z›|Ó,Ñ,€IØ‡O�OÔØÐr+   r@   )Úscopec               #  óz   K  — t         j                  j                  «       5 } | –— d d d «       y # 1 sw Y   y xY w­wr½   )rG   ÚMonkeyPatchÚcontext)Úmps    r)   Úmonkeysessionr£  T  s3   è ø€ ä	×	Ñ	×	#Ñ	#Ó	%ð ¨ØŠ÷÷ ñ üs   ‚;¡/¦	;¯8´;c              #  ó„   K  — | j                   }t        j                  d| «      5  |–— d d d «       y # 1 sw Y   y xY w­w)Nzfuture.distinguish_nan_and_na)rt   re   rŠ  )rv   Úopts     r)   Úusing_nan_is_nar¦  Z  s;   è ø€ à
�-‰-€CÜ	×	Ñ	Ð:À¸GÓ	Dñ ØŠ	÷÷ ñ üs   ‚$A ¦4«	A ´=¹A rÜ   )rJ   zpytest.ItemrK   rB   rL   rB   rÝ   rÞ   )rÝ   ztype[dict[Any, Any]])rÝ   ztype[abc.Mapping[Any, Any]])rÝ   r   )rÝ   zpd.DataFrame)rÝ   z	pd.Series)r    rB   rÝ   zCallable[..., str])rÝ   zpd.Timestamp)rÝ   z#tuple[Hashable, Hashable, Hashable])rÝ   zIterator[bool | type[Warning]])rÝ   Úbool)rÝ   rB   (D  Ú__doc__Ú
__future__r   Úcollectionsr   Ú
contextlibr   r   r   r   r	   r
   rJ  r   rm  ÚoperatorrÛ  Útypingr   r   r˜  Údateutil.tzr   r   Únumpyrd   rG   Úpandas._configr   Úpandas.compat._optionalr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandas.core.dtypes.dtypesr   r   Úpandasre   Úpandas._testingÚ_testingÚtmÚpandas.corer   Úpandas.core.indexes.apir   r   Úcollections.abcr   r   r   rô  ÚpaÚhas_pyarrowÚImportErrorr   r.   r*   r2   rA   rM   ra   Úfixturerg   rw   rz   r}   r   r�   rƒ   r‡   rŽ   r�   r’   rt   Ú
skip_if_norœ   rŸ   r¡   r¥   r©   r«   r­   r³   rµ   r·   r¹   r»   ÚNULL_OBJECTSrÂ   Únulls_fixture2ÚnanÚNaTrÄ   Úunique_nulls_fixture2ÚNP_NAT_OBJECTSrÇ   Únp_nat_fixture2r  r‡  rÉ   rÌ   rÍ   rÏ   rÒ   Úbox_with_array2rá   ró   r  r$  r,  r4  r=  rE  r:   r  Úperiod_rangeÚtimedelta_rangeÚ
RangeIndexrˆ  r§  ÚCategoricalIndexr
  ÚIntervalIndexÚfrom_breaksÚlinspacer{  r•   r  rm  ÚidxÚkeysri   rp  r]   r  rr  rt  Úindex_flat2Úindex_flat2_sortableÚ
startswithr€  r‚  r‹  r’  r•  r™  Ú_seriesrœ  ÚNARROW_NP_DTYPESrÀ   Ú_narrow_seriesrž  rŸ  r¡  r¢  ÚPYTHON_DATA_TYPESÚ_typ_objects_seriesr¤  r¥  r©  r«  r®  ÚIntervalÚPeriodr  Úas_unitÚ	Timedeltar´  Úarithmetic_dunder_methodsr·  ÚaddÚraddÚsubÚrsubÚmulÚrmulÚtruedivÚrtruedivÚfloordivÚ	rfloordivÚmodÚrmodÚpowÚrpowÚeqÚneÚltÚleÚgtÚgeÚand_Úrand_ÚxorÚrxorÚor_Úror_r¹  r¼  Únumeric_reductionsr¾  Úboolean_reductionsrÀ  rÂ  Úcomparison_opsrÄ  rÊ  rÒ  Únumeric_accumulationsrÕ  r    rã  Ú	TIMEZONESÚextendÚFixedOffsetÚreprÚTIMEZONE_IDSÚparametrize_fixture_docrB   ræ  rè  Ú_UTCSÚappendré  rë  Úutc_fixture2r±  Úunit2ÚSTRING_DTYPESrñ  ÚNArþ  r   r  r  r  r  Ústring_storage2Ústring_dtype_arguments2ÚBYTES_DTYPESr  ÚOBJECT_DTYPESr  r@  r  Úany_string_dtype2ÚDATETIME64_DTYPESr  ÚTIMEDELTA64_DTYPESr  r  ÚFLOAT_NUMPY_DTYPESr!  ÚFLOAT_EA_DTYPESr#  ÚALL_FLOAT_DTYPESr%  ÚCOMPLEX_DTYPESr'  ÚCOMPLEX_FLOAT_DTYPESr)  ÚSIGNED_INT_NUMPY_DTYPESr+  ÚUNSIGNED_INT_NUMPY_DTYPESr-  ÚALL_INT_NUMPY_DTYPESr/  ÚALL_INT_EA_DTYPESr1  ÚALL_INT_DTYPESr3  r5  ÚALL_INT_PYARROW_DTYPES_STR_REPRÚFLOAT_PYARROW_DTYPES_STR_REPRr7  ÚSIGNED_INT_EA_DTYPESr9  ÚALL_REAL_NUMPY_DTYPESr;  ÚALL_REAL_DTYPESr=  ÚALL_NUMPY_DTYPESr?  ÚALL_REAL_NULLABLE_DTYPESrA  ÚALL_NUMERIC_DTYPESrC  rK  Ú_any_skipna_inferred_dtyperq   rS  r_  rb  Úcontextmanagerra  ÚoffsetsÚ__all__Ú
issubclassÚgetattrrs  ru  rx  r#  ÚsetitemÚlocÚilocr~  r€  r‚  r„  Úatr†  Úiatrˆ  rŒ  rŽ  r“  r”  Ú__annotations__r–  r�  r£  r¦  )rŠ  rê   ÚvalueÚindex_idri   r@  ÚpairÚos   00000000r)   ú<module>r4     sã   ðòõ( #å Û ÷÷ õ Û 	Û Û 	÷ó ÷ó Û å -å >ß )Ð )÷ó
 Ý Ý ÷ñ
 ÷ñ ðÛð 	Ø€Ká! &°Ô:€ò€ôô3ò
6ô,Iô$*<ðh €‡�˜Ôó!ó ð!ð €‡�Ò1Ñ7NÔOñó Pðð €‡�˜˜e�}Ô%ñ	ó &ð	ð €‡�Ò*Ô+ñó ,ðð €‡�˜˜e�}Ô%ñó &ðð €‡�˜˜e�}Ô%ñó &ðð €‡�˜˜e�}Ô%ñó &ðð €‡�Ò/Ô0ñó 1ðð €‡�Ò;Ô<ñó =ðð €‡�Ò;Ô<ñó =ðð €‡�Ò;Ô<ñó =ðð €‡�àØØØØØØˆ�‰�V = 2§=¡=°Ó#=Ô>ðô
ñó
ðð €‡�àØØØØØˆ�‰�V = 2§=¡=°Ó#=Ô>ðô	ñó	ðð €‡�˜˜e�}Ô%ñó &ðð €‡�Ò:Ô;ñó <ðð €‡�˜
 KÐ0Ô1ñó 2ðð €‡�˜˜hÐ'Ô(ñó )ðð €‡�˜˜e�}Ô%ñó &ðð €‡�ÒBÔCñó Dðð €‡�˜˜e�}Ô%ñó &ðð €‡�˜˜e�}Ô%ñó &ðð €‡�˜˜e�}Ô%ñó &ðð €‡�˜�wÔñó  ðð €‡��r—‘Ñ,FÔGñó Hðð €ð €‡�˜˜bŸf™f b§f¡fÐ-Ô.ñó /ðð -Ð ð €‡��r×(Ñ(Ñ.HÔIñó Jðð !€ð €‡�˜Ÿ™ b§i¡iÐ0Ô1ñó 2ðð €‡�˜˜rŸy™yÐ)°¸Ð/BÔCñ	ó Dð	ð €‡�˜˜rŸy™y¨"¯(©(Ð3Ò9UÔVñó Wðð €‡�Ø�2—9‘9˜bŸl™l¨B¯H©HÐ5Ñ;Oôñóðð !€ð ‡�ó	ó ð	ð ‡�óó ðð0 ‡�ñó ðð" ‡�óó ðð ‡�ð	àó	ó ð	òò(ð+Ø‰e©E°"«IÖ6 q�w˜q˜c’]Ò6¸fÔEð+à‰e©E°"«IÖ6 q�w˜q˜c’]Ò6¸eÔDð+ð ��—‘˜l°BÔ7ð+ð �=�2—=‘= °r¸lÔKð	+ð
 ˆoˆb�o‰o˜l°B¸SÔAð+ð Ð#�×#Ñ#¨'¸2ÀCÔHð+ð ˆ]ˆR�]‰]˜2Óð+ð ‰E�)�"—)‘)˜B“- vÔ.ð+ð ‰U�9�2—9‘9˜R“=¨Ô0ð+ð ‰U�9�2—9‘9˜R“=¨Ô0ð+ð ‰U�9�2—9‘9˜R“=¨Ô0ð+ð ‰U�9�2—9‘9˜R“=¨Ô0ð+ð ‰e�I�B—I‘I˜b“M¨Ô2ð+ð ‰e�I�B—I‘I˜b“M¨Ô2ð+ð ‰e�I�B—I‘I˜b“M¨Ô2ð+ð  ‰u�Y�R—Y‘Y˜r“]¨)Ô4ð!+ð" ‰u�Y�R—Y‘Y˜r“]¨)Ô4ñ#+ð$ ‘5˜$ ˜¨Ñ*°&Ô9ð%+ð& ‘%˜˜u˜¨Ñ)°Ô6ð'+ð( ‘Øˆ�	‰	�"˜KÔ(¨4°)°"·)±)¸BÀkÔ2RÑ+RÑRóð)+ð. ‘%Øˆ�	‰	�"˜LÔ)¨D°9°2·9±9¸RÀ|Ô3TÑ,TÑTóð/+ð4 Ð&�2×&Ñ&¡t¨F£|°aÑ'7Ó8ð5+ð6 �× Ñ ×,Ñ,¨[¨R¯[©[¸¸CÀRÔ-HÓIð7+ð8 ‰U�2‹Yð9+ð: Ð$ˆj×$Ñ$ÙÒ!¢9°TÔ:óð;+ð@ Ñ8Ó:ðA+ðB ÑÓ!ðC+ðD ™Ò6Ó7ðE+ðF ‰uÒ'Ó(ðG+ðH ‘E˜)˜"Ÿ)™) B›-¨wÔ7ðI+ðJ ‘U˜9˜2Ÿ9™9 R›=°Ô9ðK+ðL ‘e˜I˜BŸI™I b›M°Ô;ðM+ðN ‘U˜9˜2Ÿ9™9 R›=×/Ò/°Ó5¸YÔGðO+ðP ‘UØˆ�‰©¨r«Ö3 A�G˜A˜3’-Ò3Ð;KÔLóñQ+€ñX Ù
��—‘±°r³Ö;¨A˜G A 3š-Ò;ÐCTÔUÓ
V€CØ%(€LÐ!Ñ"ð €‡��|×(Ò(Ó*Ô+ñ8ó ,ð8ð €‡� |ÖQ °sÐ>PÓ7PšÒQÔRñ8ó Sð8ð €‡�à*×0Ò0Ó2÷Ù��U¹*ÀUÈJÕ:WŠóôñ
.óð
.ð €‡�ð '×,Ò,Ó.÷áˆC�Ù˜% Ô,°Ð8JÒ1Jò 	óôñ8óð8ð €Ø*Ð ð €‡�ð '×,Ò,Ó.÷áˆC�à�NŠNÐ3Ô4ØÐAÑAá˜5 *Ô-ò 	óô
ñ+ó
ð+ð. €‡�ð '×,Ò,Ó.÷áˆC�à�NŠNÐ3Ô4ØÐUÑUá˜5 *Ô-ò 	óô
ñ'ó
ð'ð ‡�óó ðð ‡�óFó ðFð ‡�óó ðò>ð (×-Ò-Ó/÷áˆ�%ð �8�*˜FÐ#¡^°EÓ%:Ñ:ó€ð ‡�ó!ó ð!ð ×$Ò$÷	ð 	ð ‡~‚~Ð�gÐ 	 §	¡	Ùˆb‹	©E°"«IÖ6 q˜B˜q˜cš(Ò6¸SÈô!ñ ó€ð F˜<ÐE¨7ÐE°nÐEÐ ð €‡�Ð,×1Ò1Ó3Ô4ñAó 5ðAð ,×1Ò1Ó3÷#áˆˆUØ Ñ$ð ˆ�Jó#Ð ð €‡�Ð6×;Ò;Ó=Ô>ñKó ?ðKð ?A×>RÒ>RöØ5:€u‡~‚~Ð�gÐ 	 §	¡	¨%Ó 0Ñ0òÐ ð
 Øð àð ð ð ð ð	 Ð ð €‡�Ð3×8Ò8Ó:Ô;ñHó <ðHð ‡�ó
ó ð
ð ‡�ó
ó ð
ð ‡�óXó ðXð. €‡�à	ˆ�Š˜! 1Ô	%¡}°W¸gÓ'FÐGØ	ˆ�Š˜# SÔ	)©=¸ÀGÓ+LÐMØ	ˆ�Š�9 3Ô	'¨Ð5Ø	ˆ�Š�< cÔ	*¨KÐ8àˆB�LŠL˜¨,Ô7×?Ò?ÀÓDÙ ¨Ô6ð	
ð 
ˆ�Š˜cÔ	"Ð$5Ð6ð
ôñóðð €‡��r×3Ò3Ô4ñó 5ðð €‡�à�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ×ÒØ�ŠØ×ÒØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�	Š	Ø�ŠØ�ŠØ�ŠØ�Šð5ôñ<ó=ð<ð €‡�à�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ�ŠØ×ÒØ�ŠØ×ÒØ�ŠØ�ŠØ�ŠØ�ŠØ�Šðôñ$	ó%ð$	ð €‡��r×,Ò,Ô-ñó .ðð €‡��r×,Ò,Ô-ñó .ðð €‡��r×(Ò(Ô)ñó *ðð €‡��r×(Ò(Ô)ñó *ðð €‡�Ò?Ô@ñ	ó Að	ð €‡�ÚNôñóðð €‡��r×/Ò/Ô0ñó 1ðð ‡�ñ7ó ð7ð ‡�óó ððJ 	Ø	ØØØØØØØØÙ	ƒGÙƒIØÙ‰Y˜QÔÓ Ù‰Y˜RÔ  uÔ-ð€	ð" ÐØ×Òà×Ò˜SÓ!Ø×Ò˜QÓØ×Ò˜TÓ"Ø�M‰M˜,Ó'Ø�M‰M˜%Ó ð	
ôð "+Ö+˜A‘�Q•Ò+€ð €×Ò™C Ó-Ó.Ø€‡��y lÔ3ñó 4ó /ðð €×Ò™C ¨Q¨RÐ 0Ó1Ó2Ø€‡��y  �}¨,°q°rÐ*:Ô;ñó <ó 3ðð 
�¡£¨Ð-€àÐØ	‡L‚L�—’Ôð €‡��uÔñó ðð €ð €‡�Ò.Ô/ñó 0ðð 	€ð €‡��r×'Ò'Ô(ñó )ðð €‡�à	�2—5’5ÐØˆ�‰�i §¢Ð'¨}¨r¯}©}¸YÓ/GÔHØˆ�‰�i §¡Ð(°°·±¸iÓ0HÔIØ	�2—6‘6Ðð	ò	ôñ-óð-ð €‡�àØˆ�‰Ð&¨m¨b¯m©m¸IÓ.FÔGðôñóðð €‡�àˆ�‰�i §¡Ð(°°·±¸iÓ0HÔIØˆ�‰�i §¢Ð'¨}¨r¯}©}¸YÓ/GÔHðôñ*óð*ð €‡�àØˆ�‰�Y m b§m¡m°IÓ&>Ô?ðôñóðð €‡�à	�2—5’5ÐØˆ�‰�i §¢Ð'¨}¨r¯}©}¸YÓ/GÔHØˆ�‰�i §¡Ð(°°·±¸iÓ0HÔIØ	�2—6‘6Ðð	ò	ôñóðð €‡�àØˆ�‰�Y m b§m¡m°IÓ&>Ô?ðôñóðð !€Ø0Ð ð €‡��r—’Ô'ñó (ðð €‡��r×'Ò'Ô(ñó )ðð €‡�àˆ�Š�ÓØ	�2—5’5ÐØˆ�‰�i §¢Ð'¨}¨r¯}©}¸YÓ/GÔHØˆ�‰�i §¡Ð(°°·±¸iÓ0HÔIØ	�2—6‘6Ððò	ôñ 1ó!ð 1ð$ %Ð ð €‡��r×+Ò+Ô,ñó -ðð €‡��r×,Ò,Ô-ñó .ðð ‡�óó ðð €‡��r×,Ò,Ô-ñó .ðð €‡��r×)Ò)Ô*òó +ðð €‡��r×*Ò*Ô+ò
ó ,ñ
ð €‡��r×(Ò(Ô)òó *ñð €‡��r×.Ò.Ô/òó 0ñð €‡��r×1Ò1Ô2ò
ó 3ñ
ð €‡��r×3Ò3Ô4ò	ó 5ñ	ð €‡��r×.Ò.Ô/òó 0ñð" €‡��r×+Ò+Ô,òó -ñð  €‡��r×(Ò(Ô)òó *ñð2 €‡��r×+Ò+¨b×.@Ò.@Ñ@ÔAòó Bñð* €‡�Ø×ÒØ×Òñà×(Ò(ñ)ð 	×&Ò&ñ'ôòóñð: €‡��r×.Ò.Ô/ò	ó 0ñ	ð €‡��r×/Ò/Ô0òó 1ñð( €‡��r×)Ò)Ô*òó +ñð, €‡��r×*Ò*Ô+ò!ó ,ñ!ðH €‡��r×2Ò2Ô3òó 4ñð> €‡��r×,Ò,Ô-òó .ñðF ��R—V‘V™SÐ!Ð"Ø��R—U’U™CÐ Ð!Ùˆs�B—F‘F™CÐ Ð!Ù‰t�R—V‘V™TÐ"Ð#Øˆr�v‰v�r—v‘v˜rŸv™vÐ&Ð'Øˆb€MÙ�s˜BŸF™F AÐ&Ð'Ùˆs�B—F‘F™CÐ Ð!Ù‘#�r—v‘v™sÐ#Ð$Ù��B—F‘F˜A�ÐÙ˜Q §¡©Ð,Ð-Ù‘˜“˜RŸV™V¡W¨Q£ZÐ0Ð1Ø��r—v‘v˜uÐ%Ð&Ø��r—u’u˜eÐ$Ð%Ù�M�B—M’M¡,Ó/°·±¸¸¿ºÁ|Ó9TÐUÐVØ�,�"—,’,™zÓ*¨B¯F©F°L°B·L²LÁÓ4LÐMÐNÙ‰d‘4˜˜AÓ §¡©©T°1°aÓ(8Ð9Ð:Ù‘˜Ÿ™¡Ð(Ð)ð ‘9˜Q“< §¡©°1«Ð6Ð7Ù‰d�1‹g�r—v‘v™t A›wÐ'Ð(Ø�	�—	’	™&Ó! 2§6¡6¨9¨2¯9ª9±VÓ+<Ð=Ð>Ø�+�"—+’+˜a Ó# R§V¡V¨[¨R¯[ª[¸¸AÓ->Ð?Ð@ð3Ñ ñ8 3öØ€DˆƒGò�ð
 €‡�Ñ1±sÔ;ò,"ó <ñ,"ðd ‡�ò&ó ñ&ð* ‡�òó ñð ×Òòó ñð@ €‡�ð —’×#Ò#öàÚ’g˜bŸjšj¨!Ó,¨b¯jªj¯oªoÔ>À1ÉÂ;ò 	�—
’
˜AÕòôòóñð €‡�˜škÐ*Ô+òó ,ñð €‡�áÙ!Ù,à	�‰�—‘˜Ÿ™Ð Ø	�‰�—‘˜ÐØ	�‰�—’˜ÐØ	�Š�—’�r—u’uÐð	ôôóñð €‡�˜Ÿ
š
 B§F¢F¨B¯GªGÐ4Ô5òó 6ñð €‡�˜Ÿš §¢Ð(Ô)òó *ñð €‡�˜Ÿ
š
 B§G¢GÐ,Ô-òó .ñð €‡�˜Ÿ
š
 B§F¢FÐ+Ô,òó -ñð €‡�˜Ÿš˜rŸvšv�Ô'òó (ñð €‡�˜Ÿš §¢Ð(Ô)òó *ñð €‡�˜˜e�}Ô%ôGó &ñGð ‡�ô ó ñ ð ‡�ô4ó ñ4ñ 'Ñ(@ÐA�‰)Õ AØÐÙ‡O‚O�D—M‘M¡/Ó2Ô3ð €‡�‘xÔ ôó !ñð ‡�òó ñð €‡�‘iÕ òó !ñð
 €‡�˜˜e�}Ô%òó &òøð]@ ò ØƒKðüòT 7ùÚ6ùòN 4ùò <ùò& Rùóùóùó&ùóDùóBùò  7ùóùó(#ùòùò@
 ,ùòDùòns¯   ÂA| Ô<A|ÕA|â!A|ãA|!ä,
A|&ä7A|&å)A|+
å;A|+
æ.A|1
ç;+A|7
é+A|=
ë"A}ì!1A}íA}	íA}î2A}ï>(A}ÁEA}Ál*A}$Án;AA})Á|A|Á|A|Á}	A}