Ë
    ��hqœ  ã                   óL  — 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;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.d/«       e=j                  d0d1d2«       e=j                  d3d4d5d6d%¬7«       e=j                  d8d9d:«       d;e@d<d=fd>„ZA e-«       Z, e:«       ZB eAd?«       e,j‡                  e=d@¬A«       d%e=_D         eAdB«       e,j‡                  e=«       dCe=_E         eAdD«       e,j‡                  e=d@¬A«       d=e=_E        dEe=_D        dFdGge=_F         eAdH«       e,j‡                  e=d@¬A«       d=e=_E        dEe=_D        dFdGge=_F        de=_G         eAdI«       e,j‡                  e=d@¬A«       d=e=_E        dEe=_D        dFdGge=_F        d%e=_H        d e=_G         eAdJ«       e,j‡                  e=d@¬A«       d=d=d=«       y=y=# 1 sw Y   y=xY w)Ké    )Ú	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                   óv  — 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<   	 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 (int, 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_wrapÚ	highlightr   Ú_index)Údefault_factoryÚ_cellsÚreturnc                 ó   — t        | g ¬«      S )zReturn a copy of this Column.©r>   )r   ©Úselfs    úT/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_vendor/rich/table.pyÚcopyzColumn.copyu   s   € ä�t BÔ'Ð'ó    c              #   ó8   K  — | j                   E d{  –—†  y7 Œ­w)z2Get all cells in the column, not including header.NrA   rB   s    rD   ÚcellszColumn.cellsy   s   è ø€ ð —;‘;×Òús   ‚’“c                 ó   — | j                   duS )z!Check if this column is flexible.N)r9   rB   s    rD   ÚflexiblezColumn.flexible~   s   € ð �z‰z Ð%Ð%rF   )r?   r)   )!Ú__name__Ú
__module__Ú__qualname__Ú__doc__r+   Ú__annotations__r,   r-   r   r.   r/   r1   r3   r5   r6   r   Úintr7   r8   r9   r:   Úboolr;   r<   r   Úlistr>   r	   rE   Úpropertyr   rH   rJ   © rF   rD   r)   r)   &   s5  … ñð<  "€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à€IˆtÓØCà€FˆCƒOØá%*¸4Ô%@€FˆDÐ!Ñ"Ó@ó(ð ð�xÐ 0Ñ1ò ó ðð ð&˜$ò &ó ñ&rF   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)
rK   rL   rM   rN   r/   r   r   rO   rW   rQ   rT   rF   rD   rV   rV   „   s$   … á&à!%€Eˆ8�IÑÓ%Ø à€K�ÓØLrF   rV   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)rK   rL   rM   rN   r   rO   r   rT   rF   rD   rY   rY   �   s    … Ù#àÓØ!Ø Ó ØØ!Ó!Ø"rF   rY   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?d ee   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 (int, 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_justifyr;   Úheadersra   rb   r6   r7   r   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   r/   rm   r-   r.   rn   ro   rp   rq   r$   rr   r;   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^   ra   rb   r6   r7   r   rc   r   ÚunpackÚ_paddingrf   Ú_expandrh   ri   rj   rk   rl   re   r/   r-   r.   rn   ro   rp   rq   rr   r;   rR   rm   ÚappendÚ
isinstanceÚstrÚ
add_columnÚlenr<   )rC   ra   rb   r6   r7   r   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   r/   rm   r-   r.   rn   ro   rp   rq   rr   r;   rs   Úappend_columnr+   s                                rD   Ú__init__zTable.__init__½   s6  € ð: &(ˆŒØ!ˆŒ	ØˆŒ
ØˆŒØˆŒ
Ø"ˆŒØˆŒØ ˆŒÜŸ™ wÓ/ˆŒØ ˆŒØˆŒØ&ˆÔØ&ˆÔØ"ˆŒØ$ˆŒØˆŒØ 0ˆÔØˆŒ
Ø(Ò.¨BˆÔØ(Ò.¨BˆÔØ(ˆÔØ&ˆÔØ*ˆÔØ.;ˆÔØ0?ˆÔØ"ˆŒÜ/3°JÒ4DÀ"Ó/EˆŒØŸ™×+Ñ+ˆØò 	&ˆFÜ˜&¤#Ô&Ø—‘ v�Õ.ä # D§L¡LÓ 1�”Ù˜fÕ%ñ	&rF   )rd   re   rf   rg   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   rd   re   rh   ri   rj   rf   rg   rT   )Úclsrd   re   rf   rg   rs   s         rD   Úgridz
Table.gridý   s,   € ñ* ØØØØ-ØØØØØò

ð 
	
rF   c                 ó:   — | j                   xs | j                  duS )z-Setting a non-None self.width implies expand.N)rw   r6   rB   s    rD   rg   zTable.expand  s   € ð �|‰|Ò5˜tŸz™z°Ð5Ð5rF   c                 ó   — || _         y)zSet expand.N)rw   )rC   rg   s     rD   rg   zTable.expand#  s   € ð ˆ�rF   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   rj   r|   r]   )rC   r6   s     rD   Ú_extra_widthzTable._extra_width(  sC   € ð ˆØ�8Š8˜ŸšØ�Q‰JˆEØ�8Š8Ø”S˜Ÿ™Ó&¨Ñ*Ñ*ˆEØˆrF   c                 ó,   — t        | j                  «      S )zGet the current number of rows.)r|   r^   rB   s    rD   Ú	row_countzTable.row_count2  s   € ô �4—9‘9‹~ÐrF   Úconsoler"   Úindexc                 ó  — t        j                  «       }| j                  r7||j                  | j                  |t	        | j                  «      z     «      z  }| j
                  |   j                  }|�||j                  |«      z  }|S )zGet the current row style.)r   Únullrm   Ú	get_styler|   r^   r/   )rC   r‰   rŠ   r/   Ú	row_styles        rD   Úget_row_stylezTable.get_row_style7  st   € ä—
‘
“ˆØ�?Š?Ø�W×&Ñ& t§¡°u¼sÀ4Ç?Á?Ó?SÑ7SÑ'TÓUÑUˆEØ—I‘I˜eÑ$×*Ñ*ˆ	ØÐ Ø�W×&Ñ& yÓ1Ñ1ˆEØˆrF   Ú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     rD   ú	<genexpr>z)Table.__rich_measure__.<locals>.<genexpr>W  ó   è ø€ ÒD¨�×#Õ#ÑDùó   ‚c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr“   )Úmaximumr•   s     rD   r˜   z)Table.__rich_measure__.<locals>.<genexpr>Z  r™   rš   )r8   r6   r   r†   ÚsumÚ_calculate_column_widthsÚupdate_widthÚ_measure_columnr]   Úclampr7   )rC   r‰   r�   r8   Úextra_widthr    ÚcolumnÚmeasurementsÚminimum_widthÚmaximum_widthr—   s              rD   Ú__rich_measure__zTable.__rich_measure__A  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   rB   s    rD   rd   zTable.paddingb  s   € ð �}‰}ÐrF   c                 ó:   — t        j                  |«      | _        | S )zSet cell padding.)r   ru   rv   )rC   rd   s     rD   rd   zTable.paddingg  s   € ô  Ÿ™ wÓ/ˆŒØˆrF   r0   r2   r4   )r-   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|�|n| j                  |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.
            highlight (bool, optional): Whether to highlight the text. The default of None uses the value of the table (self) object.
            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*   N)r<   r+   r,   r-   r;   r.   r/   r1   r3   r5   r6   r7   r8   r9   r:   )r)   r|   r]   r;   rx   )rC   r+   r,   r-   r;   r.   r/   r1   r3   r5   r6   r7   r8   r9   r:   r£   s                   rD   r{   zTable.add_columnm  sr   € ôN Ü�t—|‘|Ó$ØØØ%Ò+¨Ø#,Ð#8‘i¸d¿n¹nØ%Ò+¨Ø’+˜2ØØØØØØØØô
ˆð" 	�‰×Ñ˜FÕ#rF   ©r/   rW   ÚrenderablesrW   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(  rVt        || j
                  ¬«      }	| j                  D ]  }
 ||	t        d«      «       Œ | j                  j                  |	«       n||   }	|€
 ||	d«       Œ{t        |«      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£   rZ   r&   r?   Nc                 ó:   — | j                   j                  |«       y r“   )r>   rx   )r£   rZ   s     rD   Úadd_cellzTable.add_row.<locals>.add_cell¹  s   € Ø�M‰M× Ñ  Õ,rF   )r<   r;   r*   zunable to render z1; a string or other renderable object is requiredr«   )r)   rR   r]   r|   Ú	enumerater;   r^   r    rx   r   r   ÚNotRenderableErrorÚtyperK   rV   )rC   r/   rW   r¬   r¯   Úcell_renderablesr]   rŠ   rZ   r£   Ú_s              rD   Úadd_rowzTable.add_row§  sQ  € ð$	-œVð 	-Ð1Að 	-Àdó 	-ô >BÀ+Ó=NÐà—,‘,ˆÜÐÓ ¤3 w£<Ò/ð Ø!ð à�œ3˜w›<¬#Ð.>Ó*?Ñ?Ñ@ð Ðô "+Ð+;Ó!<ò 	ÑˆE�:Øœ˜G›Ò$Ü u¸¿¹ÔG�ØŸ™ò /�AÙ˜V¤T¨"£XÕ.ð/à—‘×#Ñ# FÕ+à  ™�ØÐ!Ù˜ Õ$Ü˜zÔ*Ù˜ Õ,ä×/Ñ/Ø'¬¨ZÓ(8×(AÑ(AÐ'BÐBsÐtóð ð	ð  	�	‰	×Ñœ 5°kÔBÕCrF   c                 óF   — | j                   rd| j                   d   _        yy)z2Add a new section (draw a line after current row).TéÿÿÿÿN)r^   rW   rB   s    rD   Úadd_sectionzTable.add_sectionÖ  s    € ð �9Š9Ø(,ˆD�I‰I�b‰MÕ%ð rF   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   r;   ÚheightÚtextr/   r1   r$   r?   r'   c                 ó–   •— t        | t        «      r‰j                  | |d¬«      n| }‰j                  |‰j	                  |¬«      ¬«      S )NF)r/   r;   ©r1   )r�   )ry   rz   Ú
render_strÚrenderÚupdate)r¼   r/   r1   Úrender_textr‰   Úrender_optionss       €€rD   Úrender_annotationz1Table.__rich_console__.<locals>.render_annotationñ  sY   ø€ ô
 ˜d¤CÔ(ð ×"Ñ" 4¨uÀÐ"ÔFàð ð
 —>‘>Ø ^×%:Ñ%:À7Ð%:Ó%Kð "ó ð rF   ztable.title)r/   r1   ztable.caption)r`   )r]   r   r8   r6   r†   rž   rŸ   r�   rÁ   r;   r!   r   ra   r   Ú
pick_firstro   rq   Ú_renderrb   rp   rr   )	rC   r‰   r�   r8   r¢   ÚwidthsÚtable_widthrÄ   rÃ   s	    `      @rD   Ú__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†   rg   rJ   r9   ÚanyÚzipr6   r<   r�   r   Úiterr°   ÚnextÚ_collapse_widthsr:   r   r|   rŸ   r7   Úmin)rC   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                             rD   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“   rT   )r–   r6   Ú
allow_wraps      rD   r˜   z)Table._collapse_widths.<locals>.<genexpr>]  s   è ø€ ò !Ù/˜e ZÊJ”Eñ!ùs   ‚
�c              3   ó:   •K  — | ]  \  }}|r|‰k7  r|nd –— Œ y­w)r   NrT   )r–   r6   rä   Ú
max_columns      €rD   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               @rD   rÐ   zTable._collapse_widthsK  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_cachere   Úfirst_columnÚlast_columnrf   rd   s           €€€€€€rD   Ú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ØˆOrF   r*   r3   N)re   rf   rd   rÌ   r|   r]   rQ   r   rP   rx   r�   rh   r-   r+   r/   rH   ri   r.   r,   r   r   rY   Úgetattrr3   )rC   r‰   rì   r£   Úany_paddingrø   Ú	raw_cellsÚ_appendr�   r-   Ú
cell_styleÚcellr.   Ú_PaddingÚfirstÚlastr/   rZ   rõ   re   rö   r÷   rf   rd   s                     @@@@@@rD   Ú
_get_cellszTable._get_cellsr  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¿_¹_óó ñð &/ò Ñ!��zÜØØÜ˜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   )rd   re   rç   )rC   rì   r´   Ú	pad_rightÚpad_lefts        rD   rË   zTable._get_padding_width»  sA   € à$(§L¡LÑ!ˆˆ9�a˜Ø× Ò Ø˜aÒÜ˜q (¨YÑ"6Ó7�Ø˜)Ñ#Ð#rF   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  rZ   rç   r¡   r7   )rC   r‰   r�   r£   r8   Úpadding_widthÚ
min_widthsÚ
max_widthsÚ
append_minÚ
append_maxÚget_render_widthrþ   Ú_minÚ_maxr—   s                  rD   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ó
ˆð ÐrF   c              #   ó�  ‡ ‡‡*‡+‡,‡-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 �]S  \  }\  }}}|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 |jL                  ¬«      }‰jO                  |jP                  | ||j                  «      |z   ¬«      }tS        |tU        |«      «      }|jW                  |«       Œž tS        d„ |D «       «      Š-dtX        tX        t              d	d
dtZ        dt@        dtX        tX        t              f
ˆ*ˆ+ˆ,ˆ-fd„} t        ||||
«      D ��!��cg c]@  \  }}!}}‰*j]                   | ||!j^                  | ||!j                  «      |z   «      ||«      ‘ŒB c}}}!}|d d  |rÄ|r#|r! ‰*|ja                  |d|¬«      |«      –— |	–— ||rdn|rdnd   \  }"}#}$|$jb                  je                  «       r|$n) ‰*|$jb                  |jf                  |$j                  z   «      }%ti        |«      D ]9  }&|r|"–— tk        |«      D ]  \  }'}(|(|&   E d {  –—†  |'rŒ|%–— Œ |r|#–— |	–— Œ; n(ti        |«      D ]  }&|D ]  }(|(|&   E d {  –—†  Œ |	–— Œ |r%|r#|r! ‰*|ja                  |d|¬«      |«      –— |	–— |xr |jl                  })|s�Œé|s|s|)s�Œñ|r�Œõ|r|tU        |«      dz
  k\  r�Œ
|r‰,r�Œ|r! ‰*|ja                  |d|¬«      |z  |«      –— n ‰*|ja                  |d|¬«      |«      –— |	–— �ŒV |r"|r ‰*|jo                  |«      |«      –— |	–— y y y c c}}}!}w 7 �Œ7 Œå­w)Nr*   c              3   óJ   •K  — | ]  \  }}‰j                  ‰||«      –— Œ y ­wr“   )r  )r–   rì   r£   r‰   rC   s      €€rD   r˜   z Table._render.<locals>.<genexpr>ñ  s*   øè ø€ ò 
á$�˜fð �O‰O˜G \°6×:ñ
ùs   ƒ #)Úsafer   )r6   r1   r:   r5   r»   r;   ©r/   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr“   )r|   )r–   rþ   s     rD   r˜   z Table._render.<locals>.<genexpr>E  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       €€€€rD   Ú
align_cellz!Table._render.<locals>.align_cellG  sj   ø€ ñ Ø'‘HÙØ$�Hà˜uÒ$Ø#×-Ñ-¨d°E¸:ÀuÓMÐMØ Ò)Ø#×0Ñ0°°u¸jÈ%ÓPÐPØ×,Ñ,¨T°5¸*ÀeÓLÐLrF   Úfoot)Úedger   r…   ÚheadÚmidÚrow)8r�   r/   rn   r°   r]   rR   rÍ   r   Ú
substituter   rc   rh   Úget_plain_headed_boxr   Úlineri   rj   rk   rl   Ú	head_leftÚ
head_rightÚhead_verticalÚmid_leftÚ	mid_rightÚmid_verticalÚ	foot_leftÚ
foot_rightÚfoot_verticalÚget_topr�   r   r^   r   rŒ   rÁ   r1   r:   r5   r;   Úrender_linesrZ   rç   r|   rx   r	   rP   Ú	set_shaper3   Úget_rowr¼   ÚstripÚbackground_styleÚranger   rW   Ú
get_bottom).rC   r‰   r�   rÇ   Útable_stylern   Ú_column_cellsÚ	row_cellsÚ_boxÚnew_liner]   rh   ri   rj   rk   rl   Úbox_segmentsr�   r�   rŠ   r   r  Úrow_cellr#  Ú
max_heightrH   rŽ   r6   rþ   r£   rÃ   Úlinesr  Ú_cellr0   ró   Ú_dividerÚdividerÚline_noÚ	last_cellÚrendered_cellrW   r  r  r  r  s.   ``                                        @@@@rD   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Ÿ]™]¨LÓ9Ù˜TŸ^™^¨\Ó:Ù˜T×.Ñ.°Ó=ðñ ˜TŸ^™^¨\Ó:Ù˜TŸ_™_¨lÓ;Ù˜T×/Ñ/°Ó>ððˆLñ" Ù˜tŸ|™|¨FÓ3°\ÓBÒBØ“àˆLà×*Ñ*ˆØ×%Ñ%ˆ	ä.7¼È	Ó8RÓ.Só v	#Ñ*ˆ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ðmv	#ñp ‘IÙ˜4Ÿ?™?¨6Ó2°LÓAÒAØ‹Nð ˆ4ùõIðD :ùð :úsX   ˆN'WÎ/AV9Ï4B4WÒ(W
Ò)WÒ0.WÓW
ÓAWÔ&WÔ.WÔ2WÕWÕA5W×W)r*   r*   )r?   N)r‰   r"   r�   r#   r?   r'   ),rK   rL   rM   rN   r	   r)   rO   rV   r   Ú
HEAVY_HEADr   rz   r   r!   rP   ÚBoxrQ   r   r   r   r~   Úclassmethodr�   rS   rg   Úsetterr†   rˆ   r�   r   r§   r   rd   r{   rµ   r¸   rÉ   rž   rÐ   rY   r  rË   r    rÆ   rT   rF   rD   r\   r\   š   s…  … ñð> �&‰\ÓØ
ˆ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>&ð@ ð &'Ø!%ØØò
à˜ ˜Ñ$ð
ð #ð
ð ð	
ð
 ð
ð ð
ð 
ò
ó ð
ð@ ð6˜ò 6ó ð6ð ‡]�]ð˜Tð  dò ó ðð ð˜cò ó ðð ð˜3ò ó ðð Yð °sð ¸yó ðØ ðØ+;ðà	óðB ð˜˜s C¨¨cÐ1Ñ2ò ó ðð ‡^�^ðÐ0ð °Wò ó ðð $&Ø#%ð8$ð
 -1Ø$(Ø,0Ø%)Ø#)Ø*/Ø%/Ø#Ø#'Ø#'Ø#Øò!8$à ð8$ð !ð8$ð
 ˜yÑ)ð8$ð ˜D‘>ð8$ð ˜yÑ)ð8$ð ˜	Ñ"ð8$ð !ð8$ð (ð8$ð #ð8$ð ˜‰}ð8$ð ˜C‘=ð8$ð ˜C‘=ð8$ð ˜‰}ð8$ð  ð!8$ð" 
ó#8$ðz &*Ø!ò	-DàÐ/Ñ0ð-Dð ˜	Ñ"ð-Dð ð	-Dð
 
ó-Dó^-ð-Ø ð-Ø+;ð-à	ó-ð^>Ø ð>Ø+;ð>à	ˆc‰ó>ð@ ð$Ø˜#‘Yð$Ø*.¨t©*ð$ØADð$à	ˆc‰ò$ó ð$ðLGØ ðGØ03ðGØ=CðGà	�%‰óGðR$¨sð $°só $ð&àð&ð "ð&ð ð	&ð
 
ó&ðPsØ ðsØ+;ðsØEIÈ#ÁYðsà	ôsrF   r\   Ú__main__)r"   )ÚReprHighlighter)ÚtimerzTable renderzStar Wars MovieszRich example tableró   )ra   rb   rr   Ú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Úruler;   )r¼   s    rD   r+   r+   Ç  s$   € Ü�M‰MŒOÜ�L‰Lœ 4›Ô)Ü�M‰M�OrF   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'])IÚdataclassesr   r   r   Útypingr   r   r   r	   r
   r   r   r   r   r*   r   r   Ú_loopr   r   Ú_pickr   Ú_ratior   r   Úalignr   Újupyterr   Úmeasurer   rd   r   r   Úprotocolr   Úsegmentr   r/   r   r   r¼   r    r!   r‰   r"   r#   r$   r%   r&   r'   r)   rV   rY   r\   rK   Úpip._vendor.rich.consoleÚpip._vendor.rich.highlighterrL  Ú_timerrM  Útabler{   rµ   rz   r+   r;   rU  rg   r6   rm   rl   rk   rT   rF   rD   ú<module>rg     sÀ  ðß 1Ñ 1÷
÷ 
õ 
÷ ß -Ý ß 2Ý &Ý !Ý  ß /Ý #Ý ß #ß  á÷÷ ð ÷Z&ð Z&ó ðZ&ðz ÷Mð Mó ðMô#ˆJô #ôDˆLô DðN ˆzÓÝ0Ý<åá	ˆ~Ó	ñ 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#