§
    ! híc ã                   óÆ  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" ddlm#Z# ddlm$Z$ ddlm%Z% ddlm&Z& ddlm'Z' ddlm(Z( ddlm)Z) ddlm*Z* ddl+m,Z, ddl+m-Z-  ej.        d ej/        ¦  «        Z0d!„ Z1d"„ Z2d#„ Z3 ed$d%¦  «        Z4 ed&d'¦  «        Z5 ed(d)¦  «        Z6 ed*d+¦  «        Z7 ed,d-¦  «        Z8 ed.d'¦  «        Z9 ed/d0¦  «        Z: ed1d2¦  «        Z; ed3d4¦  «        Z< G d5„ d6ej        ¦  «        Z=dS )7é    N)Údefaultdict)Ú
namedtuple)ÚDecimal)ÚFraction©Úwraps)ÚStringIO)Úisinf)Úisnan)Úwarné   )Ú	xmlwriter)ÚFormat)ÚDrawing)ÚShape)Ú	XMLwriter)Úxl_rowcol_to_cell)Úxl_rowcol_to_cell_fast)Úxl_cell_to_rowcol)Úxl_col_to_name)Úxl_range©Úxl_color)Úxl_pixel_width)Úget_sparkline_style)Úsupported_datetime)Údatetime_to_excel_datetime)Úget_image_properties)Úpreserve_whitespace)Úquote_sheetname)ÚDuplicateTableName)ÚOverlappingRangeaÌ  
    \bANCHORARRAY\(    |
    \bBYCOL\(          |
    \bBYROW\(          |
    \bCHOOSECOLS\(     |
    \bCHOOSEROWS\(     |
    \bDROP\(           |
    \bEXPAND\(         |
    \bFILTER\(         |
    \bHSTACK\(         |
    \bLAMBDA\(         |
    \bMAKEARRAY\(      |
    \bMAP\(            |
    \bRANDARRAY\(      |
    \bREDUCE\(         |
    \bSCAN\(           |
    \bSEQUENCE\(       |
    \bSINGLE\(         |
    \bSORT\(           |
    \bSORTBY\(         |
    \bSWITCH\(         |
    \bTAKE\(           |
    \bTEXTSPLIT\(      |
    \bTOCOL\(          |
    \bTOROW\(          |
    \bUNIQUE\(         |
    \bVSTACK\(         |
    \bWRAPCOLS\(       |
    \bWRAPROWS\(       |
    \bXLOOKUP\(c                 ó<   ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }|S )zn
    Decorator function to convert A1 notation in cell method calls
    to the default row/col notation.

    c                 óª   •— 	 |r|d         }t          |¦  «         n,# t          $ r t          |¦  «        }||dd …         z   }Y nw xY w ‰| g|¢R i |¤ŽS ©Nr   r   )ÚintÚ
ValueErrorr   )ÚselfÚargsÚkwargsÚ	first_argÚnew_argsÚmethods        €úNc:\xampp_lite_8_4\www\timesheet\venv\Lib\site-packages\xlsxwriter/worksheet.pyÚcell_wrapperz'convert_cell_args.<locals>.cell_wrapper_   s…   ø€ ð	'àð Ø  œG�	Ý�I‘”�øøÝð 	'ð 	'ð 	'å(¨Ñ3Ô3ˆHØ˜d 1 2 2œhÑ&ˆDˆDˆDð	'øøøð
 ˆv�dÐ,˜TÐ,Ð,Ð, VÐ,Ð,Ð,s   ƒ �&AÁAr   ©r-   r/   s   ` r.   Úconvert_cell_argsr1   X   s6   ø€ õ ˆ6�]„]ð-ð -ð -ð -ñ „]ð-ð Ðó    c                 ó<   ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }|S )zo
    Decorator function to convert A1 notation in range method calls
    to the default row/col notation.

    c                 óŠ  •— 	 |rt          |d         ¦  «         nž# t          $ r‘ d|d         v rC|d                              d¦  «        \  }}t          |¦  «        \  }}t          |¦  «        \  }}nt          |d         ¦  «        \  }}||}}||||g}	|	                     |dd …         ¦  «         |	}Y nw xY w ‰
| g|¢R i |¤ŽS )Nr   ú:r   ©r&   r'   Úsplitr   Úextend)r(   r)   r*   Úcell_1Úcell_2Úrow_1Úcol_1Úrow_2Úcol_2r,   r-   s             €r.   r/   z(convert_range_args.<locals>.cell_wrapperw   sö   ø€ ð	àð Ý�D˜”G‘”�øøÝð 	ð 	ð 	à�d˜1”gˆ~ˆ~Ø!% a¤§¢¨sÑ!3Ô!3‘�˜Ý0°Ñ8Ô8‘��uÝ0°Ñ8Ô8‘��u�uå0°°a´Ñ9Ô9‘��uØ$ e�u�à˜u e¨UÐ3ˆHØ�OŠO˜D   œHÑ%Ô%Ð%ØˆDˆDˆDð	øøøð ˆv�dÐ,˜TÐ,Ð,Ð, VÐ,Ð,Ð,s   ƒ ›BB6Â5B6r   r0   s   ` r.   Úconvert_range_argsr?   p   s6   ø€ õ ˆ6�]„]ð-ð -ð -ð -ñ „]ð-ð* Ðr2   c                 ó<   ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }|S )zq
    Decorator function to convert A1 notation in columns method calls
    to the default row/col notation.

    c                 óL  •— 	 |rt          |d         ¦  «         n# t          $ rr d„ |d                              d¦  «        D ¦   «         \  }}t          |¦  «        \  }}t          |¦  «        \  }}||g}|                     |dd …         ¦  «         |}Y nw xY w ‰	| g|¢R i |¤ŽS )Nr   c                 ó   — g | ]}|d z   ‘ŒS )Ú1© )Ú.0Úcols     r.   ú
<listcomp>z?convert_column_args.<locals>.column_wrapper.<locals>.<listcomp>Ÿ   s   € ÐFÐFÐF¨C˜c C™iÐFÐFÐFr2   r5   r   r6   )
r(   r)   r*   r9   r:   Ú_r<   r>   r,   r-   s
            €r.   Úcolumn_wrapperz+convert_column_args.<locals>.column_wrapper—   sÒ   ø€ ð	àð Ý�D˜”G‘”�øøÝð 	ð 	ð 	àFÐF°4¸´7·=²=ÀÑ3EÔ3EÐFÑFÔF‰NˆF�FÝ(¨Ñ0Ô0‰HˆAˆuÝ(¨Ñ0Ô0‰HˆAˆuØ˜u�~ˆHØ�OŠO˜D   œHÑ%Ô%Ð%ØˆDˆDˆDð	øøøð ˆv�dÐ,˜TÐ,Ð,Ð, VÐ,Ð,Ð,s   ƒ ›A9BÂBr   )r-   rI   s   ` r.   Úconvert_column_argsrJ   �   s6   ø€ õ ˆ6�]„]ð-ð -ð -ð -ñ „]ð-ð  Ðr2   ÚStringzstring, formatÚNumberznumber, formatÚBlankÚformatÚBooleanzboolean, formatÚFormulazformula, format, valueÚDatetimeÚArrayFormulaz$formula, format, value, range, atypeÚ
RichStringzstring, format, raw_stringÚErrorzerror, format, valuec                   óJ  ‡ — e Zd ZdZˆ fd„Zd„ Zed„ ¦   «         Zd„ Zedód„¦   «         Z	dód„Z
edód	„¦   «         Zdód
„Zedód„¦   «         Zdód„Zedôd„¦   «         Zdôd„Ze	 	 dôd„¦   «         Ze	 	 dôd„¦   «         Zdõd„Z	 	 	 död„Zedód„¦   «         Zdód„Zedód„¦   «         Zdód„Zed÷d„¦   «         Zd÷d„Zed„ ¦   «         Zd„ Zd„ Zedód„¦   «         Zedód „¦   «         Z edód!„¦   «         Z!edód"„¦   «         Z"edód#„¦   «         Z#edód$„¦   «         Z$edód%„¦   «         Z%d&„ Z&dõd'„Z'd(„ Z(d)„ Z)d*„ Z*d+„ Z+d,„ Z,d-„ Z-d.„ Z.e/	 d÷d/„¦   «         Z0e/	 d÷d0„¦   «         Z1d1„ Z2d÷d2„Z3d÷d3„Z4død4„Z5e	 dód5„¦   «         Z6ed6„ ¦   «         Z7d7„ Z8d8„ Z9edód9„¦   «         Z:e	 dód:„¦   «         Z;edód;„¦   «         Z<edód<„¦   «         Z=ed=„ ¦   «         Z>edùd>„¦   «         Z?	 dúd@„Z@edûdA„¦   «         ZAedüdB„¦   «         ZBdýdD„ZCdE„ ZDdF„ ZEdG„ ZFdþdI„ZGdüdJ„ZHedódK„¦   «         ZIdL„ ZJdM„ ZKdÿdN„ZLdÿdO„ZMdP„ ZNdQ„ ZOdR„ ZP�d dU„ZQ�ddV„ZR�ddW„ZSdódX„ZTe/dódY„¦   «         ZUdÿdZ„ZVd[„ ZWd\„ ZXed]„ ¦   «         ZYd^„ ZZd_„ Z[d`„ Z\da„ Z]db„ Z^dc„ Z_dd„ Z`dóde„Zadódf„Zbdg„ Zcdh„ Zd�ddi„Zedj„ Zfdk„ Zgdl„ Zhdm„ Zidn„ Zjdo„ Zkdp„ Zldq„ Zmdr„ Znds„ Zodt„ Zpdu„ Zqdv„ Zrdw„ Zs�ddx„Zt�ddy„Zudz„ Zvd{„ Zwd|„ Zxd}„ Zyd~„ Zzd„ Z{d€„ Z|d�„ Z}d‚„ Z~dƒ„ Zd„„ Z€d…„ Z�dód†„Z‚dód‡„Zƒdˆ„ Z„d‰„ Z…dŠ„ Z†d‹„ Z‡dŒ„ Zˆd�„ Z‰dŽ„ ZŠdó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˜d�„ Z™dž„ ZšdŸ„ Z›�dd „Zœd¡„ Z�død¢„Zždó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¬	 d÷d±„Z­	 d÷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»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Édó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×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ådê„ Zædë„ Zçdì„ Zèdí„ Zédî„ Zêdï„ Zëdð„ Zìdñ„ Zídò„ Zîˆ xZïS (  Ú	Worksheetz=
    A class for writing the Excel XLSX Worksheet file.

    c                 óx
  •— t          t          | ¦  «                             ¦   «          d| _        d| _        d| _        d| _        d| _        d| _        d| _	        g | _
        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        i | _        g | _        d| _        d| _        d| _        d| _        g | _        d	| _        d| _        d| _        d| _        d
| _         d| _!        d| _"        d| _#        d| _$        d| _%        d| _&        d| _'        d| _(        d| _)        d| _*        d| _+        d| _,        g | _-        g | _.        g | _/        d| _0        d| _1        d| _2        d| _3        d| _4        d| _5        d| _6        d| _7        d| _8        d| _9        d| _:        d| _;        d| _<        d| _=        d| _>        d| _?        d| _@        g | _A        g | _B        i | _C        g | _D        d| _E        i | _F        t�          t�          ¦  «        | _I        d| _J        d
| _K        d| _L        d| _M        d
| _N        d| _O        d| _P        d| _Q        d| _R        d
| _S        d
| _T        d
| _U        d| _V        d| _W        d| _X        d| _Y        d| _Z        d| _[        d| _\        d| _]        i | _^        g | __        t�          t�          ¦  «        | _`        g | _a        i | _b        i | _c        i | _d        d| _e        d| _f        d| _g        t�          t�          ¦  «        | _h        g | _i        d| _j        d| _k        d| _l        g | _m        d| _n        d| _o        d| _p        g | _q        d| _r        i | _s        i | _t        i | _u        i | _v        d| _w        d| _x        d
| _y        d| _z        d| _{        g | _|        g | _}        g | _~        g | _        g | _€        g | _�        g | _‚        g | _ƒ        g | _„        g | _…        g | _†        g | _‡        g | _ˆ        g | _‰        i | _Š        d| _‹        i | _Œ        d| _�        i | _Ž        d| _�        d| _�        d| _‘        d| _’        d| _“        g | _”        i | _•        g | _–        d| _—        d
| _˜        d| _™        d| _š        d| _›        t�          t�          ¦  «        | _œ        d| _�        d| _ž        d| _Ÿ        d| _         d| _¡        d| _¢        d| _£        d| _¤        d| _¥        d| _¦        d| _§        d| _¨        d| _l        d| _¥        d| _¦        d| _©        d| _ª        d| _«        i | _¬        d| _­        d| _®        d| _¯        d| _°        dS )z
        Constructor.

        Nr   Fi×  i   i @  éÿ  Ú é   r   Tçffffffæ?ç      è?ç333333Ó?éd   é   é   ç\�Âõ(Ü @é@   éD   é   i  )±ÚsuperrV   Ú__init__ÚnameÚindexÚ	str_tableÚpaletteÚconstant_memoryÚtmpdirÚis_chartsheetÚ
ext_sheetsÚ
fileclosedÚexcel_versionÚexcel2003_styleÚ
xls_rowmaxÚ
xls_colmaxÚ
xls_strmaxÚ
dim_rowminÚ
dim_rowmaxÚ
dim_colminÚ
dim_colmaxÚcol_infoÚ
selectionsÚhiddenÚactiveÚ	tab_colorÚtop_left_cellÚpanesÚactive_paneÚselectedÚpage_setup_changedÚ
paper_sizeÚorientationÚprint_options_changedÚhcenterÚvcenterÚprint_gridlinesÚscreen_gridlinesÚprint_headersÚrow_col_headersÚheader_footer_changedÚheaderÚfooterÚheader_footer_alignsÚheader_footer_scalesÚheader_imagesÚfooter_imagesÚheader_images_listÚmargin_leftÚmargin_rightÚ
margin_topÚmargin_bottomÚmargin_headerÚmargin_footerÚrepeat_row_rangeÚrepeat_col_rangeÚprint_area_rangeÚ
page_orderÚblack_whiteÚdraft_qualityÚprint_commentsÚ
page_startÚfit_pageÚ	fit_widthÚ
fit_heightÚhbreaksÚvbreaksÚprotect_optionsÚprotected_rangesÚnum_protected_rangesÚset_colsr   ÚdictÚset_rowsÚzoomÚzoom_scale_normalÚprint_scaleÚis_right_to_leftÚ
show_zerosÚleading_zerosÚoutline_row_levelÚoutline_col_levelÚoutline_styleÚoutline_belowÚoutline_rightÚ
outline_onÚoutline_changedÚoriginal_row_heightÚdefault_row_heightÚdefault_row_pixelsÚdefault_col_widthÚdefault_col_pixelsÚdefault_date_pixelsÚdefault_row_zeroedÚnamesÚwrite_matchÚtableÚmergeÚmerged_cellsÚtable_cellsÚ	row_spansÚhas_vmlÚhas_header_vmlÚhas_commentsÚcommentsÚcomments_listÚcomments_authorÚcomments_visibleÚvml_shape_idÚbuttons_listÚvml_header_idÚautofilter_areaÚautofilter_refÚfilter_rangeÚ	filter_onÚfilter_colsÚfilter_typeÚfilter_cellsÚ	row_sizesÚcol_size_changedÚrow_size_changedÚlast_shape_idÚ	rel_countÚhlink_countÚ
hlink_refsÚexternal_hyper_linksÚexternal_drawing_linksÚexternal_comment_linksÚexternal_vml_linksÚexternal_table_linksÚexternal_background_linksÚdrawing_linksÚvml_drawing_linksÚchartsÚimagesÚtablesÚ
sparklinesÚshapesÚ
shape_hashÚdrawingÚdrawing_relsÚdrawing_rels_idÚvml_drawing_relsÚvml_drawing_rels_idÚbackground_imageÚbackground_bytesÚrstringÚprevious_rowÚvalidationsÚcond_formatsÚdata_bars_2010Úuse_data_bars_2010Údxf_priorityÚ	page_viewÚvba_codenameÚ	date_1904Ú
hyperlinksÚstrings_to_numbersÚstrings_to_urlsÚnan_inf_to_errorsÚstrings_to_formulasÚdefault_date_formatÚdefault_url_formatÚremove_timezoneÚmax_url_lengthÚrow_data_filenameÚrow_data_fhÚworksheet_metaÚvml_data_idÚrow_data_fh_closedÚvertical_dpiÚhorizontal_dpiÚwrite_handlersÚignored_errorsÚhas_dynamic_arraysÚuse_future_functionsÚignore_write_string)r(   Ú	__class__s    €r.   rf   zWorksheet.__init__Î   sƒ  ø€ õ 	�i˜ÑÔ×'Ò'Ñ)Ô)Ð)àˆŒ	ØˆŒ
ØˆŒØˆŒØ ˆÔØˆŒØ"ˆÔàˆŒØˆŒØ!ˆÔØ$ˆÔà!ˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒàˆŒØˆŒØˆŒØˆŒØˆŒØˆÔàˆŒ
ØˆÔØˆŒà"'ˆÔØˆŒØˆÔà%*ˆÔ"ØˆŒØˆŒØ$ˆÔØ $ˆÔØ"ˆÔØ$ˆÔà%*ˆÔ"ØˆŒØˆŒØ$(ˆÔ!Ø$(ˆÔ!ØˆÔØˆÔØ"$ˆÔàˆÔØˆÔØˆŒØ!ˆÔØ ˆÔØ ˆÔà "ˆÔØ "ˆÔØ "ˆÔàˆŒØˆÔØˆÔØˆÔØˆŒàˆŒØˆŒØˆŒàˆŒØˆŒà!ˆÔØ "ˆÔØ$%ˆÔ!ØˆŒÝ#¥DÑ)Ô)ˆŒàˆŒ	Ø!"ˆÔØˆÔØ !ˆÔØˆŒØˆÔà!"ˆÔØ!"ˆÔØˆÔØˆÔØˆÔØˆŒØ$ˆÔà#%ˆÔ Ø"$ˆÔØ"$ˆÔØ!%ˆÔØ"$ˆÔØ#%ˆÔ Ø"#ˆÔàˆŒ
ØˆÔÝ ¥Ñ&Ô&ˆŒ
ØˆŒ
ØˆÔØˆÔØˆŒàˆŒØ#ˆÔØ!ˆÔÝ#¥DÑ)Ô)ˆŒØˆÔØ!ˆÔØ !ˆÔØ ˆÔØˆÔØˆÔà!ˆÔØ"ˆÔØˆÔØˆŒØˆÔØˆÔØˆÔàˆŒØ %ˆÔØ %ˆÔàˆÔØˆŒØˆÔØˆŒØ$&ˆÔ!Ø&(ˆÔ#Ø&(ˆÔ#Ø"$ˆÔØ$&ˆÔ!Ø)+ˆÔ&ØˆÔØ!#ˆÔØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØˆÔØ ˆÔØ "ˆÔØ#$ˆÔ Ø $ˆÔØ %ˆÔàˆŒØˆÔàˆÔØˆÔØ ˆÔØ"'ˆÔØˆÔØˆŒà ˆÔàˆŒÝ%¥dÑ+Ô+ˆŒà"'ˆÔØ#ˆÔØ!&ˆÔØ#'ˆÔ à#'ˆÔ Ø"&ˆÔØ$ˆÔØ"ˆÔà!%ˆÔØˆÔØ"ˆÔØˆÔØ ˆÔà!%ˆÔØˆÔØ"'ˆÔàˆÔØˆÔà ˆÔà"ˆÔà"'ˆÔØ$)ˆÔ!Ø#(ˆÔ Ð Ð r2   c                 ó¬  — |dk    r | j         ||g|¢R Ž S | j        r$|                     d¦  «        r | j        ||g|¢R Ž S |                     d¦  «        r$|                     d¦  «        r | j        ||g|¢R Ž S d|v rU| j        rNt          j        d|¦  «        s*t          j        d|¦  «        st          j        d|¦  «        r | j        ||g|¢R Ž S | j	        rm	 t          |¦  «        }| j        st          |¦  «        s't          |¦  «        s | j        |||g|d	d …         ¢R Ž S n# t          $ r Y nw xY w | j        ||g|¢R Ž S  | j        ||g|¢R Ž S )
NrY   ú=z{=Ú}r5   ú(ftp|http)s?://úmailto:z(in|ex)ternal:r   )Ú_write_blankr  Ú
startswithÚ_write_formulaÚendswithr  ÚreÚmatchÚ
_write_urlr   Úfloatr  r   r
   Ú_write_numberr'   Ú_write_string)r(   ÚtokenÚrowrF   r)   Úfs         r.   Ú_write_token_as_stringz Worksheet._write_token_as_string¨  sì  € à�BŠ;ˆ;Ø$�4Ô$ S¨#Ð5°Ð5Ð5Ð5Ð5àÔ#ð 	8¨×(8Ò(8¸Ñ(=Ô(=ð 	8Ø&�4Ô& s¨CÐ7°$Ð7Ð7Ð7Ð7à×Ò˜DÑ!Ô!ð 	8 e§n¢n°SÑ&9Ô&9ð 	8Ø&�4Ô& s¨CÐ7°$Ð7Ð7Ð7Ð7ð �5ˆLˆLØÔ$ð õ ”Ð*¨EÑ2Ô2ð õ ”8˜I uÑ-Ô-ð	 õ
 ”8Ð,¨eÑ4Ô4ð ð #�4”? 3¨Ð3¨dÐ3Ð3Ð3Ð3àÔ"ð 	7ðÝ˜%‘L”L�ØÔ)ð Fµ%¸±(´(ð FÅ5ÈÁ8Ä8ð FØ-˜4Ô-¨c°3¸ÐE¸DÀÀÀ¼HÐEÐEÐEÐEøøÝð ð ð à�ðøøøð &�4Ô% c¨3Ð6°Ð6Ð6Ð6Ð6ð &�4Ô% c¨3Ð6°Ð6Ð6Ð6Ð6s   ÃAD( Ä(
D5Ä4D5c                 ó    —  | j         ||g|¢R Ž S )aÎ  
        Write data to a worksheet cell by calling the appropriate write_*()
        method based on the type of data being passed.

        Args:
            row:   The cell row (zero indexed).
            col:   The cell column (zero indexed).
            *args: Args to pass to sub functions.

        Returns:
             0:    Success.
            -1:    Row or column is out of worksheet bounds.
            other: Return value of called method.

        ©Ú_write©r(   r%  rF   r)   s       r.   ÚwritezWorksheet.writeÍ  s    € ð" ˆtŒ{˜3 Ð+ dÐ+Ð+Ð+Ð+r2   c                 óz  — |st          d¦  «        ‚|d         }|j        }|| j        v r| j        |         } || ||g|¢R Ž }|€n|S |€ | j        ||g|¢R Ž S |t          u r | j        ||g|¢R Ž S |t          t          t          t          fv r | j
        ||g|¢R Ž S |t          u r | j        |||g|¢R Ž S |t          j        t          j        t          j        t          j        fv r | j        ||g|¢R Ž S t%          |t          t          t          t          f¦  «        r | j
        ||g|¢R Ž S t%          |t          ¦  «        r | j        |||g|¢R Ž S t%          |t          ¦  «        r | j        ||g|¢R Ž S t'          |¦  «        r | j        ||g|¢R Ž S 	 t          |¦  «        } | j
        |||g|dd …         ¢R Ž S # t(          $ r Y n,t           $ r  t          dt+          |¦  «        z  ¦  «        ‚w xY w	 t          |¦  «          | j        ||g|¢R Ž S # t(          $ r  t          dt+          |¦  «        z  ¦  «        ‚w xY w)Nz,write() takes at least 4 arguments (3 given)r   r   zUnsupported type %s in write())Ú	TypeErrorr  r  r  ÚboolÚ_write_booleanr!  r&   r   r   r"  Ústrr'  ÚdatetimeÚdateÚtimeÚ	timedeltaÚ_write_datetimeÚ
isinstancer   r'   Útyper#  )	r(   r%  rF   r)   r$  Ú
token_typeÚwrite_handlerÚfunction_returnr&  s	            r.   r*  zWorksheet._writeá  s$  € àð 	LÝÐJÑKÔKÐKð �Q”ˆð ”_ˆ
ð ˜Ô,Ð,Ð,Ø Ô/°
Ô;ˆMØ+˜m¨D°#°sÐB¸TÐBÐBÐBˆOð
 Ð&Øà&Ð&ð ˆ=Ø$�4Ô$ S¨#Ð5°Ð5Ð5Ð5Ð5ð �ÐÐØ&�4Ô& s¨CÐ7°$Ð7Ð7Ð7Ð7à�%¥¥g­xÐ8Ð8Ð8Ø%�4Ô% c¨3Ð6°Ð6Ð6Ð6Ð6à�ÐÐØ.�4Ô.¨u°c¸3ÐFÀÐFÐFÐFÐFàÝÔÝŒMÝŒMÝÔð	
ð 
ð 
ð (�4Ô'¨¨SÐ8°4Ð8Ð8Ð8Ð8õ
 �e�e¥S­'µ8Ð<Ñ=Ô=ð 	7Ø%�4Ô% c¨3Ð6°Ð6Ð6Ð6Ð6õ �e�SÑ!Ô!ð 	GØ.�4Ô.¨u°c¸3ÐFÀÐFÐFÐFÐFõ �e�TÑ"Ô"ð 	8Ø&�4Ô& s¨CÐ7°$Ð7Ð7Ð7Ð7õ ˜eÑ$Ô$ð 	9Ø'�4Ô'¨¨SÐ8°4Ð8Ð8Ð8Ð8ð	LÝ�e‘”ˆAØ%�4Ô% c¨3°Ð=°D¸¸¸´HÐ=Ð=Ð=Ð=øÝð 	ð 	ð 	ØˆDÝð 	Lð 	Lð 	LÝÐ<½tÀE¹{¼{ÑJÑKÔKÐKð	Løøøð	LÝ�‰JŒJˆJØ%�4Ô% c¨3Ð6°Ð6Ð6Ð6Ð6øÝð 	Lð 	Lð 	LÝÐ<½tÀE¹{¼{ÑJÑKÔKÐKð	Løøøs   Æ&F9 Æ9
G.Ç)G.Ç2H È*H:Nc                 ó2   — |                       ||||¦  «        S )a›  
        Write a string to a worksheet cell.

        Args:
            row:    The cell row (zero indexed).
            col:    The cell column (zero indexed).
            string: Cell data. Str.
            format: An optional cell Format object.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: String truncated to 32k characters.

        )r#  )r(   r%  rF   ÚstringÚcell_formats        r.   Úwrite_stringzWorksheet.write_string1  s   € ð" ×!Ò! # s¨F°KÑ@Ô@Ð@r2   c                 ó^  — d}|                       ||¦  «        rdS t          |¦  «        | j        k    r|d | j        …         }d}| j        s| j                             |¦  «        }n|}| j        r || j        k    r|                      |¦  «         t          ||¦  «        | j	        |         |<   |S ©Nr   éÿÿÿÿéþÿÿÿ)
Ú_check_dimensionsÚlenrt   rk   ri   Ú_get_shared_string_indexrö   Ú_write_single_rowÚcell_string_tuplerÃ   )r(   r%  rF   r=  r>  Ú	str_errorÚstring_indexs          r.   r#  zWorksheet._write_stringE  sË   € Øˆ	ð ×!Ò! # sÑ+Ô+ð 	Ø�2õ ˆv‰;Œ;˜œÒ(Ð(ØÐ-˜dœoÐ-Ô.ˆFØˆIð Ô#ð 	"Øœ>×BÒBÀ6ÑJÔJˆLˆLà!ˆLð Ôð 	( C¨$Ô*;Ò$;Ð$;Ø×"Ò" 3Ñ'Ô'Ð'õ  1°¸{ÑKÔKˆŒ
�3Œ˜ÑàÐr2   c                 ó2   — |                       ||||¦  «        S )a„  
        Write a number to a worksheet cell.

        Args:
            row:         The cell row (zero indexed).
            col:         The cell column (zero indexed).
            number:      Cell data. Int or float.
            cell_format: An optional cell Format object.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        )r"  ©r(   r%  rF   Únumberr>  s        r.   Úwrite_numberzWorksheet.write_number`  s   € ð  ×!Ò! # s¨F°KÑ@Ô@Ð@r2   c                 ó   — t          |¦  «        st          |¦  «        r’| j        r|t          |¦  «        r|                      ||d|d¦  «        S |t          j        k    r|                      ||d|d¦  «        S |t          j         k    r|                      ||d|d¦  «        S nt          d¦  «        ‚|                      ||¦  «        rdS | j        r || j	        k    r|  
                    |¦  «         t          ||¦  «        | j        |         |<   dS )Nú#NUM!z1/0ú#DIV/0!z-1/0zUNAN/INF not supported in write_number() without 'nan_inf_to_errors' Workbook() optionrB  r   )r   r
   r  r  ÚmathÚinfr.  rD  rk   rö   rG  Úcell_number_tuplerÃ   rL  s        r.   r"  zWorksheet._write_numbers  s4  € Ý�‰=Œ=ð 	�E &™MœMð 	ØÔ%ð Ý˜‘=”=ð YØ×.Ò.¨s°C¸À+ÈwÑWÔWÐWØ�tœxÒ'Ð'Ø×.Ò.¨s°C¸ÀÈYÑWÔWÐWØ¥¤˜yÒ(Ð(Ø×.Ò.¨s°C¸ÀÈiÑXÔXÐXð )õ  ðDñô ð ð ×!Ò! # sÑ+Ô+ð 	Ø�2ð Ôð 	( C¨$Ô*;Ò$;Ð$;Ø×"Ò" 3Ñ'Ô'Ð'õ  1°¸ÑEÔEˆŒ
�3Œ˜Ñàˆqr2   c                 ó2   — |                       ||||¦  «        S )aè  
        Write a blank cell with formatting to a worksheet cell. The blank
        token is ignored and the format only is written to the cell.

        Args:
            row:         The cell row (zero indexed).
            col:         The cell column (zero indexed).
            blank:       Any value. It is ignored.
            cell_format: An optional cell Format object.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        )r  ©r(   r%  rF   Úblankr>  s        r.   Úwrite_blankzWorksheet.write_blank�  s   € ð" × Ò   c¨5°+Ñ>Ô>Ð>r2   c                 óÆ   — |€dS |                       ||¦  «        rdS | j        r || j        k    r|                      |¦  «         t	          |¦  «        | j        |         |<   dS )Nr   rB  )rD  rk   rö   rG  Úcell_blank_tuplerÃ   rV  s        r.   r  zWorksheet._write_blank£  sy   € àÐØ�1ð ×!Ò! # sÑ+Ô+ð 	Ø�2ð Ôð 	( C¨$Ô*;Ò$;Ð$;Ø×"Ò" 3Ñ'Ô'Ð'õ  0°Ñ<Ô<ˆŒ
�3Œ˜Ñàˆqr2   r   c                 ó4   — |                       |||||¦  «        S )aô  
        Write a formula to a worksheet cell.

        Args:
            row:         The cell row (zero indexed).
            col:         The cell column (zero indexed).
            formula:     Cell formula.
            cell_format: An optional cell Format object.
            value:       An optional value for the formula. Default is 0.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: Formula can't be None or empty.

        )r  ©r(   r%  rF   Úformular>  Úvalues         r.   Úwrite_formulazWorksheet.write_formulaµ  s    € ð& ×"Ò" 3¨¨W°kÀ5ÑIÔIÐIr2   c           	      ó  — |                       ||¦  «        rdS |�|dk    rt          d¦  «         dS t                               |¦  «        r|                      |||||||¦  «        S |                     d¦  «        r0|                     d¦  «        r|                      |||||||¦  «        S |                      |¦  «        }| j	        r || j
        k    r|                      |¦  «         t          |||¦  «        | j        |         |<   dS )NrB  rY   zFormula can't be None or emptyÚ{r  r   )rD  r   Úre_dynamic_functionÚsearchÚwrite_dynamic_array_formular  r  Ú_write_array_formulaÚ_prepare_formulark   rö   rG  Úcell_formula_tuplerÃ   r\  s         r.   r  zWorksheet._write_formulaË  s9  € Ø×!Ò! # sÑ+Ô+ð 	Ø�2àˆ?˜g¨šm˜mÝÐ1Ñ2Ô2Ð2Ø�2õ ×%Ò% gÑ.Ô.ð 	Ø×3Ò3Ø�S˜#˜s G¨[¸%ñô ð ð
 ×Ò˜cÑ"Ô"ð 	 w×'7Ò'7¸Ñ'<Ô'<ð 	Ø×,Ò,Ø�S˜#˜s G¨[¸%ñô ð ð
 ×'Ò'¨Ñ0Ô0ˆð Ôð 	( C¨$Ô*;Ò$;Ð$;Ø×"Ò" 3Ñ'Ô'Ð'õ  2°'¸;ÈÑNÔNˆŒ
�3Œ˜Ñàˆqr2   c           
      ó¤   — t                                |¦  «        r|                      |||||||¦  «        S |                      |||||||d¦  «        S )an  
        Write a formula to a worksheet cell/range.

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.
            formula:      Cell formula.
            cell_format:  An optional cell Format object.
            value:        An optional value for the formula. Default is 0.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        Ústatic)rb  rc  rd  re  )r(   Ú	first_rowÚ	first_colÚlast_rowÚlast_colr]  r>  r^  s           r.   Úwrite_array_formulazWorksheet.write_array_formulaë  st   € õ: ×%Ò% gÑ.Ô.ð 	Ø×3Ò3Ø˜9 h°¸'À;ÐPUñô ð ð ×(Ò(ØØØØØØØØñ	
ô 	
ð 		
r2   c           
      óX   — |                       |||||||d¦  «        }|dk    rd| _        |S )a|  
        Write a dynamic array formula to a worksheet cell/range.

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.
            formula:      Cell formula.
            cell_format:  An optional cell Format object.
            value:        An optional value for the formula. Default is 0.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        Údynamicr   T)re  r  )	r(   rj  rk  rl  rm  r]  r>  r^  Úerrors	            r.   rd  z%Worksheet.write_dynamic_array_formula  sI   € ð8 ×)Ò)ØØØØØØØØñ	
ô 	
ˆð �AŠ:ˆ:Ø&*ˆDÔ#àˆr2   Fc                 ó   — |                      d¦  «        r
|dd …         }|                      d¦  «        r
|dd …         }|                     d¦  «        r
|d d…         }d|v r|S t          j        dd|¦  «        }t          j        d	d
|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd|¦  «        }t          j        dd |¦  «        }t          j        d!d"|¦  «        }t          j        d#d$|¦  «        }t          j        d%d&|¦  «        }t          j        d'd(|¦  «        }t          j        d)d*|¦  «        }t          j        d+d,|¦  «        }t          j        d-d.|¦  «        }t          j        d/d0|¦  «        }t          j        d1d2|¦  «        }t          j        d3d4|¦  «        }t          j        d5d6|¦  «        }t          j        d7d8|¦  «        }t          j        d9d:|¦  «        }t          j        d;d<|¦  «        }t          j        d=d>|¦  «        }t          j        d?d@|¦  «        }| j        s|s|S t          j        dAdB|¦  «        }t          j        dCdD|¦  «        }t          j        dEdF|¦  «        }t          j        dGdH|¦  «        }t          j        dIdJ|¦  «        }t          j        dKdL|¦  «        }t          j        dMdN|¦  «        }t          j        dOdP|¦  «        }t          j        dQdR|¦  «        }t          j        dSdT|¦  «        }t          j        dUdV|¦  «        }t          j        dWdX|¦  «        }t          j        dYdZ|¦  «        }t          j        d[d\|¦  «        }t          j        d]d^|¦  «        }t          j        d_d`|¦  «        }t          j        dadb|¦  «        }t          j        dcdd|¦  «        }t          j        dedf|¦  «        }t          j        dgdh|¦  «        }t          j        didj|¦  «        }t          j        dkdl|¦  «        }t          j        dmdn|¦  «        }t          j        dodp|¦  «        }t          j        dqdr|¦  «        }t          j        dsdt|¦  «        }t          j        dudv|¦  «        }t          j        dwdx|¦  «        }t          j        dydz|¦  «        }t          j        d{d||¦  «        }t          j        d}d~|¦  «        }t          j        dd€|¦  «        }t          j        d�d‚|¦  «        }t          j        dƒd„|¦  «        }t          j        d…d†|¦  «        }t          j        d‡dˆ|¦  «        }t          j        d‰dŠ|¦  «        }t          j        d‹dŒ|¦  «        }t          j        d�dŽ|¦  «        }t          j        d�d�|¦  «        }t          j        d‘d’|¦  «        }t          j        d“d”|¦  «        }t          j        d•d–|¦  «        }t          j        d—d˜|¦  «        }t          j        d™dš|¦  «        }t          j        d›dœ|¦  «        }t          j        d�dž|¦  «        }t          j        dŸd |¦  «        }t          j        d¡d¢|¦  «        }t          j        d£d¤|¦  «        }t          j        d¥d¦|¦  «        }t          j        d§d¨|¦  «        }t          j        d©dª|¦  «        }t          j        d«d¬|¦  «        }t          j        d­d®|¦  «        }t          j        d¯d°|¦  «        }t          j        d±d²|¦  «        }t          j        d³d´|¦  «        }t          j        dµd¶|¦  «        }t          j        d·d¸|¦  «        }t          j        d¹dº|¦  «        }t          j        d»d¼|¦  «        }t          j        d½d¾|¦  «        }t          j        d¿dÀ|¦  «        }t          j        dÁdÂ|¦  «        }t          j        dÃdÄ|¦  «        }t          j        dÅdÆ|¦  «        }t          j        dÇdÈ|¦  «        }t          j        dÉdÊ|¦  «        }t          j        dËdÌ|¦  «        }t          j        dÍdÎ|¦  «        }t          j        dÏdÐ|¦  «        }t          j        dÑdÒ|¦  «        }t          j        dÓdÔ|¦  «        }t          j        dÕdÖ|¦  «        }t          j        d×dØ|¦  «        }t          j        dÙdÚ|¦  «        }t          j        dÛdÜ|¦  «        }t          j        dÝdÞ|¦  «        }t          j        dßdà|¦  «        }t          j        dádâ|¦  «        }t          j        dãdä|¦  «        }t          j        dådæ|¦  «        }t          j        dçdè|¦  «        }t          j        dédê|¦  «        }t          j        dëdì|¦  «        }t          j        dídî|¦  «        }t          j        dïdð|¦  «        }t          j        dñdò|¦  «        }t          j        dódô|¦  «        }t          j        dõdö|¦  «        }t          j        d÷dø|¦  «        }t          j        dùdú|¦  «        }t          j        dûdü|¦  «        }t          j        dýdþ|¦  «        }t          j        dÿ�d |¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d	�d
|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d|¦  «        }t          j        �d�d |¦  «        }t          j        �d!�d"|¦  «        }t          j        �d#�d$|¦  «        }t          j        �d%�d&|¦  «        }t          j        �d'�d(|¦  «        }t          j        �d)�d*|¦  «        }t          j        �d+�d,|¦  «        }t          j        �d-�d.|¦  «        }t          j        �d/�d0|¦  «        }t          j        �d1�d2|¦  «        }t          j        �d3�d4|¦  «        }t          j        �d5�d6|¦  «        }t          j        �d7�d8|¦  «        }t          j        �d9�d:|¦  «        }t          j        �d;�d<|¦  «        }|S (=  Nra  r   r  r  rB  z_xlfn.z\bANCHORARRAY\(z_xlfn.ANCHORARRAY(z	\bBYCOL\(z_xlfn.BYCOL(z	\bBYROW\(z_xlfn.BYROW(z\bCHOOSECOLS\(z_xlfn.CHOOSECOLS(z\bCHOOSEROWS\(z_xlfn.CHOOSEROWS(z\bDROP\(z_xlfn.DROP(z
\bEXPAND\(z_xlfn.EXPAND(z
\bFILTER\(z_xlfn._xlws.FILTER(z
\bHSTACK\(z_xlfn.HSTACK(z
\bLAMBDA\(z_xlfn.LAMBDA(z\bMAKEARRAY\(z_xlfn.MAKEARRAY(z\bMAP\(z
_xlfn.MAP(z\bRANDARRAY\(z_xlfn.RANDARRAY(z
\bREDUCE\(z_xlfn.REDUCE(z\bSCAN\(z_xlfn.SCAN(z	\SINGLE\(z_xlfn.SINGLE(z\bSEQUENCE\(z_xlfn.SEQUENCE(z\bSORT\(z_xlfn._xlws.SORT(z
\bSORTBY\(z_xlfn.SORTBY(z
\bSWITCH\(z_xlfn.SWITCH(z\bTAKE\(z_xlfn.TAKE(z\bTEXTSPLIT\(z_xlfn.TEXTSPLIT(z	\bTOCOL\(z_xlfn.TOCOL(z	\bTOROW\(z_xlfn.TOROW(z
\bUNIQUE\(z_xlfn.UNIQUE(z
\bVSTACK\(z_xlfn.VSTACK(z\bWRAPCOLS\(z_xlfn.WRAPCOLS(z\bWRAPROWS\(z_xlfn.WRAPROWS(z\bXLOOKUP\(z_xlfn.XLOOKUP(z	\bACOTH\(z_xlfn.ACOTH(z\bACOT\(z_xlfn.ACOT(z\bAGGREGATE\(z_xlfn.AGGREGATE(z
\bARABIC\(z_xlfn.ARABIC(z\bARRAYTOTEXT\(z_xlfn.ARRAYTOTEXT(z\bBASE\(z_xlfn.BASE(z\bBETA.DIST\(z_xlfn.BETA.DIST(z\bBETA.INV\(z_xlfn.BETA.INV(z\bBINOM.DIST.RANGE\(z_xlfn.BINOM.DIST.RANGE(z\bBINOM.DIST\(z_xlfn.BINOM.DIST(z\bBINOM.INV\(z_xlfn.BINOM.INV(z
\bBITAND\(z_xlfn.BITAND(z\bBITLSHIFT\(z_xlfn.BITLSHIFT(z	\bBITOR\(z_xlfn.BITOR(z\bBITRSHIFT\(z_xlfn.BITRSHIFT(z
\bBITXOR\(z_xlfn.BITXOR(z\bCEILING.MATH\(z_xlfn.CEILING.MATH(z\bCEILING.PRECISE\(z_xlfn.CEILING.PRECISE(z\bCHISQ.DIST.RT\(z_xlfn.CHISQ.DIST.RT(z\bCHISQ.DIST\(z_xlfn.CHISQ.DIST(z\bCHISQ.INV.RT\(z_xlfn.CHISQ.INV.RT(z\bCHISQ.INV\(z_xlfn.CHISQ.INV(z\bCHISQ.TEST\(z_xlfn.CHISQ.TEST(z\bCOMBINA\(z_xlfn.COMBINA(z
\bCONCAT\(z_xlfn.CONCAT(z\bCONFIDENCE.NORM\(z_xlfn.CONFIDENCE.NORM(z\bCONFIDENCE.T\(z_xlfn.CONFIDENCE.T(z\bCOTH\(z_xlfn.COTH(z\bCOT\(z
_xlfn.COT(z\bCOVARIANCE.P\(z_xlfn.COVARIANCE.P(z\bCOVARIANCE.S\(z_xlfn.COVARIANCE.S(z\bCSCH\(z_xlfn.CSCH(z\bCSC\(z
_xlfn.CSC(z\bDAYS\(z_xlfn.DAYS(z\bDECIMAL\(z_xlfn.DECIMAL(z\bERF.PRECISE\(z_xlfn.ERF.PRECISE(z\bERFC.PRECISE\(z_xlfn.ERFC.PRECISE(z\bEXPON.DIST\(z_xlfn.EXPON.DIST(z\bF.DIST.RT\(z_xlfn.F.DIST.RT(z
\bF.DIST\(z_xlfn.F.DIST(z\bF.INV.RT\(z_xlfn.F.INV.RT(z	\bF.INV\(z_xlfn.F.INV(z
\bF.TEST\(z_xlfn.F.TEST(z\bFILTERXML\(z_xlfn.FILTERXML(z\bFLOOR.MATH\(z_xlfn.FLOOR.MATH(z\bFLOOR.PRECISE\(z_xlfn.FLOOR.PRECISE(z\bFORECAST.ETS.CONFINT\(z_xlfn.FORECAST.ETS.CONFINT(z\bFORECAST.ETS.SEASONALITY\(z_xlfn.FORECAST.ETS.SEASONALITY(z\bFORECAST.ETS.STAT\(z_xlfn.FORECAST.ETS.STAT(z\bFORECAST.ETS\(z_xlfn.FORECAST.ETS(z\bFORECAST.LINEAR\(z_xlfn.FORECAST.LINEAR(z\bFORMULATEXT\(z_xlfn.FORMULATEXT(z\bGAMMA.DIST\(z_xlfn.GAMMA.DIST(z\bGAMMA.INV\(z_xlfn.GAMMA.INV(z\bGAMMALN.PRECISE\(z_xlfn.GAMMALN.PRECISE(z	\bGAMMA\(z_xlfn.GAMMA(z	\bGAUSS\(z_xlfn.GAUSS(z\bHYPGEOM.DIST\(z_xlfn.HYPGEOM.DIST(z\bIFNA\(z_xlfn.IFNA(z\bIFS\(z
_xlfn.IFS(z	\bIMAGE\(z_xlfn.IMAGE(z
\bIMCOSH\(z_xlfn.IMCOSH(z	\bIMCOT\(z_xlfn.IMCOT(z
\bIMCSCH\(z_xlfn.IMCSCH(z	\bIMCSC\(z_xlfn.IMCSC(z
\bIMSECH\(z_xlfn.IMSECH(z	\bIMSEC\(z_xlfn.IMSEC(z
\bIMSINH\(z_xlfn.IMSINH(z	\bIMTAN\(z_xlfn.IMTAN(z\bISFORMULA\(z_xlfn.ISFORMULA(z\bISOMITTED\(z_xlfn.ISOMITTED(z\bISOWEEKNUM\(z_xlfn.ISOWEEKNUM(z\bLET\(z
_xlfn.LET(z\bLOGNORM.DIST\(z_xlfn.LOGNORM.DIST(z\bLOGNORM.INV\(z_xlfn.LOGNORM.INV(z
\bMAXIFS\(z_xlfn.MAXIFS(z
\bMINIFS\(z_xlfn.MINIFS(z\bMODE.MULT\(z_xlfn.MODE.MULT(z\bMODE.SNGL\(z_xlfn.MODE.SNGL(z	\bMUNIT\(z_xlfn.MUNIT(z\bNEGBINOM.DIST\(z_xlfn.NEGBINOM.DIST(z\bNORM.DIST\(z_xlfn.NORM.DIST(z\bNORM.INV\(z_xlfn.NORM.INV(z\bNORM.S.DIST\(z_xlfn.NORM.S.DIST(z\bNORM.S.INV\(z_xlfn.NORM.S.INV(z\bNUMBERVALUE\(z_xlfn.NUMBERVALUE(z\bPDURATION\(z_xlfn.PDURATION(z\bPERCENTILE.EXC\(z_xlfn.PERCENTILE.EXC(z\bPERCENTILE.INC\(z_xlfn.PERCENTILE.INC(z\bPERCENTRANK.EXC\(z_xlfn.PERCENTRANK.EXC(z\bPERCENTRANK.INC\(z_xlfn.PERCENTRANK.INC(z\bPERMUTATIONA\(z_xlfn.PERMUTATIONA(z\bPHI\(z
_xlfn.PHI(z\bPOISSON.DIST\(z_xlfn.POISSON.DIST(z\bQUARTILE.EXC\(z_xlfn.QUARTILE.EXC(z\bQUARTILE.INC\(z_xlfn.QUARTILE.INC(z\bQUERYSTRING\(z_xlfn.QUERYSTRING(z\bRANK.AVG\(z_xlfn.RANK.AVG(z\bRANK.EQ\(z_xlfn.RANK.EQ(z\bRRI\(z
_xlfn.RRI(z\bSECH\(z_xlfn.SECH(z\bSEC\(z
_xlfn.SEC(z
\bSHEETS\(z_xlfn.SHEETS(z	\bSHEET\(z_xlfn.SHEET(z
\bSKEW.P\(z_xlfn.SKEW.P(z\bSTDEV.P\(z_xlfn.STDEV.P(z\bSTDEV.S\(z_xlfn.STDEV.S(z\bT.DIST.2T\(z_xlfn.T.DIST.2T(z\bT.DIST.RT\(z_xlfn.T.DIST.RT(z
\bT.DIST\(z_xlfn.T.DIST(z\bT.INV.2T\(z_xlfn.T.INV.2T(z	\bT.INV\(z_xlfn.T.INV(z
\bT.TEST\(z_xlfn.T.TEST(z\bTEXTAFTER\(z_xlfn.TEXTAFTER(z\bTEXTBEFORE\(z_xlfn.TEXTBEFORE(z\bTEXTJOIN\(z_xlfn.TEXTJOIN(z\bUNICHAR\(z_xlfn.UNICHAR(z\bUNICODE\(z_xlfn.UNICODE(z\bVALUETOTEXT\(z_xlfn.VALUETOTEXT(z	\bVAR.P\(z_xlfn.VAR.P(z	\bVAR.S\(z_xlfn.VAR.S(z\bWEBSERVICE\(z_xlfn.WEBSERVICE(z\bWEIBULL.DIST\(z_xlfn.WEIBULL.DIST(z
\bXMATCH\(z_xlfn.XMATCH(z\bXOR\(z
_xlfn.XOR(z
\bZ.TEST\(z_xlfn.Z.TEST()r  r  r  Úsubr  )r(   r]  Úexpand_future_functionss      r.   rf  zWorksheet._prepare_formulaF  sË  € à×Ò˜cÑ"Ô"ð 	"Ø˜a˜b˜b”kˆGØ×Ò˜cÑ"Ô"ð 	"Ø˜a˜b˜b”kˆGØ×Ò˜CÑ Ô ð 	#Ø˜c˜r˜c”lˆGð �wÐÐØˆNõ ”&Ð+Ð-AÀ7ÑKÔKˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&˜ m°WÑ=Ô=ˆÝ”&˜¨¸ÑAÔAˆÝ”&˜Ð(=¸wÑGÔGˆÝ”&˜¨¸ÑAÔAˆÝ”&˜¨¸ÑAÔAˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜ \°7Ñ;Ô;ˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜¨¸ÑAÔAˆÝ”&˜ m°WÑ=Ô=ˆÝ”&˜ ¸Ñ@Ô@ˆÝ”&˜Ð*;¸WÑEÔEˆÝ”&˜Ð&9¸7ÑCÔCˆÝ”&˜¨¸ÑAÔAˆÝ”&˜¨¸ÑAÔAˆÝ”&˜ m°WÑ=Ô=ˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜¨¸ÑAÔAˆÝ”&˜¨¸ÑAÔAˆÝ”&˜Ð*;¸WÑEÔEˆÝ”&˜Ð*;¸WÑEÔEˆÝ”&˜Ð)9¸7ÑCÔCˆàÔ(ð 	Ð1Hð 	ØˆNå”&˜ ~°wÑ?Ô?ˆÝ”&˜ m°WÑ=Ô=ˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜¨¸ÑAÔAˆÝ”&Ð+Ð-AÀ7ÑKÔKˆÝ”&˜ m°WÑ=Ô=ˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜Ð*;¸WÑEÔEˆÝ”&Ð0Ð2KÈWÑUÔUˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜¨¸ÑAÔAˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜¨¸ÑAÔAˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&Ð/Ð1IÈ7ÑSÔSˆÝ”&Ð-Ð/EÀwÑOÔOˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&˜Ð)9¸7ÑCÔCˆÝ”&˜¨¸ÑAÔAˆÝ”&Ð/Ð1IÈ7ÑSÔSˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&˜ m°WÑ=Ô=ˆÝ”&˜ \°7Ñ;Ô;ˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&˜ m°WÑ=Ô=ˆÝ”&˜ \°7Ñ;Ô;ˆÝ”&˜ m°WÑ=Ô=ˆÝ”&˜Ð)9¸7ÑCÔCˆÝ”&Ð+Ð-AÀ7ÑKÔKˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜¨¸ÑAÔAˆÝ”&˜Ð*;¸WÑEÔEˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜¨¸ÑAÔAˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&Ð-Ð/EÀwÑOÔOˆÝ”&Ø'Ð)FÈñ
ô 
ˆõ ”&Ø+Ð-NÐPWñ
ô 
ˆõ ”&Ð1Ð3MÈwÑWÔWˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&Ð/Ð1IÈ7ÑSÔSˆÝ”&Ð+Ð-AÀ7ÑKÔKˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&Ð/Ð1IÈ7ÑSÔSˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&˜ m°WÑ=Ô=ˆÝ”&˜ \°7Ñ;Ô;ˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜¨¸ÑAÔAˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜¨¸ÑAÔAˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜¨¸ÑAÔAˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&˜¨¸ÑAÔAˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&˜ \°7Ñ;Ô;ˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&Ð+Ð-AÀ7ÑKÔKˆÝ”&˜¨¸ÑAÔAˆÝ”&˜¨¸ÑAÔAˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜ ~°wÑ?Ô?ˆÝ”&Ð-Ð/EÀwÑOÔOˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&˜Ð*;¸WÑEÔEˆÝ”&Ð+Ð-AÀ7ÑKÔKˆÝ”&Ð*Ð,?ÀÑIÔIˆÝ”&Ð+Ð-AÀ7ÑKÔKˆÝ”&Ð)Ð+=¸wÑGÔGˆÝ”&Ð.Ð0GÈÑQÔQˆÝ”&Ð.Ð0GÈÑQÔQˆÝ”&Ð/Ð1IÈ7ÑSÔSˆÝ”&Ð/Ð1IÈ7ÑSÔSˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&˜ \°7Ñ;Ô;ˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&Ð,Ð.CÀWÑMÔMˆÝ”&Ð,Ñ.CÀWÑMÔMˆÝ”&Ñ+Ñ-AÀ7ÑKÔKˆÝ”&™Ñ*;¸WÑEÔEˆÝ”&™Ñ)9¸7ÑCÔCˆÝ”&™¡\°7Ñ;Ô;ˆÝ”&™¡m°WÑ=Ô=ˆÝ”&™¡\°7Ñ;Ô;ˆÝ”&™©¸ÑAÔAˆÝ”&™¡~°wÑ?Ô?ˆÝ”&™©¸ÑAÔAˆÝ”&™Ñ)9¸7ÑCÔCˆÝ”&™Ñ)9¸7ÑCÔCˆÝ”&Ñ)Ñ+=¸wÑGÔGˆÝ”&Ñ)Ñ+=¸wÑGÔGˆÝ”&™©¸ÑAÔAˆÝ”&™Ñ*;¸WÑEÔEˆÝ”&™¡~°wÑ?Ô?ˆÝ”&™©¸ÑAÔAˆÝ”&Ñ)Ñ+=¸wÑGÔGˆÝ”&Ñ*Ñ,?ÀÑIÔIˆÝ”&™Ñ*;¸WÑEÔEˆÝ”&™Ñ)9¸7ÑCÔCˆÝ”&™Ñ)9¸7ÑCÔCˆÝ”&Ñ+Ñ-AÀ7ÑKÔKˆÝ”&™¡~°wÑ?Ô?ˆÝ”&™¡~°wÑ?Ô?ˆÝ”&Ñ*Ñ,?ÀÑIÔIˆÝ”&Ñ,Ñ.CÀWÑMÔMˆÝ”&™©¸ÑAÔAˆÝ”&™¡\°7Ñ;Ô;ˆÝ”&™©¸ÑAÔAˆàˆr2   ri  c	                 óx  — ||k    r||}}||k    r||}}|                       ||¦  «        rdS |                       ||¦  «        rdS ||k    r||k    rt          ||¦  «        }	n$t          ||¦  «        dz   t          ||¦  «        z   }	|                      |¦  «        }| j        r || j        k    r|                      |¦  «         t          ||||	|¦  «        | j        |         |<   | j        sPt          ||dz   ¦  «        D ]<}
t          ||dz   ¦  «        D ]&}|
|k    s||k    r|  	                    |
|d|¦  «         Œ'Œ=dS )NrB  r5   r   r   )
rD  r   rf  rk   rö   rG  Úcell_arformula_tuplerÃ   Úranger"  )r(   rj  rk  rl  rm  r]  r>  r^  ÚatypeÚ
cell_ranger%  rF   s               r.   re  zWorksheet._write_array_formulaü  s³  € ð �xÒÐØ"*¨I�xˆIØ�xÒÐØ"*¨I�xˆIð ×!Ò! )¨YÑ7Ô7ð 	Ø�2Ø×!Ò! (¨HÑ5Ô5ð 	Ø�2ð ˜Ò Ð  Y°(Ò%:Ð%:Ý*¨9°iÑ@Ô@ˆJˆJõ " )¨YÑ7Ô7Øñå# H¨hÑ7Ô7ñ8ð ð ×'Ò'¨Ñ0Ô0ˆð Ôð 	. I°Ô0AÒ$AÐ$AØ×"Ò" 9Ñ-Ô-Ð-õ ,@Ø�[ %¨°Uñ,
ô ,
ˆŒ
�9Ô˜iÑ(ð
 Ô#ð 	EÝ˜Y¨°1©Ñ5Ô5ð Eð E�Ý  ¨H°q©LÑ9Ô9ð Eð E�CØ˜iÒ'Ð'¨3°)Ò+;Ð+;Ø×*Ò*¨3°°Q¸ÑDÔDÐDøðEð ˆqr2   c                 ó2   — |                       ||||¦  «        S )aŽ  
        Write a date or time to a worksheet cell.

        Args:
            row:         The cell row (zero indexed).
            col:         The cell column (zero indexed).
            date:        Date and/or time as a datetime object.
            cell_format: A cell Format object.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        )r6  )r(   r%  rF   r3  r>  s        r.   Úwrite_datetimezWorksheet.write_datetime2  s   € ð  ×#Ò# C¨¨d°KÑ@Ô@Ð@r2   c                 óü   — |                       ||¦  «        rdS | j        r || j        k    r|                      |¦  «         |                      |¦  «        }|€| j        }t          ||¦  «        | j        |         |<   dS )NrB  r   )rD  rk   rö   rG  Ú_convert_date_timer  Úcell_datetime_tuplerÃ   )r(   r%  rF   r3  r>  rM  s         r.   r6  zWorksheet._write_datetimeE  s“   € à×!Ò! # sÑ+Ô+ð 	Ø�2ð Ôð 	( C¨$Ô*;Ò$;Ð$;Ø×"Ò" 3Ñ'Ô'Ð'ð ×(Ò(¨Ñ.Ô.ˆð ÐØÔ2ˆKõ  3°6¸;ÑGÔGˆŒ
�3Œ˜Ñàˆqr2   c                 ó2   — |                       ||||¦  «        S )aˆ  
        Write a boolean value to a worksheet cell.

        Args:
            row:         The cell row (zero indexed).
            col:         The cell column (zero indexed).
            boolean:     Cell data. bool type.
            cell_format: An optional cell Format object.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        )r0  )r(   r%  rF   Úbooleanr>  s        r.   Úwrite_booleanzWorksheet.write_booleanZ  s   € ð  ×"Ò" 3¨¨W°kÑBÔBÐBr2   c                 óÎ   — |                       ||¦  «        rdS | j        r || j        k    r|                      |¦  «         |rd}nd}t	          ||¦  «        | j        |         |<   dS )NrB  r   r   )rD  rk   rö   rG  Úcell_boolean_tuplerÃ   )r(   r%  rF   r€  r>  r^  s         r.   r0  zWorksheet._write_booleanm  s‚   € à×!Ò! # sÑ+Ô+ð 	Ø�2ð Ôð 	( C¨$Ô*;Ò$;Ð$;Ø×"Ò" 3Ñ'Ô'Ð'àð 	ØˆEˆEàˆEõ  2°%¸ÑEÔEˆŒ
�3Œ˜Ñàˆqr2   c                 ó6   — |                       ||||||¦  «        S )aˆ  
        Write a hyperlink to a worksheet cell.

        Args:
            row:    The cell row (zero indexed).
            col:    The cell column (zero indexed).
            url:    Hyperlink url.
            format: An optional cell Format object.
            string: An optional display string for the hyperlink.
            tip:    An optional tooltip.
        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: String longer than 32767 characters.
            -3: URL longer than Excel limit of 255 characters.
            -4: Exceeds Excel limit of 65,530 urls per worksheet.
        )r   )r(   r%  rF   Úurlr>  r=  Útips          r.   Ú	write_urlzWorksheet.write_urlˆ  s    € ð& �Š˜s C¨¨k¸6À3ÑGÔGÐGr2   c                 ó  — |                       ||¦  «        rdS |€|}d}|                     d¦  «        r.|                     dd¦  «        }|                     dd¦  «        }d}d}|                     d¦  «        rZ|                     dd¦  «        }|                     dd	¦  «        }|                     dd¦  «        }|                     dd	¦  «        }d
}|                     dd¦  «        }d}	t          |¦  «        | j        k    rt          d¦  «         dS |}
|dk    r“d|v r|                     dd¦  «        \  }}
nd }
|                      |¦  «        }|
�|s|                      |
¦  «        }
t          j	        d|¦  «        st          j	        d|¦  «        rd|z   }t          j
        dd|¦  «        }|
pd}| j        }t          |¦  «        |k    st          |¦  «        |k    rt          d||fz  ¦  «         dS | xj        dz  c_        | j        dk    rt          d|z  ¦  «         dS |€| j        }| j        s?| j        r || j        k    r|                      |¦  «         |                      ||||¦  «         |||
|dœ| j        |         |<   |	S )NrB  r   ú	internal:rY   é   Fú	external:ú/ú\Tr  r   zFIgnoring URL since it exceeds Excel's string limit of 32767 charactersrC  ú#ú\w:ú\\úfile:///z^\.\\zfIgnoring URL '%s' with link or location/anchor > %d characters since it exceeds Excel's limit for URLSéýÿÿÿiúÿ  zNIgnoring URL '%s' since it exceeds Excel's limit of 65,530 URLS per worksheet.éüÿÿÿ)Ú	link_typer…  r1  r†  )rD  r  ÚreplacerE  rt   r   r7   Ú_escape_urlr  r  rs  r  rÞ   r  r  rk   rö   rG  r#  rÿ   )r(   r%  rF   r…  r>  r=  r†  r”  ÚexternalrI  Úurl_strÚtmp_url_strÚmax_urls                r.   r   zWorksheet._write_urlž  s  € à×!Ò! # sÑ+Ô+ð 	Ø�2ð ˆ>ØˆFð ˆ	ð �>Š>˜+Ñ&Ô&ð 	Ø—+’+˜k¨2Ñ.Ô.ˆCØ—^’^ K°Ñ4Ô4ˆFØˆIð ˆØ�>Š>˜+Ñ&Ô&ð 	Ø—+’+˜k¨2Ñ.Ô.ˆCØ—+’+˜c 4Ñ(Ô(ˆCØ—^’^ K°Ñ4Ô4ˆFØ—^’^ C¨Ñ.Ô.ˆFØˆHð —’ 	¨2Ñ.Ô.ˆð ˆ	Ýˆv‰;Œ;˜œÒ(Ð(Ýð#ñô ð ð �2ð ˆð ˜Š>ˆ>à�cˆzˆzØ"Ÿyšy¨¨aÑ0Ô0‘��W�Wà�à×"Ò" 3Ñ'Ô'ˆCàÐ"¨8Ð"Ø×*Ò*¨7Ñ3Ô3�õ Œx˜ Ñ$Ô$ð '­¬°¸Ñ(<Ô(<ð 'Ø  3Ñ&�õ ”&˜ 2 sÑ+Ô+ˆCð �m ˆØÔ%ˆÝˆs‰8Œ8�gÒÐ¥ [Ñ!1Ô!1°GÒ!;Ð!;ÝðEØHKÈWÀ~ñVñô ð ð �2ð 	ÐÔ˜AÑÐÔàÔ˜eÒ#Ð#Ýð-Ø/2ñ3ñô ð ð �2ð ÐØÔ1ˆKàÔ'ð 	>àÔ#ð ,¨¨dÔ.?Ò(?Ð(?Ø×&Ò& sÑ+Ô+Ð+ð ×Ò˜s C¨°Ñ=Ô=Ð=ð #ØØØð	%
ð %
ˆŒ˜Ô˜SÑ!ð Ðr2   c                 ó    —  | j         ||g|¢R Ž S )aI  
        Write a "rich" string with multiple formats to a worksheet cell.

        Args:
            row:          The cell row (zero indexed).
            col:          The cell column (zero indexed).
            string_parts: String and format pairs.
            cell_format:  Optional Format object.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: String truncated to 32k characters.
            -3: 2 consecutive formats used.
            -4: Empty string used.
            -5: Insufficient parameters.

        )Ú_write_rich_stringr+  s       r.   Úwrite_rich_stringzWorksheet.write_rich_string	  s!   € ð* 'ˆtÔ& s¨CÐ7°$Ð7Ð7Ð7Ð7r2   c                 ó0  — t          |¦  «        }d }d}d}|                      ||¦  «        rdS t          |d         t          ¦  «        r|                     ¦   «         }t          ¦   «         }t          ¦   «         | _        | j                             |¦  «         t          ¦   «         }	g }
d}d}t          |¦  «        dk    rt          d¦  «         dS |D ]·}t          |t          ¦  «        sf|dk    r+|
                     |	¦  «         |
                     |¦  «         n|
                     |¦  «         |dk    rt          d¦  «          d	S ||z  }d
}n5|dk    r|dk    rt          d¦  «          dS |
                     |¦  «         d}|dz  }Œ¸t          |
d         t          ¦  «        s| j                             d¦  «         |
D ]£}t          |t          ¦  «        r0| j                             d¦  «         |                      |¦  «         ŒGg }t          |¦  «        r|                     d¦  «         | j                             d||¦  «         | j                             d¦  «         Œ¤| j        j                             ¦   «         }t          |¦  «        | j        k    rt          d¦  «         dS | j        s| j                             |¦  «        }n|}| j        r || j        k    r|                      |¦  «         t3          |||¦  «        | j        |         |<   dS )Nr   rY   rB  rN   rŠ  zfYou must specify more than 2 format/fragments for rich strings. Ignoring input in write_rich_string().éûÿÿÿzYExcel doesn't allow empty strings in rich strings. Ignoring input in write_rich_string().r“  r=  zaExcel doesn't allow 2 consecutive formats in rich strings. Ignoring input in write_rich_string().r’  r   Úr)z	xml:spaceÚpreserveÚtzfString length must be less than or equal to Excel's limit of 32,767 characters in write_rich_string().rC  )ÚlistrD  r7  r   Úpopr	   r   rõ   Ú_set_filehandlerE  r   ÚappendÚ_xml_start_tagÚ_write_fontr   Ú_xml_data_elementÚ_xml_end_tagÚfhÚgetvaluert   rk   ri   rF  rö   rG  Úcell_rich_string_tuplerÃ   )r(   r%  rF   r)   Útokensr>  rJ  Ú
raw_stringr«  ÚdefaultÚ	fragmentsÚpreviousÚposr$  Ú
attributesr=  s                   r.   rœ  zWorksheet._write_rich_string!  s‡  € Ý�d‘”ˆØˆØˆØˆ
ð ×!Ò! # sÑ+Ô+ð 	Ø�2õ �f˜R”j¥&Ñ)Ô)ð 	'Ø Ÿ*š*™,œ,ˆKõ ‰ZŒZˆÝ ‘{”{ˆŒØŒ×$Ò$ RÑ(Ô(Ð(õ ‘(”(ˆð
 ˆ	ØˆØˆåˆv‰;Œ;˜!ÒÐÝðBñô ð ð �2àð "	ð "	ˆEÝ˜e¥VÑ,Ô,ð $à˜xÒ'Ð'à×$Ò$ WÑ-Ô-Ð-Ø×$Ò$ UÑ+Ô+Ð+Ð+ð ×$Ò$ UÑ+Ô+Ð+à˜B’;�;ÝðAñô ð ð ˜2˜2ð ˜eÑ#�
Ø#��ð ˜xÒ'Ð'¨C°!ªG¨GÝðJñô ð ð ˜2˜2ð × Ò  Ñ'Ô'Ð'Ø#�à�1‰HˆCˆCõ ˜) Aœ,­Ñ/Ô/ð 	-ØŒL×'Ò'¨Ñ,Ô,Ð,ð ð 	/ð 	/ˆEÝ˜%¥Ñ(Ô(ð /à”×+Ò+¨CÑ0Ô0Ð0Ø× Ò  Ñ'Ô'Ð'Ð'ð  �
å& uÑ-Ô-ð AØ×%Ò%Ð&?Ñ@Ô@Ð@à”×.Ò.¨s°E¸:ÑFÔFÐFØ”×)Ò)¨#Ñ.Ô.Ð.Ð.ð ””×)Ò)Ñ+Ô+ˆõ ˆz‰?Œ?˜Tœ_Ò,Ð,Ýð?ñô ð ð �2ð Ô#ð 	"Øœ>×BÒBÀ6ÑJÔJˆLˆLà!ˆLð Ôð 	( C¨$Ô*;Ò$;Ð$;Ø×"Ò" 3Ñ'Ô'Ð'õ  6Ø˜+ zñ 
ô  
ˆŒ
�3Œ˜Ñð ˆqr2   c                 ó   — || j         |<   dS )a"  
        Add a callback function to the write() method to handle user defined
        types.

        Args:
            user_type:      The user type() to match on.
            user_function:  The user defined function to write the type data.
        Returns:
            Nothing.

        N)r  )r(   Ú	user_typeÚuser_functions      r.   Úadd_write_handlerzWorksheet.add_write_handlerš  s   € ð *7ˆÔ˜IÑ&Ð&Ð&r2   c                 óV   — |D ]%}|                       ||||¦  «        }|r|c S |dz  }Œ&dS )a†  
        Write a row of data starting from (row, col).

        Args:
            row:    The cell row (zero indexed).
            col:    The cell column (zero indexed).
            data:   A list of tokens to be written with write().
            format: An optional cell Format object.
        Returns:
            0:  Success.
            other: Return value of write() method.

        r   r   r)  ©r(   r%  rF   Údatar>  r$  rq  s          r.   Ú	write_rowzWorksheet.write_row©  óK   € ð ð 	ð 	ˆEØ—K’K  S¨%°Ñ=Ô=ˆEØð Ø���Ø�1‰HˆCˆCàˆqr2   c                 óV   — |D ]%}|                       ||||¦  «        }|r|c S |dz  }Œ&dS )a‰  
        Write a column of data starting from (row, col).

        Args:
            row:    The cell row (zero indexed).
            col:    The cell column (zero indexed).
            data:   A list of tokens to be written with write().
            format: An optional cell Format object.
        Returns:
            0:  Success.
            other: Return value of write() method.

        r   r   r)  rº  s          r.   Úwrite_columnzWorksheet.write_columnÀ  r½  r2   c                 ó  — |                       ||dd¦  «        rt          d||fz  ¦  «         dS |€i }|                     dd¦  «        }|                     dd¦  «        }|                     dd	¦  «        }|                     d
d	¦  «        }|                     dd¦  «        }	|                     dd¦  «        }
|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     d|¦  «        }|s3t          j                             |¦  «        st          d|z  ¦  «         dS | j                             ||||||||	|
||||g¦  «         dS )a¸  
        Insert an image with its top-left corner in a worksheet cell.

        Args:
            row:      The cell row (zero indexed).
            col:      The cell column (zero indexed).
            filename: Path and filename for in supported formats.
            options:  Position, scale, url and data stream of the image.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        Tz Cannot insert image at (%d, %d).rB  NÚx_offsetr   Úy_offsetÚx_scaler   Úy_scaler…  r†  Úobject_positionrŠ  Ú
image_dataÚdescriptionÚ
decorativeFÚpositioningúImage file '%s' not found.)rD  r   ÚgetÚosÚpathÚexistsré   r¦  )r(   r%  rF   ÚfilenameÚoptionsrÁ  rÂ  rÃ  rÄ  r…  r†  ÚanchorrÆ  rÇ  rÈ  s                  r.   Úinsert_imagezWorksheet.insert_image×  sž  € ð" ×!Ò! # s¨D°$Ñ7Ô7ð 	ÝÐ3°s¸C°jÑ@ÑAÔAÐAØ�2àˆ?ØˆGà—;’;˜z¨1Ñ-Ô-ˆØ—;’;˜z¨1Ñ-Ô-ˆØ—+’+˜i¨Ñ+Ô+ˆØ—+’+˜i¨Ñ+Ô+ˆØ�kŠk˜% Ñ&Ô&ˆØ�kŠk˜% Ñ&Ô&ˆØ—’Ð.°Ñ2Ô2ˆØ—[’[ ¨tÑ4Ô4ˆ
Ø—k’k -°Ñ6Ô6ˆØ—[’[ ¨uÑ5Ô5ˆ
ð —’˜]¨FÑ3Ô3ˆàð 	¥"¤'§.¢.°Ñ":Ô":ð 	ÝÐ-°Ñ8Ñ9Ô9Ð9Ø�2àŒ×ÒàØØØØØØØØØØØØðñ	
ô 	
ð 	
ð" ˆqr2   c                 óð  — |                       ||¦  «        rt          d||fz  ¦  «         dS |€i }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }	|                     d	d
¦  «        }
|s3t          j                             |¦  «        st          d|z  ¦  «         dS |r1|€| j        }d| _        |                      ||||d|¦  «         d
| _        t          ||¦  «        \  }}}}}}}||||	|
g}| j
                             ||¦  «        }t          d||¦  «        | j        |         |<   dS )a�  
        Embed an image in a worksheet cell.

        Args:
            row:      The cell row (zero indexed).
            col:      The cell column (zero indexed).
            filename: Path and filename for in supported formats.
            options:  Url and data stream of the image.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        zCannot embed image at (%d, %d).rB  Nr…  r†  r>  rÆ  rÇ  rÈ  FrÊ  Tú#VALUE!r   )rD  r   rË  rÌ  rÍ  rÎ  r  r  r‡  r   Úembedded_imagesÚget_image_indexÚcell_error_tuplerÃ   )r(   r%  rF   rÏ  rÐ  r…  r†  r>  rÆ  rÇ  rÈ  Ú
image_typerH   ÚdigestÚimageÚimage_indexs                   r.   Úembed_imagezWorksheet.embed_image  s£  € ð" ×!Ò! # sÑ+Ô+ð 	ÝÐ2°c¸3°ZÑ?Ñ@Ô@Ð@Ø�2àˆ?ØˆGà�kŠk˜% Ñ&Ô&ˆØ�kŠk˜% Ñ&Ô&ˆØ—k’k -°Ñ6Ô6ˆØ—[’[ ¨tÑ4Ô4ˆ
Ø—k’k -°Ñ6Ô6ˆØ—[’[ ¨uÑ5Ô5ˆ
àð 	¥"¤'§.¢.°Ñ":Ô":ð 	ÝÐ-°Ñ8Ñ9Ô9Ð9Ø�2àð 	-ØÐ"Ø"Ô5�à'+ˆDÔ$Ø�NŠN˜3  S¨+°t¸SÑAÔAÐAØ',ˆDÔ$õ ! ¨:Ñ6Ô6ñ	
ØØØØØØØð ˜: z°;À
ÐKˆØÔ*×:Ò:¸5À&ÑIÔIˆõ  0°	¸;ÈÑTÔTˆŒ
�3Œ˜Ñàˆqr2   c                 óð  — |                       ||dd¦  «        rt          d||fz  ¦  «         dS |€d}|€i }|                     dd¦  «        }|                     dd¦  «        }|                     d	d
¦  «        }|                     dd
¦  «        }|                     dd
¦  «        }	|                     dd¦  «        }
|                     dd¦  «        }| j                             ||||||||	||
|g¦  «         dS )a†  
        Insert an textbox with its top-left corner in a worksheet cell.

        Args:
            row:      The cell row (zero indexed).
            col:      The cell column (zero indexed).
            text:     The text for the textbox.
            options:  Textbox options.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        Tz"Cannot insert textbox at (%d, %d).rB  NrY   rÁ  r   rÂ  rÃ  r   rÄ  rÅ  rÇ  rÈ  F)rD  r   rË  rì   r¦  )r(   r%  rF   ÚtextrÐ  rÁ  rÂ  rÃ  rÄ  rÑ  rÇ  rÈ  s               r.   Úinsert_textboxzWorksheet.insert_textboxR  s  € ð" ×!Ò! # s¨D°$Ñ7Ô7ð 	ÝÐ5¸¸c¸
ÑBÑCÔCÐCØ�2àˆ<ØˆDàˆ?ØˆGà—;’;˜z¨1Ñ-Ô-ˆØ—;’;˜z¨1Ñ-Ô-ˆØ—+’+˜i¨Ñ+Ô+ˆØ—+’+˜i¨Ñ+Ô+ˆØ—’Ð.°Ñ2Ô2ˆØ—k’k -°Ñ6Ô6ˆØ—[’[ ¨uÑ5Ô5ˆ
àŒ×ÒàØØØØØØØØØØðñ	
ô 	
ð 	
ð ˆqr2   c                 óð  — |                       ||dd¦  «        rt          d||fz  ¦  «         dS |€i }|j        s|j        r|j        j        rt          d¦  «         dS d|_        |j        rd|j        _        |                     dd¦  «        }|                     dd¦  «        }|                     d	d
¦  «        }|                     dd
¦  «        }|                     dd
¦  «        }	|                     dd¦  «        }
|                     dd¦  «        }|j        d
k    r|j        }|j        d
k    r|j        }|j        r|j        }|j        r|j        }| j	         
                    ||||||||	|
|g
¦  «         dS )a„  
        Insert an chart with its top-left corner in a worksheet cell.

        Args:
            row:     The cell row (zero indexed).
            col:     The cell column (zero indexed).
            chart:   Chart object.
            options: Position and scale of the chart.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        Tz Cannot insert chart at (%d, %d).rB  Nz7Chart cannot be inserted in a worksheet more than once.rÁ  r   rÂ  rÃ  r   rÄ  rÅ  rÇ  rÈ  F)rD  r   Úalready_insertedÚcombinedrË  rÃ  rÄ  rÁ  rÂ  rè   r¦  )r(   r%  rF   ÚchartrÐ  rÁ  rÂ  rÃ  rÄ  rÑ  rÇ  rÈ  s               r.   Úinsert_chartzWorksheet.insert_chart†  s¯  € ð" ×!Ò! # s¨D°$Ñ7Ô7ð 	ÝÐ3°s¸C°jÑ@ÑAÔAÐAØ�2àˆ?ØˆGð Ô!ð 	7 U¤^ð 	7¸¼Ô8Wð 	7ÝÐJÑKÔKÐKØˆFà%)ˆEÔ"àŒ~ð 7Ø26�”Ô/à—;’;˜z¨1Ñ-Ô-ˆØ—;’;˜z¨1Ñ-Ô-ˆØ—+’+˜i¨Ñ+Ô+ˆØ—+’+˜i¨Ñ+Ô+ˆØ—’Ð.°Ñ2Ô2ˆØ—k’k -°Ñ6Ô6ˆØ—[’[ ¨uÑ5Ô5ˆ
ð Œ=˜AÒÐØ”mˆGàŒ=˜AÒÐØ”mˆGàŒ>ð 	&Ø”~ˆHàŒ>ð 	&Ø”~ˆHàŒ×ÒàØØØØØØØØØðñ	
ô 	
ð 	
ð ˆqr2   c                 ó¶   — |€i }|                       ||¦  «        rdS t          |¦  «        | j        k    rdS d| _        d| _        ||||g| j        |         |<   dS )až  
        Write a comment to a worksheet cell.

        Args:
            row:     The cell row (zero indexed).
            col:     The cell column (zero indexed).
            comment: Cell comment. Str.
            options: Comment formatting options.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: String longer than 32k characters.

        NrB  rC  r   r   )rD  rE  rt   rÈ   rÊ   rË   )r(   r%  rF   ÚcommentrÐ  s        r.   Úwrite_commentzWorksheet.write_commentÍ  sw   € ð" ˆ?ØˆGð ×!Ò! # sÑ+Ô+ð 	Ø�2õ ˆw‰<Œ<˜$œ/Ò)Ð)Ø�2àˆŒØˆÔð $'¨¨W°gÐ">ˆŒ�cÔ˜3Ñàˆqr2   c                 ó   — d| _         dS )z†
        Make any comments in the worksheet visible.

        Args:
            None.

        Returns:
            Nothing.

        r   N)rÎ   ©r(   s    r.   Úshow_commentszWorksheet.show_commentsñ  ó   € ð !"ˆÔÐÐr2   c                 óŒ   — |s3t           j                             |¦  «        st          d|z  ¦  «         dS || _        || _        dS )zî
        Set a background image for a worksheet.

        Args:
            filename:       Path and filename for in supported formats.
            is_byte_stream: File is a stream of bytes.
        Returns:
            Nothing.

        rÊ  rB  N)rÌ  rÍ  rÎ  r   rô   ró   )r(   rÏ  Úis_byte_streams      r.   Úset_backgroundzWorksheet.set_backgroundþ  sP   € ð ð 	¥b¤g§n¢n°XÑ&>Ô&>ð 	ÝÐ-°Ñ8Ñ9Ô9Ð9Ø�2à .ˆÔØ (ˆÔÐÐr2   c                 ó   — || _         dS )z¦
        Set the default author of the cell comments.

        Args:
            author: Comment author name. String.

        Returns:
            Nothing.

        N)rÍ   )r(   Úauthors     r.   Úset_comments_authorzWorksheet.set_comments_author  s   € ð  &ˆÔÐÐr2   c                 ó   — | j         S )zw
        Retrieve the worksheet name.

        Args:
            None.

        Returns:
            Nothing.

        )rg   ré  s    r.   Úget_namezWorksheet.get_name  s   € ð ŒyÐr2   c                 óD   — d| _         d| _        | j        | j        _        dS )a  
        Set this worksheet as the active worksheet, i.e. the worksheet that is
        displayed when the workbook is opened. Also set it as selected.

        Note: An active worksheet cannot be hidden.

        Args:
            None.

        Returns:
            Nothing.

        r   r   N)r{   r�   rh   r
  Úactivesheetré  s    r.   ÚactivatezWorksheet.activate,  s%   € ð ˆŒØˆŒØ*.¬*ˆÔÔ'Ð'Ð'r2   c                 ó"   — d| _         d| _        dS )zó
        Set current worksheet as a selected worksheet, i.e. the worksheet
        has its tab highlighted.

        Note: A selected worksheet cannot be hidden.

        Args:
            None.

        Returns:
            Nothing.

        r   r   N)r�   r{   ré  s    r.   ÚselectzWorksheet.select>  s   € ð ˆŒØˆŒˆˆr2   c                 ó"   — d| _         d| _        dS )zv
        Hide the current worksheet.

        Args:
            None.

        Returns:
            Nothing.

        r   r   N©r{   r�   ré  s    r.   ÚhidezWorksheet.hideO  ó   € ð ˆŒð ˆŒˆˆr2   c                 ó"   — d| _         d| _        dS )z˜
        Hide the current worksheet. This can only be unhidden by VBA.

        Args:
            None.

        Returns:
            Nothing.

        rŠ  r   Nrú  ré  s    r.   Úvery_hiddenzWorksheet.very_hidden_  rü  r2   c                 ó6   — d| _         | j        | j        _        dS )aJ  
        Set current worksheet as the first visible sheet. This is necessary
        when there are a large number of worksheets and the activated
        worksheet is not visible on the screen.

        Note: A selected worksheet cannot be hidden.

        Args:
            None.

        Returns:
            Nothing.

        r   N)r{   rh   r
  Ú
firstsheetré  s    r.   Úset_first_sheetzWorksheet.set_first_sheeto  s   € ð ˆŒØ)-¬ˆÔÔ&Ð&Ð&r2   c                 óÆ  — |€i }||k    r||}}d}|                      dd¦  «        }|                      dd¦  «        }|                      dd¦  «        }	|s|r|rd}
nd}
|                      d|||
¦  «        rdS |                      d|||
¦  «        rdS |	dk     rd}	|	d	k    rd	}	|	| j        k    r|	| _        t          ||d
z   ¦  «        D ]}||||	|dg| j        |<   Œd| _        dS )a  
        Set the width, and other properties of a single column or a
        range of columns.

        Args:
            first_col:   First column (zero-indexed).
            last_col:    Last column (zero-indexed). Can be same as first_col.
            width:       Column width. (optional).
            cell_format: Column cell_format. (optional).
            options:     Dict of options such as hidden and level.

        Returns:
            0:  Success.
            -1: Column number is out of worksheet bounds.

        NTr{   FÚ	collapsedÚlevelr   rB  é   r   )rË  rD  r´   rw  ry   rÚ   )r(   rk  rm  Úwidthr>  rÐ  Ú
ignore_rowr{   r  r  Ú
ignore_colrF   s               r.   Ú
set_columnzWorksheet.set_column�  sO  € ð( ˆ?ØˆGð �xÒÐØ%-¨y˜ˆYð ˆ
ð —’˜X uÑ-Ô-ˆØ—K’K ¨UÑ3Ô3ˆ	Ø—’˜G QÑ'Ô'ˆð ð 	˜5ð 	 Vð 	ØˆJˆJàˆJð ×!Ò! ! X¨z¸:ÑFÔFð 	Ø�2Ø×!Ò! ! Y°
¸JÑGÔGð 	Ø�2ð �1Š9ˆ9ØˆEØ�1Š9ˆ9ØˆEà�4Ô)Ò)Ð)Ø%*ˆDÔ"õ ˜ H¨q¡LÑ1Ô1ð 	Wð 	WˆCØ"'¨°f¸eÀYÐPUÐ!VˆDŒM˜#ÑÐð !%ˆÔàˆqr2   c                 ób   — |�|                       |¦  «        }|                      |||||¦  «        S )a;  
        Set the width, and other properties of a single column or a
        range of columns, where column width is in pixels.

        Args:
            first_col:   First column (zero-indexed).
            last_col:    Last column (zero-indexed). Can be same as first_col.
            width:       Column width in pixels. (optional).
            cell_format: Column cell_format. (optional).
            options:     Dict of options such as hidden and level.

        Returns:
            0:  Success.
            -1: Column number is out of worksheet bounds.

        )Ú_pixels_to_widthr	  )r(   rk  rm  r  r>  rÐ  s         r.   Úset_column_pixelszWorksheet.set_column_pixelsÂ  s7   € ð( ÐØ×)Ò)¨%Ñ0Ô0ˆEà�Š˜y¨(°E¸;ÈÑPÔPÐPr2   c                 óÌ  — | j         rt          d¦  «         dS | j        €dS i }t          | j        j        | j        j        j        ¬¦  «        }t          | j        | j        dz   ¦  «        D �]}| j	         
                    |¦  «        sŒt          | j        | j        dz   ¦  «        D �]à}|| j	        |         v �rÍ| j	        |         |         }|j        j        }d}|dv rb|dk    r|j        }||         }	n|j        }	d|	vrt#          |	¦  «        }�n.|	                     d¦  «        D ]}	t#          |	¦  «        }
|
|k    r|
}Œnþ|d	k    r%d
t'          t)          |j        ¦  «        ¦  «        z  }nÓ|dk    r| j        }nÅ|dk    r|j        rd}nµd}n²|dk    s|dk    r¦t1          |j        t4          t6          f¦  «        r0|j        dk    r$d
t'          t)          |j        ¦  «        ¦  «        z  }nUt1          |j        t(          ¦  «        rt#          |j        ¦  «        }n&t1          |j        t8          ¦  «        r|j        rd}nd}| j         
                    ||f¦  «        r|dk    r|dz  }| 
                    |d¦  «        }||k    r|||<   �Œâ�Œ|                     ¦   «         D ]Å\  }}|                      |d
z   ¦  «        }|dk    rd}| j          
                    |¦  «        rv| j          
                    |¦  «        }|d         }|d         }|�)|s'||k    r || j         |         d<   d| j         |         d<   Œ”|| j         |         d<   d| j         |         d<   Œµ|dddddg| j         |<   ŒÆdS )zœ
        Simulate autofit based on the data, and datatypes in each column.

        Args:
            None.

        Returns:
            Nothing.

        z1Autofit is not supported in constant_memory mode.N)Úkeyr   r   ©rK   rS   rK   ú
rL   r  rQ   rO   é   é$   rP   rR   é   g     ào@é   TF)!rk   r   rv   Úsortedri   Ústring_tableÚ__getitem__rw  ru   rÃ   rË  rw   rx   r  Ú__name__r=  r¯  r   r7   rE  r1  rM  r¿   r€  r7  r^  r!  r&   r/  rØ   Úitemsr  ry   )r(   Úcol_width_maxÚstringsÚrow_numÚcol_numÚcellÚ	cell_typeÚlengthÚ	string_idr=  Ú
seg_lengthÚ	width_maxÚpixel_widthr  ry   Ú
user_widthr{   s                    r.   ÚautofitzWorksheet.autofitÛ  s  € ð Ôð 	ÝÐDÑEÔEÐEØˆFð Œ?Ð"ØˆFð ˆõ ØŒNÔ'¨T¬^Ô-HÔ-Tð
ñ 
ô 
ˆõ ˜Tœ_¨d¬oÀÑ.AÑBÔBð W	8ñ W	8ˆGØ”:—>’> 'Ñ*Ô*ð Øå  ¤°$´/ÀAÑ2EÑFÔFð S8ñ S8�Ø˜dœj¨Ô1Ð1Ñ1Øœ: gÔ.¨wÔ7�DØ $¤Ô 7�IØ�Fà Ð$<Ð<Ð<ð %¨Ò0Ð0Ø(,¬˜IØ%,¨YÔ%7˜F˜Fà%)¤_˜Fà vÐ-Ð-å%3°FÑ%;Ô%;˜F™Fð +1¯,ª,°tÑ*<Ô*<ð 8ð 8 Ý-;¸FÑ-CÔ-C 
Ø#-°Ò#6Ð#6Ø-7 Føð8ð
 # hÒ.Ð.ð "#¥S­¨T¬[Ñ)9Ô)9Ñ%:Ô%:Ñ!:˜˜à" jÒ0Ð0ð "&Ô!9˜˜à" iÒ/Ð/ð  œ<ð (Ø%'˜F˜Fà%'˜F˜Fà" iÒ/Ð/°9ÀÒ3NÐ3Nõ
 & d¤jµ5½#°,Ñ?Ô?ð ,Ø#œz¨Aš~˜~Ø)*­Sµ°T´Z±´Ñ-AÔ-AÑ)A øå'¨¬
µCÑ8Ô8ð ,Ý%3°D´JÑ%?Ô%?˜F˜Få'¨¬
µDÑ9Ô9ð ,Ø#œzð ,Ø)+  à)+ ð Ô(×,Ò,¨g°wÐ-?Ñ@Ô@ð %ÀVÈaÂZÀZØ "™˜ð !.× 1Ò 1°'¸1Ñ =Ô =�IØ 	Ò)Ð)Ø17˜ gÑ.ùñgS8ðl %2×$7Ò$7Ñ$9Ô$9ð 	Nð 	NÑ ˆG�[ð ×)Ò)¨+¸©/Ñ:Ô:ˆEð �uŠ}ˆ}Ø�ð Œ}× Ò  Ñ)Ô)ð Nð  œ=×,Ò,¨WÑ5Ô5�Ø% aœ[�
Ø! !œ�ØÐ)°&Ð)à˜zÒ)Ð)Ø49˜œ gÔ.¨qÑ1Ø48˜œ gÔ.¨qÑ1øà05�D”M 'Ô*¨1Ñ-Ø04�D”M 'Ô*¨1Ñ-Ð-à*/°°u¸aÀÈÐ)M�”˜gÑ&Ð&ð5	Nð 	Nr2   c                 óœ  — |€i }| j         �| j         }nd}|                      ||¦  «        rdS |€| j        }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|dk    r	d}| j        }|dk     rd}|d	k    rd	}|| j        k    r|| _        |||||g| j        |<   d
| _        ||g| j        |<   dS )aš  
        Set the width, and other properties of a row.

        Args:
            row:         Row number (zero-indexed).
            height:      Row height. (optional).
            cell_format: Row cell_format. (optional).
            options:     Dict of options such as hidden, level and collapsed.

        Returns:
            0:  Success.
            -1: Row number is out of worksheet bounds.

        Nr   rB  r{   Fr  r  r   r  T)rw   rD  r»   rË  r³   r¬   rÛ   rÙ   )	r(   r%  Úheightr>  rÐ  Úmin_colr{   r  r  s	            r.   Úset_rowzWorksheet.set_rowm  s  € ð ˆ?ØˆGð Œ?Ð&Ø”oˆGˆGàˆGð ×!Ò! # wÑ/Ô/ð 	Ø�2àˆ>ØÔ,ˆFð —’˜X uÑ-Ô-ˆØ—K’K ¨UÑ3Ô3ˆ	Ø—’˜G QÑ'Ô'ˆð �QŠ;ˆ;ØˆFØÔ,ˆFð �1Š9ˆ9ØˆEØ�1Š9ˆ9ØˆEà�4Ô)Ò)Ð)Ø%*ˆDÔ"ð % k°6¸5À)ÐLˆŒ�cÑð !%ˆÔð  & vÐ.ˆŒ�sÑàˆqr2   c                 ó`   — |�|                       |¦  «        }|                      ||||¦  «        S )a°  
        Set the width (in pixels), and other properties of a row.

        Args:
            row:         Row number (zero-indexed).
            height:      Row height in pixels. (optional).
            cell_format: Row cell_format. (optional).
            options:     Dict of options such as hidden, level and collapsed.

        Returns:
            0:  Success.
            -1: Row number is out of worksheet bounds.

        )Ú_pixels_to_heightr*  )r(   r%  r(  r>  rÐ  s        r.   Úset_row_pixelszWorksheet.set_row_pixelsª  s5   € ð ÐØ×+Ò+¨FÑ3Ô3ˆFà�|Š|˜C ¨°gÑ>Ô>Ð>r2   c                 ó`   — |€| j         }|| j        k    rd| _        || _         |r	d| _        dS dS )zý
        Set the default row properties.

        Args:
            height:           Default height. Optional, defaults to 15.
            hide_unused_rows: Hide unused rows. Optional, defaults to False.

        Returns:
            Nothing.

        NTr   )r»   rº   rÛ   rÀ   )r(   r(  Úhide_unused_rowss      r.   Úset_default_rowzWorksheet.set_default_row¾  sO   € ð ˆ>ØÔ,ˆFà�TÔ-Ò-Ð-à$(ˆDÔ!Ø&,ˆDÔ#àð 	(Ø&'ˆDÔ#Ð#Ð#ð	(ð 	(r2   c           	      ó¢  — ||k    r||k    rt          d¦  «         dS ||k    r||}}||k    r||}}|                      ||¦  «        rdS |                      ||¦  «        rdS t          ||||¦  «        }t          ||dz   ¦  «        D ]À}t          ||dz   ¦  «        D ]ª}	| j                             ||	f¦  «        r2| j                             ||	f¦  «        }
t          d|›d|
›d�¦  «        ‚| j                             ||	f¦  «        r2| j                             ||	f¦  «        }
t          d|›d|
›d�¦  «        ‚|| j        ||	f<   Œ«ŒÁ| j         	                    ||||g¦  «         |  
                    ||||¦  «         t          ||dz   ¦  «        D ]=}t          ||dz   ¦  «        D ]'}	||k    r|	|k    rŒ|                      ||	d	|¦  «         Œ(Œ>d
S )a3  
        Merge a range of cells.

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.
            data:         Cell data.
            cell_format:  Cell Format object.

        Returns:
             0:    Success.
            -1:    Row or column is out of worksheet bounds.
            other: Return value of write().

        zCan't merge single cellNrB  r   zMerge range 'ú!' overlaps previous merge range 'ú'.ú!' overlaps previous table range 'rY   r   )r   rD  r   rw  rÅ   rË  r"   rÆ   rÄ   r¦  r*  r  )r(   rj  rk  rl  rm  r»  r>  ry  r%  rF   Úprevious_ranges              r.   Úmerge_rangezWorksheet.merge_rangeÕ  ss  € ð2 ˜Ò Ð  Y°(Ò%:Ð%:ÝÐ*Ñ+Ô+Ð+ØˆFð �xÒÐØ%-¨y˜ˆYØ�xÒÐØ%-¨y˜ˆYð ×!Ò! )¨YÑ7Ô7ð 	Ø�2Ø×!Ò! (¨HÑ5Ô5ð 	Ø�2õ ˜i¨°H¸hÑGÔGˆ
Ý˜ H¨q¡LÑ1Ô1ð 	?ð 	?ˆCÝ˜Y¨°1©Ñ5Ô5ð ?ð ?�ØÔ$×(Ò(¨#¨s¨Ñ4Ô4ð ?Ø%)Ô%6×%:Ò%:¸CÀ¸:Ñ%FÔ%F�NÝ*Ð*à%˜:˜: ~ ~ ~ð7ñô ð ð Ô%×)Ò)¨3°¨*Ñ5Ô5ð ?Ø%)Ô%5×%9Ò%9¸3À¸*Ñ%EÔ%E�NÝ*Ð*à%˜:˜: ~ ~ ~ð7ñô ð ð
 5?�DÔ% s¨C jÑ1Ð1ð?ð" 	Œ
×Ò˜9 i°¸8ÐDÑEÔEÐEð 	�Š�I˜y¨$°Ñ<Ô<Ð<õ ˜ H¨q¡LÑ1Ô1ð 	=ð 	=ˆCÝ˜Y¨°1©Ñ5Ô5ð =ð =�Ø˜)Ò#Ð#¨¨yÒ(8Ð(8ØØ×!Ò! # s¨B°Ñ<Ô<Ð<Ð<ð=ð
 ˆqr2   c                 óô   — ||k     r||}}||k     r||}}|                       ||||¦  «        }t          ||||¦  «        }|| _        || _        ||g| _        t          ||dz   ¦  «        D ]}d| j        ||f<   ŒdS )aƒ  
        Set the autofilter area in the worksheet.

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.

        Returns:
             Nothing.

        r   TN)Ú_convert_name_arear   rÒ   rÓ   rÔ   rw  rØ   )r(   rj  rk  rl  rm  ÚareaÚrefrF   s           r.   Ú
autofilterzWorksheet.autofilter!	  sµ   € ð  �iÒÐØ%-¨y˜ˆYØ�iÒÐØ%-¨y˜ˆYð ×&Ò& y°)¸XÀxÑPÔPˆÝ�y )¨X°xÑ@Ô@ˆà#ˆÔØ!ˆÔØ&¨Ð1ˆÔõ ˜ H¨q¡LÑ1Ô1ð 	7ð 	7ˆCØ26ˆDÔ˜y¨#Ð.Ñ/Ð/ð	7ð 	7r2   c                 óD  — | j         st          d¦  «         dS 	 t          |¦  «         nG# t          $ r: |}t	          |dz   ¦  «        \  }}|| j        k    rt          d|z  ¦  «         Y dS Y nw xY w| j        \  }}||k     s||k    rt          d|||fz  ¦  «         dS |                      |¦  «        }t          |¦  «        dvrt          d|z  ¦  «         |  	                    ||¦  «        }t          |¦  «        dk    r*|d	         dk    r|  
                    ||d
         g¦  «         npt          |¦  «        dk    rI|d	         dk    r=|d         d
k    r1|d         dk    r%|  
                    ||d
         |d         g¦  «         n|| j        |<   d	| j        |<   d
| _        dS )zÆ
        Set the column filter criteria.

        Args:
            col:       Filter column (zero-indexed).
            criteria:  Filter criteria.

        Returns:
             Nothing.

        ú-Must call autofilter() before filter_column()NrC   úInvalid column '%s'z6Column '%d' outside autofilter() column range (%d, %d))rZ   r  z+Incorrect number of tokens in criteria '%s'rŠ  r   r   r  rZ   é   )rÒ   r   r&   r'   r   rs   rÔ   Ú_extract_filter_tokensrE  Ú_parse_filter_expressionÚfilter_column_listrÖ   r×   rÕ   )r(   rF   ÚcriteriaÚ
col_letterrH   Ú	col_firstÚcol_lastr®  s           r.   Úfilter_columnzWorksheet.filter_columnB	  sõ  € ð Ô#ð 	ÝÐ@ÑAÔAÐAØˆFð		Ý�‰HŒHˆHˆHøÝð 	ð 	ð 	àˆJÝ(¨¨s©Ñ3Ô3‰HˆQ�à�d”oÒ%Ð%ÝÐ*¨ZÑ7Ñ8Ô8Ð8Ø��ð &Ð%ð	øøøð !%Ô 1Ñˆ�Hð �Š?ˆ?˜c Hšn˜nÝØHØ˜	 8Ð,ñ-ñô ð ð ˆFà×,Ò,¨XÑ6Ô6ˆåˆv‰;Œ;˜fÐ$Ð$ÝÐ>ÀÑIÑJÔJÐJà×.Ò.¨x¸Ñ@Ô@ˆõ ˆv‰;Œ;˜!ÒÐ  q¤	¨Q¢ à×#Ò# C¨&°¬)¨Ñ5Ô5Ð5Ð5Ý�‰[Œ[˜AÒÐ &¨¤)¨q¢. .°V¸A´YÀ!²^°^ÈÈqÌ	ÐUVÊÈà×#Ò# C¨&°¬)°V¸A´YÐ)?Ñ@Ô@Ð@Ð@ð %+ˆDÔ˜SÑ!Ø$%ˆDÔ˜SÑ!àˆŒˆˆó   š* ª>A.Á-A.c                 óv  — | j         st          d¦  «         dS 	 t          |¦  «         nG# t          $ r: |}t	          |dz   ¦  «        \  }}|| j        k    rt          d|z  ¦  «         Y dS Y nw xY w| j        \  }}||k     s||k    rt          d|||fz  ¦  «         dS || j        |<   d| j        |<   d| _	        dS )zî
        Set the column filter criteria in Excel 2007 list style.

        Args:
            col:      Filter column (zero-indexed).
            filters:  List of filter criteria to match.

        Returns:
             Nothing.

        r=  NrC   r>  z5Column '%d' outside autofilter() column range (%d,%d)r   )
rÒ   r   r&   r'   r   rs   rÔ   rÖ   r×   rÕ   )r(   rF   ÚfiltersrD  rH   rE  rF  s          r.   rB  zWorksheet.filter_column_list~	  s  € ð Ô#ð 	ÝÐ@ÑAÔAÐAØˆFð		Ý�‰HŒHˆHˆHøÝð 	ð 	ð 	àˆJÝ(¨¨s©Ñ3Ô3‰HˆQ�à�d”oÒ%Ð%ÝÐ*¨ZÑ7Ñ8Ô8Ð8Ø��ð &Ð%ð	øøøð !%Ô 1Ñˆ�Hð �Š?ˆ?˜c Hšn˜nÝðØ  )¨XÐ6ñ7ñô ð ð ˆFà 'ˆÔ˜ÑØ !ˆÔ˜ÑØˆŒˆˆrH  c                 óÚ	  — |                       ||dd¦  «        rdS |                       ||dd¦  «        rdS |€i }n|                     ¦   «         }h d£}|                     ¦   «         D ]}||vrt          d|z  ¦  «          dS Œd|v r|d         |d<   d	|v r|d	         |d<   d
|vrt          d¦  «         dS dddddddddddddœ}|d
         |vrt          d|d
         z  ¦  «         dS ||d
                  |d
<   |d
         dk    r,|                     d¦  «        €|                     d¦  «        €dS |d
         dk    s|d
         dk    s|d
         dk    r
d|d<   d|d<   d|vrt          d¦  «         dS i dd“dd“dd“d d“d!d“d"d#“d$d#“d%d#“d&d'“d(d'“d)d*“d+d*“d,d-“d.d-“d/d0“d1d0“}	|d         |	vrt          d2|d         z  ¦  «         dS |	|d                  |d<   |d         dk    s|d         dk    rd|vrt          d3¦  «         dS nd|d<   d4d5d6d7œ}
d8|vrd4|d8<   n5|d8         |
vrt          d9|d8         z  ¦  «         dS |
|d8                  |d8<   |d
         d:v r€|d         rxt          |d         ¦  «        rc|                      |d         ¦  «        }d;|z  |d<   |d         r8t          |d         ¦  «        r#|                      |d         ¦  «        }d;|z  |d<   |                     d¦  «        r3t          |d         ¦  «        d<k    rt          d=|d         z  ¦  «         dS |                     d>¦  «        r3t          |d>         ¦  «        d<k    rt          d?|d>         z  ¦  «         dS |                     d¦  «        r3t          |d         ¦  «        d@k    rt          dA|d         z  ¦  «         dS |                     dB¦  «        r3t          |dB         ¦  «        d@k    rt          dC|dB         z  ¦  «         dS |d
         dk    rRt          |d         t          ¦  «        r7 | j
        |d         Ž }t          |¦  «        d@k    rt          dD|z  ¦  «         dS dE|vrd5|dE<   dF|vrd5|dF<   dG|vrd5|dG<   dH|vrd5|dH<   ||||gg|dI<   dJ|v r!|dI                              |dJ         ¦  «         dK|v r|dK                              dLdM¦  «        |dK<   | j                             |¦  «         d4S )Na  
        Add a data validation to a worksheet.

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.
            options:      Data validation options.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: Incorrect parameter or option.
        TrB  N>   r^  ÚsourceÚmaximumÚminimumrC  ÚdropdownÚvalidateÚ
error_typeÚ
show_errorÚ
show_inputÚerror_titleÚinput_titleÚmulti_rangeÚother_cellsÚignore_blankÚerror_messageÚinput_messagez+Unknown parameter '%s' in data_validation()rC  rL  r^  rN  rP  z5Parameter 'validate' is required in data_validation()ÚnoneÚwholeÚdecimalr£  r3  r4  Ú
textLengthÚcustom)Úanyz	any valuezwhole numberr\  Úintegerr]  r£  r3  r4  ztext lengthr   r_  zJUnknown validation type '%s' for parameter 'validate' in data_validation()rU  rZ  ÚbetweenrC  rM  z5Parameter 'criteria' is required in data_validation()únot betweenÚ
notBetweenúequal toÚequalr  ú==únot equal toÚnotEqualú!=ú<>úgreater thanÚgreaterThanú>ú	less thanÚlessThanú<úgreater than or equal toÚgreaterThanOrEqualú>=úless than or equal toÚlessThanOrEqualú<=zHUnknown criteria type '%s' for parameter 'criteria' in data_validation()zcParameter 'maximum' is required in data_validation() when using 'between' or 'not between' criteriar   r   rŠ  )ÚstopÚwarningÚinformationrQ  zJUnknown criteria type '%s' for parameter 'error_type' in data_validation()©r3  r4  ú%.16gé    z6Length of input title '%s' exceeds Excel's limit of 32rT  z6Length of error title '%s' exceeds Excel's limit of 32éÿ   z9Length of input message '%s' exceeds Excel's limit of 255rY  z9Length of error message '%s' exceeds Excel's limit of 255zSLength of list items '%s' exceeds Excel's limit of 255, use a formula range insteadrX  rO  rS  rR  ÚcellsrW  rV  ú$rY   )rD  ÚcopyÚkeysr   rË  r   r}  rE  r7  r£  Ú	_csv_joinr8   r•  r÷   r¦  )r(   rj  rk  rl  rm  rÐ  Úvalid_parametersÚ	param_keyÚvalid_typesÚcriteria_typesÚerror_typesÚ	date_timer]  s                r.   Údata_validationzWorksheet.data_validation¨	  s}  € ð$ ×!Ò! )¨Y¸¸dÑCÔCð 	Ø�2Ø×!Ò! (¨H°d¸DÑAÔAð 	Ø�2àˆ?ØˆGˆGð —l’l‘n”nˆGð
ð 
ð 
Ðð* !Ÿš™œð 	ð 	ˆIØÐ 0Ð0Ð0ÝÐBÀYÑNÑOÔOÐOØ�r�rð 1ð
 �wÐÐØ& xÔ0ˆG�GÑØ˜ÐÐØ& yÔ1ˆG�GÑð ˜WÐ$Ð$ÝÐHÑIÔIÐIØ�2ð ØØ#ØØØ ØØØØ'Ø"Øð
ð 
ˆð  �:Ô kÐ1Ð1Ýð2Ø4;¸JÔ4GñHñô ð ð �2à"-¨g°jÔ.AÔ"BˆG�JÑð
 �JÔ 6Ò)Ð)Ø—’˜MÑ*Ô*Ð2Ø—’˜OÑ,Ô,Ð4à�2ð
 �JÔ 6Ò)Ð)Ø�zÔ" fÒ,Ð,Ø�zÔ" hÒ.Ð.à"+ˆG�JÑØ!%ˆG�IÑð ˜WÐ$Ð$ÝÐHÑIÔIÐIØ�2ð
Ø�yð
à˜<ð
ð ˜ð
ð �ð	
ð
 �'ð
ð ˜Jð
ð �*ð
ð �*ð
ð ˜Mð
ð �ð
ð ˜ð
ð �ð
ð 'Ð(<ð
ð Ð&ð
ð $Ð%6ð
ð  Ð#ð!
ˆð( �:Ô nÐ4Ð4Ýð2Ø4;¸JÔ4GñHñô ð ð �2à"0°¸Ô1DÔ"EˆG�JÑð �:Ô )Ò+Ð+¨w°zÔ/BÀlÒ/RÐ/RØ Ð'Ð'ÝðEñô ð ð �rð (ð "&ˆG�IÑð ØØð
ð 
ˆð ˜wÐ&Ð&Ø$%ˆG�LÑ!Ð!Ø�\Ô"¨+Ð5Ð5Ýð'Ø)0°Ô)>ñ?ñô ð ð �2à$/°¸Ô0EÔ$FˆG�LÑ!ð �JÔÐ#3Ð3Ð3Ø˜Ô ð 4å" 7¨7Ô#3Ñ4Ô4ð 4ð ×/Ò/°¸Ô0@ÑAÔAˆIà&¨Ñ2ˆG�GÑà�yÔ!ð 9Õ&8¸ÀÔ9KÑ&LÔ&Lð 9Ø ×3Ò3°G¸IÔ4FÑGÔG�	Ø%,¨yÑ%8�˜	Ñ"ð �;Š;�}Ñ%Ô%ð 	­#¨g°mÔ.DÑ*EÔ*EÈÒ*JÐ*JÝØHØ˜-Ô(ñ)ñô ð ð �2ð �;Š;�}Ñ%Ô%ð 	­#¨g°mÔ.DÑ*EÔ*EÈÒ*JÐ*JÝØHØ˜-Ô(ñ)ñô ð ð �2ð �;Š;�Ñ'Ô'ð 	­C°¸Ô0HÑ,IÔ,IÈCÒ,OÐ,OÝØKØ˜/Ô*ñ+ñô ð ð �2ð �;Š;�Ñ'Ô'ð 	­C°¸Ô0HÑ,IÔ,IÈCÒ,OÐ,OÝØKØ˜/Ô*ñ+ñô ð ð �2ð �:Ô &Ò(Ð(­Z¸ÀÔ8HÍ$Ñ-OÔ-OÐ(Ø$�d”n g¨gÔ&6Ð7ˆGÝ�7‰|Œ|˜cÒ!Ð!Ýð7Ø9@ñAñô ð ð �rð  Ð(Ð(Ø&'ˆG�NÑ#Ø˜WÐ$Ð$Ø"#ˆG�JÑØ˜wÐ&Ð&Ø$%ˆG�LÑ!Ø˜wÐ&Ð&Ø$%ˆG�LÑ!ð '¨	°8¸XÐFÐGˆ�Ñð ˜GÐ#Ð#Ø�GÔ×#Ò# G¨MÔ$:Ñ;Ô;Ð;ð ˜GÐ#Ð#Ø%,¨]Ô%;×%CÒ%CÀCÈÑ%LÔ%LˆG�MÑ"ð 	Ô×Ò Ñ(Ô(Ð(àˆqr2   c                 óD  — |                       ||dd¦  «        rdS |                       ||dd¦  «        rdS |€i }n|                     ¦   «         }h d£}|                     ¦   «         D ]}||vrt          d|z  ¦  «          dS Œd|vrt          d¦  «         dS i d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d!“d"d"“d#d$“d%d&d'œ¥}|d         |vrt          d(|d         z  ¦  «         dS |d         dk    rd|d)<   ||d                  |d<   i d*d*“d+d,“d-d.“d/d.“d0d.“d1d2“d3d2“d4d2“d5d6“d7d6“d8d9“d:d9“d;d<“d=d<“d>d?“d@d?“dAdB“dCdDdEdFdGdHdIdJdKdLdMdNdKdNdOœ¥}	dP|v r|dP         |	v r|	|dP                  |dP<   |d         dQv rìd
|d<   dR|v rIt	          |dR         ¦  «        st          dS¦  «         dS |                      |dR         ¦  «        }
dT|
z  |dR<   dU|v rIt	          |dU         ¦  «        st          dV¦  «         dS |                      |dU         ¦  «        }
dT|
z  |dU<   dW|v rIt	          |dW         ¦  «        st          dX¦  «         dS |                      |dW         ¦  «        }
dT|
z  |dW<   i dYdZ“d[d\“d]d^“d_d`“dadb“dcdd“dedf“dgdh“didj“dkdl“dmdn“dodp“dqdr“dsdt“dudv“dwdx“dydz“}|d         d&k    rà|                     d{¦  «        st          d|¦  «         d}S |d{         |vrt          d~|d{         z  ¦  «         dS ||d{                  |d{<   d|d€<   |d{                              d�¦  «        rd‚|d€<   n |d{                              dƒ¦  «        rd„|d€<   |                      |                     d€¦  «        |                     d…¦  «        ¦  «        |d…<   ||k    r||}}||k    r||}}t          ||||¦  «        }t          ||¦  «        }d†|v r|d†         }|                     d‡dˆ¦  «        }d‰|v r%|d‰         r|d‰                              ¦   «         |d‰<   | j        |dŠ<   | xj        d‹z  c_        | j        sç|                     dŒ¦  «        sÒ|                     d�¦  «        s½|                     dŽ¦  «        s¨|                     d�¦  «        s“|                     d�¦  «        s~|                     d‘¦  «        si|                     d’¦  «        sT|                     d“¦  «        s?|                     d”¦  «        s*|                     d•¦  «        s|                     d–¦  «        rd|d—<   |d         dk    rÌ|dP         dBk    rdB|d<   d˜|dR         ›d™|›dš�|d›<   n¨|dP         dCk    rdœ|d<   d�|dR         ›d™|›dž�|d›<   n„|dP         dDk    r*dD|d<   dŸ|t          |dR         ¦  «        |dR         fz  |d›<   nN|dP         dEk    r*dE|d<   d |t          |dR         ¦  «        |dR         fz  |d›<   nt          d¡|dP         z  ¦  «         |d         dk    �r|dP         dFk    r	d¢|z  |d›<   nú|dP         dGk    r	d£|z  |d›<   nå|dP         d¤k    r	d¥|z  |d›<   nÐ|dP         dHk    rd¦|›d§|›d¨�|d›<   n·|dP         dIk    rd©|›dª|›d«�|d›<   nž|dP         dJk    rd©|›d¬|›d­�|d›<   n…|dP         dKk    rd®|›d¯|›d°�|d›<   nl|dP         dLk    rd±|›d²|›d³|›d´�|d›<   nP|dP         dMk    rd±|›dµ|›d¶�|d›<   n7|dP         dNk    rd±|›d·|›d³|›d¸|›d¹�	|d›<   nt          dº|dP         z  ¦  «         |d         dk    rd»|z  |d›<   |d         dk    rd¼|z  |d›<   |d         dk    rd½|z  |d›<   |d         d k    rd¾|z  |d›<   |d         d!k    rÈd¿|d<   d|d‰<   d|dÀ<   d|dÁ<   |                     dÂdÃ¦  «         |                     dÄdÅ¦  «         |                     dÆdÇ¦  «         |                     dÈdÇ¦  «         |                     dÉdÊ¦  «         |                     dËdÌ¦  «         t#          |dÉ         ¦  «        |dÉ<   t#          |dË         ¦  «        |dË<   |d         d"k    �rd¿|d<   d|d‰<   |                     dÂdÃ¦  «         |                     dÀdÍ¦  «         |                     dÄdÅ¦  «         |                     dÆdÇ¦  «         |                     dÈdÇ¦  «         |                     dÉdÎ¦  «         |                     dÁdÏ¦  «         |                     dËdÐ¦  «         t#          |dÉ         ¦  «        |dÉ<   t#          |dÁ         ¦  «        |dÁ<   t#          |dË         ¦  «        |dË<   dÑ|vrdÒ|dÑ<   |d         d$k    �rd|d‰<   |                     dÂ¦  «        sdÃ|dÂ<   dÓ|dÔ<   n|dÂ         |dÔ<   |                     dÄ¦  «        sdÅ|dÄ<   dÕ|dÖ<   n|dÄ         |dÖ<   |                     dÆdÇ¦  «         |                     dÈdÇ¦  «         |                     d×dØ¦  «         |                     dŽ|d×         ¦  «         |                     dÙdÚ¦  «         |                     d“dÚ¦  «         |                     d�dÚ¦  «         |                     d–dˆ¦  «         |                     d�dÛ¦  «         |                     d‘dÛ¦  «         |                     d�dÚ¦  «         |                     d’dÚ¦  «         |                     d”dˆ¦  «         |                     d•dÜ¦  «         t#          |d×         ¦  «        |d×<   t#          |dŽ         ¦  «        |dŽ<   t#          |d•         ¦  «        |d•<   t#          |d�         ¦  «        |d�<   t#          |d‘         ¦  «        |d‘<   |                     d—¦  «        rFdÝ| _        |dÂ         dÃk    r|dÆ         dÇk    rd|dÆ<   |dÄ         dÅk    r|dÈ         dÇk    rd|dÈ<   ||dÞ<   	 |dÆ                              d/¦  «        |dÆ<   n# t(          t*          f$ r Y nw xY w	 |dÑ                              d/¦  «        |dÑ<   n# t(          t*          f$ r Y nw xY w	 |dÈ                              d/¦  «        |dÈ<   n# t(          t*          f$ r Y nw xY w|| j        v r!| j        |                              |¦  «         n|g| j        |<   dÇS )ßa#  
        Add a conditional format to a worksheet.

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.
            options:      Conditional format options.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: Incorrect parameter or option.
        TrB  N>$   r8  Úiconsr^  rN   rM  rN  Úbar_onlyrC  Úmax_typeÚmid_typeÚmin_typeÚ	bar_colorÚ	bar_solidÚ	max_colorÚ	max_valueÚ	mid_colorÚ	mid_valueÚ	min_colorÚ	min_valueÚ
icon_styleÚ
icons_onlyÚ
max_lengthÚ
min_lengthrV  Ústop_if_trueÚbar_directionÚbar_no_borderÚdata_bar_2010Úreverse_iconsÚbar_axis_colorÚbar_border_colorÚbar_axis_positionÚbar_negative_colorÚbar_negative_color_sameÚbar_negative_border_colorÚbar_negative_border_color_samez.Unknown parameter '%s' in conditional_format()rC  r8  z4Parameter 'type' is required in conditional_format()r  ÚcellIsr3  r4  ÚaverageÚaboveAverageÚ	duplicateÚduplicateValuesÚuniqueÚuniqueValuesÚtopÚtop10ÚbottomrÞ  Útime_periodÚ
timePeriodÚblanksÚcontainsBlanksÚ	no_blanksÚnotContainsBlanksÚerrorsÚcontainsErrorsÚ	no_errorsÚnotContainsErrorsÚ2_color_scaleÚ3_color_scaleÚdata_barÚdataBarÚ
expressionÚiconSet)r]  Úicon_setz?Unknown value '%s' for parameter 'type' in conditional_format()Ú	directionrb  rc  rd  re  rf  r  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  Ú
containingÚcontainsTextÚnotContainsÚ
beginsWithÚendsWithÚ	yesterdayÚtodayÚ	last7DaysÚlastWeekÚthisWeekÚnextWeekÚ	lastMonthÚ	thisMonthÚ	nextMonth)znot containingzbegins withz	ends withrÊ  rË  zlast 7 daysz	last weekz	this weekz	next weekz
last monthz
this monthz
next monthzcontinue weekzcontinue monthrC  r{  r^  z5Conditional format 'value' must be a datetime object.r|  rN  z7Conditional format 'minimum' must be a datetime object.rM  z7Conditional format 'maximum' must be a datetime object.Ú3_arrowsÚ3ArrowsÚ3_flagsÚ3FlagsÚ3_traffic_lights_rimmedÚ3TrafficLights2Ú3_symbols_circledÚ3SymbolsÚ4_arrowsÚ4ArrowsÚ4_red_to_blackÚ4RedToBlackÚ4_traffic_lightsÚ4TrafficLightsÚ5_arrows_grayÚ5ArrowsGrayÚ
5_quartersÚ	5QuartersÚ3_arrows_grayÚ3ArrowsGrayÚ3_traffic_lightsÚ3TrafficLightsÚ3_signsÚ3SignsÚ	3_symbolsÚ	3Symbols2Ú4_arrows_grayÚ4ArrowsGrayÚ	4_ratingsÚ4RatingÚ5_arrowsÚ5ArrowsÚ	5_ratingsÚ5Ratingr™  z^The 'icon_style' parameter must be specified when 'type' == 'icon_set' in conditional_format()r’  z/Unknown icon_style '%s' in conditional_format()rZ   Útotal_iconsÚ4r?  Ú5r  rŒ  rV  r€  rY   rN   Úpriorityr   r   r’  r£  r¥  r¦  r§  r¨  rŸ  r¤  r¢  rž  Úis_data_bar_2010zNOT(ISERROR(SEARCH("z",z)))r]  ÚnotContainsTextzISERROR(SEARCH("z))zLEFT(%s,%d)="%s"zRIGHT(%s,%d)="%s"z2Invalid text criteria '%s' in conditional_format()zFLOOR(%s,1)=TODAY()-1zFLOOR(%s,1)=TODAY()ÚtomorrowzFLOOR(%s,1)=TODAY()+1zAND(TODAY()-FLOOR(z,1)<=6,FLOOR(z,1)<=TODAY())zAND(TODAY()-ROUNDDOWN(z*,0)>=(WEEKDAY(TODAY())),TODAY()-ROUNDDOWN(z,0)<(WEEKDAY(TODAY())+7))z",0)<=WEEKDAY(TODAY())-1,ROUNDDOWN(z ,0)-TODAY()<=7-WEEKDAY(TODAY()))zAND(ROUNDDOWN(z+,0)-TODAY()>(7-WEEKDAY(TODAY())),ROUNDDOWN(z",0)-TODAY()<(15-WEEKDAY(TODAY())))z
AND(MONTH(z)=MONTH(TODAY())-1,OR(YEAR(z)=YEAR(TODAY()),AND(MONTH(z)=1,YEAR(A1)=YEAR(TODAY())-1)))z)=MONTH(TODAY()),YEAR(z)=YEAR(TODAY()))z)=MONTH(TODAY())+1,OR(YEAR(z
)=12,YEAR(z)=YEAR(TODAY())+1)))z9Invalid time_period criteria '%s' in conditional_format()zLEN(TRIM(%s))=0zLEN(TRIM(%s))>0zISERROR(%s)zNOT(ISERROR(%s))Ú
colorScaler�  r•  r�  ÚminrŽ  Úmaxr˜  r   r”  r—  z#FF7128r“  z#FFEF9CÚ
percentilez#F8696Bz#FFEB84z#63BE7Br–  é2   ÚautoMinÚx14_min_typeÚautoMaxÚx14_max_typer‘  z#638EC6r�  Fz#FF0000z#000000éÚ  rw  )rD  r�  r‚  r   r   r}  rË  r  Ú_set_icon_propsr   r   r•  Ú_get_dxf_indexrû   rú   rE  Ú
setdefaultr   rp   ÚlstripÚKeyErrorÚAttributeErrorrø   r¦  )r(   rj  rk  rl  rm  rÐ  Úvalid_parameterr…  Ú
valid_typeÚcriteria_typer‰  Úvalid_iconsry  Ú
start_cells                 r.   Úconditional_formatzWorksheet.conditional_format«
  sp  € ð( ×!Ò! )¨Y¸¸dÑCÔCð 	Ø�2Ø×!Ò! (¨H°d¸DÑAÔAð 	Ø�2àˆ?ØˆGˆGð —l’l‘n”nˆGð%
ð %
ð %
ˆðP !Ÿš™œð 	ð 	ˆIØ Ð/Ð/ÝÐEÈ	ÑQÑRÔRÐRØ�r�rð 0ð
 ˜Ð Ð ÝÐGÑHÔHÐHØ�2ð
Ø�Hð
à�Fð
ð �Fð
ð �~ð	
ð
 Ð*ð
ð �nð
ð �7ð
ð �gð
ð �Fð
ð ˜<ð
ð Ð&ð
ð Ð,ð
ð Ð&ð
ð Ð,ð
ð ˜_ð
ð  ˜_ð!
ð" ˜	ð#
ð$ $Ø!ð'
ð 
ð 
ˆ
ð. �6Œ? *Ð,Ð,Ýð*Ø,3°F¬Oñ<ñô ð ð �2à�vŒ (Ò*Ð*Ø'/�˜Ñ$Ø(¨°¬Ô9ˆG�F‰Oð!
Ø�yð!
à˜<ð!
ð ˜ð!
ð �ð	!
ð
 �'ð!
ð ˜Jð!
ð �*ð!
ð �*ð!
ð ˜Mð!
ð �ð!
ð ˜ð!
ð �ð!
ð 'Ð(<ð!
ð Ð&ð!
ð $Ð%6ð!
ð  Ð#ð!!
ð" ˜.ð#!
ð$ ,Ø'Ø#Ø$ØØ&Ø#Ø#Ø#Ø%Ø%Ø%à'Ø)ðA!
ð !
ð !
ˆðH ˜Ð Ð  W¨ZÔ%8¸MÐ%IÐ%IØ"/°¸
Ô0CÔ"DˆG�JÑð �6Œ?Ð.Ð.Ð.Ø&ˆG�F‰Oà˜'Ð!Ð!Ý)¨'°'Ô*:Ñ;Ô;ð ;ÝÐPÑQÔQÐQØ˜2à $× 7Ò 7¸ÀÔ8HÑ IÔ I�Ià'.°Ñ':�G˜GÑ$à˜GÐ#Ð#Ý)¨'°)Ô*<Ñ=Ô=ð =ÝÐRÑSÔSÐSØ˜2à $× 7Ò 7¸À	Ô8JÑ KÔ K�IØ)0°9Ñ)<�G˜IÑ&à˜GÐ#Ð#Ý)¨'°)Ô*<Ñ=Ô=ð =ÝÐRÑSÔSÐSØ˜2à $× 7Ò 7¸À	Ô8JÑ KÔ K�IØ)0°9Ñ)<�G˜IÑ&ð
Ø˜	ð
à�xð
ð &Ð'8ð
ð   ð	
ð
 ˜	ð
ð ˜mð
ð Ð 0ð
ð ˜]ð
ð ˜+ð
ð ˜]ð
ð Ð 0ð
ð �xð
ð ˜ð
ð ˜]ð
ð ˜ð
ð  ˜	ð!
ð" ˜ð#
ˆð* �6Œ?˜iÒ'Ð'à—;’;˜|Ñ,Ô,ð ÝðCñô ð ð �rð �|Ô$¨KÐ7Ð7ÝØEØ˜lÔ+ñ,ñô ð ð �rà(3°G¸LÔ4IÔ(J�˜Ñ%ð &'ˆG�MÑ"Ø�|Ô$×/Ò/°Ñ4Ô4ð +Ø)*�˜Ñ&Ð&Ø˜Ô&×1Ò1°#Ñ6Ô6ð +Ø)*�˜Ñ&à#×3Ò3Ø—’˜MÑ*Ô*¨G¯KªK¸Ñ,@Ô,@ñ ô  ˆG�GÑð
 �xÒÐØ"*¨I�xˆIà�xÒÐØ"*¨I�xˆIõ ˜i¨°H¸hÑGÔGˆ
Ý& y°)Ñ<Ô<ˆ
ð ˜GÐ#Ð#Ø  Ô/ˆJØ#×+Ò+¨C°Ñ4Ô4ˆJð �wÐÐ 7¨8Ô#4ÐØ '¨Ô 1× @Ò @Ñ BÔ BˆG�HÑð #Ô/ˆ�
ÑØÐÔ˜QÑÐÔð Ô#ð	/à�{Š{˜?Ñ+Ô+ð	/ð �{Š{˜;Ñ'Ô'ð	/ð �{Š{Ð-Ñ.Ô.ð		/ð
 �{Š{Ð/Ñ0Ô0ð	/ð �{Š{Ð4Ñ5Ô5ð	/ð �{Š{Ð6Ñ7Ô7ð	/ð �{Š{Ð;Ñ<Ô<ð	/ð �{Š{˜?Ñ+Ô+ð	/ð �{Š{Ð.Ñ/Ô/ð	/ð �{Š{Ð+Ñ,Ô,ð	/ð �{Š{˜?Ñ+Ô+ð	/ð +/ˆGÐ&Ñ'ð �6Œ?˜fÒ$Ð$Ø�zÔ" nÒ4Ð4Ø"0�˜‘�à˜GÔ$Ð$Ð$Ø�J�Jð&�˜	Ñ"Ð"ð ˜Ô$¨Ò5Ð5Ø"3�˜‘�à˜GÔ$Ð$Ð$Ø�J�Jð&�˜	Ñ"Ð"ð ˜Ô$¨Ò4Ð4Ø".�˜‘Ø%7ØÝ˜ Ô(Ñ)Ô)Ø˜GÔ$ð;ñ &�˜	Ñ"Ð"ð
 ˜Ô$¨
Ò2Ð2Ø",�˜‘Ø%8ØÝ˜ Ô(Ñ)Ô)Ø˜GÔ$ð<ñ &�˜	Ñ"Ð"õ ð.Ø07¸
Ô0CñDñô ð ð �6Œ?˜lÒ*Ñ*Ø�zÔ" kÒ1Ð1Ø%<¸zÑ%I�˜	Ñ"Ð"à˜Ô$¨Ò/Ð/Ø%:¸ZÑ%G�˜	Ñ"Ð"à˜Ô$¨
Ò2Ð2Ø%<¸zÑ%I�˜	Ñ"Ð"ð ˜Ô$¨Ò3Ð3Ð3ð "�z�z : : :ð/ð ˜	Ñ"Ð"ð ˜Ô$¨
Ò2Ð2Ð2ð "�z�z : : :ð/ð ˜	Ñ"Ð"ð ˜Ô$¨
Ò2Ð2Ð2ð "�z�z : : :ð/ð ˜	Ñ"Ð"ð ˜Ô$¨
Ò2Ð2Ð2ð "�z�z : : :ð/ð ˜	Ñ"Ð"ð ˜Ô$¨Ò3Ð3Ð3ð "�z�z : : :¨z¨z¨zð;ð ˜	Ñ"Ð"ð ˜Ô$¨Ò3Ð3Ð3ð "�z�z : : :ð/ð ˜	Ñ"Ð"ð ˜Ô$¨Ò3Ð3Ð3ð "�z�z : : :¨z¨z¨z¸:¸:¸:ðGð ˜	Ñ"Ð"õ ð.Ø07¸
Ô0CñDñô ð ð �6Œ?Ð.Ò.Ð.Ø!2°ZÑ!?ˆG�IÑà�6Œ?Ð1Ò1Ð1Ø!2°ZÑ!?ˆG�IÑà�6Œ?Ð.Ò.Ð.Ø!.°Ñ!;ˆG�IÑà�6Œ?Ð1Ò1Ð1Ø!3°jÑ!@ˆG�IÑð �6Œ?˜oÒ-Ð-Ø*ˆG�F‰Oð !%ˆG�HÑð #'ˆG�JÑØ#'ˆG�KÑ à×Ò˜z¨5Ñ1Ô1Ð1Ø×Ò˜z¨5Ñ1Ô1Ð1Ø×Ò˜{¨AÑ.Ô.Ð.Ø×Ò˜{¨AÑ.Ô.Ð.Ø×Ò˜{¨IÑ6Ô6Ð6Ø×Ò˜{¨IÑ6Ô6Ð6å#+¨G°KÔ,@Ñ#AÔ#AˆG�KÑ Ý#+¨G°KÔ,@Ñ#AÔ#AˆG�KÑ ð �6Œ?˜oÒ-Ñ-Ø*ˆG�F‰Oð !%ˆG�HÑà×Ò˜z¨5Ñ1Ô1Ð1Ø×Ò˜z¨<Ñ8Ô8Ð8Ø×Ò˜z¨5Ñ1Ô1Ð1Ø×Ò˜{¨AÑ.Ô.Ð.Ø×Ò˜{¨AÑ.Ô.Ð.Ø×Ò˜{¨IÑ6Ô6Ð6Ø×Ò˜{¨IÑ6Ô6Ð6Ø×Ò˜{¨IÑ6Ô6Ð6å#+¨G°KÔ,@Ñ#AÔ#AˆG�KÑ Ý#+¨G°KÔ,@Ñ#AÔ#AˆG�KÑ Ý#+¨G°KÔ,@Ñ#AÔ#AˆG�KÑ ð  'Ð)Ð)Ø')�˜Ñ$ð �6Œ?˜iÒ'Ñ'à $ˆG�HÑà—;’;˜zÑ*Ô*ð >Ø&+�˜
Ñ#Ø*3�˜Ñ'Ð'à*1°*Ô*=�˜Ñ'à—;’;˜zÑ*Ô*ð >Ø&+�˜
Ñ#Ø*3�˜Ñ'Ð'à*1°*Ô*=�˜Ñ'à×Ò˜{¨AÑ.Ô.Ð.Ø×Ò˜{¨AÑ.Ô.Ð.Ø×Ò˜{¨IÑ6Ô6Ð6Ø×ÒÐ1°7¸;Ô3GÑHÔHÐHØ×Ò˜z¨5Ñ1Ô1Ð1Ø×Ò˜°Ñ6Ô6Ð6Ø×Ò˜{¨EÑ2Ô2Ð2Ø×Ò˜°Ñ3Ô3Ð3Ø×ÒÐ3°YÑ?Ô?Ð?Ø×ÒÐ:¸IÑFÔFÐFØ×ÒÐ8¸%Ñ@Ô@Ð@Ø×ÒÐ?ÀÑGÔGÐGØ×ÒÐ2°BÑ7Ô7Ð7Ø×ÒÐ/°Ñ;Ô;Ð;å#+¨G°KÔ,@Ñ#AÔ#AˆG�KÑ Ý*2°7Ð;MÔ3NÑ*OÔ*OˆGÐ&Ñ'Ý(0°Ð9IÔ1JÑ(KÔ(KˆGÐ$Ñ%Ý,4°WÐ=QÔ5RÑ,SÔ,SˆGÐ(Ñ)Ý3;ØÐ3Ô4ñ4ô 4ˆGÐ/Ñ0ð
 �;Š;Ð)Ñ*Ô*ð 		*Ø!%ˆDÔà�zÔ" eÒ+Ð+°¸Ô0DÈÒ0IÐ0IØ'+�˜Ñ$à�zÔ" eÒ+Ð+°¸Ô0DÈÒ0IÐ0IØ'+�˜Ñ$à)ˆG�GÑð	Ø#*¨;Ô#7×#>Ò#>¸sÑ#CÔ#CˆG�KÑ Ð øÝ�.Ð)ð 	ð 	ð 	ØˆDð	øøøð	Ø#*¨;Ô#7×#>Ò#>¸sÑ#CÔ#CˆG�KÑ Ð øÝ�.Ð)ð 	ð 	ð 	ØˆDð	øøøð	Ø#*¨;Ô#7×#>Ò#>¸sÑ#CÔ#CˆG�KÑ Ð øÝ�.Ð)ð 	ð 	ð 	ØˆDð	øøøð ˜Ô*Ð*Ð*ØÔ˜jÔ)×0Ò0°Ñ9Ô9Ð9Ð9à-4¨IˆDÔ˜jÑ)àˆqs6   ïo& ï&o:ï9o:ï>p ðp1ð0p1ð5q ñq(ñ'q(c                 ó8  — i }i }|€i }n|                      ¦   «         }| j        rt          d¦  «         dS |                      ||dd¦  «        rdS |                      ||dd¦  «        rdS ||k    r||}}||k    r||}}t	          ||||¦  «        }t          ||dz   ¦  «        D ]À}	t          ||dz   ¦  «        D ]ª}
| j                             |	|
f¦  «        r2| j                             |	|
f¦  «        }t          d|›d|›d	�¦  «        ‚| j	                             |	|
f¦  «        r2| j	                             |	|
f¦  «        }t          d|›d
|›d	�¦  «        ‚|| j        |	|
f<   Œ«ŒÁh d£}| 
                    ¦   «         D ]}||vrt          d|z  ¦  «          dS Œ|                     dd¦  «        |d<   |                     dd¦  «        |d<   |                     dd¦  «        |d<   ||z
  }|d         r|dz  }|dk     rt          d¦  «         dS |                     dd¦  «        |d<   |                     dd¦  «        |d<   |                     dd¦  «        |d<   |                     dd¦  «        |d<   |                     dd¦  «        |d<   |                     dd¦  «        |d<   d|v rÕ|d         }||d<   d|v rt          d |z  ¦  «         dS t          j        d!|t          j        ¦  «        rt          j        d"|¦  «        rt          d#|z  ¦  «         dS t          j        d$|¦  «        rt          d%|z  ¦  «         dS t          j        d&|¦  «        st          j        d'|¦  «        rt          d(|z  ¦  «         dS d)|v r8|d)         |d)<   |d)         €d*|d)<   |d)                              dd*¦  «        |d)<   nd+|d)<   |}|}|                     d¦  «        r|dz  }|                     d¦  «        r|dz  }t	          ||||¦  «        |d,<   t	          ||||¦  «        |d-<   |d         sd|d<   |d         r|d-         |d<   d}g |d.<   i }t          ||dz   ¦  «        D �]¶}|d/t          |¦  «        z   d*d*d*dd*ddd0œ	}d.|v �rF|t!          |d.         ¦  «        k    r|d.         |dz
           }nd}|�r|                     d1d¦  «        }|                     d2¦  «        r|d2         |d<   |d         }|                     ¦   «         }||v rt          d3|z  ¦  «          dS d||<   |                     d4¦  «        |d5<   d6|v rk|d6         rc|d6         }|                     d7¦  «        r|                     d7¦  «        }|                     d8d9¦  «        }|                      |d¦  «        }||d6<   |                     d:¦  «        rœ|d:         }|d;k    rd<}|d=k    rd>}t+          g d?¢¦  «        }||v r|                      ||d         ¦  «        }n|                      |d¦  «        }||d@<   dA}||d:<   |                     dBd¦  «        }|                      |||||¦  «         nM|                     dC¦  «        r8|dC         }||dC<   |                      ||||                     d1¦  «        ¦  «         |�|                     ¦   «         |d1<   |||dz
  <   |d.                              |¦  «         |d         r$|                      |||d         |d5         ¦  «         |dz  }�Œ¸dD|v r·|dD         }d}t          ||dz   ¦  «        D ]™}	d} t          ||dz   ¦  «        D ]|}
|t!          |¦  «        k     rb| t!          ||         ¦  «        k     rI||         |          }!| |v r|                      |	|
|!||          ¦  «         n|                      |	|
|!d¦  «         | dz  } Œ}|dz  }Œšt9          t          ||dz   ¦  «        ¦  «        D ]h\  }}|d.         |         }"|"rS|"d6         rK|                     |¦  «        }#|"d6         }t          ||dz   ¦  «        D ]}	|                      |	|||#¦  «         ŒŒi| j                             |¦  «         |d         r"t          ||dz   ¦  «        D ]}
d| j        ||
f<   ŒdS )EaY  
        Add an Excel table to a worksheet.

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.
            options:      Table format options. (Optional)

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: Incorrect parameter or option.
            -3: Not supported in constant_memory mode.
        Nz5add_table() isn't supported in 'constant_memory' moder’  TrB  r   zTable range 'r4  r3  r2  >   r»  rg   ÚstyleÚcolumnsÚ	total_rowr;  Ú
header_rowÚbanded_rowsÚlast_columnÚfirst_columnÚbanded_columnsz%Unknown parameter '%s' in add_table()rC  r  r  r;  r   z1Must have at least one data row in in add_table()r  FÚshow_first_colr  Úshow_last_colÚshow_row_stripesr  Úshow_col_stripesÚheader_row_countr  Útotals_row_shownrg   ú z.Name '%s' in add_table() cannot contain spacesz^[\w\\][\w\\.]*$z^\dz-Invalid Excel characters in add_table(): '%s'z^[a-zA-Z][a-zA-Z]?[a-dA-D]?\d+$z0Name looks like a cell name in add_table(): '%s'z^[rcRC]$z^[rcRC]\d+[rcRC]\d+$z3Invalid name '%s' like a RC cell ref in add_table()r  rY   ÚTableStyleMedium9rw  Úa_ranger  ÚColumn)	Úidrg   Útotal_stringÚtotal_functionÚcustom_totalÚtotal_valuer]  rN   Úname_formatrN   r�   z*Duplicate header name in add_table(): '%s'Úheader_formatr*  r]  r  ú@z[#This Row],r'  Ú
count_numsÚ	countNumsÚstd_devÚstdDev©rª  r.  Úcountrþ  rý  r0  ÚsumÚvarr(  r_  r)  r&  r»  )r�  rk   r   rD  r   rw  rÆ   rË  r"   rÅ   r‚  r  r  ÚUNICODEr•  r1  rE  Úlowerr  r	  rf  ÚsetÚ_table_function_to_formular  r#  r  r¦  r*  Ú	enumeraterê   rØ   )$r(   rj  rk  rl  rm  rÐ  rÃ   Úcol_formatsry  r%  rF   r5  r  r…  Únum_rowsrg   Úfirst_data_rowÚlast_data_rowÚcol_idÚ
seen_namesr  Úcol_dataÚ	user_dataÚxformatÚheader_namer]  ÚfunctionÚ	subtotalsr^  r&  r»  ÚiÚjr$  Úcolumn_dataÚformula_formats$                                       r.   Ú	add_tablezWorksheet.add_table¬  sð
  € ð$ ˆØˆàˆ?ØˆGˆGð —l’l‘n”nˆGàÔð 	ÝÐHÑIÔIÐIØ�2ð ×!Ò! )¨Y¸¸dÑCÔCð 	Ø�2Ø×!Ò! (¨H°d¸DÑAÔAð 	Ø�2ð �xÒÐØ%-¨y˜ˆYØ�xÒÐØ%-¨y˜ˆYõ ˜i¨°H¸hÑGÔGˆ
Ý˜ H¨q¡LÑ1Ô1ð 	>ð 	>ˆCÝ˜Y¨°1©Ñ5Ô5ð >ð >�ØÔ#×'Ò'¨¨c¨
Ñ3Ô3ð >Ø%)Ô%5×%9Ò%9¸3À¸*Ñ%EÔ%E�NÝ*Ð*à%˜:˜: ~ ~ ~ð7ñô ð ð Ô&×*Ò*¨C°¨:Ñ6Ô6ð >Ø%)Ô%6×%:Ò%:¸CÀ¸:Ñ%FÔ%F�NÝ*Ð*à%˜:˜: ~ ~ ~ð7ñô ð ð
 4>�DÔ$ c¨3 ZÑ0Ð0ð>ð"
ð 
ð 
ˆð !Ÿš™œð 	ð 	ˆIØ Ð/Ð/ÝÐ<¸yÑHÑIÔIÐIØ�r�rð 0ð
 ")§¢¨]¸DÑ!AÔ!Aˆ�ÑØ '§¢¨L¸$Ñ ?Ô ?ˆ�ÑØ '§¢¨L¸$Ñ ?Ô ?ˆ�Ñð ˜iÑ'ˆØ�<Ô ð 	Ø˜‰MˆHà�aŠ<ˆ<ÝÐDÑEÔEÐEØ�2ð #*§+¢+¨n¸eÑ"DÔ"DˆÐÑØ!(§¢¨]¸EÑ!BÔ!BˆˆoÑØ$+§K¢K°¸uÑ$EÔ$EˆÐ Ñ!Ø$+§K¢KÐ0@À%Ñ$HÔ$HˆÐ Ñ!Ø$+§K¢K°¸aÑ$@Ô$@ˆÐ Ñ!Ø$+§K¢K°¸UÑ$CÔ$CˆÐ Ñ!ð �WÐÐØ˜6”?ˆDØ ˆE�&‰Mà�dˆ{ˆ{ÝÐEÈÑLÑMÔMÐMØ�rõ ”8Ð/°µr´zÑBÔBð ÅbÄhØ˜ñGô Gð õ ÐDÀtÑKÑLÔLÐLØ�rõ ŒxÐ:¸DÑAÔAð ÝÐGÈ$ÑNÑOÔOÐOØ�rõ Œx˜ TÑ*Ô*ð ­b¬hÐ7NÐPTÑ.UÔ.Uð ÝÐJÈTÑQÑRÔRÐRØ�rð �gÐÐØ$ WÔ-ˆE�'‰Nà�WŒ~Ð%Ø!#��g‘ð # 7œ^×3Ò3°C¸Ñ<Ô<ˆE�'‰NˆNà0ˆE�'‰Nð #ˆØ ˆà�;Š;�|Ñ$Ô$ð 	 Ø˜aÑˆNà�;Š;�{Ñ#Ô#ð 	Ø˜QÑˆMõ " )¨Y¸À(ÑKÔKˆˆg‰å# I¨y¸-ÈÑRÔRˆˆiÑð �|Ô$ð 	&Ø$%ˆG�LÑ!ð �<Ô ð 	3Ø"'¨	Ô"2ˆE�,Ñð ˆØˆˆiÑØˆ
å˜Y¨°1©Ñ5Ô5ð x	ñ x	ˆGð Ø ¥3 v¡;¤;Ñ.Ø "Ø"$Ø "Ø ØØØ#ð
ð 
ˆHð ˜GÐ#Ñ#à�S ¨Ô!3Ñ4Ô4Ò4Ð4Ø '¨	Ô 2°6¸A±:Ô >�I�Ià $�Iàñ W6à'Ÿmšm¨H°dÑ;Ô;�Gð !—}’} XÑ.Ô.ð ?Ø+4°XÔ+>˜ Ñ(ð #+¨6Ô"2�KØ&×,Ò,Ñ.Ô.�DØ˜zÐ)Ð)ÝÐIÈDÑPÑQÔQÐQØ!˜r˜rà+/˜
 4Ñ(à.7¯mªm¸OÑ.LÔ.L�H˜]Ñ+ð ! IÐ-Ð-°)¸IÔ2FÐ-Ø"+¨IÔ"6˜ð #×-Ò-¨cÑ2Ô2ð :Ø&-§n¢n°SÑ&9Ô&9˜Gð #*§/¢/°#°~Ñ"FÔ"F˜ð #'×"7Ò"7¸ÀÑ"FÔ"F˜à.5˜ Ñ+ð !—}’}Ð%5Ñ6Ô6ð *Ø#,Ð-=Ô#>˜Ø# |Ò3Ð3Ø'2˜HØ# yÒ0Ð0Ø'/˜Hå$'ð	ð 	ð 	ñ%ô %˜	ð $ yÐ0Ð0Ø&*×&EÒ&EØ (¨(°6Ô*:ñ'ô '˜G˜Gð '+×&;Ò&;¸HÀdÑ&KÔ&K˜GØ7>˜H ^Ñ4Ø'/˜Hà5=˜Ð!1Ñ2à )§¢¨m¸QÑ ?Ô ?˜à×+Ò+¨H°g¸wÈÐQVÑWÔWÐWÐWà"Ÿš ~Ñ6Ô6ð à'0°Ô'@˜Ø3?˜ Ñ0à×*Ò*Ø$ g¨|¸Y¿]º]È8Ñ=TÔ=Tñô ð ð
 Ð*Ø-4×-CÒ-CÑ-EÔ-E˜ Ñ*ð /6�K ¨¡
Ñ+ð �)Ô×#Ò# HÑ-Ô-Ð-ð �|Ô$ð Ø×"Ò"Ø˜w¨°Ô(8¸(À=Ô:Qñô ð ð �a‰KˆF‰Fð �WÐÐØ˜6”?ˆDàˆAÝ˜^¨]¸QÑ->Ñ?Ô?ð 
ð 
�Ø�Ý  ¨H°q©LÑ9Ô9ð ð �CØ�3˜t™9œ9’}�}¨­S°°a´©\¬\Ò)9Ð)9Ø $ Q¤¨¤
˜Ø Ð+Ð+Ø ŸKšK¨¨S°%¸ÀQ¼ÑHÔHÐHÐHà ŸKšK¨¨S°%¸Ñ>Ô>Ð>Ø˜‘F�A�AØ�Q‘��õ  )­¨y¸(ÀQ¹,Ñ)GÔ)GÑHÔHð 	Oð 	O‰OˆF�GØ 	Ô*¨6Ô2ˆKØð O˜{¨9Ô5ð OØ!,§¢°Ñ!8Ô!8�Ø% iÔ0�å  °ÀÑ1BÑCÔCð Oð O�CØ×'Ò'¨¨W°g¸~ÑNÔNÐNÐNøð 	Œ×Ò˜5Ñ!Ô!Ð!ð �<Ô ð 	;Ý˜Y¨°1©Ñ5Ô5ð ;ð ;�Ø6:�Ô! 9¨cÐ"2Ñ3Ð3àˆqr2   c                 óž	  — |                       ||dd¦  «        rdS dt          ||¦  «        gi}|€i }h d£}|                     ¦   «         D ]}||vrt          d|z  ¦  «          dS Œd|vrt          d¦  «         d	S |                     d
d¦  «        }|dvrt          d¦  «         d	S |dk    rd}||d
<   d|v r3t          |d         t          ¦  «        r|d         |d<   n|d         g|d<   t          |d         t          ¦  «        r|d         |d<   n|d         g|d<   t          |d         ¦  «        }t          |d         ¦  «        }	||	k    rt          d¦  «         d	S t          |d         ¦  «        |d<   t          | j	        ¦  «        }
g }|d         D ]N}| 
                    dd¦  «        }|                     d¦  «        }d|vr|
dz   |z   }|                     |¦  «         ŒO||d<   g }|d         D ]-}| 
                    dd¦  «        }|                     |¦  «         Œ.||d<   |                     d¦  «        |d<   |                     d¦  «        |d<   |                     d¦  «        |d<   |                     d¦  «        |d<   |                     d ¦  «        |d!<   |                     d"¦  «        |d"<   |                     d#¦  «        |d#<   |                     d$¦  «        |d$<   |                     d%¦  «        |d%<   |                     d&¦  «        |d&<   |                     d'¦  «        |d(<   |                     d)¦  «        |d)<   |                     d*d¦  «        }|d+k    rd,|d-<   n|d.k    rd/|d-<   nd0|d-<   |                     d1¦  «        }|rd|vr|
dz   |z   }||d1<   |                     d2d,¦  «        }t          |¦  «        }|d3         |d4<   |d         |d5<   |d"         |d6<   |d         |d7<   |d!         |d8<   |d         |d9<   |d         |d:<   |                      ||d4¦  «         |                      ||d5¦  «         |                      ||d6¦  «         |                      ||d7¦  «         |                      ||d8¦  «         |                      ||d9¦  «         |                      ||d:¦  «         | j                             |¦  «         d,S );ap  
        Add sparklines to the worksheet.

        Args:
            row:     The cell row (zero indexed).
            col:     The cell column (zero indexed).
            options: Sparkline formatting options.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.
            -2: Incorrect parameter or option.

        TrB  Ú	locationsN>   rþ  rý  Úaxisr8  rw  r  ÚweightÚmarkersÚreverseÚlocationÚ	date_axisÚ	low_colorÚ	low_pointÚ
high_colorÚ
high_pointÚ
last_colorÚ
last_pointÚempty_cellsÚfirst_colorÚfirst_pointÚplot_hiddenÚshow_hiddenÚseries_colorÚmarkers_colorÚnegative_colorÚnegative_pointsz)Unknown parameter '%s' in add_sparkline()rw  z0Parameter 'range' is required in add_sparkline()rC  r8  Úline)rb  ÚcolumnÚwin_losszJParameter 'type' must be 'line', 'column' or 'win_loss' in add_sparkline()rd  ÚstackedrQ  ÚrangeszMMust have the same number of location and range parameters in add_sparkline()r2  r€  rY   r  ú!rV  ÚhighrT  Úlowra  Únegativer[  ÚfirstrX  ÚlastrO  rý  rþ  rM  rP  r]  r{   rN  rY  Úzeror   ÚemptyÚconnectÚspanÚgaprR  r  Úseriesr^  r`  r_  rZ  rW  rU  rS  )rD  r   r‚  r   rË  r7  r£  rE  r    rg   r•  r	  r¦  r   Ú_set_spark_colorrë   )r(   r%  rF   rÐ  Ú	sparkliner„  r…  Ú
spark_typeÚrange_countÚlocation_countÚ	sheetnameÚ
new_rangesÚspark_rangeÚnew_locationsrQ  rn  Ú
date_rangeÚstyle_idr  s                      r.   Úadd_sparklinezWorksheet.add_sparklineø  sÈ  € ð$ ×!Ò! # s¨D°$Ñ7Ô7ð 	Ø�2à Õ#4°S¸#Ñ#>Ô#>Ð"?Ð@ˆ	àˆ?ØˆGð
ð 
ð 
Ðð< !Ÿš™œð 	ð 	ˆIØÐ 0Ð0Ð0ÝÐ@À9ÑLÑMÔMÐMØ�r�rð 1ð
 ˜'Ð!Ð!ÝÐCÑDÔDÐDØ�2ð —[’[ ¨Ñ0Ô0ˆ
àÐ;Ð;Ð;Ýð3ñô ð ð �2à˜Ò#Ð#Ø"ˆJØ&ˆ	�&Ñð ˜Ð Ð Ý˜' *Ô-­tÑ4Ô4ð ?Ø)0°Ô)<�	˜+Ñ&Ð&à*1°*Ô*=Ð)>�	˜+Ñ&å�g˜gÔ&­Ñ-Ô-ð 	5Ø")¨'Ô"2ˆI�hÑÐà#*¨7Ô#3Ð"4ˆI�hÑå˜) HÔ-Ñ.Ô.ˆÝ˜Y {Ô3Ñ4Ô4ˆð ˜.Ò(Ð(Ýð0ñô ð ð �2õ ! ¨;Ô!7Ñ8Ô8ˆ	�'Ñõ $ D¤IÑ.Ô.ˆ	ð ˆ
Ø$ XÔ.ð 	+ð 	+ˆKà%×-Ò-¨c°2Ñ6Ô6ˆKð &×,Ò,¨SÑ1Ô1ˆKð ˜+Ð%Ð%Ø'¨#™o°Ñ;�à×Ò˜kÑ*Ô*Ð*Ð*à(ˆ	�(Ñð ˆØ! +Ô.ð 	+ð 	+ˆHØ×'Ò'¨¨RÑ0Ô0ˆHØ× Ò  Ñ*Ô*Ð*Ð*à!.ˆ	�+Ñð $ŸKšK¨Ñ5Ô5ˆ	�&ÑØ"Ÿ;š; {Ñ3Ô3ˆ	�%ÑØ '§¢Ð,=Ñ >Ô >ˆ	�*ÑØ$Ÿ[š[¨Ñ7Ô7ˆ	�'ÑØ#ŸKšK¨Ñ5Ô5ˆ	�&ÑØ&Ÿ{š{¨9Ñ5Ô5ˆ	�)ÑØ"Ÿ;š; uÑ-Ô-ˆ	�%ÑØ"Ÿ;š; uÑ-Ô-ˆ	�%ÑØ#ŸKšK¨Ñ/Ô/ˆ	�&ÑØ&Ÿ{š{¨9Ñ5Ô5ˆ	�)ÑØ%Ÿkšk¨-Ñ8Ô8ˆ	�(ÑØ%Ÿkšk¨(Ñ3Ô3ˆ	�(Ñð —’˜M¨2Ñ.Ô.ˆà�FŠ?ˆ?Ø!"ˆI�gÑÐØ�iÒÐØ!'ˆI�gÑÐà!&ˆI�gÑð —[’[ Ñ-Ô-ˆ
àð 	6˜# ZÐ/Ð/Ø" S™¨:Ñ5ˆJà!+ˆ	�+Ñð —;’;˜w¨Ñ*Ô*ˆÝ# HÑ-Ô-ˆà$)¨(¤Oˆ	�.Ñ!Ø&+¨JÔ&7ˆ	Ð"Ñ#Ø%*¨9Ô%5ˆ	�/Ñ"Ø#(¨¤>ˆ	�-Ñ Ø"'¨¤-ˆ	�,ÑØ"'¨¤-ˆ	�,ÑØ!& u¤ˆ	�+Ñð 	×Ò˜i¨°.ÑAÔAÐAØ×Ò˜i¨Ð2BÑCÔCÐCØ×Ò˜i¨°/ÑBÔBÐBØ×Ò˜i¨°-Ñ@Ô@Ð@Ø×Ò˜i¨°,Ñ?Ô?Ð?Ø×Ò˜i¨°,Ñ?Ô?Ð?Ø×Ò˜i¨°+Ñ>Ô>Ð>àŒ×Ò˜yÑ)Ô)Ð)àˆqr2   c                 óœ   — d}t          ||¦  «        }||k    r||}}||k    r||}}t          ||||¦  «        }|dk    rdS |||gg| _        dS )a‰  
        Set the selected cell or cells in a worksheet

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.

        Returns:
            0:  Nothing.
        NÚA1)r   r   rz   )r(   rj  rk  rl  rm  ÚpaneÚactive_cellÚsqrefs           r.   Úset_selectionzWorksheet.set_selection¸  s|   € ð ˆõ (¨	°9Ñ=Ô=ˆð �xÒÐØ%-¨y˜ˆYà�xÒÐØ%-¨y˜ˆYå˜ I¨x¸ÑBÔBˆð �DŠ=ˆ=ØˆFà  +¨uÐ5Ð6ˆŒˆˆr2   c                 óL   — |dk    r|dk    rdS t          ||¦  «        | _        dS )zå
        Set the first visible cell at the top left of a worksheet.

        Args:
            row: The cell row (zero indexed).
            col: The cell column (zero indexed).

        Returns:
            0:  Nothing.
        r   N)r   r~   )r(   r%  rF   s      r.   Úset_top_left_cellzWorksheet.set_top_left_cellÛ  s2   € ð �!Š8ˆ8˜˜qš˜ØˆFå.¨s°CÑ8Ô8ˆÔÐÐr2   r   c                 óL   — || _         || _        || _        || _        d| _        dS )a  
        Control outline settings.

        Args:
            visible:       Outlines are visible. Optional, defaults to True.
            symbols_below: Show row outline symbols below the outline bar.
                           Optional, defaults to True.
            symbols_right: Show column outline symbols to the right of the
                           outline bar. Optional, defaults to True.
            auto_style:    Use Automatic style. Optional, defaults to False.

        Returns:
            0:  Nothing.
        TN)r¸   r¶   r·   rµ   r¹   )r(   ÚvisibleÚsymbols_belowÚsymbols_rightÚ
auto_styles        r.   Úoutline_settingszWorksheet.outline_settingsí  s1   € ð" "ˆŒØ*ˆÔØ*ˆÔØ'ˆÔà#ˆÔÐÐr2   c                 ó.   — |€|}|€|}|||||g| _         dS )at  
        Create worksheet panes and mark them as frozen.

        Args:
            row:      The cell row (zero indexed).
            col:      The cell column (zero indexed).
            top_row:  Topmost visible row in scrolling region of pane.
            left_col: Leftmost visible row in scrolling region of pane.

        Returns:
            0:  Nothing.

        N)r   )r(   r%  rF   Útop_rowÚleft_colÚ	pane_types         r.   Úfreeze_paneszWorksheet.freeze_panes  s/   € ð ˆ?ØˆGàÐØˆHà˜3 ¨°9Ð=ˆŒ
ˆ
ˆ
r2   c                 ó8   — |                       ||||d¦  «         dS )a‚  
        Create worksheet panes and mark them as split.

        Args:
            x:        The position for the vertical split.
            y:        The position for the horizontal split.
            top_row:  Topmost visible row in scrolling region of pane.
            left_col: Leftmost visible row in scrolling region of pane.

        Returns:
            0:  Nothing.

        rŠ  N)r‘  )r(   ÚxÚyrŽ  r�  s        r.   Úsplit_paneszWorksheet.split_panes  s&   € ð  	×Ò˜!˜Q ¨°1Ñ5Ô5Ð5Ð5Ð5r2   r^   c                 ón   — |dk     s|dk    rt          d|z  ¦  «         d}t          |¦  «        | _        dS )zš
        Set the worksheet zoom factor.

        Args:
            zoom: Scale factor: 10 <= zoom <= 400.

        Returns:
            Nothing.

        é
   é�  z/Zoom factor %d outside range: 10 <= zoom <= 400r^   N)r   r&   r­   )r(   r­   s     r.   Úset_zoomzWorksheet.set_zoom.  s?   € ð �"Š9ˆ9˜˜sš
˜
ÝÐBÀTÑIÑJÔJÐJØˆDå˜‘I”IˆŒ	ˆ	ˆ	r2   c                 ó   — d| _         dS )zš
        Display the worksheet right to left for some versions of Excel.

        Args:
            None.

        Returns:
            Nothing.

        r   N)r°   ré  s    r.   Úright_to_leftzWorksheet.right_to_left@  rë  r2   c                 ó   — d| _         dS )z
        Hide zero values in worksheet cells.

        Args:
            None.

        Returns:
            Nothing.

        r   N)r±   ré  s    r.   Ú	hide_zerozWorksheet.hide_zeroM  s   € ð ˆŒˆˆr2   c                 ó.   — t          |¦  «        | _        dS )z“
        Set the color of the worksheet tab.

        Args:
            color: A #RGB color index.

        Returns:
            Nothing.

        N)r   r}   ©r(   Úcolors     r.   Úset_tab_colorzWorksheet.set_tab_colorZ  s   € õ " %™œˆŒˆˆr2   rY   c                 ó8  — |dk    r|                       |¦  «        }|si }i dd“dd“dd“dd“dd“d	d“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“}|                     ¦   «         D ]$}||v r||         ||<   Œt          d|z  ¦  «         Œ%||d<   || _        dS )zù
        Set the password and protection options of the worksheet.

        Args:
            password: An optional password string.
            options:  A dictionary of worksheet objects to protect.

        Returns:
            Nothing.

        rY   ÚsheetTÚcontentFÚobjectsÚ	scenariosÚformat_cellsÚformat_columnsÚformat_rowsÚinsert_columnsÚinsert_rowsÚinsert_hyperlinksÚdelete_columnsÚdelete_rowsÚselect_locked_cellsÚsortr;  Úpivot_tablesÚselect_unlocked_cellszUnknown protection object: '%s'ÚpasswordN)Ú_encode_passwordr‚  r   r§   )r(   r³  rÐ  Údefaultsr  s        r.   ÚprotectzWorksheet.protectg  s^  € ð �rŠ>ˆ>Ø×,Ò,¨XÑ6Ô6ˆHàð 	ØˆGð
Ø�Tð
à�uð
ð �uð
ð ˜ð	
ð
 ˜Eð
ð ˜eð
ð ˜5ð
ð ˜eð
ð ˜5ð
ð   ð
ð ˜eð
ð ˜5ð
ð " 4ð
ð �Eð
ð ˜%ð
ð  ˜Eð!
ð" $ Tð#
ˆð* —<’<‘>”>ð 	>ð 	>ˆCØ�hˆˆØ '¨¤�˜‘�åÐ6¸Ñ<Ñ=Ô=Ð=Ð=ð  (ˆ�Ñà'ˆÔÐÐr2   c                 ó<  — |€t          d¦  «         dS |                     d¦  «        }|                     dd¦  «        }| xj        dz  c_        |€dt	          | j        ¦  «        z   }|r|                      |¦  «        }| j                             |||f¦  «         dS )	a0  
        Unprotect ranges within a protected worksheet.

        Args:
            cell_range: The cell or cell range to unprotect.
            range_name: An optional name for the range.
            password:   An optional password string. (undocumented)

        Returns:
            Nothing.

        Nz1Cell range must be specified in unprotect_range()rB  r  r€  rY   r   ÚRange)r   r	  r•  r©   r1  r´  r¨   r¦  ©r(   ry  Ú
range_namer³  s       r.   Úunprotect_rangezWorksheet.unprotect_rangeš  s¶   € ð ÐÝÐDÑEÔEÐEØ�2ð  ×&Ò& sÑ+Ô+ˆ
Ø×'Ò'¨¨RÑ0Ô0ˆ
àÐ!Ô! QÑ&Ð!Ô!àÐØ ¥3 tÔ'@Ñ#AÔ#AÑAˆJàð 	7Ø×,Ò,¨XÑ6Ô6ˆHàÔ×$Ò$ j°*¸hÐ%GÑHÔHÐHÐHÐHr2   c                 óÚ   — |                       ||dd¦  «        rt          d||fz  ¦  «         dS |€i }|                      |||¦  «        }| j                             |¦  «         d| _        dS )aM  
        Insert a button form object into the worksheet.

        Args:
            row:     The cell row (zero indexed).
            col:     The cell column (zero indexed).
            options: Button formatting options.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        Tz!Cannot insert button at (%d, %d).rB  Nr   r   )rD  r   Ú_button_paramsrÐ   r¦  rÈ   )r(   r%  rF   rÐ  Úbuttons        r.   Úinsert_buttonzWorksheet.insert_button¹  s�   € ð  ×!Ò! # s¨D°$Ñ7Ô7ð 	ÝÐ4¸¸S°zÑAÑBÔBÐBØ�2àˆ?ØˆGà×$Ò$ S¨#¨wÑ7Ô7ˆàÔ× Ò  Ñ(Ô(Ð(àˆŒàˆqr2   c                 ó"   — d| _         d| _        dS )z�
        Set the page orientation as landscape.

        Args:
            None.

        Returns:
            Nothing.

        r   TN©r„   r‚   ré  s    r.   Úset_landscapezWorksheet.set_landscapeÝ  ó   € ð ˆÔØ"&ˆÔÐÐr2   c                 ó"   — d| _         d| _        dS )z€
        Set the page orientation as portrait.

        Args:
            None.

        Returns:
            Nothing.

        r   TNrÁ  ré  s    r.   Úset_portraitzWorksheet.set_portraitë  rÃ  r2   c                 ó   — || _         dS )zÐ
        Set the page view mode.

        Args:
            0: Normal view mode
            1: Page view mode (the default)
            2: Page break view mode

        Returns:
            Nothing.

        N©rü   ©r(   Úviews     r.   Úset_page_viewzWorksheet.set_page_viewù  s   € ð ˆŒˆˆr2   c                 ó   — d| _         dS )zr
        Set the page view mode.

        Args:
            None.

        Returns:
            Nothing.

        rŠ  NrÇ  rÈ  s     r.   Úset_pagebreak_viewzWorksheet.set_pagebreak_view  s   € ð ˆŒˆˆr2   c                 ó*   — |r|| _         d| _        dS dS )z˜
        Set the paper type. US Letter = 1, A4 = 9.

        Args:
            paper_size: Paper index.

        Returns:
            Nothing.

        TN)rƒ   r‚   )r(   rƒ   s     r.   Ú	set_paperzWorksheet.set_paper  s+   € ð ð 	+Ø(ˆDŒOØ&*ˆDÔ#Ð#Ð#ð	+ð 	+r2   c                 ó"   — d| _         d| _        dS )zx
        Center the page horizontally.

        Args:
            None.

        Returns:
            Nothing.

        Tr   N)r…   r†   ré  s    r.   Úcenter_horizontallyzWorksheet.center_horizontally$  ó   € ð &*ˆÔ"ØˆŒˆˆr2   c                 ó"   — d| _         d| _        dS )zv
        Center the page vertically.

        Args:
            None.

        Returns:
            Nothing.

        Tr   N)r…   r‡   ré  s    r.   Úcenter_verticallyzWorksheet.center_vertically2  rÑ  r2   r[   r\   c                 ó>   — || _         || _        || _        || _        dS )zò
        Set all the page margins in inches.

        Args:
            left:   Left margin.
            right:  Right margin.
            top:    Top margin.
            bottom: Bottom margin.

        Returns:
            Nothing.

        N)r”   r•   r–   r—   )r(   ÚleftÚrightr°  r²  s        r.   Úset_marginszWorksheet.set_margins@  s)   € ð  ˆÔØ!ˆÔØˆŒØ#ˆÔÐÐr2   c                 óZ  — |}|                      dd¦  «        }t          |¦  «        dk    rt          d¦  «         dS |�t          |t          ¦  «        sd|i}ni }|                     ¦   «         }|�||d<   g | _        |                     d¦  «        rC| j                             |                     d¦  «        |                     d¦  «        d	g¦  «         |                     d
¦  «        rC| j                             |                     d
¦  «        |                     d¦  «        dg¦  «         |                     d¦  «        rC| j                             |                     d¦  «        |                     d¦  «        dg¦  «         | 	                    d¦  «        }t          | j        ¦  «        }||k    r!t          d|›d|›d|›�¦  «         g | _        dS d|v r|d         | _
        d|v r|d         | _        || _        |                     dd¦  «        | _        d| _        |r	d| _        dS dS )zù
        Set the page header caption and optional margin.

        Args:
            header:  Header string.
            margin:  Header margin.
            options: Header options, mainly for images.

        Returns:
            Nothing.

        ú
&[Picture]ú&Gr~  zCHeader string cannot be longer than Excel's limit of 255 charactersNÚmarginÚ
image_leftÚimage_data_leftÚLHÚimage_centerÚimage_data_centerÚCHÚimage_rightÚimage_data_rightÚRHzNumber of header images (ú#) doesn't match placeholder count (ú) in string: Úalign_with_marginsÚscale_with_docr]   T)r•  rE  r   r7  r«   r�  r‘   rË  r¦  r2  r�   r�   r�   r˜   rŒ   rÉ   )r(   r�   rÐ  rÛ  Úheader_origÚplaceholder_countÚimage_counts          r.   Ú
set_headerzWorksheet.set_headerS  ót  € ð ˆØ—’ ¨dÑ3Ô3ˆåˆv‰;Œ;˜ÒÐÝÐVÑWÔWÐWØˆFàÐå˜g¥tÑ,Ô,ð .Ø# WÐ-�øàˆGð —,’,‘.”.ˆð ÐØ &ˆG�HÑð  ˆÔà�;Š;�|Ñ$Ô$ð 	ØÔ×%Ò%Ø—’˜\Ñ*Ô*¨G¯KªKÐ8IÑ,JÔ,JÈDÐQñô ð ð �;Š;�~Ñ&Ô&ð 	ØÔ×%Ò%Ø—’˜^Ñ,Ô,¨g¯kªkÐ:MÑ.NÔ.NÐPTÐUñô ð ð �;Š;�}Ñ%Ô%ð 	ØÔ×%Ò%Ø—’˜]Ñ+Ô+¨W¯[ª[Ð9KÑ-LÔ-LÈdÐSñô ð ð #ŸLšL¨Ñ.Ô.ÐÝ˜$Ô,Ñ-Ô-ˆà Ò+Ð+ÝˆDð �;�;Ð 1Ð 1Ð 1°;°;ð@ñô ð ð
 "$ˆDÔØˆFà 7Ð*Ð*Ø(/Ð0DÔ(EˆDÔ%à˜wÐ&Ð&Ø(/Ð0@Ô(AˆDÔ%àˆŒØ$Ÿ[š[¨°3Ñ7Ô7ˆÔØ%)ˆÔ"àð 	'Ø"&ˆDÔÐÐð	'ð 	'r2   c                 óZ  — |}|                      dd¦  «        }t          |¦  «        dk    rt          d¦  «         dS |�t          |t          ¦  «        sd|i}ni }|                     ¦   «         }|�||d<   g | _        |                     d¦  «        rC| j                             |                     d¦  «        |                     d¦  «        d	g¦  «         |                     d
¦  «        rC| j                             |                     d
¦  «        |                     d¦  «        dg¦  «         |                     d¦  «        rC| j                             |                     d¦  «        |                     d¦  «        dg¦  «         | 	                    d¦  «        }t          | j        ¦  «        }||k    r!t          d|›d|›d|›�¦  «         g | _        dS d|v r|d         | _
        d|v r|d         | _        || _        |                     dd¦  «        | _        d| _        |r	d| _        dS dS )zù
        Set the page footer caption and optional margin.

        Args:
            footer:  Footer string.
            margin:  Footer margin.
            options: Footer options, mainly for images.

        Returns:
            Nothing.

        rÙ  rÚ  r~  zCFooter string cannot be longer than Excel's limit of 255 charactersNrÛ  rÜ  rÝ  ÚLFrß  rà  ÚCFrâ  rã  ÚRFzNumber of footer images (rå  ræ  rç  rè  r]   T)r•  rE  r   r7  r«   r�  r’   rË  r¦  r2  r�   r�   rŽ   r™   rŒ   rÉ   )r(   rŽ   rÐ  rÛ  Úfooter_origrê  rë  s          r.   Ú
set_footerzWorksheet.set_footer   rí  r2   c                 ór   — |€|}|dz  }|dz  }d||fz  }t          | j        ¦  «        }|dz   |z   | _        dS )zÕ
        Set the rows to repeat at the top of each printed page.

        Args:
            first_row: Start row for range.
            last_row: End row for range.

        Returns:
            Nothing.

        Nr   z$%d:$%drg  )r    rg   rš   )r(   rj  rl  r9  rx  s        r.   Úrepeat_rowszWorksheet.repeat_rowsí  s\   € ð ÐØ ˆHð 	�Q‰ˆ	Ø�A‰ˆð ˜I xÐ0Ñ0ˆõ $ D¤IÑ.Ô.ˆ	Ø )¨C¡°$Ñ 6ˆÔÐÐr2   c                 ó    — |€|}t          |d¦  «        }t          |d¦  «        }|dz   |z   }t          | j        ¦  «        }|dz   |z   | _        dS )zé
        Set the columns to repeat at the left hand side of each printed page.

        Args:
            first_col: Start column for range.
            last_col: End column for range.

        Returns:
            Nothing.

        Nr   r5   rg  )r   r    rg   r›   )r(   rk  rm  r9  rx  s        r.   Úrepeat_columnszWorksheet.repeat_columns  sg   € ð ÐØ ˆHõ # 9¨aÑ0Ô0ˆ	Ý! (¨AÑ.Ô.ˆð ˜3‰ Ñ)ˆõ $ D¤IÑ.Ô.ˆ	Ø )¨C¡°$Ñ 6ˆÔÐÐr2   c                 óˆ   — |dk    rd| _         d| _        d| _        dS |dk    rd| _         d| _        dS d| _         d| _        dS )a1  
        Set the option to hide gridlines on the screen and the printed page.

        Args:
            option:    0 : Don't hide gridlines
                       1 : Hide printed gridlines only
                       2 : Hide screen and printed gridlines

        Returns:
            Nothing.

        r   r   TN)rˆ   r‰   r…   )r(   Úoptions     r.   Úhide_gridlineszWorksheet.hide_gridlines"  s`   € ð �QŠ;ˆ;Ø#$ˆDÔ Ø$%ˆDÔ!Ø)-ˆDÔ&Ð&Ð&Ø�qŠ[ˆ[Ø#$ˆDÔ Ø$%ˆDÔ!Ð!Ð!à#$ˆDÔ Ø$%ˆDÔ!Ð!Ð!r2   c                 ó"   — d| _         d| _        dS )z¢
        Set the option to print the row and column headers on the printed page.

        Args:
            None.

        Returns:
            Nothing.

        TN)rŠ   r…   ré  s    r.   Úprint_row_col_headerszWorksheet.print_row_col_headers:  s   € ð "ˆÔØ%)ˆÔ"Ð"Ð"r2   c                 ó   — d| _         dS )zž
        Set the option to hide the row and column headers on the worksheet.

        Args:
            None.

        Returns:
            Nothing.

        TN)r‹   ré  s    r.   Úhide_row_col_headerszWorksheet.hide_row_col_headersH  s   € ð  $ˆÔÐÐr2   c                 ó˜   — |dk    r$|dk    r|| j         dz
  k    r|| j        dz
  k    rdS |                      ||||¦  «        }|| _        dS )aÃ  
        Set the print area in the current worksheet.

        Args:
            first_row:    The first row of the cell range. (zero indexed).
            first_col:    The first column of the cell range.
            last_row:     The last row of the cell range. (zero indexed).
            last_col:     The last column of the cell range.

        Returns:
            0:  Success.
            -1: Row or column is out of worksheet bounds.

        r   r   N)rr   rs   r8  rœ   )r(   rj  rk  rl  rm  r9  s         r.   Ú
print_areazWorksheet.print_areaU  sg   € ð( ˜ŠNˆNØ˜Q’�Ø˜DœO¨aÑ/Ò/Ð/Ø˜DœO¨aÑ/Ò/Ð/àˆFð ×&Ò& y°)¸XÀxÑPÔPˆØ $ˆÔàˆqr2   c                 ó"   — d| _         d| _        dS )z„
        Set the order in which pages are printed.

        Args:
            None.

        Returns:
            Nothing.

        r   TN)r�   r‚   ré  s    r.   Úprint_acrosszWorksheet.print_acrossv  s   € ð ˆŒØ"&ˆÔÐÐr2   c                 ó>   — d| _         || _        || _        d| _        dS )a  
        Fit the printed area to a specific number of pages both vertically and
        horizontally.

        Args:
            width:  Number of pages horizontally.
            height: Number of pages vertically.

        Returns:
            Nothing.

        r   TN)r¢   r£   r¤   r‚   )r(   r  r(  s      r.   Úfit_to_pageszWorksheet.fit_to_pages„  s'   € ð ˆŒØˆŒØ ˆŒØ"&ˆÔÐÐr2   c                 ó   — || _         dS )zœ
        Set the start page number when printing.

        Args:
            start_page: Start page number.

        Returns:
            Nothing.

        N)r¡   )r(   Ú
start_pages     r.   Úset_start_pagezWorksheet.set_start_page–  s   € ð %ˆŒˆˆr2   c                 óŠ   — |dk     s|dk    rt          d|z  ¦  «         dS d| _        t          |¦  «        | _        d| _        dS )z§
        Set the scale factor for the printed page.

        Args:
            scale: Print scale. 10 <= scale <= 400.

        Returns:
            Nothing.

        r—  r˜  z2Print scale '%d' outside range: 10 <= scale <= 400Nr   T)r   r¢   r&   r¯   r‚   )r(   Úscales     r.   Úset_print_scalezWorksheet.set_print_scale£  sS   € ð �2Š:ˆ:˜ š˜ÝÐEÈÑMÑNÔNÐNØˆFð ˆŒå˜u™:œ:ˆÔØ"&ˆÔÐÐr2   c                 ó"   — d| _         d| _        dS )z”
        Set the option to print the worksheet in black and white.

        Args:
            None.

        Returns:
            Nothing.

        TN)rž   r‚   ré  s    r.   Úprint_black_and_whitezWorksheet.print_black_and_white¹  s   € ð  ˆÔØ"&ˆÔÐÐr2   c                 ó   — || _         dS )z¿
        Set the horizontal page breaks on a worksheet.

        Args:
            breaks: List of rows where the page breaks should be added.

        Returns:
            Nothing.

        N)r¥   ©r(   Úbreakss     r.   Úset_h_pagebreakszWorksheet.set_h_pagebreaksÇ  ó   € ð ˆŒˆˆr2   c                 ó   — || _         dS )zÂ
        Set the horizontal page breaks on a worksheet.

        Args:
            breaks: List of columns where the page breaks should be added.

        Returns:
            Nothing.

        N)r¦   r  s     r.   Úset_v_pagebreakszWorksheet.set_v_pagebreaksÔ  r  r2   c                 óZ   — |�	|| _         dS dt          | j        dz   ¦  «        z   | _         dS )zç
        Set the VBA name for the worksheet. By default this is the
        same as the sheet name: i.e., Sheet1 etc.

        Args:
            name: The VBA name for the worksheet.

        Returns:
            Nothing.

        NÚSheetr   )rý   r1  rh   )r(   rg   s     r.   Úset_vba_namezWorksheet.set_vba_nameá  s9   € ð ÐØ $ˆDÔÐÐà '­#¨d¬j¸1©nÑ*=Ô*=Ñ =ˆDÔÐÐr2   c                 ó¬   — |€dS |                      ¦   «         }h d£}|                     ¦   «         D ]}||vrt          d|z  ¦  «          dS Œ|| _        dS )a  
        Ignore various Excel errors/warnings in a worksheet for user defined
        ranges.

        Args:
            options: A dict of ignore errors keys with cell range values.

        Returns:
            0: Success.
           -1: Incorrect parameter or option.

        NrB  >	   Ú
eval_errorÚformula_rangeÚformula_differsÚformula_unlockedÚcalculated_columnÚtwo_digit_text_yearÚempty_cell_referenceÚlist_data_validationÚnumber_stored_as_textz)Unknown parameter '%s' in ignore_errors()r   )r�  r‚  r   r  )r(   rÐ  r„  r…  s       r.   Úignore_errorszWorksheet.ignore_errorsò  sƒ   € ð ˆ?Ø�2ð —l’l‘n”nˆGð

ð 

ð 

Ðð !Ÿš™œð 	ð 	ˆIØÐ 0Ð0Ð0ÝÐ@À9ÑLÑMÔMÐMØ�r�rð 1ð &ˆÔàˆqr2   c                 ó<  — |d         | _         |d         | _        |d         | _        |d         | _        |d         | _        |d         | _        |d         | _        |d         | _        |d	         | _        |d
         | _	        |d         | _
        |d         | _        |d         | _        |d         | _        |d         | _        |d         | _        |d         | _        |d         | _        | j        rFd| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        | j        r]t9          j        | j        ¬¦  «        \  }}t=          j        |¦  «         || _         tC          |dd¬¦  «        | _"        | j"        | _#        d S d S )Nrg   rh   ri   r
  rk   rl   rþ   r   r  r  r  r  r  rq   r  r  r  rÕ  g     €)@é   r\   r   ç      à?F)Údirzw+úutf-8©ÚmodeÚencoding)$rg   rh   ri   r
  rk   rl   rþ   r   r  r  r  r  r  rq   r  r  r  rÕ  rº   r»   r¼   r”   r•   r–   r—   r˜   r™   r�   ÚtempfileÚmkstemprÌ  Úcloser  Úopenr	  r«  )r(   Ú	init_dataÚfdrÏ  s       r.   Ú_initializezWorksheet._initialize!  s¼  € Ø˜fÔ%ˆŒ	Ø˜wÔ'ˆŒ
Ø" ;Ô/ˆŒØ'Ð(8Ô9ˆÔØ(Ð):Ô;ˆÔØ Ô)ˆŒØ" ;Ô/ˆŒØ"+Ð,@Ô"AˆÔØ#,Ð-BÔ#CˆÔ Ø(Ð):Ô;ˆÔØ!*Ð+>Ô!?ˆÔØ#,Ð-BÔ#CˆÔ Ø"+Ð,@Ô"AˆÔØ(Ð):Ô;ˆÔØ(Ð):Ô;ˆÔØ'Ð(8Ô9ˆÔØ$-Ð.DÔ$EˆÔ!Ø(Ð):Ô;ˆÔàÔð 
	.Ø',ˆDÔ$Ø&+ˆDÔ#Ø&(ˆDÔ#Ø#ˆDÔØ $ˆDÔØˆDŒOØ!"ˆDÔØ!$ˆDÔØ!$ˆDÔØ(-ˆDÔ%ð Ôð 		'õ &Ô-°$´+Ð>Ñ>Ô>‰NˆR�ÝŒH�R‰LŒLˆLØ%-ˆDÔ"Ý# H°4À'ÐJÑJÔJˆDÔð Ô&ˆDŒGˆGˆGð		'ð 		'r2   c                 ó&  — |                       ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          | j        s|                      ¦   «          n|  	                    ¦   «          |  
                    ¦   «          |                      ¦   «          | j        r|                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                      ¦   «          |                       d¦  «         |  !                    ¦   «          d S )NÚ	worksheet)"Ú_xml_declarationÚ_write_worksheetÚ_write_sheet_prÚ_write_dimensionÚ_write_sheet_viewsÚ_write_sheet_format_prÚ_write_colsrk   Ú_write_sheet_dataÚ_write_optimized_sheet_dataÚ_write_sheet_protectionÚ_write_protected_rangesrq   Ú_write_phonetic_prÚ_write_auto_filterÚ_write_merge_cellsÚ_write_conditional_formatsÚ_write_data_validationsÚ_write_hyperlinksÚ_write_print_optionsÚ_write_page_marginsÚ_write_page_setupÚ_write_header_footerÚ_write_row_breaksÚ_write_col_breaksÚ_write_ignored_errorsÚ_write_drawingsÚ_write_legacy_drawingÚ_write_legacy_drawing_hfÚ_write_pictureÚ_write_table_partsÚ_write_ext_listrª  Ú
_xml_closeré  s    r.   Ú_assemble_xml_filezWorksheet._assemble_xml_fileM  sŸ  € ð 	×ÒÑÔÐð 	×ÒÑÔÐð 	×ÒÑÔÐð 	×ÒÑÔÐð 	×ÒÑ!Ô!Ð!ð 	×#Ò#Ñ%Ô%Ð%ð 	×ÒÑÔÐð Ô#ð 	/Ø×"Ò"Ñ$Ô$Ð$Ð$à×,Ò,Ñ.Ô.Ð.ð 	×$Ò$Ñ&Ô&Ð&ð 	×$Ò$Ñ&Ô&Ð&ð Ôð 	&Ø×#Ò#Ñ%Ô%Ð%ð 	×ÒÑ!Ô!Ð!ð 	×ÒÑ!Ô!Ð!ð 	×'Ò'Ñ)Ô)Ð)ð 	×$Ò$Ñ&Ô&Ð&ð 	×ÒÑ Ô Ð ð 	×!Ò!Ñ#Ô#Ð#ð 	× Ò Ñ"Ô"Ð"ð 	×ÒÑ Ô Ð ð 	×!Ò!Ñ#Ô#Ð#ð 	×ÒÑ Ô Ð ð 	×ÒÑ Ô Ð ð 	×"Ò"Ñ$Ô$Ð$ð 	×ÒÑÔÐð 	×"Ò"Ñ$Ô$Ð$ð 	×%Ò%Ñ'Ô'Ð'ð 	×ÒÑÔÐð 	×ÒÑ!Ô!Ð!ð 	×ÒÑÔÐð 	×Ò˜+Ñ&Ô&Ð&ð 	�ŠÑÔÐÐÐr2   c                 óR  — |dk     s|dk     rdS || j         k    s|| j        k    rdS |s|s| j        r|| j        k     rdS |s2| j        �|| j        k     r|| _        | j        �|| j        k    r|| _        |s2| j        �|| j        k     r|| _        | j        �|| j        k    r|| _        dS rA  )rr   rs   rk   rö   ru   rv   rw   rx   )r(   r%  rF   r  r  s        r.   rD  zWorksheet._check_dimensions±  sç   € ð �Š7ˆ7�c˜A’g�gØ�2Ø�$”/Ò!Ð! S¨D¬OÒ%;Ð%;Ø�2ð ð 	 *ð 	°Ô1Eð 	Ø�TÔ&Ò&Ð&Ø�ràð 	&ØŒÐ&¨#°´Ò*?Ð*?Ø"%�”ØŒÐ&¨#°´Ò*?Ð*?Ø"%�”àð 	&ØŒÐ&¨#°´Ò*?Ð*?Ø"%�”ØŒÐ&¨#°´Ò*?Ð*?Ø"%�”àˆqr2   c                 ó8   — t          || j        | j        ¦  «        S ©N)r   rþ   r  )r(   Údt_objs     r.   r}  zWorksheet._convert_date_timeÒ  s   € å)¨&°$´.À$ÔBVÑWÔWÐWr2   c                 óˆ  — d}d}d}d}t          |d¦  «        }	t          |d¦  «        }
dt          |dz   ¦  «        z   }dt          |dz   ¦  «        z   }|dk    r|| j        dz
  k    r|	}|
}d}n%|dk    r|| j        dz
  k    r|}|}d}n
|	|z   }|
|z   }||k    r|s|}n|dz   |z   }t	          | j        ¦  «        }|dz   |z   }|S )NrY   r   r   r€  r5   rg  )r   r1  rr   rs   r    rg   )r(   Ú	row_num_1Ú	col_num_1Ú	row_num_2Ú	col_num_2Úrange1Úrange2r9  Úrow_col_onlyÚ
col_char_1Ú
col_char_2Ú
row_char_1Ú
row_char_2rx  s                 r.   r8  zWorksheet._convert_name_areaÖ  s  € ð ˆØˆØˆØˆõ $ I¨qÑ1Ô1ˆ
Ý# I¨qÑ1Ô1ˆ
Ø�3˜y¨1™}Ñ-Ô-Ñ-ˆ
Ø�3˜y¨1™}Ñ-Ô-Ñ-ˆ
ð ˜Š>ˆ>˜i¨4¬?¸QÑ+>Ò>Ð>ØˆFØˆFØˆLˆLØ˜!Š^ˆ^ 	¨T¬_¸qÑ-@Ò @Ð @ØˆFØˆFØˆLˆLà *Ñ,ˆFØ *Ñ,ˆFð �VÒÐ LÐØˆDˆDà˜C‘< &Ñ(ˆDõ $ D¤IÑ.Ô.ˆ	Ø˜3‰ Ñ%ˆàˆr2   c                 óâ   — |sd S t          |¦  «        }d|v r|                     d¦  «         t          |¦  «        }|                     ¦   «          d}t	          |¦  «        |k    r
|d |…         }|S )Nr   iÿ  )r7  Úremover£  r°  rE  )r(   r  Ú
breaks_setÚbreaks_listÚmax_num_breakss        r.   Ú_sort_pagebreakszWorksheet._sort_pagebreaksþ  s†   € ð ð 	ØˆFå˜‘[”[ˆ
à�
ˆ?ˆ?Ø×Ò˜aÑ Ô Ð å˜:Ñ&Ô&ˆØ×ÒÑÔÐð ˆÝˆ{ÑÔ˜nÒ,Ð,Ø% o ~ oÔ6ˆKàÐr2   c                 ó@  — |sg S t          j        d¦  «        }|                     |¦  «        }g }|D ]k}|                     d¦  «        r
|dd …         }|                     d¦  «        r
|d d…         }|                     dd¦  «        }|                     |¦  «         Œl|S )Nz"(?:[^"]|"")*"|\S+ú"r   rB  z"")r  ÚcompileÚfindallr  r  r•  r¦  )r(   rÁ  Útoken_rer®  Ú
new_tokensr$  s         r.   r@  z Worksheet._extract_filter_tokens  s¼   € ð ð 	ØˆIå”:Ð3Ñ4Ô4ˆØ×!Ò! *Ñ-Ô-ˆàˆ
àð 		%ð 		%ˆEØ×Ò Ñ$Ô$ð "Ø˜a˜b˜bœ	�à�~Š~˜cÑ"Ô"ð #Ø˜c˜r˜cœ
�à—M’M $¨Ñ,Ô,ˆEà×Ò˜eÑ$Ô$Ð$Ð$àÐr2   c                 óz  — t          |¦  «        dk    r“|d         }t          j        d|¦  «        rd}n.t          j        d|¦  «        rd}nt          d|›d|›d	�¦  «         |                      ||dd…         ¦  «        }|                      ||d
d…         ¦  «        }||gz   |z   S |                      ||¦  «        S )Nr  rZ   z(and|&&)r   z	(or|\|\|)r   úToken 'z3' is not a valid conditional in filter expression 'ú'r?  )rE  r  r  r   Ú_parse_filter_tokens)r(   rÁ  r®  ÚconditionalÚexpression_1Úexpression_2s         r.   rA  z"Worksheet._parse_filter_expression9  sá   € õ ˆv‰;Œ;˜!ÒÐð ! œ)ˆKåŒx˜
 KÑ0Ô0ð Ø��Ý”˜,¨Ñ4Ô4ð Ø��å�à3>°;°;À
À
À
ðLñô ð ð
  ×4Ò4°ZÀÈÈ!ÈÄÑMÔMˆLØ×4Ò4°ZÀÈÈ!ÈÄÑMÔMˆLà ; -Ñ/°,Ñ>Ð>à×,Ò,¨Z¸Ñ@Ô@Ð@r2   c                 ó®  — dddddddddddddœ}|                      |d         d ¦  «        }|d         }t          j        d|d	                              ¦   «         ¦  «        r®t	          |d         ¦  «        }|dk     s|d
k    rt          d||fz  ¦  «         |                     ¦   «         }|dk    r|dk    rt          d|›d|›d�¦  «         |d	                              ¦   «         dk    rd}nd}|d         dk    r|dz  }t          |¦  «        }|s$|d	         rt          d|d	         ›d|›d�¦  «         t          j        d|                     ¦   «         ¦  «        rZ|dk    r"|dk    rt          d|d         ›d|›d�¦  «         |                     ¦   «         }|dk    r	|dk    rd}n|dk    rd}d}nd}d}|dk    rt          j        d|¦  «        rd}||gS )NrŠ  r  r   rZ   r?  é   )rg  r  z=~Úeqrj  z!~Únerk  rq  rw  rn  rt  z
top|bottomr   iô  z?The value '%d' in expression '%s' must be in the range 1 to 500r  ú%z
The type 'z' in expression 'z' must be either 'items' or '%'r°  é   r}  rp  z0' is not a valid operator in filter expression 'rq  zblanks|nonblankszThe operator 'z/' is not valid in relation to Blanks/NonBlanks'rµ  r!  z[*?]é   )rË  r  r  r6  r&   r   r1  rc  )r(   rÁ  r®  Ú	operatorsÚoperatorr$  r^  s          r.   rr  zWorksheet._parse_filter_tokensW  sa  € ð
 ØØØØØØØØØØØð
ð 
ˆ	ð —=’= ¨¤¨DÑ1Ô1ˆØ�q”	ˆõ Œ8�L &¨¤)§/¢/Ñ"3Ô"3Ñ4Ô4ð 	Ý˜˜qœ	‘N”NˆEà�qŠyˆy˜E CšK˜KÝð4Ø7<¸jÐ6IñJñô ð ð
 —K’K‘M”MˆEà˜ÒÐ E¨S¢L LÝ�à8=¸¸¸z¸z¸zðKñô ð ð
 �aŒy�ŠÑ Ô  EÒ)Ð)Ø��à�à�aŒy˜CÒÐØ˜A‘�å˜‘J”JˆEàð 	˜F 1œIð 	ÝˆDà/4°Q¬x¨x¨x¸¸¸ðEñô ð õ Œ8Ð&¨¯ª©¬Ñ6Ô6ð 	 à˜1Š}ˆ} ¨Q¢ Ý�ð ˜a”y�y�y * * *ð.ñô ð ð —K’K‘M”MˆEð ˜Ò Ð Ø˜q’=�=Ø�Eøà˜q’=�=Ø �HØ$�E�Eà �HØ�Eð �qŠ=ˆ=�RœY v¨uÑ5Ô5ˆ=ØˆHà˜%Ð Ð r2   c                 óÂ   — d}|d d d…         D ]%}|dz	  dz  |dz  dz  z  }|t          |¦  «        z  }Œ&|dz	  dz  |dz  dz  z  }|t          |¦  «        z  }|dz  }d|z  S )Nr   rB  é   r   rX   iKÎ  z%X)ÚordrE  )r(   r³  ÚhashÚchars       r.   r´  zWorksheet._encode_password¯  s�   € ð
 ˆà˜T˜T˜r˜T”Nð 	ð 	ˆDØ˜R‘Z 4Ñ'¨T°Q©Y¸&Ñ,@ÑAˆDØ•C˜‘I”IÑˆDˆDà˜‘˜tÑ#¨°©°fÑ(<Ñ=ˆØ•�H‘”ÑˆØ�‰ˆà�d‰{Ðr2   c                 ór  — d}| j         |         \  }}}}}}}}}}}}}||z  }||z  }|d|z  z  }|d|	z  z  }|                      |||||||¦  «        }t          d|dz  z   ¦  «        }t          d|dz  z   ¦  «        }| j        sMt	          ¦   «         }d|_        || _        | j                             ddt          |¦  «        z   dz   d g¦  «         n| j        }| 	                    ¦   «         }||d	<   ||d
<   ||d<   ||d<   ||d<   d |d<   ||d<   d|d<   d|d<   ||d<   ||d<   |�||d<   |�r¦d }d}d}t          j        d|¦  «        r|                      |¦  «        }t          j        d|¦  «        r|                      |¦  «        }t          j        d|¦  «        r‡|                     dd¦  «        }|                      |¦  «        }|                     dd¦  «        }t          j        d|¦  «        st          j        d|¦  «        rd|z   }n|                     d d!¦  «        }t          j        d"|¦  «        r|                     d"d¦  «        }d }|��t          |¦  «        | j        k    rt!          d#|| j        fz  ¦  «         nO| j                             |¦  «        s| j                             |||g¦  «         |                      |¦  «        |d<   | j                             |
¦  «        s2| j                             d$d%t          |¦  «        z   d&z   |z   g¦  «         |                      |
¦  «        |d<   d S )'NrŠ  g      X@r$  é5%  r   ú/drawingú../drawings/drawingú.xmlr8  Ú
dimensionsr  r(  rÇ  ÚshaperÑ  r   Ú	rel_indexÚurl_rel_indexr†  rÈ  ú
/hyperlinkÚExternalr  ú^mailto:r‹  rY   rŽ  ú%23r�  r�  r‘  r�  rŒ  r‰  úaIgnoring URL '%s' with link and/or anchor > %d characters since it exceeds Excel's limit for URLSú/imageú../media/imageú.)ré   Ú_position_object_emusr&   rî   r   Úembeddedrá   r¦  r1  Ú_add_drawing_objectr  r  r–  r•  rE  r  r   rï   rË  ræ   Ú_get_drawing_rel_index)r(   rh   Úimage_idÚ
drawing_idr  r(  rg   rØ  Úx_dpiÚy_dpirÙ  Údrawing_typer%  rF   rH   rÁ  rÂ  rÃ  rÄ  r…  r†  rÑ  rÇ  rÈ  r‰  rî   Údrawing_objectÚtargetÚrel_typeÚtarget_modes                                 r.   Ú_prepare_imagezWorksheet._prepare_imageÀ  sð  € ð ˆð ŒK˜Ôñ	
ØØØØØØØØØØØØØð 	�ÑˆØ�'Ñˆð 	�˜‘ÑˆØ�$˜‘,Ñˆà×/Ò/Ø��h ¨%°¸ñ
ô 
ˆ
õ �C˜5 4™<Ñ(Ñ)Ô)ˆÝ�S˜F T™MÑ*Ñ+Ô+ˆð Œ|ð 		#Ý‘i”iˆGØ ˆGÔØ"ˆDŒLàÔ'×.Ò.ØÐ2µS¸±_´_ÑDÀvÑMÈtÐTñô ð ð ð ”lˆGà ×4Ò4Ñ6Ô6ˆØ!-ˆ�vÑØ'1ˆ�|Ñ$Ø"'ˆ�wÑØ#)ˆ�xÑ Ø(,ˆ�}Ñ%Ø"&ˆ�wÑØ#)ˆ�xÑ Ø&'ˆ�{Ñ#Ø*+ˆ�Ñ'Ø #ˆ�uÑØ'1ˆ�|Ñ$àÐ"Ø,7ˆN˜=Ñ)àñ %	WØˆFØ#ˆHØ$ˆKåŒxÐ)¨3Ñ/Ô/ð /Ø×)Ò)¨#Ñ.Ô.�åŒx˜
 CÑ(Ô(ð /Ø×)Ò)¨#Ñ.Ô.�åŒx˜ SÑ)Ô)ð 	7ØŸš [°"Ñ5Ô5�Ø×)Ò)¨&Ñ1Ô1�àŸš¨¨UÑ3Ô3�å”8˜F FÑ+Ô+ð 7­r¬x¸¸vÑ/FÔ/Fð 7Ø'¨&Ñ0�F�Fà#Ÿ^š^¨D°#Ñ6Ô6�FåŒx˜ SÑ)Ô)ð #ØŸš [°#Ñ6Ô6�Ø"�àÐ!Ý�v‘;”; Ô!4Ò4Ð4ÝðMà Ô 3Ð4ñ5ñô ð ð ð  Ô,×0Ò0°Ñ5Ô5ð SØÔ*×1Ò1°8¸VÀ[Ð2QÑRÔRÐRà6:×6QÒ6QÐRUÑ6VÔ6V�N ?Ñ3àÔ ×$Ò$ VÑ,Ô,ð 	ØÔ×%Ò%ØÐ+­c°(©m¬mÑ;¸cÑAÀJÑNÐOñô ð ð '+×&AÒ&AÀ&Ñ&IÔ&Iˆ�{Ñ#Ð#Ð#r2   c                 óð  — d}| j         |         \  }}}}}}	}
}}}}|                     d| j        dz  ¦  «        }|                     d| j        dz  ¦  «        }||z  }||	z  }|                      |||||||¦  «        }t          d|dz  z   ¦  «        }t          d|dz  z   ¦  «        }| j        sMt          ¦   «         }d|_        || _        | j	         
                    dd	t          |¦  «        z   d
z   d g¦  «         n| j        }t          dd|¦  «        }|
|_        |                     ¦   «         }||d<   ||d<   ||d<   ||d<   ||d<   ||d<   ||d<   d|d<   d|d<   |                     d¦  «        |d<   ||d<   |                     dd ¦  «        }|�rcd }d}d}t          j        d|¦  «        r|                      |¦  «        }t          j        d|¦  «        r|                      |¦  «        }t          j        d|¦  «        rA|                     dd¦  «        }|                      |¦  «        }|                     dd¦  «        }t          j        d |¦  «        r|                     d d¦  «        }d }|�†t'          |¦  «        | j        k    rt+          d!|| j        fz  ¦  «         d S | j                             |¦  «        s| j         
                    |||g¦  «         |                      |¦  «        |d<   d S d S d S )"NrZ   r  r(  rw  r$  r…  r   r†  r‡  rˆ  ÚrectÚTextBoxr8  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¦  r1  r   rÞ  r—  r  r  r–  r•  rE  r  r   rï   ræ   r˜  )r(   rh   rš  r�  r%  rF   rÁ  rÂ  rÃ  rÄ  rÞ  rÑ  rÐ  rÇ  rÈ  r  r(  r‰  rî   rŠ  rž  r…  rŸ  r   r¡  s                            r.   Ú_prepare_shapezWorksheet._prepare_shape7  s�  € àˆð ŒK˜Ôñ	
ØØØØØØØØØØØð —’˜G TÔ%<¸qÑ%@ÑAÔAˆØ—’˜X tÔ'>ÀÑ'BÑCÔCˆà�ÑˆØ�'Ñˆà×/Ò/Ø��h ¨%°¸ñ
ô 
ˆ
õ
 �C˜5 4™<Ñ(Ñ)Ô)ˆÝ�S˜F T™MÑ*Ñ+Ô+ˆð Œ|ð 		#Ý‘i”iˆGØ ˆGÔØ"ˆDŒLàÔ'×.Ò.ØÐ2µS¸±_´_ÑDÀvÑMÈtÐTñô ð ð ð ”lˆGå�f˜i¨Ñ1Ô1ˆØˆŒ
à ×4Ò4Ñ6Ô6ˆØ!-ˆ�vÑØ'1ˆ�|Ñ$Ø"'ˆ�wÑØ#)ˆ�xÑ Ø(3ˆ�}Ñ%Ø"'ˆ�wÑØ#)ˆ�xÑ Ø&'ˆ�{Ñ#Ø*+ˆ�Ñ'Ø '§¢¨EÑ 2Ô 2ˆ�uÑØ'1ˆ�|Ñ$à�kŠk˜% Ñ&Ô&ˆØñ  	WØˆFØ#ˆHØ$ˆKåŒxÐ)¨3Ñ/Ô/ð /Ø×)Ò)¨#Ñ.Ô.�åŒx˜
 CÑ(Ô(ð /Ø×)Ò)¨#Ñ.Ô.�åŒx˜ SÑ)Ô)ð 4ØŸš [°*Ñ=Ô=�Ø×)Ò)¨&Ñ1Ô1�àŸš¨¨UÑ3Ô3�åŒx˜ SÑ)Ô)ð #ØŸš [°#Ñ6Ô6�Ø"�àÐ!Ý�v‘;”; Ô!4Ò4Ð4ÝðMà Ô 3Ð4ñ5ñô ð ð ð ð  Ô,×0Ò0°Ñ5Ô5ð SØÔ*×1Ò1°8¸VÀ[Ð2QÑRÔRÐRà6:×6QÒ6QÐRUÑ6VÔ6V�N ?Ñ3Ð3Ð3ðA 	Wð  	Wð* "Ð!r2   c
           	      ó6  — t          j        dd|¦  «        }| j                             |	¦  «        s2| j                             ddt          |¦  «        z   dz   |z   g¦  «         |                      |	¦  «        }
| j                             |||||||
g¦  «         d S )Nz\..*$rY   r’  r“  r”  )	r  rs  rñ   rË  rç   r¦  r1  Ú_get_vml_drawing_rel_indexr“   )r(   r™  r  r(  rg   rØ  Úpositionr›  rœ  rÙ  Úref_ids              r.   Ú_prepare_header_imagezWorksheet._prepare_header_image–  sµ   € õ Œv�h  DÑ)Ô)ˆàÔ$×(Ò(¨Ñ0Ô0ð 	ØÔ"×)Ò)ØÐ+­c°(©m¬mÑ;¸cÑAÀJÑNÐOñô ð ð ×0Ò0°Ñ8Ô8ˆàÔ×&Ò&Ø�F˜D (¨E°5¸&ÐAñ	
ô 	
ð 	
ð 	
ð 	
r2   c                 ój   — | j                              ddt          |¦  «        z   dz   |z   g¦  «         d S )Nr’  r“  r”  )rå   r¦  r1  )r(   r™  rØ  s      r.   Ú_prepare_backgroundzWorksheet._prepare_background©  sE   € àÔ&×-Ò-ØÐ'­#¨h©-¬-Ñ7¸#Ñ=À
ÑJÐKñ	
ô 	
ð 	
ð 	
ð 	
r2   c           
      óÐ  — d}| j         |         \
  }}}}}	}
}}}}|dz
  |_        t          d|j        |
z  z   ¦  «        }t          d|j        |z  z   ¦  «        }|                      ||||	|||¦  «        }|j        }| j        sLt          ¦   «         }d|_	        || _        | j
                             ddt          |¦  «        z   dz   g¦  «         n| j        }|                     ¦   «         }||d<   ||d<   ||d<   ||d	<   ||d
<   d |d<   ||d<   |                      ¦   «         |d<   d|d<   d |d<   ||d<   ||d<   | j                             ddt          |¦  «        z   dz   g¦  «         d S )Nr   r$  r†  r‡  rˆ  r8  r‰  r  r(  rg   rŠ  rÑ  r‹  r   rŒ  r†  rÇ  rÈ  z/chartz../charts/chart)rè   r%  r&   r  r(  r•  Ú
chart_namerî   r   r–  rá   r¦  r1  r—  r˜  ræ   )r(   rh   Úchart_idrš  r�  r%  rF   rã  rÁ  rÂ  rÃ  rÄ  rÑ  rÇ  rÈ  r  r(  r‰  rg   rî   rž  s                        r.   Ú_prepare_chartzWorksheet._prepare_chart¯  sÞ  € àˆð ŒK˜Ôñ	
ØØØØØØØØØØð ˜a‘<ˆŒõ �C˜5œ;¨Ñ0Ñ1Ñ2Ô2ˆÝ�S˜EœL¨7Ñ2Ñ3Ñ4Ô4ˆà×/Ò/Ø��h ¨%°¸ñ
ô 
ˆ
ð
 Ôˆð Œ|ð 		#Ý‘i”iˆGØ ˆGÔØ"ˆDŒLàÔ'×.Ò.ØÐ2µS¸±_´_ÑDÀvÑMÐNñô ð ð ð ”lˆGà ×4Ò4Ñ6Ô6ˆØ!-ˆ�vÑØ'1ˆ�|Ñ$Ø"'ˆ�wÑØ#)ˆ�xÑ Ø!%ˆ�vÑØ"&ˆ�wÑØ#)ˆ�xÑ Ø&*×&AÒ&AÑ&CÔ&Cˆ�{Ñ#Ø*+ˆ�Ñ'Ø $ˆ�uÑØ(3ˆ�}Ñ%Ø'1ˆ�|Ñ$àÔ×!Ò!ØÐ(­3¨x©=¬=Ñ8¸6ÑAÐBñ	
ô 	
ð 	
ð 	
ð 	
r2   c           
      ób  — |                       |||||||¦  «        \
  }}}}}}	}
}}}t          dd|z  z   ¦  «        }t          dd|z  z   ¦  «        }t          dd|
z  z   ¦  «        }
t          dd|z  z   ¦  «        }t          dd|z  z   ¦  «        }t          dd|z  z   ¦  «        }||||||	|
|||f
S )Nr$  r…  )Ú_position_object_pixelsr&   )r(   Ú	col_startÚ	row_startÚx1Úy1r  r(  rÑ  Úcol_endÚrow_endÚx2Úy2Úx_absÚy_abss                 r.   r•  zWorksheet._position_object_emusë  sæ   € ð( ×(Ò(Ø�y " b¨%°¸ñ
ô 
ñ	
ØØØØØØØØØØõ ��t˜b‘y‘Ñ!Ô!ˆÝ��t˜b‘y‘Ñ!Ô!ˆÝ��t˜b‘y‘Ñ!Ô!ˆÝ��t˜b‘y‘Ñ!Ô!ˆÝ�C˜$ ™,Ñ&Ñ'Ô'ˆÝ�C˜$ ™,Ñ&Ñ'Ô'ˆà˜9 b¨"¨g°wÀÀBÈÈuÐUÐUr2   c           
      óJ  — d}d}	|dk     r2|dk    r,||                       |dz
  ¦  «        z  }|dz  }|dk     r|dk    °,|dk     r2|dk    r,||                      |dz
  ¦  «        z  }|dz  }|dk     r|dk    °,|dk     rd}|dk     rd}| j        r+t          |¦  «        D ]}
||                       |
¦  «        z  }Œn|| j        |z  z  }||z  }| j        r+t          |¦  «        D ]}|	|                      |¦  «        z  }	Œn|	| j        |z  z  }	|	|z  }	||                       ||¦  «        k    r7||                       |¦  «        z  }|dz  }||                       ||¦  «        k    °7||                      ||¦  «        k    r7||                      |¦  «        z  }|dz  }||                      ||¦  «        k    °7|}|}|                       ||¦  «        dk    r||z   }|                      ||¦  «        dk    r||z   }||                       ||¦  «        k    r8||                       ||¦  «        z  }|dz  }||                       ||¦  «        k    °8||                      ||¦  «        k    r8||                      ||¦  «        z  }|dz  }||                      ||¦  «        k    °8|}|}||||||||||	g
S r%   )Ú	_size_colÚ	_size_rowrÚ   rw  r¾   rÛ   r¼   )r(   r´  rµ  r¶  r·  r  r(  rÑ  r¼  r½  r>  Úrow_idr¸  r¹  rº  r»  s                   r.   r³  z!Worksheet._position_object_pixels/  sK  € ð( ˆØˆð �1Šfˆf˜ Qš˜Ø�$—.’. ¨Q¡Ñ/Ô/Ñ/ˆBØ˜‰NˆIð �1Šfˆf˜ Qš˜ð
 �1Šfˆf˜ Qš˜Ø�$—.’. ¨Q¡Ñ/Ô/Ñ/ˆBØ˜‰NˆIð �1Šfˆf˜ Qš˜ð
 �Š6ˆ6ØˆBà�Š6ˆ6ØˆBð Ô ð 	9Ý 	Ñ*Ô*ð 0ð 0�Ø˜Ÿš¨Ñ/Ô/Ñ/��ð0ð �TÔ,¨yÑ8Ñ8ˆEà�‰ˆð Ô ð 	9Ý 	Ñ*Ô*ð 0ð 0�Ø˜Ÿš¨Ñ/Ô/Ñ/��ð0ð �TÔ,¨yÑ8Ñ8ˆEà�‰ˆð �D—N’N 9¨fÑ5Ô5Ò5Ð5Ø�$—.’. Ñ+Ô+Ñ+ˆBØ˜‰NˆIð �D—N’N 9¨fÑ5Ô5Ò5Ð5ð
 �D—N’N 9¨fÑ5Ô5Ò5Ð5Ø�$—.’. Ñ+Ô+Ñ+ˆBØ˜‰NˆIð �D—N’N 9¨fÑ5Ô5Ò5Ð5ð
 ˆØˆð �>Š>˜) VÑ,Ô,¨qÒ0Ð0Ø˜B‘JˆEØ�>Š>˜) VÑ,Ô,¨qÒ0Ð0Ø˜b‘[ˆFð �t—~’~ g¨vÑ6Ô6Ò6Ð6Ø�T—^’^ G¨VÑ4Ô4Ñ4ˆEØ�q‰LˆGð �t—~’~ g¨vÑ6Ô6Ò6Ð6ð
 ˜Ÿš w°Ñ7Ô7Ò7Ð7Ø�d—n’n W¨fÑ5Ô5Ñ5ˆFØ�q‰LˆGð ˜Ÿš w°Ñ7Ô7Ò7Ð7ð
 ˆØˆà˜9 b¨"¨g°wÀÀBÈÈuÐUÐUr2   c                 ó  — d}d}d}|| j         v rr| j         |         d         }| j         |         d         }|€| j        }|r	|dk    rd}n?|dk     rt          |||z   z  dz   ¦  «        }n t          ||z  dz   ¦  «        |z   }n| j        }|S )Nr  r  r   rŠ  r?  r   r$  )ry   r½   r&   r¾   )r(   rF   rÑ  Úmax_digit_widthÚpaddingÚpixelsr  r{   s           r.   r¿  zWorksheet._size_col�  s½   € ð ˆØˆØˆð �$”-ÐÐØ”M #Ô& qÔ)ˆEØ”] 3Ô'¨Ô*ˆFàˆ}ØÔ.�ð ð F˜& Aš+˜+Ø��Ø˜’�Ý˜U o¸Ñ&?Ñ@À3ÑFÑGÔG��å˜U _Ñ4°sÑ:Ñ;Ô;¸gÑE��àÔ,ˆFàˆr2   c                 óÒ   — d}|| j         v rD| j         |         d         }| j         |         d         }|r	|dk    rd}n*t          d|z  ¦  «        }nt          d| j        z  ¦  «        }|S )Nr   r   r?  gUUUUUUõ?)rÙ   r&   r»   )r(   r%  rÑ  rÅ  r(  r{   s         r.   rÀ  zWorksheet._size_row­  s   € ð
 ˆð �$”.Ð Ð Ø”^ CÔ(¨Ô+ˆFØ”^ CÔ(¨Ô+ˆFàð 1˜& Aš+˜+Ø��å˜Y¨Ñ/Ñ0Ô0��å˜ TÔ%<Ñ<Ñ=Ô=ˆFàˆr2   c                 ó<   — d}d}|dk    r	|||z   z  }n||z
  |z  }|S )Ng      @g      @é   rD   )r(   rÅ  rÃ  rÄ  r  s        r.   r  zWorksheet._pixels_to_widthÂ  s:   € àˆØˆà�RŠ<ˆ<Ø˜o°Ñ7Ñ8ˆEˆEà˜gÑ%¨Ñ8ˆEàˆr2   c                 ó   — d|z  S )Nr\   rD   )r(   rÅ  s     r.   r,  zWorksheet._pixels_to_heightÎ  s   € à�f‰}Ðr2   c                 ó
  — d}d}d}d dd d d d ||d dd ddddd	œ}|                      ¦   «         D ]}	||	         ||	<   Œ|d
         s||d
<   |d         s||d<   t          |d         ¦  «                             ¦   «         |d<   |d                              ddd¦  «        |d<   |d         �"t	          |d         ¦  «        \  }
}|
|d<   ||d<   | j        }| j        }|d         €J|dk    rd|d<   n>||dz
  k    r	|dz
  |d<   n,||dz
  k    r	|dz
  |d<   n||dz
  k    r	|dz
  |d<   n|dz
  |d<   |d         €>|dk    rd|d<   n2||dz
  k    rd|d<   n#||dz
  k    rd|d<   n||dz
  k    rd|d<   nd|d<   |d         €>||dz
  k    r	|dz
  |d<   n,||dz
  k    r	|dz
  |d<   n||dz
  k    r	|dz
  |d<   n|dz   |d<   |d         €2||dz
  k    rd|d<   n#||dz
  k    rd|d<   n||dz
  k    rd|d<   nd|d<   |d         r|d
         |d         z  |d
<   |d         r|d         |d         z  |d<   t          d |d
         z   ¦  «        |d
<   t          d |d         z   ¦  «        |d<   |                      |d         |d         |d         |d         |d
         |d         |¦  «        }| 	                    |d
         ¦  «         | 	                    |d         ¦  «         ||||d!         |d"         |d         |d#         |d$         |d%         g	|gz   S )&Né€   éJ   r   z#ffffe1r   ÚTahomaé   rŠ  )rð  r   r  Ú	start_colÚ	start_rowrˆ  r  r(  rÁ  rÃ  rÂ  rÄ  Ú	font_nameÚ	font_sizeÚfont_familyr  r(  r   ÚffrŽ  r  rÐ  rÏ  rZ   r  rw  r  rÂ  r  r€  r—  r?  rÁ  é1   r_   rÃ  rÄ  r$  rð  rˆ  rÑ  rÒ  rÓ  )
r‚  r   r6  r•  r   rr   rs   r&   r³  r¦  )r(   r%  rF   r=  rÐ  Údefault_widthÚdefault_heightrÑ  Úparamsr  rÐ  rÏ  Úrow_maxÚcol_maxÚverticess                  r.   Ú_comment_paramszWorksheet._comment_paramsÒ  sn  € ð ˆØˆØˆð ØØØØØØ"Ø$ØØØØØ!ØØð
ð 
ˆð( —<’<‘>”>ð 	'ð 	'ˆCØ! #œ,ˆF�3‰KˆKð �gŒð 	,Ø+ˆF�7‰OØ�hÔð 	.Ø-ˆF�8Ñõ # 6¨'¤?Ñ3Ô3×9Ò9Ñ;Ô;ˆˆw‰ð ! œ/×1Ò1°$¸¸QÑ?Ô?ˆˆw‰ð �,ÔÐ+Ý%6°v¸lÔ7KÑ%LÔ%LÑ"ˆY˜	Ø"+ˆF�;ÑØ"+ˆF�;Ñð
 ”/ˆØ”/ˆà�+ÔÐ&Ø�aŠxˆxØ&'��{Ñ#Ð#Ø˜ !™Ò#Ð#Ø&-°¡k��{Ñ#Ð#Ø˜ !™Ò#Ð#Ø&-°¡k��{Ñ#Ð#Ø˜ !™Ò#Ð#Ø&-°¡k��{Ñ#Ð#à&)¨A¡g��{Ñ#à�*ÔÐ%Ø�aŠxˆxØ%&��zÑ"Ð"Ø˜ !™Ò#Ð#Ø%'��zÑ"Ð"Ø˜ !™Ò#Ð#Ø%'��zÑ"Ð"Ø˜ !™Ò#Ð#Ø%'��zÑ"Ð"à%'��zÑ"à�+ÔÐ&Ø�g ‘kÒ!Ð!Ø&-°¡k��{Ñ#Ð#Ø˜ !™Ò#Ð#Ø&-°¡k��{Ñ#Ð#Ø˜ !™Ò#Ð#Ø&-°¡k��{Ñ#Ð#à&)¨A¡g��{Ñ#à�*ÔÐ%Ø�g ‘kÒ!Ð!Ø%'��zÑ"Ð"Ø˜ !™Ò#Ð#Ø%'��zÑ"Ð"Ø˜ !™Ò#Ð#Ø%'��zÑ"Ð"à%'��zÑ"ð �)Ôð 	BØ$ Wœo°°yÔ0AÑAˆF�7‰Oà�)Ôð 	DØ% hÔ/°&¸Ô2CÑCˆF�8Ñõ ˜c F¨7¤OÑ3Ñ4Ô4ˆˆw‰Ý˜s V¨HÔ%5Ñ5Ñ6Ô6ˆˆxÑð ×/Ò/Ø�;ÔØ�;ÔØ�:ÔØ�:ÔØ�7ŒOØ�8ÔØñ
ô 
ˆð 	�Š˜˜wœÑ(Ô(Ð(Ø�Š˜˜xÔ(Ñ)Ô)Ð)ð ØØØ�8ÔØ�9ÔØ�7ŒOØ�;ÔØ�;ÔØ�=Ô!ð

ð ˆJñ
ð 
	r2   c           	      óB  — | j         }| j        }d}dt          | j        ¦  «        z   }||i dœ}i }	|                     ¦   «         D ]}
||
         |	|
<   Œ|	                     d¦  «        }|€d|z  }||d         d<   |	                     d¦  «        rd|	d         z   |d<   nd	|z  |d<   |	                     d
¦  «        |d
<   |	                     d|¦  «        |	d<   |	                     d|¦  «        |	d<   |	                     dd¦  «        |	d<   |	                     dd¦  «        |	d<   |	d         |	                     dd¦  «        z  |	d<   |	d         |	                     dd¦  «        z  |	d<   t          d|	d         z   ¦  «        |	d<   t          d|	d         z   ¦  «        |	d<   ||	d<   ||	d<   |                      |	d         |	d         |	d         |	d         |	d         |	d         |¦  «        }|                     |	d         ¦  «         |                     |	d         ¦  «         ||d<   |S )Nr   r   )r%  rF   ÚfontÚcaptionz	Button %drÞ  Úmacroz[0]!z[0]!Button%d_ClickrÇ  r  r(  rÁ  rÂ  rÃ  rÄ  r$  rÐ  rÏ  rÛ  )	r¼   r¾   rE  rÐ   r‚  rË  r&   r³  r¦  )r(   r%  rF   rÐ  r×  rÖ  rÑ  Úbutton_numberr¾  rØ  r  rß  rÛ  s                r.   r½  zWorksheet._button_params[  sg  € ð Ô0ˆØÔ/ˆØˆà�C Ô 1Ñ2Ô2Ñ2ˆØ S°"Ð5Ð5ˆØˆð —<’<‘>”>ð 	'ð 	'ˆCØ! #œ,ˆF�3‰KˆKð —*’*˜YÑ'Ô'ˆð ˆ?Ø! MÑ1ˆGà$+ˆˆvŒ�yÑ!ð �:Š:�gÑÔð 	CØ$ v¨g¤Ñ6ˆF�7‰OˆOà2°]ÑBˆF�7‰Oð !'§
¢
¨=Ñ 9Ô 9ˆˆ}Ñð !Ÿ*š* W¨mÑ<Ô<ˆˆw‰Ø!Ÿ:š: h°Ñ?Ô?ˆˆxÑð $ŸZšZ¨
°AÑ6Ô6ˆˆzÑØ#ŸZšZ¨
°AÑ6Ô6ˆˆzÑð ! œ/¨F¯JªJ°yÀ!Ñ,DÔ,DÑDˆˆw‰Ø! (Ô+¨f¯jªj¸ÀAÑ.FÔ.FÑFˆˆxÑõ ˜c F¨7¤OÑ3Ñ4Ô4ˆˆw‰Ý˜s V¨HÔ%5Ñ5Ñ6Ô6ˆˆxÑà!ˆˆ{ÑØ!ˆˆ{Ñð ×/Ò/Ø�;ÔØ�;ÔØ�:ÔØ�:ÔØ�7ŒOØ�8ÔØñ
ô 
ˆð 	�Š˜˜wœÑ(Ô(Ð(Ø�Š˜˜xÔ(Ñ)Ô)Ð)à%ˆˆzÑàˆr2   c                 ó°  — g }t          | j                             ¦   «         ¦  «        }|D ]ð}t          | j        |                              ¦   «         ¦  «        }|D ]¿}	| j        |         |	         }
 | j        |
Ž }|| j        |         |	<   | j        r/| j        |         |	         d         €d| j        |         |	         d<   | j        |         |	         d         €| j        | j        |         |	         d<   |                     | j        |         |	         ¦  «         ŒÀŒñ| j                             ddt          |¦  «        z   dz   g¦  «         | j	        r6|| _
        | j                             ddt          |¦  «        z   d	z   g¦  «         t          |¦  «        }|}t          t          |d
z  ¦  «        ¦  «        D ]}d|||z   dz   fz  }Œ|| _        || _        |S )Nr?  r   rZ   ú/vmlDrawingú../drawings/vmlDrawingú.vmlz	/commentsz../commentsrˆ  rd   z%s,%d)r  rË   r‚  rÜ  rÎ   rÍ   r¦  rã   r1  rÊ   rÌ   râ   rE  rw  r&   r  rÏ   )r(   r  rÏ   Úvml_drawing_idÚ
comment_idrË   Úrow_numsr%  Úcol_numsrF   Úuser_optionsrØ  r2  Ústart_data_idrF  s                  r.   Ú_prepare_vml_objectszWorksheet._prepare_vml_objects¤  s  € ð ˆõ ˜$œ-×,Ò,Ñ.Ô.Ñ/Ô/ˆàð 	9ð 	9ˆCÝ˜dœm¨CÔ0×5Ò5Ñ7Ô7Ñ8Ô8ˆHàð 9ð 9�Ø#œ}¨SÔ1°#Ô6�Ø-˜Ô-¨|Ð<�Ø*0�”˜cÔ" 3Ñ'ð Ô(ð 7Ø”} SÔ)¨#Ô.¨qÔ1Ð9Ø56˜œ cÔ*¨3Ô/°Ñ2ð ”= Ô% cÔ*¨1Ô-Ð5Ø15Ô1E�D”M #Ô& sÔ+¨AÑ.à—’ ¤¨cÔ 2°3Ô 7Ñ8Ô8Ð8Ð8ð9ð  	Ô×&Ò&ØÐ4µs¸>Ñ7JÔ7JÑJÈVÑSÐTñ	
ô 	
ð 	
ð Ôð 	Ø!)ˆDÔàÔ'×.Ò.Ø˜m­c°*©o¬oÑ=ÀÑFÐGñô ð õ �H‘”ˆØ#ˆõ •s˜5 4™<Ñ(Ô(Ñ)Ô)ð 	Ið 	IˆAØ! [°-À!Ñ2CÀaÑ2GÐ$HÑHˆKˆKà&ˆÔØ(ˆÔàˆr2   c                 ór   — || _         | j                             ddt          |¦  «        z   dz   g¦  «         d S )Nrã  rä  rå  )rÑ   rã   r¦  r1  )r(   rÑ   ræ  s      r.   Ú_prepare_header_vml_objectsz%Worksheet._prepare_header_vml_objects×  sL   € ð +ˆÔàÔ×&Ò&ØÐ4µs¸>Ñ7JÔ7JÑJÈVÑSÐTñ	
ô 	
ð 	
ð 	
ð 	
r2   c                 óV  — | j         D ] }||d<   |                     d¦  «        €dt          |¦  «        z   |d<   |d                              ¦   «         }||v rt	          d|d         z  ¦  «        ‚d||<   | j                             ddt          |¦  «        z   dz   g¦  «         |d	z  }Œ¡d S )
Nr%  rg   ÚTablez2Duplicate name '%s' used in worksheet.add_table().Tz/tablez../tables/tablerˆ  r   )rê   rË  r1  r6  r!   rä   r¦  )r(   Útable_idÚseenrÃ   rg   s        r.   Ú_prepare_tableszWorksheet._prepare_tablesà  sÙ   € à”[ð 	ð 	ˆEØ"ˆE�$‰Kà�yŠy˜Ñ Ô Ð(à '­#¨h©-¬-Ñ 7��f‘ð ˜”=×&Ò&Ñ(Ô(ˆDà�tˆ|ˆ|Ý(ØHÈ5ÐQWÌ=ÑXñô ð ð "��T‘
ð Ô%×,Ò,ØÐ,­s°8©}¬}Ñ<¸vÑEÐFñô ð ð ˜‰MˆHˆHð+	ð 	r2   c           	      ó   — d}|                      dd¦  «        }|                      dd¦  «        }|                      dd¦  «        }|                      dd	¦  «        }d
ddddddddœ}||v r||         }d|›d|›d�}nt          d|z  ¦  «         |S )NrY   rq  z''rŽ  z'#ú]z']ú[z'[ée   éf   ég   éh   éi   ék   ém   én   r1  z	SUBTOTAL(z,[z])z(Unsupported function '%s' in add_table())r•  r   )r(   rD  Úcol_namer]  rE  Úfunc_nums         r.   r8  z$Worksheet._table_function_to_formulaù  sÉ   € àˆð ×#Ò# C¨Ñ.Ô.ˆØ×#Ò# C¨Ñ.Ô.ˆØ×#Ò# C¨Ñ.Ô.ˆØ×#Ò# C¨Ñ.Ô.ˆð ØØØØØØØð	
ð 	
ˆ	ð �yÐ Ð Ø  Ô*ˆHˆHØ-5¨X¨X°x°x°xÐ@ˆGˆGåÐ;¸hÑFÑGÔGÐGàˆr2   c                 óF   — ||vrd S dt          ||         ¦  «        i||<   d S )NÚrgbr   )r(   rt  rÐ  Ú
user_colors       r.   rs  zWorksheet._set_spark_color  s4   € à˜WÐ$Ð$ØˆFà!&­°¸Ô1DÑ(EÔ(EÐ Fˆ	�*ÑÐÐr2   c                 ó|  — | j         rdS g }t          ||dz   ¦  «        D �]}|| j        vr|                     d ¦  «         Œ"t          ||dz   ¦  «        D ]å}|| j        |         v r¿| j        |         |         }|j        j        }	|	dv r|                     d|j        z  ¦  «         ŒR|	dk    r7|j        }
| j         	                    |
¦  «        }|                     |¦  «         Œ�|	dv r!|j
        }|€d}|                     |¦  «         Œ´|	dk    r|                     d	¦  «         ŒÐ|                     d ¦  «         Œæ�Œ|S )
NrD   r   ©rL   rQ   r|  rK   )rP   rR   r   rM   rY   )rk   rw  rÃ   r¦  r  r  rM  r=  ri   Ú_get_shared_stringr^  )r(   rµ  r´  r¹  r¸  r»  r  r  r  r  rh   r=  r^  s                r.   Ú_get_range_datazWorksheet._get_range_data  sy  € ð Ôð 	Ø�2àˆõ ˜Y¨°!©Ñ4Ô4ð %	&ñ %	&ˆGà˜dœjÐ(Ð(Ø—’˜DÑ!Ô!Ð!Øå  ¨G°a©KÑ8Ô8ð &ð &�Ø˜dœj¨Ô1Ð1Ð1Øœ: gÔ.¨wÔ7�Dà $¤Ô 7�Ià Ð$:Ð:Ð:àŸš G¨d¬kÑ$9Ñ:Ô:Ð:Ð:à" hÒ.Ð.à $¤˜Ø!%¤×!BÒ!BÀ5Ñ!IÔ!I˜àŸš FÑ+Ô+Ð+Ð+à"Ð&AÐAÐAà $¤
˜à ˜=Ø$%˜EàŸš EÑ*Ô*Ð*Ð*à" gÒ-Ð-àŸš B™œ˜øð —K’K Ñ%Ô%Ð%Ð%ñ?&ðB ˆr2   c                 óD   — d„ |D ¦   «         }d                      |¦  «        S )Nc                 óZ   — g | ](}t          |t          ¦  «        st          |¦  «        n|‘Œ)S rD   )r7  r1  )rE   Úitems     r.   rG   z'Worksheet._csv_join.<locals>.<listcomp>V  s1   € ÐTÐTÐTÀd¥*¨Tµ3Ñ"7Ô"7ÐA•�T‘”�¸TÐTÐTÐTr2   ú,)Újoin)r(   r  s     r.   rƒ  zWorksheet._csv_joinR  s(   € ð UÐTÈeÐTÑTÔTˆà�xŠx˜‰ŒÐr2   c                 ó  — t          j        d|¦  «        r|S |                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dd	¦  «        }|                     d
d¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }|S )Nz%[0-9a-fA-F]{2}rz  z%25rj  z%22r!  z%20rq  z%3crn  z%3erö  z%5brõ  z%5dú^z%5eú`z%60ra  z%7br  z%7d)r  rc  r•  )r(   r…  s     r.   r–  zWorksheet._escape_urlZ  sô   € åŒ9Ð&¨Ñ,Ô,ð 	ØˆJð �kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆØ�kŠk˜#˜uÑ%Ô%ˆàˆ
r2   c                 óÎ   — |€| xj         dz  c_         | j         S | j                             |¦  «        r| j        |         S | xj         dz  c_         | j         | j        |<   | j         S ©Nr   )rð   rï   rË  ©r(   rŸ  s     r.   r˜  z Worksheet._get_drawing_rel_indexn  sx   € àˆ>ØÐ Ô  AÑ%Ð Ô ØÔ'Ð'ØÔ×"Ò" 6Ñ*Ô*ð 	(ØÔ$ VÔ,Ð,àÐ Ô  AÑ%Ð Ô Ø(,Ô(<ˆDÔ˜fÑ%ØÔ'Ð'r2   c                 óœ   — | j                              |¦  «        r| j         |         S | xj        dz  c_        | j        | j         |<   | j        S r  )rñ   rË  rò   r  s     r.   r¨  z$Worksheet._get_vml_drawing_rel_indexz  sV   € àÔ ×$Ò$ VÑ,Ô,ð 	,ØÔ(¨Ô0Ð0àÐ$Ô$¨Ñ)Ð$Ô$Ø,0Ô,DˆDÔ! &Ñ)ØÔ+Ð+r2   c                 ó–  — | j         }|                     d¦  «         |j        r|                     d¦  «         |j        r|                     d¦  «         |j        r|                     d¦  «         |j        r|                     d¦  «         |j        r|                     d¦  «         |j        r|  	                    |j        ¦  «         |j
        dk    r|                      d¦  «         |j
        d	k    r|                      d
¦  «         |                     dd|j        fg¦  «         |j        dk    rn”|j        r|                      d|j        ¦  «         nq|j        r|                      d|j        ¦  «         nN|j        r1|                      |j        ¦  «        }|                      d|¦  «         n|                      dd¦  «         |                     dd|j        fg¦  «         |                     dd|j        fg¦  «         |j        dk    r%|j        s|                     dd|j        fg¦  «         |                     d¦  «         d S )NÚrPrÚbrF  ÚstrikeÚoutlineÚshadowr   ÚsuperscriptrŠ  Ú	subscriptÚszÚvalrB  ÚthemeÚindexedr  ÚrFontÚfamilyÚCalibriÚscheme)rõ   r§  ÚboldÚ_xml_empty_tagÚitalicÚfont_strikeoutÚfont_outlineÚfont_shadowÚ	underlineÚ_write_underlineÚfont_scriptÚ_write_vert_alignrÒ  r  Ú_write_colorÚcolor_indexedÚ
font_colorÚ_get_palette_colorÚ_write_rstring_colorrÑ  rÓ  Ú	hyperlinkÚfont_schemerª  )r(   Ú	xf_formatÚ
xml_writerr   s       r.   r¨  zWorksheet._write_font‰  s‰  € à”\ˆ
à×!Ò! %Ñ(Ô(Ð(ð Œ>ð 	+Ø×%Ò% cÑ*Ô*Ð*ØÔð 	+Ø×%Ò% cÑ*Ô*Ð*ØÔ#ð 	0Ø×%Ò% hÑ/Ô/Ð/ØÔ!ð 	1Ø×%Ò% iÑ0Ô0Ð0ØÔ ð 	0Ø×%Ò% hÑ/Ô/Ð/ð Ôð 	7Ø×!Ò! )Ô"5Ñ6Ô6Ð6ð Ô  AÒ%Ð%Ø×"Ò" =Ñ1Ô1Ð1ØÔ  AÒ%Ð%Ø×"Ò" ;Ñ/Ô/Ð/ð 	×!Ò! $¨%°Ô1DÐ)EÐ(FÑGÔGÐGð Œ?˜bÒ Ð àØŒ_ð 	2Ø×Ò˜g y¤Ñ7Ô7Ð7Ð7ØÔ$ð 	2Ø×Ò˜i¨Ô)@ÑAÔAÐAÐAØÔ!ð 	2Ø×+Ò+¨IÔ,@ÑAÔAˆEØ×%Ò% e¨UÑ3Ô3Ð3Ð3à×%Ò% g¨qÑ1Ô1Ð1ð 	×!Ò! '¨U°IÔ4GÐ,HÐ+IÑJÔJÐJØ×!Ò! (¨e°YÔ5JÐ-KÐ,LÑMÔMÐMàÔ )Ò+Ð+°IÔ4GÐ+Ø×%Ò% h°%¸Ô9NÐ1OÐ0PÑQÔQÐQà×Ò Ñ&Ô&Ð&Ð&Ð&r2   c                 óz   — g }|dk    rdg}n|dk    rdg}n	|dk    rdg}| j                              d|¦  «         d S )NrŠ  )r  Údoubleé!   )r  ÚsingleAccountingé"   )r  ÚdoubleAccountingÚu©rõ   r%  )r(   r*  r´  s      r.   r+  zWorksheet._write_underline¿  s^   € àˆ
ð ˜Š>ˆ>Ø+Ð,ˆJˆJØ˜"Š_ˆ_Ø5Ð6ˆJˆJØ˜"Š_ˆ_Ø5Ð6ˆJàŒ×#Ò# C¨Ñ4Ô4Ð4Ð4Ð4r2   c                 óF   — d|fg}| j                              d|¦  «         d S )Nr  Ú	vertAlignr>  ©r(   r  r´  s      r.   r-  zWorksheet._write_vert_alignÍ  s+   € à˜c�l�^ˆ
àŒ×#Ò# K°Ñ<Ô<Ð<Ð<Ð<r2   c                 óF   — ||fg}| j                              d|¦  «         d S ©Nr   r>  ©r(   rg   r^  r´  s       r.   r2  zWorksheet._write_rstring_colorÓ  s+   € à˜U�m�_ˆ
àŒ×#Ò# G¨ZÑ8Ô8Ð8Ð8Ð8r2   c                 ó\   — |d         dk    r
|dd …         }d|                      ¦   «         z   S )Nr   rŽ  r   ÚFF)ÚupperrŸ  s     r.   r1  zWorksheet._get_palette_colorÙ  s/   € à�Œ8�sŠ?ˆ?Ø˜!˜"˜"”IˆEà�e—k’k‘m”mÑ#Ð#r2   c                 óX   — | j         s"| j                             ¦   «          d| _         d S d S )NT)r  r	  r,  ré  s    r.   Ú
_opt_closezWorksheet._opt_closeà  s:   € àÔ&ð 	+ØÔ×"Ò"Ñ$Ô$Ð$Ø&*ˆDÔ#Ð#Ð#ð	+ð 	+r2   c                 óz   — | j         r3| j        }t          |dd¬¦  «        | _        d| _         | j        | _        d S d S )Nza+r&  r'  F)r  r  r-  r	  r«  )r(   rÏ  s     r.   Ú_opt_reopenzWorksheet._opt_reopenæ  sL   € àÔ"ð 	'ØÔ-ˆHÝ# H°4À'ÐJÑJÔJˆDÔØ&+ˆDÔ#ØÔ&ˆDŒGˆGˆGð		'ð 	'r2   c                 ó  — g }t          |¦  «        D ]}|                     ddddœ¦  «         Œ|dk    rd|d         d<   d|d	         d<   |d
k    r!d|d         d<   d|d	         d<   d|d         d<   |dk    r,d|d         d<   d|d	         d<   d|d         d<   d|d         d<   |�rdt          |¦  «        }||k    r|d	z
  }t          |¦  «        D �]9}||                              d¦  «        �m||         d         ||         d<   ||         d         }t	          |t
          ¦  «        r3|                     d¦  «        r|                     d¦  «        ||         d<   ||                              d¦  «        red}||         d         |vrt          d||         d         z  ¦  «         n4||         d         ||         d<   ||         d         dk    rd||         d<   ||                              d¦  «        }	|	r|	dk    rd||         d<   �Œ;|S )NFr   Úpercent)rC  r^  r8  rZ   éC   r^  r9  r   r?  éK   r   é   rŠ  r  éP   é<   é(   r`   r  r8  )rM  rÿ  rM  r]  zOUnknown icon property type '%s' for sub-property 'type' in conditional_format()rM  ÚnumrC  rn  T)	rw  r¦  rE  rË  r7  r1  r  r	  r   )
r(   rõ  Ú
user_propsÚpropsrH   Úmax_datarF  Útmpr†  rC  s
             r.   r  zWorksheet._set_icon_propsî  sw  € àˆõ �{Ñ#Ô#ð 	Mð 	MˆAØ�LŠL e°aÀÐKÐKÑLÔLÐLÐLð ˜!ÒÐØ "ˆE�!ŒH�WÑØ "ˆE�!ŒH�WÑà˜!ÒÐØ "ˆE�!ŒH�WÑØ "ˆE�!ŒH�WÑØ "ˆE�!ŒH�WÑà˜!ÒÐØ "ˆE�!ŒH�WÑØ "ˆE�!ŒH�WÑØ "ˆE�!ŒH�WÑØ "ˆE�!ŒH�WÑð ñ #	0å˜:‘”ˆHØ˜;Ò&Ð&Ø&¨™?�å˜8‘_”_ð 0ñ 0�à˜a”=×$Ò$ WÑ-Ô-Ð9Ø(2°1¬°gÔ(>�E˜!”H˜WÑ%ð   œ( 7Ô+�CÝ! #¥sÑ+Ô+ð <°·²¸sÑ0CÔ0Cð <Ø,/¯JªJ°s©O¬O˜˜aœ Ñ)ð ˜a”=×$Ò$ VÑ,Ô,ð 5Ø"P�Kà! !”} VÔ,°KÐ?Ð?ÝðFà(¨œm¨FÔ3ñ4ñô ð ð ð ,6°a¬=¸Ô+@˜˜aœ Ñ(à  œ8 FÔ+¨xÒ7Ð7Ø/4˜E !œH VÑ,ð & aœ=×,Ò,¨ZÑ8Ô8�Øð 0 ¨C¢ Ø+/�E˜!”H˜ZÑ(ùàˆr2   c                 ó  — d}|dz   }|dz   }|dz   }d}|dz   }d|fd|fg}| j         d	k    rC|                     d
|f¦  «         |                     d|f¦  «         |                     d¦  «         |                      d|¦  «         d S )Nz"http://schemas.openxmlformats.org/zspreadsheetml/2006/mainz!officeDocument/2006/relationshipszmarkup-compatibility/2006zhttp://schemas.microsoft.com/zoffice/spreadsheetml/2009/9/acÚxmlnszxmlns:rr  zxmlns:mczxmlns:x14ac)zmc:IgnorableÚx14acr2  )rp   r¦  r§  )r(   ÚschemarZ  Úxmlns_rÚxmlns_mcÚ	ms_schemaÚxmlns_x14acr´  s           r.   r4  zWorksheet._write_worksheet4  sÁ   € ð 6ˆØÐ2Ñ2ˆØÐ>Ñ>ˆØÐ7Ñ7ˆØ3ˆ	ØÐ"BÑBˆà Ð&¨°GÐ(<Ð=ˆ
ð Ô Ò%Ð%Ø×Ò˜z¨8Ð4Ñ5Ô5Ð5Ø×Ò˜}¨kÐ:Ñ;Ô;Ð;Ø×ÒÐ7Ñ8Ô8Ð8à×Ò˜K¨Ñ4Ô4Ð4Ð4Ð4r2   c                 ó  — | j         €
| j        €d}nÞ| j         €`| j        �Y| j        | j        k    rt          d| j        ¦  «        }nªt          d| j        ¦  «        }t          d| j        ¦  «        }|dz   |z   }nw| j         | j        k    r+| j        | j        k    rt          | j         | j        ¦  «        }n<t          | j         | j        ¦  «        }t          | j        | j        ¦  «        }|dz   |z   }|                      dd|fg¦  «         d S )Nr€  r   r5   Ú	dimensionr:  )ru   rw   rx   r   rv   r%  )r(   r:  r9   r:   s       r.   r6  zWorksheet._write_dimensionH  s  € ð
 Œ?Ð" t¤Ð'>ð ˆCˆCàŒ_Ð$¨¬Ð)Dð
 Œ $¤/Ò1Ð1å'¨¨4¬?Ñ;Ô;��õ +¨1¨d¬oÑ>Ô>�Ý*¨1¨d¬oÑ>Ô>�Ø˜s‘l VÑ+��àŒ_ ¤Ò/Ð/°D´OÀtÄÒ4VÐ4Vå# D¤O°T´_ÑEÔEˆCˆCõ ' t¤¸¼ÑHÔHˆFÝ& t¤¸¼ÑHÔHˆFØ˜3‘, Ñ'ˆCà×Ò˜K¨5°#¨,¨Ñ8Ô8Ð8Ð8Ð8r2   c                 ó‚   — |                       d¦  «         |                      ¦   «          |                      d¦  «         d S )NÚ
sheetViews)r§  Ú_write_sheet_viewrª  ré  s    r.   r7  zWorksheet._write_sheet_viewsk  sD   € à×Ò˜LÑ)Ô)Ð)ð 	×ÒÑ Ô Ð à×Ò˜,Ñ'Ô'Ð'Ð'Ð'r2   c                 ó¦  — g }| j         s|                     d¦  «         | j        r|                     d¦  «         | j        s|                     d¦  «         | j        r|                     d¦  «         | j        r|                     d¦  «         | j        s|                     d¦  «         | j        dk    r|                     d¦  «         n | j        d	k    r|                     d
¦  «         | j        dk    r|                     d| j        f¦  «         | j	        dk    r˜|                     d| j	        f¦  «         | j        dk    r#| j
        r|                     d| j	        f¦  «         | j        dk    r|                     d| j	        f¦  «         | j        d	k    r|                     d| j	        f¦  «         |                     d¦  «         | j        st          | j        ¦  «        rU|                      d|¦  «         |                      ¦   «          |                      ¦   «          |                      d¦  «         d S |                      d|¦  «         d S )N)ÚshowGridLinesr   )ÚshowRowColHeadersr   )Ú	showZerosr   ©ÚrightToLeftr   )ÚtabSelectedr   ©ÚshowOutlineSymbolsr   r   )rÉ  Ú
pageLayoutrŠ  )rÉ  ÚpageBreakPreviewrY   ÚtopLeftCellr^   Ú	zoomScaler   ÚzoomScaleNormalÚzoomScalePageLayoutViewÚzoomScaleSheetLayoutView)ÚworkbookViewIdr   Ú	sheetView)r‰   r¦  r‹   r±   r°   r�   r¸   rü   r~   r­   r®   r   rE  rz   r§  Ú_write_panesÚ_write_selectionsrª  r%  ©r(   r´  s     r.   re  zWorksheet._write_sheet_viewt  s’  € àˆ
ð Ô$ð 	4Ø×ÒÐ2Ñ3Ô3Ð3ð Ôð 	8Ø×ÒÐ6Ñ7Ô7Ð7ð Œð 	0Ø×ÒÐ.Ñ/Ô/Ð/ð Ô ð 	2Ø×ÒÐ0Ñ1Ô1Ð1ð Œ=ð 	2Ø×ÒÐ0Ñ1Ô1Ð1ð Œð 	9Ø×ÒÐ7Ñ8Ô8Ð8ð Œ>˜QÒÐØ×ÒÐ4Ñ5Ô5Ð5Ð5ØŒ^˜qÒ Ð Ø×ÒÐ:Ñ;Ô;Ð;ð Ô Ò#Ð#Ø×Ò˜}¨dÔ.@ÐAÑBÔBÐBð Œ9˜ÒÐØ×Ò˜{¨D¬IÐ6Ñ7Ô7Ð7àŒ~ Ò"Ð" tÔ'=Ð"Ø×!Ò!Ð#4°d´iÐ"@ÑAÔAÐAØŒ~ Ò"Ð"Ø×!Ò!Ð#<¸d¼iÐ"HÑIÔIÐIØŒ~ Ò"Ð"Ø×!Ò!Ð#=¸t¼yÐ"IÑJÔJÐJà×ÒÐ/Ñ0Ô0Ð0àŒ:ð 	9�˜Tœ_Ñ-Ô-ð 	9Ø×Ò ¨ZÑ8Ô8Ð8Ø×ÒÑÔÐØ×"Ò"Ñ$Ô$Ð$Ø×Ò˜kÑ*Ô*Ð*Ð*Ð*à×Ò ¨ZÑ8Ô8Ð8Ð8Ð8r2   c                 óŒ  — | j         }| j        }| j        }d|fg}| j         | j        k    r|                     d¦  «         | j        r|                     d¦  «         |r|                     d|f¦  «         |r|                     d|f¦  «         | j        dk    r|                     d¦  «         |                      d|¦  «         d S )	NÚdefaultRowHeight©ÚcustomHeightr   )Ú
zeroHeightr   ÚoutlineLevelRowÚoutlineLevelColr  ©zx14ac:dyDescentz0.25ÚsheetFormatPr)r»   r³   r´   rº   r¦  rÀ   rp   r%  )r(   r»   Ú	row_levelÚ	col_levelr´  s        r.   r8  z Worksheet._write_sheet_format_pr¯  sò   € à!Ô4ÐØÔ*ˆ	ØÔ*ˆ	à)Ð+=Ð>Ð?ˆ
àÔ" dÔ&>Ò>Ð>Ø×ÒÐ1Ñ2Ô2Ð2àÔ"ð 	1Ø×ÒÐ/Ñ0Ô0Ð0àð 	>Ø×ÒÐ0°)Ð<Ñ=Ô=Ð=Øð 	>Ø×ÒÐ0°)Ð<Ñ=Ô=Ð=àÔ Ò%Ð%Ø×ÒÐ9Ñ:Ô:Ð:à×Ò˜O¨ZÑ8Ô8Ð8Ð8Ð8r2   c                 ó  — | j         sd S |                      d¦  «         t          | j                              ¦   «         ¦  «        d         }|}| j         |         }| j         |= |}|}t          | j                              ¦   «         ¦  «        D ]>}| j         |         }||dz   k    r	||k    r|}Œ!|                      |||¦  «         |}|}|}Œ?|                      |||¦  «         || j         |<   |                      d¦  «         d S )NÚcolsr   r   )ry   r§  r  r‚  Ú_write_col_inforª  )r(   rk  rm  Úprev_col_optionsÚdeleted_colÚdeleted_col_optionsrF   Úcol_optionss           r.   r9  zWorksheet._write_colsÇ  s5  € ð Œ}ð 	ØˆFà×Ò˜FÑ#Ô#Ð#õ ˜DœM×.Ò.Ñ0Ô0Ñ1Ô1°1Ô5ˆ	ØˆØœ=¨Ô3ÐØŒM˜)Ð$ØˆØ.Ðå˜$œ-×,Ò,Ñ.Ô.Ñ/Ô/ð 	/ð 	/ˆCØœ-¨Ô,ˆKð �h ‘lÒ"Ð" {Ð6FÒ'FÐ'FØ��ð ×$Ò$ Y°Ð:JÑKÔKÐKØ�	Ø$�Ø#.Ð Ð ð 	×Ò˜Y¨Ð2BÑCÔCÐCð &9ˆŒ�kÑ"à×Ò˜&Ñ!Ô!Ð!Ð!Ð!r2   c                 óò  — |\  }}}}}}	d}
d}|r|                      ¦   «         }|€
|sd}d}
nd}n|dk    rd}
|dk    r�d}d}|dk     r<t          t          |||z   z  dz   ¦  «        t          |¦  «        z  dz  ¦  «        dz  }n;t          t          ||z  dz   ¦  «        |z   t          |¦  «        z  dz  ¦  «        dz  }d|dz   fd	|dz   fd
d|z  fg}|r|                     d|f¦  «         |r|                     d¦  «         |	r|                     d¦  «         |
r|                     d¦  «         |r|                     d|f¦  «         |r|                     d¦  «         |                      d|¦  «         d S )Nr   r   ra   r  r  r$  g      p@rý  rþ  r  r|  r  )r{   rC   )ÚbestFitrC   )ÚcustomWidthrC   ÚoutlineLevel)r  rC   rF   )Ú_get_xf_indexr&   r!  r¦  r%  )r(   Úcol_minrÚ  ry   r  r>  r{   r  r  r&  Úcustom_widthÚxf_indexrÃ  rÄ  r´  s                  r.   rˆ  zWorksheet._write_col_infoï  s'  € àBJÑ?ˆ�˜V U¨I°wàˆØˆð ð 	3Ø"×0Ò0Ñ2Ô2ˆHð ˆ=Øð Ø�Ø ��à��Ø�dŠ]ˆ]àˆLð �1Š9ˆ9àˆOØˆGà�qŠyˆyåÝ˜U o¸Ñ&?Ñ@À3ÑFÑGÔGÝ Ñ0Ô0ñ1àñ ñô ð
 ñð �õ Ý˜U _Ñ4°sÑ:Ñ;Ô;¸gÑEÝ Ñ0Ô0ñ1àñ ñô ð
 ñð ð �G˜a‘KÐ Ø�G˜a‘KÐ Ø�g ‘oÐ&ð
ˆ
ð ð 	3Ø×Ò˜w¨Ð1Ñ2Ô2Ð2Øð 	/Ø×Ò˜oÑ.Ô.Ð.Øð 	0Ø×ÒÐ.Ñ/Ô/Ð/Øð 	4Ø×ÒÐ2Ñ3Ô3Ð3Øð 	7Ø×Ò˜~¨uÐ5Ñ6Ô6Ð6Øð 	2Ø×ÒÐ0Ñ1Ô1Ð1à×Ò˜E :Ñ.Ô.Ð.Ð.Ð.r2   c                 ó¾   — | j         €|                      d¦  «         d S |                      d¦  «         |                      ¦   «          |                      d¦  «         d S )NÚ	sheetData)ru   r%  r§  Ú_write_rowsrª  ré  s    r.   r:  zWorksheet._write_sheet_data3  sd   € àŒ?Ð"à×Ò Ñ,Ô,Ð,Ð,Ð,à×Ò Ñ,Ô,Ð,Ø×ÒÑÔÐØ×Ò˜kÑ*Ô*Ð*Ð*Ð*r2   c                 óÖ  — | j         €|                      d¦  «         d S |                      d¦  «         d}| j                             d¦  «         | j                             |¦  «        }|r6| j                             |¦  «         | j                             |¦  «        }|°6| j                             ¦   «          t          j
        | j        ¦  «         |                      d¦  «         d S )Nr–  i   r   )ru   r%  r§  r	  ÚseekÚreadr«  r,  r,  rÌ  Úunlinkr  rª  )r(   Ú	buff_sizer»  s      r.   r;  z%Worksheet._write_optimized_sheet_data=  sî   € ð Œ?Ð"à×Ò Ñ,Ô,Ð,Ð,Ð,à×Ò Ñ,Ô,Ð,ð ˆIØÔ×!Ò! !Ñ$Ô$Ð$ØÔ#×(Ò(¨Ñ3Ô3ˆDàð 8Ø”—’˜dÑ#Ô#Ð#ØÔ'×,Ò,¨YÑ7Ô7�ð ð 8ð Ô×"Ò"Ñ$Ô$Ð$ÝŒI�dÔ,Ñ-Ô-Ð-à×Ò˜kÑ*Ô*Ð*Ð*Ð*r2   c                 ó–   — d| j         fd| j        fd| j        fd| j        fd| j        fd| j        fg}|                      d|¦  «         d S )NrÕ  rÖ  r°  r²  r�   rŽ   ÚpageMargins)r”   r•   r–   r—   r˜   r™   r%  rz  s     r.   rE  zWorksheet._write_page_marginsU  sj   € ð �TÔ%Ð&Ø�dÔ'Ð(Ø�D”OÐ$Ø�tÔ)Ð*Ø�tÔ)Ð*Ø�tÔ)Ð*ð
ˆ
ð 	×Ò˜M¨:Ñ6Ô6Ð6Ð6Ð6r2   c                 ó  — g }| j         sd S | j        r|                     d| j        f¦  «         | j        dk    r|                     d| j        f¦  «         | j        r'| j        dk    r|                     d| j        f¦  «         | j        r'| j        dk    r|                     d| j        f¦  «         | j        r|                     d¦  «         | j        dk    r|                     d| j        f¦  «         | j	        r|                     d	¦  «         n|                     d
¦  «         | j
        r|                     d¦  «         | j        dk    r|                     d¦  «         | j        rG| j        r|                     d| j        f¦  «         | j        r|                     d| j        f¦  «         nF| j        r|                     d| j        f¦  «         | j        r|                     d| j        f¦  «         |                      d|¦  «         d S )NÚ	paperSizer^   r	  r   Ú
fitToWidthÚfitToHeight)Ú	pageOrderÚoverThenDownÚfirstPageNumber)r„   Úportrait)r„   Ú	landscape)ÚblackAndWhiterC   r   )ÚuseFirstPageNumberrC   ÚhorizontalDpiÚverticalDpiÚ	pageSetup)r‚   rƒ   r¦  r¯   r¢   r£   r¤   r�   r¡   r„   rž   rm   r  r  r%  rz  s     r.   rF  zWorksheet._write_page_setupb  sj  € ð& ˆ
ð Ô&ð 	ØˆFð Œ?ð 	>Ø×Ò˜{¨D¬OÐ<Ñ=Ô=Ð=ð Ô˜sÒ"Ð"Ø×Ò˜w¨Ô(8Ð9Ñ:Ô:Ð:ð Œ=ð 	>˜Tœ^¨qÒ0Ð0Ø×Ò˜|¨T¬^Ð<Ñ=Ô=Ð=àŒ=ð 	@˜Tœ_°Ò1Ð1Ø×Ò˜}¨d¬oÐ>Ñ?Ô?Ð?ð Œ?ð 	=Ø×ÒÐ;Ñ<Ô<Ð<ð Œ?˜QÒÐØ×ÒÐ0°$´/ÐBÑCÔCÐCð Ôð 	<Ø×ÒÐ9Ñ:Ô:Ð:Ð:à×ÒÐ:Ñ;Ô;Ð;ð Ôð 	6Ø×ÒÐ4Ñ5Ô5Ð5ð Œ?˜aÒÐØ×ÒÐ9Ñ:Ô:Ð:ð Ôð 	JØÔ"ð JØ×!Ò! ?°DÔ4GÐ"HÑIÔIÐIàÔ ð FØ×!Ò! =°$Ô2CÐ"DÑEÔEÐEøàÔ ð FØ×!Ò! =°$Ô2CÐ"DÑEÔEÐEàÔ"ð JØ×!Ò! ?°DÔ4GÐ"HÑIÔIÐIà×Ò˜K¨Ñ4Ô4Ð4Ð4Ð4r2   c                 ó(  — g }| j         sd S | j        r|                     d¦  «         | j        r|                     d¦  «         | j        r|                     d¦  «         | j        r|                     d¦  «         |                      d|¦  «         d S )N)ÚhorizontalCenteredr   )ÚverticalCenteredr   )Úheadingsr   )Ú	gridLinesr   ÚprintOptions)r…   r†   r¦  r‡   rŠ   rˆ   r%  rz  s     r.   rD  zWorksheet._write_print_options°  s¸   € àˆ
àÔ)ð 	ØˆFð Œ<ð 	9Ø×ÒÐ7Ñ8Ô8Ð8ð Œ<ð 	7Ø×ÒÐ5Ñ6Ô6Ð6ð Ôð 	/Ø×Ò˜oÑ.Ô.Ð.ð Ôð 	0Ø×ÒÐ.Ñ/Ô/Ð/à×Ò˜N¨JÑ7Ô7Ð7Ð7Ð7r2   c                 óŒ  — g }| j         s|                     d¦  «         | j        s|                     d¦  «         | j        rc|                      d|¦  «         | j        r|                      ¦   «          | j        r|                      ¦   «          |  	                    d¦  «         d S | j
        r|                      d|¦  «         d S d S )N)ÚscaleWithDocr   )ÚalignWithMarginsr   ÚheaderFooter)r�   r¦  r�   rŒ   r§  r�   Ú_write_odd_headerrŽ   Ú_write_odd_footerrª  rq   r%  rz  s     r.   rG  zWorksheet._write_header_footerÉ  së   € àˆ
àÔ(ð 	3Ø×ÒÐ1Ñ2Ô2Ð2àÔ(ð 	7Ø×ÒÐ5Ñ6Ô6Ð6àÔ%ð 	<Ø×Ò °
Ñ;Ô;Ð;ØŒ{ð )Ø×&Ò&Ñ(Ô(Ð(ØŒ{ð )Ø×&Ò&Ñ(Ô(Ð(Ø×Ò˜nÑ-Ô-Ð-Ð-Ð-ØÔ!ð 	<Ø×Ò °
Ñ;Ô;Ð;Ð;Ð;ð	<ð 	<r2   c                 ó<   — |                       d| j        ¦  «         d S )NÚ	oddHeader)r©  r�   ré  s    r.   r·  zWorksheet._write_odd_headerÝ  ó    € à×Ò˜{¨D¬KÑ8Ô8Ð8Ð8Ð8r2   c                 ó<   — |                       d| j        ¦  «         d S )NÚ	oddFooter)r©  rŽ   ré  s    r.   r¸  zWorksheet._write_odd_footerá  r»  r2   c                 ó$  — |                       ¦   «          t          | j        | j        dz   ¦  «        D �]\}|| j        v s|| j        v s| j        |         �r9t          |dz  ¦  «        }|| j        v r| j        |         }nd }| j        |         r²|| j        vr|  	                    ||¦  «         n"|  	                    ||| j        |         ¦  «         t          | j
        | j        dz   ¦  «        D ];}|| j        |         v r*| j        |         |         }|                      |||¦  «         Œ<|                      d¦  «         �Œ|| j        v r$|                      ||| j        |         ¦  «         �Œ:|                      ||| j        |         ¦  «         �Œ^d S )Nr   r  r%  )Ú_calculate_spansrw  ru   rv   r¬   rË   rÃ   r&   rÇ   Ú
_write_rowrw   rx   Ú_write_cellrª  Ú_write_empty_row)r(   r  Ú
span_indexrp  r  Úcol_refs         r.   r—  zWorksheet._write_rowså  sº  € à×ÒÑÔÐå˜Tœ_¨d¬oÀÑ.AÑBÔBð "	Qñ "	QˆGà˜4œ=Ð(Ð(Ø˜dœmÐ+Ð+Ø”:˜gÔ&ñ ,õ
 ! ¨2¡Ñ.Ô.�
à ¤Ð/Ð/Øœ>¨*Ô5�D�Dà�Dà”:˜gÔ&ð Qà d¤mÐ3Ð3ØŸš¨°Ñ6Ô6Ð6Ð6àŸš¨°°t´}ÀWÔ7MÑNÔNÐNå#(¨¬¸$¼/ÈAÑ:MÑ#NÔ#Nð Hð H˜Ø" d¤j°Ô&9Ð9Ð9Ø&*¤j°Ô&9¸'Ô&B˜GØ ×,Ò,¨W°g¸wÑGÔGÐGøà×%Ò% eÑ,Ô,Ð,Ñ,à ¤Ð-Ð-à×)Ò)¨'°4¸¼ÀwÔ9OÑPÔPÐPÑPð ×)Ò)¨'°4¸¼ÀwÔ9OÑPÔPÐPùðE"	Qð "	Qr2   c                 óV  — | j         }|| _         || j        v s|| j        v s| j        |         râd }| j        |         r±|| j        vr|                      ||¦  «         n"|                      ||| j        |         ¦  «         t          | j        | j        dz   ¦  «        D ];}|| j        |         v r*| j        |         |         }|                      |||¦  «         Œ<|  	                    d¦  «         n"|  
                    ||| j        |         ¦  «         | j                             ¦   «          d S )Nr   r%  )rö   r¬   rË   rÃ   rÀ  rw  rw   rx   rÁ  rª  rÂ  Úclear)r(   Úcurrent_row_numr  rp  r  rÄ  s         r.   rG  zWorksheet._write_single_row  sE  € ð Ô#ˆØ+ˆÔà�d”mÐ#Ð# w°$´-Ð'?Ð'?À4Ä:ÈgÔCVÐ'?ð ˆDàŒz˜'Ô"ð Mà $¤-Ð/Ð/Ø—O’O G¨TÑ2Ô2Ð2Ð2à—O’O G¨T°4´=ÀÔ3IÑJÔJÐJå$ T¤_°d´oÈÑ6IÑJÔJð Dð D�GØ $¤*¨WÔ"5Ð5Ð5Ø"&¤*¨WÔ"5°gÔ">˜Ø×(Ò(¨°'¸7ÑCÔCÐCøà×!Ò! %Ñ(Ô(Ð(Ð(ð ×%Ò% g¨t°T´]À7Ô5KÑLÔLÐLð 	Œ
×ÒÑÔÐÐÐr2   c                 ó0  — i }d }d }t          | j        | j        dz   ¦  «        D ]ê}|| j        v rFt          | j        | j        dz   ¦  «        D ](}|| j        |         v r|€|}|}Œ||k     r|}||k    r|}Œ)|| j        v rOt          | j        | j        dz   ¦  «        D ]1}|| j        v r&|| j        |         v r|€|}|}Œ!||k     r|}||k    r|}Œ2|dz   dz  dk    s|| j        k    r*t          |dz  ¦  «        }|�|dz  }|dz  }|›d|›�||<   d }Œë|| _        d S )Nr   r  r   r5   )	rw  ru   rv   rÃ   rw   rx   rË   r&   rÇ   )r(   ÚspansÚspan_minÚspan_maxr  r  rÃ  s          r.   r¿  zWorksheet._calculate_spans2  s˜  € ð
 ˆØˆØˆå˜Tœ_¨d¬oÀÑ.AÑBÔBð "	$ð "	$ˆGØ˜$œ*Ð$Ð$å$ T¤_°d´oÈÑ6IÑJÔJð 	3ð 	3�GØ $¤*¨WÔ"5Ð5Ð5Ø#Ð+Ø'.˜HØ'.˜H˜Hà&¨Ò1Ð1Ø+2 Ø&¨Ò1Ð1Ø+2 øà˜$œ-Ð'Ð'å$ T¤_°d´oÈÑ6IÑJÔJð 	3ð 	3�GØ $¤-Ð/Ð/°G¸t¼}ÈWÔ?UÐ4UÐ4UØ#Ð+Ø'.˜HØ'.˜H˜Hà&¨Ò1Ð1Ø+2 Ø&¨Ò1Ð1Ø+2 øà˜1‘ Ñ" aÒ'Ð'¨G°t´Ò,FÐ,FÝ  ¨2¡Ñ.Ô.�
àÐ'Ø ‘M�HØ ‘M�HØ3;°8°8¸X¸XÐ(F�E˜*Ñ%Ø#�HøàˆŒˆˆr2   c                 óÈ  — d}|r	|\  }}}}	}
nd\  }}}}	}
|€| j         }d|dz   fg}|r|                     ¦   «         }|r|                     d|f¦  «         |r|                     d|f¦  «         |r|                     d¦  «         || j        k    r|                     dd	|z  f¦  «         |r|                     d
¦  «         || j        k    r|                     d¦  «         |	r|                     d|	f¦  «         |
r|                     d¦  «         | j        dk    r|                     d¦  «         |r|                      d|¦  «         d S |                      d|¦  «         d S )Nr   )NNr   r   r   r   r   rÉ  Ús)ÚcustomFormatr   Úhtz%g)r{   r   r}  r�  )r  r   r  r‚  r%  )r»   r‘  r¦  rº   rp   Ú_xml_empty_tag_unencodedÚ_xml_start_tag_unencoded)r(   r%  rÉ  Ú
propertiesÚ	empty_rowr”  r(  r>  r{   r  r  r´  s               r.   rÀ  zWorksheet._write_rowa  sÕ  € àˆàð 	PØ<FÑ9ˆF�K ¨°	°	à<OÑ9ˆF�K ¨°	àˆ>ØÔ,ˆFà˜C !™G�nÐ%ˆ
ð ð 	3Ø"×0Ò0Ñ2Ô2ˆHð ð 	0Ø×Ò˜w¨Ð.Ñ/Ô/Ð/àð 	/Ø×Ò˜s H˜oÑ.Ô.Ð.àð 	3Ø×ÒÐ1Ñ2Ô2Ð2à�TÔ-Ò-Ð-Ø×Ò˜t T¨F¡]Ð3Ñ4Ô4Ð4àð 	-Ø×Ò˜mÑ,Ô,Ð,à�TÔ-Ò-Ð-Ø×ÒÐ1Ñ2Ô2Ð2àð 	7Ø×Ò˜~¨uÐ5Ñ6Ô6Ð6àð 	0Ø×ÒÐ.Ñ/Ô/Ð/àÔ Ò%Ð%Ø×ÒÐ9Ñ:Ô:Ð:àð 	=Ø×)Ò)¨%°Ñ<Ô<Ð<Ð<Ð<à×)Ò)¨%°Ñ<Ô<Ð<Ð<Ð<r2   c                 ó8   — |                       |||d¬¦  «         d S )NT)rÓ  )rÀ  )r(   r%  rÉ  rÒ  s       r.   rÂ  zWorksheet._write_empty_row”  s"   € à�Š˜˜U J¸$ˆÑ?Ô?Ð?Ð?Ð?r2   c                 óž  — t          ||¦  «        }d|fg}|j        r1|j                             ¦   «         }|                     d|f¦  «         n || j        v rP| j        |         d         r=| j        |         d         }|                     d|                     ¦   «         f¦  «         nG|| j        v r>| j        |         d         }|�)|                     d|                     ¦   «         f¦  «         |j        j        }	|	dv r|                      |j	        |¦  «         d S |	dv r¥|j
        }
| j        s|                      |
|¦  «         d S |                      |
¦  «        }
|
                     d¦  «        r-|
                     d¦  «        r|                      |
|¦  «         d S t#          |
¦  «        }|                      |
||¦  «         d S |	dk    r½|j        }t)          |j        t*          ¦  «        r"|                     d	¦  «         |j        rd}n_d
}n\t)          |j        t,          ¦  «        rBd}|j        dk    rn4|j        |v r|                     d¦  «         n|                     d¦  «         |                      |j        ||¦  «         d S |	dk    rÂ|j        dk    r|                     d¦  «         	 t5          |j        ¦  «         n%# t6          $ r |                     d¦  «         Y nw xY w|                      d|¦  «         |                      |j        |j        ¦  «         |                      |j        ¦  «         |                       d¦  «         d S |	dk    r|  !                    d|¦  «         d S |	dk    r\|                     d	¦  «         |                      d|¦  «         |                      |j"        ¦  «         |                       d¦  «         d S |	dk    rx|                     d¦  «         |                     d|j        f¦  «         |                      d|¦  «         |                      |j#        ¦  «         |                       d¦  «         d S d S )Nr   rÍ  r   r  r  z<r>z</r>rP   )r¢  r  r   )rQ  z#N/Az#NAME?z#NULL!rP  z#REF!rÔ  rY   )r¢  Úe)r¢  r1  rR   rp  )Úcmr   ÚcrM   rO   rT   Úvm)$r   rN   r‘  r¦  r¬   ry   r  r  Ú_xml_number_elementrM  r=  rk   Ú_xml_string_elementÚ_escape_control_charactersr  r  Ú_xml_rich_inline_stringr   Ú_xml_inline_stringr^  r7  r/  r1  Ú_xml_formula_elementr]  rx  r!  r'   r§  Ú_write_cell_array_formularw  Ú_write_cell_valuerª  r%  r€  rq  )r(   r%  rF   r  ry  r´  r”  Úrow_xfÚcol_xfÚtype_cell_namer=  r¡  r^  Úerror_codess                 r.   rÁ  zWorksheet._write_cell˜  s½  € õ ,¨C°Ñ5Ô5ˆ
Ø˜JÐ'Ð(ˆ
àŒ;ð 	Aà”{×0Ò0Ñ2Ô2ˆHØ×Ò˜s H˜oÑ.Ô.Ð.Ð.Ø�D”MÐ!Ð! d¤m°CÔ&8¸Ô&;Ð!à”] 3Ô'¨Ô*ˆFØ×Ò˜s F×$8Ò$8Ñ$:Ô$:Ð;Ñ<Ô<Ð<Ð<Ø�D”MÐ!Ð!à”] 3Ô'¨Ô*ˆFØÐ!Ø×!Ò! 3¨×(<Ò(<Ñ(>Ô(>Ð"?Ñ@Ô@Ð@àœÔ0ˆð Ð3Ð3Ð3à×$Ò$ T¤[°*Ñ=Ô=Ð=Ð=Ð=àÐ7Ð7Ð7à”[ˆFàÔ'ð Jà×(Ò(¨°Ñ<Ô<Ð<Ð<Ð<ð
 ×8Ò8¸Ñ@Ô@�ð ×$Ò$ UÑ+Ô+ð J°·²ÀÑ0GÔ0Gð JØ×0Ò0°¸ÑDÔDÐDÐDÐDõ  3°6Ñ:Ô:�HØ×+Ò+¨F°H¸jÑIÔIÐIÐIÐIà˜yÒ(Ð(à”JˆEÝ˜$œ*¥dÑ+Ô+ð 4Ø×!Ò! *Ñ-Ô-Ð-Ø”:ð Ø�E�Eà�E�Eå˜DœJ­Ñ,Ô,ð 4ð�ð ”: Ò#Ð#àØ”Z ;Ð.Ð.Ø×%Ò% jÑ1Ô1Ð1Ð1à×%Ò% lÑ3Ô3Ð3à×%Ò% d¤l°E¸:ÑFÔFÐFÐFÐFà˜~Ò-Ð-ð Œz˜YÒ&Ð&Ø×!Ò! )Ñ,Ô,Ð,ð0Ý�d”jÑ!Ô!Ð!Ð!øÝð 0ð 0ð 0Ø×!Ò! ,Ñ/Ô/Ð/Ð/Ð/ð0øøøð ×Ò  ZÑ0Ô0Ð0à×*Ò*¨4¬<¸¼ÑDÔDÐDØ×"Ò" 4¤:Ñ.Ô.Ð.Ø×Ò˜cÑ"Ô"Ð"Ð"Ð"à˜wÒ&Ð&à×Ò  ZÑ0Ô0Ð0Ð0Ð0à˜yÒ(Ð(à×Ò˜jÑ)Ô)Ð)Ø×Ò  ZÑ0Ô0Ð0Ø×"Ò" 4¤<Ñ0Ô0Ð0Ø×Ò˜cÑ"Ô"Ð"Ð"Ð"à˜wÒ&Ð&à×Ò˜jÑ)Ô)Ð)Ø×Ò˜t T¤ZÐ0Ñ1Ô1Ð1Ø×Ò  ZÑ0Ô0Ð0Ø×"Ò" 4¤:Ñ.Ô.Ð.Ø×Ò˜cÑ"Ô"Ð"Ð"Ð"ð 'Ð&s   Ê.K ËK%Ë$K%c                 ó:   — |€d}|                       d|¦  «         d S )NrY   Úv©r©  )r(   r^  s     r.   rá  zWorksheet._write_cell_value  s(   € àˆ=ØˆEà×Ò˜s EÑ*Ô*Ð*Ð*Ð*r2   c                 ó@   — dd|fg}|                       d||¦  «         d S )N)r¢  Úarrayr:  r&  rè  )r(   r]  ry  r´  s       r.   rà  z#Worksheet._write_cell_array_formula  s/   € à$ u¨jÐ&9Ð:ˆ
à×Ò˜s G¨ZÑ8Ô8Ð8Ð8Ð8r2   c                 óú  — g }| j         s| j        s| j        s| j        s	| j        sd S | j        r|                     d| j        f¦  «         | j        r|                     d¦  «         | j         s| j        s| j        ri|                      d|¦  «         |                      ¦   «          |                      ¦   «          |  	                    ¦   «          |  
                    d¦  «         d S |                      d|¦  «         d S )NÚcodeName)Ú
filterModer   ÚsheetPr)r¢   rÕ   r}   r¹   rý   r¦  r§  Ú_write_tab_colorÚ_write_outline_prÚ_write_page_set_up_prrª  r%  rz  s     r.   r5  zWorksheet._write_sheet_pr  s/  € àˆ
ð ”ð	à”Nð	ð ”Nð	ð Ô(ð		ð
 Ô%ð	ð ˆFàÔð 	?Ø×Ò˜z¨4Ô+<Ð=Ñ>Ô>Ð>àŒ>ð 	1Ø×ÒÐ/Ñ0Ô0Ð0àŒ=ð 	7˜DœNð 	7¨dÔ.Bð 	7Ø×Ò 	¨:Ñ6Ô6Ð6Ø×!Ò!Ñ#Ô#Ð#Ø×"Ò"Ñ$Ô$Ð$Ø×&Ò&Ñ(Ô(Ð(Ø×Ò˜iÑ(Ô(Ð(Ð(Ð(à×Ò 	¨:Ñ6Ô6Ð6Ð6Ð6r2   c                 óJ   — | j         sd S dg}|                      d|¦  «         d S )N)Ú	fitToPager   ÚpageSetUpPr)r¢   r%  rz  s     r.   rñ  zWorksheet._write_page_set_up_pr7  s5   € àŒ}ð 	ØˆFà&Ð'ˆ
Ø×Ò˜M¨:Ñ6Ô6Ð6Ð6Ð6r2   c                 óR   — | j         }|sd S d|fg}|                      d|¦  «         d S )Nr  ÚtabColor)r}   r%  )r(   r   r´  s      r.   rï  zWorksheet._write_tab_color?  s>   € à”ˆàð 	ØˆFà˜e�nÐ%ˆ
à×Ò˜J¨
Ñ3Ô3Ð3Ð3Ð3r2   c                 ó(  — g }| j         sd S | j        r|                     d¦  «         | j        s|                     d¦  «         | j        s|                     d¦  «         | j        s|                     d¦  «         |                      d|¦  «         d S )N)ÚapplyStylesr   )ÚsummaryBelowr   )ÚsummaryRightr   rm  Ú	outlinePr)r¹   rµ   r¦  r¶   r·   r¸   r%  rz  s     r.   rð  zWorksheet._write_outline_prJ  s²   € àˆ
àÔ#ð 	ØˆFàÔð 	2Ø×ÒÐ0Ñ1Ô1Ð1ØÔ!ð 	3Ø×ÒÐ1Ñ2Ô2Ð2ØÔ!ð 	3Ø×ÒÐ1Ñ2Ô2Ð2ØŒð 	9Ø×ÒÐ7Ñ8Ô8Ð8à×Ò˜K¨Ñ4Ô4Ð4Ð4Ð4r2   c                 óü   — |                       | j        ¦  «        }|sd S t          |¦  «        }d|fd|fg}|                      d|¦  «         |D ]}|                      |d¦  «         Œ|                      d¦  «         d S )Nr2  ÚmanualBreakCountÚ	rowBreaksiÿ?  )rh  r¥   rE  r§  Ú
_write_brkrª  )r(   Úpage_breaksr2  r´  r  s        r.   rH  zWorksheet._write_row_breaks\  s¢   € à×+Ò+¨D¬LÑ9Ô9ˆàð 	ØˆFå�KÑ Ô ˆð �eÐØ Ð'ð
ˆ
ð
 	×Ò˜K¨Ñ4Ô4Ð4à"ð 	,ð 	,ˆGØ�OŠO˜G UÑ+Ô+Ð+Ð+à×Ò˜+Ñ&Ô&Ð&Ð&Ð&r2   c                 óü   — |                       | j        ¦  «        }|sd S t          |¦  «        }d|fd|fg}|                      d|¦  «         |D ]}|                      |d¦  «         Œ|                      d¦  «         d S )Nr2  rý  Ú	colBreaksiÿÿ )rh  r¦   rE  r§  rÿ  rª  )r(   r   r2  r´  r  s        r.   rI  zWorksheet._write_col_breaksq  s¢   € à×+Ò+¨D¬LÑ9Ô9ˆàð 	ØˆFå�KÑ Ô ˆð �eÐØ Ð'ð
ˆ
ð
 	×Ò˜K¨Ñ4Ô4Ð4à"ð 	.ð 	.ˆGØ�OŠO˜G WÑ-Ô-Ð-Ð-à×Ò˜+Ñ&Ô&Ð&Ð&Ð&r2   c                 óD   — d|fd|fdg}|                       d|¦  «         d S )Nr%  rþ  )Úmanr   Úbrk©r%  )r(   Úbrk_idÚbrk_maxr´  s       r.   rÿ  zWorksheet._write_brk†  s3   € à˜V�n u¨gÐ&6¸
ÐCˆ
à×Ò˜E :Ñ.Ô.Ð.Ð.Ð.r2   c                 óÎ   — | j         }t          |¦  «        }|sd S d|fg}|                      d|¦  «         |D ]}|                      |¦  «         Œ|                      d¦  «         d S )Nr2  Ú
mergeCells)rÄ   rE  r§  Ú_write_merge_cellrª  )r(   rÅ   r2  r´  Úmerged_ranges        r.   r@  zWorksheet._write_merge_cellsŒ  s†   € à”zˆÝ�LÑ!Ô!ˆàð 	ØˆFà Ð&Ð'ˆ
à×Ò˜L¨*Ñ5Ô5Ð5à(ð 	1ð 	1ˆLà×"Ò" <Ñ0Ô0Ð0Ð0à×Ò˜,Ñ'Ô'Ð'Ð'Ð'r2   c                 óš   — |\  }}}}t          ||¦  «        }t          ||¦  «        }|dz   |z   }d|fg}	|                      d|	¦  «         d S )Nr5   r:  Ú	mergeCell)r   r%  )
r(   r  Úrow_minr’  rÙ  rÚ  r9   r:   r:  r´  s
             r.   r  zWorksheet._write_merge_cellž  se   € à/;Ñ,ˆ�'˜7 Gõ # 7¨GÑ4Ô4ˆÝ" 7¨GÑ4Ô4ˆØ�s‰l˜VÑ#ˆà˜c�l�^ˆ
à×Ò˜K¨Ñ4Ô4Ð4Ð4Ð4r2   c                 ó¢  — g }d }t          | j                             ¦   «         ¦  «        }|sd S |D �]7}t          | j        |                              ¦   «         ¦  «        }|D �]}| j        |         |         }|d         }| j        rK| j        |         r>| j        |         |         r+| j        |         |         }	|	j        j        dk    r|d         }|dk    ra| xj        dz  c_        |                     |||| j        |d         ||d         g¦  «         | j                             d|d         dg¦  «         Œ×|                     ||||d         |d         |d         g¦  «         �Œ�Œ9|  	                    d	¦  «         |D ]8}
|
 
                    d
¦  «        }|dk    r | j        |
Ž  Œ(|dk    r
 | j        |
Ž  Œ9|                      d	¦  «         d S )Nr”  rK   r…  r   r1  r†  r�  rŽ  rÿ   r   rŠ  )r  rÿ   r‚  rÃ   r  r  rÝ   r¦  rà   r§  r¤  Ú_write_hyperlink_externalÚ_write_hyperlink_internalrª  )r(   rß   Údisplayrè  r  ré  r  Úlinkr”  r  r)   s              r.   rC  zWorksheet._write_hyperlinks«  s@  € ð ˆ
Øˆõ ˜$œ/×.Ò.Ñ0Ô0Ñ1Ô1ˆð ð 	ØˆFð  ð 0	ñ 0	ˆGå˜dœo¨gÔ6×;Ò;Ñ=Ô=Ñ>Ô>ˆHð $ð +ñ +�à” wÔ/°Ô8�Ø  Ô-�	ð ”:ð . $¤*¨WÔ"5ð .¸$¼*ÀWÔ:MÈgÔ:Vð .Øœ: gÔ.¨wÔ7�DØ”~Ô.°(Ò:Ð:Ø"& u¤+˜à ’>�>à�N”N aÑ'�N”Nà×%Ò%à%Ø#Ø#Ø œNØ  œKØ#Ø  œKðñ
ô 
ð 
ð Ô-×4Ò4Ø% t¨E¤{°JÐ?ñô ð ð ð
 ×%Ò%à%Ø#Ø#Ø  œKØ  œKØ  œKðñ	ô 	ð 	ñ 	ñE+ð\ 	×Ò˜LÑ)Ô)Ð)àð 	6ð 	6ˆDØŸš ™œˆIà˜AŠ~ˆ~Ø.�Ô.°Ð5Ð5Ð5Ø˜a’�Ø.�Ô.°Ð5Ð5øà×Ò˜,Ñ'Ô'Ð'Ð'Ð'r2   c                 ó  — t          ||¦  «        }dt          |¦  «        z   }d|fd|fg}	|�|	                     d|f¦  «         |�|	                     d|f¦  «         |�|	                     d|f¦  «         |                      d|	¦  «         d S )NÚrIdr:  úr:idrQ  r  Útooltipr3  )r   r1  r¦  r%  )
r(   r%  rF   Úid_numrQ  r  r  r:  Úr_idr´  s
             r.   r  z#Worksheet._write_hyperlink_externalù  s®   € õ    SÑ)Ô)ˆØ•s˜6‘{”{Ñ"ˆà˜c�l V¨T NÐ3ˆ
àÐØ×Ò˜z¨8Ð4Ñ5Ô5Ð5ØÐØ×Ò˜y¨'Ð2Ñ3Ô3Ð3ØÐØ×Ò˜y¨'Ð2Ñ3Ô3Ð3à×Ò˜K¨Ñ4Ô4Ð4Ð4Ð4r2   c                 óÂ   — t          ||¦  «        }d|fd|fg}|�|                     d|f¦  «         |                     d|f¦  «         |                      d|¦  «         d S )Nr:  rQ  r  r  r3  )r   r¦  r%  )r(   r%  rF   rQ  r  r  r:  r´  s           r.   r  z#Worksheet._write_hyperlink_internal  sz   € õ    SÑ)Ô)ˆà˜c�l Z°Ð$:Ð;ˆ
àÐØ×Ò˜y¨'Ð2Ñ3Ô3Ð3Ø×Ò˜9 gÐ.Ñ/Ô/Ð/à×Ò˜K¨Ñ4Ô4Ð4Ð4Ð4r2   c                 óè   — | j         sd S d| j         fg}| j        rA|                      d|¦  «         |                      ¦   «          |                      d¦  «         d S |                      d|¦  «         d S )Nr:  Ú
autoFilter)rÓ   rÕ   r§  Ú_write_autofiltersrª  r%  rz  s     r.   r?  zWorksheet._write_auto_filter  sŒ   € àÔ"ð 	ØˆFà˜dÔ1Ð2Ð3ˆ
àŒ>ð 	:à×Ò ¨jÑ9Ô9Ð9Ø×#Ò#Ñ%Ô%Ð%Ø×Ò˜lÑ+Ô+Ð+Ð+Ð+ð ×Ò ¨jÑ9Ô9Ð9Ð9Ð9r2   c                 óÂ   — | j         \  }}t          ||dz   ¦  «        D ]@}|| j        vrŒ| j        |         }| j        |         }|                      ||z
  ||¦  «         ŒAd S r  )rÔ   rw  rÖ   r×   Ú_write_filter_column)r(   Úcol1Úcol2rF   r®  r×   s         r.   r  zWorksheet._write_autofilters*  s‰   € ð Ô(‰ˆˆtå˜˜t a™xÑ(Ô(ð 
	Gð 
	GˆCà˜$Ô*Ð*Ð*Øð Ô% cÔ*ˆFØÔ*¨3Ô/ˆKð ×%Ò% c¨D¡j°+¸vÑFÔFÐFÐFð
	Gð 
	Gr2   c                 óÈ   — d|fg}|                       d|¦  «         |dk    r|                      |¦  «         n|                      |¦  «         |                      d¦  «         d S )NÚcolIdÚfilterColumnr   )r§  Ú_write_filtersÚ_write_custom_filtersrª  )r(   r>  r×   rJ  r´  s        r.   r   zWorksheet._write_filter_column;  sw   € à Ð'Ð(ˆ
à×Ò˜N¨JÑ7Ô7Ð7à˜!ÒÐà×Ò Ñ(Ô(Ð(Ð(ð ×&Ò& wÑ/Ô/Ð/à×Ò˜.Ñ)Ô)Ð)Ð)Ð)r2   c                 óˆ  — d„ |D ¦   «         }g }t          |¦  «        t          |¦  «        k    rdg}t          |¦  «        dk    r+t          |¦  «        dk    r|                      d|¦  «         d S |                      d|¦  «         t          |¦  «        D ]}|                      |¦  «         Œ|                      d¦  «         d S )Nc                 ó\   — g | ])}t          |¦  «                             ¦   «         d k    ¯'|‘Œ*S )rµ  )r1  r6  )rE   Úfilters     r.   rG   z,Worksheet._write_filters.<locals>.<listcomp>L  s4   € ÐVÐVÐV µc¸&±k´k×6GÒ6GÑ6IÔ6IÈXÒ6UÐ6U�fÐ6UÐ6UÐ6Ur2   )rW  r   r   r   rJ  )rE  r%  r§  r  Ú_write_filterrª  )r(   rJ  Ú
non_blanksr´  r;  s        r.   r&  zWorksheet._write_filtersJ  sÕ   € àVÐV¨7ÐVÑVÔVˆ
Øˆ
åˆw‰<Œ<�3˜z™?œ?Ò*Ð*Ø&˜ˆJåˆw‰<Œ<˜1ÒÐ¥ Z¡¤°AÒ!5Ð!5à×Ò 	¨:Ñ6Ô6Ð6Ð6Ð6ð ×Ò 	¨:Ñ6Ô6Ð6å$ ZÑ0Ô0ð /ð /�
Ø×"Ò" :Ñ.Ô.Ð.Ð.à×Ò˜iÑ(Ô(Ð(Ð(Ð(r2   c                 ó<   — d|fg}|                       d|¦  «         d S )Nr  r*  r  rA  s      r.   r+  zWorksheet._write_filter^  s)   € à˜c�l�^ˆ
à×Ò˜H jÑ1Ô1Ð1Ð1Ð1r2   c                 ó   — t          |¦  «        dk    r6|                      d¦  «          | j        |Ž  |                      d¦  «         d S g }|d         dk    rdg}ndg}|                      d|¦  «         |                      |d         |d         ¦  «         |                      |d         |d         ¦  «         |                      d¦  «         d S )	NrŠ  ÚcustomFiltersr   )Úandr   )r0  r   r   rZ   r?  )rE  r§  Ú_write_custom_filterrª  )r(   r®  r´  s      r.   r'  zWorksheet._write_custom_filtersd  så   € åˆv‰;Œ;˜!ÒÐà×Ò Ñ0Ô0Ð0Ø%ˆDÔ% vÐ.Ð.Ø×Ò˜oÑ.Ô.Ð.Ð.Ð.ð ˆJð �aŒy˜AŠ~ˆ~Ø(˜\�
�
à(˜\�
ð ×Ò °Ñ<Ô<Ð<Ø×%Ò% f¨Q¤i°¸´Ñ;Ô;Ð;Ø×%Ò% f¨Q¤i°¸´Ñ;Ô;Ð;Ø×Ò˜oÑ.Ô.Ð.Ð.Ð.r2   c                 óø   — g }ddddddddœ}||         �	||         }nt          d|z  ¦  «         |dk    r|                     d	|f¦  «         |                     d
|f¦  «         |                      d|¦  «         d S )Nrp  rf  rv  rm  ri  rs  )r   rŠ  rZ   r?  r  rw  r|  zUnknown operator = %sr~  r  ÚcustomFilter)r   r¦  r%  )r(   r~  r  r´  r}  s        r.   r1  zWorksheet._write_custom_filter{  s±   € àˆ
ð ØØ ØØØ#Øð
ð 
ˆ	ð �XÔÐ*Ø  Ô*ˆHˆHåÐ(¨8Ñ3Ñ4Ô4Ð4ð �wÒÐØ×Ò˜z¨8Ð4Ñ5Ô5Ð5Ø×Ò˜5 #˜,Ñ'Ô'Ð'à×Ò˜N¨JÑ7Ô7Ð7Ð7Ð7r2   c                 óz  — g }| j         sd S | j         }|d         r|                     d|d         f¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         |d         s|                     d¦  «         |d         s|                     d	¦  «         |d
         r|                     d¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         |d         s|                     d¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         |d          r|                     d!¦  «         |d"         s|                     d#¦  «         |                      d$|¦  «         d S )%Nr³  r£  )r£  r   r¤  )r¤  r   r¥  )r¥  r   r¦  )r¦  r   r§  )ÚformatCellsr   r¨  )ÚformatColumnsr   r©  )Ú
formatRowsr   rª  )ÚinsertColumnsr   r«  )Ú
insertRowsr   r¬  )ÚinsertHyperlinksr   r­  )ÚdeleteColumnsr   r®  )Ú
deleteRowsr   r¯  )ÚselectLockedCellsr   r°  )r°  r   r;  )r  r   r±  )ÚpivotTablesr   r²  )ÚselectUnlockedCellsr   ÚsheetProtection)r§   r¦  r%  )r(   r´  rÐ  s      r.   r<  z!Worksheet._write_sheet_protection–  s«  € àˆ
àÔ#ð 	ØˆFàÔ&ˆà�:Ôð 	AØ×Ò˜z¨7°:Ô+>Ð?Ñ@Ô@Ð@Ø�7Ôð 	,Ø×Ò˜lÑ+Ô+Ð+Ø�9Ôð 	.Ø×Ò˜nÑ-Ô-Ð-Ø�yÔ!ð 	.Ø×Ò˜nÑ-Ô-Ð-Ø�{Ô#ð 	0Ø×ÒÐ.Ñ/Ô/Ð/Ø�>Ô"ð 	2Ø×ÒÐ0Ñ1Ô1Ð1ØÐ#Ô$ð 	4Ø×ÒÐ2Ñ3Ô3Ð3Ø�=Ô!ð 	1Ø×ÒÐ/Ñ0Ô0Ð0ØÐ#Ô$ð 	4Ø×ÒÐ2Ñ3Ô3Ð3Ø�=Ô!ð 	1Ø×ÒÐ/Ñ0Ô0Ð0ØÐ&Ô'ð 	7Ø×ÒÐ5Ñ6Ô6Ð6ØÐ#Ô$ð 	4Ø×ÒÐ2Ñ3Ô3Ð3Ø�=Ô!ð 	1Ø×ÒÐ/Ñ0Ô0Ð0ØÐ,Ô-ð 	8Ø×ÒÐ6Ñ7Ô7Ð7Ø�6Œ?ð 	+Ø×Ò˜kÑ*Ô*Ð*Ø�<Ô ð 	1Ø×ÒÐ/Ñ0Ô0Ð0Ø�>Ô"ð 	2Ø×ÒÐ0Ñ1Ô1Ð1ØÐ.Ô/ð 	:Ø×ÒÐ8Ñ9Ô9Ð9à×ÒÐ-¨zÑ:Ô:Ð:Ð:Ð:r2   c                 ó¾   — | j         dk    rd S |                      d¦  «         | j        D ]\  }}}|                      |||¦  «         Œ|                      d¦  «         d S )Nr   ÚprotectedRanges)r©   r§  r¨   Ú_write_protected_rangerª  r¹  s       r.   r=  z!Worksheet._write_protected_rangesÆ  s{   € àÔ$¨Ò)Ð)ØˆFà×ÒÐ-Ñ.Ô.Ð.à04Ô0Eð 	Jð 	JÑ,ˆJ˜
 HØ×'Ò'¨
°JÀÑIÔIÐIÐIà×ÒÐ+Ñ,Ô,Ð,Ð,Ð,r2   c                 óÄ   — g }|r|                      d|f¦  «         |                      d|f¦  «         |                      d|f¦  «         |                      d|¦  «         d S )Nr³  rƒ  rg   ÚprotectedRange©r¦  r%  )r(   ry  rº  r³  r´  s        r.   rC  z Worksheet._write_protected_rangeÒ  sw   € àˆ
àð 	6Ø×Ò˜z¨8Ð4Ñ5Ô5Ð5à×Ò˜7 JÐ/Ñ0Ô0Ð0Ø×Ò˜6 :Ð.Ñ/Ô/Ð/à×ÒÐ,¨jÑ9Ô9Ð9Ð9Ð9r2   c                 ól   — | j         sd S | xj        dz  c_        |                      | j        ¦  «         d S r  )rî   rÝ   Ú_write_drawingré  s    r.   rK  zWorksheet._write_drawingsÞ  s=   € àŒ|ð 	ØˆFàˆŒ˜!ÑˆŒØ×Ò˜DœNÑ+Ô+Ð+Ð+Ð+r2   c                 ó`   — dt          |¦  «        z   }d|fg}|                      d|¦  «         d S )Nr  r  rî   ©r1  r%  )r(   rš  r  r´  s       r.   rH  zWorksheet._write_drawingæ  s:   € à•s˜:‘”Ñ&ˆà˜t�nÐ%ˆ
à×Ò˜I zÑ2Ô2Ð2Ð2Ð2r2   c                 óœ   — | j         sd S | xj        dz  c_        dt          | j        ¦  «        z   }d|fg}|                      d|¦  «         d S )Nr   r  r  ÚlegacyDrawing)rÈ   rÝ   r1  r%  ©r(   r  r´  s      r.   rL  zWorksheet._write_legacy_drawingî  s_   € àŒ|ð 	ØˆFð 	ˆŒ˜!ÑˆŒØ•s˜4œ>Ñ*Ô*Ñ*ˆà˜t�nÐ%ˆ
à×Ò˜O¨ZÑ8Ô8Ð8Ð8Ð8r2   c                 óœ   — | j         sd S | xj        dz  c_        dt          | j        ¦  «        z   }d|fg}|                      d|¦  «         d S )Nr   r  r  ÚlegacyDrawingHF)rÉ   rÝ   r1  r%  rM  s      r.   rM  z"Worksheet._write_legacy_drawing_hfû  sa   € àÔ"ð 	ØˆFð 	ˆŒ˜!ÑˆŒØ•s˜4œ>Ñ*Ô*Ñ*ˆà˜t�nÐ%ˆ
à×ÒÐ-¨zÑ:Ô:Ð:Ð:Ð:r2   c                 óœ   — | j         sd S | xj        dz  c_        dt          | j        ¦  «        z   }d|fg}|                      d|¦  «         d S )Nr   r  r  Úpicture)ró   rÝ   r1  r%  rM  s      r.   rN  zWorksheet._write_picture  s`   € àÔ$ð 	ØˆFð 	ˆŒ˜!ÑˆŒØ•s˜4œ>Ñ*Ô*Ñ*ˆà˜t�nÐ%ˆ
à×Ò˜I zÑ2Ô2Ð2Ð2Ð2r2   c                 óÎ   — | j         }t          |¦  «        }|sd S d|fg}|                      d|¦  «         |D ]}|                      |¦  «         Œ|                      d¦  «         d S )Nr2  ÚdataValidations)r÷   rE  r§  Ú_write_data_validationrª  )r(   r÷   r2  r´  Ú
validations        r.   rB  z!Worksheet._write_data_validations  s‰   € àÔ&ˆÝ�KÑ Ô ˆàð 	ØˆFà Ð&Ð'ˆ
à×ÒÐ-¨zÑ:Ô:Ð:à%ð 	4ð 	4ˆJà×'Ò'¨
Ñ3Ô3Ð3Ð3à×ÒÐ+Ñ,Ô,Ð,Ð,Ð,r2   c                 ó<  — d}g }|d         D ]=}|dk    r|dz  }|\  }}}}||k    r||}}||k    r||}}|t          ||||¦  «        z  }Œ>|                     d¦  «        r|d         }|d         dk    rF|                     d|d         f¦  «         |d         d	k    r|                     d
|d         f¦  «         d|v rB|d         dk    r|                     d¦  «         |d         dk    r|                     d¦  «         |d         r|                     d¦  «         |d         s|                     d¦  «         |d         r|                     d¦  «         |d         r|                     d¦  «         d|v r|                     d|d         f¦  «         d|v r|                     d|d         f¦  «         d|v r|                     d|d         f¦  «         d|v r|                     d|d         f¦  «         |                     d |f¦  «         |d         dk    r|                      d!|¦  «         d S |                      d!|¦  «         |                      |d"         ¦  «         |d#         �|                      |d#         ¦  «         |                      d!¦  «         d S )$NrY   r  r!  rV  rP  r[  r8  rC  rb  r~  rQ  r   )Ú
errorStylery  rŠ  )rW  rz  rX  )Ú
allowBlankr   rO  )ÚshowDropDownr   rS  )ÚshowInputMessager   rR  )ÚshowErrorMessager   rT  Ú
errorTitlerY  rq  rU  ÚpromptTitlerZ  Úpromptrƒ  ÚdataValidationr^  rM  )r   rË  r¦  r%  r§  Ú_write_formula_1Ú_write_formula_2rª  )	r(   rÐ  rƒ  r´  r  Ú	row_firstrE  Úrow_lastrF  s	            r.   rT  z Worksheet._write_data_validation'  s<  € àˆØˆ
ð ˜WÔ%ð 	Hð 	HˆEà˜Š{ˆ{Ø˜‘�à9>Ñ6ˆY˜	 8¨Xð ˜8Ò#Ð#Ø)1°9˜H�à˜8Ò#Ð#Ø)1°9˜H�à•X˜i¨°H¸hÑGÔGÑGˆEˆEà�;Š;�}Ñ%Ô%ð 	+Ø˜MÔ*ˆEà�:Ô &Ò(Ð(Ø×Ò˜v w¨zÔ':Ð;Ñ<Ô<Ð<à�zÔ" iÒ/Ð/Ø×!Ò! :¨w°zÔ/BÐ"CÑDÔDÐDà˜7Ð"Ð"Ø�|Ô$¨Ò)Ð)Ø×!Ò!Ð";Ñ<Ô<Ð<Ø�|Ô$¨Ò)Ð)Ø×!Ò!Ð"?Ñ@Ô@Ð@à�>Ô"ð 	1Ø×ÒÐ/Ñ0Ô0Ð0à�zÔ"ð 	3Ø×ÒÐ1Ñ2Ô2Ð2à�<Ô ð 	7Ø×ÒÐ5Ñ6Ô6Ð6à�<Ô ð 	7Ø×ÒÐ5Ñ6Ô6Ð6à˜GÐ#Ð#Ø×Ò˜|¨W°]Ô-CÐDÑEÔEÐEà˜gÐ%Ð%Ø×Ò˜w¨°Ô(@ÐAÑBÔBÐBà˜GÐ#Ð#Ø×Ò˜}¨g°mÔ.DÐEÑFÔFÐFà˜gÐ%Ð%Ø×Ò˜x¨°Ô)AÐBÑCÔCÐCà×Ò˜7 EÐ*Ñ+Ô+Ð+à�:Ô &Ò(Ð(Ø×ÒÐ 0°*Ñ=Ô=Ð=Ð=Ð=à×ÒÐ 0°*Ñ=Ô=Ð=ð ×!Ò! '¨'Ô"2Ñ3Ô3Ð3ð �yÔ!Ð-Ø×%Ò% g¨iÔ&8Ñ9Ô9Ð9à×ÒÐ.Ñ/Ô/Ð/Ð/Ð/r2   c                 ó  — t          |t          ¦  «        r | j        |Ž }d|z  }nK	 t          |¦  «         n:# t          $ r- |                     d¦  «        r|                     d¦  «        }Y nw xY w|                      d|¦  «         d S )Nz"%s"r  Úformula1)r7  r£  rƒ  r!  r'   r  r	  r©  ©r(   r]  s     r.   r`  zWorksheet._write_formula_1t  s¤   € õ �g�tÑ$Ô$ð 
	2Ø$�d”n gÐ.ˆGØ˜wÑ&ˆGˆGð2Ý�g‘”��øÝð 2ð 2ð 2à×%Ò% cÑ*Ô*ð 2Ø%Ÿnšn¨SÑ1Ô1�Gøøð2øøøð
 	×Ò˜z¨7Ñ3Ô3Ð3Ð3Ð3s   §7 ·4A.Á-A.c                 óÈ   — 	 t          |¦  «         n:# t          $ r- |                     d¦  «        r|                     d¦  «        }Y nw xY w|                      d|¦  «         d S )Nr  Úformula2©r!  r'   r  r	  r©  rf  s     r.   ra  zWorksheet._write_formula_2…  sv   € ð	.Ý�'‰NŒNˆNˆNøÝð 	.ð 	.ð 	.à×!Ò! #Ñ&Ô&ð .Ø!Ÿ.š.¨Ñ-Ô-�øøð	.øøøð
 	×Ò˜z¨7Ñ3Ô3Ð3Ð3Ð3ó   ‚ ’4A	ÁA	c                 ó¦   — t          | j                             ¦   «         ¦  «        }|sd S |D ]#}|                      || j        |         ¦  «         Œ$d S rU  )r  rø   r‚  Ú_write_conditional_formatting)r(   rf  Ú
cond_ranges      r.   rA  z$Worksheet._write_conditional_formats’  sn   € å˜Ô)×.Ò.Ñ0Ô0Ñ1Ô1ˆàð 	ØˆFà ð 	ð 	ˆJØ×.Ò.Ø˜DÔ-¨jÔ9ñô ð ð ð	ð 	r2   c                 óš   — d|fg}|                       d|¦  «         |D ]}|                      |¦  «         Œ|                      d¦  «         d S )Nrƒ  ÚconditionalFormatting)r§  Ú_write_cf_rulerª  )r(   rm  rØ  r´  Úparams        r.   rl  z'Worksheet._write_conditional_formattingž  sg   € à 
Ð+Ð,ˆ
Ø×ÒÐ3°ZÑ@Ô@Ð@Øð 	'ð 	'ˆEà×Ò Ñ&Ô&Ð&Ð&Ø×ÒÐ1Ñ2Ô2Ð2Ð2Ð2r2   c                 óÀ  — d|d         fg}d|v r%|d         �|                      d|d         f¦  «         |                      d|d         f¦  «         |                     d¦  «        r|                      d¦  «         |d         dk    r¤|                      d|d	         f¦  «         |                      d
|¦  «         d|v r;d|v r7|                      |d         ¦  «         |                      |d         ¦  «         n|                      |d         ¦  «         |                      d
¦  «         d S |d         dk    rØt          j        d|d	         ¦  «        r|                      d¦  «         t          j        d|d	         ¦  «        r|                      d¦  «         t          j        d|d	         ¦  «        rEt          j        d|d	         ¦  «        }|                      d|                     d¦  «        f¦  «         |                      d
|¦  «         d S |d         dk    rwd	|v r!|d	         dk    r|                      d¦  «         d|v r|                      d¦  «         |d         pd}|                      d|f¦  «         |                      d
|¦  «         d S |d         dk    r|                      d
|¦  «         d S |d         dk    r|                      d
|¦  «         d S |d         d k    s$|d         d!k    s|d         d"k    s|d         d#k    r‚|                      d|d	         f¦  «         |                      d$|d         f¦  «         |                      d
|¦  «         |                      |d%         ¦  «         |                      d
¦  «         d S |d         d&k    re|                      d&|d	         f¦  «         |                      d
|¦  «         |                      |d%         ¦  «         |                      d
¦  «         d S |d         d'k    s$|d         d(k    s|d         d)k    s|d         d*k    rH|                      d
|¦  «         |                      |d%         ¦  «         |                      d
¦  «         d S |d         d+k    rB|                      d
|¦  «         |  	                    |¦  «         |                      d
¦  «         d S |d         d,k    rl|                      d
|¦  «         |  
                    |¦  «         |                     d-¦  «        r|                      |¦  «         |                      d
¦  «         d S |d         d.k    rH|                      d
|¦  «         |                      |d	         ¦  «         |                      d
¦  «         d S |d         d/k    rB|                      d
|¦  «         |                      |¦  «         |                      d
¦  «         d S d S )0Nr8  rN   ÚdxfIdrø  r�  )Ú
stopIfTruer   r©  r~  rC  ÚcfRulerN  rM  r^  r«  Úbelow)r«  r   rf  )ÚequalAverager   z[123] std devz([123]) std devr0  r   r±  rz  )rM  r   rÄ  )r²  r   r—  Úrankr­  r¯  rÆ  rú  rÈ  rÉ  rÞ  r]  r´  r¶  r¸  rº  r¼  rü  rÀ  rù  rÁ  rÂ  )r¦  rË  r§  Ú_write_formula_elementrª  r  rc  Úgroupr%  Ú_write_color_scaleÚ_write_data_barÚ_write_data_bar_extÚ_write_icon_set)r(   rØ  r´  r  rx  s        r.   rp  zWorksheet._write_cf_rule§  sa  € à˜v fœ~Ð.Ð/ˆ
à�vÐÐ &¨Ô"2Ð">Ø×Ò˜w¨¨xÔ(8Ð9Ñ:Ô:Ð:à×Ò˜: v¨jÔ'9Ð:Ñ;Ô;Ð;à�:Š:�nÑ%Ô%ð 	1Ø×ÒÐ/Ñ0Ô0Ð0à�&Œ>˜XÒ%Ð%Ø×Ò˜z¨6°*Ô+=Ð>Ñ?Ô?Ð?à×Ò ¨*Ñ5Ô5Ð5à˜FÐ"Ð" y°FÐ':Ð':Ø×+Ò+¨F°9Ô,=Ñ>Ô>Ð>Ø×+Ò+¨F°9Ô,=Ñ>Ô>Ð>Ð>à×+Ò+¨F°7¬OÑ<Ô<Ð<à×Ò˜hÑ'Ô'Ð'Ð'Ð'à�FŒ^˜~Ò-Ð-ÝŒy˜ &¨Ô"4Ñ5Ô5ð 7Ø×!Ò!Ð"5Ñ6Ô6Ð6åŒy˜ &¨Ô"4Ñ5Ô5ð 7Ø×!Ò!Ð"5Ñ6Ô6Ð6åŒy˜¨&°Ô*<Ñ=Ô=ð >Ýœ	Ð"3°V¸JÔ5GÑHÔH�Ø×!Ò! 8¨U¯[ª[¸©^¬^Ð"<Ñ=Ô=Ð=à×Ò ¨*Ñ5Ô5Ð5Ð5Ð5à�FŒ^˜wÒ&Ð&Ø˜VÐ#Ð#¨¨zÔ(:¸cÒ(AÐ(AØ×!Ò! .Ñ1Ô1Ð1à˜fÐ$Ð$Ø×!Ò! -Ñ0Ô0Ð0à˜'”?Ð( bˆDØ×Ò˜v t˜nÑ-Ô-Ð-à×Ò ¨*Ñ5Ô5Ð5Ð5Ð5à�FŒ^Ð0Ò0Ð0Ø×Ò ¨*Ñ5Ô5Ð5Ð5Ð5à�FŒ^˜~Ò-Ð-Ø×Ò ¨*Ñ5Ô5Ð5Ð5Ð5ð �6ŒN˜nÒ,Ð,Ø�fŒ~Ð!2Ò2Ð2Ø�fŒ~ Ò-Ð-Ø�fŒ~ Ò+Ð+à×Ò˜z¨6°*Ô+=Ð>Ñ?Ô?Ð?Ø×Ò˜v v¨g¤Ð7Ñ8Ô8Ð8Ø×Ò ¨*Ñ5Ô5Ð5Ø×'Ò'¨¨yÔ(9Ñ:Ô:Ð:Ø×Ò˜hÑ'Ô'Ð'Ð'Ð'à�FŒ^˜|Ò+Ð+Ø×Ò˜|¨V°JÔ-?Ð@ÑAÔAÐAØ×Ò ¨*Ñ5Ô5Ð5Ø×'Ò'¨¨yÔ(9Ñ:Ô:Ð:Ø×Ò˜hÑ'Ô'Ð'Ð'Ð'ð �6ŒNÐ.Ò.Ð.Ø�fŒ~Ð!4Ò4Ð4Ø�fŒ~Ð!1Ò1Ð1Ø�fŒ~Ð!4Ò4Ð4à×Ò ¨*Ñ5Ô5Ð5Ø×'Ò'¨¨yÔ(9Ñ:Ô:Ð:Ø×Ò˜hÑ'Ô'Ð'Ð'Ð'à�FŒ^˜|Ò+Ð+Ø×Ò ¨*Ñ5Ô5Ð5Ø×#Ò# FÑ+Ô+Ð+Ø×Ò˜hÑ'Ô'Ð'Ð'Ð'à�FŒ^˜yÒ(Ð(Ø×Ò ¨*Ñ5Ô5Ð5Ø× Ò  Ñ(Ô(Ð(à�zŠzÐ,Ñ-Ô-ð 1Ø×(Ò(¨Ñ0Ô0Ð0à×Ò˜hÑ'Ô'Ð'Ð'Ð'à�FŒ^˜|Ò+Ð+Ø×Ò ¨*Ñ5Ô5Ð5Ø×'Ò'¨¨zÔ(:Ñ;Ô;Ð;Ø×Ò˜hÑ'Ô'Ð'Ð'Ð'à�FŒ^˜yÒ(Ð(Ø×Ò ¨*Ñ5Ô5Ð5Ø× Ò  Ñ(Ô(Ð(Ø×Ò˜hÑ'Ô'Ð'Ð'Ð'ð )Ð(r2   c                 óÈ   — 	 t          |¦  «         n:# t          $ r- |                     d¦  «        r|                     d¦  «        }Y nw xY w|                      d|¦  «         d S )Nr  r]  ri  rf  s     r.   ry  z Worksheet._write_formula_element  sv   € ð	.Ý�'‰NŒNˆNˆNøÝð 	.ð 	.ð 	.à×!Ò! #Ñ&Ô&ð .Ø!Ÿ.š.¨Ñ-Ô-�øøð	.øøøð
 	×Ò˜y¨'Ñ2Ô2Ð2Ð2Ð2rj  c                 óî  — |                       d¦  «         |                      |d         |d         ¦  «         |d         �"|                      |d         |d         ¦  «         |                      |d         |d         ¦  «         |                      d|d	         ¦  «         |d
         �|                      d|d
         ¦  «         |                      d|d         ¦  «         |                      d¦  «         d S )Nrü  r�  r˜  r�  r–  rŽ  r”  r  r—  r•  r“  )r§  Ú_write_cfvor.  rª  )r(   rq  s     r.   r{  zWorksheet._write_color_scale   sù   € ð 	×Ò˜LÑ)Ô)Ð)à×Ò˜˜zÔ*¨E°+Ô,>Ñ?Ô?Ð?à�ÔÐ(Ø×Ò˜U :Ô.°°kÔ0BÑCÔCÐCà×Ò˜˜zÔ*¨E°+Ô,>Ñ?Ô?Ð?à×Ò˜%  {Ô!3Ñ4Ô4Ð4à�ÔÐ)Ø×Ò˜e U¨;Ô%7Ñ8Ô8Ð8à×Ò˜%  {Ô!3Ñ4Ô4Ð4à×Ò˜,Ñ'Ô'Ð'Ð'Ð'r2   c                 ó<  — g }|                      d¦  «        r|                     d|d         f¦  «         |                      d¦  «        r|                     d|d         f¦  «         |                      d¦  «        r|                     d¦  «         |                      d|¦  «         |                      |d         |d	         ¦  «         |                      |d
         |d         ¦  «         |                      d|d         ¦  «         |                      d¦  «         d S )Nrœ  Ú	minLengthr›  Ú	maxLengthr�  ©Ú	showValuer   rÀ  r�  r˜  rŽ  r”  r  r‘  )rË  r¦  r§  r�  r.  rª  )r(   rq  r´  s      r.   r|  zWorksheet._write_data_bar5  s#  € àˆ
ð �9Š9�\Ñ"Ô"ð 	BØ×Ò˜{¨E°,Ô,?Ð@ÑAÔAÐAà�9Š9�\Ñ"Ô"ð 	BØ×Ò˜{¨E°,Ô,?Ð@ÑAÔAÐAà�9Š9�ZÑ Ô ð 	0Ø×ÒÐ.Ñ/Ô/Ð/à×Ò˜I zÑ2Ô2Ð2à×Ò˜˜zÔ*¨E°+Ô,>Ñ?Ô?Ð?Ø×Ò˜˜zÔ*¨E°+Ô,>Ñ?Ô?Ð?Ø×Ò˜%  {Ô!3Ñ4Ô4Ð4à×Ò˜)Ñ$Ô$Ð$Ð$Ð$r2   c                 óh  — | j         dz   }t          | j        ¦  «        dz   }d||fz  }||d<   | j                             |¦  «         |                      d¦  «         |                      d¦  «         |                      d|¦  «         |                      d¦  «         |                      d¦  «         d S )Nr   z{DA7ABA51-AAAA-BBBB-%04X-%012X}ÚguidÚextLstz&{B025F937-C7B1-47D3-B67F-A62EFF666E3E}zx14:idÚext)rh   rE  rù   r¦  r§  Ú
_write_extr©  rª  )r(   rq  Úworksheet_countÚdata_bar_countrˆ  s        r.   r}  zWorksheet._write_data_bar_extL  sÀ   € ð œ* q™.ˆÝ˜TÔ0Ñ1Ô1°AÑ5ˆØ0°OÀ^Ð3TÑTˆð ˆˆf‰ØÔ×"Ò" 5Ñ)Ô)Ð)à×Ò˜HÑ%Ô%Ð%Ø�ŠÐ@ÑAÔAÐAØ×Ò˜x¨Ñ.Ô.Ð.Ø×Ò˜%Ñ Ô Ð Ø×Ò˜(Ñ#Ô#Ð#Ð#Ð#r2   c                 ó¸  — g }|d         dk    rd|d         fg}|                      d¦  «        r|                     d¦  «         |                      d¦  «        r|                     d¦  «         |                      d|¦  «         t          |d         ¦  «        D ]+}|                      |d	         |d
         |d         ¦  «         Œ,|                      d¦  «         d S )Nr™  rè  rÂ  rš  r…  r¡  )rP  r   rŒ  r8  r^  rC  )rË  r¦  r§  Úreversedr�  rª  )r(   rq  r´  Úicons       r.   r~  zWorksheet._write_icon_set^  sô   € àˆ
ð �ÔÐ"2Ò2Ð2Ø$ e¨LÔ&9Ð:Ð;ˆJà�9Š9�\Ñ"Ô"ð 	0Ø×ÒÐ.Ñ/Ô/Ð/à�9Š9�_Ñ%Ô%ð 	.Ø×Ò˜nÑ-Ô-Ð-à×Ò˜I zÑ2Ô2Ð2õ ˜U 7œ^Ñ,Ô,ð 	Lð 	LˆDØ×Ò˜T &œ\¨4°¬=¸$¸zÔ:JÑKÔKÐKÐKà×Ò˜)Ñ$Ô$Ð$Ð$Ð$r2   c                 óœ   — d|fg}|�|                      d|f¦  «         |r|                      d¦  «         |                      d|¦  «         d S )Nr8  r  )Úgter   ÚcfvorF  )r(   Úcf_typer  rC  r´  s        r.   r�  zWorksheet._write_cfvot  sd   € à˜wÐ'Ð(ˆ
àˆ?Ø×Ò˜u c˜lÑ+Ô+Ð+àð 	*Ø×Ò˜jÑ)Ô)Ð)à×Ò˜F JÑ/Ô/Ð/Ð/Ð/r2   c                 ó<   — ||fg}|                       d|¦  «         d S rC  r  rD  s       r.   r.  zWorksheet._write_color€  s)   € à˜U�m�_ˆ
à×Ò˜G ZÑ0Ô0Ð0Ð0Ð0r2   c                 ó.   — | j         D ]} | j        |Ž  Œd S rU  )rz   Ú_write_selection)r(   Ú	selections     r.   ry  zWorksheet._write_selections†  s0   € àœð 	.ð 	.ˆIØ!ˆDÔ! 9Ð-Ð-Ð-ð	.ð 	.r2   c                 óÌ   — g }|r|                      d|f¦  «         |r|                      d|f¦  «         |r|                      d|f¦  «         |                      d|¦  «         d S )Nr�  Ú
activeCellrƒ  r˜  rF  )r(   r�  r‚  rƒ  r´  s        r.   r—  zWorksheet._write_selection‹  s…   € àˆ
àð 	.Ø×Ò˜v t˜nÑ-Ô-Ð-àð 	;Ø×Ò˜|¨[Ð9Ñ:Ô:Ð:àð 	0Ø×Ò˜w¨Ð.Ñ/Ô/Ð/à×Ò˜K¨Ñ4Ô4Ð4Ð4Ð4r2   c                 óz   — | j         }t          |¦  «        sd S |d         dk    r | j        |Ž  d S  | j        |Ž  d S )Nr?  rŠ  )r   rE  Ú_write_split_panesÚ_write_freeze_panes)r(   r   s     r.   rx  zWorksheet._write_panesš  sU   € à”
ˆå�5‰zŒzð 	ØˆFà�Œ8�qŠ=ˆ=Ø#ˆDÔ# UÐ+Ð+Ð+Ð+à$ˆDÔ$ eÐ,Ð,Ð,Ð,r2   c                 ó@  — g }|}|}t          ||¦  «        }	d}
d}d}d}| j        r| j        d         \  }}}g | _        |r||rzd}
t          |d¦  «        }t          d|¦  «        }| j                             d||g¦  «         | j                             d||g¦  «         | j                             d||g¦  «         nA|r d}
| j                             d||g¦  «         nd}
| j                             d||g¦  «         |dk    rd}n|dk    rd}nd	}|r|                     d
|f¦  «         |r|                     d|f¦  «         |                     d|	f¦  «         |                     d|
f¦  «         |                     d|f¦  «         |                      d|¦  «         d S )NrY   r   ÚbottomRightÚtopRightÚ
bottomLeftÚfrozenr   ÚfrozenSplitr7   ÚxSplitÚySplitrq  Ú
activePaneÚstater�  )r   rz   r¦  r%  )r(   r%  rF   rŽ  r�  r�  r´  Úy_splitÚx_splitr~   r€   r§  r‚  rƒ  rH   Úrow_cellÚcol_cells                    r.   r�  zWorksheet._write_freeze_panes¦  s  € àˆ
àˆØˆÝ)¨'°8Ñ<Ô<ˆØˆØˆØˆØˆð Œ?ð 	!Ø&*¤o°aÔ&8Ñ#ˆQ�˜UØ ˆDŒOð ð 	G�3ð 	GØ'ˆKå(¨¨aÑ0Ô0ˆHÝ(¨¨CÑ0Ô0ˆHàŒO×"Ò" J°¸(Ð#CÑDÔDÐDØŒO×"Ò" L°(¸HÐ#EÑFÔFÐFØŒO×"Ò" M°;ÀÐ#FÑGÔGÐGÐGàð 	GØ$ˆKØŒO×"Ò" J°¸UÐ#CÑDÔDÐDÐDð 'ˆKØŒO×"Ò" L°+¸uÐ#EÑFÔFÐFð ˜Š>ˆ>ØˆEˆEØ˜!Š^ˆ^Ø!ˆEˆEàˆEàð 	3Ø×Ò˜x¨Ð1Ñ2Ô2Ð2àð 	3Ø×Ò˜x¨Ð1Ñ2Ô2Ð2à×Ò˜=¨-Ð8Ñ9Ô9Ð9Ø×Ò˜<¨Ð5Ñ6Ô6Ð6Ø×Ò˜7 EÐ*Ñ+Ô+Ð+à×Ò˜F JÑ/Ô/Ð/Ð/Ð/r2   c                 óö  — g }d}d}d}	d}
|}|}| j         r| j         d         \  }}	}
g | _         d}|rt          d|z  dz   ¦  «        }|r|                      |¦  «        }||k    rB||k    r<t          d|dz
  dz  dz  z   ¦  «        }t          d|dz
  dz  d	z  d
z  dz  z   ¦  «        }t          ||¦  «        }|s|}	|}
|r||rzd}t          |d¦  «        }t          d|¦  «        }| j                              d||g¦  «         | j                              d||g¦  «         | j                              d|	|
g¦  «         nA|r d}| j                              d|	|
g¦  «         nd}| j                              d|	|
g¦  «         |r|                     dd|z  f¦  «         |r|                     dd|z  f¦  «         |                     d|f¦  «         |r|                     d|f¦  «         |                      d|¦  «         d S )Nr   rY   r   r`   i,  r$  r_   é†  rZ   r?  rb   rŸ  r   r¡  r¤  r|  r¥  rq  r¦  r�  )rz   r&   Ú_calculate_x_split_widthr   r¦  r%  )r(   r%  rF   rŽ  r�  r�  r´  Úhas_selectionr€   r‚  rƒ  r¨  r©  rH   r~   rª  r«  s                    r.   rœ  zWorksheet._write_split_panesÞ  s‘  € àˆ
ØˆØˆØˆØˆàˆØˆð Œ?ð 	Ø&*¤o°aÔ&8Ñ#ˆQ�˜UØ ˆDŒOØˆMð ð 	.Ý˜"˜w™,¨Ñ,Ñ-Ô-ˆGàð 	=Ø×3Ò3°GÑ<Ô<ˆGð
 �cŠ>ˆ>˜h¨#šo˜oÝ˜# ¨3¡°"Ñ 4°rÑ 9Ñ9Ñ:Ô:ˆGÝ˜3 '¨C¡-°2Ñ!5¸Ñ!9¸AÑ!=ÀÑ!BÑBÑCÔCˆHå)¨'°8Ñ<Ô<ˆð ð 	"Ø'ˆKØ!ˆEð ð 	G�3ð 	GØ'ˆKå(¨°!Ñ4Ô4ˆHÝ(¨¨HÑ5Ô5ˆHàŒO×"Ò" J°¸(Ð#CÑDÔDÐDØŒO×"Ò" L°(¸HÐ#EÑFÔFÐFØŒO×"Ò" M°;ÀÐ#FÑGÔGÐGÐGàð 	GØ$ˆKØŒO×"Ò" J°¸UÐ#CÑDÔDÐDÐDð 'ˆKØŒO×"Ò" L°+¸uÐ#EÑFÔFÐFð ð 	=Ø×Ò˜x¨°7Ñ):Ð;Ñ<Ô<Ð<àð 	=Ø×Ò˜x¨°7Ñ):Ð;Ñ<Ô<Ð<à×Ò˜=¨-Ð8Ñ9Ô9Ð9àð 	;Ø×Ò˜|¨[Ð9Ñ:Ô:Ð:à×Ò˜F JÑ/Ô/Ð/Ð/Ð/r2   c                 ó    — d}d}|dk     rt          |||z   z  dz   ¦  «        }nt          ||z  dz   ¦  «        |z   }|dz  dz  }|dz  }|dz   }|S )	Nr  r  r   r$  rZ   r?  r`   r­  )r&   )r(   r  rÃ  rÄ  rÅ  ÚpointsÚtwipss          r.   r®  z"Worksheet._calculate_x_split_width%  s}   € ð ˆØˆð �1Š9ˆ9Ý˜ /°GÑ";Ñ<¸sÑBÑCÔCˆFˆFå˜ Ñ0°3Ñ6Ñ7Ô7¸'ÑAˆFð ˜!‘˜a‘ˆð ˜‘ˆð ˜‘ˆàˆr2   c                 óø   — | j         }t          |¦  «        }|sd S d|fg}|                      d|¦  «         |D ],}| xj        dz  c_        |                      | j        ¦  «         Œ-|                      d¦  «         d S )Nr2  Ú
tablePartsr   )rê   rE  r§  rÝ   Ú_write_table_partrª  )r(   rê   r2  r´  rH   s        r.   rO  zWorksheet._write_table_parts<  s¡   € à”ˆÝ�F‘”ˆð ð 	ØˆFð Øðð
ˆ
ð 	×Ò˜L¨*Ñ5Ô5Ð5àð 	3ð 	3ˆAàˆNŒN˜aÑˆNŒNØ×"Ò" 4¤>Ñ2Ô2Ð2Ð2à×Ò˜,Ñ'Ô'Ð'Ð'Ð'r2   c                 ó`   — dt          |¦  «        z   }d|fg}|                      d|¦  «         d S )Nr  r  Ú	tablePartrJ  rM  s      r.   rµ  zWorksheet._write_table_partU  sF   € ð •s˜4‘y”yÑ ˆð Øðð
ˆ
ð 	×Ò˜K¨Ñ4Ô4Ð4Ð4Ð4r2   c                 ó  — t          | j        ¦  «        }t          | j        ¦  «        }|s|sd S |                      d¦  «         |r|                      ¦   «          |r|                      ¦   «          |                      d¦  «         d S )Nr‰  )rE  rù   rë   r§  Ú_write_ext_list_data_barsÚ_write_ext_list_sparklinesrª  )r(   Úhas_data_barsÚhas_sparkliness      r.   rP  zWorksheet._write_ext_listc  s™   € å˜DÔ/Ñ0Ô0ˆÝ˜Tœ_Ñ-Ô-ˆàð 	 ^ð 	ØˆFð 	×Ò˜HÑ%Ô%Ð%àð 	-Ø×*Ò*Ñ,Ô,Ð,àð 	.Ø×+Ò+Ñ-Ô-Ð-à×Ò˜(Ñ#Ô#Ð#Ð#Ð#r2   c                 óì   — |                       d¦  «         |                      d¦  «         | j        D ]}|                      |¦  «         Œ|                      d¦  «         |                      d¦  «         d S )Nz&{78C0D931-6437-407d-A8EE-F0AAD7539E65}zx14:conditionalFormattingsrŠ  )r‹  r§  rù   Ú"_write_conditional_formatting_2010rª  )r(   r¿  s     r.   r¹  z#Worksheet._write_ext_list_data_barsv  s„   € à�ŠÐ@ÑAÔAÐAà×ÒÐ8Ñ9Ô9Ð9ð Ô+ð 	>ð 	>ˆHà×3Ò3°HÑ=Ô=Ð=Ð=à×ÒÐ6Ñ7Ô7Ð7Ø×Ò˜%Ñ Ô Ð Ð Ð r2   c                 ó  — d}d|fg}|                       d|¦  «         |                      |¦  «         |                      |¦  «         |                      |d         |d         ¦  «         |                      |d         |d         ¦  «         |d         s|                      |d	         ¦  «         |d
         s|                      |d         ¦  «         |d         s#|d         s|                      |d         ¦  «         |d         dk    r|                      |d         ¦  «         |                      d¦  «         |                      d¦  «         |  	                    d|d         ¦  «         |                      d¦  «         d S )Nú3http://schemas.microsoft.com/office/excel/2006/mainúxmlns:xmzx14:conditionalFormattingr  r˜  r  r”  rŸ  r£  r¦  r¥  r¨  r§  r¤  r[  r¢  úx14:dataBarú
x14:cfRuleúxm:sqrefrw  )
r§  Ú_write_x14_cf_ruleÚ_write_x14_data_barÚ_write_x14_cfvoÚ_write_x14_border_colorÚ_write_x14_negative_fill_colorÚ _write_x14_negative_border_colorÚ_write_x14_axis_colorrª  r©  )r(   r¿  Úxmlns_xmr´  s       r.   r¾  z,Worksheet._write_conditional_formatting_2010„  s´  € àHˆà! 8Ð,Ð-ˆ
à×ÒÐ7¸ÑDÔDÐDð 	×Ò Ñ)Ô)Ð)ð 	× Ò  Ñ*Ô*Ð*ð 	×Ò˜X nÔ5°xÀÔ7LÑMÔMÐMØ×Ò˜X nÔ5°xÀÔ7LÑMÔMÐMà˜Ô(ð 	Gà×(Ò(¨Ð2DÔ)EÑFÔFÐFð Ð1Ô2ð 	PØ×/Ò/°Ð9MÔ0NÑOÔOÐOð ˜Ô)ð	YàÐ=Ô>ð	Yð ×1Ò1°(Ð;VÔ2WÑXÔXÐXð Ð'Ô(¨FÒ2Ð2Ø×&Ò& xÐ0@Ô'AÑBÔBÐBà×Ò˜-Ñ(Ô(Ð(Ø×Ò˜,Ñ'Ô'Ð'ð 	×Ò˜z¨8°GÔ+<Ñ=Ô=Ð=à×ÒÐ5Ñ6Ô6Ð6Ð6Ð6r2   c                 óV   — d}|d         }d|fd|fg}|                       d|¦  «         d S )NrÀ  rˆ  r8  r%  rÃ  ©r§  )r(   r¿  Ú	rule_typerˆ  r´  s        r.   rÅ  zWorksheet._write_x14_cf_rule±  s@   € àˆ	Ø˜ÔˆØ˜yÐ)¨D°$¨<Ð8ˆ
à×Ò˜L¨*Ñ5Ô5Ð5Ð5Ð5r2   c                 óJ  — d}d}d|fd|fg}|d         s|                      d¦  «         |d         r|                      d¦  «         |d	         d
k    r|                      d¦  «         |d	         dk    r|                      d¦  «         |d         r|                      d¦  «         |d         s|d         s|                      d¦  «         |d         dk    r|                      d¦  «         |d         dk    r|                      d¦  «         |                      d|¦  «         d S )Nr   r^   rƒ  r„  rŸ  )Úborderr   r’  )Úgradientr   rž  rÕ  )rÄ  ÚleftToRightrÖ  )rÄ  rk  r¦  )ÚnegativeBarColorSameAsPositiver   r¨  )Ú$negativeBarBorderColorSameAsPositiver   r¤  Úmiddle)ÚaxisPositionrÖ  r[  )r×  r[  rÂ  )r¦  r§  )r(   r¿  rœ  r›  r´  s        r.   rÆ  zWorksheet._write_x14_data_bar¹  su  € àˆ
Øˆ
ð ˜*Ð%Ø˜*Ð%ð
ˆ
ð
 ˜Ô(ð 	-Ø×Ò˜mÑ,Ô,Ð,à�KÔ ð 	/Ø×Ò˜oÑ.Ô.Ð.à�OÔ$¨Ò.Ð.Ø×ÒÐ:Ñ;Ô;Ð;à�OÔ$¨Ò/Ð/Ø×ÒÐ:Ñ;Ô;Ð;àÐ-Ô.ð 	EØ×ÒÐCÑDÔDÐDð ˜Ô)ð	KàÐ=Ô>ð	Kð ×ÒÐIÑJÔJÐJàÐ'Ô(¨HÒ4Ð4Ø×ÒÐ8Ñ9Ô9Ð9àÐ'Ô(¨FÒ2Ð2Ø×ÒÐ6Ñ7Ô7Ð7à×Ò˜M¨:Ñ6Ô6Ð6Ð6Ð6r2   c                 óÊ   — d|fg}|dv r|                       d|¦  «         d S |                      d|¦  «         |                      d|¦  «         |                      d¦  «         d S )Nr8  )rý  rþ  r  r  zx14:cfvoúxm:f)r%  r§  r©  rª  )r(   rÏ  r^  r´  s       r.   rÇ  zWorksheet._write_x14_cfvoà  s}   € à˜yÐ)Ð*ˆ
àÐ<Ð<Ð<Ø×Ò 
¨JÑ7Ô7Ð7Ð7Ð7à×Ò 
¨JÑ7Ô7Ð7Ø×"Ò" 6¨5Ñ1Ô1Ð1Ø×Ò˜jÑ)Ô)Ð)Ð)Ð)r2   c                 ó<   — d|fg}|                       d|¦  «         d S )Nr  zx14:borderColorr  ©r(   r  r´  s      r.   rÈ  z!Worksheet._write_x14_border_colorë  s*   € à˜c�l�^ˆ
Ø×ÒÐ-¨zÑ:Ô:Ð:Ð:Ð:r2   c                 ó<   — d|fg}|                       d|¦  «         d S )Nr  zx14:negativeFillColorr  rÛ  s      r.   rÉ  z(Worksheet._write_x14_negative_fill_colorð  s*   € à˜c�l�^ˆ
Ø×ÒÐ3°ZÑ@Ô@Ð@Ð@Ð@r2   c                 ó<   — d|fg}|                       d|¦  «         d S )Nr  zx14:negativeBorderColorr  rÛ  s      r.   rÊ  z*Worksheet._write_x14_negative_border_colorõ  s*   € à˜c�l�^ˆ
Ø×ÒÐ5°zÑBÔBÐBÐBÐBr2   c                 ó<   — d|fg}|                       d|¦  «         d S )Nr  zx14:axisColorr  rÛ  s      r.   rË  zWorksheet._write_x14_axis_colorú  s)   € à˜c�l�^ˆ
Ø×Ò˜O¨ZÑ8Ô8Ð8Ð8Ð8r2   c                 óF  — |                       d¦  «         |                      ¦   «          t          | j        ¦  «        D �]7}|                      |¦  «         |                      |d         ¦  «         |                      |d         ¦  «         |                      ¦   «          |                      |d         ¦  «         |  	                    |d         ¦  «         |  
                    |d         ¦  «         |                      |d         ¦  «         |                      |d         ¦  «         |d	         r|                      d
|d	         ¦  «         |                      |¦  «         |                      d¦  «         �Œ9|                      d¦  «         |                      d¦  «         d S )Nz&{05C60535-1F16-4fd2-B633-F4F36F0B64E0}r^  r`  r_  rZ  rW  rU  rS  rR  rÙ  úx14:sparklineGroupúx14:sparklineGroupsrŠ  )r‹  Ú_write_sparkline_groupsr�  rë   Ú_write_sparkline_groupÚ_write_color_seriesÚ_write_color_negativeÚ_write_color_axisÚ_write_color_markersÚ_write_color_firstÚ_write_color_lastÚ_write_color_highÚ_write_color_lowr©  Ú_write_sparklinesrª  )r(   rt  s     r.   rº  z$Worksheet._write_ext_list_sparklinesÿ  s®  € à�ŠÐ@ÑAÔAÐAð 	×$Ò$Ñ&Ô&Ð&õ " $¤/Ñ2Ô2ð !	4ñ !	4ˆIà×'Ò'¨	Ñ2Ô2Ð2ð ×$Ò$ Y¨~Ô%>Ñ?Ô?Ð?ð ×&Ò& yÐ1AÔ'BÑCÔCÐCð ×"Ò"Ñ$Ô$Ð$ð ×%Ò% i°Ô&@ÑAÔAÐAð ×#Ò# I¨mÔ$<Ñ=Ô=Ð=ð ×"Ò" 9¨\Ô#:Ñ;Ô;Ð;ð ×"Ò" 9¨\Ô#:Ñ;Ô;Ð;ð ×!Ò! )¨KÔ"8Ñ9Ô9Ð9à˜Ô%ð GØ×&Ò& v¨y¸Ô/EÑFÔFÐFà×"Ò" 9Ñ-Ô-Ð-à×ÒÐ2Ñ3Ô3Ð3Ñ3à×ÒÐ/Ñ0Ô0Ð0Ø×Ò˜%Ñ Ô Ð Ð Ð r2   c                 ón  — |                       d¦  «         t          |d         ¦  «        D ]t}|d         |         }|d         |         }|                       d¦  «         |                      d|¦  «         |                      d|¦  «         |                      d¦  «         Œu|                      d¦  «         d S )Nzx14:sparklinesr2  rf  rL  zx14:sparklinerÙ  rÄ  )r§  rw  r©  rª  )r(   rt  rF  rz  rQ  s        r.   rì  zWorksheet._write_sparklines-   sÅ   € ð 	×ÒÐ,Ñ-Ô-Ð-å�y Ô)Ñ*Ô*ð 	/ð 	/ˆAØ# HÔ-¨aÔ0ˆKØ  Ô-¨aÔ0ˆHà×Ò Ñ0Ô0Ð0Ø×"Ò" 6¨;Ñ7Ô7Ð7Ø×"Ò" :¨xÑ8Ô8Ð8Ø×Ò˜oÑ.Ô.Ð.Ð.à×ÒÐ*Ñ+Ô+Ð+Ð+Ð+r2   c                 óP   — d}|dz   }d|fd|fg}|                       d|¦  «         d S )Nz$http://schemas.microsoft.com/office/zspreadsheetml/2009/9/mainz	xmlns:x14ÚurirŠ  rÎ  )r(   rï  r\  Ú	xmlns_x14r´  s        r.   r‹  zWorksheet._write_ext>   sH   € à7ˆØÐ8Ñ8ˆ	ð ˜)Ð$Ø�CˆLð
ˆ
ð
 	×Ò˜E :Ñ.Ô.Ð.Ð.Ð.r2   c                 ó@   — d}d|fg}|                       d|¦  «         d S )NrÀ  rÁ  rá  rÎ  )r(   rÌ  r´  s      r.   râ  z!Worksheet._write_sparkline_groupsJ   s1   € àHˆà! 8Ð,Ð-ˆ
à×ÒÐ1°:Ñ>Ô>Ð>Ð>Ð>r2   c                 ó|  — |                      d¦  «        }g }|                      d¦  «        �4|d         dk    rd|d<   n"|                     d|d         f¦  «         d|d<   |                      d¦  «        �4|d         dk    rd|d<   n"|                     d	|d         f¦  «         d|d<   |d
         dk    r|                     d
|d
         f¦  «         |                      d¦  «        r|                     d|d         f¦  «         |                      d¦  «        r|                     d¦  «         |r|                     d|f¦  «         |                      d¦  «        r|                     d¦  «         |                      d¦  «        r|                     d¦  «         |                      d¦  «        r|                     d¦  «         |                      d¦  «        r|                     d¦  «         |                      d¦  «        r|                     d¦  «         |                      d¦  «        r|                     d¦  «         |                      d¦  «        r|                     d¦  «         |                      d¦  «        r|                     d ¦  «         |                      d¦  «        r|                     d!|d         f¦  «         |                      d¦  «        r|                     d"|d         f¦  «         |                      d#¦  «        r|                     d$¦  «         |                      d%|¦  «         d S )&Nrn  rþ  rz  Úcust_maxÚ	manualMaxr_  rý  Úcust_minÚ	manualMinr8  rb  rN  Ú
lineWeightrR  )ÚdateAxisr   ÚdisplayEmptyCellsAsrO  )rO  r   rh  )rh  r   ri  )ri  r   rk  )rk  r   rl  )rl  r   rj  )rj  r   rM  )ÚdisplayXAxisr   r{   )ÚdisplayHiddenr   ÚminAxisTypeÚmaxAxisTyperP  rj  rà  )rË  r¦  r§  )r(   rÐ  rn  r´  s       r.   rã  z Worksheet._write_sparkline_groupR   s]  € ð0 —’˜GÑ$Ô$ˆØˆ
à�;Š;�uÑÔÐ)Ø�uŒ~ Ò(Ð(Ø&-�˜
Ñ#Ð#à×!Ò! ;°¸´Ð"?Ñ@Ô@Ð@Ø&.�˜
Ñ#à�;Š;�uÑÔÐ)Ø�uŒ~ Ò(Ð(Ø&-�˜
Ñ#Ð#à×!Ò! ;°¸´Ð"?Ñ@Ô@Ð@Ø&.�˜
Ñ#ð �6Œ?˜fÒ$Ð$Ø×Ò˜v w¨v¤Ð7Ñ8Ô8Ð8à�;Š;�xÑ Ô ð 	AØ×Ò˜|¨W°XÔ->Ð?Ñ@Ô@Ð@à�;Š;�{Ñ#Ô#ð 	/Ø×Ò˜oÑ.Ô.Ð.àð 	>Ø×ÒÐ4°eÐ<Ñ=Ô=Ð=à�;Š;�yÑ!Ô!ð 	.Ø×Ò˜nÑ-Ô-Ð-à�;Š;�vÑÔð 	+Ø×Ò˜kÑ*Ô*Ð*à�;Š;�uÑÔð 	*Ø×Ò˜jÑ)Ô)Ð)à�;Š;�wÑÔð 	,Ø×Ò˜lÑ+Ô+Ð+à�;Š;�vÑÔð 	+Ø×Ò˜kÑ*Ô*Ð*à�;Š;�zÑ"Ô"ð 	/Ø×Ò˜oÑ.Ô.Ð.à�;Š;�vÑÔð 	3Ø×ÒÐ1Ñ2Ô2Ð2à�;Š;�xÑ Ô ð 	4Ø×ÒÐ2Ñ3Ô3Ð3à�;Š;�zÑ"Ô"ð 	DØ×Ò˜}¨g°jÔ.AÐBÑCÔCÐCà�;Š;�zÑ"Ô"ð 	DØ×Ò˜}¨g°jÔ.AÐBÑCÔCÐCà�;Š;�yÑ!Ô!ð 	2Ø×ÒÐ0Ñ1Ô1Ð1à×ÒÐ0°*Ñ=Ô=Ð=Ð=Ð=r2   c                 ób  — g }|                      d¦  «        r|                     d|d         f¦  «         |                      d¦  «        r|                     d|d         f¦  «         |                      d¦  «        r|                     d|d         f¦  «         |                      ||¦  «         d S )Nr  r  Útint)rË  r¦  r%  )r(   Úelementr   r´  s       r.   Ú_write_spark_colorzWorksheet._write_spark_color«   s¶   € àˆ
à�9Š9�UÑÔð 	5Ø×Ò˜u e¨E¤lÐ3Ñ4Ô4Ð4à�9Š9�WÑÔð 	9Ø×Ò˜w¨¨g¬Ð7Ñ8Ô8Ð8à�9Š9�VÑÔð 	7Ø×Ò˜v u¨V¤}Ð5Ñ6Ô6Ð6à×Ò˜G ZÑ0Ô0Ð0Ð0Ð0r2   c                 ó2   — |                       d|¦  «         d S )Nzx14:colorSeries©r  rŸ  s     r.   rä  zWorksheet._write_color_seriesº   s   € à×ÒÐ 1°5Ñ9Ô9Ð9Ð9Ð9r2   c                 ó2   — |                       d|¦  «         d S )Nzx14:colorNegativer  rŸ  s     r.   rå  zWorksheet._write_color_negative¾   s   € à×ÒÐ 3°UÑ;Ô;Ð;Ð;Ð;r2   c                 ó6   — |                       dddi¦  «         d S )Nzx14:colorAxisr  ÚFF000000r  ré  s    r.   ræ  zWorksheet._write_color_axisÂ   s#   € à×Ò °%¸Ð1DÑEÔEÐEÐEÐEr2   c                 ó2   — |                       d|¦  «         d S )Nzx14:colorMarkersr  rŸ  s     r.   rç  zWorksheet._write_color_markersÆ   s   € à×ÒÐ 2°EÑ:Ô:Ð:Ð:Ð:r2   c                 ó2   — |                       d|¦  «         d S )Nzx14:colorFirstr  rŸ  s     r.   rè  zWorksheet._write_color_firstÊ   s   € à×ÒÐ 0°%Ñ8Ô8Ð8Ð8Ð8r2   c                 ó2   — |                       d|¦  «         d S )Nzx14:colorLastr  rŸ  s     r.   ré  zWorksheet._write_color_lastÎ   ó   € à×Ò °Ñ7Ô7Ð7Ð7Ð7r2   c                 ó2   — |                       d|¦  «         d S )Nzx14:colorHighr  rŸ  s     r.   rê  zWorksheet._write_color_highÒ   r
  r2   c                 ó2   — |                       d|¦  «         d S )Nzx14:colorLowr  rŸ  s     r.   rë  zWorksheet._write_color_lowÖ   s   € à×Ò °Ñ6Ô6Ð6Ð6Ð6r2   c                 ó:   — ddg}|                       d|¦  «         d S )N)ÚfontIdÚ0)r8  ÚnoConversionÚ
phoneticPrr  rz  s     r.   r>  zWorksheet._write_phonetic_prÚ   s/   € ð Ø$ð
ˆ
ð
 	×Ò˜L¨*Ñ5Ô5Ð5Ð5Ð5r2   c                 ó¶  — | j         sd S |                      d¦  «         | j                              d¦  «        r#| j         d         }|                      d|¦  «         | j                              d¦  «        r#| j         d         }|                      d|¦  «         | j                              d¦  «        r#| j         d         }|                      d|¦  «         | j                              d¦  «        r#| j         d         }|                      d	|¦  «         | j                              d
¦  «        r#| j         d
         }|                      d|¦  «         | j                              d¦  «        r#| j         d         }|                      d|¦  «         | j                              d¦  «        r#| j         d         }|                      d|¦  «         | j                              d¦  «        r#| j         d         }|                      d|¦  «         | j                              d¦  «        r#| j         d         }|                      d|¦  «         |                      d¦  «         d S )NÚignoredErrorsr   ÚnumberStoredAsTextr  Ú	evalErrorr  r]  r  ÚformulaRanger  ÚunlockedFormular  ÚemptyCellReferencer  ÚlistDataValidationr  ÚcalculatedColumnr  ÚtwoDigitTextYear)r  r§  rË  Ú_write_ignored_errorrª  )r(   Úignored_ranges     r.   rJ  zWorksheet._write_ignored_errorsã   sy  € àÔ"ð 	ØˆFà×Ò˜OÑ,Ô,Ð,àÔ×"Ò"Ð#:Ñ;Ô;ð 	KØ Ô/Ð0GÔHˆMØ×%Ò%Ð&:¸MÑJÔJÐJàÔ×"Ò" <Ñ0Ô0ð 	BØ Ô/°Ô=ˆMØ×%Ò% k°=ÑAÔAÐAàÔ×"Ò"Ð#4Ñ5Ô5ð 	@Ø Ô/Ð0AÔBˆMØ×%Ò% i°Ñ?Ô?Ð?àÔ×"Ò" ?Ñ3Ô3ð 	EØ Ô/°Ô@ˆMØ×%Ò% n°mÑDÔDÐDàÔ×"Ò"Ð#5Ñ6Ô6ð 	HØ Ô/Ð0BÔCˆMØ×%Ò%Ð&7¸ÑGÔGÐGàÔ×"Ò"Ð#9Ñ:Ô:ð 	KØ Ô/Ð0FÔGˆMØ×%Ò%Ð&:¸MÑJÔJÐJàÔ×"Ò"Ð#9Ñ:Ô:ð 	KØ Ô/Ð0FÔGˆMØ×%Ò%Ð&:¸MÑJÔJÐJàÔ×"Ò"Ð#6Ñ7Ô7ð 	IØ Ô/Ð0CÔDˆMØ×%Ò%Ð&8¸-ÑHÔHÐHàÔ×"Ò"Ð#8Ñ9Ô9ð 	IØ Ô/Ð0EÔFˆMØ×%Ò%Ð&8¸-ÑHÔHÐHà×Ò˜/Ñ*Ô*Ð*Ð*Ð*r2   c                 óB   — d|f|dfg}|                       d|¦  «         d S )Nrƒ  r   ÚignoredErrorr  )r(   r8  r  r´  s       r.   r  zWorksheet._write_ignored_error!  s8   € ð �mÐ$Ø�1ˆIð
ˆ
ð
 	×Ò˜N¨JÑ7Ô7Ð7Ð7Ð7r2   rU  )Nr   )F)Nr   ri  )NNN)NF)r   r   )r   r   r   r   )NNr   )NN)r^   )rY   N)r   )r[   r[   r\   r\   )rY   NN)FF)r   )ðr  Ú
__module__Ú__qualname__Ú__doc__rf   r'  r1   r,  r*  r?  r#  rN  r"  rX  r  r_  r  r?   rn  rd  rf  re  r{  r6  r�  r0  r‡  r   r�  rœ  r¸  r¼  r¿  rÒ  rÜ  rß  rä  rç  rê  rî  rñ  ró  rö  rø  rû  rþ  r  rJ   r	  r  r&  r*  r-  r0  r6  r;  rG  rB  rŠ  r  rJ  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!  r0  rR  rD  r}  r8  rh  r@  rA  rr  r´  r¢  r¦  r«  r­  r±  r•  r³  r¿  rÀ  r  r,  rÜ  r½  rì  rî  ró  r8  rs  r  rƒ  r–  r˜  r¨  r¨  r+  r-  r2  r1  rI  rK  r  r4  r6  r7  re  r8  r9  rˆ  r:  r;  rE  rF  rD  rG  r·  r¸  r—  rG  r¿  rÀ  rÂ  rÁ  rá  rà  r5  rñ  rï  rð  rH  rI  rÿ  r@  r  rC  r  r  r?  r  r   r&  r+  r'  r1  r<  r=  rC  rK  rH  rL  rM  rN  rB  rT  r`  ra  rA  rl  rp  ry  r{  r|  r}  r~  r�  r.  ry  r—  rx  r�  rœ  r®  rO  rµ  rP  r¹  r¾  rÅ  rÆ  rÇ  rÈ  rÉ  rÊ  rË  rº  rì  r‹  râ  rã  r  rä  rå  ræ  rç  rè  ré  rê  rë  r>  rJ  r  Ú__classcell__)r  s   @r.   rV   rV   Â   sõ  ø€ € € € € ðð ðW)ð W)ð W)ð W)ð W)ðt#7ð #7ð #7ðJ ð,ð ,ñ Ôð,ð&NLð NLð NLð` ðAð Að Añ ÔðAð&ð ð ð ð6 ðAð Að Añ ÔðAð$ð ð ð ð8 ð?ð ?ð ?ñ Ôð?ð&ð ð ð ð$ ðJð Jð Jñ ÔðJð*ð ð ð ð@ ð Øð*
ð *
ð *
ñ Ôð*
ðX ð Øð)ð )ð )ñ Ôð)ðZrð rð rð rðz ØØð4ð 4ð 4ð 4ðl ðAð Að Añ ÔðAð$ð ð ð ð* ðCð Cð Cñ ÔðCð$ð ð ð ð6 ðHð Hð Hñ ÔðHð*ið ið ið iðV ð8ð 8ñ Ôð8ð.wð wð wðr7ð 7ð 7ð ðð ð ñ Ôðð, ðð ð ñ Ôðð, ð:ð :ð :ñ Ôð:ðx ð;ð ;ð ;ñ Ôð;ðz ð1ð 1ð 1ñ Ôð1ðf ðDð Dð Dñ ÔðDðL ð!ð !ð !ñ Ôð!ðF"ð "ð "ð)ð )ð )ð )ð&&ð &ð &ðð ð ð5ð 5ð 5ð$ð ð ð"ð ð ð ð ð ð 4ð 4ð 4ð$ àIMð>ð >ð >ñ Ôð>ð@ àIMðQð Qð Qñ ÔðQð0PNð PNð PNðd;ð ;ð ;ð ;ðz?ð ?ð ?ð ?ð((ð (ð (ð (ð. àJNðIð Ið Iñ ÔðIðV ð7ð 7ñ Ôð7ð@:ð :ð :ðx(ð (ð (ðT ð@ð @ð @ñ Ôð@ðD à@Dð~ð ~ð ~ñ Ôð~ð@ ðIð Ið Iñ ÔðIðV
 ð}ð }ð }ñ Ôð}ð~ ð 7ð  7ñ Ôð 7ðD ð9ð 9ð 9ñ Ôð9ð$ GHð$ð $ð $ð $ð0 ð>ð >ð >ñ Ôð>ð, ð6ð 6ð 6ñ Ôð6ð"ð ð ð ð$"ð "ð "ðð ð ð)ð )ð )ð1(ð 1(ð 1(ð 1(ðfIð Ið Ið Ið> ðð ð ñ ÔððF'ð 'ð 'ð'ð 'ð 'ðð ð ð ðð ð ð ð+ð +ð +ðð ð ðð ð ñ$ð $ð $ð $ñ&K'ð K'ð K'ð K'ñZK'ð K'ð K'ð K'ðZ7ð 7ð 7ð 7ð4 ð7ð 7ð 7ñ Ôð7ð4&ð &ð &ð &ð0*ð *ð *ð$ð $ð $ð ðð ñ Ôðð@'ð 'ð 'ð'ð 'ð 'ð$%ð %ð %ð'ð 'ð 'ð,'ð 'ð 'ðð ð ðð ð ð>ð >ð >ð >ð"(ð (ð (ð (ð^*'ð *'ð *'ðXbð bð bñHð ð ð ðBXð Xð Xð&ð &ð &ðPð ð ð4ð ð ðBAð Að Að<V!ð V!ð V!ðpð ð ð"uJð uJð uJðn]Wð ]Wð ]Wð~
ð 
ð 
ð&
ð 
ð 
ð:
ð :
ð :
ðx Vð  Vð  VðH^Vð ^Vð ^Vñ@ð ð ð ñ<ð ð ð ð*
ð 
ð 
ðð ð ðGð Gð GðRGð Gð GðR1ð 1ð 1ðf
ð 
ð 
ðð ð ð2ð ð ð:Gð Gð Gð3ð 3ð 3ðjð ð ðð ð ð(
(ð 
(ð 
(ð 
(ð,ð ,ð ,ð ,ð4'ð 4'ð 4'ðl5ð 5ð 5ð=ð =ð =ð9ð 9ð 9ð$ð $ð $ð+ð +ð +ð'ð 'ð 'ð>ð >ð >ð >ðL5ð 5ð 5ð(!9ð !9ð !9ðF(ð (ð (ð99ð 99ð 99ðv9ð 9ð 9ð0&"ð &"ð &"ðPB/ð B/ð B/ðH+ð +ð +ð+ð +ð +ð07ð 7ð 7ðL5ð L5ð L5ð\8ð 8ð 8ð2<ð <ð <ð(9ð 9ð 9ð9ð 9ð 9ð&Qð &Qð &QñP#ð #ð #ð #ðJ-ð -ð -ð^1=ð 1=ð 1=ð 1=ðf@ð @ð @ð @ðt#ð t#ð t#ðl+ð +ð +ð9ð 9ð 9ð7ð 7ð 7ð87ð 7ð 7ð	4ð 	4ð 	4ð5ð 5ð 5ð$'ð 'ð 'ð*'ð 'ð 'ð*/ð /ð /ð(ð (ð (ð$5ð 5ð 5ðL(ð L(ð L(ð^ FJð5ð 5ð 5ð 5ð& >Bð5ð 5ð 5ð 5ð:ð :ð :ð"Gð Gð Gð"*ð *ð *ð)ð )ð )ð(2ð 2ð 2ð/ð /ð /ð.8ð 8ð 8ð6.;ð .;ð .;ð`
-ð 
-ð 
-ð
:ð 
:ð 
:ð,ð ,ð ,ð3ð 3ð 3ð9ð 9ð 9ð;ð ;ð ;ð3ð 3ð 3ð-ð -ð -ð$K0ð K0ð K0ðZ4ð 4ð 4ð"4ð 4ð 4ð
ð 
ð 
ð3ð 3ð 3ðj(ð j(ð j(ðX3ð 3ð 3ð(ð (ð (ð*%ð %ð %ð.$ð $ð $ð$%ð %ð %ð,
0ð 
0ð 
0ð 
0ð1ð 1ð 1ð.ð .ð .ð
5ð 5ð 5ð
-ð 
-ð 
-ð60ð 60ð 60ðpE0ð E0ð E0ðNð ð ð.(ð (ð (ð25ð 5ð 5ð$ð $ð $ð&!ð !ð !ð+7ð +7ð +7ðZ6ð 6ð 6ð%7ð %7ð %7ðN	*ð 	*ð 	*ð;ð ;ð ;ð
Að Að Að
Cð Cð Cð
9ð 9ð 9ð
,!ð ,!ð ,!ð\,ð ,ð ,ð"
/ð 
/ð 
/ð?ð ?ð ?ðW>ð W>ð W>ðr1ð 1ð 1ð:ð :ð :ð<ð <ð <ðFð Fð Fð;ð ;ð ;ð9ð 9ð 9ð8ð 8ð 8ð8ð 8ð 8ð7ð 7ð 7ð6ð 6ð 6ð++ð ++ð ++ðZ8ð 8ð 8ð 8ð 8ð 8ð 8r2   rV   )>r2  rR  rÌ  r  r*  Úcollectionsr   r   r]  r   Ú	fractionsr   Ú	functoolsr   Úior	   r
   r   Úwarningsr   rY   r   rN   r   rî   r   rŠ  r   r   Úutilityr   r   r   r   r   r   r   r   r   r   r   r   r    Ú
exceptionsr!   r"   rk  ÚVERBOSErb  r1   r?   rJ   rH  rT  rZ  rƒ  rg  r~  rv  r­  r×  rV   rD   r2   r.   ú<module>r,     sŽ  ðð €€€Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø €€€à #Ð #Ð #Ð #Ð #Ð #Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø &Ð &Ð &Ð &Ð &Ð &Ø +Ð +Ð +Ð +Ð +Ð +Ø &Ð &Ð &Ð &Ð &Ð &Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø (Ð (Ð (Ð (Ð (Ð (Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø /Ð /Ð /Ð /Ð /Ð /Ø )Ð )Ð )Ð )Ð )Ð )Ø (Ð (Ð (Ð (Ð (Ð (Ø $Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *Ø (Ð (Ð (Ð (Ð (Ð (à �b”jðð< „Jñ? ô  Ð ðPð ð ð0ð ð ð@ð ð ð@ �J˜xÐ)9Ñ:Ô:Ð Ø�J˜xÐ)9Ñ:Ô:Ð Ø�:˜g xÑ0Ô0Ð Ø�Z 	Ð+<Ñ=Ô=Ð Ø�Z 	Ð+CÑDÔDÐ Ø �j Ð-=Ñ>Ô>Ð Ø!�zØÐ:ñô Ð ð $˜ LÐ2NÑOÔOÐ Ø�:˜gÐ'=Ñ>Ô>Ð ðUA8ð UA8ð UA8ð UA8ð UA8�	Ô#ñ UA8ô UA8ð UA8ð UA8ð UA8r2   