+
    :iuD                         R t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIHtHt ^ RIHt ]R 4       t ! R R	]P                   R
7      t ! R R]4      t^t ! R R]4      tR# )z-
Implements helpers to build LLVM debuginfo.
N)contextmanager)ir)cgutilstypes)ComplexModelUniTupleModel)configc              #  `   "   V P                   pRV n          Rx  Wn         R#   Yn         i ; i5i)zVSuspends the emission of debug_metadata for the duration of the context
managed block.N)debug_metadata)builderrefs   & R/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/core/debuginfo.pysuspend_emissionr      s.      
 
 C!G%!$s   .# .+.c                      a  ] tR t^t o ]P
                  RR l4       t]P
                  R 4       t]P
                  R 4       t]P
                  R 4       t	]P
                  R 4       t
RtV tR# )	AbstractDIBuilderNc	                    R# )z*Emit debug info for the variable.
        N 	selfr   allocavaluenamelltypesizeline	datamodelargidxs	   &&&&&&&&&r   mark_variableAbstractDIBuilder.mark_variable   s    
 	    c                    R# )zAEmit source location information to the given IRBuilder.
        Nr   r   r   r   s   &&&r   mark_locationAbstractDIBuilder.mark_location$        	r   c                    R# )zAEmit source location information for the given function.
        Nr   r   functionqualnameargnamesargtypesr   s   &&&&&&r   mark_subprogram!AbstractDIBuilder.mark_subprogram*   r#   r   c                    R# )zfInitialize the debug info. An opportunity for the debuginfo to
prepare any necessary data structures.
Nr   r   s   &r   
initializeAbstractDIBuilder.initialize0   s    r   c                    R# )zCFinalize the debuginfo by emitting all necessary metadata.
        Nr   r-   s   &r   finalizeAbstractDIBuilder.finalize6   r#   r   r   NN)__name__
__module____qualname____firstlineno__abcabstractmethodr   r!   r*   r.   r1   __static_attributes____classdictcell____classdict__s   @r   r   r      s       	 
 	 
 	 
 	 r   r   )	metaclassc                   H   a  ] tR t^=t o R tR	R ltR tR tR tR t	Rt
V tR# )
DummyDIBuilderc                    R # Nr   r   modulefilepathcgctxdirectives_onlys   &&&&&r   __init__DummyDIBuilder.__init__?       r   Nc	                    R # rB   r   r   s	   &&&&&&&&&r   r   DummyDIBuilder.mark_variableB   s    r   c                    R # rB   r   r    s   &&&r   r!   DummyDIBuilder.mark_locationF   rJ   r   c                    R # rB   r   r%   s   &&&&&&r   r*   DummyDIBuilder.mark_subprogramI   rJ   r   c                    R # rB   r   r-   s   &r   r.   DummyDIBuilder.initializeL   rJ   r   c                    R # rB   r   r-   s   &r   r1   DummyDIBuilder.finalizeO   rJ   r   r   r3   )r4   r5   r6   r7   rH   r   r!   r*   r.   r1   r:   r;   r<   s   @r   r@   r@   =   s(      r   r@   c                      a  ] tR t^Vt o ^t^tRtRtR tR t	RR lt
RR ltR tR	 tR
 tR tR tR t]RR l4       t]R 4       tR tR tR tR tR tRtV tR# )	DIBuilderzllvm.dbg.cuFc                    Wn         \        P                  P                  V4      V n        V P                  4       V n        . V n        W0n        V'       d	   R V n	        MRV n	        V P                  4        R# )DebugDirectivesOnly	FullDebugN)rD   ospathabspathrE   _di_filedifilesubprogramsrF   emission_kindr.   rC   s   &&&&&r   rH   DIBuilder.__init__\   sR    1mmo
!6D!,Dr   c                0    V P                  4       V n        R # rB   )_di_compile_unitdicompileunitr-   s   &r   r.   DIBuilder.initializej   s     "224r   Nc                   V P                   '       d   \        R WV\        VRR4      4       V P                  p\        V,          p\
        P                  3p\
        P                  \
        P                  3p\        WV,           4      '       d   Vf#   \        V4      p\        W4      '       d   Rp	MfRp	Mc\        VP                  4      p\        VP                  \        P                  4      '       d#   VP                  P                  '       d   Rp	MRp	MRp	VP                  RRVR	VR
\
        P                   ! V	4      /4      p
V
# \        V\"        4      '       EdL   . p^ p\%        R#4       F  w  rVP&                  V,          pV P(                  P+                  V4      pVP                  RR\        V4      R	\        V,          R
\
        P                   ! R4      /4      pVP                  RR\
        P                   ! R4      RVRVR	\        V,          RV/4      pVP-                  V4       V\        V,          ,          pK  	  VP                  RR\
        P                   ! R4      RVP                   R\        V4       R2R\        V4      RVP/                  V4      R	V/RR7      p
V
# \        V\0        4      '       d   VP2                  pV P(                  P+                  V4      pV P5                  VV4      pVP                   R\        V4       R2pVV,          pVP                  RRV/4      pVP                  RR\
        P                   ! R4      RVRVR	VR\        V4      RVP/                  V.4      /4      p
V
# \        V\
        P6                  4      '       d   \        VRR4      pV P5                  VP8                  V P(                  P+                  VP8                  4      V4      pVP                  RR\
        P                   ! R4      RVR	\        V P(                  P+                  V4      ,          /4      p
V
# \        V\
        P:                  4      '       Ed   . p^ pVe   VP=                  4       '       g   R\        V4       R2p\%        VP&                  4       F  w  ppV P(                  P+                  V4      pV P5                  VV4      pVP                  RR\
        P                   ! R4      RRV R2RVR	\        V,          RV/4      pVP-                  V4       V\        V,          ,          pK  	  MVP                   R\        V4       R2p\?        VP&                  VP@                  VP=                  4       4       F  w  pppV P(                  P+                  V4      pV P5                  VVVR 7      pVP                  RR\
        P                   ! R4      RVRVR	\        V,          RV/4      pVP-                  V4       V\        V,          ,          pK  	  VP                  RR\
        P                   ! R4      RVR\        V4      RVP/                  V4      R	V/RR7      p
V
# \        V\
        PB                  4      '       d   VP2                  pV P(                  P+                  V4      pV P5                  VV4      pVV,          pVP                  RRV/4      pVP                  RR\
        P                   ! R4      RVR\        V4      R	VR\        V4      RVP/                  V.4      /4      p
V
# TpVP                  RRV/4      pVP                  RRR!R	\        R
\
        P                   ! R"4      /4      pVP                  RR\
        P                   ! R4      RVR\        V4      R	VR\        V4      RVP/                  V.4      /4      p
V
# )$z-->fe_typez
NO FE TYPENDW_ATE_unsignedDW_ATE_floatDW_ATE_signedDIBasicTyper   r   encodingDIDerivedTypetagDW_TAG_memberbaseTypeoffsetDICompositeTypeDW_TAG_structure_typez ()
identifierelementsTis_distinct
DISubrangecountDW_TAG_array_type_pointee_modelDW_TAG_pointer_typezAnonymous struct (z<field >r   byteDW_ATE_unsigned_char)realimag)"_DEBUGprintgetattrrD   
_BYTE_SIZEr   IntType	FloatType
DoubleType
isinstancestrrg   r   Integersignedadd_debug_infoDITokenr   	enumeraterv   rF   get_abi_sizeofappendadd_metadatar   element	_var_typePointerTypepointeeLiteralStructTypeinner_modelszip_fields	ArrayType)r   r   r   r   mbitsizeint_type	real_typer   ditokmdtypemetarq   ix	componentcomponent_sizecomponent_basetypederived_typer   el_sizebasetyperz   mdrangemodelfield_idfieldmdbases   &&&&                       r   r   DIBuilder._var_typeo   sn   ;;;%y)Y=?KKt#::;LL"--/	 f233 6{f//-E*E 9,,-i//?? ((/// / 1*E%%mBJJu-6 Fl c 	<00 DF%&67"OOB/	!%!:!:9!E%&%5%5mC	NJ7

> :F &"
  !//2::o6D 2J7fB   L):67! 8" %%&7rzz"9:9,,-RF}A>c&kANN40:   & !F` S 	=11nnGjj//8G~~gw7H''(3v;-q9DGOE&&|6 G %%&7rzz"56Hc&kANNG95: F@ q //I'7>E~~fnn&*jj&?&?&O&+-H %%orzz"78H
TZZ%>%>v%FF8 Ff ]  4 455DF 	(>(>(@(@+CK=:)26??)C%Hg::44W=D#~~gt<H#$#3#3Orzz/:'(1 5"H
T 1 &F $L KK-zD01F *D $++,Bs6{m1=-01:1B1B1:1G1G1I.K)GUE  ::44W=D#~~gtu~MH#$#3#3Orzz/:"H
T 1 &F $L KK-zD01F.K %%&7rzz"9:c&kANN40:   & !FV I --nnGjj//8G~~gw7HGOE&&|6 G %%&7rzz"56HFc&kANNG95: F8 % E&&|6 G %%m
BJJ'=>6 F
 %%&7rzz"56FFc&kANNG95: F r   c	                   Vf   ^ MTp	V P                   p
\        P                  ! \        P                  ! 4       \        P                  ! 4       .^,          4      p\
        P                  ! WR4      pV P                  WEVR7      pVP                  RR4      pV
P                  RRVRV	RV P                  R,          R	V P                  R
VRV/4      pV
P                  R/ 4      pVP                  WW.4      # )Nzllvm.dbg.declarer   .$DILocalVariabler   argscopefiler   typeDIExpression)rD   r   FunctionTypeVoidTypeMetaDataTyper   get_or_insert_functionr   replacer   r_   r^   call)r   r   r   r   r   r   r   r   r   	arg_indexr   fntydeclr   
mdlocalvarmdexprs   &&&&&&&&&       r   r   DIBuilder.mark_variable$  s      AV	KKr{{}r/@.AA.EF--a7IJ	B||C%%%&7D9T%%b)DKKDF:
 
 !!."5||D
"CDDr   c                2    V P                  V4      Vn        R # rB   )_add_locationr
   r    s   &&&r   r!   DIBuilder.mark_location:  s    !%!3!3D!9r   c                    Tp\        \        W44      4      pV P                  WaP                  WQVR 7      pVP	                  RV4       R# ))r   linkagenamer   r&   argmapdbgN)dictr   _add_subprogramr   set_metadata)	r   r&   r'   r(   r)   r   r   r   di_subps	   &&&&&&   r   r*   DIBuilder.mark_subprogram=  sI    c(-.&&Dmm,0.4 ' 6 	eW-r   c                    \         P                  ! V P                  V P                  4      pVP	                  V P
                  4       V P                  4        R # rB   )r   get_or_insert_named_metadatarD   DBG_CU_NAMEaddrd   _set_module_flags)r   dbgcus   & r   r1   DIBuilder.finalizeE  s<    44T[[$BRBRS		$$$% r   c                   V P                   p\        P                  ! VR4      pV P                  ^4      pV P                  eO   VP                  VRV P                  V P                  4      .4      pWBP                  9  d   VP                  V4       VP                  VRV P                  V P                  4      .4      pWRP                  9  d   VP                  V4       R# R# )z&Set the module flags metadata
        zllvm.module.flagsNzDwarf VersionzDebug Info Version)	rD   r   r   
_const_intDWARF_VERSIONr   operandsr   DEBUG_INFO_VERSION)r   rD   mflagsrequire_warning_behaviordwarf_versiondebuginfo_versions   &     r   r   DIBuilder._set_module_flagsN  s     55f>QR $(??1#5 )"//( 2 231 M
 OO3

=)"//$ OOD3341
 
 OO3JJ() 4r   c                b    V P                  WW4V4      pV P                  P                  V4       V# )z!Emit subprogram metadata
        )_di_subprogramr_   r   )r   r   r   r   r&   r   subps   &&&&&& r   r   DIBuilder._add_subprogramf  s1     ""4dfM%r   c                (    V P                  V4      pV# )zEmit location metatdaa
        )_di_location)r   r   locs   && r   r   DIBuilder._add_locationm  s     %
r   c                :    \         P                  ! V4      ! V4      # )z0Util to create constant int in metadata
        r   r   )clsnumbitss   &&&r   r   DIBuilder._const_ints  s     zz$$$r   c                :    \         P                  ! ^4      ! V4      # )z4Util to create constant boolean in metadata
        r   )r   booleans   &&r   _const_boolDIBuilder._const_booly  s     zz!}W%%r   c           	         V P                   P                  R R\        P                  P	                  V P
                  4      R\        P                  P                  V P
                  4      /4      # )DIFile	directoryfilename)rD   r   rZ   r[   dirnamerE   basenamer-   s   &r   r]   DIBuilder._di_file  sN    {{))(7((75
  	r   c                    V P                   P                  R R\        P                  ! R4      RV P                  RRR^ R\
        P                  ^ 8g  R\        P                  ! V P                  4      /R	R
7      # )DICompileUnitlanguageDW_LANG_C_plus_plusr   producerzclang (Numba)runtimeVersionisOptimizedemissionKindTrw   )rD   r   r   r   r^   r   OPTr`   r-   s   &r   rc   DIBuilder._di_compile_unit  so    {{))/

#89DKK a6::?BJJt'9'9:<
  *  	r   c                $   Tp. p\        VP                  4       F  w  rgVP                  P                  R 4      '       d   K(  VP                  P	                  RR4      pVP
                  p	V P                  P                  V	4      p
V P                  WRR7      pVP                  V4       K  	  \        VP                  4       4       F  w  pw  rVP	                  RR4      pV P                  P                  V,          pV P                  P                  V4      p	V P                  P                  V	4      p
V P                  WVR7      pVP                  V4       K  	  V P                  P                  RRV P                  P                  V4      /4      # )zarg.r   r   Nr   DISubroutineTyper   )r   argsr   
startswithr   r   rF   r   r   r   itemsdata_model_managerget_value_typerD   r   r   )r   r   r&   r   llfuncmdidxllargr   r   r   r   nbtyper   s   &&&&          r   _di_subroutine_typeDIBuilder._di_subroutine_type  sD   #FKK0JC::((00zz))#s3zz008E		&! 1 $-V\\^#<C$<<S)D

55f=IZZ..v6F::,,V4D^^FI^FFIIf $= {{))*<T[[--b1?
  	r   c                    V P                   P                  R RVRVRV P                  RV P                  RVRV P                  W4V4      RRR	R
RVR\        P
                  ^ 8g  RV P                  /R
R7      # )DISubprogramr   linkageNamer   r   r   r   isLocalFisDefinitionT	scopeLiner  unitrw   )rD   r   r^   r  r   r  rd   )r   r   r   r   r&   r   s   &&&&&&r   r   DIBuilder._di_subprogram  s    {{)).D;T[[DKKDD,,TVDuD6::?D&&;
  *  	r   c           
     h    V P                   P                  R RVR^RV P                  R,          /4      # )
DILocationr   columnr   r   )rD   r   r_   )r   r   s   &&r   r   DIBuilder._di_location  s:    {{)),DaT%%b)9
  	r   )rF   rd   r^   r`   rE   rD   r_   rB   r3   )    )r4   r5   r6   r7   r   r   r   r   rH   r.   r   r   r!   r*   r1   r   r   r   classmethodr   r   r]   rc   r  r   r   r:   r;   r<   s   @r   rV   rV   V   s     MKF5
sjE,:.!*0 % %
 & &$2 r   rV   )__doc__r8   os.pathrZ   
contextlibr   llvmliter   
numba.corer   r   numba.core.datamodel.modelsr   r   r   r   ABCMetar   r@   r   rV   r   r   r   <module>r+     si   
   %  % C  % %#++ B& , 
r! rr   