
    `i                     N    S SK r S SKrSSKJr  SSKJrJrJrJ	r	   " S S\5      r
g)    N   )QuantOperatorBase   )QuantizedValueQuantizedValueTypeattribute_to_kwargquantize_nparrayc                   4   ^  \ rS rSrU 4S jrU 4S jrSrU =r$ )QPad   c                 $   > [         TU ]  X5        g )N)super__init__)selfonnx_quantizer	onnx_node	__class__s      k/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnxruntime_tools/quantization/operators/pad.pyr   QPad.__init__   s    3    c                   > U R                   nUR                  S:X  d   eU R                  R                  S:  d'  UR                  S   U R                  R
                  ;  a  [        TU ]  5         g U R                  R
                  UR                  S      n0 nUR                   H  n[        U5      nUR                  U5        M!     SU;  d
  US   S:X  Ga  [        UR                  5      S:  Ga  U R                  R                  R                  UR                  5      nU R                  R                  R                  UR                  5      nUb  Uc  [        TU ]  5         g U R                  R                  R                  UR                  S   5      nUGbR  [         R"                  R%                  U5      n	U	R&                  S:X  a  U	R)                  5       OU	S   n
[         R"                  R%                  U5      nUR&                  S:X  a  UR)                  5       OUS   n[         R"                  R%                  U5      n[+        U R                  R,                  XU
5      nUR                  S   S-   n[         R"                  R/                  X5      nU R                  R                  R1                  U5        U R                  R                  R3                  U5        XR                  S'   OU R                  R5                  USU R                  R,                  UR                  UR                  5      nU R                  =R6                  U/-  sl        UR8                  S   UR                  S'   O&UR                  R;                  UR                  /5        [=        UR8                  S   UR8                  S   S-   UR                  UR                  [>        R@                  5      nUU R                  R
                  UR8                  S   '   URB                  UR                  S'   URB                  UR8                  S'   U R                  =R6                  U/-  sl        g )NPad   r   modes   constantr   
_quantized)"nodeop_type	quantizeropset_versioninputquantized_value_mapr   quantize	attributer   updatelenmodelget_initializerzp_name
scale_nameonnxnumpy_helperto_arrayndimitemr	   input_qType
from_arrayremove_initializeradd_initializer_get_quantize_input_nodes	new_nodesoutputextendr   r   Inputq_name)r   r   quantized_input_valuekwargsr#   kv	zp_tensorscale_tensorpadding_constant_initializerzp_arrayzp_valuescale_arrayscale_valuepadding_constant_array quantized_padding_constant_arrayquantized_padding_constant_name&quantized_padding_constant_initializerpad_value_qnodesquantized_output_valuer   s                      r   r"   QPad.quantize   s   yy%&% NN((2-4::a=HjHj3jG $ B B4::a= QI#I.BMM" ( 6&>[#@4::" NN00@@AVA^A^_	#~~33CCDYDdDde$(<G$&/3~~/C/C/S/STXT^T^_`Ta/b,/;#0099)DH2:--12Dx}}(ST+H"&"3"3"<"<\"JK8C8H8HA8M+"2"2"4S^_`SaK-1->->-G-GHd-e*7GHbHbH^mu8w46:jjml6R3=A=N=N=Y=Y8>[: NN((;;<XYNN((889_`$CJJqM'+~~'O'OPTVWY]YgYgYsYsPePpPpPePmPm(o$ NN,,1A0BB,$4$;$;A$>DJJqM

!!#8#@#@"AB "0AAQ]@]0E0P0PRgRoRo0B0H0H"J >T**4;;q>:-44

1/66A  TF* r    )__name__
__module____qualname____firstlineno__r   r"   __static_attributes____classcell__)r   s   @r   r   r      s    49+ 9+r   r   )r*   numpynpbase_operatorr   quant_utilsr   r   r   r	   r   rJ   r   r   <module>rU      s!      , b b=+ =+r   