
    2'&hl              	          d dl Zd dlZd dlZd dlZd dlm	Z
 ddlmZ ddlmZ ddlmZ dZ ej        d          Z G d	 d
eej                  ZdefdZddZej        rLedddej        ej        ej        ef         dej        ej        g ef                  dej        e         defdZnedddZdej        ddfdZ  G d de
          Z!dS )    N)BaseDefaultEventLoopPolicy   )includesLoop)__version__)new_event_loopinstallEventLoopPolicy_Tc                       e Zd ZdS )r   N)__name__
__module____qualname__     J/var/www/html/reinick/venv/lib/python3.11/site-packages/uvloop/__init__.pyr   r      s        Dr   r   returnc                      t                      S )zReturn a new event loop.r   r   r   r   r	   r	      s    66Mr   c                      t           j        dd         dk    rt          j        dt          d           t          j        t                                 dS )z+A helper function to install uvloop policy.N         zRuvloop.install() is deprecated in favor of uvloop.run() starting with Python 3.12.r   )
stacklevel)_sysversion_info	_warningswarnDeprecationWarning	__asyncioset_event_loop_policyr   r   r   r   r
   r
      s\    !'')		
 	
 	
 	
 #O$5$566666r   loop_factorydebugmainr$   r%   c                    dS )5The preferred way of running a coroutine with uvloop.Nr   )r&   r$   r%   s      r   runr)   )   s      r   c                     fd}t           j        dd         }|dk    r6t          j                    t	          d          t          j                   s"t          d                                          |            }	 t          j        |           ||	                    |           |
                     |                      	 t          |           |
                    |                                           t          |d          r'|
                    |                                           t          j        d           |                                 S # t          j        d           |                                 w xY w# 	 t          |           |
                    |                                           t          |d          r'|
                    |                                           t          j        d           |                                 w # t          j        d           |                                 w xY wxY w|dk    rmt          j                    t	          d          t          j        d||d	|5 }|                     |                      cddd           S # 1 swxY w Y   dS |d
k    sJ t          j         |            f||d	|S )r(   c                     K   t          j                    } t          | t                    st	          d           d {V S )Nz)uvloop.run() uses a non-uvloop event loop)r!   _get_running_loop
isinstancer   	TypeError)loopr&   s    r   wrapperzrun.<locals>.wrapper6   sK       .00DdD)) M KLLL::::::r   Nr   )r   
   z8asyncio.run() cannot be called from a running event loopz"a coroutine was expected, got {!r}shutdown_default_executor)r      r#   r   r   )r   r   r!   r,   RuntimeErroriscoroutine
ValueErrorformatset_event_loop	set_debugrun_until_complete_cancel_all_tasksshutdown_asyncgenshasattrr2   closeRunnerr)   )r&   r$   r%   
run_kwargsr0   vir/   runners   `       r   r)   r)   3   sw   	 	 	 	 	 rr"== *,,8"NP P P (..  8??EE    <>>D!(...$NN5)))..wwyy99	!%d+++++D,C,C,E,EFFFt%@AA // ::<<   ,T222JJLLLL ,T222JJLLLL	!%d+++++D,C,C,E,EFFFt%@AA // ::<<   ,T222JJLLLL ,T222JJLLLL7]]*,,8"NP P P ! )    - zz'')),,- - - - - - - - - - - - - - - - - - =====		)  	  sE   AF A-E##*FIA-H(?)I(*IIJ>>KKr/   c                 b   t          j        |           }|sd S |D ]}|                                 |                     t          j        |ddi           |D ]V}|                                r|                                +|                     d|                                |d           Wd S )Nreturn_exceptionsTz1unhandled exception during asyncio.run() shutdown)message	exceptiontask)r!   	all_taskscancelr:   gather	cancelledrF   call_exception_handler)r/   	to_cancelrG   s      r   r;   r;   u   s     #D))I   )<t<<     >> 	>>'''N!^^--) )   	 r   c                   j    e Zd ZdZdefdZej        rdej        fdZ	dej
        dej        fdZdS dS )r   a  Event loop policy.

    The preferred way to make your application use uvloop:

    >>> import asyncio
    >>> import uvloop
    >>> asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
    >>> asyncio.get_event_loop()
    <uvloop.Loop running=False closed=False debug=False>
    r   c                     t                      S N)r	   selfs    r   _loop_factoryzEventLoopPolicy._loop_factory   s    r   c                     d S rP   r   rQ   s    r   get_child_watcherz!EventLoopPolicy.get_child_watcher   s    Cr   watcherc                     d S rP   r   )rR   rV   s     r   set_child_watcherz!EventLoopPolicy.set_child_watcher   s	     Cr   N)r   r   r   __doc__r   rS   _typingTYPE_CHECKINGNoReturnrU   AnyrX   r   r   r   r   r      s        	 	 t          
	w'7 	 	 	 		";		 	 	 	 	 	 r   r   )r   N)"asyncior!   typingrZ   sysr   warningsr   asyncio.eventsr   __BasePolicy r   
__includesr/   r   
__BaseLoop_versionr   __all__TypeVarr   AbstractEventLoopr	   r
   r[   	Coroutiner]   OptionalCallableboolr)   r;   r   r   r   r   <module>ro      s                   E E E E E E $ $ $ $ $ $ $ $ $ $ $ $ ! ! ! ! ! ! ; W_T	 	 	 	 	:y2 	 	 	    
	7 	7 	7 	7  J &*D D DW[" <=D &RX&
D %D 
D D D D D #1 ? ? ? ? ?DI7 D    2    l     r   