
    ;3h#                        d dl mZ d dlZd dlZd dlmZ  G d dej                        Zd Z G d d      Z	 G d	 d
e	      Z
 G d de	      Zy)    )annotationsN)Iterablec                      e Zd Zd Zy)FontEncoderc                   t        |t              rYd|j                  t        |t              rdnt        |t              rdndt        |t        t        f      r|j
                  dS d dS t        j                  j                  | |      S )NTgooglelocalfont)__gradio_font__nameclassweights)	
isinstanceFontr   
GoogleFont	LocalFontr   jsonJSONEncoderdefault)selfobjs     Y/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/gradio/themes/utils/fonts.pyr   zFontEncoder.default	   s    c4 #'c:. " c9- cJ	#:; ;;    ''c22    N)__name__
__module____qualname__r    r   r   r   r      s    3r   r   c                    d| v r^| d   }| d   dk(  rd| v rt        || d         S t        |      S | d   dk(  rd| v rt        || d         S t        |      S t        |      S | S )Nr   r   r   r   r   )r   r	   )r   r   r   )dctr   s     r   as_fontr       s    C6{w<8# # 4Y8  %
 w<7" # $I7 t_
 DzJr   c                  4    e Zd ZddZddZd	dZd
dZddZy)r   c                    || _         y Nr   )r   r   s     r   __init__zFont.__init__/   s	    	r   c                V    | j                   dv r| j                   S d| j                    dS )N)z
sans-serifserif	monospacecursivefantasy'r$   r   s    r   __str__zFont.__str__2   s6     yyVV II	
 TYYKq!	
r   c                    d d dS )Nurlcssr   r,   s    r   
stylesheetzFont.stylesheet9   s    D))r   c                z    | j                   |j                   k(  xr! | j                         |j                         k(  S r#   )r   r2   )r   others     r   __eq__zFont.__eq__<   s/    yyEJJ&R4??+<@P@P@R+RRr   c           
        t        |       }|j                  dz   |j                  z   }dj                  | j                  j                         D cg c]  \  }}|dz   t        |      z    c}}      }d| d| dS c c}}w )N.z, =<z (z)>)typer   r   join__dict__itemsrepr)r   klass
class_reprkvattrss         r   __repr__zFont.__repr__?   sx    T
%%+e.@.@@
		9L9L9NOA1s7T!W,OP:,br** Ps   A<
N)r   str)returnrE   rF   dict)r4   r   rF   bool)r   r   r   r%   r-   r2   r5   rD   r   r   r   r   r   .   s    
*S+r   r   c                      e Zd ZdddZddZy)r   c                     || _         || _        y r#   )r   r   )r   r   r   s      r   r%   zGoogleFont.__init__G   s    	r   c                    d| j                   j                  dd       ddj                  d | j                  D               d}|d dS )	Nz)https://fonts.googleapis.com/css2?family= +z:wght@;c              3  2   K   | ]  }t        |        y wr#   )rE   ).0weights     r   	<genexpr>z(GoogleFont.stylesheet.<locals>.<genexpr>L   s        fNv|fijpfq  fNs   z&display=swapr/   )r   replacer;   r   )r   r0   s     r   r2   zGoogleFont.stylesheetK   ss    9$)):K:KCQT:U9VV\]`]e]e  fN  AE  AM  AM  fN  ^N  ]O  O\  ]4((r   N))  iX  r   rE   r   zIterable[int]rG   )r   r   r   r%   r2   r   r   r   r   r   F   s    )r   r   c                  *     e Zd Zdd fdZddZ xZS )r   c                2    t         |   |       || _        y r#   )superr%   r   )r   r   r   	__class__s      r   r%   zLocalFont.__init__Q   s    r   c           
     :   t        j                  d      }g }| j                  D ]b  }|dk(  rdn|dk(  rdn
t        |      }|j	                  |j                  | j                  | j                  j                  dd      |             d d d	j                  |      d
S )Na	  
            @font-face {{
                font-family: '{name}';
                src: url('static/fonts/{file_name}/{file_name}-{weight}.woff2') format('woff2');
                font-weight: {weight};
                font-style: normal;
            }}
            rU   Regular  BoldrM    )r   	file_namerR   
r/   )	textwrapdedentr   rE   appendformatr   rT   r;   )r   css_template	css_rulesrR   weight_names        r   r2   zLocalFont.stylesheetU   s     (  	ll 
	F#s]	&C-SQW[  ##"ii//R8& $ 	
	 DIIi$899r   ))rU   r]   rV   rG   )r   r   r   r%   r2   __classcell__)rZ   s   @r   r   r   P   s    :r   r   )
__future__r   r   rb   collections.abcr   r   r   r    r   r   r   r   r   r   <module>rl      sJ    "   $3$"" 3&&+ +0) ): :r   