
    ,hp                       d Z ddlmZ ddlZddlZddlmZ ddlm	Z	m
Z
mZmZmZmZ ddl g dZdZd	Zd
ZdZdZdZdZdddddddZeez
  eez
  eez   ez   eez   ez   eez   ez   eez   ez   eeez   ez   eez   ez   eez   ez   eez   eez   dj2                  ZdZd
ZdZd	ZdZdZ dZ!dZ"dddddd d!d"d#Z#d$Z$g d%Z%g d&Z&g d'Z'g d(Z(g d)Z)e%e%e&e'e'e(e(e)d*Z*g d+Z+i dd,dd-d	d.dd/d
d0dd1d2d3d4d5dd6d7d8d9d:d;d<d=d>d?d@dAdBdCdDddEi dFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddddedfi dgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddÓddœddǓddɓdd˓i dd͓ddϓddѓddӓddՓddדddٓddۓddݓddߓddddddddddddddi ddddddddddddddddddd ddddddddd	d
dddddi ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1i d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSi dTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdui dvdwdxdydzd{d|d}d~dddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddÓdĐdœdƐdǓdȐdɓdʐd˓d̐d͓dΐdϓdАdѓdҐdӓdԐdՓd֐dדdؐdٓdڐdۓi dܐdݓdސdߓddddddddddddddddddddddddddddddi ddd ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%Z,d&d'd(d)d*d+d,d-d.d/	Z- e.g d0      Z/e0e1e0e1e0e1fZ2e1e0e1e0e1e0fZ3d1 Z4djd2Z5	 djd3Z6djd4Z7djd5Z8dkd6Z9	 dkd7Z: G d8 d9e;      Z< G d: d;e=      Z> G d< d=e?      Z@dZAd
ZBdZCd2ZDd4ZEdZF eGd7dC      \  ZHZIZJZKZLZMd> ZNd? ZOd@ ZPdA ZQdB ZRdC ZSdD ZTdE ZUdF ZVeeNe!eWiZXeeNe!eNiZYeeVe!eNiZZeAeXeej                  d`dGfeBeXeej                  d`dHfeCeXeej                  dsdIfeDeXeej                  dsdJfeEeXeeOddKfeFeZe!ej                  dLdLfeHeYeePd9dMfeIeYeeQd9dNfeJeYeeRd9dOfeKeYeeSd9dPfeLeYeeTd9dQfeMeYeeUd9dRfiZ_dS ddHdTfdU ddGdTfdV ddTdWfdXZ`dYZadYZbdZcd9ZddldZZe	 	 dmd[Zfdld\Zgdnd]Zhdnd^Zid_ Zjdkd`ZkdodaZldb ZmdkdcZndoddZode ZpdodfZqdg Zrdh Zsdi Zty(p  z9
Module for parsing/evaluating Microsoft Excel formulas.
    )print_functionN)unpack   )
BaseObject	XLRDErrorerror_text_from_codehex_char_dumpunpack_string_update_posunpack_unicode_update_pos)*)oBOOLoERRoNUMoREFoRELoSTRGoUNKdecompile_formuladump_formulaevaluate_name_formula
okind_dictrangename3drangename3drelcellnamecellnameabscolnameFMLA_TYPE_CELLFMLA_TYPE_SHAREDFMLA_TYPE_ARRAYFMLA_TYPE_COND_FMTFMLA_TYPE_DATA_VALFMLA_TYPE_NAMEOperandRef3D                ?   CELLSHAREDARRAYzCOND-FMTzDATA-VALNAME)r   r%   r&   r'   r(   r)   )r   r%      r(      r)   #   9   :   ;   ,   -         r   r   r   r   r   r   r   oMSNG)r:   r9   r   r   r%   r7   r&   r8   ,)@r:   r&   r&   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r:   r9   r'   r&   r%   r%   r7   	   r'   r%   r7   r'   r&      r8   r8   r8   r%   r&   r>   r&   r>   r%   r%   r:   r:   r:   r:   r:   r:   r:   r:   r7   r:   r:   r:   r:   r:   r:   r:   )@r:   r8   r8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r:   r9      r8   r%   r%   r7   r=   r=   r%   r7   r?   r&   r>   r>   r>   r>   r7   r&   r>   r&   r>   r7   r7   r:   r:   r:   r:   r:   r:   r:   r:   r7   r:   r:   r:   r:   r:   r:   r:   )@r:   r8   r8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r:   r9   r?   r8   r%   r%   r7   r=   r=   r7   r&   r?   r&   r>   r>   r>   r>   r7   r&   r>   r&   r>   r7   r7   r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   r:   )@r:   r8   r8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r:   r9   r:   r:   r%   r%   r7   r=   r=   r7   r&   r/   r&   r>   r>   r>   r>   r7   r&   r>   r&   r>   r7   r7   r:   r:   r:   r:   r:   r:   r:   r:   r:            rA   rB   r:   r:   )@r:   r8   r8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r9   r9   r:   r:   r%   r%   r7   r=   r=   r7   r&   r8   r8   r=   r>   r>   r>   r7   r8   r=   r8   r=   r7   r7   r:   r:   r:   r:   r:   r:   r:   r:   r:   r>   r>   r?   r>   r?   r:   r:   )   rB      (   r6   2   F   P   )@Unk00ExpTblAddSubMulDivPowerConcatLTLEEQGEGTNEIsectListRangeUplusUminusPercentParenMissArgStrExtendedAttrSheetEndSheetErrBoolIntNumArrayFuncFuncVarNameRefAreaMemAreaMemErrMemNoMemMemFuncRefErrAreaErrRefNAreaNMemAreaN	MemNoMemN ry   ry   ry   ry   ry   ry   ry   FuncCENameXRef3dArea3dRefErr3d	AreaErr3dry   ry   )COUNTr   rD   r&   r   VR)IFr%   r7   r&   r7   r   VRR)ISNAr   r   r%   r   r   r   )ISERRORr   r   r%   r   r   r   )SUMr   rD   r&   r   r   r   )AVERAGEr   rD   r&   r   r   r      )MINr   rD   r&   r   r   r   r>   )MAXr   rD   r&   r   r   r   )ROWr   r   r&   r   r   r   r=   )COLUMNr   r   r&   r   r   r   
   )NAr   r   r%   r   r   ry   r?   )NPVr%   rD   r&   r%   r   VR   )STDEVr   rD   r&   r   r   r      )DOLLARr   r%   r&   r   r   r      )FIXEDr%   r7   r&   r7   r   VVVr/   )SINr   r   r%   r   r   r   )COSr   r   r%   r   r   r   r0   )TANr   r   r%   r   r   r   rA   )ATANr   r   r%   r   r   r      )PIr   r   r%   r   r   ry   rC   )SQRTr   r   r%   r   r   r   rB   )EXPr   r   r%   r   r   r      )LNr   r   r%   r   r   r      )LOG10r   r   r%   r   r   r      )ABSr   r   r%   r   r   r   r@   )INTr   r   r%   r   r   r      )SIGNr   r   r%   r   r   r      )ROUNDr%   r%   r%   r%   r   VV   )LOOKUPr%   r7   r&   r%   r   r      )INDEXr%   r&   r   r&   r   RVVVrD   )REPTr%   r%   r%   r%   r   r      )MIDr7   r7   r%   r7   r   r   )LENr   r   r%   r   r   r   !   )VALUEr   r   r%   r   r   r   "   )TRUEr   r   r%   r   r   ry   r1   )FALSEr   r   r%   r   r   ry   $   )ANDr   rD   r&   r   r   r   %   )ORr   rD   r&   r   r   r   &   )NOTr   r   r%   r   r   r   '   )MODr%   r%   r%   r%   r   r   rE   )DCOUNTr7   r7   r%   r7   r   RRR)   )DSUMr7   r7   r%   r7   r   r   *   )DAVERAGEr7   r7   r%   r7   r   r   +   )DMINr7   r7   r%   r7   r   r   r5   )DMAXr7   r7   r%   r7   r   r   r6   )DSTDEVr7   r7   r%   r7   r   r   .   )VARr   rD   r&   r   r   r   /   )DVARr7   r7   r%   r7   r   r   0   )TEXTr%   r%   r%   r%   r   r   1   )LINESTr   r&   r&   r&   ARRVVrF   )TRENDr   r&   r&   r&   r   RRRV3   )LOGESTr   r&   r&   r&   r   r   4   )GROWTHr   r&   r&   r&   r   r   8   )PVr7   r8   r&   r8   r   VVVVVr2   )FVr7   r8   r&   r8   r   r   r3   )NPERr7   r8   r&   r8   r   r   r4   )PMTr7   r8   r&   r8   r   r   <   )RATEr7   r   r&   r   r   VVVVVV=   )MIRRr7   r7   r%   r7   r   RVV>   )IRRr   r%   r&   r%   r   RV)RANDr   r   r   r   r   ry   @   )MATCHr%   r7   r&   r7   r   r   A   )DATEr7   r7   r%   r7   r   r   B   )TIMEr7   r7   r%   r7   r   r   C   )DAYr   r   r%   r   r   r   D   )MONTHr   r   r%   r   r   r   E   )YEARr   r   r%   r   r   r   rG   )WEEKDAYr   r%   r&   r%   r   r   G   )HOURr   r   r%   r   r   r   H   )MINUTEr   r   r%   r   r   r   I   )SECONDr   r   r%   r   r   r   J   )NOWr   r   r   r   r   ry   K   )AREASr   r   r%   r   r   r   L   )ROWSr   r   r%   r   r   r   M   )COLUMNSr   r   r%   r   r   r   N   )OFFSETr7   r8   r&   r8   r   RVVVVR   )SEARCHr%   r7   r&   r7   r   r   S   )	TRANSPOSEr   r   r%   r   r   r   V   )TYPEr   r   r%   r   r   r   \   )	SERIESSUMr&   r&   r%   r&   r   VVVAa   )ATAN2r%   r%   r%   r%   r   r   b   )ASINr   r   r%   r   r   r   c   )ACOSr   r   r%   r   r   r   d   )CHOOSEr%   rD   r&   r%   r   r   e   )HLOOKUPr7   r&   r&   r&   r   VRRVf   )VLOOKUPr7   r&   r&   r&   r   r  i   )ISREFr   r   r%   r   r   r   m   )LOGr   r%   r&   r%   r   r   o   )CHARr   r   r%   r   r   r   p   )LOWERr   r   r%   r   r   r   q   )UPPERr   r   r%   r   r   r   r   )PROPERr   r   r%   r   r   r   s   )LEFTr   r%   r&   r%   r   r   t   )RIGHTr   r%   r&   r%   r   r   u   )EXACTr%   r%   r%   r%   r   r   v   )TRIMr   r   r%   r   r   r   w   )REPLACEr&   r&   r%   r&   r   VVVVx   )
SUBSTITUTEr7   r&   r&   r&   r   r7  y   )CODEr   r   r%   r   r   r   |   )FINDr%   r7   r&   r7   r   r   }   )r+   r   r%   r   r%   r   r   ~   )ISERRr   r   r%   r   r   r      )ISTEXTr   r   r%   r   r   r      )ISNUMBERr   r   r%   r   r   r      )ISBLANKr   r   r%   r   r   r      )Tr   r   r%   r   r   r      )Nr   r   r%   r   r   r      )	DATEVALUEr   r   r%   r   r   r      )	TIMEVALUEr   r   r%   r   r   r      )SLNr7   r7   r%   r7   r   r      )SYDr&   r&   r%   r&   r   r7     )DDBr&   r8   r&   r8   r   r      )INDIRECTr   r%   r   r%   r   r      )CLEANr   r   r%   r   r   r      )MDETERMr   r   r%   r   r   r      )MINVERSEr   r   r%   r   r   r      )MMULTr%   r%   r%   r%   r   AA   )IPMTr&   r   r&   r   r   r      )PPMTr&   r   r&   r   r   r      )COUNTAr   rD   r&   r   r   r      )PRODUCTr   rD   r&   r   r   r      )FACTr   r   r%   r   r   r      )DPRODUCTr7   r7   r%   r7   r   r      )	ISNONTEXTr   r   r%   r   r   r      )STDEVPr   rD   r&   r   r   r      )VARPr   rD   r&   r   r   r      )DSTDEVPr7   r7   r%   r7   r   r      )DVARPr7   r7   r%   r7   r   r      )TRUNCr   r%   r&   r%   r   r      )	ISLOGICALr   r   r%   r   r   r      )DCOUNTAr7   r7   r%   r7   r   r      )USDOLLARr   r%   r&   r%   r   r      )FINDBr%   r7   r&   r7   r   r      )SEARCHBr%   r7   r&   r7   r   r      )REPLACEBr&   r&   r%   r&   r   r7     )LEFTBr   r%   r&   r%   r   r      )RIGHTBr   r%   r&   r%   r   r      )MIDBr7   r7   r%   r7   r   r      )LENBr   r   r%   r   r   r      )ROUNDUPr%   r%   r%   r%   r   r      )	ROUNDDOWNr%   r%   r%   r%   r   r      )ASCr   r   r%   r   r   r      )DBCSr   r   r%   r   r   r      )RANKr%   r7   r&   r7   r   VRV   )ADDRESSr%   r8   r&   r8   r   r      )DAYS360r%   r7   r&   r7   r   r      )TODAYr   r   r   r   r   ry      )VDBr8   r>   r&   r>   r   VVVVVVV   )MEDIANr   rD   r&   r   r   r      )
SUMPRODUCTr   rD   r&   r   r   r      )SINHr   r   r%   r   r   r      )COSHr   r   r%   r   r   r      )TANHr   r   r%   r   r   r      )ASINHr   r   r%   r   r   r      )ACOSHr   r   r%   r   r   r      )ATANHr   r   r%   r   r   r      )DGETr7   r7   r%   r7   r   r      )INFOr   r   r%   r   r   r      )DBr&   r8   r&   r8   r   r      )	FREQUENCYr%   r%   r%   r%   r   RRi  )z
ERROR.TYPEr   r   r%   r   r   r   i  )AVEDEVr   rD   r&   r   r   r   i  )BETADISTr7   r8   r&   r   r   r   i  )GAMMALNr   r   r%   r   r   r   i  )BETAINVr7   r8   r&   r   r   r   i  )	BINOMDISTr&   r&   r%   r&   r   r7  i  )CHIDISTr%   r%   r%   r%   r   r   i  )CHIINVr%   r%   r%   r%   r   r   i  )COMBINr%   r%   r%   r%   r   r   i  )
CONFIDENCEr7   r7   r%   r7   r   r   i  )	CRITBINOMr7   r7   r%   r7   r   r   i  )EVENr   r   r%   r   r   r   i  )	EXPONDISTr7   r7   r%   r7   r   r   i  )FDISTr7   r7   r%   r7   r   r   i  )FINVr7   r7   r%   r7   r   r   i  )FISHERr   r   r%   r   r   r   i  )	FISHERINVr   r   r%   r   r   r   i  )FLOORr%   r%   r%   r%   r   r   i  )	GAMMADISTr&   r&   r%   r&   r   r7  i  )GAMMAINVr7   r7   r%   r7   r   r   i   )CEILINGr%   r%   r%   r%   r   r   i!  )HYPGEOMDISTr&   r&   r%   r&   r   r7  i"  )LOGNORMDISTr7   r7   r%   r7   r   r   i#  )LOGINVr7   r7   r%   r7   r   r   i$  )NEGBINOMDISTr7   r7   r%   r7   r   r   i%  )NORMDISTr&   r&   r%   r&   r   r7  i&  )	NORMSDISTr   r   r%   r   r   r   i'  )NORMINVr7   r7   r%   r7   r   r   i(  )NORMSINVr   r   r%   r   r   r   i)  )STANDARDIZEr7   r7   r%   r7   r   r   i*  )ODDr   r   r%   r   r   r   i+  )PERMUTr%   r%   r%   r%   r   r   i,  )POISSONr7   r7   r%   r7   r   r   i-  )TDISTr7   r7   r%   r7   r   r   i.  )WEIBULLr&   r&   r%   r&   r   r7  i/  )SUMXMY2r%   r%   r%   r%   r   r_  i0  )SUMX2MY2r%   r%   r%   r%   r   r_  i1  )SUMX2PY2r%   r%   r%   r%   r   r_  i2  )CHITESTr%   r%   r%   r%   r   r_  i3  )CORRELr%   r%   r%   r%   r   r_  i4  )COVARr%   r%   r%   r%   r   r_  i5  )FORECASTr7   r7   r%   r7   r   VAAi6  )FTESTr%   r%   r%   r%   r   r_  i7  )	INTERCEPTr%   r%   r%   r%   r   r_  i8  )PEARSONr%   r%   r%   r%   r   r_  i9  )RSQr%   r%   r%   r%   r   r_  i:  )STEYXr%   r%   r%   r%   r   r_  i;  )SLOPEr%   r%   r%   r%   r   r_  i<  )TTESTr&   r&   r%   r&   r   AAVVi=  )PROBr7   r&   r&   r7   r   AAVi>  )DEVSQr   rD   r&   r   r   r   i?  )GEOMEANr   rD   r&   r   r   r   i@  )HARMEANr   rD   r&   r   r   r   iA  )SUMSQr   rD   r&   r   r   r   iB  )KURTr   rD   r&   r   r   r   iC  )SKEWr   rD   r&   r   r   r   iD  )ZTESTr%   r7   r&   r%   r   r   iE  )LARGEr%   r%   r%   r%   r   r   iF  )SMALLr%   r%   r%   r%   r   r   iG  )QUARTILEr%   r%   r%   r%   r   r   iH  )
PERCENTILEr%   r%   r%   r%   r   r   iI  )PERCENTRANKr%   r7   r&   r%   r   r   iJ  )MODEr   rD   r&   r   r   r   iK  )TRIMMEANr%   r%   r%   r%   r   r   iL  )TINVr%   r%   r%   r%   r   r   iP  )CONCATENATEr   rD   r&   r   r   r   iQ  )POWERr%   r%   r%   r%   r   r   iV  )RADIANSr   r   r%   r   r   r   iW  )DEGREESr   r   r%   r   r   r   iX  )SUBTOTALr%   rD   r&   r%   r   r   iY  )SUMIFr%   r7   r&   r7   r   RVRiZ  )COUNTIFr%   r%   r%   r%   r   r   i[  )
COUNTBLANKr   r   r%   r   r   r   i^  )ISPMTr&   r&   r%   r&   r   r7  i_  )DATEDIFr7   r7   r%   r7   r   r   i`  )
DATESTRINGr   r   r%   r   r   r   ia  )NUMBERSTRINGr%   r%   r%   r%   r   r   ib  )ROMANr   r%   r&   r%   r   r   if  )GETPIVOTDATAr%   r%   r%   r%   r   r   ig  )	HYPERLINKr   r%   r&   r%   r   r   ih  )PHONETICr   r   r%   r   r   r   ii  )AVERAGEAr   rD   r&   r   r   r   ij  )MAXAr   rD   r&   r   r   r   ik  )MINAr   rD   r&   r   r   r   il  )STDEVPAr   rD   r&   r   r   r   im  )VARPAr   rD   r&   r   r   r   in  )STDEVAr   rD   r&   r   r   r   io  )VARAr   rD   r&   r   r   r   ip  )BAHTTEXTr   r   r%   r   r   r   iq  )THAIDAYOFWEEKr   r   r%   r   r   r   ir  )	THAIDIGITr   r   r%   r   r   r   is  )THAIMONTHOFYEARr   r   r%   r   r   r   it  )THAINUMSOUNDr   r   r%   r   r   r   iu  )THAINUMSTRINGr   r   r%   r   r   r   iv  )THAISTRINGLENGTHr   r   r%   r   r   r   )ISTHAIDIGITr   r   r%   r   r   r   )ROUNDBAHTDOWNr   r   r%   r   r   r   )ROUNDBAHTUPr   r   r%   r   r   r   )THAIYEARr   r   r%   r   r   r   )RTDr%   r8   r&   r   r   r   )iw  ix  iy  iz  i{  zSkip??VolatileIfChooseSkipSumAssignSpaceSpaceVolatile)	r   r   r%   r&   r'   r(   r)   r   r   )r>   r'   r   r?   r   r   r   c                 d    t        d t        | |j                  |j                        D              S )Nc              3   6   K   | ]  \  }}} |||        y wN ).0funcnumanumbs       N/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/xlrd/formula.py	<genexpr>zdo_box_funcs.<locals>.<genexpr>  s%      D$ 	T4s   )tuplezipcoords)	box_funcsboxaboxbs      r0  do_box_funcsr8    s-      #It{{DKK H      c                     |dz	  dz  }|dz	  dz  }| }|dz  }|r|r
|dk\  r|dz  }|r|dk\  r|dz  }n|r||z  }|r||z  }||||fS )	Nr/   r   r            rC     r+  	rowvalcolvalreldeltabrowxbcolxrow_relcol_relrowxcolxs	            r0  adjust_cell_addr_biff8rI    sz    |q G|q GDD=Dtu}EMDts{CKDEMDEMDw''r9  c                     | dz	  dz  }| dz	  dz  }| dz  }|}|r|r
|dk\  r|dz  }|r|dk\  r|dz  }n|r||z  }|r||z  }||||fS )	Nr/   r   r   i?  i    i @  rC  r>  r+  r?  s	            r0  adjust_cell_addr_biff_le7rK    sz    |q G|q GF?DDtt|EMDts{CKDEMDEMDw''r9  c                     |dk\  r$t        d| ||dz          \  }}t        |||||      S t        d| ||dz          \  }}t        |||||      S )NrH   <HHr&   z<HBr7   r   rI  rK  )dataposbvrB  rC  rD  r@  rA  s           r0  get_cell_addrrR    sh    	RxtCA7%ffhuMMtCA7(FHeU< 	<r9  c                     |dk\  r9t        d| ||dz          \  }}}}	t        |||||      }
t        ||	|||      }|
|fS t        d| ||dz          \  }}}}	t        |||||      }
t        ||	|||      }|
|fS )NrH   z<HHHHr'   z<HHBBr   rN  )rO  rP  rQ  rB  rC  rD  row1valrow2valcol1valcol2valres1res2s               r0  get_cell_range_addrrZ    s    	Rx-3GT#c!e_-M*'7 &gw%O%gw%OTz-3GT#c!e_-M*'7 )Whu>(Whu>Tzr9  c                 V   	 | j                   |   }|\  }}}|| j
                  k(  r/|rt        d||fz  | j                         |dcxk(  r|k(  sJ  J y|| j                  k7  r|rt        d||fz  | j                         y|dcxk(  r|k(  r"n n|rt        d	||fz  | j                         y
|dcxk(  r|k(  r!n n|rt        d|fz  | j                         yt        | j                        }d|cxk  r|cxk  r|k  s;n |r6t        d||fz  | j                         t        d|z  | j                         y| j                  |   }| j                  |   }	d|cxk  r|	k  sy y||	fS # t        $ r2 t        d|t        | j                         fz  | j                         Y yw xY w)Nz:!!! get_externsheet_local_range: refx=%d, not in range(%d)file)r^  z5/// get_externsheet_local_range(refx=%d) -> addins %ri  )r_  z7/// get_externsheet_local_range(refx=%d) -> external %rra  z@/// get_externsheet_local_range(refx=%d) -> unspecified sheet %rr9   r9   i  z</// get_externsheet_local_range(refx=%d) -> deleted sheet(s)r:   r:   r   z./// get_externsheet_local_range(refx=%d) -> %r%--- first/last sheet not in range(%d))re  rg  )_externsheet_info
IndexErrorprintlenlogfile_supbook_addins_inx_supbook_locals_inx_all_sheets_map)
bkrefxblahinforef_recordxref_first_sheetxref_last_sheetxnsheetsxlrd_sheetx1xlrd_sheetx2s
             r0  get_externsheet_local_rangerz    s   ##D)
 6:2K!?b,,,ITSWLX_a_i_ij6<_<<<<b,,,KtUYlZacakakl64_4TX\^bWccjljtjtu64_4PTXS[[bdblblm"$$%G =O=g=BdD\QXZXbXbc9GC"**U%%&67L%%o6L,, -%%A  JS--./068jj	Bs   E- -8F('F(c                    |dkD  r|rt        d|z  | j                         y|dk(  r|dk(  ryt        | j                        }d|cxk  r|cxk  r|k  s<n |r7t        d|||fz  | j                         t        d|z  | j                         y	| j                  |   }| j                  |   }d|cxk  r|k  sy
 y
||fS )Nr   z?/// get_externsheet_local_range_b57(raw_extshtx=%d) -> externalr\  r`  r9   rc  z6/// get_externsheet_local_range_b57(%d, %d, %d) -> ???rd  )r|  rf  )rj  rl  rk  ro  )rp  raw_extshtxru  rv  rr  rw  rx  ry  s           r0  get_externsheet_local_range_b57r~    s    QSVaahjhrhrs2/R"7"$$%G =O=g=J 0/BCIKU9GC"**U%%&67L%%o6L,, -%%r9  c                       e Zd Zy)FormulaErrorN)__name__
__module____qualname__r+  r9  r0  r  r    s    r9  r  c                   *    e Zd ZdZdZeZdZddZd Z	y)r#   a  
    Used in evaluating formulas.
    The following table describes the kinds and how their values
    are represented.

    .. raw:: html

        <table border="1" cellpadding="7">
        <tr>
        <th>Kind symbol</th>
        <th>Kind number</th>
        <th>Value representation</th>
        </tr>
        <tr>
        <td>oBOOL</td>
        <td align="center">3</td>
        <td>integer: 0 => False; 1 => True</td>
        </tr>
        <tr>
        <td>oERR</td>
        <td align="center">4</td>
        <td>None, or an int error code (same as XL_CELL_ERROR in the Cell class).
        </td>
        </tr>
        <tr>
        <td>oMSNG</td>
        <td align="center">5</td>
        <td>Used by Excel as a placeholder for a missing (not supplied) function
        argument. Should *not* appear as a final formula result. Value is None.</td>
        </tr>
        <tr>
        <td>oNUM</td>
        <td align="center">2</td>
        <td>A float. Note that there is no way of distinguishing dates.</td>
        </tr>
        <tr>
        <td>oREF</td>
        <td align="center">-1</td>
        <td>The value is either None or a non-empty list of
        absolute Ref3D instances.<br>
        </td>
        </tr>
        <tr>
        <td>oREL</td>
        <td align="center">-2</td>
        <td>The value is None or a non-empty list of
        fully or partially relative Ref3D instances.
        </td>
        </tr>
        <tr>
        <td>oSTRG</td>
        <td align="center">1</td>
        <td>A Unicode string.</td>
        </tr>
        <tr>
        <td>oUNK</td>
        <td align="center">0</td>
        <td>The kind is unknown or ambiguous. The value is None</td>
        </tr>
        </table>
    N?c                 D    ||| _         ||| _        || _        || _        y r*  )kindvalueranktext)selfakindavaluearankatexts        r0  __init__zOperand.__init__b  s,    DIDJ	 	r9  c                     t         j                  | j                  d      }d|d| j                  d| j                  dS )Nz?Unknown kind?zOperand(kind=z, value=z, text=))r   getr  r  r  )r  	kind_texts     r0  __repr__zOperand.__repr__l  s0    NN499.>?	$**dii1 	1r9  )NNr   r  )
r  r  r  __doc__r  r   r  r  r  r  r+  r9  r0  r#   r#     s'    <@ E D D1r9  r#   c                       e Zd ZdZd Zd Zy)r$   a  
    Represents an absolute or relative 3-dimensional reference to a box
    of one or more cells.

    The ``coords`` attribute is a tuple of the form::

      (shtxlo, shtxhi, rowxlo, rowxhi, colxlo, colxhi)

    where ``0 <= thingxlo <= thingx < thingxhi``.

    .. note::
      It is quite possible to have ``thingx > nthings``; for example
      ``Print_Titles`` could have ``colxhi == 256`` and/or ``rowxhi == 65536``
      irrespective of how many columns/rows are actually used in the worksheet.
      The caller will need to decide how to handle this situation.
      Keyword: :class:`IndexError` :-)

    The components of the coords attribute are also available as individual
    attributes: ``shtxlo``, ``shtxhi``, ``rowxlo``, ``rowxhi``, ``colxlo``, and
    ``colxhi``.

    The ``relflags`` attribute is a 6-tuple of flags which indicate whether
    the corresponding (sheet|row|col)(lo|hi) is relative (1) or absolute (0).

    .. note::
      There is necessarily no information available as to what cell(s)
      the reference could possibly be relative to. The caller must decide what
      if any use to make of ``oREL`` operands.

    .. note:
      A partially relative reference may well be a typo.
      For example, define name ``A1Z10`` as ``$a$1:$z10`` (missing ``$`` after
      ``z``) while the cursor is on cell ``Sheet3!A27``.

      The resulting :class:`Ref3D` instance will have
      ``coords = (2, 3, 0, -16, 0, 26)``
      and ``relflags = (0, 0, 0, 1, 0, 0).<br>

      So far, only one possibility of a sheet-relative component in
      a reference has been noticed: a 2D reference located in the
      "current sheet".

      This will appear as ``coords = (0, 1, ...)`` and
      ``relflags = (1, 1, ...)``.

    .. versionadded:: 0.6.0
    c                     |dd | _         |dd | _        | j                  sd| _        | j                   \  | _        | _        | _        | _        | _        | _        y )Nr   r   r   r   r   r   r   r   r   )r4  relflagsshtxloshtxhirowxlorowxhicolxlocolxhi)r  atuples     r0  r  zRef3D.__init__  sR    Qqkq}}.DM %)KK	"dkT[T[r9  c                     | j                   r| j                   dk(  rd| j                  dS d| j                  d| j                   dS )Nr  zRef3D(coords=r  z, relflags=)r  r4  )r  s    r0  r  zRef3D.__repr__  sB    }}1C C)-77 !D ;;/ /r9  N)r  r  r  r  r  r  r+  r9  r0  r$   r$   r  s    .`0/r9  r$   c                     | S r*  r+  xs    r0  nopr    s    Hr9  c                     | |z  S r*  r+  r  ys     r0  _opr_powr    s
    16Mr9  c                     | |k  S r*  r+  r  s     r0  _opr_ltr    
    !q&=r9  c                     | |k  S r*  r+  r  s     r0  _opr_ler    r  r9  c                     | |k(  S r*  r+  r  s     r0  _opr_eqr    r  r9  c                     | |k\  S r*  r+  r  s     r0  _opr_ger    r  r9  c                     | |kD  S r*  r+  r  s     r0  _opr_gtr    r  r9  c                     | |k7  S r*  r+  r  s     r0  _opr_ner    r  r9  c                 H    t        |       }|j                  d      r|dd }|S )zN
    Attempt to emulate Excel's default conversion from number to string.
    z.0Nr:   )strendswith)numss     r0  num2strgr    s)     	CAzz$crFHr9  +-r   /^&<z<==z>=>z<>c                     |  S r*  r+  r  s    r0  <lambda>r    s    aR r9  ry   c                     | S r*  r+  r  s    r0  r  r    s    Q r9  c                     | dz  S )Ng      Y@r+  r  s    r0  r  r    s
    QY r9  %)r   rA   rC   Z   c                 5   |t         kD  rd}|j                  }|j                  }| j                  }d}|rCt	        d||j
                  ||||fz  | j                         t        |d|| j                         |t        kD  rt        d      t        |   }	d}
g }d}d}d}t        t        d       }t        t        d       }|j                  }d }d }d	 }|dk(  r|g}d|
cxk  r|k  rn nt        ||
         }|d
z  }|dz  dz	  }|r|dz   }n|}t         |   }|	|   }|r8t	        d|
|||||fz  | j                         t	        d|| j                         |dk(  rd|||fz  }t#        |      |
sd|cxk  rdk  rn n |||       
n|d|cxk  rdk  rn n |||       
nc|dk(  r|rt	        d|| j                         t%        |      dk\  sJ |j'                         }|j'                         }d}d}dj)                  dd |j*                  |k   |j,                  dd |j*                  |k   |dd |j*                  |k   |j,                  dd |j*                  |k   g      } t        t.              }!| |!_        |j0                  t        k(  s|j0                  t        k(  rt        |!_        n|j0                  t        k(  s|j0                  t        k(  rn|j0                  t.        cxk(  r|j0                  k(  rn n|j2                  s|j2                  ft%        |j2                        dk(  sJ t%        |j2                        dk(  sJ t5        t6        |j2                  d   |j2                  d         }"t9        |"      g|!_        n|j0                  t:        cxk(  r|j0                  k(  rn nt:        |!_        |j2                  |j2                  t%        |j2                        dk(  sJ t%        |j2                        dk(  sJ t5        t6        |j2                  d   |j2                  d         }"|j2                  d   j<                  }#|j2                  d   j<                  }$|#|$k(  rt9        |"|#z         g|!_        n	  ||!       |rt	        d|| j                         ng|dk(  r|rt	        d|| j                         t%        |      dk\  sJ |j'                         }|j'                         }d}d}dj)                  dd |j*                  |k   |j,                  dd |j*                  |k   |dd |j*                  |k   |j,                  dd |j*                  |k   g      } t        t.        d ||       }!|j0                  t        k(  s|j0                  t        k(  rt        |!_        n|j0                  t.        t:        fv r|j0                  t.        t:        fv rt.        |!_        |j0                  t:        k(  s|j0                  t:        k(  rt:        |!_        |j2                  `|j2                  Tt%        |j2                        dk\  sJ t%        |j2                        dk(  sJ |j2                  |j2                  z   |!_        n	  ||!       |rt	        d || j                         nf|d!k(  r|rt	        d"|| j                         t%        |      dk\  sJ |j'                         }|j'                         }d#}d}dj)                  dd |j*                  |k   |j,                  dd |j*                  |k   |dd |j*                  |k   |j,                  dd |j*                  |k   g      } t        t.        d ||       }!|j0                  t        k(  s|j0                  t        k(  rt        }!n|j0                  t.        cxk(  r|j0                  k(  rn n|j2                  s|j2                  ft%        |j2                        dk(  sJ t%        |j2                        dk(  sJ t5        t>        |j2                  d   |j2                  d         }"t9        |"      g|!_        n|j0                  t:        cxk(  r|j0                  k(  rn nt:        |!_        |j2                  |j2                  t%        |j2                        dk(  sJ t%        |j2                        dk(  sJ t5        t>        |j2                  d   |j2                  d         }"|j2                  d   j<                  }#|j2                  d   j<                  }$|#|$k(  rt9        |"|#z         g|!_        n	  ||!       |rt	        d$|| j                         nd%|cxk  rd&k  rn n ||t@        |       n}|d'k(  rnv|d(k(  r |t        tB        d tD        d             nS|d)k(  r|d*k  r tG        ||
dz   | jH                  d+      \  }%}&ntK        ||
dz   d+      \  }%}&|&|
z
  }|rt	        d,||%fz  | j                         d-|%jM                  d-d.      z   d-z   }' |t        tN        |%tD        |'             n|d/k(  r|dk\  sJ t#        d0      |d1k(  rtQ        d2||
dz   |
d3z          \  }(})tR        jU                  |(d4      }*|(d3k(  r	|)dz  d5z   }na|(dk(  rZd3}|rt	        d6|| j                         t%        |      dk\  sJ |d7   }d8|j,                  z  } t        t@        d tV        |       |d7<   nd3}|r t	        d9|(|*||)fz  | j                         nd:|cxk  rd;k  rn n|d<k  sJ t#        d=      d>|cxk  rd
k  rn n|d>z
  }+g d?|+   },t        tX        t@        t@        g|+   }-tQ        d@dA|+   z   ||
dz   |
dz   |,z          \  }.|+dk(  rt[        |.      }.t]        |.      }'n+|+dk(  rt]        |.      }'n|+dk(  rdB|.   }'nd-t^        |.   z   d-z   }' |t        |-|.tD        |'             nt#        dC|z        |dk  rt#        dD|z        |
|z  }
G|dk(  r
 ||       n|dk(  rdta        |dEk\        z   },tQ        d@dF|,   z   ||
dz   |
dz   |,z          d   }/tb        jU                  |/d       }0|0s$t	        dG|/z  | j                          ||       n |0d d \  }1}2|rt	        dH|/|1|2fz  | j                         t%        |      |2k\  sJ |2r/td        j)                  dI ||2 d  D              }3|1d|3d} ||2 d = n|1dJz   } t        t        d tV        |       }! ||!       n|dk(  r#dta        |dEk\        z   },tQ        dKdF|,   z   ||
dz   |
dz   |,z          \  }2}/tg        |2dL      \  }4}2tg        |/dM      \  }5}/|rt	        dN|/|2|5|4fz  | j                         tb        jU                  |/d       }0|0s$t	        dO|/z  | j                          ||       n|0d d \  }1}6}7|rt	        dP|1|6|7fz  | j                         |6|2cxk  r|7k  sJ  J t%        |      |2k\  sJ t%        |      |2k\  sJ td        j)                  dQ ||2 d  D              }3|1d|3d} t        t        d tV        |       }!|/dk(  r/||2    }8|8j0                  t@        tX        fvr0|r|8j0                  t        k7  rt	        dR| j                         n}|8j2                  dSvr)|rl|8j2                  _t	        dT| j                         nF|2dk(  r |8j2                  stX        dc|!_        |!_        nk|2 dz   ta        |8j2                        z
  }9||9   }:|:j0                  tB        k(  rt@        dc|!_        |!_        n#|:j0                  |:j2                  c|!_        |!_        |rt	        dU| j                         n|/dVk(  r||2    }8|8j0                  t@        k(  r~d|8j2                  cxk  r|2k  rin nf||2 ta        |8j2                        z      }:|:j0                  tB        k(  rt@        dc|!_        |!_        n#|:j0                  |:j2                  c|!_        |!_        ||2 d =  ||!       	nj|dk(  rtQ        dW||
dz   |
dz          d   dz
  };|rt	        dX|;z  | j                         | jh                  |;   }<|<jj                  stm        | |<|;||dz          |<jn                  s|<jp                  s|<jr                  rm|r|<ju                  | j                  dYdZ[       t        t        d       }!|xs( |<jn                  xs |<jp                  xs |<jr                  }|xs |<jv                  }n<t%        |<jx                        dk(  sJ t{        j|                  |<jx                  d         }!tD        |!_        |<j~                  d7k(  r|<j
                  |!_        n-| j                  |<j~                     d\|<j
                  |!_        |r+t	        d]t        |!j,                        | j                          ||!       n|d3k(  rt        ||
dz   ||      }!|rt	        d^|!| j                         |!\  }=}>}?}@dx}A}Bd}|A|Bdz   |=|=dz   |>|>dz   f}"|rt	        d_|"| j                         t        t        d       }!|dk(  r%dd|?|?@|@f}Ct        t:        t9        |"|Cz         g      }! ||!       n|dk(  rt        ||
dz   ||      \  }D}E|rt	        d^DE| j                         D\  }F}G}H}IE\  }J}K}L}Mdx}A}Bd}|A|Bdz   |F|Jdz   |G|Kdz   f}"|rt	        d_|"| j                         t        t        d       }!|dk(  r%ddHLIMf}Ct        t:        t9        |"|Cz         g      }! ||!       n@|d5k(  r |||       n0|d`k(  r7tQ        dW||
dz   |
dz          d   },|rt	        da|,z  | j                         n|dbk(  r |||       n|dck(  r |||       n|d:k(  rm|dk\  r:t        ||
dz   ||      }!tQ        dW||
dz   |
dz          d   }Nt        | |N|      \  }A}BnXt        ||
dz   ||      }!tQ        dd||
dz   |
dz          \  }O}P}Q|rt	        deOPQ| j                         t        | OPQ|      \  }A}B|!\  }=}>}?}@|?xs @}R|xs R}ABdz   |=|=dz   |>|>dz   f}"||Ad7k  z  }|rt	        d_|"| j                         t        t        d       }!Rr5dd|?|?@|@f}Ct9        |"|Cz         }St:        |!_        t        | |Sdf      |!_        n't9        |"      }St.        |!_        t        | |S      |!_        tD        |!_        |dk(  rSg|!_         ||!       na|d;k(  r|dk\  r=t        ||
dz   ||      \  }D}EtQ        dW||
dz   |
dz          d   }Nt        | |N|      \  }A}Bn[t        ||
dz   ||      \  }D}EtQ        dd||
dz   |
dz          \  }O}P}Q|rt	        dgOPQ| j                         t        | OPQ|      \  }A}B|Ad7k  z  }D\  }F}G}H}IE\  }J}K}L}M|Hxs
 Ixs Lxs M}R|xs R}ABdz   FJdz   GKdz   f}"|rt	        d_|"| j                         t        t        d       }!Rr5ddHLIMf}Ct9        |"|Cz         }St:        |!_        t        | |Sdf      |!_        n't9        |"      }St.        |!_        t        | |S      |!_        tD        |!_        |dk(  rSg|!_         ||!       n|d1k(  rd}Tt        t        d       }!|dk\  r tQ        dh||
dz   |
dz          \  }N};|;dz  };|N}Un8tQ        di||
dz   |
dcz          \  }N};|;dz  };|N}U|NdkD  rNdz  }NnNdk  rN dz
  }Nnd}T|rt	        djUN|;Tfz  | j                         |;|k(  r|rt	        dk| j                         dx}T}Ts@|dk\  rt        | N|      \  }A}Bn*UdkD  rdl\  }A}Bn| j                  N   }V|Vd3k(  rdm\  }A}Bndn\  }A}BTsAd7k  rdo|;Ufz  } t        t        d tD        |       }!n| jh                  |;   }<|<jj                  stm        | |<|;||dz          |<jn                  s|<jp                  s|<jr                  rm|r|<ju                  | j                  dpdq[       t        t        d       }!|xs( |<jn                  xs |<jp                  xs |<jr                  }|xs |<jv                  }n<t%        |<jx                        dk(  sJ t{        j|                  |<jx                  d         }!tD        |!_        |<j~                  d7k(  r|<j
                  |!_        n-| j                  |<j~                     d\|<j
                  |!_        |r+t	        drt        |!j,                        | j                          ||!       n1|t        v rd} ||       n|rt	        ds|z   | j                         d}|dk  rt#        dt      |
|z  }
d|
cxk  r|k  rn |  }|rWt        | j                  du||  ||       t%        |      dk\  rt	        dv| j                         t	        | j                         ||_<        t%        |      dk7  rd |_K        n
|d   |_K        ||_;        ||_9        ||_L        d|_5        y )wNr   z1::: evaluate_name_formula %r %r %d %d %r level=%dr\  r   foutz-Excessive indirect references in NAME formulac                    t        |      dk\  sJ |j                         }|j                         }t        |    \  }}}}}dj                  dd |j                  |k   |j
                  dd |j                  |k   |dd |j                  |k   |j
                  dd |j                  |k   g      }	t        |d ||	      }
	 ||j                     }||j                     }|j                  |j                  |j                  |
       y  ||j                        } ||j                        } |||      }|t        k(  r|rdnd}||
_
        |j                  |
       y # t        $ r |j                  |
       Y y w xY w)Nr%   ry   (r  r   r   )rk  popbinop_rulesjoinr  r  r#   r  KeyErrorappendr  r   )opcdstkbopaopargdictresult_kindr-  r  symotextresopbconvaconvbvalavalresults                   r0  do_binopz'evaluate_name_formula.<locals>.do_binop  sn   3x1}ggiggi0;D0A-dD# D!HH D! D!HH D!
  T47	CHH%ECHH%E 99		 1JJuSYYSYYdD!% QaF

5  	JJu	s   ;E E54E5c           	      F   t        |      dk\  sJ |j                         }|j                  }t        |    \  }}}}dj	                  |dd |j
                  |k   |j                  dd |j
                  |k   |g      }	| ||      }|j                  t        ||||	             y Nr   ry   r  r  )	rk  r  r  
unop_rulesr  r  r  r  r#   )
opcoder  r  r  valr-  r  sym1sym2r  s
             r0  
do_unaryopz)evaluate_name_formula.<locals>.do_unaryop'  s    3x1}ggiii!+F!3dD$ D!HH D!
  ?s)C

7;T59:r9  c                 &    d| |fz  }t        |      )Nz1ERROR *** Token 0x%02x (%s) found in NAME formula)r  )op_arg	oname_argmsgs      r0  not_in_name_formulaz2evaluate_name_formula.<locals>.not_in_name_formula7  s    A#$3r9  r   `   r8   r)   9Pos:%d Op:0x%02x Name:t%s Sz:%d opcode:%02xh optype:%02xhStack =r:   9ERROR *** Unexpected token 0x%02x ("%s"); biff_version=%dr%   r7   r   r/   
tIsect pre rH   ry   r  r  tIsect postr(   	tList prer<   
tList postr0   
tRange pre:tRange postrA   rC   rB   r   r   rG   lenlen   sz=%d strg=%r"""r   tExtended token not implementedr@   <BHr&   ??Unknown??r   tAttrSumr9   SUM(%s))   subop=%02xh subname=t%s sz=%d nc=%02xhr   r   rF   )tSheet & tEndsheet tokens not implementedr   r   r   r%   r'   r  BBHdr   r   Unhandled opcode: 0x%02xSize not set for opcode 0x%02xrE    BH#*** formula/tFunc unknown FuncID:%d    FuncID=%d name=%s nargs=%dc              3   4   K   | ]  }|j                     y wr*  r  r,  args     r0  r1  z(evaluate_name_formula.<locals>.<genexpr>$       *N388*N   ()<BrC  r<  (   FuncID=%d nargs=%d macro=%d prompt=%d&*** formula/tFuncVar unknown FuncID:%d!    name: %r, min~max args: %d~%dc              3   4   K   | ]  }|j                     y wr*  r  r  s     r0  r1  z(evaluate_name_formula.<locals>.<genexpr>@       &JCsxx&Jr  zIF testarg kind?)r   r   zIF testarg value?z$$$$$$ IF => constantr  <H   tgtnamex=%dz!!! tgtobj has problems!!!z-----------       --------)headerfooter!    tName: setting text to     r=     %d bytes of cell ref formular   r   <hxxxxxxxxhhtRef3d)r1c1tArea3drM  <hxxxxxxxxH+   origrefx=%d refx=%d tgtnamex=%d dodgy=%dz!!!! Self-referential !!!!r`  rb  fr/  $<<Name #%d in external(?) file #%d>>z!!! bad tgtobj !!!z------------------    tNameX: setting text toFORMULA: /// Not handled yet: t!Fatal: token size is not positivez8End of formula. level=%d any_rel=%d any_err=%d stack=%r
*** Stack has unprocessed args)MSTACK_ALARM_LEVELraw_formulabasic_formula_lenbiff_versionrj  namerl  r	   STACK_PANIC_LEVELr   szdictr#   r   r   r  	BYTES_ORDonamesr  rk  r  r  r  r  r   r  r  r8  tIsectFuncsr$   r   r  tRangeFuncsr   r;   	LEAF_RANKr
   encodingr   replacer   r   
tAttrNamesr  	FUNC_RANKr   floatr  r   int	func_defslistsepdivmodname_obj_list	evaluatedr   macrobinaryany_errdumpany_relstackcopydeepcopyscope_sheet_namesreprrR  rZ  rz  r~  r   r   _externsheet_type_b57error_opcodesfprintfr  any_external)Wrp  nobjnamexrr  levelrO  fmlalenrQ  rB  sztabrP  rQ  rP  rN  rZ  unk_opnd
error_opndspushr  r  r  opr  optypeopxonameszr  r  r  r  r  r  resr4  relfarelfbstrgnewposr  subopncsubnameinxnbr  r  funcx
func_attrs	func_namenargsargtextpromptrL  minargsmaxargstestargresposchosentgtnamextgtobjrG  rH  rE  rF  shx1shx2r  rX  rY  rowx1colx1row_rel1col_rel1rowx2colx2row_rel2col_rel2rq  r}  raw_shx1raw_shx2is_relref3ddodgyorigrefxextysW                                                                                          r0  r   r     s     D$$G	BHAdii"dE:;AC	MdAwRZZ8  GHH2JE
CEGGLtT"Ht$JLLE@;  
 !|

s
W
tCy!dt)!2+CCs3ZME2vv67=?ZZI)U48Mub/"Cs##v%%#B.'4' '4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!  dm 88t#sxx4'7#CHXX%T)9 XX11yy,1F"399~22"399~22!-'1syy|"E%*6]O	XX11#CHyy,1F"399~22"399~22!-'1syy|"E #		! 5 5 #		! 5 5 E>).v~)>(?CIc
}e"**E4{E

C5zQ&iikiik(D)HH(D)(D)HH(D)!  dD$688t#sxx4'7#CHXX$-#((tTl2J#CHxx4'388t+;#'yy,1F"399~22"399~22$'II		$9	c
|UD4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!  dD$688t#sxx4'7CXX11yy,1F"399~22"399~22!-'1syy|"E%*6]O	XX11#CHyy,1F"399~22"399~22!-'1syy|"E #		! 5 5 #		! 5 5 E>).v~)>(?CIc
}e"**E'4'64/44geT9b9:48#;(,c!eR[[$LLD& $=(,c!eA$?LD&c\1RJ>RZZPT\\#t44s:geT9d;<4Rx"#DEE4"5$s1uSU*;<	r$..>D=a!Bd]BU:u2::Fu:?*)C%0E 'dIu EE"IBE '2r239;E'4'Bw"#NOO'4'tm!#&eT405fSk 14Ac!eBh3GH!8!%LEu:DAXu:DAX,U3D 4U ;;cADgdE9d;<"#=#FGGQw"#Cf#LMM2ICT>(Ot^Sr]"B3r?DQs1uRx,@A!DE"ud3J;$&JJ0h#-bq> 	5:"Iu56<>JJH5zU**%ll*NueVW~*NNG(17;Eufg%,EdD)U;c
t^Sr]"B!$r"2DQs1uRx4HILE5"5#.MFE!%/LE5@uf56<>JJH"ud3J>$&JJ0h.8!n+	7G=$gw78>@jjJ%2722225zU**5zU**!,,&J5%>&JJ$-w7dD)U;A:#UFmG||D%=8GLLD$8!"42::F f4GMM$=!"5BJJG A:gmm27/CHci&+VaZ#gmm2D%DF%*6]F%{{e36:A 3#)6<kk6<< 3#)!"9

Kc\#UFmG||t+55%*E6C4F+F%GF%{{e36:A 3#)6<kk6<< 3#)5&'Nc
t^dDQs1u$56q9A=HU+h6RZZH%%h/F##%b&(D%'J||v}}KK

;;   
 dD)!TV\\TV]]Tfnn!3V^^6<<(A--mmFLLO4 CH||r!!;; !oofll;V[[J2DNT#Jt^c!eR:CU42::6+.(D$OD4GDFD$q&$Q?FU5&rzz:$%C{q'7GWEdU6H+<%=$>?#Jt^,T3q5"hGJD$U4t"**=/3,E5(H/3,E5(HOD4GDFE57E57CFU5&rzz:$%C{q(HhIdU6H+<%=$>?#Jt^E*t^d3q5Q/03BU;b@rzzRt^E* t^E*
 t^Rx#D#a%X>dDQs1u$56q98T4H
d#D#b&"h?28cRSeTWXZTZI[2\/Xx(K8"**U< "K8TK
d+.(D$'F'GDFD$q&$Q?Ftby GU5&rzz:$%Cq'7GWEfx/0)"e!<f&r51 CH{"G	#Jt^Rx0s1ub(K
ddDQs1u$56q98T4H
d0s2vr8L
d28cRSeTWXZTZI[2\/Xx)[(H2::V< "K8TK
dtby G/3,E5(H/3,E5(HAAXAF'GDFE57E57CFU5&rzz:$%Cq(HhIfx/0)"e!<f&r51 CH{"G	#Jt^E$%CRx!'tCE#a%/@!AhA!'tCE#b&7I!JhA!8AIDAX 519DECx78>@jjJ5 ;"**M"##8!<Rt!LJD$\!)JD$33D9Dqy%-
d%1
dr	>#X./dD)U;))(3'')"fheAgN<<6==FNNJJ#7#7 $ 
 "$-C%XXX&..G%7Gv||,11--Q8C$<<2%%{{CH #%//&,,"? NCH7chhbjjY#J}$G*7%?bjjQG7BCCr	} s
W
~ +oG

W7{?GU	4u:?2D2::DJ
5zQAhDLDL$DDNr9  c	                 )    |t         kD  rd}t        t        t        t        fv }	|}
 j
                  }|r:t        d||||	|
|fz   j                         t        |
d| j                         |t        kD  rt        d      t        |   }d}g }d}d}t        t        d       }t        t        d       }|j                  }d }d } fd	}|dk(  r|g}d|cxk  r|k  r]n nYt!        |
|         }|d
z  }|dz  dz	  }|r|dz   }n|}t"        |   }||   }|r8t        d||||||fz   j                         t        d| j                         |dk(  rd|||fz  }t%        |      t'        |d      z  r	 |||       |s|dk  rf|dk\  rd}nd}|dk(  r||k(  r|rJ t)        ||
      \  }} d|| fz  }! |t        t        d t*        |!             t,        t.        z  z  sP |||       nEd|cxk  rdk  rn n |||       n,|dk(  r|rt        d| j                         t1        |      dk\  sJ |j3                         }"|j3                         }#d}$d}%dj5                  dd |#j6                  |%k   |#j8                  dd |#j6                  |%k   |$dd |"j6                  |%k   |"j8                  dd |"j6                  |%k   g      }&t        t:              }'|&|'_        |"j<                  t        k(  s|#j<                  t        k(  rt        |'_        n|"j<                  t        k(  s|#j<                  t        k(  rnZ|"j<                  t:        cxk(  r|#j<                  k(  rn nn3|"j<                  t>        cxk(  r|#j<                  k(  rn nt>        |'_        n	  ||'       |rt        d | j                         n~|d!k(  r|rt        d"| j                         t1        |      dk\  sJ |j3                         }"|j3                         }#d#}$d}%dj5                  dd |#j6                  |%k   |#j8                  dd |#j6                  |%k   |$dd |"j6                  |%k   |"j8                  dd |"j6                  |%k   g      }&t        t:        d |%|&      }'|"j<                  t        k(  s|#j<                  t        k(  rt        |'_        nn|"j<                  t:        t>        fv rU|#j<                  t:        t>        fv r=t:        |'_        |#j<                  t>        k(  s|"j<                  t>        k(  rt>        |'_        n	  ||'       |rt        d$| j                         n|d%k(  rF|rt        d&| j                         t1        |      dk\  sJ |j3                         }"|j3                         }#d'}$d}%dj5                  dd |#j6                  |%k   |#j8                  dd |#j6                  |%k   |$dd |"j6                  |%k   |"j8                  dd |"j6                  |%k   g      }&t        t:        d |%|&      }'|"j<                  t        k(  s|#j<                  t        k(  rt        }'n(|"j<                  t:        cxk(  r|#j<                  k(  rn nn	  ||'       |rt        d(| j                         nd)|cxk  rd*k  rn n ||t@        |       n}|d+k(  rnv|d,k(  r |t        tB        d t*        d             nS|d-k(  r|d.k  r tE        |
|dz    jF                  d/      \  }(})ntI        |
|dz   d/      \  }(})|)|z
  }|rt        d0||(fz   j                         d1|(jK                  d1d2      z   d1z   }! |t        tL        d t*        |!             n|d3k(  r|dk\  sJ t%        d4      |d5k(  rt)        d6|
|dz   |d7z          \  }*}+tN        jQ                  |*d8      },|*d7k(  r	|+dz  d9z   }na|*d!k(  rZd7}|rt        d:| j                         t1        |      dk\  sJ |d;   }#d<|#j8                  z  }&t        t@        d tR        |&      |d;<   nd7}|r t        d=|*|,||+fz   j                         nd>|cxk  rd?k  rn n|d@k  sJ t%        dA      dB|cxk  rd
k  rn n|dBz
  }-g dC|-   }.t        tT        t@        t@        g|-   }/t)        dDdE|-   z   |
|dz   |dz   |.z          \  }0|-dk(  rtW        |0      }0tY        |0      }!n+|-dk(  rtY        |0      }!n|-dk(  rdF|0   }!nd1tZ        |0   z   d1z   }! |t        |/d t*        |!             nt%        dG|z        |dk  rt%        dH|z        ||z  }z|dk(  r
 ||       
n|dk(  rdt]        |dIk\        z   }.t)        dDdJ|.   z   |
|dz   |dz   |.z          d   }1t^        jQ                  |1d       }2|2s$t        dK|1z   j                          ||       
nI|2d d \  }3}4|rt        dL|1|3|4fz   j                         t1        |      |4k\  sJ |4r/t`        j5                  dM ||4 d  D              }5|3d|5d}&||4 d = n|3dNz   }&t        t        d tR        |&      }' ||'       	n|dk(  rZdt]        |dIk\        z   }.t)        dOdJ|.   z   |
|dz   |dz   |.z          \  }4}1tc        |4dP      \  }6}4tc        |1dQ      \  }7}1|rt        dR|1|4|7|6fz   j                         |1dSk(  rdT}2nt^        jQ                  |1d       }2|2s$t        dU|1z   j                          ||       	n|2d d \  }3}8}9|rt        dV|3|8|9fz   j                         |8|4cxk  r|9k  sJ  J t1        |      |4k\  sJ t1        |      |4k\  sJ t`        j5                  dW ||4 d  D              }5|3d|5d}&t        t        d tR        |&      }'||4 d =  ||'       n\|dk(  rt)        dX|
|dz   |dz          d   dz
  }:|rt        dY|:z   j                          jd                  |:   };|;jf                  d;k(  r|;jh                  }&n( jj                  |;jf                     dZ|;jh                  }&|r!t        d[tm        |&       j                         t        t        d t*        |&      }' ||'       n|d7k(  rvto        |
|dz   ||	||      }'|rt        d\|' j                         |'\  }} }<}=|<xs |=}>|>rt>        }?nt:        }?tq        || |<|=|||      }&t        |?d t*        |&      }' ||'       n|dk(  rts        |
|dz   ||	||      \  }@}A|rt        d\@A j                         @\  }B}C}D}EA\  }F}G}H}I|B|Fdz   |C|Gdz   f}J|D|H|E|If}Ktu        |K      rt>        }?nt:        }?|rt        d]JK j                         tw        JK|||      }&t        |?d t*        |&      }' ||'       n[|d9k(  rty        ||       nH|d^k(  r7t)        dX|
|dz   |dz          d   }.|r(t        d_|.z   j                         n|d`k(  rxto        |
|dz   ||	||      }'d}|rt        d]|' j                         |'\  }} }<}=|<xs |=}>|>rt>        }?nt:        }?tq        || |<|=|||      }&t        |?d t*        |&      }' ||'       n|dak(  rts        |
|dz   ||	||      \  }@}A|rt        d\@A j                         @\  }B}C}D}EA\  }F}G}H}I|B|Fdz   |C|Gdz   f}J|D|H|E|If}Ktu        |K      rt>        }?nt:        }?|rt        d]JK j                         tw        JK|||      }&t        |?d t*        |&      }' ||'       n|d>k(  rl|dk\  r<to        |
|dz   ||	||      }'t)        dX|
|dz   |dz          d   }Lt{         |L|      \  }M}NnZto        |
|dz   ||	||      }'t)        db|
|dz   |dz          \  }O}P}Q|rt        dcOPQ j                         t}         OPQ|      \  }M}N|'\  }} }<}=|<xs |=}>|xs |>}MNdz   ||dz   | | dz   f}J||Md;k  z  }|rt        d]J j                         t        t        d       }'|>r6dd|<|<|=|=f}Kt        J|Kz         }Rt>        |'_        t         |R|||      |'_        n't        J      }Rt:        |'_        t         |R      |'_        t*        |'_        d |'_B         ||'       ni|d?k(  rv|dk\  r=ts        |
|dz   ||	      \  }@}At)        dX|
|dz   |dz          d   }Lt{         |L|      \  }M}Nn[ts        |
|dz   ||	      \  }@}At)        db|
|dz   |dz          \  }O}P}Q|rt        ddOPQ j                         t}         OPQ|      \  }M}N|Md;k  z  }@\  }B}C}D}EA\  }F}G}H}I|Dxs
 Exs Hxs I}>|xs |>}MNdz   BFdz   CGdz   f}J|rt        d]J j                         t        t        d       }'|>r6ddDHEIf}Kt        J|Kz         }Rt>        |'_        t         |R|||      |'_        n't        J      }Rt:        |'_        t         |R      |'_        t*        |'_         ||'       n|d5k(  rd}St        t        d       }'|dk\  r t)        de|
|dz   |dz          \  }L}:|:dz  }:|L}Tn8t)        df|
|dz   |daz          \  }L}:|:dz  }:|L}T|LdkD  rLdz  }LnLdk  rL dz
  }Lnd}S|rt        dgTL|:Sfz   j                         Ss@|dk\  rt{         L|      \  }M}Nn*TdkD  rdh\  }M}Nn j                  L   }U|Ud7k(  rdi\  }M}Nndj\  }M}Nt        }?d }VMdkk(  r.tL        }? j                  |:   }Vd1|VjK                  d1d2      z   d1z   }&nSsMd;k  rdl|:Tfz  }&n jd                  |:   };|;jf                  d;k(  r|;jh                  }&n( jj                  |;jf                     dZ|;jh                  }&|r+t        dmtm        |'j8                         j                         t        |?Vt*        |&      }' ||'       n1|t        v rd} ||       n|rt        dn|z    j                         d}|dk  rt%        do      ||z  }d|cxk  r|k  rWn |  }|r[t        dp||  ||fz   j                         t1        |      dk\  rt        dq j                         t         j                         t1        |      dk7  rd }W|WS |d   j8                  }WWS )rNr   zR::: decompile_formula len=%d fmlatype=%r browx=%r bcolx=%r reldelta=%d %r level=%dr\  r   r  z(Excessive indirect references in formulac                    t        |      dk\  sJ |j                         }|j                         }t        |    \  }}}}}dj                  dd |j                  |k   |j
                  dd |j                  |k   |dd |j                  |k   |j
                  dd |j                  |k   g      }	t        |d ||	      }
|j                  |
       y )Nr%   ry   r  r  )rk  r  r  r  r  r  r#   r  )r  r  r  r  r  r  r-  r  r  r  r  s              r0  r  z#decompile_formula.<locals>.do_binopg  s    3x1}ggiggi0;D0A-dD# D!HH D! D!HH D!
  T47

5r9  c           	         t        |      dk\  sJ |j                         }t        |    \  }}}}dj                  |dd |j                  |k   |j
                  dd |j                  |k   |g      }|j                  t        |d ||             y r  )rk  r  r  r  r  r  r  r#   )	r  r  r  r  r-  r  r  r  r  s	            r0  r  z%decompile_formula.<locals>.do_unaryopx  s    3x1}ggi!+F!3dD$ D!HH D!
  	

7;dE:;r9  c                 R    d| |t            fz  }t        |j                         y )Nz?ERROR *** Unexpected token 0x%02x (%s) found in formula type %sr\  )FMLA_TYPEDESCR_MAPrj  rl  )r  r  r  rp  fmlatypes      r0  unexpected_opcodez,decompile_formula.<locals>.unexpected_opcode  s,    O$6x$@ABc

#r9  r   r  r8   r)   z;Pos:%d Op:0x%02x opname:t%s Sz:%d opcode:%02xh optype:%02xhr  r:   r  rD   z<x2Hz<xHBzSHARED FMLA at rowx=%d colx=%dr7   r   r/   r  r%   r  rH   ry   r  r  r  r(   r  r<   r  r0   r  r  r  rA   rC   rB   r   r   rG   r  r   r  r  r   r  r@   r  r&   r  r   r  r9   r  r  r   r   rF   r	  r   r
  r  r  r  r  r  rE   r  r  r  c              3   4   K   | ]  }|j                     y wr*  r  r  s     r0  r1  z$decompile_formula.<locals>.<genexpr>[  r  r  r  r  rC  r<  r  r;  )
CALL_ADDINr   rD   r  r  c              3   4   K   | ]  }|j                     y wr*  r  r  s     r0  r1  z$decompile_formula.<locals>.<genexpr>{  r  r  r  r   r#  r$  r%  r&  r=   r'  r   r   r(  r)  r+  rM  r,  r-  r`  rb  r.  r_  r0  r1  r2  r3  z7End of formula. level=%d any_rel=%d any_err=%d stack=%rr4  )Fr5  r   r"   r    r!   r8  rj  rl  r	   r:  r   r;  r#   r   r   r  r<  r=  r  _TOKEN_NOT_ALLOWEDr   r@  r   r   rk  r  r  r  r  r   r  r   r   r;   r
   rA  r   rB  r   rC  r  rD  r   rE  r  r   rF  rG  rH  rI  rJ  rT  r9  rU  rV  rR  cellnamerelrZ  sumrangename2drelr  rz  r~  r$   r   r   r  rW  addin_func_namesrX  )Xrp  fmlar^  r  rC  rD  rr  r]  r*  rB  rO  rQ  r_  rP  rQ  rP  rN  r`  ra  rb  r  r  r  rc  r  rd  re  rf  rg  r  fmtrG  rH  r  r  r  r  r  r  rh  rk  rl  rm  rn  ro  rp  rq  r  r  rr  rs  rt  ru  rv  rw  rL  rx  ry  r}  r~  rE  rF  r  okindrX  rY  r  r  r  r  r  r  r  r  r4  r  rq  r  r  r}  r  r  r  r  r  r  ovaluer  sX   `  `                                                                                    r0  r   r   P  s9      ,n>PRdeeHD	Bb%$FGMOZZ	YdAwRZZ8  BCC2JE
CEGGtT"Ht$JLLE"<$ !|

s
W
tCy!dt)!2+CCs3ZOE2vv67=?ZZI)U48Mub/"Cs##c1%0b%(~8 C CaxGrM%?#C.
d74,FgdD)T:;>O#CD%b%0'4' '4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!  dm 88t#sxx4'7#CHXX%T)9 XX11XX11#CHc
}e"**E4{E

C5zQ&iikiik(D)HH(D)(D)HH(D)!  dD$688t#sxx4'7#CHXX$-#((tTl2J#CHxx4'388t+;#'c
|UD4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!  dD$688t#sxx4'7CXX11c
}e"**E'4'64/44geT9b9:48#;(,c!eR[[$LLD& $=(,c!eA$?LD&c\1RJ>RZZPT\\#t44s:geT9d;<4Rx"#DEE4"5$s1uSU*;<	r$..>D=a!Bd]BU:u2::Fu:?*)C%0E 'dIu EE"IBE '2r239;E'4'Bw"#NOO'4'tm!#&eT405fSk 14Ac!eBh3GH!8!%LEu:DAXu:DAX,U3D 4U ;;cADgdD)T:;"#=#FGGQw"#Cf#LMM2ICT>(Ot^Sr]"B3r?DQs1uRx,@A!DE"ud3J;eC"**Uh#-bq> 	5:"Iu56<>JJH5zU**%ll*NueVW~*NNG(17;Eufg%,EdD)U;c
t^Sr]"B!$r"2DQs1uRx4HILE5"5#.MFE!%/LE5@uf56<>JJH |2
&]]5$7
>$&JJ0h.8!n+	7G=$gw78>@jjJ%2722225zU**5zU**!,,&J5%>&JJ$-w7dD)U;5&'Nc
t^dDQs1u$56q9A=HU+h6RZZH%%h/F||r!#%??6<<#@&++N2DKbjjQ$i7C#Jt^c!eR5%HCU42::6+.(D$'FdGWeUDQE%y%8C#Jt^, #a%XueEJD$U4t"**=/3,E5(H/3,E5(HU1WeU1W5F (Hh?H8}U5&(D"68UE4HE%y%8C#Jt^E*t^d3q5Q/03BU;b@rzzRt^c!eR5%HCGU5#BJJ7+.(D$'FdGWeUDQE%y%8C#Jt^
 - #a%XueEJD$U4t"**=/3,E5(H/3,E5(HU1WeU1W5F (Hh?H8}U5&(D"68UE4HE%y%8C#Jt^Rx#D#a%XueLdDQs1u$56q98T4H
d#D#b&"huM28cRSeTWXZTZI[2\/Xx(K8"**U< "K8TK
d+.(D$'F'GDFD$q&$Q?Ftby GU5&rzz:$%Cq'7GWEfx/0)"eUE4Hf&r51 CHCI#Jt^Rx0s1ub(K
ddDQs1u$56q98T4H
d0s2vr8L
d28cRSeTWXZTZI[2\/Xx)[(H2::V< "K8TK
dtby G/3,E5(H/3,E5(HAAXAF'GDFE57E57CFU5&rzz:$%Cq(HhIfx/0)"eUE4Hf&r51 CH#Jt^E$%CRx!'tCE#a%/@!AhA!'tCE#b&7I!JhA!8AIDAX 519DECx78>@jjJ
 8!<Rt!LJD$\!)JD$33D9Dqy%-
d%1
dEFrz,,X6fnnS$77#=$)>#X./ ))(3<<2%"KKE  "v||<fkkKE7chhbjjY%E:C#J}$G*7%?bjjQG7BCCr	A s
W
B +oGGGOWe45;=::	Gu:?2D2::
5zQ M qMr9  c           	      `   |r<t        d||t        |      | j                         t        |d|| j                         |dk\  sJ t        |   }d}g }	d}
d}|	j
                  }d|cxk  r|k  rxn ntt        ||         }|dz  }|dz  dz	  }|r|d	z   }n|}t        |   }||   }|r t        d
||||||fz  | j                         |s d|cxk  rdk  r:n n7t        d||dz   |dz          \  }}|rt        d||f| j                         n|dk(  rr|rt        d|	| j                         t        |	      dk\  sJ |	j                         }|	j                         } |||z          |rWt        d|	| j                         n=|dk(  r|rt        d|	| j                         t        |	      dk\  sJ |	j                         }|	j                         }t        |      dk(  sJ t        |      dk(  sJ t        t        |d   |d         } ||       |rt        d|	| j                         n|dk(  r|rt        d|	| j                         t        |	      dk\  sJ |	j                         }|	j                         }t        |      dk(  sJ t        |      dk(  sJ t        t        |d   |d         } ||       |rt        d|	| j                         n|dk(  r_t        d||dz   |dz          \  }}t        j                  |d      }|dk(  r	|dz  dz   }nd}|rt        d||||fz  | j                         n|dk(  rb|dk  r%t        ||dz            }||dz   |dz   |z    }|dz   }nt        ||dz   d       \  }}||z
  }|r:t        d!||fz  | j                         n|dk  rt        d"| j                         y ||z  }h|dk(  rn|dk(  rNdt!        |d#k\        z   }t        d$d%|   z   ||dz   |dz   |z          }|rt        d&|z  | j                         n|dk(  rsdt!        |d#k\        z   }t        d'd%|   z   ||dz   |dz   |z          \  }}t#        |d(      \  } }t#        |d)      \  }!}|r9t        d*|||!| fz  | j                         n|d+k(  r4t        d,||dz   |d+z          }"|rt        d-|"z  | j                         n|dk(  r.t%        ||dz   ||      }#|rt        d|#| j                         n|dk(  r.t'        ||dz   ||      }#|rt        d|#| j                         nz|d.k(  r7t        d,||dz   |d+z          d   }|rZt        d/|z  | j                         n>|d0k(  r1t%        ||dz   |d1      }#d}
|r"t        d2|#| j                         n|d3k(  r1t'        ||dz   |d1      }#d}
|rt        d2|#| j                         n|d4k(  rt        d,||dz   |d+z          d   }$t%        ||d+z   ||      }#|rt        d|$|#| j                         |#\  }}}%}&|
xs |%xs |&}
t)        | |$|      \  }'}(||'d5k  z  }|'|(dz   ||dz   ||dz   f})|rt        d2|)| j                         |dk(  r/ ||)g       n$|d6k(  rt        d,||dz   |d+z          d   }$t'        ||d+z   ||      \  }*}+|rt        d|$|*|+| j                         |*\  },}-}.}/|+\  }0}1}2}3|
xs |.xs
 |/xs |2xs |3}
t)        | |$|      \  }'}(||'d5k  z  }|'|(dz   |,|0dz   |-|1dz   f})|rt        d2|)| j                         |dk(  ro ||)g       ne|dk(  r7t        d||dz   |dz          \  }$}"|rFt        d7|$|"fz  | j                         n)|t*        v rd}n|rt        d8|z   | j                         d}|dk  rt        d"| j                         y ||z  }d|cxk  r|k  rrn |rFt        d9|
  ||	fz  | j                         t        |	      dk\  rt        d:| j                         y y y );Nr   r\  r   r  rH   r   r  r8   r)   r  r   r%   rM  r%  r(   r  z
tlist postr0   r  r  r/   r  r  r@   r  r&   r  r   r  r   rG   r  r   z**** Dud size; exiting ****rE   r  r  z   FuncID=%dr  rC  r<  r  r7   r  z   namex=%dr=   r'  r   )rB  r&  r   r   r9   r   z   refx=%d namex=%dr2  z.End of formula. any_rel=%d any_err=%d stack=%rr4  )rj  rk  rl  r	   r;  r  r<  r=  r   r  r8  r?  r>  rC  r  r   rF  rI  rR  rZ  rz  rX  )4rp  rO  r^  rQ  rB  rr  isnamer_  rP  rQ  rP  rN  rb  rc  r  rd  re  rf  rg  rG  rH  r  r  r  rm  rn  ro  rk  rl  rq  rr  ru  rw  rL  r\  rh  rq  rE  rF  r  r  r4  rX  rY  r  r  r  r  r  r  r  r  s4                                                       r0  r   r   ^  s[   ngr3t92::FdAwRZZ88O2JE
CEGGLLE
s
W
tCy!dt)!2+CCs3ZME2vv67=?ZZIv%%#E4Ac!e+<=
dtdD\

C4{E

C5zQ&iikiikcCi |UD4|UD5zQ&iikiik3x1}$3x1}$%k3q63q6Bf}e"**E4|UD5zQ&iikiik3x1}$3x1}$%k3q63q6Bf}e"**E4"5$s1uSU*;<	r$..>D=a!BBJeU\^`bdMeelnlvlvw48"4A;/BAc!eBh/DaB#<T3q5QR#SLD&#B1RJ>RZZP77bjjI2ICT>t^Sr]"B3r?DQs1uRx,@AEU>E1

Ct^Sr]"B!$r"2DQs1uRx4HILE5"5#.MFE!%/LE5UEPUW\^dHeelnlvlvwt^4c!eCE!23EU=50rzzBt^c!eR:CU42::6t^%dCE2x@CU42::6t^d3q5Q/03BU;b@rzzRt^c!eR!<CGU5#BJJ7t^%dCE2BCGU5#BJJ7t^$SU3q5 1215Dc!eR:CU4s<+.(D$33GG4RtDJD$tby GDFD$q&$Q?FU5&rzz:{E6(Ot^$SU3q5 1215D,T3q5"hGJD$U4tT

C/3,E5(H/3,E5(HMMXMMXG4RtDJD$tby GDFE57E57CFU5&rzz:{E6(Ot^ SU3q5(9:KD%U0D%=@rzzR}$GU<uD2::VG7/bjjAr	U s
W
V >_gu-.46JJ	@u:?2D  r9  c                 b    |d}|s|rd| dz   z  S d| dz   z  S |r| rd| z  S yd|| z   dz  dz   z  S )	NTzR%dr   z$%dzR[%d]r   z%dr=  r+  )rG  rowxrelrC  r*  s       r0  
rownamerelr    s\    }DF##QT>!EDLE)A-..r9  c                 t    |d}|s|rd| dz   z  S dt        |       z   S |r| rd| z  S yt        || z   dz        S )NTzC%dr   $zC[%d]Cr>  r   )rH  colxrelrD  r*  s       r0  
colnamerelr    sW    }D1H%%WT]""T>!EDLC'((r9  c                 (    dt        |      | dz   fz  S )z(Utility function: ``(5, 7)`` => ``'H6'``z%s%dr   r  )rG  rH  s     r0  r   r     s    WT]DF+++r9  c                 F    |rd| dz   |dz   fz  S dt        |      | dz   fz  S )z*Utility function: ``(5, 7)`` => ``'$H$6'``zR%dC%dr   z$%s$%dr  )rG  rH  r*  s      r0  r   r   "  s5    4646***wt}d1f---r9  c                     |s|st        | ||      S |r||r|d}t        ||||      }t        | |||      }|r||z   S ||z   S )NT)r   r  r  )	rG  rH  r  r  rC  rD  r*  crs	            r0  r  r  (  s]    74t,,EMw5=4%.A4%.A1uq5Lr9  c                 T    d}| dk  r||    S t        | d      \  }}||dz
     ||   z   S )z6Utility function: ``7`` => ``'H'``, ``27`` => ``'AB'``ABCDEFGHIJKLMNOPQRSTUVWXYZr@   r   r   )rI  )rH  alphabetxdiv26xmod26s       r0  r   r   4  sA    +Hrz~b)
#hv&666r9  c                     |ry|| dz   k(  r||dz   k(  rt        | ||      S t        | ||      dt        |dz
  |dz
  |      S )z( ``(5, 20, 7, 10)`` => ``'$H$6:$J$20'`` Nr   r  )r   )rlorhiclochir*  s        r0  rangename2dr  =  sQ    
c!e|s1u3T**!#sD1;s1uc!eT3RSSr9  c                     | \  }}}}|\  }	}
}}|	s|
r|d}|s|r|d}t        |||	||||      dt        |dz
  |dz
  |
||||      S )NTr  r   )r  )rlo_rhi_clo_chirlorel_rhirel_clorel_chirelrC  rD  r*  r  r  r  r  rlorelrhirelclorelchirels                r0  r  r  E  st    (Cc3%@"FFFF&em&emC3&&%ECE3q5&&%E r9  c                 T    |j                   }t        | g|dd  dt        |dd  S )z
    Utility function:
    ``Ref3D(1, 4, 5, 20, 7, 10)`` =>
    ``'Sheet2:Sheet3!$H$6:$J$20'``
    (assuming Excel's default sheetnames)
    Nr%   r#  r   )r4  
sheetranger  )bookr  r4  s      r0  r   r   R  s8     \\F4%&!*%VAa[!# #r9  c                     |j                   }|j                  }t        | |dd |dd       }t        |dd |dd |||      }|s|S |d|S )z
    Utility function:
    ``Ref3D(coords=(0, 1, -32, -22, -13, 13), relflags=(0, 0, 1, 1, 1, 1))``

    In R1C1 mode => ``'Sheet1!R[-32]C[-13]:R[-23]C[12]'``

    In A1 mode => depends on base cell ``(browx, bcolx)``
    Nr%   r   r#  )r4  r  sheetrangerelr  )	r  r  rC  rD  r*  r4  r  shdescrngdescs	            r0  r   r   ^  sa     \\F~~H4Xbq\:FVAa[(1Q-tLGg&&r9  c                     |dk\  r| |   }ndddddj                  |d|z        }d|v rd|j                  dd	      z   dz   S d
|v rd|z   dz   S |S )Nr   z?internal; any sheet?zinternal; deleted sheetzinternal; macro sheetz<<external>>)r9   r:   rg  ra  z
?error %d?'z''r  )r  rB  )shnamesshxshnames      r0  quotedsheetnamer  o  s|    
ax ()'	

 #c<#%
& 	 f}V^^C..44
f}V|c!!Mr9  c                 x    | j                         }t        ||      }||dz
  k7  r|dt        ||dz
        z   z  }|S )Nr   r  )sheet_namesr  )r  sloshir  r  s        r0  r  r    sF     GWc*F
c!e|#Q777Mr9  c                 j    |\  }}|\  }}|s|st        | ||      S |dcxk(  r|dz
  k(  rn J |r|sJ y)Nr   r   ry   )r  )r  srange	srangerelr  r  slorelshirels          r0  r  r    sF    HCNFF&$S))1A46f4r9  )NN)r   )r   r   )NNNr   r   r   )Nr   )NNr   )ur  
__future__r   rR  operatoroprstructr   biffhr   r   r   r	   r
   r   timemachine__all__r   r   r   r    r!   r"   ALL_FMLA_TYPESr  r  r  r   r   r;   r   r   r   r   r   r   rH  sztab0sztab1sztab2sztab3sztab4r;  r=  rG  rC  setrX  minmaxr?  r>  r8  rI  rK  rR  rZ  rz  r~  	Exceptionr  objectr#   r2  r$   tAddtSubtMultDivtPowertConcatrangetLTtLEtEQtGEtGTtNEr  r  r  r  r  r  r  r  r  rE  _arith_argdict_cmp_argdict_strg_argdictaddsubmultruedivr  r  r@  rD  r5  r:  r   r   r   r  r  r   r   r  r   r  r  r   r   r  r  r  r+  r9  r0  <module>r     s;   &           	  ^+^+114FF114FF114FF114FF114FF114FF114FF_,_, #   	
							 		
  
] 
_ 
` 
a 
] 
								
 
RF	8F 	:F 	8	F
 	8F 	8F 	8F 	8F 	8F 	8F 	8F 	7F 	9F 	8F 	8F  	:!F" 	8#F$ 	8%F& 	8'F( 	8)F* 	7+F, 	8-F. 	8/F0 	81F2 	83F4 	85F6 	87F8 	89F: 	9;F< 	9=F> 	;?F@ 	9AFB 	:CFD 	8EFF 	8GFH 	7IFJ 	7KFL 	8MFN 	8OFP 	8QFR 	9SFT 	:UFV 	:WFX 	:YFZ 	:[F\ 	:]F^ 	:_F` 	8aFb 	:cFd 	9eFf 	;gFh 	;iFj 	;kFl 	;mFn 	<oFp 	<qFr 	<sFt 	<uFv 	=wFx 	:yFz 	9{F| 	7}F~ 	:F@ 	:AFB 	:CFD 	8EFF 	8GFH 	8IFJ 	9KFL 	8MFN 	8OFP 	8QFR 	7SFT 	8UFV 	8WFX 	8YFZ 	<[F\ 	:]F^ 	8_F` 	8aFb 	;cFd 	9eFf 	8gFh 	8iFj 	9kFl 	;mFn 	;oFp 	8qFr 	9sFt 	8uFv 	8wFx 	8yFz 	8{F| 	9}F~ 	9F@ 	9AFB 	8CFD 	;EFF 	;GFH 	8IFJ 	:KFL 	9MFN 	8OFP 	8QFR 	8SFT 	8UFV 	8WFX 	8YFZ 	8[F\ 	8]F^ 	:_F` 	;aFb 	<cFd 	9eFf 	8gFh 	8iFj 	8kFl 	9mFn 	=oFp 	=qFr 	8sFt 	8uFv 	8wFx 	:yFz 	8{F| 	8}F~ 	8F@ 	:AFB 	:CFD 	9EFF 	8GFH 	:IFJ 	9KFL 	:MFN 	:OFP 	;QFR 	9SFT 	9UFV 	:WFX 	8YFZ 	9[F\ 	9]F^ 	8_F` 	8aFb 	:cFd 	<eFf 	:gFh 	7iFj 	>kFl 	8mFn 	8oFp 	8qFr 	8sFt 	8uFv 	8wFx 	8yFz 	8{F| 	:}F~ 	8F@ 	<AFB 	9CFD 	8EFF 	8GFH 	8IFJ 	8KFL 	8MFN 	;OFP 	9QFR 	9SFT 	9UFV 	:WFX 	:YFZ 	8[F\ 	:]F^ 	:_F` 	:aFb 	8cFd 	8eFf 	9gFh 	;iFj 	:kFl 	9mFn 	;oFp 	:qFr 	:sFt 	:uFv 	;wFx 	8yFz 	:{F| 	8}F~ 	:F@ 	8AFB 	9CFD 	:EFF 	:GFH 	;IFJ 	9KFL 	9MFN 	9OFP 	9QFR 	9SFT 	9UFV 	:WFX 	9YFZ 	9[F\ 	9]F^ 	9_F` 	9aFb 	9cFd 	;eFf 	:gFh 	8iFj 	8kFl 	8mFn 	8oFp 	8qFr 	8sFt 	9uFv 	9wFx 	9yFz 	9{F| 	9}F~ 	9F@ 	8AFB 	9CFD 	9EFF 	8GFH 	9IFJ 	8KFL 	8MFN 	9OFP 	:QFR 	9SFT 	8UFV 	;WFX 	:YFZ 	8[F\ 	9]F^ 	9_F` 	9aFb 	9cFd 	8eFf 	8gFh 	8iFj 	8kFl 	8mFn 	8oFp 	8qFr 	8sFt 	8uFv 	8wFx 	8yFz 	8{F| 	8}F~ 	8F@ 	8AFB 
9	8	8	8	8KF	R 









 >?Cc3,Cc3,($ 59($	<$#&L BC&*	9 	Y1f Y1x?/E ?/B 	
$T40 S#sC "             .,xs+^T377R5^T377R5^T377R5^T3;;S9
^T8R6]E377R5\5'R5\5'R6\5'R5\5'R6\5'R5\5'R6  C
,C
,B
-
 		  ]	B 8<,-K\ZEH/),.
7T

#'" r9  