+
    :i)                        ^ RI Ht ^ RIHt ^ RIHt ^ RIt^ RIt^ RI	t	^ RI
t
^ RIHtHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ]P.                  t]P0                  t]P2                  ! 4       t ! R
 R]4      t ! R R]4      tR# )    )	distutils)	build_ext)	ExtensionN)typingsigutils)global_compiler_lock)ModuleCompilerExportEntry)	Toolchain)cextc                     a  ] tR t^t o RtR.],           t/ t/ tRR lt	]
R 4       t]
R 4       t]P                  R 4       t]
R 4       t]P                  R	 4       t]
R
 4       t]P                  R 4       t]
R 4       t]P                  R 4       t]
R 4       t]P                  R 4       tR t]
R 4       tR tR tR tR tR t]R 4       t]R 4       tR tRtV tR# )CCzS
An ahead-of-time compiler to create extension modules that don't
depend on Numba.
zmodulemixin.cNc                v   R V9   d   \        R4      hWn        RV,           V n        / V n        \        P
                  ! ^4      pVf   VP                  pVR,          pML\        VR4      '       d   VP                  pVP                  pM!\        P                  V,          P                  pVP                  RR4      V n        W n        \        4       V n        RV n        \"        P$                  P'                  V P                  4      V n        V P                  P+                  V4      V n        RV n        RV n        R# )	.z;basename should be a simple module name, not qualified name
pycc_init_N__name____file__ FT)
ValueError	_basename_init_function_exported_functionssys	_getframe	f_globalshasattr__dict__r   modulesget_source_path_source_moduler   
_toolchain_verboseospathdirname_output_dirget_ext_filename_output_file_use_nrt_target_cpu)selfextension_namesource_modulefdcts   &&&  K/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/pycc/cc.py__init__CC.__init__/   s    .  . / / (*^;#% MM! ++C
OM]J//((C)22M++m,55CGGJ3+#+77??4+<+<= OO<<^L    c                    V P                   # )z-
The name of the extension module to create.
)r   r,   s   &r1   nameCC.nameL   s    
 ~~r4   c                    V P                   # )z:
The specific output file (a DLL) that will be generated.
r)   r6   s   &r1   output_fileCC.output_fileS   s    
    r4   c                    Wn         R # Nr:   r,   values   &&r1   r;   r<   Z   s    !r4   c                    V P                   # )z/
The directory the output file will be put in.
r'   r6   s   &r1   
output_dirCC.output_dir^       
 r4   c                    Wn         R # r>   rB   r?   s   &&r1   rC   rD   e        r4   c                    V P                   # r>   r*   r6   s   &r1   use_nrt
CC.use_nrti   s    }}r4   c                    Wn         R # r>   rI   r?   s   &&r1   rJ   rK   m       r4   c                    V P                   # )z+
The target CPU model for code generation.
r+   r6   s   &r1   
target_cpuCC.target_cpuq   rE   r4   c                    Wn         R # r>   rO   r?   s   &&r1   rP   rQ   x   rG   r4   c                    V P                   # )z9
Whether to display detailed information when compiling.
r#   r6   s   &r1   verbose
CC.verbose|   s    
 }}r4   c                    Wn         R # r>   rT   r?   s   &&r1   rU   rV      rM   r4   c                   a aa \         P                  ! S4      w  r4\        P                  ! V.VO5!  oSS P                  9   d   \        RS,          4      hVV V3R lpV# )z8
Mark a function for exporting in the extension module.
zduplicated export symbol %sc                 @   < \        SSV 4      pVSP                  S&   V # r>   )r
   r   )funcentryexported_namer,   sigs   & r1   	decoratorCC.export.<locals>.decorator   s&    sD9E6;D$$]3Kr4   )r   normalize_signaturer   	signaturer   KeyError)r,   r\   r]   fn_argsfn_rettyr^   s   fff   r1   export	CC.export   sY     %88=x2'2D4448MJKK	
 r4   c                N    \        V P                  P                  4       R  R7      # )c                     V P                   # r>   )symbol)r[   s   &r1   <lambda>$CC._export_entries.<locals>.<lambda>   s    r4   )key)sortedr   valuesr6   s   &r1   _export_entriesCC._export_entries   s#    d..55746 	6r4   c                   \         P                  P                  \        4      pV P                  R ,          pV P
                  '       d   VP                  R4       V Uu. uF"  p\         P                  P                  W4      NK$  	  up# u upi ):NNNz../core/runtime/nrt.cpp)r$   r%   r&   r   _mixin_sourcesr*   appendjoin)r,   heremixin_sourcesr/   s   &   r1   _get_mixin_sourcesCC._get_mixin_sources   sa    wwx(++A.===  !:;/<=}!T%}===s   (B	c                L    R V P                   3R\        V P                  4      3.# )PYCC_MODULE_NAMEPYCC_USE_NRT)r   intr*   r6   s   &r1   _get_mixin_definesCC._get_mixin_defines   s+      0S/0 	r4   c                    V P                   P                  \        P                  . 4      pV'       g+   V P                   P                  \        P
                  . 4      pV# r>   )_extra_cflagsr   r   platformr$   r7   )r,   extra_cflagss   & r1   _get_extra_cflagsCC._get_extra_cflags   sC    ))--cllB?--11"''2>Lr4   c                8   V P                   P                  \        P                  . 4      pV'       g+   V P                   P                  \        P
                  . 4      p\        P                  P                  R 4      '       d   RV9  d   VP                  R4       V# )linuxz-pthread)_extra_ldflagsr   r   r   r$   r7   
startswithrs   )r,   extra_ldflagss   & r1   _get_extra_ldflagsCC._get_extra_ldflags   sn    ++//bA //33BGGR@M<<""7++.$$Z0r4   c                    V P                  4       pV P                  4       pV P                  P                  4       pV P	                  4       pV P                  P                  W!VVVR 7      pV# ))include_dirsmacrosr   )rw   r}   r"   get_python_include_dirsr   compile_objects)r,   	build_dirsourcesr   r   r   objectss   &&     r1   _compile_mixinsCC._compile_mixins   sl    ))+((*>>@--/ //11'?K9??K 2 M r4   c                   \        V P                  V P                  V P                  V P                  R 7      pV P
                  Vn        \        P                  P                  V\        P                  P                  V P                  4      ^ ,          R,           4      p\        P                  RV P                  V4       VP                  VRR7       V.VP                  3# ))cpu_namez.oz%generating LLVM code for '%s' into %sT)wrap)r	   ro   r   r*   r+   r   external_init_functionr$   r%   rt   splitextr)   loginfowrite_native_objectdll_exports)r,   r   compilertemp_objs   &&  r1   _compile_object_filesCC._compile_object_files   s    !$"6"6 $8H8HJ*.*=*='77<<	 " 0 01B1B CA F MO8	*$$XD$9z8////r4   c           	     :   V P                   V P                  n         \        P                  ! RV P                  ,          R7      pV P                  V4      w  r#W P                  V4      ,          pV P                  4       p\        P                  P                  V P                  V P                  4      pV P                  P                  4       pV P                  P                  4       pV P                  P                  WRWgVVR7       \         P"                  ! V4       R# )z
Compile the extension module.
zpycc-build-%s-)prefix)export_symbolsr   N)rU   r"   tempfilemkdtempr   r   r   r   r$   r%   rt   r'   r)   get_python_librariesget_python_library_dirslink_sharedshutilrmtree)r,   r   r   r   r   
output_dll	librarieslibrary_dirss   &       r1   compile
CC.compile   s    
 #',,$$,<t~~,MN	  $99)D 	''	22 //1WW\\$"2"2D4E4EF
OO88:	>>@##J$-3>2? 	$ 	A
 	i r4   c                ^   VP                  R. 4      V P                  4       ,           pVP                  R. 4      V P                  .,           pVP                  R. 4      V P                  4       ,           pVP                  R. 4      V P	                  4       ,           pVP                  R. 4      V P
                  P                  4       ,           pVP                  R. 4      V P
                  P                  4       ,           pVP                  R. 4      V P
                  P                  4       ,           pV P                  RV P                  P                  R	4      ^,            p	\        RR
WP                  ,           RV P                  4       RVRVRVRVRVRVRV/	VB p
V
P                  4        W
n        V
# )zH
Create a distutils extension object that can be used in your
setup.py.
r   dependsextra_compile_argsextra_link_argsr   r   r   Nr   r7   r   define_macros )popr}   r    r   r   r"   r   r   r   r!   rfind_CCExtensionr   rw   monkey_patch_distutils_cc)r,   kwargsr   r   r   r   r   r   r   python_package_pathexts   &,         r1   distutils_extensionCC.distutils_extension   s   
 Hb)D,C,C,EE**Y+t/@/@.AA$jj)=rB $ 6 6 89!::&7<!4467

>26//AACDZZR0;;=>	

>26//AACD"112S43F3F3L3LS3QRS3ST 	% 3nn D 	%#'#:#:#<	%#*	% *0	% )5		%
 &/	% )5	% /A	% ,;	% $	% 	""$
r4   )r   r   r   r'   r)   r!   r    r+   r"   r*   r#   r>   )r   
__module____qualname____firstlineno____doc__extension_libsrr   r   r   r2   propertyr7   r;   setterrC   rJ   rP   rU   re   ro   rw   r}   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r1   r   r      s     &'>9N
M

N
:   ! ! " "     ! !   ^^      ! !   ^^   6 6> 	0 	0 ! !2 r4   r   c                   B   a  ] tR tRt o RtRtRtR t]R 4       t	Rt
V tR# )r   i  z^
A Numba-specific Extension subclass to LLVM-compile pure Python code
to an extension module.
NFc                   V P                   p\        P                  \        P                  P
                  ! VP                  .V P                  P                  R 4      RR O5!  4       VP                  VP                  4      w  r4W0n
        R# )r   N)r   dir_utilmkpathr$   r%   rt   
build_tempr7   splitr   extra_objects)r,   r   ccr   _s   &&   r1   _prepare_object_files"_CCExtension._prepare_object_files  sc    XXY%9%9VDIIOOC<PQTRT<UVW--i.B.BC
$r4   c                   a V P                   '       d   R# \        P                  o ! V3R lRS4      pV\        n        RV n         R# )ze
Monkey-patch distutils with our own build_ext class knowing
about pycc-compiled extensions modules.
Nc                   .   <a  ] tR tRt o V3R ltRtV tR# ):_CCExtension.monkey_patch_distutils.<locals>._CC_build_exti+  c                x   < \        V\        4      '       d   VP                  V 4       SP                  W4       R # r>   )
isinstancer   r   build_extension)r,   r   _orig_build_exts   &&r1   r   J_CCExtension.monkey_patch_distutils.<locals>._CC_build_ext.build_extension-  s,    c<00--d3//:r4   r   N)r   r   r   r   r   r   r   )r   r   s   @r1   _CC_build_extr   +  s     ; ;r4   r   T)_distutils_monkey_patchedr   )clsr   r   s   & @r1   r   #_CCExtension.monkey_patch_distutils   s=     (((#--	;O 	; ,	(,%r4   )r   )r   r   r   r   r   r   r   r   classmethodr   r   r   r   s   @r1   r   r     s0     
 C %% - -r4   r   )
setuptoolsr   dutilssetuptools.commandr   setuptools.extensionr   r$   r   r   r   
numba.corer   r   numba.core.compiler_lockr   numba.pycc.compilerr	   r
   numba.pycc.platformr   numbar   r   r   get_extension_libsr   objectr   r   r   r4   r1   <module>r      sf    * ( * 	  
  ' 9 ; )  ??jj((*w wt%-9 %-r4   