o
    ?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   ZTensorArrayZflow)t r   s/home/www/facesmatcher.com/pyenv/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   Zcontrol_dependencies)return_valuer   r   r   control_dependency_on_returns   s   
r   )__doc__r   Ztensorflow.python.frameworkr   Ztensorflow.python.opsr   r   r   r   r   r   <module>   s
   