
    >wg+	                        d dl Z d dlmZ d dlmZ d ZdZdZ ee j                        dkD  re j                  d   Z	n e
d        e        	  ee	d	      Z eee        e
d
ez         dez   ej                         v r eee        e
d
ez         yy# e$ r"Z e
d ee      z          e        Y dZ[ydZ[we$ r-Z e
d ee      z          e
de	z          e        Y dZ[ydZ[we$ r.Z e
d ee      de	d        e
d        e        Y dZ[ydZ[we$ r"Z e
d ee      z          e        Y dZ[ydZ[ww xY w)    N)ZipFile)
BadZipFilec                     | j                  d|z         }t        |d      }|j                  |       |j                          y )Nxl/wb)readopenwriteclose)xlsm_zipfilenamedatafiles       O/var/www/horilla/myenv/lib/python3.12/site-packages/../../../bin/vba_extract.pyextract_filer      s8    ==)*D $DJJtJJL    zvbaProject.binzvbaProjectSignature.bin   a(  
Utility to extract a vbaProject.bin binary from an Excel 2007+ xlsm macro file for insertion into an XlsxWriter file.
If the macros are digitally signed, extracts also a vbaProjectSignature.bin file.

See: https://xlsxwriter.readthedocs.io/working_with_macros.html

Usage: vba_extract file.xlsm
rzExtracted: %sr   zFile error: %sz.File may not be an Excel xlsm macro file: '%s'zFile error: z: ''z)File may not be an Excel xlsm macro file.)syszipfiler   r   r   vba_filenamevba_signature_filenamelenargv	xlsm_fileprintexitr   namelistIOErrorestrKeyError	Exception r   r   <module>r&      s[       2  sxx=1I		)	 	F y#&H <(	/L
()%%):):)<<X56o 667 =
  	
SV
#$FF 	
SV
#$	
:Y
FGFF 	CFI
67	
56FF 	
SV
#$FFs=   AB EB77E?#C''E/$DE D==E