
    i{                         d dl mZmZmZ d dlZd dlZd dlZd dlZddl	m
Z
  eh d          Z eh d          Zddddddeefd	ZdS )
    )absolute_importprint_functiondivisionN   )sysinfo>   gevent.libevgevent.libuv.loopgevent.libev.watchergevent.libuv.watchergevent.resolver.aresgevent.resolver_aresgevent.resolver.dnspython>   arescore_util__init__corecffi	_corecffi
_semaphore_corecffi_buildFTc              #     K   t           j        rd}| .t          j                            t
          j                  } |d}n|d}t          t          j        |                     D ]}t          j        	                    | |          }	t          j        
                    |	          r||sE|s|dv rLt          j        	                    |	d          }
t          j                            |
          r2|
||z   fV  t          |	||z   dz   ||||||          D ]\  }}||fV  |                    d	          r|dd
         }|                    d          r
|dd         }||v r||z   }|r||v r	 t          j                    5  t          j        dt"                     t%          j        |           ddd           n# 1 swxY w Y   n-# t(          $ r  ddlm} |                    d|           Y w xY w|	|fV  |r^|                    t           j                  r?d|v r|                    d          r|	||dd         z   fV  |	||dd
         z   fV  dS )a  
    Find gevent modules, yielding tuples of ``(path, importable_module_name)``.

    :keyword bool check_optional: If true (the default), then if we discover a
       module that is known to be optional on this system (such as a backend),
       we will attempt to import it; if the import fails, it will not be returned.
       If false, then we will not make such an attempt, the caller will need to be prepared
       for an `ImportError`; the caller can examine *optional_modules* against
       the yielded *importable_module_name*.
    FNzgevent. )testingtestsz__init__.py.)
include_so	recursivecheck_optionalinclude_testsoptional_modulesexcluded_modulesz.py_dignorer   )utilz#Unable to import optional module %sz.pypy-z_d.so)r   PYPYospathdirnamegevent__file__sortedlistdirjoinisdirexistswalk_modulesendswithwarningscatch_warningssimplefilterDeprecationWarning	importlibimport_moduleImportErrorr   r&   debugSHARED_OBJECT_EXTENSION)basedirmodpathr   r   r   r   r    r!   fnr*   pkg_initpmxmodnamer&   s                   A/usr/local/lib/python3.11/dist-packages/gevent/testing/modules.pyr3   r3   =   s,     * | 
'//&/22?G?GRZ(()) -. -.w||GR((7== 	   R+?%?%?w||D-88Hw~~h'' ",,,,(glS0#-"+'5&3)9)9   	 	DAq Q$JJJJ;;u 	.3B3Azz$ crcF$$$kG '-="="=!022 9 9 -h8JKKK!/8889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 #   &&&&&&JJDgNNNH - 	.BKK(GHH 	.2~~{{7## .Gb"g------Gb"g-----[-. -.s6   4G/G6GG	G	G	
G&G87G8)
__future__r   r   r   r9   os.pathr)   r5   r,   r   r   	frozensetOPTIONAL_MODULESEXCLUDED_MODULESr3        rF   <module>rN      s   ( A @ @ @ @ @ @ @ @ @              9       9 	 	 	 	 	  ))L. L. L. L. L. L.rM   