a
    ¥Q•hŽ+  ã                	   @   s  d dl Z d dlZd dlmZ ddlmZ G dd„ de  dg d¢¡ƒZdd	„ Zd
d„ Z	dd„ Z
dd„ Zdd„ Zde d d¡ej¡jfde d d¡ej¡jfde d d¡ej¡jfde d d¡ej¡jffZg d¢Zg d¢ZdeddddƒdœZe ¡ Ze dd„ ee D ƒ¡ dS )é    N)Ú
hls_to_rgbé   )Úparse_one_component_valuec                   @   s   e Zd ZdZdS )ÚRGBAaà  An RGBA color.

    A tuple of four floats in the 0..1 range: ``(red, green, blue, alpha)``.

    .. attribute:: red

        Convenience access to the red channel. Same as ``rgba[0]``.

    .. attribute:: green

        Convenience access to the green channel. Same as ``rgba[1]``.

    .. attribute:: blue

        Convenience access to the blue channel. Same as ``rgba[2]``.

    .. attribute:: alpha

        Convenience access to the alpha channel. Same as ``rgba[3]``.

    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r
   r
   úH/var/www/sistema_ama/venv/lib/python3.9/site-packages/tinycss2/color3.pyr      s   r   )ÚredÚgreenÚblueÚalphac                    sP  t | tƒrt| dd�}n| }|jdkr2t |j¡S |jdkr’tD ]N\‰ }||jƒ}|r@‡ fdd„| 	¡ D ƒ}t
|ƒdkr‚| d¡ t|Ž   S q@nº|jd	k�rLt|jƒ}|�rL|j}|d
krÈt|dd�S |dk�r t|dd… ƒ}|du�rLt|dd… |ƒS nL|dk�rt|dd�S |dk�rLt|dd… ƒ}|du�rLt|dd… |ƒS dS )a¿  Parse a color value as defined in CSS Color Level 3.

    https://www.w3.org/TR/css-color-3/

    :type input: :obj:`str` or :term:`iterable`
    :param input: A string or an iterable of :term:`component values`.
    :returns:
        * :obj:`None` if the input is not a valid color value.
          (No exception is raised.)
        * The string ``'currentColor'`` for the ``currentColor`` keyword
        * Or a :class:`RGBA` object for every other values
          (including keywords, HSL and HSLA.)
          The alpha channel is clipped to [0, 1]
          but red, green, or blue can be out of range
          (eg. ``rgb(-10%, 120%, 0%)`` is represented as
          ``(-0.1, 1.2, 0, 1)``.)

    T)Úskip_commentsÚidentÚhashc                    s   g | ]}t |ˆ  d ƒd ‘qS )é   éÿ   )Úint)Ú.0Úgroup©Ú
multiplierr
   r   Ú
<listcomp>=   s   ÿzparse_color.<locals>.<listcomp>é   ç      ð?ÚfunctionÚrgb)r   ÚrgbaNÚhslÚhsla)Ú
isinstanceÚstrr   ÚtypeÚ_COLOR_KEYWORDSÚgetÚlower_valueÚ_HASH_REGEXPSÚvalueÚgroupsÚlenÚappendr   Ú_parse_comma_separatedÚ	argumentsÚ
lower_nameÚ
_parse_rgbÚ_parse_alphaÚ
_parse_hsl)ÚinputÚtokenÚregexpÚmatchÚchannelsÚargsÚnamer   r
   r   r   Úparse_color    s>    




þ






r:   c                 C   s4   t | ƒdkr0| d jdkr0tdtd| d jƒƒS dS )zªParse a list of one alpha value.

    If args is a list of a single INTEGER or NUMBER token,
    return its value clipped to the 0..1 range. Otherwise, return None.

    r   r   ÚnumberN)r+   r$   ÚminÚmaxr)   )r8   r
   r
   r   r1   U   s    r1   c                 C   s�   dd„ | D ƒ}|g d¢krVt dd„ | D ƒƒrVdd„ | dd… D ƒ\}}}t||||ƒS |g d	¢krŒd
d„ | dd… D ƒ\}}}t||||ƒS dS )z´Parse a list of RGB channels.

    If args is a list of 3 INTEGER tokens or 3 PERCENTAGE tokens, return RGB
    values as a tuple of 3 floats in 0..1. Otherwise, return None.

    c                 S   s   g | ]
}|j ‘qS r
   ©r$   ©r   Úargr
   r
   r   r   g   ó    z_parse_rgb.<locals>.<listcomp>)r;   r;   r;   c                 s   s   | ]}|j V  qd S )N)Ú
is_integer)r   Úar
   r
   r   Ú	<genexpr>i   rA   z_parse_rgb.<locals>.<genexpr>c                 S   s   g | ]}|j d  ‘qS )r   )Ú	int_valuer?   r
   r
   r   r   j   rA   Nr   )Ú
percentagerF   rF   c                 S   s   g | ]}|j d  ‘qS )éd   )r)   r?   r
   r
   r   r   m   rA   )Úallr   ©r8   r   ÚtypesÚrÚgÚbr
   r
   r   r0   `   s    ÿr0   c                 C   s\   dd„ | D ƒ}|g d¢krXt | d jd | d jd | d jd ƒ\}}}t||||ƒS d	S )
z³Parse a list of HSL channels.

    If args is a list of 1 NUMBER token and 2 PERCENTAGE tokens, return RGB
    values as a tuple of 3 floats in 0..1. Otherwise, return None.

    c                 S   s   g | ]
}|j ‘qS r
   r>   r?   r
   r
   r   r   x   rA   z_parse_hsl.<locals>.<listcomp>)r;   rF   rF   r   ih  é   rG   r   N)r   r)   r   rI   r
   r
   r   r2   q   s    $ÿ
r2   c                 C   sT   dd„ | D ƒ} | sg S t | ƒd dkrPtdd„ | ddd… D ƒƒrP| ddd… S dS )aT  Parse a list of tokens (typically the content of a function token)
    as arguments made of a single token each, separated by mandatory commas,
    with optional white space around each argument.

    return the argument list without commas or white space;
    or None if the function token content do not match the description above.

    c                 S   s   g | ]}|j d vr|‘qS ))Ú
whitespaceÚcommentr>   ©r   r4   r
   r
   r   r   ˆ   s   
ÿz*_parse_comma_separated.<locals>.<listcomp>rN   r   c                 s   s   | ]}|d kV  qdS )ú,Nr
   rQ   r
   r
   r   rD   Œ   rA   z)_parse_comma_separated.<locals>.<genexpr>N)r+   rH   )Útokensr
   r
   r   r-      s
    	,r-   rN   z^{}$z$([\da-f])([\da-f])([\da-f])([\da-f])z0([\da-f]{2})([\da-f]{2})([\da-f]{2})([\da-f]{2})z([\da-f])([\da-f])([\da-f])z$([\da-f]{2})([\da-f]{2})([\da-f]{2}))©Úblack)r   r   r   ©Úsilver)éÀ   rX   rX   ©Úgray©é€   r\   r\   ©Úwhite)r   r   r   ©Úmaroon)r\   r   r   ©r   )r   r   r   ©Úpurple)r\   r   r\   ©Úfuchsia©r   r   r   ©r   )r   r\   r   ©Úlime)r   r   r   ©Úolive)r\   r\   r   ©Úyellow)r   r   r   ©Únavy)r   r   r\   ©r   )r   r   r   ©Úteal)r   r\   r\   ©Úaqua©r   r   r   )“)Ú	aliceblue)éð   éø   r   )Úantiquewhite)éú   éë   é×   rs   )Ú
aquamarine)é   r   éÔ   )Úazure)rw   r   r   )Úbeige)éõ   r‚   éÜ   )Úbisque)r   éä   éÄ   rT   )Úblanchedalmond)r   r{   éÍ   rp   )Ú
blueviolet)éŠ   é+   éâ   )Úbrown)é¥   é*   r�   )Ú	burlywood)éÞ   é¸   é‡   )Ú	cadetblue)é_   éž   é    )Ú
chartreuse)r~   r   r   )Ú	chocolate)éÒ   éi   é   )Úcoral)r   r~   éP   )Úcornflowerblue)rG   é•   éí   )Úcornsilk)r   rx   rƒ   )Úcrimson)rƒ   é   é<   )Úcyanru   )Údarkblue)r   r   é‹   )Údarkcyan)r   r¨   r¨   )Údarkgoldenrod)r’   é†   é   )Údarkgray©é©   r¯   r¯   )Ú	darkgreen)r   rG   r   )Údarkgreyr®   )Ú	darkkhaki)é½   é·   ék   )Údarkmagenta)r¨   r   r¨   )Údarkolivegreen)éU   rµ   é/   )Ú
darkorange)r   éŒ   r   )Ú
darkorchid)é™   é2   éÌ   )Údarkred)r¨   r   r   )Ú
darksalmon)éé   é–   éz   )Údarkseagreen)é�   é¼   rÆ   )Údarkslateblue)éH   é=   r¨   )Údarkslategray©r¹   éO   rÍ   )ÚdarkslategreyrÌ   )Údarkturquoise)r   éÎ   éÑ   )Ú
darkviolet)é”   r   éÓ   )Údeeppink)r   r¤   é“   )Údeepskyblue)r   é¿   r   )Údimgray©r›   r›   r›   )ÚdimgreyrÚ   )Ú
dodgerblue)rœ   é�   r   )Ú	firebrick)é²   é"   rà   )Úfloralwhite)r   rz   rw   )Úforestgreen)rà   r¨   rà   rd   )Ú	gainsboro)rƒ   rƒ   rƒ   )Ú
ghostwhite)rx   rx   r   )Úgold)r   r|   r   )Ú	goldenrod)éÚ   rŽ   é    rY   rg   )Úgreenyellow)é­   r   r¹   )Úgreyr[   )Úhoneydew)rw   r   rw   )Úhotpink)r   r›   é´   )Ú	indianred)rˆ   é\   rð   )Úindigo)éK   r   é‚   )Úivory)r   r   rw   )Úkhaki)rw   éæ   r»   )Úlavender)rö   rö   rz   )Úlavenderblush)r   rw   r‚   )Ú	lawngreen)é|   éü   r   )Úlemonchiffon)r   rz   rˆ   )Ú	lightblue)rê   éØ   rö   )Ú
lightcoral)rw   r\   r\   )Ú	lightcyan)éà   r   r   )Úlightgoldenrodyellow)rz   rz   rš   )Ú	lightgray©rÔ   rÔ   rÔ   )Ú
lightgreen)rÝ   éî   rÝ   )Ú	lightgreyr  )Ú	lightpink)r   é¶   éÁ   )Úlightsalmon)r   r—   rÄ   )Úlightseagreen)rè   rß   éª   )Úlightskyblue)r“   rÐ   rz   )Úlightslategray©éw   éˆ   r½   )Úlightslategreyr  )Úlightsteelblue)é°   r†   r‘   )Úlightyellow)r   r   r  rh   )Ú	limegreen)r¾   rˆ   r¾   )Úlinen)rz   rw   rö   )Úmagentarf   r_   )Úmediumaquamarine)éf   rˆ   r  )Ú
mediumblue)r   r   rˆ   )Úmediumorchid)éº   r¸   rÔ   )Úmediumpurple)rÖ   ép   éÛ   )Úmediumseagreen)r¥   é³   éq   )Úmediumslateblue)é{   éh   r  )Úmediumspringgreen)r   rz   éš   )Úmediumturquoise)rÉ   rÑ   r¿   )Úmediumvioletred)éÇ   é   é…   )Úmidnightblue)é   r0  r   )Ú	mintcream)r‚   r   rz   )Ú	mistyrose)r   r…   éá   )Úmoccasin)r   r…   éµ   )Únavajowhite)r   r‘   rê   rn   )Úoldlace)éý   r‚   rö   rj   )Ú	olivedrab)rµ   éŽ   é#   )Úorange)r   rŽ   r   )Ú	orangered)r   éE   r   )Úorchid)rç   r   éÖ   )Úpalegoldenrod)r  éè   r  )Ú	palegreen)é˜   éû   rD  )Úpaleturquoise)é¯   r  r  )Úpalevioletred)r!  r   rÖ   )Ú
papayawhip)r   éï   éÕ   )Ú	peachpuff)r   rç   é¹   )Úperu)rˆ   r.  é?   )Úpink)r   rX   éË   )Úplum)éÝ   r—   rS  )Ú
powderblue)r  r  rö   rb   ra   )Ú	rosybrown)rÇ   rÆ   rÆ   )Ú	royalblue)éA   r›   r3  )Úsaddlebrown)r¨   r>  é   )Úsalmon)rz   r\   ér   )Ú
sandybrown)éô   é¤   é`   )Úseagreen)é.   r¨   éW   )Úseashell)r   r‚   r  )Úsienna)r—   éR   é-   rV   )Úskyblue)r“   rÐ   r{   )Ú	slateblue)éj   éZ   rˆ   )Ú	slategray©r   r\   rÝ   )Ú	slategreyrl  )Úsnow)r   rz   rz   )Úspringgreen)r   r   r~   )Ú	steelblue)éF   ró   rî   )Útan)rš   rî   r»   rq   )Úthistle)rþ   rØ   rþ   )Útomato)r   éc   éG   )Ú	turquoise)é@   r  éÐ   )Úviolet)r  ró   r  )Úwheat)r‚   r‘   r#  r]   )Ú
whitesmoke)r‚   r‚   r‚   rl   )Úyellowgreen)r)  rˆ   r¾   ZcurrentColorg        )ÚcurrentcolorÚtransparentc                 c   s6   | ].\}\}}}|t |d  |d  |d  dƒfV  qdS )g     ào@r   N)r   )r   ÚkeywordrK   rL   rM   r
   r
   r   rD   N  s   ÿrD   )ÚcollectionsÚreÚcolorsysr   Úparserr   Ú
namedtupler   r:   r1   r0   r2   r-   ÚcompileÚformatÚIr6   r(   Ú_BASIC_COLOR_KEYWORDSÚ_EXTENDED_COLOR_KEYWORDSZ_SPECIAL_COLOR_KEYWORDSÚcopyr%   Úupdater
   r
   r
   r   Ú<module>   s0   5ü	 þ
ý