
    T-hj                     	   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mZ ddlmZmZ dd	lmZ d
dlmZmZmZ d
dlmZmZmZmZ dD  ci c]  \  } }| ed   |z   c}} Zd
dddZed   ed   k(  sJ dddddddddd	dddddddddd	dZdD ci c]  \  }}}}| e||       e||      f c}}}}Z ed ejA                         D              sJ ed   Z! e"d e!D              ed<   i Z#ddZ$d  Z%d! Z& e%d"      d#        Z' e%d$       e%d%      d&               Z( e%d'      d(        Z) e%d)       e%d       e%d*      d+                      Z* e%d,       e%d-      d.               Z+ e%d/       e%d0       e%d1       e%d2       e%d3       e%d4       e%d5       e%d6       e%d7       e%d8       e%d9       e%d:       e%d;       e%d<       e%d=       e%d>       e%d?       e%d@       e%dA       e%dB       e%dC       e%dD       e%dE      ddG                                                                                                                                                                 Z, e%dH       e%dI       e%dJ       e%dK      dL                             Z- e%dM      dN        Z. e%dO      dP        Z/ e%dQ      dR        Z0 e%dS       e%dT       e%dU       e%dV       e%dW       e%dX      dY                                           Z1 e%dZ       e%d[      d\               Z2 e%d]       e%d^      d_               Z3 e%d`       e%da      db               Z4 e%dc       e%dd      de               Z5 e%df       e%dg      dh               Z6 e%di       e%dj       e%dk       e%dl      dm                             Z7 e%dn       e%do      dp               Z8dq Z9 e%dr      ds        Z: e%dt      du        Z; e%dv      dw        Z< e%dx      dy        Z= e%dz      d{        Z> e%d|      d}        Z? e%d~      d        Z@d ZAd ZB e%d       e%d      d               ZC e%d       e%d      d               ZD e%d      d        ZE e%d      d        ZF e%d      d        ZG e%d      d        ZH e%d      d        ZI e%d      d        ZJ e%d      d        ZK e%d      d        ZLddZMd ZNyFc c}} w c c}}}}w )z7Convert specified property values into computed values.    )pi)unquote)parse_color   )LOGGER)
FROM_UNITSffipango)Layoutfirst_line_metrics)get_link_attribute   )INITIAL_VALUESZERO_PIXELS	Dimension)ANGLE_TO_RADIANSLENGTH_UNITSLENGTHS_TO_PIXELSsafe_urljoin))zxx-smallg333333?)zx-smallg      ?)smallgqq?)mediumr   )large333333?)zx-largeg      ?)zxx-larger   	font_size      )thinr   thickborder_top_widthr         )	d      i,  r      iX  r!   i   r"   r#   bolderlighter)/)a10   %   mm)a9r+   4   r,   )a8r.   J   r,   )a7r0   i   r,   )a6r2      r,   )a5r4      r,   )a4r6   )  r,   )a3r8     r,   )a2r:   R  r,   )a1r<   I  r,   )a0r>   i  r,   )b10   ,   r,   )b9rB   >   r,   )b8rD   X   r,   )b7rF   }   r,   )b6rH      r,   )b5rJ      r,   )b4rL   a  r,   )b3rN   r%   r,   )b2r%     r,   )b1rQ     r,   )b0rS   i  r,   )c10   (   r,   )c9rW   9   r,   )c8rY   Q   r,   )c7r[   r   r,   )c6r]      r,   )c5r_      r,   )c4ra   D  r,   )c3rc     r,   )c2re     r,   )c1rg     r,   )c0ri   i  r,   )zjis-b10    -   r,   )zjis-b9rl   @   r,   )zjis-b8rm   [   r,   )zjis-b7rn      r,   )zjis-b6ro      r,   )zjis-b5rp     r,   )zjis-b4rq   l  r,   )zjis-b3rr     r,   )zjis-b2rs     r,   )zjis-b1rt     r,   )zjis-b0ru   i  r,   )letter      !@   in)legalrw      ry   )ledgerrx      ry   c              #   T   K   | ]   \  }}|j                   |j                   k   " y wN)value).0widthheights      d/var/www/core.comfia.cic-ware.com/crm/lib/python3.12/site-packages/weasyprint/css/computed_values.py	<genexpr>r   y   s!     
O-%5;;%
Os   &(r7   c              #   \   K   | ]$  }|j                   t        |j                     z   & y wr   )r   r   unit)r   sizes     r   r   r   |   s*      M26DJJ"499--Ms   *,r   c                     t        | d   | d   | d   | d   | d   | d   | d   | d   | d	   | d
   | d   | d   | d   | d   f      }|r |t        | d         t        | d         z   z  }|S )Nfont_family
font_stylefont_stretchfont_weightfont_variant_ligaturesfont_variant_positionfont_variant_capsfont_variant_numericfont_variant_alternatesfont_variant_east_asianfont_feature_settingsfont_variation_settingsfont_language_overridelangr   line_heightstr)styleinclude_sizekeys      r   _font_style_cache_keyr      s    
mlnm&'%&!"$%'('(%&'(&'f C  s5%&U=-A)BBBJ    c                 6      j                  dd        fd}|S )z9Decorator registering a property ``name`` for a function.-_c                     | t         <   | S )z0Register the property ``name`` for ``function``.)COMPUTER_FUNCTIONS)functionnames    r   	decoratorz$register_computer.<locals>.decorator   s    #+4 r   )replace)r   r   s   ` r   register_computerr      s     <<S!D r   c                    |\  }}|dk(  sJ |\  }}}	 | j                   j                  ||      }|dk(  rn#|dk(  r;|j                  d      rdt        |dd        f}ndt	        | j
                  |      f}n|dk(  rt        |j                               }n|d	k(  rt        |j                               }n|d
k(  rt        |j                               }n|dk(  r&t        t        |j                               d      }d}n[|t        v r&t        t        |j                               |      }d}n-|t        v r%t        t        |j                               |      }d}||fS # t        $ r Y y w xY w)Nattr()stringurl#internalr   externalcolorintegernumber%lengthangle)elementget
startswithr   r   base_urlr   stripintfloatr   r   r   	Exception)r   values	func_namer   	attr_nametype_or_unitfallback
attr_values           r   compute_attrr      sy   Iu   (-%I|X]]&&y(;
8#U"$$S)('*QR.*AB
 U^^Z HJ
W$$Z%5%5%78JY&Z--/0JX%z//12JS "5)9)9);#<cBJ#L\)"5)9)9);#<lKJ#L--"5)9)9);#<lKJ"L *%%  s   EE 	E*)E*zbackground-imagec                     |D ]~  \  }}|dv r$t         fd|j                  D              |_        |dk(  s4t         |j                  f      \  |_        |j                  dk(  sct         |j                        |_         |S )z-Compute lenghts in gradient background-image.)zlinear-gradientradial-gradientc              3   @   K   | ]  }|t        |      nd   y wr   r   )r   posr   r   s     r   r   z#background_image.<locals>.<genexpr>   s+      )1 -0OudC(E)1s   r   explicit)tuplestop_positionscompute_positioncenter	size_typelength_or_percentage_tupler   r   r   r   type_r   s   ``   r   background_imager      s      
-u::#( )1 //)1 $1E  %%,tell_.MEL*,74-

- Mr   zbackground-positionzobject-positionc                 0     t         fd|D              S )z'Compute lengths in background-position.c           	   3   `   K   | ]%  \  }}}}|t        |      |t        |      f ' y wr   r   )r   origin_xpos_xorigin_ypos_yr   r   s        r   r   z#compute_position.<locals>.<genexpr>   sA      8 -HeXu 
6%u-	6%u-	/8s   +.r   r   r   r   s   `` r   r   r      s!      8 178 8 8r   ztransform-originc                 0     t         fd|D              S )z5Compute the lists of lengths that can be percentages.c              3   8   K   | ]  }t        |        y wr   r   r   r   r   r   s     r   r   z-length_or_percentage_tuple.<locals>.<genexpr>        @tU+@   r   r   s   `` r   r   r      s     @@@@r   zborder-spacingclipc                 0     t         fd|D              S )z.Compute the properties with a list of lengths.c              3   <   K   | ]  }t        |d         yw)Tpixels_onlyNr   r   s     r   r   zlength_tuple.<locals>.<genexpr>   s&      J9>udEt44Js   r   r   s   `` r   length_tupler      s#    
  JBHJ J Jr   zbreak-afterzbreak-beforec                     |dk(  rdS |S )z<Compute the ``break-before`` and ``break-after`` properties.alwayspage r   r   r   s      r   break_before_afterr      s     h&61E1r   toprightleftbottomz
margin-topzmargin-rightzmargin-bottomzmargin-leftr   r   z	min-widthz
min-heightz	max-widthz
max-heightzpadding-topzpadding-rightzpadding-bottomzpadding-leftztext-indentzhyphenate-limit-zonez
flex-basisztext-underline-offsetztext-decoration-thicknessNc                    |dv r|S |j                   dk(  r
|rdS t        S |j                  }|dk(  r|r|j                   S |S |t        v r|j                   t        |   z  }n|dv r|| d   }|dk(  rt	        | d      }|j                   |z  |z  }n]|dk(  rt	        | d	      }|j                   |z  |z  }n9|d
k(  r|j                   |z  }n$|dk(  r|j                   | j
                  d   z  }n|S |rS t        d      S )zCompute a length ``value``.)autocontentz	from-fontr   px)emexchremr   r   xr   0r   r   )r   r   r   r   character_ratio
root_styler   )r   r   r   r   r   r   resultratios           r   r   r      s   2 00{{aq0[0::Dt|)u{{4u4	"	"066	*	*k*I4<#E3/E[[9,u4FT\#E3/E[[9,u4FT\[[9,FU][[5#3#3K#@@F  6=i&==r   z
bleed-leftzbleed-rightz	bleed-topzbleed-bottomc                 Z    |dk(  rt        d| d   v rdd      S dd      S t        | ||      S )Nr   cropmarks   r   r   )r   r   r   s      r   bleedr  2  s<    
 fg6tDDAtDDeT5))r   zletter-spacingc                 .    |dk(  r|S t        | ||d      S )NnormalTr   r   r   s      r   pixel_lengthr  =  s     eT5d;;r   zbackground-sizec                 0     t         fd|D              S )z+Compute the ``background-size`` properties.c              3   D   K   | ]  }|d v r|nt        |        yw))containcoverN)r   r   s     r   r   z"background_size.<locals>.<genexpr>H  s4        .."5$6	7s    r   r   s   `` r   background_sizer  E  s!         r   zimage-orientationc                 R    |dv r|S |\  }}t        |t        z  dz        dz  dz  |fS )z-Compute the ``image-orientation`` properties.)nonez
from-imager      Z   )roundr   )r   r   r   r   flips        r   image_orientationr  N  s=     ''KE4%"*q.!A%*D11r   zborder-top-widthzborder-right-widthzborder-left-widthzborder-bottom-widthzcolumn-rule-widthzoutline-widthc                     | |j                  dd         }|dv ry|t        v r	t        |   S t        |t              r|S t	        | ||d      S )z*Compute the ``border-*-width`` properties.r   r   )r  hiddenr   Tr   )r   BORDER_WIDTH_KEYWORDS
isinstancer   r   )r   r   r   border_styles       r   border_widthr  W  s[     gw78L))%%$U++% %u$77r   zborder-image-slicezmask-border-slicec                 2   g }d}|D ]>  }|dk(  r|}|\  }}||j                  |       $|j                  t        |d             @ t        |      dk(  r|dz  }n6t        |      dk(  r|dz  }n"t        |      dk(  r|j                  |d          g ||S )z,Compute the ``border-image-slice`` property.Nfillr   r   r  r   r   )appendr   len)r   r   r   computed_valuesr  r   r   r   s           r   border_image_slicer  n  s     OD ?F?D LFD|&&v.&&y'=>? ?q 1	_		"1	_		"q12#_#d##r   zborder-image-widthzmask-border-widthc                 H   g }|D ]3  }|dk(  r|j                  |       |\  }}|j                  ||n|       5 t        |      dk(  r|dz  }t        |      S t        |      dk(  r|dz  }t        |      S t        |      dk(  r|j                  |d          t        |      S )z,Compute the ``border-image-width`` property.r   r   r  r   r   )r  r  r   )r   r   r   r  r   r   r   s          r   border_image_widthr!    s     O FF?""5) LFD""T\6uEF ?q 1
 !!	 
_		"1 !! 
_		"q12!!r   zborder-image-outsetzmask-border-outsetc                 B   |D cg c]'  }t        |t        t        f      r|nt        | ||      ) }}t	        |      dk(  r|dz  }t        |      S t	        |      dk(  r|dz  }t        |      S t	        |      dk(  r|j                  |d          t        |      S c c}w )z-Compute the ``border-image-outset`` property.r   r  r   r   )r  r   r   r   r  r  r   )r   r   r   r   r  s        r   border_image_outsetr#    s      EC<0fUD%6PPO  ?q 1
 !!	 
_		"1 !! 
_		"q12!!s   ,Bzborder-image-repeatzmask-border-repeatc                 ,    t        |      dk(  r|dz  S |S )z-Compute the ``border-image-repeat`` property.r   r   )r  r   s      r   border_image_repeatr%    s     v;!+FQJ77r   zcolumn-widthzoutline-offsetc                      t        | ||d      S )z Compute a pixel length property.Tr   r   r   s      r   length_pixels_onlyr'    s     %u$77r   zborder-top-left-radiuszborder-top-right-radiuszborder-bottom-left-radiuszborder-bottom-right-radiusc                 0     t         fd|D              S )z+Compute the ``border-*-radius`` properties.c              3   8   K   | ]  }t        |        y wr   r   r   s     r   r   z border_radius.<locals>.<genexpr>  r   r   r   r   s   `` r   border_radiusr*    s     @@@@r   z
column-gapzrow-gapc                 *    |dk(  r|S t        | ||      S )z!Compute the ``*-gap`` properties.r  r   r   s      r   gapr,    s      %u%%r   c           
         g }|D ]  }|d   dv r|}nh|d   dk(  r|d   d   dk(  sJ t        | |      }nF|d   dv r|}n<|d   dv r5|d   d   }|d   dk(  r#t        | |      }|d }n|d   |f|d   dd  z   f}n|}<t        j                  d| j                  d	d
j	                  d |D                     |j                  |        t        |      S )Nr   )r   r   r   quotezleader()r   r   r   )z	counter()z
counters()z	content()z	element()zstring())ztarget-counter()ztarget-counters()ztarget-text()zUnable to compute z value for content: z, c              3   2   K   | ]  }t        |        y wr   r   )r   items     r   r   z _content_list.<locals>.<genexpr>  s     (EtT(Es   )r   r   warningr   joinr  r   )r   r   r  r   computed_valueanchor_tokenattrs          r   _content_listr6    s"   O 38HH"N1X!8A;(***)%7N1X   #N1X J J 8A;LA(*#E<8<%)N&+Ah$58AB<1G%IN!&!NNtyy(Eu(EEG H "">293< !!r   zbookmark-labelc                     t        | |      S )z(Compute the ``bookmark-label`` property.r6  r   s      r   bookmark_labelr9    s     ''r   z
string-setc                 ,     t         fd|D              S )z$Compute the ``string-set`` property.c              3   F   K   | ]  }|d    t        |d         f  yw)r   r   Nr8  )r   
string_setr   s     r   r   zstring_set.<locals>.<genexpr>  s-      " 
AeZ];<"s   !r   r   s   `  r   r<  r<    s      " " " "r   r   c                 t    t        |      dk(  r|\  }|dk(  r| j                  rdS dS |dk(  ryt        | |      S )z!Compute the ``content`` property.r   r  inhibitcontentsr  )r  pseudo_typer6  )r   r   r   r   s       r   r   r     sI     6{aH % 1 19AzAf_''r   displayc                     | j                   d   }| j                   d   }|dv s|dk7  s| j                  r7|dk(  ryt        |      dk(  r|d   j                  d	      ry
|d   dk(  rd|v ryy
|S )z!Compute the ``display`` property.r   positionabsolutefixedr  )zinline-table)blocktabler   r   ztable-)rG  flowinline	list-item)rG  rI  rK  )	specifiedis_root_elementr  r   )r   r   r   float_rC  s        r   rA  rA    s     __W%Fz*H((Ff,<!!%%%Z1_q!4!4X!>$1X!e#5(Lr   r   c                 >    | j                   d   }|dv s|d   dk(  ry|S )zCompute the ``float`` property.rC  rD  r   z	running()r  )rL  )r   r   r   rC  s       r   compute_floatrP    s.     z*H((HQK;,Fr   z	font-sizec                    |t         v r	t         |   S t        t         j                               }| j                  
t        d   }n| j                  d   }|dk(  r$t        |      D ]  \  }}||kD  s||   c S  |dz  S |dk(  r.t        |ddd         D ]  \  }}||k  s|| dz
     c S  |dz  S |j                  d	k(  r|j                  |z  d
z  S t        | ||d|      S )z#Compute the ``font-size`` property.Nr   largerr   smallerr   g?r   r#   T)r   r   )	FONT_SIZE_KEYWORDSlistr   parent_styler   	enumerater   r   r   )r   r   r   keyword_valuesparent_font_sizeikeyword_values          r   r   r   '  s!    ""!%((,3356N!)+6 --k: ). 9 	*A}//%a((	* $c))	)	 ).2*> ? 	*A}//%qb1f--	* $c))	s	{{--334D&( 	(r   zfont-weightc                     |dk(  ry|dk(  ry|dv r1| j                   
t        d   }n| j                   d   }t        |   |   S |S )z%Compute the ``font-weight`` property.r  r    boldr!   r&   r   )rW  r   FONT_WEIGHT_RELATIVE)r   r   r   parent_values       r   r   r   G  s]     	&	'	'%)-8L --m<L#E*<88r   c                 l    |dv r|S t        |t              r|j                  dk(  r|S t        | ||      S y)zCompute track breadth.)r   zmin-contentzmax-contentfrN)r  r   r   r   r   s      r   _compute_track_breadthrc  X  s?    66	E9	%::L%u--	 
&r   c                    g }t        |      D ]  \  }}|dz  dk(  r|j                  |        t        | ||      }|r|j                  |       A|d   dk(  r1|j                  dt        | ||d         t        | ||d         f       z|d   dk(  r"|j                  dt        | ||d         f       |d   dk(  s|j                  d|d   t	        | ||d         f        t        |      S )zCompute track size.r   r   minmax()r   fit-content()zrepeat())rX  r  rc  r   _track_sizer   )r   r   r   return_valuesr[  r   track_breadths          r   rg  rg  c  s   Mf% O5q5A:  ' 35$FM$$]3qZ'$$*5$aA*5$aA&C D q_,$$#VE4q%B&D EqZ'$$a+eT58*L&N O%O( r   zgrid-template-columnszgrid-template-rowsc                 :    |dk(  s|d   dk(  r|S t        | ||      S )z+Compute the ``grid-template-*`` properties.r  r   subgrid)rg  r   s      r   grid_templaterl  }  s+     6!9	15$//r   zgrid-auto-columnszgrid-auto-rowsc                 J   g }|D ]  }t        | ||      }|r|j                  |       $|d   dk(  r9|j                  dt        | ||d   g      d   t        | ||d   g      d   f       e|d   dk(  sn|j                  dt        | ||d   g      d   f        t        |      S )z'Compute the ``grid-auto-*`` properties.r   re  r   r   rf  )rc  r  	grid_autor   )r   r   r   rh  r   ri  s         r   rn  rn    s     M 
I.udEB  /1X#  IeTE!H:>qA%az215"7 8 1X(  5$q
!CA!F"H I
I r   zline-heightc                     |dk(  r|S |j                   sd|j                  fS |j                   dk(  r|j                  dz  }| d   }||z  }d|fS t        | ||d      }d|fS )	z%Compute the ``line-height`` property.r  NUMBERr   r#   r   Tr   PIXELS)r   r   r   )r   r   r   factorfont_size_valuepixelss         r   r   r     s     ZZ%++&&	s	s",/) f tU=fr   anchorc                 Z    |dk7  r&|\  }}| j                   j                  |      xs d}|S y)z Compute the ``anchor`` property.r  Nr   r   )r   r   r   r   r   anchor_names         r   ru  ru    s9     3mm'',4 r   linkc                 h    |dk(  ry|\  }}|dk(  r!t        | j                  || j                        S |S )zCompute the ``link`` property.r  Nr   )r   r   r   r   s        r   ry  ry    s<     uH%emmUENNKKMr   r   c                 p    |dk(  ry|\  }}|dk(  r| j                   j                  |      xs dS |dk(  r|S y)zCompute the ``lang`` property.r  Nr   r   rw  )r   r   r   r   s       r   r   r     sL     	c8==$$S)1T1XJ r   ztab-sizec                 @    t        |t              r|S t        | ||      S )z"Compute the ``tab-size`` property.)r  r   r   r   s      r   tab_sizer}    s!     uc*5JudE0JJr   	transformc                 z    g }|D ]*  \  }}|dk(  rt        | ||      }|j                  ||f       , t        |      S )z#Compute the ``transform`` property.	translate)r   r  r   )r   r   r   r   r   argss         r   r~  r~    sO     F (${"-eT4@Dx&'( =r   zvertical-alignc                     |dv r|S |dk(  r| d   dz  S |dk(  r| d   dz  S |j                   dk(  r t        |       \  }}||j                  z  dz  S t        | ||d	
      S )z(Compute the ``vertical-align`` property.)baselinemiddleztext-topztext-bottomr   r   superr         ?subg      r   r#   Tr   )r   strut_layoutr   r   )r   r   r   r   r   s        r   vertical_alignr    s    
  N N	'	[!C''	%[!D((	s	 '	#c))eT5d;;r   zword-spacingc                 ,    |dk(  ryt        | ||d      S )z&Compute the ``word-spacing`` property.r  r   Tr   r   r   s      r   word_spacingr    s      eT5d;;r   c                    | d   dk(  ry|r*t        | d      }||j                  v r|j                  |   S t        ||       }|j                  d       |j	                         \  }}t        |d|dd	| 
      \  }}}}}}| d   dk(  r||f}|r||j                  <   |S | d   \  }	}
|	dk(  r|
| d   z  }
|
||
|z
  dz  z   f}|r||j                  <   |S )zReturn a tuple of the used value of ``line-height`` and the baseline.

    The baseline is given from the top edge of line height.

    r   r   )r   r   T)r     NF)	resume_atspace_collapser   r   r  rp  r   )r   strut_layoutsr   set_textget_first_liner   )r   contextr   layoutliner   text_heightr  r   r   r   s              r   r  r    s    [Q#E=''''((--GU#F
OOC##%GD!(:b&De)M%Aq!QX]x'h&)/G!!#&}-E;u[))(kK&?1%DDDF%+c"Mr   c                 r   |dv sJ | j                   d|dk(  rdnd    }t        |       }||v r||   S | j                         } d| d<   d| d	<   d
| d<   t        d|       }|j	                  |       |j                         \  }}t        j                  d      }t        j                  d      }t        j                  |||       |dk(  r|j                   t        z  }	n|j                  t        z  }	t        j                  |       t        j                  |       t        |	| d   z  d      xs d}
|
||<   |
S )z3Return the ratio of 1ex/font_size or 1ch/font_size.)r   r   ratio_r   r   r   r  letter_spacingr   r  rS   r   N)r  r   zPangoRectangle *r   r  )cacher   copyr   r  r  r	   newr
   pango_layout_line_get_extentsyr   r   releaser  )r   	characterr  	cache_keyr  r  r   ink_extentslogical_extentsmeasurer   s              r   r   r     s@    
"""KK&c)9t DEFE%e,IEY JJLE&E
E.E+D.F
OOI##%GD!'',-Kgg01O	''k?KC==.:-!''*4KKKK  'E+..29cEE)Lr   )F)NFr   )O__doc__mathr   urllib.parser   tinycss2.color4r   loggerr   text.ffir   r	   r
   text.line_breakr   r   urlsr   
propertiesr   r   r   utilsr   r   r   r   rU  r  r_  
PAGE_SIZESallr   INITIAL_PAGE_SIZEr   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r!  r#  r%  r'  r*  r,  r6  r9  r<  r   rA  rP  r   r   rc  rg  rl  rn  r   ru  ry  r   r}  r~  r  r  r  r   )r   rr  	page_sizer   r   r   s   000000r   <module>r     s   =    '  - - 8 % > > R R 	f 	.
%
.. "  
 ()-B8-LL LL
 
 
 80+3 3&	5&$ 	%&	&$(?@@3
j 
O:;L;L;N
OO OOt$  M:KM Mv 
  , &F %& '  ()$%8 & *8 %&A 'A
 #$66J   %J =!>"2 # "2
 5768< >"?#=!87;< ;< =!?##$>"=!)*< *+./> 0 , ! + " # % $ " !   !     " $ # !    .>D < =!;>"* #   " !* #$< %< $% & &'2 (2 %&'(&'()&'?#8 $ ( * ( ) '8" '(&'$ ( )$, '(&'" ( )"$ ()'(" ) *" ()'(8 ) *8
 >"#$8 % #8
 +,,-.//0A 1 0 . -A
 < 9&  !& "F #$( %(
 < " !" 9( ( 9 & 7  ;(  (> =! " . 4 *+'(0 ) ,0 &'#$  % ( " =! " 8  6	 	 6	 	 :K K
 ;   #$< %<$ >"< #<B$Sd3s   S*S0
