Ë
    äØjj›  ã                   óX  — d dl mZmZmZ d dlmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZ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 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% ddl&m'Z'm(Z( ddl)m*Z*m+Z+ erddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 e G d„ d«      «       Z3e G d„ d«      «       Z4 G d„ de	«      Z5 G d„ de«      Z6e7dk(  �rÞd dl8m-Z- d dl9m:Z: d dl;m6Z6 ddl<m=Z=  e=d«      5   e6dd d!¬"«      Z>e>j                  d#d$d%d&¬'«       e>j                  d(d)¬*«       e>j                  d+d!d,¬-«       e>j�                  d.d/d0«       e>j�                  d1d2d3«       e>j�                  d4d5d6d7d&¬8«       e>j�                  d9d:d;«       d<eAd=d>fd?„ZB e-«       Z, e:«       ZC eBd@«       e,j‰                  e>dA¬B«       d&e>_E         eBdC«       e,j‰                  e>«       dDe>_F         eBdE«       e,j‰                  e>dA¬B«       d>e>_F        dFe>_E        dGdHge>_G         eBdI«       e,j‰                  e>dA¬B«       d>e>_F        dFe>_E        dGdHge>_G        de>_H         eBdJ«       e,j‰                  e>dA¬B«       d>e>_F        dFe>_E        dGdHge>_G        d&e>_I        d e>_H         eBdK«       e,j‰                  e>dA¬B«       d>d>d>«       y>y># 1 sw Y   y>xY w)Lé    )Ú	dataclassÚfieldÚreplace)	ÚTYPE_CHECKINGÚDictÚIterableÚListÚ
NamedTupleÚOptionalÚSequenceÚTupleÚUnioné   )ÚboxÚerrors)Úloop_first_lastÚ	loop_last)Ú	pick_bool)Úratio_distributeÚratio_reduce)ÚVerticalAlignMethod)ÚJupyterMixin)ÚMeasurement)ÚPaddingÚPaddingDimensions)Úis_renderable)ÚSegment)ÚStyleÚ	StyleType)ÚTextÚTextType)ÚConsoleÚConsoleOptionsÚJustifyMethodÚOverflowMethodÚRenderableTypeÚRenderResultc                   óf  — e Zd ZU dZdZded<   	 dZded<   	 dZeed<   	 dZ	eed<   	 dZ
eed<   	 d	Zd
ed<   	 dZded<   	 dZded<   	 dZee   ed<   	 dZee   ed<   	 dZee   ed<   	 dZee   ed<   	 dZeed<   	 dZeed<   	  ee¬«      Zed   ed<   d!d„Zeded   fd„«       Zedefd „«       Zy)"ÚColumna¦
  Defines a column within a ~Table.

    Args:
        title (Union[str, Text], optional): The title of the table rendered at the top. Defaults to None.
        caption (Union[str, Text], optional): The table caption rendered below. Defaults to None.
        width (int, optional): The width in characters of the table, or ``None`` to automatically fit. Defaults to None.
        min_width (Optional[int], optional): The minimum width of the table, or ``None`` for no minimum. Defaults to None.
        box (box.Box, optional): One of the constants in box.py used to draw the edges (see :ref:`appendix_box`), or ``None`` for no box lines. Defaults to box.HEAVY_HEAD.
        safe_box (Optional[bool], optional): Disable box characters that don't display on windows legacy terminal with *raster* fonts. Defaults to True.
        padding (PaddingDimensions, optional): Padding for cells (top, right, bottom, left). Defaults to (0, 1).
        collapse_padding (bool, optional): Enable collapsing of padding around cells. Defaults to False.
        pad_edge (bool, optional): Enable padding of edge cells. Defaults to True.
        expand (bool, optional): Expand the table to fit the available space if ``True``, otherwise the table width will be auto-calculated. Defaults to False.
        show_header (bool, optional): Show a header row. Defaults to True.
        show_footer (bool, optional): Show a footer row. Defaults to False.
        show_edge (bool, optional): Draw a box around the outside of the table. Defaults to True.
        show_lines (bool, optional): Draw lines between every row. Defaults to False.
        leading (bool, optional): Number of blank lines between rows (precludes ``show_lines``). Defaults to 0.
        style (Union[str, Style], optional): Default style for the table. Defaults to "none".
        row_styles (List[Union, str], optional): Optional list of row styles, if more than one style is given then the styles will alternate. Defaults to None.
        header_style (Union[str, Style], optional): Style of the header. Defaults to "table.header".
        footer_style (Union[str, Style], optional): Style of the footer. Defaults to "table.footer".
        border_style (Union[str, Style], optional): Style of the border. Defaults to None.
        title_style (Union[str, Style], optional): Style of the title. Defaults to None.
        caption_style (Union[str, Style], optional): Style of the caption. Defaults to None.
        title_justify (str, optional): Justify method for title. Defaults to "center".
        caption_justify (str, optional): Justify method for caption. Defaults to "center".
        highlight (bool, optional): Highlight cell contents (if str). Defaults to False.
    Ú r&   ÚheaderÚfooterÚheader_styleÚfooter_styleÚstyleÚleftr$   ÚjustifyÚtopr   ÚverticalÚellipsisr%   ÚoverflowNÚwidthÚ	min_widthÚ	max_widthÚratioFÚno_wrapr   Ú_index)Údefault_factoryÚ_cellsÚreturnc                 ó   — t        | g ¬«      S )zReturn a copy of this Column.©r=   )r   ©Úselfs    úX/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_vendor/rich/table.pyÚcopyzColumn.copyr   s   € ä�t BÔ'Ð'ó    c              #   ó8   K  — | j                   E d{  –—†  y7 Œ­w)z2Get all cells in the column, not including header.Nr@   rA   s    rC   ÚcellszColumn.cellsv   s   è ø€ ð —;‘;×Òús   ‚’“c                 ó   — | j                   duS )z!Check if this column is flexible.N)r9   rA   s    rC   ÚflexiblezColumn.flexible{   s   € ð �z‰z Ð%Ð%rE   )r>   r)   ) Ú__name__Ú
__module__Ú__qualname__Ú__doc__r+   Ú__annotations__r,   r-   r   r.   r/   r1   r3   r5   r6   r   Úintr7   r8   r9   r:   Úboolr;   r   Úlistr=   r	   rD   Úpropertyr   rG   rI   © rE   rC   r)   r)   &   s(  … ñð<  "€FÐÓ!ØHà!€FÐÓ!ØHà €L�)Ó Ø-à €L�)Ó Ø-à€Eˆ9ÓØ-à%€Gˆ_Ó%Ø[à&+€HÐ#Ó+ØMà!+€HÐÓ+Øà€Eˆ8�C‰=ÓØ\à#€Iˆx˜‰}Ó#Ø_à#€Iˆx˜‰}Ó#Ø_à€Eˆ8�C‰=ÓØwà€GˆTÓØRà€FˆCƒOØá%*¸4Ô%@€FˆDÐ!Ñ"Ó@ó(ð ð�xÐ 0Ñ1ò ó ðð ð&˜$ò &ó ñ&rE   r)   c                   ó6   — e Zd ZU dZdZee   ed<   	 dZe	ed<   y)ÚRowzInformation regarding a row.Nr/   FÚend_section)
rJ   rK   rL   rM   r/   r   r   rN   rV   rP   rS   rE   rC   rU   rU   �   s$   … á&à!%€Eˆ8�IÑÓ%Ø à€K�ÓØLrE   rU   c                   ó4   — e Zd ZU dZeed<   	 ded<   	 eed<   y)Ú_CellzA single cell in a table.r/   r&   Ú
renderabler3   N)rJ   rK   rL   rM   r   rN   r   rS   rE   rC   rX   rX   Œ   s    … Ù#àÓØ!Ø Ó ØØ!Ó!Ø"rE   rX   c            7       ó
  — e Zd ZU dZee   ed<   ee   ed<   ddddej                  ddddddddddd	dd
ddddddddœde
eef   dee   dee   dee   dee   deej                     dee   dededededededededededeee      d ee   d!ee   d"ee   d#ee   d$ee   d%d&d'd&d(ed)df6d*„Zeddddd+œde
eef   dedededed)d fd,„«       Zed)efd-„«       Zej2                  ded)dfd.„«       Zed)efd/„«       Zed)efd0„«       Zd1d2d3ed)efd4„Zd1d2d5d6d)efd7„Zed)eeeeef   fd8„«       Z e j2                  ded)d fd9„«       Z 	 	 d[dddd:d;d<dddddd=œd>d?d@d?d ee   d!ee   dee   dAd&dBdCdDdEdee   dee   dFee   dGee   dHed)dfdI„Z!dddJœdKed?   dee   dLed)dfdM„Z"d\dN„Z#	 	 	 	 	 	 d]dP„Z$d1d2d5d6d)ee   fdQ„Z%edRee   dSee   dFed)ee   fdT„«       Z&d1d2dUedVed)ee'   fdW„Z(dUed)efdX„Z)d1d2d5d6dVed)efdY„Z*d1d2d5d6dRee   d)dOfdZ„Z+y)^ÚTablea  A console renderable to draw a table.

    Args:
        *headers (Union[Column, str]): Column headers, either as a string, or :class:`~rich.table.Column` instance.
        title (Union[str, Text], optional): The title of the table rendered at the top. Defaults to None.
        caption (Union[str, Text], optional): The table caption rendered below. Defaults to None.
        width (int, optional): The width in characters of the table, or ``None`` to automatically fit. Defaults to None.
        min_width (Optional[int], optional): The minimum width of the table, or ``None`` for no minimum. Defaults to None.
        box (box.Box, optional): One of the constants in box.py used to draw the edges (see :ref:`appendix_box`), or ``None`` for no box lines. Defaults to box.HEAVY_HEAD.
        safe_box (Optional[bool], optional): Disable box characters that don't display on windows legacy terminal with *raster* fonts. Defaults to True.
        padding (PaddingDimensions, optional): Padding for cells (top, right, bottom, left). Defaults to (0, 1).
        collapse_padding (bool, optional): Enable collapsing of padding around cells. Defaults to False.
        pad_edge (bool, optional): Enable padding of edge cells. Defaults to True.
        expand (bool, optional): Expand the table to fit the available space if ``True``, otherwise the table width will be auto-calculated. Defaults to False.
        show_header (bool, optional): Show a header row. Defaults to True.
        show_footer (bool, optional): Show a footer row. Defaults to False.
        show_edge (bool, optional): Draw a box around the outside of the table. Defaults to True.
        show_lines (bool, optional): Draw lines between every row. Defaults to False.
        leading (bool, optional): Number of blank lines between rows (precludes ``show_lines``). Defaults to 0.
        style (Union[str, Style], optional): Default style for the table. Defaults to "none".
        row_styles (List[Union, str], optional): Optional list of row styles, if more than one style is given then the styles will alternate. Defaults to None.
        header_style (Union[str, Style], optional): Style of the header. Defaults to "table.header".
        footer_style (Union[str, Style], optional): Style of the footer. Defaults to "table.footer".
        border_style (Union[str, Style], optional): Style of the border. Defaults to None.
        title_style (Union[str, Style], optional): Style of the title. Defaults to None.
        caption_style (Union[str, Style], optional): Style of the caption. Defaults to None.
        title_justify (str, optional): Justify method for title. Defaults to "center".
        caption_justify (str, optional): Justify method for caption. Defaults to "center".
        highlight (bool, optional): Highlight cell contents (if str). Defaults to False.
    ÚcolumnsÚrowsN)r   r   FTr   Únoneztable.headerztable.footerÚcenter)ÚtitleÚcaptionr6   r7   r   Úsafe_boxÚpaddingÚcollapse_paddingÚpad_edgeÚexpandÚshow_headerÚshow_footerÚ	show_edgeÚ
show_linesÚleadingr/   Ú
row_stylesr-   r.   Úborder_styleÚtitle_styleÚcaption_styleÚtitle_justifyÚcaption_justifyÚ	highlightÚheadersr`   ra   r6   r7   r   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r/   rl   r-   r.   rm   rn   ro   rp   r$   rq   rr   r>   c                ó’  — g | _         g | _        || _        || _        || _        || _        || _        || _        t        j                  |«      | _
        |	| _        |
| _        || _        || _        || _        || _        || _        || _        || _        |xs d| _        |xs d| _        || _        || _        || _        || _        || _        || _        t9        |xs g «      | _        | j                   j<                  }|D ]G  }t?        |t@        «      r| jC                  |¬«       Œ&tE        | j                   «      |_#         ||«       ŒI y )Nr*   )r+   )$r\   r]   r`   ra   r6   r7   r   rb   r   ÚunpackÚ_paddingre   Ú_expandrg   rh   ri   rj   rk   rd   r/   r-   r.   rm   rn   ro   rp   rq   rr   rQ   rl   ÚappendÚ
isinstanceÚstrÚ
add_columnÚlenr;   )rB   r`   ra   r6   r7   r   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r/   rl   r-   r.   rm   rn   ro   rp   rq   rr   rs   Úappend_columnr+   s                                rC   Ú__init__zTable.__init__º   s6  € ð< &(ˆŒØ!ˆŒ	ØˆŒ
ØˆŒØˆŒ
Ø"ˆŒØˆŒØ ˆŒÜŸ™ wÓ/ˆŒØ ˆŒØˆŒØ&ˆÔØ&ˆÔØ"ˆŒØ$ˆŒØˆŒØ 0ˆÔØˆŒ
Ø(Ò.¨BˆÔØ(Ò.¨BˆÔØ(ˆÔØ&ˆÔØ*ˆÔØ.;ˆÔØ0?ˆÔØ"ˆŒÜ/3°JÒ4DÀ"Ó/EˆŒØŸ™×+Ñ+ˆØò 	&ˆFÜ˜&¤#Ô&Ø—‘ v�Õ.ä # D§L¡LÓ 1�”Ù˜fÕ%ñ	&rE   )rc   rd   re   rf   c                ó    —  | |d||ddd||dœŽS )aÁ  Get a table with no lines, headers, or footer.

        Args:
            *headers (Union[Column, str]): Column headers, either as a string, or :class:`~rich.table.Column` instance.
            padding (PaddingDimensions, optional): Get padding around cells. Defaults to 0.
            collapse_padding (bool, optional): Enable collapsing of padding around cells. Defaults to True.
            pad_edge (bool, optional): Enable padding around edges of table. Defaults to False.
            expand (bool, optional): Expand the table to fit the available space if ``True``, otherwise the table width will be auto-calculated. Defaults to False.

        Returns:
            Table: A table instance.
        NF)r   rc   rd   rg   rh   ri   re   rf   rS   )Úclsrc   rd   re   rf   rs   s         rC   Úgridz
Table.gridû   s,   € ñ* ØØØØ-ØØØØØò

ð 
	
rE   c                 ó:   — | j                   xs | j                  duS )z-Setting a non-None self.width implies expand.N)rw   r6   rA   s    rC   rf   zTable.expand  s   € ð �|‰|Ò5˜tŸz™z°Ð5Ð5rE   c                 ó   — || _         y)zSet expand.N)rw   )rB   rf   s     rC   rf   zTable.expand!  s   € ð ˆ�rE   c                 ó’   — d}| j                   r| j                  r|dz  }| j                   r|t        | j                  «      dz
  z  }|S )z'Get extra width to add to cell content.r   é   r   )r   ri   r|   r\   )rB   r6   s     rC   Ú_extra_widthzTable._extra_width&  sC   € ð ˆØ�8Š8˜ŸšØ�Q‰JˆEØ�8Š8Ø”S˜Ÿ™Ó&¨Ñ*Ñ*ˆEØˆrE   c                 ó,   — t        | j                  «      S )zGet the current number of rows.)r|   r]   rA   s    rC   Ú	row_countzTable.row_count0  s   € ô �4—9‘9‹~ÐrE   Úconsoler"   Úindexc                 ó  — t        j                  «       }| j                  r7||j                  | j                  |t	        | j                  «      z     «      z  }| j
                  |   j                  }|�||j                  |«      z  }|S )zGet the current row style.)r   Únullrl   Ú	get_styler|   r]   r/   )rB   r‰   rŠ   r/   Ú	row_styles        rC   Úget_row_stylezTable.get_row_style5  st   € ä—
‘
“ˆØ�?Š?Ø�W×&Ñ& t§¡°u¼sÀ4Ç?Á?Ó?SÑ7SÑ'TÓUÑUˆEØ—I‘I˜eÑ$×*Ñ*ˆ	ØÐ Ø�W×&Ñ& yÓ1Ñ1ˆEØˆrE   Úoptionsr#   c           	      ó6  — |j                   }| j                  �| j                  }|dk  rt        dd«      S | j                  }t	        | j                  ||j                  ||z
  «      «      «      }| j                  }| j                  D �cg c]  } |||j                  |«      |«      ‘Œ }}t	        d„ |D «       «      |z   }| j                  €t	        d„ |D «       «      |z   n| j                  }	t        ||	«      }
|
j                  | j                  «      }
|
S c c}w )Nr   c              3   ó4   K  — | ]  }|j                   –— Œ y ­w©N)Úminimum©Ú.0Úmeasurements     rC   ú	<genexpr>z)Table.__rich_measure__.<locals>.<genexpr>U  ó   è ø€ ÒD¨�×#Õ#ÑDùó   ‚c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr“   )Úmaximumr•   s     rC   r˜   z)Table.__rich_measure__.<locals>.<genexpr>X  r™   rš   )r8   r6   r   r†   ÚsumÚ_calculate_column_widthsÚupdate_widthÚ_measure_columnr\   Úclampr7   )rB   r‰   r�   r8   Úextra_widthr    ÚcolumnÚmeasurementsÚminimum_widthÚmaximum_widthr—   s              rC   Ú__rich_measure__zTable.__rich_measure__?  s&  € ð ×%Ñ%ˆ	Ø�:‰:Ð!ØŸ
™
ˆIØ�qŠ=Ü˜q !Ó$Ð$à×'Ñ'ˆÜØ×)Ñ)Ø˜×-Ñ-¨i¸+Ñ.EÓFóó
ˆ	ð
 ×.Ñ.ˆð Ÿ,™,ö
àñ ˜G W×%9Ñ%9¸)Ó%DÀfÕMð
ˆð 
ô
 ÑD°|ÔDÓDÀ{ÑRð 	ð
 —
‘
Ð"ô ÑD°|ÔDÓDÀ{ÒRà—‘ð 	ô
 " -°Ó?ˆØ!×'Ñ'¨¯©Ó7ˆØÐùò
s   Â	 Dc                 ó   — | j                   S )zGet cell padding.)rv   rA   s    rC   rc   zTable.padding`  s   € ð �}‰}ÐrE   c                 ó:   — t        j                  |«      | _        | S )zSet cell padding.)r   ru   rv   )rB   rc   s     rC   rc   zTable.paddinge  s   € ô  Ÿ™ wÓ/ˆŒØˆrE   r0   r2   r4   )r-   r.   r/   r1   r3   r5   r6   r7   r8   r9   r:   r+   r&   r,   r1   r3   r   r5   r%   r8   r9   r:   c                óª   — t        t        | j                  «      |||xs d|xs d|xs d||||	|
|||¬«      }| j                  j                  |«       y)aÿ  Add a column to the table.

        Args:
            header (RenderableType, optional): Text or renderable for the header.
                Defaults to "".
            footer (RenderableType, optional): Text or renderable for the footer.
                Defaults to "".
            header_style (Union[str, Style], optional): Style for the header, or None for default. Defaults to None.
            footer_style (Union[str, Style], optional): Style for the footer, or None for default. Defaults to None.
            style (Union[str, Style], optional): Style for the column cells, or None for default. Defaults to None.
            justify (JustifyMethod, optional): Alignment for cells. Defaults to "left".
            vertical (VerticalAlignMethod, optional): Vertical alignment, one of "top", "middle", or "bottom". Defaults to "top".
            overflow (OverflowMethod): Overflow method: "crop", "fold", "ellipsis". Defaults to "ellipsis".
            width (int, optional): Desired width of column in characters, or None to fit to contents. Defaults to None.
            min_width (Optional[int], optional): Minimum width of column, or ``None`` for no minimum. Defaults to None.
            max_width (Optional[int], optional): Maximum width of column, or ``None`` for no maximum. Defaults to None.
            ratio (int, optional): Flexible ratio for the column (requires ``Table.expand`` or ``Table.width``). Defaults to None.
            no_wrap (bool, optional): Set to ``True`` to disable wrapping of this column.
        r*   )r;   r+   r,   r-   r.   r/   r1   r3   r5   r6   r7   r8   r9   r:   N)r)   r|   r\   rx   )rB   r+   r,   r-   r.   r/   r1   r3   r5   r6   r7   r8   r9   r:   r£   s                  rC   r{   zTable.add_columnk  sd   € ôJ Ü�t—|‘|Ó$ØØØ%Ò+¨Ø%Ò+¨Ø’+˜2ØØØØØØØØô
ˆð  	�‰×Ñ˜FÕ#rE   ©r/   rV   ÚrenderablesrV   c                ó€  — dt         ddddfd„}t        |«      }| j                  }t        |«      t        |«      k  rg |¢dgt        |«      t        |«      z
  z  ¢}t	        |«      D ]¯  \  }}|t        |«      k(  rKt        |¬«      }	| j
                  D ]  }
 ||	t        d«      «       Œ | j                  j                  |	«       n||   }	|€
 ||	d«       Œpt        |«      r
 ||	|«       Œ…t        j                  d	t        |«      j                  › d
�«      ‚ | j
                  j                  t        ||¬«      «       y)aø  Add a row of renderables.

        Args:
            *renderables (None or renderable): Each cell in a row must be a renderable object (including str),
                or ``None`` for a blank cell.
            style (StyleType, optional): An optional style to apply to the entire row. Defaults to None.
            end_section (bool, optional): End a section and draw a line. Defaults to False.

        Raises:
            errors.NotRenderableError: If you add something that can't be rendered.
        r£   rY   r&   r>   Nc                 ó:   — | j                   j                  |«       y r“   )r=   rx   )r£   rY   s     rC   Úadd_cellzTable.add_row.<locals>.add_cell´  s   € Ø�M‰M× Ñ  Õ,rE   )r;   r*   zunable to render z1; a string or other renderable object is requiredr«   )r)   rQ   r\   r|   Ú	enumerater]   r    rx   r   r   ÚNotRenderableErrorÚtyperJ   rU   )rB   r/   rV   r¬   r¯   Úcell_renderablesr\   rŠ   rY   r£   Ú_s              rC   Úadd_rowzTable.add_row¢  sK  € ð$	-œVð 	-Ð1Að 	-Àdó 	-ô >BÀ+Ó=NÐà—,‘,ˆÜÐÓ ¤3 w£<Ò/ð Ø!ð à�œ3˜w›<¬#Ð.>Ó*?Ñ?Ñ@ð Ðô "+Ð+;Ó!<ò 	ÑˆE�:Øœ˜G›Ò$Ü uÔ-�ØŸ™ò /�AÙ˜V¤T¨"£XÕ.ð/à—‘×#Ñ# FÕ+à  ™�ØÐ!Ù˜ Õ$Ü˜zÔ*Ù˜ Õ,ä×/Ñ/Ø'¬¨ZÓ(8×(AÑ(AÐ'BÐBsÐtóð ð	ð  	�	‰	×Ñœ 5°kÔBÕCrE   c                 óF   — | j                   rd| j                   d   _        yy)z2Add a new section (draw a line after current row).TéÿÿÿÿN)r]   rV   rA   s    rC   Úadd_sectionzTable.add_sectionÑ  s    € ð �9Š9Ø(,ˆD�I‰I�b‰MÕ%ð rE   r'   c           	   #   óþ  ‡‡K  — | j                   st        d«      –— y |j                  }| j                  �| j                  }| j                  }| j                  ‰|j                  ||z
  «      «      }t        |«      |z   }|j                  || j                  d ¬«      Š	 ddt        dt        ddddfˆˆfd	„}| j                  rE || j                  t        j                  | j                  d
«      | j                   ¬«      E d {  –—†  | j#                  ‰‰|«      E d {  –—†  | j$                  rF || j$                  t        j                  | j&                  d«      | j(                  ¬«      E d {  –—†  y y 7 Œr7 ŒY7 Œ
­w)Nú
)r6   rr   ÚheightÚtextr/   r1   r$   r>   r'   c                 ó–   •— t        | t        «      r‰j                  | |d¬«      n| }‰j                  |‰j	                  |¬«      ¬«      S )NF)r/   rr   ©r1   )r�   )ry   rz   Ú
render_strÚrenderÚupdate)r¼   r/   r1   Úrender_textr‰   Úrender_optionss       €€rC   Úrender_annotationz1Table.__rich_console__.<locals>.render_annotationí  sY   ø€ ô
 ˜d¤CÔ(ð ×"Ñ" 4¨uÀÐ"ÔFàð ð
 —>‘>Ø ^×%:Ñ%:À7Ð%:Ó%Kð "ó ð rE   ztable.title)r/   r1   ztable.caption)r_   )r\   r   r8   r6   r†   rž   rŸ   r�   rÁ   rr   r!   r   r`   r   Ú
pick_firstrn   rp   Ú_renderra   ro   rq   )	rB   r‰   r�   r8   r¢   ÚwidthsÚtable_widthrÄ   rÃ   s	    `      @rC   Ú__rich_console__zTable.__rich_console__×  st  ùè ø€ ð �|Š|Ü˜$“-ÒØà×%Ñ%ˆ	Ø�:‰:Ð!ØŸ
™
ˆIà×'Ñ'ˆØ×.Ñ.Ø�W×)Ñ)¨)°kÑ*AÓBó
ˆô ˜&“k KÑ/ˆà Ÿ™Ø¨¯©Àð (ó 
ˆð
 JRñ
	Üð
	Ü#,ð
	Ø7Fð
	àö
	ð �:Š:Ù(Ø—
‘
Ü×&Ñ& t×'7Ñ'7¸ÓGØ×*Ñ*ô÷ ð ð
 —<‘< ¨¸Ó@×@Ð@Ø�<Š<Ù(Ø—‘Ü×&Ñ& t×'9Ñ'9¸?ÓKØ×,Ñ,ô÷ ñ ð ðøð
 	Aøðús7   „D E=ÄE7ÄE=ÄE9Ä AE=Å0E;Å1E=Å9E=Å;E=c           
      ó,  — |j                   }| j                  }|D �cg c]  }| j                  |||«      ‘Œ }}|D �cg c]  }|j                  xs d‘Œ }}| j                  }	| j
                  }
| j                  �r|D �cg c]  }|j                  sŒ|j                  xs d‘Œ! }}t        |«      rÌt        ||«      D ��cg c]  \  }}|j                  rdn|j                  ‘Œ! }}}|D �cg c]1  }|j                  r#|j                  xs d |	|j                  «      z   ‘Œ3 }}|t        |«      z
  }t        |||«      }t        |«      }t!        |«      D ]&  \  }}|j                  sŒ||   t#        |«      z   ||<   Œ( t        |«      }||kD  rÒ| j%                  ||D �cg c]  }|j                  du xr |j&                   ‘Œ! c}|«      }t        |«      }||kD  r+||z
  }t)        |dgt+        |«      z  ||«      }t        |«      }t        ||«      D ��cg c]'  \  }}| j                  ||j-                  |«      |«      ‘Œ) }}}|D �cg c]  }|j                  xs d‘Œ }}||k  r| j                  s| j.                  �i|| j.                  |
z
  k  rW| j.                  €|nt1        | j.                  |
z
  |«      }t        ||z
  |«      }t        ||«      D ��cg c]
  \  }}||z   ‘Œ }}}|S c c}w c c}w c c}w c c}}w c c}w c c}w c c}}w c c}w c c}}w )zNCalculate the widths of each column, including padding, not including borders.r   r   N)r8   r\   r    rœ   Ú_get_padding_widthr†   rf   rI   r9   ÚanyÚzipr6   r;   r�   r   Úiterr°   ÚnextÚ_collapse_widthsr:   r   r|   rŸ   r7   Úmin)rB   r‰   r�   r8   r\   r£   Úwidth_rangesÚ_rangerÇ   Úget_padding_widthr¢   ÚcolÚratiosÚfixed_widthsÚflex_minimumÚflexible_widthÚflex_widthsÚiter_flex_widthsrŠ   rÈ   Úexcess_widthr6   Ú
_max_widthÚ
pad_widthsÚ_widthÚpads                             rC   rž   zTable._calculate_column_widths  s:  € ð ×%Ñ%ˆ	Ø—,‘,ˆàIPö
Ø?EˆD× Ñ  ¨'°6Õ:ð
ˆð 
ð 5AÖA¨&�&—.‘.Ò% AÑ%ÐAˆÐAØ ×3Ñ3ÐØ×'Ñ'ˆØ�;‹;Ø07ÖH¨¸3¿<»<�c—i‘i’n 1‘nÐHˆFÐHÜ�6Œ{ô +.¨l¸GÓ*D÷ á&˜ ð  Ÿš‘A¨f¯n©nÑ<ð �ñ  ð #*ö àØ—’ð —\‘\Ò& QÑ*;¸F¿M¹MÓ*JÓJð �ð  ð
 "+¬S°Ó->Ñ!>�Ü.¨~¸vÀ|ÓT�Ü#'¨Ó#4Ð Ü%.¨wÓ%7ò U‘M�E˜6Ø—“Ø(4°UÑ(;¼dÐCSÓ>TÑ(T˜˜ušðUô ˜&“kˆà˜Ò"Ø×*Ñ*ØØMTÖUÀ6�&—,‘, $Ð&Ò=¨v¯~©~Ð+=Ñ=ÒUØóˆFô
 ˜f›+ˆKà˜YÒ&Ø*¨YÑ6�Ü% l°Q°C¼#¸f»+Ñ4EÀvÈvÓV�Ü! &›k�ô &)¨°Ó%9÷á!�E˜6ð ×$Ñ$ W¨g×.BÑ.BÀ5Ó.IÈ6ÕRðˆLñ ð 9EÖE¨f�f—n‘nÒ)¨Ñ)ÐEˆFÐEà˜)Ò#¨¯ªØ�N‰NÐ&¨;¸$¿.¹.È;Ñ:VÒ+Wð —>‘>Ð)ñ ä˜Ÿ™¨+Ñ5°yÓAð ô
 *¨*°{Ñ*BÀFÓKˆJÜ69¸&À*Ó6M×N¡{ v¨s�f˜s“lÐNˆFÑNàˆùòq
ùò Bùò Iùó ùò ùò  Vùóùò Fùó Os:   �K&½K+Á?K0ÂK0Â?$K5Ã*6K;Æ$L 
È,LÉLËLrÇ   Úwrapablec                 óÂ  ‡— t        |«      }||z
  }t        |«      r¼|rº|dkD  rµt        d„ t        ||«      D «       «      Št        ˆfd„t        ||«      D «       «      }‰|z
  }t        ||«      D ��	cg c]  \  }}	|‰k(  r|	rdnd‘Œ }
}}	t        |
«      r|s	 |S t	        ||«      gt        |«      z  }t        ||
||«      }t        |«      }||z
  }|r|dkD  rŒµ|S c c}	}w )aM  Reduce widths so that the total is under max_width.

        Args:
            widths (List[int]): List of widths.
            wrapable (List[bool]): List of booleans that indicate if a column may shrink.
            max_width (int): Maximum width to reduce to.

        Returns:
            List[int]: A new list of widths.
        r   c              3   ó,   K  — | ]  \  }}|sŒ	|–— Œ y ­wr“   rS   )r–   r6   Ú
allow_wraps      rC   r˜   z)Table._collapse_widths.<locals>.<genexpr>Y  s   è ø€ ò !Ù/˜e ZÊJ”Eñ!ùs   ‚
�c              3   ó:   •K  — | ]  \  }}|r|‰k7  r|nd –— Œ y­w)r   NrS   )r–   r6   rä   Ú
max_columns      €rC   r˜   z)Table._collapse_widths.<locals>.<genexpr>\  s+   øè ø€ ò (á)˜˜zñ (¨E°ZÒ,?‘EÀQÓFñ(ùs   ƒr   )r�   rÌ   ÚmaxrÍ   rÑ   r|   r   )r€   rÇ   rá   r8   Útotal_widthrÜ   Úsecond_max_columnÚcolumn_differencer6   rä   rÖ   Ú
max_reduceræ   s               @rC   rÐ   zTable._collapse_widthsG  s  ø€ ô ˜&“kˆØ" YÑ.ˆÜˆxŒ=Ù ,°Ò"2Ü ñ !Ü36°v¸xÓ3Hô!ó �
ô %(ó (ä-0°¸Ó-Bô(ó %Ð!ð %/Ð1BÑ$BÐ!ô .1°¸Ó-B÷á)˜˜zð ! JÒ.±:‘QÀAÑEð�ñ ô ˜6”{Ñ*;Øð ˆô " ,Ð0AÓBÐCÄcÈ&ÃkÑQ�
Ü% l°F¸JÈÓO�ä! &›k�Ø*¨YÑ6�ñ'  ,°Ó"2ð( ˆùós   Á2CÚcolumn_indexr£   c              #   óì  ‡‡‡‡‡‡K  — | j                   Š| j                  Š| j                  Št        ‰«      }|dk(  Š|t	        | j
                  «      dz
  k(  Ši Šdt        dt        dt        t        t        t        t        f   fˆˆˆˆˆˆfd„}g }|j                  }|j                  }| j                  r= || j                  xs d«       ||j                  «      z   }	 ||	|j                  f«        ||j                  xs d«      }
|j                  D ]  } ||
|f«       Œ | j                   r= || j"                  xs d«       ||j"                  «      z   } |||j$                  f«       |rTt&        }t)        |«      D ]?  \  }}\  }}t+        | || |||«      «      t-        |dd	«      xs |j.                  «      –— ŒA y	|D ]-  \  }}t+        ||t-        |dd	«      xs |j.                  «      –— Œ/ y	­w)
z3Get all the cells with padding and optional header.r   r   Ú	first_rowÚlast_rowr>   c                 óÊ   •— ‰j                  | |f«      }|r|S ‰\  }}}}‰	r"‰
st        d||z
  «      }|st        d||z
  «      }‰s‰
rd}‰rd}| rd}|rd}||||f}|‰| |f<   |S )Nr   )Úgetrç   )rî   rï   Úcachedr2   ÚrightÚbottomr0   rv   Ú_padding_cacherd   Úfirst_columnÚlast_columnre   rc   s           €€€€€€rC   Úget_paddingz%Table._get_cells.<locals>.get_padding}  sœ   ø€ Ø#×'Ñ'¨°HÐ(=Ó>ˆFÙØ�Ø'.Ñ$ˆC�˜ áÙ#Ü˜q $¨¡,Ó/�DÙÜ   C¨&¡LÓ1�FáÙØ�DÙØ�EÙØ�CÙØ�FØ˜U F¨DÐ1ˆHØ4<ˆN˜I xÐ0Ñ1ØˆOrE   r*   r3   N)rd   re   rc   rÌ   r|   r\   rP   r   rO   rx   r�   rg   r-   r+   r/   rG   rh   r.   r,   r   r   rX   Úgetattrr3   )rB   r‰   rì   r£   Úany_paddingrø   Ú	raw_cellsÚ_appendr�   r-   Ú
cell_styleÚcellr.   Ú_PaddingÚfirstÚlastr/   rY   rõ   rd   rö   r÷   re   rc   s                     @@@@@@rC   Ú
_get_cellszTable._get_cellsn  s   ýè ø€ ð
  ×0Ñ0ÐØ—=‘=ˆØ—,‘,ˆÜ˜'“lˆà# qÑ(ˆØ"¤c¨$¯,©,Ó&7¸!Ñ&;Ñ;ˆàMOˆð	¤4ð 	´4ð 	¼EÄ#ÄsÌCÔQTÐBTÑ<U÷ 	ò 	ð2 ?Aˆ	Ø×"Ñ"ˆØ×%Ñ%ˆ	Ø×ÒÙ$ T×%6Ñ%6Ò%<¸"Ó=Á	Ø×#Ñ#óAñ ˆLñ �\ 6§=¡=Ð1Ô2Ù˜vŸ|™|Ò1¨rÓ2ˆ
Ø—L‘Lò 	(ˆDÙ�Z Ð&Õ'ð	(à×ÒÙ$ T×%6Ñ%6Ò%<¸"Ó=Á	Ø×#Ñ#óAñ ˆLñ �\ 6§=¡=Ð1Ô2áÜˆHÜ4CÀIÓ4Nò Ñ0��tÑ0˜e ZÜØÙ˜Z©°U¸DÓ)AÓBÜ˜J¨
°DÓ9ÒL¸V¿_¹_óó ñð (1ò Ñ#�˜
ÜØØÜ˜J¨
°DÓ9ÒL¸V¿_¹_óó ñùs   ˆG,G4c                 ón   — | j                   \  }}}}| j                  r|dkD  rt        d||z
  «      }||z   S )zGet extra width from padding.r   )rc   rd   rç   )rB   rì   r´   Ú	pad_rightÚpad_lefts        rC   rË   zTable._get_padding_width·  sA   € à$(§L¡LÑ!ˆˆ9�a˜Ø× Ò Ø˜aÒÜ˜q (¨YÑ"6Ó7�Ø˜)Ñ#Ð#rE   c                 óè  — |j                   }|dk  rt        dd«      S | j                  |j                  «      }|j                  �5t        |j                  |z   |j                  |z   «      j                  |«      S g }g }|j                  }|j                  }	t        j                  }
| j                  ||j                  |«      D ])  } |
|||j                  «      \  }} ||«        |	|«       Œ+ t        |rt        |«      nd|rt        |«      n|«      j                  |«      }|j                  |j                  €dn|j                  |z   |j                   €d«      }|S |j                   |z   «      }|S )z0Get the minimum and maximum width of the column.r   r   N)r8   r   rË   r;   r6   Úwith_maximumrx   rñ   r  rY   rç   r¡   r7   )rB   r‰   r�   r£   r8   Úpadding_widthÚ
min_widthsÚ
max_widthsÚ
append_minÚ
append_maxÚget_render_widthrþ   Ú_minÚ_maxr—   s                  rC   r    zTable._measure_column¿  st  € ð ×%Ñ%ˆ	Ø�qŠ=Ü˜q !Ó$Ð$à×/Ñ/°·±Ó>ˆà�<‰<Ð#äØ—‘˜}Ñ,¨f¯l©l¸]Ñ.Jóç‰l˜9Ó%ð&ð !#ˆ
Ø "ˆ
Ø×&Ñ&ˆ
Ø×&Ñ&ˆ
Ü&Ÿ?™?ÐØ—O‘O G¨V¯]©]¸FÓCò 	ˆDÙ)¨'°7¸D¿O¹OÓL‰JˆD�$Ù�tÔÙ�tÕð	ô
 "Ù)ŒC�
ŒO¨qÙ)ŒC�
ŒO¨yó
÷ ‰,�yÓ
!ð 	ð "×'Ñ'Ø×$Ñ$Ð,‰D°&×2BÑ2BÀ]Ñ2RØ×$Ñ$Ð,ˆDó
ˆð Ðð 39×2BÑ2BÀ]Ñ2Ró
ˆð ÐrE   c              #   óz  ‡ ‡‡*‡+‡,‡-K  — ‰j                  ‰ j                  xs d«      }|‰j                  ‰ j                  xs d«      z   }ˆˆ fd„t        ‰ j                  «      D «       }t        t        |Ž «      }‰ j                  r;‰ j                  j                  |t        ‰ j                  ‰j                  «      ¬«      nd }|r‰ j                  s|j                  «       n|}t        j                  «       }	‰ j                  }
‰ j                  }‰ j                  }‰ j                   }‰ j"                  }‰ j$                  }t        Š*|rÈ ‰*|j&                  |«       ‰*|j(                  |«       ‰*|j*                  |«      f ‰*|j,                  |«       ‰*|j.                  |«       ‰*|j0                  |«      f ‰*|j2                  |«       ‰*|j4                  |«       ‰*|j6                  |«      fg}|r! ‰*|j9                  |«      |«      –— |	–— ng }‰ j:                  }‰j                   }t        t=        |«      «      D �]H  \  }\  }}}|xr |Š,|xr |Š+‰,s‰+s‰ j>                  ||z
     nd }d}g }‰,s‰+rtA        jB                  «       }n | |‰|r|dz
  n|«      «      }t        |||
«      D ]‘  \  }}}|jE                  ||jF                  |jH                  |jJ                  d ¬«      }‰jM                  |jN                  | ||j                  «      |z   ¬«      }tQ        |tS        |«      «      }|jU                  |«       Œ“ tQ        d„ |D «       «      Š-dtV        tV        t              d	d
dtX        dt@        dtV        tV        t              f
ˆ*ˆ+ˆ,ˆ-fd„} t        ||||
«      D ��!��cg c]@  \  }}!}}‰*j[                   | ||!j\                  | ||!j                  «      |z   «      ||«      ‘ŒB c}}}!}|d d  |rÄ|r#|r! ‰*|j_                  |d|¬«      |«      –— |	–— ||rdn|rdnd   \  }"}#}$|$j`                  jc                  «       r|$n) ‰*|$j`                  |jd                  |$j                  z   «      }%tg        |«      D ]9  }&|r|"–— ti        |«      D ]  \  }'}(|(|&   E d {  –—†  |'rŒ|%–— Œ |r|#–— |	–— Œ; n(tg        |«      D ]  }&|D ]  }(|(|&   E d {  –—†  Œ |	–— Œ |r%|r#|r! ‰*|j_                  |d|¬«      |«      –— |	–— |xr |jj                  })|s�ŒÞ|s|s|)s�Œæ|r�Œê|r|tS        |«      dz
  k\  r�Œÿ|r‰,r�Œ|r! ‰*|j_                  |d|¬«      |z  |«      –— n ‰*|j_                  |d|¬«      |«      –— |	–— �ŒK |r"|r ‰*|jm                  |«      |«      –— |	–— y y y c c}}}!}w 7 �Œ7 Œå­w)Nr*   c              3   óJ   •K  — | ]  \  }}‰j                  ‰||«      –— Œ y ­wr“   )r  )r–   rì   r£   r‰   rB   s      €€rC   r˜   z Table._render.<locals>.<genexpr>í  s*   øè ø€ ò 
á$�˜fð �O‰O˜G \°6×:ñ
ùs   ƒ #)Úsafer   )r6   r1   r:   r5   r»   ©r/   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr“   )r|   )r–   rþ   s     rC   r˜   z Table._render.<locals>.<genexpr>@  s   è ø€ Ò9¨4œS ŸYÑ9ùs   ‚rþ   r3   r   r6   r/   r>   c                 ó¢   •— ‰rd}n‰rd}|dk(  r‰j                  | |‰|«      S |dk(  r‰j                  | |‰|«      S ‰j                  | |‰|«      S )Nrô   r2   Úmiddle)Ú	align_topÚalign_middleÚalign_bottom)rþ   r3   r6   r/   Ú_SegmentÚ
footer_rowÚ
header_rowÚ
row_heights       €€€€rC   Ú
align_cellz!Table._render.<locals>.align_cellB  sj   ø€ ñ Ø'‘HÙØ$�Hà˜uÒ$Ø#×-Ñ-¨d°E¸:ÀuÓMÐMØ Ò)Ø#×0Ñ0°°u¸jÈ%ÓPÐPØ×,Ñ,¨T°5¸*ÀeÓLÐLrE   Úfoot)Úedger   r…   ÚheadÚmidÚrow)7r�   r/   rm   r°   r\   rQ   rÍ   r   Ú
substituter   rb   rg   Úget_plain_headed_boxr   Úlinerh   ri   rj   rk   Ú	head_leftÚ
head_rightÚhead_verticalÚ	foot_leftÚ
foot_rightÚfoot_verticalÚmid_leftÚ	mid_rightÚmid_verticalÚget_topr�   r   r]   r   rŒ   rÁ   r1   r:   r5   Úrender_linesrY   rç   r|   rx   r	   rO   Ú	set_shaper3   Úget_rowr¼   ÚstripÚbackground_styleÚranger   rV   Ú
get_bottom).rB   r‰   r�   rÇ   Útable_stylerm   Ú_column_cellsÚ	row_cellsÚ_boxÚnew_liner\   rg   rh   ri   rj   rk   Úbox_segmentsr�   r�   rŠ   r   r  Úrow_cellr#  Ú
max_heightrG   rŽ   r6   rþ   r£   rÃ   Úlinesr  Ú_cellr0   ró   Ú_dividerÚdividerÚline_noÚ	last_cellÚrendered_cellrV   r  r  r  r  s.   ``                                        @@@@rC   rÆ   zTable._renderç  s
  ýè ø€ ð ×'Ñ'¨¯
©
Ò(8°bÓ9ˆà" W×%6Ñ%6°t×7HÑ7HÒ7NÈBÓ%OÑOˆô
ä(1°$·,±,Ó(?ô
ˆô .2´#°}Ð2EÓ-Fˆ	ð
 �xŠxð �H‰H×ÑØœi¨¯©°w×7GÑ7GÓHð  ô ð ð 	ñ /3¸4×;KÒ;Kˆt×(Ñ(Ô*ÐQUˆä—<‘<“>ˆà—,‘,ˆØ×&Ñ&ˆØ×&Ñ&ˆØ—N‘Nˆ	Ø—_‘_ˆ
Ø—,‘,ˆäˆÙñ ˜TŸ^™^¨\Ó:Ù˜TŸ_™_¨lÓ;Ù˜T×/Ñ/°Ó>ðñ ˜TŸ^™^¨\Ó:Ù˜TŸ_™_¨lÓ;Ù˜T×/Ñ/°Ó>ðñ ˜TŸ]™]¨LÓ9Ù˜TŸ^™^¨\Ó:Ù˜T×.Ñ.°Ó=ððˆLñ" Ù˜tŸ|™|¨FÓ3°\ÓBÒBØ“àˆLà×*Ñ*ˆØ×%Ñ%ˆ	ä.7¼È	Ó8RÓ.Só u	#Ñ*ˆEÑ*�E˜4 ØÒ. ;ˆJØÒ- +ˆJñ #©:ð —	‘	˜% +Ñ-Ò.àð ð
 ˆJØ/1ˆEÙ™ZÜ!ŸJ™J›L‘	á%Ù! '¹¨5°1ª9ÈÓOó�	ô (+¨6°8¸WÓ'Eò $Ñ#��t˜VØ!(§¡ØØ"ŸN™NØ"ŸN™NØ#Ÿ_™_Øð "0ó "�ð  ×,Ñ,Ø—O‘OØ"Ù# D§J¡JÓ/°)Ñ;ð -ó �ô
 ! ¬S°«ZÓ8�
Ø—‘˜UÕ#ð$ô  Ñ9°5Ô9Ó9ˆJðMÜœ4¤™=Ñ)ðMà/ðMô ðMô ð	Mô
 ”dœ7‘mÑ$÷Mð Mô8 36°f¸hÈÈwÓ2W÷ñ ñ /�E˜5 $¨ð ×"Ñ"ÙØØŸ™ØÙ! %§+¡+Ó.°Ñ:ó	ð Øõ	õˆE‘!ˆHñ Ù™KÙ"ØŸ™ V¨V¸)˜ÓDÀlóò ð #’NØ(4¹%±QÉ4ÁaÐUVÑ(XÑ%��e˜Xð
  —}‘}×*Ñ*Ô,ñ á!Ø Ÿ™ y×'AÑ'AÀHÇNÁNÑ'Róð ô  % ZÓ0ò 	#�GÙ Ø"š
Ü4=¸eÓ4Dò *Ñ0˜	 =Ø#0°Ñ#9×9Ð9Ú(Ø")›Mð*ñ !Ø#šØ"“Nñ	#ô  % ZÓ0ò #�GØ).ò :˜Ø#0°Ñ#9×9Ñ9ð:à"“Nð#ñ ™¡+ÙØ—L‘L ¨°i�LÓ@À,óò ð ’ØÒ1 #§/¡/ˆKÛ™¡w³+ãÙ(¨U´c¸)³nÀqÑ6HÔ-HÙ(«ZáÙ&Ø ŸL™L¨°¸Y˜LÓGÈ'ÑQØ(óó ñ
 'Ø ŸL™L¨°¸Y˜LÓGÈóò ð #”Nðku	#ñn ‘IÙ˜4Ÿ?™?¨6Ó2°LÓAÒAØ‹Nð ˆ4ùõIðD :ùð :úsX   ˆNV;Î$AV.Ï)B4V;ÒV6
ÒV;Ò%.V;ÓV9
ÓAV;ÔV;Ô#V;Ô'V;Ô<V;ÕA5V;Ö9V;)r*   r*   )r>   N)r‰   r"   r�   r#   r>   r'   ),rJ   rK   rL   rM   r	   r)   rN   rU   r   Ú
HEAVY_HEADr   rz   r   r!   rO   ÚBoxrP   r   r   r   r~   Úclassmethodr�   rR   rf   Úsetterr†   rˆ   r�   r   r§   r   rc   r{   rµ   r¸   rÉ   rž   rÐ   rX   r  rË   r    rÆ   rS   rE   rC   r[   r[   —   st  … ñð> �&‰\ÓØ
ˆs‰)ƒOð
 %)Ø&*Ø#Ø#'Ø!$§¡Ø#'Ø%+Ø!&ØØØ Ø!ØØ ØØ!Ø48Ø,:Ø,:Ø,0Ø+/Ø-1Ø)1Ø+3Øò7?&à˜ ˜Ñ$ð?&ð ˜Ñ!ð?&ð ˜(Ñ#ð	?&ð
 ˜‰}ð?&ð ˜C‘=ð?&ð �c—g‘gÑð?&ð ˜4‘.ð?&ð #ð?&ð ð?&ð ð?&ð ð?&ð ð?&ð ð?&ð ð?&ð  ð!?&ð" ð#?&ð$ ð%?&ð& ˜X iÑ0Ñ1ð'?&ð( ˜yÑ)ð)?&ð* ˜yÑ)ð+?&ð, ˜yÑ)ð-?&ð. ˜iÑ(ð/?&ð0   	Ñ*ð1?&ð2 'ð3?&ð4 )ð5?&ð6 ð7?&ð8 
ó9?&ðB ð &'Ø!%ØØò
à˜ ˜Ñ$ð
ð #ð
ð ð	
ð
 ð
ð ð
ð 
ò
ó ð
ð@ ð6˜ò 6ó ð6ð ‡]�]ð˜Tð  dò ó ðð ð˜cò ó ðð ð˜3ò ó ðð Yð °sð ¸yó ðØ ðØ+;ðà	óðB ð˜˜s C¨¨cÐ1Ñ2ò ó ðð ‡^�^ðÐ0ð °Wò ó ðð $&Ø#%ð5$ð
 -1Ø,0Ø%)Ø#)Ø*/Ø%/Ø#Ø#'Ø#'Ø#Øò5$à ð5$ð !ð5$ð
 ˜yÑ)ð5$ð ˜yÑ)ð5$ð ˜	Ñ"ð5$ð !ð5$ð (ð5$ð #ð5$ð ˜‰}ð5$ð ˜C‘=ð5$ð ˜C‘=ð5$ð ˜‰}ð5$ð ð5$ð  
ó!5$ðt &*Ø!ò	-DàÐ/Ñ0ð-Dð ˜	Ñ"ð-Dð ð	-Dð
 
ó-Dó^-ð.Ø ð.Ø+;ð.à	ó.ð`>Ø ð>Ø+;ð>à	ˆc‰ó>ð@ ð$Ø˜#‘Yð$Ø*.¨t©*ð$ØADð$à	ˆc‰ò$ó ð$ðLGØ ðGØ03ðGØ=CðGà	�%‰óGðR$¨sð $°só $ð&àð&ð "ð&ð ð	&ð
 
ó&ðPrØ ðrØ+;ðrØEIÈ#ÁYðrà	ôrrE   r[   Ú__main__)r"   )ÚReprHighlighter)r[   )ÚtimerzTable renderzStar Wars MovieszRich example tableró   )r`   ra   rq   ÚReleasedÚbright_cyanÚcyanT)r-   r/   r:   ÚTitleÚmagentar  z
Box OfficeÚgreen)r1   r/   zDec 20, 2019z Star Wars: The Rise of Skywalkerz$952,110,690zMay 25, 2018zSolo: A Star Wars Storyz$393,151,347zDec 15, 2017z!Star Wars Ep. V111: The Last Jediz$1,332,539,889zon blackr«   zDec 16, 2016zRogue One: A Star Wars Storyz$1,332,439,889r¼   r>   Nc                 ó�   — t         j                  «        t         j                  t        | «      «       t         j                  «        y r“   )r‰   ÚprintÚrulerr   )r¼   s    rC   r+   r+   Ã  s$   € Ü�M‰MŒOÜ�L‰Lœ 4›Ô)Ü�M‰M�OrE   zExample Tabler_   r¾   zexpand=Trueé2   zwidth=50FÚdimr^   zrow_styles=['dim', 'none']z%leading=1, row_styles=['dim', 'none']z+show_lines=True, row_styles=['dim', 'none'])JÚdataclassesr   r   r   Útypingr   r   r   r	   r
   r   r   r   r   r*   r   r   Ú_loopr   r   Ú_pickr   Ú_ratior   r   Úalignr   Újupyterr   Úmeasurer   rc   r   r   Úprotocolr   Úsegmentr   r/   r   r   r¼   r    r!   r‰   r"   r#   r$   r%   r&   r'   r)   rU   rX   r[   rJ   Úpip._vendor.rich.consoleÚpip._vendor.rich.highlighterrL  Úpip._vendor.rich.tableÚ_timerrM  Útabler{   rµ   rz   r+   rr   rU  rf   r6   rl   rk   rj   rS   rE   rC   ú<module>rh     sÃ  ðß 1Ñ 1÷
÷ 
õ 
÷ ß -Ý ß 2Ý &Ý !Ý  ß /Ý #Ý ß #ß  á÷÷ ð ÷W&ð W&ó ðW&ðt ÷Mð Mó ðMô#ˆJô #ôBˆLô BðJ ˆzÓÝ0Ý<Ý5åá	ˆ~Ó	ñ G/ÙØ$Ø(Ø#ô
ˆð 	×ÑØ ]¸&È$ð 	ô 	
ð 	×Ñ˜¨	ÐÔ2Ø×Ñ˜¨w¸gÐÔFà�‰ØØ.Øô	
ð
 	�‰�nÐ&?ÀÔPØ�‰ØØ/ØØØð 	ô 	
ð 	�‰ØØ*Øô	
ð	˜ð 	 ó 	ñ
 “)ˆÙ#Ó%ˆ	ÙˆÔØ�‰�e XˆÔ.àˆŒÙˆ}ÔØ�‰�eÔàˆŒÙˆzÔà�‰�e XˆÔ.àˆŒØˆŒØ! 6˜?ˆÔÙÐ+Ô,à�‰�e XˆÔ.àˆŒØˆŒØ! 6˜?ˆÔØˆŒÙÐ6Ô7Ø�‰�e XˆÔ.àˆŒØˆŒØ! 6˜?ˆÔØˆÔØˆŒÙÐ<Ô=Ø�‰�e XˆÔ.÷OG/ð G/ð ÷G/ð G/ús   Ã!F5J Ê J)