+
    iE0                        R t ^ RIHtHt ^ RIHt ^ RIt^ RIt^ RI	H
t
  ^RIHt ^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHtHt ^ R	IHt ^ R
IHt ^RI H!t!H"t" ^RI#H$t$ ^ RI%H&t& ^ RI'H(t( ^ RI)H*t* ^ RI+H,t,H-t- ^ RI.H/t/H0t0H1t1 ^ RI2H3t3 ^ RI4H5t5 ^ RI6H7t7 ^ RI8H9t9 ^ RI:H;t; ^ RI<H=t= ^RI>H?t? Rt@R tAR tB ! R R4      tCR]RRR3R ltDR#   ] d    Rt Li ; i) zRead an xlsx file into Python)ZipFileZIP_DEFLATED)BytesION)TableDefinition)KEEP_VBAF)InvalidFileException)ARC_CORE
ARC_CUSTOMARC_CONTENT_TYPESARC_WORKBOOK	ARC_THEMECOMMENTS_NSSHARED_STRINGSXLTMXLTXXLSMXLSX)
MergedCell)CommentSheet)read_string_tableread_rich_text)WorkbookParser)apply_stylesheet)DocumentProperties)CustomPropertyList)ManifestOverride)RelationshipListget_dependentsget_rels_path)ReadOnlyWorksheet)WorksheetReader)
Chartsheet)Table)SpreadsheetDrawing)
fromstring)find_imagesc                <   \        V R4      pV'       g|   \        P                  P                  V 4      R
,          P	                  4       pV\
        9  d=   VR8X  d   RpM'VR8X  d   RpMRV: RRP                  \
        4      : 2p\        V4      h\        V R	4      pV# )a  
Does a first check whether filename is a string or a file-like
object. If it is a string representing a filename, a check is done
for supported formats by checking the given file-extension. If the
file-extension is not in SUPPORTED_FORMATS an InvalidFileException
will raised. Otherwise the filename (resp. file-like object) will
forwarded to zipfile.ZipFile returning a ZipFile-Instance.
readz.xlszopenpyxl does not support the old .xls file format, please use xlrd to read this file, or convert it to the more recent .xlsx file format.z.xlsbz|openpyxl does not support binary format .xlsb, please convert this file to .xlsx format if you want to open it with openpyxlzopenpyxl does not support zT file format, please check you can open it with Excel first. Supported formats are: ,r)	hasattrospathsplitextlowerSUPPORTED_FORMATSjoinr   r   )filenameis_file_likefile_formatmsgarchives   &    \/Users/agent/.openclaw/workspace/.venv/lib/python3.14/site-packages/openpyxl/reader/excel.py_validate_archiver9   B   s     8V,Lgg&&x04::<//f$< '2 ( 8C7:xx@Q7R	T
 's++h$GN    c                 `   \         \        \        \        .pV F   pV P	                  V4      pV'       g   K  Vu # 	  V P
                   Uu0 uF  qDP                  kK  	  ppV\        V4      ,          pV'       d&   \        R \        ,           VP                  4       4      # \        R4      hu upi )/z$File contains no valid workbook part)r   r   r   r   findDefaultContentTypesetr   r   popIOError)packageworkbook_typesctpartpdefaultsworkbook_types   &      r8   _find_workbook_partrJ   c   s    D$-N||B4K  (/7!H7s>22Ml*M,=,=,?@@
8
99 8s   B+c                   n   a  ] tR t^st o RtR]RRR3R ltR tR tR t	R t
R	 tR
 tR tR tR tRtV tR# )ExcelReaderzI
Read an Excel package and dispatch the contents to the relevant modules
FTc                    \        V4      V n        V P                  P                  4       V n        W n        W0n        W@n        WPn        W`n        . V n	        R # N)
r9   r7   namelistvalid_files	read_onlykeep_vba	data_only
keep_links	rich_textshared_strings)selffnrQ   rR   rS   rT   rU   s   &&&&&&&r8   __init__ExcelReader.__init__y   sD    (,<<002" "$" r:   c                    V P                   P                  \        4      p\        V4      p\        P
                  ! V4      V n        R # rN   )r7   r(   r
   r%   r   	from_treerC   )rW   srcroots   &  r8   read_manifestExcelReader.read_manifest   s2    ll 12#))$/r:   c                L   V P                   P                  \        4      p\        pV P                  '       d   \
        pVeO   VP                  R,          pV P                  P                  V4      ;_uu_ 4       pV! V4      V n	        R R R 4       R # R #   + '       g   i     R # ; i)N   NN)
rC   r=   r   r   rU   r   PartNamer7   openrV   )rW   rE   readerstrings_pathr]   s   &    r8   read_stringsExcelReader.read_strings   su    \\~.">>>#F>;;r?L""<11S&,Sk# 21 111s   8BB#	c                   \        V P                  4      p\        V P                  VP                  R ,          V P
                  R7      V n        V P                  P                  4        V P                  P                  p. Vn	        V P                  Vn        V P                  Vn        VP                  \        \         39   Vn        V P$                  '       df   \'        \)        4       R\*        4      Vn        V P.                   F7  pVP,                  P1                  W0P                  P3                  V4      4       K9  	  V P                  '       d   V P                  Vn        W n        R# )rb   )rT   aN)rJ   rC   r   r7   rd   rT   parserparsewb_sheetsrS   
_data_onlyrQ   
_read_onlyr?   r   r   templaterR   r   r   r   vba_archiverP   writestrr(   _archive)rW   wb_partrn   names   &   r8   read_workbookExcelReader.read_workbook   s    %dll3$T\\73C3CB3GTXTcTcd[[^^
))dD\9 ===$WY\BBN((''ll.?.?.EF ) >>>,,BKr:   c                    \         V P                  9   dP   \        V P                  P	                  \         4      4      p\
        P                  ! V4      V P                  n        R # R # rN   )	r   rP   r%   r7   r(   r   r\   rn   
propertiesrW   r]   s   & r8   read_propertiesExcelReader.read_properties   sE    t'''T\\..x89C!3!=!=c!BDGG (r:   c                    \         V P                  9   dP   \        V P                  P	                  \         4      4      p\
        P                  ! V4      V P                  n        R # R # rN   )	r	   rP   r%   r7   r(   r   r\   rn   custom_doc_propsr|   s   & r8   read_customExcelReader.read_custom   sE    )))T\\..z:;C'9'C'CC'HDGG$ *r:   c                    \         V P                  9   d1   V P                  P                  \         4      V P                  n        R # R # rN   )r   rP   r7   r(   rn   loaded_theme)rW   s   &r8   
read_themeExcelReader.read_theme   s0    (((#'<<#4#4Y#?DGG  )r:   c                   VP                   p\        V4      p. pW@P                  9   d   \        V P                  V4      pV P                  P                  VR 4      ;_uu_ 4       pVP                  4       pRRR4       \        X4      p\        P                  ! V4      p	V P                  V	n        VP                  V	n        V P                  P                  V	4       VP                  \         P"                  4      p
V
 F?  p\%        V P                  VP                   4      w  rV F  pV	P'                  V4       K  	  KA  	  R#   + '       g   i     L; i)r*   N)targetr   rP   r   r7   re   r(   r%   r"   r\   rn   _parentrw   title
_add_sheetr=   r$   	_rel_typer&   	add_chart)rW   sheetrel
sheet_path	rels_pathrelsr]   xmlnodecsdrawingschartsimagescs   &&&           r8   read_chartsheetExcelReader.read_chartsheet   s    ZZ
!*-	(((!$,,	:D\\z3//3((*C 0#!!$'WW
::299/99:C(szzBNFQ   0/s   $EE	c           
     	   R pV P                   P                  4        EF@  w  r#VP                  V P                  9  d   K#  RVP                  9   d   V P                  W#4       KG  \        VP                  4      p\        4       pW@P                  9   d   \        V P                  V4      pV P                  '       dp   \        V P                  VP                  VP                  V P                  4      pVP                  Vn        V P                  P"                  P%                  V4       EK  V P                  P'                  VP                  4      pV P                  P)                  VP                  4      pWVn        \-        WgV P                  V P.                  V P0                  4      pVP3                  4        VP5                  4        VP7                  \8        4       Fj  p	V P                  P;                  V	P                  4      p
\<        P>                  ! \A        V
4      4      pVPB                   F  w  r WV,          n"        K  	  Kl  	  V P                  PV                  '       d>   VPX                  '       d,   VP[                  VPX                  4      P                  Vn,        MRVn,        VP\                   FP  pV P                  P;                  V4      p
\A        V
4      p\^        P>                  ! V4      pVPa                  V4       KR  	  VP7                  \b        Pd                  4      pV Fo  p\g        V P                  VP                  4      w  ppV F  pVPi                  WPj                  4       K   	  V F  pVPm                  VVPj                  4       K!  	  Kq  	  VP7                  \n        Pp                  4      pV P                   Pr                  pV Ft  p	V	Pt                  pV P                  P;                  V4      p
\A        V
4      p\n        P>                  ! V4      pVVPv                  ,          Vn<        VP{                  V4       Kv  	  VP                  Vn        EKC  	  R#   \F         db    Yl,          p\I        T\J        4      '       d?   \L        PN                  ! TPQ                  TPR                  TPT                  4      4        EK   EK  i ; i)z~Cell '{0}':{1} is part of a merged range but has a comment which will be removed because merged cells cannot contain any data.
chartsheetN)>rl   find_sheetsr   rP   Typer   r   r   r   r7   rQ   r    rn   rw   rV   statesheet_statero   appendre   create_sheet_relsr!   rS   rU   bind_allcloser=   r   r(   r   r\   r%   commentscommentAttributeError
isinstancer   warningswarnformatr   
coordinaters   legacy_drawinggettablesr#   	add_tabler$   r   r&   r   anchor	add_imager   rel_typepivot_cachesTargetcacheIdcache	add_pivot)rW   comment_warningr   r   r   r   wsfh	ws_parserr*   r]   comment_sheetrefr   r   tr   tabler   r   r   im	pivot_relr   
pivot_pathtreepivots   &                          r8   read_worksheetsExcelReader.read_worksheets   sx    _++113JEzz!1!11sxx'$$U0%cjj1I#%D,,,%dllI>~~~&tww

CJJH[H[\!&&&r*\\&&szz2WW))%**5+BD4G4GY]YgYgh	""$
 YY{+ll''1 , 6 6z# G$1$:$:LC%*13 %; , ww"""r'8'8'8$(HHR->->$?$F$F!$(!%%ll''* o,U#	 & yy!3!=!=>H!,T\\3::!FALLHH-   BLLRYY/ !	   		/":":;I;;33LXX
ll''
3!#'11$7*5==9U#  #[[BNK 4B * %G%a44$MM/*@*@1<<*XY$ 5%s   4Q$$A#S	S	c                P   R p V P                  4        RpV P                  4        RpV P                  4        RpV P                  4        RpV P	                  4        RpV P                  4        Rp\        V P                  V P                  4       RpV P                  4        RpV P                  P                  4        V P                  '       g   V P                  P                  4        R# R#   \         d-   p\        R	T R
T P                  P                   R24      ThRp?ii ; i)zread manifestzread stringszread workbookzread propertieszread custom propertiesz
read themezread stylesheetzread worksheetszassign namesz#Unable to read workbook: could not z from z~.
This is most probably because the workbook source files contain some invalid XML.
Please see the exception for more details.N)r_   rh   rx   r}   r   r   r   r7   rn   r   rl   assign_namesrQ   r   
ValueErrorr3   )rW   actiones   &  r8   r(   ExcelReader.read  s    	 #F$F &F  "-F!FOO&FT\\4773&F  "#FKK$$&>>>""$ " 	5fXVDLLDYDYCZ [= = 		s   C&C. .D%9'D  D%)r7   rS   rT   rR   rC   rl   rQ   rU   rV   rP   rn   N)__name__
__module____qualname____firstlineno____doc__r   rY   r_   rh   rx   r}   r   r   r   r   r(   __static_attributes____classdictcell__)__classdict__s   @r8   rL   rL   s   sT      &+X TU	!02.CI@
 ,G)T r:   rL   Tc                V    \        WVW4V4      pVP                  4        VP                  # )a  Open the given filename and return the workbook

:param filename: the path to open or a file-like object
:type filename: string or a file-like object open in binary mode c.f., :class:`zipfile.ZipFile`

:param read_only: optimised for reading, content cannot be edited
:type read_only: bool

:param keep_vba: preserve vba content (this does NOT mean you can use it)
:type keep_vba: bool

:param data_only: controls whether cells with formulae have either the formula (default) or the value stored the last time Excel read the sheet
:type data_only: bool

:param keep_links: whether links to external workbooks should be preserved. The default is True
:type keep_links: bool

:param rich_text: if set to True openpyxl will preserve any rich text formatting in cells. The default is False
:type rich_text: bool

:rtype: :class:`openpyxl.workbook.Workbook`

.. note::

    When using lazy load, all worksheets will be :class:`openpyxl.worksheet.iter_worksheet.IterableWorksheet`
    and the returned workbook will be read-only.

)rL   r(   rn   )r3   rQ   rR   rS   rT   rU   rf   s   &&&&&& r8   load_workbookr   <  s*    < h"	;F
KKM99r:   )z.xlsxz.xlsmz.xltxz.xltm)Er   zipfiler   r   ior   os.pathr-   r   openpyxl.pivot.tabler   testsr   ImportErroropenpyxl.utils.exceptionsr   openpyxl.xml.constantsr   r	   r
   r   r   r   r   r   r   r   r   openpyxl.cellr   openpyxl.comments.comment_sheetr   stringsr   r   workbookr   openpyxl.styles.stylesheetr   openpyxl.packaging.corer   openpyxl.packaging.customr   openpyxl.packaging.manifestr   r   openpyxl.packaging.relationshipr   r   r   openpyxl.worksheet._read_onlyr    openpyxl.worksheet._readerr!   openpyxl.chartsheetr"   openpyxl.worksheet.tabler#   $openpyxl.drawing.spreadsheet_drawingr$   openpyxl.xml.functionsr%   r   r&   r1   r9   rJ   rL   r    r:   r8   <module>r      s    $ *    0 
 ;    % 8 6 $ 7 6 8 :  < 6 * * C - ! 9 B: F FR ',h!de!W	  Hs   C 	CC