+
    xȇi_                        R t ^ RIHt ^ RIHt ^ RIHtHtHtH	t	 ^ RI
Ht ^ RIHt ^ RIHtHt ^ RIHt ^ RIHtHt ^ R	IHt ]'       d   ^ R
IHtHtHt  ! R R4      t ! R R]4      tR# )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                     ] tR t^'t$ Rt^tR]R&   R4R R lltR R ltR	 R
 lt	]
R R l4       t]
R R l4       t]
R R l4       t]
R R l4       tR R lt]
R R l4       t]
R R l4       tR5R R lltR6R R lltR7R R lltR8R R  lltR9R! R" lltR5R# R$ lltR% R& ltR' R( ltR) R* ltR+ R, ltR- R. ltR/ R0 ltR1 R2 ltR3tR# ):HTMLFormatteraG  
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               0    V ^8  d   QhRRRRRRRRR	R
RR/# )   	formatterr   classesz(str | list[str] | tuple[str, ...] | Noneborderzint | bool | Nonetable_id
str | Nonerender_linksboolreturnNone )formats   "f/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/io/formats/html.py__annotate__HTMLFormatter.__annotate__3   sN     #H #H%#H :#H "	#H
 #H #H 
#H    c                	D   Wn         W n        V P                   P                  V n        V P                   P                  P                  V n        . V n        V P                   P                  V n        V P                   P                  V n        V P                   P                  V n        Ve   VRJ d   \        \        \        R4      4      pM
V'       g   R pW0n        W@n        WPn        / V n        \!        V P                  \"        4      pV P                   P                  P%                  4        Fr  w  rx\!        V\        4      '       d   V R2MTp	WP                  V&   V'       g   K:  \!        V\&        4      '       g   KR  V F  p
WP                  \)        V
4      &   K  	  Kt  	  R # )NTzdisplay.html.borderpx)fmtr   frametr_framecolumnselements	bold_rowsescapeshow_dimensionsr   intr   r   r   r   	col_space
isinstancer
   itemstuplestr)selfr   r   r   r   r   is_multi_indexcolumnvaluecol_space_valuecolumn_indexs   &&&&&&     r#   __init__HTMLFormatter.__init__3   s+    XX^^
xx((00#%++hhoo#xx77>Vt^#z*?@AFF (#DLL*=!XX//557MF.8.D.Drl%O%4NN6" ~*VU";";$*L8GNN3|#45 %+ 8r&   c                   V ^8  d   QhRR/# )r   r   r6   r!   )r"   s   "r#   r$   r%   X   s        3  r&   c                	    V P                  4       p\        ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      '       d   V Uu. uF  p\        V4      NK  	  ppRP                  V4      # u upi )c              3  B   "   T F  p\        V\        4      x  K  	  R # 5iN)r3   r6   ).0xs   & r#   	<genexpr>*HTMLFormatter.to_string.<locals>.<genexpr>Z   s     15az!S!!5s   TF
)renderanyr6   join)r7   linesrD   s   &  r#   	to_stringHTMLFormatter.to_stringX   sZ    315133315111%*+USVUE+yy ,s   A6c                   V ^8  d   QhRR/# r   r   z	list[str]r!   )r"   s   "r#   r$   r%   ^   s     	 		 	r&   c           
     	
   V P                  4        V P                  '       dW   \        ^4      pV P                  R\	        V P
                  4       RV R\	        V P
                  P                  4       R24       V P                  # )   z<p>z rows  z columns</p>)_write_tableshould_show_dimensionschrwritelenr*   r,   r-   )r7   bys   & r#   rH   HTMLFormatter.render^   sl    &&&SBJJc$**o&fRD#djj6H6H2I1J,W }}r&   c                   V ^8  d   QhRR/# r   r   r   r!   )r"   s   "r#   r$   r%   j   s     / / /r&   c                	.    V P                   P                  # rB   )r)   rT   r7   s   &r#   rT   $HTMLFormatter.should_show_dimensionsi   s    xx...r&   c                   V ^8  d   QhRR/# r[   r!   )r"   s   "r#   r$   r%   n        + +D +r&   c                	.    V P                   P                  # rB   )r)   show_row_idx_namesr]   s   &r#   rb    HTMLFormatter.show_row_idx_namesm       xx***r&   c                   V ^8  d   QhRR/# r[   r!   )r"   s   "r#   r$   r%   r   r`   r&   c                	.    V P                   P                  # rB   )r)   show_col_idx_namesr]   s   &r#   rg    HTMLFormatter.show_col_idx_namesq   rd   r&   c                   V ^8  d   QhRR/# r   r   r1   r!   )r"   s   "r#   r$   r%   v   s      C r&   c                	    V P                   P                  '       d!   V P                  P                  P                  # V P                  '       d   ^# ^ # )   )r)   indexr*   nlevelsrg   r]   s   &r#   
row_levelsHTMLFormatter.row_levelsu   s9    88>>>::##+++$$$ r&   c                   V ^8  d   QhRR/# )r   r   r   r!   )r"   s   "r#   r$   r%      s      x r&   c                	    V P                   # rB   )r,   r]   s   &r#   _get_columns_formatted_values+HTMLFormatter._get_columns_formatted_values   s    ||r&   c                   V ^8  d   QhRR/# r[   r!   )r"   s   "r#   r$   r%      s     % %d %r&   c                	.    V P                   P                  # rB   )r)   is_truncatedr]   s   &r#   rw   HTMLFormatter.is_truncated   s    xx$$$r&   c                   V ^8  d   QhRR/# rj   r!   )r"   s   "r#   r$   r%      s     . .s .r&   c                	T    \        V P                  P                  P                  4      # rB   )rW   r)   r+   r,   r]   s   &r#   ncolsHTMLFormatter.ncols   s    488$$,,--r&   c               $    V ^8  d   QhRRRRRR/# )r   sr   indentr1   r   r    r!   )r"   s   "r#   r$   r%      s!     0 0s 0C 0 0r&   c                	n    \        V4      pV P                  P                  R V,          V,           4       R# )rR   N)r   r-   append)r7   r~   r   rss   &&& r#   rV   HTMLFormatter.write   s&    !_S6\B./r&   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   r~   r   headerr   r   r1   tagsr   r   r    r!   )r"   s   "r#   r$   r%      s;     A AA"A47ACMA	Ar&   c                    V P                   P                  VR4      pV'       d   Ve   T;'       g    RpVRV R2,          pV P                  VRW4R7       R# )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   r   )r2   get_write_cell)r7   r~   r   r   r   r2   s   &&&&& r#   write_thHTMLFormatter.write_th   sV    2 NN&&q$/	i+::2D(266Df@r&   c               (    V ^8  d   QhRRRRRRRR/# )	r   r~   r   r   r1   r   r   r   r    r!   )r"   s   "r#   r$   r%      s.     A A# As Aj AD Ar&   c                	.    V P                  VR W#R7       R# )tdr   N)r   )r7   r~   r   r   s   &&&&r#   write_tdHTMLFormatter.write_td   s    f@r&   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   r~   r   r   r6   r   r1   r   r   r   r    r!   )r"   s   "r#   r$   r%      s4     ? ???03??I?	?r&   c                	   Ve   RV RV R2pMRV R2pV P                   '       d
   RRRRRR/pM/ p\        WR7      P                  4       pVP                  R	R
4      pV P                  '       d=   \        V4      '       d,   \        V/ R7      P                  4       pVRV R2,          pRp	MRp	V P                  V V V	 RV R2V4       R # )N<rR   >&z&amp;z&lt;z&gt;)escape_charsz  z&nbsp;&nbsp;z	<a href="z" target="_blank">z</a>r   z</)r/   r   stripreplacer   r   rV   )
r7   r~   r   r   r   	start_tagescr   rs_unescapedend_as
   &&&&&     r#   r   HTMLFormatter._write_cell   s     D64&*ID6I;;;#wW=CC!.446ZZn-';AACL9\N2DEEIEE

i[UG2dV15v>r&   c               8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# )r   liner   r   r1   r   r   r   alignr   r   zdict[int, str] | Nonenindex_levelsr   r    r!   )r"   s   "r#   r$   r%      sZ     $ $$ $ 	$
 $ $ $$ $ 
$r&   c                	   Vf   / pVf   V P                  RV4       MV P                  RV R2V4       W#,          p\        V4       F_  w  rVP                  VR 4      p
V'       g   V P                  '       d   W8  d   V P	                  WWJR7       KL  V P                  WV
R7       Ka  	  W#,          pV P                  RV4       R # )Nz<tr>z<tr style="text-align: z;">)r   r   r   )r   z</tr>)rV   	enumerater   r.   r   r   )r7   r   r   r   r   r   r   r   ir~   val_tags   &&&&&&&&   r#   write_trHTMLFormatter.write_tr   s     <D=JJvv&JJ0s;VDdODAhhq$'G$...Q->avLag6 $ 	

7F#r&   c                    V ^8  d   QhRRRR/# r   r   r1   r   r    r!   )r"   s   "r#   r$   r%      s     $' $'3 $'t $'r&   c           	     	   R .p\        R4      pV'       g#   VP                  R4       VP                  R4       V P                  e   \        V P                  \        4      '       d    V P                  P                  4       V n        \        V P                  \        \        34      '       g"   \        R\        V P                  4       24      hVP                  V P                  4       V P                  f   RpMRV P                   R2pV P                  f   RpMR	V P                   R2pV P                  R
V RRP                  V4       RV R2V4       V P                  P                   '       g   V P"                  '       d"   V P%                  WP&                  ,           4       V P)                  WP&                  ,           4       V P                  RV4       R# )	dataframezdisplay.html.use_mathjaxtex2jax_ignoremathjax_ignoreNz.classes must be a string, list, or tuple, not r   z id=""z	 border="z<tablez class="rR   r   z</table>)r   r   r   r3   r6   splitlistr5   	TypeErrortypeextendr   r   rV   rJ   r)   r   rb   _write_headerr   _write_body)r7   r   _classesuse_mathjax
id_sectionborder_attrs   &&    r#   rS   HTMLFormatter._write_table   sv   = !;<OO,-OO,-<<#$,,,,#||113dllT5M::%%)$,,%7$8:  OODLL)== J q1J;;K%dkk]!4K

[M#((8*<)=Qzl!L	

 88???d555v(9(99:"3"334

:v&r&   c                    V ^8  d   QhRRRR/# r   r!   )r"   s   "r#   r$   r%     s"     yT yT yT yTr&   c           	     	2	   V P                   P                  p\        V P                  \        4      '       Ed%   R pV P                   P
                  '       d   \        P                  pMRpV P                  P                  VRR7      p\        WT4      p\        V4      ^,
          p\        \        WeRR7      4       EF  w  pw  rV'       EdD   V P                   P                  pV P                   P
                  '       d   / p\        V	P                  4       4       F  w  rW8  d   WV^,           &   MMW,           V8  d=   V^,           W&   W8X  d   . V
RV ORNWR O5p
M . V
RV OW^,
          ,          NWR O5p
MWV&   W,           V8X  g   Ks  ^W&   . V
RV ORNWR O5p
K  	  Tp	\        V4      ^,
          pW8X  d   ^W&   MN/ p\        V	P                  4       4       F  w  rW8  d   WV^,           &   K  WV&   K  	  ^W&   Tp	. V
RV ORNWR Op
R.V P                   ^,
          ,          pV P                   P"                  '       g   V P$                  '       dp   V P                   P&                  '       dC   V P                  P(                  V,          pTP+                  \-        T;'       g    R4      4       MVP+                  R4       / p\        V4      p\        V
4       FT  w  ppVV	9   d,   V	V,          ^8  d   VP/                  V	V,          R7      VV&   MK:  V^,          pVP+                  V4       KV  	  V P1                  WV P2                  VRR	7       EK  	  R# R.V P                   ^,
          ,          pV P                   P"                  '       g   V P$                  '       d^   V P                   P&                  '       d1   TP+                  V P                  P4                  ;'       g    R4       MVP+                  R4       VP7                  V P9                  4       4       V P                   P:                  pV'       d:   V P                   V P                   P                  ,           pVP=                  VR4       V P1                  WV P2                  RVR
7       R# )z colspan="{span:d}" halign="left"Fsparsifyinclude_namesTstrictN...r   span)r   r   )r   r   )r)   is_truncated_horizontallyr3   r,   r
   r   r	   
no_default_format_multir   rW   r   zip
tr_col_numr   r4   ro   rm   rg   show_index_namesnamesr   r   r"   r   r   namer   rs   justifyinsert)r7   r   r   templatesentinellevelslevel_lengths	inner_lvllnumrecordsvaluesins_colrecs_newtagr   rowr   r   jr   vr   s   &&                    r#   _write_col_headerHTMLFormatter._write_col_header  s   $(HH$F$F!dllJ//9H xx   >> \\//QV/WF-f?MM*Q.I+4M$7,''w -,"hh11Gxx(((#%)-gmmo)>IC"~48q 1!$g!504q#'#4.&)/)9.&(-.& *0)9.&F.&)/)9.&(.{(;.& *0)9.&F 15  #zW445 1)V6(7+;)VU)VVHEU)V1 *?2 #+$'$6$:	,/0G,#%)-gmmo)>IC"~48q 104	 *?
 -.)"*!N6(7#3!NU!NVH=M!N ddoo1288>>>T%<%<%< xx000#||11$7

<

#;<

2H%f-DAqG|"1:>&.oo71:o&FDG FAJJqM . c4+<+<4PTUa,p $$//A-.Cxx~~~!8!8!8 88,,,JJt||0066B7JJrNJJt99;<HH$$E(//DHH,?,??

7E*MM#t'8'8UMSr&   c                    V ^8  d   QhRRRR/# r   r!   )r"   s   "r#   r$   r%     s     C C C Cr&   c                	6   V P                   P                  pV P                  P                  P                   Uu. uF
  q3e   TMRNK  	  upR.V P
                  V'       d   ^M^ ,           ,          ,           pV P                  WAV P                  RR7       R # u upi )Nr   T)r   )r)   r   r*   rm   r   r{   r   r   )r7   r   r   rD   r   s   &&   r#   _write_row_headerHTMLFormatter._write_row_header  s    $(HH$F$F!37::3C3C3I3IJ3IaMqr)3IJbTJJ8!a@N
 
 	c4#4#4TB Ks   Bc                    V ^8  d   QhRRRR/# r   r!   )r"   s   "r#   r$   r%     s     	' 	'C 	'D 	'r&   c                	.   V P                  R V4       V P                  P                  '       d"   V P                  WP                  ,           4       V P
                  '       d"   V P                  WP                  ,           4       V P                  RV4       R# )z<thead>z</thead>N)rV   r)   r   r   r   rb   r   )r7   r   s   &&r#   r   HTMLFormatter._write_header  se    

9f%88???""6,=,=#=>"""""6,=,=#=>

:v&r&   c                   V ^8  d   QhRR/# r   r   zdict[int, list[str]]r!   )r"   s   "r#   r$   r%     s      '; r&   c           	     	    \        R R4      ;_uu_ 4        \        V P                  4       Uu/ uF  qV P                  P	                  V4      bK   	  ppRRR4       V# u upi   + '       g   i     X# ; i)zdisplay.max_colwidthN)r   ranger{   r)   
format_col)r7   r   
fmt_valuess   &  r#   _get_formatted_values#HTMLFormatter._get_formatted_values  sa    2D99=B4::=NO=NTXX0033=NJO : P :9s   A"$AA"A""A3	c                    V ^8  d   QhRRRR/# r   r!   )r"   s   "r#   r$   r%     s     
' 
'# 
'$ 
'r&   c                	   V P                  R V4       V P                  4       pV P                  P                  '       dN   \	        V P
                  P                  \        4      '       d$   V P                  W!V P                  ,           4       M"V P                  W!V P                  ,           4       V P                  RV4       R# )z<tbody>z</tbody>N)
rV   r   r)   rm   r3   r*   r
   _write_hierarchical_rowsr   _write_regular_rows)r7   r   r   s   && r#   r   HTMLFormatter._write_body  s    

9f%//1
 88>>>j)9)9:FF))*t?P?P6PQ$$Z$:K:K1KL

:v&r&   c               $    V ^8  d   QhRRRRRR/# r   r   zMapping[int, list[str]]r   r1   r   r    r!   )r"   s   "r#   r$   r%     s$     , ,1,;>,	,r&   c           	     	  aa V P                   P                  pV P                   P                  p\        V P                   P                  4      pV P                   P
                  '       d   V P                   P                  R 4      pVe1   V P                   P                  P
                  P                  V4      pM0V P                   P                  P
                  P                  RR7      p. p\        V4       EFW  oV'       dY   SV P                   P                  8X  d>   R.\        V4      ,          p	V P                  V	VV P                  RV P                  R7       . pV P                   P
                  '       d   VP                  XS,          4       M#V P                  '       d   VP                  R4       VP!                  VV3R l\        V P"                  4       4       4       V'       d:   V P                   P$                  V P                  ,           p
VP'                  V
R4       V P                  WV P                  RV P                  R7       EKZ  	  R# )	__index__NFinclude_namer   r   r   r   c              3  D   <"   T F  pSV,          S,          x  K  	  R # 5irB   r!   rC   r   r   r   s   & r#   rE   4HTMLFormatter._write_regular_rows.<locals>.<genexpr>  s     C1BAz!}Q''1B    )r)   r   is_truncated_verticallyrW   r+   rm   _get_formattermap_format_flatr   
tr_row_numr   r   ro   r   rg   r   r{   r   r   )r7   r   r   r   r  nrowsr)   index_valuesr   str_sep_row
dot_col_ixr   s   &f&        @r#   r   !HTMLFormatter._write_regular_rows  s    %)HH$F$F!"&(("B"BDHH%%&88>>>(())+6C#xx0066::3?  $xx0066CCQVCWuA&11D1D+E$gC0%%"&//   Cxx~~~

<?+
 (((

2JJCtzz1BCC(!XX004??B


:u-MMT..T  3 r&   c               $    V ^8  d   QhRRRRRR/# r   r!   )r"   s   "r#   r$   r%     s)     ~ ~1~;>~	~r&   c                	
  aa R pV P                   P                  pV P                   P                  pV P                   P                  p\	        V4      p\        VP                  \        4      '       g   Q hVP                  P                  RRR7      p\        \        VRR/ 4      pV P                   P                  '       Ed9   \        P                  p	VP                  P                  V	RR7      p
\        W4      p\	        V4      ^,
          pV'       Ed   V P                   P                  pRp\!        V4       EFO  w  pp/ p\        VP#                  4       4       EF$  w  ppVV8  d   VVV^,           &   MVV,           V8  dz   V^,           VV&   V'       g<   \        W^,
          ,          4      pRVR&   VP%                  V\'        V4      4       RpM/\        W,          4      pRVW,
          &   \'        V4      W&   MVVV&   VV,           V8X  g   K  ^VV&   V^ 8X  d/   VP%                  V\'        R.\	        V4      ,          4      4       K  V'       g   K  \        W,          4      pRVW,
          &   \'        V4      W&   EK'  	  VW&   EKR  	  ^W,          V&   S F  pSV,          P%                  VR4       K  	  V^,          p\)        V4       EF&  o. p/ p^ p^ p\        WS,          RR7       F]  w  ppSV9   d,   VS,          ^8  d   VP+                  VS,          R7      VV&   MV^,          pKC  V^,          pVP-                  V4       K_  	  VP/                  VV3R l\)        V P0                  4       4       4       V'       d?   VP%                  V P2                  V,
          V P                   P4                  ,           R4       V P7                  VVV P8                  V\	        V
4      V,
          R	7       EK)  	  R
# . p\)        \	        V4      4       EFO  oV'       dY   SV P                   P                  8X  d>   R.\	        V4      ,          pV P7                  VVV P8                  R
V P2                  R	7       \        \        VP                  P                  RRR7      RR/ 4      p. pVP/                  VS,          4       VP/                  VV3R l\)        V P0                  4       4       4       V'       d8   VP%                  V P2                  V P                   P4                  ,           R4       V P7                  VVV P8                  R
VP                  P:                  R	7       EKR  	  R
# )zrowspan="{span}" valign="top"Fr   r   Tr   r   r   c              3  D   <"   T F  pSV,          S,          x  K  	  R # 5irB   r!   r   s   & r#   rE   9HTMLFormatter._write_hierarchical_rows.<locals>.<genexpr>5       G5F:a=++5Fr  r   Nc              3  D   <"   T F  pSV,          S,          x  K  	  R # 5irB   r!   r   s   & r#   rE   r  V  r  r  )r)   r   r  r+   rW   r3   rm   r
   r   r   r   r   r	   r   r   r  r   r4   r   r5   r   r"   r   r   r{   ro   r   r   r   rn   )r7   r   r   r   r   r  r*   r  
idx_valuesr   r   r   r   ins_rowinsertedr   r   rec_newr   r   dot_rowix_colr   r   sparse_offsetr   r   r	  r   s   &f&                         @r#   r   &HTMLFormatter._write_hierarchical_rows  s    3$(HH$F$F!"&(("B"B!!E
%++z2222[[..U.S
#z7$78
88~~H[[..PU.VF-f?MM*Q.I&& ((-- %.}%=MD' G%)'--/%:	T'>/3GC!G, 4Z'1+/!8GCL $,*.zA+/F*G.3 * 1 1'5> J+/*.z/B*C<A	(8 96;Gn
 3+/GCL :0/0GG,#qy * 1 1$+UE7S=O3O-P!"
 "**.z/B*C<A	(8 96;Gn
 3? &;@ +2M'E &>H 56(1(Fv&--gu= )
5\ !"%m]4"PJGQG|"1:>&.oo71:o&FDG%* FAJJqM #Q 

GU4::5FGG,JJ-7$((:M:MMu %%"%f+"=  - "< C3u:&*qTXX5H5H/I#('CH"4KMM#))!&*oo "  "22EQV2W#
 

:a=)

GU4::5FGG,JJt1D1DDeL%%"'++"5"5  - 'r&   )r.   r   r   r2   r,   r-   r/   r)   r*   r   r0   r   )NNNF)    )Fr  N)r  N)r   r  N)r  r  FNNr  ) __name__
__module____qualname____firstlineno____doc__r   __annotations__r=   rL   rH   propertyrT   rb   rg   ro   rs   rw   r{   rV   r   r   r   r   rS   r   r   r   r   r   r   r   __static_attributes__r!   r&   r#   r   r   '   s     L%#HJ 	 / / + + + +   % % . .0ABA?6$:$'LyTvC	'

',\~ ~r&   r   c                  V   a  ] tR tRtRtR R ltR R ltR R ltR	 V 3R
 lltRt	V ;t
# )NotebookFormatterib  z
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                   V ^8  d   QhRR/# r   r!   )r"   s   "r#   r$   NotebookFormatter.__annotate__i  s     F F'; Fr&   c                	    \        V P                  4       Uu/ uF  qV P                  P                  V4      bK   	  up# u upi rB   )r   r{   r)   r   )r7   r   s   & r#   r   'NotebookFormatter._get_formatted_valuesi  s7    383DE3Da488&&q))3DEEEs   $?c                   V ^8  d   QhRR/# rO   r!   )r"   s   "r#   r$   r'  l  s     = =y =r&   c                	:    V P                   P                  R R7      # )Fr   )r,   r  r]   s   &r#   rs   /NotebookFormatter._get_columns_formatted_valuesl  s    ||((e(<<r&   c                   V ^8  d   QhRR/# )r   r   r    r!   )r"   s   "r#   r$   r'  p  s      T r&   c                	f  a R pRpRoRR.p\        V P                  \        4      '       d6   VP                  R	4       V P                  '       d   VP                  R
4       MVP                  R4       RP                  V3R lV 4       4      p\        V RV RV 24      pV P                  V4       R# )z            <style scoped>z            </style>zM                .dataframe %s {
                    %s: %s;
                }z

c              3  6   <"   T F  pSV,          x  K  	  R # 5irB   r!   )rC   ttemplate_selects   & r#   rE   0NotebookFormatter.write_style.<locals>.<genexpr>  s     "N1?Q#6#6s   rG   N)ztbody tr th:only-of-typevertical-alignmiddle)ztbody tr thr3  top)zthead tr th
text-alignleft)zthead tr:last-of-type thr6  right)zthead thr6  r8  )r3   r,   r
   r   rb   rJ   r   rV   )r7   template_firsttemplate_lastelement_propstemplate_midr   r1  s   &     @r#   write_styleNotebookFormatter.write_stylep  s    
 E4
 dllJ//  !FG&&&$$G   !DE{{"N"NN^,B|nB}oNO

8r&   c                   V ^8  d   QhRR/# rO   r!   )r"   s   "r#   r$   r'    s      	 r&   c                	   < V P                  R 4       V P                  4        \        SV `  4        V P                  R4       V P                  # )z<div>z</div>)rV   r=  superrH   r-   )r7   	__class__s   &r#   rH   NotebookFormatter.render  s;    

7

8}}r&   r!   )r  r  r  r  r   r   rs   r=  rH   r#  __classcell__)rB  s   @r#   r%  r%  b  s"    F=8 r&   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!   r&   r#   <module>rO     s^    #   & 
 $ 4 x xv/ /r&   