+
    NV-j(   ã                  óì   € ^ RI Ht ^ RIHtHt ^ RIt^ RIHtH	t	H
t
Ht ^ RIHt ^ RIHt ^ RIt^ RIHt ^ RIHt ]'       d   ^ R	IHt ^ R
IHt ]! ]R,          R7       ! R R]R,          4      4       tR# )é    )Úannotations)ÚTYPE_CHECKINGÚcastN)ÚFilePathÚ
ReadBufferÚScalarÚStorageOptions)Úimport_optional_dependency)Údoc)Ú_shared_docs)ÚBaseExcelReader©ÚOpenDocument)ÚNaTTypeÚstorage_options)r   c                  óØ   a € ] tR t^tRR V 3R lllt]R R l4       tR R lt]R R l4       t]R	 R
 l4       t	R R lt
R R ltRR R lltR R ltR R ltR R ltR R ltRtV ;t# )Ú	ODFReaderc               ó(   € V ^8„  d   QhRRRRRRRR/# )	é   Úfilepath_or_bufferúFilePath | ReadBuffer[bytes]r   zStorageOptions | NoneÚengine_kwargszdict | NoneÚreturnÚNone© )Úformats   "Úk/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pandas/io/excel/_odfreader.pyÚ__annotate__ÚODFReader.__annotate__    s2   € ÷ 
ñ 
à8ð
ð /ð
ð #ð	
ð
 
ñ
ó    c                óB   <€ \        R4       \        SV `	  VVVR7       R# )zþ
Read tables out of OpenDocument formatted files.

Parameters
----------
filepath_or_buffer : str, path to be parsed or
    an open readable stream.
{storage_options}
engine_kwargs : dict, optional
    Arbitrary keyword arguments passed to excel engine.
Úodf)r   r   N)r
   ÚsuperÚ__init__)Úselfr   r   r   Ú	__class__s   &&&&€r   r$   ÚODFReader.__init__    s(   ø€ ô" 	# 5Ô)Ü‰ÑØØ+Ø'ð 	ö 	
r    c               ó   € V ^8„  d   QhRR/# )r   r   ztype[OpenDocument]r   )r   s   "r   r   r   9   s   € ÷ ñ Ð!3ñ r    c                	ó   € ^ RI Hp V# )r   r   )Úodf.opendocumentr   )r%   r   s   & r   Ú_workbook_classÚODFReader._workbook_class8   s   € å1àÐr    c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r   >   s   € ÷ 9ñ 9Ø">ð9à	ñ9r    c                	ó    € ^ RI Hp V! V3/ VB # )r   )Úload)r*   r/   )r%   r   r   r/   s   &&& r   Úload_workbookÚODFReader.load_workbook>   s   € õ 	*áÐ&Ñ8¨-Ñ8Ð8r    c               ó   € V ^8„  d   QhRR/# ©r   r   Ústrr   )r   s   "r   r   r   F   s   € ÷ ñ ˜Sñ r    c                ó   € R# )z'Property for compat with other readers.Ú r   )r%   s   &r   Úempty_valueÚODFReader.empty_valueE   s   € ñ r    c               ó   € V ^8„  d   QhRR/# )r   r   z	list[str]r   )r   s   "r   r   r   K   s   € ÷ 8ñ 8˜Yñ 8r    c                óŽ   € ^ RI Hp V P                  P                  V4      pV Uu. uF  q3P	                  R4      NK  	  up# u upi )z4Return a list of sheet names present in the document©ÚTableÚname)Ú	odf.tabler<   ÚbookÚgetElementsByTypeÚgetAttribute)r%   r<   ÚtablesÚts   &   r   Úsheet_namesÚODFReader.sheet_namesJ   s:   € õ 	$à—‘×,Ñ,¨UÓ3ˆÙ06Ó7±¨1—‘˜vÖ&±Ñ7Ð7ùÒ7s   ¦Ac               ó   € V ^8„  d   QhRR/# )r   ÚindexÚintr   )r   s   "r   r   r   R   s   € ÷ ñ ¨ñ r    c                	óv   € ^ RI Hp V P                  V4       V P                  P	                  V4      pW1,          # )r   r;   )r>   r<   Úraise_if_bad_sheet_by_indexr?   r@   )r%   rG   r<   rB   s   &&  r   Úget_sheet_by_indexÚODFReader.get_sheet_by_indexR   s/   € Ý#à×(Ñ(¨Ô/Ø—‘×,Ñ,¨UÓ3ˆØ�}Ðr    c               ó   € V ^8„  d   QhRR/# )r   r=   r4   r   )r   s   "r   r   r   Y   s   € ÷ 4ñ 4 cñ 4r    c                	óê   € ^ RI Hp V P                  V4       V P                  P	                  V4      pV F  pVP                  R4      V8X  g   K  Vu # 	  V P                  4        \        RV R24      h)r   r;   r=   zsheet z
 not found)r>   r<   Úraise_if_bad_sheet_by_namer?   r@   rA   ÚcloseÚ
ValueError)r%   r=   r<   rB   Útables   &&   r   Úget_sheet_by_nameÚODFReader.get_sheet_by_nameY   sh   € Ý#à×'Ñ'¨Ô-Ø—‘×,Ñ,¨UÓ3ˆãˆEØ×!Ñ! &Ó)¨TÖ1Ø’ñ ð 	�
‰
ŒÜ˜6 $  zÐ2Ó3Ð3r    c               ó    € V ^8„  d   QhRRRR/# )r   Úfile_rows_neededz
int | Noner   zlist[list[Scalar | NaTType]]r   )r   s   "r   r   r   f   s   € ÷ >ñ >Ø'1ð>à	%ñ>r    c                óH  a€ ^ RI HpHpHp V! 4       P                  pV! 4       P                  pWg0pVP                  V4      p	^ p
^ p. pV	 EF…  p^ p. oVP                   FÄ  p\        VR4      '       g   K  VP                  V9   g   K*  VP                  V8X  d   V P                  V4      pMV P                  pV P                  V4      pVV P                  8X  d   VV,          pK†  SP                  V P                  .V,          4       ^ pSP                  V.V,          4       KÆ  	  V\        S4      8  d   \        S4      pV P                  V4      p\        S4      ^ 8X  d   V
V,          p
MJVP                  V P                  ..V
,          4       ^ p
VP                  V3R l\        V4       4       4       Vf   EKs  \        V4      V8¼  g   EK†   M	  V FH  p\        V4      V8  g   K  VP                  V P                  .V\        V4      ,
          ,          4       KJ  	  V# )z)
Parse an ODF Table into a list of lists
)ÚCoveredTableCellÚ	TableCellÚTableRowÚqnamec              3  ó(   <"  € T F  pSx € K	  	  R # 5i©Nr   )Ú.0Ú_Ú	table_rows   & €r   Ú	<genexpr>Ú+ODFReader.get_sheet_data.<locals>.<genexpr>›   s   øé € ÐBÑ0A¨1�YÓ0Aùs   ƒ)r>   rX   rY   rZ   r[   r@   Ú
childNodesÚhasattrÚ_get_cell_valuer7   Ú_get_column_repeatÚextendÚlenÚ_get_row_repeatÚrange)r%   ÚsheetrV   rX   rY   rZ   Úcovered_cell_nameÚtable_cell_nameÚ
cell_namesÚ
sheet_rowsÚ
empty_rowsÚmax_row_lenrR   Ú	sheet_rowÚempty_cellsÚ
sheet_cellÚvalueÚcolumn_repeatÚ
row_repeatÚrowr`   s   &&&                 @r   Úget_sheet_dataÚODFReader.get_sheet_dataf   sê  ø€ ÷	
ñ 	
ñ -Ó.×4Ñ4ÐÙ#›+×+Ñ+ˆØ'Ð9ˆ
à×,Ñ,¨XÓ6ˆ
Øˆ
Øˆà.0ˆä#ˆIØˆKØ02ˆIà'×2Ô2�
Ü˜: w×/Ô/°J×4DÑ4DÈ
Ö4RØ!×'Ñ'¨?Ô:Ø $× 4Ñ 4°ZÓ @™à $× 0Ñ 0˜à$(×$;Ñ$;¸JÓ$G�Mð  × 0Ñ 0Ô0Ø# }Õ4šà!×(Ñ(¨$×*:Ñ*:Ð);¸kÕ)IÔJØ&'˜Ø!×(Ñ(¨%¨°=Õ)@ÖAñ 3ð" œS ›^Ô+Ü! )›n�à×-Ñ-¨iÓ8ˆJÜ�9‹~ Ô"Ø˜jÕ(‘
ð —‘˜t×/Ñ/Ð0Ð1°JÕ>Ô?Ø�
Ø—‘ÔB´°jÔ0AÓBÔBØÕ+´°E³
Ð>N×0NÙñC $óH ˆCÜ�3‹x˜+Ö%Ø—
‘
˜D×,Ñ,Ð-°¼sÀ3»xÕ1GÕHÖIñ ð ˆr    c               ó   € V ^8„  d   QhRR/# ©r   r   rH   r   )r   s   "r   r   r   ¦   s   € ÷ Mñ M cñ Mr    c                ó\   € ^ RI Hp \        VP                  P	                  VR3^4      4      # )z‹
Return number of times this row was repeated
Repeating an empty row appeared to be a common way
of representing sparse rows in the table.
©ÚTABLENSznumber-rows-repeated©Úodf.namespacesr   rH   Ú
attributesÚget)r%   rx   r   s   && r   ri   ÚODFReader._get_row_repeat¦   s)   € õ 	+ä�3—>‘>×%Ñ% wÐ0FÐ&GÈÓKÓLÐLr    c               ó   € V ^8„  d   QhRR/# r|   r   )r   s   "r   r   r   °   s   € ÷ Qñ Q¨#ñ Qr    c                	ó\   € ^ RI Hp \        VP                  P	                  VR3^4      4      # )r   r~   znumber-columns-repeatedr€   )r%   Úcellr   s   && r   rf   ÚODFReader._get_column_repeat°   s'   € Ý*ä�4—?‘?×&Ñ&¨Ð1JÐ'KÈQÓOÓPÐPr    c               ó   € V ^8„  d   QhRR/# )r   r   zScalar | NaTTyper   )r   s   "r   r   r   µ   s   € ÷ %?ñ %?Ð'7ñ %?r    c                	ó†  € ^ RI Hp \        V4      R8X  d   \        P                  # VP
                  P                  VR34      pVR8X  d   \        V4      R8X  d   R# R# Vf   V P                  # VR8X  d<   \        VP
                  P                  VR	34      4      p\        V4      pWT8X  d   V# V# VR
8X  d)   VP
                  P                  VR	34      p\        V4      # VR8X  d   V P                  V4      # VR8X  d)   VP
                  P                  VR	34      p\        V4      # VR8X  d4   VP
                  P                  VR34      p\        P                  ! V4      # VR8X  d>   \        P                  ! \        V4      4      p\        \        VP                  4       4      # V P!                  4        \#        RV 24      h)r   )ÚOFFICENSz#N/Az
value-typeÚbooleanÚTRUETFÚfloatru   Ú
percentageÚstringÚcurrencyÚdatez
date-valueÚtimezUnrecognized type )r�   r‹   r4   ÚnpÚnanr‚   rƒ   r7   rŽ   rH   Ú_get_cell_string_valueÚpdÚ	Timestampr   r   r“   rP   rQ   )r%   r‡   r‹   Ú	cell_typeÚ
cell_valueÚvalÚstamps   &&     r   re   ÚODFReader._get_cell_valueµ   s‰  € Ý+äˆt‹9˜ÔÜ—6‘6ˆMà—O‘O×'Ñ'¨°<Ð(@ÓAˆ	Ø˜	Ô!Ü�4‹y˜FÔ"ÙÙØÒØ×#Ñ#Ð#Ø˜'Ô!ä˜tŸ™×2Ñ2°H¸gÐ3FÓGÓHˆJÜ�j“/ˆCØÔ Ø�
ØÐØ˜,Ô&ØŸ™×,Ñ,¨h¸Ð-@ÓAˆJÜ˜Ó$Ð$Ø˜(Ô"Ø×.Ñ.¨tÓ4Ð4Ø˜*Ô$ØŸ™×,Ñ,¨h¸Ð-@ÓAˆJÜ˜Ó$Ð$Ø˜&Ô ØŸ™×,Ñ,¨h¸Ð-EÓFˆJÜ—<’< 
Ó+Ð+Ø˜&Ô Ü—L’L¤ T£Ó+ˆEäœ §
¡
£Ó-Ð-à�J‰JŒLÜÐ1°)°Ð=Ó>Ð>r    c               ó   € V ^8„  d   QhRR/# r3   r   )r   s   "r   r   r   Ü   s   € ÷ ñ ¨cñ r    c                óD  € ^ RI Hp ^ RIHp ^ RIHp ^ RIHp V! 4       P                  pV! 4       P                  p. pVP                   FÄ  p	\        W’4      '       dˆ   V	P                  V8X  dB   \        V	P                  P                  VR3^4      4      p
VP                  RV
,          4       Kf  V	P                  V8X  d   Ky  VP                  V P                  V	4      4       K›  VP                  \!        V	4      P#                  R4      4       KÆ  	  RP%                  V4      # )	zl
Find and decode OpenDocument text:s tags that represent
a run length encoded sequence of space characters.
)ÚElement)ÚTEXTNS)Ú
Annotation)ÚSÚcÚ Ú
r6   )Úodf.elementr    r�   r¡   Ú
odf.officer¢   Úodf.textr£   r[   rc   Ú
isinstancerH   r‚   rƒ   Úappendr–   r4   ÚstripÚjoin)r%   r‡   r    r¡   r¢   r£   Úoffice_annotationÚtext_sru   ÚfragmentÚspacess   &&         r   r–   Ú ODFReader._get_cell_string_valueÜ   sØ   € õ
 	(Ý)Ý)Ýá&›L×.Ñ.ÐÙ“—‘ˆàˆàŸœˆHÜ˜(×,Ò,Ø—>‘> VÔ+Ü  ×!4Ñ!4×!8Ñ!8¸&À#¸ÈÓ!JÓK�FØ—L‘L  v¥Ö.Ø—^‘^Ð'8Ô8Ùð
 —L‘L ×!<Ñ!<¸XÓ!FÖGà—‘œS ›]×0Ñ0°Ó6Ö7ñ (ð �w‰w�u‹~Ðr    r   )NNr]   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r$   Úpropertyr+   r0   r7   rD   rK   rS   ry   ri   rf   re   r–   Ú__static_attributes__Ú__classcell__)r&   s   @r   r   r      sz   ø† ÷
ò 
ð0 ôó ðõ
9ð ôó ðð ô8ó ð8õõ4÷>õ@MõQõ
%?÷Nó r    r   r   )Ú
__future__r   Útypingr   r   Únumpyr”   Úpandas._typingr   r   r   r	   Úpandas.compat._optionalr
   Úpandas.util._decoratorsr   Úpandasr—   Úpandas.core.shared_docsr   Úpandas.io.excel._baser   r*   r   Úpandas._libs.tslibs.nattyper   r   r   r    r   Ú<module>rÄ      sd   ðÝ "÷ó
 ÷ó õ ?Ý 'ã Ý 0å 1çÝ-å3ñ �\Ð"3Õ4Ô5ôZ� Õ/ó Zó 6òZr    