
    Ǆgq                     H    d dl mZmZmZmZ  ed      Z G d dee         Zy)    )CallableGenericOptionalTypeVarRc                   f    e Zd ZU dZeeg ef      ed<   ee   ed<   ddgZdeg ef   fdZ	defdZ
y)Thunkz
    A simple lazy evaluation implementation that lets you delay
    execution of a function.  It properly handles releasing the
    function once it is forced.
    frc                      || _         d | _        y Nr
   r   )selfr
   s     Z/home/mcse/projects/flask_80/flask-venv/lib/python3.12/site-packages/torch/utils/_thunk.py__init__zThunk.__init__   s        returnc                     | j                   | j                  S | j                         | _        d | _         | j                  S r   r   )r   s    r   forcezThunk.force   s1    66>66Mvvr   N)__name__
__module____qualname____doc__r   r   r   __annotations__	__slots__r   r    r   r   r	   r	      sN     Q  {Nc
I(2q5/ q r   r	   N)typingr   r   r   r   r   r	   r   r   r   <module>r      s&    7 7 CLGAJ r   