§
    r�’jðª ã                   óÞ  — d dl mZ d dlmZ d dlmZmZ ddlT ddlmZm	Z	 ddl
mZmZmZmZmZ ddlT d Zd ZdZ G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd„ Zeeeeeee e!e"eiZ#e$de%dede!de&de'de(diZ) G d„ de¦  «        Z* e*e$ e+d¦  «        ¦  «        Z, G d „ d!e¦  «        Z-dZ. G d"„ d#e¦  «        Z/d$S )%é    )Úprint_function)Úarray)ÚcalcsizeÚunpacké   )Ú*)ÚFormatÚnearest_colour_index)ÚFMLA_TYPE_CELLÚFMLA_TYPE_SHAREDÚdecompile_formulaÚdump_formulaÚrangename2d))Úshow_formulasr   )Úshow_grid_linesr   )Úshow_sheet_headersr   )Úpanes_are_frozenr   )Úshow_zero_valuesr   )Úautomatic_grid_line_colourr   )Úcolumns_from_right_to_leftr   )Úshow_outline_symbolsr   )Ú'remove_splits_if_pane_freeze_is_removedr   )Úsheet_selectedr   )Úsheet_visibler   )Úshow_in_page_break_previewr   c                   óp  — e Zd ZdZdZdZdZdZi Zi Z	g Z
g Zg Zi ZdZdZdZdZdZdZdZdZdZg Zi Zi ZdZdZdZdZdZdZg Z g Z!d„ Z"d„ Z#d„ Z$d	„ Z%d
„ Z&d„ Z'd„ Z(d„ Z)d„ Z*e*Z+d(d„Z,d(d„Z-d(d„Z.d(d„Z/d(d„Z0d(d„Z1e/Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7d„ Z8d)d„Z9d*d„Z:d*d„Z;d„ Z<d„ Z=d „ Z>d!„ Z?d"„ Z@d#„ ZAd$„ ZBd%„ ZCd&„ ZDd'„ ZEdS )+ÚSheetaj  
    Contains the data for one worksheet.

    In the cell access functions, ``rowx`` is a row index, counting from
    zero, and ``colx`` is a column index, counting from zero.
    Negative values for row/column indexes and slice positions are supported in
    the expected fashion.

    For information about cell types and cell values, refer to the documentation
    of the :class:`Cell` class.

    .. warning::

      You don't instantiate this class yourself. You access :class:`Sheet`
      objects via the :class:`~xlrd.book.Book` object that
      was returned when you called :func:`xlrd.open_workbook`.
    Ú Nr   (   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   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   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   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   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   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   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   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   r   r   r   r   r   r   r   r   c                 óF  — || _         |j        | _        || _        |j        | _        t	          dt
          g¦  «        | _        t	          ddg¦  «        | _        || _        || _	        |j
        | _
        |j        | _        |j        | _        | j        r| j        | _        n| j        | _        |j        | _        d| _        d| _        d| _        d| _        d| _        d| _        g | _        g | _        g | _        d | _        d | _        d | _        d| _        d| _        d| _        d| _         i | _!        i | _"        g | _#        g | _$        g | _%        i | _&        g | _'        g | _(        g d¢| _)        |j*        |         | _+        tX          D ]\  }}t[          | ||¦  «         Œd| _.        d| _/        d| _0        d | _1        g | _2        i | _3        i | _4        d| _5        d| _6        d| _7        d| _8        d | _9        d | _:        i | _;        | j        d	k    rd
| _<        nd| _<        d| _=        d| _>        d S )NÚBÚhéÿÿÿÿr   )r   r   r   r   é@   é<   éd   éP   i   é @  é   )?ÚbookÚbiff_versionÚ	_positionÚlogfiler   ÚXL_CELL_EMPTYÚbtÚbfÚnameÚnumberÚ	verbosityÚformatting_infoÚragged_rowsÚput_cell_raggedÚput_cellÚput_cell_unraggedÚ_xf_index_to_xl_type_mapÚnrowsÚncolsÚ_maxdatarowxÚ_maxdatacolxÚ	_dimnrowsÚ	_dimncolsÚ_cell_valuesÚ_cell_typesÚ_cell_xf_indexesÚdefcolwidthÚstandardwidthÚdefault_row_heightÚdefault_row_height_mismatchÚdefault_row_hiddenÚdefault_additional_space_aboveÚdefault_additional_space_belowÚcolinfo_mapÚrowinfo_mapÚcol_label_rangesÚrow_label_rangesÚmerged_cellsÚrich_text_runlist_mapÚhorizontal_page_breaksÚvertical_page_breaksÚ_xf_index_statsÚ_sheet_visibilityÚ
visibilityÚ_WINDOW2_optionsÚsetattrÚfirst_visible_rowxÚfirst_visible_colxÚgridline_colour_indexÚgridline_colour_rgbÚhyperlink_listÚhyperlink_mapÚcell_note_mapÚ$cooked_page_break_preview_mag_factorÚcooked_normal_view_mag_factorÚ$cached_page_break_preview_mag_factorÚcached_normal_view_mag_factorÚscl_mag_factorÚ_ixfeÚ_cell_attr_to_xfxÚutter_max_rowsÚutter_max_colsÚ_first_full_rowx)Úselfr)   Úpositionr0   r1   ÚattrÚdefvals          ú8C:\Projects\DSCons\.venv\Lib\site-packages\xlrd\sheet.pyÚ__init__zSheet.__init__@  sL  € ØˆŒ	Ø Ô-ˆÔØ!ˆŒØ”|ˆŒÝ˜�m˜_Ñ-Ô-ˆŒÝ˜˜b˜TÑ"Ô"ˆŒØˆŒ	ØˆŒØœˆŒØ#Ô3ˆÔØÔ+ˆÔØÔð 	3Ø Ô0ˆDŒMˆMà Ô2ˆDŒMØ(,Ô(EˆÔ%ØˆŒ
ØˆŒ
ØˆÔØˆÔØˆŒØˆŒØˆÔØˆÔØ "ˆÔØˆÔØ!ˆÔØ"&ˆÔØ+,ˆÔ(Ø"#ˆÔØ./ˆÔ+Ø./ˆÔ+ØˆÔØˆÔØ "ˆÔØ "ˆÔØˆÔØ%'ˆÔ"Ø&(ˆÔ#Ø$&ˆÔ!Ø+˜|˜|ˆÔØÔ0°Ô8ˆŒÝ,ð 	(ð 	(‰LˆD�&Ý�D˜$ Ñ'Ô'Ð'Ð'Ø"#ˆÔØ"#ˆÔØ%)ˆÔ"Ø#'ˆÔ Ø ˆÔØˆÔØˆÔð 57ˆÔ1Ø-0ˆÔ*ð 56ˆÔ1Ø-.ˆÔ*Ø"ˆÔàˆŒ
Ø!#ˆÔàÔ Ò"Ð"Ø"'ˆDÔÐà"'ˆDÔØ!ˆÔà "ˆÔÐÐó    c                 ó¨   — | j         r|                      ||¦  «        }nd}t          | j        |         |         | j        |         |         |¦  «        S )zC
        :class:`Cell` object in the given row and column.
        N)r3   Úcell_xf_indexÚCellr@   r?   ©rg   ÚrowxÚcolxÚxfxs       rk   Úcellz
Sheet.cell”  s`   € ð Ôð 	Ø×$Ò$ T¨4Ñ0Ô0ˆCˆCàˆCÝØÔ˜TÔ" 4Ô(ØÔ˜dÔ# DÔ)Øñ
ô 
ð 	
rm   c                 ó(   — | j         |         |         S )z.Value of the cell in the given row and column.©r?   ©rg   rr   rs   s      rk   Ú
cell_valuezSheet.cell_value¢  s   € àÔ  Ô& tÔ,Ð,rm   c                 ó(   — | j         |         |         S )z
        Type of the cell in the given row and column.

        Refer to the documentation of the :class:`Cell` class.
        ©r@   rx   s      rk   Ú	cell_typezSheet.cell_type¦  s   € ð Ô Ô% dÔ+Ð+rm   c                 ó¼  — |                       ¦   «          | j        |         |         }|dk    r| j        dxx         dz  cc<   |S 	 | j        |         j        }|dk    r| j        dxx         dz  cc<   |S n# t
          $ r Y nw xY w	 | j        |         j        }|dk    rd}| j        dxx         dz  cc<   |S # t
          $ r | j        dxx         dz  cc<   Y dS w xY w)z£
        XF index of the cell in the given row and column.
        This is an index into :attr:`~xlrd.book.Book.xf_list`.

        .. versionadded:: 0.6.1
        r"   r   r   é   é   é   )Úreq_fmt_inforA   rQ   rJ   Úxf_indexÚKeyErrorrI   rq   s       rk   ro   zSheet.cell_xf_index®  sE  € ð 	×ÒÑÔÐØÔ# DÔ)¨$Ô/ˆØ�Š8ˆ8ØÔ  Ð#Ð#Ô# qÑ(Ð#Ð#Ñ#ØˆJð	ØÔ" 4Ô(Ô1ˆCØ�RŠxˆxØÔ$ QÐ'Ð'Ô'¨1Ñ,Ð'Ð'Ñ'Ø�
ð øõ ð 	ð 	ð 	ØˆDð	øøøð	ØÔ" 4Ô(Ô1ˆCØ�bŠyˆy ˜#ØÔ  Ð#Ð#Ô# qÑ(Ð#Ð#Ñ#ØˆJøÝð 	ð 	ð 	àÔ  Ð#Ð#Ô# qÑ(Ð#Ð#Ñ#Ø�2�2ð	øøøs$   Á.A6 Á6
BÂBÂ0B8 Â8CÃCc                 ó6   — t          | j        |         ¦  «        S )z÷
        Returns the effective number of cells in the given row. For use with
        ``open_workbook(ragged_rows=True)`` which is likely to produce rows
        with fewer than :attr:`~Sheet.ncols` cells.

        .. versionadded:: 0.7.2
        )Úlenr?   ©rg   rr   s     rk   Úrow_lenzSheet.row_lenÍ  s   € õ �4Ô$ TÔ*Ñ+Ô+Ð+rm   c                 ón   ‡ ‡— ˆˆ fd„t          t          ‰ j        ‰         ¦  «        ¦  «        D ¦   «         S )zS
        Returns a sequence of the :class:`Cell` objects in the given row.
        c                 ó<   •— g | ]}‰                      ‰|¦  «        ‘ŒS © ©ru   ©Ú.0rs   rr   rg   s     €€rk   ú
<listcomp>zSheet.row.<locals>.<listcomp>Û  ó7   ø€ ð 
ð 
ð 
àð �IŠI�d˜DÑ!Ô!ð
ð 
ð 
rm   )Úxranger…   r?   r†   s   ``rk   Úrowz	Sheet.row×  sL   øø€ ð
ð 
ð 
ð 
ð 
å�s 4Ô#4°TÔ#:Ñ;Ô;Ñ<Ô<ð
ñ 
ô 
ð 	
rm   c                 ó„   — 	 |\  }}|                       ||¦  «        S # t          $ r |                      |¦  «        cY S w xY w)z�
        Takes either rowindex or (rowindex, colindex) as an index,
        and returns either row or cell respectively.
        )ru   Ú	TypeErrorr‘   )rg   ÚitemÚrowixÚcolixs       rk   Ú__getitem__zSheet.__getitem__à  s[   € ð
	+Ø‰LˆE�5ð —9’9˜U EÑ*Ô*Ð*øõ ð 	"ð 	"ð 	"ð —8’8˜D‘>”>Ð!Ð!Ð!ð	"øøøs   ‚ �?¾?c                 óD   ‡ — ˆ fd„t          ‰ j        ¦  «        D ¦   «         S )z3Returns a generator for iterating through each row.c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S ©N)r‘   )r�   Úindexrg   s     €rk   ú	<genexpr>z!Sheet.get_rows.<locals>.<genexpr>ð  s-   øè è € Ð?Ð? E�—’˜‘”Ð?Ð?Ð?Ð?Ð?Ð?rm   )Úranger9   ©rg   s   `rk   Úget_rowszSheet.get_rowsî  s'   ø€ à?Ð?Ð?Ð?­U°4´:Ñ->Ô->Ð?Ñ?Ô?Ð?rm   c                 óZ   — |€| j         |         |d…         S | j         |         ||…         S )zM
        Returns a slice of the types of the cells in the given row.
        Nr{   ©rg   rr   Ú
start_colxÚend_colxs       rk   Ú	row_typeszSheet.row_typesõ  s9   € ð ÐØÔ# DÔ)¨*¨+¨+Ô6Ð6ØÔ Ô% j°Ð&9Ô:Ð:rm   c                 óZ   — |€| j         |         |d…         S | j         |         ||…         S )zN
        Returns a slice of the values of the cells in the given row.
        Nrw   r¡   s       rk   Ú
row_valueszSheet.row_valuesý  s9   € ð ÐØÔ$ TÔ*¨:¨;¨;Ô7Ð7ØÔ  Ô& z°(Ð':Ô;Ð;rm   c                 óÆ   ‡ ‡— t          ‰ j        ‰         ¦  «        }|dk     r||z  }|dk     rd}|�||k    r|}n|dk     r||z  }ˆˆ fd„t          ||¦  «        D ¦   «         S )zP
        Returns a slice of the :class:`Cell` objects in the given row.
        r   Nc                 ó<   •— g | ]}‰                      ‰|¦  «        ‘ŒS rŠ   r‹   rŒ   s     €€rk   rŽ   z#Sheet.row_slice.<locals>.<listcomp>  r�   rm   )r…   r?   r�   )rg   rr   r¢   r£   Úncs   ``   rk   Ú	row_slicezSheet.row_slice  s�   øø€ õ �Ô" 4Ô(Ñ)Ô)ˆØ˜Š>ˆ>Ø˜"ÑˆJØ˜AŠ~ˆ~Ø�
ØÐ˜x¨"š}˜}ØˆHˆHØ˜Š\ˆ\Ø˜‰NˆHð
ð 
ð 
ð 
ð 
å˜z¨8Ñ4Ô4ð
ñ 
ô 
ð 	
rm   c                 ó    ‡ ‡— ‰ j         }|dk     r||z  }|dk     rd}|�||k    r|}n|dk     r||z  }ˆˆ fd„t          ||¦  «        D ¦   «         S )zS
        Returns a slice of the :class:`Cell` objects in the given column.
        r   Nc                 ó<   •— g | ]}‰                      |‰¦  «        ‘ŒS rŠ   r‹   ©r�   rr   rs   rg   s     €€rk   rŽ   z#Sheet.col_slice.<locals>.<listcomp>$  r�   rm   ©r9   r�   ©rg   rs   Ú
start_rowxÚend_rowxÚnrs   ``   rk   Ú	col_slicezSheet.col_slice  ó�   øø€ ð ŒZˆØ˜Š>ˆ>Ø˜"ÑˆJØ˜AŠ~ˆ~Ø�
ØÐ˜x¨"š}˜}ØˆHˆHØ˜Š\ˆ\Ø˜‰NˆHð
ð 
ð 
ð 
ð 
å˜z¨8Ñ4Ô4ð
ñ 
ô 
ð 	
rm   c                 ó    ‡ ‡— ‰ j         }|dk     r||z  }|dk     rd}|�||k    r|}n|dk     r||z  }ˆˆ fd„t          ||¦  «        D ¦   «         S )zQ
        Returns a slice of the values of the cells in the given column.
        r   Nc                 ó6   •— g | ]}‰j         |         ‰         ‘ŒS rŠ   rw   r­   s     €€rk   rŽ   z$Sheet.col_values.<locals>.<listcomp>6  s6   ø€ ð 
ð 
ð 
àð Ô˜dÔ# DÔ)ð
ð 
ð 
rm   r®   r¯   s   ``   rk   Ú
col_valueszSheet.col_values)  r´   rm   c                 ó    ‡ ‡— ‰ j         }|dk     r||z  }|dk     rd}|�||k    r|}n|dk     r||z  }ˆˆ fd„t          ||¦  «        D ¦   «         S )zP
        Returns a slice of the types of the cells in the given column.
        r   Nc                 ó6   •— g | ]}‰j         |         ‰         ‘ŒS rŠ   r{   r­   s     €€rk   rŽ   z#Sheet.col_types.<locals>.<listcomp>H  s6   ø€ ð 
ð 
ð 
àð Ô˜TÔ" 4Ô(ð
ð 
ð 
rm   r®   r¯   s   ``   rk   Ú	col_typeszSheet.col_types;  r´   rm   c           
      óX  — | j         dk    r!t          | j        d| j        | j        ¦  «         | j        rÔdx}}| j        }| j        }| j        D ]h}|\  }}}}	d|cxk    r|cxk     r|k    rn nd|cxk    r|	cxk     r|k    s$n t          | j        d| j        | j	        |¦  «         ||k    r|}|	|k    r|	}Œi|| j        k    r|| _        d| _
        || j        k    r.|                      |dz
  dt          t          d¦  «        d¦  «         | j         dk    rY| j        | j        k    s| j        | j        k    r9t          | j        d	| j        | j	        | j        | j        | j        | j        ¦  «         | j        sµ| j        }
| j        }| j        }| j        }| j        }| j
        dk    r| j        }n| j
        }t+          |¦  «        D ]j}||         }t-          |¦  «        }|
|z
  }|dk    rDt          d¦  «        g|z  ||         |d …<   | j        |z  ||d …<   |r| j        |z  ||         |d …<   Œid S d S )
Nr€   z$tidy_dimensions: nrows=%d ncols=%d 
r   r   z6*** WARNING: sheet #%d (%r), MERGEDCELLS bad range %r
éþÿÿÿr   r"   z?NOTE *** sheet %d (%r): DIMENSIONS R,C = %d,%d should be %d,%d
)r2   Úfprintfr,   r9   r:   rM   rd   re   r1   r0   rf   r6   r-   ÚUNICODE_LITERALr=   r>   r4   r@   r?   rA   r3   r�   r…   r.   r/   )rg   r²   r©   ÚumaxrowsÚumaxcolsÚcrangeÚrloÚrhiÚcloÚchir:   Ús_cell_typesÚs_cell_valuesÚs_cell_xf_indexesÚ
s_fmt_infoÚuboundrr   ÚtrowÚrlenÚnextras                       rk   Útidy_dimensionszSheet.tidy_dimensionsR  sÌ  € ØŒ>˜QÒÐÝØ”Ø7Ø”
˜DœJñô ð ð
 Ô"ð 	OØˆKˆB�ØÔ*ˆHØÔ*ˆHØÔ+ð &ð &�Ø%+Ñ"��S˜#˜sØ˜SÐ2Ð2Ò2Ð2 3Ð2Ð2Ò2Ð2¨(Ò2Ð2Ð2Ð2Ð2¸AÀÐ<VÐ<VÒ<VÐ<VÀsÐ<VÐ<VÒ<VÐ<VÈhÒ<VÐ<VÐ<VÐ<VÝ˜DœLØQØœ T¤Y°ñ8ô 8ð 8ð ˜’8�8 #˜RØ˜’8�8 #˜RøØ�D”JŠˆØ�”
Ø(*�Ô%Ø�D”JŠˆð —’˜b ™d A¥}µoÀbÑ6IÔ6IÈ2ÑNÔNÐNØŒN˜aÒÐØ”˜tœ~Ò-Ð-°´¸t¼~Ò1MÐ1MÝØ”ØRØ”Ø”	Ø”Ø”Ø”
Ø”
ñ	ô 	ð 	ð Ôð 	Jà”JˆEØÔ+ˆLØ Ô-ˆMØ $Ô 5ÐØÔ-ˆJàÔ$¨Ò*Ð*Øœ��àÔ.�Ý˜v™œð Jð J�Ø# DÔ)�Ý˜4‘y”y�Ø ™�Ø˜A’:�:Ý2AÀ"Ñ2EÔ2EÐ1FÈÑ1O�M $Ô'¨¨¨Ñ.Ø"&¤'¨FÑ"2�D˜˜˜‘KØ!ð JØ9=¼À6Ñ9IÐ)¨$Ô/°°°Ñ6øð)	Jð 	JðJð Jrm   c                 ó¶  — |€| j         |         }d|cxk    r| j        k     sn J ‚d|cxk    r| j        k     sn J ‚| j        }	 |dz   }| j        |k     rz| j        j        }| j        j        }	| j        j        }
| j	        }| j
        }t          | j        |¦  «        D ]+} ||dz  ¦  «          |	g ¦  «         |r |
|dz  ¦  «         Œ,|| _        | j        |         }| j        |         }|r| j        |         }t          |¦  «        }|| j        k    r
|dz   | _        ||z
  }|sC|                     |¦  «         |                     |¦  «         |r|                     |¦  «         d S |dk    r=|dz  }| j	        |z  ||d …<   t          d¦  «        g|z  ||d …<   |r| j
        |z  ||d …<   |||<   |||<   |r|||<   d S d S #  t          d||| j        ¬¦  «         ‚ xY w)Nr   r   r   r6   ©Úfile)r8   re   rd   r3   r9   r@   Úappendr?   rA   r.   r/   r�   r…   r:   r¾   Úprintr,   )rg   rr   rs   ÚctypeÚvaluer‚   Úfmt_infor²   ÚsctaÚscvaÚscxar.   r/   Ú_unusedÚ	types_rowÚ
values_rowÚfmt_rowÚltrÚ	num_emptys                      rk   r5   zSheet.put_cell_ragged�  ss  € Øˆ=àÔ1°(Ô;ˆEØ�DÐ.Ð.Ò.Ð.˜4Ô.Ò.Ð.Ð.Ð.Ð.Ð.Ø�DÐ.Ð.Ò.Ð.˜4Ô.Ò.Ð.Ð.Ð.Ð.Ð.ØÔ'ˆð1	Ø˜‘ˆBØŒz˜BŠˆàÔ'Ô.�ØÔ(Ô/�ØÔ,Ô3�Ø”W�Ø”W�Ý% d¤j°"Ñ5Ô5ð %ð %�GØ�D˜˜a™‘L”L�LØ�D˜‘H”H�HØð %Ø˜˜R !™V™œ˜øØ�”
àÔ(¨Ô.ˆIØÔ*¨4Ô0ˆJØð 6ØÔ/°Ô5�Ý�i‘.”.ˆCØ�t”zÒ!Ð!Ø! A™X�”
Ø˜s™
ˆIØð ð × Ò  Ñ'Ô'Ð'Ø×!Ò! %Ñ(Ô(Ð(Øð -Ø—N’N 8Ñ,Ô,Ð,Ø�Ø˜1Š}ˆ}Ø˜Q‘�	ð #'¤'¨IÑ"5�	˜#˜$˜$‘Ý$3°BÑ$7Ô$7Ð#8¸9Ñ#D�
˜3˜4˜4Ñ Øð 8Ø$(¤G¨iÑ$7�G˜C˜D˜D‘MØ#ˆI�d‰OØ$ˆJ�tÑØð )Ø (�˜‘��ð)ð )øð	Ý�*˜d D¨t¬|Ð<Ñ<Ô<Ð<Øøøøs   ÁDF= Å%AF= Æ=Gc                 ó&  — |€| j         |         }	 || j        |         |<   || j        |         |<   | j        r|| j        |         |<   d S d S # t
          $ �r  |dz   }|dz   }d|cxk    r| j        k    sn J ‚d|cxk    r| j        k    sn J ‚|| j        k    r6|| _        || j	        k     rd| _
        n|| j
        cxk    rdk    r
n n|| _
        || j	        k    r¨| j        |         }| j        t          |¦  «        z
  }	|	dk    r}|                     | j        |	z  ¦  «         | j        r(| j        |                              | j        |	z  ¦  «         | j        |                              t          d¦  «        g|	z  ¦  «         n™| j        j        }
| j        j        }| j        j        }| j        }| j        }| j        }| j        }t#          | j	        |¦  «        D ]<} |
||z  ¦  «          |t          d¦  «        g|z  ¦  «         |r |||z  ¦  «         Œ=|| _	        	 || j        |         |<   || j        |         |<   | j        r|| j        |         |<   Y d S Y d S #  t%          d||| j        ¬¦  «         ‚ xY w t%          d||| j        ¬¦  «         ‚ xY w)Nr   r¼   r   r   r6   rÐ   )r8   r@   r?   r3   rA   Ú
IndexErrorre   rd   r:   r9   rf   r…   Úextendr.   r/   r¾   rÒ   r�   rÓ   r,   )rg   rr   rs   rÔ   rÕ   r‚   r²   r©   rË   rÍ   r×   rØ   rÙ   rÖ   r.   r/   rÚ   s                    rk   r7   zSheet.put_cell_unraggedÊ  s=  € Øˆ=àÔ1°(Ô;ˆEð@	Ø+0ˆDÔ˜TÔ" 4Ñ(Ø,1ˆDÔ˜dÔ# DÑ)ØÔ#ð =Ø4<�Ô% dÔ+¨DÑ1Ð1Ð1ð=ð =øåð 8	ñ 8	ð 8	ð ˜‘ˆBØ˜‘ˆBØ˜Ð1Ð1Ò1Ð1˜dÔ1Ò1Ð1Ð1Ð1Ð1Ð1Ø˜Ð1Ð1Ò1Ð1˜dÔ1Ò1Ð1Ð1Ð1Ð1Ð1Ø�D”JŠˆØ�”
ð
 ˜œ
’?�?ð -/�DÔ)Ð)Ø˜DÔ1Ð6Ð6Ò6Ð6°BÒ6Ð6Ð6Ð6Ð6Ø,0�DÔ)Ø�T”ZÒÐð Ô'¨Ô-�Øœ¥c¨$¡i¤iÑ/�Ø˜A’:�:à—K’K ¤¨&Ñ 0Ñ1Ô1Ð1ØÔ+ð MØÔ-¨dÔ3×:Ò:¸4¼7ÀVÑ;KÑLÔLÐLØÔ% dÔ+×2Ò2µOÀBÑ4GÔ4GÐ3HÈ6Ñ3QÑRÔRÐRøàÔ'Ô.�ØÔ(Ô/�ØÔ,Ô3�ØÔ/�Ø”Z�Ø”W�Ø”W�Ý% d¤j°"Ñ5Ô5ð &ð &�Gà�D˜˜b™‘M”M�MØ�D�/¨"Ñ-Ô-Ð.°Ñ3Ñ4Ô4Ð4Øð &Ø˜˜R "™W™œ˜øØ�”
ðØ/4�Ô  Ô& tÑ,Ø05�Ô! $Ô'¨Ñ-ØÔ'ð AØ8@�DÔ)¨$Ô/°Ñ5Ð5Ð5Ð5ðAð Að AøðÝ�j $¨°4´<Ð@Ñ@Ô@Ð@Øøøøð	Ý�*˜d D¨t¬|Ð<Ñ<Ô<Ð<Øøøøs   ‘7A ÁGJÈ7IÉI3É3Jc                 ó <  — d}|p
| j         dk    }|p
| j         dk    }d}d}|j        }| j        |_        t          t          t          t
          t          t          f}| j        }	t          }
|j
        }| j        }| j        }|o|j        }i }i }d}	  |¦   «         \  }}}|t          k    r* |
d|d d…         ¦  «        \  }}}} |	||d ||¦  «         �ní|t          k    r\ |
d|¦  «        \  }}}} |	||t           |j        |         |¦  «         |r(|j                             |¦  «        }|r|| j        ||f<   �n†|t(          k    rx |
d|dd	…         ¦  «        \  }}}|t*          k     r-t-          |d	|j        p|                     ¦   «         d¬
¦  «        }nt3          |d	d¬
¦  «        } |	||t           ||¦  «         �n|t4          k    �r‚ |
d|dd	…         ¦  «        \  }}}|t*          k     r¦t7          |d	|j        p|                     ¦   «         d¬
¦  «        \  }}t9          ||         ¦  «        }|dz  }g }t;          |¦  «        D ]5}|                     t          d|||dz   …         ¦  «        ¦  «         |dz  }Œ6|t?          |¦  «        k    sJ ‚n—tA          |d	d¬
¦  «        \  }}t          d|||dz   …         ¦  «        d         }|dz  }g }t;          |¦  «        D ]5}|                     t          d|||dz   …         ¦  «        ¦  «         |dz  }Œ6|t?          |¦  «        k    sJ ‚ |	||t           ||¦  «         || j        ||f<   �nu|tB          k    r@ |
d|d d	…         ¦  «        \  }}}tE          |d	d…         ¦  «        } |	||d ||¦  «         �n*|tF          k    r‘ |
d|dd…         ¦  «        \  }}  |
d|dd …         ¦  «        \  }!d}t;          | |!dz   ¦  «        D ]L} |
d|||dz   …         ¦  «        \  }tE          ||dz   |d	z   …         ¦  «        }|d	z  } |	||d ||¦  «         ŒM�nŽ|tH          k    �rX|s�Œ³ |
d|dd…         ¦  «        \  }}"}#d|cxk    r| j%        k     s$n tM          d|| j%        fz  | j'        ¬¦  «         �Œ|"|#f}$|                     |$¦  «        }%|%€�tQ          ¦   «         x||$<   }%|"dz  |%_)        |"dz	  dz  |%_*        |#dz  |%_+        |#dz	  dz  |%_,        |#dz	  dz  |%_-        |#d	z	  dz  |%_.        |#dz	  dz  |%_/        |#dz	  dz  |%_0        |#dz	  dz  |%_1        |#dz	  dz  |%_2        |%j/        sd|%_0        |%| j3        |<   	 |r?tM          d||"|#| j'        ¬¦  «         |% 6                    | j'        d| j5        |fz  ¬¦  «         �n*|tn          v �r|d k    r |
d!|dd…         ¦  «        \  }}}}&}'nR|d"k    r |
d!|dd…         ¦  «        \  }}}}&}'n1 |
d#|dd…         ¦  «        \  }}}(}&}'|  8                    |(||¦  «        }|rUti          | j'        d$||¦  «          |
d|d%d&…         ¦  «        d         })ts          ||d&d …         |)tt          ||d|¬'¦  «         |&d	d(…         d)k    �rt9          |&d         ¦  «        }*|*dk    �red}+	 | 
                    ¦   «         \  },}-}.|,tv          k    s|,tx          k    rd}+nÀ|,t          k    r8 |
d*|.d d…         ¦  «        \  }/}0}1}2}3}4|rti          | j'        d+|/|0|1|2|3¦  «         n}|,t          k    r\ |
d,|.d d…         ¦  «        \  }/}0}1}2}5}4|r>ti          | j'        d-|/|0|1|2|5¦  «         ts          ||.dd …         |4tz          d|||¬.¦  «         n|,|vrt}          d/|,z  ¦  «        ‚|+s:| 
                    ¦   «         \  },}6}.|,tv          tx          fvrt}          d0|,z  ¦  «        ‚|  ?                    |.¦  «        }|                      ||t           ||¦  «         �nÆ|*dk    r+t9          |&d         ¦  «        }7 |	||t€          |7|¦  «         �n•|*dk    r+t9          |&d         ¦  «        }7 |	||t‚          |7|¦  «         �nd|*d1k    r |	||t           d2|¦  «         �nHt}          d3|*z  ¦  «        ‚ |
d4|&¦  «        d         } |	||d ||¦  «         �n|t„          k    r? |
d5|d d(…         ¦  «        \  }}}}7}8t€          t‚          f|8         }9 |	|||9|7|¦  «         �nÉ|t†          k    rí|s�Œwt‰          ¦   «         }: |
d6|d d…         ¦  «        \  };}<|:_E        |:_0        }'d|;cxk    r|<cxk    rd7k    s n tM          d8|;|<fz  | j'        ¬¦  «         ~:�ŒÝt�          |:|'d9¦  «         t;          |;|<dz   ¦  «        D ]}|d:k    r n|:| jG        |<   Œ|rFti          | j'        d<| j5        |;|<|:jE        |:j0        |'¦  «         |: 6                    | j'        d=¬¦  «         �nÑ|t�          k    r |
d|d d…         ¦  «        \  | _I        �n©|t”          k    rH|dk    r%tM          d?|t—          |¦  «        | j'        ¬¦  «          |
d|d d…         ¦  «        \  | _L        �nV|tš          k    r€|s�	Œê|dAk    sJ ‚|dd…         dBk    sJ ‚t          dC|ddA…         ¦  «        }=g }>|=D ]1}?t;          dD¦  «        D ]}@|>                     |?dz  ¦  «         |?dz  }?Œ Œ2t�          |>¦  «        | _O        �nË|t¨          k    r2|s�
Œu |
d|d d	…         ¦  «        \  }}} |	||tª          d2|¦  «         �nŽ|t¬          k    rt|s�
Œ²|dz	  }B |
dI|Bz  |¦  «        }C|Cd d…         \  }}D|Cd         }E|B|Edz   |Dz
  k    sJ ‚d}t;          |D|Edz   ¦  «        D ]!} |	||tª          d2|C|         ¦  «         |dz  }Œ"�n|t®          k    s|t°          k    r»|dk    r�Œ@|dJk     r |
dK|dd(…         ¦  «        }Fn |
dL|ddM…         ¦  «        }FdN\  | _Y        | _Z        |F\  | _[        | _\        |dOv r1| j]        j^        r%| j]        j_        s| j]         `                    ¦   «          |r-ti          | j'        dP| j5        | ja        | j\        | j[        ¦  «         �n>|tÄ          k    r|  c                    |¦  «         �n|tÈ          k    r|  e                    |¦  «         �nú|tÌ          k    rd}|rtM          dQ| j'        ¬¦  «         d}�nÓ|tÎ          k    r$|  h                    |¦  «        }G|Gr	|Gji        }H�n¦d }H�n¢|tÔ          k    r|  k                    |||¦  «         �n~|tØ          k    r"|  m                    |¦  «        }I|Ir	|Hr|I||H<   d }H�nQ|tÜ          k    r|  o                    ||¦  «         �n.|tà          k    r|  q                    |¦  «         �n|tä          v r… |
d|dd…         ¦  «        \  }J}K|KdDk    r(tM          dR||j        |z
  dz
  |J|Kfz  | j'        ¬¦  «         	 | 
                    ¦   «         \  }L}}|LtÌ          k    rnŒ%|rtM          dS| j'        ¬¦  «         �n~|tæ          k    r| t                    |¦  «         �n\|tê          k    r>d}tí          | jw        |||d(¬T¦  «        }tí          | jx        |||d(¬T¦  «        }||k    sJ ‚�n|t          k    r: |
d*|d d…         ¦  «        \  }/}0}1}2}3}4|rtM          dU|/|0|1|2|3| j'        ¬¦  «         �nÎ|t          k    r^ |
d,|d d…         ¦  «        \  }/}0}1}2}5}4|r?tM          dV|/|0|1|2|5| j'        ¬¦  «         ts          ||dd …         |4tz          d|||¬.¦  «         �ne|tò          k    rÔ|s�ŒÛ|dJk    sJ ‚t          dW|ddM…         ¦  «        \  }M}N}O}P}Q}R| j         dk    r:ti          | j'        dX| j5        | ja        |M|Ntõ          |O|Pdz   |Q|Rdz   ¦  «        ¦  «         g }Stí          |S|dM|d(¬T¦  «        }| j         dk    rAti          | j'        dYt?          |S¦  «        dZ P                    d[„ |SD ¦   «         ¦  «        ¦  «         �n†|tö          k    �rw|s�Œ»t          d\|dd…         ¦  «        \  }T}U}V}W}'|'d]z	  dz  }X|'dz	  dz  }Y|'dz	  dz  }Z| j         dk    rti          | j'        d^|T|U|V|W|'|X|Y|Z¦
  «
         dM}|Xryt          d_|||d`z   …         ¦  «        \	  }[}\}]}^}_}`}a}b}c|adk    dz  }d|\dk    dz  }e|adk    dz  }f|\dk    dz  }g| j         dk    r ti          | j'        da|[|]|^|_|`|b|c|d|e|f|g¦  «         |d`z  }|Yr|d(z  }|Zr|dz  }||||Vz   …         }h||Vz  }|r,|Vr*ti          | j'        db¦  «         tù          ||h|V|dd¬c¦  «         ||||Wz   …         }i||Wz  }||k    sJ ‚|r,|Wr*ti          | j'        dd¦  «         tù          ||i|W|dd¬c¦  «         �n|tú          k    r§|dk    r!t          d|d d…         ¦  «        \  }?| _~        nM|dk    r/t          d|¦  «        \  | _~        d}?ti          | j'        de¦  «         nd}?ti          | j'        df|¦  «         |?dz  | _        |?dz	  dz  | _€        |?dz	  dz  | _�        |?d1z	  dz  | _‚        �nQ|�t          k    rR|s�Œðtí          | j„        |d|d(¬T¦  «        }|rti          | j'        dg|dz
  d(z  ¦  «         ||k    sJ dh||fz  ¦   «         ‚�
nó|�t
          k    rá|dJk    r?|dk    r9t          di|d d…         ¦  «        \  }j| _†        | _‡        | _ˆ        | _‰        | _Š        nr|d"k    sJ ‚t          d|d d	…         ¦  «        \  }j| _†        | _‡        t          dj|d	dk…         ¦  «        | _‹        �t          | j]        j�        | j‹        d¬l¦  «        | _ˆ        �t          D ]\  }k}l�t          | |k|jdz  ¦  «         |jdz  }jŒ �
n|�t           k    rgt          d|¦  «        \  }m}nd}C|nr|mdmz  |nz  }Cd|Ccxk    rdnk    s2n |s| j         dk    r!tM          do| j5        |m|nfz  | j'        ¬¦  «         dm}C|C| _‘        �	n“|�t$          k    r@t          dp|d dk…         ¦  «        \  | _“        | _”        | _•        | _–        | _—        d| _˜        �	nG|�t2          k    rÇ|s�Œú |
d|d d…         ¦  «        \  }o|odd|dJk    z  z   z  dz   |k    sJ ‚d}|dJk     rK||k     rC| jš                              |
d|||dz   …         ¦  «        d         dd:f¦  «         |dz  }||k     °C�n¶||k     r:| jš                              |
d|||d	z   …         ¦  «        ¦  «         |d	z  }||k     °:�nt|�t6          k    rÇ|s�ŒÍ |
d|d d…         ¦  «        \  }o|odd|dJk    z  z   z  dz   |k    sJ ‚d}|dJk     rK||k     rC| jœ                              |
d|||dz   …         ¦  «        d         ddqf¦  «         |dz  }||k     °C�nã||k     r:| jœ                              |
d|||d	z   …         ¦  «        ¦  «         |d	z  }||k     °:�n¡|drk    �r™|�t:          k    s|�t<          k    r| Ÿ                    ||¦  «         �nj|�t@          k    s|�tB          k    r| ¢                    |¦  «         �n;|�tF          k    r<| j]        j_        s| j]         `                    ¦   «          | ¤                    |¦  «         �nó|�tJ          k    r| ¦                    |¦  «         �nÐ|�tN          k    r| ¨                    |¦  «         �n­|�tR          k    s|�tT          k    s|�tV          k    r| ¬                    |¦  «         �nr|�tZ          k    r| ®                    |¦  «         �nO|�t^          k    r| °                    |¦  «         �n,|�tb          k    r| ²                    |¦  «         �n	|�tf          k    r| ´                    |¦  «         �næ|�tj          k    r |
d|¦  «        d         | _¶        �nÁ|�tn          k    r7 |
ds|¦  «        \  }}}(} |	||d ||  8                    |(||¦  «        ¦  «         �n~|�tp          k    rE |
dt|¦  «        \  }}}(} |	||d �ts          |¦  «        |  8                    |(||¦  «        ¦  «         �n-|�tt          k    ro |
du|dd…         ¦  «        \  }}}(t-          |d|j        p|                     ¦   «         d¬
¦  «        } |	||t           ||  8                    |(||¦  «        ¦  «         �n²|�tv          k    rL |
dv|¦  «        \  }}}(}7}8t€          t‚          f|8         }9 |	|||9|7|  8                    |(||¦  «        ¦  «         �nZ|�tx          k    rG|s�Œç |
du|d d…         ¦  «        \  }}}( |	||tª          d2|  8                    |(||¦  «        ¦  «         �n|�tz          k    r| ¾                    |¦  «         �nä|�t~          k    �rZ|s�Œ^ |
dw|ddx…         ¦  «        \  }}"}#d|cxk    r| j%        k     s$n tM          dy|| j%        fz  | j'        ¬¦  «         �Œ¬|#dz  sd}n\|dzk    r4 |
d|ddz…         ¦  «        d         }p|  8                    d |d|p¬{¦  «        }n"|d|d…         }(|  8                    |(|d¬}¦  «        }|"|#|f}$|                     |$¦  «        }%|%€;tQ          ¦   «         x||$<   }%|"dz  |%_)        |"dz	  dz  |%_*        |#dz  |%_/        ||%_0        |%| j3        |<   	 |r>tM          d~||"| j'        ¬¦  «         |% 6                    | j'        d| j5        |fz  ¬¦  «         �n}|�t€          k    r­|s�ŒÄ |
d|d d…         ¦  «        \  };}<}q|;|<k    stM          d€|;|<fz  | j'        ¬¦  «         �Œÿt;          |;|<dz   ¦  «        D ]8}|| jG        v r| jG        |         }:nt‰          ¦   «         }:|:| jG        |<   |q|:_E        Œ9|rti          | j'        d�| j5        |;|<|q¦  «         �nÄ|�t‚          k    rö|s�Œ} |
d|d d…         ¦  «        \  };}<|rti          | j'        d‚| j5        |;|<¦  «         d|;cxk    r|<cxk     rd7k    s.n tM          dƒ|;|<fz  | j'        ¬¦  «         �t…          |<d7¦  «        }<t;          |;|<¦  «        D ]h}dd1||;z
  z  z   }r||r|rd1z   …         }(|  8                    |(d|¬„¦  «        }|| jG        v r| jG        |         }:nt‰          ¦   «         }:|:| jG        |<   ||:_0        ŒinÂ|�t†          k    r´d…}s�t‰          |s|dd…         ¦  «        D ])\  }k}t�t          | |k�t‹          |td†k    ¦  «        ¦  «         Œ*t          d‡|dd…         ¦  «        \  | _†        | _‡        | _Æ        t          dj|dd|…         ¦  «        | _‹        �t          | j]        j�        | j‹        d¬l¦  «        | _ˆ        n	 �Œ2|st}          dˆ| j5        | ja        fz  ¦  «        ‚|  Ç                    ¦   «          |  È                    ¦   «          ||_        dS )‰Nr   r   é   r   z<HHHdé   z<HHHiú<HHHé   ©Úlenlenz<BBz<Hú<HHé
   r¼   z<H4xH4xié   zT*** NOTE: ROW record has row index %d; should have 0 <= rowx < %d -- record ignored!rÐ   iÿ  r~   é   é   éÿ  é   é   r"   z**ROW %d %d %d
ÚROWz--- sh #%d, rowx=%d ---©Úheaderé2   z<HHH8sHé   z<HH3s8sBzFORMULA: rowx=%d colx=%d
é   é   )ÚbrowxÚbcolxÚblahÚr1c1é   s   ÿÿz<HHBBBxxxxxHzARRAY: %d %d %d %d %d
z<HHBBxBHzSHRFMLA (sub): %d %d %d %d %d
)rû   rù   rú   rü   z@Expected SHRFMLA, ARRAY, TABLEOP* or STRING record; found 0x%04xz$Expected STRING record; found 0x%04xr€   r   z+unexpected special case (0x%02x) in FORMULAú<dz<HHHBBz<HHHHHr(   zr*** NOTE: COLINFO record has first col index %d, last %d; should have 0 <= first <= last <= 255 -- record ignored!))r   r   Úhidden)r   r   Ú	bit1_flag)rý   i   Úoutline_level)é   i   Ú	collapsedéÿ   z**COL %d %d %d
z>COLINFO sheet #%d cols %d-%d: wid=%d xf_index=%d flags=0x%04x
z===ÚDEFCOLWIDTHz*** ERROR *** STANDARDWIDTHÚSTANDARDWIDTHé"   s     z<8ié    c                 ó   — d|          S )NzF rŠ   )Úxs    rk   ú<lambda>zSheet.read.<locals>.<lambda>)  s
   € °D¸´G€ rm   ú ú.zGCW:z<%dHr&   z<HxxHz<ixxHr  ©r   r   )é   rö   é(   z+sheet %d(%r) DIMENSIONS: ncols=%d nrows=%d
zSHEET.READ: EOFzM*** Unexpected embedded BOF (0x%04x) at offset %d: version=0x%04x type=0x%04xz---> found EOF)Ú	addr_sizezARRAY:zSHRFMLA (main):z<6Hz�
*** WARNING: Ignoring CONDFMT (conditional formatting) record
*** in Sheet %d (%r).
*** %d CF record(s); needs_recalc_or_redraw = %d
*** Bounding box is %s
z#*** %d individual range(s):
*** %s
z, c              3   ó(   K  — | ]}t          |Ž V — Œd S rš   )r   )r�   Úcoordss     rk   rœ   zSheet.read.<locals>.<genexpr>¥  s'   è è € Ð!KÐ!K¸6¥+¨vÐ"6Ð!KÐ!KÐ!KÐ!KÐ!KÐ!Krm   z<BBHHié   z°
*** WARNING: Ignoring CF (conditional formatting) sub-record.
*** cf_type=%d, cmp_op=%d, sz1=%d, sz2=%d, flags=0x%08x
*** optional data blocks: font=%d, border=%d, pattern=%d
z <64x i i H H B 3x i 4x i i i 18xév   z�*** Font info: height=%d, weight=%d, escapement=%d,
*** underline=%d, colour_index=%d, esc=%d, underl=%d,
*** style=%d, posture=%d, canc=%d, cancellation=%d
z*** formula 1:
)Úreldeltarû   z*** formula 2:
zR*** WARNING: DEFAULTROWHEIGHT record len is 2, should be 4; assuming BIFF2 format
zR*** WARNING: DEFAULTROWHEIGHT record len is %d, should be 4; ignoring this record
zMERGEDCELLS: %d ranges
zMERGEDCELLS: pos=%d data_len=%dz	<HHHHxxHHú<BBBé	   )Údebugr%   é�  zHWARNING *** SCL rcd sheet %d: should have 0.1 <= num/den <= 4; got %d/%dz<HHHHBéÿÿ  é-   z<HH3sdz<HH3sHz<HH3sz<HH3sBBz<H4xH2xBé   zW*** NOTE: ROW_B2 record has row index %d; should have 0 <= rowx < %d -- record ignored!é   )Ú	cell_attrrr   rs   Útrue_xfxé   )rs   ÚROW_B2z<BBHzg*** NOTE: COLWIDTH record has first col index %d, last %d; should have first <= last -- record ignored!z&COLWIDTH sheet #%d cols %d-%d: wid=%d
z.COLUMNDEFAULT sheet #%d cols in range(%d, %d)
zd*** NOTE: COLUMNDEFAULT record has first col index %d, last %d; should have 0 <= first < last <= 256)rr   rs   )r   r   r   r   r   ó    z<HHBz Sheet %d (%r) missing EOF record)Ér2   r+   Ú
XL_SHRFMLAÚXL_ARRAYÚ
XL_TABLEOPÚXL_TABLEOP2Ú	XL_ARRAY2ÚXL_TABLEOP_B2r6   r   Úget_record_partsr*   r3   Ú_rich_text_runlist_mapÚ	XL_NUMBERÚXL_LABELSSTÚXL_CELL_TEXTÚ_sharedstringsÚgetrN   ÚXL_LABELÚBIFF_FIRST_UNICODEÚunpack_stringÚencodingÚderive_encodingÚunpack_unicodeÚ
XL_RSTRINGÚunpack_string_update_posÚ	BYTES_ORDr�   rÒ   r…   Úunpack_unicode_update_posÚXL_RKÚ	unpack_RKÚXL_MULRKÚXL_ROWrd   rÓ   r,   ÚRowinfoÚheightÚhas_default_heightr  Úoutline_group_starts_endsrÿ   Úheight_mismatchÚhas_default_xf_indexr‚   Úadditional_space_aboveÚadditional_space_belowrJ   r½   r1   ÚdumpÚXL_FORMULA_OPCODESÚfixed_BIFF2_xfindexr   r   Ú	XL_STRINGÚXL_STRING_B2r   Ú	XLRDErrorÚstring_record_contentsÚXL_CELL_BOOLEANÚXL_CELL_ERRORÚ
XL_BOOLERRÚ
XL_COLINFOÚColinfoÚwidthÚupkbitsrI   ÚXL_DEFCOLWIDTHrB   ÚXL_STANDARDWIDTHÚreprrC   ÚXL_GCWÚtupleÚgcwÚjoinÚmapÚrstripÚreplaceÚXL_BLANKÚXL_CELL_BLANKÚXL_MULBLANKÚXL_DIMENSIONÚXL_DIMENSION2r9   r:   r=   r>   r)   Úxf_listÚ_xf_epilogue_doneÚxf_epiloguer0   ÚXL_HLINKÚhandle_hlinkÚXL_QUICKTIPÚhandle_quicktipÚXL_EOFÚXL_OBJÚ
handle_objÚidÚXL_MSO_DRAWINGÚhandle_msodrawingetcÚXL_TXOÚ
handle_txoÚXL_NOTEÚhandle_noteÚ	XL_FEAT11Úhandle_feat11ÚbofcodesÚ
XL_COUNTRYÚhandle_countryÚXL_LABELRANGESÚ)unpack_cell_range_address_list_update_posrL   rK   Ú
XL_CONDFMTr   ÚXL_CFr   ÚXL_DEFAULTROWHEIGHTrD   rE   rF   rG   rH   ÚXL_MERGEDCELLSrM   Ú
XL_WINDOW2rV   rW   rX   r_   r`   rY   r
   Ú
colour_maprT   rU   ÚXL_SCLra   ÚXL_PANEÚvert_split_posÚhorz_split_posÚhorz_split_first_visibleÚvert_split_first_visibleÚsplit_active_paneÚhas_pane_recordÚXL_HORIZONTALPAGEBREAKSrO   ÚXL_VERTICALPAGEBREAKSrP   Ú	XL_FORMATÚ
XL_FORMAT2Úhandle_formatÚXL_FONTÚXL_FONT_B3B4Úhandle_fontÚXL_STYLEÚhandle_styleÚ
XL_PALETTEÚhandle_paletteÚXL_BUILTINFMTCOUNTÚhandle_builtinfmtcountÚXL_XF4ÚXL_XF3ÚXL_XF2Ú	handle_xfÚXL_DATEMODEÚhandle_datemodeÚXL_CODEPAGEÚhandle_codepageÚXL_FILEPASSÚhandle_filepassÚXL_WRITEACCESSÚhandle_writeaccessÚXL_IXFErb   ÚXL_NUMBER_B2Ú
XL_INTEGERÚfloatÚXL_LABEL_B2ÚXL_BOOLERR_B2ÚXL_BLANK_B2ÚXL_EFONTÚhandle_efontÚ	XL_ROW_B2ÚXL_COLWIDTHÚXL_COLUMNDEFAULTÚminÚXL_WINDOW2_B2ÚzipÚintr   rÎ   Úupdate_cooked_mag_factors)urg   ÚbkÚDEBUGrû   Ú	blah_rowsÚblah_formulasrü   ÚoldposÚXL_SHRFMLA_ETC_ETCÚself_put_cellÚlocal_unpackÚbk_get_record_partsÚbvrÖ   Údo_sst_rich_textÚrowinfo_sharing_dictÚtxosÚ	eof_foundÚrcÚdata_lenÚdatarr   rs   r‚   ÚdÚsstindexÚrunlistÚstrgÚposÚnrtrÚ   Ú	mulrk_rowÚmulrk_firstÚ
mulrk_lastÚbits1Úbits2ÚkeyÚrÚ
result_strÚflagsr  ÚfmlalenÚ
first_byteÚ	gotstringÚrc2Ú	data2_lenÚdata2Úrow1xÚrownxÚcol1xÚcolnxÚarray_flagsÚtokslenÚnfmlasÚ_unused_lenrÕ   Úis_errÚcelltyÚcÚ
first_colxÚ	last_colxÚiguffrZ  ÚbitsÚjÚshowgcwÚnitemsÚresultÚ	mul_firstÚmul_lastÚ	dim_tupleÚ	saved_objÚsaved_obj_idÚtxoÚversionÚboftypeÚcodeÚnum_CFsÚneeds_recalcÚbrowx1Úbrowx2Úbcolx1Úbcolx2ÚolistÚcf_typeÚcmp_opÚsz1Úsz2Ú
font_blockÚ
bord_blockÚ
patt_blockÚfont_heightÚfont_optionsÚweightÚ
escapementÚ	underlineÚfont_colour_indexÚtwo_bitsÚfont_escÚfont_underlÚ
font_styleÚpostureÚ	font_cancÚcancellationÚfmla1Úfmla2Úoptionsri   Ú_unused_defvalÚnumÚdenÚ
num_breaksrt   rS  ÚoffsetÚ
attr_namesÚcharsu                                                                                                                        rk   Úreadz
Sheet.read  sÑ%  € àˆØÐ+˜œ¨!Ò+ˆØÐ0˜Tœ^¨qÒ0ˆ	ØˆØˆØ”ˆØ”~ˆŒå�¥*­kÝ•}ð
Ðð œˆÝˆØ Ô1ÐØÔˆØÔ'ˆØ#ÐA¨Ô(AÐØ!ÐØˆØˆ	ðr
	à!4Ð!4Ñ!6Ô!6ÑˆB�˜$ð •YŠˆð +7¨,°wÀÀSÀbÀSÄ	Ñ*JÔ*JÑ'��d˜H að �˜d D¨$°°8Ñ<Ô<Ð<Ñ<Ø•{Ò"Ð"Ø1=°¸gÀtÑ1LÔ1LÑ.��d˜H hà�˜d D­,¸Ô8IÈ(Ô8SÐU]Ñ^Ô^Ð^Ø#ð KØ Ô7×;Ò;¸HÑEÔE�GØð KØCJ˜Ô2°D¸$°<Ñ@ùØ•x’�Ø'3 |°F¸DÀÀ1À¼IÑ'FÔ'FÑ$��d˜HØÕ*Ò*Ð*Ý(¨¨q°"´+Ð2UÀ×ASÒASÑAUÔAUÐ^_Ð`Ñ`Ô`�D�Då)¨$°¸!Ð<Ñ<Ô<�DØ�˜d D­,¸¸hÑGÔGÐGÑGØ•zÒ!Ñ!Ø'3 |°F¸DÀÀ1À¼IÑ'FÔ'FÑ$��d˜HØÕ*Ò*Ð*Ý 8¸¸qÀ"Ä+ÐBeÐQS×QcÒQcÑQeÔQeÐnoÐ pÑ pÔ p‘I�D˜#Ý# D¨¤IÑ.Ô.�CØ˜1‘H�CØ �GÝ#)¨#¡;¤;ð !ð !˜ØŸš¥v¨e°T¸#¸cÀ!¹e¸)´_Ñ'EÔ'EÑFÔFÐFØ˜q™˜˜Ø¥# d¡)¤)Ò+Ð+Ð+Ð+Ð+å 9¸$ÀÈ!Ð LÑ LÔ L‘I�D˜#Ý   t¨C°°A±¨I¤Ñ7Ô7¸Ô:�CØ˜1‘H�CØ �GÝ#)¨#¡;¤;ð !ð !˜ØŸš¥v¨e°T¸#¸cÀ!¹e¸)´_Ñ'EÔ'EÑFÔFÐFØ˜q™˜˜Ø¥# d¡)¤)Ò+Ð+Ð+Ð+Ø�˜d D­,¸¸hÑGÔGÐGØ;B�Ô*¨D°$¨<Ñ8Ñ8Ø•u’�Ø'3 |°F¸DÀÀ!À¼HÑ'EÔ'EÑ$��d˜HÝ˜d 1 R 4œjÑ)Ô)�Ø�˜d D¨$°°8Ñ<Ô<Ð<Ñ<Ø•x’�Ø)5¨°e¸TÀ!ÀAÀ#¼YÑ)GÔ)GÑ&�	˜;Ø*˜l¨4°°b°c°c´Ñ;Ô;‘�
Ø�Ý" ;°
¸1±Ñ=Ô=ð Fð F�DØ , ¨T°4¸¸CÀ¹E¸	´?Ñ CÔ C‘I�HÝ! $ s¨1¡u¨S°©U {Ô"3Ñ4Ô4�AØ˜1‘H�CØ!�M )¨T°4¸¸HÑEÔEÐEÐEñ	Fð
 •v’‘ð  Ð)¡Ø%1 \°*¸dÀ1ÀRÀ4¼jÑ%IÔ%IÑ"��e˜UØ˜DÐ6Ð6Ò6Ð6 4Ô#6Ò6Ð6Ð6Ð6Ýð Hà Ô!4Ð5ñ6à<@¼LðJñ Jô Jð Jñ Ø˜e�n�Ø(×,Ò,¨SÑ1Ô1�Ø�9Ý4;±I´IÐ=Ð(¨Ñ-°ð$  % v™~�A”HØ,1°R©K¸1Ñ+<�AÔ(Ø&+¨a¡i�A”OØ38¸A±:ÀÑ2B�AÔ/Ø %¨¡
¨aÑ/�A”HØ).°!©°qÑ(8�AÔ%Ø.3°q©j¸AÑ-=�AÔ*Ø"'¨2¡+°Ñ!6�A”JØ05¸±¸qÑ/@�AÔ,Ø05¸±¸qÑ/@�AÔ,ØÔ1ð (Ø%'˜œ
Ø)*�Ô  Ñ&ð7ð ð PÝ˜%  u¨e¸$¼,ÐGÑGÔGÐGØ—F’F˜4œ<Ø8¸D¼KÈÐ;NÑNð ñ Pô Pð PùàÕ)Ð)Ñ)ð ˜’8�8Ø>J¸lÈ9ÐVZÐ[\Ð]_Ð[_ÔV`Ñ>aÔ>aÑ;�D˜$ ¨*°e°eØ˜2’X�XØ>J¸lÈ9ÐVZÐ[\Ð]_Ð[_ÔV`Ñ>aÔ>aÑ;�D˜$ ¨*°e°eà@LÀÈZÐY]Ð^_Ð`bÐ^bÔYcÑ@dÔ@dÑ=�D˜$ 	¨J¸Ø $× 8Ò 8¸ÀDÈ$Ñ OÔ O�HØ ð Cå˜DœLÐ*FÈÈdÑSÔSÐSØ*˜l¨4°°b¸°e´Ñ=Ô=¸aÔ@�GÝ% b¨$¨r¨s¨s¬)°W½nØ"¨$°Q¸TðCñ Cô Cð Cà˜a ˜c”? kÒ1Ñ1Ý!*¨:°a¬=Ñ!9Ô!9�JØ! Q’‘à$%˜	ðnà46×4GÒ4GÑ4IÔ4IÑ1˜C ¨EØ"¥iÒ/Ð/°3½,Ò3FÐ3FØ,- 	 	Ø!$­¢ à$0 L°ÀÀsÈÀsÄÑ$LÔ$Lñ !Q  u¨e°U¸KÈà#0ð !QÝ$+¨D¬LÐ:SØ(-¨u°e¸UÀKñ%Qô %Qð %Qøð "%­
Ò!2Ð!2à$0 L°¸UÀ3ÀBÀ3¼ZÑ$HÔ$Hñ !L  u¨e°U¸FÀGà#0ð !SÝ$+¨D¬LÐ:[Ø(-¨u°e¸UÀFñ%Lô %Lð %Lå$5°b¸%ÀÀÀ¼*ÀgÕO_Ø-.°dÀ$ÈTð%Sñ %Sô %Sð %Søà!$Ð,>Ð!>Ð!>Ý&/Ø$fÐilÑ$lñ'nô 'nð !nð  )ð ^Ø68×6IÒ6IÑ6KÔ6KÑ3˜C ¨eØ"­9µlÐ*CÐCÐCÝ&/Ð0VÐY\Ñ0\Ñ&]Ô&]Ð ]à#×:Ò:¸5ÑAÔA˜ØŸš d¨Dµ,ÀÀhÑOÔOÐOÑOà# qš˜å )¨*°Q¬-Ñ 8Ô 8˜Ø%˜ d¨Dµ/À5È(ÑSÔSÐSÑSØ# qš˜å )¨*°Q¬-Ñ 8Ô 8˜Ø%˜ d¨Dµ-ÀÈÑQÔQÐQÑQØ# qš˜à%˜ d¨Dµ,ÀÀHÑMÔMÐMÑMå'Ð(UÐXbÑ(bÑcÔcÐcð %˜ T¨:Ñ6Ô6°qÔ9�AØ!�M $¨¨d°A°xÑ@Ô@Ð@Ñ@Ø•zÒ!Ð!Ø6B°lÀ8ÈTÐRTÐSTÐRTÌXÑ6VÔ6VÑ3��d˜H e¨Võ *­=Ð9¸&ÔA�à�˜d D¨&°%¸ÑBÔBÐBÑBØ•zÒ!Ð!ØÐ)¡Ý‘I”I�à"�l 8¨T°#°2°#¬YÑ7Ô7ñ B�
˜I q¤w°´
¸Eð ˜JÐ:Ð:Ò:Ð:¨)Ð:Ð:Ò:Ð:°sÒ:Ð:Ð:Ð:õ ð Sà% yÐ1ñ2à8<¼ðFñ Fô Fð Fð ÙÝ˜˜5ð #ñ ô ð õ # :¨y¸©{Ñ;Ô;ð ;ð ;�DØ˜c’z�z 5 5Ø-.�DÔ$ TÑ*ð;ð ð 7ÝØœØYØœ Z°¸A¼GÀQÄZÐQVñô ð ð
 —F’F˜4œ<°�FÑ6Ô6Ð6ùØ•~Ò%Ð%Ø$0 L°°t¸B¸Q¸B´xÑ$@Ô$@Ñ!�Ô ÙOØÕ'Ò'Ð'Ø˜q’=�=ÝÐ7¸Å4ÈÁ:Ä:ÐTXÔT`ÐaÑaÔaÐaØ&2 l°4¸¸b¸q¸b¼Ñ&BÔ&BÑ#�Ô"ÙSØ•v’�ØÐ)¡Ø 2’~�~�~�~Ø˜A˜a˜C”y KÒ/Ð/Ð/Ð/Ý˜u d¨1¨R¨4¤jÑ1Ô1�Ø�Ø!ð #ð #�DÝ# B™ZœZð #ð #˜ØŸ
š
 4¨!¡8Ñ,Ô,Ð,Ø ™
˜˜ð#õ ! ™:œ:�”ñ>ð •x’�ØÐ)¡Ø'3 |°F¸DÀÀ!À¼HÑ'EÔ'EÑ$��d˜Hà�˜d D­-¸¸XÑFÔFÐFÑFØ•{Ò"Ð"ØÐ)¡Ø! Q™�Ø%˜ f¨v¡o°tÑ<Ô<�Ø"(¨¨!¨¤*‘��iØ! "œ:�à ¨A¡°	Ñ!9Ò9Ð9Ð9Ð9Ø�Ý" 9¨h¸©lÑ;Ô;ð ð �DØ!�M $¨­m¸RÀÈÄÑMÔMÐMØ˜1‘H�C�Cñð •|Ò#Ð# r­]Ò':Ð':Ø˜q’=�=áð ˜’7�7Ø , ¨W°d¸1¸Q¸3´iÑ @Ô @�I�Ià , ¨W°d¸1¸R¸4´jÑ AÔ A�IØ)-Ñ&�”
˜DœJØ1:Ñ.�” ¤Ø˜Ð%Ð%¨$¬)Ô*;Ð%ÀDÄIÔD_Ð%Ø”I×)Ò)Ñ+Ô+Ð+Øð ÝØœØFØœ T¤Y°´ÀÄñô ð ùð
 •x’�Ø×!Ò! $Ñ'Ô'Ð'Ñ'Ø•{Ò"Ð"Ø×$Ò$ TÑ*Ô*Ð*Ñ*Ø•v’�Ø�ØÐE�%Ð 1¸¼ÐEÑEÔEÐEØ�	ÙØ•v’�à ŸOšO¨DÑ1Ô1�	Øð *¨Y¬\˜l™lØ%)�l‘lØ•~Ò%Ð%Ø×)Ò)¨"¨h¸Ñ=Ô=Ð=Ñ=Ø•v’�Ø—o’o dÑ+Ô+�Øð (˜<ð (Ø),�D˜Ñ&Ø#'�LùØ•w’�Ø× Ò   tÑ,Ô,Ð,Ñ,Ø•y’�Ø×"Ò" 4Ñ(Ô(Ð(Ñ(Ø•x��Ø#/ <°°t¸A¸a¸C´yÑ#AÔ#AÑ �˜Ø˜d’?�?ÝÐiØ˜rœ|¨hÑ6¸Ñ:¸GÀWÐMñNØTXÔT`ðbñ bô bð bðØ+-×+>Ò+>Ñ+@Ô+@Ñ(�D˜( DØ�v’~�~Øðð ÐD�%Ð 0°t´|ÐDÑDÔDÐDùØ•zÒ!Ð!Ø×!Ò! $Ñ'Ô'Ð'Ñ'Ø•~Ò%Ð%Ø�Ý?ØÔ)¨4°°bÀAðñ ô �õ @ØÔ)¨4°°bÀAðñ ô �ð ˜h’���‘Ø•x’�à �L °°c°r°c´Ñ;Ô;ñ A��u˜e U¨K¸à ð `Ý˜( E¨5°%¸ÀÐRVÔR^Ð_Ñ_Ô_Ð_ùà•zÒ!Ð!à �L ¨T°#°2°#¬YÑ7Ô7ñ <��u˜e U¨F°Gà ð CÝÐ+¨U°E¸5À%ÈÐVZÔVbÐcÑcÔcÐcÝ% b¨$¨r¨s¨s¬)°WÕ>NØ d°$¸TðCñ Cô Cð Cùà•zÒ!Ð!ØÐ)¡Ø˜R’x�x�x�xå˜5 $ q¨ t¤*Ñ-Ô-ñ F�˜ v¨v°v¸và”> QÒ&Ð&ÝØœð3ð œ T¤Y°¸Ý# F¨F°1©H°f¸fÀQ¹hÑGÔGñô ð ð �Ý?Ø˜4  R°1ð6ñ 6ô 6�ð ”> QÒ&Ð&ÝØœð#å˜E™
œ
ØŸ	š	Ð!KÐ!KÀUÐ!KÑ!KÔ!KÑKÔKñô ð ùð •u’‘ØÐ)¡Ý39¸(ÀDÈÈ2ÈÄJÑ3OÔ3OÑ0�˜  c¨5Ø# r™k¨QÑ.�
Ø# r™k¨QÑ.�
Ø# r™k¨QÑ.�
Ø”> QÒ&Ð&ÝØœðUð   ¨¨c°5Ø" J°
ñô ð ð �Øð åKQÐRtÐvzÐ{~ð  @Cð  DGñ  @Gð  |Gô  wHñ  LIô  LIñI�[ ,°¸
ÀIØ&¨°(¸KØ"*¨Q¢,°!Ñ!3�JØ+¨aÒ/°1Ñ4�GØ!)¨A¢°Ñ 2�IØ$0°1Ò$4¸Ñ#9�LØ”~¨Ò*Ð*ÝØ œLðSð (¨°¸YØ-¨x¸Ø&¨°¸Lñô ð ð ˜3‘J�CØð Ø˜1‘H�CØð Ø˜1‘H�CØ˜S  S¡˜[Ô)�Ø�s‘
�Øð I˜Cð IÝ˜DœLÐ*<Ñ=Ô=Ð=Ý   U¨C°¸aÀaÐHÑHÔHÐHØ˜S  S¡˜[Ô)�Ø�s‘
�Ø˜h’���Øð I˜Cð IÝ˜DœLÐ*<Ñ=Ô=Ð=Ý   U¨C°¸aÀaÐHÑHÔHÐHùØÕ*Ò*Ð*Ø˜q’=�=Ý4:¸5À$ÀrÈÀrÄ(Ñ4KÔ4KÑ1�D˜$Ô1Ð1Ø ’]�]Ý/5°d¸DÑ/AÔ/AÑ,�DÔ+Ø�DÝ˜DœLð?ñ@ô @ð @ð @ð �DÝ˜DœLð>à ñ"ô "ð "ð 48¸!±8�Ô0Ø+/°1©9¸©/�Ô'Ø7;¸q±yÀA±o�Ô3Ø7;¸q±yÀA±o�Ô3Ñ3Ø–~Ò%Ð%ØÐ)¡Ý?ØÔ% t¨Q°¸aðAñ Aô A�àð DÝ˜DœLØ2°S¸1±WÀ±NñDô Dð Dà˜h’��Ø5¸¸h¸ÑGñ '”�‘à–zÒ!Ð!Ø˜’8�8 ¨B¢ õ ˜{¨D°°"°¬IÑ6Ô6ñØØÔ/°Ô1HØÔ2ØÔAØÔ:Ð:ð  š8˜8˜8˜8õ ˜v t¨B¨Q¨B¤xÑ0Ô0ñØØÔ/°Ô1Hå/5°f¸dÀ1ÀQÀ3¼iÑ/HÔ/H�DÔ,Þ1EØœ	Ô,¨dÔ.FÈað2Qñ 2Qô 2Q�DÔ.ö  -=ð "ð "Ñ(�D˜.Þ˜D $¨°!©Ñ4Ô4Ð4Ø ‘M�G�Gñ"ð –v’�Ý! %¨Ñ.Ô.‘��SØ�Øð 0Ø! C™i¨CÑ/�FØ˜VÐ*Ð*Ò*Ð* sÒ*Ð*Ð*Ð*Øð  ¤°!Ò 3Ð 3ÝØfØ#œ{¨C°Ð5ñ6à!%¤ðñ ô ð ð
 !�FØ&,�Ô#Ñ#Ø–w’�õ ˜8 T¨"¨1¨"¤XÑ.Ô.ñØÔ'ØÔ'ØÔ1ØÔ1ØÔ*à'(�Ô$Ñ$ØÖ.Ò.Ð.ØÐ)¡Ø*˜l¨4°°b°q°b´Ñ:Ô:‘�
Ø! Q¨¨b°Bªh©Ñ%7Ñ8¸1Ñ<ÀÒHÐHÐHÐHØ�Ø˜’7�7Ø š.˜.ØÔ3×:Ò:¸L¸LÈÈtÐTWÐX[Ð\]ÑX]ÐT]ÌÑ<_Ô<_Ð`aÔ<bÐdeÐgjÐ;kÑlÔlÐlØ˜q™˜ð  š.˜.ùð  š.˜.ØÔ3×:Ò:¸<¸<ÈÐPTÐUXÐY\Ð]^ÑY^ÐU^ÔP_Ñ;`Ô;`ÑaÔaÐaØ˜q™˜ð  š.˜.ùð Ö,Ò,Ð,ØÐ)¡Ø*˜l¨4°°b°q°b´Ñ:Ô:‘�
Ø! Q¨¨b°Bªh©Ñ%7Ñ8¸1Ñ<ÀÒHÐHÐHÐHØ�Ø˜’7�7Ø š.˜.ØÔ1×8Ò8¸,¸,ÀtÈTÐRUÐVYÐZ[ÑV[ÐR[Ì_Ñ:]Ô:]Ð^_Ô:`ÐbcÐejÐ9kÑlÔlÐlØ˜q™˜ð  š.˜.ùð  š.˜.ØÔ1×8Ò8¸¸ÀfÈdÐSVÐWZÐ[\ÑW\ÐS\ÌoÑ9^Ô9^Ñ_Ô_Ð_Ø˜q™˜ð  š.˜.ùð �r’‘Øž’?�? b®JÒ&6Ð&6Ø×$Ò$ T¨2Ñ.Ô.Ð.Ñ.Øž7’]�] b®LÒ&8Ð&8Ø—N’N 4Ñ(Ô(Ð(Ñ(Øž8’^�^Øœ9Ô6ð 0Øœ	×-Ò-Ñ/Ô/Ð/Ø—O’O DÑ)Ô)Ð)Ñ)Øž:Ò%Ð%Ø×%Ò% dÑ+Ô+Ð+Ñ+ØÖ-Ò-Ð-Ø×-Ò-¨dÑ3Ô3Ð3Ñ3Øž6’\�\ R®6¢\ \°R¾6²\°\Ø—L’L Ñ&Ô&Ð&Ñ&Øž;Ò&Ð&Ø×&Ò& tÑ,Ô,Ð,Ñ,Øž;Ò&Ð&Ø×&Ò& tÑ,Ô,Ð,Ñ,Øž;Ò&Ð&Ø×&Ò& tÑ,Ô,Ð,Ñ,Øž>Ò)Ð)Ø×)Ò)¨$Ñ/Ô/Ð/Ñ/Øž7’]�]Ø!- ¨d°DÑ!9Ô!9¸!Ô!<�D”J‘JØž<Ò'Ð'Ø/;¨|¸HÀdÑ/KÔ/KÑ,�D˜$ 	¨1Ø!�M $¨¨d°A°t×7OÒ7OÐPYÐ[_ÐaeÑ7fÔ7fÑgÔgÐgÑgØž:Ò%Ð%Ø/;¨|¸HÀdÑ/KÔ/KÑ,�D˜$ 	¨1Ø!�M $¨¨d¶E¸!±H´H¸d×>VÒ>VÐW`ÐbfÐhlÑ>mÔ>mÑnÔnÐnÑnØž;Ò&Ð&Ø,8¨L¸À$ÀqÈÀsÄ)Ñ,LÔ,LÑ)�D˜$ 	Ý(¨¨q°"´+Ð2UÀ×ASÒASÑAUÔAUÐ^_Ð`Ñ`Ô`�DØ!�M $¨­l¸DÀ$×BZÒBZÐ[dÐfjÐlpÑBqÔBqÑrÔrÐrÑrØž=Ò(Ð(Ø;G¸<È	ÐSWÑ;XÔ;XÑ8�D˜$ 	¨5°&Ý-­}Ð=¸fÔE�Fà!�M $¨¨f°e¸T×=UÒ=UÐV_ÐaeÐgkÑ=lÔ=lÑmÔmÐmÑmØž;Ò&Ð&Ø#Ð-¡XØ,8¨L¸À$ÀrÈÀrÄ(Ñ,KÔ,KÑ)�D˜$ 	Ø!�M $¨­m¸RÀ×AYÒAYÐZcÐeiÐkoÑApÔApÑqÔqÐqÑqØž8’^�^Ø—O’O DÑ)Ô)Ð)Ñ)Øž9’_‘_Ø#Ð-¡XØ)5¨°jÀ$ÀqÈÀtÄ*Ñ)MÔ)MÑ&�D˜% Ø Ð:Ð:Ò:Ð: tÔ':Ò:Ð:Ð:Ð:Ýð Là# TÔ%8Ð9ñ:à@DÄðNñ Nô Nð Nñ !Ø! A™Ið VØ#%˜˜Ø! Rš˜à*˜l¨4°°b¸°e´Ñ=Ô=¸aÔ@˜Ø#'×#;Ò#;ÀdÐQUÐ\^ÐilÐ#;Ñ#mÔ#m˜˜à$(¨¨B¨¤K˜	Ø#'×#;Ò#;¸IÀtÐRTÐ#;Ñ#UÔ#U˜Ø  %¨Ð2�CØ,×0Ò0°Ñ5Ô5�AØ�yÝ8?¹	¼	ÐAÐ,¨SÑ1°AØ#(¨6¡>˜œØ05¸±¸qÑ/@˜Ô,Ø16¸±˜Ô.Ø%-˜œ
ð ./�DÔ$ TÑ*ð;ð !ð TÝ˜h¨¨e¸$¼,ÐGÑGÔGÐGØŸš˜tœ|Ø#<ÀÄÈTÐ?RÑ#Rð ñ Tô Tð Tùàž;Ò&Ð&Ø#Ð-¡Xà&˜, v¨t°B°Q°B¬xÑ8Ô8ñ 1�J 	¨5à%¨Ò2Ð2Ýð Kà)¨9Ð5ñ6à<@¼LðJñ Jô Jð Jñ !Ý & z°9¸Q±;Ñ ?Ô ?ð (ð (˜Ø 4Ô#3Ð3Ð3Ø $Ô 0°Ô 6˜A˜Aå '¡	¤	˜AØ56˜DÔ,¨TÑ2Ø"'˜œ˜Øð ÝØ œLØEØ œK¨°YÀñô ð ùð
 Ö+Ò+Ð+Ø#Ð-¡XØ,8¨L¸ÀÀRÀaÀRÄÑ,IÔ,IÑ)�J 	àð ÝØ œLØMØ œK¨°Yñô ð ð
  
Ð=Ð=Ò=Ð=¨YÐ=Ð=Ò=Ð=¸#Ò=Ð=Ð=Ð=Ýð Cà)¨9Ð5ñ6à<@¼LðJñ Jô Jð Jö %(¨	°3Ñ$7Ô$7˜	Ý & z°9Ñ =Ô =ð 	.ð 	.˜Ø!" Q¨$°Ñ*;Ñ%<Ñ!<˜Ø$(¨°°q±¨Ô$9˜	Ø#'×#;Ò#;¸IÈBÐUYÐ#;Ñ#ZÔ#Z˜Ø 4Ô#3Ð3Ð3Ø $Ô 0°Ô 6˜A˜Aå '¡	¤	˜AØ56˜DÔ,¨TÑ2Ø%-˜œ
˜
ð	.ð ž=Ò(Ð(ð"@�Jæ&)¨*°d¸1¸Q¸3´iÑ&@Ô&@ð @ð @™
˜˜dÞ  d®C°¸²Ñ,>Ô,>Ñ?Ô?Ð?Ð?õ ˜v t¨A¨b¨D¤zÑ2Ô2ñØÔ/°Ô1HØÔ7å/5°f¸dÀ2ÀbÀ5¼kÑ/JÔ/J�DÔ,Þ1EØœ	Ô,¨dÔ.FÈað2Qñ 2Qô 2Q�DÔ.øð ñer
	ðf ð 	,ÝÐ>Ø”; ¤	Ð*ñ+ñ ,ô ,ð ,à×ÒÑÔÐØ×&Ò&Ñ(Ô(Ð(ØˆŒØˆqrm   c                 óZ  — | j         }| j        }|dk    dz   }t          dd|dz
           z   |d |…         ¦  «        d         }|}|dk     r|j        p|                     ¦   «         }d}t          d¦  «        }		 |dk    r%t          ||         ¦  «        dz  }
d|
         }|dz  }t          ||d …         |¦  «        }|	|z  }	|t          |¦  «        z  }||k    r|	S ||k    rd	||fz  }t          |¦  «        ‚| 
                    ¦   «         \  }}}|t          k    rt          d
|z  ¦  «        ‚d}Œ¶)Nrö   r   ú<ÚBHr   r&   r   )Úlatin_1Ú	utf_16_lez,STRING/CONTINUE: expected %d chars, found %dz2Expected CONTINUE record; found record-type 0x%04X)r*   r)   r   r4  r5  r¾   r9  Úunicoder…   rL  r*  ÚXL_CONTINUE)rg   rÅ  r¾  rµ  ré   Únchars_expectedr  ÚencÚnchars_foundrí  ÚflagÚchunkÚmsgrÃ  râ  s                  rk   rM  zSheet.string_record_contentsæ  sj  € ØÔˆØŒYˆØ˜’(˜a‘ˆÝ   t¨F°Q©JÔ'7Ñ!7¸¸g¸v¸g¼ÑGÔGÈÔJˆØˆØ�Š7ˆ7Ø”+Ð5 ×!3Ò!3Ñ!5Ô!5ˆCØˆÝ  Ñ$Ô$ˆð	Ø�RŠxˆxÝ   f¤Ñ.Ô.°Ñ2�Ø.¨tÔ4�Ø˜!‘�Ý˜D   œM¨3Ñ/Ô/ˆEØ�e‰OˆFØ�C ™JœJÑ&ˆLØ˜Ò.Ð.Ø�Ø˜oÒ-Ð-ØEØ&¨Ð5ñ6�å ‘n”nÐ$Ø$&×$7Ò$7Ñ$9Ô$9Ñ!ˆB�˜TØ•[Ò Ð ÝØHÈ2ÑMñOô Oð OàˆFð%	rm   c                 óà  — t           p
| j        dk    }| j        rh| j        €d| _        n| j        | _        | j        }d|cxk    rdk    s0n |r%t          d| j        | j        fz  | j        ¬¦  «         | j        }|| _	        d S | j        €d| _	        n| j        | _	        | j
        }|sd}n>d|cxk    rdk    s1n |r&t          d| j        ›d	| j
        ›�| j        ¬¦  «         | j	        }|| _        d S )
Nr   r%   rë   r  zGWARNING *** WINDOW2 rcd sheet %d: Bad cached_normal_view_mag_factor: %drÐ   r$   zWARNING *** WINDOW2 rcd sheet z,: Bad cached_page_break_preview_mag_factor: )r¶  r2   r   ra   r]   r`   rÓ   r1   r,   r^   r_   )rg   rû   Úzooms      rk   r´  zSheet.update_cooked_mag_factors  sd  € õ Ð*˜œ¨Ò*ˆØÔ*ð !	=ØÔ"Ð*Ø<?�Ô9Ð9à<@Ô<O�Ô9ØÔ5ˆDØ˜$Ð$Ð$Ò$Ð$ Ò$Ð$Ð$Ð$Øð ÝØaØœ;¨Ô(JÐKñLà!œ\ðñ ô ð ð
 Ô@�Ø15ˆDÔ.Ð.Ð.ð Ô"Ð*Ø58�Ô2Ð2à59Ô5H�Ô2ØÔ<ˆDØð 
:à��Ø˜DÐ'Ð'Ò'Ð' CÒ'Ð'Ð'Ð'Øð Ý�Eàœ;˜;˜;¨Ô(QÐ(QðSà!œ\ðñ ô ð ð
 Ô9�Ø8<ˆDÔ5Ð5Ð5rm   c                 óJ  — d}|p
| j         dk    }| j        dk    ra| j        j        rB|�|}nt	          |d         ¦  «        dz  }|dk    r| j        €t          d¦  «        ‚| j        }|S dx| _        | j        _        t	          |d         ¦  «        dz  }|dk    sJ ‚| j                             |¦  «        }|�|S |rt          | j
        d|||¦  «         | j        j        s-t          d¦  «        D ]}|                      d	|d
k     ¬¦  «         Œ|                      |¬¦  «        }|S )Nr   r   r  é?   z?BIFF2 cell record has XF index 63 but no preceding IXFE record.r÷   zNew cell_attr %r at (%r, %r)
rì   s   @  r~   )r  Ústyle)r  )r2   r*   r)   rd  r9  rb   rL  rc   r0  r½   r,   r�   Úinsert_new_BIFF20_xf)	rg   r  rr   rs   r   r¶  rû   rt   Úxfx_slots	            rk   rI  zSheet.fixed_BIFF2_xfindex1  s]  € ØˆØÐ+˜œ¨!Ò+ˆØÔ Ò"Ð"ØŒyÔ ð ØÐ'Ø"�C�Cå# I¨a¤LÑ1Ô1°DÑ8�CØ˜$’;�;Ø”zÐ)Ý'Ð(iÑjÔjÐjØœ*�Cð
 �
à9;Ð;ˆDÔ ¤	Ô 6å˜Y qœ\Ñ*Ô*¨TÑ1ˆØ˜1Š}ˆ}ˆ}ˆ}ØÔ$×(Ò(¨Ñ3Ô3ˆØˆ?ØˆJØð 	[Ý�D”LÐ"BÀIÈtÐUYÑZÔZÐZØŒyÔ ð 	UÝ˜b‘z”zð Uð U�Ø×)Ò)°OÈ3ÐQSÊ8Ð)ÑTÔTÐTÐTØ×'Ò'°)Ð'Ñ<Ô<ˆØˆ
rm   c           
      ó  — d}|p
| j         dk    }| j        }t          |j        ¦  «        }|                      ||¦  «        }||_        |j                             |¦  «         |r |                     | j        d|z  d¬¦  «         |j	        |j
        vr�|j	        r)d}t          | j        ||j        |j	        |j	        ¦  «         t          |j	        t          t          d¦  «        ¦  «        }	|	|j
        |j	        <   |j                             |	¦  «         t           t"          t          t"          t$          t"          t&          t(          t*          t"          i}
|j
        |j	                 }	|
|	j                 }|| j        |j        <   || j        |<   |S )Nr   r   z=== Faked XF %d ===z======©rô   Úfooterz1ERROR *** XF[%d] unknown format key (%d, 0x%04x)
ÚGeneral)r2   r)   r…   rd  Úfake_XF_from_BIFF20_cell_attrr‚   rÒ   rG  r,   Ú
format_keyÚ
format_mapr½   r	   ÚFUNr¾   Úformat_listÚFNUÚXL_CELL_NUMBERÚFGEÚFDTÚXL_CELL_DATEÚFTXÚtyper8   rc   )rg   r  r.  r¶  rû   r)   rt   Úxfr)  ÚfmtÚcellty_from_fmttyrä  s               rk   r/  zSheet.insert_new_BIFF20_xfS  sn  € ØˆØÐ+˜œ¨!Ò+ˆØŒyˆÝ�$”,ÑÔˆØ×/Ò/°	¸5ÑAÔAˆØˆŒØŒ×Ò˜BÑÔÐØð 	WØ�GŠG�D”LÐ)>ÀÑ)DÈXˆGÑVÔVÐVØŒ= ¤Ð/Ð/ØŒ}ð CØJ�Ý˜œ cØœ R¤]°B´MñCô Cð Cå˜œ­­_¸YÑ-GÔ-GÑHÔHˆCØ-0ˆDŒO˜BœMÑ*ØÔ×#Ò# CÑ(Ô(Ð(å•Ý•Ý•Ý•Ý•ð
Ðð Œo˜bœmÔ,ˆØ" 3¤8Ô,ˆØ5;ˆÔ% b¤kÑ2Ø,/ˆÔ˜yÑ)Øˆ
rm   c                 ój  — ddl m}m}m}m}m}  |¦   «         } |¦   «         |_        d|j        _        d|j        _        d|j        _	         |¦   «         |_
        d|j
        _        d|j
        _        d|j
        _        d|j
        _         |¦   «         |_         |¦   «         |_        t#          d|¦  «        \  }	}
}|
dz  |_        |
dz  dz	  |_        t)          |j        |	d¦  «         |d	z  |j        _        d
D ]G\  }}||z  rd\  }}nd\  }}t-          |j
        |dz   |¦  «         t-          |j
        |dz   |¦  «         ŒH|j        }|dz  rd|_        nd|_        d|_        d|_        d|         |_        d|j        _        d|j        _        g d¢}|D ]}d|z   dz   }t-          ||d¦  «         Œ|S )Nr   )ÚXFÚXFAlignmentÚXFBorderÚXFBackgroundÚXFProtectionr   r  r-  éÀ   rç   ))rç   r#   Úcell_locked)rí   é€   Úformula_hiddenrí   ))rý   Úleft)rì   Úright)r  Útop)r#   Úbottom)rý   r   r  Ú_colour_indexÚ_line_stylerL  é   r  rý   )rï   r   r   )ÚformatÚfontÚ	alignmentÚborderÚ
backgroundÚ
protectionÚ_Ú_flag)Ú
formattingrE  rF  rG  rH  rI  rW  Úindent_levelÚshrink_to_fitÚtext_directionrX  Údiag_upÚ	diag_downÚdiag_colour_indexÚdiag_line_stylerY  rZ  r   r6  Ú
font_indexrT  Ú	hor_alignrU   Úfill_patternÚbackground_colour_indexÚpattern_colour_indexÚparent_style_indexÚ
vert_alignÚrotation)rg   r  r.  rE  rF  rG  rH  rI  rA  Ú	prot_bitsÚfont_and_formatÚ
halign_etcÚmaskÚsideÚcolour_indexÚ
line_styleÚbgÚ
attr_stemsÚ	attr_stemri   s                       rk   r5  z#Sheet.fake_XF_from_BIFF20_cell_attrr  s  € ØUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUÐUØˆR‰TŒTˆØ"�{‘}”}ˆŒØ$%ˆŒÔ!Ø%&ˆŒÔ"Ø&'ˆŒÔ#Ø�H‘J”JˆŒ	ØˆŒ	ÔØˆŒ	ÔØ&'ˆŒ	Ô#Ø$%ˆŒ	Ô!Ø$˜™œˆŒØ$˜™œˆŒÝ39¸&À)Ñ3LÔ3LÑ0ˆ�O ZØ'¨$Ñ.ˆŒØ(¨4Ñ/°AÑ5ˆŒÝ�”˜yð +
ñ 	ô 	ð 	ð ",¨dÑ!2ˆŒÔØ\ð 	Að 	A‰JˆD�$Ø˜DÑ ð 0Ø+/Ñ(�˜j˜jà+/Ñ(�˜jÝ�B”I˜t oÑ5°|ÑDÔDÐDÝ�B”I˜t mÑ3°ZÑ@Ô@Ð@Ð@ØŒ]ˆØ˜Ñð 	 Ø ˆBŒOˆOàˆBŒOØ%&ˆÔ"Ø"#ˆÔØ +¨EÔ 2ˆÔØ"#ˆŒÔØ !ˆŒÔð
ð 
ð 
ˆ
ð $ð 	!ð 	!ˆIØ˜‘? WÑ,ˆDÝ�B˜˜aÑ Ô Ð Ð Øˆ	rm   c                 ó2   — | j         st          d¦  «        ‚d S )Nz9Feature requires open_workbook(..., formatting_info=True))r3   rL  rž   s    rk   r�   zSheet.req_fmt_info¦  s)   € ØÔ#ð 	YÝÐWÑXÔXÐXð	Yð 	Yrm   c                 óÂ  — |                       ¦   «          | j        dk    r3| j                             |d¦  «        }|�|j        S | j        �| j        S n{| j        dk    rA| j        |         r| j        �| j        S nT| j                             |d¦  «        }|�|j        S n/| j        dk    r$| j                             |d¦  «        }|�|j        S | j        �
| j        dz  S dS )a  
        Determine column display width.

        :param colx:
          Index of the queried column, range 0 to 255.
          Note that it is possible to find out the width that will be used to
          display columns with no cell information e.g. column IV (colx=255).

        :return:
          The column width that will be used for displaying
          the given column by Excel, in units of 1/256th of the width of a
          standard character (the digit zero in the first font).

        .. versionadded:: 0.6.1
        r&   Nr  rö   r(   i   )r�   r*   rI   r0  rS  rC   rZ  rB   )rg   rs   Úcolinfos      rk   Úcomputed_column_widthzSheet.computed_column_widthª  s  € ð  	×ÒÑÔÐØÔ Ò"Ð"ØÔ&×*Ò*¨4°Ñ6Ô6ˆGØÐ"Ø”}Ð$ØÔ!Ð-ØÔ)Ð)ð .àÔ "Ò$Ð$ØŒx˜Œ~ð )ØÔ%Ð1ØÔ-Ð-ð 2ð Ô*×.Ò.¨t°TÑ:Ô:�ØÐ&Ø"œ=Ð(ð 'àÔ "Ò$Ð$ØÔ&×*Ò*¨4°Ñ6Ô6ˆGØÐ"Ø”}Ð$àÔÐ'ØÔ# cÑ)Ð)Øˆwrm   c                 ó
  — t           rt          d| j        ¬¦  «         t          |¦  «        }t	          ¦   «         }t          d|d d…         ¦  «        \  |_        |_        |_        |_	        }}}|dk    sJ ‚|dk    sJ ‚t           rt          d|z  | j        ¬¦  «         d}d„ }|d	z  r |||¦  «        \  |_
        }|d
z  r |||¦  «        \  |_        }|dz  �r±|dz  �s«t          d|||dz   …         ¦  «        \  }	t           rt          | j        d|	¦  «         |dz  }|	dk    �r/t          d¦  «        |_        t          d|||dz   …         ¦  «        d         }
|dz  }t          ||||
z   …         d¦  «        |_        t           r.t          | j        d|j        t          |j        ¦  «        ¦  «         |j                             d¦  «        }t           rt          d|z  | j        ¬¦  «         |j        d |…         |_        d|dz   z  }||z  }|
|z
  }||||z   …         }||z  }t           rt          | j        d|j        ||
||¦  «         |dv sJ ‚�nš|	dk    �rt          d¦  «        |_        t          d|||dz   …         ¦  «        \  }}
|dz  }d |z  ||||
z   dz
  …         z   }t           rt          | j        d!||¦  «         ||
z  }|d"z  }t          d#|||dz   …         ¦  «        d         }t           rt          d$|z  | j        ¬¦  «         |dz  }|rSt          d#|||dz   …         ¦  «        d         }|dz  }|dz  }t          ||||z   …         d¦  «        }||z  }||_        nƒ||_        n{t          | j        d%|	¦  «         nd|d&z  d'k    r)t          d(¦  «        |_         |||¦  «        \  |_        }n2|d)z  d*k    rt          d+¦  «        |_        nt          d,¦  «        |_        |d*z  r |||¦  «        \  |_        }t           r*|                     d-¬.¦  «         t          d/||fz  ¦  «         ||z
  }|dk    r@t          | j        d0|j        dz   |j        dz   |t)          || d …         ¦  «        ¦  «         n|dk     rt+          d1¦  «        ‚| j                             |¦  «         t1          |j        |j        dz   ¦  «        D ].}t1          |j        |j	        dz   ¦  «        D ]}|| j        ||f<   ŒŒ/d S )2Nz
=== hyperlink ===rÐ   z<HHHH16s4sir  s   ÐÉêyùºÎŒ‚ ª K©s      zoptions: %08Xc                 ó¬   — t          d| ||dz   …         ¦  «        d         dz  }|dz  }t          | |||z   …         d¦  «        d d…         }||z  }||fS )Nú<Lrä   r   r   úUTF-16ler"   )r   r"  )ÚbufÚofsÚnbÚucs       rk   Úget_nul_terminated_unicodez6Sheet.handle_hlink.<locals>.get_nul_terminated_unicodeÝ  sf   € Ý˜˜c # c¨!¡e )œnÑ-Ô-¨aÔ0°1Ñ4ˆBØ�1‰HˆCÝ˜˜S  R¡˜Zœ¨*Ñ5Ô5°c°r°cÔ:ˆBØ�2‰IˆCØ�s�7ˆNrm   r÷   rL  r   r(   z<16srì   z	clsid=%r
s   àÉêyùºÎŒ‚ ª K©Úurlr}  rä   r   r~  zinitial url=%r len=%d
ú z	endpos=%dr   z9url=%r
extra=%r
nbytes=%d true_nbytes=%d extra_nbytes=%d
)é   r   s         À      Fz
local filez<Hirç   s   ..\zuplevels=%d shortpath=%r
r†  ú<izsz=%dz*** unknown clsid %r
ic  i  Úuncik  rý   ÚworkbookÚunknownz... object dump ...ró   zoffset=%d record_size=%dz=*** WARNING: hyperlink at R%dC%d has %d extra data bytes: %s
z:Bug or corrupt file, send copy of input file for debugging)r¶  rÓ   r,   r…   Ú	Hyperlinkr   ÚfrowxÚlrowxÚfcolxÚlcolxÚdescÚtargetr½   r¾   r@  r"  Úurl_or_pathÚfindÚtextmarkrG  ÚREPRrL  rZ   rÒ   r�   r[   )rg   rÅ  Úrecord_sizer!   Úguid0Údummyr  r  rƒ  ÚclsidÚnbytesÚendposÚtrue_nbytesÚextra_nbytesÚ
extra_dataÚuplevelsÚ	shortpathÚszÚxlÚextended_pathrr   rs   s                         rk   rh  zSheet.handle_hlinkÒ  sè  € åÐA•%Ð-°D´LÐAÑAÔAÐAÝ˜$‘i”iˆÝ‰KŒKˆÝDJÈ=ÐZ^Ð_bÐ`bÐ_bÔZcÑDdÔDdÑAˆŒ�”˜!œ' 1¤7¨E°5¸'ØÐ[Ò[Ð[Ð[Ð[ØÐ+Ò+Ð+Ð+Ð+ÝÐE•%˜¨'Ñ1¸¼ÐEÑEÔEÐEØˆð	ð 	ð 	ð �T‰>ð 	FØ7Ð7¸¸fÑEÔE‰NˆAŒF�Fà�T‰>ð 	HØ9Ð9¸$ÀÑGÔGÑˆAŒH�fà�a‰Kñ <	0 '¨E¡/ñ <	0å˜F D¨°¸±Ð);Ô$<Ñ=Ô=‰FˆEÝÐA•g˜dœl¨L¸5ÑAÔAÐAØ�b‰LˆFØÐ[Ò[Ñ[õ )¨Ñ/Ô/�”Ý  d¨6°&¸1±*Ð+<Ô&=Ñ>Ô>¸qÔA�Ø˜!‘�Ý '¨¨V°F¸V±OÐ-CÔ(DÀjÑ QÔ Q�”ÝÐm�' $¤,Ð0IÈ1Ì=ÕZ]Ð^_Ô^kÑZlÔZlÑmÔmÐmØœ×+Ò+¨FÑ3Ô3�ÝÐH�% ¨fÑ 4¸4¼<ÐHÑHÔHÐHØ !¤¨g¨v¨gÔ 6�”Ø 6¨A¡:Ñ.�Ø˜+Ñ%�Ø%¨Ñ3�Ø! &¨°,Ñ)>Ð">Ô?�
Ø˜,Ñ&�Ýð ÝØœØVØœ z°6¸;Èñô ð ð
 $ wÐ.Ð.Ð.Ð.Ñ.ØÐ]Ò]Ñ]å(¨Ñ6Ô6�”Ý#)¨%°°f¸VÀa¹ZÐ6GÔ1HÑ#IÔ#IÑ �˜&Ø˜!‘�Ø# hÑ.°°f¸VÀf¹_ÈqÑ=PÐ6PÔ1QÑQ�	ÝÐb�' $¤,Ð0LÈhÐXaÑbÔbÐbØ˜&Ñ �Ø˜"‘�å˜D $ v¨f°q©jÐ'8Ô"9Ñ:Ô:¸1Ô=�ÝÐ@�% ¨"¡°4´<Ð@Ñ@Ô@Ð@Ø˜!‘�Øð .Ý  d¨6°&¸1±*Ð+<Ô&=Ñ>Ô>¸qÔA�BØ˜a‘K�FØ˜a‘K�FÝ$+¨D°¸À¹Ð1CÔ,DÀjÑ$QÔ$Q�MØ˜b‘L�FØ$1�A”M�Mà$-�A”M�Mõ ˜œÐ&>ÀÑFÔFÐFÐFØ�u‰_ Ò%Ð%Ý$ UÑ+Ô+ˆAŒFØ$>Ð$>¸tÀVÑ$LÔ$LÑ!ˆAŒM˜6˜6Ø�u‰_ Ò!Ð!Ý$ ZÑ0Ô0ˆAŒFˆFå$ YÑ/Ô/ˆAŒFà�S‰=ð 	JØ!;Ð!;¸DÀ&Ñ!IÔ!IÑˆAŒJ˜åð 	FØ�FŠFÐ/ˆFÑ0Ô0Ð0ÝÐ,°¸Ð/DÑDÑEÔEÐEà" VÑ+ˆØ˜!ÒÐÝØ”ØPØ”˜!‘Ø”˜!‘ØÝ�T˜<˜-˜.˜.Ô)Ñ*Ô*ñô ð ð ð ˜AÒÐÝÐXÑYÔYÐYàÔ×"Ò" 1Ñ%Ô%Ð%Ý˜1œ7 A¤G¨A¡IÑ.Ô.ð 	3ð 	3ˆDÝ˜qœw¨¬°©	Ñ2Ô2ð 3ð 3�Ø12�Ô" 4¨ :Ñ.Ð.ð3ð	3ð 	3rm   c                 ó*  — t          d|d d…         ¦  «        \  }}}}}|t          k    sJ ‚| j        sJ ‚| j        d         }||||f|j        |j        |j        |j        fk    sJ ‚|dd …         dk    sJ ‚t          |dd…         d¦  «        |_        d S )Nú<5Hrë   r"   r¼   s     r!  )	r   ri  rZ   rŒ  r�  rŽ  r�  r"  Úquicktip)rg   rÅ  ÚrcxrŒ  r�  rŽ  r�  r!   s           rk   rj  zSheet.handle_quicktipB  s²   € Ý*0°¸¸S¸b¸S¼	Ñ*BÔ*BÑ'ˆˆU�E˜5 %Ø•kÒ!Ð!Ð!Ð!ØÔ"Ð"Ð"Ð"ØÔ Ô#ˆØ�u˜e UÐ+°´¸¼À!Ä'È1Ì7Ð/SÒSÐSÐSÐSØ�B�C�CŒy˜KÒ'Ð'Ð'Ð'Ý˜T " R %œ[¨+Ñ6Ô6ˆŒ
ˆ
ˆ
rm   c           	      ó‚  — t           sd S d}| j        dk     rd S t          ¦   «         }d}||k     rçt          d|||dz   …         ¦  «        \  }}}	|dz  }
|dz	  dz  }|
dk    rd}n|	}|r6t	          |||dz   d| j        ¬	¦  «         t          | j        d
|||
|	|	¦  «         |dk    rI|dk    sJ ‚t          d||dz   |dz   |z   …         ¦  «        \  |_        |_        |_	        |_
        |_        n|dk    r|	dk    sJ ‚|dz   |k    sJ ‚n	 ||dz   z  }||k     °ç||k    sJ ‚|r|                     | j        dd¬¦  «         d S d S )Nr   r&   r   z<HHIrý   r~   rä   rï   ©ÚbaseÚfoutz.fbt:0x%04X  inst:%d  ver:0x%X  cb:%d (0x%04X)
ið  r  z<Hiiiiið  z=== MSODrawing ===r  r2  )ÚOBJ_MSO_DEBUGr*   Ú
MSODrawingr   Úhex_char_dumpr,   r½   Ú
anchor_unkÚanchor_colx_loÚanchor_rowx_loÚanchor_colx_hiÚanchor_rowx_hirG  )rg   ÚrecidrÄ  rÅ  r¶  ÚorÊ  ÚtmpÚfbtÚcbÚverÚinstÚndbs                rk   rp  zSheet.handle_msodrawingetcK  sÈ  € Ýð 	ØˆFØˆØÔ˜rÒ!Ð!ØˆFÝ‰LŒLˆØˆØ�HŠnˆnÝ! &¨$¨s°3°q±5¨y¬/Ñ:Ô:‰LˆC��bØ˜‘)ˆCØ˜1‘H Ñ%ˆDØ�cŠzˆzØ��à�Øð ,Ý˜d C¨¨q©°q¸t¼|ÐLÑLÔLÐLÝ˜œØEØ˜˜s B¨ñ,ô ,ð ,ð �fŠ}ˆ}Ø˜b’y�y�y�yõ 7=¸XÀtÈCÐPQÉEÐRUÐVWÑRWÐX[ÑR[ÈOÔG\Ñ6]Ô6]ñ4�”ØÔ  !Ô"2ØÔ  !Ô"2Ð"2Ø˜’�à˜Q’w�w�w�wØ˜Q‘w (Ò*Ð*Ð*Ð*Ð*àØ�3˜‘7‰NˆCð1 �HŠnˆnð6 ˜(’?�?�?�?Øð 	KØ�FŠF�4”<Ð(<ÀcˆFÑJÔJÐJÐJÐJð	Kð 	Krm   c                 ó|  — | j         dk     rd S t          ¦   «         }t          |¦  «        }d}t          rt	          | j        d|¦  «         ||k     �rÆt          d|||dz   …         ¦  «        \  }}t          r4t	          | j        d|||¦  «         t          |||dz   d| j        ¬¦  «         |dk    r*|dk    r|d	k    s| j        rt	          | j        d
¦  «         d S |dk    rF|dk    sJ ‚t          d||dz   |dz   …         ¦  «        \  |_	        |_
        }t          ||d¦  «         nâ|dk    rZ|||…         d||z
  z  k    rn×d}t	          | j        d|z  ¦  «         t          ||||z
  d| j        ¬¦  «         t          |¦  «        ‚|dk    rIt          d||dz   |d	z   …         ¦  «        }	t          |	d¦  «        D ]\  }
}t          |d|z   |
¦  «         Œn3|dk    rt          rt	          | j        d¦  «         n|dk    r	|j        rnn	 ||dz   z  }||k     �°Æ	 t          r|                     | j        dd¬¦  «         |S )Nr&   r   z... OBJ record len=%d...
rê   rä   zpos=%d ft=0x%04X cb=%d
r©  r  r  z6*** WARNING Ignoring antique or corrupt OBJECT record
ræ   rë   ))r   r   Úlocked)rä   rì   Ú	printable)rý   r(   Ú
autofilter)r  é   Úscrollbar_flag)r!  i    Úautofill)rå   r'   Úautoliner#  z'Unexpected data at end of OBJECT recordz*** ERROR %s
r  r¥  rý   )rÕ   r°  ÚmaxÚincÚpageÚ
scrollbar_r!  z.*** OBJ record has ft==0x0D 'notes' structure
é   z=== MSOBj ===r  r2  )r*   ÚMSObjr…   r¬  r½   r,   r   r®  r2   r@  rn  rT  rL  r²  rU   r¿  rG  )rg   rÅ  rµ  rÄ  rÊ  Úftr¸  Úoption_flagsr)  ÚvaluesrÕ   Útags               rk   rm  zSheet.handle_objs  s´  € ØÔ˜rÒ!Ð!Ø�4Ý‰GŒGˆÝ�t‘9”9ˆØˆÝð 	JÝ�D”LÐ">ÀÑIÔIÐIØ�HŠn‰nÝ˜E 4¨¨C°©E¨	¤?Ñ3Ô3‰FˆB�Ýð LÝ˜œÐ&@À#ÀrÈ2ÑNÔNÐNÝ˜d C¨¨a©°a¸d¼lÐKÑKÔKÐKØ�aŠxˆx  t¢ °°b²°Ø”>ð eÝ˜DœLÐ*cÑdÔdÐdØ�tØ�TŠzˆzØ˜a’x�x�x�xÝ-3°F¸DÀÀQÁÀsÈ2ÁvÀÔ<NÑ-OÔ-OÑ*�”˜œ˜lÝ˜˜<ð *ñ ô ð ð ð �t’�Ø˜˜H˜Ô%¨°(¸S±.Ñ)AÒAÐAàØ?�Ý˜œÐ&6¸Ñ&<Ñ=Ô=Ð=Ý˜d C¨°C©¸aÀdÄlÐSÑSÔSÐSÝ ‘n”nÐ$Ø�t’�Ý  t¨C°©E°#°b±&¨LÔ'9Ñ:Ô:�Ý"% fÐ.TÑ"UÔ"Uð :ð :‘J�E˜3Ý˜A˜|¨cÑ1°5Ñ9Ô9Ð9Ð9ð:à�t’�å Ðj¥'¨$¬,Ð8iÑ"jÔ"jÐ"jøØ�t’�Ø”<ð Øðð Ø�2˜‘6‰MˆCðQ �HŠn‰nðV Ýð 	FØ�FŠF�4”<¨ÀˆFÑEÔEÐEØˆrm   c                 óž  — t           r;t          | j        d¦  «         t          |dt	          |¦  «        d| j        ¬¦  «         t          ¦   «         }t	          |¦  «        }| j        dk     �r{t          d|d d…         ¦  «        \  |_        |_	        }t	          |¦  «        dz
  }||k    sJ ‚|dd …         g}||z  }|dk    r€| j
                             ¦   «         \  }}	}
|t          k    sJ ‚t          d|
d d…         ¦  «        \  }}|dk    sJ ‚||	dz
  k    sJ ‚|                     |
dd …         ¦  «         ||z  }|dk    °€|dk    sJ ‚| j
        j        p| j
                             ¦   «         }t!          d	                     |¦  «        |¦  «        |_        d
g|_        d|_        d|_        d|_        t/          d¦  «        |_        d |_        || j        |j        |j	        f<   d S t          d|d d…         ¦  «        \  |_        |_	        }|_        |dz	  dz  |_        |dz	  dz  |_        |dz	  dz  |_        t7          |dd¬¦  «        \  |_        }||z
  dv sJ ‚t           r|                     | j        dd¬¦  «         |                     |j        ¦  «        }|r0|j        |_        |j        |_        || j        |j        |j	        f<   d S d S )Nz... NOTE record ...
r   r©  r&   ræ   rç   z<H2xHr  rm   r  r   z<4Hrý   r   rí   r   rè   )r   r   z=== Note ===r  r2  )r¬  r½   r,   r®  r…   ÚNoter*   r   rr   rs   r)   r*  rs  rÒ   r4  r5  r"  r[  ÚtextÚrich_text_runlistÚshowÚ
row_hiddenÚ
col_hiddenr¾   ÚauthorÚ
_object_idr\   r:  rG  r0  )rg   rÅ  rÁ  rµ  rÄ  Úexpected_bytesr�  ÚpiecesrØ  rÙ  rÚ  Ú
dummy_rowxr%  rË  r›  ró  s                   rk   rt  zSheet.handle_note«  s  € Ýð 	IÝ�D”LÐ"9Ñ:Ô:Ð:Ý˜$ ¥3 t¡9¤9°1¸4¼<ÐHÑHÔHÐHÝ‰FŒFˆÝ�t‘9”9ˆØÔ˜rÒ!Ñ!Ý-3°F¸DÀÀ!À¼HÑ-EÔ-EÑ*ˆAŒF�A”F˜NÝ�T‘”˜Q‘ˆBØ˜Ò'Ð'Ð'Ð'Ø˜1˜2˜2”h�ZˆFØ˜bÑ ˆNØ  1Ò$Ð$Ø(,¬	×(BÒ(BÑ(DÔ(DÑ%��Y Ø�g’~�~�~�~Ý!'¨°°r¸°r´Ñ!;Ô!;‘�
˜BØ! VÒ+Ð+Ð+Ð+Ø˜Y¨™]Ò*Ð*Ð*Ð*Ø—’˜e A B BœiÑ(Ô(Ð(Ø "Ñ$�ð ! 1Ò$Ð$ð " QÒ&Ð&Ð&Ð&Ø”)Ô$ÐC¨¬	×(AÒ(AÑ(CÔ(CˆCÝ˜SŸXšX fÑ-Ô-¨sÑ3Ô3ˆAŒFØ#) (ˆAÔØˆAŒFØˆAŒLØˆAŒLÝ& rÑ*Ô*ˆAŒHØˆAŒLØ12ˆDÔ˜qœv q¤v˜~Ñ.ØˆFå5;¸EÀ4ÈÈÈÄ8Ñ5LÔ5LÑ2ˆŒ�”˜ a¤lØ !Ñ# qÑ(ˆŒØ$¨Ñ)¨QÑ.ˆŒØ$¨Ñ)¨QÑ.ˆŒõ 5°T¸1ÀQÐGÑGÔGÑˆŒ�&ð ˜6Ñ! fÐ,Ð,Ð,Ð,Ýð 	EØ�FŠF�4”<¨ÀˆFÑDÔDÐDØ�hŠh�q”|Ñ$Ô$ˆØð 	3Ø”XˆAŒFØ"%Ô"7ˆAÔØ12ˆDÔ˜qœv q¤v˜~Ñ.Ð.Ð.ð	3ð 	3rm   c                 óº  — | j         dk     rd S t          ¦   «         }d}t          |¦  «        }t          ||d |…         ¦  «        \  }|_        }}}|_        ||d …         |_        t          ||d¦  «         d}	t          d¦  «        |_	        |	|k     r®| j
                             ¦   «         \  }
}}|
t          k    sJ ‚t          rt          |d|d| j        ¬¦  «         t!          |d         ¦  «        }|dz
  }|r|dz  dk    sJ ‚|dz  }t#          |d|¬	¦  «        \  }}||k    sJ ‚|xj	        |z  c_	        |	|z  }	|	|k     °®g |_        d}||k     r‰| j
                             ¦   «         \  }}}|t          k    sJ ‚|d
z  dk    sJ ‚t'          d|d
¦  «        D ]<}t          d|||d
z   …         ¦  «        }|j                             |¦  «         |d
z  }Œ=||k     °‰|j        r=|j        d         d         |k    r&|j        d= |j        r|j        d         d         |k    °&t          r8|                     | j        dd¬¦  «         t-          |j        | j        ¬¦  «         |S )Nr&   z<HH6sHHH))r€   rå   Ú
horz_align)rç   ép   rk  )r  rÀ  Ú	lock_text)rå   r'   Ú	just_last)r~   i €  Úsecret_editr   r   r©  r   r   )Ú	known_lenrý   z<HH4xr"   z=== MSTxo ===r  r2  rÐ   )r*   ÚMSTxor   r   ÚrotÚ	ifntEmptyÚfmlarT  r¾   rÐ  r)   r*  r#  r¬  r®  r,   r9  r:  rÑ  r�   rÒ   rG  rÓ   )rg   rÅ  rµ  rB  ÚfmtsizerË  ÚcontrolInfoÚcchTextÚcbRunsÚtotcharsrØ  rÙ  rÚ  r�  ÚncharsÚutextr›  ÚtotrunsÚrc3Ú	data3_lenÚdata3rÊ  Úruns                          rk   rr  zSheet.handle_txoÞ  sÓ  € ØÔ˜rÒ!Ð!ØˆFÝ‰GŒGˆØˆÝ˜3‘-”-ˆÝIOÐPSÐUYÐZbÐ[bÐZbÔUcÑIdÔIdÑFˆ�a”e˜[¨'°6¸1¼;Ø�g�h�h”ˆŒÝ��<ð "
ñ 	ô 	ð 	ð ˆÝ  Ñ$Ô$ˆŒØ˜Ò Ð Ø$(¤I×$>Ò$>Ñ$@Ô$@Ñ!ˆC�˜EØ�+Ò%Ð%Ð%Ð%Ýð NÝ˜e Q¨	¸ÀÄÐMÑMÔMÐMÝ˜5 œ8Ñ$Ô$ˆBØ ‘]ˆFØð Ø ‘z Q’���Ø˜1‘�Ý5°e¸QÈ&ÐQÑQÔQ‰MˆE�6Ø˜YÒ&Ð&Ð&Ð&ØˆFŒF�e‰OˆFŒFØ˜ÑˆHð ˜Ò Ð ð !ˆÔØˆØ˜ÒÐØ$(¤I×$>Ò$>Ñ$@Ô$@Ñ!ˆC�˜Eà�+Ò%Ð%Ð%Ð%Ø˜q‘= AÒ%Ð%Ð%Ð%Ý˜a ¨AÑ.Ô.ð ð �Ý˜W e¨C°°A±¨IÔ&6Ñ7Ô7�ØÔ#×*Ò*¨3Ñ/Ô/Ð/Ø˜1‘��ð ˜ÒÐð Ô!ð 	( aÔ&9¸"Ô&=¸aÔ&@ÀGÒ&KÐ&KØÔ# BÐ'ð Ô!ð 	( aÔ&9¸"Ô&=¸aÔ&@ÀGÒ&KÐ&Kåð 	:Ø�FŠF�4”<¨ÀˆFÑEÔEÐEÝ�!Ô%¨D¬LÐ9Ñ9Ô9Ð9Øˆrm   c                 ó�  — t           sd S t          d|dd…         ¦  «        \
  }}}}}}}}	}
}|dk    sJ ‚|
dk    sJ ‚|dk    sJ ‚|dk    sJ ‚|dk    sJ ‚||k    sJ ‚t          | j        d||||	¦  «         t          d|dd…         ¦  «        \  }}}}}}}}}}}}}}}t          d	|||||||||||||||fz  | j        ¬
¦  «         d S )Nz<HH8sHBiHiH8sr   é#   rî   ir  z3FEAT11: grbitFrt=%d  Ref0=%r cref=%d cbFeatData=%d
z<iiiiiiHHiiiii16sHée   zÆlt=%d  idList=%d crwHeader=%d  crwTotals=%d  idFieldNext=%d cbFSData=%d
rupBuild=%d  unusedShort=%d listFlags=%04X  lPosStmCache=%d  cbStmCache=%d
cchStmCache=%d  lem=%d  rgbHashParam=%r  cchName=%drÐ   )r¬  r   rÓ   r,   )rg   rÅ  ÚrtÚgrbitFrtÚRef0ÚisfÚfHdrÚ	reserved0ÚcrefÚ
cbFeatDataÚ	reserved1ÚRef1ÚltÚidListÚ	crwHeaderÚ	crwTotalsÚidFieldNextÚcbFSDataÚrupBuildÚunusedShortÚ	listFlagsÚlPosStmCacheÚ
cbStmCacheÚcchStmCacheÚlemÚrgbHashParamÚcchNames                              rk   rv  zSheet.handle_feat11  sX  € Ýð 	ØˆFõ W]Ð]lÐnrÐstÐuwÐswÔnxÑVyÔVyÑSˆˆH�d˜C  y°$¸
ÀIÈtØ˜AŠ~ˆ~ˆ~ˆ~Ø˜AŠ~ˆ~ˆ~ˆ~Ø�aŠxˆxˆxˆxØ�UŠ{ˆ{ˆ{ˆ{Ø�qŠyˆyˆyˆyØ�tŠ|ˆ|ˆ|ˆ|ÝˆdŒlÐRÐT\Ð^bÐdhÐjtÑuÔuÐuõ( 4:Ð:NÐPTÐUWÐX]ÐU]ÔP^Ñ3_Ô3_ñ	1ˆˆV�Y 	¨;¸Ø�+˜y¨,¸
Ø�S˜,¨Ýð Bð �F˜I y°+¸xØ˜+ i°¸zØ˜S ,°ðE9ñ9ð
 @D¼|ð	Mñ 	Mô 	Mð 	Mð 	Mð 	Mrm   c                 óB   — d                      | j        | j        ¦  «        S )NzSheet {:>2}:<{}>)rU  r1   r0   rž   s    rk   Ú__repr__zSheet.__repr__@  s   € Ø!×(Ò(¨¬°d´iÑ@Ô@Ð@rm   )r   Nrš   )r   )FÚ__name__Ú
__module__Ú__qualname__Ú__doc__r0   r)   r9   r:   rI   rJ   rK   rL   rM   rN   rB   rC   rD   rE   rF   rG   rH   rS   rZ  rZ   r[   r\   r„  r…  r†  r‡  rˆ  r‰  rO   rP   rl   ru   ry   r|   ro   r‡   r‘   r—   rŸ   Ú__iter__r¤   r¦   rª   r³   r·   rº   ÚcolrÎ   r5   r7   r  rM  r´  rI  r/  r5  r�   rz  rh  rj  rp  rm  rt  rr  rv  r  rŠ   rm   rk   r   r   2   se  € € € € € ðð ð& €Dð €Dð €Eð €Eð €Kð €Kð" Ðð Ðð6 €Lð0 Ðð  €Kð €Mð
 Ðð
 #'Ðð
 Ðð
 &*Ð"ð
 &*Ð"ð €Jð €Cð €Nð €Mð €Mð €Nð €Nð  !Ðð  !Ðð Ðð €Oð  Ðð ÐðM#ð M#ð M#ðh
ð 
ð 
ð-ð -ð -ð,ð ,ð ,ðð ð ð>,ð ,ð ,ð
ð 
ð 
ð+ð +ð +ð@ð @ð @ð
 €Hð;ð ;ð ;ð ;ð<ð <ð <ð <ð
ð 
ð 
ð 
ð$
ð 
ð 
ð 
ð$
ð 
ð 
ð 
ð$
ð 
ð 
ð 
ð$ €Cð
;Jð ;Jð ;Jðz9ð 9ð 9ðvFð Fð FðVOð Oð Oðbð ð ð<+=ð +=ð +=ðZ ð  ð  ð  ðDð ð ð ð>2ð 2ð 2ð 2ðhYð Yð Yð&ð &ð &ðPn3ð n3ð n3ð`7ð 7ð 7ð%Kð %Kð %KðP6ð 6ð 6ðp13ð 13ð 13ðf0ð 0ð 0ðd.Mð .Mð .Mð`Að Að Að Að Arm   r   c                   ó   — e Zd ZdS )r­  N©r  r  r  rŠ   rm   rk   r­  r­  D  ó   € € € € € Ø€Drm   r­  c                   ó   — e Zd ZdS )rÉ  Nr  rŠ   rm   rk   rÉ  rÉ  H  r  rm   rÉ  c                   ó   — e Zd ZdS )rá  Nr  rŠ   rm   rk   rá  rá  L  r  rm   rá  c                   óV   — e Zd ZdZ ed¦  «        ZdZdZdZdZ	dZ
dZ ed¦  «        ZdS )rÏ  z’
    Represents a user "comment" or "note".
    Note objects are accessible through :attr:`Sheet.cell_note_map`.

    .. versionadded:: 0.7.2
    r   r   N)r  r  r  r  r¾   rÕ  rÔ  rs   rÑ  rÓ  rr   rÒ  rÐ  rŠ   rm   rk   rÏ  rÏ  P  se   € € € € € ðð ð ˆ_˜RÑ Ô €Fð €Jð €Dð
 Ðð €Jð €Dð €Dð ˆ?˜2ÑÔ€D€D€Drm   rÏ  c                   ó:   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdS )r‹  z½
    Contains the attributes of a hyperlink.
    Hyperlink objects are accessible through :attr:`Sheet.hyperlink_list`
    and :attr:`Sheet.hyperlink_map`.

    .. versionadded:: 0.7.2
    N)r  r  r  r  rŒ  r�  rŽ  r�  r@  r’  r�  r‘  r”  r¦  rŠ   rm   rk   r‹  r‹  s  s^   € € € € € ðð ð €Eð €Eð €Eð €Eð €Dð €Kð €Dð €Fð
 €Hð €H€H€Hrm   r‹  c           
      ó(  — t          | d         ¦  «        }|dz  r0t          d| ¦  «        \  }|dz  }|dz  r|dz  S t          |¦  «        S t          ddt          t	          |dz  ¦  «        ¦  «        z   | dd	…         z   ¦  «        \  }|dz  r|dz  S |S )
Nr   r   r‡  r   g      Y@rþ   s       éü   rä   )r9  r   r§  ÚBYTES_LITERALÚchr)Úrk_strrÔ  ÚirÆ  s       rk   r<  r<  «  s±   € Ý�f˜Q”iÑ Ô €EØˆq�yð å�T˜6Ñ"Ô"‰ˆØ	ˆa‰ˆØ�1‰9ð 	Ø�u‘9ÐÝ�Q‰xŒxˆõ �D˜+­µc¸%À#¹+Ñ6FÔ6FÑ(GÔ(GÑGÈ&ÐQRÐSTÐQTÌ+ÑUÑVÔV‰ˆØ�1‰9ð 	Ø�u‘9ÐØˆrm   ÚemptyrÐ  r1   ÚxldateÚboolÚerrorÚblankc                   ó(   — e Zd ZdZg d¢Zdd„Zd„ ZdS )rp   a…  
    Contains the data for one cell.

    .. warning::
      You don't call this class yourself. You access :class:`Cell` objects
      via methods of the :class:`Sheet` object(s) that you found in the
      :class:`~xlrd.book.Book` object that was returned when you called
      :func:`~xlrd.open_workbook`

    Cell objects have three attributes: ``ctype`` is an int, ``value``
    (which depends on ``ctype``) and ``xf_index``.
    If ``formatting_info`` is not enabled when the workbook is opened,
    ``xf_index`` will be ``None``.

    The following table describes the types of cells and how their values
    are represented in Python.

    .. raw:: html

        <table border="1" cellpadding="7">
        <tr>
        <th>Type symbol</th>
        <th>Type number</th>
        <th>Python value</th>
        </tr>
        <tr>
        <td>XL_CELL_EMPTY</td>
        <td align="center">0</td>
        <td>empty string ''</td>
        </tr>
        <tr>
        <td>XL_CELL_TEXT</td>
        <td align="center">1</td>
        <td>a Unicode string</td>
        </tr>
        <tr>
        <td>XL_CELL_NUMBER</td>
        <td align="center">2</td>
        <td>float</td>
        </tr>
        <tr>
        <td>XL_CELL_DATE</td>
        <td align="center">3</td>
        <td>float</td>
        </tr>
        <tr>
        <td>XL_CELL_BOOLEAN</td>
        <td align="center">4</td>
        <td>int; 1 means TRUE, 0 means FALSE</td>
        </tr>
        <tr>
        <td>XL_CELL_ERROR</td>
        <td align="center">5</td>
        <td>int representing internal Excel codes; for a text representation,
        refer to the supplied dictionary error_text_from_code</td>
        </tr>
        <tr>
        <td>XL_CELL_BLANK</td>
        <td align="center">6</td>
        <td>empty string ''. Note: this type will appear only when
        open_workbook(..., formatting_info=True) is used.</td>
        </tr>
        </table>
    ©rÔ   rÕ   r‚   Nc                 ó0   — || _         || _        || _        d S rš   r(  )rg   rÔ   rÕ   r‚   s       rk   rl   zCell.__init__	  s   € ØˆŒ
ØˆŒ
Ø ˆŒˆˆrm   c                 ó’   — | j         €t          | j                 ›d| j        ›�S t          | j                 ›d| j        ›d| j         ›d�S )Nú:z (XF:ú))r‚   Ú
ctype_textrÔ   rÕ   rž   s    rk   r  zCell.__repr__	  sL   € ØŒ=Ð Ý(¨¬Ô4Ð4Ð4°d´j°jÐAÐAå&0°´Ô&<Ð&<Ð&<¸d¼j¸j¸jÈ$Ì-È-È-ÐXÐXrm   rš   )r  r  r  r  Ú	__slots__rl   r  rŠ   rm   rk   rp   rp   Ð  sT   € € € € € ð?ð ?ðB /Ð.Ð.€Ið!ð !ð !ð !ð
Yð Yð Yð Yð Yrm   rp   r   c                   ó*   — e Zd ZdZdZdZdZdZdZdZ	dS )rR  aR  
    Width and default formatting information that applies to one or
    more columns in a sheet. Derived from ``COLINFO`` records.

    Here is the default hierarchy for width, according to the OOo docs:

      In BIFF3, if a ``COLINFO`` record is missing for a column,
      the width specified in the record ``DEFCOLWIDTH`` is used instead.

      In BIFF4-BIFF7, the width set in this ``COLINFO`` record is only used,
      if the corresponding bit for this column is cleared in the ``GCW``
      record, otherwise the column width set in the ``DEFCOLWIDTH`` record
      is used (the ``STANDARDWIDTH`` record is always ignored in this case [#f1]_).

      In BIFF8, if a ``COLINFO`` record is missing for a column,
      the width specified in the record ``STANDARDWIDTH`` is used.
      If this ``STANDARDWIDTH`` record is also missing,
      the column width of the record ``DEFCOLWIDTH`` is used instead.

    .. [#f1] The docs on the ``GCW`` record say this:

      If a bit is set, the corresponding column uses the width set in the
      ``STANDARDWIDTH`` record. If a bit is cleared, the corresponding column
      uses the width set in the ``COLINFO`` record for this column.

      If a bit is set, and the worksheet does not contain the ``STANDARDWIDTH``
      record, or if the bit is cleared, and the worksheet does not contain the
      ``COLINFO`` record, the ``DEFCOLWIDTH`` record of the worksheet will be
      used instead.

    xlrd goes with the GCW version of the story.
    Reference to the source may be useful: see
    :meth:`Sheet.computed_column_width`.

    .. versionadded:: 0.6.1
    r   r"   N)
r  r  r  r  rS  r‚   rÿ   r   r  r  rŠ   rm   rk   rR  rR  $	  sC   € € € € € ð#ð #ðN €Eð €Hð €Fð €Ið €Mð €I€I€Irm   rR  c                   ó,   — e Zd ZdZerdZd„ Zd„ Zd„ ZdS )r?  z”
    Height and default formatting information that applies to a row in a sheet.
    Derived from ``ROW`` records.

    .. versionadded:: 0.6.1
    ©
r@  rA  r  rB  rÿ   rC  rD  r‚   rE  rF  c                 ó’   — d | _         d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _	        d S rš   r1  rž   s    rk   rl   zRowinfo.__init__x	  sg   € àˆŒð #'ˆÔð "ˆÔð
 *.ˆÔ&ð ˆŒð  $ˆÔð %)ˆÔ!ð ˆŒð '+ˆÔ#ð '+ˆÔ#Ð#Ð#rm   c           
      ó~   — | j         | j        | j        | j        | j        | j        | j        | j        | j        | j	        f
S rš   r1  rž   s    rk   Ú__getstate__zRowinfo.__getstate__ 	  sE   € àŒKØÔ#ØÔØÔ*ØŒKØÔ ØÔ%ØŒMØÔ'ØÔ'ð
ð 	
rm   c                 ó„   — |\
  | _         | _        | _        | _        | _        | _        | _        | _        | _        | _	        d S rš   r1  )rg   Ústates     rk   Ú__setstate__zRowinfo.__setstate__®	  sK   € ð ñ	
ØŒKØÔ#ØÔØÔ*ØŒKØÔ ØÔ%ØŒMØÔ'ØÔ'Ð'Ð'rm   N)	r  r  r  r  Ú
_USE_SLOTSr.  rl   r4  r7  rŠ   rm   rk   r?  r?  b	  s]   € € € € € ðð ð ð 
ð
ˆ	ð&+ð &+ð &+ðP
ð 
ð 
ðð ð ð ð rm   r?  N)0Ú
__future__r   r   Ústructr   r   Úbiffhr]  r	   r
   Úformular   r   r   r   r   Útimemachiner¶  r¬  rT   Ú
BaseObjectr   r­  rÉ  rá  rÏ  r‹  r<  r:  r;  r8  r<  r=  r>  r?  rC  r-   r.  rN  rO  r`  r-  rp   r¾   Ú
empty_cellrR  r8  r?  rŠ   rm   rk   ú<module>r@     s  ðð &Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #à Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð à	€Ø€ðÐ ð8O Að O Að O Að O Að O AˆJñ O Aô O Að O Aðd@	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ˆJñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ˆJñ 	ô 	ð 	ð ð  ð  ð  ð  ˆ:ñ  ô  ð  ðF4ð 4ð 4ð 4ð 4�
ñ 4ô 4ð 4ðpð ð ð& ˆØˆØˆØˆØˆðÐ ð �7Ø�&Ø�HØ�(Ø�VØ�7Ø�7ð€
ðMYð MYð MYð MYð MYˆ:ñ MYô MYð MYð^ ˆT�-  °Ñ!4Ô!4Ñ5Ô5€
ð
9ð 9ð 9ð 9ð 9ˆjñ 9ô 9ð 9ðv €
ðXð Xð Xð Xð Xˆjñ Xô Xð Xð Xð Xrm   