Ë
    ýÿæié_  ã                  óÊ   — d Z ddlmZ ddlmZ ddlmZmZmZm	Z	 ddl
mZ ddlmZ ddlmZmZ ddlmZ dd	lmZmZ dd
lmZ er
ddlmZmZmZ  G d„ d«      Z G d„ de«      Zy)z,
Module for formatting output data in HTML.
é    )Úannotations)Údedent)ÚTYPE_CHECKINGÚAnyÚFinalÚcast)Ú
get_option)Úlib)Ú
MultiIndexÚoption_context)Úis_url)ÚDataFrameFormatterÚget_level_lengths)Úpprint_thing)ÚHashableÚIterableÚMappingc                  óª  — e Zd ZU dZdZded<   	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zd d„Ze	d!d	„«       Z
e	d!d
„«       Ze	d!d„«       Ze	d"d„«       Zd#d„Ze	d!d„«       Ze	d"d„«       Zd$d%d„Z	 d&	 	 	 	 	 	 	 	 	 d'd„Zd(d)d„Z	 d*	 	 	 	 	 	 	 	 	 d+d„Z	 	 	 	 	 	 d,	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d-d„Zd$d.d„Zd.d„Zd.d„Zd.d„Zd/d„Zd.d„Z	 	 	 	 	 	 d0d„Z	 	 	 	 	 	 d0d„Zy)1ÚHTMLFormatterac  
    Internal class for formatting output data in html.
    This class is intended for shared functionality between
    DataFrame.to_html() and DataFrame._repr_html_().
    Any logic in common with other output formatting methods
    should ideally be inherited from classes in format.py
    and this class responsible for only producing html markup.
    é   r   Úindent_deltaNc                ó  — || _         || _        | j                   j                  | _        | j                   j                  j                  | _        g | _        | j                   j                  | _        | j                   j                  | _        | j                   j                  | _        |�|du rt        t        t        d«      «      }n|sd }|| _        || _        || _        i | _        t!        | j                  t"        «      }| j                   j                  j%                  «       D ]^  \  }}t!        |t        «      r|› d�n|}	|	| j                  |<   |sŒ/t!        |t&        «      sŒ@|D ]  }
|	| j                  t)        |
«      <   Œ Œ` y )NTzdisplay.html.borderÚpx)ÚfmtÚclassesÚframeÚtr_frameÚcolumnsÚelementsÚ	bold_rowsÚescapeÚshow_dimensionsr   Úintr	   ÚborderÚtable_idÚrender_linksÚ	col_spaceÚ
isinstancer   ÚitemsÚtupleÚstr)ÚselfÚ	formatterr   r$   r%   r&   Úis_multi_indexÚcolumnÚvalueÚcol_space_valueÚcolumn_indexs              úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pandas/io/formats/html.pyÚ__init__zHTMLFormatter.__init__3   s3  € ð ˆŒØˆŒà—X‘X—^‘^ˆŒ
Ø—x‘x×(Ñ(×0Ñ0ˆŒØ#%ˆŒØŸ™×+Ñ+ˆŒØ—h‘h—o‘oˆŒØ#Ÿx™x×7Ñ7ˆÔØˆ>˜V t™^Üœ#œzÐ*?Ó@ÓA‰FÙØˆFàˆŒØ ˆŒØ(ˆÔàˆŒÜ# D§L¡L´*Ó=ˆØ!ŸX™X×/Ñ/×5Ñ5Ö7‰MˆF�EÜ.8¸ÄÔ.D   r™lÈ%ˆOØ%4ˆD�N‰N˜6Ñ"ò ¤*¨V´UÕ";Û$*�LØ8G�D—N‘N¤3 |Ó#4Ò5ñ %+ñ 8ó    c                ó¢   — | j                  «       }t        d„ |D «       «      r|D �cg c]  }t        |«      ‘Œ }}dj                  |«      S c c}w )Nc              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­w©N)r(   r+   )Ú.0Úxs     r3   Ú	<genexpr>z*HTMLFormatter.to_string.<locals>.<genexpr>Z   s   è ø€ Ð1©5 aŒz˜!œS×!©5ùs   ‚Ú
)ÚrenderÚanyr+   Újoin)r,   Úlinesr:   s      r3   Ú	to_stringzHTMLFormatter.to_stringX   sG   € Ø—‘“ˆÜÑ1©5Ó1Ô1Ù%*Ó+¡U ”S˜•V UˆEÐ+Ø�y‰y˜ÓÐùò ,s   §Ac           
     óþ   — | j                  «        | j                  rVt        d«      }| j                  dt	        | j
                  «      › d|› dt	        | j
                  j                  «      › d�«       | j                  S )Né×   z<p>z rows Ú z columns</p>)Ú_write_tableÚshould_show_dimensionsÚchrÚwriteÚlenr   r   r   )r,   Úbys     r3   r=   zHTMLFormatter.render^   si   € Ø×ÑÔà×&Ò&Ü�S“ˆBØ�J‰JØ”c˜$Ÿ*™*“oÐ& f¨R¨D°´#°d·j±j×6HÑ6HÓ2IÐ1JÈ,ÐWôð �}‰}Ðr5   c                ó.   — | j                   j                  S r8   )r   rF   ©r,   s    r3   rF   z$HTMLFormatter.should_show_dimensionsi   s   € à�x‰x×.Ñ.Ð.r5   c                ó.   — | j                   j                  S r8   )r   Úshow_row_idx_namesrL   s    r3   rN   z HTMLFormatter.show_row_idx_namesm   ó   € à�x‰x×*Ñ*Ð*r5   c                ó.   — | j                   j                  S r8   )r   Úshow_col_idx_namesrL   s    r3   rQ   z HTMLFormatter.show_col_idx_namesq   rO   r5   c                óŠ   — | j                   j                  r | j                  j                  j                  S | j                  ryy)Né   r   )r   Úindexr   ÚnlevelsrQ   rL   s    r3   Ú
row_levelszHTMLFormatter.row_levelsu   s4   € à�8‰8�>Š>à—:‘:×#Ñ#×+Ñ+Ð+Ø×$Ò$ð àr5   c                ó   — | j                   S r8   )r   rL   s    r3   Ú_get_columns_formatted_valuesz+HTMLFormatter._get_columns_formatted_values„   s   € Ø�|‰|Ðr5   c                ó.   — | j                   j                  S r8   )r   Úis_truncatedrL   s    r3   rZ   zHTMLFormatter.is_truncated‡   s   € à�x‰x×$Ñ$Ð$r5   c                óT   — t        | j                  j                  j                  «      S r8   )rI   r   r   r   rL   s    r3   ÚncolszHTMLFormatter.ncols‹   s   € ä�4—8‘8×$Ñ$×,Ñ,Ó-Ð-r5   c                ó\   — t        |«      }| j                  j                  d|z  |z   «       y )NrD   )r   r   Úappend)r,   ÚsÚindentÚrss       r3   rH   zHTMLFormatter.write�   s&   € Ü˜!‹_ˆØ�‰×Ñ˜S 6™\¨BÑ.Õ/r5   c                óŒ   — | j                   j                  |d«      }|r|�|xs d}|d|› d�z  }| j                  |d||¬«       y)aŠ  
        Method for writing a formatted <th> cell.

        If col_space is set on the formatter then that is used for
        the value of min-width.

        Parameters
        ----------
        s : object
            The data to be written inside the cell.
        header : bool, default False
            Set to True if the <th> is for use inside <thead>.  This will
            cause min-width to be set if there is one.
        indent : int, default 0
            The indentation level of the cell.
        tags : str, default None
            Tags to include in the cell.

        Returns
        -------
        A written <th> cell.
        NÚ zstyle="min-width: z;"Úth©Úkindr`   Útags)r'   ÚgetÚ_write_cell)r,   r_   Úheaderr`   rg   r'   s         r3   Úwrite_thzHTMLFormatter.write_th“   sV   € ð2 —N‘N×&Ñ& q¨$Ó/ˆ	á�iÐ+Ø’:˜2ˆDØÐ(¨¨°2Ð6Ñ6ˆDà×Ñ˜ ¨f¸4ÐÕ@r5   c                ó.   — | j                  |d||¬«       y )NÚtdre   )ri   )r,   r_   r`   rg   s       r3   Úwrite_tdzHTMLFormatter.write_td´   s   € Ø×Ñ˜ ¨f¸4ÐÕ@r5   c                ód  — |�
d|› d|› d�}nd|› d�}| j                   rddddœ}ni }t        ||¬«      j                  «       }|j                  d	d
«      }| j                  r2t        |«      r't        |i ¬«      j                  «       }|d|› d�z  }d}	nd}	| j                  |› |› |	› d|› d�|«       y )NÚ<rD   Ú>z&amp;z&lt;z&gt;)Ú&rp   rq   )Úescape_charsz  z&nbsp;&nbsp;z	<a href="z" target="_blank">z</a>rc   z</)r!   r   ÚstripÚreplacer&   r   rH   )
r,   r_   rf   r`   rg   Ú	start_tagÚescra   Úrs_unescapedÚend_as
             r3   ri   zHTMLFormatter._write_cell·   sÍ   € ð ÐØ˜D˜6  4 &¨Ð*‰Ià˜D˜6 ˜ˆIà�;Š;à  w°WÑ=‰CàˆCä˜!¨#Ô.×4Ñ4Ó6ˆà�Z‰Z˜˜nÓ-ˆà×Ò¤¨¤Ü'¨¸Ô;×AÑAÓCˆLØ˜9 \ NÐ2DÐEÑEˆIØ‰EàˆEà�
‰
�i�[   U G¨2¨d¨V°1Ð5°vÕ>r5   c                ó^  — |€i }|€| j                  d|«       n| j                  d|› d�|«       ||z  }t        |«      D ]T  \  }}	|j                  |d «      }
|s| j                  r||k  r| j	                  |	|||
¬«       ŒA| j                  |	||
¬«       ŒV ||z  }| j                  d|«       y )Nz<tr>z<tr style="text-align: z;">)r`   rj   rg   )rg   z</tr>)rH   Ú	enumeraterh   r    rk   rn   )r,   Úliner`   r   rj   Úalignrg   Únindex_levelsÚir_   Úval_tags              r3   Úwrite_trzHTMLFormatter.write_trÒ   sµ   € ð ˆ<ØˆDàˆ=Ø�J‰J�v˜vÕ&à�J‰JÐ0°°°sÐ;¸VÔDØ�,Ñˆä˜d–O‰DˆAˆqØ—h‘h˜q $Ó'ˆGÙ˜$Ÿ.š.¨Q°Ò->Ø—‘˜a¨°vÀG�ÕLà—‘˜a ¨g�Õ6ð $ð 	�,ÑˆØ�
‰
�7˜FÕ#r5   c           	     ó\  — dg}t        d«      }|s"|j                  d«       |j                  d«       | j                  �•t        | j                  t        «      r| j                  j                  «       | _        t        | j                  t        t        f«      s!t        dt        | j                  «      › �«      ‚|j                  | j                  «       | j                  €d}nd| j                  › d�}| j                  €d}nd	| j                  › d�}| j                  d
|› ddj                  |«      › d|› d�|«       | j                  j                   s| j"                  r| j%                  || j&                  z   «       | j)                  || j&                  z   «       | j                  d|«       y )NÚ	dataframezdisplay.html.use_mathjaxÚtex2jax_ignoreÚmathjax_ignorez.classes must be a string, list, or tuple, not rc   z id="Ú"z	 border="z<tablez class="rD   rq   z</table>)r	   r^   r   r(   r+   ÚsplitÚlistr*   Ú	TypeErrorÚtypeÚextendr%   r$   rH   r?   r   rj   rN   Ú_write_headerr   Ú_write_body)r,   r`   Ú_classesÚuse_mathjaxÚ
id_sectionÚborder_attrs         r3   rE   zHTMLFormatter._write_tableï   so  € Ø�=ˆÜ Ð!;Ó<ˆÙØ�O‰OÐ,Ô-Ø�O‰OÐ,Ô-Ø�<‰<Ð#Ü˜$Ÿ,™,¬Ô,Ø#Ÿ|™|×1Ñ1Ó3�”Ü˜dŸl™l¬T´5¨MÔ:Üð%Ü%)¨$¯,©,Ó%7Ð$8ð:óð ð �O‰O˜DŸL™LÔ)à�=‰=Ð Ø‰Jà  §¡ ¨qÐ1ˆJà�;‰;ÐØ‰Kà% d§k¡k ]°!Ð4ˆKà�
‰
Ø�[�M ¨#¯(©(°8Ó*<Ð)=¸Q¸z¸lÈ!ÐLØô	
ð
 �8‰8�?Š?˜d×5Ò5Ø×Ñ˜v¨×(9Ñ(9Ñ9Ô:à×Ñ˜ $×"3Ñ"3Ñ3Ô4à�
‰
�:˜vÕ&r5   c                óþ  — | j                   j                  }t        | j                  t        «      �rºd}| j                   j
                  rt        j                  }nd}| j                  j                  |d¬«      }t        ||«      }t        |«      dz
  }t        t        ||d¬«      «      D �]<  \  }\  }	}
|�r | j                   j                  }| j                   j
                  r©i }t        |	j                  «       «      D ]p  \  }}||k\  r	|||dz   <   n@||z   |kD  r3|dz   ||<   ||k(  rg |
d | ¢d‘|
|d  ¢­}
ng |
d | ¢|
|dz
     ‘|
|d  ¢­}
n|||<   ||z   |k(  sŒ]d||<   g |
d | ¢d‘|
|d  ¢­}
Œr |}	t        |«      dz
  }||k(  rQd|	|<   nKi }t        |	j                  «       «      D ]  \  }}||k\  r	|||dz   <   Œ|||<   Œ d||<   |}	g |
d | ¢d‘|
|d  ¢}
dg| j                   dz
  z  }| j                   j"                  s| j$                  r_| j                   j&                  r8| j                  j(                  |   }|j+                  t-        |xs d«      «       n|j+                  d«       i }t        |«      }t        |
«      D ]A  \  }}||	v r!|	|   dkD  r|j/                  |	|   ¬	«      ||<   nŒ,|dz  }|j+                  |«       ŒC | j1                  ||| j2                  |d¬
«       �Œ? y dg| j                   dz
  z  }| j                   j"                  s| j$                  rQ| j                   j&                  r*|j+                  | j                  j4                  xs d«       n|j+                  d«       |j7                  | j9                  «       «       | j                   j:                  }|r5| j                   | j                   j                  z   }|j=                  |d«       | j1                  ||| j2                  d|¬«       y )Nz colspan="{span:d}" halign="left"F©ÚsparsifyÚinclude_namesrS   T©Ústrictú...rc   ©Úspan)rg   rj   )rj   r}   )r   Úis_truncated_horizontallyr(   r   r   r”   r
   Ú
no_defaultÚ_format_multir   rI   r{   ÚzipÚ
tr_col_numrˆ   r)   rV   rT   rQ   Úshow_index_namesÚnamesr^   r   Úformatr�   r   Únamer‹   rX   ÚjustifyÚinsert)r,   r`   r›   ÚtemplateÚsentinelÚlevelsÚlevel_lengthsÚ	inner_lvlÚlnumÚrecordsÚvaluesÚins_colÚrecs_newÚtagrš   Úrowr£   rg   Újr   Úvr}   s                         r3   Ú_write_col_headerzHTMLFormatter._write_col_header  s  € à$(§H¡H×$FÑ$FÐ!Ü�d—l‘l¤JÕ/Ø9ˆHð �x‰x× Ò äŸ>™>‘à �Ø—\‘\×/Ñ/¸ÐQVÐ/ÓWˆFÜ-¨f°hÓ?ˆMÜ˜MÓ*¨QÑ.ˆIÜ+4Ü�M 6°$Ô7÷,Ñ'�Ñ'�w ò -à"Ÿh™h×1Ñ1�GØ—x‘x×(Ò(Ø#%˜ä)-¨g¯m©m«oÖ)>™I˜C Ø" gš~Ø48 ¨¨q©Ò 1Ø!$ t¡¨gÒ!5Ø04°q± ¨¡Ø#'¨9Ò#4ð.&Ø)/°°Ð)9ð.&à(-ð.&ð *0°°Ð)9ñ.&¡Fð.&Ø)/°°Ð)9ð.&à(.¨w¸©{Ñ(;ð.&ð *0°°Ð)9ñ.&¡Fð 15 ¨¡ð  # T™z¨WÓ4Ø45 ¨Ñ 1Ø)V¨6°(°7Ð+;Ð)V¸UÐ)VÀVÈGÈHÐEUÑ)V¡ð1 *?ð2 #+˜Ü$'¨Ó$6¸Ñ$:˜	Ø 9Ò,Ø/0˜G GÒ,à#%˜Ü)-¨g¯m©m«oÖ)>™I˜C Ø" gš~Ø48 ¨¨q©Ò 1à04 ¨¢ð	 *?ð
 -.˜ Ñ)Ø"*˜Ø!N 6¨(¨7Ð#3Ð!N°UÐ!N¸VÀGÀHÐ=MÐ!N˜ð �d˜dŸo™o°Ñ1Ñ2�Ø—8‘8—>’> T×%<Ò%<ð —x‘x×0Ò0Ø#Ÿ|™|×1Ñ1°$Ñ7˜ØŸ
™
¤<°²
¸Ó#;Õ<àŸ
™
 2œà�Ü˜“H�Ü% fÖ-‘D�A�qØ˜G‘|Ø" 1™:¨š>Ø&.§o¡o¸7À1¹: oÓ&F˜D šGà Ø˜‘F�AØ—J‘J˜q•Mð .ð —‘˜c 6¨4×+<Ñ+<À4ÐPT�ÖUña,ðp �$˜$Ÿ/™/¨AÑ-Ñ.ˆCØ�x‰x�~Š~ ×!8Ò!8ð —8‘8×,Ò,Ø—J‘J˜tŸ|™|×0Ñ0Ò6°BÕ7à—J‘J˜r”NØ�J‰J�t×9Ñ9Ó;Ô<Ø—H‘H×$Ñ$ˆEá(ØŸ/™/¨D¯H©H×,?Ñ,?Ñ?�Ø—
‘
˜7 EÔ*à�M‰M˜#˜v t×'8Ñ'8ÀÈUˆMÕSr5   c                ó  — | j                   j                  }| j                  j                  j                  D �cg c]  }|�|nd‘Œ
 c}dg| j
                  |rdndz   z  z   }| j                  ||| j                  d¬«       y c c}w )Nrc   rS   r   T)rj   )r   r›   r   rT   r¡   r\   r�   r   )r,   r`   r›   r:   r±   s        r3   Ú_write_row_headerzHTMLFormatter._write_row_header�  sƒ   € Ø$(§H¡H×$FÑ$FÐ!Ø37·:±:×3CÑ3C×3IÒ3IÓJÑ3I¨a�A�M‰q rÑ)Ð3IÑJÈbÈTØ�J‰JÑ8™!¸aÑ@ñN
ñ 
ˆð 	�‰�c˜6 4×#4Ñ#4¸TˆÕBùò Ks   ¹Bc                ó  — | j                  d|«       | j                  j                  r| j                  || j                  z   «       | j
                  r| j                  || j                  z   «       | j                  d|«       y )Nz<thead>z</thead>)rH   r   rj   r´   r   rN   r¶   )r,   r`   s     r3   rŒ   zHTMLFormatter._write_header—  sd   € Ø�
‰
�9˜fÔ%à�8‰8�?Š?Ø×"Ñ" 6¨D×,=Ñ,=Ñ#=Ô>à×"Ò"Ø×"Ñ" 6¨D×,=Ñ,=Ñ#=Ô>à�
‰
�:˜vÕ&r5   c                óÌ   — t        dd «      5  t        | j                  «      D �ci c]  }|| j                  j	                  |«      “Œ  }}d d d «       |S c c}w # 1 sw Y   S xY w)Nzdisplay.max_colwidth)r   Úranger\   r   Ú
format_col)r,   r   Ú
fmt_valuess      r3   Ú_get_formatted_valuesz#HTMLFormatter._get_formatted_values¢  s]   € ÜÐ2°DÕ9Ü=BÀ4Ç:Á:Ô=NÓOÑ=N¸˜!˜TŸX™X×0Ñ0°Ó3Ñ3Ð=NˆJÐO÷ :àÐùò P÷ :àÐús   �A¥#AÁAÁAÁA#c                ó^  — | j                  d|«       | j                  «       }| j                  j                  rDt	        | j
                  j                  t        «      r | j                  ||| j                  z   «       n| j                  ||| j                  z   «       | j                  d|«       y )Nz<tbody>z</tbody>)
rH   r¼   r   rT   r(   r   r   Ú_write_hierarchical_rowsr   Ú_write_regular_rows)r,   r`   r»   s      r3   r�   zHTMLFormatter._write_body§  s‚   € Ø�
‰
�9˜fÔ%Ø×/Ñ/Ó1ˆ
ð �8‰8�>Š>œj¨¯©×)9Ñ)9¼:ÔFØ×)Ñ)¨*°f¸t×?PÑ?PÑ6PÕQà×$Ñ$ Z°¸$×:KÑ:KÑ1KÔLà�
‰
�:˜vÕ&r5   c                óF  ‡‡— | j                   j                  }| j                   j                  }t        | j                   j                  «      }| j                   j
                  r}| j                   j                  d«      }|�0| j                   j                  j
                  j                  |«      }n0| j                   j                  j
                  j                  d¬«      }g }t        |«      D �]0  Š|rR‰| j                   j                  k(  r9dgt        |«      z  }	| j                  |	|| j                  d | j                  ¬«       g }| j                   j
                  r|j                  ‰   «       n| j                  r|j                  d«       |j!                  ˆˆfd„t        | j"                  «      D «       «       |r5| j                   j$                  | j                  z   }
|j'                  |
d«       | j                  ||| j                  d | j                  ¬«       �Œ3 y )NÚ	__index__F©Úinclude_namer˜   ©rg   r~   rc   c              3  ó.   •K  — | ]  }‰|   ‰   –— Œ y ­wr8   © ©r9   r²   r»   r   s     €€r3   r;   z4HTMLFormatter._write_regular_rows.<locals>.<genexpr>Ø  s   øè ø€ ÐCÑ1B¨A�z !‘} QÕ'Ñ1Bùó   ƒ)r   r›   Úis_truncated_verticallyrI   r   rT   Ú_get_formatterÚmapÚ_format_flatr¹   Ú
tr_row_numr�   r   rV   r^   rQ   r‹   r\   rŸ   r¥   )r,   r»   r`   r›   rÉ   Únrowsr   Úindex_valuesr±   Ústr_sep_rowÚ
dot_col_ixr   s    `         @r3   r¿   z!HTMLFormatter._write_regular_rows³  s¦  ù€ ð %)§H¡H×$FÑ$FÐ!Ø"&§(¡(×"BÑ"BÐä�D—H‘H×%Ñ%Ó&ˆà�8‰8�>Š>Ø—(‘(×)Ñ)¨+Ó6ˆCØˆØ#Ÿx™x×0Ñ0×6Ñ6×:Ñ:¸3Ó?‘ð  $Ÿx™x×0Ñ0×6Ñ6×CÑCÐQVÐCÓW�àˆÜ�u—ˆAÙ&¨1°·±×1DÑ1DÒ+EØ$˜g¬¨C«Ñ0�Ø—‘ØØØ×%Ñ%ØØ"&§/¡/ð ô ð ˆCØ�x‰x�~Š~Ø—
‘
˜<¨™?Õ+ð
 ×(Ò(Ø—
‘
˜2”Ø�J‰JÔC´°t·z±zÔ1BÓCÔCá(Ø!ŸX™X×0Ñ0°4·?±?ÑB�
Ø—
‘
˜: uÔ-Ø�M‰MØ�V˜T×.Ñ.°TÈÏÉð ö ñ3 r5   c                ód	  ‡‡— d}| j                   j                  }| j                   j                  }| j                   j                  }t	        |«      }t        |j                  t        «      sJ ‚|j                  j                  dd¬«      }t        t        |ddiŽ«      }| j                   j                  �r®t        j                  }	|j                  j                  |	d¬«      }
t        |
|	«      }t	        |«      dz
  }|�r_| j                   j                  }d}t!        |«      D �]  \  }}i }t        |j#                  «       «      D ]æ  \  }}||k\  r	|||dz   <   np||z   |kD  rc|dz   ||<   |s4t        ||dz
     «      }d|d<   |j%                  |t'        |«      «       d}n*t        ||   «      }d|||z
  <   t'        |«      ||<   n|||<   ||z   |k(  sŒ�d||<   |d	k(  r)|j%                  |t'        dgt	        |«      z  «      «       ŒÀ|sŒÃt        ||   «      }d|||z
  <   t'        |«      ||<   Œè |||<   �Œ d||   |<   ‰D ]  }‰|   j%                  |d«       Œ |dz  }t)        |«      D ]ö  Šg }i }d	}d	}t        ||‰   d¬
«      D ]F  \  }}‰|v r!|‰   dkD  r|j+                  |‰   ¬«      ||<   n|dz  }Œ1|dz  }|j-                  |«       ŒH |j/                  ˆˆfd„t)        | j0                  «      D «       «       |r6|j%                  | j2                  |z
  | j                   j4                  z   d«       | j7                  ||| j8                  |t	        |
«      |z
  ¬«       Œø y g }t)        t	        |«      «      D �]3  Š|rR‰| j                   j                  k(  r9dgt	        |«      z  }| j7                  ||| j8                  d | j2                  ¬«       t        t        |j                  j                  dd¬«      ddiŽ«      }g }|j/                  |‰   «       |j/                  ˆˆfd„t)        | j0                  «      D «       «       |r3|j%                  | j2                  | j                   j4                  z   d«       | j7                  ||| j8                  d |j                  j:                  ¬«       �Œ6 y )Nzrowspan="{span}" valign="top"Fr“   r—   TrS   r˜   éÿÿÿÿr   r–   r™   c              3  ó.   •K  — | ]  }‰|   ‰   –— Œ y ­wr8   rÆ   rÇ   s     €€r3   r;   z9HTMLFormatter._write_hierarchical_rows.<locals>.<genexpr>5  ó   øè ø€ ÐGÑ5F°˜: a™=¨Õ+Ñ5FùrÈ   rÄ   c              3  ó.   •K  — | ]  }‰|   ‰   –— Œ y ­wr8   rÆ   rÇ   s     €€r3   r;   z9HTMLFormatter._write_hierarchical_rows.<locals>.<genexpr>V  rÕ   rÈ   )r   r›   rÉ   r   rI   r(   rT   r   r�   rˆ   rž   r”   r
   rœ   r   rÍ   r{   r)   r¥   r*   r¹   r¢   r^   r‹   r\   rV   rŸ   r�   r   rU   )r,   r»   r`   r¦   r›   rÉ   r   rÎ   Ú
idx_valuesr§   r¨   r©   rª   Úins_rowÚinsertedr«   r¬   Úrec_newr°   rš   Údot_rowÚix_colr±   rg   Úsparse_offsetr²   r³   rÐ   r   s    `                          @r3   r¾   z&HTMLFormatter._write_hierarchical_rowsá  s–  ù€ ð 3ˆà$(§H¡H×$FÑ$FÐ!Ø"&§(¡(×"BÑ"BÐØ—‘×!Ñ!ˆÜ�E“
ˆä˜%Ÿ+™+¤zÔ2Ð2Ð2Ø—[‘[×.Ñ.¸ÈUÐ.ÓSˆ
Üœ#˜zÐ7°$Ñ7Ó8ˆ
à�8‰8×Óä—~‘~ˆHØ—[‘[×.Ñ.¸ÐPUÐ.ÓVˆFä-¨f°hÓ?ˆMÜ˜MÓ*¨QÑ.ˆIÚ&ð Ÿ(™(×-Ñ-�Ø �Ü%.¨}×%=‘M�D˜'Ø �GÜ%)¨'¯-©-«/Ö%:™	˜˜TØ 'š>Ø/3˜G C¨!¡GÒ,Ø  4™Z¨'Ò1Ø+/°!©8˜G C™Lñ $,Ü*.¨z¸'ÀA¹+Ñ/FÓ*G Ø.3 ¨¡Ø *× 1Ñ 1°'¼5À»>Ô JØ+/¡ä*.¨z¸'Ñ/BÓ*C Ø<A ¨	°DÑ(8Ñ 9Ü6;¸G³n 
¨7Ò 3à+/˜G C™Lð  ™:¨Ó0Ø/0˜G GÑ,Ø# qšyØ *× 1Ñ 1Ø$+¬U°E°7¼SÀÓ=OÑ3OÓ-Põ!"ò
 "*Ü*.¨z¸'Ñ/BÓ*C Ø<A ¨	°DÑ(8Ñ 9Ü6;¸G³n 
¨7Ò 3ð? &;ð@ +2�M $Ó'ðE &>ðH 56�˜iÑ(¨Ñ1Û(�FØ˜vÑ&×-Ñ-¨g°uÕ=ð )à˜‘
�ä˜5–\�Ø�Ø�à !�Ø�Ü"% m°ZÀ±]È4×"P‘J�G˜QØ˜G‘|Ø" 1™:¨š>Ø&.§o¡o¸7À1¹: oÓ&F˜D šGà%¨Ñ*˜Ø à˜‘F�AØ—J‘J˜q•Mð #Qð —
‘
ÔG´U¸4¿:¹:Ô5FÓGÔGÙ,Ø—J‘JØŸ™¨-Ñ7¸$¿(¹(×:MÑ:MÑMÈuôð —‘ØØØ×%Ñ%ØÜ"% f£+°Ñ"=ð õ ñ- "ð< ˆCÜœ3˜u›:×&�Ù*¨q°T·X±X×5HÑ5HÒ/IØ#( '¬C°«HÑ"4�KØ—M‘MØ#ØØ×)Ñ)Ø!Ø&*§o¡oð "ô ô "ÜØŸ™×2Ñ2¸EÐQVÐ2ÓWðà#ñó�
ð �Ø—
‘
˜: a™=Ô)Ø—
‘
ÔG´U¸4¿:¹:Ô5FÓGÔGÙ,Ø—J‘J˜tŸ™°·±×1DÑ1DÑDÀeÔLØ—‘ØØØ×%Ñ%ØØ"'§+¡+×"5Ñ"5ð ö ñ- 'r5   )NNNF)r-   r   r   z(str | list[str] | tuple[str, ...] | Noner$   zint | bool | Noner%   ú
str | Noner&   ÚboolÚreturnÚNone)rà   r+   ©rà   z	list[str])rà   rß   )rà   r#   )rà   r   )r   )r_   r   r`   r#   rà   rá   )Fr   N)
r_   r   rj   rß   r`   r#   rg   rÞ   rà   rá   )r   N)r_   r   r`   r#   rg   rÞ   rà   rá   )rm   r   N)
r_   r   rf   r+   r`   r#   rg   rÞ   rà   rá   )r   r   FNNr   )r|   r   r`   r#   r   r#   rj   rß   r}   rÞ   rg   zdict[int, str] | Noner~   r#   rà   rá   )r`   r#   rà   rá   ©rà   zdict[int, list[str]])r»   zMapping[int, list[str]]r`   r#   rà   rá   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r4   rA   r=   ÚpropertyrF   rN   rQ   rV   rX   rZ   r\   rH   rk   rn   ri   r�   rE   r´   r¶   rŒ   r¼   r�   r¿   r¾   rÆ   r5   r3   r   r   '   s3  … ñð €L�%Óð
 =AØ$(Ø#Ø"ð#Hà%ð#Hð :ð#Hð "ð	#Hð
 ð#Hð ð#Hð 
ó#HóJ ó	ð ò/ó ð/ð ò+ó ð+ð ò+ó ð+ð òó ðóð ò%ó ð%ð ò.ó ð.ô0ð
 QUðAØðAØ"ðAØ47ðAØCMðAà	óAôBAð MQð?Øð?Øð?Ø03ð?Ø?Ið?à	ó?ð< ØØØ Ø&*Øð$àð$ð ð$ð ð	$ð
 ð$ð ð$ð $ð$ð ð$ð 
ó$ô:$'óLyTóvCó	'óó

'ð,Ø1ð,Ø;>ð,à	ó,ð\~Ø1ð~Ø;>ð~à	ô~r5   r   c                  ó<   ‡ — e Zd ZdZdd„Zdd„Zdd„Zdˆ fd„Zˆ xZS )	ÚNotebookFormatterz×
    Internal class for formatting output data in html for display in Jupyter
    Notebooks. This class is intended for functionality specific to
    DataFrame._repr_html_() and DataFrame.to_html(notebook=True)
    c                ó†   — t        | j                  «      D �ci c]  }|| j                  j                  |«      “Œ  c}S c c}w r8   )r¹   r\   r   rº   )r,   r   s     r3   r¼   z'NotebookFormatter._get_formatted_valuesi  s9   € Ü38¸¿¹Ô3DÓEÑ3D¨a��4—8‘8×&Ñ& qÓ)Ñ)Ð3DÑEÐEùÒEs   ˜#>c                ó:   — | j                   j                  d¬«      S )NFrÂ   )r   rÌ   rL   s    r3   rX   z/NotebookFormatter._get_columns_formatted_valuesl  s   € à�|‰|×(Ñ(°eÐ(Ó<Ð<r5   c                óJ  ‡— d}d}dŠddg}t        | j                  t        «      r/|j                  d«       | j                  r#|j                  d«       n|j                  d«       d	j                  ˆfd
„|D «       «      }t        |› d|› d|› �«      }| j                  |«       y )Nz            <style scoped>z            </style>zM                .dataframe %s {
                    %s: %s;
                })ztbody tr th:only-of-typeúvertical-alignÚmiddle)ztbody tr thrï   Útop)zthead tr thú
text-alignÚleft)zthead tr:last-of-type thrò   Úright)zthead thrò   rô   z

c              3  ó(   •K  — | ]	  }‰|z  –— Œ y ­wr8   rÆ   )r9   ÚtÚtemplate_selects     €r3   r;   z0NotebookFormatter.write_style.<locals>.<genexpr>ˆ  s   øè ø€ Ð"NÁ¸1 ?°QÕ#6Áùs   ƒr<   )r(   r   r   r^   rN   r?   r   rH   )r,   Útemplate_firstÚtemplate_lastÚelement_propsÚtemplate_midr¦   r÷   s         @r3   Úwrite_stylezNotebookFormatter.write_stylep  s®   ø€ ðˆðˆðˆð
 EØ4ð
ˆô �d—l‘l¤JÔ/Ø× Ñ Ð!FÔGØ×&Ò&Ø×$Ñ$ØGõð × Ñ Ð!DÔEØ—{‘{Ó"NÁÓ"NÓNˆÜ˜^Ð,¨B¨|¨n¸B¸}¸oÐNÓOˆØ�
‰
�8Õr5   c                óœ   •— | j                  d«       | j                  «        t        ‰| �  «        | j                  d«       | j                  S )Nz<div>z</div>)rH   rü   Úsuperr=   r   )r,   Ú	__class__s    €r3   r=   zNotebookFormatter.renderŒ  s;   ø€ Ø�
‰
�7ÔØ×ÑÔÜ‰‰ÔØ�
‰
�8ÔØ�}‰}Ðr5   rã   râ   )rà   rá   )	rä   rå   ræ   rç   r¼   rX   rü   r=   Ú__classcell__)rÿ   s   @r3   rë   rë   b  s"   ø„ ñóFó=ó÷8ñ r5   rë   N)rç   Ú
__future__r   Útextwrapr   Útypingr   r   r   r   Úpandas._configr	   Úpandas._libsr
   Úpandasr   r   Úpandas.io.commonr   Úpandas.io.formats.formatr   r   Úpandas.io.formats.printingr   Úcollections.abcr   r   r   r   rë   rÆ   r5   r3   Ú<module>r     s^   ðñõ #å ÷ó õ &å ÷õ
 $÷õ 4á÷ñ ÷xñ xôv/˜õ /r5   