ó
    b‡Ej3$  ã                   ó°   • S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrSr	S r
\4S jr SS jrS rS rS rS	 rS
 rS rS rS rS rS rS rg)é    NzApyarrow.{} is deprecated as of {}, please use pyarrow.{} instead.c                  ó   ^ ^• U U4S jnU$ )an  
A decorator that takes docstring templates, concatenates them, and finally
performs string substitution on them.
This decorator will add a variable "_docstring_components" to the wrapped
callable to keep track of the original docstring template for potential future use.
If the docstring is a template, it will be saved as a string.
Otherwise, it will be saved as a callable and the docstring will be obtained via
the __doc__ attribute.
This decorator cannot be used on Cython classes due to a CPython constraint,
which enforces the __doc__ attribute to be read-only.
See https://github.com/python/cpython/issues/91309

Parameters
----------
*docstrings : None, str, or callable
    The string / docstring / docstring template to be prepended in order
    before the default docstring under the callable.
**params
    The key/value pairs used to format the docstring template.
c           	      óò  >• / nT Ho  nUc  M  [        US5      (       a  UR                  UR                  5        M6  [        U[        5      (       d  UR
                  (       d  M^  UR                  U5        Mq     U R
                  (       a/  UR                  [        R                  " U R
                  5      5        U Vs/ s H;  n[        U[        5      (       a!  [        T5      S:”  a  UR                  " S0 TD6OUPM=     nnSR                  U Vs/ s HC  n[        U[        5      (       a  UO([        R                  " UR
                  =(       d    S5      PME     sn5      U l        UU l        U $ s  snf s  snf )NÚ_docstring_componentsr   Ú © )ÚhasattrÚextendr   Ú
isinstanceÚstrÚ__doc__ÚappendÚtextwrapÚdedentÚlenÚformatÚjoin)Ú	decoratedÚdocstring_componentsÚ	docstringÚ	componentÚparams_appliedÚ
docstringsÚparamss        €€ÚI/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pyarrow/util.pyÚ	decoratorÚdoc.<locals>.decorator:   sf  ø€ Ø!Ðó $ˆIØÑ ÙÜ�yÐ"9×:Ñ:Ø$×+Ñ+Ø×3Ñ3öô ˜I¤s×+Ñ+¨y×/@×/@Ñ/@Ø$×+Ñ+¨IÖ6ñ $ð ××Ø ×'Ñ'¬¯ª¸	×8IÑ8IÓ(JÔKñ 2ó	
ò 2�	ô ˜)¤S×)Ñ)¬c°&«k¸A«oð ×ÒÑ&˜vÒ&àòñ 2ð	 	ð 
ð ŸG™Gñ
 "0ó	ò "0�Iô ˜i¬×-Ñ-ñ ä—_’_ Y×%6Ñ%6×%<¸"Ó=ò>ñ "0ñ	ó
ˆ	Ôð !ð 	Ô'ð Ðùò'
ùòs   Â=AE/ÄA
E4r   )r   r   r   s   `` r   Údocr   $   s   ù€ ö,%ðN Ðó    c                 óH   ^^^• [         R                  XU5      mUUU4S jnU$ )Nc                  óB   >• [         R                  " TT5        T" U 0 UD6$ ©N)ÚwarningsÚwarn)ÚargsÚkwargsÚapiÚmsgÚtypes     €€€r   ÚwrapperÚ_deprecate_api.<locals>.wrapperg   s!   ø€ Ü�Š�c˜4Ô Ù�DÐ#˜FÑ#Ð#r   )Ú	_DEPR_MSGr   )Úold_nameÚnew_namer&   Únext_versionr(   r)   r'   s     ` ` @r   Ú_deprecate_apir/   d   s!   ú€ Ü
×
Ñ
˜8°8Ó
<€C÷$ð €Nr   c                 óF   ^ ^^•  " UUU 4S jS[         5      nU" T T40 5      $ )zE
Raise warning if a deprecated class is used in an isinstance check.
c                   ó&   >• \ rS rSrU UU4S jrSrg)Ú)_deprecate_class.<locals>._DeprecatedMetaér   c                 óŽ   >• [         R                  " [        R                  TTTR                  5      [
        SS9  [        UT5      $ )Né   ©Ú
stacklevel)r"   r#   r+   r   Ú__name__ÚFutureWarningr
   )ÚselfÚotherÚ	new_classr.   r,   s     €€€r   Ú__instancecheck__Ú;_deprecate_class.<locals>._DeprecatedMeta.__instancecheck__s   s<   ø€ Ü�MŠMÜ× Ñ  ¨<¸×9KÑ9KÓLÜØòô
 ˜e YÓ/Ð/r   r   N)r8   Ú
__module__Ú__qualname__Ú__firstlineno__r=   Ú__static_attributes__)r<   r.   r,   s   €€€r   Ú_DeprecatedMetar2   r   s   ø† ÷	0ò 	0r   rC   )r(   )r,   r<   r.   ÚinstancecheckrC   s   ```  r   Ú_deprecate_classrE   m   s'   ú€ ÷
0ñ 0œ$ô 0ñ ˜8 i \°2Ó6Ð6r   c                 ó<   •  [        U 5        g! [         a     gf = f)NTF)ÚiterÚ	TypeError)Úobjs    r   Ú_is_iterablerJ   ~   s#   € ðÜˆSŒ	ØøÜó Ùðús   ‚ Ž
šc                 óH   • [        U [        5      =(       d    [        U S5      $ )NÚ
__fspath__)r
   r   r   ©Úpaths    r   Ú_is_path_likerO   †   s   € Ü�dœCÓ ×?¤G¨D°,Ó$?Ð?r   c                 óü   • [        U [        5      (       a  [        R                  R	                  U 5      $  [        R                  R	                  U R                  5       5      $ ! [         a     Of = f[        S5      e)z9
Convert *path* to a string or unicode path if possible.
znot a path-like object)r
   r   ÚosrN   Ú
expanduserrL   ÚAttributeErrorrH   rM   s    r   Ú_stringify_pathrT   Š   sg   € ô �$œ×ÑÜ�w‰w×!Ñ! $Ó'Ð'ðÜ�w‰w×!Ñ! $§/¡/Ó"3Ó4Ð4øÜó Ùðúô Ð,Ó
-Ð-s   ¶,A# Á#
A0Á/A0c                 ó4   • [         R                  " S U S5      $ )z%
Return a product of sequence items.
c                 ó
   • X-  $ r!   r   )ÚaÚbs     r   Ú<lambda>Úproduct.<locals>.<lambda>ž   s   € ¨ªr   é   )Ú	functoolsÚreduce)Úseqs    r   Úproductr_   š   s   € ô ×ÒÑ,¨c°1Ó5Ð5r   c                 ó  • U(       d  SnU[        U 5      -  nX44$ SnUn[        U 5       H8  u  pVUS:X  a  S=p4  O,X   nUS:”  a  XGUS-
  -  -  nM&  US:  d  M.  X7US-
  -  -  nM:     XC-
  U[        U 5      -  :w  a  [        S5      eX44$ )zÅ
Return a contiguous span of N-D array data.

Parameters
----------
shape : tuple
strides : tuple
itemsize : int
  Specify array shape data

Returns
-------
start, end : int
  The span end points.
r   r[   zarray data is non-contiguous)r_   Ú	enumerateÚ
ValueError)ÚshapeÚstridesÚitemsizeÚstartÚendÚiÚdimÚstrides           r   Úget_contiguous_spanrk   ¡   s²   € ö  ØˆØœ ›Ñ'ˆð ˆ:Ðð ˆØˆÜ Ö&‰FˆAØ�a‹xØ��ÙØ‘ZˆFØ˜‹zØ  q¡Ñ)Ñ)’Ø˜!•Ø 3¨¡7Ñ+Ñ+’ñ 'ð ‰;˜(¤W¨U£^Ñ3Ó3ÜÐ;Ó<Ð<Øˆ:Ðr   c                  óp  • [         R                   " [         R                  [         R                  5      n [        R                  " U 5       n U R                  S5        U R                  [         R                  [         R                  S5        U R                  5       S   sS S S 5        $ ! , (       d  f       g = f)N)r   r   r[   )
ÚsocketÚAF_INETÚSOCK_STREAMÚ
contextlibÚclosingÚbindÚ
setsockoptÚ
SOL_SOCKETÚSO_REUSEADDRÚgetsockname)Úsocks    r   Úfind_free_portrx   Å   sq   € Ü�=Š=œŸ™¬×);Ñ);Ó<€DÜ	×	Ò	˜DÔ	! TØ�	‰	�'ÔØ�‰œ×)Ñ)¬6×+>Ñ+>ÀÔBØ×ÑÓ! !Ñ$÷ 
"×	!×	!ús   Á
AB'Â'
B5c                  ó0   • SSK Jn   U " 5       R                  $ )Nr   ©Úuuid4)Úuuidr{   Úhexrz   s    r   Úguidr~   Í   s   € ÝÙ‹7�;‰;Ðr   c                 ó8  • [         R                  " S5      n[        R                  " U 5      nU(       ab  U H*  n XLd  M	  [	        U [
        R                  5      (       d  M*    O   O1S nU R                  5         [        R                  " U 5      nU(       a  Mb  S =n=pg )Nr   )ÚsysÚ	_getframeÚgcÚget_referrersr
   ÚtypesÚ	FrameTypeÚclear)ÚframeÚ
this_frameÚrefss      r   Ú!_break_traceback_cycle_from_framerŠ   Ò   s‡   € ô —’˜qÓ!€JÜ×Ò˜EÓ"€DÞ
ÛˆEØÔ&¬:°e¼U¿_¹_×+MÓ+MÙñ ð
 Øˆð 	�‰Œô ×Ò Ó&ˆ÷ ˆ$ð !%Ð$€DÐ$ˆ5�:r   c                 óô   • SSK JnJn  U" U SS0S9nU" U5       n[        US5       nUR	                  UR                  5       5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   )ÚurlopenÚRequestz
User-AgentÚpyarrow)ÚheadersÚwb)Úurllib.requestrŒ   r�   ÚopenÚwriteÚread)ÚurlÚout_pathrŒ   r�   ÚreqÚresponseÚfs          r   Ú_download_urllibrš   é   sX   € ß/Ù
�# ¨iÐ8Ñ
9€CÙ	�Œ˜Ü�(˜DÔ! QØ�G‰G�H—M‘M“OÔ$÷ "÷ 
ˆß!Õ!ú÷ 
�ús"   šA)§ AÁA)Á
A&	Á"A)Á)
A7c                 óä   • SS K nUR                  U 5       n[        US5       nUR                  UR                  5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r�   )ÚrequestsÚgetr’   r“   Úcontent)r•   r–   rœ   r˜   r™   s        r   Ú_download_requestsrŸ   ñ   sN   € ÛØ	�‰�cÔ	˜hÜ�(˜DÔ! QØ�G‰G�H×$Ñ$Ô%÷ "÷ 
Ð	ß!Õ!ú÷ 
Õ	ús!   –A!£A¿A!Á
A	ÁA!Á!
A/c                  óÊ  • [         R                  " S[        SS9  [        R                  S:w  a  [        S[        R                   35      eSSKn Sn[        R                  R                  S	5      n[        R                  R                  US
5      nSn[        R                  R                  US5      n[        R                  " USS9   SSKn[        nU" X5        U" XE5        [        R                  R!                  U5      (       d   e[        R                  R!                  U5      (       d   eU R#                  U5      R%                  U5        g! [         a	    [        n N�f = f)a*  
Download and extract latest IANA timezone database into the
location expected by Arrow which is %USERPROFILE%\Downloads\tzdata.

.. deprecated:: 24.0.0
   This function is deprecated and will be removed in a future version.
   PyArrow now uses the operating system's timezone database on Windows.
z½pyarrow.util.download_tzdata_on_windows is deprecated as of 24.0.0 and will be removed in a future version. PyArrow now uses the operating system's timezone database on most Windows builds.r5   r6   Úwin32z)Timezone database is already provided by r   Nz5https://data.iana.org/time-zones/tzdata-latest.tar.gzz%USERPROFILE%\Downloads\tzdataztzdata.tar.gzz^https://raw.githubusercontent.com/unicode-org/cldr/master/common/supplemental/windowsZones.xmlzwindowsZones.xmlT)Úexist_ok)r"   r#   r9   r€   ÚplatformrH   ÚtarfilerQ   rN   Ú
expandvarsr   Úmakedirsrœ   rŸ   ÚImportErrorrš   Úexistsr’   Ú
extractall)r¤   Ú
tzdata_urlÚtzdata_pathÚtzdata_compressed_pathÚwindows_zones_urlÚwindows_zones_pathrœ   Údownload_fns           r   Údownload_tzdata_on_windowsr°   ú   s!  € ô ‡M‚Mð	Gô 	Øòô ‡|�|�wÓÜÐCÄCÇLÁLÀ>ÐRÓSÐSãàH€JÜ—'‘'×$Ñ$Ð%FÓG€KÜŸW™WŸ\™\¨+°ÓGÐØxÐÜŸ™Ÿ™ kÐ3EÓFÐÜ‡K‚K� dÒ+ð'ÛÜ(ˆñ �
Ô3ÙÐ!Ô6ä�7‰7�>‰>Ð0×1Ñ1Ð1Ð1Ü�7‰7�>‰>Ð,×-Ñ-Ð-Ð-à‡L�LÐ'Ó(×3Ñ3°KÕ@øô ó 'Ü&Šð'ús   Ã
E ÅE"Å!E")T)rQ   rp   r\   r‚   rm   r€   r   r„   r"   r+   r   r9   r/   rE   rJ   rO   rT   r_   rk   rx   r~   rŠ   rš   rŸ   r°   r   r   r   Ú<module>r±      sƒ   ðó( 
Û Û Û 	Û Û 
Û Û Û ð Hð 
ò
=ð@ @Mô ð $(ô7ò"ò@ò.ò 6ò!òH%òò
%ò.%ò&ó+Ar   