o
    i e>                     @   s0   d Z ddlZddlmZ ddlmZ dd ZdS )zVarious context managers.    N)ops)tensor_array_opsc                    sT   dd  | du rt dd  S t| ttfs| f} t fdd| D } t| S )zCreate a TF control dependency on the return values of a function.

  If the function had no return value, a no-op context is returned.

  Args:
    return_value: The return value to set as control dependency.

  Returns:
    A context manager.
  c                 S   s   t | tjr	| jS | S N)
isinstancer   TensorArrayflow)t r	   a/var/www/myenv/lib/python3.10/site-packages/tensorflow/python/autograph/utils/context_managers.pycontrol_dependency_handle"   s   z@control_dependency_on_returns.<locals>.control_dependency_handleNc                   s   s    d V S r   r	   r	   r	   r	   r
   <lambda>(   s    z/control_dependency_on_returns.<locals>.<lambda>c                 3   s    | ]} |V  qd S r   r	   ).0r   r   r	   r
   	<genexpr>,   s    z0control_dependency_on_returns.<locals>.<genexpr>)
contextlibcontextmanagerr   listtupler   control_dependencies)return_valuer	   r   r
   control_dependency_on_returns   s   
r   )__doc__r   tensorflow.python.frameworkr   tensorflow.python.opsr   r   r	   r	   r	   r
   <module>   s
   