§
    TCÄjëJ  ã            	       ór  — d dl Z d dlZd dlmZmZmZmZ d dlmZ ddl	m
Z
 ddl	mZ ddl	mZ ddlmZ dd	lmZ  ej        d
¦  «        Z	 ddeeeef         ef         deeeef                  deeef         fd„Z	 ddeeeef         ef         deeeef                  deeef         fd„Z	 ddeeeef         ef         deeeef                  deeef         fd„Z	 ddeeeef         ef         deeeef                  deeef         fd„Z G d„ de
j        ¦  «        Z G d„ de
j        ¦  «        ZdS )é    N)ÚAnyÚOptionalÚTypeVarÚUnion)Ú	urlencodeé   )Ú_api_module)Ú_common)Útypes)Úget_value_by_path)Úset_value_by_pathzgoogle_genai.operationsÚfrom_objectÚparent_objectÚreturnc                 óÔ   — i }t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         |S )NÚoperation_nameÚoperationNameÚresource_nameÚ_urlÚresourceName©ÚgetvÚsetv©r   r   Ú	to_objects      ú[C:\Projects\Historical\FacebookAutoPoster\venv\Lib\site-packages\google/genai/operations.pyÚ*_FetchPredictOperationParameters_to_vertexr       sˆ   € ð !€)Ý	ˆ+Ð(Ð)Ñ*Ô*Ð6Ýˆ�_Ð%¥t¨KÐ:JÐ9KÑ'LÔ'LÑMÔMÐMå	ˆ+˜Ð(Ñ)Ô)Ð5ÝØØ	�Ð Ýˆ[˜?Ð+Ñ,Ô,ñô ð ð 
Ðó    c                 óp   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         |S ©Nr   r   r   r   r   s      r   Ú _GetOperationParameters_to_mldevr!   2   óS   € ð !€)Ý	ˆ+Ð(Ð)Ñ*Ô*Ð6ÝØØ	�Ð!Ýˆ[Ð+Ð,Ñ-Ô-ñô ð ð 
Ðr   c                 óp   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         |S r    r   r   s      r   Ú!_GetOperationParameters_to_vertexr$   A   r"   r   c                 óp   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         |S )NÚoperation_idr   r   r   s      r   Ú(_GetProjectOperationParameters_to_vertexr'   P   sO   € ð !€)Ý	ˆ+˜Ð'Ñ(Ô(Ð4ÝØ�F˜NÐ+­T°+ÀÐ?OÑ-PÔ-Pñô ð ð 
Ðr   c            	       ó   — e Zd Zddœdedeej                 defd„Zddœdededeej	                 defd„Z
ddœd	edeej                 dej        fd
„Z edej        ¬¦  «        Zddœdedeej                 defd„ZdS )Ú
OperationsN©Úconfigr   r+   r   c                óÖ  — t          j        ||¬¦  «        }| j        j        r?t	          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nAd}n>t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        }	|	j        si nt#          j        |	j        ¦  «        }
|
S ©N©r   r+   r   z{operationName}Ú_queryú?r+   Úget)r   Ú_GetOperationParametersÚ_api_clientÚvertexair$   r1   Ú
format_mapr!   r   Úpopr+   Úhttp_optionsr
   Úconvert_to_dictÚencode_unserializable_typesÚrequestÚbodyÚjsonÚloads©Úselfr   r+   Úparameter_modelÚrequest_dictÚrequest_url_dictÚpathÚquery_paramsr7   ÚresponseÚresponse_dicts              r   Ú_get_videos_operationz Operations._get_videos_operation_   sŠ  € õ Ô3Ø%Øðñ ô €Oð ÔÔ ð !Ý6°ÑGÔG€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð !Ø ×+Ò+Ð,<Ñ=Ô=ˆˆà ˆˆå5°oÑFÔF€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð !Ø ×+Ò+Ð,<Ñ=Ô=ˆˆà ˆØ×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'¨¨t°\À<ÑPÔP€Hà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÐr   r   c                óx  — t          j        |||¬¦  «        }| j        j        st	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }	|j
        �|j
        j        �|j
        j        }	t          j        |¦  «        }t          j        |¦  «        }| j                             d|||	¦  «        }
|
j        si nt#          j        |
j        ¦  «        }|S ©	N©r   r   r+   úiThis method is only supported in Gemini Enterprise Agent Platform mode, not in Gemini Developer API mode.r   z${resourceName}:fetchPredictOperationr/   r0   r+   Úpost)r   Ú _FetchPredictOperationParametersr3   r4   Ú
ValueErrorr   r1   r5   r   r6   r+   r7   r
   r8   r9   r:   r;   r<   r=   ©r?   r   r   r+   r@   rA   rB   rC   rD   r7   rE   rF   s               r   Ú_fetch_predict_videos_operationz*Operations._fetch_predict_videos_operation�   sn  € õ Ô<Ø%Ø#Øðñ ô €Oð ÔÔ$ð 6Ýð5ñô ð õ
 @ÀÑPÔP€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð 6Ø5×@Ò@Øñ
ô 
ˆˆð 6ˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'Ø��l Lñô €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÐr   r&   c                ó–  — t          j        ||¬¦  «        }| j        j        st	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        }	|	j        si nt#          j        |	j        ¦  «        }
t           j                             |
t+          |dd ¦  «        rDdt+          |j
        d	d ¦  «        t+          |j
        d
d ¦  «        t+          |j
        dd ¦  «        dœini ¬¦  «        }| j                             |¦  «         |S ©N)r&   r+   rK   r   zoperations/{operation_id}r/   r0   r+   r1   Úresponse_schemaÚresponse_json_schemaÚinclude_all_fields)rS   rT   rU   )rE   Úkwargs)r   Ú_GetProjectOperationParametersr3   r4   rN   r'   r1   r5   r   r6   r+   r7   r
   r8   r9   r:   r;   r<   r=   ÚProjectOperationÚ_from_responseÚgetattrÚ_verify_response©r?   r&   r+   r@   rA   rB   rC   rD   r7   rE   rF   Úreturn_values               r   Ú_getzOperations._getÅ   s  € õ Ô:Ø!Øðñ ô €Oð ÔÔ$ð +Ýð5ñô ð õ
 >¸oÑNÔN€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð +Ø*×5Ò5Ð6FÑGÔGˆˆà*ˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'¨¨t°\À<ÑPÔP€Hà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MåÔ)×8Ò8Øõ �? H¨dÑ3Ô3ðØÝ#*Ø#Ô*Ð,=¸tñ$ô $õ )0Ø#Ô*Ð,BÀDñ)ô )õ '.Ø#Ô*Ð,@À$ñ'ô 'ð
ð 
ð
ð 
ð ð! 9ñ ô €Lð& 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   ÚT©ÚboundÚ	operationc                ó  — |j         }|st          d¦  «        ‚| j        j        �r|                     d¦  «        d         }t          j        ¦   «         }t          |t          ¦  «        r7| 	                    dd¦  «        }|�t          j        di t          |¦  «        ¤Ž}n=t          |t
          j
        ¦  «        r#|�!|j        �|j        nt          j        ¦   «         }t          j        |¬¦  «        }|                      |||¬¦  «        }|                     |d¬	¦  «        }	| j                             |	¦  «         |	S |                      ||¬
¦  «        }|                     |d¬	¦  «        }	| j                             |	¦  «         |	S )aç  Gets the status of a long-running operation.

    Args:
      operation (Operation): The operation instance to get the status for.
      config (GetOperationConfig): Configuration for getting the operation.

    Returns:
      Operation: The updated operation instance with the latest status or
      result.

    Usage:

    .. code-block:: python

      import time

      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)

      print(operation.response)
    úOperation name is empty.ú/operations/r   r7   N©r7   rJ   T©Úis_vertex_air.   F© )ÚnamerN   r3   r4   Ú
rpartitionr   ÚHttpOptionsÚ
isinstanceÚdictr1   ÚGetOperationConfigr7   ÚFetchPredictOperationConfigrP   Úfrom_api_responser[   rG   ©
r?   rb   r+   r   r   r7   Údict_optionsÚfetch_operation_configrF   Úresponse_operations
             r   r1   zOperations.get
  sÊ  € ðH ”^€NØð 3ÝÐ1Ñ2Ô2Ð2ð ÔÔ ñ & Ø$×/Ò/°Ñ?Ô?ÀÔB€mÝÔ&Ñ(Ô(€lÝ	�F�DÑ	!Ô	!ð 	
Ø—z’z .°$Ñ7Ô7ˆØÐ#ÝÔ*Ð@Ð@­T°,Ñ-?Ô-?Ð@Ð@ˆ,øÝ�f�eÔ6Ñ7Ô7ð 
¸FÐ<Nð Ô"Ð.ð ÔÐåÔ"Ñ$Ô$ð 	õ
  %Ô@Ø#ð ñ  ô  Ðð ×:Ò:Ø'Ø%Ø'ð ;ñ ô €mð %×6Ò6Ø
 dð 7ñ ô Ðð Ô×'Ò'Ð(:Ñ;Ô;Ð;ØÐà×0Ò0Ø'Øð 1ñ ô €mð %×6Ò6Ø
 eð 7ñ ô Ðð Ô×'Ò'Ð(:Ñ;Ô;Ð;ØÐr   ©Ú__name__Ú
__module__Ú__qualname__Ústrr   r   ÚGetOperationConfigOrDictr   rG   Ú!FetchPredictOperationConfigOrDictrP   rX   r^   r   Ú	Operationr_   r1   ri   r   r   r)   r)   ]   st  € € € € € ð :>ð	/ð /ð /ð ð/ð �uÔ5Ô6ð	/ð
 ð/ð /ð /ð /ðl CGð3ð 3ð 3ð ð3ð ð	3ð
 �uÔ>Ô?ð3ð ð3ð 3ð 3ð 3ðr :>ð	Að Að Að ðAð �uÔ5Ô6ð	Að
 ÔðAð Að Að AðF €gˆc˜œÐ)Ñ)Ô)€!ð :>ð	O ð O ð O àðO ð �uÔ5Ô6ð	O ð
 	ðO ð O ð O ð O ð O ð O r   r)   c            	       ó   — e Zd Zddœdedeej                 defd„Zddœdededeej	                 defd„Z
ddœd	edeej                 dej        fd
„Z edej        ¬¦  «        Zddœdedeej                 defd„ZdS )ÚAsyncOperationsNr*   r   r+   r   c             ƒ   óæ  K  — t          j        ||¬¦  «        }| j        j        r?t	          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nAd}n>t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        ƒ d {V —†}	|	j        si nt#          j        |	j        ¦  «        }
|
S r-   )r   r2   r3   r4   r$   r1   r5   r!   r   r6   r+   r7   r
   r8   r9   Úasync_requestr;   r<   r=   r>   s              r   rG   z%AsyncOperations._get_videos_operation^  s³  è è € õ Ô3Ø%Øðñ ô €Oð ÔÔ ð !Ý6°ÑGÔG€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð !Ø ×+Ò+Ð,<Ñ=Ô=ˆˆà ˆˆå5°oÑFÔF€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð !Ø ×+Ò+Ð,<Ñ=Ô=ˆˆà ˆØ×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Øˆt�\ <ñô ð ð ð ð ð ð €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÐr   r   c             ƒ   óˆ  K  — t          j        |||¬¦  «        }| j        j        st	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }	|j
        �|j
        j        �|j
        j        }	t          j        |¦  «        }t          j        |¦  «        }| j                             d|||	¦  «        ƒ d {V —†}
|
j        si nt#          j        |
j        ¦  «        }|S rI   )r   rM   r3   r4   rN   r   r1   r5   r   r6   r+   r7   r
   r8   r9   r�   r;   r<   r=   rO   s               r   rP   z/AsyncOperations._fetch_predict_videos_operation‘  s�  è è € õ Ô<Ø%Ø#Øðñ ô €Oð ÔÔ$ð 6Ýð5ñô ð õ
 @ÀÑPÔP€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð 6Ø5×@Ò@Øñ
ô 
ˆˆð 6ˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Ø��l Lñô ð ð ð ð ð ð €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÐr   r&   c             ƒ   ó¦  K  — t          j        ||¬¦  «        }| j        j        st	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        ƒ d {V —†}	|	j        si nt#          j        |	j        ¦  «        }
t           j                             |
t+          |dd ¦  «        rDdt+          |j
        d	d ¦  «        t+          |j
        d
d ¦  «        t+          |j
        dd ¦  «        dœini ¬¦  «        }| j                             |¦  «         |S rR   )r   rW   r3   r4   rN   r'   r1   r5   r   r6   r+   r7   r
   r8   r9   r�   r;   r<   r=   rX   rY   rZ   r[   r\   s               r   r^   zAsyncOperations._getÆ  s=  è è € õ Ô:Ø!Øðñ ô €Oð ÔÔ$ð +Ýð5ñô ð õ
 >¸oÑNÔN€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð +Ø*×5Ò5Ð6FÑGÔGˆˆà*ˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Øˆt�\ <ñô ð ð ð ð ð ð €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MåÔ)×8Ò8Øõ �? H¨dÑ3Ô3ðØÝ#*Ø#Ô*Ð,=¸tñ$ô $õ )0Ø#Ô*Ð,BÀDñ)ô )õ '.Ø#Ô*Ð,@À$ñ'ô 'ð
ð 
ð
ð 
ð ð! 9ñ ô €Lð& 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   r_   r`   rb   c             ƒ   óÂ  K  — |j         }|st          d¦  «        ‚| j        j        �r|                     d¦  «        d         }t          j        ¦   «         }t          |t          ¦  «        r7| 	                    dd¦  «        }|�t          j        di t          |¦  «        ¤Ž}n=t          |t
          j
        ¦  «        r#|�!|j        �|j        nt          j        ¦   «         }t          j        |¬¦  «        }|                      |||¬¦  «        ƒ d{V —†}|                     |d¬	¦  «        }	|	S |                      ||¬
¦  «        ƒ d{V —†}|                     |d¬	¦  «        }	|	S )a  Gets the status of a long-running operation.

    Args:
      operation (Operation): The operation instance to get the status for.
      config (GetOperationConfig): Configuration for getting the operation.

    Returns:
      Operation: The updated operation instance with the latest status or
      result.

    Usage:

    .. code-block:: python

      import asyncio

      operation = await client.aio.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:
          await asyncio.sleep(10)
          operation = await client.aio.operations.get(operation)

      print(operation.response)
    rd   re   r   r7   Nrf   rJ   Trg   r.   Fri   )rj   rN   r3   r4   rk   r   rl   rm   rn   r1   ro   r7   rp   rP   rq   rG   rr   s
             r   r1   zAsyncOperations.get  sÙ  è è € ðF ”^€NØð 3ÝÐ1Ñ2Ô2Ð2àÔÔ ñ ! Ø$×/Ò/°Ñ?Ô?ÀÔB€mÝÔ&Ñ(Ô(€lÝ	�F�DÑ	!Ô	!ð 	
Ø—z’z .°$Ñ7Ô7ˆØÐ#ÝÔ*Ð@Ð@­T°,Ñ-?Ô-?Ð@Ð@ˆ,øÝ�f�eÔ6Ñ7Ô7ð 
¸FÐ<Nð Ô"Ð.ð ÔÐåÔ"Ñ$Ô$ð 	õ
  %Ô@Ø#ð ñ  ô  Ðð !×@Ò@Ø'Ø%Ø'ð Añ ô ð ð ð ð ð ð €mð
 %×6Ò6Ø
 dð 7ñ ô Ðð  Ðà ×6Ò6Ø'Øð 7ñ ô ð ð ð ð ð ð €mð %×6Ò6Ø
 eð 7ñ ô Ðð  Ðr   rv   ri   r   r   r   r   \  st  € € € € € ð :>ð	1ð 1ð 1ð ð1ð �uÔ5Ô6ð	1ð
 ð1ð 1ð 1ð 1ðp CGð3ð 3ð 3ð ð3ð ð	3ð
 �uÔ>Ô?ð3ð ð3ð 3ð 3ð 3ðr :>ð	Cð Cð Cð ðCð �uÔ5Ô6ð	Cð
 ÔðCð Cð Cð CðJ €gˆc˜œÐ)Ñ)Ô)€!ð :>ð	H ð H ð H àðH ð �uÔ5Ô6ð	H ð
 	ðH ð H ð H ð H ð H ð H r   r   )N)r<   ÚloggingÚtypingr   r   r   r   Úurllib.parser   Ú r	   r
   r   r   r   r   r   Ú	getLoggerÚloggerrn   rz   Úobjectr   r!   r$   r'   Ú
BaseModuler)   r   ri   r   r   ú<module>r�      s¯  ðð$ €€€Ø €€€Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ø .Ð .Ð .Ð .Ð .Ð .à	ˆÔ	Ð4Ñ	5Ô	5€ð
 /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð( /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð" /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð" /3ð
ð 
Ø�t˜C ˜H”~ vÐ-Ô.ð
à˜D  c œNÔ+ð
ð 
ˆ#ˆsˆ(„^ð
ð 
ð 
ð 
ð| ð | ð | ð | ð | �Ô'ñ | ô | ð | ð~y ð y ð y ð y ð y �kÔ,ñ y ô y ð y ð y ð y r   