
    biH                         d dl Z d dlZd dlZd dlmZ d dlmZ  G d d      Z e       Ze j                  j                  e       ej                  e j                  d          y)    N)import_module)
ModuleSpecc                   >    e Zd ZdZd Zd Zd
dZd Zd
dZd Z	d	 Z
y)	TlzLoaderz< Finds and loads ``tlz`` modules when added to sys.meta_pathc                 0    t         j                  h| _        y N)toolzpipealways_from_toolz)selfs    I/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/tlz/_build_tlz.py__init__zTlzLoader.__init__   s    JJ"
    c                    i }|j                  d      \  }}}	 dj                  d||g      }t        |      |d<   	 dj                  d||g      }t        |      |d<   |st        |      |S # t        $ r Y =w xY w# t        $ r Y )w xY w)N. cytoolzr	   )	partitionjoinr   ImportError)r   fullnamervpackagedot
submodulesmodule_names          r   _load_toolzzTlzLoader._load_toolz   s    #+#5#5c#: j	''9c:">?K)+6ByM	''7C"<=K'4BwK h''	  		
  		s"   "A- "A< -	A98A9<	BBNc                 <    |j                  d      \  }}}|dk(  r| S y Nr   tlz)r   )r   r   pathr   r   r   s         r   find_modulezTlzLoader.find_module!   s+    #+#5#5c#: jeK r   c                     |t         j                  v rt         j                  |   S t        ||       }| j                  |      }|t         j                  |<   | j	                  |       |S r   )sysmodulesr   create_moduleexec_module)r   r   specmodules       r   load_modulezTlzLoader.load_module&   sZ    s{{";;x(((D)##D) &H r   c                 P    |j                  d      \  }}}|dk(  rt        ||       S y r   )r   r   )r   r   r!   targetr   r   r   s          r   	find_speczTlzLoader.find_spec/   s3    #+#5#5c#: jeh-- r   c                 @    t        j                  |j                        S r   )types
ModuleTypename)r   r(   s     r   r&   zTlzLoader.create_module4   s    		**r   c                    | j                  |j                        }|j                  d      xs |d   }|j                  d      xs |d   }|j                  j	                  t        j                  |j                  |j                               |j                  }|.|j                  d      \  }}}dj                  d||g      |_        |j                  s|j                  |_
        	 |j                  |_        |j                  j                         D ]  \  }}	|j                  j                  |      }
	 t        |
       |
| j                   v r|
|j                  |<   Kt#        |	t$        j&                        sf|	j                  |j                  k(  s|	j                  j                  d      \  }}}dj                  d||g      }t)        |      }||j                  |<    y # t        $ r Y w xY w# t        $ r d }
Y w xY w)Nr   r	   r   r   r    )r   __name__get__dict__updater	   merge__package__r   r   __doc____file__AttributeErroritemshash	TypeErrorr   
isinstancer/   r0   r   )r   r)   
toolz_modsfast_modslow_modr   r   r   kvtvr   	submodules                r   r'   zTlzLoader.exec_module7   s   %%foo6
>>),C
70C>>'*Cj.Cu{{8+<+<fooNO&&'.'8'8'=$GS*!#%j)A!BF~~%--FN	&//FO %%++- 	/DAq""&&q)BR T+++%'"1e../MMX%6%66+,::+?+?+D(j gguc:&>?)+6	%."	/  		  s$   )G$ 6G3$	G0/G03H Hr   )r3   
__module____qualname__r9   r   r   r"   r*   r-   r&   r'    r   r   r   r      s(    F

"
.
+!/r   r   r    )r$   r/   r	   	importlibr   importlib.machineryr   r   
tlz_loader	meta_pathappendr'   r%   rI   r   r   <module>rO      sS    
   # *P/ P/f [
   Z   
  s{{5) *r   