§
    Ë²Åj–   ã                   ó^	  — d Z ddlZddlmZmZmZmZ ddlZddlmZ ddl	m
Z
mZmZ ddlmZmZ dgZ ej        ej        d¬	¦  «        Z ed
¦  «         ed¦  «        dej        fd„¦   «         ¦   «         Z ed¦  «         ej        dddddd¦  «        dej        dej        dej        dee         dee         dee         fd„¦   «         ¦   «         Z ed ej        dd¦  «        g¬¦  «         ed ej        ddd¬ ¦  «        g¬¦  «        dOd"ed#ed$efd%„¦   «         ¦   «         Z ed&¦  «         ej        d!ddd¦  «         ej        ddddd'¦  «        dej        dej        d(ee         d)ej        d*ej        d+e d,eej        ej        ej        f         fd-„¦   «         ¦   «         ¦   «         Z! ed.¦  «         ej        dd/¦  «        dej        fd0„¦   «         ¦   «         Z" ed1¦  «        dPdej        fd2„¦   «         Z# ed3¦  «         ej        d!d!¦  «        dej        fd4„¦   «         ¦   «         Z$ ed5¦  «        dPdej        fd6„¦   «         Z% ed7¦  «         ej        d!d!¦  «        dej        fd8„¦   «         ¦   «         Z& ed9¦  «         ej        d!¦  «         ej        ddd/¦  «        dej        fd:„¦   «         ¦   «         ¦   «         Z' ed;¦  «         ej        d!¦  «         ej        ddd/¦  «        dej        fd<„¦   «         ¦   «         ¦   «         Z( ed=¦  «         ej        d!¦  «         ej        ddd/¦  «        dej        fd>„¦   «         ¦   «         ¦   «         Z) ed?¦  «        dej        fd@„¦   «         Z* edA¦  «         ej        ddd/¦  «        dej        fdB„¦   «         ¦   «         Z+ edC¦  «         ej        ddddDd¦  «        dej        dEej        j        dFej        j        dGee         dHedIej        j        fdJ„¦   «         ¦   «         Z, edK¦  «         ej        dddd/d/d/dd/d/¦	  «	        dej        fdL„¦   «         ¦   «         Z- edM¦  «         ej        dd'ddDd¦  «        dej        dEej        j        dFe dGeee                  dHedIej        j        fdN„¦   «         ¦   «         Z.dS )Qa³  This file exports ONNX ops for opset 18.

Note [ONNX Operators that are added/updated in opset 18]

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://github.com/onnx/onnx/blob/main/docs/Changelog.md#version-18-of-the-default-onnx-operator-set
New operators:
    BitwiseAnd
    CenterCropPad
    Col2Im
    Mish
    OptionalGetElement
    OptionalHasElement
    Pad
    Resize
    ScatterElements
    ScatterND
    Split
é    N)ÚListÚOptionalÚSequenceÚTuple)Ú_C)Ú_type_utilsÚsymbolic_helperÚsymbolic_opset9)Ú	jit_utilsÚregistrationÚcol2imé   )Úopsetzaten::__and_zaten::bitwise_andÚgc                 óF  — ||g}d„ |D ¦   «         }t          |¦  «        dk    r|}t          j        |Ž }t          j        | ||¦  «        }t          j        | ||¦  «        }|t          j        j        k    r|                      d||¦  «        S |                      d||¦  «        S )Nc                 ó:   — g | ]}t          j        |¦  «        ¯|‘ŒS © )r	   Ú_get_tensor_rank)Ú.0Úargs     úLC:\Projects\Historical\venv\Lib\site-packages\torch/onnx/symbolic_opset18.pyú
<listcomp>z__and_.<locals>.<listcomp>/   s(   € ÐNÐNÐN˜­Ô(HÈÑ(MÔ(MÐN�ÐNÐNÐNó    r   ÚAndÚ
BitwiseAnd)Úlenr	   Ú_type_promote_from_valuesÚ_maybe_cast_to_typer   ÚJitScalarTypeÚBOOLÚop)r   ÚselfÚotherÚargsÚ	prom_argsÚpromotion_jit_types         r   Ú__and_r'   )   s«   € ð �%ˆ=€DàNÐN ÐNÑNÔN€IÝ
ˆ9�~„~˜ÒÐØˆ	Ý(ÔBÀIÐNÐÝÔ.¨q°$Ð8JÑKÔK€DÝÔ/°°5Ð:LÑMÔM€EØ�[Ô6Ô;Ò;Ð;Ø�tŠt�E˜4 Ñ'Ô'Ð'Ø�4Š4�˜d EÑ*Ô*Ð*r   zaten::col2imÚvÚisÚinputÚoutput_sizeÚkernel_sizeÚdilationÚpaddingÚstridec           	      ó  ‡	— g }|D ]0Š	|                      ˆ	fd„t          d¦  «        D ¦   «         ¦  «         Œ1t          j        |¦  «        d         }|sddg|z  }|sdg|z  }|sdg|z  }|                      d||||||¬¦  «        S )Nc              3   ó   •K  — | ]}‰V — Œd S ©Nr   )r   Ú_Úpads     €r   ú	<genexpr>zcol2im.<locals>.<genexpr>H   s#   øè è € Ð6Ð6¨ Ð6Ð6Ð6Ð6Ð6Ð6r   é   r   é   ÚCol2Im)Údilations_iÚpads_iÚ	strides_i)ÚextendÚranger	   Ú_get_tensor_sizesr!   )
r   r*   r+   r,   r-   r.   r/   Úadjusted_paddingÚnum_dimensional_axisr4   s
            @r   r   r   :   sÔ   ø€ ð #%ÐØð 7ð 7ˆØ×ÒÐ6Ð6Ð6Ð6­U°1©X¬XÐ6Ñ6Ô6Ñ6Ô6Ð6Ð6å*Ô<¸[ÑIÔIÈ!ÔLÐØð 9Ø˜q˜6Ð$8Ñ8Ðàð .Ø�3Ð-Ñ-ˆàð ,Ø�Ð+Ñ+ˆà�4Š4ØØØØØØØð ñ ô ð r   z
aten::meanÚ
ReduceMeanÚmean)Údecoratez
aten::prodÚ
ReduceProdÚprodF)Úallow_multi_dim_supportTÚonnx_opÚnamerF   c                 ó.   — t          j        | ||¦  «        S r2   )r	   Ú_reduce_with_dtype_helper)rG   rH   rF   s      r   Ú_reduce_with_dtyperK   _   s!   € õ Ô4Ø�Ð.ñô ð r   zaten::native_layer_normÚfÚnormalized_shapeÚweightÚbiasÚepsÚreturnc                 ó4   — t          j        | |||||¦  «        S r2   )Úopset9Únative_layer_norm)r   r*   rM   rN   rO   rP   s         r   Ú_native_layer_normrU   p   s    € õ Ô# A uÐ.>ÀÈÈcÑRÔRÐRr   z	aten::gluÚic                 óÖ   — t          j        ||¦  «        }|�|dz  dk    sJ ‚|                      d||dd¬¦  «        \  }}|                      d||                      d|¦  «        ¦  «        S )Nr6   r   ÚSplit)Úaxis_iÚnum_outputs_iÚoutputsÚMulÚSigmoid)r	   Ú_get_tensor_dim_sizer!   )r   r*   ÚdimÚdim_sizeÚfirstÚseconds         r   Ú_glurc   ~   st   € õ Ô3°E¸3Ñ?Ô?€HØÐØ˜!‰|˜qÒ Ð Ð Ð à—D’D˜ %°À1Èa�DÑPÔP�M€Eˆ6Ø�4Š4��u˜aŸdšd 9¨fÑ5Ô5Ñ6Ô6Ð6r   z	aten::maxc                 ó0   — t          j        | |||¦  «        S r2   )r	   Ú_max_helper©r   r"   Údim_or_yÚkeepdims       r   Úmaxri   ‰   s   € õ
 Ô& q¨$°¸'ÑBÔBÐBr   zaten::maximumc                 ó&   — t          | ||¬¦  «        S ©N)rg   )ri   ©r   r*   r#   s      r   Úmaximumrm   ‘   ó   € õ ˆq�% %Ð(Ñ(Ô(Ð(r   z	aten::minc                 ó0   — t          j        | |||¦  «        S r2   )r	   Ú_min_helperrf   s       r   Úminrq   —   s   € õ Ô& q¨$°¸'ÑBÔBÐBr   zaten::minimumc                 ó&   — t          | ||¬¦  «        S rk   )rq   rl   s      r   Úminimumrs   �   rn   r   z
aten::amaxc                 óž   — |                       dt          j        |t          j        ¬¦  «        ¬¦  «        }|                       d|||¬¦  «        S )NÚConstant©Údtype©Úvalue_tÚ	ReduceMax©Ú
keepdims_i©r!   ÚtorchÚtensorÚlong©r   r"   r_   rh   Úaxess        r   Úamaxrƒ   £   óD   € ð �4Š4�
¥E¤L°½E¼JÐ$GÑ$GÔ$Gˆ4ÑHÔH€DØ�4Š4�˜T 4°Gˆ4Ñ<Ô<Ð<r   z
aten::aminc                 óž   — |                       dt          j        |t          j        ¬¦  «        ¬¦  «        }|                       d|||¬¦  «        S )Nru   rv   rx   Ú	ReduceMinr{   r}   r�   s        r   Úaminr‡   «   r„   r   zaten::aminmaxc                 ó†  — t          j        |¦  «        s~t          j        |dd¦  «        }|                      dt	          j        |gt          j        ¬¦  «        ¬¦  «        }|                      d|||¬¦  «        |                      d|||¬¦  «        fS |                      d||¬¦  «        |                      d||¬¦  «        fS )	NrV   r_   ru   rv   rx   r†   r{   rz   )r	   Ú_is_noneÚ
_get_constr!   r~   r   r€   r�   s        r   Úaminmaxr‹   ³   sÔ   € õ Ô# CÑ(Ô(ð 	
ÝÔ(¨¨c°5Ñ9Ô9ˆØ�tŠt�J­¬°c°UÅ%Ä*Ð(MÑ(MÔ(MˆtÑNÔNˆØ�tŠt�K  t¸ˆtÑ@Ô@À!Ç$Â$Ø˜˜t°ð CGñ C
ô C
ð 
ð 	
ð �tŠt�K °'ˆtÑ:Ô:¸A¿DºDØ˜¨'ð =Añ =
ô =
ð 
ð 	
r   zaten::var_meanc                 óŠ   — t          |¦  «        dk    rt          j        | |d |d         d ¦  «        S t          j        | |g|¢R Ž S )Nr7   r   )r   r	   Ú_var_mean_helper)r   r*   r$   s      r   Ú	_var_meanrŽ   Ã   sI   € å
ˆ4�y„y�A‚~€~ÝÔ/°°5¸$ÀÀQÄÈÑNÔNÐNåÔ/°°5Ð@¸4Ð@Ð@Ð@Ð@r   zaten::logsumexpc                 óÒ   — |€|                       d|d¬¦  «        S |                       dt          j        |t          j        ¬¦  «        ¬¦  «        }|                       d|||¬¦  «        S )NÚReduceLogSumExpr   r{   ru   rv   rx   r}   )r   r*   r_   rh   r‚   s        r   Ú
_logsumexpr‘   Ë   sc   € ð €{Ø�tŠtÐ% u¸ˆtÑ;Ô;Ð;à�tŠt�J­¬°SÅÄ
Ð(KÑ(KÔ(KˆtÑLÔLˆØ�tŠtÐ% u¨d¸wˆtÑGÔGÐGr   zaten::linalg_matrix_normÚbr"   Úordr_   rh   rw   c                 ó4   — t          j        | |||||¦  «        S r2   )rS   Úlinalg_matrix_norm©r   r"   r“   r_   rh   rw   s         r   Ú_linalg_matrix_normr—   Õ   s   € õ Ô$ Q¨¨c°3¸ÀÑGÔGÐGr   zaten::embedding_bagc
                 ó<   — t          j        | |||||||||	¦
  «
        S r2   )r	   Ú_embedding_bag_helper)
r   Úembedding_matrixÚindicesÚoffsetsÚscale_grad_by_freqÚmodeÚsparseÚper_sample_weightsÚinclude_last_offsetÚpadding_idxs
             r   Úembedding_bagr£   â   s7   € õ Ô0Ø	ØØØØØØØØØñô ð r   zaten::linalg_vector_normc                 ó4   — t          j        | |||||¦  «        S r2   )r	   Ú_linalg_vector_norm_helperr–   s         r   Úlinalg_vector_normr¦   þ   s    € õ Ô5°a¸¸sÀCÈÐRWÑXÔXÐXr   )T)NN)/Ú__doc__Ú	functoolsÚtypingr   r   r   r   r~   r   Ú
torch.onnxr   r	   r
   rS   Útorch.onnx._internalr   r   Ú__all__ÚpartialÚonnx_symbolicÚ_onnx_symbolicÚGraphContextr'   Ú
parse_argsÚValueÚintr   Ú_apply_paramsÚstrÚboolrK   Úquantized_argsÚfloatrU   rc   ri   rm   rq   rs   rƒ   r‡   r‹   rŽ   r‘   r—   r£   r¦   r   r   r   ú<module>r¹      s
  ððð ð( Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à €€€Ø Ð Ð Ð Ð Ð Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8ð ð€ð #�Ô" <Ô#=ÀRÐHÑHÔH€ð €�ÑÔØ€Ð#Ñ$Ô$ð+ˆiÔ$ð +ð +ð +ñ %Ô$ñ  Ôð+ð €�ÑÔØ€Ô˜C  c¨4°°tÑ<Ô<ð àŒ8ð ð ”ð ð ”ð	 ð
 �sŒmð ð �cŒ]ð ð �SŒMð ð  ð  ñ =Ô<ñ  Ôð ðF €ØÐ9˜OÔ9¸,ÈÑOÔOÐPðñ ô ð €Øà%ˆÔ%Ø˜&¸%ð	
ñ 	
ô 	
ððñ ô ðð  ð ¨3ð Èð ð ð ñô ñô ðð €Ð)Ñ*Ô*Ø€Ô  e¨U°EÑ:Ô:Ø€Ô˜C  s¨C°Ñ5Ô5ðSØÔðSàŒ8ðSð ˜s”mðSð ŒHð	Sð
 Œ(ðSð 
ðSð ˆ2Œ8�R”X˜rœxÐ'Ô(ðSð Sð Sñ 6Ô5ñ ;Ô:ñ +Ô*ðSð €�ÑÔØ€Ô˜C Ñ%Ô%ð7ˆIÔ"ð 7ð 7ð 7ñ &Ô%ñ Ôð7ð €�ÑÔðCð Cˆ9Ô!ð Cð Cð Cñ	 ÔðCð €�Ñ Ô Ø€Ô  dÑ+Ô+ð)ˆyÔ%ð )ð )ð )ñ ,Ô+ñ !Ô ð)ð €�ÑÔðCð Cˆ9Ô!ð Cð Cð Cñ ÔðCð €�Ñ Ô Ø€Ô  dÑ+Ô+ð)ˆyÔ%ð )ð )ð )ñ ,Ô+ñ !Ô ð)ð €�ÑÔØ€Ô Ñ%Ô%Ø€Ô˜C  sÑ+Ô+ð=ˆIÔ"ð =ð =ð =ñ ,Ô+ñ &Ô%ñ Ôð=ð
 €�ÑÔØ€Ô Ñ%Ô%Ø€Ô˜C  sÑ+Ô+ð=ˆIÔ"ð =ð =ð =ñ ,Ô+ñ &Ô%ñ Ôð=ð
 €�Ñ Ô Ø€Ô Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ð

ˆyÔ%ð 

ð 

ð 

ñ +Ô*ñ &Ô%ñ !Ô ð

ð €Ð Ñ!Ô!ðA�Ô'ð Að Að Añ "Ô!ðAð €Ð!Ñ"Ô"Ø€Ô˜C  sÑ+Ô+ðH�)Ô(ð Hð Hð Hñ ,Ô+ñ #Ô"ðHð €Ð*Ñ+Ô+Ø€Ô˜C  d¨C°Ñ5Ô5ðHØÔðHà
Œ(Œ.ðHð 
ŒŒðHð 
ˆcŒð	Hð
 ðHð Œ8Œ>ðHð Hð Hñ 6Ô5ñ ,Ô+ðHð €Ð%Ñ&Ô&Ø€Ô˜C  c¨3°°S¸#¸sÀCÑHÔHðØÔðð ð ñ IÔHñ 'Ô&ðð4 €Ð*Ñ+Ô+Ø€Ô˜C  d¨C°Ñ5Ô5ðYØÔðYà
Œ(Œ.ðYð 
ðYð 
�(˜3”-Ô	 ð	Yð
 ðYð Œ8Œ>ðYð Yð Yñ 6Ô5ñ ,Ô+ðYð Yð Yr   