Ë
    u™ãj¤4  ã                  óÌ  — d dl mZ d dlZd dlZd dlmZmZmZm	Z	 d dl
Z
d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZmZmZ d dlmZ d d	lmZ d d
lmZ d dlZerd dl m!Z!m"Z"m#Z#m$Z$ d dl%Z%d dl&m'Z'm(Z( d dl)m*Z*  edd¬«      Z+ejX                  dd„«       Z-dd„Z.dd„Z/ej`                  ddddf	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z1	 	 	 	 	 	 	 	 	 	 d d„Z2	 	 	 	 d!d„Z3d"d„Z4d#d„Z5d$d„Z6d%d„Z7y)&é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚLiteralÚcast)Úusing_string_dtype)Úlib)Ú	timezones)Úpa_version_under18p0Úpa_version_under19p0Úpa_version_under25p0)Úimport_optional_dependency)ÚPandas4Warning)Úpandas_dtype)ÚCallableÚ	GeneratorÚHashableÚSequence)ÚDtypeArgÚDtypeBackend)ÚExtensionDtypeÚpytzÚignore)Úerrorsc               #  óœ   K  — t        j                  «       5  t        j                  ddt        «       d–— ddd«       y# 1 sw Y   yxY w­w)z÷
    Suppress the deprecation warning pyarrow triggers by calling ``.values``
    on timezone-aware data when converting pandas objects.

    Remove once the minimum pyarrow (26.0) no longer does this, see GH#68426 and
    apache/arrow#51302.
    r   zS(Series|DatetimeIndex)\.values returning an ndarray that drops timezone informationN)ÚwarningsÚcatch_warningsÚfilterwarningsr   © ó    úZ/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/io/_util.pyÚsuppress_pyarrow_values_warningr"   5   sF   è ø€ ô 
×	 Ñ	 Ó	"ñ Ü×ÑØð#äô		
ó 	÷÷ ñ üs   ‚A— A ·	AÁ A	ÁAc                 óÔ  — t        d«      } | j                  «       t        j                  «       | j	                  «       t        j
                  «       | j                  «       t        j                  «       | j                  «       t        j                  «       | j                  «       t        j                  «       | j                  «       t        j                  «       | j                  «       t        j                  «       | j!                  «       t        j"                  «       | j%                  «       t        j&                  «       | j)                  «       t        j*                  «       | j-                  «       t        j.                  «       | j1                  «       t        j2                  «       | j)                  «       t        j*                  «       | j5                  «       t        j*                  «       iS )NÚpyarrow)r   Úint8ÚpdÚ	Int8DtypeÚint16Ú
Int16DtypeÚint32Ú
Int32DtypeÚint64Ú
Int64DtypeÚuint8Ú
UInt8DtypeÚuint16ÚUInt16DtypeÚuint32ÚUInt32DtypeÚuint64ÚUInt64DtypeÚbool_ÚBooleanDtypeÚstringÚStringDtypeÚfloat32ÚFloat32DtypeÚfloat64ÚFloat64DtypeÚlarge_string)Úpas    r!   Ú_arrow_dtype_mappingr@   H   s  € Ü	# IÓ	.€Bà
�‰‹	”2—<‘<“>Ø
�‰‹
”B—M‘M“OØ
�‰‹
”B—M‘M“OØ
�‰‹
”B—M‘M“OØ
�‰‹
”B—M‘M“OØ
�	‰	‹”R—^‘^Ó%Ø
�	‰	‹”R—^‘^Ó%Ø
�	‰	‹”R—^‘^Ó%Ø
�‰‹
”B—O‘OÓ%Ø
�	‰	‹”R—^‘^Ó%Ø
�
‰
‹”b—o‘oÓ'Ø
�
‰
‹”b—o‘oÓ'Ø
�	‰	‹”R—^‘^Ó%Ø
�‰Óœ2Ÿ>™>Ó+ðð r    c                 ór  — t        d«      } | j                  «       t        j                  t        j
                  ¬«      | j                  «       t        j                  t        j
                  ¬«      i}t        s5t        j                  t        j
                  ¬«      || j                  «       <   |j                  S )Nr$   )Úna_value)
r   r8   r&   r9   ÚnpÚnanr>   r   Ústring_viewÚget)r?   Úmappings     r!   Ú_arrow_string_types_mapperrH   \   ss   € Ü	# IÓ	.€Bð 	�	‰	‹”R—^‘^¬R¯V©VÔ4Ø
�‰Óœ2Ÿ>™>´2·6±6Ô:ð€Gõ  Ü$&§N¡N¼B¿F¹FÔ$Cˆ�—‘Ó Ñ!à�;‰;Ðr    Fc           	     ó  — t        d«      }|€i n|}|dk(  r?t        «       }|r%t        j                  «       ||j	                  «       <   |j
                  }�n„|dk(  rt        j                  }�nmt        «       r¬t        rt        «       }�nQ|�•|j                  «       t        j                  «       |j                  «       t        j                  «       |j                  «       t        j                  «       |j!                  «       t        j                  «       ij
                  }nºd }n·|t"        j$                  u s|dk(  rš|�•|j                  «       t        j                  «       |j                  «       t        j                  «       |j                  «       t        j                  «       |j!                  «       t        j                  «       ij
                  }n	d }nt&        ‚ | j(                  dd|i|¤Ž}	t+        |	|||«      }	t-        |	«      }	|	S )Nr$   Únumpy_nullableÚnumpyÚtypes_mapperr   )r   r@   r&   r-   ÚnullrF   Ú
ArrowDtyper   r   rH   r%   r'   r(   r)   r*   r+   r,   r	   Ú
no_defaultÚNotImplementedErrorÚ	to_pandasÚ_post_convert_dtypesÚ_normalize_timezone_dtypes)
ÚtableÚdtype_backendÚnull_to_int64Úto_pandas_kwargsÚdtypeÚnamesr?   rG   rL   Údfs
             r!   Úarrow_table_to_pandasr[   i   sŽ  € ô 
$ IÓ	.€Bà-Ð5‘rÐ;KÐð
 Ð(Ò(Ü&Ó(ˆÙô "$§¡£ˆG�B—G‘G“IÑØ—{‘{ŠØ	˜)Ò	#Ü—}‘}ŠÜ	Ô	ÝÜ5Ó7ŠLØÐð —‘“	œ2Ÿ<™<›>Ø—‘“
œBŸM™M›OØ—‘“
œBŸM™M›OØ—‘“
œBŸM™M›Oð	÷
 ‰cñ ð  ‰LØ	œ#Ÿ.™.Ñ	(¨M¸WÒ,DØÐð —‘“	œ2Ÿ<™<›>Ø—‘“
œBŸM™M›OØ—‘“
œBŸM™M›OØ—‘“
œBŸM™M›Oð	÷
 ‰cñ ð  ‰Lä!Ð!à	ˆ�‰Ñ	G lÐ	GÐ6FÑ	G€BÜ	˜b -°¸Ó	>€BÜ	# BÓ	'€BØ€Ir    c                ó  — |��!|t         j                  u s|dk(  �r	t        |t        «      �r‰|�|| _        t        j                  «       t        j                  «       t        j                  «       t        j                  «       h}| j                  D ]5  }||vsŒ| |   j                  |v sŒ| |   j                  j                  ||<   Œ7 |D �ci c]   }|| j                  v sŒ|t        ||   «      “Œ" }}|j                  «       D ]¯  \  }}t        |t
        j                  «      sŒ!|j                  €Œ.t        |j                  t
        j                   «      sŒS| |   j                  t#        j                  d«      k(  sŒyt        j$                  | |   «      dk(  sŒ•t        j&                  | |   «      | |<   Œ± nt        |«      }	 | j)                  |«      } ddlm}	 | j4                  }
t7        t9        | j                  «      «      D �]  }|
j:                  |   }t        |t
        j                  «      sŒ.|j                  j                  }t        ||	«      sŒQt        |t        «      r|j=                  | j                  |   «      }n|}t        |t
        j                  «      r|j                  �Œ©t        j                  |j                  j)                  |j                  «      |j>                  ¬«      }| jA                  || j:                  d d …|f   j)                  |«      «       �Œ! tC        «       s¬|dk7  r§|t         j                  u s|dk(  r�t7        t9        | j                  «      «      D ]3  }tE        | j:                  d d …|f   «      }|€Œ"| jA                  ||«       Œ5 tG        | jH                  «      }|�|| _$        tG        | j                  «      }|�|| _        | S c c}w # t*        $ r}t-        t/        |«      «      |‚d }~ww xY w)NrK   ÚobjectÚdater   )ÚIntegerDtype)Ú
categoriesÚorderedÚstr)%r	   rO   Ú
isinstanceÚdictÚcolumnsr&   r'   r)   r+   r-   rX   Únumpy_dtyper   ÚitemsÚCategoricalDtyper`   ÚDatetimeIndexrC   Úinfer_dtypeÚto_datetimeÚastypeÚ	TypeErrorÚ
ValueErrorrb   Úpandas.core.arrays.integerr_   ÚdtypesÚrangeÚlenÚilocrF   ra   Úisetitemr   Ú_maybe_convert_string_to_objectÚ%_maybe_convert_string_index_to_objectÚindex)rZ   rU   rX   rY   Ú
cmp_dtypesÚcolÚkeyÚ	col_dtypeÚerrr_   Ú
col_dtypesÚiÚcat_arr_dtypeÚ	requestedÚnew_cat_dtypeÚnew_colÚnew_idxÚnew_colss                     r!   rR   rR   ¤   sh  € ð ÑØœŸ™Ñ'¨=¸GÓ+Cô �eœTÕ"ØÐ Ø"�”
ô —‘“Ü—‘“Ü—‘“Ü—‘“ð	ˆJð —z‘zò ;�Ø˜eÒ#¨¨3©¯©¸Ò(Cð "$ C¡§¡×!:Ñ!:�E˜#’Jð;ð :?öØ25À#ÈÏÉÒBS�”\ %¨¡*Ó-Ñ-ðˆEð ð #(§+¡+£-ò 6‘��Yä˜y¬"×*=Ñ*=Õ>Ø!×,Ñ,Ñ8Ü" 9×#7Ñ#7¼×9IÑ9IÕJØ˜3™Ÿ™¬¯©°(Ó);Ó;ÜŸ™¨¨3©Ó0°FÓ:ä Ÿn™n¨R°©WÓ5�B�s’Gñ6ô ! Ó'ˆEð	0Ø—‘˜5Ó!ˆBõ 	<à—Y‘Yˆ
Ü”s˜2Ÿ:™:“Ó'ó 	@ˆAØ"Ÿ™¨Ñ*ˆIÜ˜i¬×)<Ñ)<Ô=ØØ%×0Ñ0×6Ñ6ˆMÜ˜m¨\Ô:ØÜ˜%¤Ô&Ø!ŸI™I b§j¡j°¡mÓ4‘	à!�	ä˜9¤b×&9Ñ&9Ô:Ø×(Ñ(Ð4ð Ü×/Ñ/Ø$×/Ñ/×6Ñ6°}×7PÑ7PÓQØ!×)Ñ)ôˆMð �K‰K˜˜2Ÿ7™7¢1 a 4™=×/Ñ/°Ó>Ö?ð+	@ô0 Ô Ø�UŠNØœcŸn™nÑ,°ÀÒ0Hô ”s˜2Ÿ:™:“Ó'ò 	(ˆAÜ5°b·g±gºaÀ¸d±mÓDˆGØÑ"Ø—‘˜A˜wÕ'ð	(ô
 8¸¿¹ÓAˆØÐØˆBŒHÜ8¸¿¹ÓDˆØÐØ!ˆBŒJà€Iùò[øô. ò 	0äœS ›XÓ&¨CÐ/ûð	0ús$   ÃOÃ OÇO" Ï"	PÏ+P Ð Pc                ó2  — t        | j                  t        j                  «      rF| j                  j                  t
        j                  u r | j                  d«      j                  d «      S t        | j                  t        j                  «      �r| j                  j                  j                  }t        |t        j                  «      rÎ|j                  t
        j                  u r²t        d| j                  «      }|j                  | j                  j                  j                  d«      «      }t        | t        j                  «      r!t        j                  || j                   ¬«      S t        j"                  || j$                  | j                   d¬«      S y )Nr]   zpd.Categorical)ÚnameF)rw   r†   Úcopy)rc   rX   r&   r9   rB   rC   rD   rl   Úfillnarh   r`   r   Ú_valuesÚset_categoriesÚIndexÚCategoricalIndexr†   ÚSeriesrw   )ÚdataÚ	cat_dtypeÚcat_arrÚnew_arrs       r!   ru   ru     s  € ô �$—*‘*œbŸn™nÔ-°$·*±*×2EÑ2EÌÏÉÑ2OØ�{‰{˜8Ó$×+Ñ+¨DÓ1Ð1Ü	�D—J‘J¤× 3Ñ 3Õ	4Ø—J‘J×)Ñ)×/Ñ/ˆ	Ü�i¤§¡Ô0°Y×5GÑ5GÌ2Ï6É6Ñ5Qô Ð+¨T¯\©\Ó:ˆGØ×,Ñ,¨T¯Z©Z×-BÑ-B×-IÑ-IÈ(Ó-SÓTˆGÜ˜$¤§¡Ô)Ü×*Ñ*¨7¸¿¹ÔCÐCÜ—9‘9˜W¨D¯J©J¸T¿Y¹YÈUÔSÐSð r    c                óB  — t        | t        j                  «      rqt        d„ | j                  D «       «      rTg }| j                  D ]2  }t        |«      }|�|j                  |«       Œ"|j                  |«       Œ4 | j                  |«      S y t        dt        | «      «      S )Nc              3  ó´   K  — | ]P  }t        |j                  t        j                  «      xr& |j                  j                  t
        j                  u –— ŒR y ­w©N)rc   rX   r&   r9   rB   rC   rD   ©Ú.0Úlevels     r!   ú	<genexpr>z8_maybe_convert_string_index_to_object.<locals>.<genexpr>(  sE   è ø€ ò 
àô �u—{‘{¤B§N¡NÓ3ÒV¸¿¹×8LÑ8LÔPR×PVÑPVÐ8VÓVñ
ùs   ‚AAúpd.Index | None)	rc   r&   Ú
MultiIndexÚanyÚlevelsru   ÚappendÚ
set_levelsr   )rw   Ú
new_levelsr—   Ú	new_levels       r!   rv   rv   &  s›   € Ü�%œŸ™Ô'Üñ 
àŸ™ô
ô 
ð ˆJØŸ™ò -�Ü;¸EÓB�	ØÐ(Ø×%Ñ% iÕ0à×%Ñ% eÕ,ð-ð ×#Ñ# JÓ/Ð/Øô Ð%Ô'FÀuÓ'MÓNÐNr    c                ó´  — t        | «      j                  j                  d«      s| S t        j                  | «      rt
        j                  S | j                  � 	 t        j                  | j                  «      S t        j                  | «      r,	 | j                  d«      }|�t        j                  |«      S 	 | S | S # t        $ r Y ŒNw xY w# t        $ r Y | S w xY w)zƒ
    If the input tz is a pytz timezone, attempt to convert it to "default"
    tzinfo object (zoneinfo or datetime.timezone).
    r   N)ÚtypeÚ
__module__Ú
startswithr
   Úis_utcÚdtÚUTCÚzoneÚzoneinfoÚZoneInfoÚ	ExceptionÚis_fixed_offsetÚ	utcoffsetÚtimezone)ÚtzÚoffsets     r!   Ú_normalize_pytz_timezoner±   :  sÒ   € ô
 �‹8×Ñ×)Ñ)¨&Ô1ð ˆ	ä×Ñ˜ÔÜ�v‰vˆà	‡w�wÐð	Ü×$Ñ$ R§W¡WÓ-Ð-ô
 × Ñ  Ô$ð	Ø—\‘\ $Ó'ˆFØÐ!Ü—{‘{ 6Ó*Ð*ð "ð
 €Iˆ2€Iøô ò 	áð	ûô ò 	Øà€Ið	ús$   ÁB; Â'C
 Â;	CÃCÃ
	CÃCc                ó¾  — t        | t        j                  «      rQt        d„ | j                  D «       «      r3| j                  D �cg c]  }t        |«      ‘Œ }}| j                  |«      S | S t        | j                  t        j                  «      rHt        | j                  j                  «      }|| j                  j                  ur| j                  |«      S | S c c}w )Nc              3  ód   K  — | ](  }t        |j                  t        j                  «      –— Œ* y ­wr”   )rc   rX   r&   ÚDatetimeTZDtyper•   s     r!   r˜   z,_normalize_timezone_index.<locals>.<genexpr>\  s!   è ø€ ÒU¸uŒz˜%Ÿ+™+¤r×'9Ñ'9×:ÑUùs   ‚.0)rc   r&   rš   r›   rœ   Ú_normalize_timezone_indexrž   rX   r´   r±   r¯   Ú
tz_convert)rw   r—   rœ   Únormalized_tzs       r!   rµ   rµ   Z  s§   € Ü�%œŸ™Ô'ÜÑUÈÏÉÔUÔUØDIÇLÁLÖQ¸5Ô/°Õ6ÐQˆFÐQØ×#Ñ# FÓ+Ð+àˆä�%—+‘+œr×1Ñ1Ô2Ü0°·±·±Ó@ˆØ §¡§¡Ñ.Ø×#Ñ# MÓ2Ð2à€Lùò Rs   ÁCc                ó  — t         �� t        rút        d„ | j                  j	                  «       D «       «      rœ| j                  t        j                  «      }|D ]x  }| j                  dd…|f   }t        |j                  j                  «      }||j                  j                  usŒN| j                  ||j                  j                  |«      «       Œz t        | j                   «      | _        t        | j"                  «      | _        | S )a  
    PyArrow below version 25 uses pytz by default for timezones, but pandas uses
    zoneinfo / datetime.timezone since pandas 3.0.

    Can be dropped once the minimum supported pyarrow is 25, which uses zoneinfo
    itself (https://github.com/apache/arrow/pull/49694).
    Nc              3  óP   K  — | ]  }t        |t        j                  «      –— Œ  y ­wr”   )rc   r&   r´   )r–   rX   s     r!   r˜   z-_normalize_timezone_dtypes.<locals>.<genexpr>t  s%   è ø€ ò 
àô �uœb×0Ñ0×1ñ
ùs   ‚$&)r   r   r›   Ú_mgrÚget_unique_dtypesÚ_select_dtypes_indicesr&   r´   rs   r±   rX   r¯   rt   r¦   r¶   rµ   rw   re   )rZ   Úcol_indicesr~   ry   r·   s        r!   rS   rS   j  sÏ   € ô ÑÕ0äñ 
àŸ™×2Ñ2Ó4ô
ô 
ð ×3Ñ3´B×4FÑ4FÓGˆKØ ò E�Ø—g‘gša ˜d‘m�Ü 8¸¿¹¿¹Ó F�Ø ¨¯	©	¯©Ò4Ø—K‘K  3§6¡6×#4Ñ#4°]Ó#CÕDð	Eô -¨R¯X©XÓ6ˆŒÜ.¨r¯z©zÓ:ˆŒ
à€Ir    )ÚreturnzGenerator[None])r¾   zdict[pyarrow.DataType, Any])r¾   z3Callable[[pyarrow.DataType], ExtensionDtype | None])rT   zpyarrow.TablerU   ú/DtypeBackend | Literal['numpy'] | lib.NoDefaultrV   ÚboolrW   zdict[str, Any] | NonerX   úDtypeArg | NonerY   úSequence[Hashable] | Noner¾   úpd.DataFrame)
rZ   rÃ   rU   r¿   rX   rÁ   rY   rÂ   r¾   rÃ   )rŽ   zpd.Series | pd.Indexr¾   zpd.Series | pd.Index | None)rw   úpd.Indexr¾   r™   )r¯   ú	dt.tzinfor¾   rÅ   )rw   rÄ   r¾   rÄ   )rZ   rÃ   r¾   rÃ   )8Ú
__future__r   Ú
contextlibÚdatetimer¦   Útypingr   r   r   r   r   r©   rK   rC   Úpandas._configr   Úpandas._libsr	   Úpandas._libs.tslibsr
   Úpandas.compatr   r   r   Úpandas.compat._optionalr   Úpandas.errorsr   Úpandas.core.dtypes.commonr   Úpandasr&   Úcollections.abcr   r   r   r   r$   Úpandas._typingr   r   Úpandas.core.dtypes.baser   r   Úcontextmanagerr"   r@   rH   rO   r[   rR   ru   rv   r±   rµ   rS   r   r    r!   ú<module>rÖ      sV  ðÝ "ã Û ÷ó ó Û ã å -å Ý )÷ñ õ
 ?Ý (å 2ã á÷ó ó ÷õ
 7ñ " &°Ô:€ð ×Ñòó ðó$ó(
ð FIÇ^Á^ØØ.2Ø!Ø'+ð8Øð8àBð8ð ð8ð ,ð	8ð
 ð8ð %ð8ð ó8ðvkØðkàBðkð ðkð %ð	kð
 ókð\Ø
ðà óó(Oó(ó@ô r    