
    q"h6              	          S SK JrJr  S SKJr  S SKJr  S SKJr  S SK	J
r
JrJrJrJrJrJrJrJr  SSKJr  SSKJr  SS	KJrJrJrJr  SS
KJr  SSKJr  SSK J!r!  SSK"J#r#  SSK$J%r%J&r&  SSK'J(r(  SSK)J*r*  \
(       a  S SK+J,r,   " S S\5      r-\S\#4   r.\S\-4   r/ " S S\05      r1 " S S\15      r2 " S S5      r3 " S S\5      r4 " S S\45      r5 " S S \45      r6\& " S! S5      5       r7\8S":X  a  S S#K9Jr  \" 5       r\7" 5       r:\:Rw                  \7" S$S%S&9\7" SS'S(9\7" S)S*S+95        \:S'   Ry                  \7" S,S-9\7" S.S/S095        \:S.   Ry                  \7" S1S/S09\7" S2S-95        \:S2   Rw                  \7" S3S-9\7" S4S-9\7" S5S-95        \:S,   Rw                  \7" \:Rz                  S6S-9\7" S7S-95        \:S1   R}                  S85        \R                  \:5        g9g9):    )ABCabstractmethod)islice)
itemgetter)RLock)	TYPE_CHECKINGDictIterableList
NamedTupleOptionalSequenceTupleUnion   )ratio_resolve)Align)ConsoleConsoleOptionsRenderableTypeRenderResult)ReprHighlighter)Panel)Pretty)Region)Result	rich_repr)Segment)	StyleTypeTreec                   :    \ rS rSr% Sr\\S'   \\\      \S'   Sr	g)LayoutRender    zAn individual layout render.regionrender N)
__name__
__module____qualname____firstlineno____doc__r   __annotations__r   r   __static_attributes__r'       I/var/www/html/env/lib/python3.13/site-packages/pip/_vendor/rich/layout.pyr#   r#       s    &Ngr/   r#   Layoutc                       \ rS rSrSrSrg)LayoutError+   zLayout related error.r'   Nr(   r)   r*   r+   r,   r.   r'   r/   r0   r3   r3   +   s    r/   r3   c                       \ rS rSrSrSrg)
NoSplitter/   z"Requested splitter does not exist.r'   Nr5   r'   r/   r0   r7   r7   /   s    ,r/   r7   c                   V    \ rS rSrSr\" 5       rSSSS\SS4S jjrS	\	S
\
S\4S jrSrg)_Placeholder3   z4An internal renderable used as a Layout placeholder.layoutr1   stylereturnNc                     Xl         X l        g Nr<   r=   )selfr<   r=   s      r0   __init___Placeholder.__init__8   s    
r/   consoleoptionsc              #   v  #    UR                   nUR                  =(       d    UR                  R                  nU R                  nUR                  (       a  UR                  < SU SU S3OSU SU S3n[        [        R                  " [        U5      SS9U R                  U R                  U5      SUS9v   g 7f)	Nz (z x )(middle)verticalblue)r=   titleborder_styleheight)	max_widthrO   sizer<   namer   r   centerr   r=   highlighter)rB   rE   rF   widthrO   r<   rM   s          r0   __rich_console___Placeholder.__rich_console__<   s      !!67<<#6#6 {{ {{oRwc&3UG3vha( 	
 LL(;**""5)
 	
s   B7B9rA   ) )r(   r)   r*   r+   r,   r   rT   r   rC   r   r   r   rV   r.   r'   r/   r0   r:   r:   3   sD    >!#Kx 	 4 

)7
	
r/   r:   c            
       v    \ rS rSr% SrSr\\S'   \S\4S j5       r	\S\
S   S	\S\\S\4      4S
 j5       rSrg)SplitterP   zBase class for a splitter.rX   rR   r>   c                     g)z(Get the icon (emoji) used in layout.treeNr'   rB   s    r0   get_tree_iconSplitter.get_tree_iconU       r/   childrenr1   r%   c                     g)zDivide a region amongst several child layouts.

Args:
    children (Sequence(Layout)): A number of child layouts.
    region (Region): A rectangular region to divide.
Nr'   )rB   ra   r%   s      r0   divideSplitter.divideY   r`   r/   r'   N)r(   r)   r*   r+   r,   rR   strr-   r   r^   r   r   r
   r   rc   r.   r'   r/   r0   rZ   rZ   P   sg    $D#N7s 7 7  *4:	%&()	* r/   rZ   c            	       V    \ rS rSrSrSrS\4S jrS\S   S\	S\
\S\	4      4S	 jrS
rg)RowSplittere   z!Split a layout region in to rows.rowr>   c                     g)Nu   [layout.tree.row]⬌r'   r]   s    r0   r^   RowSplitter.get_tree_iconj   s    %r/   ra   r1   r%   c              #      #    Uu  p4pV[        XQ5      nSn[        n	[        X5       H  u  pX" X8-   XKU5      4v   X-  nM     g 7fNr   r   r   zip)rB   ra   r%   xyrU   rO   render_widthsoffset_Regionchildchild_widths               r0   rc   RowSplitter.dividem   sU      %e%e6"%h">EQVDDD!F #?   AAr'   Nr(   r)   r*   r+   r,   rR   re   r^   r   r   r
   r   rc   r.   r'   r/   r0   rg   rg   e   sG    +D&s &	" *	"4:	"	%&()	*	"r/   rg   c            	       V    \ rS rSrSrSrS\4S jrS\S   S\	S\
\S\	4      4S	 jrS
rg)ColumnSplittery   z$Split a layout region in to columns.columnr>   c                     g)Nu   [layout.tree.column]⬍r'   r]   s    r0   r^   ColumnSplitter.get_tree_icon~   s    (r/   ra   r1   r%   c              #      #    Uu  p4pV[        Xa5      nSn[        n	[        X5       H  u  pX" X4U-   X[5      4v   X-  nM     g 7frm   rn   )rB   ra   r%   rp   rq   rU   rO   render_heightsrs   rt   ru   child_heights               r0   rc   ColumnSplitter.divide   sV      %e&v8#&x#@EJDDD"F $Arx   r'   Nry   r'   r/   r0   r{   r{   y   sG    .D)s )	# *	#4:	#	%&()	*	#r/   r{   c                      \ rS rSrSr\\S.r S,SSSSSS.S\\	   S	\\
   S
\\   S\S\S\SS4S jjjrS\4S jr\S\	4S j5       r\S\S    4S j5       r\S\4S j5       rS	\
S\S    4S jrS	\
SS 4S jr\S-S j5       rSS.S\S \	4   S\\\
4   SS4S jjrS\S \	4   SS4S jrS\S \	4   SS4S jrS\S \	4   SS4S jrS.S jrS\	SS4S  jr S!S"S#\
SS4S$ jr!S%\S&\S\"4S' jr#S!\$S(\%S\4S) jr&S!\$S(\%S\'4S* jr(S+r)g)/r1      a"  A renderable to divide a fixed height in to rows or columns.

Args:
    renderable (RenderableType, optional): Renderable content, or None for placeholder. Defaults to None.
    name (str, optional): Optional identifier for Layout. Defaults to None.
    size (int, optional): Optional fixed size of layout. Defaults to None.
    minimum_size (int, optional): Minimum size of layout. Defaults to 1.
    ratio (int, optional): Optional ratio for flexible layout. Defaults to 1.
    visible (bool, optional): Visibility of layout. Defaults to True.
)ri   r}   Nr   T)rR   rQ   minimum_sizeratiovisible
renderablerR   rQ   r   r   r   r>   c                    U=(       d    [        U 5      U l        X0l        X@l        XPl        X l        X`l        U R                  S   " 5       U l        / U l	        0 U l
        [        5       U l        g )Nr}   )r:   _renderablerQ   r   r   rR   r   	splitterssplitter	_children_render_mapr   _lock)rB   r   rR   rQ   r   r   r   s          r0   rC   Layout.__init__   s[     &;d);	(
	"&..":"<')&(W
r/   c              #      #    SU R                   S 4v   SU R                  S 4v   SU R                  S4v   SU R                  S4v   g 7f)NrR   rQ   r   r   r   )rR   rQ   r   r   r]   s    r0   __rich_repr__Layout.__rich_repr__   sK     dii%%dii%%d//22tzz1$$s   AAc                 @    U R                   (       a  U $ U R                  $ )zLayout renderable.)r   r   r]   s    r0   r   Layout.renderable   s     ~~t;4+;+;;r/   c                 j    U R                    Vs/ s H  oR                  (       d  M  UPM     sn$ s  snf )zGets (visible) layout children.)r   r   )rB   ru   s     r0   ra   Layout.children   s$     $(>>C>%]]>CCCs   00c                     U R                   $ )zGet a map of the last render.)r   r]   s    r0   map
Layout.map   s     r/   c                 ~    U R                   U:X  a  U $ U R                   H  nUR                  U5      nUc  M  Us  $    g)zGet a named layout, or None if it doesn't exist.

Args:
    name (str): Name of layout.

Returns:
    Optional[Layout]: Layout instance or None if no layout was found.
N)rR   r   get)rB   rR   ru   named_layouts       r0   r   
Layout.get   sA     99K$yy+'' ( r/   c                 L    U R                  U5      nUc  [        SU< 35      eU$ )NzNo layout with name )r   KeyError)rB   rR   r<   s      r0   __getitem__Layout.__getitem__   s,    $>1$:;;r/   c                    ^^^^ SSK Jm  SSKJm  SSKJn  SSST4UU4S jjmU nU" T" U5      S	UR                  R                   3S
S9nSUU4S jjmT" X05        U$ )z/Get a tree renderable to show layout structure.r   )Styled)Tabler    r<   r1   r>   c                    > U R                   R                  5       nTR                  SS9nU R                  (       a  [	        U 5      OT" [	        U 5      S5      nUR                  X5        UnU$ )N)r   r   r   r   )paddingdim)r   r^   gridr   r   add_row)r<   icontabletext_summaryr   r   s        r0   summaryLayout.tree.<locals>.summary   s^    ??002DJJ|J4E #)..vfVF^U6S  MM$%HOr/   layout.tree.T)guide_style	highlightc                    > UR                    H7  nT" U R                  T" U5      SUR                  R                   3S9U5        M9     g )Nr   )r   )r   addr   rR   )treer<   ru   recurser   s      r0   r   Layout.tree.<locals>.recurse   sM    ))HH&25>>3F3F2G$H    *r/   )r   r!   r<   r1   r>   N)pip._vendor.rich.styledr   pip._vendor.rich.tabler   pip._vendor.rich.treer!   r   rR   )rB   r!   r<   r   r   r   r   r   s       @@@@r0   r   Layout.tree   so     	30.
	H 
	 
	 
	 FO&v';';&<=
	 	 	r/   r}   )r   layoutsr   c                *   U Vs/ s H%  n[        U[        5      (       a  UO
[        U5      PM'     nn [        U[        5      (       a  UOU R                  U   " 5       U l        X@R                  SS& gs  snf ! [
         a    [        SU< 35      ef = f)zSplit the layout in to multiple sub-layouts.

Args:
    *layouts (Layout): Positional arguments should be (sub) Layout instances.
    splitter (Union[Splitter, str]): Splitter instance or name of splitter.
zNo splitter called N)
isinstancer1   rZ   r   r   r   r7   r   )rB   r   r   r<   _layoutss        r0   splitLayout.split  s     "
! !00FfVnD! 	 
	A h11 ^^H-/ M %q
  	A28,?@@	As   ,A30A8 8Bc                 L    S U 5       nU R                   R                  U5        g)zAdd a new layout(s) to existing split.

Args:
    *layouts (Union[Layout, RenderableType]): Positional arguments should be renderables or (sub) Layout instances.

c              3   f   #    U  H'  n[        U[        5      (       a  UO
[        U5      v   M)     g 7fr@   )r   r1   ).0r<   s     r0   	<genexpr>#Layout.add_split.<locals>.<genexpr>%  s,      
! !00FfVnD!s   /1N)r   extend)rB   r   r   s      r0   	add_splitLayout.add_split  s%    
!
 	h'r/   c                 (    U R                   " USS06  g)zSplit the layout in to a row (layouts side by side).

Args:
    *layouts (Layout): Positional arguments should be (sub) Layout instances.
r   ri   Nr   rB   r   s     r0   	split_rowLayout.split_row+  s     	

G,e,r/   c                 (    U R                   " USS06  g)zSplit the layout in to a column (layouts stacked on top of each other).

Args:
    *layouts (Layout): Positional arguments should be (sub) Layout instances.
r   r}   Nr   r   s     r0   split_columnLayout.split_column3  s     	

G/h/r/   c                 "    U R                   SS2	 g)zReset splits to initial state.N)r   r]   s    r0   unsplitLayout.unsplit;  s    NN1r/   c                 \    U R                      Xl        SSS5        g! , (       d  f       g= f)zRUpdate renderable.

Args:
    renderable (RenderableType): New renderable object.
N)r   r   )rB   r   s     r0   updateLayout.update?  s     ZZ) ZZs   
+rE   r   layout_namec                 ,   U R                      X   nU R                  U   u  pEUu  pgpUR                  X1R                  R	                  X5      5      n
[        XJ5      U R                  U'   UR                  XU5        SSS5        g! , (       d  f       g= f)zRefresh a sub-layout.

Args:
    console (Console): Console instance where Layout is to be rendered.
    layout_name (str): Name of layout.
N)r   r   render_linesrF   update_dimensionsr#   update_screen_lines)rB   rE   r   r<   r%   _linesrp   rq   rU   rO   liness              r0   refresh_screenLayout.refresh_screenH  s     ZZ&F!--f5NF$*!Q5((99%HE (4F'BDV$''!4 ZZs   A/B
BrU   rO   c                    U [        SSX5      4/nUR                  nUR                  n/ nUR                  nU(       aZ  U" U" 5       5        US   u  pUR                  n
U
(       a*  UR                  R                  X5       H  nU" U5        M     U(       a  MZ  [        U[        S5      S9 VV	s0 s H  u  pX_M	     nnn	U$ s  sn	nf )z,Create a dict that maps layout on to Region.r   r   )key)r   appendpopra   r   rc   sortedr   )rB   rU   rO   stackpushr   layout_regionsappend_layout_regionr<   r%   ra   child_and_region
region_maps                r0   _make_region_mapLayout._make_region_mapY  s    /3VAq%5P.Q-R||ii68-44 '+B/NFH(.(>(>x(P$)* )Q e #)Z]"K
"K N"K 	 
 	
s   .CrF   c                    UR                   nUR                  =(       d    UR                  nU R                  X45      nUR                  5        VVs/ s H  u  pgUR                  (       a  M  Xg4PM     nnn0 n	UR
                  n
UR                  nU H@  u  pgU
" UR                  U" UR                  UR                  5      5      n[        X|5      X'   MB     U	$ s  snnf )zRender the sub_layouts.

Args:
    console (Console): Console instance.
    options (ConsoleOptions): Console options.

Returns:
    RenderMap: A dict that maps Layout on to a tuple of Region, lines
)
rP   rO   r   itemsra   r   r   r   rU   r#   )rB   rE   rF   render_widthrender_heightr   r<   r%   r   
render_mapr   r   r   s                r0   r&   Layout.rendern  s     ((8'..**<G
 #-"2"2"4
"4?? V"4 	 

 68
++#55,NF !!#4V\\6==#QE ".f!<J	 -
 
s   C+Cc           
   #   d  #    U R                      UR                  =(       d    UR                  nUR                  =(       d    UR                  nU R	                  XR                  X45      5      nXPl        [        U5       Vs/ s H  n/ PM     nn[        nUR                  5        H:  u  pU	u  pp[        U" X|X-   5      U
5       H  u  nnUR                  U5        M     M<     [        R                  " 5       nU H  nU S h  vN   Uv   M     S S S 5        g s  snf  N! , (       d  f       g = f7fr@   )r   rP   rU   rO   r&   r   r   ranger   valuesro   r   r   line)rB   rE   rF   rU   rO   r   _layout_lines_islicer%   r   _xrq   _layout_widthlayout_heightri   r   new_line
layout_rows                      r0   rV   Layout.__rich_console__  s      ZZ%%6E^^5w~~FW.G.G.VWJ)=B6]0K]]L0KG!+!2!2!46<3}!$LQ->?"IC JJt$" "5 ||~H*
%%% + Z
 1L &! Zs<   D0A2DDA5DDD	D0D
D-)D0)
r   r   r   r   r   rR   r   rQ   r   r   r@   )r>   r!   )r>   N)*r(   r)   r*   r+   r,   rg   r{   r   r   r   re   intboolrC   r   r   propertyr   r   ra   	RenderMapr   r   r   r   r   rZ   r   r   r   r   r   r   r   	RegionMapr   r   r   r&   r   rV   r.   r'   r/   r0   r1   r1      s;   	 $~>I 04 #"^, sm	
 sm    
*%v % <N < < D$x. D D  Y      2 $   $ $R *2%.01% #&% 
	%2(%.(@"A (d (-%.(@"A -d -0U8^+C%D 0 0* *D *5i 5c 5d 5"c 3 9 *g  9 :)7	r/   __main__)r   header   )rR   rQ   main)r   rR   
   footer)rQ   rR   side)rR   body   )rR   r   contents2toprJ   bottomleft1left2fooN)@abcr   r   	itertoolsr   operatorr   	threadingr   typingr   r	   r
   r   r   r   r   r   r   _ratior   alignr   rE   r   r   r   r   rT   r   panelr   prettyr   r%   r   reprr   r   segmentr   r=   r   r   r!   r#   r  r  	Exceptionr3   r7   r:   rZ   rg   r{   r1   r(   pip._vendor.rich.consoler<   r   r   r   r   printr'   r/   r0   <module>r'     s   #   
 
 
 "  J J (    #  * :   6!"	<'(	 )  - -
 
:s *"( "(#X #( Q Q Qh z0iGXF
H1%QV$BX& 6NV0&fA2NO
6NV!<f$>OP
4LEF16x3H 6Nv{{ A6wCWX
9U#MM&1 r/   