+
    ip                       R t ^ RIHt ^ RIt^ RIt^ RIHt ^RIH	t	H
t
HtHtHtHt ^RI5 . ROt^t^t^t^t^t^ t^?t^R^R^R^R^R^ R/t^]],
          ^]],
          ^]],           ],           ^]],           ],           ^]],           ],           ^ ]],           ],           ^#]^9]],           ],           ^:]],           ],           ^;]],           ],           ^,]],           ^-]],           /P2                  t^t^t^t^tRtRt ^t!^ t"RR
RR	^ R^R^R^R^R^R/t#Rt$. RN^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRN^N^N^N^N^N^	N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRNRNRNRNRNRN^NRNRNRNRNRNRNRNt%. RN^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRN^N^N^N^N^N^	N^	N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRNRNRNRNRNRN^NRNRNRNRNRNRNRNt&. RN^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRN^N^N^N^N^N^	N^	N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNt'. RN^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRNRNRN^N^N^N^	N^	N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRNRNRNRNRNRNRN^N^N^N^N^NRNRNt(. RN^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^N^NRNRNRNRNRN^N^N^N^	N^	N^N^N^N^N^	N^N^N^N^N^N^	N^N^	N^N^NRNRNRNRNRNRNRNRNRN^N^N^N^N^NRNRNt)^]%^]%^]&^(]'^-]'^2](^F](^P])/t*. RNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRGNRGNRGNRGNRGNRGNRGNRHNRINRJNRKNRLNRMNRGNRGNt+/ ^ Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^	Rb^
Rb^Rb^Rb^Rb^ER b^ERb^ERb/ ^ERb^ERb^ERb^ERb^ERb^ERb^ER	b^ER
b^ERb^ERb^ERb^ERb^ERb^ERb^ERb^ ERb^!ERbC/ ^"ERb^#ERb^$ERb^%ERb^&ERb^'ERb^(ERb^)ERb^*ERb^+ERb^,ERb^-ERb^.ER b^/ER!b^0ER"b^1ER#b^2ER$bC/ ^3ER%b^4ER&b^8ER'b^9ER(b^:ER)b^;ER*b^<ER+b^=ER,b^>ER-b^?ER.b^@ER/b^AER0b^BER1b^CER2b^DER3b^EER4b^FER5bC/ ^GER6b^HER7b^IER8b^JER9b^KER:b^LER;b^MER<b^NER=b^RER>b^SER?b^VER@b^\ERAb^aERBb^bERCb^cERDb^dEREb^eERFbC/ ^fERGb^iERHb^mERIb^oERJb^pERKb^qERLb^rERMb^sERNb^tEROb^uERPb^vERQb^wERRb^xERSb^yERTb^|ERUb^}ERVb^~ERWbC/ ^ERXb^ERYb^ERZb^ER[b^ER\b^ER]b^ER^b^ER_b^ER`b^ERab^ERbb^ERcb^ERdb^EReb^ERfb^ERgb^ERhbC/ ^ERib^ERjb^ERkb^ERlb^ERmb^ERnb^ERob^ERpb^ERqb^ERrb^ERsb^ERtb^ERub^ERvb^ERwb^ERxb^ERybC/ ^ERzb^ER{b^ER|b^ER}b^ER~b^ERb^ERb^ERb^ERb^ERb^ERb^ERb^ERb^ERb^ERb^ERb^ERbC/ ^ERb^ERb^ERb^ERb^ERb^ERb^ERbRNERbROERbRPERbRQERbRRERbRSERbRTERbRUERbRVERbRWERbC/ RXERbRYERbRZERbR[ERbR\ERbR]ERbR^ERbR_ERbR`ERbRaERbRbERbRcERbRdERbReERbRfERbRgERbRhERbC/ RiERbRjERbRkERbRlERbRmERbRnERbRoERbRpERbRqERbRrERbRsERbRtERbRuERbRvERbRwERbRxERbRyERbC/ RzERbR{ERbR|ERbR}ERbR~ERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbC/ RERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbC/ RERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbRERbCRERRERRERRERRER/Ct,^ R^R^R^R^R^R^ R^@R^AR/	t-].! . ERO4      t/]0]1]0]1]0]13t2]1]0]1]0]1]03t3R t4ERR lt5ERR lt6ERR lt7ERR lt8ERR lt9ERR lt: ! R R];4      t< ! R R]=4      t> ! R R]?4      t@^tA^tB^tC^tD^tE^tF]G! ^	^4      w  tHtItJtKtLtMR tNR tOR tPR tQR tRR tSR tTR tUR tV]]N]!]W/tX]]N]!]N/tY]]V]!]N/tZ]A]X]]P                  ^R3]B]X]]P                  ^R3]C]X]]P                  ^(R3]D]X]]P                  ^(R3]E]X]]O^2R3]F]Z]!]P                  ^R3]H]Y]]P^
R3]I]Y]]Q^
R3]J]Y]]R^
R3]K]Y]]S^
R3]L]Y]]T^
R3]M]Y]]U^
R3/t_^R ^FRRG3^R ^FRRG3^R ^<RGR3/t`^Zta^Ztb^tc^
tdERR lteERR ltfERR ltgERR lthERR ltiR tjERR ltkERR ltlR tmERR ltnERR ltoR tpERR ltqR trR tsR ttR# (  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OperandRef3DCELLSHAREDARRAYzCOND-FMTzDATA-VALNAMEoMSNG,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 FuncCENameXRef3dArea3dRefErr3d	AreaErr3di  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i  i   i!  i"  i#  i$  i%  i&  i'  i(  i)  i*  i+  i,  i-  i.  i/  i0  i1  i2  i3  i4  i5  i6  i7  i8  i9  i:  i;  i<  i=  i>  i?  i@  iA  iB  iC  iD  iE  iF  iG  iH  iI  iJ  iK  iL  iP  iQ  iV  iW  iX  iY  iZ  i[  i^  i_  i`  ia  ib  if  ig  ih  ii  ij  ik  il  im  in  io  ip  iq  ir  is  it  iu  iv  iw  ix  iy  iz  i{  zSkip??VolatileIfChooseSkipSumAssignSpaceSpaceVolatilec                     \         ;QJ d2    . R  \        WP                  VP                  4       4       F  NK  	  5# ! R  \        WP                  VP                  4       4       4      # )c              3   8   "   T F  w  rpV! W#4      x  K  	  R # 5iN ).0funcnumanumbs   &   U/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/xlrd/formula.py	<genexpr>do_box_funcs.<locals>.<genexpr>  s$       HD 	T H   )tuplezipcoords)	box_funcsboxaboxbs   &&&ra   do_box_funcsrk     sR    5  #I{{DKK H5 5  #I{{DKK H      c                    V^,	          ^,          pV^,	          ^,          pT pV^,          pV'       d2   V'       d   VR8  d
   VR,          pV'       d   V^8  d
   VR,          pM V'       d	   Ws,          pV'       d	   W,          pWxWV3# )            r\   	rowvalcolvalreldeltabrowxbcolxrow_relcol_relrowxcolxs	   &&&&&    ra   adjust_cell_addr_biff8r|     ss    |q G|q GDD=Dtu}EMDts{CKDMDMDw''rl   c                    V ^,	          ^,          pV ^,	          ^,          pV R,          pTpV'       d2   V'       d   VR8  d
   VR,          pV'       d   V^8  d
   VR,          pM V'       d	   Ws,          pV'       d	   W,          pWxWV3# )rn   i?  i    i @  rq   r\   rr   s	   &&&&&    ra   adjust_cell_addr_biff_le7r~     ss    |q G|q GF?DDtt|EMDts{CKDMDMDw''rl   c                     V^P8  d%   \        RWV^,            4      w  rg\        WgW4V4      # \        RWV^,            4      w  rg\        WgW4V4      # )P   <HHz<HBr   r|   r~   )dataposbvru   rv   rw   rs   rt   s   &&&&&&  ra   get_cell_addrr     sX    	RxtA7%fhuMMtA7(HU< 	<rl   c                     V^P8  d6   \        RWV^,            4      w  rgr\        WhW4V4      p
\        WyW4V4      pW3# \        RWV^,            4      w  rgr\        WhW4V4      p
\        WyW4V4      pW3# )r   z<HHHHz<HHBBr   )r   r   r   ru   rv   rw   row1valrow2valcol1valcol2valres1res2s   &&&&&&      ra   get_cell_range_addrr     s    	Rx-3GTc!e_-M*' &gO%gOz-3GTc!e_-M*' )hu>(hu>zrl   c                     V P                   V,          pTw  rEpY@P
                  8X  d>   T'       d    \        RY3,          T P                  R7       TRu;8X  d	   T8X  g   Q h Q hR# Y@P                  8w  d*   T'       d    \        RY3,          T P                  R7       R# TRu;8X  d   T8X  d-   M M)T'       d    \        RY3,          T P                  R7       R# TRu;8X  d   T8X  d-   M M)T'       d    \        RT3,          T P                  R7       R# \        T P                  4      p^ Tu;8:  d   Tu;8:  d   T8  gJ   M T'       d>   \        RY3,          T P                  R7       \        R	T,          T P                  R7       R# T P                  T,          pT P                  T,          p	^ Tu;8:  d   T	8:  g   M R# Y3#   \         d9    \        R T\        T P                   4      3,          T P                  R7       R
u # i ; i)z:!!! get_externsheet_local_range: refx=%d, not in range(%d)filez5/// get_externsheet_local_range(refx=%d) -> addins %ri  z7/// get_externsheet_local_range(refx=%d) -> external %rz@/// get_externsheet_local_range(refx=%d) -> unspecified sheet %ri  z</// get_externsheet_local_range(refx=%d) -> deleted sheet(s)z./// get_externsheet_local_range(refx=%d) -> %r%--- first/last sheet not in range(%d))r   )r   r   )r   r   )r   r   )_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
   &&&       ra   get_externsheet_local_ranger     s   ##D)
 6:2K?,,,ITLX_a_i_ij6<_<<<<<,,,KtlZacakakl64_4TX\Wccjljtjtu64_4PTXS[[bdblblm"$$%G =O=g=Bd\QXZXbXbc9GC"**U%%&67L%%o6L,,%%A  JS--./068jj	Bs   G A H
	H
c                    V^ 8  d)   V'       d   \        RV,          V P                  R7       R# VR8X  d
   VR8X  d   R# \        V P                  4      p^ Tu;8:  d   Tu;8:  d   V8  gK   M V'       d?   \        RWV3,          V P                  R7       \        RV,          V P                  R7       R# V P                  V,          pV P                  V,          p^ Tu;8:  d   V8:  g   M R	# Wg3# )
    z?/// get_externsheet_local_range_b57(raw_extshtx=%d) -> externalr   z6/// get_externsheet_local_range_b57(%d, %d, %d) -> ???r   r   r   r   )r   r   )r   r   r   r   )r   raw_extshtxr   r   r   r   r   r   s   &&&&&   ra   get_externsheet_local_range_b57r     s    QSVaahjhrhrs2/R"7"$$%G =O=g=J/BCIKU9GC"**U%%&67L%%o6L,,%%rl   c                       ] tR tRtRtR# )FormulaErrori  r\   N)__name__
__module____qualname____firstlineno____static_attributes__r\   rl   ra   r   r     s    rl   r   c                   @   a  ] tR tRt o RtRt]tRtRR lt	R t
RtV tR# )	r   i  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                F    Ve   Wn         Ve   W n        W0n        W@n        R # r[   )kindvalueranktext)selfakindavaluearankatexts   &&&&&ra   __init__Operand.__init__b  s$    IJ	 	rl   c                    \         P                  V P                  R 4      pRV: RV P                  : RV P                  : R2# )z?Unknown kind?zOperand(kind=z, value=z, text=))
okind_dictgetr   r   r   )r   	kind_texts   & ra   __repr__Operand.__repr__l  s0    NN499.>?	$**dii1 	1rl   )r   r   r   r   )NNr   r   )r   r   r   r   __doc__r   r   r   r   r   r   r   __classdictcell____classdict__s   @ra   r   r     s/     <@ E D D1 1rl   c                   0   a  ] tR tRt o RtR tR tRtV tR# )r   ir  am  
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                    VR ,          V n         VR,          V n        V P                  '       g   RV n        V P                   w  V n        V n        V n        V n        V n        V n        R# ):r      N:r      NNr   r   r   r   r   r   )rg   relflagsshtxloshtxhirowxlorowxhicolxlocolxhi)r   atuples   &&ra   r   Ref3D.__init__  sP    Skt}}}.DM %)KK	"dkT[T[rl   c                    V P                   '       d   V P                   R8X  d   RV P                  : R2# RV P                  : RV P                   : R2# )r   zRef3D(coords=r   z, relflags=r   )r   rg   )r   s   &ra   r   Ref3D.__repr__  sD    }}}1C C)-77 !D ;;/ /rl   )r   r   rg   r   r   r   r   r   N)	r   r   r   r   r   r   r   r   r   r   s   @ra   r   r   r  s     .`0/ /rl   c                     V # r[   r\   xs   &ra   nopr     s    Hrl   c                     W,          # r[   r\   r   ys   &&ra   _opr_powr     s    16Mrl   c                 
    W8  # r[   r\   r   s   &&ra   _opr_ltr         !&=rl   c                 
    W8*  # r[   r\   r   s   &&ra   _opr_ler     r   rl   c                 
    W8H  # r[   r\   r   s   &&ra   _opr_eqr     r   rl   c                 
    W8  # r[   r\   r   s   &&ra   _opr_ger     r   rl   c                 
    W8  # r[   r\   r   s   &&ra   _opr_gtr     r   rl   c                 
    W8g  # r[   r\   r   s   &&ra   _opr_ner     r   rl   c                T    \        V 4      pVP                  R4      '       d   VRR pV# )zF
Attempt to emulate Excel's default conversion from number to string.
z.0Nr   )strendswith)numss   & ra   num2strgr     s,     	CAzz$crFHrl   +-r
   /^&<z<==z>=>z<>c                     V ) # r[   r\   r   s   &ra   <lambda>r	    s    aRrl   c                     V # r[   r\   r   s   &ra   r	  r	    s    Qrl   c                     V R ,          # )g      Y@r\   r   s   &ra   r	  r	    s    QYrl   %c                 >   V\         8  d   ^pVP                  pVP                  pV P                  p^pV'       dD   \	        RW!P
                  WgWT3,          V P                  R7       \        V^ W`P                  R7       V\        8  d   \        R4      h\        V,          p	^ p
. p^ p^ p^ p\        \        R4      p\        \        R4      pVP                  pR pR pR pV^ 8X  d   V.p^ T
u;8:  d	   V8  Ed   M EM\        WZ,          4      pV^,          pV^`,          ^,	          pV'       d   V^ ,           pMTp\         V,          pV	V,          pV'       d<   \	        R	V
VVVVV3,          V P                  R7       \	        R
WP                  R7       VRQ8X  d   RVVV3,          p\#        V4      hV'       Eg   ^ Tu;8:  d   ^8:  d   M MV! VV4       EM^Tu;8:  d   ^8:  d   M MV! VV4       EMV^8X  Ed?   V'       d   \	        RWP                  R7       \%        V4      ^8  g   Q hVP'                  4       pVP'                  4       pRp^PpRP)                  RRVP*                  V8   VP,                  RRVP*                  V8   VRRVP*                  V8   VP,                  RRVP*                  V8   .4      p \        \.        4      p!V V!n        VP0                  \        8X  g   VP0                  \        8X  d   \        V!n        EMVP0                  \        8X  g   VP0                  \        8X  d   EMVP0                  \.        u;8X  d   VP0                  8X  d   M MVP2                  e   VP2                  e}   \%        VP2                  4      ^8X  g   Q h\%        VP2                  4      ^8X  g   Q h\5        \6        VP2                  ^ ,          VP2                  ^ ,          4      p"\9        V"4      .V!n        EMVP0                  \:        u;8X  d   VP0                  8X  d   M M\:        V!n        VP2                  e   VP2                  e   \%        VP2                  4      ^8X  g   Q h\%        VP2                  4      ^8X  g   Q h\5        \6        VP2                  ^ ,          VP2                  ^ ,          4      p"VP2                  ^ ,          P<                  p#VP2                  ^ ,          P<                  p$V#V$8X  d   \9        V"V#,           4      .V!n        M V! V!4       V'       d   \	        RWP                  R7       EMvV^8X  Ed!   V'       d   \	        RWP                  R7       \%        V4      ^8  g   Q hVP'                  4       pVP'                  4       pRp^PpRP)                  RRVP*                  V8   VP,                  RRVP*                  V8   VRRVP*                  V8   VP,                  RRVP*                  V8   .4      p \        \.        RVV 4      p!VP0                  \        8X  g   VP0                  \        8X  d   \        V!n        MVP0                  \.        \:        39   d   VP0                  \.        \:        39   d   \.        V!n        VP0                  \:        8X  g   VP0                  \:        8X  d   \:        V!n        VP2                  ei   VP2                  e[   \%        VP2                  4      ^8  g   Q h\%        VP2                  4      ^8X  g   Q hVP2                  VP2                  ,           V!n        M V! V!4       V'       d   \	        RWP                  R7       EMNV^8X  Ed   V'       d   \	        RWP                  R7       \%        V4      ^8  g   Q hVP'                  4       pVP'                  4       pRp^PpRP)                  RRVP*                  V8   VP,                  RRVP*                  V8   VRRVP*                  V8   VP,                  RRVP*                  V8   .4      p \        \.        RVV 4      p!VP0                  \        8X  g   VP0                  \        8X  d   \        V!n        EMVP0                  \.        u;8X  d   VP0                  8X  d   M MVP2                  e   VP2                  e}   \%        VP2                  4      ^8X  g   Q h\%        VP2                  4      ^8X  g   Q h\5        \>        VP2                  ^ ,          VP2                  ^ ,          4      p"\9        V"4      .V!n        EMVP0                  \:        u;8X  d   VP0                  8X  d   M M\:        V!n        VP2                  e   VP2                  e   \%        VP2                  4      ^8X  g   Q h\%        VP2                  4      ^8X  g   Q h\5        \>        VP2                  ^ ,          VP2                  ^ ,          4      p"VP2                  ^ ,          P<                  p#VP2                  ^ ,          P<                  p$V#V$8X  d   \9        V"V#,           4      .V!n        M V! V!4       V'       d   \	        RWP                  R7       EM8^Tu;8:  d   ^8:  d   M MV! V\@        V4       EMV^8X  d   EMV^8X  d   V! \        \B        R\D        R4      4       EMV^8X  d   V^F8:  d$   \G        WZ^,           V PH                  ^R7      w  p%p&M\K        WZ^,           ^R7      w  p%p&V&V
,
          pV'       d!   \	        RVV%3,          V P                  R7       RV%PM                  RR4      ,           R,           p'V! \        \N        V%\D        V'4      4       EM1V^8X  d   V^P8  g   Q h\#        R4      hV^8X  d   \Q        RWZ^,           V
^,            4      w  p(p)\R        PU                  V(R4      p*V(^8X  d   V)^,          ^,           pMrV(^8X  dj   ^pV'       d   \	        RWP                  R7       \%        V4      ^8  g   Q hVRR,          pR VP,                  ,          p \        \@        R\V        V 4      VRR&   M^pV'       d#   \	        R!V(V*VV)3,          V P                  R7       EM$^Tu;8:  d   ^8:  d   M MV^28  g   Q h\#        R"4      h^Tu;8:  d   ^8:  d   M MV^,
          p+. RSOV+,          p,\        \X        \@        \@        .V+,          p-\Q        R#R$V+,          ,           WZ^,           V
^,           V,,            4      w  p.V+^8X  d   \[        V.4      p.\]        V.4      p'M?V+^8X  d   \]        V.4      p'M,V+^8X  d   RTV.,          p'MR\^        V.,          ,           R,           p'V! \        V-V.\D        V'4      4       M\#        R%V,          4      hV^ 8:  d   \#        R&V,          4      hV
V,          p
EK  V^ 8X  d   V! V4       EMV^8X  Ed=   ^\a        V^(8  4      ,           p,\Q        R#R'V,,          ,           WZ^,           V
^,           V,,            4      ^ ,          p/\b        PU                  V/R4      p0V0'       g)   \	        R(V/,          V P                  R7       V! V4       EMV0R),          w  p1p2V'       d"   \	        R*V/V1V23,          V P                  R7       \%        V4      V28  g   Q hV2'       d2   \d        P)                  R+ VV2) R  4       4      p3V1: RV3: R2p VV2) R1 M	V1R,,           p \        \        R\V        V 4      p!V! V!4       EMGV^8X  Ed   ^\a        V^(8  4      ,           p,\Q        R-R'V,,          ,           WZ^,           V
^,           V,,            4      w  p2p/\g        V2^4      w  p4p2\g        V/R.4      w  p5p/V'       d#   \	        R/V/V2V5V43,          V P                  R7       \b        PU                  V/R4      p0V0'       g)   \	        R0V/,          V P                  R7       V! V4       EMhV0R1,          w  p1p6p7V'       d"   \	        R2V1V6V73,          V P                  R7       V6T2u;8:  d	   V78:  g   Q h Q h\%        V4      V28  g   Q h\%        V4      V28  g   Q h\d        P)                  R3 VV2) R  4       4      p3V1: RV3: R2p \        \        R\V        V 4      p!V/^8X  Edb   VV2) ,          p8V8P0                  \@        \X        39  d7   V'       d-   V8P0                  \        8w  d   \	        R4V P                  R7       EMV8P2                  RU9  d0   V'       d&   V8P2                  e   \	        R5V P                  R7       EMxV2^8X  d'   V8P2                  '       g   \X        ^ uV!n        V!n        MyV2) ^,           \a        V8P2                  4      ,
          p9VV9,          p:V:P0                  \B        8X  d   \@        ^ uV!n        V!n        M#V:P0                  V:P2                  uV!n        V!n        V'       d   \	        R6V P                  R7       MV/^d8X  d   VV2) ,          p8V8P0                  \@        8X  d   ^V8P2                  u;8:  d   V28  dt   M MpVV2) \a        V8P2                  4      ,           ,          p:V:P0                  \B        8X  d   \@        ^ uV!n        V!n        M#V:P0                  V:P2                  uV!n        V!n        VV2) R1 V! V!4       EMV^8X  Ed-   \Q        R7WZ^,           V
^,            4      ^ ,          ^,
          p;V'       d   \	        R8V;,          V P                  R7       V Ph                  V;,          p<V<Pj                  '       g   \m        V V<V;W4^,           4       V<Pn                  '       g%   V<Pp                  '       g   V<Pr                  '       d   V'       d   V<Pu                  V P                  R9R:R;7       \        \        R4      p!T;'       g5    V<Pn                  ;'       g!    V<Pp                  ;'       g    V<Pr                  pT;'       g    V<Pv                  pMC\%        V<Px                  4      ^8X  g   Q h\z        P|                  ! V<Px                  ^ ,          4      p!\D        V!n        V<P~                  RR8X  d   V<P
                  V!n        M3V P                  V<P~                  ,          : R<V<P
                  : 2V!n        V'       d,   \	        R=\        V!P,                  4      V P                  R7       V! V!4       E	M[V^8X  d   \        WZ^,           Wx4      p!V'       d   \	        R>V!V P                  R7       V!w  p=p>p?p@^ ;pApB^pVAVB^,           V=V=^,           V>V>^,           3p"V'       d   \	        R?V"V P                  R7       \        \        R4      p!V^8X  d*   ^^V?V?X@V@3pC\        \:        \9        V"VC,           4      .4      p!V! V!4       EMV^8X  d   \        WZ^,           Wx4      w  pDpEV'       d   \	        R>XDXEV P                  R7       XDw  pFpGpHpIXEw  pJpKpLpM^ ;pApB^pVAVB^,           VFVJ^,           VGVK^,           3p"V'       d   \	        R?V"V P                  R7       \        \        R4      p!V^8X  d*   ^^XHXLXIXM3pC\        \:        \9        V"VC,           4      .4      p!V! V!4       EMV^8X  d   V! VV4       EMV^	8X  dL   \Q        R7WZ^,           V
^,            4      ^ ,          p,V'       d   \	        R@V,,          V P                  R7       EMPV^8X  d   V! VV4       EM>V^8X  d   V! VV4       EM,V^8X  Ed   V^P8  dH   \        WZ^,           Wx4      p!\Q        R7WZ^,           V
^,            4      ^ ,          pN\        V VNV4      w  pApBMg\        WZ^,           Wx4      p!\Q        RAWZ^,           V
^,            4      w  pOpPpQV'       d   \	        RBXOXPXQV P                  R7       \        V XOXPXQV4      w  pApBV!w  p=p>p?p@T?;'       g    X@pRT;'       g    XRpXAXB^,           V=V=^,           V>V>^,           3p"VVARR8  ,          pV'       d   \	        R?V"V P                  R7       \        \        R4      p!XR'       d:   ^ ^ V?V?X@V@3pC\9        V"VC,           4      pS\:        V!n        \        V VS^RC7      V!n        M'\9        V"4      pS\.        V!n        \        V VS4      V!n        \D        V!n        V^8X  d	   XS.V!n        V! V!4       EMkV^8X  Ed   V^P8  dK   \        WZ^,           Wx4      w  pDpE\Q        R7WZ^,           V
^,            4      ^ ,          pN\        V VNV4      w  pApBMj\        WZ^,           Wx4      w  pDpE\Q        RAWZ^,           V
^,            4      w  pOpPpQV'       d   \	        RDXOXPXQV P                  R7       \        V XOXPXQV4      w  pApBVXARR8  ,          pXDw  pFpGpHpIXEw  pJpKpLpMTH;'       g    XI;'       g    XL;'       g    XMpRT;'       g    XRpXAXB^,           XFXJ^,           XGXK^,           3p"V'       d   \	        R?V"V P                  R7       \        \        R4      p!XR'       d:   ^ ^ XHXLXIXM3pC\9        V"VC,           4      pS\:        V!n        \        V VS^RC7      V!n        M'\9        V"4      pS\.        V!n        \        V VS4      V!n        \D        V!n        V^8X  d	   XS.V!n        V! V!4       EMV^8X  EdD   ^ pT\        \        R4      p!V^P8  d,   \Q        REWZ^,           V
^,            4      w  pNp;V;^,          p;TNpUMO\Q        RFWZ^,           V
^,            4      w  pNp;V;^,          p;TNpUVN^ 8  d   XN^,          pNMXN^ 8  d   XN) ^,
          pNM^pTV'       d#   \	        RGXUXNV;XT3,          V P                  R7       V;V8X  d$   V'       d   \	        RHV P                  R7       ^;pTpXT'       gH   V^P8  d   \        V XNV4      w  pApBM/XU^ 8  d   RVRVpBpAM#V P                  XN,          pVVV^8X  d   RRRRpBpAMRWRWpBpAXT'       g   XARR8  d$   RIV;XU3,          p \        \        R\D        V 4      p!EMV Ph                  V;,          p<V<Pj                  '       g   \m        V V<V;W4^,           4       V<Pn                  '       g%   V<Pp                  '       g   V<Pr                  '       d   V'       d   V<Pu                  V P                  RJRKR;7       \        \        R4      p!T;'       g5    V<Pn                  ;'       g!    V<Pp                  ;'       g    V<Pr                  pT;'       g    V<Pv                  pMC\%        V<Px                  4      ^8X  g   Q h\z        P|                  ! V<Px                  ^ ,          4      p!\D        V!n        V<P~                  RR8X  d   V<P
                  V!n        M3V P                  V<P~                  ,          : R<V<P
                  : 2V!n        V'       d,   \	        RL\        V!P,                  4      V P                  R7       V! V!4       M>V\        9   d   ^pV! V4       M(V'       d   \	        RMV,           V P                  R7       ^pV^ 8:  d   \#        RN4      hV
V,          p
EK  V'       pV'       dZ   \        V P                  ROWL'       W4       \%        V4      ^8  d   \	        RPV P                  R7       \	        V P                  R7       Wn<        \%        V4      ^8w  d	   RVnK        MV^ ,          VnK        Wn;        Wn9        WnL        ^Vn5        R# )X   z1::: evaluate_name_formula %r %r %d %d %r level=%dr   foutz-Excessive indirect references in NAME formulaNc                     \        V4      ^8  g   Q hVP                  4       pVP                  4       p\        V ,          w  rErgpRP                  RRVP                  V8   VP
                  RRVP                  V8   VRRVP                  V8   VP
                  RRVP                  V8   .4      p	\        VRWy4      p
 WBP                  ,          pWCP                  ,          pTP                  e   TP                  f   TP                  T
4       R# T! TP                  4      pT! TP                  4      pT! Y4      pT\        8X  d   T'       d   ^M^ pYn
        TP                  T
4       R#   \         d    TP                  T
4        R# i ; i   rJ   (Nr   )r   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   &&              ra   do_binop'evaluate_name_formula.<locals>.do_binop  sb   3x1}}ggiggi0;D0A-d# D!HH D! D!HH D!
  T47	HH%EHH%E 99		 1JJuSYYSYYd!% QaF

5  	JJu	s   >$E- -FFc           	      P   \        V4      ^8  g   Q hVP                  4       pVP                  p\        V ,          w  rVrxRP	                  VRRVP
                  V8   VP                  RRVP
                  V8   V.4      p	Ve	   V! V4      pVP                  \        WWi4      4       R# r  rJ   r  Nr   )	r   r  r   
unop_rulesr  r   r   r  r   )
opcoder  r  r  valr^   r   sym1sym2r!  s
   &&&       ra   
do_unaryop)evaluate_name_formula.<locals>.do_unaryop'  s    3x1}}ggiii!+F!3D D!HH D!
  ?s)C

7;T9:rl   c                 ,    R W3,          p\        V4      h)z1ERROR *** Token 0x%02x (%s) found in NAME formula)r   )op_arg	oname_argmsgs   && ra   not_in_name_formula2evaluate_name_formula.<locals>.not_in_name_formula7  s    A#$3rl   9Pos:%d Op:0x%02x Name:t%s Sz:%d opcode:%02xh optype:%02xhStack =9ERROR *** Unexpected token 0x%02x ("%s"); biff_version=%d
tIsect pre rJ   r  r   tIsect post	tList prer   
tList post
tRange pre:tRange postlenlen   sz=%d strg=%r"""tExtended token not implemented<BH??Unknown??tAttrSumSUM(%s))   subop=%02xh subname=t%s sz=%d nc=%02xh)tSheet & tEndsheet tokens not implementedr  BBHdUnhandled opcode: 0x%02xSize not set for opcode 0x%02x BH#*** formula/tFunc unknown FuncID:%dNr  N    FuncID=%d name=%s nargs=%dc              3   8   "   T F  qP                   x  K  	  R # 5ir[   r   r]   args   & ra   rb   (evaluate_name_formula.<locals>.<genexpr>$       *N~88~rd   ()<Bro   (   FuncID=%d nargs=%d macro=%d prompt=%d&*** formula/tFuncVar unknown FuncID:%dN   N!    name: %r, min~max args: %d~%dc              3   8   "   T F  qP                   x  K  	  R # 5ir[   rX  rY  s   & ra   rb   r[  @       &J>Cxx>rd   zIF testarg kind?zIF testarg value?z$$$$$$ IF => constant<H   tgtnamex=%dz!!! tgtobj has problems!!!z-----------       --------)headerfooter!    tName: setting text to       %d bytes of cell ref formula<hxxxxxxxxhhtRef3d)r1c1tArea3dr   <hxxxxxxxxH+   origrefx=%d refx=%d tgtnamex=%d dodgy=%dz!!!! Self-referential !!!!$<<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 argsr   r   r  r  r     FALSETRUE)r   r  r   f)MSTACK_ALARM_LEVELraw_formulabasic_formula_lenbiff_versionr   namer   r   STACK_PANIC_LEVELr   szdictr   r   r   r  	BYTES_ORDonamesr   r   r  r  r   r   r   r   r   rk   tIsectFuncsr   r   r   tRangeFuncsr   r   	LEAF_RANKr   encodingr	   replacer   r   
tAttrNamesr   	FUNC_RANKr   floatr   r   int	func_defslistsepdivmodname_obj_list	evaluatedevaluate_name_formulamacrobinaryany_errdumpany_relstackcopydeepcopyscope_sheet_namesreprr   r   r   r   rangename3drelrangename3d_externsheet_type_b57error_opcodesfprintfr'  any_external)Wr   nobjnamexr   levelr   fmlalenr   ru   sztabr   r  r  r  r  unk_opnd
error_opndspushr(  r1  r7  opr-  optypeopxonameszr6  r  r  r   r   r!  resrg   relfarelfbstrgnewposr   subopncsubnameinxnbr   r   funcx
func_attrs	func_namenargsargtextpromptr  minargsmaxargstestargresposchosentgtnamextgtobjrz   r{   rx   ry   shx1shx2r   r   r   rowx1colx1row_rel1col_rel1rowx2colx2row_rel2col_rel2r   r   raw_shx1raw_shx2is_relref3ddodgyorigrefxextysW   &&&&&                                                                                  ra   r  r    s9     D$$G	BHAiid:;AC	MdAwZZ8  GHH2JE
CEGGLtT"Ht$JLLE@;  
 !|

s
W

ty!dt)!2+CCs3ZME2vv67=?ZZI)U48Mub/"Cs##v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2"399~222!-'1syy|"E%*6]O	XX11#CHyy,1F"399~222"399~2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2"399~222$'II		$9	c
|UD4|UD5zQ&iikiik(D)HH(D)(D)HH(D)!  dD$688t#sxx4'7#CHXX11yy,1F"399~222"399~222!-'1syy|"E%*6]O	XX11#CHyy,1F"399~222"399~222!-'1syy|"E #		! 5 5 #		! 5 5 E>).v~)>(?CIc
}e**E'4'64/44geT9b9:48#;(,!eR[[$LLD& $=(,!eA$?LD&c\1RJ>RZZPT\\#t44s:geT9d;<4Rxx"#DEE4"5$1uSU*;<	r$..>D=a!Bd]BU:u::Fu:?*?)C%0E 'dIu EE"IBE '2r239;E'4'Bww"#NOO'4'tm!#&eT405fSk 14A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?DQs1uRx,@A!DE"ud3J;$&JJ0h#-b> 	5:"Iu56<>JJH5zU***%ll*NueVW~*NNG(17;Eufg%,EdD)U;c
t^Sr]"B!$r"2DQ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25zU***5zU***!,,&J5%>&JJ$-w7dD)U;A:#UFmG||D%=8GLLD$8!"42::F f4GMM$=!"5BJJG A:gmmm27/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^dDQs1u$56q9A=HU+h6RZZH%%h/F###%b&(D'J|||v}}}KK

;;   
 dD)!TTV\\TTV]]TTfnn!33V^^6<<(A---mmFLLO4 CH||r!!;; !oofll;;V[[J2DNT#Jt^!eR:CU42::6+.(D$OD4GDFD$q&$Q?FU5&rzz:$%C{q'7GWEdU6H+<%=$>?#Jt^,Tq5"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^dq5Q/03BU;b@rzzRt^E* t^E*
 t^Rx#Da%>dDQs1u$56q98T4H
d#Db&"?28RSeTWXZTZI[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1ubK
ddDQs1u$56q98T4H
d02vrL
d28RSeTWXZTZI[2\/Xx)[(H2::V< "K8TK
dtby G/3,E5(H/3,E5(HAAAAXA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!'tE#a%/@!AhA!'tE#b&7I!JhA!8AIDAX 519DECx78>@jjJ5 ;"**M"##8!<Rt!LJD$\"$b$D$33D9Dqy&("dd&*Ddr	>#X./dD)U;))(3''')"fhAgN<<<6===FNNNJJ#7#7 $ 
 "$-C%XXXXXX&..G%77Gv||,111--Q8C$<<2%%{{CH #%//&,,"?"? NCH7chhbjjY#J}$G*7%?bjjQG7BCCr	+G

W{G	4u:?2D2::J
5zQAhLL$DNrl   c	                 "1  a a V\         8  d   ^pS\        \        \        \        39   p	Tp
S P
                  pV'       d=   \        RVSWEWV3,          S P                  R7       \        V
^ VS P                  R7       V\        8  d   \        R4      h\        V,          p^ p. p^ p^ p\        \        R4      p\        \        R4      pVP                  pR pR pV V3R lpV^ 8X  d   V.p^ Tu;8:  d	   V8  Ed    M EM\!        W,          4      pV^,          pV^`,          ^,	          pV'       d   V^ ,           pMTp\"        V,          pVV,          pV'       d=   \        R	VVVVVV3,          S P                  R7       \        R
VS P                  R7       VRJ8X  d   RVVV3,          p\%        V4      h\'        V^ 4      S,          '       d
   V! VV4       V'       Eg   V^8:  d   V^8  d   RpMRpV^ 8X  d   VV8X  d	   V'       d   Q h\)        VV
4      w  pp RVV 3,          p!V! \        \        R\*        V!4      4       S\,        \.        ,          ,          '       g
   V! VV4       EM:^Tu;8:  d   ^8:  d   M MV! VV4       EMV^8X  Ed   V'       d   \        RVS P                  R7       \1        V4      ^8  g   Q hVP3                  4       p"VP3                  4       p#Rp$^Pp%RP5                  RRV#P6                  V%8   V#P8                  RRV#P6                  V%8   V$RRV"P6                  V%8   V"P8                  RRV"P6                  V%8   .4      p&\        \:        4      p'V&V'n        V"P<                  \        8X  g   V#P<                  \        8X  d   \        V'n        MV"P<                  \        8X  g   V#P<                  \        8X  d   MbV"P<                  \:        u;8X  d   V#P<                  8X  d   M MM7V"P<                  \>        u;8X  d   V#P<                  8X  d   M M\>        V'n        M V! V'4       V'       d   \        RVS P                  R7       EMPV^8X  Ed   V'       d   \        RVS P                  R7       \1        V4      ^8  g   Q hVP3                  4       p"VP3                  4       p#Rp$^Pp%RP5                  RRV#P6                  V%8   V#P8                  RRV#P6                  V%8   V$RRV"P6                  V%8   V"P8                  RRV"P6                  V%8   .4      p&\        \:        RV%V&4      p'V"P<                  \        8X  g   V#P<                  \        8X  d   \        V'n        MxV"P<                  \:        \>        39   d]   V#P<                  \:        \>        39   dB   \:        V'n        V#P<                  \>        8X  g   V"P<                  \>        8X  d   \>        V'n        M V! V'4       V'       d   \        RVS P                  R7       EMV^8X  Ed\   V'       d   \        RVS P                  R7       \1        V4      ^8  g   Q hVP3                  4       p"VP3                  4       p#Rp$^Pp%RP5                  RRV#P6                  V%8   V#P8                  RRV#P6                  V%8   V$RRV"P6                  V%8   V"P8                  RRV"P6                  V%8   .4      p&\        \:        RV%V&4      p'V"P<                  \        8X  g   V#P<                  \        8X  d   \        p'M,V"P<                  \:        u;8X  d   V#P<                  8X  d   M MM V! V'4       V'       d   \        RVS P                  R7       EM9^Tu;8:  d   ^8:  d   M MV! V\@        V4       EMV^8X  d   EMV^8X  d   V! \        \B        R\*        R4      4       EMV^8X  d   V^F8:  d$   \E        W^,           S PF                  ^R7      w  p(p)M\I        W^,           ^R7      w  p(p)V)V,
          pV'       d!   \        RVV(3,          S P                  R7       RV(PK                  RR4      ,           R,           p!V! \        \L        R\*        V!4      4       EM2V^8X  d   V^P8  g   Q h\%        R4      hV^8X  d   \)        R W^,           V^,            4      w  p*p+\N        PQ                  V*R!4      p,V*^8X  d   V+^,          ^,           pMsV*^8X  dk   ^pV'       d   \        R"VS P                  R7       \1        V4      ^8  g   Q hVRK,          p#R#V#P8                  ,          p&\        \@        R\R        V&4      VRK&   M^pV'       d#   \        R$V*V,VV+3,          S P                  R7       EM$^Tu;8:  d   ^8:  d   M MV^28  g   Q h\%        R%4      h^Tu;8:  d   ^8:  d   M MV^,
          p-. RLOV-,          p.\        \T        \@        \@        .V-,          p/\)        R&R'V-,          ,           W^,           V^,           V.,            4      w  p0V-^8X  d   \W        V04      p0\Y        V04      p!M?V-^8X  d   \Y        V04      p!M,V-^8X  d   RMV0,          p!MR\Z        V0,          ,           R,           p!V! \        V/R\*        V!4      4       M\%        R(V,          4      hV^ 8:  d   \%        R)V,          4      hVV,          pE	K  V^ 8X  d   V! V4       EMV^8X  Ed=   ^\]        V^(8  4      ,           p.\)        R&R*V.,          ,           W^,           V^,           V.,            4      ^ ,          p1\^        PQ                  V1R4      p2V2'       g)   \        R+V1,          S P                  R7       V! V4       EMgV2R,,          w  p3p4V'       d"   \        R-V1V3V43,          S P                  R7       \1        V4      V48  g   Q hV4'       d2   \`        P5                  R. VV4) R  4       4      p5V3: RV5: R2p&VV4) R1 M	V3R/,           p&\        \        R\R        V&4      p'V! V'4       EMV^8X  Ed   ^\]        V^(8  4      ,           p.\)        R0R*V.,          ,           W^,           V^,           V.,            4      w  p4p1\c        V4^4      w  p6p4\c        V1R14      w  p7p1V'       d#   \        R2V1V4V7V63,          S P                  R7       V1^8X  d   RNp2M\^        PQ                  V1R4      p2V2'       g)   \        R3V1,          S P                  R7       V! V4       E
MV2R4,          w  p3p8p9V'       d"   \        R5V3V8V93,          S P                  R7       V8T4u;8:  d	   V98:  g   Q h Q h\1        V4      V48  g   Q h\1        V4      V48  g   Q h\`        P5                  R6 VV4) R  4       4      p5V3: RV5: R2p&\        \        R\R        V&4      p'VV4) R1 V! V'4       E
MV^8X  d   \)        R7W^,           V^,            4      ^ ,          ^,
          p:V'       d   \        R8V:,          S P                  R7       S Pd                  V:,          p;V;Pf                  RK8X  d   V;Ph                  p&M.S Pj                  V;Pf                  ,          : R9V;Ph                  : 2p&V'       d"   \        R:\m        V&4      S P                  R7       \        \        R\*        V&4      p'V! V'4       E	MV^8X  d   \o        W^,           WWE4      p'V'       d   \        R;V'S P                  R7       V'w  pp p<p=T<;'       g    T=p>V>'       d   \>        p?M\:        p?\q        VV V<V=WEV4      p&\        V?R\*        V&4      p'V! V'4       EMV^8X  d   \s        W^,           WWE4      w  p@pAV'       d   \        R;X@XAS P                  R7       X@w  pBpCpDpEXAw  pFpGpHpIVBVF^,           VCVG^,           3pJVDVHVEVI3pK\u        VK4      '       d   \>        p?M\:        p?V'       d   \        R<XJXKS P                  R7       \w        XJXKWEV4      p&\        V?R\*        V&4      p'V! V'4       EMV^8X  d   \y        VV4       EMV^	8X  dL   \)        R7W^,           V^,            4      ^ ,          p.V'       d   \        R=V.,          S P                  R7       EMRV^8X  d   \o        W^,           WWE4      p'^pV'       d   \        R<V'S P                  R7       V'w  pp p<p=T<;'       g    T=p>V>'       d   \>        p?M\:        p?\q        VV V<V=WEV4      p&\        V?R\*        V&4      p'V! V'4       EMV^8X  d   \s        W^,           WWE4      w  p@pAV'       d   \        R;X@XAS P                  R7       X@w  pBpCpDpEXAw  pFpGpHpIVBVF^,           VCVG^,           3pJVDVHVEVI3pK\u        VK4      '       d   \>        p?M\:        p?V'       d   \        R<XJXKS P                  R7       \w        XJXKWEV4      p&\        V?R\*        V&4      p'V! V'4       EMV^8X  Ed   V^P8  dI   \o        W^,           WWE4      p'\)        R7W^,           V^,            4      ^ ,          pL\{        S VLV4      w  pMpNMh\o        W^,           WWE4      p'\)        R>W^,           V^,            4      w  pOpPpQV'       d   \        R?XOXPXQS P                  R7       \}        S XOXPXQV4      w  pMpNV'w  pp p<p=T<;'       g    T=p>T;'       g    T>pXMXN^,           VV^,           V V ^,           3pJVVMRK8  ,          pV'       d   \        R<XJS P                  R7       \        \        R4      p'V>'       d:   ^ ^ V<V<V=V=3pK\        XJVK,           4      pR\>        V'n        \        S VRWEV4      V'n        M'\        XJ4      pR\:        V'n        \        S VR4      V'n        \*        V'n        RV'nB        V! V'4       EM6V^8X  Ed   V^P8  dK   \s        W^,           W4      w  p@pA\)        R7W^,           V^,            4      ^ ,          pL\{        S VLV4      w  pMpNMj\s        W^,           W4      w  p@pA\)        R>W^,           V^,            4      w  pOpPpQV'       d   \        R@XOXPXQS P                  R7       \}        S XOXPXQV4      w  pMpNVXMRK8  ,          pX@w  pBpCpDpEXAw  pFpGpHpITD;'       g    XE;'       g    XH;'       g    XIp>T;'       g    T>pXMXN^,           XBXF^,           XCXG^,           3pJV'       d   \        R<XJS P                  R7       \        \        R4      p'V>'       d:   ^ ^ XDXHXEXI3pK\        XJVK,           4      pR\>        V'n        \        S VRWEV4      V'n        M'\        XJ4      pR\:        V'n        \        S VR4      V'n        \*        V'n        V! V'4       EMcV^8X  Ed   ^ pS\        \        R4      p'V^P8  d,   \)        RAW^,           V^,            4      w  pLp:V:^,          p:TLpTMO\)        RBW^,           V^,            4      w  pLp:V:^,          p:TLpTVL^ 8  d   XL^,          pLMXL^ 8  d   XL) ^,
          pLM^pSV'       d#   \        RCXTXLV:XS3,          S P                  R7       XS'       gH   V^P8  d   \{        S XLV4      w  pMpNM/XT^ 8  d   ROROpNpMM#S P                  XL,          pUVU^8X  d   RKRKpNpMMRPRPpNpM\        p?RpVXMRQ8X  d;   \L        p?S P                  V:,          pVRVVPK                  RR4      ,           R,           p&MXS'       g   XMRK8  d   RDV:XT3,          p&MS Pd                  V:,          p;V;Pf                  RK8X  d   V;Ph                  p&M.S Pj                  V;Pf                  ,          : R9V;Ph                  : 2p&V'       d,   \        RE\m        V'P8                  4      S P                  R7       \        V?XV\*        V&4      p'V! V'4       M>V\        9   d   ^pV! V4       M(V'       d   \        RFV,           S P                  R7       ^pV^ 8:  d   \%        RG4      hVV,          pEK  V'       pV'       dc   \        RHW'       VV3,          S P                  R7       \1        V4      ^8  d   \        RIS P                  R7       \        S P                  R7       \1        V4      ^8w  d   RpWVW# V^ ,          P8                  pWXW# )Rr  zR::: decompile_formula len=%d fmlatype=%r browx=%r bcolx=%r reldelta=%d %r level=%dr   r  z(Excessive indirect references in formulaNc                    \        V4      ^8  g   Q hVP                  4       pVP                  4       p\        V ,          w  rErgpRP                  RRVP                  V8   VP
                  RRVP                  V8   VRRVP                  V8   VP
                  RRVP                  V8   .4      p	\        VRWy4      p
VP                  V
4       R# r  )r   r  r  r  r   r   r   r  )r  r  r  r  r  r  r^   r   r   r!  r"  s   &&         ra   r(  #decompile_formula.<locals>.do_binopg  s    3x1}}ggiggi0;D0A-d# D!HH D! D!HH D!
  T47

5rl   c           	      "   \        V4      ^8  g   Q hVP                  4       p\        V ,          w  rErgRP                  VRRVP                  V8   VP
                  RRVP                  V8   V.4      pVP                  \        VRWX4      4       R# r+  )r   r  r,  r  r   r   r  r   )	r-  r  r  r  r^   r   r/  r0  r!  s	   &&&      ra   r1  %decompile_formula.<locals>.do_unaryopx  s    3x1}}ggi!+F!3D D!HH D!
  	

7;d:;rl   c                 b   < R W\         S,          3,          p\        VSP                  R7       R# )z?ERROR *** Unexpected token 0x%02x (%s) found in formula type %sr   N)FMLA_TYPEDESCR_MAPr   r   )r4  r5  r6  r   fmlatypes   && ra   unexpected_opcode,decompile_formula.<locals>.unexpected_opcode  s*    O$6x$@ABc

#rl   z;Pos:%d Op:0x%02x opname:t%s Sz:%d opcode:%02xh optype:%02xhr:  r;  z<x2Hz<xHBzSHARED FMLA at rowx=%d colx=%dr<  r=  rJ   r  r   r>  r?  r   r@  rA  rB  rC  rD  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  r  rP  rQ  rR  rS  rT  rU  rV  c              3   8   "   T F  qP                   x  K  	  R # 5ir[   rX  rY  s   & ra   rb   $decompile_formula.<locals>.<genexpr>[  r\  rd   r]  r^  ro   r_  r`  ra  rc  c              3   8   "   T F  qP                   x  K  	  R # 5ir[   rX  rY  s   & ra   rb   r  {  re  rd   rf  rg  rj  rk  rl  rm  rn  ro  rp  rr  r   rs  rt  ru  rv  rw  rx  z7End of formula. level=%d any_rel=%d any_err=%d stack=%rry  r   r   rz  r|  )
CALL_ADDINr     r   r  r   )Fr  FMLA_TYPE_SHAREDFMLA_TYPE_NAMEFMLA_TYPE_COND_FMTFMLA_TYPE_DATA_VALr  r   r   r   r  r   r  r   r   r   r  r  r  r   _TOKEN_NOT_ALLOWEDr   r  FMLA_TYPE_CELLFMLA_TYPE_ARRAYr   r  r  r   r   r   r   r   r   r   r   r  r	   r  r   r  r   r  r   r  r   r   r  r  r  r  r  r  r  r  r  r   cellnamerelr   sumrangename2drelr7  r   r   r   r  r  r   r  addin_func_namesr  )Xr   fmlar  r  rv   rw   r   r  rq  ru   r   r   r  r   r  r  r  r  r  r  r(  r1  r  r  r-  r  r  r  r  r6  fmtrz   r{   r   r  r  r   r   r!  r  r  r  r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  r  rx   ry   r  okindr   r   r  r  r  r  r  r  r  r  rg   r   r   r  r  r   r  r  r  r  r  r  ovaluer'  sX   f&&f&&&&&                                                                               ra   decompile_formular  P  s      ,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

ty!dt)!2+CCs3ZOE2vv67=?ZZI)U48Mub/"Cs##c1%00b%(v~8 C CaxGrM%??#C.
d74,FgdD)T:;>O#CD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#;(,!eR[[$LLD& $=(,!eA$?LD&c\1RJ>RZZPT\\#t44s:geT9d;<4Rxx"#DEE4"5$1uSU*;<	r$..>D=a!Bd]BU:u2::Fu:?*?)C%0E 'dIu EE"IBE '2r239;E'4'Bww"#NOO'4'tm!#&eT405fSk 14A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?DQs1uRx,@A!DE"ud3J;eC"**Uh#-b> 	5:"Iu56<>JJH5zU***%ll*NueVW~*NNG(17;Eufg%,EdD)U;c
t^Sr]"B!$r"2DQ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25zU***5zU***!,,&J5%>&JJ$-w7dD)U;5&'Nc
t^dDQs1u$56q9A=HU+h6RZZH%%h/F||r!#%??6<<#@#@&++N2DKbjjQ$i7C#Jt^!eR5HCU42::6+.(D$''FdGWeDQE%y%8C#Jt^, a%uEJD$U4t"**=/3,E5(H/3,E5(HU1WeU1W5F (Hh?H8}}U5&(D"68U4HE%y%8C#Jt^E*t^dq5Q/03BU;b@rzzRt^!eR5HCGU5#BJJ7+.(D$''FdGWeDQE%y%8C#Jt^
 - a%uEJD$U4t"**=/3,E5(H/3,E5(HU1WeU1W5F (Hh?H8}}U5&(D"68U4HE%y%8C#Jt^Rx#Da%uLdDQs1u$56q98T4H
d#Db&"M28RSeTWXZTZI[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)"eU4Hf&r51 CHCI#Jt^Rx01ubK
ddDQs1u$56q98T4H
d02vrL
d28RSeTWXZTZI[2\/Xx)[(H2::V< "K8TK
dtby G/3,E5(H/3,E5(HAAAAXAAF''GDFE57E57CFU5&rzz:$%Cq(HhIfx/0)"eU4Hf&r51 CH#Jt^E$%CRx!'tE#a%/@!AhA!'tE#b&7I!JhA!8AIDAX 519DECx78>@jjJ
 8!<Rt!LJD$\"$b$D$33D9Dqy&("dd&*Dd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	+GGWe45;=::	Gu:?2D2::
5zQ M qMrl   c           	         V'       d;   \        R W#\        V4      V P                  R7       \        V^ W P                  R7       V^P8  g   Q h\        V,          p^ p. p	^ p
^ pV	P
                  p^ Tu;8:  d	   V8  E	dx   M E	Ms\        W,          4      pV^,          pV^`,          ^,	          pV'       d   V^ ,           pMTp\        V,          pVV,          pV'       d#   \        RWVVW3,          V P                  R7       V'       Eg   ^Tu;8:  d   ^8:  dG   M MC\        RW^,           V^,            4      w  ppV'       d   \        RVV3V P                  R7       EMCV^8X  d   V'       d   \        RWP                  R7       \        V	4      ^8  g   Q hV	P                  4       pV	P                  4       pV! VV,           4       V'       d   \        RWP                  R7       EMV^8X  d   V'       d   \        RWP                  R7       \        V	4      ^8  g   Q hV	P                  4       pV	P                  4       p\        V4      ^8X  g   Q h\        V4      ^8X  g   Q h\        \        V^ ,          V^ ,          4      pV! V4       V'       d   \        R	WP                  R7       EMV^8X  d   V'       d   \        R
WP                  R7       \        V	4      ^8  g   Q hV	P                  4       pV	P                  4       p\        V4      ^8X  g   Q h\        V4      ^8X  g   Q h\        \        V^ ,          V^ ,          4      pV! V4       V'       d   \        RWP                  R7       EM3V^8X  d{   \        RW^,           V^,            4      w  pp\        P                  VR4      pV^8X  d   V^,          ^,           pM^pV'       d#   \        RVVVV3,          V P                  R7       MV^8X  d   V^F8:  d<   \        W^,           ,          4      pW^,           V^,           V,            pV^,           pM \        W^,           ^R7      w  ppVV,
          pV'       d!   \        RVV3,          V P                  R7       M V^ 8:  d   \        RV P                  R7       R# VV,          pEK?  V^ 8X  d   EMV^8X  do   ^\!        V^(8  4      ,           p\        RRV,          ,           W^,           V^,           V,            4      pV'       d   \        RV,          V P                  R7       EMV^8X  d   ^\!        V^(8  4      ,           p\        RRV,          ,           W^,           V^,           V,            4      w  pp\#        V^4      w  p p\#        VR4      w  p!pV'       d#   \        RVVV!V 3,          V P                  R7       EMV^8X  dE   \        RW^,           V^,            4      p"V'       d   \        RV",          V P                  R7       EMV^8X  d6   \%        W^,           W44      p#V'       d   \        RV#V P                  R7       EM}V^8X  d6   \'        W^,           W44      p#V'       d   \        RV#V P                  R7       EMAV^	8X  dL   \        RW^,           V^,            4      ^ ,          pV'       d   \        RV,          V P                  R7       EMV^8X  d:   \%        W^,           V^R7      p#^p
V'       d   \        RV#V P                  R7       EMV^8X  d:   \'        W^,           V^R7      p#^p
V'       d   \        RV#V P                  R7       EMoV^8X  d   \        RW^,           V^,            4      ^ ,          p$\%        W^,           W44      p#V'       d   \        RV$V#V P                  R7       V#w  ppp%p&T
;'       g    T%;'       g    T&p
\)        V V$V4      w  p'p(VV'R"8  ,          pV'V(^,           VV^,           VV^,           3p)V'       d   \        RV)V P                  R7       V^8X  d
   V! V).4       EMV^8X  d   \        RW^,           V^,            4      ^ ,          p$\'        W^,           W44      w  p*p+V'       d   \        RV$V*V+V P                  R7       V*w  p,p-p.p/V+w  p0p1p2p3T
;'       g!    T.;'       g    T/;'       g    T2;'       g    T3p
\)        V V$V4      w  p'p(VV'R"8  ,          pV'V(^,           V,V0^,           V-V1^,           3p)V'       d   \        RV)V P                  R7       V^8X  d
   V! V).4       MV^8X  dI   \        RW^,           V^,            4      w  p$p"V'       d!   \        RV$V"3,          V P                  R7       M6V\*        9   d   ^pM(V'       d   \        RV,           V P                  R7       ^pV^ 8:  d   \        RV P                  R7       R# VV,          pE	K  V'       dP   \        R V
'       W3,          V P                  R7       \        V	4      ^8  d   \        R!V P                  R7       R# R# R# )#dump_formular   r  r9  r   rl  r?  z
tlist postrA  rC  r<  r>  rJ  rK  rN  rD  rF  z**** Dud size; exiting ****Nr  rS  z   FuncID=%dr^  ro   r_  rf  z   namex=%drn  )ru   rm  z   refx=%d namex=%drw  z.End of formula. any_rel=%d any_err=%d stack=%rry  r   )r   r   r   r   r  r  r  r  r   r  rk   r  r  r  r   r	   r  r  r   r   r   r  )4r   r   r  r   ru   r   isnamer  r   r  r  r  r  r  r-  r  r  r  r  rz   r{   r  r  r'  r  r  r  r  r  r  r  r  r  r  r  r  r   rx   ry   r  r  rg   r   r   r  r  r  r  r  r  r  r  s4   &&&&&&&                                             ra   r  r  ^  s:   ng3t92::FdAwZZ88O82JE
CEGGLLE
s
W

ty!dt)!2+CCs3ZME2v67=?ZZIvv%%#E4A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$1uSU*;<	r$..>D=a!BBJeU\^`bdMeelnlvlvw48"4A;/BAc!eBh/DaB#<Tq5QR#SLD&#B1RJ>RZZP77bjjI2ICT>t^Sr]"B3r?DQs1uRx,@AEU>E1

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

C/3,E5(H/3,E5(HMMMMXMMMMXG4RtDJD$tby GDFE57E57CFU5&rzz:{E6(Ot^ U3q5(9:KD%U0D%=@rzzR}$GU<uD2::VG7/bjjAr	>g-.46JJ	@u:?2D  rl   c                     Vf   RpV'       g)   V'       d   RV ^,           ,          # RV ^,           ,          # V'       d   V '       d
   RV ,          # R# RW ,           R,          ^,           ,          # )NTzR%dz$%dzR[%d]Rz%drp   r\   )rz   rowxrelrv   rq  s   &&&&ra   
rownamerelr    sZ    }DF##QT>!ELE)A-..rl   c                     Vf   RpV'       g+   V'       d   RV ^,           ,          # R\        V 4      ,           # V'       d   V '       d
   RV ,          # R# \        W ,           R,          4      # )NTzC%d$zC[%d]Crq   colname)r{   colxrelrw   rq  s   &&&&ra   
colnamerelr
    sU    }D1H%%WT]""T>!ELC'((rl   c                8    R\        V4      V ^,           3,          # )z(Utility function: ``(5, 7)`` => ``'H6'``z%s%dr  )rz   r{   s   &&ra   cellnamer    s    WT]DF+++rl   c                z    V'       d   RV ^,           V^,           3,          # R\        V4      V ^,           3,          # )z*Utility function: ``(5, 7)`` => ``'$H$6'``zR%dC%dz$%s$%dr  )rz   r{   rq  s   &&&ra   cellnameabsr  "  s5    4646***wt}d1f---rl   c                     V'       g   V'       g   \        WV4      # V'       d   Ve   V'       d   Vf   Rp\        WWV4      p\        WWF4      pV'       d	   W,           # Wx,           # )NT)r  r
  r  )	rz   r{   r  r	  rv   rw   rq  crs	   &&&&&&&  ra   r  r  (  sO    74t,,EMw5=4%.A4%.Au5Lrl   c                x    RpV ^8:  d	   W,          # \        V ^4      w  r#W^,
          ,          W,          ,           # )z6Utility function: ``7`` => ``'H'``, ``27`` => ``'AB'``ABCDEFGHIJKLMNOPQRSTUVWXYZ)r  )r{   alphabetxdiv26xmod26s   &   ra   r  r  4  s9    +Hrz~b)
#h&666rl   c                    V'       d   R# W^,           8X  d   W2^,           8X  d   \        WV4      # \        WV4      : R\        V^,
          V^,
          V4      : 2# )z'``(5, 20, 7, 10)`` => ``'$H$6:$J$20'`` NrB  )r  )rlorhiclochirq  s   &&&&&ra   rangename2dr  =  sI    
!e|1u3T**!#D1;s1uc!eT3RSSrl   c                     V w  rVrxVw  rrV	'       g	   V
'       d   Vf   RpV'       g	   V'       d   Vf   Rp\        WWWW#V4      : R\        V^,
          V^,
          WW#V4      : 2# )NTrB  )r  )rlo_rhi_clo_chirlorel_rhirel_clorel_chirelrv   rw   rq  r  r  r  r  rlorelrhirelclorelchirels   &&&&&        ra   r  r  E  sb    (Cc%@"FF&em&emC&%ECE3q5&%E rl   c                l    VP                   p\        V .VR,          O5!  : R\        VR,          !  : 2# )zy
Utility function:
``Ref3D(1, 4, 5, 20, 7, 10)`` =>
``'Sheet2:Sheet3!$H$6:$J$20'``
(assuming Excel's default sheetnames)
rU  rj  r  r   N)rg   
sheetranger  )bookr  rg   s   && ra   r  r  R  s4     \\F4%&*%VC[!# #rl   c                    VP                   pVP                  p\        WR,          VR,          4      p\        VR,          VR,          W#V4      pV'       g   V# V: RV: 2# )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)``
rU  r%  rj  )rg   r   sheetrangerelr  )	r'  r  rv   rw   rq  rg   r   shdescrngdescs	   &&&&&    ra   r  r  ^  sU     \\F~~H4Xb\:FVC[(3-tLGg&&rl   c                     V^ 8  d
   W,          pM!R	RR
RRRRR/P                  VRV,          4      pRV9   d!   RVP                  RR4      ,           R,           # RV9   d   RV,           R,           # V# )r   z?internal; any sheet?zinternal; deleted sheetzinternal; macro sheetz<<external>>z
?error %d?'z''r=  r   r   r   r   )r   r  )shnamesshxshnames   && ra   quotedsheetnamer1  o  s    
ax ')'	

 #c<#%
& 	 f}V^^C..44
f}V|c!!Mrl   c                     V P                  4       p\        W14      pW^,
          8w  d!   VR\        W2^,
          4      ,           ,          pV# )r  rB  )sheet_namesr1  )r'  sloshir.  r*  s   &&&  ra   r&  r&    s@     GW*F
!e|#Q777Mrl   c                     Vw  r4Vw  rVV'       g   V'       g   \        WV4      # V^ u;8X  d   V^,
          8X  d   M Q hV'       d	   V'       g   Q hR# )r   rJ   )r&  )r'  srange	srangerelr4  r5  slorelshirels   &&&    ra   r)  r)    sF    HCNF&$S))1A446f44rl   )r   r   r   r   r   r   r   r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   )COUNTr   r     r  Vr  )IFr  rb  r<  rb  r=  VRR)ISNAr  r  r  r  r=  r=  )ISERRORr  r  r  r  r=  r=  )SUMr   r  r<  r  r=  r  )AVERAGEr  r  r<  r  r=  r  )MINr  r  r<  r  r=  r  )MAXr  r  r<  r  r=  r  )ROWr   r  r<  r  r=  r  )COLUMNr   r  r<  r  r=  r  )NAr   r   r  r   r=  rJ   )NPVr  r  r<  r  r=  VR)STDEVr  r  r<  r  r=  r  )DOLLARr  r  r<  r  r=  r=  )FIXEDr  rb  r<  rb  r=  VVV)SINr  r  r  r  r=  r=  )COSr  r  r  r  r=  r=  )TANr  r  r  r  r=  r=  )ATANr  r  r  r  r=  r=  )PIr   r   r  r   r=  rJ   )SQRTr  r  r  r  r=  r=  )EXPr  r  r  r  r=  r=  )LNr  r  r  r  r=  r=  )LOG10r  r  r  r  r=  r=  )ABSr  r  r  r  r=  r=  )INTr  r  r  r  r=  r=  )SIGNr  r  r  r  r=  r=  )ROUNDr  r  r  r  r=  VV)LOOKUPr  rb  r<  r  r=  rJ  )INDEXr  r<  r   r<  r  RVVV)REPTr  r  r  r  r=  r\  )MIDrb  rb  r  rb  r=  rN  )LENr  r  r  r  r=  r=  )VALUEr  r  r  r  r=  r=  )r~  r   r   r  r   r=  rJ   )r}  r   r   r  r   r=  rJ   )ANDr  r  r<  r  r=  r  )ORr  r  r<  r  r=  r  )NOTr  r  r  r  r=  r=  )MODr  r  r  r  r=  r\  )DCOUNTrb  rb  r  rb  r=  RRR)DSUMrb  rb  r  rb  r=  ri  )DAVERAGErb  rb  r  rb  r=  ri  )DMINrb  rb  r  rb  r=  ri  )DMAXrb  rb  r  rb  r=  ri  )DSTDEVrb  rb  r  rb  r=  ri  )VARr  r  r<  r  r=  r  )DVARrb  rb  r  rb  r=  ri  )TEXTr  r  r  r  r=  r\  )LINESTr  r<  r<  r<  ARRVV)TRENDr  r<  r<  r<  rs  RRRV)LOGESTr  r<  r<  r<  rs  rt  )GROWTHr  r<  r<  r<  rs  rv  )PVrb     r<  rz  r=  VVVVV)FVrb  rz  r<  rz  r=  r{  )NPERrb  rz  r<  rz  r=  r{  )PMTrb  rz  r<  rz  r=  r{  )RATErb  r   r<  r   r=  VVVVVV)MIRRrb  rb  r  rb  r=  RVV)IRRr  r  r<  r  r=  RV)RANDr   r   
   r   r=  rJ   )MATCHr  rb  r<  rb  r=  r?  )DATErb  rb  r  rb  r=  rN  )TIMErb  rb  r  rb  r=  rN  )DAYr  r  r  r  r=  r=  )MONTHr  r  r  r  r=  r=  )YEARr  r  r  r  r=  r=  )WEEKDAYr  r  r<  r  r=  r\  )HOURr  r  r  r  r=  r=  )MINUTEr  r  r  r  r=  r=  )SECONDr  r  r  r  r=  r=  )NOWr   r   r  r   r=  rJ   )AREASr  r  r  r  r=  r  )ROWSr  r  r  r  r=  r  )COLUMNSr  r  r  r  r=  r  )OFFSETrb  rz  r<  rz  r  RVVVV)SEARCHr  rb  r<  rb  r=  rN  )	TRANSPOSEr  r  r  r  rs  rs  )TYPEr  r  r  r  r=  r=  )	SERIESSUMr<  r<  r  r<  r=  VVVA)ATAN2r  r  r  r  r=  r\  )ASINr  r  r  r  r=  r=  )ACOSr  r  r  r  r=  r=  )CHOOSEr  r  r<  r  r=  rJ  )HLOOKUPrb  r<  r<  r<  r=  VRRV)VLOOKUPrb  r<  r<  r<  r=  r  )ISREFr  r  r  r  r=  r  )LOGr  r  r<  r  r=  r\  )CHARr  r  r  r  r=  r=  )LOWERr  r  r  r  r=  r=  )UPPERr  r  r  r  r=  r=  )PROPERr  r  r  r  r=  r=  )LEFTr  r  r<  r  r=  r\  )RIGHTr  r  r<  r  r=  r\  )EXACTr  r  r  r  r=  r\  )TRIMr  r  r  r  r=  r=  )REPLACEr<  r<  r  r<  r=  VVVV)
SUBSTITUTErb  r<  r<  r<  r=  r  )CODEr  r  r  r  r=  r=  )FINDr  rb  r<  rb  r=  rN  )r   r  r  r   r  r=  rJ  )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=  )SLNrb  rb  r  rb  r=  rN  )SYDr<  r<  r  r<  r=  r  )DDBr<  rz  r<  rz  r=  r{  )INDIRECTr  r  r   r  r  r\  )CLEANr  r  r  r  r=  r=  )MDETERMr  r  r  r  r=  rs  )MINVERSEr  r  r  r  rs  rs  )MMULTr  r  r  r  rs  AA)IPMTr<  r   r<  r   r=  r  )PPMTr<  r   r<  r   r=  r  )COUNTAr   r  r<  r  r=  r  )PRODUCTr   r  r<  r  r=  r  )FACTr  r  r  r  r=  r=  )DPRODUCTrb  rb  r  rb  r=  ri  )	ISNONTEXTr  r  r  r  r=  r=  )STDEVPr  r  r<  r  r=  r  )VARPr  r  r<  r  r=  r  )DSTDEVPrb  rb  r  rb  r=  ri  )DVARPrb  rb  r  rb  r=  ri  )TRUNCr  r  r<  r  r=  r\  )	ISLOGICALr  r  r  r  r=  r=  )DCOUNTArb  rb  r  rb  r=  ri  )USDOLLARr  r  r<  r  r=  r\  )FINDBr  rb  r<  rb  r=  rN  )SEARCHBr  rb  r<  rb  r=  rN  )REPLACEBr<  r<  r  r<  r=  r  )LEFTBr  r  r<  r  r=  r\  )RIGHTBr  r  r<  r  r=  r\  )MIDBrb  rb  r  rb  r=  rN  )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  rb  r<  rb  r=  VRV)ADDRESSr  rz  r<  rz  r=  r{  )DAYS360r  rb  r<  rb  r=  rN  )TODAYr   r   r  r   r=  rJ   )VDBrz     r<  r  r=  VVVVVVV)MEDIANr  r  r<  r  r=  r  )
SUMPRODUCTr  r  r<  r  r=  rs  )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=  )DGETrb  rb  r  rb  r=  ri  )INFOr  r  r  r  r=  r=  )DBr<  rz  r<  rz  r=  r{  )	FREQUENCYr  r  r  r  rs  RR)z
ERROR.TYPEr  r  r  r  r=  r=  )AVEDEVr  r  r<  r  r=  r  )BETADISTrb  rz  r<  r  r=  r=  )GAMMALNr  r  r  r  r=  r=  )BETAINVrb  rz  r<  r  r=  r=  )	BINOMDISTr<  r<  r  r<  r=  r  )CHIDISTr  r  r  r  r=  r\  )CHIINVr  r  r  r  r=  r\  )COMBINr  r  r  r  r=  r\  )
CONFIDENCErb  rb  r  rb  r=  rN  )	CRITBINOMrb  rb  r  rb  r=  rN  )EVENr  r  r  r  r=  r=  )	EXPONDISTrb  rb  r  rb  r=  rN  )FDISTrb  rb  r  rb  r=  rN  )FINVrb  rb  r  rb  r=  rN  )FISHERr  r  r  r  r=  r=  )	FISHERINVr  r  r  r  r=  r=  )FLOORr  r  r  r  r=  r\  )	GAMMADISTr<  r<  r  r<  r=  r  )GAMMAINVrb  rb  r  rb  r=  rN  )CEILINGr  r  r  r  r=  r\  )HYPGEOMDISTr<  r<  r  r<  r=  r  )LOGNORMDISTrb  rb  r  rb  r=  rN  )LOGINVrb  rb  r  rb  r=  rN  )NEGBINOMDISTrb  rb  r  rb  r=  rN  )NORMDISTr<  r<  r  r<  r=  r  )	NORMSDISTr  r  r  r  r=  r=  )NORMINVrb  rb  r  rb  r=  rN  )NORMSINVr  r  r  r  r=  r=  )STANDARDIZErb  rb  r  rb  r=  rN  )ODDr  r  r  r  r=  r=  )PERMUTr  r  r  r  r=  r\  )POISSONrb  rb  r  rb  r=  rN  )TDISTrb  rb  r  rb  r=  rN  )WEIBULLr<  r<  r  r<  r=  r  )SUMXMY2r  r  r  r  r=  r  )SUMX2MY2r  r  r  r  r=  r  )SUMX2PY2r  r  r  r  r=  r  )CHITESTr  r  r  r  r=  r  )CORRELr  r  r  r  r=  r  )COVARr  r  r  r  r=  r  )FORECASTrb  rb  r  rb  r=  VAA)FTESTr  r  r  r  r=  r  )	INTERCEPTr  r  r  r  r=  r  )PEARSONr  r  r  r  r=  r  )RSQr  r  r  r  r=  r  )STEYXr  r  r  r  r=  r  )SLOPEr  r  r  r  r=  r  )TTESTr<  r<  r  r<  r=  AAVV)PROBrb  r<  r<  rb  r=  AAV)DEVSQr  r  r<  r  r=  r  )GEOMEANr  r  r<  r  r=  r  )HARMEANr  r  r<  r  r=  r  )SUMSQr   r  r<  r  r=  r  )KURTr  r  r<  r  r=  r  )SKEWr  r  r<  r  r=  r  )ZTESTr  rb  r<  r  r=  r  )LARGEr  r  r  r  r=  r  )SMALLr  r  r  r  r=  r  )QUARTILEr  r  r  r  r=  r  )
PERCENTILEr  r  r  r  r=  r  )PERCENTRANKr  rb  r<  r  r=  r  )MODEr  r  r<  r  r=  rs  )TRIMMEANr  r  r  r  r=  r  )TINVr  r  r  r  r=  r\  )CONCATENATEr   r  r<  r  r=  r=  )POWERr  r  r  r  r=  r\  )RADIANSr  r  r  r  r=  r=  )DEGREESr  r  r  r  r=  r=  )SUBTOTALr  r  r<  r  r=  rJ  )SUMIFr  rb  r<  rb  r=  RVR)COUNTIFr  r  r  r  r=  r  )
COUNTBLANKr  r  r  r  r=  r  )ISPMTr<  r<  r  r<  r=  r  )DATEDIFrb  rb  r  rb  r=  rN  )
DATESTRINGr  r  r  r  r=  r=  )NUMBERSTRINGr  r  r  r  r=  r\  )ROMANr  r  r<  r  r=  r\  )GETPIVOTDATAr  r  r  r  r=  r  )	HYPERLINKr  r  r<  r  r=  r\  )PHONETICr  r  r  r  r=  r=  )AVERAGEAr  r  r<  r  r=  r  )MAXAr  r  r<  r  r=  r  )MINAr  r  r<  r  r=  r  )STDEVPAr  r  r<  r  r=  r  )VARPAr  r  r<  r  r=  r  )STDEVAr  r  r<  r  r=  r  )VARAr  r  r<  r  r=  r  )BAHTTEXTr  r  r  r  r=  r=  )THAIDAYOFWEEKr  r  r  r  r=  r=  )	THAIDIGITr  r  r  r  r=  r=  )THAIMONTHOFYEARr  r  r  r  r=  r=  )THAINUMSOUNDr  r  r  r  r=  r=  )THAINUMSTRINGr  r  r  r  r=  r=  )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  rz  r<  r  r=  r=  )r  r{  r           /   )NN)r   )r   r   )NNNr   r   r   )Nr   )NNr   )ur   
__future__r   r  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   r  sztab0sztab1sztab2sztab3sztab4r  r  r  r  setr  minmaxr  r  rk   r|   r~   r   r   r   r   	Exceptionr   objectr   re   r   tAddtSubtMultDivtPowertConcatrangetLTtLEtEQtGEtGTtNEr   r   r   r   r   r   r   r   r   r  _arith_argdict_cmp_argdict_strg_argdictaddsubmultruedivr  r,  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r1  r&  r)  r\   rl   ra   <module>r     sw$   &           

  	N^+N^+114FF114FF114FF114FF114FF114FF114FFN_,N_, #   	
							 	
  
]"  
]a  
]  
]A  
]q  
]!  
]Q  
]  
]1  
]a  
]  
]A  
]q  
]!  
]Q  
]  
]1  
]a  
]  
]A  
]q  
]!  
]Q  
]PR  
]TV  
]XZ  
]\]  
]_`  
]bc  
]ef  
]hi  
]kl  
]no  
]qr  
]tu  
]wx  
]z{  
]}~  
]  AB  
]  DE  
]  GH  
]  JK  
]  MN  
]  PQ  
]  ST  
]  VW  
]  YZ  
]  \]  
]  _a  
]  ce  
]  gi  
]  km  
]  oq  
]  su  
]  wy  
]  {}  
]  @  
]  BD  
]  FH  
]  JL  
]  NP  
]  RT  
]  VX  
]  Z\  
] 
_"  
_a  
_  
_A  
_q  
_!  
_Q  
_  
_1  
_a  
_  
_A  
_q  
_!  
_Q  
_  
_1  
_a  
_  
_A  
_q  
_!  
_Q  
_PR  
_TV  
_XZ  
_\^  
_`a  
_cd  
_fg  
_ij  
_lm  
_op  
_rs  
_uv  
_xz  
_|}  
_  @A  
_  CD  
_  FG  
_  IJ  
_  LM  
_  OP  
_  RS  
_  UV  
_  XY  
_  [\  
_  ^_  
_  ac  
_  eg  
_  ik  
_  mo  
_  qs  
_  uw  
_  y{  
_  }  
_  AB  
_  DF  
_  HJ  
_  LN  
_  PR  
_  TV  
_  XZ  
_  \^  
_ 
`"  
`a  
`  
`A  
`q  
`!  
`Q  
`  
`1  
`a  
`  
`A  
`q  
`!  
`Q  
`  
`1  
`a  
`  
`A  
`q  
`!  
`Q  
`PR  
`TV  
`XZ  
`\^  
``a  
`cd  
`fg  
`ij  
`lm  
`op  
`rs  
`uv  
`xz  
`|}  
`  @A  
`  CD  
`  FG  
`  IJ  
`  LM  
`  OP  
`  RS  
`  UV  
`  XY  
`  [\  
`  ^_  
`  ac  
`  eg  
`  ik  
`  mo  
`  qs  
`  uw  
`  y{  
`  }  
`  AC  
`  EG  
`  IK  
`  MO  
`  QS  
`  UW  
`  Y[  
`  ]_  
` 
a"  
aa  
a  
aA  
aq  
a!  
aQ  
a  
a1  
aa  
a  
aA  
aq  
a!  
aQ  
a  
a1  
aa  
a  
aA  
aq  
a!  
aQ  
aPR  
aTV  
aXZ  
a\^  
a`b  
ade  
agh  
ajk  
amn  
apq  
ast  
avw  
ay{  
a}~  
a  AB  
a  DE  
a  GH  
a  JK  
a  MN  
a  PQ  
a  ST  
a  VW  
a  YZ  
a  \]  
a  _`  
a  bd  
a  fh  
a  jl  
a  np  
a  rt  
a  vx  
a  z|  
a  ~@  
a  BD  
a  FH  
a  JL  
a  NP  
a  RT  
a  VX  
a  Z\  
a  ^`  
a 
]"  
]a  
]  
]A  
]q  
]!  
]Q  
]  
]1  
]a  
]  
]A  
]q  
]!  
]Q  
]  
]1  
]a  
]  
]A  
]q  
]!  
]Q  
]PR  
]TV  
]XZ  
]\^  
]`b  
]de  
]gh  
]jk  
]mn  
]pq  
]st  
]vw  
]yz  
]|}  
]  @A  
]  CD  
]  FG  
]  IJ  
]  LM  
]  OP  
]  RS  
]  UV  
]  XY  
]  [\  
]  ^_  
]  ac  
]  eg  
]  ik  
]  mo  
]  qs  
]  uw  
]  y{  
]  }  
]  AC  
]  EF  
]  HI  
]  KM  
]  OP  
]  RT  
]  VX  
]  Z\  
] 	
 
R'  
R5  
R%  
R  
R  
Ru  
Re  
RW  
Rh  
RPT  
RVZ  
R\`  
Rbf  
Rhl  
Rnr  
Rt{  
R  ~D  
R  FM  
R  OV  
R  X`  
R  bk  
R  mt  
R  v  
R  AF  
R  HR  
R  TZ  
R  \c  
R  eo  
R  qv  
R  x~  
R  @E  
R  GL  
R  NU  
R  W]  
R  _h  
R  jp  
R  rw  
R  y  
R  AJ  
R  LT  
R  V`  
R  bk  
R  mu  
R  w@  
R  BH  
R  JQ  
R  S]  
R  _j  
R  ln  
R  pr  
R  tv  
R  xz  
R  |~  
R  @B  
R  DF  
R  HJ  
R  LT  
R  V]  
R  _f  
R  hp  
R  r|  
R  ~I  
R  KM  
R  OQ  
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 	8	8	8	8	8KF	R 	(*$(&%('/

 >?Cc3,Cc3,("($	<$#&J&*	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
-
 		  ]	@K\ZEH/),.
7T

#'" rl   