ó
    Ñ]jå  ã                  ó–   • S SK Jr  S SKJr  S SKrS SKJr  S SKrS SK	J
r
  S SKJr  \(       a  S SKJr  S SKJrJr   " S	 S
\S   5      rg)é    )Úannotations)ÚtimeN)ÚTYPE_CHECKING)Úimport_optional_dependency)ÚBaseExcelReader©ÚBook)ÚScalarÚStorageOptionsc                  óŽ   ^ • \ rS rSr  S
     SU 4S jjjr\SS j5       rSS jr\S 5       rS r	S r
 S   SS jjrS	rU =r$ )Ú
XlrdReaderé   c                ó<   >• Sn[        SUS9  [        TU ]	  UUUS9  g)aE  
Reader using xlrd engine.

Parameters
----------
filepath_or_buffer : str, path object or Workbook
    Object to be parsed.
storage_options : dict, optional
    Extra options that make sense for a particular storage connection,
    e.g. host, port, username, password, etc. For HTTP(S) URLs the
    key-value pairs are forwarded to ``urllib.request.Request`` as
    header options. For other URLs (e.g. starting with "s3://", and
    "gcs://") the key-value pairs are forwarded to ``fsspec.open``.
    Please see ``fsspec`` and ``urllib`` for more details, and for more
    examples on storage options refer `here <https://pandas.pydata.org/
    pandas-docs/stable/user_guide/io.html?
    highlight=storage_options#reading-writing-remote-files>`__.
engine_kwargs : dict, optional
    Arbitrary keyword arguments passed to excel engine.
z+Install xlrd >= 2.0.1 for xls Excel supportÚxlrd)Úextra)Ústorage_optionsÚengine_kwargsN)r   ÚsuperÚ__init__)ÚselfÚfilepath_or_bufferr   r   Úerr_msgÚ	__class__s        €ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pandas/io/excel/_xlrd.pyr   ÚXlrdReader.__init__   s0   ø€ ð4 @ˆÜ" 6°Ò9Ü‰ÑØØ+Ø'ð 	ò 	
ó    c                ó   • SSK Jn  U$ )Nr   r   )r   r	   )r   r	   s     r   Ú_workbook_classÚXlrdReader._workbook_class9   s
   € åàˆr   c                óv   • SSK Jn  [        US5      (       a  UR                  5       nU" SSU0UD6$ U" U40 UD6$ )Nr   )Úopen_workbookÚreadÚfile_contents© )r   r!   Úhasattrr"   )r   r   r   r!   Údatas        r   Úload_workbookÚXlrdReader.load_workbook?   sE   € Ý&äÐ% v×.Ñ.Ø%×*Ñ*Ó,ˆDÙ ÑE¨tÐE°}ÑEÐEá Ð!3ÑE°}ÑEÐEr   c                ó6   • U R                   R                  5       $ ©N)ÚbookÚsheet_names)r   s    r   r,   ÚXlrdReader.sheet_namesH   s   € à�y‰y×$Ñ$Ó&Ð&r   c                óZ   • U R                  U5        U R                  R                  U5      $ r*   )Úraise_if_bad_sheet_by_namer+   Úsheet_by_name)r   Únames     r   Úget_sheet_by_nameÚXlrdReader.get_sheet_by_nameL   s%   € Ø×'Ñ'¨Ô-Ø�y‰y×&Ñ& tÓ,Ð,r   c                óZ   • U R                  U5        U R                  R                  U5      $ r*   )Úraise_if_bad_sheet_by_indexr+   Úsheet_by_index)r   Úindexs     r   Úget_sheet_by_indexÚXlrdReader.get_sheet_by_indexP   s%   € Ø×(Ñ(¨Ô/Ø�y‰y×'Ñ'¨Ó.Ð.r   c                ó~  ^^	^
^^^• SSK JmJm	Jm
JmJm  U R                  R                  mUU	U
UUU4S jnUR                  nUb  [        XB5      n[        U5       VVVs/ s HG  n[        UR                  U5      UR                  U5      SS9 VVs/ s H  u  pgU" Xg5      PM     snnPMI     snnn$ s  snnf s  snnnf )Nr   )ÚXL_CELL_BOOLEANÚXL_CELL_DATEÚXL_CELL_ERRORÚXL_CELL_NUMBERÚxldatec                óä  >• UT:X  ax   T	R                  U T5      n U R                  5       SS nT(       d  US:X  d  T(       a<  US:X  a6  [        U R                  U R
                  U R                  U R                  5      n U $ UT:X  a  [        R                  n U $ UT:X  a  [        U 5      n U $ UT:X  a-  [        R                  " U 5      (       a  [        U 5      nX0:X  a  Un U $ ! [         a    U s $ f = f)zD
converts the contents of the cell into a pandas appropriate object
r   é   )ik  é   é   )ip  é   rD   )Úxldate_as_datetimeÚOverflowErrorÚ	timetupler   ÚhourÚminuteÚsecondÚmicrosecondÚnpÚnanÚboolÚmathÚisfiniteÚint)
Úcell_contentsÚcell_typÚyearÚvalr;   r<   r=   r>   Ú	epoch1904r?   s
       €€€€€€r   Ú_parse_cellÚ.XlrdReader.get_sheet_data.<locals>._parse_cella   s	  ø€ ð ˜<Ó'ð)Ø$*×$=Ñ$=¸mÈYÓ$W�Mð &×/Ñ/Ó1°1°QÐ7�Þ! d¨nÓ&<Þ $¨,Ó"6ä$(Ø%×*Ñ*Ø%×,Ñ,Ø%×,Ñ,Ø%×1Ñ1ó	%�Mð& !Ð ð ˜]Ó*Ü "§¡�ð !Ð ð ˜_Ó,Ü $ ]Ó 3�ð !Ð ð ˜^Ó+ô —=’= ×/Ñ/ä˜mÓ,�CØÓ+Ø(+˜Ø Ð øô; %ó )Ø(Ò(ð)ús   ‰C  Ã C/Ã.C/T)Ústrict)r   r;   r<   r=   r>   r?   r+   ÚdatemodeÚnrowsÚminÚrangeÚzipÚ
row_valuesÚ	row_types)r   ÚsheetÚfile_rows_neededrW   r[   ÚiÚvalueÚtypr;   r<   r=   r>   rV   r?   s           @@@@@@r   Úget_sheet_dataÚXlrdReader.get_sheet_dataT   s»   ý€ ÷	
õ 	
ð —I‘I×&Ñ&ˆ	÷%	!ò %	!ðN —‘ˆØÑ'Ü˜Ó0ˆEô ˜5”\õ
ò "�ô	 #&Ø×$Ñ$ QÓ'¨¯©¸Ó);ÀDò#ôò#‘J�Eñ ˜EÖ'ñ#õñ "ó
ð 	
ùóùô
s   Á2B8ÂB2Â%B8Â2B8r$   )NN)r   zStorageOptions | Noner   zdict | NoneÚreturnÚNone)rh   z
type[Book])rh   r	   r*   )rb   z
int | Nonerh   zlist[list[Scalar]])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Úpropertyr   r'   r,   r2   r8   rf   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s‹   ø† ð 26Ø%)ð	 
ð /ð 
ð #ð	 
ð
 
÷ 
ð  
ðD óó ðô
Fð ñ'ó ð'ò-ò/ð
 59ð?
Ø'1ð?
à	÷?
ó ?
r   r   r	   )Ú
__future__r   Údatetimer   rO   Útypingr   ÚnumpyrL   Úpandas.compat._optionalr   Úpandas.io.excel._baser   r   r	   Úpandas._typingr
   r   r   r$   r   r   Ú<module>rx      s8   ðÝ "å Û Ý  ã å >å 1æÝ÷ô}
� Ñ(õ }
r   