� l\�g� ��x�ddlmZddlZddlZddlmZddlmZddlmZddlmZdZdZ ddl Z dZd d l m Z d d l m Z d d l mZd d l mZd dl mZd dl mZd dl mZn#e$rZee��Z YdZ[ndZ[wwxYwed��ZGd�d��Zejsesd�Zd�Zd�Z d�Z d�Zd�Zd�Zd�Zd�ZdSdSdS)�)� annotationsN)�Any)�Callable)� Coroutine)�TypeVarFT�)� await_only)�await_fallback)� in_greenlet)�greenlet_spawn)�is_exit_exception)�AsyncAdaptedLock)�_Runner�_Tc�2�eZdZdZdd�Zdd �Zdd �Zdd�ZdS)� _AsyncUtilz&Asyncio util for test suite/ util only�return�Nonec�>�trt��|_dSdS�N)� have_greenletr�runner��selfs �k/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/sqlalchemy/util/concurrency.py�__init__z_AsyncUtil.__init__)s#�� � $�!�)�)�D�K�K�K� $� $��fn�&Callable[..., Coroutine[Any, Any, _T]]�argsr�kwargsrc�B�|j�||i|����S)zRun coroutine on the loop)r�run�rrr r!s rr#z_AsyncUtil.run-s'���{���r�r�4�2�6�2�2�3�3�3r�Callable[..., _T]c���tr[|j������r||i|��S|j�t |g|�Ri|����S||i|��S)z3Run sync function in greenlet. Support nested calls)rr�get_loop� is_runningr#r r$s r�run_in_greenletz_AsyncUtil.run_in_greenlet6s��� � '��{�#�#�%�%�0�0�2�2� L��r�4�*�6�*�*�*��{���~�b�'J�4�'J�'J�'J�6�'J�'J�K�K�K��2�t�&�v�&�&� &rc�J�tr|j���dSdSr)rr�closers rr+z_AsyncUtil.closeBs.�� � � �K� � � � � � � � � rN)rr)rrr rr!rrr)rr%r rr!rrr)�__name__� __module__� __qualname__�__doc__rr#r)r+�rrrr&sj������0�0�$�$�$�$�4�4�4�4� '� '� '� '� � � � � � rrc�T�trdSttr dtznd���)Nz9the greenlet library is required to use this function. %s�)r� ValueError�greenlet_errorr0rr�_not_implementedr5IsD�� � ��4��� � �"� #� #��  � � rc�.�t|t�� Sr)� isinstance� Exception)�es rr r Vs���a��+�+�+�+rc�"�t��dSr�r5��things rr r Y��������rc��|Srr0r<s rr r \s��� rc�"�t��dSrr;r0rrr r _r>rc�"�t��dSrr;)rr �kws rr r br>rc�"�t��dSrr;)r rBs rrrer>rc��||i|��Srr0�r�argrBs r�_util_async_runrGhs���r�3�~�"�~�~�rc�"�t��dSrr;rEs r�"_util_async_run_coroutine_functionrIkr>r)� __future__r�asyncio�typingrrrrrr4�greenlet�_concurrency_py3kr r r r r rr� ImportErrorr9�strrr� TYPE_CHECKINGr5rGrIr0rr�<module>rRs>��#�"�"�"�"�"����� � � � �������������������������� ��� +��O�O�O� �M�;�;�;�;�;�;�C�C�C�C�C�C�=�=�=�=�=�=�C�C�C�C�C�C�I�I�I�I�I�I�G�G�G�G�G�G�*�*�*�*�*�*�*��� � � ��S��V�V�N��D�D�D�D����� ���� �W�T�]�]�� � � � � � � � �B��%�M�%�  �  �  �,�,�,������������������������I%�%�%�%s�A�A7�" A2�2A7
Memory