
    ^i                         S SK r SSKJrJrJrJrJr   " S S5      rS rSS jr	S r
S	 rS
 r/ SQSS4S jr\S:X  a  S SKr\R                   " 5         gg)    N   )colorizeget_short_namesjoin
text_width
wrap_alignc                   ^    \ rS rSr/ SQrSSSSSSSS.S jr\S 5       rS rS r	S	 r
S
 rSrg)_Node   )alignformatwrapmissingshortenN)groupsdisplayr   r   r   r   r   c                    Xl         X l        Uc  UOUU l        [        R                   H  n	[        X	[        5       U	   5        M     g N)keyr   r   r
   _propertiessetattrlocals)
selfr   r   r   r   r   r   r   r   props
             L/mnt/rpi/tmp/demucs-venv-sys/lib/python3.13/site-packages/treetable/table.py__init___Node.__init__	   s;     %os7%%DD/ &    c                 Z    U R                   c  gS[        S U R                    5       SS9-   $ )Nr   r   c              3   8   #    U  H  oR                   v   M     g 7fr   )depth).0childs     r   	<genexpr>_Node.depth.<locals>.<genexpr>   s     A[EKK[   default)r   maxr   s    r   r!   _Node.depth   s+    ;;sAT[[A1MMMr   c                 ,    [        U R                  5      $ r   )iterr   r*   s    r   __iter___Node.__iter__    s    DKK  r   c                     0 n[         R                   H   n[        X5      nUb  M  [        X5      X#'   M"     U R                  " S0 UD6$ )N )r
   r   getattrupdate)r   parentupdatesr   my_values        r   inherit_Node.inherit#   sG    %%Dt*H ' 5 & {{%W%%r   c                     U R                   U R                  U R                  S.n[        R                   H  n[        X5      X#'   M     UR                  U5        [        S0 UD6$ )N)r   r   r   r1   )r   r   r   r
   r   r2   r3   )r   r5   kwargsr   s       r   r3   _Node.update+   sV    88kk||

 %%D"4.FL & 	gvr   c                    / nU R                   b  UR                  U R                   5        U R                  U R                   :w  a  UR                  SU R                   35        [        R                   H)  n[        X5      nUc  M  UR                  U SU 35        M+     U R                  c  SnOU R                  c  SnOSnU nU(       a  USSR                  U5       S3-  nU R                  b]  / nU R                   H2  nUR                  [        R                  " [        U5      S	5      5        M4     S
R                  U5      nUSU 3-  nU$ )Nzkey==tableleafgroup(z, )  
z:
)r   appendr   r
   r   r2   r   r   textwrapindentrepr)	r   
repr_partsr   valuenamemy_reprchild_reprsr#   
child_reprs	            r   __repr___Node.__repr__7   s/   
<<#dll+88t||#TXXJ/0%%DD'E !!TF!E7"34 & 88D[[ DDF499Z0133G;;"K""8??4;#EF %;/JZL))Gr   )r   r   r   )__name__
__module____qualname____firstlineno__r   r   propertyr!   r.   r7   r3   rO   __static_attributes__r1   r   r   r
   r
      sM    CK
 0  N N!&
r   r
   c                     [        SXS.UD6$ N)r   r   r1   r
   )r   r   r:   s      r   r@   r@   T       2S2622r   c                     [        SXS.UD6$ )N)r   r   r1   rY   )r   r   r:   s      r   r?   r?   X   rZ   r   c                     [        SS U S.UD6$ rX   rY   )r   r:   s     r   r>   r>   \   s    3T&3F33r   c                     / nU  HK  nUc  UR                   =(       d    SnO[        X1R                  =(       d    S5      nUR                  U5        MM     U$ )N )r   r   rE   )linesr?   	formattedlinecontents        r   _treetable_terminalrc   `   sM    I<ll(bGT;;#4"5G!  r   c           
         UR                   nUc  [        X5      $ UR                  nUS-
  [        U5      :  a  [	        SU S[        U5       S35      eU Vs/ s H  oUR
                  PM     nnUR                  (       a  [        U5      nOUn/ n[        X75       GH  u  pYUR                  U5      nUR                   b  [        UR                   5      S:X  a  M?  UR                  n
XJ-
  nUR                   S L nU  Vs/ s H'  oR                  UR                  U(       a  S O0 5      PM)     nnU(       a  [        X5      nO
[        XUS9n[        S U 5       SS9n[        U[        U	5      5      nUR                   c#  UR                  b  [        UR                  U5      nU(       a  UR
                  S U nOUR
                  S U R!                  U5      nS	/US-
  -  U/-   U-   nU Vs/ s H!  n[#        UUUR$                  =(       d    S
S9PM#     nnUR'                  U5        GM     [)        XUS-
     S9$ s  snf s  snf s  snf )Nr   z2Not enough separators for depth of tree (depth is z	 but got z separators)r   )r@   
separatorsc              3   8   #    U  H  n[        U5      v   M     g 7fr   )r   )r"   ra   s     r   r$   _treetable.<locals>.<genexpr>   s     B/$Z%%/r&   r'   r^   <)width	alignment)	separator)r   rc   r!   len
ValueErrorr   r   r   zipr7   getr   
_treetabler)   r   mincenterr   r   rE   r   )r_   r@   re   r   r!   r#   displaysshort_namescolumns
short_namechild_depthdelta_depthterminalra   child_lineschild_formattedri   display_names                     r   rp   rp   k   s<   \\F~"500KKEqyC
O#yZ(9GH 	H ,226%6H2}}%h/G 5e$<<#ELL(9Q(>kk)<<4'FK
FKdHHUYYb9e 	 
 1+EO(ZAOB/BANE3z?+<<EJJ$:

E*E ==%0L ==%077>L$+/2l 68 8:IJ (
' t5EKK4F3G' 	 
 	'? 6@ eai#899O 3
(
s   H7<.H<((I)rC   z | z  ||  Fc                 F   [        XUS9n Uby  [        U 5       VVs/ s H  u  pV[        XcU[        U5      -     5      PM!     n nnUR                  nU SU nU Vs/ s H  n[        US5      PM     nnXSU& U(       a
  XSSS2   -  n SR                  U 5      $ s  snnf s  snf )a  
Pretty-print `lines` using the `table` structure.

`separators` give the list of sub-tables separators. It needs to be
as long as the maximum depth of `groups`. Deepest separators comes first.
If longer than the maximum depth of `groups`, the first ones will be used.

)r_   r@   re   N1rD   )rp   	enumerater   rl   r!   r   )	r_   r>   re   colorsheader_downindexra   r!   headers	            r   	treetabler      s     UJGE  )/
/ T%#f+"567/ 	 
 v289&$(4%&9fuDbD\!E99U
 :s   &BB__main__)r^   )rF   textr   r   r   r   r   r
   r@   r?   r>   rc   rp   r   rQ   doctesttestmodr1   r   r   <module>r      s`     I IK K\3342:j (?tY^ 0 zOO r   