+
    G-jJ  ã                   ón   € ^ RI t ^RIHtHtHtHtHt ^RIHt ^RI	H
t
  ! R R]4      t ! R R]
4      tR# )	é    N)ÚTENSOR_NAME_QUANT_SUFFIXÚQuantizedValueÚQuantizedValueTypeÚattribute_to_kwargÚ	ms_domain)ÚQuantOperatorBase)ÚQDQOperatorBasec                   óJ   a a€ ] tR t^t oV 3R ltV 3R ltV 3R ltRtVtV ;t	# )ÚQLinearActivationc                ó&   <€ \         SV `  W4       R # ©N©ÚsuperÚ__init__©ÚselfÚonnx_quantizerÚ	onnx_nodeÚ	__class__s   &&&€Ú~/Volumes/fast/ai/experiments/nudenet-smoke/.venv/lib/python3.14/site-packages/onnxruntime/quantization/operators/activation.pyr   ÚQLinearActivation.__init__	   ó   ø€ Ü‰Ñ˜Ö3ó    c                óÂ  <€ V P                   pVP                  R 8X  g   VP                  R8X  g   Q hVP                  ^ ,          V P                  P                  9  g   V P                  P
                  '       d   \        SV `  4       # V P                  P                  VP                  ^ ,          ,          pW P                  P                  VP                  ^ ,          &   R# )ÚReluÚClipN)	ÚnodeÚop_typeÚinputÚ	quantizerÚquantized_value_mapÚis_activation_symmetricr   ÚquantizeÚoutput)r   r   Úquantized_valuer   s   &  €r   ÚQuantizeClipReluÚ"QLinearActivation.QuantizeClipRelu   s˜   ø€ Ø�y‰yˆØ�|‰|˜vÔ%¨¯©¸Ô)?Ð?Ð?ð �:‰:�a�= §¡× BÑ BÔBÀdÇnÁn×Fl×FlÐFlÜ‘7Ñ#Ó%Ð%àŸ.™.×<Ñ<¸T¿Z¹ZÈ½]ÕKˆØ=L�‰×*Ñ*¨4¯;©;°q­>Ó:r   c                óø  <€ V P                   pVP                  R 8X  g   VP                  R8X  d   V P                  4        R# RpVP                  R8H  ;'       d>    W P                  P                  9   ;'       d    V P                  P                  V,          pV'       d   R	MRpV'       d   ^ MRpV P                  P                  VP                  ^ ,          WE4      w  pppp	p	V P                  P                  V^ .4      w  p
pppV'       d   V
f   \        SV `%  4       # VP                  ^ ,          \        ,           pRpVP                  '       d   VP                  R,           p/ pVP                   F  pVP                  \        V4      4       K  	  \        VR&   V
^ ,          V^ ,          V^ ,          VV.p\         P"                  P$                  ! RVP                  ,           VV.V3/ VB p\'        VP                  ^ ,          VVV\(        P*                  4      pVV P                  P,                  VP                  ^ ,          &   VP/                  V4       V P                  ;P0                  V,          un        R# )
r   r   Nzextra.Sigmoid.nnapiÚSigmoidÚ Ú_quantÚdomainÚQLinearg      p?)r   r   r&   r    Úextra_optionsÚ_get_quantization_paramsr$   Úquantize_activationr   r#   r   ÚnameÚ	attributeÚupdater   r   ÚonnxÚhelperÚ	make_noder   r   ÚInputr!   ÚappendÚ	new_nodes)r   r   Únnapi_sigmoid_optionÚsigmoid_nnapi_modeÚ	use_scaleÚuse_zeropointÚ
data_foundÚoutput_scale_nameÚoutput_zp_nameÚ_Úquantized_input_namesÚzero_point_namesÚscale_namesÚnodesÚqlinear_activation_outputÚqlinear_activation_nameÚkwargsr2   Úqlinear_activation_inputsÚqlinear_activation_nodeÚq_outputr   s   &                    €r   r#   ÚQLinearActivation.quantize   s5  ø€ Ø�y‰yˆØ�<‰<˜6Ô! T§\¡\°VÔ%;Ø×!Ñ!Ô#Ùà4Ðà�L‰L˜IÑ%÷ Cð CØ$¯©×(DÑ(DÑD÷Cð Cà—‘×,Ñ,Ð-AÕBð 	÷
 "4‘I¸ˆ	ß/™°Tˆð �N‰N×3Ñ3°D·K±KÀµNÀIÓ]ñ	
ØØØØØð �N‰N×.Ñ.¨t°a°SÓ9ñ	
Ø!ØØØçÐ2Ò:Ü‘7Ñ#Ó%Ð%à$(§K¡K°¥NÔ5MÕ$MÐ!Ø"$ÐØ�9�9ˆ9Ø&*§i¡i°(Õ&:Ð#ØˆØŸœˆIØ�M‰MÔ,¨YÓ7Ö8ñ (ä$ˆˆxÑð " !Õ$Ø˜�NØ˜QÕØØð%
Ð!ô #'§+¡+×"7Ò"7Ø˜Ÿ™Õ$Ø%Ø&Ð'Ø#ñ	#
ð
 ñ#
Ðô "Ø�K‰K˜�NØ%ØØÜ×$Ñ$ó
ˆð >Fˆ�‰×*Ñ*¨4¯;©;°q­>Ñ:à�‰Ð,Ô-Ø�‰× Ò  EÕ)× r   © )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r&   r#   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r   r      s   ù‡ € õ4õM÷E*õ E*r   r   c                   ó8   a a€ ] tR t^bt oV 3R ltR tRtVtV ;t# )ÚQDQRemovableActivationc                ó&   <€ \         SV `  W4       R # r   r   r   s   &&&€r   r   ÚQDQRemovableActivation.__init__c   r   r   c                ó¢  € V P                   pV P                  P                  VP                  ^ ,          4      '       g   R# V P                  P                  '       g‡   V P                  P
                  '       gk   V P                  P                  VP                  ^ ,          VP                  ^ ,          4      '       d'   V P                  P                  V P                   4       M,V P                  P                  VP                  ^ ,          4       V P                  '       g/   V P                  P                  VP                  ^ ,          4       R# R# )r   N)r   r    Úis_tensor_quantizedr   r"   Úqdq_keep_removable_activationsÚtry_replacing_upstream_outputr$   Úremove_nodeÚquantize_activation_tensorÚdisable_qdq_for_node_output)r   r   s   & r   r#   ÚQDQRemovableActivation.quantizef   sÒ   € Ø�y‰yˆð �~‰~×1Ñ1°$·*±*¸Qµ-×@Ò@Ùð —‘×6×6Ð6Ø—N‘N×A×AÐAØ—‘×<Ñ<¸T¿Z¹ZÈ½]ÈDÏKÉKÐXYÍN×[Ò[à�N‰N×&Ñ& t§y¡yÕ1à�N‰N×5Ñ5°d·j±jÀµmÔDà×/×/Ð/Ø�N‰N×5Ñ5°d·k±kÀ!µnÖEñ 0r   rM   )	rN   rO   rP   rQ   r   r#   rR   rS   rT   rU   s   @@r   rX   rX   b   s   ù‡ € õ4÷Fò Fr   rX   )r4   Úquant_utilsr   r   r   r   r   Úbase_operatorr   Úqdq_base_operatorr	   r   rX   rM   r   r   Ú<module>rf      s2   ðÛ ç uÕ uÝ ,Ý .ôW*Ð)ô W*ôtF˜_ö Fr   