a
    feza]                     @   sX  d Z ddlZddlZeejddp(dZerRzddlZW n eyP   dZY n0 edur8zddl	Z	ddl
mZ e	 ZedD ]nZz2de eeZedddedd	Z[W  qW q ey Z zed
kredeW Y dZ[qdZ[0 0 qW nB eeeefy6 Z z dZedef  W Y dZ[n
dZ[0 0 edurPddlmZ ndZdS )zHelper module to factorize the conditional multiprocessing import logic

We use a distinct module to simplify import statements and avoid introducing
circular dependencies (for instance for the assert_spawning name).
    NZJOBLIB_MULTIPROCESSING   )SemLockd   z/joblib-{}-{}T)nameunlinkc   zcannot find name for semaphorez'%s.  joblib will operate in serial mode)assert_spawning)__doc__oswarningsintenvirongetZmpZmultiprocessingImportErrorZtempfileZ_multiprocessingr   Z_RandomNameSequenceZ_randrangeiformatgetpidnextr   Z_semFileExistsErroreAttributeErrorOSErrorwarnZmultiprocessing.contextr    r   r   >lib/python3.9/site-packages/joblib/_multiprocessing_helpers.py<module>   sD   


&
