+
    	i2                       R t ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RI	H
t
Ht ^RIHtHtHt ^RIHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$ Rt%]&! 4       t']&! 4       t(/ t) ! R	 R
]4      t*RR lt+RR lt,]+! 4       ]]#R 4       4       4       t-]+! R4      ]+! R4      ]+! R4      ]+! R4      ]+! R4      ]+! RRR7      ]+! R4      ]$R 4       4       4       4       4       4       4       4       t.]+! 4       ]$R 4       4       t/]+! 4       ]#R 4       4       t0]+! 4       ]#R 4       4       t1]+! R4      ]$R 4       4       t2]+! RRR7      ]]$R  4       4       4       t3]+! R!RR7      ]$R" 4       4       t4]+! 4       R# 4       t5]+! 4       ]R$ 4       4       t6]+! 4       ]R% 4       4       t7]+! 4       ]R& 4       4       t8]+! 4       ]R' 4       4       t9]+! R(4      ]+! R)4      ]]#R* 4       4       4       4       t:]+! 4       R+ 4       t;]+! R,4      ]+! R-4      ]+! R.4      ]+! R/4      R0 4       4       4       4       t<]+! R14      ]+! R24      ]+! R34      ]+! R44      ]+! R5RR7      ]#R6 4       4       4       4       4       4       t=]+! R74      ]+! R84      ]#R9 4       4       4       t>]+! 4       ]#R: 4       4       t?]+! 4       ]#R; 4       4       t@]+! 4       ]$R< 4       4       tA]+! R=RR7      ]#R> 4       4       tB]+! RR7      ]$R? 4       4       tC]+! RR7      ]#R@ 4       4       tD]+! RR7      ]$RA 4       4       tE]+! RBRR7      ]+! RCRR7      ]+! RDRR7      ]+! RERR7      ]$RF 4       4       4       4       4       tF]+! RR7      RG 4       tG]+! RH4      ]#RI 4       4       tH]+! RJ4      ]+! RK4      ]+! RL4      ]+! RM4      ]+! RNRR7      ]+! RO4      ]$RP 4       4       4       4       4       4       4       tI]+! RQRR7      ]+! RRRR7      ]$RS 4       4       4       tJ]+! RT4      ]+! RU4      RV 4       4       tK]+! RW4      ]+! RX4      RY 4       4       tL]+! RZ4      ]+! R[4      R\ 4       4       tM]+! R]4      ]+! R^4      R_ 4       4       tN]+! 4       ]#R` 4       4       tO]+! RR7      ]$Ra 4       4       tP]+! RR7      ]#Rb 4       4       tQ]+! 4       ]#Rc 4       4       tR]+! 4       ]#Rd 4       4       tS]+! 4       ]#Re 4       4       tT]+! 4       ]$Rf 4       4       tU]+! RR7      Rg 4       tV]+! 4       Rh 4       tW]+! 4       Ri 4       tX]+! 4       Rj 4       tYRk tZ]+! Rl4      ]+! Rm4      ]+! Rn4      ]+! Ro4      ]+! Rp4      ]+! Rq4      ]+! Rr4      ]+! Rs4      ]+! Rt4      ]$Ru 4       4       4       4       4       4       4       4       4       4       t[]+! Rv4      ]+! Rw4      ]$Rx 4       4       4       t\]+! RyRR7      ]+! RzRR7      ]$R{ 4       4       4       t]]+! RR7      ]#R| 4       4       t^]+! 4       ]#R} 4       4       t_]+! 4       R~ 4       t`]+! R4      ]#R 4       4       ta]+! 4       ]R 4       4       tb]+! 4       ]#R 4       4       tc]+! 4       ]$R 4       4       td]+! 4       R 4       te]+! 4       ]#R 4       4       tf]+! 4       ]#R 4       4       tg]+! 4       R 4       th]+! 4       R 4       ti]+! 4       ]#R 4       4       tj]+! 4       R 4       tk]+! 4       R 4       tl]+! 4       ]$R 4       4       tm]+! 4       ]#R 4       4       tn]+! 4       ]#R 4       4       to]+! 4       ]$R 4       4       tp]+! 4       ]#R 4       4       tq]+! RR7      ]$R 4       4       tr]+! R4      ]+! R4      ]$R 4       4       4       ts]+! 4       ]$R 4       4       tt]+! 4       ]$R 4       4       tu]+! 4       ]#R 4       4       tv]+! 4       ]$R 4       4       tw]+! R4      ]+! R4      ]$R 4       4       4       tx]+! R4      ]+! R4      ]+! R4      ]+! R4      ]$R 4       4       4       4       4       ty]+! R4      ]+! R4      ]$R 4       4       4       tz]+! 4       ]$R 4       4       t{]+! 4       ]$R 4       4       t|]+! R4      ]+! R4      ]$R 4       4       4       t}]+! RR7      ]$R 4       4       t~]+! 4       ]#R 4       4       t]+! 4       ]#R 4       4       t]+! 4       ]$R 4       4       t]+! 4       R 4       t]+! 4       ]#R 4       4       t]+! 4       ]#R 4       4       t]+! 4       ]#R 4       4       t]+! 4       R 4       t]+! 4       ]#R 4       4       t]+! 4       ]$R 4       4       t]+! 4       ]$R 4       4       t]+! 4       ]#R 4       4       t]+! 4       ]$R 4       4       t]+! 4       ]#R 4       4       t]+! 4       ]#R 4       4       t]+! 4       ]#R 4       4       t]+! 4       ]#R 4       4       t]+! 4       ]$R 4       4       t]+! 4       ]#R 4       4       t]+! R4      ]+! R4      ]$R 4       4       4       tR tR tR tR tR t]+! R4      ]+! R4      R 4       4       t]+! 4       R 4       t]+! R4      ]+! R4      R 4       4       t]+! 4       R 4       t]+! R4      ]+! R4      ]+! R4      ]+! R4      R 4       4       4       4       t]+! 4       ]#R 4       4       t]+! 4       R 4       t]+! 4       R 4       t]+! 4       R 4       t]+! 4       R 4       t]+! 4       R 4       t]+! 4       R 4       t]+! 4       ]$R 4       4       t]+! RR7      ]#R 4       4       t]+! RR7      R 4       t]+! RR7      R 4       t]+! RR7      ]$R 4       4       t]+! RRR7      ]$R 4       4       t]+! 4       ]$R 4       4       t]+! RR7      ]$R 4       4       t]+! RR7      ]$R 4       4       t]+! RR7      ]$R 4       4       t]+! RR7      R 4       t]+! RR7      ]$R 4       4       t]+! RRR7      R 4       t]+! RR7      ]$R 4       4       t]+! RR7      ]#R 4       4       t]+! RR7      ]#R 4       4       t]+! RR7      ]#R 4       4       t]+! RRR7      ]R 4       4       t]+! 4       R 4       t]+! 4       ]$R 4       4       t]+! 4       R 4       tR# )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                   *   a  ] tR t^"t o RtR tRtV tR# )PendingPropertyz>Property with validation done when defining calculated values.c                H    \        WP                  4      ^ ,          ^,          # )    )validate_non_shorthandname)selftokens
wanted_keys   &&&j/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/weasyprint/css/validation/properties.pyvalidatePendingProperty.validate$   s    %fii8;A>>     N)__name__
__module____qualname____firstlineno____doc__r*   __static_attributes____classdictcell__)__classdict__s   @r)   r!   r!   "   s     H? ?r,   r!   Nc                    a aaa V VVV3R lpV# )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                *  < Sf   V P                   P                  RR4      pMSpV\        9   g   Q V4       hV\        9  g   Q V4       hSV n        V \        V&   S'       d   \
        P                  V4       S'       d   \        P                  V4       V # )z'Add ``function`` to the ``PROPERTIES``._-)r.   replacer	   
PROPERTIESwants_base_urlPROPRIETARYaddUNSTABLE)functionr%   property_nameproprietaryunstabler<   s   & r)   	decoratorproperty.<locals>.decorator@   s     $$,,S#6D D''--':%+t+%"0#
4OOD!LLr,   r-   )rA   rB   rC   r<   rD   s   ffff r)   propertyrF   *   s    ,   r,   c                   VP                  R4      '       d   W33# V'       g   V\        9  d   \        R4      hV'       g   V\        9  d   \        R4      h\        V,          pV  F$  p\	        V4      '       g   K  V\        W4      33u # 	  \        V 4      pVR9   d   TpM-VP                  '       d
   V! W4      pMV! V 4      pVf   \        hW33# )z'Validator for non-shorthand properties.z--zunknown propertyzproperty not supported yet)initialinherit)
startswithr	   r   r;   r   r!   r   r<   )r'   r%   base_urlrequiredr@   tokenkeywordvalues   &&&&    r)   r$   r$   S   s    t  $44.//J.899$HU?689;; 
 !(G(("""V.EV$E=Mr,   c                    V R9   # )z.``background-attachment`` property validation.)scrollfixedlocalr-   rN   s   &r)   background_attachmentrU   r   s    
 222r,   zbackground-colorzborder-top-colorzborder-right-colorzborder-bottom-colorzborder-left-colorzcolumn-rule-colorT)rC   ztext-decoration-colorc                 ,    \        V 4      '       d   V # R # Nr   rM   s   &r)   other_colorsrY   z   s     5 r,   c                 P    \        V 4      R 8X  d   R# \        V 4      '       d   V # R# )invertcurrentcolorN)r   r   rX   s   &r)   outline_colorr]      s)     5X%	U		 
r,   c                     V R9   # )separate)r_   collapser-   rT   s   &r)   border_collapsera      s     ...r,   c                    V R9   # )z$``empty-cells`` property validation.)showhider-   rT   s   &r)   empty_cellsre      s     &&&r,   colorc                B    \        V 4      pVR8X  d   R# V'       d   V # R# )z0``*-color`` and ``color`` properties validation.r\   rI   Nr   )rM   results   & r)   rf   rf      s&     F	 
r,   zbackground-image)r<   c                 <    \        V 4      R 8X  d   R# \        W4      # nonerk   Nr   r   rM   rK   s   &&r)   background_imagero      "     5V#U%%r,   zlist-style-imagec                    \        V 4      R8X  d   R# \        W4      pV'       d:   V^ ,          R8X  d*   V^,          ^ ,          R8X  d   RV^,          ^,          3# R# R# R# )z)``list-style-image`` property validation.rk   Nurlexternalrl   )r   r   )rM   rK   
parsed_urls   && r)   list_style_imageru      sb     5V#)Ja=E!jmA&6*&D*Q-*** 'E! r,   c                J    \        V 4      ^8X  d
   V R,          p \        V 4      # )z)``transform-origin`` property validation.:N   N)lenr   r'   s   &r)   transform_originrz      s$     6{aV$$r,   c                    \        V 4      # )z,``background-position`` property validation.r   ry   s   &r)   background_positionr}           &!!r,   c                    \        V 4      # )z(``object-position`` property validation.r|   ry   s   &r)   object_positionr      r~   r,   c                   \        \        \        V 4      4      pVR8X  d   R# VR8X  d   R# VR	9   d
   V^,          # \        V4      ^8X  d?   \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   V# R# R# )
z*``background-repeat`` property validation.c              3   ,   "   T F
  pVR9   x  K  	  R# 5i)	no-repeatN)r   repeatspaceroundr-   ).0ks   & r)   	<genexpr>$background_repeat.<locals>.<genexpr>   s      " ::s   FTN)zrepeat-x)r   r   )zrepeat-y)r   r   ))r   )r   )r   )r   )tuplemapr   rx   allr'   keywordss   & r)   background_repeatr      s     Sf-.H= &&= &&HH!|
8}cc ""ccc ""   r,   c                   \        V 4      ^8X  dC   V ^ ,          p\        V4      pVR9   d   V# VR8X  d   R# \        VRRR7      pV'       d   VR3# R# \        V 4      ^8X  du   . pV  FO  p\        VRRR7      pV'       d   VP                  V4       K,  \        V4      R8X  g   K>  VP                  R4       KQ  	  \        V4      ^8X  d   \	        V4      # R# R# )z#Validation for ``background-size``.autoFTnegative
percentageN)containcover)r   r   )rx   r   r   appendr   )r'   rM   rN   lengthvaluess   &    r)   background_sizer      s     6{aq	e$**Nf##EEdCF## 	V	E$GFf%U#v-f%  v;!=   
r,   zbackground-clipzbackground-originc                    V R9   # )zXValidation for the ``<box>`` type used in ``background-clip``
and ``background-origin``.)
border-boxpadding-boxcontent-boxr-   rT   s   &r)   boxr      s     BBBr,   c                    V  Uu. uF  p\        VRR7      NK  	  pp\        V4      '       d@   \        V4      ^8X  d   V^ ,          V^ ,          3# \        V4      ^8X  d   \        V4      # R# R# u upi )z,Validator for the `border-spacing` property.Fr   Nr   r   rx   r   r'   rM   lengthss   &  r)   border_spacingr   	  sn     ?EEfUz%%0fGE
7||w<1AJ
++\Q>!   Fs   A/zborder-top-right-radiuszborder-bottom-right-radiuszborder-bottom-left-radiuszborder-top-left-radiusc           	         V  Uu. uF  p\        VRRR7      NK  	  pp\        V4      '       d@   \        V4      ^8X  d   V^ ,          V^ ,          3# \        V4      ^8X  d   \        V4      # R# R# u upi )z/Validator for the `border-*-radius` properties.FTr   Nr   r   s   &  r)   border_corner_radiusr     sq     PVVvez%%DAvGV
7||w<1AJ
++\Q>!   Ws   A0zborder-top-stylezborder-right-stylezborder-left-stylezborder-bottom-stylezcolumn-rule-stylec                    V R9   # )z)``border-*-style`` properties validation.)
rk   hiddendotteddasheddoubleinsetoutsetgrooveridgesolidr-   rT   s   &r)   border_styler   "  s      F F Fr,   zbreak-beforezbreak-afterc                    V R9   # )z;``break-before`` and ``break-after`` properties validation.)r   avoid
avoid-pagepageleftrightrectoversoavoid-columncolumnalwaysr-   rT   s   &r)   break_before_afterr   .  s    
  M M Mr,   c                    V R9   # )z%``break-inside`` property validation.)r   r   r   r   r-   rT   s   &r)   break_insider   7  s     EEEr,   c                    V R9   # )z-``box-decoration-break`` property validation.)slicecloner-   rT   s   &r)   box_decoration_breakr   >       (((r,   c                l    V P                   R8X  d   RV P                  3# \        V 4      pVR9   d   V# R# )z%``box-ellipsis`` property validation.stringNrk   r   )typerO   r   rM   rN   s   & r)   block_ellipsisr   E  s<     zzX%++&&e$&&N 'r,   continuec                    V R9   # )z!``continue`` property validation.)r   discardr-   rT   s   &r)   	continue_r   Q       )))r,   c                 n    \        V R RR7      ;p'       d   VP                  # \        V 4      R8X  d   R# R# )FTr   integerrk   Nr   rO   r   rM   numbers   & r)   	max_linesr   X  s7     EE4@@v@||	U	v	% 
&r,   c                    V R9   # )z%``margin-break`` property validation.)r   keepr   r-   rT   s   &r)   margin_breakr   a  s     111r,   c                f    V P                   R8X  d    V P                  R8X  d   R# V P                  # R# )z``page`` property validation.identr   N)r   lower_valuerO   rX   s   &r)   r   r   h  s1     zzW**f4vE%++E r,   z
bleed-leftzbleed-rightz	bleed-topzbleed-bottomc                <    \        V 4      R8X  d   R# \        V 4      # )z``bleed`` property validation.r   r   r   rX   s   &r)   bleedr   p  s     5V#%  r,   c                   \        V 4      ^8X  dA   \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      pRV9   d   RV9   d   V# R# R# \        V 4      ^8X  d(   \        V ^ ,          4      ;pR9   d   V3# VR8X  d   R# R# R# )z``marks`` property validation.c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   r   r   rM   s   & r)   r   marks.<locals>.<genexpr>       @U++   cropcrossrk   N)r   r   r-   )rx   r   r   )r'   r   rN   s   &  r)   marksr   }  s     6{a5@@55@@@X'X"5O #6	V	"6!9--G2CC:I  
r,   zoutline-stylec                    V R9   # )z(``outline-style`` properties validation.)	rk   r   r   r   r   r   r   r   r   r-   rT   s   &r)   outline_styler     s      = = =r,   zborder-top-widthzborder-right-widthzborder-left-widthzborder-bottom-widthzcolumn-rule-widthzoutline-widthc                \    \        V RR7      ;p'       d   V# \        V 4      ;pR9   d   V# R# )z=Border, column rule and outline widths properties validation.Fr   N)thinmediumthickr   r   rM   r   rN   s   &  r)   border_widthr     s9     EE22v2u%%*EE Fr,   zborder-image-sourcezmask-border-sourcec                 <    \        V 4      R 8X  d   R# \        W4      # rj   rm   rn   s   &&r)   border_image_sourcer     rp   r,   zborder-image-slicezmask-border-slicec                    . pR p\        V 4       F  w  r4\        VR R7      ;p'       d   VP                  V4       K-  \        V4      R8X  d7   V'       g/   V^ \	        V 4      ^,
          39   d   RpVP                  R4       Ks  \        VR R7      ;p'       d   VP                  V4       K   R# 	  ^\	        V4      \        V4      ,
          u;8:  d   ^8:  d   M R# \        V4      # R# )Fr   fillTN)	enumerater   r   r   rx   r   intr   )r'   r   r   irM   r   r   s   &      r)   border_image_slicer     s     FDf%'>>:>MM*%6)$1CKRSO@T;TDMM&!!%%88V8MM&! & 	CK#d)#(q((V} )r,   zborder-image-widthzmask-border-widthc                 T   . pV  Fx  p\        V4      R 8X  d   VP                  R 4       K&  \        VRR7      ;p'       d   VP                  V4       KN  \        VRRR7      ;p'       d   VP                  V4       Kw   R# 	  ^\	        V4      u;8:  d   ^8:  d   M R# \        V4      # R# )r   Fr   Tr   N)r   r   r   r   rx   r   r'   r   rM   r   r   s   &    r)   border_image_widthr     s     Fu'MM&!!%%88V8MM&!!%%DIIVIMM&!  	CK1V} r,   zborder-image-outsetzmask-border-outsetc                    . pV  FT  p\        VR R7      ;p'       d   VP                  V4       K+  \        VR R7      ;p'       d   VP                  V4       KS   R# 	  ^\        V4      u;8:  d   ^8:  d   M R# \	        V4      # R# )Fr   N)r   r   r   rx   r   r   s   &    r)   border_image_outsetr    sw     F6666MM&!!%%88V8MM&!  	CK1V} r,   zborder-image-repeatzmask-border-repeatc                     ^\        V 4      u;8:  d   ^8:  dG   M R# \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      p\        V4      0 Rm8:  d   V# R# R# )   c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   r   r   s   & r)   r   &border_image_repeat.<locals>.<genexpr>  r   r   N>   r   r   r   stretch)rx   r   setr   s   & r)   border_image_repeatr    sS     	CK15@@55@@@x=CCO D r,   c                     V R9   # )	luminance)r
  alphar-   rT   s   &r)   mask_border_moder    s     ,,,r,   c                \    \        V RR7      ;p'       d   V# \        V 4      pVR8X  d   V# R# )z%``column-width`` property validation.Fr   r   Nr   r   s   &  r)   column_widthr    s7     EE22v2% G& r,   c                    V R9   # )z$``column-span`` property validation.)r   rk   r-   rT   s   &r)   column_spanr    s     o%%r,   c                    V R9   # )z7Validation for the ``box-sizing`` property from css3-ui)r   r   r   r-   rT   s   &r)   
box_sizingr    s     BBBr,   c                    V R9   # )z'``caption-side`` properties validation.)topbottomr-   rT   s   &r)   caption_sider  
  s     '''r,   c                    V R9   # )z``clear`` property validation.)r   r   bothrk   r-   rT   s   &r)   clearr         777r,   c                b   \        V 4      pVP                  4       pVP                  R8X  dq   \        V4      ^8X  da   . pV FM  p\	        V4      R8X  d   VP                  R4       K&  \        V4      ;p'       d   VP                  V4       KL   R# 	  \        V4      # \	        V 4      R8X  d   R# R# )z%Validation for the ``clip`` property.rectr   Nr-   )r   split_commar%   rx   r   r   r   r   )rM   r@   	argumentsr   argumentr   s   &     r)   clipr     s     H$$&I}}3y>Q#6!H8$.f%%h///f% " V}	U	v	%	 
&r,   c                d   \        V 4      p . pV '       d   \        V 4      ^8  d}   V ^,          P                  R8X  de   V ^,          P                  R8X  dM   V ^ ,          V R,          r\	        W14      ;'       g    \        W14      ;p'       d   VP                  V4       K  R#  \        V 4      ^ 8X  d   R# \        V 4      ^8  dN   V R,          P                  R8X  d6   V R,          P                  R8X  d   V R,          P                  R8X  d   V RR p \        V 4      pVR	9   d   V3# \        W4      # )
z ``content`` property validation.literal,:rw   NNNr   /normalrk   )	listrx   r   rO   r   r   r   r   r   )r'   rK   parsed_tokensrM   parsed_tokenrN   s   &&    r)   contentr,  ,  s     &\FM
v;!q	) ;q	SV@V"1Ivbz6(9UUWU=UU|U$$\2
6{a
6{aF2JOOx72JOOy(VBZ-=-=-D (G$$zF--r,   c                    \        V ^R7      # )z*``counter-increment`` property validation.default_integercounterry   s   &r)   counter_incrementr2  G       61--r,   c                    \        V ^ R7      # )z&``counter-reset`` property validation.r.  r0  ry   s   &r)   counter_resetr5  M  r3  r,   c                    \        V ^ R7      # )z$``counter-set`` property validation.r.  r0  ry   s   &r)   counter_setr7  S  r3  r,   c                   \        V 4      R8X  d   R# \        V 4      p \        V R4      pV'       g   Q R4       h. pVe   VP                  R8w  d   R# VP                  pVR	9   d   \        RV 24      h\        V R4      pV'       d/   \        VRR7      ;p'       d   VP                  p\        V R4      pMTpVP                  WF34       K  \        V4      # )
zB``counter-increment`` and ``counter-reset`` properties validation.rk   Nzgot an empty token listr   zInvalid counter name: Tr   r-   )rk   rH   rI   )	r   iternextr   rO   r   r   r   r   )r'   r/  rM   resultscounter_namer   r   s   &&     r)   r1  r1  Y  s    &!V+	&\FE+++5G

:: {{99"8 GHHVT"
5$ ??f?llG&E &G./>r,   r  r   r   r  z
margin-topzmargin-rightzmargin-bottomzmargin-leftztext-underline-offsetc                X    \        V RR7      ;p'       d   V# \        V 4      R8X  d   R# R# )z5``margin-*`` and various other properties validation.Tr   r   Nr   rM   r   s   & r)   lenght_precentage_or_autorA  t  s0     Ed33v35V# $r,   heightwidthc                Z    \        V RRR7      ;p'       d   V# \        V 4      R8X  d   R# R# )z7Validation for the ``width`` and ``height`` properties.FTr   r   Nr   r@  s   & r)   width_heightrE    s2    
 EEdCCvC5V# $r,   z
column-gapzrow-gapc                ^    \        V RRR7      ;p'       d   V# \        V 4      pVR8X  d   V# R# )z=Validation for the ``column-gap`` and ``row-gap`` properties.TF)r   r   r(  Nr   r   s   &  r)   gaprG    s9    
 EdUCCvC% G( r,   c                    V R9   # )z$``column-fill`` property validation.)r   balancer-   rT   s   &r)   column_fillrJ    r   r,   c                    V R9   # )z"``direction`` property validation.)ltrrtlr-   rT   s   &r)   	directionrN    s     n$$r,   c                   V  F  pVP                   R8w  g   K   R# 	  \        V 4      ^8X  dH   V ^ ,          P                  pVR9   d   V3# VR	9   d   \        VP	                  R4      4      # VR8X  d   R
# R;p;rEV  FR  pVP                  pVR9   d   V'       d    R# TpK%  VR9   d   V'       d    R# TpK;  VR8X  d   V'       d    R# TpKQ   R# 	  T;'       g    RpT;'       g    RpV'       d   VR9   d   W4V3# R# W43# )z ``display`` property validation.r   Nr9   zinline-blockblockflowz	list-item)	rk   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-grid)inline	flow-root)rP  rR  )rQ  rS  tableflexgrid)rQ  rS  )r   rx   rO   r   split)r'   rM   rO   outsideinside	list_items   &     r)   displayr[    s    ::   6{aq	 6 6 8ODDS)**n$**#''G'f''GDDFk!I "   GvF**Y// +   r,   floatc                    V R9   # )z``float`` property validation.)r   r   footnoterk   r-   rT   s   &r)   float_r_    s     ;;;r,   c                4   \        V 4      ^8X  d,   V ^ ,          P                  R8X  d   V ^ ,          P                  # V '       dU   \        ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       d   RP	                  R V  4       4      # R# R# )z$``font-family`` property validation.r   c              3   >   "   T F  qP                   R 8H  x  K  	  R# 5i)r   Nr   r   s   & r)   r   font_family.<locals>.<genexpr>  s     B6%

g-6   FT c              3   8   "   T F  qP                   x  K  	  R # 5irW   rO   r   s   & r)   r   rc         8r   N)rx   r   rO   r   joinry   s   &r)   font_familyrj    sm     6{aF1INNh6ay	CCB6BCCCB6BBBxx8888 Cr,   c                     V R9   # )r   )r   r(  rk   r-   rT   s   &r)   font_kerningrl         000r,   c                 h    \        V 4      pVR 8X  d   V# V P                  R8X  d   V P                  # R# )r(  r   Nr   r   rO   r   s   & r)   font_language_overriderp    s6     % G(	x	{{ 
 r,   c                   aa \        V 4      ^8X  d   \        V ^ ,          4      pVR9   d   V# . oRp. pV F  pVP                  V4       K  	  V  F  oSP                  R8w  d    R# SP                  V9   dv   \        V3R lV 4       4      p\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d    R# SP                  SP                  4       K   R# 	  S'       d   \        S4      # R# )	r  r   Nc              3   N   <"   T F  pSP                   V9   g   K  Vx  K  	  R # 5irW   rg  r   couplerM   s   & r)   r   )font_variant_ligatures.<locals>.<genexpr>  "      %G%,6v0EW   %
%c              3   ,   <"   T F	  qS9   x  K  	  R # 5irW   r-   r   rO   r   s   & r)   r   ru         B0AuF?0A   TFr'  ))zcommon-ligatureszno-common-ligatures)zhistorical-ligatureszno-historical-ligatures)zdiscretionary-ligatureszno-discretionary-ligatures)
contextualzno-contextual	rx   r   extendr   rO   r;  anyr   r   r'   rN   couples
all_valuesrt  concurrent_valuesrM   r   s   &     @@r)   font_variant_ligaturesr    s    
6{afQi(((NF)G
 J&! :: ;;*$ $ %G%,%G !GsB0ABsssB0ABBBekk*  V} r,   c                     V R9   # )r(  )r(  subsuperr-   rT   s   &r)   font_variant_positionr    rm  r,   c                     V R9   # )r(  )r(  z
small-capszall-small-capszpetite-capszall-petite-capsunicaseztitling-capsr-   rT   s   &r)   font_variant_capsr    s      6 6 6r,   c                   aa \        V 4      ^8X  d   \        V ^ ,          4      pVR8X  d   V# . oRp. pV F  pVP                  V4       K  	  V  F  oSP                  R8w  d    R# SP                  V9   dv   \        V3R lV 4       4      p\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d    R# SP                  SP                  4       K   R# 	  S'       d   \        S4      # R# )	r  r(  r   Nc              3   N   <"   T F  pSP                   V9   g   K  Vx  K  	  R # 5irW   rg  rs  s   & r)   r   'font_variant_numeric.<locals>.<genexpr>:  rv  rw  c              3   ,   <"   T F	  qS9   x  K  	  R # 5irW   r-   ry  s   & r)   r   r  <  rz  r{  TF))zlining-numszoldstyle-nums)zproportional-numsztabular-nums)zdiagonal-fractionszstacked-fractions)ordinal)zslashed-zeror}  r  s   &     @@r)   font_variant_numericr  '  s    
6{afQi(hNF)G
 J&! :: ;;*$ $ %G%,%G !GsB0ABsssB0ABBBekk*  V} r,   c                |    \        V 4      ^8X  d   \        V ^ ,          4      R8X  d   R# \        R 4       pV! V 4      # )z.``font-feature-settings`` property validation.r(  c                 ^   R R r!\        V 4      ^8X  db   V R R	 V R	,          r0VP                  R8X  d!   R^R^ /P                  VP                  4      pM5\	        VRRR7      ;p'       d   VP                  pM\        V 4      ^8X  d   ^p\        V 4      ^8X  d   V w  pVP                  R8X  du   \        VP                  4      ^8X  d[   \
        ;QJ d&    R VP                   4       F  '       d   K   RM	  RM! R VP                   4       4      '       d   VP                  pVe
   Ve   W3# R # R # )
Nr   onoffFTr   r   c              3   `   "   T F$  p^ \        V4      u;8*  ;'       d    ^8*  Mu x  K&  	  R# 5i)    N)ord)r   letters   & r)   r   Lfont_feature_settings.<locals>.font_feature_settings_list.<locals>.<genexpr>\  s$     Mvts6{22d22s   ,.r%  )rx   r   getrO   r   r   )r'   featurerO   rM   r   s   &    r)   font_feature_settings_list9font_feature_settings.<locals>.font_feature_settings_listL  s    tv;!"3BKEzzW$q%+//<%eeTJJJ[AEv;!FEzzX%#ekk*:a*?3MM333MMMM#kkG5#4>! $5r,   rx   r   r   )r'   r  s   & r)   font_feature_settingsr  F  sB     6{aKq	2h>" "* &f--r,   c                     V R9   # )r(  )r(  zhistorical-formsr-   rT   s   &r)   font_variant_alternatesr  e  s    
 444r,   c                   aa \        V 4      ^8X  d   \        V ^ ,          4      pVR8X  d   V# . oRp. pV F  pVP                  V4       K  	  V  F  oSP                  R8w  d    R# SP                  V9   dv   \        V3R lV 4       4      p\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d    R# SP                  SP                  4       K   R# 	  S'       d   \        S4      # R# )	r  r(  r   Nc              3   N   <"   T F  pSP                   V9   g   K  Vx  K  	  R # 5irW   rg  rs  s   & r)   r   *font_variant_east_asian.<locals>.<genexpr>  rv  rw  c              3   ,   <"   T F	  qS9   x  K  	  R # 5irW   r-   ry  s   & r)   r   r    rz  r{  TF))jis78jis83jis90jis04
simplifiedtraditional)
full-widthzproportional-width)rubyr}  r  s   &     @@r)   font_variant_east_asianr  m  s    
6{afQi(hNFG J&! :: ;;*$ $ %G%,%G !GsB0ABsssB0ABBBekk*  V} r,   c                |    \        V 4      ^8X  d   \        V ^ ,          4      R8X  d   R# \        R 4       pV! V 4      # )z0``font-variation-settings`` property validation.r(  c                     \        V 4      ^8X  dC   V w  rVP                  R8X  d,   VP                  R8X  d   VP                  VP                  3# R# R# R# )rw   r   r   N)rx   r   rO   )r'   keyrO   s   &  r)   font_variation_settings_list=font_variation_settings.<locals>.font_variation_settings_list  sL    v;!JCxx8#

h(>yy%++-- )?# r,   r  )r'   r  s   & r)   font_variation_settingsr    sB     6{aKq	2h>. . (//r,   c                    \        V RRR7      ;p'       d   V# \        V 4      pVR9   d   V# V\        P                  9   d   V# R# )z"``font-size`` property validation.FTr   N)smallerlarger)r   r   r   FONT_SIZE_KEYWORDS)rM   r   font_size_keywords   &  r)   	font_sizer    sP     EEdCCvC#E*11  O>>>   ?r,   c                    V R9   # )z#``font-style`` property validation.)r(  italicobliquer-   rT   s   &r)   
font_styler    s     555r,   c                    V R9   # )z-Validation for the ``font-stretch`` property.)	zultra-condensedzextra-condensed	condensedzsemi-condensedr(  zsemi-expandedexpandedzextra-expandedzultra-expandedr-   rT   s   &r)   font_stretchr    s      I I Ir,   c                    \        V 4      pVR9   d   V# V P                  R8X  d0   V P                  e    V P                  R9   d   V P                  # R# R# R# )z$``font-weight`` property validation.r   N)r(  boldbolderlighter)	d      i,  i  i  iX  i  i   i  )r   r   	int_valuer   s   & r)   font_weightr    sV     % G99zzX%//"=??KK??" L #>r,   c                     V R9   # )r   )r   r   r   rk   z
scale-downr-   rT   s   &r)   
object_fitr    s     HHHr,   c                     \        V 4      # rW   )r   rX   s   &r)   image_resolutionr    s     %  r,   zletter-spacingzword-spacingc                T    \        V 4      R8X  d   R# \        V 4      ;p'       d   V# R# )z7Validation for ``letter-spacing`` and ``word-spacing``.r(  Nr   r@  s   & r)   spacingr    s.    
 5X%E""v" #r,   c                0    \        V 4      ;p'       d   V# R# )z"Validation for ``outline-offset``.Nr   r@  s   & r)   outline_offsetr    s     E""v" #r,   c                    \        V 4      R8X  d   R# \        V RR7      ;p'       d   V# \        V RRR7      ;p'       d   V# R# )z$``line-height`` property validation.r(  Fr   Tr   N)r   r   r   )rM   r   r   s   &  r)   line_heightr    sJ     5X%ee4	4	4eeE	E	E 
Fr,   c                    V R9   # )z,``list-style-position`` property validation.)rY  rX  r-   rT   s   &r)   list_style_positionr    s     +++r,   c                   V P                   R8X  d   V P                  # V P                   R8X  d   RV P                  3# V P                   R8X  Ed?   V P                  R8X  Ed+   Rp\        V P                  4      ;p'       g   R# . pV^ ,          P                   R8X  d@   V^ ,          P                  V9   d&   ^pVP                  V^ ,          P                  4       MR# VP                  R4       ^ p\        V4      V^,           8  d   R# \        V\        V4      4       F>  pW%,          P                   R8w  d    R# VP                  W%,          P                  4       K@  	  V^ ,          R	9   d   \        V4      ^8  d   R# R\        V4      3# R# R# )
z(``list-style-type`` property validation.r   r   r@   symbolssymbolicNz	symbols())cyclicnumeric
alphabeticr  rR   )r  r  )	r   rO   r%   r   r  r   rx   ranger   )rM   allowed_typesfunction_argumentsr  indexr   s   &     r)   list_style_typer    sW    zzW{{	x	%++&&	z	!ejjI&=P&7&HH"H	a %%0!!$**m;  !3A!6!<!<=Z(E!"UQY.uc"456A!$))X5/2889 7 Q<449~!U9-../ '>	!r,   z	min-widthz
min-heightc                >    \        V 4      R8X  d   R# \        V .4      # )z7``min-width`` and ``min-height`` properties validation.r   )r   length_or_precentagerX   s   &r)   min_width_heightr    s!     5V##UG,,r,   zpadding-topzpadding-rightzpadding-bottomzpadding-leftc                6    \        V RRR7      ;p'       d   V# R# )z$``padding-*`` properties validation.FTr   Nr  r@  s   & r)   r  r  )  s#     EEdCCvC Dr,   z	max-widthz
max-heightc                v    \        V RRR7      ;p'       d   V# \        V 4      R8X  d   \        \        R4      # R# )z'Validation for max-width and max-heightFTr   rk   pxN)r   r   r   r   r@  s   & r)   max_width_heightr  4  s<    
 EEdCCvC5V#d## $r,   c                    \        V 4      ;p'       d!   \        ^\        ^ VP                  4      4      # \	        V 4      ;p'       d(   \        ^\        ^ VP                  ^d,          4      4      # R# )z(Validation for the ``opacity`` property.N)r   minmaxrO   r   )rM   r   r   s   &  r)   opacityr  ?  s`     E""v"1c!V\\*++%e,	,	,1c!Z--3455 
-r,   c                l    \        V 4      R8X  d   R# \        V RR7      ;p'       d   VP                  # R# )z(Validation for the ``z-index`` property.r   Tr9  N)r   r   rO   r   s   & r)   z_indexr  I  s5     5V#eT2	2	2|| 
3r,   orphanswidowsc                p    \        V RRR7      ;p'       d    VP                  ^8  d   VP                  # R# R# )z9Validation for the ``orphans`` and ``widows`` properties.FTr   Nr   rO   r   s   & r)   orphans_widowsr  S  s9    
 EE4@@v@<<1<<  Ar,   c                    \        V RRR7      ;p'       d    VP                  ^8  d   VP                  # R# \        V 4      R8X  d   R# R# )z-Validation for the ``column-count`` property.FTr   r   Nr   r   s   & r)   column_countr  ]  H     EE4@@v@<<1<< 	U	v	% 
&r,   c                    V R9   # )z)Validation for the ``overflow`` property.)r   visibler   rQ   r-   rT   s   &r)   overflowr  h  s     ===r,   c                    V R9   # )z.Validation for the ``text-overflow`` property.)r   ellipsisr-   rT   s   &r)   text_overflowr  o  s     ***r,   c                *   V P                   R8X  dm   V P                  R8X  d\   \        V P                  4      ^8X  dB   V P                  ^ ,          P                   R8X  d    RV P                  ^ ,          P                  3# \        V .4      pVR9   d   V# R# )z!``position`` property validation.r@   runningr   z	running()N)staticrelativeabsoluterR   )r   r%   rx   r  rO   r   r   s   & r)   positionr  v  s{     zzZEJJ)$;u1$);)@)@G)K!3!9!9:: %)G== >r,   c                   \        V 4      ^8X  d   \        V ^ ,          4      ;pR9   d   V# V '       d   \        V 4      ^,          ^ 8X  d{   \        ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       d?   \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      pVR,          VR,          3# R# R# R# )	z``quotes`` property validation.c              3   >   "   T F  qP                   R 8H  x  K  	  R# 5i)r   Nrb  r   s   & r)   r   quotes.<locals>.<genexpr>  s     ;F5

h&Frd  FTc              3   8   "   T F  qP                   x  K  	  R # 5irW   rg  r   s   & r)   r   r    rh  r   :NNrw   :r  Nrw   N)r   rk   )rx   r   r   r   )r'   rN   stringss   &  r)   quotesr
    s     6{a"6!9--G2BBN3v;?a'C;F;CCC;F;;;%88%%888 s|WT]**	 < (r,   c                    V R9   d   V # R# )z,Validation for the ``table-layout`` propertyN)rR   r   r-   rT   s   &r)   table_layoutr    s     ## $r,   c                    V R9   # )z'``text-align-all`` property validation.)r   r   centerjustifystartendr-   rT   s   &r)   text_align_allr    s     LLLr,   c                    V R9   # )z(``text-align-last`` property validation.)r   r   r   r  r  r  r  r-   rT   s   &r)   text_align_lastr         TTTr,   c                    V  Uu0 uF  p\        V4      kK  	  up;pR08X  d   R# 0 Rmp\        V 4      \        V4      8X  d   VP                  V4      '       d   V# R# R# u upi )z-``text-decoration-line`` property validation.rk   N>   blinkoverline	underlineline-through)r   rx   issubset)r'   rM   r   allowed_valuess   &   r)   text_decoration_liner    sb     6<<VE['V<<&IGN
6{c(m#(9(9.(I(I )J# =s   A c                    V R9   d   V # R# )z.``text-decoration-style`` property validation.N)r   r   r   r   wavyr-   rT   s   &r)   text_decoration_styler     s     AA Br,   c                \    \        V RR7      ;p'       d   V# \        V 4      ;pR9   d   V# R# )z2``text-decoration-thickness`` property validation.Tr?  N)r   z	from-fontr   r   s   &  r)   text_decoration_thicknessr"    s9     Ed33v3 '
'',A	A 
Br,   c                4    \        V RR7      ;p'       d   V# R# )z$``text-indent`` property validation.Tr?  Nr  r@  s   & r)   text_indentr$    s      Ed33v3 4r,   c                    V R9   # )z#``text-align`` property validation.)rk   	uppercase	lowercase
capitalizer  r-   rT   s   &r)   text_transformr)    r  r,   c                \    \        V RR7      ;p'       d   V# \        V 4      pVR9   d   V# R# )z.Validation for the ``vertical-align`` propertyTr?  N)baselinemiddler  r  ztext-topztext-bottomr  r  r   r   s   &  r)   vertical_alignr-    s<     Ed33v3% G ? ??r,   c                    V R9   # )$``white-space`` property validation.)r  r   r`   r-   rT   s   &r)   
visibilityr0    r  r,   c                    V R9   # )r/  )r(  prenowrapzpre-wrapzpre-liner-   rT   s   &r)   white_spacer4    s     IIIr,   c                    V R9   # )z&``overflow-wrap`` property validation.)anywherer(  z
break-wordr-   rT   s   &r)   overflow_wrapr7         :::r,   c                    V R9   # )z#``word-break`` property validation.)r(  z	break-allr-   rT   s   &r)   
word_breakr:    s     ---r,   c                N    \        V .4      ;pe   V# \        V 4      R8X  d   R# R# )z#``flex-basis`` property validation.Nr,  )rE  r   )rM   basiss   & r)   
flex_basisr=    s0     ug&&3	U	y	( 
)r,   c                    V R9   # )z'``flex-direction`` property validation.)rowzrow-reverser   zcolumn-reverser-   rT   s   &r)   flex_directionr@    s     HHHr,   z	flex-growzflex-shrinkc                 D    \        V 4      ;p'       d   VP                  # R # rW   r  r   s   & r)   flex_grow_shrinkrB  
  s#     E""v"|| #r,   c                r    \        V 4      ;pR9   d   V# V'       d   R# \        V RRR7      ;p'       d   V# R# )zParse ``inflexible-breadth``.NFTr   )r   min-contentmax-contentr   )rM   rN   r   s   &  r)   _inflexible_breadthrF    s?    u%%*PP	eeE	E	E 
Fr,   c                    V P                   R8X  d_   V P                  ^ 8  dN   V P                  P                  4       R8X  d/   \	        V P                  V P                  P                  4       4      # \        V 4      # )zParse ``track-breadth``.	dimensionfr)r   rO   unitlowerr   rF  rX   s   &r)   _track_breadthrL    sW    zz[ U[[A%5%**:J:J:LPT:Tejj&6&6&899u%%r,   c                   \        V 4      ;p'       d   V# \        V 4      pVP                  4       pVP                  R8X  dO   \	        V4      ^8X  d=   \        V^ ,          4      p\        V^,          4      pV'       d   V'       d   RWA3# R# R# R# VP                  R8X  d6   \	        V4      ^8X  d$   \        V^ ,          RRR7      ;p'       d   RV3# R# R# R# )	zParse ``track-size``.minmaxminmax()zfit-contentFTr   zfit-content()N)rL  r   r  r%   rx   rF  r   )rM   track_breadthr@   r  inflexible_breadthr   s   &     r)   _track_sizerR  #  s    &u--}-H$$&I}} y>Q!4Yq\!B*9Q<8M!m"$6FF '4! 
 
-	'y>Q#IaL5TRRvR'00 S  
(r,   c                   \        V RRR7      ;p'       d   V# \        V 4      pVP                  4       pVP                  R8X  d   \	        V4      ^8X  d   \        V^ ,          RRR7      ;p'       d   \        V^,          4      pV'       d   RW3# \        V^ ,          4      pVR9   g	   V'       d/   \        V^,          RRR7      pV'       d   RT;'       g    TV3# R# R# R# R# )zParse ``fixed-size``.FTr   rN  rO  N)rD  rE  r   )r   r   r  r%   rx   rL  r   )rM   r   r@   r  rP  rN   fixed_breadths   &      r)   _fixed_sizerU  5  s    EEdCCvCH$$&I}} S^q%8	!uNN6N*9Q<8M"F::il+<<&y|ePTUM"F$5$5g}EE  AG &9 r,   c                    . pV P                   R8X  da   V P                   FE  p V P                   R8X  d   VP                  V P                  4       K1  V P                   R8w  g   KD   R# 	  \	        V4      # R# )zParse ``line-names``.z[] blockr   
whitespaceN)r   r,  r   rO   r   )rM   return_line_namess   & r)   _line_namesrY  G  sb    zzZ]]EzzW$!((5|+	 #
 &''  r,   zgrid-auto-columnszgrid-auto-rowsc                |    . pV  F*  p\        V4      ;p'       d   VP                  V4       K)   R# 	  \        V4      # )zC``grid-auto-columns`` and ``grid-auto-rows`` properties validation.N)rR  r   r   )r'   return_tokensrM   
track_sizes   &   r)   	grid_autor]  S  sD     M$U++:+  ,	 
 r,   c                   \        V 4      ^8X  d*   \        V ^ ,          4      pVR9   d   V3# VR8X  d   VR3# R# \        V 4      ^8X  d?   V  Uu. uF  p\        V4      NK  	  ppRV9   d   RV9   g   RV9   d   \        V4      # R# R# R# u upi )z'``grid-auto-flow`` property validation.r?  r   denseN)r?  r   rx   r   r   )r'   rN   rM   r   s   &   r)   grid_auto_flowra  `  s     6{afQi('':U##  	V	4:;F5K&F;hEX$5X9M?" :N 
;s   B
zgrid-template-columnszgrid-template-rowsc                	   . p\        V 4      ^8X  d   \        V ^ ,          4      R8X  d   R# \        V ^ ,          4      R8X  Ed   VP                  R4       . pV R,           EFY  p\        V4      pVe   VP                  V4       K&  \	        V4      pVP                  RR7      pVe   \        V4      ^8w  d    R# Vw  rx\        V4      ^8w  g	   V'       g    R# Vw  pVP                  R8X  d   \        V4      ^8  d   VP                  R8X  dH   \        VP                  4      P                  4       '       d   VP                  ^8  d   VP                  p	M\        V4      R	8X  d   R	p	M R# . p
V F%  p\        V4      pVf   K  V
P                  V4       K'  	  VP                  R
V	\        V
4      34       EKY   R# 	  VP                  \        V4      4       EMRpRpRpV  EF  p\        V4      pVe!   V'       d    R# RpVP                  V4       K3  \        V4      pV'       d/   V'       g   VP                  R4       RpVP                  V4       Kt  \        V4      pV'       d1   V'       g   VP                  R4       RpVP                  V4       RpK  \	        V4      pVP                  RR7      pVe   \        V4      ^8w  d    R# Vw  rx\        V4      ^8w  g	   V'       g    R# Vw  pVP                  R8X  Ed   \        V4      ^8  Edy   \        VRRR7      ;p	'       d   V	P                  ^8  d   V	P                  p	M-\        V4      R9   d   V'       d    R# VP                  p	RpM R# . pRpV F  p\        V4      pVe"   V'       d     R# VP                  V4       RpK3  \        V4      pV'       d/   V'       g   VP                  R4       RpVP                  V4       Kt  \        V4      pV'       d1   RpV'       g   VP                  R4       RpVP                  V4       K    R# 	  V'       g   VP                  R4       RpV'       g   VP                  R4       VP                  R
V	\        V4      34       EK   R# 	  V'       d   V'       d   R# V'       g   VP                  R4       \        V4      # )z@``grid-template-columns`` and ``grid-template-rows`` validation.rk   subgridr  NNNF)single_tokensr   r   	auto-fillzrepeat()Tr   r-   )rf  zauto-fit)rx   r   r   rY  r   r  r%   r   r\  rO   
is_integerr  r   rU  rR  r   )r'   r[  subgrid_tokensrM   
line_namesr@   r  r   tracksr   line_names_listr  includes_auto_repeatincludes_tracklast_is_line_name
fixed_sizer\  names_and_sizesrepeat_last_is_line_nameargs   &                   r)   grid_templaters  o  s)    M
6{aKq	2f<6!9*Y'BZZE$U+J%%%j1H ,,5,AI C	Na$7&NF6{avGF}}(S^q-@KK8+fll0C0N0N0P0P)#--F (K7(F"$ &H!,X!6J!-'..z: !' %%z65;Q&RS9  : 	U>23$!E$U+J%$$(!$$Z0$U+J(!((,$)!$$Z0$U+J(!((,$)!$$Z0!%H ,,5,AI C	Na$7&NF6{avGF}}(S^q-@'MM6M||q(!' (,EE+#\\F+/("$+0(!C!,S!1J!-3"'..z:370 !,S!1J!7+2226380'..z: !,S!1J!)-7+2226380'..z: 3 "4 )!((,$)!/#**2.$$j&%:P%QR] ^  N   $r,   c                   \        V 4      ^8X  d   \        V ^ ,          4      R8X  d   R# . pV  F  pVP                  R8w  d    R# \        VP                  4      p. pRpV F  pVP                  R8X  d    VP                  VP                  4       RpK3  VP                  R8X  d1   VP                  R8X  d    V'       d   K_  VP                  R4       RpKt  VP                  R	8X  d   RpK    R# 	  V'       g    R# VP                  \        V4      4       K  	  \        \        R
 V 4       4      4      ^8X  Ed1   \        4       p\        4       p\        V4       EF  w  r\        V4       F  w  rW3V9   g   Vf   K  W9   d     R# VP                  V4       VP                  W34       T
p\        WJ^,           R V
^,           R7       F  w  rW8w  d    MVP                  W34       K!  	  V^,          p\        W^,           R V	^,           R7       F@  w  r\        WV 4      V08X  d(   \        W4       F  pVP                  VV34       K  	  K?   K  	  K  	  EK  	  \        V4      # R# )z,``grid-template-areas`` property validation.rk   r   NFr   r"  .TrW  c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   )rx   )r   r?  s   & r)   r   &grid_template_areas.<locals>.<genexpr>  s     .:Cs3xx:r   )r  )rx   r   r   r   rO   r   r   r  r   r>   r  )r'   
grid_areasrM   component_valuesr?  last_is_dotrO   coordinatesareasyxareanxnareanynrownnxs   &                r)   grid_template_areasr    s
    6{aKq	2f<J::!5ekkB%EzzW$

5;;'#y(U[[C-?

4 "|+# & %*%+ . 3.:../14e
+FA$S>6[(DL=		$'!*3st9AaC!@IB}OORG, "A
 !GB )*qST*:!A# FHB4":4&0#(<C'OOS"I6 $0  !G * ,* Z  3 5r,   zgrid-row-startzgrid-row-endzgrid-column-startzgrid-column-endc                   \        V 4      ^8X  dv   V ^ ,          p\        V4      ;p'       d#   VR8X  d   V# VR8w  d   RRVP                  3#  R# \        VRR7      ;p'       d!   VP                  ^ 8w  d   RVP                  R3# R# R;p;rEV  F  p\        V4      ;p'       d;   VR8X  d    R# VR8X  d   Vf   RpK/    R# V'       d   Vf   VP                  pKM   R# \        VRR7      ;p'       d$   VP                  ^ 8w  d   Vf   VP                  pK   R# 	  V'       d6   \	        V\
        4      '       d
   V^ 8  d   R# V'       g	   V'       d   WSV3# R# V'       d   WSV3# R# )u:   ``grid-[row|column]-[start—end]`` properties validation.r   spanNTr9  )rx   r   rO   r   
isinstancer   )r'   rM   rN   r   r   r  items   &      r)   	grid_liner  *  sm    6{aq	!%((7(& F"dEKK00 #
 	 "%66V6||q fllD11  F U!%((7(& & <!D   	 U]
 		  t44T4zzQ6>   fc""vzf%(( 	e$$ 
r,   c                    V R9   # )z"``flex-wrap`` property validation.)r3  wrapzwrap-reverser-   rT   s   &r)   	flex_wrapr  U  s     888r,   c                   \        V 4      ^8X  d   \        V ^ ,          4      pVR9   d   V3# R# \        V 4      ^8X  dO   \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      pV^ ,          R9   d   V^,          R9   d   V# R# R# R# )z(``justify-content`` property validation.c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   r   r   s   & r)   r   "justify_content.<locals>.<genexpr>g  r   r   N)r  space-betweenspace-aroundspace-evenlyr  r(  
flex-startflex-endr  r  r   r   safeunsafe)r  r  r  r  r  r   r   r`  r'   rN   r   s   &  r)   justify_contentr  \  s     6{afQi( 1 1 :	1
 
V	5@@55@@@A;,,{     - 
r,   c                   \        V 4      ^8X  d*   \        V ^ ,          4      pVR9   d   V3# VR8X  d   RV3# R# \        V 4      ^8X  d   \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      pV^ ,          R9   d   V^,          R	9   d   V# R# RV9   d   RV9   g   RV9   d   V# R# RV9   d   \        V4      0 R
m,          '       d   V# R# R# R# )z&``justify-items`` property validation.legacyr+  firstc              3   8   "   T F  p\        V4      x  K  	  R # 5irW   r   r   s   & r)   r    justify_items.<locals>.<genexpr>|  r   r   lastN)r(  r  r  r  r  
self-startself-endr  r  r   r   r  r  	r  r  r  r  r  r  r  r   r   >   r   r   r  )rx   r   r   r  r  s   &  r)   justify_itemsr  o  s     6{afQi(   :
"W%% #	V	5@@55@@@A;,,{ ? ?  ? 8#("f&8 '9!8}::: ; " 
r,   c                f   \        V 4      ^8X  d*   \        V ^ ,          4      pVR9   d   V3# VR8X  d   RV3# R# \        V 4      ^8X  dh   \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      pV^ ,          R9   d   V^,          R9   d   V# R# RV9   d   RV9   g   RV9   d   V# R# R# R# )	z%``justify-self`` property validation.r+  r  c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   r   r   s   & r)   r   justify_self.<locals>.<genexpr>  r   r   r  N)r   r(  r  r  r  r  r  r  r  r  r   r   r  r  r`  r  s   &  r)   justify_selfr    s     6{afQi(   :
"W%% #	V	5@@55@@@A;,,{ ? ?  ? 8#("f&8 '9 $ 
r,   c                f   \        V 4      ^8X  d*   \        V ^ ,          4      pVR9   d   V3# VR8X  d   RV3# R# \        V 4      ^8X  dh   \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      pV^ ,          R9   d   V^,          R9   d   V# R# RV9   d   RV9   g   RV9   d   V# R# R# R# )	z$``align-items`` property validation.r+  r  c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   r   r   s   & r)   r   align_items.<locals>.<genexpr>  r   r   r  N)	r(  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r`  r  s   &  r)   align_itemsr    s     6{afQi( 6 6 :
"W%% #	V	5@@55@@@A;,,{ . .  . 8#("f&8 '9 $ 
r,   c                f   \        V 4      ^8X  d*   \        V ^ ,          4      pVR9   d   V3# VR8X  d   RV3# R# \        V 4      ^8X  dh   \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      pV^ ,          R9   d   V^,          R9   d   V# R# RV9   d   RV9   g   RV9   d   V# R# R# R# )	z#``align-self`` property validation.r+  r  c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   r   r   s   & r)   r   align_self.<locals>.<genexpr>  r   r   r  N)
r   r(  r  r  r  r  r  r  r  r  r  r  r`  r  s   &  r)   
align_selfr    s     6{afQi( D D :
"W%% #	V	5@@55@@@A;,,{ . .  . 8#("f&8 '9 $ 
r,   c                f   \        V 4      ^8X  d*   \        V ^ ,          4      pVR9   d   V3# VR8X  d   RV3# R# \        V 4      ^8X  dh   \        ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      pV^ ,          R9   d   V^,          R9   d   V# R# RV9   d   RV9   g   RV9   d   V# R# R# R# )	z&``align-content`` property validation.r+  r  c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   r   r   s   & r)   r    align_content.<locals>.<genexpr>  r   r   r  N)
r  r  r  r  r  r(  r  r  r  r  r  )r  r  r  r  r  r`  r  s   &  r)   align_contentr    s     6{afQi(     :
"W%% #	V	5@@55@@@A;,,{ H HH 8#("f&8 '9 $ 
r,   c                 H    \        V R R7      ;p'       d   VP                  # R# )Tr9  Nr  r   s   & r)   orderr    s%     E400v0|| 1r,   c                    V R9   # )z#Validation for ``image-rendering``.)r   zcrisp-edges	pixelatedr-   rT   s   &r)   image_renderingr    r8  r,   c                    \        V 4      pVR9   d   V# RRr2V  F6  p\        V4      pVR8X  d   Ve    R# RpK   Vf   \        V4      pVe   K5   R# 	  Vf   ^ MTpVf   RMTpW#3# )z%Validation for ``image-orientation``.NflipTF)rk   z
from-image)r   r   r   )r'   rN   angler  rM   s   &    r)   image_orientationr    s     !(G((4e$fD=e$E   AEEL5dD=r,   c                   V  Uu. uF  p\        VRR7      NK  	  pp\        V4      '       d>   \        V4      ^8X  d   V^ ,          V^ ,          3# \        V4      ^8X  d   \        V4      # V  Uu. uF  p\	        V4      NK  	  pp\        V4      ^8X  dn   V^ ,          pV\
        P                  9   d   \
        P                  V,          # VR9   d   \
        P                  # VR8X  d   \
        P                  RRR1,          # \        V4      ^8X  dg   V^ ,          R9   d   Vw  rVMV^,          R9   d   Vw  reMRpV\
        P                  9   d(   \
        P                  V,          pXR8X  d   V# Vw  rW3# R# R# u upi u upi )	zU``size`` property validation.

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

Fr   portrait	landscapeN)r   r  r%  )r  r  )r   r   rx   r   r   r   
PAGE_SIZESINITIAL_PAGE_SIZE)
r'   rM   r   r   rN   orientation	page_sizerE  rB  rC  s
   &         r)   sizer    sl    ?EEfUz%%0fGE
7||w<1AJ
++\Q>!067uE"H7
8}1+o000"--g66,,"444#"44TrT::
8}A;33%-"Ka[55%-"I{I222*55i@Lj(## ,}$ 3 # F 8s   E:/E?)rB   c                
   \        V 4      R8X  d   R# \        V 4      pVP                  4       ;p'       dI   VP                  V Uu. uF  q3P                  NK  	  up3pVRR.38X  d   RV^ ,          P
                  3# R# R# u upi )zValidation for ``anchor``.rk   attrr   attr()Nr   r   split_spacer%   r   rO   rM   r@   r  r  	prototypes   &    r)   anchorr  5  s     5V#H((**y*]]9$M9x]]9$MN	'++il0011 , +$Ms   B )rB   r<   c                4   \        V 4      R8X  d   R# \        W4      pV'       d   V# \        V 4      pVP                  4       ;p'       dI   VP                  V Uu. uF  qUP
                  NK  	  up3pVRR.38X  d   RV^ ,          P                  3# R# R# u upi )zValidation for ``link``.rk   r  r   r  N)r   r   r   r  r%   r   rO   )rM   rK   rt   r@   r  r  r  s   &&     r)   linkr  B  s     5V#)JH((**y*]]9$M9x]]9$MN	'++il0011 , +$Ms   Bc                    V P                   R8X  d%   V P                  e   V P                  ;p'       d   V# \        V RR7      # )zNValidation for ``tab-size``.

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

r   Fr   )r   r  r   )rM   rO   s   & r)   tab_sizer  R  s:     zzX%//"=OO#5#Lee,,r,   c                .    \        V 4      ;pR9   d   V# R# )zValidation for ``hyphens``.N)rk   manualr   r   r   s   & r)   hyphensr  `  s"     u%%*DD Er,   c                d    \        V 4      R8X  d   R# V P                  R8X  d   V P                  # R# )z'Validation for ``hyphenate-character``.r   u   ‐r   Nro  rX   s   &r)   hyphenate_characterr  h  s/     5V#	x	{{ 
 r,   c                    \        V RRR7      # )z(Validation for ``hyphenate-limit-zone``.FTr   r  rX   s   &r)   hyphenate_limit_zoner  r  s     ee==r,   c                X   \        V 4      ^8X  d?   V w  p\        V4      pVR8X  d   R# \        VRR7      ;p'       d   VP                  ^^3# R# \        V 4      ^8X  d   V w  rE\        V4      p\        V4      p\        VRR7      ;p'       dQ   \        VRR7      ;p	'       d$   VP                  V	P                  V	P                  3# VR8X  d   VP                  ^^3# R# VR8X  d:   \        VRR7      ;p	'       d   ^V	P                  V	P                  3# VR8X  d   R# R# R# \        V 4      ^8X  d{   V w  rEp
. pWEV
3 F`  p\        V4      R8X  d   TP	                  WJ d   ^M^4       K-  \        VRR7      ;p'       d   VP	                  VP                  4       K_   R# 	  \        V4      # R# )z)Validation for ``hyphenate-limit-chars``.r   Tr9  N)   rw   rw   )rx   r   r   rO   r   r   )r'   rM   rN   r   totalr   total_keywordleft_keywordtotal_numberleft_numberr   rh   s   &           r)   hyphenate_limit_charsr  y  s    6{ae$f!%66V6LL!Q'' 7	V	#E*"4(%eT::<:(t<<{<$**K,=,={?P?PQQ'$**Aq11 (f$(t<<{<;,,k.?.?@@'   ( %
 
V	#U%'E5!V+5>aq9%eT:::fll+ ( V} 
r,   c                H   \        V 4      R8X  d   R# \        V 4      pVP                  4       ;p'       dI   VP                  V Uu. uF  q3P                  NK  	  up3pVRR.38X  d   RV^ ,          P
                  3# R# V P                  R8X  d   RV P
                  3# R# u upi )zValidation for ``lang``.rk   r  r   r  r   Nr  r  s   &    r)   langr    s     5V#H((**y*]]9$M9x]]9$MN	'++il0011 ,	x	%++&& 
  %Ns   B)rC   r<   c                ~   a \         ;QJ d    . V3R lV  4       F  NK  	  5M! V3R lV  4       4      pRV9  d   V# R# )z"Validation for ``bookmark-label``.c              3   <   <"   T F  p\        VS4      x  K  	  R # 5irW   r   r   rM   rK   s   & r)   r   !bookmark_label.<locals>.<genexpr>  s     Vve0AAv   N)r   )r'   rK   r*  s   &f r)   bookmark_labelr    s6     EVvVEEVvVVM=  !r,   c                    \        V RRR7      ;p'       d    VP                  ^8  d   VP                  # R# \        V 4      R8X  d   R# R# )z"Validation for ``bookmark-level``.FTr   rk   Nr   r   s   & r)   bookmark_levelr    r  r,   c                    V R9   # )z"Validation for ``bookmark-state``.)openclosedr-   rT   s   &r)   bookmark_stater    r   r,   c                    V R9   # )z$Validation for ``footnote-display``.)rP  rR  compactr-   rT   s   &r)   footnote_displayr    s     444r,   c                    V R9   # )z#Validation for ``footnote-policy``.)r   linerP  r-   rT   s   &r)   footnote_policyr    s     ///r,   c                6  a \        V 4      ^8  de   \        V ^ ,          4      pVf   R# \        ;QJ d    . V3R lV R,           4       F  NK  	  5M! V3R lV R,           4       4      pRV9  d   W#3# R# V '       d   \        V ^ ,          4      R8X  d   R# R# R# )zValidation for ``string-set``.Nc              3   <   <"   T F  p\        VS4      x  K  	  R # 5irW   r  r  s   & r)   r   string_set.<locals>.<genexpr>  s       MAK"5(33r  rd  rk   )rk   r-   )rx   r   r   r   )r'   rK   var_namer*  s   &f  r)   
string_setr    s    
 6{a#F1I. MAGM MAGM M}$,, %	Kq	*f4 5r,   c                   \        V 4      R8X  d   R# . pV  EF9  p\        V4      pVP                  4       pVf    R# V Uu0 uF  qUP                  kK  	  upR08H  p\	        V4      ^8X  Ed   \        V^ ,          4      p\        V^ ,          RR7      pVP                  R8X  d$   Ve    VP                  VP                  V34       K  VP                  R9   d   Ve   VP                  RV^ 334       K  VP                  R8X  d   Ve   VP                  R^ V334       EK	  VP                  R9   d%   V'       d   VP                  R	V\        334       EK>  VP                  R
8X  d%   V'       d   VP                  R	\        V334       EKs  VP                  R8X  d2   V'       d*   VP                  RV^ ,          P                  ^334       EK  VP                  R8X  d2   V'       d*   VP                  R^V^ ,          P                  334       EK  VP                  R8X  d8   V'       d0   VP                  RV^ ,          P                  3^,          34       EK?   R# \	        V4      ^8X  Edt   VP                  R8X  dU   V'       dM   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p	VP                  VP                  V	34       EK  VP                  R	8X  da   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p
\        V
4      '       d!   VP                  VP                  V
34       EK&   R# VP                  R8X  d   \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d!   VP                  VP                  V34       EK   R#  R# \	        V4      ^8X  dd   VP                  R8X  dS   V'       dK   TP                  VP                  \        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      34       EK9   R# 	  \        V4      # u upi )zValidation for ``transform``.rk   Nr   Tr?  rotateskewskewy	translate
translateyscalexscalescaleyc              3   8   "   T F  qP                   x  K  	  R # 5irW   rg  r   r  s   & r)   r   transform.<locals>.<genexpr>  s     "L)h>>)r   c              3   <   "   T F  p\        VR R7      x  K  	  R# 5i)Tr?  Nr  r   s   & r)   r   r    s      $SHQu
5T::	s   c              3   8   "   T F  p\        V4      x  K  	  R # 5irW   )r   r   s   & r)   r   r    s     "K9U#3#3r   c              3   (   "   T F  qR Jx  K
  	  R # 5irW   r-   )r   r  s   & r)   r   r    s     A&,&s   Fmatrixc              3   8   "   T F  qP                   x  K  	  R # 5irW   rg  r  s   & r)   r   r    s     )SX..r   r-   )skewxr  )
translatexr   )r   r   r  r   rx   r   r   r%   r   r
   rO   r   r   )r'   
transformsrM   r@   r  r  all_numbersr  r   r   r   angless   &           r)   	transformr    se    &!V+	
EH ,,.I 9BCX==CzQK9~"!)A,/#IaLTB==H,1B%%x}}e&<=]]&77E<M%%vqz&:;]]g-%2C%%v5z&:;]]&AAf%%{V[4I&JK]]l2v%%{[&4I&JK]]h.;%%w11C1CQ0G&HI]]h.;%%wIaL4F4F0G&HI]]g-+%%w11C1C0E0I&JKY1$==G+"U"L)"LUU"L)"LLF%%x}}f&=>]]k1#e $SHQ$See $SHQ$S SG7||"))8=='*BC]]f,"U"K"KUU"K"KKFsA&AsssA&AAA"))8==&*ABY1$()B{!!]]EE)S)SEE)S)S$STV g h Z  ] Ds   Q c                .    \        V 4      ;pR9   d   V# R# )z#``appearance`` property validation.Nr   r   r   s   & r)   
appearancer  $  s!     u%%*:: ;r,   c                   \        V 4      ^8X  d!   \        V 4      pVR8X  d   V# VR8w  d   V3# R# . pRp\        V 4       Fe  w  rE\        V4      pVR8X  d)   V'       g   V^ \        V 4      ^,
          39  d    R# RpK?  VR8X  d    R# V'       d   VP	                  V4       Kd   R# 	  V'       d   VP	                  R4       \        V4      # )z%``color-scheme`` property validation.r(  onlyNFT)rx   r   r   r   r   r   )r'   rN   r   r  r   rM   s   &     r)   color_schemer  ,  s     6{a$V,hN:!&)HA!%(G& 1QFa$88DH$( * OOF#Xr,   )NFFF)NF)r2   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?   r;   r!   rF   r$   rU   rY   r]   ra   re   rf   ro   ru   rz   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  r1  rA  rE  rG  rJ  rN  r[  r_  rj  rl  rp  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-  r0  r4  r7  r:  r=  r@  rB  rF  rL  rR  rU  rY  r]  ra  rs  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)   <module>r     s    / '  + A AX X X X X X 
e5 
?g ?&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 
d402  12 
	-  	- 
4   
4   
4>  >
 
4! !H 
d
'  
' 
4- . 
4   
4)  )
 
45  5
 
40  0
 
4-  . 
:! :!z 
   
 r,   