
    shg                     V    S SK r S SKrS SKJr   " S S\R                  5      rS rS rg)    N)_dynfuncc                   f    \ rS rSrSrSr\R                  " 5       r\	S 5       r
S rS rS rS rS	rg
)Environment   zvStores globals and constant pyobjects for runtime.

It is often needed to convert b/w nopython objects and pyobjects.
)env_name__weakref__c                      U R                   UR                     $ ! [         aD    U " UR                  5       5      nUR                  Ul        X R                   UR                  '   Us $ f = fN)_memor   KeyErrorlookup_globals)clsfndescinsts      j/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/core/environment.pyfrom_fndescEnvironment.from_fndesc   s\    	99V__-- 	v,,./D"OODM)-IIfoo&K		s    AA)(A)c                 .    SU R                   ;  nU(       + $ N__name__)globals)selfis_dyns     r   	can_cacheEnvironment.can_cache   s    4<</z    c                 r    [         U R                  R                  S5      U R                  U R                  44$ r   )_rebuild_envr   getconstsr   r   s    r   
__reduce__Environment.__reduce__    s4    LLZ(KKMM
 
 	
r   c                     g r
    r!   s    r   __del__Environment.__del__'   s    r   c                 $    SU R                   < S3$ )Nz<Environment z >r   r!   s    r   __repr__Environment.__repr__*   s    t}}/r22r   r%   N)r   
__module____qualname____firstlineno____doc__	__slots__weakrefWeakValueDictionaryr   classmethodr   r   r"   r&   r*   __static_attributes__r%   r   r   r   r      sD     ,I '')E 
3r   r   c                     [        U5      nUb  U$ [        R                  " U 5      n[        UR                  5      nXR
                  S S & X#l        U[        R                  U'   U$ r
   )lookup_environment	importlibimport_moduler   __dict__r    r   r   )modnamer    r   envmods        r   r   r   .   sY    
X
&C



!
!'
*C
cll
#CJJqML"%KhJr   c                 @    [         R                  R                  U 5      $ )zHReturns the Environment object for the given name;
or None if not found
)r   r   r   r)   s    r   r6   r6   <   s       **r   )r1   r7   numbar   r   r   r6   r%   r   r   <module>r?      s+      $3(&& $3N+r   