
    }c              	       8   U d Z ddlZddlZddlZddlmZmZ 	 ddlZn# e$ r dZY nw xY w ej	        d          Z
eed<   i Zeeef         ed<   dedefd	Zdefd
Z e            Zeed<   dedefdZdefdZd#dZd#dZd$dedededefdZdedefdZdeddfdZdddddddZe                                D ]\  ZZdez   ee<   g dZ eed           D ]\  Z \  Z!Z"d!e z  ee!<   d!e d"z   z  ee"<   e#                                Z$eD ]Z ee           dS )%zFormat colored console output.    N)DictPatternz\[(\d\d;){0,2}\d\dm_ansi_recodessreturnc                 T    |                      dd                              d          S )z4Safely encode a string for printing to the terminal.asciibackslashreplace)encodedecoder   s    3lib/python3.11/site-packages/sphinx/util/console.pyterminal_safer      s%    88G/0077@@@    c                  N   	 ddl } ddl}ddl}|                     d|j        |                    ddddd                    }|                    d|          dd         \  }}|}n@# t          $ r3 t          t          j
                            dd                    dz
  }Y nw xY w|S )zBorrowed from the py lib.r   Nhhhh   COLUMNS80   )fcntlstructtermiosioctl
TIOCGWINSZpackunpack	Exceptionintosenvironget)r   r   r   callheightwidthterminal_widths          r   get_terminal_widthr(      s    	B{{1g0&++faAq2Q2QRRfd33BQB7 B B BRZ^^It<<==AB s   A"A% %:B"!B"_twtextc           	          t           s| dz   S |                     t          t          |           z   t          t                              d|                     z
            dz   S )N
 )r   ljustr)   lenr   sub)r*   s    r   term_width_liner2   *   sS     Pd{ zz#D		/CR0F0F,G,GGHH4OOr   c                     dt           j        v rdS t          j        dk    rt          t	          j                     dS dt           j        v rdS t          t          j        d          sdS t          j                                        sdS dt           j        v rdS t           j        	                    dd	          
                                } | d
v sd| v rdS dS )NNO_COLORFwin32TFORCE_COLORisatty	COLORTERMTERMdumb)xtermlinuxcolor)r!   r"   sysplatformcoloramainithasattrstdoutr7   r#   lower)terms    r   color_terminalrF   3   s    RZ u
|w 8 t
" t3:x(( u: ubj  t:>>&&))//11D!! W_ t5r   c                      t           j        dk    rt          t          j                     t                                           d S )Nr5   )r>   r?   r@   deinitr   clear r   r   nocolorrK   G   s7    
|w 8 	KKMMMMMr   c                  D    t                               t                     d S N)r   update_orig_codesrJ   r   r   coloronrP   M   s    	LLr   Fname
input_modec                 `    dt           dt           ffd} ||           |z    |d          z   S )NrQ   r   c                 v    t                               | d          }r|rt          j        dk    rd|z   dz   S |S )Nr-   r5   )r   r#   r>   r?   )rQ   escaperR   s     r   escseqzcolorize.<locals>.escseqR   sI     4$$ 	& 	S\W%< 	&=4''Mr   reset)str)rQ   r*   rR   rX   s     ` r   colorizer[   Q   sQ    
S 
S 
 
 
 
 
 
 6$<<$00r   c                 R    t          j        d                              d|           S )Nz.*?mr-   )recompiler1   r   s    r   strip_colorsr_   a   s"    :j!!%%b!,,,r   c                 R     dt           dt           f fd}|t                       <   d S )Nr*   r   c                 $    t          |           S rM   )r[   )r*   rQ   s    r   innerz create_color_func.<locals>.innerf   s    d###r   )rZ   globals)rQ   rb   s   ` r   create_color_funcrd   e   s@    $C $C $ $ $ $ $ $GIIdOOOr   z	39;49;00m01m02m03m04m05m)rY   boldfaintstandout	underlineblinkz[))blackdarkgray)darkredred)	darkgreengreen)brownyellow)darkblueblue)purplefuchsia)	turquoiseteal)	lightgraywhite   z[%im<   )r   N)F)%__doc__r!   r]   r>   typingr   r   r@   ImportErrorr^   r   __annotations__r   rZ   r   r    r(   r)   r2   boolrF   rK   rP   r[   r_   rd   _attrsitems_name_value_colors	enumerateidarklightcopyrO   rJ   r   r   <module>r      s   $ $ $ 				 				 



                OOOO   HHH BJ=>>' > > >tCH~   AS AS A A A A
C     S   P# P# P P P P    (      1 13 1c 1t 1 1 1 1 1 -C -C - - - -C D     
 
 \\^^ $ $ME6V#E%LL	 	 	 "	'2.. ) )A}eq.E$KR(E%LLjjll  Ee s    ((