Ë
    ÝÍ:j…- ã            	       óþ  — d dl Z d dlZd dlZd dlZ	 d dlZd dlmZmZm	Z	 d dl
mZ  ej                  ej                  «       ej                  d«      k\  sJ ‚ ej                  e«      Zdd„Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Z G d„ d«      Zd„ Z edk(  �rD e «       Z!ejE                  de!jF                  z   «       e!jH                  rejE                  de!jH                  z   «       ejE                  d«       ejK                   ejL                  e!jF                  «      e!jN                  e!jP                  e!jR                  e!jT                  «      Z+e!jH                  r€e+r}e!jX                  rB ejZ                  e+e!jH                  de!j\                  e!j^                  e!j`                  d¬«       n ejb                  e+e!jH                  «       ejE                  d«       yyyy# e$ r
  ed«      d‚w xY w) é    NzOsympy is required for symbolic shape inference. Install with: pip install sympy)ÚhelperÚnumpy_helperÚshape_inference)Úversionz1.8.0c                 ó–   — | j                   D �cg c]  }|j                  |k(  sŒ|‘Œ }}|rt        j                  |d   «      S |S c c}w ©Nr   )Ú	attributeÚnamer   Úget_attribute_value)ÚnodeÚ	attr_nameÚdefault_valueÚattrÚfounds        ú{/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/onnxruntime/tools/symbolic_shape_infer.pyÚget_attributer      sH   € Ø"Ÿn™nÖG�d°·	±	¸YÓ0FŠTÐG€EÐGÙÜ×)Ñ)¨%°©(Ó3Ð3ØÐùò Hs
   �A¤Ac                 ó|   — t        | j                  d«      «      t        u rt        | | j                  d«      «      S d S )NÚvalue)ÚtypeÚ
WhichOneofÚstrÚgetattr©Údims    r   Úget_dim_from_protor      s4   € Ü48¸¿¹ÈÓ9PÓ4QÔUXÑ4XŒ7�3˜Ÿ™ wÓ/Ó0ÐbÐ^bÐbó    c                 ó:   — | j                  d«      }|dv sJ ‚|dk(  S )Nr   )Útensor_typeÚsequence_typer   )r   )Ú
type_protoÚcls_types     r   Úis_sequencer"   #   s,   € Ø×$Ñ$ WÓ-€HØÐ7Ñ7Ð7Ð7Ø�Ñ&Ð&r   c                 óÌ   — t        | «      rJ ‚| j                  j                  d«      r7| j                  j                  j                  D �cg c]  }t        |«      ‘Œ c}S y c c}w )NÚshape)r"   r   ÚHasFieldr$   r   r   )r    Úds     r   Úget_shape_from_type_protor'   )   sV   € Ü˜:Ô&Ð&Ð&Ø×Ñ×&Ñ& wÔ/Ø/9×/EÑ/E×/KÑ/K×/OÑ/OÖP¨!Ô" 1Õ%ÒPÐPàùò Qs   ÁA!c                 ó˜   — t        | «      r*| j                  j                  j                  j                  S | j                  j                  S ©N)r"   r   Ú	elem_typer   )r    s    r   Úget_elem_type_from_type_protor+   1   s:   € Ü�:ÔØ×'Ñ'×1Ñ1×=Ñ=×GÑGÐGà×%Ñ%×/Ñ/Ð/r   c                 óJ  — | j                   j                  d«      }|€y t        | j                   «      r\| j                   j                  j                  j                  d«      dk(  r)t        | j                   j                  j                  «      S y t        | j                   «      S )Nr   r   )r   r   r"   r   r*   r'   )Úvir!   s     r   Úget_shape_from_value_infor.   8   s{   € Ø�w‰w×!Ñ! 'Ó*€HØÐØÜ�2—7‘7ÔØ�7‰7× Ñ ×*Ñ*×5Ñ5°gÓ>À-ÒOÜ,¨R¯W©W×-BÑ-B×-LÑ-LÓMÐMàä(¨¯©Ó1Ð1r   c                 ó<   — t        j                  «       }| |_        |S r)   )ÚonnxÚValueInfoProtor
   )r
   r-   s     r   Úmake_named_value_infor2   E   s   € Ü	×	Ñ	Ó	€BØ€B„GØ€Ir   c                 ór   — | D �cg c]'  }|€d n t        |«      rt        |«      n
t        |«      ‘Œ) c}S c c}w r)   )Ú
is_literalÚintr   )Úsympy_shapeÚis     r   Úget_shape_from_sympy_shaper8   K   s/   € ØR]Ö^ÈQ�A�I‰D¬j¸¬m¤C¨¤FÄÀQÃÑHÒ^Ð^ùÒ^s   …,4c                 ó¸   — t        | «      t        t        j                  t        j                  t
        j                  fv xs t        | d«      xr | j                  S )NÚ	is_number)	r   r5   ÚnpÚint64Úint32ÚsympyÚIntegerÚhasattrr:   r   s    r   r4   r4   O   s?   € Ü�‹9œœbŸh™h¬¯©´%·-±-Ð@Ð@ÒqÄWÈSÐR]ÓE^ÒEpÐcf×cpÑcpÐqr   c                 ó4   — | |k  r| | k\  sJ ‚| dk\  r| S || z   S r   © )ÚaxisÚranks     r   Úhandle_negative_axisrE   S   s,   € Ø�$Š;˜4 D 5š=Ð(Ð(Ø˜1’9ˆ4Ð- $¨¡+Ð-r   c                 ó˜   — |xs g d¢}t        |«      t        k7  r|g}| j                  D ]  }|j                  |v sŒ|j                  c S  y )N)Ú r0   zai.onnx)r   ÚlistÚopset_importÚdomainr   )ÚmprJ   Úopsets      r   Ú	get_opsetrM   X   sN   € ØÒ.Ò.€FÜˆFƒ|”tÒØ�ˆØ—‘ò !ˆØ�<‰<˜6Ò!Ø—=‘=Ò ð!ð r   c                 ó¨   — t        | «      t        u rt        | «      dk(  sJ ‚| d   S t        | «      t        j                  u r| j                  «       S | S ©Né   r   )r   rH   Úlenr;   ÚndarrayÚitem©Úxs    r   Ú	as_scalarrV   c   sF   € ÜˆAƒw”$�Ü�1‹v˜Š{Ðˆ{Ø�‰tˆÜ	ˆa‹”B—J‘JÑ	Ø�v‰v‹xˆàˆr   c                 ó„   — t        | «      t        u r| S t        | «      t        j                  u rt        | «      S |r| €y | gS r)   )r   rH   r;   rR   )rU   Ú	keep_nones     r   Úas_listrY   m   s<   € ÜˆAƒw”$�ØˆÜ	ˆa‹”B—J‘JÑ	Ü�A‹wˆÙ	�q�yØàˆsˆ
r   c                 ór   — t        | «      t        u r#t        j                  d«      }| D ]  }||z  }Œ	 |S | }|S ©NrP   )r   rH   r>   r?   )rU   r   Úvs      r   Úsympy_reduce_productr]   x   sF   € ÜˆAƒw”$�Ü—‘˜aÓ ˆØò 	ˆAØ˜A‘I‰Eð	ð €Lð ˆØ€Lr   c                   ó  — e Zd Zd~d„Zdd„Zdd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd€d„Zd�d„Zd„ Zd„ Zd„ Zd„ Zd‚d„Zdƒd„Zdd„Zd„d„Zd…d„Zd„ Zd„ Zd„ Zd„ Zd„ Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%d%„ Z&d&„ Z'd'„ Z(d(„ Z)d)„ Z*d*„ Z+d+„ Z,d,„ Z-d-„ Z.d.„ Z/d/„ Z0d0„ Z1d1„ Z2d2„ Z3d3„ Z4d4„ Z5d5„ Z6d6„ Z7d7„ Z8d8„ Z9d9„ Z:d:„ Z;d;„ Z<d<„ Z=d=„ Z>d>„ Z?d?„ Z@d@„ ZAdA„ ZBdB„ ZCdC„ ZDdD„ ZEdE„ ZFdF„ ZGdG„ ZHdH„ ZIdI„ ZJdJ„ ZKdK„ ZLdL„ ZMdM„ ZNdN„ ZOdO„ ZPdP„ ZQdQ„ ZRdR„ ZSdS„ ZTdT„ ZUdU„ ZVdV„ ZWdW„ ZXdX„ ZYdY„ ZZdZ„ Z[d[„ Z\d\„ Z]d]„ Z^d^„ Z_d_„ Z`d`„ Zada„ Zbdb„ Zcdc„ Zddd„ Zede„ Zfdf„ Zgdg„ Zhdh„ Zidi„ Zjdj„ Zkdk„ Zldl„ Zmdm„ Zndn„ Zodo„ Zpdp„ Zqdq„ Zrdr„ Zsds„ Ztdt„ Zudu„ Zvdv„ Zwdw„ Zxd‚dx„Zydy„ Zzdz„ Z{d…d{„Z|d|„ Z}e~d†d}„«       Zy)‡ÚSymbolicShapeInferencec                 óJ  — i d| j                   “d| j                  “d| j                  “d| j                  “d| j                  “d| j
                  “d| j                  “d| j                  “d	| j                  “d
| j                  “d| j                  “d| j                  “d| j                  “d| j                  “d| j                   “d| j                  “d| j                  “i d| j                   “d| j                   “d| j                  “d| j                   “d| j"                  “d| j                  “d| j$                  “d| j&                  “d| j(                  “d| j*                  “d| j                  “d| j                   “d| j                  “d| j                  “d | j                   “d!| j                  “d"| j                   “¥i d#| j,                  “d$| j.                  “d%| j0                  “d&| j2                  “d'| j4                  “d(| j                  “d)| j6                  “d*| j8                  “d+| j:                  “d,| j<                  “d-| j>                  “d.| j                  “d/| j@                  “d0| jB                  “d1| jD                  “d2| jF                  “d3| jH                  “¥i d4| jJ                  “d5| jL                  “d6| jN                  “d7| jN                  “d8| jN                  “d9| jP                  “d:| jR                  “d;| jT                  “d<| j                   “d=| jV                  “d>| jX                  “d?| jZ                  “d@| j\                  “dA| j                   “dB| j^                  “dC| j                   “dD| j`                  “¥i dE| jb                  “dF| jd                  “dG| jf                  “dH| jh                  “dI| jj                  “dJ| jl                  “dK| jn                  “dL| jp                  “dM| jr                  “dN| j                  “dO| jt                  “dP| jv                  “dQ| jx                  “dR| jz                  “dS| jz                  “dT| j|                  “dU| j~                  “¥i dV| j€                  “dW| j‚                  “dX| j„                  “dY| j†                  “dZ| jˆ                  “d[| jŠ                  “d\| jŒ                  “d]| jŽ                  “d^| j�                  “d_| j�                  “d`| j’                  “da| jp                  “db| j”                  “dc| j–                  “dd| j˜                  “de| jš                  “df| j~                  “¥| jœ                  | jž                  | jž                  | j                   | j¢                  dgœ¥| _R        i dh| j                  “di| j¦                  “dj| j¨                  “dk| jª                  “dl| j¬                  “dm| j¬                  “dn| j®                  “do| j°                  “dp| j²                  “dq| jª                  “dr| jª                  “ds| jZ                  “dt| j´                  “du| j¶                  “dv| j¶                  “dw| j¶                  “dx| j¶                  “| _\        dy| _]        i | _^        i | __        i | _`        || _a        || _b        || _c        || _d        dz| _e        || _f        y ){NÚAddÚ	AllReduceÚArrayFeatureExtractorÚAveragePoolÚBatchNormalizationÚCastÚCategoryMapperÚCompressÚConcatÚConcatFromSequenceÚConstantÚConstantOfShapeÚConvÚCumSumÚDivÚEinsumÚExpandÚEqualÚFloorÚGatherÚGatherElementsÚGatherNDÚIdentityÚIfÚLoopÚMatMulÚMatMulInteger16ÚMaxPoolÚMaxÚMemcpyFromHostÚMemcpyToHostÚMinÚMoEÚMulÚNonMaxSuppressionÚNonZeroÚOneHotÚPadÚRangeÚ
ReciprocalÚ	ReduceSumÚ
ReduceMeanÚ
ReduceProdÚReshapeÚResizeÚRoundÚScanÚScatterElementsÚ
SequenceAtÚSequenceInsertÚShapeÚSizeÚSliceÚSoftmaxCrossEntropyLossÚSoftmaxCrossEntropyLossInternalÚ!NegativeLogLikelihoodLossInternalÚSplitÚSplitToSequenceÚSqueezeÚSubÚTileÚTopKÚ	TransposeÚ	UnsqueezeÚWhereÚZipMapÚNegÚ	AttentionÚBiasAddÚBiasGeluÚBiasSplitGeluÚDecoderMaskedMultiHeadAttentionÚDequantizeLinearÚDynamicTimeWarpingÚEmbedLayerNormalizationÚFastGeluÚGatedRelativePositionBiasÚGatherBlockQuantizedÚGeluÚGemmFastGeluÚ
GemmFloat8Ú	GroupNormÚGroupNormalizationÚGroupQueryAttentionÚLayerNormalizationÚLongformerAttentionÚMatMulNBitsÚMultiHeadAttentionÚNhwcConvÚPackedAttentionÚPackedMultiHeadAttentionÚPagedAttentionÚPythonOpÚ
QLinearAddÚ
QLinearMulÚQuantizeLinearÚ	QuickGeluÚRelativePositionBiasÚRemovePaddingÚRestorePaddingÚRotaryEmbeddingÚSimplifiedLayerNormalization)ÚSkipGroupNormÚSkipLayerNormalizationÚ SkipSimplifiedLayerNormalizationÚSparseAttentionÚUnfoldTensorÚ	embeddingÚ
bitwise_orÚdiagonalÚmax_pool2d_with_indicesÚmaxÚminÚmultinomialÚunfoldÚargmaxÚ
avg_pool2dÚ_adaptive_avg_pool2dÚnumpy_TÚnative_group_normÚupsample_nearest1dÚupsample_nearest2dÚupsample_nearest3dÚupsample_bicubic2dTr   )gÚ_infer_symbolic_compute_opsÚ_pass_on_shape_and_typeÚ_infer_ArrayFeatureExtractorÚ_infer_PoolÚ_infer_BatchNormalizationÚ_infer_CastÚ_infer_CategoryMapperÚ_infer_CompressÚ_infer_ConcatÚ_infer_ConcatFromSequenceÚ_infer_ConstantÚ_infer_ConstantOfShapeÚ_infer_ConvÚ_infer_EinsumÚ_infer_ExpandÚ_infer_GatherÚ_infer_GatherElementsÚ_infer_GatherNDÚ	_infer_IfÚ_infer_LoopÚ_infer_MatMulÚ_infer_MatMulIntegerÚ_infer_NonMaxSuppressionÚ_infer_NonZeroÚ_infer_OneHotÚ
_infer_PadÚ_infer_RangeÚ_infer_ReduceSumÚ_infer_ReduceMeanÚ_infer_ReduceProdÚ_infer_ReshapeÚ_infer_ResizeÚ_infer_ScanÚ_infer_ScatterElementsÚ_infer_SequenceAtÚ_infer_SequenceInsertÚ_infer_ShapeÚ_infer_SizeÚ_infer_SliceÚ_infer_SoftmaxCrossEntropyLossÚ_infer_SplitÚ_infer_SplitToSequenceÚ_infer_SqueezeÚ_infer_TileÚ_infer_TopKÚ_infer_TransposeÚ_infer_UnsqueezeÚ_infer_ZipMapÚ_infer_AttentionÚ_infer_BiasAddÚ_infer_BiasGeluÚ_infer_BiasSplitGeluÚ&_infer_DecoderMaskedMultiHeadAttentionÚ_infer_DequantizeLinearÚ_infer_DynamicTimeWarpingÚ_infer_EmbedLayerNormalizationÚ_infer_FastGeluÚ _infer_GatedRelativePositionBiasÚ_infer_GeluÚ_infer_GemmFastGeluÚ_infer_GemmFloat8Ú_infer_GroupNormÚ_infer_GroupQueryAttentionÚ_infer_LayerNormalizationÚ_infer_LongformerAttentionÚ_infer_MatMulNBitsÚ_infer_MultiHeadAttentionÚ_infer_NhwcConvÚ_infer_PackedAttentionÚ_infer_PackedMultiHeadAttentionÚ_infer_PagedAttentionÚ_infer_PythonOpÚ_infer_QLinearBinaryÚ_infer_QuantizeLinearÚ_infer_RelativePositionBiasÚ_infer_RemovePaddingÚ_infer_RestorePaddingÚ_infer_RotaryEmbeddingÚ_infer_SkipGroupNormÚ_infer_SkipLayerNormalizationÚ_infer_SparseAttentionÚ_infer_UnfoldTensorÚdispatcher_Ú_infer_aten_bitwise_orÚ_infer_aten_diagonalÚ_infer_aten_pool2dÚ_infer_aten_minmaxÚ_infer_aten_multinomialÚ_infer_aten_unfoldÚ_infer_aten_argmaxÚ_infer_aten_group_normÚ_infer_aten_upsampleÚaten_op_dispatcher_Úrun_Úsuggested_merge_Úsymbolic_dims_Úinput_symbols_Úauto_merge_Úguess_output_rank_Úverbose_Úint_max_Úsubgraph_id_Úprefix_)ÚselfÚint_maxÚ
auto_mergeÚguess_output_rankÚverboseÚprefixs         r   Ú__init__zSymbolicShapeInference.__init__ƒ   sã	  € ðm
Ø�4×3Ñ3ðm
à˜×5Ñ5ðm
ð $ T×%FÑ%Fðm
ð ˜4×+Ñ+ð	m
ð
 ! $×"@Ñ"@ðm
ð �D×$Ñ$ðm
ð ˜d×8Ñ8ðm
ð ˜×,Ñ,ðm
ð �d×(Ñ(ðm
ð ! $×"@Ñ"@ðm
ð ˜×,Ñ,ðm
ð ˜t×:Ñ:ðm
ð �D×$Ñ$ðm
ð �d×2Ñ2ðm
ð �4×3Ñ3ðm
ð  �d×(Ñ(ð!m
ð" �d×(Ñ(ñ#m
ð$ �T×5Ñ5ð%m
ð& �T×5Ñ5ð'm
ð( �d×(Ñ(ð)m
ð* ˜d×8Ñ8ð+m
ð, ˜×,Ñ,ð-m
ð. ˜×4Ñ4ð/m
ð0 �$—.‘.ð1m
ð2 �D×$Ñ$ð3m
ð4 �d×(Ñ(ð5m
ð6 ˜t×8Ñ8ð7m
ð8 �t×'Ñ'ð9m
ð: �4×3Ñ3ð;m
ð< ˜d×:Ñ:ð=m
ð> ˜D×8Ñ8ð?m
ð@ �4×3Ñ3ðAm
ðB �4×/Ñ/ðCm
ðD �4×3Ñ3òEm
ðF   ×!>Ñ!>ðGm
ðH �t×*Ñ*ðIm
ðJ �d×(Ñ(ðKm
ðL �4—?‘?ðMm
ðN �T×&Ñ&ðOm
ðP ˜$×6Ñ6ðQm
ðR ˜×.Ñ.ðSm
ðT ˜$×0Ñ0ðUm
ðV ˜$×0Ñ0ðWm
ðX �t×*Ñ*ðYm
ðZ �d×(Ñ(ð[m
ð\ �T×1Ñ1ð]m
ð^ �D×$Ñ$ð_m
ð` ˜t×:Ñ:ðam
ðb ˜$×0Ñ0ðcm
ðd ˜d×8Ñ8ðem
ðf �T×&Ñ&ògm
ðh �D×$Ñ$ðim
ðj �T×&Ñ&ðkm
ðl & t×'JÑ'Jðmm
ðn .¨t×/RÑ/Rðom
ðp 0°×1TÑ1Tðqm
ðr �T×&Ñ&ðsm
ðt ˜t×:Ñ:ðum
ðv �t×*Ñ*ðwm
ðx �4×3Ñ3ðym
ðz �D×$Ñ$ð{m
ð| �D×$Ñ$ð}m
ð~ ˜×.Ñ.ðm
ð@ ˜×.Ñ.ðAm
ðB �T×5Ñ5ðCm
ðD �d×(Ñ(ðEm
ðF �4×3Ñ3ðGm
ðJ ˜×.Ñ.òKm
ðL �t×*Ñ*ðMm
ðN ˜×,Ñ,ðOm
ðP ˜T×6Ñ6ðQm
ðR .¨t×/ZÑ/ZðSm
ðT  × <Ñ <ðUm
ðV ! $×"@Ñ"@ðWm
ðX & t×'JÑ'JðYm
ðZ ˜×,Ñ,ð[m
ð\ (¨×)NÑ)Nð]m
ð^ # D×$6Ñ$6ð_m
ð` �D×$Ñ$ðam
ðb ˜D×4Ñ4ðcm
ðd ˜$×0Ñ0ðem
ðf ˜×.Ñ.ðgm
ðh ! $×"7Ñ"7ðim
ðj " 4×#BÑ#Bðkm
ðl ! $×"@Ñ"@òmm
ðn " 4×#BÑ#Bðom
ðp ˜4×2Ñ2ðqm
ðr ! $×"@Ñ"@ðsm
ðt ˜×,Ñ,ðum
ðv ˜t×:Ñ:ðwm
ðx '¨×(LÑ(Lðym
ðz ˜d×8Ñ8ð{m
ð| ˜×,Ñ,ð}m
ð~ ˜$×3Ñ3ðm
ð@ ˜$×3Ñ3ðAm
ðB ˜d×8Ñ8ðCm
ðD ˜×-Ñ-ðEm
ðF # D×$DÑ$DðGm
ðH ˜T×6Ñ6ðIm
ðJ ˜d×8Ñ8ðKm
ðL ˜t×:Ñ:ðMm
ðN +¨D×,JÑ,JñOm
ðP "×6Ñ6Ø&*×&HÑ&HØ04×0RÑ0RØ#×:Ñ:Ø ×4Ñ4òYm
ˆÔð\$
Ø˜×+Ñ+ð$
à˜$×5Ñ5ð$
ð ˜×1Ñ1ð$
ð & t×'>Ñ'>ð	$
ð
 �4×*Ñ*ð$
ð �4×*Ñ*ð$
ð ˜4×7Ñ7ð$
ð �d×-Ñ-ð$
ð �d×-Ñ-ð$
ð ˜$×1Ñ1ð$
ð # D×$;Ñ$;ð$
ð �t×,Ñ,ð$
ð   ×!<Ñ!<ð$
ð ! $×";Ñ";ð$
ð ! $×";Ñ";ð$
ð  ! $×";Ñ";ð!$
ð" ! $×";Ñ";ð#$
ˆÔ ð& ˆŒ	Ø "ˆÔØ ˆÔØ ˆÔØ%ˆÔØ"3ˆÔØˆŒØˆŒØˆÔØˆ�r   c                 ó2  ‡ — t        ˆ fd„|D «       «      sJ ‚t        |«      }‰ j                  j                  «       D ],  \  }}||v sŒ|j	                  |«       |j                  |«       Œ. d }|D ]  }t        |«      sŒ|} n |€|D ]  }|‰ j                  v sŒ|} n |€3|D ].  }t        ‰ j                  |   «      t        j                  u sŒ,|} n |€…‰ j                  dkD  r%t        j                  ddj                  |«      «       t!        |«      }|D �cg c]  }t#        |«      ‘Œ }}||j%                  t'        |«      «         }|j	                  |«       |D ]“  }||k(  rŒ	t        |«      r$t        |«      rt)        |«      t)        |«      k(  sJ ‚t        |«      rt)        |«      n|‰ j                  |<   ‰ j                  j                  «       D ]  \  }}||k(  sŒ|‰ j                  |<   Œ Œ• |r‰ j*                  r‰ j-                  «        y y y c c}w )Nc              3   óz   •K  — | ]2  }t        |«      t        u xr |‰j                  v xs t        |«      –— Œ4 y ­wr)   )r   r   r<  r4   )Ú.0ÚsrD  s     €r   ú	<genexpr>z>SymbolicShapeInference._add_suggested_merge.<locals>.<genexpr>  s6   øè ø€ ÒcÐVW”D˜“Gœs�NÒ? q¨D×,?Ñ,?Ð'?ÒQÄJÈqÃMÓQÑcùs   ƒ8;r   z9Potential unsafe merge between symbolic expressions: (%s)ú,)ÚallÚsetr;  ÚitemsÚremoveÚaddr4   r=  r   r<  r>   ÚSymbolr@  ÚloggerÚwarningÚjoinrH   rQ   ÚindexrÑ   r5   r>  Ú_apply_suggested_merge)	rD  ÚsymbolsÚapplyÚkr\   Úmap_torN  Úsymbols_listÚlenss	   `        r   Ú_add_suggested_mergez+SymbolicShapeInference._add_suggested_merge  s  ø€ ÜÓcÐ[bÔcÔcÐcÐcÜ�g“,ˆØ×)Ñ)×/Ñ/Ó1ò 	‰DˆAˆqØ�GŠ|Ø—‘˜qÔ!Ø—‘˜A•ð	ð ˆàò 	ˆAÜ˜!�}Ø�Ùð	ð
 ˆ>Øò �Ø˜×+Ñ+Ò+Ø�FÙðð ˆ>Øò �Ü˜×+Ñ+¨AÑ.Ó/´5·<±<Ò?Ø�FÙðð
 ˆ>Ø�}‰}˜qÒ Ü—‘ÐZÐ\_×\dÑ\dÐelÓ\mÔnÜ ›=ˆLØ$0Ö1˜q”C˜•FÐ1ˆDÐ1Ø! $§*¡*¬S°«YÓ"7Ñ8ˆFØ�N‰N˜6Ô"àò 	6ˆAØ�FŠ{ØÜ˜&Ô!¤j°¤mÜ˜6“{¤c¨!£fÒ,Ð,Ð,Ü6@ÀÔ6H¤s¨6¤{ÈfˆD×!Ñ! !Ñ$Ø×-Ñ-×3Ñ3Ó5ò 6‘��1Ø˜“6Ø/5�D×)Ñ)¨!Ò,ñ6ð	6ñ �T×%Ò%Ø×'Ñ'Õ)ð &ˆ5ùò 2s   ÄHc                 óÞ  — | j                   sy t        | j                  j                  j                  «      |rg n(t        | j                  j                  j
                  «      z   D ]†  }|j                  j                  j                  j                  D ]W  }|j                  | j                   v sŒ| j                   |j                     }t        |«      rt        |«      |_        ŒQ||_
        ŒY Œˆ y r)   )r;  rH   Úout_mp_ÚgraphÚinputÚ
value_infor   r   r$   r   Ú	dim_paramr4   r5   Ú	dim_value)rD  Úgraph_input_onlyr7   r&   r\   s        r   r[  z-SymbolicShapeInference._apply_suggested_merge=  s¸   € Ø×$Ò$ØÜ�d—l‘l×(Ñ(×.Ñ.Ó/Ñ9I±2ÌtÐTX×T`ÑT`×TfÑTf×TqÑTqÓOrÑsò 	(ˆAØ—V‘V×'Ñ'×-Ñ-×1Ñ1ò (�Ø—;‘; $×"7Ñ"7Ò7Ø×-Ñ-¨a¯k©kÑ:�AÜ! !”}Ü&)¨!£f˜�à&'˜�ñ(ñ	(r   c                 óH  — t        j                  «       | _        | j                  j                  |«       t	        | j                  j
                  j                  «      D �ci c]  }|j                  |“Œ c}| _        | j                  j
                  j                  D �ci c]  }|j                  |“Œ c}| _
        t	        | j                  j
                  j                  «      D �ci c]  }|j                  |“Œ c}| _        | j                  j                  | j                  j
                  j                  D �ci c]K  }|j                  t        j                  |j                  |j                  t	        |j                   «      «      “ŒM c}«       y c c}w c c}w c c}w c c}w r)   )r0   Ú
ModelProtord  ÚCopyFromrH   re  rf  r
   Úgraph_inputs_ÚinitializerÚinitializers_Ú	known_vi_Úupdater   Úmake_tensor_value_infoÚ	data_typeÚdims)rD  Úin_mpr7   s      r   Ú_preprocessz"SymbolicShapeInference._preprocessI  s"  € Ü—‘Ó(ˆŒØ�‰×Ñ˜eÔ$Ü15°d·l±l×6HÑ6H×6NÑ6NÓ1OÖP¨A˜aŸf™f a™iÒPˆÔØ15·±×1CÑ1C×1OÑ1OÖP¨A˜aŸf™f a™iÒPˆÔÜ-1°$·,±,×2DÑ2D×2JÑ2JÓ-KÖL¨˜!Ÿ&™& !™)ÒLˆŒØ�‰×Ñð Ÿ™×+Ñ+×7Ñ7öàð —‘œ×5Ñ5°a·f±f¸a¿k¹kÌ4ÐPQ×PVÑPVË<ÓXÑXòõ	
ùò QùÚPùÚLùòs   Á FÂFÃ%FÄ8AFc                 óú  ‡‡— t        d„ ‰D «       «      sî| j                  rát        t        ‰«      «      }|D �cg c]  }t	        |«      ‘Œ }}t        |«      dk  sJ ‚t        |«      dk(  rb|j                  d«      }| j                  dkD  r*t        j                  d|d | ||dz   d  z   › d||   › �«       | j                  |d¬«       ||   S | j                  dkD  r!t        j                  d|dd  › d|d   › �«       ‰d   S y t        ˆfd	„‰D «       «      r‰d   S ‰D �cg c]  }| j                  j                  ||«      ‘Œ  c}Št        ˆfd
„‰D «       «      r‰d   | j                  v sJ ‚‰d   S y c c}w c c}w )Nc              3   ó>   K  — | ]  }t        |«      t        u –— Œ y ­wr)   )r   r   ©rM  r&   s     r   rO  z8SymbolicShapeInference._merge_symbols.<locals>.<genexpr>W  s   è ø€ Ò0 a”4˜“7œc”>Ñ0ùs   ‚rP   r   zdim z has been merged with value F©Úallow_broadcastz has been merged with dim c              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­w©r   NrB   ©rM  r&   ru  s     €r   rO  z8SymbolicShapeInference._merge_symbols.<locals>.<genexpr>j  s   øè ø€ Ò* ˆq�D˜‘G�|Ñ*ùó   ƒc              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­wr~  rB   )rM  r&   Úmergeds     €r   rO  z8SymbolicShapeInference._merge_symbols.<locals>.<genexpr>m  s   øè ø€ Ò. !ˆq�F˜1‘I�~Ñ.ùr€  )rQ  r>  rH   rR  r4   ÚsumrZ  r@  rW  ÚdebugÚ_check_merged_dimsr;  Úgetr<  )rD  ru  Úunique_dimsr&   Úis_intÚint_dimr‚  s    `    @r   Ú_merge_symbolsz%SymbolicShapeInference._merge_symbolsV  s›  ù€ ÜÑ0¨4Ô0Ô0Ø×ÒÜ"¤3 t£9›o�Ø1<Ö=¨Aœ* Q�-Ð=�Ð=Ü˜6“{ aÒ'Ð'Ð'Ü�v“; !Ò#Ø$Ÿl™l¨1›o�GØ—}‘} qÒ(ÜŸ™Ø" ;¨x°Ð#8¸;ÀwÐQRÁ{À}Ð;UÑ#UÐ"VÐVrÐs~ð  @Gñ  tHð  sIð  Jôð ×+Ñ+¨KÈÐ+ÔOØ& wÑ/Ð/à—}‘} qÒ(ÜŸ™ t¨K¸¸¨OÐ+<Ð<VÐWbÐcdÑWeÐVfÐ%gÔhØ ™7�NàÜÓ* TÔ*Ô*Ø˜‘7ˆNØ;?Ö@°a�$×'Ñ'×+Ñ+¨A¨qÕ1Ò@ˆÜÓ. vÔ.Ô.Ø˜!‘9 × 3Ñ 3Ñ3Ð3Ð3Ø˜!‘9Ðàùò/ >ùò$ As   ¹E3Ä #E8c                 ó¸  — g }t        |«      }t        |«      }t        ||«      }t        |«      D ]§  }||k  r||dz
  |z
     nd}||k  r||dz
  |z
     nd}	|dk(  s||	k(  r|	}
no|	dk(  r|}
ng| j                  ||	g«      }
|
sR| j                  r| j                  ||	gd¬«       n0t        j                  dt        |«      z   dz   t        |	«      z   «       |
g|¢}Œ© |S )NrP   T©r]  zunsupported broadcast between ú )	rQ   rÐ   ÚrangerŠ  r>  rb  rW  rX  r   )rD  Úshape1Úshape2Ú	new_shapeÚrank1Úrank2Únew_rankr7   Údim1Údim2Únew_dims              r   Ú_broadcast_shapesz(SymbolicShapeInference._broadcast_shapest  s   € Øˆ	Ü�F“ˆÜ�F“ˆÜ�u˜eÓ$ˆÜ�x“ò 	.ˆAØ,-°ªI�6˜% !™) a™-Ò(¸1ˆDØ,-°ªI�6˜% !™) a™-Ò(¸1ˆDØ�qŠy˜D DšLØ‘Ø˜’Ø‘à×-Ñ-¨t°T¨lÓ;�Ùð ×'Ò'Ø×1Ñ1°4¸°,ÀdÐ1ÕKäŸ™Ð'GÌ#ÈdË)Ñ'SÐVYÑ'YÔ\_Ð`dÓ\eÑ'eÔfØ Ð- 9Ð-‰Ið#	.ð$ Ðr   c                 óÔ   — |j                   |   }|| j                  v r| j                  |   }t        |«      S || j                  v sJ ‚t	        | j                  |   j
                  «      S r)   )rf  rq  r.   rp  rH   ru  ©rD  r   Úidxr
   r-   s        r   Ú
_get_shapez!SymbolicShapeInference._get_shape�  sd   € Ø�z‰z˜#‰ˆØ�4—>‘>Ñ!Ø—‘ Ñ%ˆBÜ,¨RÓ0Ð0à˜4×-Ñ-Ñ-Ð-Ð-Ü˜×*Ñ*¨4Ñ0×5Ñ5Ó6Ð6r   c                 ó
  — |t        |j                  «      dz
  kD  ry |j                  |   }|| j                  v r| j                  |   }t        |«      S || j                  v r"t        | j                  |   j                  «      S y r[   )rQ   rf  rq  r.   rp  rH   ru  rš  s        r   Ú_try_get_shapez%SymbolicShapeInference._try_get_shape–  sy   € Ø”�T—Z‘Z“ 1Ñ$Ò$ØØ�z‰z˜#‰ˆØ�4—>‘>Ñ!Ø—‘ Ñ%ˆBÜ,¨RÓ0Ð0Ø�4×%Ñ%Ñ%Ü˜×*Ñ*¨4Ñ0×5Ñ5Ó6Ð6Ør   c                 ó8   — t        | j                  ||«      «      S r)   )rQ   rœ  )rD  r   r›  s      r   Ú_get_shape_rankz&SymbolicShapeInference._get_shape_rank¡  s   € Ü�4—?‘? 4¨Ó-Ó.Ð.r   c                 ó  — g }| j                  ||«      D ]o  }t        |«      t        u rE|j                  || j                  v r| j                  |   nt        j                  |dd¬«      «       ŒYd |usJ ‚|j                  |«       Œq |S )NT©ÚintegerÚnonnegative)rœ  r   r   Úappendr<  r>   rV  )rD  r   r›  r6   r&   s        r   Ú_get_sympy_shapez'SymbolicShapeInference._get_sympy_shape¤  sŒ   € ØˆØ—‘  sÓ+ò 		&ˆAÜ�A‹wœ#‰~Ø×"Ñ"à˜D×/Ñ/Ñ/ð ×'Ñ'¨Ò*äŸ™ a°À4ÔHõð  1‘}Ð$�}Ø×"Ñ" 1Õ%ð		&ð Ðr   c                 óÚ   — |j                   |   }|| j                  v s|| j                  v sJ ‚|| j                  v r| j                  |   S t        j                  | j                  |   «      S r)   )rf  Úsympy_data_rp  r   Úto_array©rD  r   r›  r
   s       r   Ú
_get_valuez!SymbolicShapeInference._get_value²  sk   € Ø�z‰z˜#‰ˆØ�t×'Ñ'Ñ'¨4°4×3EÑ3EÑ+EÐEÐEØ)-°×1AÑ1AÑ)Aˆt×Ñ Ñ%ÐvÄ|×G\ÑG\Ð]a×]oÑ]oÐptÑ]uÓGvÐvr   c                 ó°   — |t        |j                  «      k\  ry |j                  |   }|| j                  v s|| j                  v r| j	                  ||«      S y r)   )rQ   rf  r¨  rp  r«  rª  s       r   Ú_try_get_valuez%SymbolicShapeInference._try_get_value·  sQ   € Ø”#�d—j‘j“/Ò!ØØ�z‰z˜#‰ˆØ�4×#Ñ#Ñ# t¨t×/AÑ/AÑ'AØ—?‘? 4¨Ó-Ð-Ør   c                 ól  — t        |«      D ]¦  \  }}t        |«      rŒt        |«      t        k7  sŒ%t        |«      }|| j                  v r9t        | j                  |   «      rŒW| j
                  | j                  |      ||<   Œwt        |«      | j
                  vsŒ�|| j
                  t        |«      <   Œ¨ y r)   )Ú	enumerater4   r   r   r;  r<  )rD  Únew_sympy_shaper7   r—  Ústr_dims        r   Ú_update_computed_dimsz,SymbolicShapeInference._update_computed_dims¿  s¥   € Ü# OÓ4ò 
	D‰JˆAˆwÜ˜gÕ&¬4°«=¼CÓ+?Ü˜g›,�Ø˜d×3Ñ3Ñ3Ü! $×"7Ñ"7¸Ñ"@ÔAØ Ø)-×)<Ñ)<¸T×=RÑ=RÐSZÑ=[Ñ)\�O AÒ&ô ˜7“|¨4×+>Ñ+>Ò>Ø<C˜×+Ñ+¬C°«LÒ9ñ
	Dr   c                 ó  — |j                   dv }|�s-g }t        | j                  «      dk\  rP|j                   dv rB|j                  D �cg c]-  }|| j                  v r|| j
                  vr| j                  |   ‘Œ/ }}|j                   dv �r|j                  d   | j                  v rí| j                  |j                  d      }t        t        |j                  «      «      }t        t        |j                  «      «      D �cg c]  }| j                  ||«      ‘Œ }}t        ||j                   dv rdndz
  «      D ]W  }	|D �
cg c](  }
t        |
«      |	z   |k\  sŒ|
t        |
«      |z
  |	z      ‘Œ* }}
t        |«      dkD  sŒE| j                  |d	¬
«       ŒY t        j                  |gd|j                  D �cg c]  }|sŒ| j                  |   ‘Œ c}|j                  D �cg c]  }t!        |«      ‘Œ c}|«      }| j"                  j$                  j'                  |«       t)        j*                  | j"                  «      | _        t        t        |j                  «      «      D ]�  }|j                  |   }|sŒ| j                  j$                  j,                  j/                  «       }|s3|j'                  | j"                  j$                  j                  |   «       n||_        || j                  |<   Œ� y c c}w c c}w c c}
w c c}w c c}w )N)'rx   ry   r�   rš   r¢   r¤   r¥   r¦   r§   r©   rª   r«   r¬   r®   r¯   r°   r²   r³   r´   rµ   r¶   r¸   r¹   rº   r¼   r½   rÀ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÈ   rÉ   rÊ   rÇ   r¾   r¿   é	   )r    ©	ra   rœ   r‚   ro   rz   ÚMatMulIntegerr{   r¡   ÚSumr   ©rz   r¶  r{   é   rP   Tr{  Útmp)Úop_typerM   rd  rf  rp  rn  Úoutputrq  rQ   r'   r   rŽ  rœ  r…  r   Ú
make_graphr2   Útmp_mp_re  rm  r   Úinfer_shapesrg  rU  r
   )rD  r   Ú
skip_inferÚinitializersr
   r-   Úout_rankr7   Ú	in_shapesr&   rN  Úin_dimsÚ	tmp_graphÚi_oÚos                  r   Ú_onnx_infer_single_nodez.SymbolicShapeInference._onnx_infer_single_nodeÌ  s±  € à—\‘\ð (&
ð (
ˆ
òT ð ˆLÜ˜$Ÿ,™,Ó'¨1Ò,°$·,±,À-Ñ2Oð !%§
¡
ö àØ × 2Ñ 2Ñ2°tÀ4×CUÑCUÑ7Uð ×&Ñ& tÓ,ð �ð  ð �|‰|ð 
 ò 
ð —;‘;˜q‘> T§^¡^Ñ3ØŸ™¨¯©°A©Ñ7�BÜ"Ô#<¸R¿W¹WÓ#EÓF�HÜCHÌÈTÏZÉZËÓCYÖ Z¸a §¡°°qÕ!9Ð Z�IÐ ZÜ"Ø ¨¯©Ð9gÑ)g¡AÐmnÑoóò S˜ð FOÖ"iÀÔRUÐVWÓRXÐ[\ÑR\Ð`hÓRh 1¤S¨£V¨hÑ%6¸Ñ%:Ó#;Ð"i˜Ð"iÜ˜w›<¨!Ó+Ø ×3Ñ3°GÈTÐ3ÕRðSô ×)Ñ)Ø�ØØ,0¯J©JÖ< qº!�—‘ Ó"Ò<Ø37·;±;Ö?¨aÔ& qÕ)Ò?ØóˆIð �L‰L×Ñ×'Ñ'¨	Ô2ä*×7Ñ7¸¿¹ÓEˆDŒLäœ˜TŸ[™[Ó)Ó*ò 	'ˆCØ—‘˜CÑ ˆAÚØ—\‘\×'Ñ'×2Ñ2×6Ñ6Ó8�Ù!Ø—K‘K §¡× 2Ñ 2× 9Ñ 9¸#Ñ >Õ?à�B”GØ$&�—‘˜qÒ!ñ	'ùòS ùò( ![ùò #jùò =ùÚ?s*   Á2K.Ä K3Å K8ÅK8Æ3K=Æ;K=ÇLc                 óä	  — | j                   dkD  r?t        j                  d|j                  › d|j                  d   › d|j
                  › �«       t        |j                  «      t        |j                  «      z   D �ch c]  }|j                  ’Œ }}| j                  D �ch c]	  }||vsŒ|’Œ }}t        j                  t        |j                  «      dt        |j                  «      |D �cg c]  }| j                  |   ‘Œ c}z   |j                  D �cg c]  }t        |j                  «      ‘Œ c}«      }	|	j                  j                  | j                  j                   j                  D �cg c]  }|j                  |v sŒ|‘Œ c}«       |	j                  j                  |j                  «       | j"                  j                   j%                  |	«       t'        | j(                  | j*                  | j,                  | j                   | j.                  dz   t1        | j2                  «      z   ¬«      }
|r| xj2                  d	z  c_        |
j5                  | j"                  «       | j6                  j9                  «       |
_        |
j:                  r6|
j=                  | j>                  j9                  «       «       |
j:                  rŒ6|
jA                  «        |r`|jC                  d
«       |j                  j                  |
j                  j                   j                  d tE        |j                  «       «       |jC                  d«       |j                  j                  |
j                  j                   j                  «       |jC                  d«       |jF                  j                  |
j                  j                   jF                  «       |jC                  d«       |j                  j                  |
j                  j                   j                  «       |
j                  j                   j                  D �cg c]  }tI        |«      ‘Œ }}|D ��ch c]/  }|sŒ|D ]%  }tK        |«      t0        u sŒ|| jL                  vsŒ$|’Œ' Œ1 }}}i }|D ]$  }||
jL                  v sJ ‚|
jL                  |   ||<   Œ& | jL                  jO                  |«       |
S c c}w c c}w c c}w c c}w c c}w c c}w c c}}w )Nr¹  zInferencing subgraph of node z with output(r   z...): rº  Ú_)rI  rP   rf  r¼  rg  r   )(r@  rW  r„  r
   r¼  r»  rH   ro  rf  rq  r   r½  r   r2   Úextendrd  re  r¾  rm  r_   rA  r>  r?  rC  r   rB  rw  r;  Úcopyr:  Ú_infer_implr¨  Ú_update_output_from_viÚ
ClearFieldrQ   rg  r.   r   r<  rr  )rD  r   ÚsubgraphÚuse_node_inputÚinc_subgraph_idr7   Úsubgraph_inputsr
   Úsubgraph_implicit_inputrÅ  Úsymbolic_shape_inferencerÇ  Úsubgraph_shapesrN  r&   Úsubgraph_new_symbolic_dimsÚnew_dimss                    r   Ú_onnx_infer_subgraphz+SymbolicShapeInference._onnx_infer_subgraph3  s  € Ø�=‰=˜1ÒÜ�L‰LÐ8¸¿¹¸À=ÐQU×Q\ÑQ\Ð]^ÑQ_ÐP`Ð`fÐgk×gsÑgsÐftÐuÔvô
 ,0°×0DÑ0DÓ+EÌÈXÏ^É^ÓH\Ñ+\Ö] a˜1Ÿ6›6Ð]ˆÐ]Ø48·N±NÖ"b¨DÀdÐRaÒFa¢4Ð"bÐÐ"bÜ×%Ñ%Ü�—‘ÓØÜ�—‘Ó Ð?VÖ#W¸! D§N¡N°1Ó$5Ò#WÑWØ4<·O±OÖD¨qÔ" 1§6¡6Õ*ÒDó	
ˆ	ð 	×Ñ×$Ñ$°·±×1CÑ1C×1OÑ1OÖ%u¨AÐST×SYÑSYÐ]tÒSt¢aÒ%uÔvØ×Ñ×$Ñ$ X×%9Ñ%9Ô:Ø�‰×Ñ×#Ñ# IÔ.ä#9Ø�M‰MØ×ÑØ×#Ñ#Ø�M‰MØ—<‘< #Ñ%¬¨D×,=Ñ,=Ó(>Ñ>ô$
Ð ñ Ø×Ò Ñ"Õà ×,Ñ,¨T¯\©\Ô:Ø48×4IÑ4I×4NÑ4NÓ4PÐ Ô1Ø&×+Ò+Ø$×0Ñ0°×1AÑ1A×1FÑ1FÓ1HÔIð '×+Ó+à ×7Ñ7Ô9Ùà×Ñ Ô(Ø�N‰N×!Ñ!Ð":×"BÑ"B×"HÑ"H×"NÑ"NÐO`ÔQTÐUY×U_ÑU_ÓQ`Ð"aÔbØ×Ñ˜HÔ%Ø�‰×ÑÐ7×?Ñ?×EÑE×LÑLÔMØ×Ñ˜LÔ)Ø×Ñ×"Ñ"Ð#;×#CÑ#C×#IÑ#I×#TÑ#TÔUØ×Ñ˜FÔ#Ø�‰×ÑÐ5×=Ñ=×CÑC×HÑHÔIàAY×AaÑAa×AgÑAg×AnÑAnÖo¸AÔ4°QÕ7ÐoˆÐoà&÷&
Øª!°Qò&
Ø01¼$¸q»'ÄSº.ÈQÐVZ×ViÑViÒMiŠAð&
Øð&
Ð"ñ &
ð ˆØ+ò 	EˆAØÐ0×?Ñ?Ñ?Ð?Ð?Ø2×AÑAÀ!ÑDˆH�QŠKð	Eð 	×Ñ×"Ñ" 8Ô,Ø'Ð'ùò_ ^ùÚ"bùò $XùÚDùâ%uùò< pùó&
sH   Á<SÂ	SÂ)SÃ+SÄSÅ-S"ÆS"Ð6S'ÑS,ÑS,Ñ.S,Ñ=S,c                 óH  — d„ }t        t        |j                  «      «      D �cg c]  }| j                  ||«      ‘Œ }}t	        d„ |D «       «      r¯t        |«      D ]¡  \  }}t        |«      t        j                  urŒ"t        |j                  «      dkD  rd }n`t        |j                  «      dk(  r ||j                  «       |«      }n0t        |j                  «      dk(  sJ ‚|D �	cg c]  }	 ||	|«      ‘Œ }}	|||<   Œ£ |D �cg c]  }t        |t        «      rt        |«      nd‘Œ! }
}t        |
«      }|dk\  rY|rWt        |«      D ]I  \  }}|€Œ	t        |t        «      r(t        |«      |k  r	||z  ||<   Œ0t        |«      |k(  rŒ?J ‚|g|z  ||<   ŒK |S c c}w c c}	w c c}w )Nc                 ó0   — |r
| dz  dk7  r| S t        | «      S rO   )r5   )r   Úallow_float_valuess     r   Úint_or_floatzESymbolicShapeInference._get_int_or_float_values.<locals>.int_or_floatl  s   € á! e¨a¡i°1¢nØ�Ü�u“:Ðr   c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wr)   rB   ©rM  r\   s     r   rO  zBSymbolicShapeInference._get_int_or_float_values.<locals>.<genexpr>s  ó   è ø€ Ò- ˆq˜Œ}Ñ-ùó   ‚rP   r   )rŽ  rQ   rf  r­  rQ  r¯  r   r;   rR   r$   rS   Ú
isinstancerH   rÐ   )rD  r   Ú	broadcastrÜ  rÝ  r7   Úvaluesr\   Únew_vÚvvÚ
values_lenÚmax_lens               r   Ú_get_int_or_float_valuesz/SymbolicShapeInference._get_int_or_float_valuesk  s–  € ò	ô 9>¼cÀ$Ç*Á*»oÓ8NÖO°1�$×%Ñ% d¨AÕ.ÐOˆÐOÜÑ- fÔ-Ô-ä! &Ó)ò 
"‘��1Ü˜“7¤"§*¡*Ñ,ØÜ�q—w‘w“< !Ò#Ø ‘EÜ˜Ÿ™“\ QÒ&Ù(¨¯©«Ð3EÓF‘Eä˜qŸw™w›<¨1Ò,Ð,Ð,ØLMÖNÀb™\¨"Ð.@ÕAÐN�EÐNØ!��q’	ð
"ð EKÖK¸q¤
¨1¬dÔ 3”c˜!”f¸Ñ:ÐKˆ
ÐKÜ�j“/ˆØ�aŠ<™Iä! &Ó)ò 	.‘��1Ø�9ØÜ˜a¤Ô&Ü˜1“v Ò'Ø$%¨¡K˜˜qš	ä" 1›v¨Ó0Ð0Ð0à!"  g¡�F˜1’Ið	.ð ˆùò9 Pùò OùâKs   ¤FÃ'FÄ$Fc                 óê  — t        |j                  «      dk(  sJ ‚|j                  dv r| j                  |dd¬«      }n| j                  |d¬«      }t	        d„ |D «       «      r‡|D �cg c]  }t        |t        «      ‘Œ }}t        |«      }|r:t        |ddiŽD �cg c]
  } ||«      ‘Œ c}| j                  |j                  d	   <   y  ||«      | j                  |j                  d	   <   y y c c}w c c}w )
NrP   )r‚   ro   T)rã  rÜ  )rã  c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wr)   rB   rß  s     r   rO  z@SymbolicShapeInference._compute_on_sympy_data.<locals>.<genexpr>›  rà  rá  ÚstrictFr   )
rQ   r¼  r»  ré  rQ  râ  rH   ÚanyÚzipr¨  )rD  r   Úop_funcrä  r\   Úis_listrY   Úvss           r   Ú_compute_on_sympy_dataz-SymbolicShapeInference._compute_on_sympy_data�  sä   € Ü�4—;‘;Ó 1Ò$Ð$Ð$ð
 �<‰<˜>Ñ)Ø×2Ñ2°4À4Ð\`Ð2Óa‰Fà×2Ñ2°4À4Ð2ÓHˆFäÑ- fÔ-Ô-Ø4:Ö;¨q”z !¤TÕ*Ð;ˆGÐ;Ü˜'“lˆGÙÜJMÈvÐJdÐ^cÑJdÖ3eÀB±G¸BµKÒ3e�× Ñ  §¡¨Q¡Ò0á3:¸6³?�× Ñ  §¡¨Q¡Ò0ð .ùÚ;ùò 4fs   Á'C+ÂC0c                 óz   — t        |j                  «      dk(  s|j                  dv sJ ‚| j                  |d„ «       y )NrP   )rŒ   r    r›   c                 ó   — | d   S r   rB   rT   s    r   ú<lambda>z<SymbolicShapeInference._pass_on_sympy_data.<locals>.<lambda>©  s
   € °A°a±D€ r   )rQ   rf  r»  rò  ©rD  r   s     r   Ú_pass_on_sympy_dataz*SymbolicShapeInference._pass_on_sympy_data£  s>   € Ü�4—:‘:‹ !Ò# t§|¡|ð 8
ñ (
ð 	
ð 
ð
 	×#Ñ# D©.Õ9r   c           
      ó  — | j                   |j                  d      }|j                  t        j                  |j                  d   t        | j                   |j                  d      j                  «      | j                  |d«      «      «       y r   )	rq  r¼  rm  r   rs  r+   rf  r   rœ  )rD  r   r-   s      r   rÞ   z.SymbolicShapeInference._pass_on_shape_and_type«  sj   € Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ü-¨d¯n©n¸T¿Z¹ZÈ¹]Ñ.K×.PÑ.PÓQØ—‘  aÓ(óõ	
r   c                 óú   — |› d|› �}|| j                   v r>| j                   |   }t        |«      r t        j                  t	        |«      «      }|S |}|S t        j
                  |dd¬«      }|| j                  |<   |S )NÚ_dTr¢  )r;  r4   r>   r?   r5   rV  r<  )rD  rI  r   r—  r\   Únew_symbolic_dims         r   Ú_new_symbolic_dimz(SymbolicShapeInference._new_symbolic_dimµ  sŽ   € Ø�H˜B˜s˜eÐ$ˆØ�d×+Ñ+Ñ+Ø×%Ñ% gÑ.ˆAÜ8BÀ1¼œuŸ}™}¬S°«VÓ4Ðð  Ðð	 LMÐð  Ðô  %Ÿ|™|¨G¸TÈtÔTÐØ+;ˆD×Ñ Ñ(ØÐr   c           	      óÐ   — | j                  |j                  › | j                  › dt        | j                  j
                  j                  «      j                  |«      › d|› d�|«      S )NrÊ  Ú_o)rü  r»  rC  rH   rd  re  r   rZ  )rD  r   Úout_idxr   s       r   Ú_new_symbolic_dim_from_outputz4SymbolicShapeInference._new_symbolic_dim_from_output¿  s`   € Ø×%Ñ%Ø�|‰|ˆn˜TŸ\™\˜N¨!¬D°·±×1CÑ1C×1HÑ1HÓ,I×,OÑ,OÐPTÓ,UÐ+VÐVXÐY`ÐXaÐabÐcØó
ð 	
r   c                 ó`   — t        |«      D �cg c]  }| j                  |||«      ‘Œ c}S c c}w r)   )rŽ  r   )rD  rD   r   rÿ  r7   s        r   Ú_new_symbolic_shapez*SymbolicShapeInference._new_symbolic_shapeÅ  s*   € ÜNSÐTXËkÖZÈ�×2Ñ2°4¸À!ÕDÒZÐZùÒZs   Ž+c           
      ój  — | j                  |d«      }t        |j                  «      dkD  r>| j                  |d«      }t        |«      dz
  }|r	|| dz
  d n|| d  }|d   ||rdnd<   nd }t        |d«      }t        |«      }t        |«      |dz   k(  sJ ‚|r	|| dz
  d n|| d  }|D �cg c]  }t	        |«       ‘Œ }	}t        |	«      s®t        | j                  |j                  d      «      }
t        |
«      dkD  r{t        |«      t        |
«      k(  sJ ‚|r3|
| dz
  d D �cg c]  }t        j                  |«      ‘Œ c}|| dz
  d |S |
| d  D �cg c]  }t        j                  |«      ‘Œ c}|| d  |S t        |ddg|z  «      }t        |ddg|z  «      }t        ||d	¬
«      D ��cg c]  \  }}|dz
  |z  dz   ‘Œ }}}t        |d«      }|€³dgd|z  z  }t        |dd«      j                  d«      }|dk7  rz|dk7  ru	 t        || d  |d	¬
«      D ��cg c]  \  }}t        j                  ||«      ‘Œ }}}t        |||d	¬
«      D ���cg c]  \  }}}t        d|dk(  r||z
  n||z
  «      ‘Œ! }}}}nK|dk(  rg }nCdg|z  }n<t        |«      d|z  k(  sJ ‚t        |d | ||d  d	¬
«      D ��cg c]
  \  }}||z   ‘Œ }}}t        |dd«      }t!        |«      D ]m  }|| |z   |rdndz      }t        |«      dkD  r|||   z   }|r"t        j"                  |||   z
  ||   z  «      }n|||   z
  ||   z  }|dz   || |z   |rdndz   <   Œo |S c c}w c c}w c c}w c c}}w c c}}w c c}}}w # t        $ r7 t        ||d	¬
«      D ��cg c]  \  }}t        d||z
  «      ‘Œ nc c}}w }}}Y Œëw xY wc c}}w )Nr   rP   r¹  éÿÿÿÿé   Úkernel_shapeÚ	dilationsÚstridesF©rì  ÚpadsÚauto_pads   NOTSETúutf-8ÚVALIDÚNOTSETÚ	ceil_mode)r¦  rQ   rf  r   r4   rí  r.   rq  r¼  r>   r?   rî  ÚdecodeÚModrÐ   Ú	TypeErrorrŽ  Úceiling)rD  r   Úchannels_lastr6   ÚW_shaperD   r  Úspatial_shaper7   Úis_symbolic_dimsr$   r&   r  r  r^  Úeffective_kernel_shaper
  r  rN  ÚresidualÚrÚ
total_padsÚp1Úp2r  Úeffective_input_sizeÚstrided_kernel_positionss                              r   Ú_compute_conv_pool_shapez/SymbolicShapeInference._compute_conv_pool_shapeÈ  sj  € Ø×+Ñ+¨D°!Ó4ˆÜˆt�z‰z‹?˜QÒØ×+Ñ+¨D°!Ó4ˆGÜ�w“< !Ñ#ˆDÙ6C˜7 D 5¨1¡9¨rÑ2ÈÐRVÐQVÐQWÈˆLØ5<¸Q±ZˆK™]™°Ò2àˆGÜ(¨¨~Ó>ˆLÜ�|Ó$ˆDä�;Ó 4¨!¡8Ò+Ð+Ð+ñ 8E˜ T E¨A¡I°Ñ3È+ÐW[ÐV[ÐV\ÐJ]ˆØ7DÖE°!¤
¨1£Ò-ÐEÐÐEäÐ#Ô$Ü-¨d¯n©n¸T¿[¹[È¹^Ñ.LÓMˆEÜ�5‹z˜AŠ~Ü˜;Ó'¬3¨u«:Ò5Ð5Ð5Ù ØMRÐTXÐSXÐ[\ÑS\Ð_aÐMbÖ2cÈ´5·=±=ÀÕ3CÒ2c�K  ¨¡	¨BÐ/ð #Ð"ð FKÈDÈ5È6À]Ö*SÀ¬5¯=©=¸Õ+;Ò*S�K   Ð'Ø"Ð"ä! $¨°a°S¸4±ZÓ@ˆ	Ü  i°!°°t±Ó<ˆÜ>AÀ,ÐPYÐbgÔ>h×!i±d°a¸ 1 q¡5¨A¡+°£/Ð!iÐÑ!iÜ˜T 6Ó*ˆØˆ<Ø�3˜!˜d™(Ñ#ˆDÜ$ T¨:°yÓA×HÑHÈÓQˆHØ˜7Ò" x°8Ò';ð	Ü<?ÀÈTÈEÈFÐ@SÐU\ÐejÔ<k×l±D°A°q¤§	¡	¨!¨Q¥Ðl�HÑlô (+Ð+AÀ7ÈHÐ]bÔ'c÷"ð "á#˜A˜q !ô ˜A¨!¨qª&  A¢°q¸1±uÕ>ð"�Jó "ð ˜WÒ$Ø‘
à˜S 4™Z‘
ä�t“9  D¡Ò(Ð(Ð(Ü03°D¸¸$°KÀÀdÀeÀÐUZÔ0[×\¡f b¨"˜"˜r›'Ð\ˆJÑ\ä! $¨°QÓ7ˆ	Ü�t“ò 
	aˆAØ#.°¨u°q©yÁ-¹BÐUVÑ/WÑ#XÐ Ü�:‹ Ò"Ø';¸jÈ¹mÑ'KÐ$ÙÜ+0¯=©=Ø)Ð,BÀ1Ñ,EÑEÈÐQRÉÑSó,Ñ(ð -AÐCYÐZ[ÑC\Ñ,\ÐahÐijÑakÑ+kÐ(ØD\Ð_`ÑD`ˆK˜˜ ™	©=¡R¸aÑ@ÒAð
	að Ðùòe Fùò 3dùâ*Sùó
 "jùó  mùô"øô !ò ä47Ð8NÐPWÐ`eÔ4f÷"Ù,0¨A¨qœ˜A  A¡�ñ"ùó "�Jó "ðüó ]sZ   Â*M
Ä#MÅMÆ+MÈM, È MÈ6M, É$M%É0M, Ê.N/ÍM, Í,N,ÎN Î
N,Î+N,c                 ó¸   ‡— |r*‰D �cg c]  }t        |«      rt        |«      dk  rŒ|‘Œ  c}Št        ˆfd„‰D «       «      s| j                  ‰d¬«       y y c c}w )NrP   c              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­wr~  rB   r  s     €r   rO  z<SymbolicShapeInference._check_merged_dims.<locals>.<genexpr>  ó   øè ø€ Ò. A�1˜˜Q™•<Ñ.ùr€  TrŒ  )r4   r5   rQ  rb  )rD  ru  r|  r&   s    `  r   r…  z)SymbolicShapeInference._check_merged_dims  sR   ø€ ÙØ#ÖK˜!¬J°q¬M¼cÀ!»fÈ»k’AÒKˆDÜÓ.¨Ô.Ô.Ø×%Ñ% d°$Ð%Õ7ð /ùò Ls
   ˆA§ANc                 ó�  — | j                  |d«      }| j                  |d«      }t        |«      }t        |«      }d}d}|dkD  r|dkD  sJ ‚|dk(  r|dk(  rg }	nI|dk(  rd}g |d | ¢|d   ‘}	n5|dk(  rd}|d | }	n(d}d}g | j                  |d d |d d «      ¢|d   ‘|d   ‘}	| j                  ||   ||   gd¬«       |€:| j                  |j
                  d      j                  j                  j                  }| j                  |j                  d      }
|
j                  t        j                  |j                  d   ||	«      «       y )Nr   rP   éþÿÿÿr  Fr{  )rœ  rQ   r˜  r…  rq  rf  r   r   r*   r¼  rm  r   rs  )rD  r   Úoutput_dtypeÚ	lhs_shapeÚ	rhs_shapeÚlhs_rankÚrhs_rankÚlhs_reduce_dimÚrhs_reduce_dimr‘  r-   s              r   Ú_compute_matmul_shapez,SymbolicShapeInference._compute_matmul_shape  sx  € Ø—O‘O D¨!Ó,ˆ	Ø—O‘O D¨!Ó,ˆ	Ü�y“>ˆÜ�y“>ˆØˆØˆØ˜!Š| ¨1¢Ð,Ð,Ø�qŠ=˜X¨š]Ø‰IØ˜Š]ØˆNØD˜) O ^Ð4ÐD°iÀ±mÐD‰IØ˜Š]ØˆNØ! / >Ð2‰IàˆNØˆNØo˜$×0Ñ0°¸3¸B°ÀÈ3ÈBÀÓPÐoÐR[Ð\^ÑR_ÐoÐajÐkmÑanÐoˆIà×ÑØ�~Ñ&¨	°.Ñ(AÐBØ!ð 	 ô 	
ð ÐàŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐPYÓZÕ[r   c           
      ó>  — t        |«      r |j                  j                  j                  n|j                  }t        |«      r |j                  j                  j                  n|j                  }|j                  |j                  k7  r®|j                  r|j                  n|j
                  }t        d|› dt        j                  j                  j                  j                  |j                  «      › dt        j                  j                  j                  j                  |j                  «      › �«      ‚|j                  d«      rÆt        t        |j                  j                   |j                  j                   d¬«      «      D ]ƒ  \  }}	|	d   |	d   k7  sŒt        j"                  j%                  «       }
t        |«      s!t'        | j)                  |||«      «      |
_        |j                  j                   |   j-                  |
«       Œ… y	|j-                  |«       y	)
zh
        update dst_tensor_type to be compatible with src_tensor_type when dimension mismatches
        z	For node z:, dst_tensor_type.elem_type != src_tensor_type.elem_type: z vs r$   Fr	  r   rP   N)r"   r   r*   r   r
   r»  Ú
ValueErrorr0   Úonnx_pbÚTensorProtoÚDataTypeÚNamer%   r¯  rî  r$   r   ÚTensorShapeProtoÚ	Dimensionr   r   rh  rm  )rD  r   rÿ  Údst_typeÚsrc_typeÚdst_tensor_typeÚsrc_tensor_typeÚnode_idÚdiÚdsr—  s              r   Ú_fuse_tensor_typez(SymbolicShapeInference._fuse_tensor_type1  s¼  € ô
 =HÈÔ<QˆH×"Ñ"×,Ñ,×8Ò8ÐW_×WkÑWkð 	ô =HÈÔ<QˆH×"Ñ"×,Ñ,×8Ò8ÐW_×WkÑWkð 	ð ×$Ñ$¨×(AÑ(AÒAØ#'§9¢9�d—i’i°$·,±,ˆGÜØ˜G˜9Ð$^Ü—<‘<×+Ñ+×4Ñ4×9Ñ9¸/×:SÑ:SÓTÐUÐUYÜ—<‘<×+Ñ+×4Ñ4×9Ñ9¸/×:SÑ:SÓTÐUðWóð ð
 ×#Ñ# GÔ,Ü#¤C¨×(=Ñ(=×(AÑ(AÀ?×CXÑCX×C\ÑC\ÐejÔ$kÓlò D‘��BØ�a‘5˜B˜q™E“>ô #×3Ñ3×=Ñ=Ó?�GÜ& xÔ0Ü,/°×0RÑ0RÐSWÐY`ÐbdÓ0eÓ,f˜Ô)Ø#×)Ñ)×-Ñ-¨bÑ1×:Ñ:¸7ÕCñDð ×$Ñ$ _Õ5r   c           	      óf  — | j                  |d«      }| j                  |d«      }| j                  |j                  d      }|j                  t	        j
                  |j                  d   | j                  |j                  d      j                  j                  j                  |d d |z   «      «       y ©Nr   rP   r  ©
rœ  rq  r¼  rm  r   rs  rf  r   r   r*   )rD  r   Ú
data_shapeÚindices_shaper-   s        r   rß   z3SymbolicShapeInference._infer_ArrayFeatureExtractorN  s‘   € Ø—_‘_ T¨1Ó-ˆ
ØŸ™¨¨aÓ0ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØ˜3˜B� -Ñ/óõ	
r   c                 óš   ‡ — d„ d„ d„ d„ ˆ fd„ˆ fd„d„ d„ d	„ d
„ dœ
}|j                   |v sJ ‚‰ j                  |||j                      «       y )Nc                 ó   — | d   | d   z   S ©Nr   rP   rB   ©Úls    r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>\  ó   € ˜Q˜q™T A a¡D™[€ r   c                 ór   — t        | d   | d   z  t        «      rt        | d   | d   z  «      S | d   | d   z  S rE  ©râ  Úfloatr5   rF  s    r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>]  sG   € Ü%/°°!±¸¸!¹±¼eÔ%D”�A�a‘D˜A˜a™D‘LÓ!ð ØJKÈAÉ$ÐRSÐTUÑRVÉ,ð r   c                 ó   — | d   | d   k(  S rE  rB   rF  s    r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>`  s   € ˜q ™t q¨¡t™|€ r   c                 ó2   — t        j                  | d   «      S r   )r>   ÚfloorrF  s    r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>a  s   € œuŸ{™{¨1¨Q©4Ó0€ r   c                 óø   •— t        | d   «      r!t        | d   «      ‰j                   k  r| d   S t        | d   «      r!t        | d   «      ‰j                   k  r| d   S t        j                  | d   | d   «      S rE  )r4   r5   rA  r>   r}   ©rG  rD  s    €r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>b  s‡   ø€ ä˜a ™dÔ#¬¨A¨a©D«	°T·]±]°NÒ(Bð �!‘ð ô )¨¨1©Ô.´3°q¸±t³9ÀÇÁ¸~Ò3M�a˜‘dð ô TY×S\ÑS\Ð]^Ð_`Ñ]aÐcdÐefÑcgÓShð r   c                 óô   •— t        | d   «      r t        | d   «      ‰j                  kD  r| d   S t        | d   «      r t        | d   «      ‰j                  kD  r| d   S t        j                  | d   | d   «      S rE  )r4   r5   rA  r>   r€   rP  s    €r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>g  sƒ   ø€ ä˜a ™dÔ#¬¨A¨a©D«	°D·M±MÒ(Að �!‘ð ô )¨¨1©Ô.´3°q¸±t³9¸t¿}¹}Ò3L�a˜‘dð ô SX×R[ÑR[Ð\]Ð^_Ñ\`ÐbcÐdeÑbfÓRgð r   c                 ór   — t        | d   | d   z  t        «      rt        | d   | d   z  «      S | d   | d   z  S rE  rJ  rF  s    r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>l  sC   € ´¸A¸a¹DÀ1ÀQÁ4¹KÌÔ1OœS  1¡¨¨!©¡Ó-€ ÐUVÐWXÑUYÐ\]Ð^_Ñ\`ÑU`€ r   c                 ó   — | d   | d   z
  S rE  rB   rF  s    r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>m  rH  r   c                 ó    — | d   r| d   S | d   S ©Nr   rP   r¹  rB   rF  s    r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>n  s   €  q¨¢t˜q ™t€ °°1±€ r   c                 ó   — | d    S r   rB   rF  s    r   rõ  zDSymbolicShapeInference._infer_symbolic_compute_ops.<locals>.<lambda>o  s   € ˜a ™d˜U€ r   )
ra   ro   rr   rs   r}   r€   r‚   rœ   r¡   r£   )r»  rò  )rD  r   Úfuncss   `  r   rÝ   z2SymbolicShapeInference._infer_symbolic_compute_opsZ  s`   ø€ á(ññ ,Ù0óó
ñ
 aÙ(Ù5Ù"ñ)
ˆð, �|‰|˜uÑ$Ð$Ð$Ø×#Ñ# D¨%°·±Ñ*=Õ>r   c                 ó&   — | j                  |«       y r)   )r÷  rö  s     r   râ   z"SymbolicShapeInference._infer_Castt  s   € Ø× Ñ  Õ&r   c           
      óÚ  — | j                   |j                  d      j                  j                  j                  }|t
        j                  j                  k(  rt
        j                  j                  }nt
        j                  j                  }| j                   |j                  d      }|j                  t        j                  |j                  d   || j                  |d«      «      «       y r   )rq  rf  r   r   r*   r0   r1  ÚSTRINGÚINT64r¼  rm  r   rs  rœ  )rD  r   Ú
input_typeÚoutput_typer-   s        r   rã   z,SymbolicShapeInference._infer_CategoryMapperw  s¦   € Ø—^‘^ D§J¡J¨q¡MÑ2×7Ñ7×CÑC×MÑMˆ
Øœ×)Ñ)×0Ñ0Ò0Ü×*Ñ*×0Ñ0‰Kä×*Ñ*×1Ñ1ˆKØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À+ÈtÏÉÐ_cÐefÓOgÓhÕir   c                 óÂ  — | j                  |d«      }t        | j                  |«      «      }t        |d«      }|€|g}n|}||t	        |t        |«      «      <   | j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y )Nr   rC   )rœ  r   r   r   rE   rQ   rq  r¼  rm  r   rs  rf  r   r   r*   )rD  r   Úinput_shapeÚcompress_lenrC   Úoutput_shaper-   s          r   rä   z&SymbolicShapeInference._infer_Compress€  s¿   € Ø—o‘o d¨AÓ.ˆä˜4×=Ñ=¸dÓCÓDˆÜ˜T 6Ó*ˆØˆ<à(˜>‰Là&ˆLØIUˆLÔ-¨d´C¸Ó4DÓEÑFØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c           	      óÆ  ‡ ‡— t        ˆ fd„|j                  D «       «      rß‰ j                  |«      }t        d„ |D «       «      r¼t	        |d«      dk(  sJ ‚g ‰ j
                  |j                  d   <   t        t        |j                  «      «      D ]n  }||   }t        |t        «      r,‰ j
                  |j                  d      j                  |«       ŒD‰ j
                  |j                  d      j                  |«       Œp ‰ j                  |d«      }t        t	        |d«      t        |«      «      }t        dt        |j                  «      «      D ]%  }‰ j                  ||«      }|sŒ||   ||   z   ||<   Œ' ‰ j                  |«       t        t        |«      «      D ]­  }	|	|k(  rŒ	t        t        |j                  «      «      D �cg c]*  }‰ j!                  ||«      sŒ‰ j!                  ||«      |	   ‘Œ, c}Št        ˆfd„‰D «       «      rŒp‰ j#                  ‰«      }
t%        |
«      t&        u r|
r‰ j(                  |
   nd ||	<   Œ©|
||	<   Œ¯ ‰ j*                  |j                  d      }|j-                  t/        j0                  |j                  d   ‰ j*                  |j                  d      j$                  j2                  j4                  t7        |«      «      «       y c c}w )Nc              3   óZ   •K  — | ]"  }|‰j                   v xs |‰j                  v –— Œ$ y ­wr)   )r¨  rp  ©rM  r7   rD  s     €r   rO  z7SymbolicShapeInference._infer_Concat.<locals>.<genexpr>•  s/   øè ø€ ÒTÀAˆq�D×$Ñ$Ð$Ò?¨¨T×-?Ñ-?Ð(?Ó?ÑTùs   ƒ(+c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wr)   rB   rß  s     r   rO  z7SymbolicShapeInference._infer_Concat.<locals>.<genexpr>—  s   è ø€ Ò1 Q�1˜D”=Ñ1ùrá  rC   r   rP   c              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­wr~  rB   r  s     €r   rO  z7SymbolicShapeInference._infer_Concat.<locals>.<genexpr>­  r#  r€  )rí  rf  ré  rQ  r   r¨  r¼  rŽ  rQ   râ  rH   rË  r¥  r¦  rE   r²  rœ  rŠ  r   r   r<  rq  rm  r   rs  r   r*   r8   )rD  r   rä  r7   r   r6   rC   Úi_idxr_  r&   r‚  r-   ru  s   `           @r   rå   z$SymbolicShapeInference._infer_Concat”  s~  ù€ ÜÓTÈÏÉÔTÔTØ×2Ñ2°4Ó8ˆFÜÑ1¨&Ô1Ô1Ü$ T¨6Ó2°aÒ7Ð7Ð7Ø35�× Ñ  §¡¨Q¡Ñ0Üœs 4§:¡:›Ó/ò G�AØ" 1™I�EÜ! %¬Ô.Ø×(Ñ(¨¯©°Q©Ñ8×?Ñ?ÀÕFà×(Ñ(¨¯©°Q©Ñ8×?Ñ?ÀÕFðGð ×+Ñ+¨D°!Ó4ˆÜ#¤M°$¸Ó$?ÄÀ[ÓAQÓRˆÜ˜1œc $§*¡*›oÓ.ò 	JˆEØ×/Ñ/°°eÓ<ˆKÚØ$/°Ñ$5¸ÀDÑ8IÑ$I�˜DÒ!ð	Jð 	×"Ñ" ;Ô/ä”s˜;Ó'Ó(ò 
	(ˆAØ�DŠyØÜAFÄsÈ4Ï:É:ÃÓAWÖx¸Ð[_×[jÑ[jÐkoÐqvÕ[w�D—O‘O D¨%Ó0°Ó3ÒxˆDÜÓ.¨Ô.Ô.ØØ×(Ñ(¨Ó.ˆFÜ�F‹|œsÑ"Ù@F ×!4Ñ!4°VÒ!<ÈD�˜A’à!'�˜A’ð
	(ð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHÜ*¨;Ó7óõ	
ùò ys   ÇKÇKc                 ó*  — | j                  |d«      }t        |d«      rdnd}t        t        |d«      t        |«      |z   «      }t	        | j                  |d|«      «      }|}|rg |d | ¢|‘||d  ¢}n|||<   | j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  j                  j                  |«      «       y )Nr   Únew_axisrP   rC   )rœ  r   rE   rQ   r   r   rq  r¼  rm  r   rs  rf  r   r   r*   r   )rD  r   Ú	seq_shaperi  rC   Ú
concat_dimr‘  r-   s           r   ræ   z0SymbolicShapeInference._infer_ConcatFromSequence½  sû   € Ø—O‘O D¨!Ó,ˆ	Ü% d¨JÔ7‘1¸QˆÜ#¤M°$¸Ó$?ÄÀYÃÐRZÑAZÓ[ˆÜ˜×;Ñ;¸DÀ!ÀTÓJÓKˆ
Øˆ	ÙØJ˜) E TÐ*ÐJ¨JÐJ¸À4À5Ð9IÐJ‰Ià(ˆI�d‰OØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×@Ñ@×JÑJ×VÑV×`Ñ`Øóõ	
r   c                 óz   — t        |d«      }t        j                  |«      | j                  |j                  d   <   y )Nr   r   )r   r   r©  r¨  r¼  )rD  r   Úts      r   rç   z&SymbolicShapeInference._infer_ConstantÐ  s1   € Ü˜$ Ó(ˆÜ+7×+@Ñ+@ÀÓ+Cˆ×Ñ˜Ÿ™ Q™Ò(r   c           	      óF  — | j                  |«      d   }| j                  |j                  d      }|�ët        |«      t        k7  r|g}| j                  |«       |j                  j                  j                  t        j                  j                  k(  r¯t        d„ |D «       «      r�t        j                  |D �cg c]  }t        |«      ‘Œ c}t        j                  ¬«      t!        j"                  t%        |dd«      «      z  | j&                  |j                  d   <   n%| j)                  | j+                  |d«      d   |«      }|j-                  t/        j0                  |j                  d   |j                  j                  j                  t3        |«      «      «       y c c}w )Nr   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr)   )r4   )rM  rU   s     r   rO  z@SymbolicShapeInference._infer_ConstantOfShape.<locals>.<genexpr>Ü  s   è ø€ ÒNrÐabÌzÐZ[Ï}ÑNrùs   ‚)Údtyper   )ré  rq  r¼  r   rH   r²  r   r*   r0   r1  r[  rQ  r;   Úonesr5   r<   r   r©  r   r¨  r  rœ  rm  r   rs  r8   )rD  r   r6   r-   rU   s        r   rè   z-SymbolicShapeInference._infer_ConstantOfShapeÔ  sG  € Ø×3Ñ3°DÓ9¸!Ñ<ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØÐ"Ü�KÓ ¤DÒ(Ø*˜m�Ø×&Ñ& {Ô3à�w‰w×"Ñ"×,Ñ,´×0@Ñ0@×0FÑ0FÒFÌ3ÑNrÐfqÔNrÔKrÜ35·7±7Ø%0Ö1 ”S˜•VÒ1¼¿¹ô4ä ×)Ñ)¬-¸¸gÀqÓ*IÓJñ4K�× Ñ  §¡¨Q¡Ò0ð ×2Ñ2°4·?±?À4ÈÓ3KÈAÑ3NÐPTÓUˆKà
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘×#Ñ#×-Ñ-Ü*¨;Ó7óõ	
ùò 2s   Â9Fc           	      ó4  — | j                  |«      }| j                  |«       | j                  |j                  d      }|j	                  t        j                  |j                  d   |j                  j                  j                  t        |«      «      «       y r   )r   r²  rq  r¼  rm  r   rs  r   r   r*   r8   ©rD  r   r6   r-   s       r   ré   z"SymbolicShapeInference._infer_Conví  sv   € Ø×3Ñ3°DÓ9ˆØ×"Ñ" ;Ô/Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘×#Ñ#×-Ñ-Ü*¨;Ó7óõ	
r   c           	      ól  — | j                  |d¬«      }| j                  |«       | j                  |j                  d      }|j	                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  t        |«      «      «       y )NT)r  r   )r   r²  rq  r¼  rm  r   rs  rf  r   r   r*   r8   rs  s       r   r   z&SymbolicShapeInference._infer_NhwcConvù  sŽ   € Ø×3Ñ3°DÈÐ3ÓMˆØ×"Ñ" ;Ô/Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHÜ*¨;Ó7óõ	
r   c                 ó:  — | j                   |j                  d      j                  j                  j                  }| j                  |d«      }| j                   |j                  d      }|j                  t        j                  |j                  d   ||«      «       y rO   )
rq  rf  r   r   r*   rœ  r¼  rm  r   rs  ©rD  r   r&  ra  r-   s        r   r  z.SymbolicShapeInference._infer_DequantizeLinear  sv   € à—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆð —‘ t¨QÓ/ˆà�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP\Ó]Õ^r   c                 ó¼  — t         j                  j                  }t        |j                  «      dkD  rI|j                  d   r:| j
                  |j                  d      j                  j                  j                  }| j                  |d«      }| j
                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y )Nr¹  r   )r0   r1  ÚUINT8rQ   rf  rq  r   r   r*   rœ  r¼  rm  r   rs  rv  s        r   r&  z,SymbolicShapeInference._infer_QuantizeLinear  s£   € ô ×'Ñ'×-Ñ-ˆÜˆt�z‰z‹?˜QÒ 4§:¡:¨a¢=ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLð —‘ t¨QÓ/ˆà�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP\Ó]Õ^r   c                 ó‚  — | j                   |j                  d      j                  j                  j                  }| j                  |d«      }| j                  |d«      }| j                  ||«      }| j                   |j                  d      }|j                  t        j                  |j                  d   ||«      «       y ©Nr   r  )rq  rf  r   r   r*   rœ  r˜  r¼  rm  r   rs  )rD  r   r&  Úinput_1_shapeÚinput_2_shaper‘  r-   s          r   r%  z+SymbolicShapeInference._infer_QLinearBinary  sš   € à—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆð Ÿ™¨¨aÓ0ˆØŸ™¨¨aÓ0ˆð ×*Ñ*¨=¸-ÓHˆ	à�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐPYÓZÕ[r   c                 ó   — t        |d«      }|j                  dd«      }|j                  d«      }|dk7  r|d | n|}d}d}d}i }|j                  d«      }	|	D ]¦  }
|
j                  d«      }| j	                  ||«      }t        |«      }|dk7  r|dk(  r|t        |
«      z
  d	z   }|d
z   }t        d
|d
z   «      D ]?  }|
|    }|dk7  sŒ||    }||vr|||<   Œt        |«      t        j                  usŒ;|||<   ŒA |d
z   }Œ¨ g }ddl
m}  |«       }|dk7  rd||dz   d  }|j                  d«      }|dk7  r$t        |«      D ]  }|j                  |   «       Œ |D ]  }|dk7  sŒ	|j                  ||   «       Œ n~t        |«      D ]  }|j                  |   «       Œ |D ]#  }|dk7  sŒ	|dk7  sŒ||v r||   d
z   ||<   Œd
||<   Œ% |j                  «       D ]  \  }}|d
k(  sŒ|j                  ||   «       Œ! | j                  |j                  d      j                  j                   j"                  }| j                  |j$                  d      }|j'                  t)        j*                  |j$                  d   ||«      «       y )NÚequationó    r   s   ->r  r   ó   ,s   ...r  rP   é.   )ÚOrderedDictr¹  é,   )r   ÚreplaceÚfindÚsplitrœ  rQ   rŽ  r   r>   rV  Úcollectionsr‚  r¥  rS  rq  rf  r   r*   r¼  rm  r   rs  )rD  r   r~  Ú	mid_indexÚleft_equationÚnum_operandsÚnum_ellipsisÚnum_ellipsis_indicesÚletter_to_dimÚtermsÚtermÚellipsis_indexr$   rD   r7   Úletterr   r°  r‚  Únum_letter_occurrencesÚright_equationÚright_ellipsis_indexÚcÚkeyr   r&  r-   s                              r   rê   z$SymbolicShapeInference._infer_Einsum*  s×  € ä   zÓ2ˆØ×#Ñ# D¨#Ó.ˆØ—M‘M %Ó(ˆ	Ø09¸R²˜  )Ñ,ÀXˆàˆØˆØ Ðàˆà×#Ñ# DÓ)ˆØò 	,ˆDØ!ŸY™Y vÓ.ˆNØ—O‘O D¨,Ó7ˆEÜ�u“:ˆDØ Ò#Ø 1Ò$Ø+/´#°d³)Ñ+;¸aÑ+?Ð(Ø+¨aÑ/�Ü˜1˜d Q™hÓ'ò 4�Ø˜q˜b™�Ø˜R“<Ø  ™)�CØ ]Ñ2Ø03˜ fÒ-Ü˜c›¬%¯,©,Ò6Ø03˜ fÒ-ð4ð (¨!Ñ+‰Lð!	,ð$ ˆÝ+á!,£ÐØ˜Š?Ø% i°!¡m oÐ6ˆNØ#1×#6Ñ#6°vÓ#>Ð Ø# rÒ)ÜÐ3Ó4ò 5�AØ#×*Ñ*¨5°©8Õ4ð5à#ò =�Ø˜“7Ø#×*Ñ*¨=¸Ñ+;Õ<ñ=ô Ð/Ó0ò 1�Ø×&Ñ& u¨Q¡xÕ0ð1à"ò 6�Ø˜“7˜q B›wØÐ2Ñ2Ø4JÈ1Ñ4MÐPQÑ4QÐ.¨qÒ1à45Ð.¨qÒ1ð6ð 5×:Ñ:Ó<ò ?‘
��UØ˜A“:Ø#×*Ñ*¨=¸Ñ+=Õ>ð?ð —~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP_Ó`Õar   c                 óÎ  — t        | j                  |d«      d¬«      }|�Æ| j                  |«       | j                  |d«      }| j	                  |t        |«      «      }| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y y )NrP   T©rX   r   )rY   r­  r²  rœ  r˜  r8   rq  r¼  rm  r   rs  rf  r   r   r*   )rD  r   Úexpand_to_shaper$   r‘  r-   s         r   rë   z$SymbolicShapeInference._infer_Expandh  sÁ   € Ü! $×"5Ñ"5°d¸AÓ">È$ÔOˆØÐ&à×&Ñ& Ô7Ø—O‘O D¨!Ó,ˆEØ×.Ñ.¨uÔ6PÐQ`Ó6aÓbˆIØ—‘ §¡¨A¡Ñ/ˆBØ�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLØóõð 'r   c           
      ó   — | j                  |d«      }t        t        |dd«      t        |«      «      }| j                  |d«      }| j                  |j
                  d      }|j                  dk(  r;| j                  |j                  d      j                  j                  j                  }nb|j                  dk(  r;| j                  |j                  d      j                  j                  j                  }nt        d|j                  › �«      ‚|j                  t        j                  |j
                  d   ||d | |z   ||dz   d  z   «      «       |j                  d   | j                  v �rt        |«      dk(  �rt        |dd«      dk(  rþ| j!                  |d«      }|�é| j                  |j                  d      }t        |«      t"        u r“t        |«      t$        j&                  u rOt        |j(                  «      dk(  r7|D �	cg c]  }	|t+        |	«         ‘Œ c}	| j                  |j
                  d   <   y |t+        |«         | j                  |j
                  d   <   y |dk(  s|dk(  sJ ‚|| j                  |j
                  d   <   y y y y y c c}	w )	Nr   rC   rP   rt   r®   r¹  zUnsupported Gather op_type: r  )rœ  rE   r   rQ   rq  r¼  r»  rf  r   r   r*   r/  rm  r   rs  r¨  r­  rH   r;   rR   r$   r5   )
rD  r   rA  rC   rB  r-   r*   r›  Údatar7   s
             r   rì   z$SymbolicShapeInference._infer_Gatherx  s7  € Ø—_‘_ T¨1Ó-ˆ
Ü#¤M°$¸ÀÓ$BÄCÈ
ÃOÓTˆØŸ™¨¨aÓ0ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ�<‰<˜8Ò#ØŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑP‰IØ�\‰\Ð3Ò3àŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑP‰IäÐ;¸D¿L¹L¸>ÐJÓKÐKØ
�‰Ü×)Ñ)Ø—‘˜A‘ØØ˜5˜DÐ! MÑ1°J¸tÀa¹x¸zÐ4JÑJóô	
ð �:‰:�a‰=˜D×,Ñ,Ò,´°Z³ÀAÓ1EÌ-ÐX\Ð^dÐfgÓJhÐlmÒJmØ×%Ñ% d¨AÓ.ˆCØˆØ×'Ñ'¨¯
©
°1©Ñ6�Ü˜“:¤Ñ%Ü˜C“y¤B§J¡JÑ.´3°s·y±y³>ÀQÒ3FØRUÖ;VÈQ¸DÄÀQÃ»LÒ;V˜×(Ñ(¨¯©°Q©Ò8à;?ÄÀCÃ¹>˜×(Ñ(¨¯©°Q©Ò8à !š8 s¨b¢yÐ0Ð0Ø7;�D×$Ñ$ T§[¡[°¡^Ò4ð ð KnÐ1EÐ,ùò <Ws   ÈJc                 ó6  — | j                  |d«      }| j                  |j                  d      }|j                  t	        j
                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y rO   r@  )rD  r   rB  r-   s       r   rí   z,SymbolicShapeInference._infer_GatherElements™  sv   € ØŸ™¨¨aÓ0ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c                 óÊ  — | j                  |d«      }t        |«      }| j                  |d«      }t        |«       |d   }t        |«      r||k  sJ ‚|d d ||d  z   }| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y r?  )rœ  rQ   r4   rq  r¼  rm  r   rs  rf  r   r   r*   )rD  r   rA  Ú	data_rankrB  Úlast_index_dimensionr‘  r-   s           r   rî   z&SymbolicShapeInference._infer_GatherND¤  sÓ   € Ø—_‘_ T¨1Ó-ˆ
Ü˜
“Oˆ	ØŸ™¨¨aÓ0ˆÜˆMÔØ,¨RÑ0ÐÜÐ.Ô/Ð4HÈIÒ4UÐUÐUØ! # 2Ð&¨Ð4HÐ4IÐ)JÑJˆ	Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c           	      ó|  — t        |d«      t        |d«      g}| j                  |d«      }|�=t        |«      dkD  r|d   j                  |d   «       n|d   j                  |d   «       t	        |«      D �]D  \  }}| j                  ||d¬«      }t        t        |j                  «      «      D �]  }| j                  |j                  |      }|dk(  r3|j                  |j                  |   «       |j                  |   |_
        n5| j                  |||j                  |j                  |   j                  «       |€Œ�|t        |«      dkD  rdndk(  sŒ¦|j                  |   j                  |j                  v sŒÌ|j                  |j                  |   j                     | j                  |j                  <   �Œ �ŒG y )NÚthen_branchÚelse_branchr   rP   F)rÑ  )r   r­  rV   rm  r¯  rÙ  rŽ  rQ   r¼  rq  r
   r=  r   r¨  )	rD  r   Ú	subgraphsÚcondÚi_subrÐ  Úsubgraph_inferÚi_outr-   s	            r   rï   z SymbolicShapeInference._infer_Ifµ  s–  € ô ˜$ Ó.Ü˜$ Ó.ð
ˆ	ð ×"Ñ" 4¨Ó+ˆØÐÜ˜‹ Ò"Ø˜!‘×%Ñ% i°¡lÕ3à˜!‘×%Ñ% i°¡lÔ3ä(¨Ó3ó 	l‰OˆE�8Ø!×6Ñ6°t¸XÐV[Ð6Ó\ˆNÜœs 4§;¡;Ó/Ó0ó l�Ø—^‘^ D§K¡K°Ñ$6Ñ7�Ø˜A’:Ø—K‘K §¡°Ñ 6Ô7Ø"Ÿk™k¨%Ñ0�B•Gà×*Ñ*¨4°¸¿¹ÀÇÁÐQVÑAW×A\ÑA\Ô]ð Ñ#¨´yÀ³ÈÒ7J±!ÐPQÓ(RØ—‘ uÑ-×2Ñ2°n×6PÑ6PÒPØ4B×4NÑ4NÈxÏÉÐ_dÑOe×OjÑOjÑ4k˜×(Ñ(¨¯©Ó1òlñ	lr   c           	      ól  — t        |d«      }t        |j                  «      t        |j                  «      k(  sJ ‚t        |j                  «      dz
  }t        |j                  «      D ]C  \  }}|j                  }|j                  | j                  |j                  |      «       ||_        ŒE | j                  ||«       d}t        d|dz   «      D �]›  }|j                  |   }	t        |	«      }
t        |	j                  «      rh|
sŒ6d |
v sŒ;|j                  |dz      j                  j                  j                  j                  |	j                  j                  j                  «       d}Œ›|j                  |dz      }t        |«      }t        t        ||
d¬«      «      D ]Ê  \  }}|d   |d   k7  sŒt         j"                  j%                  «       }t'        | j)                  |||«      «      |_        |j                  j,                  j.                  j0                  |   j                  |«       |	j                  j,                  j.                  j0                  |   j                  |«       d}ŒÌ �Œž |rV| j2                  dkD  r3t4        j7                  d|j                  › d	|j                  d   › d
�«       | j                  ||d¬«       t'        | j)                  |«      «      }t        t        |j                  «      «      D �]2  }| j                  |j                  |      }|j                  |j                  |dz      «       ||k\  rÙt        |j                  «      rJ ‚|j                  |dz      j                  j,                  j.                  j0                  }|j                  j,                  j.                  j9                  d«       |j                  j,                  j.                  j0                  }||j;                  «       _        |j=                  t?        |«      «       |j                  |   |_        �Œ5 y )NÚbodyr¹  FrP   Tr	  r   zRerun Loop: ú(z3...), because of sequence in loop carried variables)rÒ  r   ) r   rQ   rf  r¯  r
   rm  rq  rÙ  rŽ  r¼  r.   r"   r   r   r*   rî  r0   r4  r5  r   r   rh  r   r$   r   r@  rW  r„  rÏ  rU  rË  rH   )rD  r   rÐ  Únum_loop_carriedr7   ÚsiÚsi_nameÚneed_second_inferr§  ÚsoÚso_shapeÚsi_shaper;  ru  r—  Úloop_iter_dimr-   Úsubgraph_vi_dimÚvi_dims                      r   rð   z"SymbolicShapeInference._infer_LoopÑ  sr  € Ü   vÓ.ˆÜ�8—>‘>Ó"¤c¨$¯*©*£oÒ5Ð5Ð5Ü˜tŸz™z›?¨QÑ.Ðô ˜xŸ~™~Ó.ò 	‰EˆAˆrØ—g‘gˆGØ�K‰K˜Ÿ™ t§z¡z°!¡}Ñ5Ô6ØˆB�Gð	ð
 	×!Ñ! $¨Ô1ð
 "ÐÜ˜1Ð.°Ñ2Ó3ó 	1ˆEØ—‘ Ñ'ˆBÜ0°Ó4ˆHÜ˜2Ÿ7™7Ô#Ú ¨Ò 0ð —N‘N 5¨1¡9Ñ-×2Ñ2×@Ñ@×JÑJ×SÑSÐTV×T[ÑT[×TiÑTi×TsÑTsÔtØ(,Ñ%à—^‘^ E¨A¡IÑ.�Ü4°RÓ8�Ü )¬#¨h¸ÈÔ*OÓ Pò 1‘H�B˜Ø˜A‘w $ q¡'Ó)Ü"&×"7Ñ"7×"AÑ"AÓ"C˜Ü,/°×0RÑ0RÐSWÐY^Ð`bÓ0cÓ,d˜Ô)ØŸ™×+Ñ+×1Ñ1×5Ñ5°bÑ9×BÑBÀ7ÔKØŸ™×+Ñ+×1Ñ1×5Ñ5°bÑ9×BÑBÀ7ÔKØ,0Ñ)ò1ð	1ñ* Ø�}‰}˜qÒ Ü—‘Ø" 4§9¡9 +¨Q¨t¯{©{¸1©~Ð.>Ð>qÐrôð ×%Ñ% d¨HÀeÐ%ÔLô ˜D×>Ñ>¸tÓDÓEˆÜ”s˜4Ÿ;™;Ó'Ó(ó 
	%ˆAØ—‘ §¡¨A¡Ñ/ˆBØ�K‰K˜Ÿ™¨¨A©Ñ.Ô/ØÐ$Ò$Ü& r§w¡wÔ/Ð/Ð/Ø"*§/¡/°!°a±%Ñ"8×"=Ñ"=×"IÑ"I×"OÑ"O×"SÑ"S�Ø—‘×#Ñ#×)Ñ)×4Ñ4°UÔ;ØŸ™×,Ñ,×2Ñ2×6Ñ6�Ø)6�—
‘
“Ô&Ø—‘œd ?Ó3Ô4Ø—k‘k !‘nˆBŽGñ
	%r   c                 ó&   — | j                  |«       y r)   ©r-  rö  s     r   rñ   z$SymbolicShapeInference._infer_MatMul  ó   € Ø×"Ñ" 4Õ(r   c                 óX   — | j                  |t        j                  j                  «       y r)   )r-  r0   r1  ÚINT32rö  s     r   rò   z+SymbolicShapeInference._infer_MatMulInteger  s   € Ø×"Ñ" 4¬×)9Ñ)9×)?Ñ)?Õ@r   c                 óð  — | j                  |d«      }t        |d«      t        |d«      g}t        |«      }|dkD  sJ ‚|dk(  r|dd  }n|d d |dd  z   }| j                  |d   |d   gd¬«       | j                  |j
                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y )Nr   ÚKÚNrP   r  Fr{  )rœ  r   rQ   r…  rq  rf  r   r   r*   r¼  rm  r   rs  )rD  r   r'  r(  r)  r‘  r&  r-   s           r   r  z)SymbolicShapeInference._infer_MatMulNBits  sñ   € Ø—O‘O D¨!Ó,ˆ	Ü" 4¨Ó-¬}¸TÀ3Ó/GÐHˆ	Ü�y“>ˆØ˜!Š|Ðˆ|Ø�qŠ=Ø! ! "˜‰Ià! # 2˜¨°1°2¨Ñ6ˆIà×ÑØ�r‰]˜I a™LÐ)Ø!ð 	 ô 	
ð
 —~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐPYÓZÕ[r   c                 ó
  — t        | j                  |«      «      }| j                  |j                  d      }|j	                  t        j                  |j                  d   t        j                  j                  |dg«      «       y rz  )
r   r   rq  r¼  rm  r   rs  r0   r1  r[  )rD  r   Úselectedr-   s       r   ró   z/SymbolicShapeInference._infer_NonMaxSuppression%  sc   € Ü�t×9Ñ9¸$Ó?Ó@ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.Ä$×BRÑBR×BXÑBXÐ[cÐefÐZgÓhÕir   c                 ó>  — | j                  |d«      }t        | j                  |dd«      «      }| j                  |j                  d      }|j                  t        j                  |j                  d   |j                  j                  j                  ||g«      «       y rE  )r   r   r   rq  r¼  rm  r   rs  r   r   r*   )rD  r   Ú
input_rankÚnz_lenr-   s        r   rô   z%SymbolicShapeInference._infer_NonZero*  s}   € Ø×)Ñ)¨$°Ó2ˆ
ä�T×7Ñ7¸¸aÀÓCÓDˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À"Ç'Á'×BUÑBU×B_ÑB_ÐblÐntÐauÓvÕwr   c                 ó
  — | j                  |d«      }| j                  |d«      }t        |dd«      }t        |t	        |«      dz   «      }t        g |d | ¢t        |«      s| j                  |«      n|‘||d  ¢«      }| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                   |«      «       y )Nr   rP   rC   r  r¹  )r¦  r­  r   rE   rQ   r8   r4   r   rq  r¼  rm  r   rs  rf  r   r   r*   )rD  r   r6   ÚdepthrC   r‘  r-   s          r   rõ   z$SymbolicShapeInference._infer_OneHot1  sü   € Ø×+Ñ+¨D°!Ó4ˆØ×#Ñ# D¨!Ó,ˆÜ˜T 6¨2Ó.ˆÜ# D¬#¨kÓ*:¸QÑ*>Ó?ˆÜ.ðØ˜U˜dÐ#ðä@JÈ5Ô@Q�×2Ñ2°4Ô8ÐW\ðð ˜T˜UÐ#ðó
ˆ	ð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c           	      ó°  — t        | j                  «      dk  rt        |d«      }n| j                  |d«      }| j	                  |d«      }t        |«      }|�Ut        |«      d|z  k(  sJ ‚t        ||d | ||d  d¬«      D ���cg c]  \  }}}||z   |z   ‘Œ }}}}| j                  |«       n| j                  ||«      }| j                  |j                  d      j                  j                  j                  }	| j                  |j                  d      }
|
j                  t!        j"                  |j                  d   |	t%        |«      «      «       y c c}}}w )Né
   r
  rP   r   r¹  Fr	  )rM   rd  r   r­  r¦  rQ   rî  r²  r  rq  rf  r   r   r*   r¼  rm  r   rs  r8   )rD  r   r
  r6   rD   r&   Úpad_upÚpad_downr°  Ú	output_tpr-   s              r   rö   z!SymbolicShapeInference._infer_PadF  sH  € Ü�T—\‘\Ó" bÒ(Ü   vÓ.‰Dà×&Ñ& t¨QÓ/ˆDà×+Ñ+¨D°!Ó4ˆÜ�;ÓˆàÐÜ�t“9  D¡Ò(Ð(Ð(ô ,/¨{¸DÀÀ$¸KÈÈdÈeÈÐ]bÔ+c÷ð á'�A�v˜xð �F‘
˜XÓ%ðˆOò ð ×&Ñ& Õ7ð #×6Ñ6°t¸TÓBˆOØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLˆ	à�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)¨$¯+©+°a©.¸)ÔE_Ð`oÓEpÓqõ	
ùôs   ÂEc           
      ó(  — | j                  |«      }| j                  |«       |j                  D ]a  }|sŒ| j                  |   }|j	                  t        j                  ||j                  j                  j                  t        |«      «      «       Œc y r)   )r   r²  r¼  rq  rm  r   rs  r   r   r*   r8   )rD  r   r6   rÇ  r-   s        r   rà   z"SymbolicShapeInference._infer_Pool`  s   € Ø×3Ñ3°DÓ9ˆØ×"Ñ" ;Ô/Ø—‘ò 
	ˆAÙØØ—‘ Ñ"ˆBØ�K‰KÜ×-Ñ-ØØ—G‘G×'Ñ'×1Ñ1Ü.¨{Ó;óõñ	
	r   c                 ó‚  — | j                  |d«      }| j                  |d«      }| j                  ||«      }| j                  |j                  d      }| j                  |j                  d      }|j                  t        j                  |j                  d   |j                  j                  j                  |«      «       y rE  )rœ  r˜  rq  rf  r¼  rm  r   rs  r   r   r*   )rD  r   Úshape0r�  r‘  Út0r-   s          r   r0  z-SymbolicShapeInference._infer_aten_bitwise_oro  s”   € Ø—‘  qÓ)ˆØ—‘  qÓ)ˆØ×*Ñ*¨6°6Ó:ˆ	Ø�^‰^˜DŸJ™J q™MÑ*ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À"Ç'Á'×BUÑBU×B_ÑB_ÐajÓkÕlr   c           	      óz  — | j                  |d«      }t        |«      }| j                  |d«      }| j                  |d«      }| j                  |d«      }|�|�|€J ‚t        ||«      }t        ||«      }g }t	        |«      D ]  \  }}	|||fvsŒ|j                  |	«       Œ ||   }
||   }|dk\  r.t        j                  dt        j                  |
||z
  «      «      }n-t        j                  dt        j                  |
|z   |«      «      }|j                  |«       |j                  d   r‘| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                   j"                  t%        |«      «      «       y y ©Nr   rP   r¹  r  )r¦  rQ   r­  rE   r¯  r¥  r>   r}   r€   r¼  rq  rm  r   rs  rf  r   r   r*   r8   )rD  r   r6   rD   Úoffsetr•  r–  r‘  r   Úvalr�  r�  Ú
diag_shaper-   s                 r   r1  z+SymbolicShapeInference._infer_aten_diagonalw  s›  € Ø×+Ñ+¨D°!Ó4ˆÜ�;ÓˆØ×$Ñ$ T¨1Ó-ˆØ×"Ñ" 4¨Ó+ˆØ×"Ñ" 4¨Ó+ˆàÐ! dÐ&6¸4Ð;KÐKÐKÜ# D¨$Ó/ˆÜ# D¨$Ó/ˆàˆ	Ü! +Ó.ò 	&‰HˆC�Ø˜4 ˜,Ò&Ø× Ñ  Õ%ð	&ð ˜TÑ"ˆØ˜TÑ"ˆØ�QŠ;ÜŸ™ 1¤e§i¡i°¸À¹Ó&HÓI‰JäŸ™ 1¤e§i¡i°¸±ÀÓ&HÓIˆJØ×Ñ˜Ô$à�;‰;�qŠ>Ø—‘ §¡¨A¡Ñ/ˆBØ�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLÜ.¨yÓ9óõð r   c           	      óª  — | j                  |d«      }t        |«      }|dv sJ ‚| j                  |d«      }|dz
  }|r|nt        | j	                  |d|«      «      }g |d d ¢|‘}| j
                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  t        |«      «      «       y )Nr   ©rP   r¹  rP   r  )r¦  rQ   r­  r   r   rq  r¼  rm  r   rs  r0   r1  r[  r8   )	rD  r   r6   rD   Únum_samplesr;  Úlast_dimra  r-   s	            r   r4  z.SymbolicShapeInference._infer_aten_multinomial™  sÍ   € Ø×+Ñ+¨D°!Ó4ˆÜ�;ÓˆØ�v‰~Ðˆ~Ø×)Ñ)¨$°Ó2ˆØ�A‰XˆÙ"-‘;´3°t×7YÑ7YÐZ^Ð`aÐceÓ7fÓ3gˆØ4˜ S bÐ)Ð4¨8Ð4ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ü× Ñ ×&Ñ&Ü*¨<Ó8óõ	
r   c           
      ó*  — | j                  |d«      }t        |«      dk(  sJ ‚dD �cg c]  }| j                  |d|«      ‘Œ c}|dd  | j                  |«       t	        |j
                  «      D ]Ÿ  \  }}|sŒ	| j                  |   }|dk(  rt        j                  j                  n9| j                  |j                  d      j                  j                  j                  }|j                  t        j                   ||t#        |«      «      «       Œ¡ y c c}w )Nr   é   ©r¹  r  r%  rP   )r¦  rQ   r   r²  r¯  r¼  rq  r0   r1  r[  rf  r   r   r*   rm  r   rs  r8   )rD  r   r6   r7   rÇ  r-   r*   s          r   r2  z)SymbolicShapeInference._infer_aten_pool2dª  sò   € Ø×+Ñ+¨D°!Ó4ˆÜ�;Ó 1Ò$Ð$Ð$ØTZÖ[Èq˜D×>Ñ>¸tÀQÈÕJÒ[ˆ�B�CÐØ×"Ñ" ;Ô/Ü˜dŸk™kÓ*ò 	n‰DˆAˆqÙØØ—‘ Ñ"ˆBØ23°q²&œ×(Ñ(×.Ò.¸d¿n¹nÈTÏZÉZÐXYÉ]Ñ>[×>`Ñ>`×>lÑ>l×>vÑ>vˆIØ�K‰Kœ×5Ñ5°a¸ÔD^Ð_jÓDkÓlÕmñ	nùò \s   §Dc                 ó\  — | j                   |j                  d      }t        |j                  «      dk(  rl|j	                  t        j                  |j                  d   | j                   |j                  d      j                  j                  j                  g «      «       y t        |j                  «      dk(  sJ ‚| j                  |d«      }|€J ‚| j                  |d«      }|€,| j                  |d«      }| j                  |r|n|dz
  |«      }n?| j                  |d«      }t        |t        |«      «      }|d | }|r|dgz  }|||dz   d  z  }t        |«      }|j	                  t        j                  |j                  d   | j                   |j                  d      j                  j                  j                  |«      «       | j                   |j                  d      }|j	                  t        j                  |j                  d   t         j"                  j$                  |«      «       y )Nr   rP   r  r¹  )rq  r¼  rQ   rf  rm  r   rs  r   r   r*   r­  r   r  r¦  rE   r8   r0   r1  r[  )	rD  r   r-   Úkeepdimr   rD   ra  r$   Úvi1s	            r   r3  z)SymbolicShapeInference._infer_aten_minmax¶  sà  € Ø�^‰^˜DŸK™K¨™NÑ+ˆÜˆt�z‰z‹?˜aÒØ�K‰KÜ×-Ñ-Ø—K‘K ‘N D§N¡N°4·:±:¸a±=Ñ$A×$FÑ$F×$RÑ$R×$\Ñ$\Ð^`óõô �t—z‘z“? aÒ'Ð'Ð'Ø×)Ñ)¨$°Ó2ˆGØÐ&Ð&Ð&Ø×%Ñ% d¨AÓ.ˆCØˆ{Ø×+Ñ+¨D°!Ó4�Ø#×7Ñ7Á¹ÈTÐTUÉXÐW[Ó\‘à×-Ñ-¨d°AÓ6�Ü*¨3´°E³
Ó;�Ø$ T c˜{�ÙØ  Q CÑ'�LØ  c¨A¡g iÐ 0Ñ0�ä5°lÓCˆLØ�K‰KÜ×-Ñ-Ø—K‘K ‘N D§N¡N°4·:±:¸a±=Ñ$A×$FÑ$F×$RÑ$R×$\Ñ$\Ð^jóôð
 —.‘. §¡¨Q¡Ñ0ˆCØ�L‰Lœ×6Ñ6°t·{±{À1±~Ät×GWÑGW×G]ÑG]Ð_kÓlÕmr   c           	      ó¨  — | j                  |d«      }| j                  |d«      }| j                  |d«      }| j                  |d«      }|�7|�5|�3|t        |«      k  sJ ‚||   |z
  |z  dz   ||<   |j                  |«       n t        |«      }| j	                  |dz   |«      }| j                  |«       |j                  d   r‘| j                  |j                  d      }|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  t        |«      «      «       y y rÎ  )r¦  r­  rQ   r¥  r  r²  r¼  rq  rm  r   rs  rf  r   r   r*   r8   )rD  r   r6   Ú	dimensionÚsizeÚsteprD   r-   s           r   r5  z)SymbolicShapeInference._infer_aten_unfold×  s@  € Ø×+Ñ+¨D°!Ó4ˆØ×'Ñ'¨¨aÓ0ˆ	Ø×"Ñ" 4¨Ó+ˆØ×"Ñ" 4¨Ó+ˆØÐ  TÐ%5¸$Ð:JØœs ;Ó/Ò/Ð/Ð/Ø&1°)Ñ&<¸tÑ&CÈÑ%LÈqÑ%PˆK˜	Ñ"Ø×Ñ˜tÕ$ä�{Ó#ˆDØ×2Ñ2°4¸!±8¸TÓBˆKØ×"Ñ" ;Ô/Ø�;‰;�qŠ>Ø—‘ §¡¨A¡Ñ/ˆBØ�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLÜ.¨{Ó;óõð r   c                 óV  — d }|j                   d   sg }n›| j                  |d«      }| j                  |d«      }|�u| j                  |d«      }|�!t        |t	        |«      «      }|rd||<   n(||= n$t	        |«      }| j                  |r|n|dz
  |«      }| j                  |«       t        |«      }|j                  d   rk|�h| j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  |«      «       y y y ©NrP   r¹  r   )rf  r­  r¦  rE   rQ   r  r²  r8   r¼  rq  rm  r   rs  r0   r1  r[  )rD  r   r‘  r   rÚ  r6   rD   r-   s           r   r6  z)SymbolicShapeInference._infer_aten_argmaxî  s  € Øˆ	Ø�z‰z˜!Š}à‰Ià×%Ñ% d¨AÓ.ˆCØ×)Ñ)¨$°Ó2ˆGØÐ"Ø"×3Ñ3°D¸!Ó<�Ø�?Ü.¨s´C¸Ó4DÓE�CÙØ+,˜ CÒ(à'¨Ñ,ä˜{Ó+�DØ"&×":Ñ":Á7¹4ÐPTÐWXÑPXÐZ^Ó"_�KØ×*Ñ*¨;Ô7Ü6°{ÓC�	Ø�;‰;�qŠ>˜iÐ3Ø—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÄd×FVÑFV×F\ÑF\Ð^gÓhÕið 4ˆ>r   c                 ój  — | j                  |«       | j                  |d«      }|�t        |«      dk7  r|d   nd }| j                  |d«      }| j                  |j
                  d      j                  j                  j                  }dD ]¨  }|j                  |   sŒ| j                  |j                  |      }|j                  t        j                  |j                  |   ||�|nt        | j                  ||d«      «      |�t        |«      nt        | j                  ||d«      «      g«      «       Œª y )Nr   é   rÓ  rP   )Ú_propagate_shape_and_typerœ  rQ   r­  rq  rf  r   r   r*   r¼  rm  r   rs  r   r   rV   )rD  r   r_  r¼  Úgroupr&  r7   r-   s           r   r7  z-SymbolicShapeInference._infer_aten_group_norm  s  € Ø×&Ñ& tÔ,Ø—o‘o d¨AÓ.ˆØ)Ð5¼#¸kÓ:JÈaÒ:OˆK˜ŠNÐUYˆØ×#Ñ# D¨!Ó,ˆØ—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØò 	ˆAØ�{‰{˜1‹~Ø—^‘^ D§K¡K°¡NÑ3�Ø—‘Ü×1Ñ1ØŸ™ A™Ø$à!" ™A´C¸×8ZÑ8ZÐ[_ÐabÐdeÓ8fÓ4gð $)Ð#4ô !*¨%Ô 0ä%(¨×)KÑ)KÈDÐRSÐUVÓ)WÓ%Xðóõñ	r   c                 ó°  — d }| j                  |d«      }|�š|d d }| j                  |d«      }|�?||D �cg c]/  }t        |«      t        j                  u r|j                  «       n|‘Œ1 c}z  }nBt        |«      }|t        d|«      D �cg c]  }t        | j                  |d|«      «      ‘Œ  c}z  }|j                  d   r�|�Š| j                  |j                  d      j                  j                  j                  }| j                  |j                  d      }	|	j                  t!        j"                  |j                  d   ||«      «       y y y c c}w c c}w ©Nr   r¹  rP   )rœ  r­  r   r;   r<   rS   rQ   rŽ  r   r   r¼  rq  rf  r   r*   rm  r   rs  )
rD  r   r‘  r_  Úoutput_sizeÚdim_sizerD   r7   r&  r-   s
             r   r8  z+SymbolicShapeInference._infer_aten_upsample  s5  € Øˆ	Ø—o‘o d¨AÓ.ˆØÐ"Ø# B Q˜ˆIØ×-Ñ-¨d°AÓ6ˆKØÐ&ØÐjuÖvÐ^f´°h³Ä2Ç8Á8Ñ1K˜hŸm™mœoÐQYÑYÒvÑv‘	ä˜;Ó'�ØÔ[`ÐabÐdhÓ[iÖjÐVWœc $×"DÑ"DÀTÈ1ÈaÓ"PÕQÒjÑj�	Ø�;‰;�qŠ>˜iÐ3ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT]Ó^Õ_ð 4ˆ>ùò	 wùò ks   µ4EÂ	#Ec                 ó®   — | j                  |«       dD ]?  }|t        |j                  «      k  sŒ|j                  |   sŒ,| j                  |d|¬«       ŒA y )N)rP   r¹  r  r×  rP   ©Úinput_indexÚoutput_index©rä  rQ   r¼  )rD  r   r7   s      r   rá   z0SymbolicShapeInference._infer_BatchNormalization/  sT   € Ø×&Ñ& tÔ,ð ò 	TˆAØ”3�t—{‘{Ó#Ó#¨¯©°A«à×.Ñ.¨tÀÐQRÐ.ÕSñ	Tr   c           	      óf  — | j                   |j                  d      }| j                  |«      }t        d„ |D «       «      r[t	        |d   «      }t	        |d   «      }t	        |d   «      }t        j                  t        j                  ||z
  |z  «      d«      g}n| j                  |«      g}| j                  |«       |j                  t        j                  |j                  d   | j                   |j                  d      j                  j                  j                   t#        |«      «      «       y )Nr   c              3   ó$   K  — | ]  }|d u–— Œ
 y ­wr)   rB   )rM  r7   s     r   rO  z6SymbolicShapeInference._infer_Range.<locals>.<genexpr>;  s   è ø€ Ò1 ˆq˜Œ}Ñ1ùrá  rP   r¹  )rq  r¼  ré  rQ  rV   r>   r}   r  r   r²  rm  r   rs  rf  r   r   r*   r8   )rD  r   r-   Ú
input_dataÚstartÚlimitÚdeltar°  s           r   r÷   z#SymbolicShapeInference._infer_Range8  sú   € Ø�^‰^˜DŸK™K¨™NÑ+ˆØ×2Ñ2°4Ó8ˆ
ÜÑ1 jÔ1Ô1Ü˜j¨™mÓ,ˆEÜ˜j¨™mÓ,ˆEÜ˜j¨™mÓ,ˆEÜ$Ÿy™y¬¯©¸À¹ÈÑ7NÓ)OÐQRÓSÐT‰Oà#×AÑAÀ$ÓGÐHˆOØ×"Ñ" ?Ô3Ø
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHÜ*¨?Ó;óõ	
r   c                 óÞ  — t        |dd«      }t        | j                  «      dk\  �rÂt        |j                  «      dkD  �r¨| j                  |d«      }| j                  |j                  d      }|€™|sJ ‚|j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  t        | j                  | j!                  |d«      |«      «      «      «       y | j#                  |d«      }g }|D �cg c]  }t%        |t        |«      «      ‘Œ }}t'        |«      D ]/  \  }}	||v r|sŒ|j)                  d«       Œ|j)                  |	«       Œ1 |j                  t        j                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y y y c c}w )NÚkeepdimsrP   é   r   )r   rM   rd  rQ   rf  r­  rq  r¼  rm  r   rs  r   r   r*   r8   r  r   rœ  rE   r¯  r¥  )
rD  r   Ú	keep_dimsÚaxesr-   r$   ra  Úar7   r&   s
             r   rø   z'SymbolicShapeInference._infer_ReduceSumK  s¨  € Ü! $¨
°AÓ6ˆ	Ü�T—\‘\Ó" bÓ(¬S°·±«_¸qÓ-@à×&Ñ& t¨QÓ/ˆDØ—‘ §¡¨A¡Ñ/ˆBØˆ|Ù Ð �yØ—‘Ü×1Ñ1ØŸ™ A™ØŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑPÜ2°4×3KÑ3KÈD×L`ÑL`ÐaeÐghÓLiÐkoÓ3pÓqóõð Ÿ™¨¨aÓ0�Ø!�ØEIÖJÀÔ,¨Q´°E³
Õ;ÐJ�ÐJÜ% eÓ,ò /‘D�A�qØ˜D‘yÚ$Ø(×/Ñ/°Õ2à$×+Ñ+¨AÕ.ð/ð —‘Ü×1Ñ1ØŸ™ A™ØŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑPØ$óõð/ .AÐ(ùò  Ks   Ä!G*c                 óX   — t        | j                  «      dk\  r| j                  |«       y y )Né   )rM   rd  rø   rö  s     r   rù   z(SymbolicShapeInference._infer_ReduceMeanl  s&   € Ü�T—\‘\Ó" bÒ(à×!Ñ! $Õ'ð )r   c                 óÈ   — t        |d«      }t        |dd«      }|dk(  rD|dgk(  r=| j                  |«      d   }|�&t        |«      | j                  |j                  d   <   y y y y )Nrù  rö  rP   r   )r   ré  r]   r¨  r¼  )rD  r   rù  rø  r›  s        r   rú   z(SymbolicShapeInference._infer_ReduceProdq  so   € Ü˜T 6Ó*ˆÜ! $¨
°AÓ6ˆ	Ø˜Š>˜d q cškØ×0Ñ0°Ó6°qÑ9ˆDØÐÜ3GÈÓ3M�× Ñ  §¡¨Q¡Ò0ð  ð *ˆ>r   c                 óÂ  — | j                  |d«      }| j                  |d«      }|�|€y | j                  |d«      d   }d|t        |«      t        |«      g}| j                  |j                  d      j
                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y rá  )r­  r¦  r   rq  rf  r   r   r*   r¼  rm  r   rs  )rD  r   Úseq_lenÚreal_seq_lenÚ	num_headsr‘  r&  r-   s           r   r'  z2SymbolicShapeInference._infer_RelativePositionBiasy  sÃ   € Ø×%Ñ% d¨AÓ.ˆØ×*Ñ*¨4°Ó3ˆØˆ?˜lÐ2ØØ×)Ñ)¨$°Ó2°1Ñ5ˆ	à˜	¤3 w£<´°\Ó1BÐCˆ	à—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐPYÓZÕ[r   c                 ó<  — | j                  |d«      }| j                  |j                  d      }|€ | j                  |d«      }t	        |«      dk(  sJ ‚|d   }t        |«      sJ ‚|j                  t        j                  |j                  d   |j                  j                  j                  t        | j                  ||«      «      «      «       �n;| j                  |d«      }d}|D ]  }||z  }Œ	 g }	d}
d}t        |«      D ]x  \  }}t        |«      t         j"                  u r|	j%                  |«       n3|dk(  r|	j%                  ||   «       |||   z  }n|	j%                  |«       |dk(  r|}
Œn|dk7  sŒt||z  }Œz |	j'                  d«      dk  sJ ‚d|	v r
||z  }||	|
<   | j)                  |	«       |j                  t        j                  |j                  d   |j                  j                  j                  t        |	«      «      «       | j+                  |«       y )NrP   r   r  r¹  )r­  rq  r¼  rœ  rQ   r4   rm  r   rs  r   r   r*   r8   r  r¦  r¯  r>   rV  r¥  Úcountr²  r÷  )rD  r   Úshape_valuer-   Úshape_shapeÚ
shape_rankÚinput_sympy_shapeÚtotalr&   r°  Údeferred_dim_idxÚnon_deferred_sizer7   r—  s                 r   rû   z%SymbolicShapeInference._infer_Reshape†  s!  € Ø×)Ñ)¨$°Ó2ˆØ�^‰^˜DŸK™K¨™NÑ+ˆØÐØŸ/™/¨$°Ó2ˆKÜ�{Ó# qÒ(Ð(Ð(Ø$ Q™ˆJÜ˜jÔ)Ð)Ð)Ø�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—G‘G×'Ñ'×1Ñ1Ü.¨t×/GÑ/GÈ
ÐTXÓ/YÓZóöð !%× 5Ñ 5°d¸AÓ >ÐØˆEØ&ò "�Ø ™	‘ð"à ˆOØ!ÐØ !ÐÜ! +Ó.ò >‘��1Ü˜“7œeŸl™lÑ*Ø#×*Ñ*¨1Õ-Ø˜!’VØ#×*Ñ*Ð+<¸QÑ+?Ô@Ø(9Ð<MÈaÑ<PÑ(PÑ%à#×*Ñ*¨1Ô-Ø˜’7Ø'(Ñ$Ø˜!“VØ(9¸AÑ(=Ñ%ð>ð #×(Ñ(¨Ó,¨qÒ0Ð0Ð0Ø�_Ñ$ØÐ#4Ñ4�Ø4;�Ð 0Ñ1à×&Ñ& Ô7Ø�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—G‘G×'Ñ'×1Ñ1Ü.¨Ó?óôð 	× Ñ  Õ&r   c                 ó@  — | j                   |j                  d      }| j                  |d«      }t        | j                  «      dk  rä| j                  |d«      }|�Ït        ||d¬«      D ��cg c]0  \  }}t        j                  t        j                  ||z  «      «      ‘Œ2 }}}| j                  |«       |j                  t        j                  |j                  d   | j                   |j                  d      j                  j                   j"                  t%        |«      «      «       y y | j                  |d«      }| j                  |d«      }| j                  |d«      }	|	�G|	D �cg c]*  }t        j                  t        j                  |«      «      ‘Œ, }}| j                  |«       nî|�Êt'        |«      }
t)        |d«      d	k(  r0t'        |«      d|
z  k(  sJ ‚t+        |«      d |
 }t+        |«      |
d  }ndg|
z  }dg|
z  }t+        |«      }t        ||||d¬«      D ����cg c]8  \  }}}}t        j                  t        j                  |||z
  z  |z  «      «      ‘Œ: }}}}}| j                  |«       n"| j-                  | j/                  |d«      |«      }|j                  t        j                  |j                  d   | j                   |j                  d      j                  j                   j"                  t%        |«      «      «       y c c}}w c c}w c c}}}}w )
Nr   rÅ  rP   Fr	  r¹  r  Úcoordinate_transformation_modeÚtf_crop_and_resize)rq  r¼  r¦  rM   rd  r­  rî  r>   ÚsimplifyrN  r²  rm  r   rs  rf  r   r   r*   r8   rQ   r   rH   r  r   )rD  r   r-   r  Úscalesr&   rN  r°  ÚroiÚsizesrD   Ú	roi_startÚroi_endrò  ÚendÚscales                   r   rü   z$SymbolicShapeInference._infer_Resizeº  sÔ  € Ø�^‰^˜DŸK™K¨™NÑ+ˆØ ×1Ñ1°$¸Ó:ÐÜ�T—\‘\Ó" bÒ(Ø×(Ñ(¨¨qÓ1ˆFØÐ!äCFÐGXÐZ`ÐinÔCo÷#Ù;?¸1¸a”E—N‘N¤5§;¡;¨q°1©uÓ#5Õ6ð#�ñ #ð ×*Ñ*¨?Ô;Ø—‘Ü×1Ñ1ØŸ™ A™ØŸ™ t§z¡z°!¡}Ñ5×:Ñ:×FÑF×PÑPÜ2°?ÓCóõð "ð ×%Ñ% d¨AÓ.ˆCØ×(Ñ(¨¨qÓ1ˆFØ×'Ñ'¨¨aÓ0ˆEØÐ ØKPÖ"QÀa¤5§>¡>´%·+±+¸a³.Õ#AÐ"Q�Ð"QØ×*Ñ*¨?Õ;ØÐ#Ü˜6“{�Ü  Ð'GÓHÐL`Ò`Ü˜s›8 q¨4¡xÒ/Ð/Ð/Ü $ S£	¨%¨4Ð 0�IÜ" 3›i¨¨Ð.‘Gà!"  d¡
�IØ ˜c D™j�GÜ˜f›�ô 14Ð4EÀyÐRYÐ[aÐjoÔ0p÷#ñ #á,˜˜5 # uô —N‘N¤5§;¡;¨q°C¸%±KÑ/@À5Ñ/HÓ#IÕJð#�ó #ð ×*Ñ*¨?Õ;à"&×":Ñ":¸4×;OÑ;OÐPTÐVWÓ;XÐZ^Ó"_�à�K‰KÜ×-Ñ-Ø—K‘K ‘NØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLÜ.¨Ó?óõùóI#ùò  #Rùõ#s   Á,5LÅ'/LÈ"=L
c                 ó¤  — t        |d«      }t        |d«      }t        |ddg|z  «      }t        |j                  «      |z
  }t        |«      D ��cg c]$  \  }}t	        || j                  |||z   «      «      ‘Œ& }}}t        |j                  «      t        |j                  «      k\  sJ ‚|j                  d t        |j                  «       }t        |«      D ]Œ  \  }}	|	j                  }
|	j                  | j                  |j                  |      «       ||k\  rD|	j                  j                  j                  j                  }|j                  ||||z
        «       |
|	_        ŒŽ | j                  ||«       t        |j                  «      |z
  }t        |ddg|z  «      }t!        | j                  |j                  d      j                  «      |d      }t        |j                  «      D ]Þ  \  }}| j                  |   }||k\  r t!        |j                  |   j                  «      }t	        |||z
     t        |«      dz   «      }g |d | ¢|‘||d  ¢}|j                  t#        j$                  ||j                  |   j                  j                  j&                  |«      «       n|j                  |j                  |   «       ||_        Œà y c c}}w )Nr©  Únum_scan_inputsÚscan_input_axesr   Úscan_output_axesr  rP   )r   rQ   rf  r¯  rE   r   r
   rm  rq  r   r   r$   r   rT  rÙ  r¼  r'   r   rs  r*   )rD  r   rÐ  r  r  Únum_scan_statesr7   ÚaxrÓ  r¬  Úsubgraph_nameÚscan_input_dimÚnum_scan_outputsr  rÇ  r-   r$   r—  s                     r   rý   z"SymbolicShapeInference._infer_Scanì  s•  € Ü   vÓ.ˆÜ'¨Ð.?Ó@ˆÜ'¨Ð.?À!ÀÀÑAVÓWˆÜ˜dŸj™j›/¨OÑ;ˆô # ?Ó3÷
á��2ô !  T×%9Ñ%9¸$ÀÀOÑ@SÓ%TÕUð
ˆñ 
ô �8—>‘>Ó"¤c¨$¯*©*£oÒ5Ð5Ð5Ø"Ÿ.™.Ð):¬3¨t¯z©z«?Ð;ˆÜ˜Ó/ò 	$‰EˆAˆrØŸG™GˆMØ�K‰K˜Ÿ™ t§z¡z°!¡}Ñ5Ô6Ø�OÒ#Ø!#§¡×!4Ñ!4×!:Ñ!:×!>Ñ!>�Ø×%Ñ% n°_ÀQÈÑEXÑ5YÑ&ZÔ[Ø#ˆB�Gð	$ð 	×!Ñ! $¨Ô1Ü˜tŸ{™{Ó+¨oÑ=ÐÜ(¨Ð/AÀAÀ3ÐIYÑCYÓZÐÜ2°4·>±>À$Ç*Á*ÈRÁ.Ñ3Q×3VÑ3VÓWÐXgÐhjÑXkÑlˆÜ˜dŸk™kÓ*ò 		‰DˆAˆqØ—‘ Ñ"ˆBØ�OÒ#Ü1°(·/±/À!Ñ2D×2IÑ2IÓJ�Ü.Ð/?ÀÀOÑ@SÑ/TÔVYÐZ_ÓV`ÐcdÑVdÓe�ØL˜%  ˜/ÐL¨>ÐL¸EÀ'À(¸OÐL�Ø—‘œF×9Ñ9¸!¸X¿_¹_ÈQÑ=O×=TÑ=T×=`Ñ=`×=jÑ=jÐlqÓrÕsà—‘˜HŸO™O¨AÑ.Ô/ØˆB�Gñ		ùó'
s   Á)Kc                 ó6  — | j                  |d«      }| j                  |j                  d      }|j                  t	        j
                  |j                  d   | j                  |j                  d      j                  j                  j                  |«      «       y r   r@  )rD  r   rA  r-   s       r   rþ   z-SymbolicShapeInference._infer_ScatterElements  sv   € Ø—_‘_ T¨1Ó-ˆ
Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóõ	
r   c                 óˆ  — | j                  |d«      }| j                  |j                  d      }|�’t        |«      D ]ƒ  \  }}|�Œ	t        j
                  j                  «       }t        | j                  |d|«      «      |_	        |j                  j                  j                  j                  |   j                  |«       Œ… y y r   )rœ  rq  r¼  r¯  r0   r4  r5  r   r   rh  r   r   r$   r   rm  )rD  r   rj  r-   r;  r&   r—  s          r   rÿ   z(SymbolicShapeInference._infer_SequenceAt  s°   € à—O‘O D¨!Ó,ˆ	Ø�^‰^˜DŸK™K¨™NÑ+ˆØÐ Ü" 9Ó-ò D‘��AØ�=ØÜ×/Ñ/×9Ñ9Ó;�Ü$'¨×(JÑ(JÈ4ÐQRÐTVÓ(WÓ$X�Ô!Ø—‘×#Ñ#×)Ñ)×-Ñ-¨bÑ1×:Ñ:¸7ÕCñDð !r   c                 óF  — | j                   |j                  d      }| j                   |j                  d      }| j                   |j                  d      }|j                  |«       |j                  d   |_        | j                  |d|j                  |j                  «       y rE  )rq  rf  r¼  rm  r
   r=  r   )rD  r   Úvi_seqÚ	vi_tensorÚ
vi_out_seqs        r   r   z,SymbolicShapeInference._infer_SequenceInsert&  s}   € à—‘ §
¡
¨1¡Ñ.ˆØ—N‘N 4§:¡:¨a¡=Ñ1ˆ	Ø—^‘^ D§K¡K°¡NÑ3ˆ
Ø×Ñ˜FÔ#ØŸ+™+ a™.ˆ
ŒØ×Ñ˜t Q¨
¯©¸¿¹ÕHr   c                 ó\   — | j                  |d«      | j                  |j                  d   <   y r   )r¦  r¨  r¼  rö  s     r   r  z#SymbolicShapeInference._infer_Shape/  s'   € Ø+/×+@Ñ+@ÀÀqÓ+Iˆ×Ñ˜Ÿ™ Q™Ò(r   c                 ó<  — | j                  |d«      }t        |«      | j                  |j                  d   <   | j                  |j                  d      j                  t        j                  |j                  d   t        j                  j                  g «      «       y r   )r¦  r]   r¨  r¼  rq  rm  r   rs  r0   r1  r[  )rD  r   r6   s      r   r  z"SymbolicShapeInference._infer_Size2  sw   € Ø×+Ñ+¨D°!Ó4ˆÜ+?ÀÓ+Lˆ×Ñ˜Ÿ™ Q™Ñ(Ø�‰�t—{‘{ 1‘~Ñ&×/Ñ/Ü×)Ñ)¨$¯+©+°a©.¼$×:JÑ:J×:PÑ:PÐRTÓUõ	
r   c           	      óT	  ‡ ‡‡— d„ Šˆfd„Šˆˆ fd„}t        ‰ j                  «      dk  rSt        |d«      }t        |d«      }t        |d«      }|st        t	        t        |«      «      «      }dgt        |«      z  }n¸t        ‰ j                  |d«      d	¬
«      }t        ‰ j                  |d«      d	¬
«      }‰ j                  |d«      }‰ j                  |d«      }|€%|€|�!t        t	        t        |�|n|«      «      «      }|€|€|�dgt        |�|n|«      z  }t        |d	¬
«      }t        |d	¬
«      }‰ j                  |d«      }|�|€]|€1t	        t        |«      «      D ]  }‰ j                  |d|«      ||<   Œ �n›t        |«      }|D ]  }‰ j                  |d|«      ||<   Œ �nqt        ||||d¬«      D �]L  \  }}	}
} ||
||   «      }
t        |
«      rŠ|
‰ j                  k\  r||   }
n¯|
‰ j                   k  r
|	dkD  rdnd}
n•t        ||   «      r'|
dk  rt        d|
||   z   «      }
t        |
||   «      }
n`|
dkD  r[|
dkD  rt!        j"                  |
||   «      n|
}
n:t        ||   «      rt!        j"                  |
||   «      }
n	  ‰|
||   «      s||   }
 ||	||   «      }	t        ||   «      r$t        |	«      rt        dt        |	||   «      «      }	t!        j*                  |
|	z
  |z   |dkD  rdndz   |z  «      ||<   �ŒO ‰ j-                  |«       ‰ j.                  |j0                  d      }|j3                  t5        j6                  |j0                  d   |j8                  j:                  j<                  t        |«      «      «       |j>                  d   ‰ j@                  v rË|dgk(  rÄ|�Át        |«      dk(  r²|�¯t        |«      dk(  r |��t        |«      dk(  rŽ‰ j@                  |j>                  d      }t9        |«      t        u s3t9        |«      tB        jD                  u rEt        |jF                  «      dk(  r,||d   |d   |d   …   ‰ j@                  |j0                  d   <   y y y y y y y y y y y # t$        $ r( t&        j)                  d|
› d||   › d�«       ||   }
Y �Œ
w xY w)Nc                 óV  ‡ ‡— t        ‰ t        j                  «      s
J d‰ › �«       ‚t        t	        ‰ j
                  «      «      D �cg c],  }t        ‰ j
                  |   t        j                  «      sŒ+|‘Œ. }}t	        |«      dk(  r|d   Šˆ ˆfd„} |d«       |d«      gS ‰ gS c c}w )Nz%Expected a sum of two arguments, got rP   r   c                 ó&  •— t        ‰j                  «      }t        |‰   t        j                  «      sJ d‰› d|‰   › �«       ‚t        |‰   j                  «      dk(  sJ d|‰   › �«       ‚|‰   j                  |    |‰<   t        j                  |Ž S )Nz#Expected a sympy.Min() at position z, got r¹  z5Expected a sympy.Min() with exactly 2 arguments, got )rH   Úargsrâ  r>   r€   rQ   ra   )Úarg_idxÚreplacedÚexprÚmin_poss     €€r   Úreplace_min_with_argzVSymbolicShapeInference._infer_Slice.<locals>.flatten_min.<locals>.replace_min_with_argG  s«   ø€ Ü# D§I¡I›�HÜ% h¨wÑ&7¼¿¹ÔCð Ø=¸g¸YÀfÈXÐV]ÑM^ÐL_Ð`óÐCô ˜x¨Ñ0×5Ñ5Ó6¸!Ò;ð ØOÐPXÐY`ÑPaÐObÐcóÐ;ð )1°Ñ(9×(>Ñ(>¸wÑ(G�H˜WÑ%Ü Ÿ9™9 hÐ/Ð/r   )râ  r>   ra   rŽ  rQ   r*  r€   )r-  r›  Úmin_positionsr/  r.  s   `   @r   Úflatten_minz8SymbolicShapeInference._infer_Slice.<locals>.flatten_minA  sª   ù€ Ü˜d¤E§I¡IÔ.Ð^Ð2WÐX\ÐW]Ð0^Ó^Ð.Ü,1´#°d·i±i³.Ó,AÖk SÄZÐPT×PYÑPYÐZ]ÑP^Ô`e×`iÑ`iÕEjšSÐkˆMÐkÜ�=Ó! QÒ&Ø'¨Ñ*�õ	0ñ )¨Ó+Ù(¨Ó+ðð ð �6ˆMùò' ls   Á,B&Á4B&c                 ót  •— 	 t        | |k  «      S # t        $ r Y nw xY w	 t        || k\  «      S # t        $ r Y nw xY w	 t        |  | k\  «      S # t        $ r Y nw xY w	 t        | |  k  «      S # t        $ r Y nw xY w	 t        || z
  dk\  «      S # t        $ r t        d„  ‰|| z
  «      D «       «      cY S w xY w)Nr   c              3   ó8   K  — | ]  }t        |d k\  «      –— Œ y­wr~  )Úboolrz  s     r   rO  zJSymbolicShapeInference._infer_Slice.<locals>.less_equal.<locals>.<genexpr>m  s   è ø€ ÒD¨Aœ4  Q¡Ÿ<ÑDùs   ‚)r4  r  rQ  )rU   Úyr1  s     €r   Ú
less_equalz7SymbolicShapeInference._infer_Slice.<locals>.less_equalX  sã   ø€ ðÜ˜A ™F“|Ð#øÜò ÙðúðÜ˜A ™F“|Ð#øÜò ÙðúðÜ˜Q˜B 1 "™H“~Ð%øÜò ÙðúðÜ˜Q˜B 1 "™H“~Ð%øÜò ÙðúðEÜ˜A ™E Q™JÓ'Ð'øÜò EäÑD±¸QÀ¹UÓ1CÔDÓDÒDðEúsM   ƒ ‘	œ¡/ ¯	;º;¿A Á	AÁAÁA/ Á/	A;Á:A;Á?B Â$B7Â6B7c                 ó´   •— 	  ‰d| «      s"t        | «      r| ‰j                   k  r| S || z   S 	 | S # t        $ r t        j	                  d| › d�«       Y | S w xY w)z/normalizes a negative index to be in [0, bound)r   zCannot determine if z < 0)r4   rA  r  rW  rX  )rZ  Úboundr6  rD  s     €€r   Úhandle_negative_indexzBSymbolicShapeInference._infer_Slice.<locals>.handle_negative_indexo  sq   ø€ ðCÙ! ! UÔ+Ü! %Ô(¨U°t·}±}°nÒ-Dà$˜Ø  5™=Ð(ð	 ,ð ˆLøô ò CÜ—‘Ð!5°e°W¸DÐAÕBØˆLðCús   ƒ%1 ©1 ±"AÁAr´  rù  ÚstartsÚendsrP   Tr˜  r¹  r  r×  r   Fr	  r  zUnable to determine if z <= z, treat as equal)$rM   rd  r   rH   rŽ  rQ   rY   r­  r¦  r   r8   rî  r4   rA  rÐ   rÑ   r>   r€   Ú	ExceptionrW  rX  r  r²  rq  r¼  rm  r   rs  r   r   r*   rf  r¨  r;   Úarrayr$   )rD  r   r9  rù  r:  r;  Ústepsr°  r7   rN  Úerm  r-   Úinput_sympy_datar1  r6  s   `             @@r   r  z#SymbolicShapeInference._infer_Slice9  sé  ú€ ò	ô.	Eõ.
	ô �T—\‘\Ó" aÒ'Ü   vÓ.ˆDÜ" 4¨Ó2ˆFÜ   vÓ.ˆDÙÜœE¤# f£+Ó.Ó/�Ø�Cœ#˜d›)‘O‰Eä˜T×0Ñ0°°qÓ9ÀTÔJˆFÜ˜4×.Ñ.¨t°QÓ7À4ÔHˆDØ×&Ñ& t¨QÓ/ˆDØ×'Ñ'¨¨aÓ0ˆEØˆ| V ^¸¸ÜœE¤#°Ð0B¡fÈÓ"MÓNÓO�Øˆ} f n¸¸Ø˜œc¨FÐ,>¡&ÀDÓIÑI�Ü˜4¨4Ô0ˆDÜ˜E¨TÔ2ˆEà×/Ñ/°°aÓ8ˆØˆ>˜T˜\Øˆ|Üœs ?Ó3Ó4ò X�AØ)-×)KÑ)KÈDÐRSÐUVÓ)W�O AÒ&òXô #=¸_Ó"M�Øò X�AØ)-×)KÑ)KÈDÐRSÐUVÓ)W�O AÒ&òXô " $¨°°eÀEÔJó ]‘
��1�a˜Ù)¨!¨_¸QÑ-?Ó@�Ü˜a”=Ø˜DŸM™MÒ)Ø+¨AÑ.™Ø˜tŸ}™}˜nÒ,Ø!" Q¢™A¨B™Ü# O°AÑ$6Ô7Ø˜qš5Ü # A q¨?¸1Ñ+=Ñ'=Ó >˜AÜ  ?°1Ñ#5Ó6™à˜qš5àDEÈÂE¤§	¡	¨!¨_¸QÑ-?Ô @Èqñ ô " /°!Ñ"4Ô5Ü!ŸI™I a¨¸Ñ);Ó<™ð3Ù#-¨a°ÀÑ1CÔ#DØ$3°AÑ$6 ñ
 *¨!¨_¸QÑ-?Ó@�Ü˜o¨aÑ0Ô1´jÀ´mÜ˜Aœs 1 o°aÑ&8Ó9Ó:�Aä%*§^¡^°Q¸±U¸Q±YÈÈAÊÁ"ÐSTÑ5UÐZ[Ñ4[Ó%\� Ó"ð?]ðB ×&Ñ& Ô7à�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘×#Ñ#×-Ñ-Ü*¨?Ó;óô	
ð �J‰J�q‰M˜T×-Ñ-Ñ-Ø˜˜’ØÐ"Ü�F“˜qÒ ØÐ Ü�D“	˜Q’ØÐ!Ü�E“
˜a’à#×/Ñ/°·
±
¸1±Ñ>ÐÜÐ$Ó%¬Ñ-ÜÐ%Ó&¬"¯(©(Ñ2´sÐ;K×;QÑ;QÓ7RÐVWÒ7Wà3CÀFÈ1ÁIÐPTÐUVÑPWÐZ_Ð`aÑZbÐDbÑ3c�× Ñ  §¡¨Q¡Ò0ð 8XÐ2ð	  ð "ð ð !ð !ð #ð ð .øô/  )ò 3Ü"ŸN™NÐ-DÀQÀCÀtÈOÐ\]ÑL^ÐK_Ð_oÐ+pÔqØ /°Ñ 2›Að3ús   ÊQ6Ñ6-R'Ò&R'c                 óx  — | j                   |j                  d      }| j                   |j                  d      j                  j                  j
                  }t        |dd «      }|�|}||j                  j                  _        |j                  j                  j                  j                  t        j                  «       «       t        |j                  «      dkD  r_| j                  |d«      }| j                   |j                  d      }|j                  t        j                  |j                  ||«      «       y y )Nr   r]  rP   )rq  r¼  rf  r   r   r*   r   r$   rm  r0   r4  rQ   rœ  r   rs  r
   )rD  r   r-   r*   Úspecified_output_typerA  s         r   r  z5SymbolicShapeInference._infer_SoftmaxCrossEntropyLossÕ  sð   € Ø�^‰^˜DŸK™K¨™NÑ+ˆØ—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLˆ	ô !.¨d°MÀ4Ó HÐØ Ð,Ø-ˆIà(1ˆ�‰×ÑÔ%Ø
�‰×Ñ×!Ñ!×*Ñ*¬4×+@Ñ+@Ó+BÔCäˆt�{‰{Ó˜aÒØŸ™¨¨qÓ1ˆJØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°b·g±g¸yÈ*ÓUÕVð  r   c                 óˆ  — | j                  |d«      }t        t        |dd«      t        |«      «      }t	        | j
                  «      }|dk  r t        |d«      }| j                  |d«      �"J ‚| j                  |d«      }t        |d«      �J ‚|€Ft        |j                  «      }||   t        j                  |«      z  g|z  }| j                  |«       n"|D �cg c]  }t        j                  |«      ‘Œ }}t        t        |«      «      D ]°  }	| j                  |j                  |	      }
|
j                   ||j                  |	   | j                  |j                  d      j                  j                   j"                  t%        g |d | ¢||	   ‘||dz   d  ¢«      «      «       |
| j                  |
j&                  <   Œ² y c c}w )Nr   rC   r÷  r†  rP   )r¦  rE   r   rQ   rM   rd  r­  r¼  r>   r?   r²  rŽ  rq  rm  rf  r   r   r*   r8   r
   )rD  r   Úmake_value_info_funcr  rC   Úop_setr†  Únum_outputsrN  rÆ  r-   s              r   Ú_infer_Split_Commonz*SymbolicShapeInference._infer_Split_Commonæ  s±  € Ø ×1Ñ1°$¸Ó:ÐÜ#¤M°$¸ÀÓ$BÄCÐHYÓDZÓ[ˆÜ˜4Ÿ<™<Ó(ˆð �BŠ;Ü! $¨Ó0ˆEØ×&Ñ& t¨QÓ/Ð7Ð7Ð7à×'Ñ'¨¨aÓ0ˆEÜ   wÓ/Ð7Ð7Ð7àˆ=Ü˜dŸk™kÓ*ˆKØ& tÑ,¬u¯}©}¸[Ó/IÑIÐJÈ[ÑXˆEØ×&Ñ& uÕ-à/4Ö5¨!”U—]‘] 1Õ%Ð5ˆEÐ5äœ˜U›Ó$ò 		)ˆCØ—‘ §¡¨CÑ 0Ñ1ˆBØ�K‰KÙ$Ø—K‘K Ñ$Ø—N‘N 4§:¡:¨a¡=Ñ1×6Ñ6×BÑB×LÑLÜ.Ð/vÐ1BÀ5ÀDÐ1IÐ/vÈ5ÐQTÉ:Ð/vÐXiÐjnÐqrÑjrÐjtÐXuÐ/vÓwóôð ')ˆD�N‰N˜2Ÿ7™7Ò#ñ		)ùò 6s   ÃF?c                 óD   — | j                  |t        j                  «       y r)   )rG  r   rs  rö  s     r   r  z#SymbolicShapeInference._infer_Split  s   € Ø× Ñ  ¤v×'DÑ'DÕEr   c                 óD   — | j                  |t        j                  «       y r)   )rG  r   Úmake_sequence_value_inforö  s     r   r  z-SymbolicShapeInference._infer_SplitToSequence  s   € Ø× Ñ  ¤v×'FÑ'FÕGr   c                 óè  — | j                  |d«      }t        | j                  «      }|dk  r t        |d«      }| j	                  |d«      �"J ‚| j	                  |d«      }t        |d«      �J ‚|€‰|D �cg c]
  }|dk7  sŒ	|‘Œ }}| j
                  dkD  �r8|D �cg c]  }t        |«      t        k7  sŒ|‘Œ }}t        |«      dkD  �rt        j                  d|j                  › d|j                  › d|› �«       nÔ|D �cg c]  }t        |t        |«      «      ‘Œ }}g }t        t        |«      «      D ]™  }	|	|vr|j                  ||	   «       Œ||	   dk(  st        ||	   «      t        k7  sJ ‚| j
                  dkD  sŒKt        ||	   «      t        k7  sŒat        j                  d|j                  › d|j                  › d||	   › d	|	› d
�	«       Œ› | j                   |j"                  d      }
|
j%                  t'        j(                  |j"                  d   | j                   |j*                  d      j                  j,                  j.                  |«      «       | j1                  |«       y c c}w c c}w c c}w )Nr   r÷  rù  rP   z+Symbolic dimensions in input shape of op: 'z	' node: 'z;'. Assuming the following dimensions are never equal to 1: z'. Assuming the dimension 'z' at index z of the input to be equal to 1.)rœ  rM   rd  r   r­  r@  r   r5   rQ   rW  r„  r»  r
   rE   rŽ  r¥  rq  r¼  rm  r   rs  rf  r   r*   r÷  )rD  r   r_  rE  rù  rN  ra  Úsymbolic_dimensionsrú  r7   r-   s              r   r  z%SymbolicShapeInference._infer_Squeeze  sh  € Ø—o‘o d¨AÓ.ˆÜ˜4Ÿ<™<Ó(ˆð �BŠ;Ü   vÓ.ˆDØ×&Ñ& t¨QÓ/Ð7Ð7Ð7à×&Ñ& t¨QÓ/ˆDÜ   vÓ.Ð6Ð6Ð6àˆ<ð (3Ö= !°a¸1³fšAÐ=ˆLÐ=Ø�}‰}˜qÓ Ø2=Ö&P¨QÄÀaÃÌCÃ¢qÐ&PÐ#Ð&PÜÐ*Ó+¨aÓ/Ü—L‘LØEÀdÇlÁlÀ^ÐS\Ð]a×]fÑ]fÐ\gð hSØSfÐRgðiõð
 HLÖLÀ!Ô(¨¬C°Ó,<Õ=ÐLˆDÐLØˆLÜœ3˜{Ó+Ó,ò 	�Ø˜D‘=Ø ×'Ñ'¨°A©Õ7à& q™>¨QÒ.´$°{À1±~Ó2FÌ#Ò2MÐMÐMØ—}‘} qÓ(¬T°+¸a±.Ó-AÄSÓ-HÜŸ™ØIÈ$Ï,É,ÈÐW`Ðae×ajÑajÐ`kð l7Ø7BÀ1±~Ð6FÀkÐRSÐQTÐTsðuõð	ð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóô	
ð 	× Ñ  Õ&ùò= >ùâ&Pùò Ms   Á3
I%Á>I%ÂI*Â0I*Ã<I/c           	      ó   — | j                  |d«      }g }|�P| j                  |d«      }t        |«      D ]  \  }}|||   z  }|j                  |«       Œ  | j	                  |«       n"| j                  | j                  |d«      |«      }| j                  |j                  d      }|j                  t        j                  |j                  d   |j                  j                  j                  t        |«      «      «       y rO   )r­  r¦  r¯  r¥  r²  r  r   rq  r¼  rm  r   rs  r   r   r*   r8   )	rD  r   Úrepeats_valuer°  r  r7   r&   r—  r-   s	            r   r  z"SymbolicShapeInference._infer_Tile;  sï   € Ø×+Ñ+¨D°!Ó4ˆØˆØÐ$Ø $× 5Ñ 5°d¸AÓ >ÐÜ!Ð"3Ó4ò 0‘��1Ø˜m¨AÑ.Ñ.�Ø×&Ñ& wÕ/ð0ð ×&Ñ& Õ7à"×6Ñ6°t×7KÑ7KÈDÐRSÓ7TÐVZÓ[ˆOØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘×#Ñ#×-Ñ-Ü*¨?Ó;óõ	
r   c                 óê  — | j                  |d«      }t        t        |dd«      |«      }| j                  |d«      }t	        | j
                  «      dk  rt        |d«      }n| j                  |«      d   }|€| j                  |«      }nt        |«      }t        |«      t        t        fv r|||<   n3| j                  |d«      }|||<   | j                  |«       t        |«      }t        t!        |j"                  «      «      D ]o  }| j$                  |j"                  |      }|j'                  t)        j*                  |j"                  |   |j                  j,                  j.                  |«      «       Œq y )Nr   rC   r  r´  r^  rP   )r   rE   r   rœ  rM   rd  ré  r   rV   r   r5   r   r¦  r²  r8   rŽ  rQ   r¼  rq  rm  r   rs  r   r*   )	rD  r   rD   rC   r‘  r^  r°  rÆ  r-   s	            r   r	  z"SymbolicShapeInference._infer_TopKO  sF  € Ø×#Ñ# D¨!Ó,ˆÜ#¤M°$¸ÀÓ$CÀTÓJˆØ—O‘O D¨!Ó,ˆ	ä�T—\‘\Ó" aÒ'Ü˜d CÓ(‰Aà×-Ñ-¨dÓ3°AÑ6ˆAàˆ9Ø×2Ñ2°4Ó8‰Aä˜!“ˆAä�‹7”sœC�jÑ ØˆI�dŠOà"×3Ñ3°D¸!Ó<ˆOØ$%ˆO˜DÑ!Ø×&Ñ&Øôô 3°?ÓCˆIäœ˜TŸ[™[Ó)Ó*ò 	sˆCØ—‘ §¡¨CÑ 0Ñ1ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ#Ñ6FÈÏÉ×H[ÑH[×HeÑHeÐgpÓqÕrñ	sr   c                 óæ  — |j                   d   | j                  v rÖ| j                  |d«      }t        |dt	        t        t        t        |«      «      «      «      «      }| j                  |j                   d      }t        j                   t        j                  |«      j                  |Ž t        |«      ¬«      j                  «       j                  «       | j                  |j                  d   <   y y )Nr   Úperm)rù  )rf  r¨  rœ  r   ÚreversedrH   rŽ  rQ   r;   Ú	transposer=  ÚreshapeÚtupleÚflattenÚtolistr¼  )rD  r   rA  rQ  rñ  s        r   r
  z'SymbolicShapeInference._infer_Transposel  sº   € Ø�:‰:�a‰=˜D×,Ñ,Ñ,ØŸ™¨¨qÓ1ˆJÜ   v¬x¼¼UÄ3ÀzÃ?Ó=SÓ8TÓ/UÓVˆDØ×)Ñ)¨$¯*©*°Q©-Ñ8ˆJä—‘Ð9œRŸX™X jÓ1×9Ñ9¸:ÐFÌUÐSWË[ÔY×aÑaÓc×jÑjÓlð ×Ñ˜TŸ[™[¨™^Ò,ð	 -r   c                 óü  — | j                  |d«      }t        | j                  «      }|dk  r t        |d«      }| j	                  |d«      �"J ‚| j	                  |d«      }t        |d«      �J ‚t        |«      t        |«      z   }|D �cg c]  }t        ||«      ‘Œ }}d}g }t        |«      D ]1  }	|	|v r|j                  d«       Œ|j                  ||   «       |dz  }Œ3 | j                  |j                  d      }
|
j                  t        j                  |j                  d   | j                  |j                  d      j                  j                   j"                  |«      «       | j%                  |«       y c c}w )Nr   r÷  rù  rP   )rœ  rM   rd  r   r­  rQ   rE   rŽ  r¥  rq  r¼  rm  r   rs  rf  r   r   r*   r÷  )rD  r   r_  rE  rù  Úoutput_rankrú  Ú
input_axisra  r7   r-   s              r   r  z'SymbolicShapeInference._infer_Unsqueezeu  sl  € Ø—o‘o d¨AÓ.ˆÜ˜4Ÿ<™<Ó(ˆð �BŠ;Ü   vÓ.ˆDØ×&Ñ& t¨QÓ/Ð7Ð7Ð7à×&Ñ& t¨QÓ/ˆDÜ   vÓ.Ð6Ð6Ð6ä˜+Ó&¬¨T«Ñ2ˆØ>BÖC¸Ô$ Q¨Õ4ÐCˆÐCàˆ
ØˆÜ�{Ó#ò 	 ˆAØ�D‰yØ×#Ñ# AÕ&à×#Ñ# K°
Ñ$;Ô<Ø˜a‘‘
ð	 ð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰Ü×)Ñ)Ø—‘˜A‘Ø—‘˜tŸz™z¨!™}Ñ-×2Ñ2×>Ñ>×HÑHØóô	
ð 	× Ñ  Õ&ùò) Ds   ÂE9c                 óh  — d }t        |d«      �t        j                  j                  }n&t        |d«      �t        j                  j                  }|€J ‚t        j
                  «       }|j                  d   |_        t        j                  j                  |j                  j                  j                  j                  j                  j                  _        ||j                  j                  j                  j                  _        | j                   |j                  d      }|j#                  |«       y )NÚclasslabels_int64sÚclasslabels_stringsr   )r   r0   r1  r[  rZ  r1   r¼  r
   ÚFLOATr   r   r*   Úmap_typeÚ
value_typer   Úkey_typerq  rm  )rD  r   Úmap_key_typeÚnew_vir-   s        r   r  z$SymbolicShapeInference._infer_ZipMap˜  sä   € ØˆÜ˜Ð3Ó4Ð@Ü×+Ñ+×1Ñ1‰LÜ˜4Ð!6Ó7ÐCÜ×+Ñ+×2Ñ2ˆLàÐ'Ð'Ð'Ü×$Ñ$Ó&ˆØ—k‘k !‘nˆŒÜX\×XhÑXh×XnÑXnˆ�‰×!Ñ!×+Ñ+×4Ñ4×?Ñ?×KÑKÔUØ@Lˆ�‰×!Ñ!×+Ñ+×4Ñ4Ô=Ø�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰�FÕr   c                 ó:  — | j                  |d«      }| j                  |d«      }| j                  |d«      }|�t        |«      dk(  sJ ‚|�|d   n|d   }|�rÄt        |«      dk(  �r´t        |d«      }|�"t        |«      dk(  sJ ‚t	        |d   «      |d<   n!t        |t        «      rt	        |dz  «      |d<   | j                  |j                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       t        |j                  «      dkD  �rÀ| j                  |d«      }	t        |j                  «      dkD  r!|j                  d   r| j                  |d«      ng }
t        |j                  «      dkD  r!|j                  d   r| j                  |d«      ng }|
rÈt        |
«      dk(  rº|rt        |«      dv r	|d	   |
d<   nU|	rSt        |	«      dk(  rEt        |	d   t        «      r"t        |
d   t        «      r|	d   |
d   z   |
d<   n|
d   › d
|	d   › �|
d<   | j                  |j                  d      }|j                  t        j                  |j                  ||
«      «       y t        |d«      }|	d   |z  }d|	d   ||	d   |g}| j                  |j                  d      }|j                  t        j                  |j                  ||«      «       y y y y )Nr   rP   r¹  r  Úqkv_hidden_sizesr×  é   rØ  r  ú+r  )rœ  rž  rQ   r   r5   râ  rq  rf  r   r   r*   r¼  rm  r   rs  r
   )rD  r   r$   Úshape_weightsÚ
shape_biasÚtripled_hidden_sizeÚqkv_hidden_sizes_attrr&  r-   r_  Ú
past_shapeÚ
mask_shaper  Ú	head_sizeÚpresent_shapes                  r   r  z'SymbolicShapeInference._infer_Attention§  sç  € Ø—‘  aÓ(ˆØŸ™¨¨aÓ0ˆØ×(Ñ(¨¨qÓ1ˆ
ØÐ!Ü�z“? aÒ'Ð'Ð'Ø/9Ð/E˜j¨šmÈ=ÐYZÑK[ÐÚ”S˜“Z 1“_Ü$1°$Ð8JÓ$KÐ!Ø$Ð0ÜÐ0Ó1°QÒ6Ð6Ð6ÜÐ4°QÑ7Ó8��a’ÜÐ/´Ô5ÜÐ2°QÑ6Ó7��a‘ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐTYÓZÔ[ä�4—;‘;Ó !Ó#ð
 #Ÿo™o¨d°AÓ6�Ü9<¸T¿Z¹Z»È1Ò9LÐQU×Q[ÑQ[Ð\]ÒQ^˜TŸ_™_¨T°1Ô5Ðdf�
Ü9<¸T¿Z¹Z»È1Ò9LÐQU×Q[ÑQ[Ð\]ÒQ^˜TŸ_™_¨T°1Ô5Ðdf�
á¤# j£/°QÒ"6Ù!¤c¨*£o¸Ñ&?Ø(2°2©˜
 1šÙ$¬¨[Ó)9¸QÒ)>Ü% k°!¡n´cÔ:¼zÈ*ÐUVÉ-ÔY\Ô?]Ø,7¸©N¸ZÈ¹]Ñ,J˜J qšMà/9¸!©}¨o¸Q¸{È1¹~Ð>NÐ,O˜J q™MØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐU_Ó `Õaô !.¨d°KÓ @�IØ +¨A¡°)Ñ ;�IØ%&¨°A©¸	À;ÈqÁ>ÐS\Ð$]�MØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐUbÓ cÕdð3 $ð %ˆ5r   c                 óÜ  — t        |d«      }| j                  |d«      }|�|d   ||d   |d   g}n3| j                  |d«      }|�t        |«      dk(  sJ ‚|d   ||d   |d   g}| j                  |j
                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y )Nr  rã  r   rP   r  )r   rž  rœ  rQ   rq  rf  r   r   r*   r¼  rm  r   rs  )rD  r   r  Útoken_offset_shapera  Úquery_layer_shaper&  r-   s           r   r  z7SymbolicShapeInference._infer_GatedRelativePositionBiasÔ  sö   € ô " $¨Ó4ˆ	à!×0Ñ0°°qÓ9ÐØÐ)Ø.¨qÑ1°9Ð>PÐQRÑ>SÐUgÐhiÑUjÐk‰Là $§¡°°aÓ 8ÐØ$Ð0´SÐ9JÓ5KÈqÒ5PÐPÐPØ-¨aÑ0°)Ð=NÈqÑ=QÐSdÐefÑSgÐhˆLà—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP\Ó]Õ^r   c                 ó„  — | j                  |d«      }| j                  |d«      }| j                  |d«      }|�t        |«      dk(  sJ ‚|�|d   n|d   }|rêt        |«      dk(  rÛt        |d«      }|�"t        |«      dk(  sJ ‚t	        |d   «      |d<   n!t        |t        «      rt	        |dz  «      |d<   | j                  |j                  d      j                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y y y )Nr   rP   r¹  re  r  )rœ  rž  rQ   r   r5   râ  rq  rf  r   r   r*   r¼  rm  r   rs  )	rD  r   r$   rh  ri  rj  rk  r&  r-   s	            r   r!  z-SymbolicShapeInference._infer_PackedAttentionê  s4  € Ø—‘  aÓ(ˆØŸ™¨¨aÓ0ˆØ×(Ñ(¨¨qÓ1ˆ
ØÐ!Ü�z“? aÒ'Ð'Ð'Ø/9Ð/E˜j¨šmÈ=ÐYZÑK[ÐÙ”S˜“Z 1’_Ü$1°$Ð8JÓ$KÐ!Ø$Ð0ÜÐ0Ó1°QÒ6Ð6Ð6ÜÐ4°QÑ7Ó8��a’ÜÐ/´Ô5ÜÐ2°QÑ6Ó7��a‘ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐTYÓZÕ[ð %ˆ5r   c                 óÈ  — | j                  |d«      }|�t        |«      dk(  r|}n4| j                  |d«      }|�t        |«      dk(  sJ ‚|d   |d   |d   z  g}| j                  |j                  d      j
                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y )Nr¹  r   r×  rP   r  )rž  rQ   rœ  rq  rf  r   r   r*   r¼  rm  r   rs  )rD  r   r  ra  Úshape_queryr&  r-   s          r   r"  z6SymbolicShapeInference._infer_PackedMultiHeadAttentionü  sÐ   € Ø×)Ñ)¨$°Ó2ˆØÐ"¤s¨;Ó'7¸1Ò'<Ø&‰LàŸ/™/¨$°Ó2ˆKØÐ*¬s°;Ó/?À1Ò/DÐDÐDØ'¨™N¨K¸©N¸[È¹^Ñ,KÐLˆLà—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.À,ÐP\Ó]Õ^r   c           	      óê  — | j                  |d«      }|�rÞt        |«      dk(  �rÎ| j                  |j                  d      j                  j
                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   |d|d   g«      «       | j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  |d   |d   g«      «       | j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  dg«      «       | j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  dg«      «       y y y )Nr   r  Útoken_countr¹  rP   zbatch_size + 1©rœ  rQ   rq  rf  r   r   r*   r¼  rm  r   rs  r0   r1  r¹  )rD  r   r$   r&  r-   Úvi_token_offsetÚvi_cumulated_seq_lenÚvi_max_seq_lens           r   r(  z+SymbolicShapeInference._infer_RemovePadding		  s�  € Ø—‘  aÓ(ˆÚ”S˜“Z 1“_ØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐUbÐdiÐjkÑdlÐTmÓnÔoà"Ÿn™n¨T¯[©[¸©^Ñ<ˆOØ×$Ñ$Ü×-Ñ-¨d¯k©k¸!©n¼d×>NÑ>N×>TÑ>TÐW\Ð]^ÑW_ÐafÐghÑaiÐVjÓkôð $(§>¡>°$·+±+¸a±.Ñ#AÐ Ø ×)Ñ)Ü×-Ñ-¨d¯k©k¸!©n¼d×>NÑ>N×>TÑ>TÐWgÐVhÓiôð "Ÿ^™^¨D¯K©K¸©NÑ;ˆNØ×#Ñ#¤F×$AÑ$AÀ$Ç+Á+ÈaÁ.ÔRV×RbÑRb×RhÑRhÐklÐjmÓ$nÕoð! %ˆ5r   c                 óÂ  — | j                  |d«      }| j                  |d«      }|r¹t        |«      dk(  rª|r§t        |«      dk(  r˜| j                  |j                  d      j                  j
                  j                  }| j                  |j                  d      }|d   |d   |d   g}|j                  t        j                  |j                  d   ||«      «       y y y y y rU  )rœ  rQ   rq  rf  r   r   r*   r¼  rm  r   rs  )rD  r   Úshape_inputÚshape_token_offsetr&  r-   ra  s          r   r)  z,SymbolicShapeInference._infer_RestorePadding	  sÐ   € Ø—o‘o d¨AÓ.ˆØ!Ÿ_™_¨T°1Ó5ÐÙœ3˜{Ó+¨qÒ0Ñ5GÌCÐPbÓLcÐghÒLhØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ—‘ §¡¨A¡Ñ/ˆBà.¨qÑ1Ð3EÀaÑ3HÈ+ÐVWÉ.ÐYˆLØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÕbð MiÐ5GÐ0ˆ;r   c                 ó&   — | j                  |«       y r)   ©rä  rö  s     r   r  z&SymbolicShapeInference._infer_BiasGelu'	  ó   € Ø×&Ñ& tÕ,r   c                 ó  — | j                  |d«      }d }d }|��mt        |«      dk(  rÝ| j                  |d«      }|}|�=t        |«      dk(  r/| j                  |d«      }|�t        |«      dk(  r|d   |d<   |d   }| j                  |j                  d      j
                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       nít        |«      dk(  rßt        |d   t        «      r(t        |d   t        «      r|d   |d   |d   |d   z  g}n|d   |d   |d   › d|d   › �g}|d   }| j                  |j                  d      j
                  j                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       t        |j                  «      dkD  �r{|d   }	t        |d«      }
d }t        |«      dk(  r/t        |d   t        «      rt        |d   |
z  «      n	|d   › d	|
› �}n|d   }| j                  |d
«      }|�6t        |d   t        «      rt        |t        «      r	|d   |z   }n
|d   › d|› �}|	|
||g}|€J ‚t        |j                  «      dkD  r¹|j                  d   r©|j                  d   r™| j                  |j                  d      }|j                  t        j                  |j                  ||«      «       | j                  |j                  d      }|j                  t        j                  |j                  ||«      «       y y y y y y )Nr   r  rP   r¹  rf  r×  Ú*r  ú/rã  rg  )rœ  rQ   rž  rq  rf  r   r   r*   r¼  rm  r   rs  râ  r5   r   r
   )rD  r   Úquery_shapeÚtotal_sequence_lengthr&  Ú	key_shapera  Úvalue_shaper-   Ú
batch_sizer  rn  rl  ro  s                 r   r  z0SymbolicShapeInference._infer_MultiHeadAttention*	  sw  € ð —o‘o d¨AÓ.ˆØ $ÐØˆØÑ"Ü�;Ó 1Ò$Ø ×/Ñ/°°aÓ8�	à*�ØÐ(¬S°«^¸qÒ-@Ø"&×"5Ñ"5°d¸AÓ">�KØ"Ð.´3°{Ó3CÀqÒ3HØ*5°a©.˜ Q™Ø,5°a©LÐ)à#Ÿ~™~¨d¯j©j¸©mÑ<×AÑA×MÑM×WÑW�Ø—^‘^ D§K¡K°¡NÑ3�Ø—‘œF×9Ñ9¸$¿+¹+Àa¹.È,ÐXdÓeÕfä�[Ó! QÒ&Ü˜k¨!™n¬cÔ2´zÀ+ÈaÁ.ÔRUÔ7VØ$/°¡N°KÀ±NÀKÐPQÁNÐU`ÐabÑUcÑDcÐ#d‘Là$/°¡N°KÀ±NÀ{ÐSTÁ~ÐFVÐVWÐXcÐdeÑXfÐWgÐDhÐ#i�Là(3°A©Ð%à#Ÿ~™~¨d¯j©j¸©mÑ<×AÑA×MÑM×WÑW�Ø—^‘^ D§K¡K°¡NÑ3�Ø—‘œF×9Ñ9¸$¿+¹+Àa¹.È,ÐXdÓeÔfä�4—;‘;Ó !Ó#Ø(¨™^�
Ü)¨$°Ó<�	à �	Ü�{Ó# qÒ(ô & k°!¡n´cÔ:ô ˜K¨™N¨YÑ6Ô7à +¨A¡Ð/¨q°°Ð<ñ ð !,¨A¡�Ià!×0Ñ0°°qÓ9�
àÐ)Ü! *¨Q¡-´Ô5¼*ÐEZÔ\_Ô:`Ø0:¸1±Ð@UÑ0UÑ-à3=¸a±=°/ÀÐCXÐBYÐ0ZÐ-à!+¨YÐ8MÈyÐ Y�à#Ð/Ð/Ð/Ü�t—{‘{Ó# aÒ'¨D¯K©K¸ªN¸t¿{¹{È1º~ØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐUbÓ cÔdØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐUbÓ cÕdð	 @N¨NÐ'ð3 $ð7 #r   c                 ó  — | j                  |d«      }|��v|}| j                  |j                  d      j                  j                  j
                  }|€J ‚| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       t        |j                  «      dkD  rÎ|j                  d   r¾|j                  d   r®| j                  |d«      }|�™| j                  |j                  d      }|j                  t        j                  |j                  ||«      «       | j                  |j                  d      }|j                  t        j                  |j                  ||«      «       y y y y y y )Nr   r¹  rP   rf  )rœ  rq  rf  r   r   r*   r¼  rm  r   rs  rQ   rž  r
   )rD  r   r…  ra  r&  r-   rl  s          r   r  z=SymbolicShapeInference._infer_DecoderMaskedMultiHeadAttentionv	  sK  € ð —o‘o d¨AÓ.ˆØÑ"Ø&ˆLØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØÐ+Ð+Ð+Ø—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÔbä�4—;‘;Ó !Ò#¨¯©°Aª¸4¿;¹;Àqº>Ø!×0Ñ0°°qÓ9�
ØÐ)ØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐU_Ó `ÔaØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸b¿g¹gÀ|ÐU_Ó `Õað	 *ð <J¨Ð#ð #r   c                 ó¸  — | j                  |d«      }|��E|j                  «       }| j                  |j                  d      j                  j
                  j                  }|€J ‚t        |«      d d d f\  }}}}|j                  D ]b  }	|	j                  dk(  r|	j                  }|dk(  r||z   n|}Œ+|	j                  dk(  r|	j                  }ŒG|	j                  dk(  sŒW|	j                  }Œd |j                  |«       ||   |z
  |z  dz   ||<   | j                  |j                  d      }
|
j                  t        j                  |j                  d   ||«      «       y y )Nr   r   r  rÞ  rß  rP   )rœ  rÌ  rq  rf  r   r   r*   rQ   r	   r
   r7   r¥  r¼  rm  r   rs  )rD  r   r_  ra  r&  rD   r   rÞ  rß  r   r-   s              r   r.  z*SymbolicShapeInference._infer_UnfoldTensorŒ	  sF  € Ø—o‘o d¨AÓ.ˆØÑ"Ø&×+Ñ+Ó-ˆLØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØÐ+Ð+Ð+ä$'¨Ó$4°d¸DÀ$Ð$FÑ!ˆD�#�t˜TØŸ™ò "�Ø—9‘9 Ò%ØŸ&™&�CØ(+¨rª	˜$ š*°s‘CØ—Y‘Y &Ò(ØŸ6™6‘DØ—Y‘Y &Ó(ØŸ6™6‘Dð"ð ×Ñ Ô%Ø!,¨SÑ!1°DÑ!8¸TÑ AÀAÑ EˆL˜Ñà—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÕbð' #r   c           	      ón  — | j                  |d«      }|�¡t        |«      }|dk(  s|dk(  sJ ‚||dz
     ||dz
     }}dd|› d|› d|› d|› �g}t        j                  j                  }| j
                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y y )	Nr   r¹  r  rP   zmax(z, z	) <= O < z + )
rœ  rQ   r0   r1  r^  rq  r¼  rm  r   rs  )	rD  r   r_  Ú	shape_lenÚMr¼  ra  r&  r-   s	            r   r  z0SymbolicShapeInference._infer_DynamicTimeWarping£	  sÅ   € ð —o‘o d¨AÓ.ˆØÐ"Ü˜KÓ(ˆIØ ’> Y°!¢^Ð3Ð3Ø˜y¨1™}Ñ-¨{¸9Àq¹=Ñ/IˆqˆAØ  a S¨¨1¨#¨Y°q°c¸¸Q¸CÐ@ÐAˆLÜ×+Ñ+×1Ñ1ˆLØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÀlÐT`ÓaÕbð #r   c                 ó&   — | j                  |«       y r)   r€  rö  s     r   r  z&SymbolicShapeInference._infer_FastGelu°	  r�  r   c                 ó&   — | j                  |«       y r)   r€  rö  s     r   r  z"SymbolicShapeInference._infer_Gelu³	  r�  r   c                 ó&   — | j                  |«       y r)   r€  rö  s     r   Ú_infer_QuickGeluz'SymbolicShapeInference._infer_QuickGelu¶	  r�  r   c                 ó&   — | j                  |«       y r)   r¶  rö  s     r   r  z*SymbolicShapeInference._infer_GemmFastGelu¹	  r·  r   c                 ó&   — | j                  |«       y r)   r¶  rö  s     r   r  z(SymbolicShapeInference._infer_GemmFloat8¼	  r·  r   c                 ó¬  — | j                  |«       t        |j                  «      dkD  �r¥t        |d«      }|€d}| j	                  |d«      }|��t        |«      }t        ||«      }|d | t        ||z
  «      D �cg c]  }d‘Œ c}z   }| j                  |j                  d      j                  j                  j                  }|t        j                  j                  k(  s|t        j                  j                  k(  rt        j                  j                   }| j                  |j                  d      }|j#                  t%        j&                  |j                  d   ||«      «       t        |j                  «      dkD  rP| j                  |j                  d      }|j#                  t%        j&                  |j                  d   ||«      «       y y y y c c}w )NrP   rC   r  r   r¹  )rä  rQ   r¼  r   rœ  rE   rŽ  rq  rf  r   r   r*   r0   r1  ÚFLOAT16ÚBFLOAT16r^  rm  r   rs  )	rD  r   rC   Úx_shaperD   rÊ  Ú
mean_shapeÚ
mean_dtyper-   s	            r   r  z0SymbolicShapeInference._infer_LayerNormalization¿	  s€  € Ø×&Ñ& tÔ,Üˆt�{‰{Ó˜aÓÜ   vÓ.ˆDØˆ|Ø�Ø—o‘o d¨AÓ.ˆGØÑ"Ü˜7“|�Ü+¨D°$Ó7�Ø$ U d˜^¼%ÀÀtÁÓ:LÖ.M°QªqÒ.MÑM�
Ø!Ÿ^™^¨D¯J©J°q©MÑ:×?Ñ?×KÑK×UÑU�
Ø¤×!1Ñ!1×!9Ñ!9Ò9¸ZÌ4×K[ÑK[×KdÑKdÒ=dÜ!%×!1Ñ!1×!7Ñ!7�JØ—^‘^ D§K¡K°¡NÑ3�Ø—‘œF×9Ñ9¸$¿+¹+Àa¹.È*ÐV`ÓaÔbÜ�t—{‘{Ó# aÒ'ØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸d¿k¹kÈ!¹nÈjÐZdÓ eÕfð (ð #ð  ùò /Ns   Á;	Gc                 ó&   — | j                  |«       y r)   r€  rö  s     r   r  z1SymbolicShapeInference._infer_LongformerAttentionÓ	  r�  r   c                 ó¤  — | j                  |d«      }| j                  |d«      }t        |«      dk(  rt        |«      dk(  sJ ‚g |¢|d   ‘}| j                  |j                  d      j                  j
                  j                  }| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       t        |j                  «      dkD  r||j                  d   rm|d   g}| j                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  |«      «       t        |j                  «      dkD  rP| j                  |j                  d      }|j                  t        j                  |j                  d   ||«      «       y y rç  rx  )rD  r   Úinput_ids_shapeÚword_embedding_shapera  Úword_embedding_dtyper-   Úmask_index_shapes           r   r  z5SymbolicShapeInference._infer_EmbedLayerNormalizationÖ	  s~  € ØŸ/™/¨$°Ó2ˆØ#Ÿ™¨t°QÓ7ÐÜ�?Ó# qÒ(¬SÐ1EÓ-FÈ!Ò-KÐKÐKØB˜ÐBÐ*>¸qÑ*AÐBˆà#Ÿ~™~¨d¯j©j¸©mÑ<×AÑA×MÑM×WÑWÐØ�^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.ÐBVÐXdÓeÔfäˆt�{‰{Ó˜aÒ D§K¡K°¢NØ /°Ñ 2Ð3ÐØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÄd×FVÑFV×F\ÑF\Ð^nÓoÔpäˆt�{‰{Ó˜aÒð —‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°d·k±kÀ!±nÐFZÐ\hÓiÕjð	  r   c                 ó~   — | j                  |«       t        |j                  «      dkD  r| j                  |dd«       y y )Nr  r   rî  rö  s     r   r,  z4SymbolicShapeInference._infer_SkipLayerNormalizationë	  s:   € Ø×&Ñ& tÔ,ô ˆt�{‰{Ó˜aÒØ×*Ñ*¨4°°AÕ6ð  r   c                 ó&   — | j                  |«       y r)   r€  rö  s     r   r  z'SymbolicShapeInference._infer_GroupNormó	  r�  r   c                 ó&   — | j                  |«       y r)   r€  rö  s     r   r#  z,SymbolicShapeInference._infer_PagedAttentionö	  r�  r   c                 óè  — | j                   |j                  d      j                  j                  j                  }| j                  |d«      }|�˜| j                   |j                  d      }|j                  t        j                  |j                  ||«      «       | j                   |j                  d      }|j                  t        j                  |j                  ||«      «       |j                  d   dk7  r&|j                  d   dk7  r| j                  |dd«       y |j                  d   dk(  r|j                  d   dk(  sJ ‚t        |d«      }t        |d«      }| j                  |d«      }|�‚|d   }t        |t        «      rlt        ||d|z  z   z  «      }	||	z  |d<   | j                   |j                  d      }|j                  t        j                  |j                  d   ||«      «       y y y )Nr   r  rP   r¹  rG   r  Úkv_num_heads)rq  rf  r   r   r*   rž  r¼  rm  r   rs  r
   rä  r   rœ  râ  r5   )
rD  r   r&  rl  r-   r  r¥  r…  Úhidden_sizern  s
             r   r  z1SymbolicShapeInference._infer_GroupQueryAttentionù	  s²  € Ø—~‘~ d§j¡j°¡mÑ4×9Ñ9×EÑE×OÑOˆà×(Ñ(¨¨qÓ1ˆ
ØÐ!ð —‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°b·g±g¸|ÈZÓXÔYØ—‘ §¡¨A¡Ñ/ˆBØ�K‰Kœ×5Ñ5°b·g±g¸|ÈZÓXÔYà�:‰:�a‰=˜BÒ 4§:¡:¨a¡=°BÒ#6Ø×*Ñ*¨4°°AÕ6ð —:‘:˜a‘= BÒ&¨4¯:©:°a©=¸BÒ+>Ð>Ð>Ü% d¨KÓ8ˆIÜ(¨¨~Ó>ˆLØŸ/™/¨$°Ó2ˆKØÐ&Ø)¨!™n�Ü˜k¬3Ô/Ü # K°9¸qÀ<Ñ?OÑ3OÑ$PÓ Q�IØ%.°Ñ%:�K ‘NØŸ™¨¯©°A©Ñ7�BØ—K‘K¤× =Ñ =¸d¿k¹kÈ!¹nÈlÐ\gÓ hÕið	 0ð 'r   c                 ó&   — | j                  |«       y r)   )r  rö  s     r   r-  z-SymbolicShapeInference._infer_SparseAttention
  s   € Ø×'Ñ'¨Õ-r   c                 ó‚   — | j                  |dd«       t        |j                  «      dkD  r| j                  |dd«       y y rE  rî  rö  s     r   r+  z+SymbolicShapeInference._infer_SkipGroupNorm
  s<   € Ø×&Ñ& t¨Q°Ô2Üˆt�{‰{Ó˜aÒØ×*Ñ*¨4°°AÕ6ð  r   c                 ó¸  — | j                  |d«      }| j                  |d«      }|r´|r±t        |d   t        «      r�|}t        |d   dz  «      |d<   | j                  |j                  d      }| j                  |j
                  d      j                  j                  j                  }|j                  t        j                  |j                  ||«      «       y y y y rU  )rœ  râ  r5   rq  r¼  rf  r   r   r*   rm  r   rs  r
   )rD  r   r_  Ú
bias_shapera  r-   r&  s          r   r  z+SymbolicShapeInference._infer_BiasSplitGelu
  s·   € Ø—o‘o d¨AÓ.ˆØ—_‘_ T¨1Ó-ˆ
Ù™:¬*°ZÀ±]ÄCÔ*HØ&ˆLÜ! *¨Q¡-°!Ñ"3Ó4ˆL˜‰OØ—‘ §¡¨A¡Ñ/ˆBØŸ>™>¨$¯*©*°Q©-Ñ8×=Ñ=×IÑI×SÑSˆLØ�K‰Kœ×5Ñ5°b·g±g¸|È\ÓZÕ[ð +I˜:ˆ;r   c                 ó&   — | j                  |«       y r)   r€  rö  s     r   r  z%SymbolicShapeInference._infer_BiasAdd'
  r�  r   c                 ó„  — t        |j                  «      dk(  r| j                  |«       y t        |j                  «      dk(  r)| j                  |dd¬«       | j                  |dd¬«       y t        |j                  «      dk(  r=| j                  |dd¬«       | j                  |dd¬«       | j                  |dd¬«       y y )NrP   r¹  r   rë  r  )rQ   r¼  rä  rö  s     r   r*  z-SymbolicShapeInference._infer_RotaryEmbedding*
  s±   € Üˆt�{‰{Ó˜qÒ Ø×*Ñ*¨4Õ0Ü�—‘Ó Ò"à×*Ñ*¨4¸QÈQÐ*ÔOØ×*Ñ*¨4¸QÈQÐ*ÕOÜ�—‘Ó Ò"à×*Ñ*¨4¸QÈQÐ*ÔOØ×*Ñ*¨4¸QÈQÐ*ÔOØ×*Ñ*¨4¸QÈQÐ*ÕOð	 #r   c                 ó  — t        |d«      }|sJ d|j                  › d�«       ‚t        |d«      }|sJ d|j                  › d�«       ‚ddlm} t        |d«      j	                  «       } ||«      }| j
                  |j                  d      }|j                  t        j                  |j                  d   t        j                  j                  g «      «       |��”g }g }	t        t        |j                  «      «      D ]p  }
| j!                  ||
«      }|j#                  |«       | j
                  |j                  |
      j$                  j&                  j(                  }|	j#                  |«       Œr  ||||	«      \  }}t        |«      t        |«      cxk(  rt        |j                  «      d	z
  k(  s>n J d|› d
t        |«      › dt        |«      › dt        |j                  «      d	z
  › d�	«       ‚t        t        |j                  «      d	z
  «      D ]\  }|d	z   }| j
                  |j                  |      }|j                  t        j                  |j                  |   ||   ||   «      «       Œ^ y t        t        |j                  «      d	z
  «      D ]|  }| j
                  |j                  |d	z         }| j+                  ||   |«      }t-        |«      }t        j                  |j                  |d	z      ||   |«      }|j                  |«       Œ~ y )NÚoutput_tensor_typesz
PythonOp 'z'' has no output_tensor_types attribute.Úoutput_tensor_ranksz'' has no output_tensor_ranks attribute.r   )Úget_shape_inference_functionÚ	func_namerP   z' returned z shapes and z dtypes, but expected z	 outputs.)r   r
   Úonnxruntime.capi._pybind_stater°  r  rq  r¼  rm  r   rs  r0   r1  r[  rŽ  rQ   rf  rœ  r¥  r   r   r*   r  r8   )rD  r   r®  r¯  r°  r±  Úshape_infererr-   Úinput_shapesÚinput_dtypesrì  r$   Úinput_dtypeÚoutput_shapesÚoutput_dtypesr7   rí  r6   rg  s                      r   r$  z&SymbolicShapeInference._infer_PythonOp7
  sÚ  € Ü+¨DÐ2GÓHÐÙ"Ðc j°·±°Ð;bÐ$cÓcÐ"Ü+¨DÐ2GÓHÐÙ"Ðc j°·±°Ð;bÐ$cÓcÐ"åOä! $¨Ó4×;Ñ;Ó=ˆ	Ù4°YÓ?ˆð �^‰^˜DŸK™K¨™NÑ+ˆØ
�‰”F×1Ñ1°$·+±+¸a±.Ä$×BRÑBR×BXÑBXÐZ\Ó]Ô^àÑ$ØˆLØˆLÜ$¤S¨¯©£_Ó5ò 1�ØŸ™¨¨kÓ:�Ø×#Ñ# EÔ*Ø"Ÿn™n¨T¯Z©Z¸Ñ-DÑE×JÑJ×VÑV×`Ñ`�Ø×#Ñ# KÕ0ð	1ñ
 ,9¸¸|È\Ó+ZÑ(ˆM˜=Ü�}Ó%¬¨]Ó);ÔUÄÀDÇKÁKÓ@PÐSTÑ@TÔUð Ø˜Y˜K {´3°}Ó3EÐ2FÀlÔSVÐWdÓSeÐRfð g Ü # D§K¡KÓ 0°1Ñ 4Ð5°Yð@óÐUô œ3˜tŸ{™{Ó+¨aÑ/Ó0ò �Ø  1™u�Ø—^‘^ D§K¡K°Ñ$=Ñ>�Ø—‘Ü×1Ñ1°$·+±+¸lÑ2KÈ]Ð[\ÑM]Ð_lÐmnÑ_oÓpõñô œ3˜tŸ{™{Ó+¨aÑ/Ó0ò (�à—^‘^ D§K¡K°°A±Ñ$6Ñ7�Ø"×6Ñ6Ð7JÈ1Ñ7MÈtÓT�Ü2°;Ó?�Ü#×:Ñ:¸4¿;¹;ÀqÈ1ÁuÑ;MÐObÐcdÑOeÐglÓm�
Ø—‘˜JÕ'ñ(r   c                 ó:  — | j                  ||«      }| j                  |j                  |      j                  j                  j
                  }| j                  |j                  |      }|j                  t        j                  |j                  |   ||«      «       y r)   )
rœ  rq  rf  r   r   r*   r¼  rm  r   rs  )rD  r   rì  rí  r$   r&  r-   s          r   rä  z0SymbolicShapeInference._propagate_shape_and_typef
  sw   € Ø—‘  kÓ2ˆØ—~‘~ d§j¡j°Ñ&=Ñ>×CÑC×OÑO×YÑYˆØ�^‰^˜DŸK™K¨Ñ5Ñ6ˆØ
�‰”F×1Ñ1°$·+±+¸lÑ2KÈ\Ð[`ÓaÕbr   c                 óR   — t        |«      t        k7  ryd|vry|| j                  v ryy)NFÚunk__T)r   r   r<  )rD  ri  s     r   Ú_is_none_dimz#SymbolicShapeInference._is_none_diml
  s0   € Ü�	‹?œcÒ!ØØ˜)Ñ#ØØ˜×+Ñ+Ñ+ØØr   c                 ó<   — |D ]  }| j                  |«      sŒ|c S  y r)   )r¼  )rD  Ú	out_shapeÚouts      r   Ú_is_shape_contains_none_dimz2SymbolicShapeInference._is_shape_contains_none_dimu
  s)   € Øò 	ˆCØ× Ñ  Õ%Ø’
ð	ð r   c                 ó!  ‡ ‡$‡%— |xs i ‰ _         ‰ j                  j                  j                  d«       ‰ j	                  d¬«       t        «       ‰ _        ‰ j                  j                  j                  D �]  }t        |«      }|€Œt        |j                  «      r?|j                  j                  j                  j                  j                  j                  }n*|j                  j                  j                  j                  }t!        |«      D ]5  \  }}|�Œ	t#        ‰ j%                  |j&                  |«      «      ||   _        Œ7 ‰ j                  j+                  |D �cg c]  }t        |«      t"        u sŒ|‘Œ c}«       �Œ ‰ j                  D ]q  }|‰ j,                  v r<‰ j,                  |   }	|	‰ j.                  v sJ ‚‰ j.                  |	   ‰ j.                  |<   ŒMt1        j2                  |dd¬«      ‰ j.                  |<   Œs t5        j6                  «       ‰ _        ‰ j8                  j;                  ‰ j                  «       ‰ j8                  j                  j                  d«       i }
ˆ$fd„Š$‰ j8                  j                  j<                  D ]  } ‰$|«      |
|j>                  d   <   Œ g }tA        ‰ j                  j                  j                  «      tA        ‰ j                  j                  jB                  «      z   D �ch c]  }|j&                  ’Œ c}Š%tE        ˆ%fd„‰ j                  j                  j>                  D «       «      r"‰ j                  j                  j<                  }�nEtG        ˆ%fd	„‰ j                  j                  j>                  D «       «      �stI        |«      }‰ j                  j                  j<                  D ]e  }|j>                  d   ‰%vsŒtG        ˆ%fd
„|
|j>                  d      D «       «      sŒ:‰%j+                  |j>                  «       |jK                  |«       Œg |tI        |«      k(  r=tG        ˆ%fd„‰ j                  j                  j>                  D «       «      stM        d«      ‚tG        ˆ%fd	„‰ j                  j                  j>                  D «       «      s�Œ|D �]™  }tG        ˆ fd„|j                  D «       «      sJ ‚‰ jO                  |«       d}|jP                  ‰ jR                  v r! ‰ jR                  |jP                     |«       �n:|jP                  dv r†‰ jT                  |j>                  d      }tI        |j                  j                  j                  j                  «      dk(  rÚt4        jV                  jX                  |j                  j                  _        n¦|jP                  dk(  r—|jZ                  dk(  rˆ|j\                  D ]y  }|j&                  dk(  sŒt_        |j`                  tb        «      r|j`                  je                  d«      n|j`                  }|‰ jf                  v rd} ‰ jf                  |   |«        n ‰ jh                  dkD  rttj        jm                  |jP                  dz   |j&                  z   «       t!        |j                  «      D ]-  \  }}tj        jm                  d|||‰ jn                  v rdnd«       Œ/ |jP                  dv rí‰ jT                  |j>                  d      }tI        tq        |j                  «      «      }ts        tI        |j                  «      «      D �cg c]  }‰ ju                  ||«      ‘Œ }}ts        ||jP                  dv rdndz
  «      D ]W  }|D �cg c](  }tI        |«      |z   |k\  sŒ|tI        |«      |z
  |z      ‘Œ* }}tI        |«      dkD  sŒE‰ jw                  |d¬«       ŒY ts        tI        |j>                  «      «      D �]P  }|jP                  dk(  s|jP                  dk(  r|dv rŒ'|jP                  dk(  rtI        |j>                  «      dkD  rŒO‰ jT                  |j>                  |      }|j                  }|jy                  d «      }|d!v�r1‰ jh                  dkD  �r|d"k(  rò|j                  j                  jy                  d «      }|d#k(  rŸtj        jm                  d$j{                  |j>                  |   t#        t        |«      «      t4        jV                  j|                  j                  |j                  j                  j                  j                  j                  «      «      «       nQtj        jm                  d%|j>                  |   › d&|› �«       n(tj        jm                  d%|j>                  |   › d|› �«       �Œ¾t        |«      }|j                  j                  t4        jV                  jX                  k(  }‰ jh                  dkD  rÆtj        jm                  d%|j>                  |   › d|›d't4        jV                  j|                  j                  |j                  j                  j                  «      › �«       |j>                  |   ‰ j                   v r;tj        jm                  d(t#        ‰ j                   |j>                  |      «      z   «       |�d |v s‰ j�                  |«      s|s�Œê‰ j‚                  �r#|jP                  d)v �rts        tI        |j                  «      «      D �cg c]  }‰ ju                  ||«      ‘Œ }}|jP                  dv rüd |v s‰ j�                  |«      rçd |v r|j…                  d «      }n |j…                  ‰ j�                  |«      «      }|D �cg c]  }tI        |«      tI        |«      z
  |z   ‘Œ }}tI        |d   «      dkD  r|d   tI        |d   «      dz
  k  sJ ‚tI        |d   «      dkD  r|d   tI        |d   «      dz
  k  s8J ‚|jP                  d*k(  r%‰ ju                  |d«      ‰ j‡                  |d«      g}ng }|rÅts        tI        |«      «      D ]¦  }||   �‰ j‰                  ||   «      sŒ|D �cg c]  }tI        |«      tI        |«      z
  |z   ‘Œ }}tI        |«      dkD  sŒS‰ j‹                  t�        ||d¬+«      D ��cg c]+  \  }}|dk\  r!t�        ||   «      r||   nt#        ||   «      ‘Œ- c}}«       Œ¨ d‰ _H        nd‰ _H        nd‰ _H        ‰ j�                  du �rÀ|jP                  ‰ jR                  v�r§|�s¤|xr |d u xs tI        |«      dk(  } | r!‰ j’                  r‰ j•                  |d«      nd,}ntI        |«      }|dk\  �rX‰ j—                  |||«      }!|r;‰ jT                  |j                  d      j                  j                  j                  }"n |j                  j                  j                  }"|j;                  t™        jš                  |j&                  |"t�        |!«      «      «       ‰ jh                  dkD  r—| r=tj        jm                  d-|jP                  › d.|j&                  › d/|j&                  › d0�«       ‰ jh                  dkD  rItj        jm                  d%|j>                  |   › d|!›d'|j                  j                  j                  › �«       d‰ _H        �Œð‰ jh                  dkD  s‰ j‚                  r|�rBtj        jm                  d1|jP                  |j&                  «       tj        jm                  d2«       |j                  D ]K  }|‰ jT                  v r#tj        jm                  ‰ jT                  |   «       Œ4tj        jm                  d3|› �«       ŒM tj        jm                  d4«       |j>                  D ]K  }#|#‰ jT                  v r#tj        jm                  ‰ jT                  |#   «       Œ4tj        jm                  d3|#› �«       ŒM ‰ j‚                  r-|s+tj        jm                  d5t#        ‰ j,                  «      z   «         y �Œœ d‰ _H        yc c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}}w )6Nrg  T)rj  )r£  Úpositivero  c           	      ó˜  •— | j                   D �ch c]  }|sŒ|’Œ	 }}g }| j                  dk(  rt        | d«      t        | d«      g}n| j                  dv rt        | d«      g}|D ]Ó  }|j                  D �ch c]  }|j                  ’Œ }}t        «       }|j                  D ]  }|j                  |j                  «       Œ |j                  D ],  }|j                   ‰|«      D �cg c]	  }||vsŒ|‘Œ c}«       Œ. |j                  |«       |j                   D ]  }|j                  |j                  «       Œ ŒÕ |S c c}w c c}w c c}w )Nrx   r¡  r¢  )ry   r�   r©  )
rf  r»  r   ro  r
   rR  r   rr  r¼  Údiscard)	r   r7   Únamesr£  ÚgÚg_outputs_and_initializersÚg_prereqÚnÚ
get_prereqs	           €r   rÊ  z6SymbolicShapeInference._infer_impl.<locals>.get_prereq¤
  s>  ø€ Ø $§
¡
Ö0˜1ªa’QÐ0ˆEÐ0ØˆIØ�|‰|˜tÒ#ä! $¨Ó6Ü! $¨Ó6ð‘	ð —‘Ð!1Ñ1Ü*¨4°Ó8Ð9�	Øò 
*�Ø>?¿m¹mÖ-L¸¨a¯f«fÐ-LÐ*Ð-LÜ›5�ØŸ™ò @�AØ.×5Ñ5°a·h±hÕ?ð@àŸ™ò g�AØ—O‘O±
¸1³Ö$e¨1ÀÐJdÒAd¢QÒ$eÕfðgà—‘˜XÔ&àŸ™ò *�AØ—M‘M !§&¡&Õ)ñ*ð
*ð ˆLùò) 1ùò .Mùò
 %fs   �D=˜D=Á6EÃ%	EÃ/Er   c              3   ó:   •K  — | ]  }|j                   ‰v –— Œ y ­wr)   ©r
   ©rM  rÇ  Úsorted_known_vis     €r   rO  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>Á
  s   øè ø€ ÒL¨Qˆq�v‰v˜Ô(ÑLùó   ƒc              3   ó:   •K  — | ]  }|j                   ‰v –— Œ y ­wr)   rÌ  rÍ  s     €r   rO  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>Å
  s   øè ø€ ÒW¸˜!Ÿ&™& OÔ3ÑWùrÏ  c              3   ó,   •K  — | ]  }|sŒ|‰v –— Œ y ­wr)   rB   )rM  r7   rÎ  s     €r   rO  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>È
  s    øè ø€ ò GØ12ÒYZ˜˜_Ô,ñGùs   ƒ‹	c              3   ó:   •K  — | ]  }|j                   ‰v –— Œ y ­wr)   rÌ  rÍ  s     €r   rO  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>Í
  s!   øè ø€ ò IØ23�A—F‘F˜oÔ-ñIùrÏ  zInvalid model with cyclic graphc              3   ó@   •K  — | ]  }|sŒ|‰j                   v –— Œ y ­wr)   )rq  rd  s     €r   rO  z5SymbolicShapeInference._infer_impl.<locals>.<genexpr>Ó
  s   øè ø€ ÒD¨qÂ!�q˜DŸN™NÔ*ÑDùs   ƒ‹F)ÚConvTransposeÚATenzorg.pytorch.atenÚoperatorr  r¹  z: z  Input %s: %s %srG   rµ  r¸  rP   r{  rÈ   rÉ   rÓ  rÅ   r   )r   Úsparse_tensor_typeNr   r   z  {}: sequence of {} {}z  z: sequence of r�  z  Sympy Data: )ra   rœ   r‚   ro   rz   r¶  r{   ri   r¡   r·  rr   ÚLessÚGreaterÚLessOrEqualÚGreaterOrEqualr€   r}   rq   r	  r  zPossible unknown op: z node: z, guessing z shapez0Stopping at incomplete shape inference at %s: %sznode inputs:znot in known_vi_ for znode outputs:z	Merging: )Or¨  rd  re  rÏ  r[  rR  r=  rf  r.   r"   r   r   r*   r   r$   r   r¯  r   rü  r
   rh  rr  r;  r<  r>   rV  r0   rl  r¾  rm  r   r¼  rH   ro  rí  rQ  rQ   r¥  r<  rÈ  r»  r/  rq  r1  Ú	UNDEFINEDrJ   r	   râ  rN  Úbytesr  r9  r@  rW  r„  rp  r'   rŽ  rœ  r…  r   Úformatr2  r3  rÀ  r>  rZ  r«  r¼  rb  rî  r4   r:  r?  r   r  r   rs  r8   )&rD  Ústart_sympy_datar7   r_  Ú
input_dimsÚi_dimr   r&   rN  Ús_mergeÚprereq_for_noderÉ  Úsorted_nodesÚold_sorted_nodes_lenr   Úknown_aten_opr-   r   Úaten_op_namer
   rÂ  rÃ  rÄ  rÆ  Úout_typeÚout_type_kindÚseq_cls_typer¾  Úout_type_undefinedÚshapesr›  Údim_idxÚis_unknown_opr‘  Ú	out_dtyperÇ  rÊ  rÎ  s&   `                                   @@r   rÍ  z"SymbolicShapeInference._infer_impl{
  s0  ú€ Ø+Ò1¨rˆÔØ�‰×Ñ×%Ñ% lÔ3Ø×#Ñ#°TÐ#Ô:Ü!›eˆÔØ—‘×#Ñ#×)Ñ)ó 	SˆAÜ3°AÓ6ˆKØÐ"Øä˜1Ÿ6™6Ô"ØŸV™V×1Ñ1×;Ñ;×GÑG×MÑM×QÑQ‘
àŸV™V×/Ñ/×5Ñ5×9Ñ9�
ä'¨Ó4ò ]‘
��sØ‘;ä25°d×6LÑ6LÈQÏVÉVÐUZÓ6[Ó2\�J˜uÑ%Õ/ð]ð
 ×Ñ×&Ñ&°;Ö'Q¨aÄ$ÀqÃ'ÌSÂ.ªÒ'QÖRð	Sð" ×$Ñ$ò 	VˆAØ�D×)Ñ)Ñ)Ø×/Ñ/°Ñ2�Ø $×"5Ñ"5Ñ5Ð5Ð5Ø)-×)<Ñ)<¸WÑ)E�×#Ñ# AÒ&ô */¯©°aÀÐPTÔ)U�×#Ñ# AÒ&ð	Vô —‘Ó(ˆŒØ�‰×Ñ˜dŸl™lÔ+Ø�‰×Ñ×%Ñ% mÔ4ð ˆô	ð. —‘×#Ñ#×(Ñ(ò 	9ˆAÙ+5°a«=ˆO˜AŸH™H Q™KÒ(ð	9ð ˆÜ+/°·±×0BÑ0B×0HÑ0HÓ+IÌDÐQU×Q]ÑQ]×QcÑQc×QoÑQoÓLpÑ+pÖq a˜1Ÿ6›6ÒqˆÜÓL°$·,±,×2DÑ2D×2KÑ2KÔLÔLàŸ<™<×-Ñ-×2Ñ2ŠLäÓW¸T¿\¹\×=OÑ=O×=VÑ=VÔWÕWÜ'*¨<Ó'8Ð$Ø ŸL™L×.Ñ.×3Ñ3ò 2�DØŸ™ A™¨oÒ=Ä3ó GØ6EÀdÇkÁkÐRSÁnÑ6UôGõ Dð (×.Ñ.¨t¯{©{Ô;Ø$×+Ñ+¨DÕ1ð2ð (¬3¨|Ó+<Ò<ÄSó IØ7;·|±|×7IÑ7I×7PÑ7PôIô Fô $Ð$EÓFÐFô ÓW¸T¿\¹\×=OÑ=O×=VÑ=VÔWÖWð !ó ]	!ˆDÜÓD°D·J±JÔDÔDÐDÐDØ×(Ñ(¨Ô.Ø!ˆMØ�|‰|˜t×/Ñ/Ñ/Ø.�× Ñ  §¡Ñ.¨tÖ4Ø—‘Ð!2Ñ2ð —^‘^ D§K¡K°¡NÑ3�Ü�r—w‘w×*Ñ*×0Ñ0×4Ñ4Ó5¸Ò:Ü48×4DÑ4D×4NÑ4N�B—G‘G×'Ñ'Õ1Ø—‘ Ò'¨D¯K©KÐ;MÒ,MØ ŸN™Nò �Dà—y‘y JÓ.ÜAKÈDÏFÉFÔTYÔAZ t§v¡v§}¡}°WÔ'=Ð`d×`fÑ`f˜Ø'¨4×+CÑ+CÑCØ,0˜MØB˜D×4Ñ4°\ÑBÀ4ÔHÙðð �}‰}˜qÒ Ü—‘˜TŸ\™\¨DÑ0°4·9±9Ñ<Ô=Ü(¨¯©Ó4ò t‘G�A�tÜ—L‘LÐ!4°a¸ÐPTÐX\×XjÑXjÑPj¹}ÐprÕsðtð
 �|‰|ð 
 ñ 
ð —^‘^ D§K¡K°¡NÑ3�ÜÔ8¸¿¹ÓAÓB�Ü?DÄSÈÏÉÃ_Ó?UÖV¸!˜TŸ_™_¨T°1Õ5ÐV�	ÐVÜ˜x°·±Ð@nÑ0n©1ÐtuÑvÓwò O�AØAJÖe¸AÌcÐRSËfÐWXÉjÐ\dÓNd˜q¤ Q£¨(Ñ!2°QÑ!6Ó7Ðe�GÐeÜ˜7“| aÓ'Ø×/Ñ/°ÈÐ/ÕNðOô
 œS §¡Ó-Ó.ó l!�ð —L‘LÐ$<Ò<ÀÇÁÐPrÒ@rØ˜V‘mØØ—<‘<Ð#4Ò4¼¸T¿[¹[Ó9IÈAÒ9Mð à—^‘^ D§K¡K°Ñ$4Ñ5�ØŸ7™7�Ø (× 3Ñ 3°GÓ <�ð !Ð(SÒSØ—}‘} qÓ(Ø(¨OÒ;Ø+3×+AÑ+A×+KÑ+K×+VÑ+VÐW^Ó+_˜LØ+¨}Ò<Ü &§¡Ø$=×$DÑ$DØ(,¯©°CÑ(8Ü(+Ô,EÀbÓ,IÓ(JÜ(,×(8Ñ(8×(AÑ(A×(FÑ(FØ,.¯G©G×,AÑ,A×,KÑ,K×,WÑ,W×,aÑ,aó)*ó%&õ!"ô !'§¡¨r°$·+±+¸cÑ2BÐ1CÀ>ÐR^ÐQ_Ð-`Õ aä"ŸL™L¨2¨d¯k©k¸#Ñ.>Ð-?¸rÀ-ÀÐ)QÔRÙä5°bÓ9�	Ø%-×%9Ñ%9×%CÑ%CÄt×GWÑGW×GaÑGaÑ%aÐ"Ø—=‘= 1Ò$Ü—L‘LØ˜TŸ[™[¨Ñ-Ð.¨b°°¸Q¼t×?OÑ?O×?XÑ?X×?]Ñ?]Ð^`×^eÑ^e×^qÑ^q×^{Ñ^{Ó?|Ð>}Ð~ôð —{‘{ 3Ñ'¨4×+;Ñ+;Ñ;ÜŸ™Ð%5¼¸D×<LÑ<LÈTÏ[É[ÐY\ÑM]Ñ<^Ó8_Ñ%_Ô`ð Ð)¨t°yÑ/@ÀD×DdÑDdÐenÔDoÛ'Ø×'Ó'ØŸ<™<ð ,ò ô& INÌcÐRV×R\ÑR\ËoÓH^Ö%_À1 d§o¡o°d¸AÕ&>Ð%_˜FÐ%_Ø#Ÿ|™|ð 0ñ  ð
 $(¨9Ñ#4¸×8XÑ8XÐYbÔ8cØ'+¨yÑ'8Ø.7¯o©o¸dÓ.C©à.7¯o©o¸d×>^Ñ>^Ð_hÓ>iÓ.j¨ØV\Ö.]ÐQR¬s°1«v¼¸I»Ñ/FÈÓ/LÐ.] GÐ.]ä+.¨v°a©y«>¸AÒ+=À'È!Á*ÌsÐSYÐZ[ÑS\Ë~Ð`aÑOaÒBaÐ$aÐ+aÜ+.¨v°a©y«>¸AÒ+=À'È!Á*ÌsÐSYÐZ[ÑS\Ë~Ð`aÑOaÒBaÐ$aÐ+aØ!Ÿ\™\¨XÒ5ð !%§¡°°aÓ 8Ø $§¡°°aÓ 8ð&™Fð
 &(˜Fá!Ü',¬S°«^Ó'<ò & Ø#,¨S¡>Ð#=Àd×FWÑFWÐXaÐbeÑXfÔFgØ$,ð SYÖ*YÈQ¬3¨q«6´C¸	³NÑ+BÀSÓ+HÐ*Y Ð*YÜ#& w£<°!Ó#3Ø$(×$=Ñ$=ô 9<¸FÀGÐTYÔ8Z÷)*á04°°1Ø/0°Aªvô 5?¸qÀ¹tÔ4D¨A¨aªDÌ#ÈaÐPQÉdË)Ñ,Só)*õ%&ð&ð )-˜D�Ià(-˜D�Ià$)˜œ	ð —y‘y EÒ)¨d¯l©lÀ$×BRÑBRÒ.RÒ[hØ(:Ò(iÀ	ÈTÐ@QÒ@hÔUXÐYbÓUcÐghÑUh˜Ù(ð IM×H_ÒH_ t×';Ñ';¸DÀ!Ô'DÐeg™Hô (+¨9£~˜Hà# q›=Ø(,×(@Ñ(@ÀÈ4ÐQTÓ(U˜IÙ1à,0¯N©N¸4¿:¹:Àa¹=Ñ,I×,NÑ,N×,ZÑ,Z×,dÑ,d¡	ð -/¯G©G×,?Ñ,?×,IÑ,I 	ØŸK™KÜ &× =Ñ =Ø$&§G¡GØ$-Ü$>¸yÓ$Ió!"ôð  $Ÿ}™}¨qÒ0Ù#0Ü$*§L¡LØ*?ÀÇÁ¸~ÈWÐUY×U^ÑU^ÐT_Ð_jÐkm×krÑkrÐjsÐsyÐ(zô%&ð $(§=¡=°1Ò#4Ü$*§L¡L°2°d·k±kÀ#Ñ6FÐ5GÀrÈ)ÈÐVWÐXZ×X_ÑX_×XkÑXk×XuÑXuÐWvÐ1wÔ$xà(,˜DœIÙ$à—}‘} qÒ(°×0@Ò0@ÒDVÜŸ™Ð%WÐY]×YeÑYeÐgk×gpÑgpÔqÜŸ™ ^Ô4Ø!%§¡ò J˜AØ  D§N¡NÑ2Ü &§¡¨T¯^©^¸AÑ->Õ ?ä &§¡Ð/DÀQÀCÐ-HÕ Ið	Jô
 Ÿ™ _Ô5Ø!%§¡ò J˜AØ  D§N¡NÑ2Ü &§¡¨T¯^©^¸AÑ->Õ ?ä &§¡Ð/DÀQÀCÐ-HÕ Ið	Jð
  ×+Ò+Ñ4FÜ"ŸL™L¨´s¸4×;PÑ;PÓ7QÑ)QÔRÚ òYl!ðc]	!ð~ ˆŒ	ØùòG	 (Rùòb rùòz WùâeùòZ &`ùò /^ùò& +Zùó)*sF   Å!AA
Å8AA
ÌAAÝ
AA$Þ
AA)Þ!AA)ì!AA.î!AA3ñ=!AA8
ó0AA=c                 óÐ   — | j                   j                  j                  D ]C  }|j                  | j                  v sŒ|j                  | j                  |j                     «       ŒE y r)   )rd  re  r¼  r
   rq  rm  )rD  r¼  s     r   rÎ  z-SymbolicShapeInference._update_output_from_vi´  sJ   € Ø—l‘l×(Ñ(×/Ñ/ò 	=ˆFØ�{‰{˜dŸn™nÒ,Ø—‘ §¡¨v¯{©{Ñ ;Õ<ñ	=r   c                 ó|  — t        | «      }|r|dk  rt        j                  d«       y t        ||||«      }d}|j	                  | «       |j
                  r|j                  «       }|j
                  rŒ|j                  «        |s-t        j                  |j                  dd¬«       t        d«      ‚|j                  S )Né   z.Only support models of onnx opset 7 and above.Fzsym_shape_infer_temp.onnxT)Úsave_as_external_dataz#Incomplete symbolic shape inference)rM   rW  rX  r_   rw  r:  rÍ  rÎ  r0   Ú
save_modelrd  r<  )rv  rE  rF  rG  rH  Ú
onnx_opsetrÕ  Úall_shapes_inferreds           r   r¿  z#SymbolicShapeInference.infer_shapes¹  s¯   € ä˜uÓ%ˆ
Ù˜z¨Aš~Ü�N‰NÐKÔLØÜ#9¸'À:ÐO`ÐbiÓ#jÐ Ø#ÐØ ×,Ñ,¨UÔ3Ø&×+Ò+Ø":×"FÑ"FÓ"HÐð '×+Ó+à ×7Ñ7Ô9Ù"Ü�O‰OÐ4×<Ñ<Ð>YÐquÕvÜÐAÓBÐBØ'×/Ñ/Ð/r   )rG   )F)TT)FF)r   r   )r   )Tr)   )éÿÿÿFFr   )€Ú__name__Ú
__module__Ú__qualname__rJ  rb  r[  rw  rŠ  r˜  rœ  rž  r   r¦  r«  r­  r²  rÈ  rÙ  ré  rò  r÷  rÞ   rü  r   r  r   r…  r-  r=  rß   rÝ   râ   rã   rä   rå   ræ   rç   rè   ré   r   r  r&  r%  rê   rë   rì   rí   rî   rï   rð   rñ   rò   r  ró   rô   rõ   rö   rà   r0  r1  r4  r2  r3  r5  r6  r7  r8  rá   r÷   rø   rù   rú   r'  rû   rü   rý   rþ   rÿ   r   r  r  r  r  rG  r  r  r  r  r	  r
  r  r  r  r  r!  r"  r(  r)  r  r  r  r.  r  r  r  r’  r  r  r  r  r  r,  r  r#  r  r-  r+  r  r  r*  r$  rä  r¼  rÀ  rÍ  rÎ  Ústaticmethodr¿  rB   r   r   r_   r_   ‚   sÊ  „ óKóZ+*óZ
(ò
òò<ò27ò	ò/òòwò
òDòe'óN6(óp#òJCò&:ò
ò ó
ó[óBóH8ó\ò>6ò:

ò?ò4'òjò
ò('
òR
ò&Dò
ò2

ò

ò_ò_ò\ò<bò|ò <òB	
ò
ò"lò89%òv)òAò\ò&jò
xò
ò*
ò4òmò òD
ò"
nònòBò.jò2ò0`ò Tò
ò&òB(ò
Nò\ò2'òh0òd!òF	
ò
DòIòJò
òZdòxWò")ò>FòHò.'ò`
ò(sò:ò!'òFò+eòZ_ò,\ò$_òpò(cò-òJeòXbò,cò.cò-ò-ò-ò)ò)ògò(-òkò*7ò-ò-òjò8.ò7ò
\ò-òPò-(ó^còòówòr	=ð
 ò0ó ñ0r   r_   c                  óþ  — t        j                  «       } | j                  ddd¬«       | j                  dd¬«       | j                  dd	d
d¬«       | j                  ddt        d¬«       | j                  ddd
d¬«       | j                  ddt        d¬«       | j                  ddd
d¬«       | j                  ddd
d¬«       | j                  ddd¬«       | j                  ddt        d ¬«       | j	                  «       S )!Nz--inputTzThe input model file)ÚrequiredÚhelpz--outputzThe output model file)rþ  z--auto_mergez:Automatically merge symbolic dims when confliction happensÚ
store_trueF)rþ  ÚactionÚdefaultz	--int_maxzGmaximum value for integer to be treated as boundless for ops like slicer÷  )rþ  r   r  z--guess_output_rankz;guess output rank to be the same as input 0 for unknown opsz	--verbosezHPrints detailed logs of inference, 0: turn off, 1: warnings, 3: detailedr   z--save_as_external_dataz%Saving an ONNX model to external dataz--all_tensors_to_one_filez(Saving all the external data to one filez--external_data_locationz+The file location to save the external filez./)rþ  r  z--external_data_size_thresholdz$The size threshold for external datai   )ÚargparseÚArgumentParserÚadd_argumentr5   Ú
parse_args)Úparsers    r   Úparse_argumentsr  Ë  sN  € Ü×$Ñ$Ó&€FØ
×Ñ˜	¨DÐ7MÐÔNØ
×Ñ˜
Ð)@ÐÔAØ
×ÑØØIØØð	 ô ð ×ÑØØVÜØð	 ô ð ×ÑØØJØØð	 ô ð ×ÑØØWÜØð	 ô ð ×ÑØ!Ø4ØØð	 ô ð ×ÑØ#Ø7ØØð	 ô ð ×ÑØ"Ø:Øð ô ð
 ×ÑØ(Ø3ÜØð	 ô ð ×ÑÓÐr   Ú__main__zinput model: zoutput model z!Doing symbolic shape inference...TF)ró  Úall_tensors_to_one_fileÚlocationÚsize_thresholdÚconvert_attributezDone!r)   )2r  ÚloggingÚnumpyr;   r0   r>   ÚImportErrorr   r   r   Ú	packagingr   ÚparseÚ__version__Ú	getLoggerrø  rW  r   r   r"   r'   r+   r.   r2   r8   r4   rE   rM   rV   rY   r]   r_   r  r*  Úinforf  r¼  r¿  ÚloadrE  rF  rG  rH  Úout_mpró  rô  r	  Úexternal_data_locationÚexternal_data_size_thresholdÚsaverB   r   r   ú<module>r     sï  ðó
 Û ã Û ðsÛ÷ 7Ñ 6Ý à€w‡}�}�T×%Ñ%Ó&¨-¨'¯-©-¸Ó*@Ò@Ð @Ð@à	ˆ×	Ñ	˜8Ó	$€óòcò'òò0ò
2òò_òrò.ó
òòò÷F-0ñ F-0òRZ3ðl ˆzÓÙÓ€DØ
‡K�K� $§*¡*Ñ,Ô-Ø‡{‚{Ø�‰�O d§k¡kÑ1Ô2Ø
‡K�KÐ3Ô4Ø#×0Ñ0Øˆ�	‰	�$—*‘*ÓØ�‰Ø�‰Ø×ÑØ�‰ó€Fð ‡{‚{‘vØ×%Ò%ØˆD�O‰OØØ—‘Ø&*Ø(,×(DÑ(DØ×4Ñ4Ø#×@Ñ@Ø"'öð ˆD�I‰I�f˜dŸk™kÔ*Ø�‰�GÕð €{ð øði_ ò sÙ
ÐgÓ
hÐnrÐrðsús   ’G- Ç-G<