a
    4b                  
   @   s  d dl mZ dZdZejrzddlZW n, eyR Z zeeZW Y dZ[nndZ[0 0 d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 d dl	mZ d dl	mZ d dlmZ esdZdd Zdd Zdd Z
dd Zdd Zdd Zdd Zdd ZdS )   )compatFN    T)
await_only)await_fallback)greenlet_spawn)is_exit_exception)AsyncAdaptedLock)_util_async_run)"_util_async_run_coroutine_function)asyncio)asynccontextmanagerc                   C   s0   t rd S tjstdnttr&dt ndd S )Nz Cannot use this function in py2.z9the greenlet library is required to use this function. %s )have_greenletr   py3k
ValueErrorgreenlet_error r   r   :lib/python3.9/site-packages/sqlalchemy/util/concurrency.py_not_implemented&   s    
r   c                 C   s   t | t S N)
isinstance	Exception)er   r   r   r   6   s    r   c                 C   s
   t   d S r   r   thingr   r   r   r   9   s    r   c                 C   s   | S r   r   r   r   r   r   r   <   s    r   c                 O   s
   t   d S r   r   )fnargskwr   r   r   r   ?   s    r   c                  O   s
   t   d S r   r   )r   r   r   r   r   r   B   s    r   c                 O   s   | |i |S r   r   r   argr   r   r   r   r	   E   s    r	   c                 O   s
   t   d S r   r   r   r   r   r   r
   H   s    r
   )r   r   r   r   r   ZgreenletImportErrorr   strZ_concurrency_py3kr   r   r   r   r   r	   r
   r   Z_compat_py3kr   r   r   r   r   r   <module>   s6   