+
    iN                    Z  a  0 t $ ^ RIHt ^ RIHtHtHt ^ RIt^ RIt^ RIH	t	H
t
Ht ^ RIHt ^ RIt^ RIHt ^ RIHt ]P&                  t]]]]3,          t/ ]P.                  ]P.                  b^ ]P.                  bR]P.                  bR	]P.                  b]P0                  ]P0                  b^]P0                  bR
]P0                  bR]P0                  b]P2                  ]P2                  b^]P2                  bR]P2                  bR]P2                  b]P4                  ]P4                  b^]P4                  bR]P4                  bR]P4                  b]P6                  ]P6                  b^]P4                  R]P6                  R]P6                  ]P8                  ]P8                  ^]P8                  R]P8                  R]P8                  ]P:                  ]P:                  ^]P:                  R]P:                  R]P:                  /CtR]R&   R R lt RRRR/R R llt!R t"R t#R  t$R! t%R" t&R# t'R$ R% lt( ! R& R'4      t)]*]R(3,          t+]],]]-]+].R(,          R3,          t/ ! R) R*])4      t0]])]PR                  ]*]]	3,          ]
R+]	3,          3,          t1R, R- lt2R. R/ lt3 ! R0 R14      t4 ! R2 R3]4      t5]]4]Ph                  ]5]]1,          ]13,          t6R4 R5 lt7 ! R6 R74      t8]]]6,          ]63,          t9R8 R9 lt:]]8]93,          t;R: R; lt<]Pz                  P|                  t?^]?P                  ]?P                  ]?P                  R<]?P                  R=]?P                  ^]?P                  ]?P                  ]?P                  R>]?P                  R?]?P                  ^]?P                  ]?P                  ]?P                  R@]?P                  RA]?P                  /tC]]?]]3,          tDRB RC ltE ! RD RE]4      tF]]D]F]Pz                  3,          tGRF RG ltH ! RH RI4      tI]]I]P                  3,          tKRJ RK ltLR# )L    )annotations)IterableMappingSequenceN)AnyCallableUnion)	TypedDict)protos)content_typestype_unspecifiedunspecifiedtype_stringstringtype_numbernumbertype_integerintegertype_booleanboolean
type_arrayarraytype_objectobjectzdict[TypeOptions, Type]
_TYPE_TYPEc                    V ^8  d   QhRRRR/# )   xTypeOptionsreturnType )formats   "p/Users/igloo/.openclaw/workspace/scratch/fb_ad_env/lib/python3.14/site-packages/google/generativeai/responder.py__annotate__r%   @   s      { t     c                h    \        V \        4      '       d   V P                  4       p \        V ,          # N)
isinstancestrlowerr   r   s   &r$   to_typer-   @   s$    !SGGIa=r&   descriptionsrequiredc               (    V ^8  d   QhRRRRRRRR/# )	r   fCallable[..., Any]r.   zMapping[str, str] | Noner/   zSequence[str] | Noner    dict[str, Any]r"   )r#   s   "r$   r%   r%   F   s8     J JJ +J #	J
 Jr&   c               2   Vf   / p\        \        P                  ! V 4      P                  4      p/ pVP	                  4        F  w  rVVP
                  \        P                  P                  \        P                  P                  \        P                  P                  39   g   Kc  \        P                  ! VP                  VR4      R7      pVP                  \        P                  P                  8w  d   VP                  V3WE&   K  \        V3WE&   K  	  \!        V P"                  V4      pVe   W(R&   MV U	u. uF  p	W9,          P$                  \        P                  P                  8X  g   K4  W9,          P
                  \        P                  P                  \        P                  P                  \        P                  P                  39   g   K  V	NK  	  up	VR&   \        V P"                  V P&                  R7      p
VR,          '       d   WR&   V
# u up	i )a  Generates the OpenAPI Schema for a python function.

Args:
    f: The function to generate an OpenAPI Schema for.
    descriptions: Optional. A `{name: description}` mapping for annotating input
        arguments of the function with user-provided descriptions. It
        defaults to an empty dictionary (i.e. there will not be any
        description for any of the inputs).
    required: Optional. For the user to specify the set of required arguments in
        function calls to `f`. If unspecified, it will be automatically
        inferred from `f`.

Returns:
    dict[str, Any]: The OpenAPI Schema for the function `f` in JSON format.
N)descriptionr/   )namer5   
properties
parameters)dictinspect	signaturer8   itemskind	ParameterPOSITIONAL_OR_KEYWORDKEYWORD_ONLYPOSITIONAL_ONLYpydanticFieldget
annotationemptyr   _build_schema__name__default__doc__)r1   r.   r/   defaultsfields_dictr6   paramfieldr8   kschemas   &$$        r$   _generate_schemarQ   F   s   * G%%a(334HK~~'::33**--
 
 NN(,,T48E 7#4#4#:#::$)$4$4e$;!$'J!+ (. qzz;7J !):
 "
##w'8'8'>'>>  K$$%%;;%%22%%55	 A"

: qzzqyy9F,)|M#"
s   81H.AHHc                *   \         P                  ! V 3/ VB P                  4       pVP                  R / 4      pVP	                  4        F  w  rE\        WS4       K  	  \        W#4       \        V4       \        V4       \        V4       \        V4       V# )z$defs)
rB   create_modelmodel_json_schemapopr<   unpack_defsconvert_to_nullableadd_object_typestrip_titlesstrip_additional_properties)fnamerL   r8   defsr6   values   &&    r$   rG   rG      s|    &&u<<NNPJ>>'2&Dzz|E  $
! 
#J
 
+r&   c                   V P                  R R4      pVf   R# VP                  4        EF  w  r4VP                  RR4      pVe0   WP                  R4      R,          ,          p\        Wa4       WbV&   KK  VP                  RR4      pVe\   \	        V4       FJ  w  rV	P                  RR4      pVf   K  WP                  R4      R,          ,          p\        Wa4       WgV&   KL  	  K  VP                  RR4      p
V
f   K  V
P                  RR4      pVf   K  WP                  R4      R,          ,          p\        Wa4       WdR&   EK  	  R# )r7   Nz$refzdefs/anyOfr<   )rD   r<   splitrV   	enumerate)rP   r\   r7   r6   r]   ref_keyrefanyofiatyper<   s   &&         r$   rV   rV      s*   L$/J!'')))FD)}}W-b12C""t		'4(%e,))FD1&}}W5b9:C*"!H - 		'4(ii-G"==1"56C&!$g3 *r&   c                    V P                  R R4      pV P                  RR4      pVe%   VP                  4        F  w  r4\        V4       K  	  V P                  RR4      pVe   \        V4       R# R# )titleNr7   r<   )rU   rD   r<   rY   )rP   ri   r7   r6   r]   r<   s   &     r$   rY   rY      sj    JJw%EL$/J%++-KD . JJw%EU r&   c                    V P                  R R4       V P                  RR4      pVe%   VP                  4        F  w  r#\        V4       K  	  V P                  RR4      pVe   \        V4       R# R# )additionalPropertiesNr7   r<   )rU   rD   r<   rZ   rP   r7   r6   r]   r<   s   &    r$   rZ   rZ      si    
JJ%t,L$/J%++-KD'. . JJw%E#E* r&   c                    V P                  R R4      pVe<   V P                  RR4       RV R&   VP                  4        F  w  r#\        V4       K  	  V P                  RR4      pVe   \        V4       R# R# )r7   Nr/   r   typer<   )rD   rU   r<   rX   rl   s   &    r$   rX   rX      sq    L$/J

:t$!v%++-KDE" . JJw%E r&   c                   V P                  R R4      pVef   \        V4      ^8w  d   \        R4      hVw  r#VRR/8X  d   V P                  V4       M&VRR/8X  d   V P                  V4       M\        R4      hRV R&   V P	                  RR4      pVe%   VP                  4        F  w  rV\        V4       K  	  V P	                  RR4      pVe   \        V4       R# R# )	r_   NzInvalid input: Type Unions are not supported, except for `Optional` types. Please provide an `Optional` type or a non-Union type.rn   nullTnullabler7   r<   )rU   len
ValueErrorupdaterD   r<   rW   )rP   re   abr7   r6   r]   r<   s   &       r$   rW   rW      s    JJw%Eu:?I    MM!66""MM!I  "zL$/J%++-KD& . JJw%EE" r&   c                   V ^8  d   QhRR/# )r   rP   r3   r"   )r#   s   "r$   r%   r%     s      . r&   c                   V f   V # V P                  4       p V P                  RR 4      pVe   WR&   V P                  RR 4      pVe   \        V4      V R&   V P                  RR 4      pVe   W R&   V P                  RR 4      pVe   \	        V4      V R&   V P                  RR 4      pVe2   VP                  4        UUu/ uF  w  rVV\	        V4      bK  	  uppV R&   V # u uppi )Nrn   type_r#   format_r<   r7   )copyrU   rD   r-   _rename_schema_fieldsr<   )rP   ry   rz   r<   r7   rO   vs   &      r$   r|   r|     s    ~[[]FJJvt$EwJJw%E!%.wjj4(G#yJJw%E/6wL$/JHRHXHXHZ[HZ#8#; ;HZ[|M  \s   <Cc                      ] tR tRtRR/R R llt]R R l4       t]R R	 l4       t]R
 R l4       t]	R R l4       t
R R lt]RR R ll4       tRtR# )FunctionDeclarationi,  r8   Nc               $    V ^8  d   QhRRRRRR/# )r   r6   r*   r5   r8   dict[str, Any] | Noner"   )r#   s   "r$   r%    FunctionDeclaration.__annotate__-  s"     
 
 
# 
CX 
r&   c               R    \         P                  ! W\        V4      R7      V n        R# )zmA  class wrapping a `protos.FunctionDeclaration`, describes a function for `genai.GenerativeModel`'s `tools`.r6   r5   r8   N)r   r   r|   _proto)selfr6   r5   r8   s   &$$$r$   __init__FunctionDeclaration.__init__-  s     00;PQ[;\
r&   c                   V ^8  d   QhRR/# r   r    r*   r"   )r#   s   "r$   r%   r   4  s        c  r&   c                	.    V P                   P                  # r(   )r   r6   r   s   &r$   r6   FunctionDeclaration.name3  s    {{r&   c                   V ^8  d   QhRR/# r   r"   )r#   s   "r$   r%   r   8  s     ' 'S 'r&   c                	.    V P                   P                  # r(   )r   r5   r   s   &r$   r5   FunctionDeclaration.description7  s    {{&&&r&   c                   V ^8  d   QhRR/# )r   r    zprotos.Schemar"   )r#   s   "r$   r%   r   <  s     & &M &r&   c                	.    V P                   P                  # r(   )r   r8   r   s   &r$   r8   FunctionDeclaration.parameters;  s    {{%%%r&   c                   V ^8  d   QhRR/# )r   r    r   r"   )r#   s   "r$   r%   r   @  s      "5 r&   c                	(    V ! R R / R7      pWn         V# ) r   r   )clsprotor   s   && r$   
from_protoFunctionDeclaration.from_proto?  s    r:r&   c                   V ^8  d   QhRR/# )r   r    protos.FunctionDeclarationr"   )r#   s   "r$   r%   r   E  s      4 r&   c                	    V P                   # r(   r   r   s   &r$   to_protoFunctionDeclaration.to_protoE      {{r&   c                    V ^8  d   QhRRRR/# )r   functionr2   r.   zdict[str, str] | Noner"   )r#   s   "r$   r%   r   I  s      H H 2 HBW Hr&   c                D    Vf   / p\        WR7      p\        R/ VBRV /B # )a  Builds a `CallableFunctionDeclaration` from a python function.

The function should have type annotations.

This method is able to generate the schema for arguments annotated with types:

`AllowedTypes = float | int | str | list[AllowedTypes] | dict`

This method does not yet build a schema for `TypedDict`, that would allow you to specify the dictionary
contents. But you can build these manually.
)r.   r   r"   )rQ   CallableFunctionDeclaration)r   r.   rP   s   && r$   from_function!FunctionDeclaration.from_functionH  s,     L!(F*GVGhGGr&   r   r(   )rH   
__module____qualname____firstlineno__r   propertyr6   r5   r8   classmethodr   r   staticmethodr   __static_attributes__r"   r&   r$   r   r   ,  sz    
[_ 
     ' ' & &  
 H Hr&   r   	ValueTypec                  F   a  ] tR tRtRtRR/R V 3R llltR R ltR	tV ;t# )
r   ib  zAn extension of `FunctionDeclaration` that can be built from a Python function, and is callable.

Note: The Python function must have type annotations.
r8   Nc               (    V ^8  d   QhRRRRRRRR/# )r   r6   r*   r5   r8   r   r   r2   r"   )r#   s   "r$   r%   (CallableFunctionDeclaration.__annotate__h  s4     	! 	! 	! 		!
 *	! %	!r&   c               	6   < \         SV `  WVR 7       W@n        R# )r   N)superr   r   )r   r6   r5   r8   r   	__class__s   &$$$$r$   r   $CallableFunctionDeclaration.__init__h  s     	d
S r&   c                    V ^8  d   QhRRRR/# )r   fcprotos.FunctionCallr    zprotos.FunctionResponser"   )r#   s   "r$   r%   r   s  s      F F. F3J Fr&   c                	    V P                   ! R/ VP                  B p\        V\        4      '       g   R V/p\        P
                  ! VP                  VR7      # )result)r6   responser"   )r   argsr)   r9   r   FunctionResponser6   )r   r   r   s   && r$   __call__$CallableFunctionDeclaration.__call__s  sE    ))&$'''F&&BGGfEEr&   )r   )	rH   r   r   r   rJ   r   r   r   __classcell__)r   s   @r$   r   r   b  s(    
	!
 -1	! 	!F Fr&   r   .c                    V ^8  d   QhRRRR/# )r   funFunctionDeclarationTyper    0FunctionDeclaration | protos.FunctionDeclarationr"   )r#   s   "r$   r%   r%     s     
 
	 
5
r&   c                J   \        V \        \        P                  34      '       d   V # \        V \        4      '       d   R V 9   d   \	        R/ V B # \        R/ V B # \        V 4      '       d   \        P                  V 4      # \        R\        V 4      P                   R2V 4      h)r   z_Invalid argument type: Expected an instance of `genai.FunctionDeclarationType`. Received type: .r"   )
r)   r   r   r9   r   callabler   	TypeErrorrn   rH   )r   s   &r$   _make_function_declarationr     s     #+V-G-GHII
	C		.555&---	#*88==mnrsvnw  oA  oA  nB  BC  D
 	
r&   c                    V ^8  d   QhRRRR/# )r   fdr   r    r   r"   )r#   s   "r$   r%   r%     s      C Hb r&   c                f    \        V \        P                  4      '       d   V # V P                  4       # r(   )r)   r   r   r   )r   s   &r$   
_encode_fdr     s&    "f0011	;;=r&   c                  Z    ] tR tRtRtR R lt]R R l4       tR R ltR	 R
 lt	R t
RtR# )Tooli  z\A wrapper for `protos.Tool`, Contains a collection of related `FunctionDeclaration` objects.c                   V ^8  d   QhRR/# )r   function_declarationsz!Iterable[FunctionDeclarationType]r"   )r#   s   "r$   r%   Tool.__annotate__  s     
 
.O 
r&   c                	   V Uu. uF  p\        V4      NK  	  upV n        / V n        V P                   FB  pVP                  pW@P                  9   d   \	        R 4      hW0P                  VP                  &   KD  	  \
        P                  ! V P                   Uu. uF  p\        V4      NK  	  upR7      V n        R# u upi u upi )r   r   N)	r   _function_declarations_indexr6   rs   r   r   r   r   )r   r   r1   r   r6   s   &&   r$   r   Tool.__init__  s    Nc&dNc'A!'DNc&d#--B77D{{" n$#%KK 	 . kk<@<W<W"X<Wb:b><W"X
 'e #Ys   B;C c                   V ^8  d   QhRR/# )r   r    z6list[FunctionDeclaration | protos.FunctionDeclaration]r"   )r#   s   "r$   r%   r     s     + +'] +r&   c                	    V P                   # r(   )r   r   s   &r$   r   Tool.function_declarations  s    ***r&   c                    V ^8  d   QhRRRR/# r   r6   zstr | protos.FunctionCallr    r   r"   )r#   s   "r$   r%   r          ! !-!	9!r&   c                	l    \        V\        4      '       g   VP                  pV P                  V,          # r(   r)   r*   r6   r   r   r6   s   &&r$   __getitem__Tool.__getitem__  )     $$$99D{{4  r&   c                    V ^8  d   QhRRRR/# )r   r   r   r    zprotos.FunctionResponse | Noner"   )r#   s   "r$   r%   r     s      . 3Q r&   c                	H    W,          p\        V4      '       g   R # V! V4      # r(   )r   )r   r   declarations   && r$   r   Tool.__call__  s!    h$$2r&   c                	    V P                   # r(   r   r   s   &r$   r   Tool.to_proto  r   r&   )r   r   r   N)rH   r   r   r   rJ   r   r   r   r   r   r   r   r"   r&   r$   r   r     s-    f
 + +!r&   r   c                  "    ] tR tRt$ R]R&   RtR# )ToolDicti  zlist[FunctionDeclarationType]r   r"   NrH   r   r   r   __annotations__r   r"   r&   r$   r   r     s    88r&   r   c                    V ^8  d   QhRRRR/# )r   toolToolTyper    r   r"   )r#   s   "r$   r%   r%     s      X $ r&   c                   \        V \        4      '       d   V # \        V \        P                  4      '       d   \        V P                  R 7      # \        V \        4      '       d6   RV 9   d   \        R/ V B # T p\        \        P
                  ! R/ VB .R 7      # \        V \        4      '       d   \        V R 7      #  \        V .R 7      #   \         d*   p\        R\        T 4      P                   R2T 4      ThRp?ii ; i)r   r   zPInvalid argument type: Expected an instance of `genai.ToolType`. Received type: r   Nr"   )r)   r   r   r   r9   r   r   	Exceptionr   rn   rH   )r   r   es   &  r$   
_make_toolr     s    $	D&++	&	&$*D*DEE	D$		"d*<$<Bv/I/I/OB/O.PQQ	D(	#	#$//	tf55 	bcghlcmcvcvbwwxy 	s   =C
 
C>$C99C>c                  D    ] tR tRtRtR R ltR R ltR R ltR	 tR
t	R# )FunctionLibraryi  zYA container for a set of `Tool` objects, manages lookup and execution of their functions.c                   V ^8  d   QhRR/# )r   toolszIterable[ToolType]r"   )r#   s   "r$   r%   FunctionLibrary.__annotate__  s     < <0 <r&   c                	   \        V4      p\        V4      V n        / V n        V P                   FY  pVP                   FF  pVP
                  pW@P                  9   d   \        R V R24      hW0P                  VP
                  &   KH  	  K[  	  R# )z2Invalid operation: A `FunctionDeclaration` named 'zI' is already defined. Each `FunctionDeclaration` must have a unique name.N)_make_toolslist_toolsr   r   r6   rs   )r   r   r   r   r6   s   &&   r$   r   FunctionLibrary.__init__  s    E"5kKKD#99"'';;&$LTF  S\  ]  1<K,,-  :  r&   c                    V ^8  d   QhRRRR/# r   r"   )r#   s   "r$   r%   r     r   r&   c                	l    \        V\        4      '       g   VP                  pV P                  V,          # r(   r   r   s   &&r$   r   FunctionLibrary.__getitem__  r   r&   c                    V ^8  d   QhRRRR/# )r   r   r   r    zprotos.Part | Noner"   )r#   s   "r$   r%   r     s     7 7. 73E 7r&   c                	v    W,          p\        V4      '       g   R # V! V4      p\        P                  ! VR7      # )N)function_response)r   r   Part)r   r   r   r   s   &&  r$   r   FunctionLibrary.__call__  s/    h$$r?{{X66r&   c                	^    V P                    Uu. uF  qP                  4       NK  	  up# u upi r(   )r   r   )r   r   s   & r$   r   FunctionLibrary.to_proto  s"    ,0KK8KDK888s   *)r   r   N)
rH   r   r   r   rJ   r   r   r   r   r   r"   r&   r$   r   r     s    c<!79r&   r   c                    V ^8  d   QhRRRR/# )r   r   	ToolsTyper    z
list[Tool]r"   )r#   s   "r$   r%   r%     s     	" 	"y 	"Z 	"r&   c                   \        V \        4      '       d   \        V \        4      '       g   V  Uu. uF  p\        V4      NK  	  p p\	        V 4      ^8  dg   \
        ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       d-   \        V  Uu. uF  qP                  ^ ,          NK  	  up4      .p V # T p\        V4      .# u upi u upi )   c              3  R   "   T F  p\        VP                  4      ^8H  x  K  	  R# 5i)r  N)rr   r   ).0ts   & r$   	<genexpr>_make_tools.<locals>.<genexpr>  s      !SU#a&=&=">!"CUs   %'FT)r)   r   r   r   rr   allr   )r   r  r   s   &  r$   r   r     s    %"":eW+E+E(-.1A.u:>cc!SU!Sccc!SU!SSSU KU!8!8!;!;U KLME4 !! / !Ls   CCc                    V ^8  d   QhRRRR/# )r   libzFunctionLibraryType | Noner    zFunctionLibrary | Noner"   )r#   s   "r$   r%   r%     s     * *7 *<R *r&   c                V    V f   V # \        V \        4      '       d   V # \        V R7      # )N)r   )r)   r   )r  s   &r$   to_function_libraryr    s)    
{
	C	)	)
S))r&   	mode_autoautomode_anyany	mode_nonenonec                    V ^8  d   QhRRRR/# )r   r   FunctionCallingModeTyper    FunctionCallingModer"   )r#   s   "r$   r%   r%   ;  s     % % 7 %<O %r&   c                h    \        V \        4      '       d   V P                  4       p \        V ,          # r(   )r)   r*   r+   _FUNCTION_CALLING_MODEr,   s   &r$   to_function_calling_moder#  ;  s%    !SGGI!!$$r&   c                  ,    ] tR tRt$ R]R&   R]R&   RtR# )FunctionCallingConfigDictiA  r  modez	list[str]allowed_function_namesr"   Nr   r"   r&   r$   r%  r%  A  s    
!!%%r&   r%  c                    V ^8  d   QhRRRR/# )r   objFunctionCallingConfigTyper    zprotos.FunctionCallingConfigr"   )r#   s   "r$   r%   r%   K  s     - -$= -B^ -r&   c                   \        V \        P                  4      '       d   V # \        V \        \        \
        34      '       d   R \        V 4      /p Mi\        V \        4      '       d1   V P                  4       p V P                  R 4      p\        V4      V R &   M#\        R\        V 4      P                   R2V 4      h\        P                  ! V 4      # )r&  zaInvalid argument type: Could not convert input to `protos.FunctionCallingConfig`. Received type: r   )r)   r   FunctionCallingConfigr   r*   intr#  r9   r{   rU   r   rn   rH   )r)  r&  s   & r$   to_function_calling_configr.  K  s    #v3344
	C-sC8	9	9/45	C		hhjwwv.t4F#Cy112!5
 	
 '',,r&   c                  "    ] tR tRt$ R]R&   RtR# )ToolConfigDicti^  r*  function_calling_configr"   Nr   r"   r&   r$   r0  r0  ^  s    66r&   r0  c                    V ^8  d   QhRRRR/# )r   r)  ToolConfigTyper    zprotos.ToolConfigr"   )r#   s   "r$   r%   r%   e  s     
 
 
+< 
r&   c                "   \        V \        P                  4      '       d   V # \        V \        4      '       d7   V P	                  R 4      p\        V4      pWR &   \        P                  ! R/ V B # \        R\        V 4      P                   R24      h)r1  zVInvalid argument type: Could not convert input to `protos.ToolConfig`. Received type: r   r"   )	r)   r   
ToolConfigr9   rU   r.  r   rn   rH   )r)  fccs   & r$   to_tool_configr7  e  s    #v(())
	C		gg/0(-),%&  '3''"3i0014
 	
r&   )M__conditional_annotations__
__future__r   collections.abcr   r   r   r:   typingr   r   r	   typing_extensionsr
   rB   google.generativeair   google.generativeai.typesr   r!   r-  r*   r   TYPE_UNSPECIFIEDSTRINGNUMBERINTEGERBOOLEANARRAYOBJECTr   r   r-   rQ   rG   rV   rY   rZ   rX   rW   r|   r   r9   
StructTypefloatboolr   r   r   r   r   r   r   r   r   r   r   r  r   FunctionLibraryTyper  r,  Moder   AUTOANYNONEr"  r  r#  r%  r*  r.  r0  r5  r3  r7  )r8  s   @r$   <module>rN     sl   # " 7 7   ' ' '  & 3{{CdN#'400't' --' 4((	'
 	KK' t{{' 4;;' dkk' 	KK' t{{' 4;;' dkk' 	LL$,,' t||' DLL'  t||!'" 	LL$,,#'$ t||DLLt||JJ

tzz$**TZZKKt{{4;;dkk9'
# @J .2J &*	JZ.B

+
#<8/H /Hd #{"#
%dJ[0A4GH	F"5 F0  
cNS#X 
&% %P9y 9 &++x*A!BD[[
.!9 !9H (8$h./		" OY67 * 2277  166$))
$$044#''	""166$))
$$ $   3S# => %&	 &
 "68T8TT 
-&7 7 ~v'8'889
r&   