
    AF[i2	                     `    d Z ddlZddlmZ  G d d      Zdeeeeef         dee   defd	Zy)
zEContains utilities to print stuff to the terminal (styling, helpers).    N)Unionc                       e Zd ZdZdZdZdZdZdZdZ	dZ
ed	ed
efd       Zed	ed
efd       Zed	ed
efd       Zed	ed
efd       Zed	ed
efd       Zed	ed
efd       Zed	eded
efd       Zy)ANSIz;
    Helper for en.wikipedia.org/wiki/ANSI_escape_code
    z[34mz[1mz[90mz[32mz[31mz[0mz[33msreturnc                 :    | j                  || j                        S N)_format_blueclsr   s     h/var/www/html/chatbot/moweb-chatbot/venv/lib/python3.12/site-packages/huggingface_hub/utils/_terminal.pybluez	ANSI.blue!       {{1cii((    c                 :    | j                  || j                        S r	   )r
   _boldr   s     r   boldz	ANSI.bold%   r   r   c                 :    | j                  || j                        S r	   )r
   _grayr   s     r   grayz	ANSI.gray)   r   r   c                 :    | j                  || j                        S r	   )r
   _greenr   s     r   greenz
ANSI.green-   s    {{1cjj))r   c                 T    | j                  || j                  | j                  z         S r	   )r
   r   _redr   s     r   redzANSI.red1   s     {{1cii#((233r   c                 :    | j                  || j                        S r	   )r
   _yellowr   s     r   yellowzANSI.yellow5   s    {{1ckk**r   codec                 h    t         j                  j                  d      r|S | | | j                   S )NNO_COLOR)osenvironget_reset)r   r   r!   s      r   r
   zANSI._format9   s.    ::>>*%Hs3::,''r   N)__name__
__module____qualname____doc__r   r   r   r   r   r'   r   classmethodstrr   r   r   r   r   r    r
    r   r   r   r      s    EEEFDFG)S )S ) ) )S )S ) ) )S )S ) ) *c *c * * 4C 4C 4 4 +s +s + + ( (3 (3 ( (r   r   rowsheadersr   c           	         t        g | | D cg c]  }t        d |D               }} dt        |      z  j                  | }g }|j	                   |j                  |        |j	                   |j                  |D cg c]  }d|z  	 c}        | D ]   }|j	                   |j                  |        " dj                  |      S c c}w c c}w )z
    Inspired by:

    - stackoverflow.com/a/8356620/593036
    - stackoverflow.com/questions/9535954/printing-lists-as-tabular-data
    c              3   D   K   | ]  }t        t        |              y wr	   )lenr-   ).0xs     r   	<genexpr>ztabulate.<locals>.<genexpr>H   s     /ac#a&k/s    z{{:{}}} -
)zipmaxr3   formatappendjoin)r/   r0   col
col_widths
row_formatlineswrows           r   tabulaterD   A   s     <?;N;Ng;NOC#/3//OJO3*s7|+33Z@JE	LL"""G,-	LL"""j$AS1W$ABC .&Z&&,-.99U P %Bs   CC)	r+   r$   typingr   r   listr-   intrD   r.   r   r   <module>rH      sL    L 	 *( *(Z4U38_-. c s r   