+
    9i                     Z    ^ RI t ^ RIt^ RIHt ^RIHtHtHt ^RIH	t	   ! R R]	4      t
R# )    N)onnx_pb)	QuantTypeattribute_to_kwarg	ms_domain)QuantOperatorBasec                   >   a a ] tR t^t oV 3R ltV 3R ltRtVtV ;t# )	LSTMQuantc                &   < \         SV `  W4       R # )N)super__init__)selfonnx_quantizer	onnx_node	__class__s   &&&e/var/www/html/photoedit/myenv/lib/python3.14/site-packages/onnxruntime/quantization/operators/lstm.pyr   LSTMQuant.__init__   s    3    c                  < V P                   pVP                  R8X  g   Q hV P                  P                  VP                  ^,          4      '       d3   V P                  P                  VP                  ^,          4      '       g   \
        SV `  4        R# V P                  P                  pVP                  VP                  ^,          4      pVP                  VP                  ^,          4      p\        VP                  4      ^8w  g   \        VP                  4      ^8w  d   \
        SV `  4        R# VP                  w  rVpVP                  w  rp
V P                  P                  4       '       dE   VP                  ^  VP                  ^  WV,          VP                  ^ &   W,          VP                  ^ &   V P                  P                  VP                  ^,          \        P                  P                  ^ 4      pV P                  P                  VP                  ^,          \        P                  P                  ^ 4      pVP                  V^ ,          4      pVP                  V^ ,          4      p\         P"                  P%                  V4      p\         P"                  P%                  V4      p\&        P(                  ! WWg34      p\&        P(                  ! VWV
34      p\&        P*                  ! VR	4      p\&        P*                  ! VR	4      p\         P"                  P-                  W^ ,          4      p\         P"                  P-                  VV^ ,          4      pVP/                  W.4       VP1                  V4       VP1                  V4       VP                  V^,          4      pVP                  V^,          4      pVP                  V^,          4      pVP                  V^,          4      pV P                  P                  4       '       dA   WV.VP                  R&   W.VP                  R&   WV.VP                  R&   W.VP                  R&   . p\        VP                  4      pVP3                  VP                  ^ ,          .4       VP3                  V^ ,          V^ ,          .4       TP3                  V^8  d   VP                  ^,          MR.4       TP3                  V^8  d   VP                  ^,          MR.4       TP3                  V^8  d   VP                  ^,          MR.4       TP3                  V^8  d   VP                  ^,          MR.4       TP3                  V^8  d   VP                  ^,          MR.4       VP3                  V^,          V^,          V^,          V^,          .4       / pVP4                   F0  pVP6                  R8X  d   K  VP9                  \;        V4      4       K2  	  \<        VR&   VP6                  '       g   RMVP6                  R,           p\         P>                  P@                  ! RVVPB                  V3/ VB pV P                  PD                  PG                  V4       V P                  PI                  VP                  ^ ,          4      pVe(   V P                  PD                  PG                  V4       R# R# )
z
parameter node: LSTM node.
parameter new_nodes_list: List of new nodes created before processing this node.
return: a list of nodes in topological order that represents quantized Attention node.
LSTMN:NNN layoutdomain_quantDynamicQuantizeLSTM)r         )%nodeop_type	quantizeris_valid_quantize_weightinputr   quantizemodelget_initializerlendimsis_per_channelquantize_weight_per_channel
onnx_protoTensorProtoINT8onnxnumpy_helperto_arraynumpyreshape	transpose
from_arrayremove_initializersadd_initializerextend	attributenameupdater   r   helper	make_nodeoutput	new_nodesappend_dequantize_value)r   r   r#   WR	W_num_dirW_4_hidden_sizeW_input_size	R_num_dirR_4_hidden_sizeR_hidden_sizequant_input_weight_tuplequant_recurrent_weight_tupleW_quant_weightR_quant_weightW_quant_arrayR_quant_arrayW_quant_tranposedR_quant_tranposed
W_quant_zp
R_quant_zpW_quant_scaleR_quant_scaleinputs	input_lenkwargsr6   quant_lstm_namequant_lstm_nodedequantize_noder   s   &                             r   r"   LSTMQuant.quantize   sR    yy||v%%%~~66tzz!}EET^^MtMtJJqMN
 N
 G$$!!$**Q-0!!$**Q-0qvv;!s166{a/G56VV2\67ff3]>>((**q	q	!3AFF1I!3AFF1I#'>>#M#MJJqM""''$
 
 (,~~'Q'QJJqM""''(
$ ../G/JK../KA/NO))22>B))22>Bm5_`miR_5`ayAyA --88abHcd --88HdefHgh!!>"BC/0/0**+CA+FG
**+G+JK
--.Fq.IJ--.J1.MN>>((**"+!=JOOA"+!=JOOA%.$@Mq!%.$@Mq!

O	tzz!}o&/24PQR4STU	Atzz!}2>?	Atzz!}2>?	Atzz!}2>?	Atzz!}2>?	Atzz!}2>?(+(+,Q/,Q/		
 I~~)MM,Y78 ( %x$(III"499x3G++//0Evt{{\kvouv  ''8..::4::a=I&NN$$++O< 'r    )	__name__
__module____qualname____firstlineno__r   r"   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r	   r	      s     4h= h=r   r	   )r/   r,   r   r)   quant_utilsr   r   r   base_operatorr   r	   rZ   r   r   <module>re      s+      & B B ,
l=! l=r   