Ë
    £ëi2 ã                   óî  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
mZ ddlmZmZ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mZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d
Z% e&«       Z' e&«       Z(i Z) G d„ de«      Z*	 	 dód„Z+dôd„Z, e+«       ee#d„ «       «       «       Z- e+d«       e+d«       e+d«       e+d«       e+d«       e+dd¬«       e+d«      e$d„ «       «       «       «       «       «       «       «       Z. e+«       e$d„ «       «       Z/ e+«       e#d„ «       «       Z0 e+«       e#d„ «       «       Z1 e+d«      e$d„ «       «       Z2 e+d d¬!«      ee$d"„ «       «       «       Z3 e+d#d¬!«      e$d$„ «       «       Z4 e+«       d%„ «       Z5 e+«       ed&„ «       «       Z6 e+«       ed'„ «       «       Z7 e+«       ed(„ «       «       Z8 e+«       ed)„ «       «       Z9 e+d*«       e+d+«      ee#d,„ «       «       «       «       Z: e+«       d-„ «       Z; e+d.«       e+d/«       e+d0«       e+d1«      d2„ «       «       «       «       Z< e+d3«       e+d4«       e+d5«       e+d6«       e+d7d¬«      e#d8„ «       «       «       «       «       «       Z= e+d9«       e+d:«      e#d;„ «       «       «       Z> e+«       e#d<„ «       «       Z? e+«       e#d=„ «       «       Z@ e+«       e$d>„ «       «       ZA e+d?d¬«      e#d@„ «       «       ZB e+d¬«      e$dA„ «       «       ZC e+d¬«      e#dB„ «       «       ZD e+d¬«      e$dC„ «       «       ZE e+dDd¬«       e+dEd¬«       e+dFd¬«       e+dGd¬«      e$dH„ «       «       «       «       «       ZF e+d¬«      dI„ «       ZG e+dJ«      e#dK„ «       «       ZH e+dL«       e+dM«       e+dN«       e+dO«       e+dPd¬«       e+dQ«      e$dR„ «       «       «       «       «       «       «       ZI e+dSd¬!«       e+dTd¬!«      e$dU„ «       «       «       ZJ e+dV«       e+dW«      dX„ «       «       ZK e+dY«       e+dZ«      d[„ «       «       ZL e+d\«       e+d]«      d^„ «       «       ZM e+d_«       e+d`«      da„ «       «       ZN e+«       e#db„ «       «       ZO e+d¬«      e$dc„ «       «       ZP e+d¬«      e#dd„ «       «       ZQ e+«       e#de„ «       «       ZR e+«       e#df„ «       «       ZS e+«       e#dg„ «       «       ZT e+«       e$dh„ «       «       ZU e+d¬!«      di„ «       ZV e+«       dj„ «       ZW e+«       dk„ «       ZX e+«       dl„ «       ZYdm„ ZZ e+dn«       e+do«       e+dp«       e+dq«       e+dr«       e+ds«       e+dt«       e+du«       e+dv«      e$dw„ «       «       «       «       «       «       «       «       «       «       Z[ e+dx«       e+dy«      e$dz„ «       «       «       Z\ e+d{d¬«       e+d|d¬«      e$d}„ «       «       «       Z] e+d¬«      e#d~„ «       «       Z^ e+«       e#d„ «       «       Z_ e+«       d€„ «       Z` e+d�«      e#d‚„ «       «       Za e+«       edƒ„ «       «       Zb e+«       e#d„„ «       «       Zc e+«       e$d…„ «       «       Zd e+«       d†„ «       Ze e+«       e#d‡„ «       «       Zf e+«       e#dˆ„ «       «       Zg e+«       d‰„ «       Zh e+«       dŠ„ «       Zi e+«       e#d‹„ «       «       Zj e+«       dŒ„ «       Zk e+«       d�„ «       Zl e+«       e$dŽ„ «       «       Zm e+«       e#d�„ «       «       Zn e+«       e#d�„ «       «       Zo e+«       e$d‘„ «       «       Zp e+«       e#d’„ «       «       Zq e+d¬«      e$d“„ «       «       Zr e+d”«       e+d•«      e$d–„ «       «       «       Zs e+«       e$d—„ «       «       Zt e+«       e$d˜„ «       «       Zu e+«       e#d™„ «       «       Zv e+«       e$dš„ «       «       Zw e+d›«       e+dœ«      e$d�„ «       «       «       Zx e+dž«       e+dŸ«       e+d «       e+d¡«      e$d¢„ «       «       «       «       «       Zy e+d£«       e+d¤«      e$d¥„ «       «       «       Zz e+«       e$d¦„ «       «       Z{ e+«       e$d§„ «       «       Z| e+d¨«       e+d©«      e$dª„ «       «       «       Z} e+d¬«      e$d«„ «       «       Z~ e+«       e#d¬„ «       «       Z e+«       e#d­„ «       «       Z€ e+«       e$d®„ «       «       Z� e+«       d¯„ «       Z‚ e+«       e#d°„ «       «       Zƒ e+«       e#d±„ «       «       Z„ e+«       e#d²„ «       «       Z… e+«       d³„ «       Z† e+«       e#d´„ «       «       Z‡ e+«       e$dµ„ «       «       Zˆ e+«       e$d¶„ «       «       Z‰ e+«       e#d·„ «       «       ZŠ e+«       e$d¸„ «       «       Z‹ e+«       e#d¹„ «       «       ZŒ e+«       e#dº„ «       «       Z� e+«       e#d»„ «       «       ZŽ e+«       e#d¼„ «       «       Z� e+«       e$d½„ «       «       Z� e+«       e#d¾„ «       «       Z‘ e+d¿«       e+dÀ«      e$dÁ„ «       «       «       Z’dÂ„ Z“dÃ„ Z”dÄ„ Z•dÅ„ Z–dÆ„ Z— e+dÇ«       e+dÈ«      dÉ„ «       «       Z˜ e+«       dÊ„ «       Z™ e+dË«       e+dÌ«      dÍ„ «       «       Zš e+«       dÎ„ «       Z› e+dÏ«       e+dÐ«       e+dÑ«       e+dÒ«      dÓ„ «       «       «       «       Zœ e+«       e#dÔ„ «       «       Z� e+«       dÕ„ «       Zž e+«       dÖ„ «       ZŸ e+«       d×„ «       Z  e+«       dØ„ «       Z¡ e+«       dÙ„ «       Z¢ e+«       dÚ„ «       Z£ e+«       e$dÛ„ «       «       Z¤ e+d¬«      e#dÜ„ «       «       Z¥ e+d¬«      dÝ„ «       Z¦ e+d¬«      dÞ„ «       Z§ e+d¬ß«      e$dà„ «       «       Z¨ e+dd¬á«      e$dâ„ «       «       Z© e+«       e$dã„ «       «       Zª e+d¬«      e$dä„ «       «       Z« e+d¬«      e$då„ «       «       Z¬ e+d¬«      e$dæ„ «       «       Z­ e+d¬«      dç„ «       Z® e+d¬ß«      e$dè„ «       «       Z¯ e+dd¬é«      dê„ «       Z° e+d¬«      e$dë„ «       «       Z± e+d¬«      e#dì„ «       «       Z² e+d¬«      e#dí„ «       «       Z³ e+d¬«      e#dî„ «       «       Z´ e+dd¬é«      edï„ «       «       Zµ e+«       dð„ «       Z¶ e+«       e$dñ„ «       «       Z· e+«       dò„ «       Z¸y)õz^Validate properties.

See https://www.w3.org/TR/CSS21/propidx.html and various CSS3 modules.

é    )Úinf)Úparse_component_value_list©Úparse_coloré   )Úcomputed_values)ÚFunctionÚ	check_var)ÚKNOWN_PROPERTIESÚZERO_PIXELSÚ	Dimension)ÚInvalidValuesÚPendingÚcomma_separated_listÚ	get_angleÚget_content_listÚget_content_list_tokenÚget_custom_identÚ	get_imageÚget_keywordÚ
get_lengthÚ
get_numberÚget_percentageÚget_resolutionÚget_single_keywordÚget_urlÚparse_2d_positionÚparse_positionÚremove_whitespaceÚsingle_keywordÚsingle_tokenz-weasy-c                   ó   — e Zd ZdZd„ Zy)ÚPendingPropertyz>Property with validation done when defining calculated values.c                 ó:   — t        || j                  «      d   d   S )Nr   é   )Úvalidate_non_shorthandÚname)ÚselfÚtokensÚ
wanted_keys      úd/var/www/html/chat/reports/venv/lib/python3.12/site-packages/weasyprint/css/validation/properties.pyÚvalidatezPendingProperty.validate$   s   € Ü% f¨d¯i©iÓ8¸Ñ;¸AÑ>Ð>ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r,   © r-   r+   r#   r#   "   s
   „ ÙHó?r-   r#   Nc                 ó   ‡ ‡‡‡— ˆ ˆˆˆfd„}|S )u@  Decorator adding a function to the ``PROPERTIES``.

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

    :param proprietary:
        Proprietary (vendor-specific, non-standard) are prefixed: anchors can
        for example be set using ``-weasy-anchor: attr(id)``.
        See https://www.w3.org/TR/CSS/#proprietary
    :param unstable:
        Mark properties that are defined in specifications that didn't reach
        the Candidate Recommandation stage. They can be used both
        vendor-prefixed or unprefixed.
        See https://www.w3.org/TR/CSS/#unstable-syntax
    :param wants_base_url:
        The function takes the stylesheetâ€™s base URL as an additional
        parameter.

    c                 ó  •— ‰€| j                   j                  dd«      }n‰}|t        v sJ |«       ‚|t        vsJ |«       ‚‰| _        | t        |<   ‰rt
        j                  |«       ‰rt        j                  |«       | S )z'Add ``function`` to the ``PROPERTIES``.Ú_ú-)r.   Úreplacer   Ú
PROPERTIESÚwants_base_urlÚPROPRIETARYÚaddÚUNSTABLE)Úfunctionr'   Úproperty_nameÚproprietaryÚunstabler9   s     €€€€r+   Ú	decoratorzproperty.<locals>.decorator@   s‚   ø€ àÐ Ø×$Ñ$×,Ñ,¨S°#Ó6‰Dà ˆDØÔ'Ñ'Ð-¨Ó-Ð'Øœ:Ñ%Ð+ tÓ+Ð%à"0ˆÔØ#Œ
�4ÑÙÜ�O‰O˜DÔ!ÙÜ�L‰L˜ÔØˆr-   r2   )r>   r?   r@   r9   rA   s   ```` r+   ÚpropertyrB   *   s   û€ ÷,ð  Ðr-   c                 óT  — |j                  d«      r|| ffS |s|t        vrt        d«      ‚|s|t        vrt        d«      ‚t        |   }| D ]  }t	        |«      sŒ|t        | |«      ffc S  t        | «      }|dv r|}n&|j                  r
 || |«      }n || «      }|€t        ‚||ffS )z'Validator for non-shorthand properties.z--zunknown propertyzproperty not supported yet)ÚinitialÚinherit)Ú
startswithr   r   r8   r
   r#   r   r9   )r)   r'   Úbase_urlÚrequiredr=   ÚtokenÚkeywordÚvalues           r+   r&   r&   S   sÏ   € à‡��tÔà�v�Ð Ð á˜Ô$4Ñ4ÜÐ.Ó/Ð/á˜¤JÑ.ÜÐ8Ó9Ð9ä˜$Ñ€HØò <ˆÜ�UÕàœ?¨6°4Ó8Ð9Ð;Ò;ð<ô
 ! Ó(€GØÐ(Ñ(Ø‰à×"Ò"Ù˜V XÓ.‰Eá˜VÓ$ˆEØˆ=ÜÐØ�5ˆMÐÐr-   c                 ó
   — | dv S )z.``background-attachment`` property validation.)ÚscrollÚfixedÚlocalr2   ©rJ   s    r+   Úbackground_attachmentrQ   r   s   € ð
 Ð2Ð2Ð2r-   zbackground-colorzborder-top-colorzborder-right-colorzborder-bottom-colorzborder-left-colorzcolumn-rule-colorT)r@   ztext-decoration-colorc                 ó   — t        | «      r| S y ©Nr   ©rI   s    r+   Úother_colorsrU   z   s   € ô �5ÔØˆð r-   c                 ó<   — t        | «      dk(  ryt        | «      r| S y )NÚinvertÚcurrentcolor)r   r   rT   s    r+   Úoutline_colorrY   ‡   s&   € ô �5Ó˜XÒ%ØÜ	�UÔ	Øˆð 
r-   c                 ó
   — | dv S )N)ÚseparateÚcollapser2   rP   s    r+   Úborder_collapser]   �   s   € ð Ð.Ð.Ð.r-   c                 ó
   — | dv S )z$``empty-cells`` property validation.)ÚshowÚhider2   rP   s    r+   Úempty_cellsra   –   s   € ð Ð&Ð&Ð&r-   Úcolorc                 ó.   — t        | «      }|dk(  ry|r| S y)z0``*-color`` and ``color`` properties validation.rX   rE   Nr   )rI   Úresults     r+   rb   rb   �   s&   € ô ˜Ó€FØ�ÒØÙ	Øˆð 
r-   zbackground-image)r9   c                 ó8   — t        | «      dk(  ryt        | |«      S ©NÚnone©rg   N©r   r   ©rI   rG   s     r+   Úbackground_imagerk   ¨   ó!   € ô �5Ó˜VÒ#ØÜ�U˜HÓ%Ð%r-   zlist-style-imagec                 ó|   — t        | «      dk(  ryt        | |«      }|r|d   dk(  r|d   d   dk(  r
d|d   d   fS yyy)z)``list-style-image`` property validation.rg   rh   r   Úurlr%   ÚexternalN)r   r   )rI   rG   Ú
parsed_urls      r+   Úlist_style_imagerq   ±   sa   € ô �5Ó˜VÒ#ØÜ˜ Ó)€JÙØ�a‰=˜EÒ! j°¡m°AÑ&6¸*Ò&DØ˜* Q™-¨Ñ*Ð*Ð*ð 'EÐ!ð r-   c                 ó>   — t        | «      dk(  r| dd } t        | «      S )z)``transform-origin`` property validation.é   Nr   )Úlenr   ©r)   s    r+   Útransform_originrv   ½   s&   € ô ˆ6ƒ{�aÒà˜˜�ˆÜ˜VÓ$Ð$r-   c                 ó   — t        | «      S )z,``background-position`` property validation.©r   ru   s    r+   Úbackground_positionry   Æ   ó   € ô ˜&Ó!Ð!r-   c                 ó   — t        | «      S )z(``object-position`` property validation.rx   ru   s    r+   Úobject_positionr|   Í   rz   r-   c                 ó¦   — t        t        t        | «      «      }|dk(  ry|dk(  ry|dv r|dz  S t        |«      dk(  rt	        d„ |D «       «      r|S yy)	z*``background-repeat`` property validation.)zrepeat-x)Úrepeatú	no-repeat)zrepeat-y)r   r~   ))r   )r~   )Úspace)Úroundr   c              3   ó$   K  — | ]  }|d v –— Œ
 y­w))r   r~   r€   r�   Nr2   )Ú.0Úks     r+   ú	<genexpr>z$background_repeat.<locals>.<genexpr>ß   s   è ø€ ò "àð Ð:Ô:ñ"ùó   ‚N)ÚtupleÚmapr   rt   Úall©r)   Úkeywordss     r+   Úbackground_repeatrŒ   Ô   sm   € ô ”Sœ fÓ-Ó.€HØ�=Ò Ø&Ø�=Ò Ø&ØÐHÑHØ˜!‰|ÐÜ
ˆ8ƒ}˜Òœcñ "àô"ô ð ˆðÐr-   c                 óh  — t        | «      dk(  r1| d   }t        |«      }|dv r|S |dk(  ryt        |dd¬«      }|r|dfS y
t        | «      d	k(  reg }| D ]D  }t        |dd¬«      }|r|j                  |«       Œ%t        |«      dk(  sŒ4|j                  d«       ŒF t        |«      d	k(  rt	        |«      S y
y
)z#Validation for ``background-size``.r%   r   )ÚcontainÚcoverÚauto)r�   r�   FT©ÚnegativeÚ
percentager   N)rt   r   r   Úappendr‡   )r)   rI   rJ   ÚlengthÚvaluess        r+   Úbackground_sizer—   å   sÕ   € ô ˆ6ƒ{�aÒØ�q‘	ˆÜ˜eÓ$ˆØÐ*Ñ*ØˆNØ�fÒØ#Ü˜E¨E¸dÔCˆÙØ˜FÐ#Ð#ð ä	ˆV‹˜Ò	ØˆØò 	&ˆEÜ °À$ÔGˆFÙØ—‘˜fÕ%Ü˜UÓ# vÓ-Ø—‘˜fÕ%ð	&ô ˆv‹;˜!ÒÜ˜“=Ð ð ð 
r-   zbackground-clipzbackground-originc                 ó
   — | dv S )z\Validation for the ``<box>`` type used in ``background-clip``
    and ``background-origin``.)ú
border-boxúpadding-boxúcontent-boxr2   rP   s    r+   Úboxrœ   ÿ   s   € ð ÐBÐBÐBr-   c                 ó¼   — | D �cg c]  }t        |d¬«      ‘Œ }}t        |«      r2t        |«      dk(  r
|d   |d   fS t        |«      dk(  rt        |«      S yyc c}w )z,Validator for the `border-spacing` property.F©r’   r%   r   r   N©r   r‰   rt   r‡   ©r)   rI   Úlengthss      r+   Úborder_spacingr¢   	  sk   € ð ?EÖE°UŒz˜%¨%Ö0ÐE€GÐEÜ
ˆ7„|Üˆw‹<˜1ÒØ˜A‘J ¨¡
Ð+Ð+Ü�‹\˜QÒÜ˜“>Ð!ð ð ùò Fs   …Azborder-top-right-radiuszborder-bottom-right-radiuszborder-bottom-left-radiuszborder-top-left-radiusc                 ó¾   — | D �cg c]  }t        |dd¬«      ‘Œ }}t        |«      r2t        |«      dk(  r
|d   |d   fS t        |«      dk(  rt        |«      S yyc c}w )z/Validator for the `border-*-radius` properties.FTr‘   r%   r   r   NrŸ   r    s      r+   Úborder_corner_radiusr¤     sn   € ð PVÖVÀeŒz˜%¨%¸DÖAÐV€GÐVÜ
ˆ7„|Üˆw‹<˜1ÒØ˜A‘J ¨¡
Ð+Ð+Ü�‹\˜QÒÜ˜“>Ð!ð ð ùò Ws   …Azborder-top-stylezborder-right-stylezborder-left-stylezborder-bottom-stylezcolumn-rule-stylec                 ó
   — | dv S )z)``border-*-style`` properties validation.)
rg   ÚhiddenÚdottedÚdashedÚdoubleÚinsetÚoutsetÚgrooveÚridgeÚsolidr2   rP   s    r+   Úborder_styler¯   "  s   € ð ð Fð Fð Fr-   zbreak-beforezbreak-afterc                 ó
   — | dv S )z;``break-before`` and ``break-after`` properties validation.)r�   Úavoidú
avoid-pageÚpageÚleftÚrightÚrectoÚversoúavoid-columnÚcolumnÚalwaysr2   rP   s    r+   Úbreak_before_afterr»   .  s   € ð
 ð Mð Mð Mr-   c                 ó
   — | dv S )z%``break-inside`` property validation.)r�   r±   r²   r¸   r2   rP   s    r+   Úbreak_insider½   7  s   € ð ÐEÐEÐEr-   c                 ó
   — | dv S )z-``box-decoration-break`` property validation.)ÚsliceÚcloner2   rP   s    r+   Úbox_decoration_breakrÁ   >  ó   € ð Ð(Ð(Ð(r-   c                 ó`   — | j                   dk(  rd| j                  fS t        | «      }|dv r|S y)z%``box-ellipsis`` property validation.Ústring©rg   r�   N)ÚtyperK   r   ©rI   rJ   s     r+   Úblock_ellipsisrÈ   E  s<   € ð ‡z�z�XÒØ˜%Ÿ+™+Ð&Ð&ä˜eÓ$ˆØÐ&Ñ&ØˆNð 'r-   Úcontinuec                 ó
   — | dv S )z!``continue`` property validation.)r�   Údiscardr2   rP   s    r+   Ú	continue_rÌ   Q  ó   € ð Ð)Ð)Ð)r-   c                 óZ   — t        | dd¬«      x}r|j                  S t        | «      dk(  ryy )NFT©r’   Úintegerrg   ©r   rK   r   ©rI   Únumbers     r+   Ú	max_linesrÔ   X  s7   € ô ˜E¨E¸4Ô@Ð@€vÐ@Ø�|‰|ÐÜ	�UÓ	˜vÒ	%Øð 
&r-   c                 ó
   — | dv S )z%``margin-break`` property validation.)r�   ÚkeeprË   r2   rP   s    r+   Úmargin_breakr×   a  s   € ð Ð1Ð1Ð1r-   c                 ó\   — | j                   dk(  r| j                  dk(  rdS | j                  S y)z``page`` property validation.Úidentr�   N)rÆ   Úlower_valuerK   rT   s    r+   r³   r³   h  s1   € ð ‡z�z�WÒØ×*Ñ*¨fÒ4ˆvÐE¸%¿+¹+ÐEð r-   z
bleed-leftzbleed-rightz	bleed-topzbleed-bottomc                 ó6   — t        | «      dk(  ryt        | «      S )z``bleed`` property validation.r�   ©r   r   rT   s    r+   ÚbleedrÝ   p  s   € ô �5Ó˜VÒ#Øä˜%Ó Ð r-   c                 ó°   — t        | «      dk(  rt        d„ | D «       «      }d|v rd|v r|S y
y
t        | «      dk(  rt        | d   «      x}dv r|fS |dk(  ry	y
y
)z``marks`` property validation.r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   ©r   ©rƒ   rI   s     r+   r…   zmarks.<locals>.<genexpr>�  ó   è ø€ Ò@°œ U×+Ñ@ùó   ‚ÚcropÚcrossr%   r   )rä   rå   rg   r2   N)rt   r‡   r   )r)   r‹   rJ   s      r+   Úmarksræ   }  s|   € ô ˆ6ƒ{�aÒÜÑ@¸Ô@Ó@ˆØ�XÑ '¨XÑ"5ØˆOð #6Ðä	ˆV‹˜Ò	Ü" 6¨!¡9Ó-Ð-ˆGÐ2CÑCØ�:ÐØ˜ÒØð ð 
r-   zoutline-stylec                 ó
   — | dv S )z(``outline-style`` properties validation.)	rg   r§   r¨   r©   rª   r«   r¬   r­   r®   r2   rP   s    r+   Úoutline_stylerè   ‹  s   € ð ð =ð =ð =r-   zborder-top-widthzborder-right-widthzborder-left-widthzborder-bottom-widthzcolumn-rule-widthzoutline-widthc                 óH   — t        | d¬«      x}r|S t        | «      x}dv r|S y)z=Border, column rule and outline widths properties validation.Frž   )ÚthinÚmediumÚthickN©r   r   ©rI   r•   rJ   s      r+   Úborder_widthrï   “  s9   € ô ˜E¨EÔ2Ð2€vÐ2ØˆÜ˜uÓ%Ð%ˆÐ*EÑEØˆð Fr-   zborder-image-sourcezmask-border-sourcec                 ó8   — t        | «      dk(  ryt        | |«      S rf   ri   rj   s     r+   Úborder_image_sourcerñ   ¢  rl   r-   zborder-image-slicezmask-border-slicec                 ó~  — g }d}t        | «      D ]~  \  }}t        |d¬«      x}r|j                  |«       Œ't        |«      dk(  r(|s&|dt	        | «      dz
  fv rd}|j                  d«       Œ]t        |d¬«      x}r|j                  |«       Œ~ y  dt	        |«      t        |«      z
  cxk  rdk  rt        |«      S  y y )NFrž   Úfillr   r%   Té   )Ú	enumerater   r”   r   rt   r   Úintr‡   )r)   r–   ró   ÚirI   r“   rÓ   s          r+   Úborder_image_slicerø   «  sÅ   € ð €FØ€DÜ˜fÓ%ò 
‰ˆˆ5ä'¨¸Ô>Ð>ˆ:Ð>Ø�M‰M˜*Õ%Ü˜Ó 6Ò)±$¸1ÀÄCÈÃKÐRSÁOÐ@TÑ;TØˆDØ�M‰M˜&Õ!Ü! %°%Ô8Ð8ˆVÐ8Ø�M‰M˜&Õ!áð
ð 	ŒC�‹Kœ#˜d›)Ñ#Ô( qÒ(Ü�V‹}Ðò )r-   zborder-image-widthzmask-border-widthc                 ó   — g }| D ]f  }t        |«      dk(  r|j                  d«       Œ#t        |d¬«      x}r|j                  |«       ŒDt        |dd¬«      x}r|j                  |«       Œf y  dt	        |«      cxk  rdk  rt        |«      S  y y )Nr�   Frž   Tr‘   r%   rô   )r   r”   r   r   rt   r‡   ©r)   r–   rI   rÓ   r•   s        r+   Úborder_image_widthrû   À  s”   € ð €FØò ˆÜ�uÓ Ò'Ø�M‰M˜&Õ!Ü! %°%Ô8Ð8ˆVÐ8Ø�M‰M˜&Õ!Ü! %°%ÀDÔIÐIˆVÐIØ�M‰M˜&Õ!áðð 	ŒC�‹KÔ˜1ÒÜ�V‹}Ðò r-   zborder-image-outsetzmask-border-outsetc                 óÞ   — g }| D ]E  }t        |d¬«      x}r|j                  |«       Œ$t        |d¬«      x}r|j                  |«       ŒE y  dt        |«      cxk  rdk  rt	        |«      S  y y )NFrž   r%   rô   )r   r”   r   rt   r‡   rú   s        r+   Úborder_image_outsetrý   Ò  sy   € ð €FØò ˆÜ °Ô6Ð6ˆ6Ð6Ø�M‰M˜&Õ!Ü! %°%Ô8Ð8ˆVÐ8Ø�M‰M˜&Õ!áðð 	ŒC�‹KÔ˜1ÒÜ�V‹}Ðò r-   zborder-image-repeatzmask-border-repeatc                 ó|   — dt        | «      cxk  rdk  r(n y t        d„ | D «       «      }t        |«      h d£k  r|S y y )Nr%   r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   rà   rá   s     r+   r…   z&border_image_repeat.<locals>.<genexpr>æ  râ   rã   >   r�   r€   r~   Ústretch)rt   r‡   ÚsetrŠ   s     r+   Úborder_image_repeatr  â  sB   € ð 	ŒC�‹KÔ˜1ÕÜÑ@¸Ô@Ó@ˆÜˆx‹=ÒCÒCØˆOð Dð r-   c                 ó
   — | dv S )N)Ú	luminanceÚalphar2   rP   s    r+   Úmask_border_moder  ë  s   € ð Ð,Ð,Ð,r-   c                 óJ   — t        | d¬«      x}r|S t        | «      }|dk(  r|S y)z%``column-width`` property validation.Frž   r�   Nrí   rî   s      r+   Úcolumn_widthr  ñ  s7   € ô ˜E¨EÔ2Ð2€vÐ2ØˆÜ˜%Ó €GØ�&ÒØˆð r-   c                 ó
   — | dv S )z$``column-span`` property validation.)r‰   rg   r2   rP   s    r+   Úcolumn_spanr
  ü  s   € ð �oÐ%Ð%r-   c                 ó
   — | dv S )z7Validation for the ``box-sizing`` property from css3-ui)rš   r™   r›   r2   rP   s    r+   Ú
box_sizingr    s   € ð ÐBÐBÐBr-   c                 ó
   — | dv S )z'``caption-side`` properties validation.)ÚtopÚbottomr2   rP   s    r+   Úcaption_sider  
  s   € ð Ð'Ð'Ð'r-   c                 ó
   — | dv S )z``clear`` property validation.)r´   rµ   Úbothrg   r2   rP   s    r+   Úclearr    ó   € ð Ð7Ð7Ð7r-   c                 ó:  — t        | «      }|j                  «       }|j                  dk(  rbt        |«      dk(  rTg }|D ]B  }t	        |«      dk(  r|j                  d«       Œ#t        |«      x}r|j                  |«       ŒB y t        |«      S t	        | «      dk(  ryy)z%Validation for the ``clip`` property.Úrectrô   r�   Nr2   )r	   Úsplit_commar'   rt   r   r”   r   r‡   )rI   r=   Ú	argumentsr–   Úargumentr•   s         r+   Úclipr    sŸ   € ô ˜‹€HØ×$Ñ$Ó&€IØ‡}�}˜Ò¤3 y£>°QÒ#6ØˆØ!ò 	ˆHÜ˜8Ó$¨Ò.Ø—‘˜fÕ%Ü% hÓ/Ð/�Ð/Ø—‘˜fÕ%áð	ô �V‹}ÐÜ	�UÓ	˜vÒ	%Øð 
&r-   c                 óê  — t        | «      } g }| rot        | «      dk\  r]| d   j                  dk(  rK| d   j                  dk(  r9| d   | dd } }t	        ||«      xs t        ||«      x}r|j                  |«       nyn| rŒot        | «      dk(  ryt        | «      dk\  r;| d   j                  d	k(  r)| d
   j                  dk(  r| d
   j                  dk(  r| dd
 } t        | «      }|dv r|fS t        | |«      S )z ``content`` property validation.r   r%   Úliteralú,r   Nrs   éÿÿÿÿrÄ   éþÿÿÿú/©Únormalrg   )	Úlistrt   rÆ   rK   r   r   r”   r   r   )r)   rG   Úparsed_tokensrI   Úparsed_tokenrJ   s         r+   Úcontentr&  ,  s
  € ô �&‹\€FØ€MÙ
Üˆv‹;˜!Ò  q¡	§¡°)Ò ;ÀÀqÁ	ÇÁÐSVÒ@VØ" 1™I v¨a¨b z�6ˆEÜ(¨°Ó9ÒU¼WÀUÈHÓ=UÐUˆ|ÐUØ×$Ñ$ \Õ2ààò ô ˆ6ƒ{�aÒØÜ
ˆ6ƒ{�aÒ˜F 2™JŸO™O¨xÒ7Ø�2‰J�O‰O˜yÒ(¨V°B©Z×-=Ñ-=ÀÒ-Dà˜˜�ˆÜ  Ó(€GØÐ$Ñ$ØˆzÐÜ˜F HÓ-Ð-r-   c                 ó   — t        | d¬«      S )z*``counter-increment`` property validation.r%   ©Údefault_integer©Úcounterru   s    r+   Úcounter_incrementr,  G  ó   € ô �6¨1Ô-Ð-r-   c                 ó   — t        | d¬«      S )z&``counter-reset`` property validation.r   r(  r*  ru   s    r+   Úcounter_resetr/  M  r-  r-   c                 ó   — t        | d¬«      S )z$``counter-set`` property validation.r   r(  r*  ru   s    r+   Úcounter_setr1  S  r-  r-   c                 óv  — t        | «      dk(  ryt        | «      } t        | d«      }|sJ d«       ‚g }|�||j                  dk7  ry|j                  }|dv rt        d|› �«      ‚t        | d«      }|r(t        |d¬	«      x}r|j                  }t        | d«      }n|}|j                  ||f«       |�Œ|t        |«      S )
zB``counter-increment`` and ``counter-reset`` properties validation.rg   r2   Nzgot an empty token listrÙ   )rg   rD   rE   zInvalid counter name: T©rÐ   )	r   ÚiterÚnextrÆ   rK   r   r   r”   r‡   )r)   r)  rI   ÚresultsÚcounter_namerÓ   rÐ   s          r+   r+  r+  Y  sÕ   € ä˜&Ó! VÒ+ØÜ�&‹\€FÜ�˜Ó€EÙÐ+Ð+Ó+ˆ5Ø€GØ
Ð
Ø�:‰:˜Ò ØØ—{‘{ˆØÐ9Ñ9ÜÐ"8¸¸Ð GÓHÐHÜ�V˜TÓ"ˆÙ¤
¨5¸$Ô ?Ð?�fÐ?à—l‘lˆGÜ˜ Ó&‰Eð &ˆGØ�‰˜ gÐ.Ô/ð Ñ
ô  �‹>Ðr-   r  rµ   r´   r  z
margin-topzmargin-rightzmargin-bottomzmargin-leftztext-underline-offsetc                 óD   — t        | d¬«      x}r|S t        | «      dk(  ryy)z5``margin-*`` and various other properties validation.T©r“   r�   Nrí   ©rI   r•   s     r+   Úlenght_precentage_or_autor;  t  s0   € ô ˜E¨dÔ3Ð3€vÐ3ØˆÜ�5Ó˜VÒ#Øð $r-   ÚheightÚwidthc                 óF   — t        | dd¬«      x}r|S t        | «      dk(  ryy)z7Validation for the ``width`` and ``height`` properties.FTr‘   r�   Nrí   r:  s     r+   Úwidth_heightr?  †  s2   € ô
 ˜E¨E¸dÔCÐC€vÐCØˆÜ�5Ó˜VÒ#Øð $r-   z
column-gapzrow-gapc                 óL   — t        | dd¬«      x}r|S t        | «      }|dk(  r|S y)z=Validation for the ``column-gap`` and ``row-gap`` properties.TF)r“   r’   r"  Nrí   rî   s      r+   ÚgaprA  ‘  s9   € ô
 ˜E¨d¸UÔCÐC€vÐCØˆÜ˜%Ó €GØ�(ÒØˆð r-   c                 ó
   — | dv S )z$``column-fill`` property validation.)r�   Úbalancer2   rP   s    r+   Úcolumn_fillrD  �  rÍ   r-   c                 ó
   — | dv S )z"``direction`` property validation.)ÚltrÚrtlr2   rP   s    r+   Ú	directionrH  ¤  s   € ð �nÐ$Ð$r-   c                 ór  — | D ]  }|j                   dk7  sŒ y t        | «      dk(  r:| d   j                  }|dv r|fS |dv rt        |j	                  d«      «      S |dk(  ry	dx}x}}| D ]1  }|j                  }|d
v r|r y|}Œ|dv r|r y|}Œ%|dk(  r|r y|}Œ1 y |xs d}|xs d}|r
|dv r|||fS y||fS )z ``display`` property validation.rÙ   Nr%   r   )	rg   ztable-captionztable-row-groupz
table-cellztable-header-groupztable-footer-groupz	table-rowztable-column-groupztable-column)zinline-tablezinline-flexzinline-gridr6   zinline-block)Úinlineú	flow-root)ÚblockrJ  )ÚflowrK  ÚtableÚflexÚgridz	list-itemrL  rM  )rM  rK  )rÆ   rt   rK   r‡   Úsplit)r)   rI   rK   ÚoutsideÚinsideÚ	list_items         r+   ÚdisplayrU  «  s!  € ð ò ˆØ�:‰:˜Ó Ùðô ˆ6ƒ{�aÒØ�q‘	—‘ˆØð 6ñ 6ð �8ˆOØÐDÑDÜ˜Ÿ™ SÓ)Ó*Ð*Ø�nÒ$Ø*à#'Ð'€GÐ'ˆf�yØò ˆØ—‘ˆØÐ'Ñ'ÙÙØ‰GØÐDÑDÙÙØ‰FØ�kÒ!ÙÙØ‰Iáðð" Ò ˜€GØÒ�v€FÙØÐ*Ñ*Ø˜V YÐ/Ð/ð +ð ˜Ð Ð r-   Úfloatc                 ó
   — | dv S )z``float`` property validation.)r´   rµ   Úfootnoterg   r2   rP   s    r+   Úfloat_rY  Ù  s   € ð Ð;Ð;Ð;r-   c                 ó¼   — t        | «      dk(  r!| d   j                  dk(  r| d   j                  S | r+t        d„ | D «       «      rdj	                  d„ | D «       «      S yy)z$``font-family`` property validation.r%   r   rÄ   c              3   ó:   K  — | ]  }|j                   d k(  –— Œ y­w)rÙ   N©rÆ   rá   s     r+   r…   zfont_family.<locals>.<genexpr>æ  s   è ø€ ÒB°%˜Ÿ
™
 gÕ-ÑBùó   ‚ú c              3   ó4   K  — | ]  }|j                   –— Œ y ­wrS   ©rK   rá   s     r+   r…   zfont_family.<locals>.<genexpr>ç  ó   è ø€ Ò8¨˜Ÿ�Ñ8ùó   ‚N)rt   rÆ   rK   r‰   Újoinru   s    r+   Úfont_familyrd  à  sZ   € ô ˆ6ƒ{�aÒ˜F 1™IŸN™N¨hÒ6Ø�a‰y�‰ÐÙ	”CÑB¸6ÔBÔBØ�x‰xÑ8°Ô8Ó8Ð8ð Cˆr-   c                 ó
   — | dv S )N)r�   r"  rg   r2   rP   s    r+   Úfont_kerningrf  ê  ó   € ð Ð0Ð0Ð0r-   c                 ó^   — t        | «      }|dk(  r|S | j                  dk(  r| j                  S y )Nr"  rÄ   ©r   rÆ   rK   rÇ   s     r+   Úfont_language_overriderj  ð  s6   € ô ˜%Ó €GØ�(ÒØˆØ	�‰�xÒ	Ø�{‰{Ðð 
 r-   c                 ó|  ‡‡— t        | «      dk(  rt        | d   «      }|dv r|S g Šd}g }|D ]  }|j                  |«       Œ | D ]h  Š‰j                  dk7  r y ‰j                  |v rFt        ˆfd„|D «       «      }t        ˆfd„|D «       «      r y ‰j                  ‰j                  «       Œh y  ‰rt        ‰«      S y )Nr%   r   r!  ))zcommon-ligatureszno-common-ligatures)zhistorical-ligatureszno-historical-ligatures)zdiscretionary-ligatureszno-discretionary-ligatures)Ú
contextualzno-contextualrÙ   c              3   ó@   •K  — | ]  }‰j                   |v sŒ|–— Œ y ­wrS   r`  ©rƒ   ÚcouplerI   s     €r+   r…   z)font_variant_ligatures.<locals>.<genexpr>  ó#   øè ø€ ò %GØ!°·±¸vÒ0E”ñ%Gùó   ƒ—c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wrS   r2   ©rƒ   rK   r–   s     €r+   r…   z)font_variant_ligatures.<locals>.<genexpr>  ó   øè ø€ ÒB u�5˜F”?ÑBùó   ƒ©	rt   r   ÚextendrÆ   rK   r5  Úanyr”   r‡   ©r)   rJ   ÚcouplesÚ
all_valuesro  Úconcurrent_valuesrI   r–   s         @@r+   Úfont_variant_ligaturesr}  ú  sÙ   ù€ ä
ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØÐ(Ñ(ØˆNØ€Fð)€Gð
 €JØò "ˆØ×Ñ˜&Õ!ð"àò ˆØ�:‰:˜Ò ÙØ�;‰;˜*Ñ$Ü $ó %GØ%,ô%Gó !GÐäÓBÐ0AÔBÔBÙà—‘˜eŸk™kÕ*áðñ Ü�V‹}Ðð r-   c                 ó
   — | dv S )N)r"  ÚsubÚsuperr2   rP   s    r+   Úfont_variant_positionr�    rg  r-   c                 ó
   — | dv S )N)r"  z
small-capszall-small-capszpetite-capszall-petite-capsÚunicaseztitling-capsr2   rP   s    r+   Úfont_variant_capsr„    s   € ð ð 6ð 6ð 6r-   c                 ó~  ‡‡— t        | «      dk(  rt        | d   «      }|dk(  r|S g Šd}g }|D ]  }|j                  |«       Œ | D ]h  Š‰j                  dk7  r y ‰j                  |v rFt        ˆfd„|D «       «      }t        ˆfd„|D «       «      r y ‰j                  ‰j                  «       Œh y  ‰rt        ‰«      S y )Nr%   r   r"  ))zlining-numszoldstyle-nums)zproportional-numsztabular-nums)zdiagonal-fractionszstacked-fractions)Úordinal)zslashed-zerorÙ   c              3   ó@   •K  — | ]  }‰j                   |v sŒ|–— Œ y ­wrS   r`  rn  s     €r+   r…   z'font_variant_numeric.<locals>.<genexpr>:  rp  rq  c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wrS   r2   rs  s     €r+   r…   z'font_variant_numeric.<locals>.<genexpr><  rt  ru  rv  ry  s         @@r+   Úfont_variant_numericr‰  '  sØ   ù€ ä
ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØ�hÒØˆNØ€Fð)€Gð
 €JØò "ˆØ×Ñ˜&Õ!ð"àò ˆØ�:‰:˜Ò ÙØ�;‰;˜*Ñ$Ü $ó %GØ%,ô%Gó !GÐäÓBÐ0AÔBÔBÙà—‘˜eŸk™kÕ*áðñ Ü�V‹}Ðð r-   c                 ój   — t        | «      dk(  rt        | d   «      dk(  ryt        d„ «       } || «      S )z.``font-feature-settings`` property validation.r%   r   r"  c                 óÈ  — d\  }}t        | «      dk(  rU| d d | d   }} |j                  dk(  rdddœj                  |j                  «      }n-t	        |dd	¬
«      x}r|j                  }nt        | «      dk(  rd}t        | «      dk(  rS| \  }|j                  dk(  r@t        |j                  «      dk(  r(t        d„ |j                  D «       «      r|j                  }|�|�||fS y y )N©NNr   r  rÙ   r%   r   )ÚonÚoffFTrÏ   rÄ   rô   c              3   óN   K  — | ]  }d t        |«      cxk  xr dk  nc –— Œ y­w)é    é   N)Úord)rƒ   Úletters     r+   r…   zLfont_feature_settings.<locals>.font_feature_settings_list.<locals>.<genexpr>\  s!   è ø€ ÒM°v�tœs 6›{Ö2¨d×2Ð2ÑMùs   ‚#%)rt   rÆ   ÚgetrK   r   r‰   )r)   ÚfeaturerK   rI   rÓ   s        r+   Úfont_feature_settings_listz9font_feature_settings.<locals>.font_feature_settings_listL  sä   € à#‰ˆ�äˆv‹;˜!ÒØ" 3 B˜K¨°©�EˆFØ�z‰z˜WÒ$Ø ¨Ñ+×/Ñ/°·±Ó<‘Ü% e°eÀTÔJÐJ�ÐJØŸ™‘Ü�‹[˜AÒØˆEäˆv‹;˜!ÒØ‰FˆEØ�z‰z˜XÒ%¬#¨e¯k©kÓ*:¸aÒ*?ÜÑMÀÇÁÔMÔMØ#Ÿk™k�GàÐ 5Ð#4Ø˜E�>Ð!ð $5Ðr-   ©rt   r   r   )r)   r–  s     r+   Úfont_feature_settingsr˜  F  sB   € ô ˆ6ƒ{�aÒœK¨¨q©	Ó2°hÒ>Øäñ"ó ð"ñ* & fÓ-Ð-r-   c                 ó
   — | dv S )N)r"  zhistorical-formsr2   rP   s    r+   Úfont_variant_alternatesrš  e  s   € ð
 Ð4Ð4Ð4r-   c                 ó~  ‡‡— t        | «      dk(  rt        | d   «      }|dk(  r|S g Šd}g }|D ]  }|j                  |«       Œ | D ]h  Š‰j                  dk7  r y ‰j                  |v rFt        ˆfd„|D «       «      }t        ˆfd„|D «       «      r y ‰j                  ‰j                  «       Œh y  ‰rt        ‰«      S y )Nr%   r   r"  ))Újis78Újis83Újis90Újis04Ú
simplifiedÚtraditional)ú
full-widthzproportional-width)ÚrubyrÙ   c              3   ó@   •K  — | ]  }‰j                   |v sŒ|–— Œ y ­wrS   r`  rn  s     €r+   r…   z*font_variant_east_asian.<locals>.<genexpr>  rp  rq  c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wrS   r2   rs  s     €r+   r…   z*font_variant_east_asian.<locals>.<genexpr>�  rt  ru  rv  ry  s         @@r+   Úfont_variant_east_asianr¦  m  sØ   ù€ ä
ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØ�hÒØˆNØ€Fð€Gð €JØò "ˆØ×Ñ˜&Õ!ð"àò ˆØ�:‰:˜Ò ÙØ�;‰;˜*Ñ$Ü $ó %GØ%,ô%Gó !GÐäÓBÐ0AÔBÔBÙà—‘˜eŸk™kÕ*áðñ Ü�V‹}Ðð r-   c                 ój   — t        | «      dk(  rt        | d   «      dk(  ryt        d„ «       } || «      S )z0``font-variation-settings`` property validation.r%   r   r"  c                 óš   — t        | «      dk(  r=| \  }}|j                  dk(  r(|j                  dk(  r|j                  |j                  fS y y y )Nr   rÄ   rÓ   )rt   rÆ   rK   )r)   ÚkeyrK   s      r+   Úfont_variation_settings_listz=font_variation_settings.<locals>.font_variation_settings_list‘  sN   € äˆv‹;˜!ÒØ‰JˆC�Ø�x‰x˜8Ò#¨¯
©
°hÒ(>Ø—y‘y %§+¡+Ð-Ð-ð )?Ð#ð r-   r—  )r)   rª  s     r+   Úfont_variation_settingsr«  ‹  sB   € ô ˆ6ƒ{�aÒœK¨¨q©	Ó2°hÒ>Øäñ.ó ð.ñ (¨Ó/Ð/r-   c                 ór   — t        | dd¬«      x}r|S t        | «      }|dv r|S |t        j                  v r|S y)z"``font-size`` property validation.FTr‘   )ÚsmallerÚlargerN)r   r   r   ÚFONT_SIZE_KEYWORDS)rI   r•   Úfont_size_keywords      r+   Ú	font_sizer±  ›  sP   € ô ˜E¨E¸dÔCÐC€vÐCØˆÜ# EÓ*ÐØÐ1Ñ1Ø Ð ØœO×>Ñ>Ñ>Ø Ð ð ?r-   c                 ó
   — | dv S )z#``font-style`` property validation.)r"  ÚitalicÚobliquer2   rP   s    r+   Ú
font_stylerµ  ¨  s   € ð Ð5Ð5Ð5r-   c                 ó
   — | dv S )z-Validation for the ``font-stretch`` property.)	zultra-condensedzextra-condensedÚ	condensedzsemi-condensedr"  zsemi-expandedÚexpandedzextra-expandedzultra-expandedr2   rP   s    r+   Úfont_stretchr¹  ¯  s   € ð ð Ið Ið Ir-   c                 ó”   — t        | «      }|dv r|S | j                  dk(  r(| j                  �| j                  dv r| j                  S yyy)z$``font-weight`` property validation.)r"  ÚboldÚbolderÚlighterrÓ   N)	éd   éÈ   i,  i�  iô  iX  i¼  i   i„  )r   rÆ   Ú	int_valuerÇ   s     r+   Úfont_weightrÁ  ¹  sV   € ô ˜%Ó €GØÐ9Ñ9ØˆØ‡z�z�XÒ %§/¡/Ð"=Ø�?‰?ÐKÑKØ—?‘?Ð"ð Lð #>Ðr-   c                 ó
   — | dv S )N)ró   rŽ   r�   rg   z
scale-downr2   rP   s    r+   Ú
object_fitrÃ  Å  s   € ð ÐHÐHÐHr-   c                 ó   — t        | «      S rS   )r   rT   s    r+   Úimage_resolutionrÅ  Î  s   € ô ˜%Ó Ð r-   zletter-spacingzword-spacingc                 ó@   — t        | «      dk(  ryt        | «      x}r|S y)z7Validation for ``letter-spacing`` and ``word-spacing``.r"  NrÜ   r:  s     r+   ÚspacingrÇ  Õ  s.   € ô
 �5Ó˜XÒ%ØÜ˜EÓ"Ð"€vÐ"Øˆð #r-   c                 ó"   — t        | «      x}r|S y)z"Validation for ``outline-offset``.N©r   r:  s     r+   Úoutline_offsetrÊ  à  s   € ô ˜EÓ"Ð"€vÐ"Øˆð #r-   c                 óh   — t        | «      dk(  ryt        | d¬«      x}r|S t        | dd¬«      x}r|S y)z$``line-height`` property validation.r"  Frž   Tr‘   N)r   r   r   )rI   rÓ   r•   s      r+   Úline_heightrÌ  è  sJ   € ô �5Ó˜XÒ%ØÜ˜e¨eÔ4Ð	4ˆÐ	4ØˆÜ˜e¨eÀÔEÐ	EˆÐ	EØˆð 
Fr-   c                 ó
   — | dv S )z,``list-style-position`` property validation.)rS  rR  r2   rP   s    r+   Úlist_style_positionrÎ  ô  s   € ð Ð+Ð+Ð+r-   c                 óž  — | j                   dk(  r| j                  S | j                   dk(  rd| j                  fS | j                   dk(  �r| j                  dk(  rõd}t        | j                  «      x}syg }|d   j                   dk(  r3|d   j                  |v r!d}|j                  |d   j                  «       ny|j                  d	«       d}t        |«      |dz   k  ryt        |t        |«      «      D ]4  }||   j                   dk7  r y|j                  ||   j                  «       Œ6 |d   d
v rt        |«      dk  rydt        |«      fS yy)z(``list-style-type`` property validation.rÙ   rÄ   r=   Úsymbols)ÚcyclicÚnumericÚ
alphabeticÚsymbolicrN   Nr   r%   rÔ  )rÓ  rÒ  rs   z	symbols())	rÆ   rK   r'   r   r  r”   rt   Úranger‡   )rI   Úallowed_typesÚfunction_argumentsr  Úindexr÷   s         r+   Úlist_style_typerÙ  û  s`  € ð ‡z�z�WÒØ�{‰{ÐØ	�‰�xÒ	Ø˜%Ÿ+™+Ð&Ð&Ø	�‰�zÓ	! e§j¡j°IÒ&=ØPˆÜ&7¸¿¹Ó&HÐHÐ"ÐHØØˆ	Ø˜aÑ ×%Ñ%¨Ò0Ø! !Ñ$×*Ñ*¨mÑ;Ø�Ø× Ñ Ð!3°AÑ!6×!<Ñ!<Õ=àà×Ñ˜ZÔ(ØˆEÜÐ!Ó" U¨Q¡YÒ.ØÜ�uœcÐ"4Ó5Ó6ò 	:ˆAØ! !Ñ$×)Ñ)¨XÒ5ÙØ×ÑÐ/°Ñ2×8Ñ8Õ9ð	:ð �Q‰<Ð4Ñ4Ü�9‹~ Ò!ØØœU 9Ó-Ð.Ð.ð/ '>Ð	!r-   z	min-widthz
min-heightc                 ó8   — t        | «      dk(  ryt        | g«      S )z7``min-width`` and ``min-height`` properties validation.r�   )r   Úlength_or_precentagerT   s    r+   Úmin_width_heightrÜ    s!   € ô �5Ó˜VÒ#Øä# U GÓ,Ð,r-   zpadding-topzpadding-rightzpadding-bottomzpadding-leftc                 ó(   — t        | dd¬«      x}r|S y)z$``padding-*`` properties validation.FTr‘   NrÉ  r:  s     r+   rÛ  rÛ  )  s#   € ô ˜E¨E¸dÔCÐC€vÐCØˆð Dr-   z	max-widthz
max-heightc                 ód   — t        | dd¬«      x}r|S t        | «      dk(  rt        t        d«      S y)z'Validation for max-width and max-heightFTr‘   rg   ÚpxN)r   r   r   r   r:  s     r+   Úmax_width_heightrà  4  s<   € ô
 ˜E¨E¸dÔCÐC€vÐCØˆÜ�5Ó˜VÒ#Üœ˜dÓ#Ð#ð $r-   c                 ó¾   — t        | «      x}r t        dt        d|j                  «      «      S t	        | «      x}r#t        dt        d|j                  dz  «      «      S y)z(Validation for the ``opacity`` property.r%   r   r¾  N)r   ÚminÚmaxrK   r   )rI   rÓ   r“   s      r+   Úopacityrä  ?  s`   € ô ˜EÓ"Ð"€vÐ"Ü�1”c˜!˜VŸ\™\Ó*Ó+Ð+Ü% eÓ,Ð	,ˆÐ	,Ü�1”c˜!˜Z×-Ñ-°Ñ3Ó4Ó5Ð5ð 
-r-   c                 óX   — t        | «      dk(  ryt        | d¬«      x}r|j                  S y)z(Validation for the ``z-index`` property.r�   Tr3  N)r   r   rK   rÒ   s     r+   Úz_indexræ  I  s5   € ô �5Ó˜VÒ#ØÜ˜e¨TÔ2Ð	2ˆÐ	2Ø�|‰|Ðð 
3r-   ÚorphansÚwidowsc                 ó\   — t        | dd¬«      x}r|j                  dk\  r|j                  S yy)z9Validation for the ``orphans`` and ``widows`` properties.FTrÏ   r%   N©r   rK   rÒ   s     r+   Úorphans_widowsrë  S  s9   € ô
 ˜E¨E¸4Ô@Ð@€vÐ@Ø�<‰<˜1ÒØ—<‘<Ðð ð Ar-   c                 óz   — t        | dd¬«      x}r|j                  dk\  r|j                  S yt        | «      dk(  ryy)z-Validation for the ``column-count`` property.FTrÏ   r%   r�   NrÑ   rÒ   s     r+   Úcolumn_countrí  ]  óH   € ô ˜E¨E¸4Ô@Ð@€vÐ@Ø�<‰<˜1ÒØ—<‘<Ðð ä	�UÓ	˜vÒ	%Øð 
&r-   c                 ó
   — | dv S )z)Validation for the ``overflow`` property.)r�   Úvisibler¦   rM   r2   rP   s    r+   Úoverflowrñ  h  s   € ð Ð=Ð=Ð=r-   c                 ó
   — | dv S )z.Validation for the ``text-overflow`` property.)r  Úellipsisr2   rP   s    r+   Útext_overflowrô  o  s   € ð Ð*Ð*Ð*r-   c                 ó  — | j                   dk(  r^| j                  dk(  rOt        | j                  «      dk(  r7| j                  d   j                   dk(  rd| j                  d   j                  fS t        | g«      }|dv r|S y)	z!``position`` property validation.r=   Úrunningr%   r   rÙ   z	running())ÚstaticÚrelativeÚabsoluterN   N)rÆ   r'   rt   r  rK   r   rÇ   s     r+   Úpositionrú  v  s{   € ð ‡z�z�ZÒ E§J¡J°)Ò$;Üˆu�‰Ó 1Ò$¨¯©¸Ñ);×)@Ñ)@ÀGÒ)KØ §¡°Ñ!3×!9Ñ!9Ð:Ð:Ü  % Ó)€GØÐ=Ñ=Øˆð >r-   c                 óÚ   — t        | «      dk(  rt        | d   «      x}dv r|S | rGt        | «      dz  dk(  r5t        d„ | D «       «      r"t        d„ | D «       «      }|ddd…   |ddd…   fS yyy)z``quotes`` property validation.r%   r   )r�   rg   r   c              3   ó:   K  — | ]  }|j                   d k(  –— Œ y­w)rÄ   Nr\  rá   s     r+   r…   zquotes.<locals>.<genexpr>‰  s   è ø€ Ò;¨5�—
‘
˜hÕ&Ñ;ùr]  c              3   ó4   K  — | ]  }|j                   –— Œ y ­wrS   r`  rá   s     r+   r…   zquotes.<locals>.<genexpr>Š  ra  rb  N)rt   r   r‰   r‡   )r)   rJ   Ústringss      r+   Úquotesrÿ  ‚  s‡   € ô ˆ6ƒ{�aÒÜ" 6¨!¡9Ó-Ð-ˆGÐ2BÑBØˆNÙ”3�v“; ‘? aÒ'ÜÑ;°FÔ;Ô;ÜÑ8°Ô8Ó8ˆð ‘s˜�s‰|˜W Q T¨ T™]Ð*Ð*ð	 <ð (ˆr-   c                 ó   — | dv r| S y)z,Validation for the ``table-layout`` property)rN   r�   Nr2   rP   s    r+   Útable_layoutr  �  s   € ð Ð#Ñ#Øˆð $r-   c                 ó
   — | dv S )z'``text-align-all`` property validation.)r´   rµ   ÚcenterÚjustifyÚstartÚendr2   rP   s    r+   Útext_align_allr  ˜  s   € ð ÐLÐLÐLr-   c                 ó
   — | dv S )z(``text-align-last`` property validation.)r�   r´   rµ   r  r  r  r  r2   rP   s    r+   Útext_align_lastr	  Ÿ  ó   € ð ÐTÐTÐTr-   c                 ó¬   — | D �ch c]  }t        |«      ’Œ c}x}dhk(  ryh d£}t        | «      t        |«      k(  r|j                  |«      r|S yyc c}w )z-``text-decoration-line`` property validation.rg   >   úline-throughÚblinkÚoverlineÚ	underlineN)r   rt   Úissubset)r)   rI   r‹   Úallowed_valuess       r+   Útext_decoration_liner  ¦  s[   € ð 6<Ö<¨E”[ Õ'Ò<Ð<ˆÀ&ÀÒIØÚG€NÜ
ˆ6ƒ{”c˜(“mÒ#¨×(9Ñ(9¸.Ô(IØˆð )JÐ#ùò =s   …Ac                 ó   — | dv r| S y)z.``text-decoration-style`` property validation.)r®   r©   r§   r¨   ÚwavyNr2   rP   s    r+   Útext_decoration_styler  °  s   € ð ÐAÑAØˆð Br-   c                 óH   — t        | d¬«      x}r|S t        | «      x}dv r|S y)z2``text-decoration-thickness`` property validation.Tr9  )r�   z	from-fontNrí   rî   s      r+   Útext_decoration_thicknessr  ¸  s9   € ô ˜E¨dÔ3Ð3€vÐ3ØˆÜ  Ó'Ð
'ˆ'Ð,AÑ	AØˆð 
Br-   c                 ó&   — t        | d¬«      x}r|S y)z$``text-indent`` property validation.Tr9  NrÉ  r:  s     r+   Útext_indentr  Â  s    € ô ˜E¨dÔ3Ð3€vÐ3Øˆð 4r-   c                 ó
   — | dv S )z#``text-align`` property validation.)rg   Ú	uppercaseÚ	lowercaseÚ
capitalizer¢  r2   rP   s    r+   Útext_transformr  Ê  r
  r-   c                 óH   — t        | d¬«      x}r|S t        | «      }|dv r|S y)z.Validation for the ``vertical-align`` propertyTr9  )ÚbaselineÚmiddler  r€  ztext-topztext-bottomr  r  Nrí   rî   s      r+   Úvertical_alignr"  Ñ  s<   € ô ˜E¨dÔ3Ð3€vÐ3ØˆÜ˜%Ó €GØð ?ñ ?àˆð?r-   c                 ó
   — | dv S )ú$``white-space`` property validation.)rð  r¦   r\   r2   rP   s    r+   Ú
visibilityr%  Ý  r  r-   c                 ó
   — | dv S )r$  )r"  ÚpreÚnowrapzpre-wrapzpre-liner2   rP   s    r+   Úwhite_spacer)  ä  s   € ð ÐIÐIÐIr-   c                 ó
   — | dv S )z&``overflow-wrap`` property validation.)Úanywherer"  z
break-wordr2   rP   s    r+   Úoverflow_wrapr,  ë  ó   € ð Ð:Ð:Ð:r-   c                 ó
   — | dv S )z#``word-break`` property validation.)r"  z	break-allr2   rP   s    r+   Ú
word_breakr/  ò  s   € ð Ð-Ð-Ð-r-   c                 óB   — t        | g«      x}�|S t        | «      dk(  ryy)z#``flex-basis`` property validation.Nr&  )r?  r   )rI   Úbasiss     r+   Ú
flex_basisr2  ù  s0   € ô ˜u˜gÓ&Ð&ˆÐ3ØˆÜ	�UÓ	˜yÒ	(Øð 
)r-   c                 ó
   — | dv S )z'``flex-direction`` property validation.)Úrowzrow-reverser¹   zcolumn-reverser2   rP   s    r+   Úflex_directionr5    s   € ð ÐHÐHÐHr-   z	flex-growzflex-shrinkc                 ó6   — t        | «      x}r|j                  S y rS   rê  rÒ   s     r+   Úflex_grow_shrinkr7  
  s#   € ô ˜EÓ"Ð"€vÐ"Ø�|‰|Ðð #r-   c                 óP   — t        | «      x}dv r|S |ryt        | dd¬«      x}r|S y)zParse ``inflexible-breadth``.)r�   úmin-contentúmax-contentNFTr‘   rÜ   )rI   rJ   r•   s      r+   Ú_inflexible_breadthr;    s?   € ä˜uÓ%Ð%ˆÐ*PÑPØˆÙ	ØÜ˜e¨eÀÔEÐ	EˆÐ	EØˆð 
Fr-   c                 óê   — | j                   dk(  rZ| j                  dk\  rK| j                  j                  «       dk(  r.t	        | j                  | j                  j                  «       «      S t        | «      S )zParse ``track-breadth``.Ú	dimensionr   Úfr)rÆ   rK   ÚunitÚlowerr   r;  rT   s    r+   Ú_track_breadthrA    sW   € à‡z�z�[Ò  U§[¡[°AÒ%5¸%¿*¹*×:JÑ:JÓ:LÐPTÒ:TÜ˜Ÿ™ e§j¡j×&6Ñ&6Ó&8Ó9Ð9Ü˜uÓ%Ð%r-   c                 óN  — t        | «      x}r|S t        | «      }|j                  «       }|j                  dk(  r6t	        |«      dk(  r't        |d   «      }t        |d   «      }|r|rd||fS yyy|j                  dk(  r't	        |«      dk(  rt        |d   dd¬	«      x}rd
|fS yyy)zParse ``track-size``.Úminmaxr   r   r%   úminmax()zfit-contentFTr‘   zfit-content()N)rA  r	   r  r'   rt   r;  r   )rI   Útrack_breadthr=   r  Úinflexible_breadthr•   s         r+   Ú_track_sizerG  #  sÑ   € ä& uÓ-Ð-€}Ð-ØÐÜ˜‹€HØ×$Ñ$Ó&€IØ‡}�}˜Ò Üˆy‹>˜QÒÜ!4°Y¸q±\Ó!BÐÜ*¨9°Q©<Ó8ˆMÙ!¡mØ"Ð$6¸ÐFÐFð '4Ð!ð ð
 
�‰˜-Ò	'Üˆy‹>˜QÒÜ# I¨a¡L¸5ÈTÔRÐRˆvÐRØ'¨Ð0Ð0ð Sð ð 
(r-   c                 óN  — t        | dd¬«      x}r|S t        | «      }|j                  «       }|j                  dk(  rit	        |«      dk(  rZt        |d   dd¬«      x}rt        |d   «      }|rd||fS t        |d   «      }|d	v s|rt        |d   dd¬«      }|r	d|xs ||fS y
y
y
y
)zParse ``fixed-size``.FTr‘   rC  r   r   r%   rD  )r9  r:  r�   N)r   r	   r  r'   rt   rA  r   )rI   r•   r=   r  rE  rJ   Úfixed_breadths          r+   Ú_fixed_sizerJ  5  sÔ   € ä˜E¨E¸dÔCÐC€vÐCØˆÜ˜‹€HØ×$Ñ$Ó&€IØ‡}�}˜Ò ¤S¨£^°qÒ%8Ü 	¨!¡°uÈÔNÐNˆ6ÐNÜ*¨9°Q©<Ó8ˆMÙØ" F¨MÐ:Ð:Ü˜i¨™lÓ+ˆØÐ<Ñ<ÁÜ& y°¡|¸eÐPTÔUˆMÙØ" FÒ$5¨g°}ÐEÐEð ð AGð &9Ð r-   c                 óÖ   — g }| j                   dk(  rX| j                  D ]>  } | j                   dk(  r|j                  | j                  «       Œ.| j                   dk7  sŒ> y t	        |«      S y)zParse ``line-names``.z[] blockrÙ   Ú
whitespaceN)rÆ   r&  r”   rK   r‡   )rI   Úreturn_line_namess     r+   Ú_line_namesrN  G  sg   € àÐØ‡z�z�ZÒØ—]‘]ò 	ˆEØ�z‰z˜WÒ$Ø!×(Ñ(¨¯©Õ5Ø—‘˜|Ó+Ùð		ô
 Ð&Ó'Ð'ð  r-   zgrid-auto-columnszgrid-auto-rowsc                 ój   — g }| D ]"  }t        |«      x}r|j                  |«       Œ" y t        |«      S )zC``grid-auto-columns`` and ``grid-auto-rows`` properties validation.N)rG  r”   r‡   )r)   Úreturn_tokensrI   Ú
track_sizes       r+   Ú	grid_autorR  S  sI   € ð €MØò ˆÜ$ UÓ+Ð+ˆ:Ð+Ø× Ñ  Ô,ØÙð	ô
 �ÓÐr-   c                 óæ   — t        | «      dk(  rt        | d   «      }|dv r|fS |dk(  r|dfS yt        | «      dk(  r1| D �cg c]  }t        |«      ‘Œ }}d|v rd|v sd|v rt        |«      S yyyc c}w )	z'``grid-auto-flow`` property validation.r%   r   )r4  r¹   Údenser4  r   r¹   N©rt   r   r‡   )r)   rJ   rI   r‹   s       r+   Úgrid_auto_flowrV  `  sœ   € ô ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØÐ'Ñ'Ø�:ÐØ˜ÒØ˜UÐ#Ð#ð  ä	ˆV‹˜Ò	Ø4:Ö;¨5”K Õ&Ð;ˆÐ;Ø�hÑ E¨XÑ$5¸ÀXÑ9MÜ˜“?Ð"ð :NÐð 
ùÚ;s   Á A.zgrid-template-columnszgrid-template-rowsc                 ó  — g }t        | «      dk(  rt        | d   «      dk(  ryt        | d   «      dk(  �rr|j                  d«       g }| dd D �]1  }t        |«      }|�|j                  |«       Œ#t	        |«      }|j                  d¬«      }|�t        |«      dk7  r y|\  }}t        |«      dk7  s|s y|\  }|j                  d	k(  r¶t        |«      dk\  r¨|j                  d
k(  r?t        |j                  «      j                  «       r|j                  dk\  r|j                  }	nt        |«      dk(  rd}	n yg }
|D ]!  }t        |«      }|€Œ|
j                  |«       Œ# |j                  d|	t        |
«      f«       �Œ2 y |j                  t        |«      «       t        |«      S d}d}d}| D �]-  }t        |«      }|�|r yd}|j                  |«       Œ)t        |«      }|r'|s|j                  d«       d}|j                  |«       Œ]t        |«      }|r)|s|j                  d«       d}|j                  |«       d}Œ“t	        |«      }|j                  d¬«      }|�t        |«      dk7  r y|\  }}t        |«      dk7  s|s y|\  }|j                  d	k(  �rAt        |«      dk\  �r2t        |dd¬«      x}	r|	j                  dk\  r/|	j                  }	n"t        |«      dv r|r y|j                  }	d}n yg }d}|D ]”  }t        |«      }|�|r  y|j                  |«       d}Œ)t        |«      }|r'|s|j                  d«       d}|j                  |«       Œ]t        |«      }|r)d}|s|j                  d«       d}|j                  |«       Œ“  y |s|j                  d«       d}|s|j                  d«       |j                  d|	t        |«      f«       �Œ. y |r|ry|s|j                  d«       t        |«      S )z@``grid-template-columns`` and ``grid-template-rows`` validation.r%   r   rg   ÚsubgridNF)Úsingle_tokensr   r~   rÓ   ú	auto-fillzrepeat()Tr2   rÏ   )rZ  zauto-fit)rt   r   r”   rN  r	   r  r'   rÆ   rV  rK   Ú
is_integerrÀ  r‡   rJ  rG  r   )r)   rP  Úsubgrid_tokensrI   Ú
line_namesr=   r  r~   ÚtracksrÓ   Úline_names_listr  Úincludes_auto_repeatÚincludes_trackÚlast_is_line_nameÚ
fixed_sizerQ  Únames_and_sizesÚrepeat_last_is_line_nameÚargs                       r+   Úgrid_templaterg  o  sP  € ð €MÜ
ˆ6ƒ{�aÒœK¨¨q©	Ó2°fÒ<ØÜ�6˜!‘9Ó Ó*Ø×Ñ˜YÔ'ØˆØ˜A˜B�Zó 	ˆEÜ$ UÓ+ˆJØÐ%Ø×%Ñ% jÔ1ØÜ “ˆHØ ×,Ñ,¸5Ð,ÓAˆIØÐ ¤C¨	£N°aÒ$7ÙØ&‰NˆF�FÜ�6‹{˜aÒ¡vÙØ‰GˆFØ�}‰} Ò(¬S°«^¸qÒ-@Ø—K‘K 8Ò+´°f·l±lÓ0C×0NÑ0NÔ0PØŸ™¨Ò)Ø#×-Ñ-‘FÜ  Ó(¨KÒ7Ø(‘FáØ"$�Ø &ò ;�HÜ!,¨XÓ!6�JØ!Ñ-Ø'×.Ñ.¨zÕ:ð;ð ×%Ñ% z°6¼5ÀÓ;QÐ&RÔSÙÙð9	ð: 	×ÑœU >Ó2Ô3ôp �ÓÐðm  %ÐØˆØ!ÐØó N	ˆEÜ$ UÓ+ˆJØÐ%Ù$ÙØ$(Ð!Ø×$Ñ$ ZÔ0ØÜ$ UÓ+ˆJÙÙ(Ø!×(Ñ(¨Ô,Ø$)Ð!Ø×$Ñ$ ZÔ0ØÜ$ UÓ+ˆJÙÙ(Ø!×(Ñ(¨Ô,Ø$)Ð!Ø×$Ñ$ ZÔ0Ø!%�ØÜ “ˆHØ ×,Ñ,¸5Ð,ÓAˆIØÐ ¤C¨	£N°aÒ$7ÙØ&‰NˆF�FÜ�6‹{˜aÒ¡vÙØ‰GˆFØ�}‰} Ó(¬S°«^¸qÓ-@Ü'¨¸ÈÔMÐM�6ÐMØ—|‘| qÒ(Ø!'§¡™Ü  Ó(Ð,EÑEá+ÙØ#Ÿ\™\�FØ+/Ñ(áØ"$�Ø+0Ð(Ø!ò �CÜ!,¨SÓ!1�JØ!Ð-Ù3Ú"Ø'×.Ñ.¨zÔ:Ø37Ð0Ø ä!,¨SÓ!1�JÙ!Ù7Ø+×2Ñ2°2Ô6Ø38Ð0Ø'×.Ñ.¨zÔ:Ø ä!,¨SÓ!1�JÙ!Ø)-˜Ù7Ø+×2Ñ2°2Ô6Ø38Ð0Ø'×.Ñ.¨zÔ:Ø Úð3ñ4 )Ø!×(Ñ(¨Ô,Ø$)Ð!Ù/Ø#×*Ñ*¨2Ô.Ø×$Ñ$ j°&¼%ÀÓ:PÐ%QÔRÙÙð]N	ñ^  ¡NØÙ Ø× Ñ  Ô$Ü�ÓÐr-   c                 ó:  — t        | «      dk(  rt        | d   «      dk(  ryg }| D ]Ç  }|j                  dk7  r yt        |j                  «      }g }d}|D ]x  }|j                  dk(  r|j                  |j                  «       d}Œ0|j                  dk(  r&|j                  d	k(  r|rŒQ|j                  d«       d
}Œe|j                  dk(  rd}Œw  y |s y|j                  t        |«      «       ŒÉ t        t        d„ |D «       «      «      dk(  �rt        «       }t        «       }t        |«      D ]á  \  }	}t        |«      D ]Î  \  }
}|
|	f|v s|€Œ||v r  y|j                  |«       |j                  |
|	f«       |
}t        ||
dz   d |
dz   ¬«      D ]  \  }}||k7  r n|j                  ||	f«       Œ! |dz  }t        ||	dz   d |	dz   ¬«      D ]=  \  }}t        ||
| «      |hk(  r%t        |
|«      D ]  }|j                  ||f«       Œ Œ= ŒÎ ŒÐ Œã t        |«      S y)z,``grid-template-areas`` property validation.r%   r   rg   rÄ   NFrÙ   r  ú.TrL  c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   )rt   )rƒ   r4  s     r+   r…   z&grid_template_areas.<locals>.<genexpr>  s   è ø€ Ò.˜CŒs�3�xÑ.ùrã   )r  )rt   r   rÆ   r   rK   r”   r‡   r  rõ   r;   rÕ  )r)   Ú
grid_areasrI   Úcomponent_valuesr4  Úlast_is_dotrK   ÚcoordinatesÚareasÚyÚxÚareaÚnxÚnareaÚnyÚnrowÚnnxs                    r+   Úgrid_template_areasrx  ñ  sE  € ô ˆ6ƒ{�aÒœK¨¨q©	Ó2°fÒ<ØØ€JØò &ˆØ�:‰:˜Ò!ÙÜ5°e·k±kÓBÐØˆØˆØ%ò 	ˆEØ�z‰z˜WÒ$Ø—
‘
˜5Ÿ;™;Ô'Ø#‘Ø—‘˜yÒ(¨U¯[©[¸CÒ-?ÙØØ—
‘
˜4Ô Ø"‘Ø—‘˜|Ò+Ø#‘âð	ñ ÙØ×Ñœ% ›*Õ%ð+&ô. Œ3Ñ. :Ô.Ó.Ó/°1Ó4ä“eˆÜ“ˆÜ 
Ó+ò 	‰FˆAˆsÜ$ S›>ò ‘��4Ø�q�6˜[Ñ(¨D¨LØØ˜5‘=ÚØ—	‘	˜$”Ø—‘  A Ô'Ø�Ü!*¨3¨q°©s¨t¨9¸A¸a¹CÔ!@ò ‘I�B˜Ø ’}ÙØ—O‘O R¨ GÕ,ðð
 ˜!‘G�BÜ )¨*°Q°q±S°TÐ*:À!ÀAÁ#Ô Fò ‘H�B˜Ü˜4  "˜:“¨4¨&Ò0Ü#(¨¨B£<ò 7˜CØ'ŸO™O¨S°"¨IÕ6ñ7ñ ññð	ô* �ZÓ Ð ð3 5r-   zgrid-row-startzgrid-row-endzgrid-column-startzgrid-column-endc                 ó  — t        | «      dk(  r\| d   }t        |«      x}r|dk(  r|S |dk7  rdd|j                  fS yt        |d¬«      x}r|j                  dk7  rd|j                  dfS ydx}x}}| D ]a  }t        |«      x}r$|dk(  r y|dk(  r|€d}Œ!|r|€|j                  }Œ2 yt        |d¬«      x}r|j                  dk7  r|€|j                  }Œa y |r t	        |t
        «      r|dk  ry|s|r|||fS y|r|||fS y)u:   ``grid-[row|column]-[startâ€”end]`` properties validation.r%   r   r�   ÚspanNTr3  )rt   r   rK   r   Ú
isinstancerö   )r)   rI   rJ   rÓ   rÙ   rz  Úitems          r+   Ú	grid_liner}  *  sd  € ô ˆ6ƒ{�aÒØ�q‘	ˆÜ! %Ó(Ð(ˆ7Ð(Ø˜&Ò Ø�Ø˜FÒ"Ø˜d E§K¡KÐ0Ð0ð 	ô " %°Ô6Ð6ˆVÐ6Ø�|‰|˜qÒ Ø˜fŸl™l¨DÐ1Ð1ØØ Ð €FÐ ˆU�TØò ˆÜ! %Ó(Ð(ˆ7Ð(Ø˜&Ò ÙØ˜&Ò Ø�<Ø!�DØÙ˜U˜]ØŸ™�Øñ
 	ô	   ¨tÔ4Ð4ˆTÐ4Ø�z‰z˜QŠ 6 >ØŸ™�ØÙðñ  Ü�fœcÔ" v°¢zØÙ‘fØ˜& %Ð(Ð(ð á	Ø�f˜eÐ$Ð$ð 
r-   c                 ó
   — | dv S )z"``flex-wrap`` property validation.)r(  Úwrapzwrap-reverser2   rP   s    r+   Ú	flex_wrapr€  U  s   € ð Ð8Ð8Ð8r-   c                 ó°   — t        | «      dk(  rt        | d   «      }|dv r|fS yt        | «      dk(  r$t        d„ | D «       «      }|d   dv r
|d   dv r|S yyy)	z(``justify-content`` property validation.r%   r   )r  úspace-betweenúspace-aroundúspace-evenlyr   r"  ú
flex-startúflex-endr  r  r´   rµ   r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   rà   rá   s     r+   r…   z"justify_content.<locals>.<genexpr>g  râ   rã   ©ÚsafeÚunsafe)r  r  r  r…  r†  r´   rµ   NrU  ©r)   rJ   r‹   s      r+   Újustify_contentrŒ  \  sŒ   € ô ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØð 1ñ 1ð �:Ðð	1ô
 
ˆV‹˜Ò	ÜÑ@¸Ô@Ó@ˆØ�A‰;Ð,Ñ,Ø˜‰{ð ñ ð  �ðð -ð 
r-   c                 ó  — t        | «      dk(  rt        | d   «      }|dv r|fS |dk(  rd|fS yt        | «      dk(  rJt        d„ | D «       «      }|d   dv r
|d   d	v r|S yd|v rd|v sd
|v r|S yd|v rt        |«      h d£z  r|S yyy)z&``justify-items`` property validation.r%   r   )r"  r   r  r  r  ú
self-startúself-endr…  r†  r´   rµ   Úlegacyr   Úfirstr   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   rà   rá   s     r+   r…   z justify_items.<locals>.<genexpr>|  râ   rã   rˆ  ©	r  r  r  rŽ  r�  r…  r†  r´   rµ   Úlastr�  >   r´   rµ   r  N)rt   r   r‡   r  r‹  s      r+   Újustify_itemsr•  o  sß   € ô ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØð ñ ð �:ÐØ˜
Ò"Ø˜WÐ%Ð%ð #ä	ˆV‹˜Ò	ÜÑ@¸Ô@Ó@ˆØ�A‰;Ð,Ñ,Ø˜‰{ð ?ñ ?ð  �ð?ð ˜8Ñ#Ø˜(Ñ" f°Ñ&8Ø�ð '9à˜Ñ!Ü�8‹}Ò:Ò:Ø�ð ;ð "ð 
r-   c                 óà   — t        | «      dk(  rt        | d   «      }|dv r|fS |dk(  rd|fS yt        | «      dk(  r3t        d„ | D «       «      }|d   dv r
|d   d	v r|S yd|v rd|v sd
|v r|S yyy)z%``justify-self`` property validation.r%   r   )r�   r"  r   r  r  r  rŽ  r�  r…  r†  r´   rµ   r   r‘  r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   rà   rá   s     r+   r…   zjustify_self.<locals>.<genexpr>—  râ   rã   rˆ  r“  r”  NrU  r‹  s      r+   Újustify_selfr˜  Š  sÀ   € ô ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØð ñ ð �:ÐØ˜
Ò"Ø˜WÐ%Ð%ð #ä	ˆV‹˜Ò	ÜÑ@¸Ô@Ó@ˆØ�A‰;Ð,Ñ,Ø˜‰{ð ?ñ ?ð  �ð?ð ˜8Ñ#Ø˜(Ñ" f°Ñ&8Ø�ð '9ð $ð 
r-   c                 óà   — t        | «      dk(  rt        | d   «      }|dv r|fS |dk(  rd|fS yt        | «      dk(  r3t        d„ | D «       «      }|d   dv r
|d   d	v r|S yd|v rd|v sd
|v r|S yyy)z$``align-items`` property validation.r%   r   )	r"  r   r  r  r  rŽ  r�  r…  r†  r   r‘  r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   rà   rá   s     r+   r…   zalign_items.<locals>.<genexpr>®  râ   rã   rˆ  ©r  r  r  rŽ  r�  r…  r†  r”  NrU  r‹  s      r+   Úalign_itemsrœ  ¢  sÀ   € ô ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØð 6ñ 6ð �:ÐØ˜
Ò"Ø˜WÐ%Ð%ð #ä	ˆV‹˜Ò	ÜÑ@¸Ô@Ó@ˆØ�A‰;Ð,Ñ,Ø˜‰{ð .ñ .ð  �ð.ð ˜8Ñ#Ø˜(Ñ" f°Ñ&8Ø�ð '9ð $ð 
r-   c                 óà   — t        | «      dk(  rt        | d   «      }|dv r|fS |dk(  rd|fS yt        | «      dk(  r3t        d„ | D «       «      }|d   dv r
|d   d	v r|S yd|v rd|v sd
|v r|S yyy)z#``align-self`` property validation.r%   r   )
r�   r"  r   r  r  r  rŽ  r�  r…  r†  r   r‘  r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   rà   rá   s     r+   r…   zalign_self.<locals>.<genexpr>Å  râ   rã   rˆ  r›  r”  NrU  r‹  s      r+   Ú
align_selfrŸ  ¹  sÂ   € ô ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØð Dñ Dð �:ÐØ˜
Ò"Ø˜WÐ%Ð%ð #ä	ˆV‹˜Ò	ÜÑ@¸Ô@Ó@ˆØ�A‰;Ð,Ñ,Ø˜‰{ð .ñ .ð  �ð.ð ˜8Ñ#Ø˜(Ñ" f°Ñ&8Ø�ð '9ð $ð 
r-   c                 óà   — t        | «      dk(  rt        | d   «      }|dv r|fS |dk(  rd|fS yt        | «      dk(  r3t        d„ | D «       «      }|d   dv r
|d   d	v r|S yd|v rd|v sd
|v r|S yyy)z&``align-content`` property validation.r%   r   )
r  r‚  rƒ  r„  r   r"  r…  r†  r  r  r   r‘  r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   rà   rá   s     r+   r…   z align_content.<locals>.<genexpr>Ý  râ   rã   rˆ  )r  r  r  r…  r†  r”  NrU  r‹  s      r+   Úalign_contentr¢  Ð  sÁ   € ô ˆ6ƒ{�aÒÜ˜f Q™iÓ(ˆØð  ñ  ð �:ÐØ˜
Ò"Ø˜WÐ%Ð%ð #ä	ˆV‹˜Ò	ÜÑ@¸Ô@Ó@ˆØ�A‰;Ð,Ñ,Ø˜‰{ð Hñ Hà�ðHð ˜8Ñ#Ø˜(Ñ" f°Ñ&8Ø�ð '9ð $ð 
r-   c                 ó:   — t        | d¬«      x}r|j                  S y )NTr3  rê  rÒ   s     r+   Úorderr¤  ç  s%   € ô ˜E¨4Ô0Ð0€vÐ0Ø�|‰|Ðð 1r-   c                 ó
   — | dv S )z#Validation for ``image-rendering``.)r�   zcrisp-edgesÚ	pixelatedr2   rP   s    r+   Úimage_renderingr§  î  r-  r-   c                 ó¬   — t        | «      }|dv r|S d\  }}| D ]*  }t        |«      }|dk(  r|� yd}Œ|€t        |«      }|�Œ* y |€dn|}|€dn|}||fS )z%Validation for ``image-orientation``.)rg   z
from-imagerŒ  ÚflipNTr   F)r   r   r   )r)   rJ   Úangler©  rI   s        r+   Úimage_orientationr«  õ  s”   € ô ! Ó(€GØÐ(Ñ(ØˆØ�K€Eˆ4Øò ˆÜ˜eÓ$ˆØ�fÒØÐÙØˆDØØˆ=Ü˜eÓ$ˆEØÐ ØÙðð �‰A E€EØ�L‰5 d€DØ�4ˆ=Ðr-   c                 ó‚  — | D �cg c]  }t        |d¬«      ‘Œ }}t        |«      r1t        |«      dk(  r
|d   |d   fS t        |«      dk(  rt        |«      S | D �cg c]  }t	        |«      ‘Œ }}t        |«      dk(  rY|d   }|t
        j                  v rt
        j                  |   S |dv rt
        j                  S |dk(  rt
        j                  ddd	…   S t        |«      dk(  rR|d   d
v r|\  }}n|d   d
v r|\  }}nd}|t
        j                  v r#t
        j                  |   }dk(  r|S |\  }}	|	|fS yyc c}w c c}w )z]``size`` property validation.

    See https://www.w3.org/TR/css-page-3/#page-size-prop

    Frž   r%   r   r   )r�   ÚportraitÚ	landscapeNr  )r­  r®  r­  )r   r‰   rt   r‡   r   r   Ú
PAGE_SIZESÚINITIAL_PAGE_SIZE)
r)   rI   r¡   r‹   rJ   ÚorientationÚ	page_sizer?  r<  r=  s
             r+   Úsizer³    sl  € ð ?EÖE°UŒz˜%¨%Ö0ÐE€GÐEÜ
ˆ7„|Üˆw‹<˜1ÒØ˜A‘J ¨¡
Ð+Ð+Ü�‹\˜QÒÜ˜“>Ð!à06Ö7 u”˜EÕ"Ð7€HÐ7Ü
ˆ8ƒ}˜ÒØ˜1‘+ˆØ”o×0Ñ0Ñ0Ü"×-Ñ-¨gÑ6Ð6ØÐ,Ñ,Ü"×4Ñ4Ð4Ø˜Ò#Ü"×4Ñ4±T°r°TÑ:Ð:ä
ˆ8ƒ}˜ÒØ�A‰;Ð3Ñ3Ø%-Ñ"ˆK™Ø�a‰[Ð5Ñ5Ø%-Ñ"ˆI‘{àˆIØœ×2Ñ2Ñ2Ü*×5Ñ5°iÑ@ˆLØ˜jÒ(Ø#Ð#à ,‘�˜Ø˜f�}Ð$ð 3ð ùò# Fùò 8s   …D7ÁD<)r?   c                 óæ   — t        | «      dk(  ryt        | «      }|j                  «       x}r@|j                  |D �cg c]  }|j                  ‘Œ c}f}|ddgfk(  rd|d   j
                  fS yyc c}w )zValidation for ``anchor``.rg   ÚattrrÙ   úattr()r   N©r   r	   Úsplit_spacer'   rÆ   rK   ©rI   r=   r  r  Ú	prototypes        r+   Úanchorr»  5  s   € ô �5Ó˜VÒ#ØÜ˜‹€HØ×(Ñ(Ó*Ð*€yÐ*Ø—]‘]À9Ö$M°x X§]£]Ò$MÐNˆ	Ø˜ ' Ð+Ò+Ø˜i¨™l×0Ñ0Ð1Ð1ð ,ð +ùÚ$Ms   ¼A.)r?   r9   c                 ó  — t        | «      dk(  ryt        | |«      }|r|S t        | «      }|j                  «       x}r@|j                  |D �cg c]  }|j
                  ‘Œ c}f}|ddgfk(  rd|d   j                  fS yyc c}w )zValidation for ``link``.rg   rµ  rÙ   r¶  r   N)r   r   r	   r¸  r'   rÆ   rK   )rI   rG   rp   r=   r  r  rº  s          r+   Úlinkr½  B  s”   € ô �5Ó˜VÒ#ØÜ˜ Ó)€JÙØÐÜ˜‹€HØ×(Ñ(Ó*Ð*€yÐ*Ø—]‘]À9Ö$M°x X§]£]Ò$MÐNˆ	Ø˜ ' Ð+Ò+Ø˜i¨™l×0Ñ0Ð1Ð1ð ,ð +ùÚ$Ms   ÁA>c                 ór   — | j                   dk(  r| j                  �| j                  x}r|S t        | d¬«      S )zVValidation for ``tab-size``.

    See https://www.w3.org/TR/css-text-3/#tab-size

    rÓ   Frž   )rÆ   rÀ  r   )rI   rK   s     r+   Útab_sizer¿  R  s:   € ð ‡z�z�XÒ %§/¡/Ð"=Ø—O‘OÐ#ˆ5Ð#ØˆLÜ�e eÔ,Ð,r-   c                 ó&   — t        | «      x}dv r|S y)zValidation for ``hyphens``.)rg   Úmanualr�   Nrà   rÇ   s     r+   ÚhyphensrÂ  `  s"   € ô ˜uÓ%Ð%ˆÐ*DÑDØˆð Er-   c                 óX   — t        | «      dk(  ry| j                  dk(  r| j                  S y)z'Validation for ``hyphenate-character``.r�   u   â€�rÄ   Nri  rT   s    r+   Úhyphenate_characterrÄ  h  s/   € ô �5Ó˜VÒ#ØØ	�‰�xÒ	Ø�{‰{Ðð 
 r-   c                 ó   — t        | dd¬«      S )z(Validation for ``hyphenate-limit-zone``.FTr‘   rÉ  rT   s    r+   Úhyphenate_limit_zonerÆ  r  s   € ô �e e¸Ô=Ð=r-   c                 óê  — t        | «      dk(  r4| \  }t        |«      }|dk(  ryt        |d¬«      x}r|j                  ddfS y	t        | «      dk(  r¦| \  }}t        |«      }t        |«      }t        |d¬«      x}rFt        |d¬«      x}	r#|j                  |	j                  |	j                  fS |dk(  rD|j                  ddfS |dk(  r/t        |d¬«      x}	rd|	j                  |	j                  fS |dk(  ryy	y	y	t        | «      dk(  ro| \  }}}
g }|||
fD ]T  }t        |«      dk(  r|j	                  ||u rdnd«       Œ)t        |d¬«      x}r|j	                  |j                  «       ŒT y	 t        |«      S y	)
z)Validation for ``hyphenate-limit-chars``.r%   r�   )é   r   r   Tr3  r   rÈ  rs   N)rt   r   r   rK   r”   r‡   )r)   rI   rJ   rÓ   Útotalr´   Útotal_keywordÚleft_keywordÚtotal_numberÚleft_numberrµ   rd   s               r+   Úhyphenate_limit_charsrÎ  y  s´  € ô ˆ6ƒ{�aÒØ‰ˆÜ˜eÓ$ˆØ�fÒØÜ! %°Ô6Ð6ˆVÐ6Ø—L‘L ! QÐ'Ð'ð 7ä	ˆV‹˜Ò	Ø‰ˆˆtÜ# EÓ*ˆÜ" 4Ó(ˆÜ% e°TÔ:Ð:ˆ<Ð:Ü(¨°tÔ<Ð<ˆ{Ð<Ø$×*Ñ*¨K×,=Ñ,=¸{×?PÑ?PÐQÐQØ Ò'Ø$×*Ñ*¨A¨qÐ1Ð1Ø˜fÒ$Ü(¨°tÔ<Ð<ˆ{Ð<Ø˜;×,Ñ,¨k×.?Ñ.?Ð@Ð@Ø Ò'Ø ð (ð %ð (ô 
ˆV‹˜Ò	Ø#Ñˆˆt�UØˆØ˜D %Ð'ò 	ˆEÜ˜5Ó! VÒ+Ø—‘ 5¨E¡>™a°qÕ9Ü% e°TÔ:Ð:�Ð:Ø—‘˜fŸl™lÕ+áð	ô �V‹}Ðð 
r-   c                 ó   — t        | «      dk(  ryt        | «      }|j                  «       x}r@|j                  |D �cg c]  }|j                  ‘Œ c}f}|ddgfk(  rd|d   j
                  fS y| j                  dk(  rd| j
                  fS yc c}w )zValidation for ``lang``.rg   rµ  rÙ   r¶  r   rÄ   Nr·  r¹  s        r+   ÚlangrÐ  ž  s�   € ô �5Ó˜VÒ#ØÜ˜‹€HØ×(Ñ(Ó*Ð*€yÐ*Ø—]‘]À9Ö$M°x X§]£]Ò$MÐNˆ	Ø˜ ' Ð+Ò+Ø˜i¨™l×0Ñ0Ð1Ð1ð ,à	�‰�xÒ	Ø˜%Ÿ+™+Ð&Ð&ð 
 ùò %Ns   ¼B)r@   r9   c                 ó:   ‡— t        ˆfd„| D «       «      }d|vr|S y)z"Validation for ``bookmark-label``.c              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­wrS   ©r   ©rƒ   rI   rG   s     €r+   r…   z!bookmark_label.<locals>.<genexpr>°  s   øè ø€ ÒVÀeÔ0°¸×AÑVùó   ƒN)r‡   )r)   rG   r$  s    ` r+   Úbookmark_labelrÖ  ­  s(   ø€ ô ÓVÈvÔVÓV€MØ�=Ñ ØÐð !r-   c                 óz   — t        | dd¬«      x}r|j                  dk\  r|j                  S yt        | «      dk(  ryy)z"Validation for ``bookmark-level``.FTrÏ   r%   rg   NrÑ   rÒ   s     r+   Úbookmark_levelrØ  µ  rî  r-   c                 ó
   — | dv S )z"Validation for ``bookmark-state``.)ÚopenÚclosedr2   rP   s    r+   Úbookmark_staterÜ  À  rÂ   r-   c                 ó
   — | dv S )z$Validation for ``footnote-display``.)rL  rJ  Úcompactr2   rP   s    r+   Úfootnote_displayrß  Ç  s   € ð Ð4Ð4Ð4r-   c                 ó
   — | dv S )z#Validation for ``footnote-policy``.)r�   ÚlinerL  r2   rP   s    r+   Úfootnote_policyrâ  Î  s   € ð Ð/Ð/Ð/r-   c                 ó®   ‡— t        | «      dk\  r1t        | d   «      }|€yt        ˆfd„| dd D «       «      }d|vr||fS y| rt        | d   «      dk(  ryyy)zValidation for ``string-set``.r   r   Nc              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­wrS   rÓ  rÔ  s     €r+   r…   zstring_set.<locals>.<genexpr>Þ  s    øè ø€ ò MØ8=Ô" 5¨(×3ñMùrÕ  r%   rg   )rg   r2   )rt   r   r‡   r   )r)   rG   Úvar_namer$  s    `  r+   Ú
string_setræ  Õ  s}   ø€ ô
 ˆ6ƒ{�aÒÜ# F¨1¡IÓ.ˆØÐØÜó MØAGÈÈÀôMó Mˆà�}Ñ$Ø˜mÐ,Ð,ð %á	”K  q¡	Ó*¨fÒ4Øð 5ˆr-   c                 ó˜  — t        | «      dk(  ryg }| D �]$  }t        |«      }|j                  «       }|€ y|D �ch c]  }|j                  ’Œ c}dhk(  }t	        |«      dk(  �r”t        |d   «      }t        |d   d¬«      }|j                  d	k(  r |�|j                  |j                  |f«       Œ�|j                  d
v r|�|j                  d|dff«       ŒÃ|j                  dk(  r|�|j                  dd|ff«       Œê|j                  dv r|r|j                  d|t        ff«       �Œ|j                  dk(  r|r|j                  dt        |ff«       �ŒA|j                  dk(  r&|r$|j                  d|d   j                  dff«       �Œv|j                  dk(  r&|r$|j                  dd|d   j                  ff«       �Œ«|j                  dk(  r(|r&|j                  d|d   j                  fdz  f«       �Œâ yt	        |«      dk(  rå|j                  dk(  r3|r1t        d„ |D «       «      }	|j                  |j                  |	f«       �Œ4|j                  dk(  r>t        d„ |D «       «      }
t        |
«      r|j                  |j                  |
f«       �Œ y|j                  dk(  rEt        d„ |D «       «      }t        d„ |D «       «      r|j                  |j                  |f«       �ŒÓ y yt	        |«      dk(  r@|j                  dk(  r1|r/|j                  |j                  t        d„ |D «       «      f«       �Œ% y t        |«      S c c}w )zValidation for ``transform``.rg   r2   NrÓ   r%   r   Tr9  Úrotate)ÚskewxÚskewrê  Úskewy)Ú
translatexÚ	translaterí  Ú
translateyÚscalexÚscaleÚscaleyr   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wrS   r`  ©rƒ   r  s     r+   r…   ztransform.<locals>.<genexpr>  s   è ø€ Ò"L°h 8§>¥>Ñ"Lùrb  c              3   ó6   K  — | ]  }t        |d ¬«      –— Œ y­w)Tr9  NrÉ  rá   s     r+   r…   ztransform.<locals>.<genexpr>  s!   è ø€ ò $SØ?Dœ
 5°T×:Ð:ñ$Sùs   ‚c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrS   )r   rá   s     r+   r…   ztransform.<locals>.<genexpr>  s   è ø€ Ò"K¸¤9¨U×#3Ñ"Kùrã   c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wrS   r2   )rƒ   rª  s     r+   r…   ztransform.<locals>.<genexpr>  s   è ø€ ÒA°˜5¨Ô,ÑAùr†   é   Úmatrixc              3   ó4   K  — | ]  }|j                   –— Œ y ­wrS   r`  ró  s     r+   r…   ztransform.<locals>.<genexpr>  s   è ø€ Ò)S¸X¨(¯.­.Ñ)Sùrb  )r   r	   r  rÆ   rt   r   r   r'   r”   r   rK   r‡   r‰   )r)   Ú
transformsrI   r=   r  r  Úall_numbersrª  r•   r–   r¡   Úangless               r+   Ú	transformrý  æ  s  € ô ˜&Ó! VÒ+Øàˆ
Øó 3	ˆEÜ “ˆHØ ×,Ñ,Ó.ˆIØÐ Ùà9BÖC¨X˜8Ÿ=›=ÒCÈÀzÑQˆKÜ�9‹~ Ó"Ü! )¨A¡,Ó/�Ü# I¨a¡L¸TÔB�Ø—=‘= HÒ,°Ð1BØ×%Ñ% x§}¡}°eÐ&<Õ=Ø—]‘]Ð&7Ñ7¸EÐ<MØ×%Ñ% v°°q¨zÐ&:Õ;Ø—]‘] gÒ-°%Ð2CØ×%Ñ% v°°5¨zÐ&:Õ;Ø—]‘]Ð&AÑAÁfØ×%Ñ% {°V¼[Ð4IÐ&JÖKØ—]‘] lÒ2±vØ×%Ñ% {´[À&Ð4IÐ&JÖKØ—]‘] hÒ.±;Ø×%Ñ% w°¸1±×1CÑ1CÀQÐ0GÐ&HÖIØ—]‘] hÒ.±;Ø×%Ñ% w°°I¸a±L×4FÑ4FÐ0GÐ&HÖIØ—]‘] gÒ-±+Ø×%Ñ% w°¸1±×1CÑ1CÐ0EÈÑ0IÐ&JÖKáÜ�Y“ 1Ò$Ø—=‘= GÒ+±Ü"Ñ"LÀ)Ô"LÓL�FØ×%Ñ% x§}¡}°fÐ&=Ö>Ø—]‘] kÒ1Ü#ñ $SØHQô$Só S�Gä˜7”|Ø"×)Ñ)¨8¯=©=¸'Ð*BÖCáØ—]‘] fÒ,Ü"Ñ"KÀÔ"KÓK�FÜÑA¸&ÔAÔAØ"×)Ñ)¨8¯=©=¸&Ð*AÖBááÜ�Y“ 1Ò$¨¯©¸(Ò)BÁ{Ø×!Ñ!Ø—]‘]¤EÑ)SÈÔ)SÓ$SÐTöVñ ðg3	ôh �ZÓ Ð ùò] Ds   »Mc                 ó&   — t        | «      x}dv r|S y)z#``appearance`` property validation.rÅ   Nrà   rÇ   s     r+   Ú
appearancerÿ  $  s!   € ô ˜uÓ%Ð%ˆÐ*:Ñ:Øˆð ;r-   c                 óH  — t        | «      dk(  rt        | «      }|dk(  r|S |dk7  r|fS yg }d}t        | «      D ]J  \  }}t        |«      }|dk(  r|s|dt        | «      dz
  fvr yd}Œ/|dk(  r y|r|j	                  |«       ŒJ y |r|j	                  d«       t        |«      S )z%``color-scheme`` property validation.r%   r"  ÚonlyNFr   T)rt   r   rõ   r   r”   r‡   )r)   rJ   r‹   r  r÷   rI   s         r+   Úcolor_schemer  ,  sÅ   € ô ˆ6ƒ{�aÒÜ$ VÓ,ˆØ�hÒØˆNØ˜ÒØ�:ÐààˆØˆÜ! &Ó)ò 	‰HˆAˆuÜ! %Ó(ˆGØ˜&Ò Ù˜1 Q¬¨F«°a©Ð$8Ñ8Ùà‘DØ˜HÒ$ÙÙØ—‘ Õ(áð	ñ Ø�O‰O˜FÔ#Ü�X‹Ðr-   )NFFF)NF)¹r1   Úmathr   Útinycss2r   Útinycss2.color5r   Ú r   Ú	functionsr	   r
   Ú
propertiesr   r   r   r)   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   ÚPREFIXr  r:   r<   r8   r#   rB   r&   rQ   rU   rY   r]   ra   rb   rk   rq   rv   ry   r|   rŒ   r—   rœ   r¢   r¤   r¯   r»   r½   rÁ   rÈ   rÌ   rÔ   r×   r³   rÝ   ræ   rè   rï   rñ   rø   rû   rý   r  r  r  r
  r  r  r  r  r&  r,  r/  r1  r+  r;  r?  rA  rD  rH  rU  rY  rd  rf  rj  r}  r�  r„  r‰  r˜  rš  r¦  r«  r±  rµ  r¹  rÁ  rÃ  rÅ  rÇ  rÊ  rÌ  rÎ  rÙ  rÜ  rÛ  rà  rä  ræ  rë  rí  rñ  rô  rú  rÿ  r  r  r	  r  r  r  r  r  r"  r%  r)  r,  r/  r2  r5  r7  r;  rA  rG  rJ  rN  rR  rV  rg  rx  r}  r€  rŒ  r•  r˜  rœ  rŸ  r¢  r¤  r§  r«  r³  r»  r½  r¿  rÂ  rÄ  rÆ  rÎ  rÐ  rÖ  rØ  rÜ  rß  râ  ræ  rý  rÿ  r  r2   r-   r+   ú<module>r
     sõ  ðñõ å /Ý 'å ß +ß AÑ A÷X÷ X÷ X÷ X÷ Xó Xð 
€Ù‹e€Ù‹5€ð €
ô?�gô ?ð >CØ!ó&óRñ> 
ƒØØñ3ó ó ó ð3ñ
 
Ð
ÓÙ	Ð
ÓÙ	Ð
ÓÙ	Ð
Ó Ù	Ð
ÓÙ	Ð
¨Ô-Ù	Ð
!Ó"Øñó ó #ó .ó ó !ó  ó ó ðñ
 
ƒØñó ó ðñ 
ƒØñ/ó ó ð/ñ 
ƒØñ'ó ó ð'ñ
 
ˆ'ÓØñó ó ðñ 
Ð
¨TÔ2ØØñ&ó ó ó 3ð&ñ 
Ð
¨TÔ2Øñ+ó ó 3ð+ñ 
ƒñ%ó ð%ñ 
ƒØñ"ó ó ð"ñ
 
ƒØñ"ó ó ð"ñ
 
ƒØñó ó ðñ 
ƒØñ!ó ó ð!ñ0 
Ð
ÓÙ	Ð
ÓØØñCó ó ó ó ðCñ 
ƒñ"ó ð"ñ 
Ð
#Ó$Ù	Ð
&Ó'Ù	Ð
%Ó&Ù	Ð
"Ó#ñ"ó $ó 'ó (ó %ð"ñ 
Ð
ÓÙ	Ð
ÓÙ	Ð
ÓÙ	Ð
Ó Ù	Ð
¨Ô-ØñFó ó .ó !ó ó  ó ðFñ 
ˆ.ÓÙ	ˆ-ÓØñMó ó ó ðMñ 
ƒØñFó ó ðFñ
 
ƒØñ)ó ó ð)ñ
 
ƒØñó ó ðñ 
ˆ*˜tÔ$Øñ*ó ó %ð*ñ
 
�4ÔØñó ó ðñ 
�4ÔØñ2ó ó ð2ñ
 
�4ÔØñFó ó ðFñ 
ˆ, Ô&Ù	ˆ- $Ô'Ù	ˆ+ Ô%Ù	ˆ. 4Ô(Øñ!ó ó )ó &ó (ó 'ð
!ñ 
�4Ôñ
ó ð
ñ 
ˆ/ÓØñ=ó ó ð=ñ 
Ð
ÓÙ	Ð
ÓÙ	Ð
ÓÙ	Ð
Ó Ù	Ð
¨Ô-Ù	ˆ/ÓØñó ó ó .ó !ó ó  ó ðñ 
Ð
°Ô5Ù	Ð
¨tÔ4Øñ&ó ó 5ó 6ð&ñ 
Ð
ÓÙ	Ð
Óñó ó  ðñ& 
Ð
ÓÙ	Ð
Óñó ó  ðñ  
Ð
Ó Ù	Ð
Óñó  ó !ðñ 
Ð
Ó Ù	Ð
Óñó  ó !ðñ 
ƒØñ-ó ó ð-ñ 
�4ÔØñó ó ðñ 
�4ÔØñ&ó ó ð&ñ
 
ƒØñCó ó ðCñ
 
ƒØñ(ó ó ð(ñ
 
ƒØñ8ó ó ð8ñ
 
ƒØñó ó ðñ$ 
˜Ôñ.ó ð.ñ4 
ƒñ.ó ð.ñ
 
ƒñ.ó ð.ñ
 
ƒñ.ó ð.ò
ñ6 
ˆ%ƒÙ	ˆ'ÓÙ	ˆ&ÓÙ	ˆ(ÓÙ	ˆ,ÓÙ	ˆ.ÓÙ	ˆ/ÓÙ	ˆ-ÓÙ	Ð
!Ó"Øñó ó #ó ó ó ó ó ó ó ó ðñ 
ˆ(ÓÙ	ˆ'ÓØñó ó ó ðñ 
ˆ, Ô&Ù	ˆ)˜dÔ#Øñó ó $ó 'ðñ 
�4ÔØñ*ó ó ð*ñ
 
ƒØñ%ó ó ð%ñ
 
ƒñ*!ó ð*!ñZ 
ˆ'ÓØñ<ó ó ð<ñ
 
ƒØñ9ó ó ð9ñ 
ƒØñ1ó ó ð1ñ 
ƒØñó ó ðñ 
ƒñó ðñ< 
ƒØñ1ó ó ð1ñ 
ƒØñ6ó ó ð6ñ 
ƒñó ðñ< 
ƒñ.ó ð.ñ< 
ƒØñ5ó ó ð5ñ 
ƒñó ðñ: 
ƒñ0ó ð0ñ 
ƒØñ!ó ó ð!ñ 
ƒØñ6ó ó ð6ñ
 
ƒØñIó ó ðIñ 
ƒØñ#ó ó ð#ñ 
ƒØñIó ó ðIñ 
�4ÔØñ!ó ó ð!ñ
 
Ð
ÓÙ	ˆ.ÓØñó ó ó ðñ 
ƒØñó ó ðñ 
ƒØñó ó ðñ 
ƒØñ,ó ó ð,ñ
 
ƒØñ/ó ó ð/ñ@ 
ˆ+ÓÙ	ˆ,ÓØñ-ó ó ó ð-ñ 
ˆ-ÓÙ	ˆ/ÓÙ	Ð
ÓÙ	ˆ.ÓØñó ó ó ó ó ð
ñ 
ˆ+ÓÙ	ˆ,ÓØñ$ó ó ó ð$ñ 
ƒØñ6ó ó ð6ñ 
ƒØñó ó ðñ 
ˆ)ÓÙ	ˆ(ÓØñ ó ó ó ð ñ 
�4ÔØñó ó ðñ 
ƒØñ>ó ó ð>ñ
 
ƒØñ+ó ó ð+ñ
 
ƒØñó ó ðñ 
ƒñ
+ó ð
+ñ 
ƒØñó ó ðñ 
ƒØñMó ó ðMñ
 
ƒØñUó ó ðUñ
 
ƒñó ðñ 
ƒØñó ó ðñ 
ƒØñó ó ðñ 
ƒØñó ó ðñ 
ƒØñUó ó ðUñ
 
ƒØñó ó ðñ 
ƒØñ8ó ó ð8ñ
 
ƒØñJó ó ðJñ
 
ƒØñ;ó ó ð;ñ
 
ƒØñ.ó ó ð.ñ
 
ƒØñó ó ðñ 
ƒØñIó ó ðIñ
 
ˆ+ÓÙ	ˆ-ÓØñó ó ó ðò
ò&ò1ò$Fò$	(ñ 
Ð
ÓÙ	Ð
Óñ ó ó ð ñ 
ƒñ#ó ð#ñ 
Ð
!Ó"Ù	Ð
Óñ} ó  ó #ð} ñ@ 
ƒñ5!ó ð5!ñp 
Ð
ÓÙ	ˆ.ÓÙ	Ð
ÓÙ	Ð
Óñ$%ó ó ó ó ð$%ñN 
ƒØñ9ó ó ð9ñ
 
ƒñ ó ð ñ$ 
ƒñ ó ð ñ4 
ƒñ ó ð ñ. 
ƒñ ó ð ñ, 
ƒñ ó ð ñ, 
ƒñ ó ð ñ, 
ƒØñó ó ðñ
 
�4ÔØñ;ó ó ð;ñ
 
�4Ôñó ðñ. 
�4Ôñ$%ó ð$%ñN 
�dÔØñ2ó ó ð2ñ 
�d¨4Ô0Øñ2ó ó 1ð2ñ 
ƒØñ	-ó ó ð	-ñ 
�4ÔØñó ó ðñ 
�4ÔØñó ó ðñ 
�4ÔØñ>ó ó ð>ñ
 
�4Ôñ!ó ð!ñH 
�dÔØñ
'ó ó ð
'ñ 
�4¨Ô-ñó .ðñ 
�4ÔØñó ó ðñ 
�4ÔØñ)ó ó ð)ñ
 
�4ÔØñ5ó ó ð5ñ
 
�4ÔØñ0ó ó ð0ñ
 
�4¨Ô-Øñó ó .ðñ 
ƒñ:!ó ð:!ñz 
ƒØñó ó ðñ 
ƒñó ñr-   