U
    ڲg                  
   @   sr  d Z ddlZddlmZ ddlmZ ejdkrpddlmZ ddl	m
Z
 ddlmZ dd	lmZmZ dd
lmZ nfddlZddlmZmZmZmZ ddlmZ ddlm
Z
 eddZedZedef eeedddZejdkrddlmZmZ nddlmZmZ ejdkr ddlmZmZ nddlmZmZ ejdkrJddlmZ nddlmZ dddddddd d!dg
ZdS )"z7
compatibility functions for different Python versions
    N)partial)Any)   	   )	to_thread)ZoneInfo)cache)Counterdeque)Callable)r   r	   DequeTypeVar)	lru_cache)maxsizeR.)funcargskwargsreturnc                   s*   t  }t| f||}|d |I d H S )N)asyncioZget_running_loopr   Zrun_in_executor)r   r   r   ZloopZ	func_call r   3/tmp/pip-unpacked-wheel-b_ea6rx_/psycopg/_compat.pyr      s    r   )r   
   )	TypeGuard	TypeAlias)r      )LiteralStringSelf)r      )r   r	   r   r   r   r   r   r   r   r   )__doc__sys	functoolsr   typingr   version_infor   r   Zzoneinfor   r   collectionsr	   r
   r   collections.abcr   r   r   Zbackports.zoneinfor   r   r   Ztyping_extensionsr   r   __all__r   r   r   r   <module>   sH   


