
    A[h("                     |   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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 erddlmZmZmZmZ  G d de	          Zedk    rYddlmZ  e            ZddlmZmZ ddlmZ  eddded          Z e!                                 e!                    e            dS dS )    )TYPE_CHECKINGOptional   )AlignMethod)ROUNDEDBox)JupyterMixin)Measurementmeasure_renderables)PaddingPaddingDimensions)Segment)	StyleType)TextTextType)ConsoleConsoleOptionsRenderableTypeRenderResultc                       e Zd ZdZefdddddddddddddd	d
dedee         dedee         dedee	         de	de
de
dee         dee         dede	ddfdZeefdddddddddd	d	d
dedee         dedee         dedee	         de
de
dee         dedd fd            Zedee         fd            Zedee         fd            Z	 	 	 	 	 	 d&d#Z	 	 	 	 	 	 d'd%ZdS )(Panela  A console renderable that draws a border around its contents.

    Example:
        >>> console.print(Panel("Hello, World!"))

    Args:
        renderable (RenderableType): A console renderable object.
        box (Box, optional): A Box instance that defines the look of the border (see :ref:`appendix_box`.
            Defaults to box.ROUNDED.
        safe_box (bool, optional): Disable box characters that don't display on windows legacy terminal with *raster* fonts. Defaults to True.
        expand (bool, optional): If True the panel will stretch to fill the console
            width, otherwise it will be sized to fit the contents. Defaults to True.
        style (str, optional): The style of the panel (border and contents). Defaults to "none".
        border_style (str, optional): The style of the border. Defaults to "none".
        width (Optional[int], optional): Optional width of panel. Defaults to None to auto-detect.
        height (Optional[int], optional): Optional height of panel. Defaults to None to auto-detect.
        padding (Optional[PaddingDimensions]): Optional padding around renderable. Defaults to 0.
        highlight (bool, optional): Enable automatic highlighting of panel title (if str). Defaults to False.
    NcenterTnone)r   r   F)titletitle_alignsubtitlesubtitle_alignsafe_boxexpandstyleborder_stylewidthheightpadding	highlight
renderabler   boxr   r   r   r   r   r   r    r!   r"   r#   r$   r%   returnc                    || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        || _        || _        || _        d S )N)r&   r'   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   )selfr&   r'   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   s                  e/var/www/api.easyaligner.net/htdocs/venv_linux/lib/python3.11/site-packages/pip/_vendor/rich/panel.py__init__zPanel.__init__%   sm    $ %
(3 , 
(
"    )	r   r   r   r   r   r    r!   r"   r$   c       	         0     | |||||||||	|
|d          S )z2An alternative constructor that sets expand=False.F)
r   r   r   r   r   r    r!   r"   r$   r    )clsr&   r'   r   r   r   r   r   r    r!   r"   r$   s               r+   fitz	Panel.fitF   sA    " s#)%
 
 
 	
r-   c                 ^   | j         rt          | j         t                    rt          j        | j                   n| j                                         }d|_        |j                            dd          |_        d|_	        |
                                 |                    d           |S d S N 
 Tr   )r   
isinstancestrr   from_markupcopyendplainreplaceno_wrapexpand_tabspad)r*   
title_texts     r+   _titlezPanel._titlef   s    : 	 dj#..' ,,,Z__&& 
  JN)/77cBBJ!%J""$$$NN1tr-   c                 ^   | j         rt          | j         t                    rt          j        | j                   n| j                                         }d|_        |j                            dd          |_        d|_	        |
                                 |                    d           |S d S r3   )r   r7   r8   r   r9   r:   r;   r<   r=   r>   r?   r@   )r*   subtitle_texts     r+   	_subtitlezPanel._subtitlev   s    = 	! dmS11* ///]'')) 
 !#M"/"5"="=dC"H"HM$(M!%%'''a     tr-   consoler   optionsr   r   c              #   J  K   t          j        | j                  }t          |          rt          | j        |          n| j        }|                    | j                  }||                    | j                  z   }| j        |j	        nt          |j	        | j                  }| j        |j        n| j        }| j                            ||          }	| j        }
|
||
_        | j        r|dz
  n1|                    ||                    |dz
                      j        }| j        p|j        pd }|r|dz  }|
.t          |j	        dz
  t)          ||
j        dz                       }|dz   }|                    ||| j                  }|                    |||          }t3          |	j        |          }t3          |	j         |          }t3          j                    }|
|dk    r*t3          |	                    |dz
  g          |          V  n|
                    | j        |dz
  |	j                    t3          |	j!        |	j         z   |          V  |"                    |
|                    |dz
                      E d {V  t3          |	j         |	j#        z   |          V  |V  |D ]}|V  |E d {V  |V  |V  | j$        }|||_        ||dk    r*t3          |	%                    |dz
  g          |          V  n|                    | j&        |dz
  |	j'                   t3          |	j(        |	j'        z   |          V  |"                    ||                    |dz
                      E d {V  t3          |	j'        |	j)        z   |          V  |V  d S )N)safe   )rG   )r"   r#   r%   )r       )	character)*r   unpackr$   anyr&   	get_styler    r!   r"   	max_widthminr   r'   
substituterB   r   measureupdate_widthmaximumr#   maxcell_lenupdater%   render_linesr   mid_left	mid_rightlineget_topalignr   toptop_leftrender	top_rightrE   
get_bottomr   bottombottom_leftbottom_right)r*   rF   rG   _paddingr&   r    r!   r"   r   r'   rA   child_widthchild_heightchild_optionslines
line_startline_endnew_liner\   rD   s                       r+   __rich_console__zPanel.__rich_console__   s(      >$,//25h--TGDOX...T_ 	 !!$*--w001BCCC z! W&
33 	 .2]-B))h!!'!99[
!+J {EAIIG$8$8$C$C !   	 {<gn< 	AL!!A%s;
8Ka8O'P'P K aldn ' 
 
 $$Ze$LLS\<88
cm-|<<<>>!#++uqyk22LAAAAAAT-uqyCGLLL#,0,?????~~j-2L2LUUVY2W2WXXXXXXXXX#'CM1<@@@@@ 	 	DOOOOOOONNNNNNN$".M EQJJ#..%!)55|DDDDDD 3UQY#*UUU#/CJ6EEEEE~~}99%!)DD         #*s'77FFFFFr-   r
   c                 .   | j         }t          j        | j                  \  }}}}||z   }|r	| j        |gn| j        g}| j        ;t          ||                    |j        |z
  dz
            |          j	        |z   dz   }	n| j        }	t          |	|	          S )NrJ   )rB   r   rM   r$   r&   r"   r   rT   rP   rU   r
   )
r*   rF   rG   rB   _rightleftr$   renderablesr"   s
             r+   __rich_measure__zPanel.__rich_measure__   s     #N4<885!T,39Pt//?P:#(():W)Dq)HII    E JE5%(((r-   )rF   r   rG   r   r(   r   )rF   r   rG   r   r(   r
   )__name__
__module____qualname____doc__r   r   r   r   r   boolr   intr   r,   classmethodr1   propertyr   rB   rE   ro   ru   r/   r-   r+   r   r      s        . #
 %)#+'+&.#'!"(# $%+!# # #$# #
 !# !# 8$# $# 4.# # #  # }# # ##  !#" 
## # # #B  

 %)#+'+&.#'!"(#%+
 
 
$
 

 !
 !
 8$
 $
 4.
 
  
 }
 #
 

 
 
 [
>     X 8D>    XK K+;K	K K K KZ) )+;)	) ) ) ) ) )r-   r   __main__)r   )DOUBLEr   )r   zHello, World!z
rich.Panelzwhite on blue)r   r    r'   r$   N)"typingr   r   r^   r   r'   r   r   jupyterr	   rS   r
   r   r$   r   r   segmentr   r    r   textr   r   rF   r   r   r   r   r   rv   cr   pprintr/   r-   r+   <module>r      s   * * * * * * * *               ! ! ! ! ! ! 5 5 5 5 5 5 5 5 / / / / / / / /                             ONNNNNNNNNNNNW) W) W) W) W)L W) W) W)t z      		A$$$$$$$$      	 	 	A GGIIIGGAJJJJJ# r-   