
    Oj=                    5   S SK r S SKrS SKrS SKJrJrJrJrJrJ	r	  S SK
Jr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJrJr  \R@                  " S5      r!S\SS4S jr"S\SS4S jr#S\SS4S jr$  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr(  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr)  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr*  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr+  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr,  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S  jjr-  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S! jjr.  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S" jjr/  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S# jjr0  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S$ jjr1  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S% jjr2  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S& jjr3  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S' jjr4  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S( jjr5  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S) jjr6  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S* jjr7  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S+ jjr8  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S, jjr9  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S- jjr:  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S. jjr;  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S/ jjr<  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S0 jjr=  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S1 jjr>  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S2 jjr?  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S3 jjr@  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S4 jjrA  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S5 jjrB  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S6 jjrC  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S7 jjrD  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S8 jjrE  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S9 jjrF  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S: jjrG  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S; jjrH  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S< jjrI  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S= jjrJ  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S> jjrK  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S? jjrL  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S@ jjrM  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
SA jjrN  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
SB jjrO  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
SC jjrP  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SD jjrQ  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SE jjrR  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SF jjrS  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SG jjrT  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
SH jjrU  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
SI jjrV  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SJ jjrW  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SK jjrX  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SL jjrY  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SM jjrZ  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SN jjr[  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SO jjr\  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
SP jjr]  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
SQ jjr^  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SR jjr_  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SS jjr`  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4ST jjra  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SU jjrb  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SV jjrc  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SW jjrd  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SX jjre  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SY jjrf  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4SZ jjrg  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S[ jjrh  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S\ jjri  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S] jjrj  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S^ jjrk  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S_ jjrl  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S` jjrm  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sa jjrn  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sb jjro  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sc jjrp  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sd jjrq  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Se jjrr  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
Sf jjrs  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
Sg jjrt  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
Sh jjru  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
Si jjrv  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sj jjrw  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sk jjrx  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sl jjry  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sm jjrz  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sn jjr{  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4So jjr|  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sp jjr}  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sq jjr~  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sr jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Ss jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4St jjr  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
Su jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sv jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sw jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sx jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sy jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4Sz jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S{ jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S| jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S} jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S~ jjr  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S jjr  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\S\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4
S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr  SS\	\%\&\4   \'4   S\\%\&\4      S\\	\%\&\4   \'4      S\%\&\4   4S jjr " S S\GRJ                  5      r " S S\GRJ                  5      rg)    N)AnyAsyncIterator	AwaitableIteratorOptionalUnion)	urlencode   )_api_module)_base_transformers)_common)_extra_utils)
_mcp_utils)_transformers)errors)types)BaseApiClient)get_value_by_path)set_value_by_path)
AsyncPagerPagerzgoogle_genai.models
enum_valuereturnc                 @    U [        S/5      ;   a  [        U  S35      eg )N	ALLOW_ALLi enum value is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.set
ValueErrorr   s    U/var/www/html/leaf-doctor-v1/venv/lib/python3.13/site-packages/google/genai/models.py(_PersonGeneration_to_mldev_enum_validater"   (   s2    3}%%
, < 	<  &    c                 @    U [        S/5      ;   a  [        U  S35      eg )N
BLOCK_NONEr   r   r    s    r!   )_SafetyFilterLevel_to_mldev_enum_validater&   0   s2    3~&&
, < 	<  'r#   c                 @    U [        S/5      ;   a  [        U  S35      eg )NSTYLEr   r   r    s    r!   4_VideoGenerationReferenceType_to_mldev_enum_validater)   8   s3     3y>!
, < 	<  "r#   from_objectparent_objectroot_objectc                    0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S	/5      b  [        S
5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      eU$ )Napi_keyapiKeyapi_key_configzvapi_key_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.	auth_typezqauth_type parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.google_service_account_configzgoogle_service_account_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.http_basic_auth_configz~http_basic_auth_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.oauth_configztoauth_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.oidc_configzsoidc_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.getvsetvr   r*   r+   r,   	to_objects       r!   _AuthConfig_to_mldevr;   B   s   
 !)	+	{#/XJ[9+ >?	+()*6
	< 
 
+}%1
	< 
 
+789E
	M 
 
+012>
	M 
 
+'(4
	< 
 
+'3
	< 
 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        US/[        U S/5      5        U$ )Ndatadisplay_nametdisplay_name parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.	mime_typemimeTyper6   r9   s       r!   _Blob_to_mldevrB   r   s    
 !)	+x ,VHd;9:	+'(4
	< 
 
+}%1ZL${[M"BC	r#   c           
      T   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US	/[        U S/5      5        [        U S
/5      b  [        US/[        U S
/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        [        U S/5      b  [        US/[        U S/5      5        U$ s  snf )NcontentcitationMetadatacitation_metadata
tokenCounttoken_countfinishReasonfinish_reasongroundingMetadatagrounding_metadataavgLogprobsavg_logprobsindexlogprobsResultlogprobs_resultsafetyRatingssafety_ratingsurlContextMetadataurl_context_metadata)r7   r8   _CitationMetadata_from_mldevr*   r+   r,   r:   items        r!   _Candidate_from_mldevrY      s   
 !)	+	{#/YKkI;!?@	+*+,8	$123Y	
 
+~&2]OT+~%FG	+'(4_%tK.9I'JK	++,-9	[./0 
+'3^$d;&HI	+y!-WItK';<	+()*6&'k<L;M)NO	+()5	{_,=>?>$>? 
+,-.:	 [/01 
 	@s   *F%c                     0 n[        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        U$ s  snf )NcitationSources	citationsr7   r8   rW   s        r!   rV   rV      sW    
 !)	+)*+7	{->,?@A@$@A 
 	Bs   <c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      eU$ )Noutcomeoutputidjid parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r6   r9   s       r!   _CodeExecutionResult_to_vertexrc      s~    
 !)	+	{#/YKkI;!?@	+z".XJ[8* =>	+v*
	2 
 
r#   
api_clientc                 :   0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      bH  [        US/[        R                  " [        US/5      5       Vs/ s H  n[        XTU5      PM     sn5        U$ s  snf )Nmodel_urlcontents)r7   r8   tt_model
t_contents_Content_to_vertexrd   r*   r+   r,   r:   rX   s         r!   "_ComputeTokensParameters_to_vertexrn      s     !)	+y!-				*d;	:; 
+
|$0	 T+
|%DE	
E t<E	
 
	
s   9Bc                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        U$ s  snf )NsdkHttpResponsesdk_http_response
tokensInfotokens_infor]   rW   s        r!   "_ComputeTokensResponse_from_vertexrt      s    
 !)	+)*+7'(${=N<O*P 
+~&2	{\N;<;$;< 
 	=s   A#c                 &   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      eU$ )Nenvironmentexcluded_predefined_functionsexcludedPredefinedFunctions!enable_prompt_injection_detectionenablePromptInjectionDetectiondisabled_safety_policieszdisabled_safety_policies parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r6   r9   s       r!   _ComputerUse_to_vertexr|     s    
 !)	+'3]OT+%GH	+789E	&'[:;< 
+;<=I	)*[>?@ 
+234@
	M 
 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )N	truncatedrH   r]   r9   s       r!   '_ContentEmbeddingStatistics_from_vertexr   5  s[    
 !)	+}%1[M4k]#CD	+'3]OT+%GH	r#   c           
          0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nvalues
statistics)r7   r8   r   r9   s       r!   _ContentEmbedding_from_vertexr   D  sl    
 !)	+z".XJ[8* =>	+~&2	/|n-y	
 
r#   c                     0 n[        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b  [        US/[        U S/5      5        U$ s  snf Npartsrole)r7   r8   _Part_to_mldevrW   s        r!   _Content_to_mldevr   Y  s    
 !)	+y!-		 [7)4	
4 4K84	
 
+x ,VHd;9:		
   A.c                     0 n[        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b  [        US/[        U S/5      5        U$ s  snf r   )r7   r8   _Part_to_vertexrW   s        r!   rl   rl   o  s    
 !)	+y!-		 [7)4	
4 D[94	
 
+x ,VHd;9:		
r   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Ncontrol_typecontrolType enable_control_image_computationcomputeControlr]   r9   s       r!   !_ControlReferenceConfig_to_vertexr     si    
 !)	+'(4]OT+7G%HI	+:;<H	[=>? 
r#   c                     0 n[        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      eU$ )Nsystem_instructionzzsystem_instruction parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.toolszmtools parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.generation_configzygeneration_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r7   r   r9   s       r!   _CountTokensConfig_to_mldevr     s~    
 !)	+,-.:
	B 
 
+y!-
	3 
 
++,-9
	B 
 
r#   c                    0 n[        U S/5      b8  [        US/[        [        R                  " [        U S/5      5      UU5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ s  snf )Nr   systemInstructionr   r   generationConfig)r7   r8   rl   ri   	t_content_Tool_to_vertex_GenerationConfig_to_vertexrW   s        r!   _CountTokensConfig_to_vertexr     s    
 !)	+,-.:	KK[+?*@AB	
 
+y!-		 [7)4	
4 D[94	
 
++,-9	#234i	
 
	
s   .B>c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      bH  [        US/[        R                  " [        US/5      5       Vs/ s H  n[        XTU5      PM     sn5        [        US/5      b  [        [        US/5      XC5        U$ s  snf Nrf   rg   rh   config)r7   r8   ri   rj   rk   r   r   rm   s         r!   _CountTokensParameters_to_mldevr     s     !)	+y!-				*d;	:; 
+
|$0	 T+
|%DE	
E d{;E	
 
+z".[8*%y 
	
   9B=c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      bH  [        US/[        R                  " [        US/5      5       Vs/ s H  n[        XTU5      PM     sn5        [        US/5      b  [        [        US/5      XC5        U$ s  snf r   )r7   r8   ri   rj   rk   rl   r   rm   s         r!    _CountTokensParameters_to_vertexr     s     !)	+y!-				*d;	:; 
+
|$0	 T+
|%DE	
E t<E	
 
+z". [8*%y 
	
r   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nrp   rq   totalTokenstotal_tokenscachedContentTokenCountcached_content_token_countr]   r9   s       r!   _CountTokensResponse_from_mldevr     s    
 !)	+)*+7'(${=N<O*P 
+'3^$d;&HI	+123?	%&[456 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nrp   rq   r   r   r]   r9   s       r!    _CountTokensResponse_from_vertexr   4  sg    
 !)	+)*+7'(${=N<O*P 
+'3^$d;&HI	r#   c                     0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        U$ Nrf   rg   namer7   r8   ri   rj   rd   r*   r+   r,   r:   s        r!   _DeleteModelParameters_to_mldevr   E  J     !)	+y!-				*d;	:; 
r#   c                     0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        U$ r   r   r   s        r!    _DeleteModelParameters_to_vertexr   V  r   r#   c                 X    0 n[        U S/5      b  [        US/[        U S/5      5        U$ Nrp   rq   r]   r9   s       r!   _DeleteModelResponse_from_mldevr   g  @    
 !)	+)*+7'(${=N<O*P 
r#   c                 X    0 n[        U S/5      b  [        US/[        U S/5      5        U$ r   r]   r9   s       r!    _DeleteModelResponse_from_vertexr   u  r   r#   c                 X   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS	/[        U S/5      5        [        U S
/5      b  [        USS/[        U S
/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        U/ S Q[        U S/5      5        U$ )!Noutput_gcs_uri
parameters
storageUrinegative_promptnegativePromptnumber_of_imagessampleCountaspect_ratioaspectRatioguidance_scaleguidanceScaleseedsafety_filter_levelsafetySettingperson_generationpersonGenerationinclude_safety_attributesincludeSafetyAttributesinclude_rai_reasonincludeRaiReasonlanguageoutput_mime_typer   outputOptionsrA   output_compression_qualityr   r   compressionQualityadd_watermarkaddWatermarklabels	edit_modeeditMode
base_steps)r   
editConfig	baseStepsr]   r9   s       r!   _EditImageConfig_to_vertexr     sO   
 !)	+()*6	|$[+,- 
+)*+7	'([,-. 
+*+,8	}%[-./ 
+'(4	}%[>*+ 
+()*6	'[+,- 
+x ,v.[6(0KL	+-./;	'[012 
++,-9	)*[./0 
+345A	01[678 
+,-.:	)*[/01 
+
|$0	z"[:,' 
+*+,83[-./ 
+456B=[789 
+()5	~&[?+, 
+z".
Dxj$AB	+}%1	z"[;-( 
+~&21[<.) 
r#   c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b5  [        USS/[        US/5       Vs/ s H  n[	        XTU5      PM     sn5        [        US/5      b  [        [        US/5      XC5        U$ s  snf )Nrf   rg   promptinstances[0]reference_imagesreferenceImagesr   )r7   r8   ri   rj   _ReferenceImageAPI_to_vertexr   rm   s         r!   _EditImageParameters_to_vertexr     s     !)	+y!-				*d;	:; 
+z".^X.[8*0MN	+*+,8	*+ [+=*>?	
? )+F?	
 
+z".[8*%y 
	
s   Cc                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        U$ s  snf Nrp   rq   predictionsgenerated_imagesr7   r8   _GeneratedImage_from_vertexrW   s        r!   _EditImageResponse_from_vertexr         
 !)	+)*+7'(${=N<O*P 
+'3	 [=/:	
: (E:	
 
	
   A.c                    0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        S5      e[        U S	/5      b  [        S
5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      eU$ )N	task_type
requests[]taskTypetitleoutput_dimensionalityoutputDimensionalityr@   zqmime_type parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.auto_truncatezuauto_truncate parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.document_ocrztdocument_ocr parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.audio_track_extractionz~audio_track_extraction parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r6   r9   s       r!   _EmbedContentConfig_to_mldevr   7  s.   
 !)	+}%1	z"[;-( 
+y!-w/kG91MN	+/01=	-.[234 
+}%1
	< 
 
+()5
	< 
 
+'(4
	< 
 
+012>
	M 
 
r#   c                    0 n[        US/5      nUc  SnUS:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O.US:X  a(  [        U S/5      b  [        USS/[        U S/5      5        [        US/5      nUc  SnUS:X  a)  [        U S/5      b  [        USS/[        U S/5      5        O.US:X  a(  [        U S/5      b  [        USS/[        U S/5      5        [        US/5      nUc  SnUS:X  a)  [        U S	/5      b  [        US
S/[        U S	/5      5        O.US:X  a(  [        U S	/5      b  [        USS/[        U S	/5      5        [        US/5      nUc  SnUS:X  a(  [        U S/5      b  [        USS/[        U S/5      5        [        US/5      nUc  SnUS:X  a)  [        U S/5      b  [        US
S/[        U S/5      5        O.US:X  a(  [        U S/5      b  [        USS/[        U S/5      5        [        US/5      nUc  SnUS:X  a(  [        U S/5      b  [        USS/[        U S/5      5        [        US/5      nUc  SnUS:X  a(  [        U S/5      b  [        USS/[        U S/5      5        U$ )Nembedding_api_typePREDICTr   instances[]EMBED_CONTENTembedContentConfigr   r   r   r   r   r@   rA   r   autoTruncater   documentOcrr   audioTrackExtractionr]   )r*   r+   r,   r:   discriminators        r!   _EmbedContentConfig_to_vertexr  i  sK   
 !){%9$:;-MiK+'3

+
&
{[M
*
 'K+'3


,
{[M
* {%9$:;-MiK'#/

-14gY3O 'K'#/


)
{WI
& {%9$:;-MiK123?

/
0
{45
6
 'K123?

!7
8
{45
6 {%9$:;-MiK+'3

*
%
{[M
* {%9$:;-MiK/*+7


(
{_-
.
 'K/*+7


0
{_-
. {%9$:;-Mo%K.)*6


/
{^,
- {%9$:;-Mo%K234@

!7
8
{56
7 
r#   c                 D   0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b@  [        USS/[        R                  " U [        US/5      5       Vs/ s H  nUPM     sn5        [        US/5      b+  [        [        R                  " [        US/5      5      XC5        [        US/5      b  [        [        US/5      XC5        [        USS/[        R                  " U [        US/5      5      5        U$ s  snf )Nrf   rg   rh   r   rD   r   )r7   r8   ri   rj   t_contents_for_embedr   r   r   rm   s         r!   '_EmbedContentParametersPrivate_to_mldevr    s0    !)	+y!-				*d;	:; 
+
|$0	y! ..Dzl;	
 	
	 
+	{#/	Dyk23Y 
+z". [8*%y Wii
Dwi89
 
/	
s   ;Dc                 `   0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      nUc  SnUS:X  aN  [        US/5      b@  [        USS/[        R                  " U [        US/5      5       Vs/ s H  nUPM     sn5        [        US/5      nUc  SnUS:X  aF  [        US/5      b8  [        US/[        [        R                  " [        US/5      5      UU5      5        [        US	/5      b  [        [        US	/5      XC5        U$ s  snf )
Nrf   rg   r   r   rh   r  rD   r  r   )r7   r8   ri   rj   r
  rl   r   r  )rd   r*   r+   r,   r:   r  rX   s          r!   (_EmbedContentParametersPrivate_to_vertexr    s^    !)	+y!-				*d;	:; {%9$:;-MiK*&2

)
$ 00d;=$ 	 {%9$:;-Mo%K)%1

+
kk${YK89 
+z".![8*%y 
9s   D+c                    0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        [        U S/5      b  [        US/[        U S/5      5        U$ s  snf )Nrp   rq   
embeddingsmetadatar]   rW   s        r!    _EmbedContentResponse_from_mldevr  ;  s    
 !)	+)*+7'(${=N<O*P 
+~&2	{\N;<;$;< 
+
|$0ZL${ZL"AB	 	=s   B
c                 @   0 n[        U S/5      b  [        US/[        U S/5      5        [        U SS/5      b5  [        US/[        U SS/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b  [        US/[        U S/5      5        [        US/5      S:X  as  [        U S/5      n[        U S	/5      n[        U S
/5      nU(       aE  0 nU(       a  UR                  S5      (       a  US   US'   U(       a  XxS
'   XS'   [        US/U/5        U$ s  snf )Nrp   rq   zpredictions[]r  r  r   r  	embeddingusageMetadatar~   promptTokenCountrH   r   )r7   r8   r   get)	r*   r+   r,   r:   rX   r  usage_metadatar~   statss	            r!   !_EmbedContentResponse_from_vertexr  S  sL   
 !)	+)*+7'(${=N<O*P 
+67C	 [?L*IJ	
J *$;GJ	
 
+
|$0ZL${ZL"AB	+,-./A[;-0I+'89N[;-0Ie	N../ABB-.@Am	&k %
9|nyk2	-	
s   Dc                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nendpointr   deployedModelIddeployed_model_idr]   r9   s       r!   _Endpoint_from_vertexr  {  sf    
 !)	+
|$0VHd;=>	+)*+7'(${=N<O*P 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      eU$ )Ncoder   ra   rb   r6   r9   s       r!   _ExecutableCode_to_vertexr!    s~    
 !)	+x ,VHd;9:	+
|$0ZL${ZL"AB	+v*
	2 
 
r#   c                     0 n[        U S/5      b  [        S5      e[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr>   r?   file_urifileUrir@   rA   )r7   r   r8   r9   s       r!   _FileData_to_mldevr%    s    
 !)	+'(4
	< 
 
+
|$0YKkJ<!@A	+}%1ZL${[M"BC	r#   c                 X   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      eU$ )Nra   argsr   partial_argsztpartial_args parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.will_continuezuwill_continue parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r6   r9   s       r!   _FunctionCall_to_mldevr*    s    
 !)	+v*TFDtf56	+x ,VHd;9:	+x ,VHd;9:	+'(4
	< 
 
+()5
	< 
 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      eU$ )Nallowed_function_namesallowedFunctionNamesmodestream_function_call_argumentszstream_function_call_arguments parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r6   r9   s       r!   _FunctionCallingConfig_to_mldevr0    s    
 !)	+012>	 [345 
+x ,VHd;9:	+89:F
	M 
 
r#   c                 
   0 n[        US/5      b8  [        US/[        [        R                  " [        US/5      5      UU5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US	/[        US/5      5        [        US
/5      b  [        US/[        US
/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b.  [        US/[        R
                  " U [        US/5      5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        S5      e[        US/5      b  [        S5      e[        US /5      b4  [        US!/[        US /5       Vs/ s H  n[        XTU5      PM     sn5        [        US"/5      b]  [        US"/[        R                  " U [        US"/5      5       Vs/ s H#  n[        [        R                  " X5      XC5      PM%     sn5        [        US#/5      b#  [        US$/[        [        US#/5      XC5      5        [        US%/5      b  [        S&5      e[        US'/5      b.  [        US(/[        R                  " U [        US'/5      5      5        [        US)/5      b  [        US*/[        US)/5      5        [        US+/5      b  [        US,/[        US+/5      5        [        US-/5      b-  [        US./[        R                  " [        US-/5      5      5        [        US//5      b  [        S05      e[        US1/5      b  [        US2/[        US1/5      5        [        US3/5      b#  [        US4/[        [        US3/5      XC5      5        [        US5/5      b  [        US6/[        US5/5      5        [        US7/5      b  [        S85      e[        US9/5      b  [        US:/[        US9/5      5        U$ s  snf s  snf );Nr   r   temperaturetop_ptopPtop_ktopKcandidate_countcandidateCountmax_output_tokensmaxOutputTokensstop_sequencesstopSequencesresponse_logprobsresponseLogprobslogprobspresence_penaltypresencePenaltyfrequency_penaltyfrequencyPenaltyr   response_mime_typeresponseMimeTyperesponse_schemaresponseSchemaresponse_json_schemaresponseJsonSchemarouting_configzvrouting_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.model_selection_configz~model_selection_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.safety_settingssafetySettingsr   tool_config
toolConfigr   nlabels parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.cached_contentcachedContentresponse_modalitiesresponseModalitiesmedia_resolutionmediaResolutionspeech_configspeechConfigaudio_timestampzwaudio_timestamp parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.thinking_configthinkingConfigimage_configimageConfigenable_enhanced_civic_answersenableEnhancedCivicAnswersmodel_armor_configzzmodel_armor_config parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.service_tierserviceTier)r7   r8   r   ri   r   t_schemar   _SafetySetting_to_mldevt_tools_Tool_to_mldevt_tool_ToolConfig_to_mldevt_cached_content_namet_speech_config_ImageConfig_to_mldevrm   s         r!   _GenerateContentConfig_to_mldevrl    s#    !)	+,-.:	KK[+?*@AB	
 
+'3]OT+%GH	+y!-VHd;	:;	+y!-VHd;	:;	+)*+7%&[;L:M(NO	++,-9%&[;N:O(P 
+()*6_%tK:J9K'LM	++,-9	[./0 
+
|$0ZL${ZL"AB	+*+,8%&[;M:N(O 
++,-9	[./0 
+x ,VHd;9:	+,-.:	[/01 
+)*+7		

:tK2C1DEF 
+./0<	[123 
+()*6
	< 
 
+012>
	M 
 
+)*+7	 [+<*=>	
> $D[A>	
 
+y!-		 		*d;	.JK	
K 188J5yNK	
 
+'3	}o.		
 
+z".
	3 
 
+()*6		[+;*<=	
 
+-./;	[012 
+*+,8%&[;M:N(O 
+()5		${_,=>? 
+)*+7
	< 
 
+)*+7%&[;L:M(NO	+'(4	~./	
 
+789E	%&[:;< 
+,-.:
	B 
 
+'(4kN;K)LM	{	
	
s   U.*Uc                    0 n[        US/5      b8  [        US/[        [        R                  " [        US/5      5      UU5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US	/[        US/5      5        [        US
/5      b  [        US/[        US
/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b.  [        US/[        R
                  " U [        US/5      5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US/5      b  [        US/[        US/5      5        [        US /5      b)  [        US!/[        US /5       Vs/ s H  oUPM     sn5        [        US"/5      b]  [        US"/[        R                  " U [        US"/5      5       Vs/ s H#  n[        [        R                  " X5      XC5      PM%     sn5        [        US#/5      b#  [        US$/[        [        US#/5      XC5      5        [        US%/5      b  [        US%/[        US%/5      5        [        US&/5      b.  [        US'/[        R                  " U [        US&/5      5      5        [        US(/5      b  [        US)/[        US(/5      5        [        US*/5      b  [        US+/[        US*/5      5        [        US,/5      b8  [        US-/[        [        R                  " [        US,/5      5      UU5      5        [        US./5      b  [        US//[        US./5      5        [        US0/5      b  [        US1/[        US0/5      5        [        US2/5      b#  [        US3/[        [        US2/5      XC5      5        [        US4/5      b  [        S55      e[        US6/5      b  [        US7/[        US6/5      5        [        US8/5      b  [        US9/[        US8/5      5        U$ s  snf s  snf ):Nr   r   r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  r   rD  rE  rF  rG  rH  rI  rJ  routingConfigrK  modelConfigrL  rM  r   rN  rO  r   rQ  rR  rS  rT  rU  rV  rW  rX  rY  audioTimestamprZ  r[  r\  r]  r^  enable_enhanced_civic_answers parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r`  modelArmorConfigra  rb  )r7   r8   rl   ri   r   rc  re  r   rg  _ToolConfig_to_vertexri  _SpeechConfig_to_vertexrj  _ImageConfig_to_vertexr   rm   s         r!    _GenerateContentConfig_to_vertexrv    s=    !)	+,-.:	KK[+?*@AB	
 
+'3]OT+%GH	+y!-VHd;	:;	+y!-VHd;	:;	+)*+7%&[;L:M(NO	++,-9%&[;N:O(P 
+()*6_%tK:J9K'LM	++,-9	[./0 
+
|$0ZL${ZL"AB	+*+,8%&[;M:N(O 
++,-9	[./0 
+x ,VHd;9:	+,-.:	[/01 
+)*+7		

:tK2C1DEF 
+./0<	[123 
+()*6_%tK:J9K'LM	+012>	[345 
+)*+7	{->,?@A@$@A 
+y!-		 		*d;	.JK	
K AHHZ6	OK	
 
+'3	}o.		
 
+z".
Dxj$AB	+()*6		[+;*<=	
 
+-./;	[012 
+*+,8%&[;M:N(O 
+()5	d;0ABC	
 
+)*+7%&[;L:M(NO	+)*+7%&[;L:M(NO	+'(4	~./	
 
+789E
	M 
 
+,-.:	[/01 
+'(4kN;K)LM	q 	B	
s   3V ?*Vc                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      bH  [        US/[        R                  " [        US/5      5       Vs/ s H  n[        XTU5      PM     sn5        [        US/5      b$  [        US/[        U [        US/5      XC5      5        U$ s  snf Nrf   rg   rh   r   r   )r7   r8   ri   rj   rk   r   rl  rm   s         r!   #_GenerateContentParameters_to_mldevry  p  s     !)	+y!-				*d;	:; 
+
|$0	 T+
|%DE	
E d{;E	
 
+z".	'[8*5y	
 
	
   9C
c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      bH  [        US/[        R                  " [        US/5      5       Vs/ s H  n[        XTU5      PM     sn5        [        US/5      b$  [        US/[        U [        US/5      XC5      5        U$ s  snf rx  )r7   r8   ri   rj   rk   rl   rv  rm   s         r!   $_GenerateContentParameters_to_vertexr|    s     !)	+y!-				*d;	:; 
+
|$0	 T+
|%DE	
E t<E	
 
+z".	([8*5y	
 
	
rz  c                 l   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US	/[        U S/5      5        [        U S
/5      b  [        US/[        U S
/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ s  snf )Nrp   rq   
candidatesmodelVersionmodel_versionpromptFeedbackprompt_feedback
responseIdresponse_idr  r  modelStatusmodel_status)r7   r8   rY   rW   s        r!   #_GenerateContentResponse_from_mldevr    s_   
 !)	+)*+7'(${=N<O*P 
+~&2	 [<.9	
9 "$;?9	
 
+'(4_%tK.9I'JK	+()*6&'k<L;M)NO	+~&2]OT+~%FG	+()5%&[?:K(LM	+'3^$d;&HI	+	
s   D1c                 V   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US	/[        U S/5      5        [        U S
/5      b  [        US/[        U S
/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ s  snf )Nrp   rq   r~  
createTimecreate_timer  r  r  r  r  r  r  r  r]   rW   s        r!   $_GenerateContentResponse_from_vertexr    sN   
 !)	+)*+7'(${=N<O*P 
+~&2	{\N;<;$;< 
+~&2]OT+~%FG	+'(4_%tK.9I'JK	+()*6&'k<L;M)NO	+~&2]OT+~%FG	+()5%&[?:K(LM	% 	=s   D&c                    0 n[        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS	/[        U S/5      5        [        U S
/5      b  [        USS/[        U S
/5      5        [        U S/5      b  [        S5      e[        U S/5      b0  [        [        U S/5      5        [        USS/[        U S/5      5        [        U S/5      b0  [	        [        U S/5      5        [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        USS /[        U S/5      5        [        U S!/5      b  [        S"5      eU$ )#Nr   voutput_gcs_uri parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   zwnegative_prompt parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   r   r   r   r   r   r   r   lseed parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   r   r   r   r   r   r   r   r   r   r   r   r   r   zuadd_watermark parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   rP  
image_sizesampleImageSizeenhance_promptzvenhance_prompt parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.)r7   r   r8   r&   r"   r9   s       r!   _GenerateImagesConfig_to_mldevr    sD   
 !)	+()*6
	< 
 
+)*+7
	< 
 
+*+,8	}%[-./ 
+'(4	}%[>*+ 
+()*6	'[+,- 
+x ,
	3 
 
+-./;-[012 		'[012 
++,-9,[./0 		)*[./0 
+345A	01[678 
+,-.:	)*[/01 
+
|$0	z"[:,' 
+*+,83[-./ 
+456B=[789 
+()5
	< 
 
+z".
	3 
 
+~&2	()[<.) 
+()*6
	< 
 
r#   c                 X   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS	/[        U S/5      5        [        U S
/5      b  [        USS/[        U S
/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS /[        U S/5      5        U$ )!Nr   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  enhancePromptr]   r9   s       r!   _GenerateImagesConfig_to_vertexr    sY   
 !)	+()*6	|$[+,- 
+)*+7	'([,-. 
+*+,8	}%[-./ 
+'(4	}%[>*+ 
+()*6	'[+,- 
+x ,v.[6(0KL	+-./;	'[012 
++,-9	)*[./0 
+345A	01[678 
+,-.:	)*[/01 
+
|$0	z"[:,' 
+*+,83[-./ 
+456B=[789 
+()5	~&[?+, 
+z".
Dxj$AB	+~&2	()[<.) 
+()*6	'[+,- 
r#   c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b  [	        [        US/5      XC5        U$ Nrf   rg   r   r   r   )r7   r8   ri   rj   r  r   s        r!   "_GenerateImagesParameters_to_mldevr    s     !)	+y!-				*d;	:; 
+z".^X.[8*0MN	+z"."[8*%y 
r#   c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b  [	        [        US/5      XC5        U$ r  )r7   r8   ri   rj   r  r   s        r!   #_GenerateImagesParameters_to_vertexr    s     !)	+y!-				*d;	:; 
+z".^X.[8*0MN	+z".#[8*%y 
r#   c                 J   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b$  [        US/[        [        U S/5      UU5      5        U$ s  snf Nrp   rq   r   r   positivePromptSafetyAttributes!positive_prompt_safety_attributes)r7   r8   _GeneratedImage_from_mldev_SafetyAttributes_from_mldevrW   s        r!   "_GenerateImagesResponse_from_mldevr  /  s    
 !)	+)*+7'(${=N<O*P 
+'3	 [=/:	
: 'tD:	
 
+89:F	,-$?@A	
 
#	
   B c                 J   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b$  [        US/[        [        U S/5      UU5      5        U$ s  snf r  )r7   r8   r   _SafetyAttributes_from_vertexrW   s        r!   #_GenerateImagesResponse_from_vertexr  R  s    
 !)	+)*+7'(${=N<O*P 
+'3	 [=/:	
: (E:	
 
+89:F	,-%?@A	
 
#	
r  c                 >   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        USS	/[        U S/5      5        [        U S
/5      b  [        S5      e[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b$  [        USS/[        [        U S/5      X25      5        [        U S/5      b5  [        USS/[        U S/5       Vs/ s H  n[	        XCU5      PM     sn5        [        U S/5      b  [        S5      e[        U S /5      b  [        S!5      e[        U S"/5      b  [        S#5      e[        U S$/5      b  [        US%/[        U S$/5      5        [        U S&/5      b  [        S'5      eU$ s  snf )(Nnumber_of_videosr   r   r   r  fpszkfps parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.duration_secondsdurationSecondsr   r  r   r   
resolutionr   r   pubsub_topicztpubsub_topic parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   r   r  r  generate_audiozvgenerate_audio parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.
last_framer   	lastFramer   r   maskzlmask parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.compression_qualityz{compression_quality parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   rP  webhook_configwebhookConfigresize_modezsresize_mode parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.)r7   r8   r   _Image_to_mldev'_VideoGenerationReferenceImage_to_mldevrW   s        r!   _GenerateVideosConfig_to_mldevr  u  s   
 !)	+*+,8	}%[-./ 
+()*6
	< 
 
+w+
	3 
 
+*+,8	()[-./ 
+x ,
	3 
 
+'(4	}%[>*+ 
+~&2	|$[<.) 
++,-9	)*[./0 
+'(4
	< 
 
+)*+7	'([,-. 
+()*6	'[+,- 
+()*6
	< 
 
+~&2	%|n-y	
 
+*+,8	*+
 [+=*>?		
 @ 4 @		
	 
+x ,
	3 
 
+-./;
	B 
 
+z".
	3 
 
+()*6(${=M<N*O 
+'3
	< 
 
K	
s   0Jc                 B   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S	/5      b  [        USS	/[        U S	/5      5        [        U S
/5      b  [        USS/[        U S
/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b$  [        USS/[        [        U S/5      X25      5        [        U S/5      b5  [        USS/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b$  [        USS/[	        [        U S/5      X25      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S /5      b  [        S!5      e[        U S"/5      b  [        USS#/[        U S"/5      5        U$ s  snf )$Nr  r   r   r   r   r  r  r  r   r   r   r  r   r   r  pubsubTopicr   r   r  r  r  generateAudior  r   r  r   r   r  r  r   r   r  zvwebhook_config parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r  
resizeMode)r7   r8   _Image_to_vertex(_VideoGenerationReferenceImage_to_vertex_VideoGenerationMask_to_vertexr   rW   s        r!   _GenerateVideosConfig_to_vertexr   	  s   
 !)	+*+,8	}%[-./ 
+()*6	|$[+,- 
+w+u-tK%/IJ	+*+,8	()[-./ 
+x ,v.[6(0KL	+'(4	}%[>*+ 
+~&2	|$[<.) 
++,-9	)*[./0 
+'(4	}%[>*+ 
+)*+7	'([,-. 
+()*6	'[+,- 
+()*6	'[+,- 
+~&2	%|n-y	
 
+*+,8	*+
 [+=*>?		
 @ 5 @		
	 
+x ,	 &vh'	
 
+-./;	+,[012 
+z".
Dxj$AB	+()*6
	? 
 
+'3	|$[=/* 
Q	
s   ;Lc                    0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U SS/5      b%  [        US/[        [        U SS/5      UU5      5        [        U SS/5      b%  [        US/[        [        U SS/5      UU5      5        U$ )Nr   r  doneerrorresponsegenerateVideoResponseresult)r7   r8   "_GenerateVideosResponse_from_mldevr9   s       r!   #_GenerateVideosOperation_from_mldevr  	  s-   
 !)	+x ,VHd;9:	+
|$0ZL${ZL"AB	+x ,VHd;9:	+y!-WItK';<	+
$;<=I	*z+BCD	
 
+
$;<=I	
*z+BCD	
 
r#   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nr   r  r  r  r  r  )r7   r8   #_GenerateVideosResponse_from_vertexr9   s       r!   $_GenerateVideosOperation_from_vertexr  	  s   
 !)	+x ,VHd;9:	+
|$0ZL${ZL"AB	+x ,VHd;9:	+y!-WItK';<	+
|$0	+zl+Y	
 
+
|$0	
+zl+Y	
 
r#   c                 0   0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b$  [        USS/[	        [        US/5      XC5      5        [        US/5      b$  [        USS/[        [        US/5      XC5      5        [        US/5      b  [        [        US/5      XC5        [        US/5      b  [        [        US/5      XC5        U$ 	Nrf   rg   r   r   imagevideosourcer   )r7   r8   ri   rj   r  _Video_to_mldev_GenerateVideosSource_to_mldevr  r   s        r!   "_GenerateVideosParameters_to_mldevr  	  s/    !)	+y!-				*d;	:; 
+z".^X.[8*0MN	+y!-	![7)4iM 
+y!-	![7)4iM 
+z"."[8*%y 
+z"."[8*%y 
r#   c                 0   0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b$  [        USS/[	        [        US/5      XC5      5        [        US/5      b$  [        USS/[        [        US/5      XC5      5        [        US/5      b  [        [        US/5      XC5        [        US/5      b  [        [        US/5      XC5        U$ r  )r7   r8   ri   rj   r  _Video_to_vertex_GenerateVideosSource_to_vertexr  r   s        r!   #_GenerateVideosParameters_to_vertexr  	
  s/    !)	+y!-				*d;	:; 
+z".^X.[8*0MN	+y!-	!kG95yN 
+y!-	!kG95yN 
+z".#[8*%y 
+z".#[8*%y 
r#   c                 4   0 n[        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ s  snf )NgeneratedSamplesgenerated_videosraiMediaFilteredCountrai_media_filtered_countraiMediaFilteredReasonsrai_media_filtered_reasons)r7   r8   _GeneratedVideo_from_mldevrW   s        r!   r  r  5
  s    
 !)	+*+,8	 [+=*>?	
? 'tD?	
 
+/01=	#$[234 
+123?	%&[456 
)	
   Bc                 4   0 n[        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ s  snf )Nvideosr  r  r  r  r  )r7   r8   _GeneratedVideo_from_vertexrW   s        r!   r  r  V
  s    
 !)	+z".	 [8*5	
5 (E5	
 
+/01=	#$[234 
+123?	%&[456 
)	
r  c           
      "   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b$  [        USS/[        [        U S/5      X25      5        [        U S/5      b$  [        USS/[        [        U S/5      X25      5        U$ Nr   r   r  r  )r7   r8   r  r  r9   s       r!   r  r  w
  s    
 !)	+z".14hZ3P 
+y!-	![7)4iM 
+y!-	![7)4iM 
r#   c           
      "   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b$  [        USS/[        [        U S/5      X25      5        [        U S/5      b$  [        USS/[        [        U S/5      X25      5        U$ r  )r7   r8   r  r  r9   s       r!   r  r  
  s    
 !)	+z".14hZ3P 
+y!-	!kG95yN 
+y!-	!kG95yN 
r#   c           
          0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        U$ s  snf )N_selfr  r   )r7   r8   _Image_from_vertexrW   s        r!   _GeneratedImageMask_from_vertexr  
  s    
 !)	+y!-	wi()	
 
+z".H:kH:1NO1N1NO 
  Ps   A-c           
         0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nr  r  raiFilteredReasonrai_filtered_reasonsafety_attributes)r7   r8   _Image_from_mldevr  r9   s       r!   r  r  
  s    
 !)	+y!-		${WI6	O 
++,-9	[./0 
+y!-	$wi()	
 
r#   c           
      j   0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr  r  r  r  r  r   enhanced_prompt)r7   r8   r  r  r9   s       r!   r   r   
  s    
 !)	+y!-		wi()	
 
++,-9	[./0 
+y!-	%wi()	
 
+z".&'kH:)FG	r#   c           
      l    0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nr  )r7   r8   _Video_from_mldevr9   s       r!   r  r    sC    
 !)	+y!-		${WI6	O 
r#   c           
      l    0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nr  r  )r7   r8   _Video_from_vertexr9   s       r!   r  r    sF    
 !)	+y!-		wi()	
 
r#   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S	/5      b  [        US
/[        U S	/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US /[        [        U S/5      X25      5        [        U S!/5      b  [        US"/[        U S!/5      5        [        U S#/5      b  [        US#/[        U S#/5      5        [        U S$/5      b  [        US%/[        U S$/5      5        [        U S&/5      b  [        US'/[        U S&/5      5        [        U S(/5      b  [        US)/[        U S(/5      5        [        U S*/5      b  [        S+5      eU$ ),NrK  ro  rH  rI  rY  rp  r7  r8  enable_affective_dialogenableAffectiveDialogrB  rC  r?  r9  r:  rU  rV  r@  rA  r=  r>  rD  rE  rS  rT  rF  rG  rJ  rn  r   rW  rX  r;  r<  r2  rZ  r[  r5  r6  r3  r4  r^  rq  )r7   r8   rt  r   r9   s       r!   r   r   -  s#   
 !)	+012>	[345 
+./0<	[123 
+)*+7%&[;L:M(NO	+)*+7%&[;L:M(NO	+123?	 ![456 
++,-9	[./0 
+
|$0ZL${ZL"AB	++,-9%&[;N:O(P 
+*+,8%&[;M:N(O 
+*+,8%&[;M:N(O 
++,-9	[./0 
+,-.:	[/01 
+-./;	[012 
+)*+7%&[;L:M(NO	+()*6_%tK:J9K'LM	+x ,VHd;9:	+()5	/0)	
 
+()*6_%tK:J9K'LM	+'3]OT+%GH	+)*+7%&[;L:M(NO	+y!-VHd;	:;	+y!-VHd;	:;	+789E
	M 
 
r#   c                     0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        U$ r   r   r   s        r!   _GetModelParameters_to_mldevr    r   r#   c                     0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        U$ r   r   r   s        r!   _GetModelParameters_to_vertexr    r   r#   c           
          0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nauth_config
authConfigenable_widgetenableWidget)r7   r8   r;   r9   s       r!   _GoogleMaps_to_mldevr    so    
 !)	+'3	}o.		
 
+()5^$d;8I&JK	r#   c                 
   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S/5      b  [        US/[        U S/5      5        U$ )	Nsearch_typessearchTypesblocking_confidencez{blocking_confidence parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.exclude_domainszwexclude_domains parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.time_range_filtertimeRangeFilterr6   r9   s       r!   _GoogleSearch_to_mldevr	    s    
 !)	+'(4]OT+7G%HI	+-./;
	B 
 
+)*+7
	< 
 
++,-9%&[;N:O(P 
r#   c                    0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      e[        U S	/5      b  [        S
5      e[        U S/5      b  [        S5      e[        U S/5      b  [        S5      eU$ )Nr   r   r  	imageSizer   zyperson_generation parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.prominent_peoplezxprominent_people parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   zxoutput_mime_type parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   zoutput_compression_quality parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.image_output_optionsz|image_output_options parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r6   r9   s       r!   rk  rk    s   
 !)	+'(4]OT+7G%HI	+~&2[M4l^#DE	++,-9
	B 
 
+*+,8
	B 
 
+*+,8
	B 
 
+456B
	M 
 
+./0<
	B 
 
r#   c                 0   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S	/5      b  [        US
S/[        U S	/5      5        [        U S/5      b  [        US
S/[        U S/5      5        [        U S/5      b  [        US
/[        U S/5      5        U$ )Nr   r   r  r  r   r   r  prominentPeopler   imageOutputOptionsrA   r   r   r  r]   r9   s       r!   ru  ru  '  s[   
 !)	+'(4]OT+7G%HI	+~&2[M4l^#DE	++,-9	[./0 
+*+,8%&[;M:N(O 
+*+,8	z*[-./ 
+456B	34[789 
+./0<	[123 
r#   c           
          0 n[        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )NbytesBase64Encodedimage_bytesrA   r@   r7   r8   base_tt_bytesr9   s       r!   r  r  W  so    
 !)	+,-.:	tK*>)?@A 
+
|$0[M4j\#BC	r#   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )NgcsUrigcs_urir  r  rA   r@   r  r9   s       r!   r  r  k  s    
 !)	+z".YKkH:!>?	+,-.:	tK*>)?@A 
+
|$0[M4j\#BC	r#   c           
          0 n[        U S/5      b  [        S5      e[        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr  zogcs_uri parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r  r  r@   rA   )r7   r   r8   r  r  r9   s       r!   r  r    s    
 !)	+	{#/
	< 
 
+'3	tK-9: 
+}%1ZL${[M"BC	r#   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr  r  r  r  r@   rA   r  r9   s       r!   r  r    s    
 !)	+	{#/XJ[9+ >?	+'3	tK-9: 
+}%1ZL${[M"BC	r#   c                 t   0 n[        US/5      b  [        USS/[        US/5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b/  [        USS	/[        R                  " U [        US/5      5      5        U$ 
N	page_size_querypageSize
page_token	pageTokenfilter
query_baserg   
models_urlr7   r8   ri   t_models_urlr   s        r!   _ListModelsConfig_to_mldevr(         !)	+}%1*-tK+/O 
+~&2	;[<.) 
+z".8,d;
.KL	+~&2		z4l^#DE 
r#   c                 t   0 n[        US/5      b  [        USS/[        US/5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b  [        USS/[        US/5      5        [        US/5      b/  [        USS	/[        R                  " U [        US/5      5      5        U$ r  r&  r   s        r!   _ListModelsConfig_to_vertexr+    r)  r#   c                 V    0 n[        US/5      b  [        U [        US/5      XC5        U$ Nr   )r7   r(  r   s        r!   _ListModelsParameters_to_mldevr.    s8     !)	+z".Dxj19 
r#   c                 V    0 n[        US/5      b  [        U [        US/5      XC5        U$ r-  )r7   r+  r   s        r!   _ListModelsParameters_to_vertexr0    s8     !)	+z".Dxj19 
r#   c                 \   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      bH  [        US/[        R                  " [        U S/5      5       Vs/ s H  n[	        XCU5      PM     sn5        U$ s  snf Nrp   rq   nextPageTokennext_page_tokenr  models)r7   r8   ri   t_extract_models_Model_from_mldevrW   s        r!   _ListModelsResponse_from_mldevr8    s    
 !)	+)*+7'(${=N<O*P 
+()5&'kO;L)MN	+y!-	
 **4gY+GH	
H d{;H	
 
	
   
B)c                 \   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      bH  [        US/[        R                  " [        U S/5      5       Vs/ s H  n[	        XCU5      PM     sn5        U$ s  snf r2  )r7   r8   ri   r6  _Model_from_vertexrW   s        r!   _ListModelsResponse_from_vertexr<  +  s    
 !)	+)*+7'(${=N<O*P 
+()5&'kO;L)MN	+y!-	
 **4gY+GH	
H t<H	
 
	
r9  c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )N	mask_modemaskModesegmentation_classesmaskClassesmask_dilationdilationr]   r9   s       r!   _MaskReferenceConfig_to_vertexrD  F  s    
 !)	+}%1ZL${[M"BC	+./0<M?D7M6N$O 
+()5ZL${_4E"FG	r#   c                 n    0 n[        U S/5      b  [        S5      e[        U S/5      b  [        S5      eU$ )Nr   zlname parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.streamable_http_transportzstreamable_http_transport parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r   r9   s       r!   _McpServer_to_vertexrG  Z  sX    
 !)	+x ,
	2 
 
+345A
	M 
 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US	/[        U S/5      5        [        U S
/5      b  [        US/[        U S
/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr   displayNamer>   descriptionversionr  tuned_model_infoinputTokenLimitinput_token_limitoutputTokenLimitoutput_token_limitsupportedGenerationMethodssupported_actionsr2  maxTemperaturemax_temperaturer4  r3  r6  r5  thinkingr]   r9   s       r!   r7  r7  o  s)   
 !)	+x ,VHd;9:	+'3^$d;&HI	+'3]OT+%GH	+	{#/YKkI;!?@	+y!-'(${WI*FG	+)*+7'(${=N<O*P 
+*+,8	[-./ 
+456B	[789 
+'3]OT+%GH	+()*6&'k<L;M)NO	+x ,WItK&:;	+x ,WItK&:;	+
|$0ZL${ZL"AB	r#   c                 F   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        [        U S	/5      b  [        US	/[        U S	/5      5        [        U S
/5      b#  [        US/[        [        U S
/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        U$ s  snf s  snf )Nr   rI  r>   rJ  	versionIdrK  deployedModels	endpointsr   r  rL  defaultCheckpointIddefault_checkpoint_idcheckpoints)r7   r8   r  _TunedModelInfo_from_vertexrW   s        r!   r;  r;    s   
 !)	+x ,VHd;9:	+'3^$d;&HI	+'3]OT+%GH	+}%1YKkK=!AB	+()*6	 [+;*<=	
= "$;?=	
 
+z".XJ[8* =>	+y!-	#wi()	
 
+-./;	 ![012 
+'3	{]O<=<$<= 
A	
: 	>s   FFc                     0 n[        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        U$ s  snf )Nspeaker_voice_configsspeakerVoiceConfigs)r7   r8   _SpeakerVoiceConfig_to_vertexrW   s        r!   "_MultiSpeakerVoiceConfig_to_vertexrb    sg    
 !)	+/01=	 [+B*CD	
D *$;GD	
 
	
   Ac           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S	/5      b#  [        US
/[        [        U S	/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[	        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )NrU  rV  code_execution_resultcodeExecutionResultexecutable_codeexecutableCode	file_datafileDatafunction_callfunctionCallfunction_responsefunctionResponseinline_data
inlineDatatextthoughtthought_signaturethoughtSignaturevideo_metadatavideoMetadata	tool_calltoolCalltool_responsetoolResponsepart_metadatapartMetadata)r7   r8   r%  r*  rB   r9   s       r!   r   r     s   
 !)	+*+,8%&[;M:N(O 
+/01=	[234 
+)*+7%&[;L:M(NO	+}%1	{m,i	
 
+()5	/0)	
 
++,-9	[./0 
+'3	}o.		
 
+x ,VHd;9:	+	{#/YKkI;!?@	++,-9	[./0 
+()*6_%tK:J9K'LM	+}%1ZL${[M"BC	+()5^$d;8I&JK	+()5^$d;8I&JK	r#   c           
      "   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S	/5      b  [        US
/[        U S	/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [	        S5      e[        U S/5      b  [	        S5      e[        U S/5      b  [	        S5      eU$ )NrU  rV  re  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  zqtool_call parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.ry  zutool_response parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r{  zupart_metadata parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.)r7   r8   rc   r!  r   r9   s       r!   r   r   H  ss   
 !)	+*+,8%&[;M:N(O 
+/01=	&678)	
 
+)*+7	!012I	
 
+}%1ZL${[M"BC	+()5^$d;8I&JK	++,-9	[./0 
+'3\ND}o$FG	+x ,VHd;9:	+	{#/YKkI;!?@	++,-9	[./0 
+()*6_%tK:J9K'LM	+}%1
	9 
 
+()5
	? 
 
+()5
	? 
 
r#   c           
      l    0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nproduct_imager  r7   r8   r  r9   s       r!   _ProductImage_to_vertexr    sH    
 !)	+()5		/0)	
 
r#   c                 x   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S	/5      b  [        USS
/[        U S	/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r]   r9   s       r!   _RecontextImageConfig_to_vertexr    s#   
 !)	+*+,8	}%[-./ 
+~&2	{#[<.) 
+()*6	|$[+,- 
+x ,v.[6(0KL	+-./;	'[012 
++,-9	)*[./0 
+()5	~&[?+, 
+*+,83[-./ 
+456B=[789 
+()*6	'[+,- 
+z".
Dxj$AB	r#   c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [	        [        US/5      XC5        [        US/5      b  [        [        US/5      XC5        U$ Nrf   rg   r  r   )r7   r8   ri   rj   _RecontextImageSource_to_vertexr  r   s        r!   #_RecontextImageParameters_to_vertexr    s     !)	+y!-				*d;	:; 
+z".#[8*%y 
+z".#[8*%y 
r#   c                     0 n[        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        U$ s  snf )Nr   r   r   rW   s        r!   #_RecontextImageResponse_from_vertexr    sc    
 !)	+'3	 [=/:	
: (E:	
 
	
rc  c                 N   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b$  [        U/ SQ[        [        U S/5      X25      5        [        U S/5      b5  [        USS/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        U$ s  snf )Nr   r   person_image)r   personImager  product_imagesproductImages)r7   r8   r  r  rW   s        r!   r  r  )  s    
 !)	+z".14hZ3P 
+'(40~./	
 
+()*6	) [+;*<=	
= $D[A=	
 
	
s   B"c           
      h   0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S	/5      b#  [        US
/[	        [        U S	/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nreference_imagereferenceImagereference_idreferenceIdreference_typereferenceTypemask_image_configmaskImageConfigcontrol_image_configcontrolImageConfigstyle_image_configstyleImageConfigsubject_image_configsubjectImageConfig)r7   r8   r  rD  r   r9   s       r!   r   r   J  sz   
 !)	+)*+7	012I	
 
+'(4]OT+7G%HI	+()*6_%tK:J9K'LM	++,-9	&234i	
 
+./0<	)567	
 
+,-.:	[/01 
+./0<	[123 
r#   c                 
   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        S5      eU$ )	Nr@   rA   voice_sample_audiovoiceSampleAudioconsent_audiozuconsent_audio parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.voice_consent_signaturezvoice_consent_signature parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r6   r9   s       r!    _ReplicatedVoiceConfig_to_vertexr    s    
 !)	+}%1ZL${[M"BC	+,-.:	[/01 
+()5
	? 
 
+123?
	M 
 
r#   c           	          0 n[        U SS/5      b  [        US/[        U SS/5      5        [        U SS/5      b  [        US/[        U SS/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ NsafetyAttributes
categoriesscorescontentTypecontent_typer]   r9   s       r!   r  r        
 !)	+*L9:F	[-|<= 
+*H56BH:tK2Dh1OP 
+'3^$d;&HI	r#   c           	          0 n[        U SS/5      b  [        US/[        U SS/5      5        [        U SS/5      b  [        US/[        U SS/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ r  r]   r9   s       r!   r  r    r  r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        US/[        U S/5      5        U$ )Ncategorymethodznmethod parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.	thresholdr6   r9   s       r!   rd  rd    s~    
 !)	+
|$0ZL${ZL"AB	+z".
	3 
 
+}%1[M4k]#CD	r#   c           
      l    0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nr  r  r9   s       r!   _ScribbleImage_to_vertexr    sC    
 !)	+y!-		kG95yN 
r#   c                    0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S	/5      b  [        USS
/[        U S	/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr.  r   max_predictionsmaxPredictionsconfidence_thresholdconfidenceThresholdrB  maskDilationbinary_color_thresholdbinaryColorThresholdr   r]   r9   s       r!   _SegmentImageConfig_to_vertexr    s/   
 !)	+x ,v.[6(0KL	+)*+7	'([,-. 
+./0<	,-[123 
+()5	~&[?+, 
+012>	-.[345 
+z".
Dxj$AB	r#   c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [	        [        US/5      XC5        [        US/5      b  [        [        US/5      XC5        U$ r  )r7   r8   ri   rj   _SegmentImageSource_to_vertexr  r   s        r!   !_SegmentImageParameters_to_vertexr  "  s     !)	+y!-				*d;	:; 
+z".![8*%y 
+z".![8*%y 
r#   c                     0 n[        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        U$ s  snf )Nr   generated_masks)r7   r8   r  rW   s        r!   !_SegmentImageResponse_from_vertexr  =  sc    
 !)	+'3	 [=/:	
: ,D[I:	
 
	
rc  c           
      "   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b$  [        USS/[        [        U S/5      X25      5        [        U S/5      b$  [        USS/[        [        U S/5      X25      5        U$ )Nr   r   r  scribble_imagescribble)r7   r8   r  r  r9   s       r!   r  r  P  s    
 !)	+z".14hZ3P 
+y!-	!kG95yN 
+()*6	$ /019	
 
r#   c           
          0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        U$ )Nspeakervoice_configvoiceConfig)r7   r8   _VoiceConfig_to_vertexr9   s       r!   ra  ra  n  sn    
 !)	+	{#/YKkI;!?@	+'(4	~./	
 
r#   c           
         0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b$  [        US/[        [        U S/5      UU5      5        U$ )Nr  r  language_codelanguageCodemulti_speaker_voice_configmultiSpeakerVoiceConfig)r7   r8   r  rb  r9   s       r!   rt  rt    s    
 !)	+'(4	~./	
 
+()5^$d;8I&JK	+456B	"#*;<=	
 
r#   c           
      
   0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b$  [        US/[        [        U S/5      UU5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nretrieval_configretrievalConfigfunction_calling_configfunctionCallingConfig$include_server_side_tool_invocations includeServerSideToolInvocations)r7   r8   r0  r9   s       r!   rh  rh    s    
 !)	+*+,8%&[;M:N(O 
+123?	 !'89:	
 
+>?@L	+,[ABC 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      eU$ )Nr  r  r  r  r  zinclude_server_side_tool_invocations parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r6   r9   s       r!   rs  rs    s    
 !)	+*+,8%&[;M:N(O 
+123?	 ![456 
+>?@L
	  
r#   c           
         0 n[        U S/5      b  [        S5      e[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S	/5      b#  [        US
/[	        [        U S	/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        S5      e[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        U$ s  snf s  snf )N	retrievalzqretrieval parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.computer_usecomputerUsefile_search
fileSearchgoogle_searchgoogleSearchgoogle_maps
googleMapscode_executioncodeExecutionenterprise_web_searchz}enterprise_web_search parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.function_declarationsfunctionDeclarationsgoogle_search_retrievalgoogleSearchRetrievalparallel_ai_searchzzparallel_ai_search parameter is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.url_context
urlContextmcp_servers
mcpServers)r7   r   r8   r	  r  rW   s        r!   rf  rf    sL   
 !)	+}%1
	< 
 
+'(4]OT+7G%HI	+'3\ND}o$FG	+()5	/0)	
 
+'3	}o.		
 
+()*6_%tK:J9K'LM	+/01=
	B 
 
+/01=	 {-D,EFGF$FG 
+123?	 ![456 
+,-.:
	B 
 
+'3\ND}o$FG	+'3	{]O<=<$<= 
5 	H. 	>s   1G#G(c                    0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        S5      e[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US	/[        U S/5      5        [        U S
/5      b  [        US/[        U S
/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b)  [        US/[        U S/5       Vs/ s H  oDPM     sn5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[	        XCU5      PM     sn5        U$ s  snf s  snf )Nr  r  r  r  zsfile_search parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r  r  r  r  r  r  r  enterpriseWebSearchr  r  r  r  r  parallelAiSearchr  r  r  r  )r7   r8   r|   r   rG  rW   s        r!   r   r   -  sc   
 !)	+}%1[M4k]#CD	+'(4	~./	
 
+'3
	9 
 
+()5^$d;8I&JK	+'3\ND}o$FG	+()*6_%tK:J9K'LM	+/01=	[234 
+/01=	 {-D,EFGF$FG 
+123?	 ![456 
+,-.:	[/01 
+'3\ND}o$FG	+'3	 [=/:	
: !+>:	
 
= 	H0	
s   5H !Hc           	          0 n[        U SS/5       b  [        US/[        U SS/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr   z&google-vertex-llm-tuning-base-model-id
base_modelr  r  
updateTimeupdate_timer]   r9   s       r!   r]  r]  z  s    
 !)
;#KLM 		[8%MNO 
+~&2]OT+~%FG	+~&2]OT+~%FG	r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ Nr>   rI  rJ  r[  rZ  r]   r9   s       r!   _UpdateModelConfig_to_mldevr        
 !)	+'(4kN;K)LM	+'3kM?)KL	+/01=	[234 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        U$ r  r]   r9   s       r!   _UpdateModelConfig_to_vertexr    r  r#   c                     0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [	        [        US/5      XC5        U$ )Nrf   rg   r   r   )r7   r8   ri   rj   r  r   s        r!   _UpdateModelParameters_to_mldevr    sq     !)	+y!-				*d;	:; 
+z".[8*%y 
r#   c                     0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b  [	        [        US/5      XC5        U$ )Nrf   rg   r   )r7   r8   ri   rj   r  r   s        r!    _UpdateModelParameters_to_vertexr    sq     !)	+y!-				*d;	:; 
+z". [8*%y 
r#   c                 x   0 n[        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS	/[        U S/5      5        [        U S
/5      b  [        U/ SQ[        U S
/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        U/ SQ[        U S/5      5        [        U S/5      b  [        US/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        [        U S/5      b  [        USS/[        U S/5      5        U$ )Nr   r   r   r   r   r   r   r   r   r   r   r   r   enhance_input_image)r   upscaleConfigenhanceInputImageimage_preservation_factor)r   r   imagePreservationFactorr   r   r   r.  r]   r9   s       r!    _UpscaleImageAPIConfig_to_vertexr    s    
 !)	+()*6	|$[+,- 
+-./;	'[012 
++,-9	)*[./0 
+,-.:	)*[/01 
+*+,83[-./ 
+456B=[789 
+-./;<[012 
+345AB[678 
+z".
Dxj$AB	+*+,8	}%[-./ 
+x ,v.[6(0KL	r#   c                    0 n[        US/5      b/  [        USS/[        R                  " U [        US/5      5      5        [        US/5      b$  [        USS/[	        [        US/5      XC5      5        [        US/5      b  [        U/ SQ[        US/5      5        [        US/5      b  [        [        US/5      XC5        U$ )Nrf   rg   r  r   upscale_factor)r   r   upscaleFactorr   )r7   r8   ri   rj   r  r  r   s        r!   $_UpscaleImageAPIParameters_to_vertexr  <  s     !)	+y!-				*d;	:; 
+y!-	!kG95yN 
+()*68[+,- 
+z".$[8*%y 
r#   c                     0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b4  [        US/[        U S/5       Vs/ s H  n[        XCU5      PM     sn5        U$ s  snf r   r   rW   s        r!   !_UpscaleImageResponse_from_vertexr
  `  r   r   c           
          0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr  r  r>  r?  r  r9   s       r!   r  r  x  si    
 !)	+y!-		kG95yN 
+}%1ZL${[M"BC	r#   c           
          0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b/  [        [        U S/5      5        [        US/[        U S/5      5        U$ Nr  r  r  )r7   r8   r  r)   r9   s       r!   r  r    s    
 !)	+y!-		[7)4iM 
+()*68[+,- 	_%tK:J9K'LM	r#   c           
          0 n[        U S/5      b#  [        US/[        [        U S/5      X25      5        [        U S/5      b  [        US/[        U S/5      5        U$ r  r  r9   s       r!   r  r    sn    
 !)	+y!-		kG95yN 
+()*6_%tK:J9K'LM	r#   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )NuriencodedVideovideo_bytesencodingr@   r  r9   s       r!   r  r    s    
 !)	+w+UGT+w78	+'(4	tK.)9:; 
+
|$0[M4j\#BC	r#   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr  r  r  r  rA   r@   r  r9   s       r!   r  r    s    
 !)	+z".UGT+z:;	+,-.:	tK*>)?@A 
+
|$0[M4j\#BC	r#   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr  r  r  r@   r  r  r9   s       r!   r  r    s    
 !)	+w+UGT+w78	+'3	tK-9: 
+}%1ZL${[M"BC	r#   c           
         0 n[        U S/5      b  [        US/[        U S/5      5        [        U S/5      b-  [        US/[        R                  " [        U S/5      5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nr  r  r  r  r@   rA   r  r9   s       r!   r  r    s    
 !)	+w+XJ[5' :;	+'3	tK-9: 
+}%1ZL${[M"BC	r#   c           
          0 n[        U S/5      b$  [        US/[        [        U S/5      UU5      5        [        U S/5      b  [        US/[        U S/5      5        U$ )Nreplicated_voice_configreplicatedVoiceConfigprebuilt_voice_configprebuiltVoiceConfig)r7   r8   r  r9   s       r!   r  r    s    
 !)	+123?	 !(89:	
 
+/01=	[234 
r#   c                   X
   \ rS rSrSS.S\S\\R                  \R                  4   S\	\R                     S\R                  4S jjrSS.S\S\\R                  \R                  4   S\	\R                     S\\R                     4S	 jjrSSSSS
.S\S\	\\R                  \R                  4      S\	\\R                  \R                   4      S\	\R"                     S\	\R$                     S\R&                  4S jjrSS.S\S\S\	\R*                     S\R,                  4S jjrSS.S\S\S\\R2                     S\	\R4                     S\R6                  4
S jjrSS.S\S\R:                  S\S\	\R<                     S\R>                  4
S jjr SS.S\S\RB                  S\	\RD                     S\RF                  4S jjr$SS.S\S\RJ                  S\	\RL                     S\RN                  4S jjr(SS.S\S\	\RR                     S\RT                  4S jjr+SS.S\	\RX                     S\RZ                  4S jjr.SS.S\S\	\R^                     S\RT                  4S jjr0SS.S\S\	\Rb                     S\Rd                  4S jjr3SS.S\S\\R                  \R                  4   S\	\Rh                     S\Rj                  4S jjr6SS.S\S\\R                  \R                  4   S\	\Rn                     S\Rp                  4S jjr9SSSSSS.S\S\	\   S\	\R:                     S\	\Rt                     S\	\Rv                     S\	\Rx                     S\Rz                  4S  jjr>SS.S\S\\R                  \R                  4   S\	\R$                     S\R&                  4S! jjr?SS.S\S\R                  S\	\R                     S\R                  4S" jjr@SS.S\S\R                  S\	\R                     S\\R                     4S# jjrASS.S\S\S\	\R*                     S\R,                  4S$ jjrBSS.S\S\S\\R2                     S\	\R4                     S\R6                  4
S% jjrCSS.S\S\R:                  S\S\	\R                     S\R>                  4
S& jjrESSSSSS.S\S\	\   S\	\R:                     S\	\Rt                     S\	\Rv                     S\	\Rx                     S\Rz                  4S' jjrFSS.S\	\RX                     S\G\RT                     4S( jjrS)rHg)*Modelsi'  Nr   rf   rh   r   r   c                   [         R                  " UUUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S n	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  SXuU	5      n
UbC  [!        USS 5      (       a1  [         R"                  " U
S	9nU R                  R%                  U5        U$ U
R&                  (       d  0 O[(        R*                  " U
R&                  5      nU R                  R                  (       a  [-        US U5      nU R                  R                  (       d  [/        US U5      n[         R"                  R1                  U[!        USS 5      (       aG  S[!        UR                  S
S 5      [!        UR                  SS 5      [!        UR                  SS 5      S.0O0 S9n[         R2                  " U
R4                  S9Ul        U R                  R%                  U5        U$ Nrf   rh   r   rg   z{model}:generateContentr  ?r   postshould_return_http_response)rq   rF  rH  include_all_fieldsrF  rH  r%  r  kwargsheaders)r   _GenerateContentParameters_api_clientvertexair|  r  
format_mapry  r	   popr   http_optionsr   convert_to_dictencode_unserializable_typesrequestgetattrGenerateContentResponse_verify_responsebodyjsonloadsr  r  _from_responseHttpResponser*  rq   selfrf   rh   r   parameter_modelrequest_dictrequest_url_dictpathquery_paramsr0  r  return_valueresponse_dicts                r!   _generate_contentModels._generate_content)  s    66O   9


OT?l &))&1	(334DE(8


OT?l &))&1	(334DE(##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH g-t  22XNl
''5&mmBHMM1JM  :
m $$9
m 00?? ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! @ L$ &+%7%7  &L" 	%%l3r#   c             #     #    [         R                  " UUUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S n	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nUb  [        USS 5      (       a  [!        S5      eU R                  R#                  S	XuU	5       GH@  n
U
R$                  (       d  0 O[&        R(                  " U
R$                  5      nU R                  R                  (       a  [+        US U5      nU R                  R                  (       d  [-        US U5      n[         R.                  R1                  U[        USS 5      (       aG  S[        UR                  S
S 5      [        UR                  SS 5      [        UR                  SS 5      S.0O0 S9n[         R2                  " U
R4                  S9Ul        U R                  R9                  U5        Uv   GMC     g 7f)Nr!  rg   %{model}:streamGenerateContent?alt=sser  r"  r   r$  FAccessing the raw HTTP response is not supported in streaming methods.r#  rF  rH  r%  r&  r'  r)  )r   r+  r,  r-  r|  r  r.  ry  r	   r/  r   r0  r   r1  r2  r4  r   request_streamedr7  r8  r9  r  r  r5  r:  r;  r*  rq   r6  r=  rf   rh   r   r>  r?  r@  rA  rB  r0  r  rD  rC  s                r!   _generate_content_streamModels._generate_content_stream  s     66O   9


OT?l &))&1	6AA
 78


OT?l &))&1	6AA
 7##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DLg-t   
 $$55L !)b4::hmm3Lm				"	"<4
 &&;4
 22AA  _h55 %,%,,.?& +2%,,.Dd+ )0%,,.BD)
 ! B l$ (-'9'9""(l$ ''5Ms   K K"rh   rD   r   r   rD   r   c                   [         R                  " UUUUUS9nU R                  R                  (       an  [	        U R                  USU5      nUR                  S5      n[        R                  " UR                  5      (       a  SOSn	U(       a  U	R                  U5      n
OGU	n
OD[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      n
OSn
UR                  S5      nU(       a  U
 S[        U5       3n
UR                  S	S5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                   " U5      n[        R"                  " U5      nU R                  R%                  S
XU5      nUR&                  (       d  0 O[(        R*                  " UR&                  5      nU R                  R                  (       a  [-        USU5      nU R                  R                  (       d  [/        USU5      n[         R0                  R3                  U[5        US	S5      (       aG  S	[5        UR                  SS5      [5        UR                  SS5      [5        UR                  SS5      S.0O0 S9n[         R6                  " UR8                  S9Ul        U R                  R=                  U5        U$ )a  Calculates embeddings for the given contents. Only text is supported.

Args:
  model (str): The model to use.
  contents (list[Content]): The contents to embed.
  config (EmbedContentConfig): Optional configuration for embeddings.

Usage:

.. code-block:: python

  embeddings = client.models.embed_content(
      model= 'text-embedding-004',
      contents=[
          'What is your name?',
          'What is your favorite color?',
      ],
      config={
          'output_dimensionality': 64
      },
  )
rf   rh   rD   r   r   Nrg   {model}:embedContent{model}:predict{model}:batchEmbedContentsr  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   _EmbedContentParametersPrivater,  r-  r  r  ri   t_is_vertex_embed_content_modelrf   r.  r  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r  r  EmbedContentResponser:  r4  r;  r*  rq   r6  r=  rf   rh   rD   r   r   r>  r?  r@  endpoint_urlrA  rB  r0  r  rD  rC  s                   r!   _embed_contentModels._embed_content  s   H ::-O   =


OT?l &))&1/0/P/PQ`QfQf/g/g+m~l	&&'78<


OT?l &))&1	+667GH+##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  7
m $$6
m --<< ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! = L$ &+%7%7  &L" 	%%l3r#   r   c                h   [         R                  " UUUS9nU R                  R                  (       aE  [	        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  SXuU	5      n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      nU R                  R                  (       d  [)        USU5      n[         R*                  R-                  U[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9n[         R0                  " U
R2                  S9Ul        U R                  R7                  U5        U$ )z%Private method for generating images.rf   r   r   Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   _GenerateImagesParametersr,  r-  r  r  r.  r  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r  r  GenerateImagesResponser:  r4  r;  r*  rq   r6  r=  rf   r   r   r>  r?  r@  rA  rB  r0  r  rD  rC  s                r!   _generate_imagesModels._generate_imagesg  s    55O   8


OT?l &))&1	 ++,<= 7


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  9
m $$8
m //>> ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! ? L$ &+%7%7  &L" 	%%l3r#   r   c                   [         R                  " UUUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      n	U	(       a  U S[        U	5       3nUR                  SS5        Sn
UR                  b-  UR                  R                  b  UR                  R                  n
[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XU
5      nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " UR0                  S9Ul        U R                  R5                  U5        U$ )z$Private method for editing an image.rf   r   r   r   iThis method is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   _EditImageParametersr,  r-  r   r   r  r.  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r   EditImageResponser:  r4  r;  r*  rq   r6  r=  rf   r   r   r   r>  r?  r@  rA  rB  r0  r  rD  rC  s                 r!   _edit_imageModels._edit_image  s5    00)	O $$5 
 4


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  4
m **99 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! : L$ &+%7%7  &L" 	%%l3r#   r  r  c                   [         R                  " UUUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      n	U	(       a  U S[        U	5       3nUR                  SS5        Sn
UR                  b-  UR                  R                  b  UR                  R                  n
[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XU
5      nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " UR0                  S9Ul        U R                  R5                  U5        U$ )z&Private method for upscaling an image.rf   r  r  r   rd  Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   _UpscaleImageAPIParametersr,  r-  r   r  r  r.  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r
  UpscaleImageResponser:  r4  r;  r*  rq   r6  r=  rf   r  r  r   r>  r?  r@  rA  rB  r0  r  rD  rC  s                 r!   _upscale_imageModels._upscale_image  s5    66%	O $$5 
 :


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  7
m --<< ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! = L$ &+%7%7  &L" 	%%l3r#   r  c                ^   [         R                  " UUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XuU	5      n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9nU R                  R/                  U5        U$ )a-  Recontextualizes an image.

There is one type of recontextualization currently supported:
1) Virtual Try-On: Generate images of persons modeling fashion products.

Args:
  model (str): The model to use.
  source (RecontextImageSource): An object containing the source inputs
    (prompt, person_image, product_images) for image recontext. prompt is
    behind an allowlist. person_image is required. product_images is
    required. Only one product image is supported currently.
  config (RecontextImageConfig): Configuration for recontextualization.

Usage:

  ```
  virtual_try_on_response = client.models.recontext_image(
      model="virtual-try-on-001",
      source=types.RecontextImageSource(
          person_image=types.Image.from_file(location=IMAGE1_FILE_PATH),
          product_images=[types.ProductImage(product_image=
              types.Image.from_file(location=IMAGE2_FILE_PATH)
          )],
      ),
      config=types.RecontextImageConfig(
          number_of_images=1,
      ),
  )
  image = virtual_try_on_response.generated_images[0].image
  ```
rf   r  r   rd  Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  )r   _RecontextImageParametersr,  r-  r   r  r  r.  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r  RecontextImageResponser:  r4  r6  r=  rf   r  r   r>  r?  r@  rA  rB  r0  r  rD  rC  s                r!   recontext_imageModels.recontext_imagej  s   N 55O $$5 
 9


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  9
m //>> ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! ? L& 	%%l3r#   c                ^   [         R                  " UUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XuU	5      n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9nU R                  R/                  U5        U$ )a  Segments an image, creating a mask of a specified area.

Args:
  model (str): The model to use.
  source (SegmentImageSource): An object containing the source inputs
    (prompt, image, scribble_image) for image segmentation. The prompt is
    required for prompt mode and semantic mode, disallowed for other modes.
    scribble_image is required for the interactive mode, disallowed for
    other modes.
  config (SegmentImageConfig): Configuration for segmentation.

Usage:

  ```
  response = client.models.segment_image(
      model="image-segmentation-001",
      source=types.SegmentImageSource(
          image=types.Image.from_file(location=IMAGE_FILE_PATH),
      ),
  )

  mask_image = response.generated_masks[0].mask
  ```
rr  rd  Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  )r   _SegmentImageParametersr,  r-  r   r  r  r.  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r  SegmentImageResponser:  r4  r6  ru  s                r!   segment_imageModels.segment_image  s   @ 33O $$5 
 7


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  7
m --<< ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! = L& 	%%l3r#   c                    [         R                  " UUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
S U5      n
U R                  R                  (       d  [)        U
S U5      n
[         R*                  R-                  U
[/        USS 5      (       aG  S[/        UR                  SS 5      [/        UR                  S	S 5      [/        UR                  S
S 5      S.0O0 S9nU R                  R1                  U5        U$ Nrf   r   rg   {name}r  r"  r   r  rF  rH  r%  r&  r'  )r   _GetModelParametersr,  r-  r  r  r.  r  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r;  r7  Modelr:  r4  r6  r=  rf   r   r>  r?  r@  rA  rB  r0  r  rD  rC  s               r!   r  
Models.get?  sS    //O   2


OT?l &))&1	""#341


OT?l &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t<PH&mmBHMM1JM  (oNm$$'t_Mm;;-- ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! . L& 	%%l3r#   c                    [         R                  " US9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       aG  UR                  S5      (       a1  UR                  S5      nU SU 3nU(       a  US[        U5       3-  nOU(       a  U S[        U5       3nUR                  S	S 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  S
XSU5      n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
S U5      n
U R                  R                  (       d  [)        U
S U5      n
[         R*                  R-                  U
[/        US	S 5      (       aG  S	[/        UR                  SS 5      [/        UR                  SS 5      [/        UR                  SS 5      S.0O0 S9n[         R0                  " U	R2                  S9Ul        U R                  R7                  U5        U$ Nr  rg   z{models_url}r  r#  z?filter=&r"  r   r  rF  rH  r%  r&  r'  r)  )r   _ListModelsParametersr,  r-  r0  r  r.  r.  r/  r	   r   r0  r   r1  r2  r3  r7  r8  r9  r<  r8  ListModelsResponser:  r4  r;  r*  rq   r6  r=  r   r>  r?  r@  rA  rB  query_param_filterr0  r  rD  rC  s               r!   _listModels._list  s    11O   4


OT?l &))&1	(()9:3


OT?l &))&1	(()9:##H-L((22'++H5vX012d	!Il+,--	vQy./0dXt$04L*""//;$++88l**<8L66|DL''t<PH&mmBHMM1JM  5
m $$4
m ++:: ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! ; L$ &+%7%7  &L" 	%%l3r#   c                    [         R                  " UUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
S U5      n
U R                  R                  (       d  [)        U
S U5      n
[         R*                  R-                  U
[/        USS 5      (       aG  S[/        UR                  S	S 5      [/        UR                  S
S 5      [/        UR                  SS 5      S.0O0 S9nU R                  R1                  U5        U$ Nr  rg   z{model}r  r  r"  r   patchrF  rH  r%  r&  r'  )r   _UpdateModelParametersr,  r-  r  r  r.  r  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r;  r7  r  r:  r4  r6  r  s               r!   updateModels.update  sX    22O   5


OT?l &))&1	##$454


OT?l &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''\H 'mmBHMM1JM  (oNm$$'t_Mm;;-- ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! . L& 	%%l3r#   c                f   [         R                  " UUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
S U5      n
U R                  R                  (       d  [)        U
S U5      n
[         R*                  R-                  U
[/        USS 5      (       aG  S[/        UR                  SS 5      [/        UR                  S	S 5      [/        UR                  S
S 5      S.0O0 S9n[         R0                  " U	R2                  S9Ul        U R                  R7                  U5        U$ Nr  rg   r  r  r"  r   deleterF  rH  r%  r&  r'  r)  )r   _DeleteModelParametersr,  r-  r   r  r.  r   r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r   r   DeleteModelResponser:  r4  r;  r*  rq   r6  r  s               r!   r  Models.delete2  s    22O   5


OT?l &))&1	""#344


OT?l &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''$lH 'mmBHMM1JM  6
m $$5
m ,,;; ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! < L$ &+%7%7  &L" 	%%l3r#   c                h   [         R                  " UUUS9nU R                  R                  (       aE  [	        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  SXuU	5      n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      nU R                  R                  (       d  [)        USU5      n[         R*                  R-                  U[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9n[         R0                  " U
R2                  S9Ul        U R                  R7                  U5        U$ )a   Counts the number of tokens in the given content.

Multimodal input is supported for Gemini models.

Args:
  model (str): The model to use for counting tokens.
  contents (list[types.Content]): The content to count tokens for.
  config (CountTokensConfig): The configuration for counting tokens.

Usage:

.. code-block:: python

  response = client.models.count_tokens(
      model='gemini-2.0-flash',
      contents='What is your name?',
  )
  print(response)
  # total_tokens=5 cached_content_token_count=None
r!  Nrg   {model}:countTokensr  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   _CountTokensParametersr,  r-  r   r  r.  r   r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r   r   CountTokensResponser:  r4  r;  r*  rq   r6  rK  s                r!   count_tokensModels.count_tokens  s   8 22O   5


OT?l &))&1	$//0@A$4


OT?l &))&1	$//0@A$##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  6
m $$5
m ,,;; ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! < L$ &+%7%7  &L" 	%%l3r#   c                   [         R                  " UUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XuU	5      n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " U
R0                  S9Ul        U R                  R5                  U5        U$ )a>  Given a list of contents, returns a corresponding TokensInfo containing the

list of tokens and list of token ids.

This method is not supported by the Gemini Developer API.

Args:
  model (str): The model to use.
  contents (list[shared.Content]): The content to compute tokens for.

Usage:

.. code-block:: python

  response = client.models.compute_tokens(
      model='gemini-2.0-flash',
      contents='What is your name?',
  )
  print(response)
  # tokens_info=[TokensInfo(role='user', token_ids=['1841', ...],
  # tokens=[b'What', b' is', b' your', b' name', b'?'])]
r!  rd  Nrg   {model}:computeTokensr  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   _ComputeTokensParametersr,  r-  r   rn   r  r.  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  rt   ComputeTokensResponser:  r4  r;  r*  rq   r6  rK  s                r!   compute_tokensModels.compute_tokens  s2   < 44O $$5 
 8


OT?l &))&1	&112BC&##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  8
m ..== ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! > L$ &+%7%7  &L" 	%%l3r#   r   r  r  r  r   r  c                (   [         R                  " UUUUUUS9nU R                  R                  (       aE  [	        U R                  USU5      nUR                  S5      n	U	(       a  SR                  U	5      n
OGSn
OD[        U R                  USU5      nUR                  S5      n	U	(       a  SR                  U	5      n
OSn
UR                  S5      nU(       a  U
 S[        U5       3n
UR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXU5      nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       a  ['        USU5      nU R                  R                  (       d  [)        USU5      n[         R*                  R-                  U[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9nU R                  R1                  U5        U$ )z%Private method for generating videos.rf   r   r  r  r  r   Nrg   {model}:predictLongRunningr  r"  r   r#  rF  rH  r%  r&  r'  )r   _GenerateVideosParametersr,  r-  r  r  r.  r  r	   r/  r   r0  r   r1  r2  r3  r7  r8  r9  r  r  GenerateVideosOperationr:  r4  r6  r=  rf   r   r  r  r  r   r>  r?  r@  rA  rB  r0  r  rD  rC  s                   r!   _generate_videosModels._generate_videos^  sq    55O   8


OT?l &))&1	+667GH+7


OT?l &))&1	+667GH+##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''LH 'mmBHMM1JM  :
m $$9
m 00?? ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! @ L& 	%%l3r#   c                   U R                   R                  (       d,  SU;   a  [        R                  " U5      nU R	                  XUS9$ [        R
                  " U5      (       a^  [        R                  " U5      n[        U5      S:  a  [        S5      eU R	                  USUS   [        R                  R                  US9$ U R	                  USU[        R                  R                  US9$ )	a=  Calculates embeddings for the given contents.

Args:
  model (str): The model to use.
  contents (list[Content]): The contents to embed.
  config (EmbedContentConfig): Optional configuration for embeddings.

Usage:

.. code-block:: python

  embeddings = client.models.embed_content(
      model= 'text-embedding-004',
      contents=[
          'What is your name?',
          'What is your favorite color?',
      ],
      config={
          'output_dimensionality': 64
      },
  )

  multimodal_embeddings = client.models.embed_content(
      model='gemini-embedding-2-preview',
      contents=[
          types.Part.from_uri(
              file_uri='gs://generativeai-downloads/images/scones.jpg',
              mime_type='image/jpeg',
          ),
      ],
      config={
          'output_dimensionality': 64
      },
  )
gemini-embedding-2r!  r
   HThe embedContent API for this model only supports one content at a time.Nr   rP  )rf   rD   rh   r   r   r,  r-  ri   rk   rY  rU  lenr   r   EmbeddingApiTyper  r   r=  rf   rh   r   normalized_contentss        r!   embed_contentModels.embed_content  s    T $$		&<<)  u OO((//LL2	 	!A	%
 	
   %a("33AA !     "33;; !  r#   c                   [         R                  " U5      n[         R                  " U5      nU(       aL  UR                  (       a;  [        R
                  " UR                  5      (       a  [        R                  " S5      e[         R                  " U5      (       a  U R                  XUS9$ U(       a  Sn[        U[        R                  5      (       a'  UR                  (       a  [        UR                  5      nO9[        U[        5      (       a$  UR                  S/ 5      nU(       a  [        U5      n[        U5      U:w  a5  SR!                  [#        [$        U5      5      n[&        R)                  SU5        U R                  XUS9$ [         R*                  " U5      n	[&        R-                  SU	 S35        / n
[        R.                  " 5       nSnU	S:  Ga  U(       a  UR1                  S	S
9OSn[         R2                  " U5      nU(       a  [         R4                  " U5      nUS-  nU R                  XUS9nU(       d  GOwU(       d  GOnUR6                  (       aF  UR6                  S   R8                  (       a(  UR6                  S   R8                  R:                  (       d  GO[         R<                  " X5      nU(       d  O[&        R-                  SU S35        U	S-  n	U	S:X  a  [&        R-                  S5        UR6                  S   R8                  n[        R>                  " SUS9n[@        RB                  " U5      nU
(       d  U
RE                  U5        [        U[F        5      (       a"  URI                  U5        URI                  U5        U
RI                  U5        U
RI                  U5        U	S:  a  GM  [         RJ                  " U5      (       a
  Ub  U
Ul&        U$ )aM  Makes an API request to generate content using a model.

For the `model` parameter, supported formats for Gemini Enterprise Agent
Platform API include:
- The Gemini model ID, for example: 'gemini-2.0-flash'
- The full resource name starts with 'projects/', for example:
  'projects/my-project-id/locations/us-central1/publishers/google/models/gemini-2.0-flash'
- The partial resource name with 'publishers/', for example:
  'publishers/google/models/gemini-2.0-flash' or
- `/` separated publisher and model name, for example:
  'google/gemini-2.0-flash'

For the `model` parameter, supported formats for Gemini API include:
- The Gemini model ID, for example: 'gemini-2.0-flash'
- The model name starts with 'models/', for example:
  'models/gemini-2.0-flash'
- For tuned models, the model name starts with 'tunedModels/',
  for example:
  'tunedModels/1234567890123456789'

Some models support multimodal input and output.

Built-in MCP support is an experimental feature.

Usage:

.. code-block:: python

  from google.genai import types
  from google import genai

  client = genai.Client(
      vertexai=True, project='my-project-id', location='us-central1'
  )

  response = client.models.generate_content(
    model='gemini-2.0-flash',
    contents='''What is a good name for a flower shop that specializes in
      selling bouquets of dried flowers?'''
  )
  print(response.text)
  # **Elegant & Classic:**
  # * The Dried Bloom
  # * Everlasting Florals
  # * Timeless Petals

  response = client.models.generate_content(
    model='gemini-2.0-flash',
    contents=[
      types.Part.from_text(text='What is shown in this image?'),
      types.Part.from_uri(file_uri='gs://generativeai-downloads/images/scones.jpg',
      mime_type='image/jpeg')
    ]
  )
  print(response.text)
  # The image shows a flat lay arrangement of freshly baked blueberry
  # scones.
6MCP sessions are not supported in synchronous methods.r!  r   r   , Tools at indices [%s] are not compatible with automatic function calling (AFC). AFC is disabled. If AFC is intended, please include python callables in the tool list, and do not include function declaration and MCP server in the tool list.&AFC is enabled with max remote calls: .TdeepNr
   AFC remote call 	 is done.8Reached max remote calls for automatic function calling.userr   r   )'r   "find_afc_incompatible_tool_indexesparse_config_for_mcp_usager   r   has_mcp_session_usager   UnsupportedFunctionErrorshould_disable_afcrE  
isinstancer   GenerateContentConfigr  dictr  joinmapstrloggerwarningget_max_remote_calls_afcinfor5  
model_copyget_function_mapget_usage_headerr~  rD   r   get_function_response_partsContentri   rk   extendlistappendshould_append_afc_history"automatic_function_calling_history)r=  rf   rh   r   incompatible_tools_indexesparsed_configoriginal_tools_lengthr   indices_strremaining_remote_calls_afcr  r  iparsed_config_to_callfunction_mapfunc_response_partsfunc_call_contentfunc_response_contents                     r!   generate_contentModels.generate_content  sq   F 	77?  !;;FCM,,]-@-@AA++
B  &&}55## $   "	FE77	8	8<<"%fll"3
fd##

7B'"%e*
	'	(,A	AiiC)C DED 	
 ## $   ".!F!F" KK
01K0LAN ?A&,,.H	A
$q
(1>-
"
"
"
-D  "22=Al	 , = =!!
 1fa''1F ( h !!$$Q'//$$Q'//55(DD
 !kk$QCy12 A% 	#q	(NO"--a088#mm# h'h/*11(;	Hd	#	#)*-.(//0AB(//0EF] %q
(` 	..}==  - 1 Or#   c             #   	  #    [         R                  " U5      n[         R                  " U5      nU(       aL  UR                  (       a;  [        R
                  " UR                  5      (       a  [        R                  " S5      e[         R                  " U5      (       a  U R                  XUS9 Sh  vN   gU(       a  Sn[        U[        R                  5      (       a'  UR                  (       a  [        UR                  5      nO9[        U[        5      (       a$  UR                  S/ 5      nU(       a  [        U5      n[        U5      U:w  a5  SR!                  [#        [$        U5      5      n[&        R)                  SU5        U R                  XUS9 Sh  vN   g[         R*                  " U5        [         R,                  " U5      n	[&        R/                  SU	 S	35        / n
SnSnSnU	S:  Ga  U(       a  UR1                  S
S9OSn[         R2                  " U5      nU(       a  [         R4                  " U5      nUS-  nU R                  XUS9nUS:X  a  U H  nU(       d  [         R6                  " X+5      nUv   M&  UR8                  (       aF  UR8                  S   R:                  (       a(  UR8                  S   R:                  R<                  (       d    O[         R>                  " X5      nU(       a  M  [         R6                  " X+5      nUv   M     OU H?  n[         R@                  " U5      (       a  U
Ul!        [         R6                  " X+5      nUv   MA     UbW  UR8                  (       aF  UR8                  S   R:                  (       a(  UR8                  S   R:                  R<                  (       d  g[         R>                  " X5      nU(       d  gU(       d  g[&        R/                  SU S35        U	S-  n	U	S:X  a  [&        R/                  S5        Ub  UR8                  b  UR8                  S   R:                  n[        RD                  " SUS9n[F        RH                  " U5      nU
(       d  U
RK                  U5        [        U[L        5      (       a%  Ub"  URO                  U5        URO                  U5        Ub  U
RO                  U5        U
RO                  U5        U	S:  a  GM  gg GN9 GNW7f)aq  Makes an API request to generate content using a model and yields the model's response in chunks.

For the `model` parameter, supported formats for Gemini Enterprise Agent
Platform API include:
- The Gemini model ID, for example: 'gemini-2.0-flash'
- The full resource name starts with 'projects/', for example:
  'projects/my-project-id/locations/us-central1/publishers/google/models/gemini-2.0-flash'
- The partial resource name with 'publishers/', for example:
  'publishers/google/models/gemini-2.0-flash' or
- `/` separated publisher and model name, for example:
  'google/gemini-2.0-flash'

For the `model` parameter, supported formats for Gemini API include:
- The Gemini model ID, for example: 'gemini-2.0-flash'
- The model name starts with 'models/', for example:
  'models/gemini-2.0-flash'
- For tuned models, the model name starts with 'tunedModels/',
  for example:
  'tunedModels/1234567890123456789'

Some models support multimodal input and output.

Built-in MCP support is an experimental feature.

Usage:

.. code-block:: python

  from google.genai import types
  from google import genai

  client = genai.Client(
      vertexai=True, project='my-project-id', location='us-central1'
  )

  for chunk in client.models.generate_content_stream(
    model='gemini-2.0-flash',
    contents='''What is a good name for a flower shop that specializes in
      selling bouquets of dried flowers?'''
  ):
    print(chunk.text)
  # **Elegant & Classic:**
  # * The Dried Bloom
  # * Everlasting Florals
  # * Timeless Petals

  for chunk in client.models.generate_content_stream(
    model='gemini-2.0-flash',
    contents=[
      types.Part.from_text('What is shown in this image?'),
      types.Part.from_uri('gs://generativeai-downloads/images/scones.jpg',
      'image/jpeg')
    ]
  ):
    print(chunk.text)
  # The image shows a flat lay arrangement of freshly baked blueberry
  # scones.
r  r!  Nr   r   r  z_Tools at indices [%s] are not compatible with automatic function calling. AFC will be disabled.r  r  Tr  r
   r  r  r  r  r  )(r   r  r  r   r   r  r   r  r  rL  r  r   r  r  r  r  r  r  r  r  r  'raise_error_for_afc_incompatible_configr  r  r  r  r  append_chunk_contentsr~  rD   r   r  r  r  r  ri   rk   r  r  r  )r=  rf   rh   r   r  r  r  r   r  r  r  chunkr  r  r  r  r  r  r  s                      r!   generate_content_streamModels.generate_content_stream  se    F 	77?  !;;FCM,,]-@-@AA++
B  &&}55.. /    !	FE77	8	8<<"%fll"3
fd##

7B'"%e*
	'	(,A	AiiC)C DE-	

 .. /     88G!-!F!F" KK
01K0LAN ?A&E	A
$q
(1>-
"
"
"
-D  "22=Al	 , = =!!
 1fa..1F / h 
a E#99(JHK $$''*22''*2288"."J"J# '&%;;HLhk! ( E33MBB2 4 "77H(+  M####A&..##A&..44
*FF
  kk$QCy12 A% 	#q	(NO 
	u//;!,,Q/77 %%!
 <<)1
,
3
3H
=h%%*;*G
//+
,
///
0(
,
3
34E
F*112GHa %q
(
(Q*s3   B.S/0S)1C$S/S,ES/5G/S/'S/,S/c                H   U R                  UUUS9nSn/ nU(       a  UR                  (       d  U$ UR                   HM  nUR                  (       a(  UR                  R                  S:X  a  UR                  nM<  UR	                  U5        MO     [
        R                  " UUS9nU$ )a,  Generates images based on a text description and configuration.

Args:
  model (str): The model to use.
  prompt (str): A text description of the images to generate.
  config (GenerateImagesConfig): Configuration for generation.

Usage:

.. code-block:: python

  response = client.models.generate_images(
    model='imagen-3.0-generate-002',
    prompt='Man with a dog',
    config=types.GenerateImagesConfig(
        number_of_images= 1,
        include_rai_reason= True,
    )
  )
  response.generated_images[0].image.show()
  # Shows a man with a dog.
r\  NPositive Promptr   r  r`  r   r  r  r  r   r^  	r=  rf   r   r   api_responser  r   generated_imager  s	            r!   generate_imagesModels.generate_imagesu  s    : (( ) L
 )-%|<<'88

+
+//<< -<,M,M)0 9 ++)*KH Or#   c                &    U R                  UUUUS9$ )a  Edits an image based on a text description and configuration.

Args:
  model (str): The model to use.
  prompt (str): A text description of the edit to apply to the image.
    reference_images (list[Union[RawReferenceImage, MaskReferenceImage,
    ControlReferenceImage, StyleReferenceImage, SubjectReferenceImage]): The
    reference images for editing.
  config (EditImageConfig): Configuration for editing.

Usage:

.. code-block:: python

  from google.genai.types import RawReferenceImage, MaskReferenceImage

  raw_ref_image = RawReferenceImage(
    reference_id=1,
    reference_image=types.Image.from_file(location=IMAGE_FILE_PATH),
  )

  mask_ref_image = MaskReferenceImage(
    reference_id=2,
    config=types.MaskReferenceConfig(
        mask_mode='MASK_MODE_FOREGROUND',
        mask_dilation=0.06,
    ),
  )
  response = client.models.edit_image(
    model='imagen-3.0-capability-001',
    prompt='Man with dog',
    reference_images=[raw_ref_image, mask_ref_image],
    config=types.EditImageConfig(
        edit_mode= "EDIT_MODE_INPAINT_INSERTION",
        number_of_images= 1,
        include_rai_reason= True,
    )
  )
  response.generated_images[0].image.show()
  # Shows a man with a dog instead of a cat.
rc  rh  r=  rf   r   r   r   s        r!   
edit_imageModels.edit_image  s)    b )	   r#   c                n   [         R                  " UUUUS9  U=(       d    0 n[        U[         R                  5      (       a  UR	                  5       nO[        U5      n[         R                  " UR                  SS5      UR                  SS5      UR                  SS5      UR                  SS5      UR                  SS5      UR                  SS5      UR                  S	S5      UR                  S
S5      UR                  SS5      UR                  SS5      S9
nSUS'   SUS'   U R                  UUUUS9$ )a  Makes an API request to upscale a provided image.

Args:
  model (str): The model to use.
  image (Image): The input image for upscaling.
  upscale_factor (str): The factor to upscale the image (x2 or x4).
  config (UpscaleImageConfig): Configuration for upscaling.

Usage:

.. code-block:: python

  from google.genai.types import Image

  IMAGE_FILE_PATH="my-image.png"
  response=client.models.upscale_image(
      model='imagen-3.0-generate-001',
      image=types.Image.from_file(location=IMAGE_FILE_PATH),
      upscale_factor='x2',
  )
  response.generated_images[0].image.show()
  # Opens my-image.png which is upscaled by a factor of 2.
rk  r0  Nr   r   r   r   r   r   r  r  r   
r0  r   r   r   r   r   r   r  r  r   upscaler.  r
   r   	r   UpscaleImageParametersr  UpscaleImageConfig
model_dumpr  _UpscaleImageAPIConfigDictr  ro  r=  rf   r  r  r   
config_dct
api_configs          r!   upscale_imageModels.upscale_image  s;   B 
  %	 \rF&%2233$$&j<j11^^ND9!~~&6=&NN+@$G$..)<dC%>>*>E#(:DA#->>($$
 'NN+@$G",..'#
 ~~h-J$ #Jv%&J!"%	   r#   c          
         U(       d  U(       d  U(       a  U(       a  [        S5      e0 nU R                  R                  (       d  U(       a  [        U[        R
                  5      (       a  UR                  5       nO[        U5      nUR                  S5      (       aI  UR                  S5      (       a3  [        R
                  " UR                  S5      UR                  S5      S9nGOlU R                  R                  (       GdP  U(       GaH  [        U[        R                  5      (       a#  UR                  5       nUR                  S0 5      nOn[        U5      n[        UR                  S5      [        R
                  5      (       a5  UR                  S[        R
                  " 5       5      n	U	R                  5       nU(       a  UR                  S5      (       a{  UR                  S5      (       ae  [        R                  " UR                  S5      UR                  S5      [        R
                  " UR                  S5      UR                  S5      S9S	9nU R                  UUUUUUS
9$ )\  Generates videos based on an input (text, image, or video) and configuration.

The following use cases are supported:
1. Text to video generation.
2a. Image to video generation (additional text prompt is optional).
2b. Image to video generation with frame interpolation (specify last_frame
in config).
3. Video extension (additional text prompt is optional)

Args:
  model: The model to use.
  prompt: The text prompt for generating the videos. Optional for image to
    video and video extension use cases. This argument is deprecated, please
    use source instead.
  image: The input image for generating the videos. Optional if prompt is
    provided. This argument is deprecated, please use source instead.
  video: The input video for video extension use cases. Optional if prompt
    or image is provided. This argument is deprecated, please use source
    instead.
  source: The input source for generating the videos (prompt, image, and/or
    video)
  config: Configuration for generation.

Usage:

  ```
  operation = client.models.generate_videos(
      model="veo-2.0-generate-001",
      source=types.GenerateVideosSource(
          prompt="A neon hologram of a cat driving at top speed",
      ),
  )
  while not operation.done:
      time.sleep(10)
      operation = client.operations.get(operation)

  operation.result.generated_videos[0].video.uri
  ```
MSource and prompt/image/video are mutually exclusive. Please only use source.r  r  r@   r  r@   r  r   r  r   r  r  r  r   r,  r-  r  r   Videor  r  r  GenerateVideosSourcer  
r=  rf   r   r  r  r  r   	video_dct
source_dct	video_objs
             r!   generate_videosModels.generate_videos.  s   b 	%5f' 
 !#I$$	E5;;	'	'$$&	K		u		)--">">e$	k0J
 &&&6	FE66	7	7&&(
NN7B/	&\
jnnW-u{{;;#->>'5;;=#I)**,)	y}}U++	m0L0L++>>(+..)++MM%(#--4
    !  r#   c                   [         R                  " US9R                  =(       d    [         R                  " 5       nUR                  c  SUl        U R
                  R                  (       a?  UR                  SS9nUR                  (       d  UR                  nU(       a  US-   OSUl        [        SU R                  U R                  US9U5      $ )a  Makes an API request to list the available models.

If `query_base` is set to True in the config or not set (default), the
API will return all available base models. If set to False, it will return
all tuned models.

Args:
  config (ListModelsConfigOrDict): Configuration for retrieving models.

Usage:

.. code-block:: python

  response=client.models.list(config={'page_size': 5})
  print(response.page)
  # [Model(name='projects/./locations/./models/123', display_name='my_model'

  response=client.models.list(config={'page_size': 5, 'query_base': True})
  print(response.page)
  # [Model(name='publishers/google/models/gemini-2.0-flash-exp' ...
r  Tr  &filter=labels.tune-type:*labels.tune-type:*r5  )r   r  r   ListModelsConfigr$  r,  r-  r  r#  r   r  r=  r   filter_values      r!   r  Models.list  s    8 	##6299 	$!!#   f    d +f}}  77% 	
 



&
!	 r#    )I__name__
__module____qualname____firstlineno__r  r   r   ContentListUnionContentListUnionDictr   GenerateContentConfigOrDictr5  rE  r   rL  ContentUnionContentUnionDictr  EmbedContentConfigOrDictrV  rY  GenerateImagesConfigOrDictr^  r`  r  _ReferenceImageAPIOrDictEditImageConfigOrDictrf  rh  ImageOrDict_UpscaleImageAPIConfigOrDictrm  ro  RecontextImageSourceOrDictRecontextImageConfigOrDictrt  rv  SegmentImageSourceOrDictSegmentImageConfigOrDictrz  r{  GetModelConfigOrDictr  r  ListModelsConfigOrDictr  r  UpdateModelConfigOrDictr  DeleteModelConfigOrDictr  r  CountTokensConfigOrDictr  r  ComputeTokensConfigOrDictr  r  VideoOrDictGenerateVideosSourceOrDictGenerateVideosConfigOrDictr  r  r  r  r  r  r  UpscaleImageConfigOrDictr  r  r   __static_attributes__r"  r#   r!   r  r  '  s*    =A^ ^ e,,e.H.HHI	^
 u889^ $$^J =Ac c e,,e.H.HHI	c
 u889c --.cV  =A9=w w 
&&(B(BB
C	w 
""E$:$::
;w #5#9#9:w u556w !!w| <@Y Y 	Y
 u778Y ##YB 7;R R 	R
 U;;<R u223R Rt >BR R 	R
 R u99:R !!Rr <@l l ..	l
 u778l ##lf :>e e ,,	e
 u556e !!eP KOJJ#+E,F,F#GJ{{JZ AET < <=TTt 9=	O O u445	O
 {{Oj 9=	U U u445	U
   Ux 9=l l e,,e.H.HHI	l
 u445l   lf ;?e e e,,e.H.HHI	e
 u667e ""eV #+/+/;?;?] ] sm	]
 e''(] e''(] u778] u778] $$]H :>D D e,,e.H.HHI	D
 u556D !!DV =Ag g **	g
 u889g $$g\ =AGI GI **	GI
 u889GI --.GI\ <@5 5 	5
 u7785 ##5z 7;6 6 	6
 U;;<6 u2236 6| :>H H 	H
 H u556H !!H\ #+/+/;?;?[ [ sm	[
 e''([ e''([ u778[ u778[ $$[@ 8<0 u3340 U[[	0 0r#   r  c                   
   \ rS rSrSS.S\S\\R                  \R                  4   S\	\R                     S\R                  4S jjrSS.S\S\\R                  \R                  4   S\	\R                     S\\\R                        4S	 jjrSSSSS
.S\S\	\\R                  \R                  4      S\	\\R                   \R"                  4      S\	\R$                     S\	\R&                     S\R(                  4S jjrSS.S\S\S\	\R,                     S\R.                  4S jjrSS.S\S\S\\R4                     S\	\R6                     S\R8                  4
S jjrSS.S\S\R<                  S\S\	\R>                     S\R@                  4
S jjr!SS.S\S\RD                  S\	\RF                     S\RH                  4S jjr%SS.S\S\RL                  S\	\RN                     S\RP                  4S jjr)SS.S\S\	\RT                     S\RV                  4S jjr,SS.S\	\RZ                     S\R\                  4S jjr/SS.S\S\	\R`                     S\RV                  4S jjr1SS.S\S\	\Rd                     S\Rf                  4S jjr4SS.S\S\\R                  \R                  4   S\	\Rj                     S\Rl                  4S jjr7SS.S\S\\R                  \R                  4   S\	\Rp                     S\Rr                  4S jjr:SSSSSS.S\S\	\   S\	\R<                     S\	\Rv                     S\	\Rx                     S\	\Rz                     S\R|                  4S  jjr?SS.S\S\\R                  \R                  4   S\	\R                     S\R                  4S! jjr@SS.S\S\\R                  \R                  4   S\	\R                     S\\R                     4S" jjrASS.S\S\S\\R4                     S\	\R6                     S\R8                  4
S# jjrBSS.S\	\RZ                     S\C\RV                     4S$ jjrSS.S\S\S\	\R,                     S\R.                  4S% jjrDSS.S\S\R<                  S\S\	\R                     S\R@                  4
S& jjrFSSSSSS.S\S\	\   S\	\R<                     S\	\Rv                     S\	\Rx                     S\	\Rz                     S\R|                  4S' jjrGSS.S\S\\R                  \R                  4   S\	\R&                     S\R(                  4S( jjrHS)rIg)*AsyncModelsi  Nr  rf   rh   r   r   c                  #    [         R                  " UUUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S n	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  SXuU	5      I S h  vN n
UbC  [!        USS 5      (       a1  [         R"                  " U
S	9nU R                  R%                  U5        U$ U
R&                  (       d  0 O[(        R*                  " U
R&                  5      nU R                  R                  (       a  [-        US U5      nU R                  R                  (       d  [/        US U5      n[         R"                  R1                  U[!        USS 5      (       aG  S[!        UR                  S
S 5      [!        UR                  SS 5      [!        UR                  SS 5      S.0O0 S9n[         R2                  " U
R4                  S9Ul        U R                  R%                  U5        U$  GN7fr   )r   r+  r,  r-  r|  r  r.  ry  r	   r/  r   r0  r   r1  r2  async_requestr4  r5  r6  r7  r8  r9  r  r  r:  r;  r*  rq   r<  s                r!   rE  AsyncModels._generate_content  s     66O   9


OT?l &))&1	(334DE(8


OT?l &))&1	(334DE(##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H g-t  22XNl
''5&mmBHMM1JM  :
m $$9
m 00?? ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! @ L$ &+%7%7  &L" 	%%l3[s   E=L?L FLc                t  ^ ^
^#    [         R                  " UUUS9m
T R                  R                  (       aE  [	        T R                  T
S T
5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        T R                  T
S T
5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nT
R                  b-  T
R                  R                  b  T
R                  R                  n[        R                  " U5      n[        R                  " U5      nUb  [        USS 5      (       a  [!        S5      eT R                  R#                  S	XdU5      I S h  vN mU
UU 4S
 jn	U	" 5       $  N7f)Nr!  rg   rH  r  r"  r   r$  rI  r#  c                   >#    T  S h  vN n U R                   (       d  0 O[        R                  " U R                   5      nTR                  R                  (       a  [        US T5      nTR                  R                  (       d  [        US T5      n[        R                  R                  U[        TSS 5      (       aG  S[        TR                  SS 5      [        TR                  SS 5      [        TR                  SS 5      S.0O0 S9n[        R                  " U R                  S9Ul        TR                  R                  U5        U7v   GMI   GNE
 g 7f)Nr   rF  rH  r%  r&  r'  r)  )r7  r8  r9  r,  r-  r  r  r   r5  r:  r4  r   r;  r*  rq   r6  )r  rD  rC  r>  response_streamr=  s      r!   async_generator=AsyncModels._generate_content_stream.<locals>.async_generatora  s:    + $"*--TZZ5N$$>T?- ((=T?- 44CC" $77 '.'..0A4( -4'..0F- +2'..0Dd+
 ! D 
$ */););$$*
& 	)),7I$Os&   EEEEEEEE)r   r+  r,  r-  r|  r  r.  ry  r	   r/  r   r0  r   r1  r2  r4  r   async_request_streamed)r=  rf   rh   r   r?  r@  rA  rB  r0  rI  r>  rH  s   `         @@r!   rL  $AsyncModels._generate_content_stream   s     66O   9


OT?l &))&1	6AA
 78


OT?l &))&1	6AA
 7##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DLg-t   
 !,,CCL O%N Ws   FF8"F6#F8rN  rD   r   c                  #    [         R                  " UUUUUS9nU R                  R                  (       an  [	        U R                  USU5      nUR                  S5      n[        R                  " UR                  5      (       a  SOSn	U(       a  U	R                  U5      n
OGU	n
OD[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      n
OSn
UR                  S5      nU(       a  U
 S[        U5       3n
UR                  S	S5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                   " U5      n[        R"                  " U5      nU R                  R%                  S
XU5      I Sh  vN nUR&                  (       d  0 O[(        R*                  " UR&                  5      nU R                  R                  (       a  [-        USU5      nU R                  R                  (       d  [/        USU5      n[         R0                  R3                  U[5        US	S5      (       aG  S	[5        UR                  SS5      [5        UR                  SS5      [5        UR                  SS5      S.0O0 S9n[         R6                  " UR8                  S9Ul        U R                  R=                  U5        U$  GN?7f)a  Calculates embeddings for the given contents. Only text is supported.

Args:
  model (str): The model to use.
  contents (list[Content]): The contents to embed.
  config (EmbedContentConfig): Optional configuration for embeddings.

Usage:

.. code-block:: python

  embeddings = await client.aio.models.embed_content(
      model= 'text-embedding-004',
      contents=[
          'What is your name?',
          'What is your favorite color?',
      ],
      config={
          'output_dimensionality': 64
      },
  )
rP  Nrg   rQ  rR  rS  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   rT  r,  r-  r  r  ri   rU  rf   r.  r  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r  r  rV  r:  r4  r;  r*  rq   r6  rW  s                   r!   rY  AsyncModels._embed_content  s    H ::-O   =


OT?l &))&1/0/P/PQ`QfQf/g/g+m~l	&&'78<


OT?l &))&1	+667GH+##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  7
m $$6
m --<< ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! = L$ &+%7%7  &L" 	%%l3Ms   F(K,*K)+D?K,r   c                  #    [         R                  " UUUS9nU R                  R                  (       aE  [	        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  SXuU	5      I Sh  vN n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      nU R                  R                  (       d  [)        USU5      n[         R*                  R-                  U[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9n[         R0                  " U
R2                  S9Ul        U R                  R7                  U5        U$  GN?7f)z4Private method for generating images asynchronously.r\  Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   r]  r,  r-  r  r  r.  r  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r  r  r^  r:  r4  r;  r*  rq   r6  r_  s                r!   r`  AsyncModels._generate_images  s     55O   8


OT?l &))&1	 ++,<= 7


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  9
m $$8
m //>> ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! ? L$ &+%7%7  &L" 	%%l3M   E=K?J> D?Kr   c                  #    [         R                  " UUUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      n	U	(       a  U S[        U	5       3nUR                  SS5        Sn
UR                  b-  UR                  R                  b  UR                  R                  n
[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XU
5      I Sh  vN nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " UR0                  S9Ul        U R                  R5                  U5        U$  GN7f)z3Private method for editing an image asynchronously.rc  rd  Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   re  r,  r-  r   r   r  r.  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r   rf  r:  r4  r;  r*  rq   r6  rg  s                 r!   rh  AsyncModels._edit_image^  sC     00)	O $$5 
 4


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  4
m **99 ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! : L$ &+%7%7  &L" 	%%l3C   EI IDI r  r  c                  #    [         R                  " UUUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      n	U	(       a  U S[        U	5       3nUR                  SS5        Sn
UR                  b-  UR                  R                  b  UR                  R                  n
[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XU
5      I Sh  vN nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " UR0                  S9Ul        U R                  R5                  U5        U$  GN7f)z5Private method for upscaling an image asynchronously.rk  rd  Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   rl  r,  r-  r   r  r  r.  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r
  rm  r:  r4  r;  r*  rq   r6  rn  s                 r!   ro  AsyncModels._upscale_image  sC     66%	O $$5 
 :


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  7
m --<< ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! = L$ &+%7%7  &L" 	%%l3CrT  r  c                z  #    [         R                  " UUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XuU	5      I Sh  vN n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9nU R                  R/                  U5        U$  N7f)a7  Recontextualizes an image.

There is one type of recontextualization currently supported:
1) Virtual Try-On: Generate images of persons modeling fashion products.

Args:
  model (str): The model to use.
  source (RecontextImageSource): An object containing the source inputs
    (prompt, person_image, product_images) for image recontext. prompt is
    behind an allowlist. person_image is required. product_images is
    required. Only one product image is supported currently.
  config (RecontextImageConfig): Configuration for recontextualization.

Usage:

  ```
  virtual_try_on_response = await client.aio.models.recontext_image(
      model="virtual-try-on-001",
      source=types.RecontextImageSource(
          person_image=types.Image.from_file(location=IMAGE1_FILE_PATH),
          product_images=[types.ProductImage(product_image=
              types.Image.from_file(location=IMAGE2_FILE_PATH)
          )],
      ),
      config=types.RecontextImageConfig(
          number_of_images=1,
      ),
  )
  image = virtual_try_on_response.generated_images[0].image
  ```
rr  rd  Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  )r   rs  r,  r-  r   r  r  r.  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r  rt  r:  r4  r6  ru  s                r!   rv  AsyncModels.recontext_image  s"    N 55O $$5 
 9


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  9
m //>> ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! ? L& 	%%l3?   EH;H9C4H;c                z  #    [         R                  " UUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XuU	5      I Sh  vN n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9nU R                  R/                  U5        U$  N7f)aF  Segments an image, creating a mask of a specified area.

Args:
  model (str): The model to use.
  source (SegmentImageSource): An object containing the source inputs
    (prompt, image, scribble_image) for image segmentation. The prompt is
    required for prompt mode and semantic mode, disallowed for other modes.
    scribble_image is required for the interactive mode, disallowed for
    other modes.
  config (SegmentImageConfig): Configuration for segmentation.

Usage:

  ```
  response = await client.aio.models.segment_image(
      model="image-segmentation-001",
      source=types.SegmentImageSource(
          image=types.Image.from_file(location=IMAGE_FILE_PATH),
      ),
      config=types.SegmentImageConfig(
          mode=types.SegmentMode.foreground,
      ),
  )

  mask_image = response.generated_masks[0].mask
  ```
rr  rd  Nrg   rR  r  r"  r   r#  rF  rH  r%  r&  r'  )r   ry  r,  r-  r   r  r  r.  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r  rz  r:  r4  r6  ru  s                r!   r{  AsyncModels.segment_imaget  s"    F 33O $$5 
 7


OT?l &))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  7
m --<< ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! = L& 	%%l3?rY  c                >  #    [         R                  " UUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      I S h  vN n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
S U5      n
U R                  R                  (       d  [)        U
S U5      n
[         R*                  R-                  U
[/        USS 5      (       aG  S[/        UR                  SS 5      [/        UR                  S	S 5      [/        UR                  S
S 5      S.0O0 S9nU R                  R1                  U5        U$  GN7fr~  )r   r  r,  r-  r  r  r.  r  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r;  r7  r  r:  r4  r6  r  s               r!   r  AsyncModels.get  sf     //O   2


OT?l &))&1	""#341


OT?l &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t< H 'mmBHMM1JM  (oNm$$'t_Mm;;-- ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! . L& 	%%l3A   E<J>J?DJc                  #    [         R                  " US9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       aG  UR                  S5      (       a1  UR                  S5      nU SU 3nU(       a  US[        U5       3-  nOU(       a  U S[        U5       3nUR                  S	S 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  S
XSU5      I S h  vN n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
S U5      n
U R                  R                  (       d  [)        U
S U5      n
[         R*                  R-                  U
[/        US	S 5      (       aG  S	[/        UR                  SS 5      [/        UR                  SS 5      [/        UR                  SS 5      S.0O0 S9n[         R0                  " U	R2                  S9Ul        U R                  R7                  U5        U$  GN?7fr  )r   r  r,  r-  r0  r  r.  r.  r/  r	   r   r0  r   r1  r2  rD  r7  r8  r9  r<  r8  r  r:  r4  r;  r*  rq   r6  r  s               r!   r  AsyncModels._list,  s     11O   4


OT?l &))&1	(()9:3


OT?l &))&1	(()9:##H-L((22'++H5vX012d	!Il+,--	vQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t< H 'mmBHMM1JM  5
m $$4
m ++:: ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! ; L$ &+%7%7  &L" 	%%l3Ms   G	LL
D?Lc                >  #    [         R                  " UUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      I S h  vN n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
S U5      n
U R                  R                  (       d  [)        U
S U5      n
[         R*                  R-                  U
[/        USS 5      (       aG  S[/        UR                  S	S 5      [/        UR                  S
S 5      [/        UR                  SS 5      S.0O0 S9nU R                  R1                  U5        U$  GN7fr  )r   r  r,  r-  r  r  r.  r  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r;  r7  r  r:  r4  r6  r  s               r!   r  AsyncModels.update  sf     22O   5


OT?l &))&1	##$454


OT?l &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33\ H 'mmBHMM1JM  (oNm$$'t_Mm;;-- ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! . L& 	%%l3Ar^  c                  #    [         R                  " UUS9nU R                  R                  (       aE  [	        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  US U5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS 5        S nUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXdU5      I S h  vN n	U	R                   (       d  0 O["        R$                  " U	R                   5      n
U R                  R                  (       a  ['        U
S U5      n
U R                  R                  (       d  [)        U
S U5      n
[         R*                  R-                  U
[/        USS 5      (       aG  S[/        UR                  SS 5      [/        UR                  S	S 5      [/        UR                  S
S 5      S.0O0 S9n[         R0                  " U	R2                  S9Ul        U R                  R7                  U5        U$  GN?7fr  )r   r  r,  r-  r   r  r.  r   r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r   r   r  r:  r4  r;  r*  rq   r6  r  s               r!   r  AsyncModels.delete  s     22O   5


OT?l &))&1	""#344


OT?l &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33$l H 'mmBHMM1JM  6
m $$5
m ,,;; ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! < L$ &+%7%7  &L" 	%%l3Ms   E<K >J=?D?K c                  #    [         R                  " UUUS9nU R                  R                  (       aE  [	        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOGSnOD[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  SXuU	5      I Sh  vN n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      nU R                  R                  (       d  [)        USU5      n[         R*                  R-                  U[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9n[         R0                  " U
R2                  S9Ul        U R                  R7                  U5        U$  GN?7f)a
  Counts the number of tokens in the given content.

Multimodal input is supported for Gemini models.

Args:
  model (str): The model to use for counting tokens.
  contents (list[types.Content]): The content to count tokens for.
  config (CountTokensConfig): The configuration for counting tokens.

Usage:

.. code-block:: python

  response = await client.aio.models.count_tokens(
      model='gemini-2.0-flash',
      contents='What is your name?',
  )
  print(response)
  # total_tokens=5 cached_content_token_count=None
r!  Nrg   r  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   r  r,  r-  r   r  r.  r   r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r   r   r  r:  r4  r;  r*  rq   r6  rK  s                r!   r  AsyncModels.count_tokens,   s    8 22O   5


OT?l &))&1	$//0@A$4


OT?l &))&1	$//0@A$##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  6
m $$5
m ,,;; ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! < L$ &+%7%7  &L" 	%%l3MrQ  c                  #    [         R                  " UUUS9nU R                  R                  (       d  [	        S5      e[        U R                  USU5      nUR                  S5      nU(       a  SR                  U5      nOSnUR                  S5      nU(       a  U S[        U5       3nUR                  SS5        Sn	UR                  b-  UR                  R                  b  UR                  R                  n	[        R                  " U5      n[        R                  " U5      nU R                  R                  S	XuU	5      I Sh  vN n
U
R                   (       d  0 O["        R$                  " U
R                   5      nU R                  R                  (       a  ['        USU5      n[         R(                  R+                  U[-        USS5      (       aG  S[-        UR                  S
S5      [-        UR                  SS5      [-        UR                  SS5      S.0O0 S9n[         R.                  " U
R0                  S9Ul        U R                  R5                  U5        U$  GN7f)a  Given a list of contents, returns a corresponding TokensInfo containing the

list of tokens and list of token ids.


Args:
  model (str): The model to use.
  contents (list[shared.Content]): The content to compute tokens for.

Usage:

.. code-block:: python

  response = await client.aio.models.compute_tokens(
      model='gemini-2.0-flash',
      contents='What is your name?',
  )
  print(response)
  # tokens_info=[TokensInfo(role='user', token_ids=['1841', ...],
  # tokens=[b'What', b' is', b' your', b' name', b'?'])]
r!  rd  Nrg   r  r  r"  r   r#  rF  rH  r%  r&  r'  r)  )r   r  r,  r-  r   rn   r  r.  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  rt   r  r:  r4  r;  r*  rq   r6  rK  s                r!   r  AsyncModels.compute_tokens   s@    : 44O $$5 
 8


OT?l &))&1	&112BC&##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  8
m ..== ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! > L$ &+%7%7  &L" 	%%l3Cs   EIIDIr  r  c                F  #    [         R                  " UUUUUUS9nU R                  R                  (       aE  [	        U R                  USU5      nUR                  S5      n	U	(       a  SR                  U	5      n
OGSn
OD[        U R                  USU5      nUR                  S5      n	U	(       a  SR                  U	5      n
OSn
UR                  S5      nU(       a  U
 S[        U5       3n
UR                  SS5        SnUR                  b-  UR                  R                  b  UR                  R                  n[        R                  " U5      n[        R                  " U5      nU R                  R                  SXU5      I Sh  vN nUR                   (       d  0 O["        R$                  " UR                   5      nU R                  R                  (       a  ['        USU5      nU R                  R                  (       d  [)        USU5      n[         R*                  R-                  U[/        USS5      (       aG  S[/        UR                  S	S5      [/        UR                  S
S5      [/        UR                  SS5      S.0O0 S9nU R                  R1                  U5        U$  GN7f)z4Private method for generating videos asynchronously.r  Nrg   r  r  r"  r   r#  rF  rH  r%  r&  r'  )r   r  r,  r-  r  r  r.  r  r	   r/  r   r0  r   r1  r2  rD  r7  r8  r9  r  r  r  r:  r4  r6  r  s                   r!   r  AsyncModels._generate_videos !  s     55O   8


OT?l &))&1	+667GH+7


OT?l &))&1	+667GH+##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33L H 'mmBHMM1JM  :
m $$9
m 00?? ?Hd33 #*#**,=t$ )0#**,BD) '.#**,@$'

 ! @ L& 	%%l3Is   F J!JDJ!c          	        #    [         R                  " U[        U R                  SS5      S9nU(       d  SnO;[	        U[
        5      (       a  [        R                  " S0 UD6nOUR                  SS9n[        R                  " 5        ISh  vN nU R                  R                  (       Ga  [         R                  " U5      (       Ga  UGb  / nUR                  (       Gap  UR                   GHY  n[	        U[        R                  5      (       Ga$  UR                  (       Ga  UR                   (       dD  UR"                  (       d3  UR$                  (       d"  UR&                  (       d  UR(                  (       a"  UR                  SS0S9n	UR+                  U	5        UR                   H  n
[        U
S	S5       b  [-        S
5      eU
R.                  bU  UR1                  [2        R4                  " U R                  U
R.                  5      5      I Sh  vN nUR+                  U5        M  [-        S5      e   GMH  UR+                  U5        GM\     Xul        [         R6                  " U[        U R                  SS5      S9I Sh  vN u  p[         R8                  " U5      (       a)  U R;                  XUS9I Sh  vN sSSS5      ISh  vN   $ U(       a  Sn[	        U[        R                  5      (       a'  UR                  (       a  [=        UR                  5      nO9[	        U[
        5      (       a$  UR?                  S/ 5      nU(       a  [=        U5      n[=        U5      U:w  a5  SRA                  [C        [D        U5      5      n[F        RI                  SU5        U R;                  XUS9I Sh  vN sSSS5      ISh  vN   $ [         RJ                  " U5      n[F        RM                  SU S35        / n[        RN                  " 5       nUS:  Ga  [         RP                  " UUSS9nU(       a  UR                  SS9OSnU(       a  [         RR                  " U5      nU R;                  XUS9I Sh  vN nUS-  nUS:X  a  [F        RM                  S5        U(       d  GOFU(       d  GO=URT                  (       aF  URT                  S   RV                  (       a(  URT                  S   RV                  RX                  (       d  O[         RZ                  " UU5      I Sh  vN nU(       d  OURT                  S   RV                  n[        R\                  " SUS9n[^        R`                  " U5      nU(       d  URc                  U5        [	        U[d        5      (       a"  UR+                  U5        UR+                  U5        UR+                  U5        UR+                  U5        US:  a  GM  [         Rf                  " U5      (       a
  Ub  UUl4        UsSSS5      ISh  vN   $  GN GN GN GNk GN^ GN| GNo GN GN N ! , ISh  vN  (       d  f       g= f7f)a  Makes an API request to generate content using a model.

Some models support multimodal input and output.

Built-in MCP support is an experimental feature.

Usage:

.. code-block:: python

  from google.genai import types
  from google import genai

  client = genai.Client(
      vertexai=True, project='my-project-id', location='us-central1'
  )

  response = await client.aio.models.generate_content(
      model='gemini-2.0-flash',
      contents='User input: I like bagels. Answer:',
      config=types.GenerateContentConfig(
          system_instruction=
            [
              'You are a helpful language translator.',
              'Your mission is to translate text in English to French.'
            ]
      ),
  )
  print(response.text)
  # J'aime les bagels.
r-  Fis_agent_platformNTr  r  r  rF  The 'streamable_http_transport' parameter is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.2Agent Platform MCP servers require a 'name' field.r!  r   r   r  r  r  r  is_caller_method_asyncr
   r  r  r  r"  )5r   r  r4  r,  r  r  r   r  r  
contextlibAsyncExitStackr-  has_agent_platform_mcp_serversr   Toolr  r  r  r  r  r  r  r   r   enter_async_contextr   _connect_agent_platform_mcpparse_config_for_mcp_sessionsr  rE  r  r  r  r  r  r  r  r  r  r5  r  r  r~  rD   r   !get_function_response_parts_asyncr  ri   rk   r  r  r  r  )r=  rf   rh   r   r  r  stack	new_toolstool	tool_copyserversessionfinal_parsed_configmcp_to_genai_tool_adaptersr  r   r  r  r  r  r  final_parsed_config_to_callr  r  r  s                            r!   r  AsyncModels.generate_content_!  s    P 	77%d&6&6
EJ	
  m	FD	!	!11;F;m''T'2m ((**e 


#
#
#99-HH'!	#))d$

++0@0@0@ ,,''^^11(( OOM43HOI	  + ,,& F$?F  #9  ;;*"'";"; <<**FKK# '
 ""7+"J + -2 t$M *N !*
 :: '(8(8*e L  6 
	(	()<	=	=++3F , 
 
y +**@ 
$ !fe99::\\$'$5!%%**Wb)%$'J!)*.CC		#c+E"FG+
..G  ++3F , 
 
e +**l $0#H#H
$  kk23M2Na
P AC(..0h&*#44&#'
 #  ***5 	$
 (4(E(E))
% //3N 0 
 
 	#a'"%*
++H 

##&&q)11&&q)1177
@@,  	
 #
$//2:: %%!
 <<)1
,
3
3H
=h%%
//+
,
///
0*112CD*112GHk '*p 
0
01D
E
E" / 	3 } +**J 
y +d
e +\
(E +***s   B	YXYE=X1X
A0X1=X>4X12X3X16YX YCX1'X#(X1+Y7X&8Y=B+X1(X))B(X1X,CX1&X1YX/YX1X1X1 Y#X1&Y)X1,X1/Y1Y7X:8YYc                  ^ ^^^^^#    T(       d  SmO;[        T[        5      (       a  [        R                  " S0 TD6mOTR	                  SS9m[
        R                  " T[        T R                  SS5      S9mUUUUUU 4S jnU" 5       $ 7f)	a  Makes an API request to generate content using a model and yields the model's response in chunks.

For the `model` parameter, supported formats for Gemini Enterprise Agent
Platform API include:
- The Gemini model ID, for example: 'gemini-2.0-flash'
- The full resource name starts with 'projects/', for example:
  'projects/my-project-id/locations/us-central1/publishers/google/models/gemini-2.0-flash'
- The partial resource name with 'publishers/', for example:
  'publishers/google/models/gemini-2.0-flash' or
- `/` separated publisher and model name, for example:
  'google/gemini-2.0-flash'

For the `model` parameter, supported formats for Gemini API include:
- The Gemini model ID, for example: 'gemini-2.0-flash'
- The model name starts with 'models/', for example:
  'models/gemini-2.0-flash'
- For tuned models, the model name starts with 'tunedModels/',
  for example:
  'tunedModels/1234567890123456789'

Some models support multimodal input and output.

Built-in MCP support is an experimental feature.

Usage:

.. code-block:: python

  from google.genai import types
  from google import genai

  client = genai.Client(
      vertexai=True, project='my-project-id', location='us-central1'
  )

  async for chunk in await client.aio.models.generate_content_stream(
    model='gemini-2.0-flash',
    contents='''What is a good name for a flower shop that specializes in
      selling bouquets of dried flowers?'''
  ):
    print(chunk.text)
  # **Elegant & Classic:**
  # * The Dried Bloom
  # * Everlasting Florals
  # * Timeless Petals

  async for chunk in await client.aio.models.generate_content_stream(
    model='gemini-2.0-flash',
    contents=[
      types.Part.from_text('What is shown in this image?'),
      types.Part.from_uri('gs://generativeai-downloads/images/scones.jpg',
      'image/jpeg')
    ]
  ):
    print(chunk.text)
  # The image shows a flat lay arrangement of freshly baked blueberry
  # scones.
NTr  r-  Frl  c            	       >#    [         R                  " 5        IS h  vN n Tn[        TR                  SS5      (       Ga  [        R
                  " U5      (       Ga  UGb  / nUR                  (       Gap  UR                   GHY  n[        U[        R                  5      (       Ga$  UR                  (       Ga  UR                  (       dD  UR                  (       d3  UR                  (       d"  UR                  (       d  UR                  (       a"  UR!                  SS 0S9nUR#                  U5        UR                   H  n[        USS 5       b  [%        S5      eUR&                  bU  U R)                  [*        R,                  " TR                  UR&                  5      5      I S h  vN nUR#                  U5        M  [%        S5      e   GMH  UR#                  U5        GM\     X!l        [        R.                  " U[        TR                  SS5      S9I S h  vN u  px[        R0                  " U5      (       a+  TR3                  TTUS	9I S h  vN n	U	  S h  vN n
U
7v   M  T(       a  S
n[        T[        R4                  5      (       a'  TR                  (       a  [7        TR                  5      nO9[        T[8        5      (       a$  TR;                  S/ 5      nU(       a  [7        U5      n[7        T5      U:w  a5  SR=                  [?        [@        T5      5      n[B        RE                  SU5        TR3                  TTUS	9I S h  vN n	U	  S h  vN n
U
7v   M  [        RF                  " U5        [        RH                  " U5      n[B        RK                  SU S35        / nS nS n
S
nTnUS
:  Ga  [        RL                  " UUSS9nU(       a  UR!                  SS9OS nU(       a  [        RN                  " U5      nUS-  nTR3                  TUUS	9I S h  vN n	US:  a  [B        RK                  SU S35        US-  nUS:  a  US
:X  a  [B        RK                  S5        US:X  a  U	  S h  vN n
U(       d  [        RP                  " UU
5      nU
7v   M.  U
RR                  (       aF  U
RR                  S
   RT                  (       a(  U
RR                  S
   RT                  RV                  (       d    O[        RX                  " U
U5      I S h  vN nU(       a  M  [        RP                  " UU
5      nU
7v   M  U	  S h  vN n
[        RZ                  " U5      (       a  UU
l.        [        RP                  " UU
5      nU
7v   MI  U(       a  U(       d  OU
c  GM  U
RR                  S
   RT                  n[        R^                  " SUS9n[`        Rb                  " U5      nU(       d  URe                  U5        [        U[f        5      (       a%  Ub"  UR#                  U5        UR#                  U5        Ub  UR#                  U5        UR#                  U5        US
:  a  GM  S S S 5      IS h  vN   g  GNG GN GNX GN% GN
  S S S 5      IS h  vN    g  GNH GN@
  S S S 5      IS h  vN    g  GN GN> GN
 GN3 GNx
 U
bW  U
RR                  (       aF  U
RR                  S
   RT                  (       a(  U
RR                  S
   RT                  RV                  (       d  M  [        RX                  " U
U5      I S h  vN  nGN N! , IS h  vN  (       d  f       g = f7f)Nr-  Fr  rn  rF  ro  rp  rl  r!  r   r   r  r  r  r  Trq  r  r
   r  r  r  r  r  )4rs  rt  r4  r,  r   ru  r   r  r   rv  r  r  r  r  r  r  r  r  r   r   rw  r   rx  ry  r  rL  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r~  rD   r   rz  r  r  r  ri   rk   r  r  )r{  current_configr|  r}  r~  r  r  r  r  r  r  r  r   r  r  r  r  r  loop_contentsr  r  r  r  r   rh   r  rf   r  r=  s                          r!   stream_generator=AsyncModels.generate_content_stream.<locals>.stream_generator"  s    **,,& D$$j%88;;NKK*!#)!!!&,,D%**--$2B2B2B..))~~33**"oomT5JoK)""9-"..Ff&A4H!" %;  [[,$)$=$=">> ,,fkk% G
 $$W-$L ' /.   &G -H $-  <<")$*:*:J"N  	8 **+>??88H5H 9  ( & EK &"#
 ; ;<<||&)&,,&7#&$''JJw+E&)%j#+,0EE))C-G$HIKNN
   88H5H 9  ( & EK 	<<	
 &2%J%J&
" 	*+1.	
 CE*" (1,%66!(%), % ",,$,7 &
 *6*G*G++' q&!88$0 9  ( UKK*1#Y78
$
)
$U1Q6KKJ !V' e! , B B!5!  (( ++A.66 ++A.66<<&HH|  $
 +*"."D"D#U#- +' e778KLL6 8 +@@m k %8] $..q199
"'--'#
 ,,}5-3.55mDt,,1B1N  !23  !67*.556GH
,
3
34I
JK )1,U -,,DX
{ -,,dX
o -,,|  (0x ''''*22''*2288"DD<    k -,,,s~  ]Y$]F \1!Y'
"A0\1Y*5\1Y-	\1Y3Y0Y3C(\1?Z \1Z
Z
ZC\1Z!A\1"Z*&Z$'Z**B\1Z'	\1 \11Z05Z-6Z09D\1]\/]'\1*\1-\10Y33\15] Z]\1
Z\1]Z]!\1$Z*'\1*\1-Z00A7\1'\*(\1/]1]7\:8]]r"  )	r  r  r   r  r  r   r  r4  r,  )r=  rf   rh   r   r  r  r  s   ```` @@r!   r  #AsyncModels.generate_content_stream5"  s     B m	FD	!	!11;F;m''T'2m 	77%d&6&6
EJ	
 QK QKf s   BB
c                B   #    U R                  UUUUS9I Sh  vN $  N7f)a  Edits an image based on a text description and configuration.

Args:
  model (str): The model to use.
  prompt (str): A text description of the edit to apply to the image.
    reference_images (list[Union[RawReferenceImage, MaskReferenceImage,
    ControlReferenceImage, StyleReferenceImage, SubjectReferenceImage]): The
    reference images for editing.
  config (EditImageConfig): Configuration for editing.

Usage:

.. code-block:: python

  from google.genai.types import RawReferenceImage, MaskReferenceImage

  raw_ref_image = RawReferenceImage(
    reference_id=1,
    reference_image=types.Image.from_file(location=IMAGE_FILE_PATH),
  )

  mask_ref_image = MaskReferenceImage(
    reference_id=2,
    config=types.MaskReferenceConfig(
        mask_mode='MASK_MODE_FOREGROUND',
        mask_dilation=0.06,
    ),
  )
  response = await client.aio.models.edit_image(
    model='imagen-3.0-capability-001',
    prompt='man with dog',
    reference_images=[raw_ref_image, mask_ref_image],
    config=types.EditImageConfig(
        edit_mode= "EDIT_MODE_INPAINT_INSERTION",
        number_of_images= 1,
        include_rai_reason= True,
    )
  )
  response.generated_images[0].image.show()
  # Shows a man with a dog instead of a cat.
rc  Nr  r  s        r!   r  AsyncModels.edit_imageY#  s6     b !!)	 "    s   c                  #    [         R                  " US9R                  =(       d    [         R                  " 5       nUR                  c  SUl        U R
                  R                  (       a?  UR                  SS9nUR                  (       d  UR                  nU(       a  US-   OSUl        [        SU R                  U R                  US9I Sh  vN U5      $  N	7f)a  Makes an API request to list the available models.

If `query_base` is set to True in the config or not set (default), the
API will return all available base models. If set to False, it will return
all tuned models.

Args:
  config (ListModelsConfigOrDict): Configuration for retrieving models.

Usage:

.. code-block:: python

  response = await client.aio.models.list(config={'page_size': 5})
  print(response.page)
  # [Model(name='projects/./locations/./models/123', display_name='my_model'

  response = await client.aio.models.list(
      config={'page_size': 5, 'query_base': True}
    )
  print(response.page)
  # [Model(name='publishers/google/models/gemini-2.0-flash-exp' ...
r  NTr  r  r  r5  )r   r  r   r  r$  r,  r-  r  r#  r   r  r  s      r!   r  AsyncModels.list#  s     < 	##6299 	$!!#   f    d +f}}  77% 	
 

jjj''	  	(s   CCC
Cc                d  #    U R                  UUUS9I Sh  vN nSn/ nU(       a  UR                  (       d  U$ UR                   HM  nUR                  (       a(  UR                  R                  S:X  a  UR                  nM<  UR	                  U5        MO     [
        R                  " UUS9nU$  N7f)a6  Generates images based on a text description and configuration.

Args:
  model (str): The model to use.
  prompt (str): A text description of the images to generate.
  config (GenerateImagesConfig): Configuration for generation.

Usage:

.. code-block:: python

  response = await client.aio.models.generate_images(
    model='imagen-3.0-generate-002',
    prompt='Man with a dog',
    config=types.GenerateImagesConfig(
        number_of_images= 1,
        include_rai_reason= True,
    )
  )
  response.generated_images[0].image.show()
  # Shows a man with a dog.
r\  Nr  r  r  r  s	            r!   r  AsyncModels.generate_images#  s     : .. /  L
 )-%|<<'88

+
+//<< -<,M,M)0 9 ++)*KH O1s   B0B.BB0c                  #    [         R                  " UUUUS9  U=(       d    0 n[        U[         R                  5      (       a  UR	                  5       nO[        U5      n[         R                  " UR                  SS5      UR                  SS5      UR                  SS5      UR                  SS5      UR                  SS5      UR                  SS5      UR                  S	S5      UR                  S
S5      UR                  SS5      UR                  SS5      S9
nSUS'   SUS'   U R                  UUUUS9I Sh  vN $  N7f)a  Makes an API request to upscale a provided image.

Args:
  model (str): The model to use.
  image (Image): The input image for upscaling.
  upscale_factor (str): The factor to upscale the image (x2 or x4).
  config (UpscaleImageConfig): Configuration for upscaling.

Usage:

.. code-block:: python

  from google.genai.types import Image

  IMAGE_FILE_PATH="my-image.png"
  response = await client.aio.models.upscale_image(
      model='imagen-3.0-generate-001',
      image=types.Image.from_file(location=IMAGE_FILE_PATH),
      upscale_factor='x2',
  )
  response.generated_images[0].image.show()
  # Opens my-image.png which is upscaled by a factor of 2.
rk  r0  Nr   r   r   r   r   r   r  r  r   r  r  r.  r
   r   r  r  s          r!   r  AsyncModels.upscale_image#  sH    B 
  %	 \rF&%2233$$&j<j11^^ND9!~~&6=&NN+@$G$..)<dC%>>*>E#(:DA#->>($$
 'NN+@$G",..'#
 ~~h-J$ #Jv%&J!"$$%	 %    s   D:E<E=Ec          
        #    U(       d  U(       d  U(       a  U(       a  [        S5      e0 nU R                  R                  (       d  U(       a  [        U[        R
                  5      (       a  UR                  5       nO[        U5      nUR                  S5      (       aI  UR                  S5      (       a3  [        R
                  " UR                  S5      UR                  S5      S9nGOlU R                  R                  (       GdP  U(       GaH  [        U[        R                  5      (       a#  UR                  5       nUR                  S0 5      nOn[        U5      n[        UR                  S5      [        R
                  5      (       a5  UR                  S[        R
                  " 5       5      n	U	R                  5       nU(       a  UR                  S5      (       a{  UR                  S5      (       ae  [        R                  " UR                  S5      UR                  S5      [        R
                  " UR                  S5      UR                  S5      S9S	9nU R                  UUUUUUS
9I Sh  vN $  N7f)r  r  r  r  r@   r  r  r   r  r  r  Nr  r  s
             r!   r  AsyncModels.generate_videosF$  s    b 	%5f' 
 !#I$$	E5;;	'	'$$&	K		u		)--">">e$	k0J
 &&&6	FE66	7	7&&(
NN7B/	&\
jnnW-u{{;;#->>'5;;=#I)**,)	y}}U++	m0L0L++>>(+..)++MM%(#--4
 && '    s   I+I4-I2.I4c                  #    U R                   R                  (       d4  SU;   a  [        R                  " U5      nU R	                  XUS9I Sh  vN $ [        R
                  " U5      (       af  [        R                  " U5      n[        U5      S:  a  [        S5      eU R	                  UUUS   [        R                  R                  US9I Sh  vN $ U R	                  UU[        R                  R                  US9I Sh  vN $  N N8 N7f)	aQ  Calculates embeddings for the given contents.

Args:
  model (str): The model to use.
  contents (list[Content]): The contents to embed.
  config (EmbedContentConfig): Optional configuration for embeddings.

Usage:

.. code-block:: python

  embeddings = await client.aio.models.embed_content(
      model= 'text-embedding-004',
      contents=[
          'What is your name?',
          'What is your favorite color?',
      ],
      config={
          'output_dimensionality': 64
      },
  )

  multimodal_embeddings = await client.aio.models.embed_content(
      model='gemini-embedding-2-preview',
      contents=[
          types.Part.from_uri(
              file_uri='gs://generativeai-downloads/images/scones.jpg',
              mime_type='image/jpeg',
          ),
      ],
      config={
          'output_dimensionality': 64
      },
  )
r  r!  Nr
   r  r   rP  )rf   rh   r   r   r  r  s        r!   r  AsyncModels.embed_content$  s    T $$		&<<)&& '    	((//LL2	 	!A	%
 	
 &&%a("33AA '    &&"33;;	 '   %s7   ADDB DD1D D	DD	Dr"  )Jr#  r$  r%  r&  r  r   r   r'  r(  r   r)  r5  rE  r   r   rL  r*  r+  r  r,  rV  rY  r-  r^  r`  r  r.  r/  rf  rh  r0  r1  rm  ro  r2  r3  rt  rv  r4  r5  rz  r{  r6  r  r  r7  r  r  r8  r  r9  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!   rB  rB    sK    =A^ ^ e,,e.H.HHI	^
 u889^ $$^J =Ah h e,,e.H.HHI	h
 u889h u<<=>h`  =A9=w w 
&&(B(BB
C	w 
""E$:$::
;w #5#9#9:w u556w !!w| <@Y Y 	Y
 u778Y ##YB 7;R R 	R
 U;;<R u223R Rt >BR R 	R
 R u99:R !!Rr <@l l ..	l
 u778l ##lf :>h h ,,	h
 u556h !!hV KOLL#+E,F,F#GL{{L^ AEV < <=VVx 9=	O O u445	O
 {{Oj 9=	U U u445	U
   Ux 9=l l e,,e.H.HHI	l
 u445l   lf ;?d d e,,e.H.HHI	d
 u667d ""dT #+/+/;?;?] ] sm	]
 e''(] e''(] u778] u778] $$]H =AT T e,,e.H.HHI	T
 u889T $$Tv =Ab b e,,e.H.HHI	b
 u889b U223bT	 7;6 6 	6
 U;;<6 u2236 6v 8<2 u3342 %++	2r <@5 5 	5
 u7785 ##5z :>H H 	H
 H u556H !!H\ #+/+/;?;?[ [ sm	[
 e''([ e''([ u778[ u778[ $$[D :>D D e,,e.H.HHI	D
 u556D !!D Dr#   rB  )NN)rs  r8  loggingtypingr   r   r   r   r   r   urllib.parser	    r   r   r  r   r   r   r   ri   r   r   r,  r   r   r7   r   r8   pagersr   r   	getLoggerr  r"   r&   r)   r  r  objectr;   rB   rY   rV   rc   rn   rt   r|   r   r   r   rl   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  rl  rv  ry  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r  r  r  r	  rk  ru  r  r  r  r  r(  r+  r.  r0  r8  r<  rD  rG  r7  r;  rb  r   r   r  r  r  r  r  r   r  r  r  rd  r  r  r  r  r  ra  rt  rh  rs  rf  r   r]  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  
BaseModuler  rB  r"  r#   r!   <module>r     sx8  $    K K "  *        & . . %			0	1  # $ 	 /3;?-tCH~v-.-DcN+- %S#X 678- 
#s(^	-d /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?6tCH~v-.6DcN+6 %S#X 6786 
#s(^	6v /3;?tCH~v-.DcN+ %S#X 678 
#s(^	$ /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^: /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?tCH~v-.DcN+ %S#X 678 
#s(^	D /3;?tCH~v-.DcN+ %S#X 678 
#s(^	" /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	* /3;?tCH~v-.DcN+ %S#X 678 
#s(^	< /3;?%tCH~v-.%DcN+% %S#X 678% 
#s(^	%V /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^F /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^D /3;?tCH~v-.DcN+ %S#X 678 
#s(^	4 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	( /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^( /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^& /3;?tCH~v-.DcN+ %S#X 678 
#s(^	  /3;?tCH~v-.DcN+ %S#X 678 
#s(^	  /3;?vtCH~v-.vDcN+v %S#X 678v 
#s(^	vx /3;?	  tCH~v-.  DcN+  %S#X 678	 
 
#s(^ J /3;?tCH~v-.DcN+ %S#X 678 
#s(^	4 /3;?/tCH~v-./DcN+/ %S#X 678/ 
#s(^	/h /3;?ntCH~v-.nDcN+n %S#X 678n 
#s(^	nh /3;?	))tCH~v-.) DcN+) %S#X 678	)
 
#s(^)^ /3;?	22tCH~v-.2 DcN+2 %S#X 678	2
 
#s(^2n /3;?tCH~v-.DcN+ %S#X 678 
#s(^	4 /3;?%tCH~v-.%DcN+% %S#X 678% 
#s(^	%T /3;?tCH~v-.DcN+ %S#X 678 
#s(^	& /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?tCH~v-.DcN+ %S#X 678 
#s(^	@ /3;?tCH~v-.DcN+ %S#X 678 
#s(^	8 /3;?	BBtCH~v-.B DcN+B %S#X 678	B
 
#s(^BP /3;?	{{tCH~v-.{ DcN+{ %S#X 678	{
 
#s(^{B /3;?	!!tCH~v-.! DcN+! %S#X 678	!
 
#s(^!N /3;?	!!tCH~v-.! DcN+! %S#X 678	!
 
#s(^!L /3;?$tCH~v-.$DcN+$ %S#X 678$ 
#s(^	$R /3;?!tCH~v-.!DcN+! %S#X 678! 
#s(^	!L /3;?~tCH~v-.~DcN+~ %S#X 678~ 
#s(^	~F /3;?vtCH~v-.vDcN+v %S#X 678v 
#s(^	vx /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^8 /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^6 /3;? tCH~v-. DcN+  %S#X 678  
#s(^	 J /3;? tCH~v-. DcN+  %S#X 678  
#s(^	 J /3;?HtCH~v-.HDcN+H %S#X 678H 
#s(^	HZ /3;?HtCH~v-.HDcN+H %S#X 678H 
#s(^	HZ /3;?(tCH~v-.(DcN+( %S#X 678( 
#s(^	(Z /3;?$tCH~v-.$DcN+$ %S#X 678$ 
#s(^	$T /3;?	))tCH~v-.) DcN+) %S#X 678	)
 
#s(^)^ /3;?	))tCH~v-.) DcN+) %S#X 678	)
 
#s(^)\ /3;?tCH~v-.DcN+ %S#X 678 
#s(^	F /3;?tCH~v-.DcN+ %S#X 678 
#s(^	F /3;?tCH~v-.DcN+ %S#X 678 
#s(^	< /3;?tCH~v-.DcN+ %S#X 678 
#s(^	< /3;?tCH~v-.DcN+ %S#X 678 
#s(^	2 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	D /3;?"tCH~v-."DcN+" %S#X 678" 
#s(^	"N /3;?tCH~v-.DcN+ %S#X 678 
#s(^	$ /3;?tCH~v-.DcN+ %S#X 678 
#s(^	( /3;?vtCH~v-.vDcN+v %S#X 678v 
#s(^	vx /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^( /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^& /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?tCH~v-.DcN+ %S#X 678 
#s(^	> /3;?*tCH~v-.*DcN+* %S#X 678* 
#s(^	*^ /3;?-tCH~v-.-DcN+- %S#X 678- 
#s(^	-d /3;?tCH~v-.DcN+ %S#X 678 
#s(^	, /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	6 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	2 /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^H /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^H /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^$ /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^" /3;?tCH~v-.DcN+ %S#X 678 
#s(^	: /3;?tCH~v-.DcN+ %S#X 678 
#s(^	: /3;?tCH~v-.DcN+ %S#X 678 
#s(^	, /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?7tCH~v-.7DcN+7 %S#X 6787 
#s(^	7x /3;?6tCH~v-.6DcN+6 %S#X 6786 
#s(^	6v /3;?tCH~v-.DcN+ %S#X 678 
#s(^	* /3;?PtCH~v-.PDcN+P %S#X 678P 
#s(^	Pj /3;?OtCH~v-.ODcN+O %S#X 678O 
#s(^	Oh /3;?tCH~v-.DcN+ %S#X 678 
#s(^	( /3;?LtCH~v-.LDcN+L %S#X 678L 
#s(^	Ld /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^: /3;?tCH~v-.DcN+ %S#X 678 
#s(^	* /3;?tCH~v-.DcN+ %S#X 678 
#s(^	F /3;?5tCH~v-.5DcN+5 %S#X 6785 
#s(^	5t /3;?tCH~v-.DcN+ %S#X 678 
#s(^	B /3;?tCH~v-.DcN+ %S#X 678 
#s(^	4 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	4 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?tCH~v-.DcN+ %S#X 678 
#s(^	$ /3;?)tCH~v-.)DcN+) %S#X 678) 
#s(^	)^ /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^: /3;?tCH~v-.DcN+ %S#X 678 
#s(^	* /3;?tCH~v-.DcN+ %S#X 678 
#s(^	@ /3;?tCH~v-.DcN+ %S#X 678 
#s(^	. /3;?tCH~v-.DcN+ %S#X 678 
#s(^	D /3;?tCH~v-.DcN+ %S#X 678 
#s(^	D /3;?tCH~v-.DcN+ %S#X 678 
#s(^	< /3;?KtCH~v-.KDcN+K %S#X 678K 
#s(^	K` /3;?JtCH~v-.JDcN+J %S#X 678J 
#s(^	J^ /3;?tCH~v-.DcN+ %S#X 678 
#s(^	6 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	2 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	4 /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^2 /3;?	tCH~v-. DcN+ %S#X 678	
 
#s(^0 /3;?LtCH~v-.LDcN+L %S#X 678L 
#s(^	Ld /3;?	!!tCH~v-.! DcN+! %S#X 678	!
 
#s(^!L /3;?tCH~v-.DcN+ %S#X 678 
#s(^	4 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	* /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	* /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	0 /3;?tCH~v-.DcN+ %S#X 678 
#s(^	6T"[## T"nDi$+(( i$r#   