§
    ¥”j?.  ã                   ó´  — d Z ddlmZ ddlZddlmZ ddlmZ dd	lm	Z	m
Z
mZmZmZmZmZmZmZmZmZ i i i d
œZdZ G d„ d¦  «        Z G d„ d¦  «        Zd„ Zd0d„Zd„ Z ed¦  «        d1d„¦   «         Z edd¬¦  «        e
d„ ¦   «         ¦   «         Z ed¦  «        ed„ ¦   «         ¦   «         Z ed¦  «        ed„ ¦   «         ¦   «         Z ed¦  «        ed„ ¦   «         ¦   «         Z ed¦  «        d„ ¦   «         Z  ed¦  «        d„ ¦   «         Z! ed¦  «        e
ed„ ¦   «         ¦   «         ¦   «         Z" ed¦  «        d „ ¦   «         Z# edd¬¦  «        d!„ ¦   «         Z$ edd"d¬¦  «         edd#d¬¦  «        d$„ ¦   «         ¦   «         Z% ed¦  «        e
d%„ ¦   «         ¦   «         Z& edd¬¦  «        d&„ ¦   «         Z' ed¦  «        ed'„ ¦   «         ¦   «         Z( edd¬¦  «        d(„ ¦   «         Z) edd¬¦  «        d)„ ¦   «         Z* ed*d+d¬,¦  «        ed-„ ¦   «         ¦   «         Z+ ed*¦  «        ed.„ ¦   «         ¦   «         Z, ed*¦  «        e
d/„ ¦   «         ¦   «         Z-dS )2z,Validate descriptors used for some at-rules.é    )ÚinfNé   )ÚLOGGERé   )Ú
propertiesé   )ÚInvalidValuesÚcomma_separated_listÚget_custom_identÚget_keywordÚ
get_numberÚget_single_keywordÚget_urlÚremove_whitespaceÚsingle_keywordÚsingle_tokenÚsplit_on_comma)ú	font-faceúcounter-styleúcolor-profile)zfont-displayc                   ó   — e Zd ZdZdZdS )ÚNoneFakeTokenÚidentÚnoneN©Ú__name__Ú
__module__Ú__qualname__ÚtypeÚlower_value© ó    út/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/weasyprint/css/validation/descriptors.pyr   r      s   € € € € € Ø€DØ€K€K€Kr"   r   c                   ó   — e Zd ZdZdZdS )ÚNormalFakeTokenr   ÚnormalNr   r!   r"   r#   r%   r%      s   € € € € € Ø€DØ€K€K€Kr"   r%   c              #   ó–  K  — |D �]B}|j         dk    s|j        rŒt          |j        ¦  «        }	 |j        t
          v rŒ:|j        t          |          vrt          d¦  «        ‚t          |          |j                 }|j        r |||¦  «        }n ||¦  «        }|€t          ‚|j        |ff}nx# t          $ rk}t          j
        d|j        t          j        |j        ¦  «        |j        |j        |j        r|j        d         r|j        d         nd¦  «         Y d}~�Œd}~ww xY w|D ]\  }	}|	                     dd¦  «        |fV — Œ �ŒDdS )	zŸFilter unsupported names and values for descriptors.

    Log a warning for every ignored descriptor.

    Return a iterable of ``(name, value)`` tuples.

    Údeclarationzdescriptor not supportedNzIgnored `%s:%s` at %d:%d, %s.r   zinvalid valueú-Ú_)r   Ú	importantr   ÚvalueÚnameÚNOT_PRINT_MEDIAÚDESCRIPTORSr	   Úwants_base_urlr   ÚwarningÚtinycss2Ú	serializeÚsource_lineÚsource_columnÚargsÚreplace)
ÚruleÚbase_urlÚdescriptorsÚ
descriptorÚtokensÚfunctionr,   ÚresultÚexcÚ	long_names
             r#   Úpreprocess_descriptorsrA   #   s�  è è € ð "ð 5ñ 5ˆ
ØŒ?˜mÒ+Ð+¨zÔ/CÐ+ØÝ" :Ô#3Ñ4Ô4ˆð	ØŒ¥/Ð1Ð1ØØ”­°DÔ(9Ð9Ð9Ý#Ð$>Ñ?Ô?Ð?å" 4Ô(¨¬Ô9ˆHØÔ&ð )Ø ˜ ¨Ñ2Ô2��à ˜ Ñ(Ô(�Øˆ}Ý#Ð#Ø!”¨Ð.Ð0ˆFˆFøÝð 	ð 	ð 	ÝŒNØ/Ø”¥Ô!3°JÔ4DÑ!EÔ!EØÔ&¨
Ô(@Ø"œxÐL¨C¬H°Q¬KÐL�”˜”�¸_ñ	Nô Nð Nð
 ˆHˆHˆH‰Høøøøð	øøøð !'ð 	5ð 	5ÑˆI�uØ×#Ò# C¨Ñ-Ô-¨uÐ4Ð4Ð4Ð4Ð4ñ	5ð55ð 5s   °B-¿A-B-Â-
D"Â7A DÄD"Fc                 ó   ‡ ‡‡— ˆˆ ˆfd„}|S )ul  Decorator adding a function to the ``DESCRIPTORS``.

    The name of the descriptor covered by the decorated function is set to
    ``descriptor_name`` if given, or is inferred from the function name
    (replacing underscores by hyphens).

    :param wants_base_url:
        The function takes the stylesheetâ€™s base URL as an additional
        parameter.

    c                 ó¨   •— ‰€| j                              dd¦  «        }n‰}|t          ‰         vs
J |¦   «         ‚‰| _        | t          ‰         |<   | S )z(Add ``function`` to the ``DESCRIPTORS``.Nr*   r)   )r   r7   r/   r0   )r=   r-   Údescriptor_namer8   r0   s     €€€r#   Ú	decoratorzdescriptor.<locals>.decoratorU   sb   ø€ àÐ"ØÔ$×,Ò,¨S°#Ñ6Ô6ˆDˆDà"ˆDØ�; tÔ,Ð,Ð,Ð,¨dÑ,Ô,Ð,à"0ˆÔØ"*��DÔ˜$ÑØˆr"   r!   )r8   rD   r0   rE   s   ``` r#   r;   r;   I   s0   øøø€ ð
ð 
ð 
ð 
ð 
ð 
ð 
ð Ðr"   c              #   óì  K  — t          | ¦  «        }|dv r.dD ]}|t          gfV — Œ|dk    rt          nt          }d|gfV — d S g g g g g g dœ}| D ]}t          |¦  «        }|dk    rt          ‚|D ]W}d|                     dd¦  «        › �} t          t          |¦  «        |g¦  «        r||                              |¦  «          nŒXt          ‚Œ€| 	                    ¦   «         D ]\  }} | r	d|› �| fV — Œd S )	N)r&   r   )z-alternatesz-capsz-east-asianz-numericz	-positionr&   z
-ligatures)Ú
alternatesÚcapsz
east-asianÚ	ligaturesÚnumericÚpositionÚfont_variant_r)   r*   )
r   r%   r   r   r	   r7   Úgetattrr   ÚappendÚitems)r<   ÚkeywordÚsuffixÚtokenÚfeaturesÚfeatureÚfunction_names          r#   Úexpand_font_variantrV   c   s…  è è € Ý  Ñ(Ô(€GØÐ$Ð$Ð$ðð 	,ð 	,ˆFð �?Ð+Ð+Ð+Ð+Ð+Ð+Ø#*¨hÒ#6Ð#6•�½MˆØ˜U˜GÐ#Ð#Ð#Ð#Ð#Ð#ð ØØØØØðð ˆð ð 	$ð 	$ˆEÝ! %Ñ(Ô(ˆGØ˜(Ò"Ð"å#Ð#Ø#ð $ð $�Ø K°·²ÀÀSÑ0IÔ0IÐ KÐ K�Ø5•7�: }Ñ5Ô5°u°gÑ>Ô>ð Ø˜WÔ%×,Ò,¨UÑ3Ô3Ð3Ø�Eðõ $Ð#ð ð  (Ÿ~š~Ñ/Ô/ð 	.ð 	.‰OˆG�VØð .Ø$˜7�}�} fÐ-Ð-Ð-Ð-øð	.ð 	.r"   r   c                 ó  ‡— dgŠ|r‰                      d¦  «         t          | ¦  «        dk    r| d         j        dk    r| d         j        S | r:t	          ˆfd„| D ¦   «         ¦  «        r!d                     d„ | D ¦   «         ¦  «        S d	S d	S )
z&``font-family`` descriptor validation.r   Ú
whitespacer   r   Ústringc              3   ó*   •K  — | ]}|j         ‰v V — Œd S )N©r   )Ú.0rR   Úallowed_typess     €r#   ú	<genexpr>zfont_family.<locals>.<genexpr>�   s*   øè è € ÐFÐF°e�e”j MÐ1ÐFÐFÐFÐFÐFÐFr"   ú c              3   ó:   K  — | ]}|j         d k    ¯|j        V — ŒdS )r   N)r   r,   )r\   rR   s     r#   r^   zfont_family.<locals>.<genexpr>Ž   s=   è è € ð Fð FØ!¨u¬z¸WÒ/DÐ/DˆEŒKÐ/DÐ/DÐ/DÐ/DðFð Fr"   N)rN   Úlenr   r,   ÚallÚjoin)r<   Úallow_spacesr]   s     @r#   Úfont_familyre   …   sÕ   ø€ ð �I€MØð +Ø×Ò˜\Ñ*Ô*Ð*Ý
ˆ6�{„{�aÒÐ˜F 1œIœN¨hÒ6Ð6Ø�aŒyŒÐØð F•#ÐFÐFÐFÐF¸vÐFÑFÔFÑFÔFð FØ�xŠxð Fð FØ%+ðFñ Fô Fñ Fô Fð 	FðFð Fð Fð Fr"   T)r0   c                 óL  — t          | ¦  «        dv rŽ| dd…         | d         }} |j        dk    r|j        dk    r| dd…         | d         }} |j        dk    r#|j        dk    rdt          |j        d¬¦  «        fS t          ||¦  «        }|�|d	         d
k    r|d         S dS dS dS )z``src`` descriptor validation.)r   r   Néÿÿÿÿr=   ÚformatÚlocalT)rd   r   Úurlr   )ra   r   Ú
lower_namere   Ú	argumentsr   ©r<   r9   rR   rj   s       r#   Úsrcrn   ’   sÉ   € õ ˆ6�{„{�fÐÐØ˜s ˜sœ V¨B¤Z�ˆØŒ:˜Ò#Ð#¨Ô(8¸HÒ(DÐ(DØ" 3 B 3œK¨°¬�EˆFØŒ:˜Ò#Ð#¨Ô(8¸GÒ(CÐ(CØ�K¨¬ÀdÐKÑKÔKÐKÐKÝ�e˜XÑ&Ô&ˆØˆ?˜s 1œv¨š˜Ø�q”6ˆMð Ðð ˆ?˜˜r"   c                 ó
   — | dv S )z%``font-style`` descriptor validation.)r&   ÚitalicÚobliquer!   ©rP   s    r#   Ú
font_stylers   ¡   s   € ð Ð5Ð5Ð5r"   c                 óz   — t          | ¦  «        }|dv r|S t          | d¬¦  «        x}r|j        dv r	|j        S dS dS )z&``font-weight`` descriptor validation.)r&   ÚboldT©Úinteger)	éd   éÈ   i,  i�  iô  iX  i¼  i   i„  N)r   r   r,   )rR   rP   Únumbers      r#   Úfont_weightr{   ¨   sb   € õ ˜%Ñ Ô €GØÐ$Ð$Ð$ØˆÝ˜E¨4Ð0Ñ0Ô0Ð0€vð  ØŒ<ÐHÐHÐHØ”<Ðð ð  ØHÐHr"   c                 ó
   — | dv S )z'``font-stretch`` descriptor validation.)	zultra-condensedzextra-condensedÚ	condensedzsemi-condensedr&   zsemi-expandedÚexpandedzextra-expandedzultra-expandedr!   rr   s    r#   Úfont_stretchr   ´   s   € ð ð Ið Ið Ir"   c                 ó*   — t          j        | ¦  «        S )z0``font-feature-settings`` descriptor validation.)r   Úfont_feature_settings)r<   s    r#   r�   r�   ¾   s   € õ Ô+¨FÑ3Ô3Ð3r"   c                 ó  — t          | ¦  «        dk    rt          | d         ¦  «        }|dv rg S g }t          | ¦  «        D ]E\  }}	 |                     t	          j        |d|› �d¬¦  «        ¦  «         Œ4# t          $ r Y  dS w xY w|S )z'``font-variant`` descriptor validation.r   r   )r&   r   Úinheritzfont-variantT)ÚrequiredN)ra   r   rV   rN   r   Úvalidate_non_shorthandr	   )r<   rP   Úvaluesr-   Ú
sub_tokenss        r#   Úfont_variantrˆ   Ä   sÌ   € õ ˆ6�{„{�aÒÐÝ˜f QœiÑ(Ô(ˆØÐ3Ð3Ð3ØˆIØ€FÝ/°Ñ7Ô7ð ð Ñˆˆjð	Ø�MŠM�*Ô;ØÐ1¨4Ð1Ð1¸DðBñ Bô Bñ Cô Cð Cð Cøåð 	ð 	ð 	Ø�4�4�4ð	øøøà€Ms   Á-A4Á4
BÂBc                 ó    — | j         dk    r| S dS )z(``unicode_range`` descriptor validation.zunicode-rangeNr[   )rR   s    r#   Úunicode_rangerŠ   Õ   s   € ð
 „z�_Ò$Ð$Øˆð %Ð$r"   r   c                 óˆ  — t          | ¦  «        dk    rdS t          | d         ¦  «        }|dk    r3t          | ¦  «        dk    rt          | d         ¦  «        x}r||dfS dS dS |dk    r:t          | ¦  «        dk    rdS t          | d         d¬	¦  «        x}r
dd|j        fS dS t          | ¦  «        dk    r	|d
v rd|dfS dS dS )z!``system`` descriptor validation.r   Nr   Úextendsr   Úfixed)Nr�   r   Trv   )ÚcyclicrJ   Ú
alphabeticÚsymbolicÚadditive)ra   r   r   r,   )r<   rP   Úsecond_keywordrz   s       r#   Úsystemr“   Þ   s  € õ ˆ6�{„{�Q‚€Øˆå˜& œ)Ñ$Ô$€GØ�)ÒÐÝˆv‰;Œ;˜!ÒÐÝ!,¨V°A¬YÑ!7Ô!7Ð7ˆ~ð 7Ø °Ð6Ð6ð Ðð7ð 7à	�GÒ	Ð	Ýˆv‰;Œ;˜!ÒÐØ%Ð%Ý! &¨¤)°TÐ:Ñ:Ô:Ð:ˆVð 	1Ø˜' 6¤<Ð0Ð0ð	1ð 	1å	ˆV‰Œ˜Ò	Ð	˜gð *Gð Gð Gà�g˜tÐ$Ð$ð 
Ð	ð Gð Gr"   c                 óÀ  — t          | ¦  «        dk    rdS g }t          | ¦  «        } | rx|                      d¦  «        }|j        dv r|                     d|j        f¦  «         Œ=t          ||¦  «        }|�)|d         dk    r|                     d|d         f¦  «         | °xt          |¦  «        dk    r|                     d¦  «         t          |¦  «        dk    r|S dS )	z#``negative`` descriptor validation.r   Nr   ©rY   r   rY   rj   r   )rY   Ú )ra   ÚlistÚpopr   rN   r,   r   ©r<   r9   r†   rR   rj   s        r#   Únegativerš   ó   sð   € õ ˆ6�{„{�Q‚€Øˆà€FÝ�&‰\Œ\€FØ
ð +Ø—
’
˜1‘”ˆØŒ:Ð,Ð,Ð,Ø�MŠM˜8 U¤[Ð1Ñ2Ô2Ð2ØÝ�e˜XÑ&Ô&ˆØˆ?˜s 1œv¨š˜Ø�MŠM˜5 # a¤&˜/Ñ*Ô*Ð*ð ð +õ ˆ6�{„{�aÒÐØ�Š�nÑ%Ô%Ð%å
ˆ6�{„{�aÒÐØˆð Ðr"   ÚprefixrQ   c                 ó°   — t          | ¦  «        dk    rdS | \  }|j        dv r	d|j        fS t          ||¦  «        }|�|d         dk    rd|d         fS dS dS )z1``prefix`` and ``suffix`` descriptors validation.r   Nr•   rY   r   rj   )ra   r   r,   r   rm   s       r#   Úprefix_suffixr�     su   € õ ˆ6�{„{�aÒÐØˆà�F€EØ„zÐ(Ð(Ð(Ø˜%œ+Ð&Ð&Ý
�%˜Ñ
"Ô
"€CØ
€˜3˜qœ6 Uš?˜?Ø�s˜1”vˆÐð €˜?˜?r"   c                 óò  — t          | ¦  «        dk    rt          | ¦  «        }|dk    rdS d	S t          | ¦  «        dk    r³g }t          | ¦  «        D ]m\  }}|j        dk    r0|j        dk    r%|                     |rt          nt           ¦  «         Œ@t          |d¬¦  «        x}r|                     |j        ¦  «         Œnt          |¦  «        dk    r#|d         |d         k    rt          |¦  «        S d	S d	S d	S )
z ``range`` descriptor validation.r   Úautor   r   ÚinfiniteTrv   r   N)	ra   r   Ú	enumerater   r,   rN   r   r   Útuple)r<   rP   r†   ÚirR   rz   s         r#   Úranger¤     s  € õ ˆ6�{„{�aÒÐÝ$ VÑ,Ô,ˆØ�fÒÐØ�6ð Ðå	ˆV‰Œ˜Ò	Ð	ØˆÝ! &Ñ)Ô)ð 	,ð 	,‰HˆAˆuØŒz˜WÒ$Ð$¨¬¸
Ò)BÐ)BØ—’ QÐ0�c˜c­S¨DÑ1Ô1Ð1Ð1Ý% e°TÐ:Ñ:Ô:Ð:�ð ,Ø—’˜fœlÑ+Ô+Ð+øÝˆv‰;Œ;˜!ÒÐ  q¤	¨V°A¬YÒ 6Ð 6Ý˜‘=”=Ð ð 
Ð	ð ÐÐ 6Ð 6r"   c                 ó6  — t          | ¦  «        dk    rƒddg}| D ]i}t          |dd¬¦  «        x}r|d         €
|j        |d<   n|j        dv rd|j        f|d	<   t	          ||¦  «        }|�|d         d
k    rd
|d	         f|d	<   Œjd|vrt          |¦  «        S dS dS )z``pad`` descriptor validation.r   NTF)rw   rš   r   r•   rY   r   rj   )ra   r   r,   r   r   r¢   )r<   r9   r†   rR   rz   rj   s         r#   Úpadr¦   -  sÖ   € õ ˆ6�{„{�aÒÐØ˜�ˆØð 	,ð 	,ˆEÝ# E°4À%ÐHÑHÔHÐHˆvð 4Ø˜!”9Ð$Ø &¤�F˜1‘IøØ”Ð2Ð2Ð2Ø% u¤{Ð3��q‘	Ý˜% Ñ*Ô*ˆCØˆ 3 q¤6¨U¢? ?Ø" C¨¤F˜O��q‘	øà�vÐÐÝ˜‘=”=Ð ð Ðð Ðr"   c                 ó4   — t          | ¦  «        }|dk    r|S dS )z#``fallback`` descriptor validation.r   N)r   )rR   r   s     r#   Úfallbackr¨   @  s&   € õ ˜UÑ#Ô#€EØ�‚€Øˆð €r"   c                 óö   — g }| D ]f}|j         dv r|                     d|j        f¦  «         Œ(t          ||¦  «        }|�*|d         dk    r|                     d|d         f¦  «         Œd dS t	          |¦  «        S )z"``symbols`` descriptor validation.r•   rY   Nr   rj   r   )r   rN   r,   r   r¢   r™   s        r#   Úsymbolsrª   I  s’   € ð €FØð ð ˆØŒ:Ð,Ð,Ð,Ø�MŠM˜8 U¤[Ð1Ñ2Ô2Ð2ØÝ�e˜XÑ&Ô&ˆØˆ?˜s 1œv¨š˜Ø�MŠM˜5 # a¤&˜/Ñ*Ô*Ð*ØØˆˆÝ�‰=Œ=Ðr"   c                 óð   — g }t          | ¦  «        D ]V}t          t          |¦  «        |¦  «        x}s dS |r|d         d         |d         k    r dS |                     |¦  «         ŒWt	          |¦  «        S )z+``additive-symbols`` descriptor validation.Nrg   r   )r   r¦   r   rN   r¢   )r<   r9   ÚresultsÚpartr>   s        r#   Úadditive_symbolsr®   Y  s�   € ð €GÝ˜vÑ&Ô&ð ð ˆÝÕ/°Ñ5Ô5°xÑ@Ô@Ð@�ð 	ØˆFˆFØð 	�w˜r”{ 1”~¨°¬Ò2Ð2ØˆFˆFØ�Š�vÑÔÐÐÝ�‰>Œ>Ðr"   r   rn   )rD   r0   c                 óV   — t          | |¦  «        }|�|d         dk    r
|d         S d S d S )Nr   rj   r   )r   )rR   r9   rj   s      r#   Úcolor_profile_srcr°   f  s8   € õ �%˜Ñ
"Ô
"€CØ
€˜3˜qœ6 Uš?˜?Ø�1Œvˆð €˜?˜?r"   c                 ó   — d}| |v r| S d S )N)zrelative-colorimetriczabsolute-colorimetricÚ
perceptualÚ
saturationr!   )rP   Úpossible_valuess     r#   Úrendering_intentrµ   n  s"   € ðV€Oà�/Ð!Ð!Øˆð "Ð!r"   c                 ód   — g }| D ]*}|j         dk    r|                     |j        ¦  «         Œ( d S |S )Nr   )r   rN   r,   )r<   Ú
componentsrR   s      r#   r·   r·   w  sK   € ð €JØð ð ˆØŒ:˜Ò Ð Ø×Ò˜eœkÑ*Ô*Ð*Ð*àˆFˆFØÐr"   )NF)F).Ú__doc__Úmathr   r2   Úloggerr   r–   r   r<   r	   r
   r   r   r   r   r   r   r   r   r   r/   r.   r   r%   rA   r;   rV   re   rn   rs   r{   r   r�   rˆ   rŠ   r“   rš   r�   r¤   r¦   r¨   rª   r®   r°   rµ   r·   r!   r"   r#   ú<module>r»      s  ðØ 2Ð 2à Ð Ð Ð Ð Ð à €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ØØðð €ð
€ð
ð ð ð ð ñ ô ð ð
ð ð ð ð ñ ô ð ð
#5ð #5ð #5ðLð ð ð ð4.ð .ð .ðD €ˆKÑÔð	Fð 	Fð 	Fñ Ôð	Fð €ˆK¨Ð-Ñ-Ô-Øð
ð 
ñ Ôñ .Ô-ð
ð €ˆKÑÔØð6ð 6ñ „ñ Ôð6ð
 €ˆKÑÔØð ð  ñ „ñ Ôð ð €ˆKÑÔØðIð Iñ „ñ ÔðIð €ˆKÑÔð4ð 4ñ Ôð4ð
 €ˆKÑÔðð ñ Ôðð  €ˆKÑÔØØðð ñ „ñ Ôñ Ôðð €ˆOÑÔð%ð %ñ Ôð%ð( €ˆO¨DÐ1Ñ1Ô1ðð ñ 2Ô1ðð. €ˆO˜X°dÐ;Ñ;Ô;Ø€ˆO˜X°dÐ;Ñ;Ô;ð
ð 
ñ <Ô;ñ <Ô;ð
ð €ˆOÑÔØð!ð !ñ Ôñ Ôð!ð" €ˆO¨DÐ1Ñ1Ô1ð!ð !ñ 2Ô1ð!ð$ €ˆOÑÔØðð ñ „ñ Ôðð €ˆO¨DÐ1Ñ1Ô1ðð ñ 2Ô1ðð €ˆO¨DÐ1Ñ1Ô1ð	ð 	ñ 2Ô1ð	ð €ˆO¨UÀ4ÐHÑHÔHØðð ñ „ñ IÔHðð €ˆOÑÔØðð ñ „ñ Ôðð €ˆOÑÔØðð ñ Ôñ Ôðð ð r"   