
    7h{                     1   % S SK r S SKrS SKrS SKrS SKrS SKrS SKJrJrJrJ	r	J
r
  S SKJrJr  S SKrS SKJr  S SKJr  S SKrS SKJrJrJr  S SKJrJrJrJrJ r   S SK!J"r"  S SK#J$r$  S SK%J&r&  S S	K'J(r(  S S
K)J*r*  S SKJ+r+J,r,J-r-  S SK.J/r/J0r0J1r1  SSK2J3r3J4r4  SSKJ5r5J6r6J7r7  \	" S5      r8\" S5      r9\
\Rt                  Rv                  \Rt                  Rx                  4   r=\\>S'   \R~                  " \@5      rA\R                  R                  rC\R                  R                  rD\R                  R                  rE\R                  R                  rF\R                  R                  rG\" / \CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\CR                  P\(P\CR                  P\CR                  P\CR                  P\CR                  R                  P\CR                  R                  P\ER                  P\FR                  P5      rs0 \" 5       E\sErt\CR                  \CR                  \CR                  \CR                  R                  \CR                  \CR                  \CR                  \CR:                  \CR                  \CR                  \CR                  \CGR                   \CGR                  GR                  \CGR                  \CGR                  \CGR
                  \CGR                  /r\\
\Rt                  GR                  \Rt                  Rx                  4      \>S'   \" \t\5        S\
\=\\=   4   S\\\9\84   /\\9\84   4   4S jr\" \CR:                  /5      S\GR                  S\GR                  S\nS\nS\S\GR                  4S j5       r\" \CGR                  GR                  /5      S\GR                  S\SS4S j5       r\" \CGR"                  GR                  /5      S\GR                  S\SS4S  j5       r\" \CGR&                  R                  /5      SSS!.S"\GR(                  S#\\GR*                  GR,                     S$\\GR*                  GR,                     SS4S% jj5       r\" \CGR.                  /5      \   SS&\GR                  S#\\GR*                  GR,                     S$\\GR*                  GR,                     S\GR                  4S' jj5       5       r\" \CGR0                  /5      S(\\
\n\GR(                  4      S)\GR*                  GR,                  S*\S\GR                  4S+ j5       r\" \CR                  /5      SS,.S&\GR                  S-\nS.\GR                  S\GR                  S/\GR*                  GR,                  S\GR                  4S0 jj5       r}\" \CGR2                  R                  /5      S(\\
\n\GR(                  4      S1\\n   S*\S\GR                  4S2 j5       r\" \CGR4                  /5      S\GR                  S3\GR                  S4\GR                  S5\\n   S6\
\n\\n   4   S7\
\n\\n   4   S8\
\n\\n   4   S9\S:\\n   S;\nS<\\   S\\GR                  \GR                  \GR                  4   4S= j5       r\" \CGR8                  GR:                  /5      SS&\GR                  S>\nS\GR                  4S? jj5       r\" \CGR>                  /5      \ SS@\GR                  SA\GR                  SB\\GR@                     S\GR                  4SC jj5       5       r\" \CGRB                  /5      \   SS@\GR                  SD\GR                  SE\GR                  SB\\GR@                     SF\GR*                  GR,                  S/\GR*                  GR,                  S\GR                  4SG jj5       5       r\" \CGRD                  /5      \ SS@\GR                  SH\GR                  SB\\GR@                     S\GR                  4SI jj5       5       r\" \CGRF                  R                  /5       SSJ\\GR                     S-\nS\GR                  4SK jj5       r\" \CGRH                  /5      S&\GR                  S\GR                  4SL j5       r\" \CGRJ                  /5      SS,.S&\GR                  SM\GR                  S/\\GR*                  GR,                     S\GR                  4SN jj5       r\" \CGRL                  /5      S@\GR                  S\GR                  4SO j5       r\" \CGRN                  \CGRP                  /5      S@\GR                  S\GR                  4SP j5       r\" \CGRR                  \DGRR                  /5      S@\GR                  SQ\GR                  S\GR                  4SR j5       r\" \CGRT                  \DGRT                  /5      S@\GR                  SQ\GR                  S\GR                  4SS j5       r\" \CGRV                  5        SS@\GR                  S-\\n   SU\S\GR                  4SV jj5       r\" \CGRX                  5        SS@\GR                  S-\\n   SU\S\GR                  4SW jj5       r\" \CGRZ                  /5      S@\GR                  S-\nSX\nSY\nS\GR                  4
SZ j5       r\" \CGR\                  R                  /5      S@\GR                  S(\\
\n\GR(                  4      S\GR                  4S[ j5       r\" \CGR\                  GR@                  /5      S@\GR                  S\\GR@                  S\GR                  4S] j5       r SS\GR                  S^\\GRb                     S\GRb                  4S_ jjr\" \CGRf                  5      SSSS`.S@\GR                  S\\\GR@                     Sa\\GRh                     S^\\GRb                     S*\S\GR                  4Sb jj5       r\" \CGRj                  5      SSSS`.S@\GR                  S\\\GR@                     Sa\\GRh                     S^\\GRb                     S*\S\GR                  4Sc jj5       r\" \CGRl                  5      SSSSTST\GRn                  Sd.S@\GR                  S)\
\n\4   S\\\GR@                     Se\\GRr                     Sa\\GRh                     Sf\Sg\S^\GRb                  S\GR                  4Sh jj5       r\" \CGRt                  R                  5      SSSS`.S@\GR                  Si\nS\\\GR@                     Sa\\GRh                     S^\\GRb                     S*\S\GR                  4Sj jj5       r\" \CGRt                  GRv                  5      SSSS`.S@\GR                  Sk\nSi\nS\\\GR@                     Sa\\GRh                     S^\\GRb                     S*\S\GR                  4Sl jj5       r\" \CGRz                  R                  5      Si\nS(\\
\n\GR(                  4      S*\S\GR                  4Sm j5       r\" \ER                  R                  5      S3\GR                  S4\GR                  Sn\GR                  S\GR                  4So j5       rq\" \FR                  R                  5      S3\GR                  Sp\GR                  Sq\GR                  S4\GR                  Sr\GR                  Ss\GR                  Sn\GR                  St\GR                  Su\GR                  Sv\nS\GR                  4Sw j5       rr\" \R                  R                  GR|                  5      Sx\GR                  S\GR                  4Sy j5       r\" \CGR                  /5      \   SSz\GR                  S{\GR                  S|\nS}\nS~\S\GR                  4S jj5       5       r\" \CGR                  GR                  5       SS@\\GR                     S\\GR                     S\\GR                     S\S\\GR                     4
S jj5       r\" \CGR                  GR                  5       SS@\\GR                     S\\GR                     S\\GR                     S\S\\GR                     4
S jj5       r\" \CGR                  GR                  5      S\\GR                     S\\GR                     S4\GR*                  GR,                  S\\GR                     4S j5       r\" \CGR                  GR                  5      S\\GR                     S\\GR                     S\\GR*                  GR,                     S\\GR                     4S j5       r\CGR                  R                  GR                  \GR                  GR                  GR                  5      \" \CGR                  5      S3\GR                  S4\GR                  Sn\R                  \GR                     S\R                  \GR                     S\R                  \GR                     S\S\S\S\\GR                  \GR                  \GR                  4   4S j5       5       r\ GR                  S\\\S\4   4   4S j5       rS\\\S\4   4   4S jr\" \CGR                  5      S@\GR                  S\GR                  S\GR                  S\GR                  4S j5       r\" \GGR                  GR                  5      S3\GR                  S\nS\nS\S\\GR@                  S\\GR                  \GR                  4   4S j5       r\" \CGR                  5       SS@\GR                  S.\GR                  S\GR                  S\S\GR                  4
S jj5       r\" \CGR                  5       SS@\GR                  S.\GR                  S\GR                  S\S\GR                  4
S jj5       r\" \CR                  R                  5      \S\GR                  S\GR                  S-\nS\GR@                  S\GR                  4
S j5       5       rz\" \CGR                  5      SS.S@\GR                  S-\nS.\GR                  S\GR                  S\S\S\GR                  4S jj5       rS&\GR                  S\\n   S6\\
\n\\n   4      S7\
\n\\n   4   S8\
\n\\n   4   S\S-\nS\\GR                  \GR                  4   4S jr\" \CGR                  5          SS&\GR                  S\\n   S6\\
\n\\n   4      S7\
\n\\n   4   S8\
\n\\n   4   S\S\\GR                  \GR                  4   4S jj5       r\" \CGR                  5          SS&\GR                  S\\n   S6\\
\n\\n   4      S7\
\n\\n   4   S8\
\n\\n   4   S\S\\GR                  \GR                  4   4S jj5       r\" \CGR                  5      S&\GR                  S\\n   S\\GR                  \GR                  4   4S j5       r\" \CGR                  GR                  5      STSTSSS.S\GR                  S@\GR*                  GR,                  S\S\S\\   S\\GR                     S\GR                  4S jj5       r\" \CGR                  5          SS@\GR                  S\GR                  S\S\S\S\\GR                     S\\GR                  \GR                  4   4S jj5       rg)    N)AnyCallableOptionalTypeVarUnion)	ParamSpec	TypeAlias)core_aten_decompositionsget_decompositionsremove_decompositions)_grid_sampler_2d
_index_addembedding_dense_backwardpw_cast_for_opmath"pw_cast_for_opmath_non_tensor_args)extra_random_decomps)counters)	is_fbcode)	out_dtype)pad_listlike)elementwise_dtypesELEMENTWISE_TYPE_PROMOTION_KINDtype_to_dtype)guard_or_falseguard_size_obliviousstatically_known_true   )configinductor_prims)is_gpu,needs_fallback_due_to_atomic_add_limitationsuse_scatter_fallback_T_P_GenericOperatordecomps_to_excludeopsreturnc                     [        U [        5      (       a  U OU / H%  nU[        ;   d  M  [        R	                  SU 5        M'     [
        R                  " U [        5      $ )Nzduplicate decomp: %s)
isinstancelistdecompositionslogwarningdecompregister_decomposition)r'   ops     W/var/www/fran/franai/venv/lib/python3.13/site-packages/torch/_inductor/decomposition.pyr0   r0      sM      T**c5KK.4 6 ((n==    grad_outputindicesnum_weightspadding_idxscale_grad_by_freqc                 J    U R                   (       a  [        $ [        XX#U5      $ N)is_xpuNotImplementeddecomp_embedding_dense_backward)r4   r5   r6   r7   r8   s        r2   _embedding_dense_backwardr>      s(     *k8J r3   tensormsgc                     g r:    r?   r@   s     r2   assert_async_msg_decomprD          
r3   c                     g r:   rB   rC   s     r2   "functional_assert_async_msg_decomprG      rE   r3   )minmaxsymbolrH   rI   c                    g r:   rB   )rJ   rH   rI   s      r2   sym_constrain_range_for_sizerL      s     r3   xc                 V    Ub  U R                  U5      n Ub  U R                  U5      n U $ r:   )	clamp_min	clamp_max)rM   rH   rI   s      r2   clamprQ      s/     KK
KKHr3   size
fill_valuekwargsc                     UR                  S5      nUc.  [        [        U5      5      US'   [        R                  " X40 UD6$ [
        $ )Ndtype)getr   typetorchfullr<   )rR   rS   rT   rV   s       r2   rZ   rZ      sD     JJwE}'Z(89wzz$5f55r3   alphadimindexr\   c          	          [        5       (       d$  U R                  [        R                  :X  a  [        $ [        XX#SUS9$ )NF)inplacer\   )r   rV   rY   bfloat16r<   r   )rM   r]   r^   r?   r\   s        r2   	index_addrb      s1     ;;177enn4!%eLLr3   physical_layoutc                     S/[        U 5      -  n[        U5       H	  u  pEXCU'   M     [        R                  " U Vs/ s H  oPU   PM	     sn40 UD6R	                  U5      $ s  snf Nr   )len	enumeraterY   emptypermute)rR   rc   rT   permpls         r2   empty_permutedrm      s^     3T?D/*Q +;;9AQ9DVDLLTRR9s   A!inputweight
bias_sizesstridepaddingdilation
transposedoutput_paddinggroupsoutput_maskc                 >   U
S   (       a$  [        U R                  R                  5      (       d  [        $ [        R                  U S/[        [        SU R                  5       5      5      -   5      n[        R                  U UUUUUUUUU	U
S   U
S   S/5      u  pnXU4$ )N   r   r   F)
r    devicerX   r<   atensumr+   ranger]   convolution_backward)r4   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   	grad_biasgrad_inpgrad_weight_s                  r2   r~   r~      s     q>(:(:(?(?!@!@qcDq+//:K1L,M&MNI#88	QQ/ H1 9--r3   decimalsc                 F    SU-  n[         R                  X-  5      SU-  -  $ )Ng      $@g      ?)r{   round)rM   r   ten_pow_decimalss      r2   	round_decr     s)    X~::a*+s5E/EFFr3   selfbatch2r   c                    [         R                  (       a  U R                  R                  S;  ar  [	        U R
                  S   S:H  5      (       d   [	        UR
                  S   S:H  5      (       a2  U R                  S5      UR                  S5      -  R                  SS9nU$ U R                  R                  S:X  a  [	        U R                  S5      S:H  5      (       a|  [	        UR                  S5      S:H  5      (       aZ  [        S   S==   S-  ss'   [        R                  " U R                  S5      UR                  S5      -  SS	S
9R                  S5      $ [        $ )Ncpumpsr   ry   r]   r   inductordecompose_bmmTr]   keepdim)r   coordinate_descent_tuningrz   rX   r   shape	unsqueezer|   rR   r   rY   squeezer<   )r   r   r   outs       r2   bmmr      s#    ''DKK,<,<N,R A!!3448MLLOq 9
 9
 >>"%(8(8(;;@@Q@GCJ{{5  1!2338MKKOq 9
 9
 Z 1Q6199Q&.."44!Til r3   mat1mat2betac                    U R                   R                  S:X  GaG  [        UR                  S5      S:H  5      (       a  [        UR                  S5      S:H  5      (       ac  [        S   S==   S-  ss'   [
        R                  " UR                  S5      UR                  S5      -  SSS9R                  S5      nXV-  X@-  -   $ [        UR                  S5      S:H  5      (       a~  [        UR                  S5      S	:*  5      (       a\  [        UR                  S5      S	:*  5      (       a:  [        S   S==   S-  ss'   UR                  U-  R                  SSS9nXV-  X@-  -   $ [        $ )
Nr   r   r   r   r   decompose_addmmTr      )rz   rX   r   rR   r   rY   r|   r   r   r   Tr<   )r   r   r   r   r   r\   r   s          r2   addmmr   :  s;    {{5  1!2338MIIbMQ9
 9
 Z !23q83))Q$,,r"224il  ;,,!$))A,!"344tyy|r122tyy|r122Z !23q8366D=%%!T%:C;,,r3   input2c           	         [         R                  (       a  U R                  R                  S;  ap  [	        U R
                  S   S:H  5      (       d   [	        UR
                  S   S:H  5      (       a0  U R                  S5      UR                  S5      -  R                  SS9$ U R                  R                  S:X  Ga  [	        U R                  S5      S:H  5      (       a  [	        U R                  S5      S:  5      (       a  [	        UR                  S5      S:H  5      (       a  U R                  UR                  :X  a  [        [        R                  " U 5      [        R                  " U5      -   S:*  5      (       a\  [        S	   S
==   S-  ss'   [        R                  " [        U R                  S5      5       Vs/ s H  o0US S 24   U-  PM     sn5      $ [	        U R                  S5      S:H  5      (       a|  [	        UR                  S5      S:H  5      (       aZ  [        S	   S
==   S-  ss'   [        R                  " U R!                  S5      UR!                  S5      -  SSS9R                  S5      $ ["        $ s  snf )Nr   r   r   ry   r   r   r       r   decompose_mmTr   )r   r   rz   rX   r   r   r   r|   rR   rV   r   rY   numelr   catr}   r   r<   )r   r   r   is       r2   mmr   X  s    ''DKK,<,<N,R A!!3448MLLOq 9
 9
 NN1%(8(8(;;@@Q@GG{{5 !$))B-1"455%diilQ&677%fkk!n&9::v||+D 1EKK4G GBNOOZ 0A509951;NO;Na1a4j61;NOPP 1!2338MKKOq 9
 9
 Z 0A5099Q&.."44!Til  Ps   9I9tensorsc                 0  ^^ S[         R                  S[        4U4S jjn[        [	        X 5      5      m[        T5      S:X  aO  [        U S[        R                  06S   nTS   nX4R                  :X  a  UR                  5       $ UR                  US9$ S[        T5      s=:  a  [        U 5      :  a#  O  O [        R                  R                  TT5      $ [        T5      S:  a  [        U4S jT 5       5      (       a  TS   n[        UR                   5      nTS:  a  T[        UR                   5      -   OTmUR#                  T[        T5      5        UR%                  T5      R&                  " U6 R)                  TTS-   5      R                  5       $ [*        $ )	NrM   r(   c                    > [        U R                  5      S:X  a!  [        U R                  S   S:H  5      (       a  gT[        U R                  5      :  a!  [        U R                  T   S:H  5      (       a  gg)Nr   r   FT)rf   r   r   )rM   r]   s    r2   non_empty_tensorcat.<locals>.non_empty_tensor  s]    " qww<1!5aggajAo!F!FQWW"6qwws|q7H"I"Ir3   r   type_promotion_kindr   rV   c              3   0   >#    U  H  oTS    L v   M     g7f)r   NrB   ).0tfiltered_tensorss     r2   	<genexpr>cat.<locals>.<genexpr>  s      )*:Qa  *:s   )rY   Tensorboolr+   filterrf   r   r   DEFAULTrV   clonetor{   r   defaultallr   insertr   expandflattenr<   )r   r]   r   promoted_dtype
filtered_tinpr   r   s    `     @r2   r   r     s   
ELL T 2 F#3=>
!+
 ? G G
  &a(
 !1!11 	
 ^4	

 
S!"	1S\	1xx 0#66 q S )*:) & & q!SYY&)AgcC		N"3S#./0}}S!((%088cAgFLLNN r3   c                 *   U R                  5       (       ah  [        R                  " [        R                  " U R                  5      [        S5      [        R                  " U R                  U R                  5      5      $ [        U [        R                  S9u  p[        R                  " [        R                  X R                  S9n[        R                  " U S:  US5      n[        R                  " [        R                  " U 5      [        S5      U5      $ )Nnan)r   rV   rz   r   g        )
is_complexrY   whereisnanrealfloatatan2imagr   r   INT_TO_FLOATscalar_tensormathpirz   )rM   r   rV   r   rets        r2   angler     s    ||~~{{KKuu{{166166/J
 	
 "	;HHHA 
		TWWE((	CB
++a!eR
%C;;u{{1~uU|S99r3   yc                   [         R                  " U 5      =(       a    U R                  5       n[         R                  " U5      =(       a    UR                  5       nU(       a  U(       d  [        $ UnUb  X!-  n[         R                  " U R
                  UR
                  5      nS[         R                  S[         R                  4S jnU S-   n US-   nU" U R                  U R                  R
                  5      5      nU" UR                  UR                  R
                  5      5      n	[         R                  " X-   SS9R                  U5      n
U
$ )Nr?   r(   c                     U R                   Gt pUS-  S:w  a  [        S5      e/ UQUS-  PSP7nU R                  U5      nU$ )zNReshape tensor from [*initial_dims, last_dim] to *initial_dims, last_dim/2, 2]ry   r   zQThe size of the last dimension must be even to reshape it to [..., last_dim/2, 2])r   AssertionErrorview)r?   initial_dimslast_dim	new_shapereshaped_tensors        r2   reshape_tensor_complex#add.<locals>.reshape_tensor_complex  s\     #),, a<1 c 
 6l5HM515	 ++i0r3   r   )	start_dim)
rY   	is_tensorr   r<   promote_typesrV   r   r   r   r   )rM   r   r\   x_is_complex_tensory_is_complex_tensorzcomplex_typer   
x_reshaped
z_reshapedresults              r2   addr     s      //!,?//!,?&9	AI&&qww8Lu||  $ 	
AA	AA'qvv||(<=J'qvv||(<=J]]:2bAFF|TFMr3   c                 <    U R                  5       (       a  [        $ U $ r:   )r   r<   r   s    r2   conj_physicalr     s    Kr3   c                     U $ r:   rB   r   s    r2   liftr     s    Kr3   otherc                 b    [         R                  " [         R                  " U5      X:  -  X5      $ r:   rY   r   r   r   r   s     r2   fminr     #    ;;u{{5)U\:DHHr3   c                 b    [         R                  " [         R                  " U5      X:  -  X5      $ r:   r   r   s     r2   fmaxr     r   r3   Fr   c                 t    U R                   [        R                  :X  a  [        R                  " XUS9$ [        $ Nr   )rV   rY   r   anyr<   r   r]   r   s      r2   amaxr     +     zzUZZyy88r3   c                 t    U R                   [        R                  :X  a  [        R                  " XUS9$ [        $ r   )rV   rY   r   r   r<   r   s      r2   aminr   "  r   r3   startlengthc                 L    [         R                  " XX#5      R                  5       $ r:   )rY   narrowr   )r   r]   r  r  s       r2   narrow_copyr  -  s     <<517799r3   c                 H    [         R                  X5      R                  5       $ r:   )r{   r   r   )r   rR   s     r2   view_copy_defaultr  7  s    
 99T &&((r3   rV   c                 @    U R                  U5      R                  5       $ r:   )r   r   )r   rV   s     r2   view_copy_dtyper	  ?  s    
 775>!!r3   memory_formatc                 ^    U[         R                  L d  Uc  [        R                  " U 5      $ U$ r:   )rY   preserve_formatutilssuggest_memory_format)r?   r
  s     r2   get_like_layoutr  G  s.    
 ---1F**622r3   )rV   rz   r
  rz   c                    [         R                  " / U R                  5       Q4U=(       d    U R                  U=(       d    U R                  S.UD6R                  [        X5      S9$ Nr   r
  )rY   randrR   rV   rz   r   r  r   rV   rz   r
  rT   s        r2   	rand_liker  R  s\     ::$))+!tzz$ 	
 	bt;b<=r3   c                    [         R                  " / U R                  5       Q4U=(       d    U R                  U=(       d    U R                  S.UD6R                  [        X5      S9$ r  )rY   randnrR   rV   rz   r   r  r  s        r2   
randn_liker  c  s\     ;;$))+!tzz$ 	
 	bt;b<=r3   )rV   layoutrz   
pin_memoryrequires_gradr
  r  r  r  c          	          [         R                  " / U R                  5       QUU=(       d    U R                  U=(       d    U R                  U=(       d    U R
                  US9R                  [        X5      S9$ )N)rV   r  rz   r  r  )rY   rZ   rR   rV   r  rz   r   r  )r   rS   rV   r  rz   r  r  r
  s           r2   	full_liker  t  s_     ::$))+!tzz$$# 	bt;b<=r3   highc                    [         R                  R                  " SU/ U R                  5       Q4U=(       d    U R                  U=(       d    U R
                  S.UD6R                  [        X5      S9$ )Nr   r   r  r{   randintlowrR   rV   rz   r   r  )r   r  rV   rz   r
  rT   s         r2   randint_liker#    sj     <<	$))+ !tzz$  	bt;b<=r3   r"  c                    [         R                  R                  " UU/ U R                  5       Q4U=(       d    U R                  U=(       d    U R
                  S.UD6R                  [        X5      S9$ r  r   )r   r"  r  rV   rz   r
  rT   s          r2   randint_like_lowr%    sj     <<$))+ !tzz$  	bt;b<=r3   c                 F    [         R                  R                  " SX40 UD6$ re   )r{   r!  r"  )r  rR   rT   s      r2   r!  r!    s      <<At4V44r3   biasc                     [         R                  R                  R                  U5      n[         R                  R                  R	                  XX!R                  5       S   5      $ re   )rY   r'   
_quantized$wrapped_fbgemm_pack_gemm_matrix_fp16!wrapped_fbgemm_linear_fp16_weightrR   )rn   ro   r'  packed_weights       r2   #linear_dynamic_fp16_unpacked_weightr-    sK     II((MMfUM99AAdKKM!$4 r3   input_scaleinput_zero_pointweight_scaleweight_zero_point	out_scaleout_zero_pointout_channelc
           	          [         R                  R                  R                  X4XV5      n
[         R                  R                  R	                  U UUU
UUU	5      $ r:   )rY   r'   r)  _wrapped_linear_prepack#_wrapped_quantized_linear_prepacked)rn   r.  r/  ro   r0  r1  r'  r2  r3  r4  r,  s              r2   wrapped_quantized_linearr8    sX     II((@@/M 99CC r3   packedc                     S[         R                  S[         R                  4S jnU" U SSS24   5      nU" U SSS 24   5      nU SS S24   R                  [         R                  5      U-  U-   $ )Nu8r(   c                   ^  U 4S jS 5       u  pp4[         R                  S:X  a3  XS-  -   US-  -   US-  -   R                  [        R                  5      S   $ US-  US-  -   US-  -   U-   R                  [        R                  5      S   $ )Nc              3   l   >#    U  H)  nTS U4   R                  [        R                  5      v   M+     g7f.N)r   rY   int32)r   nr;  s     r2   r   Pq_embedding_bag_byte_unpack_decomp.<locals>.bitcast_u8_to_f32.<locals>.<genexpr>  s)     G,QbajmmEKK00,s   14)r   r   ry      little   r      r>  )sys	byteorderr   rY   float32)r;  rM   r   r   ws   `    r2   bitcast_u8_to_f32=q_embedding_bag_byte_unpack_decomp.<locals>.bitcast_u8_to_f32  s    G,G
a==H$aLAG,R8>>u}}MiXX"Wb)Q!V4q8>>u}}MiXXr3   .i)rY   r   r   rH  )r9  rJ  scalesoffsetss       r2   "q_embedding_bag_byte_unpack_decomprO    sz    Yell Yu|| Y vc2b5j12FsBCx 01G#ss(u}}-6@@r3   agridinterpolation_modepadding_modealign_cornersc           	          U R                   [        R                   " S5      :H  =(       a)    US:H  =(       a    U R                  [        R                  S9(       + n[	        U UUUUUS9nU$ )Nr   r   r  )rQ  rR  rS  rT  _expand_grid)rz   rY   is_contiguouscontiguous_formatdecomp_grid_sampler_2d)rP  rQ  rR  rS  rT  rV  outputs          r2   grid_sampler_2dr[    sm     	
ELL'' 	C!#	COO%*A*AOBL $	-!#!F Mr3   left_tensorsright_tensorsscalarc                 z    [         R                  R                  U [         R                  R                  X5      US9$ Nr[   )r{   _foreach_addList_foreach_mulr   r\  r]  r^  s       r2   _foreach_addcmul_scalarre    :     !!d$$\A "  r3   c                 z    [         R                  R                  U [         R                  R                  X5      US9$ r`  )r{   ra  rb  _foreach_divrd  s       r2   _foreach_addcdiv_scalarri    rf  r3   start_tensorsend_tensorsc           	          [         R                  R                  U [         R                  R	                  [         R
                  R                  X5      U5      5      $ r:   )r{   ra  rb  rc  Scalar_foreach_sub)rj  rk  ro   s      r2   _foreach_lerp_scalarro  (  sJ     !!  "";>	
 r3   scalarsc           	          [         R                  R                  U [         R                  R	                  [         R
                  R                  X5      U5      5      $ r:   )r{   ra  rb  rc  
ScalarListrn  )rj  rk  rp  s      r2   _foreach_lerp_scalarlistrs  6  sJ     !!$$"";>	
 r3   running_meanrunning_vartrainingexponential_average_factorepsilonc           
          [         R                  U UUUUUUU5      u  pn
U(       a  XU
4$ UUR                  S5      UR                  S5      4$ )Nr   )r{   native_batch_norm	new_zeros)rn   ro   r'  rt  ru  rv  rw  rx  rP  bcs              r2   miopen_batch_normr  D  sh     $$"	GA! ay	 r3   .c                      0 [         E[        E$ r:   )r,   r   rB   r3   r2   fast_random_decompsr  d  s    5n5 455r3   c                  L    [         R                  (       a  [        $ [        5       $ )z"decomps can change based on config)r   fallback_randomr,   r  rB   r3   r2   select_decomp_tabler  k  s      r3   masksourcec                    SSK JnJn  U" U R                  UR                  5      (       a  [
        R                  X/5      u  pUR                  S5      R                  S5      S-
  nS XU4 5       u  pgn[
        R                  XU/S5      n	[        R                  " XyU5      R                  U R                  5      $ [        $ )Nr   )BackendFeaturehas_backend_featurer   r   c              3   @   #    U  H  oR                  5       v   M     g 7fr:   )r   )r   rM   s     r2   r   !masked_scatter.<locals>.<genexpr>  s     ,WBVQYY[[BVs   )codegen.commonr  r  rz   MASKED_SCATTER_WITH_INDEXr{   broadcast_tensorsreshapecumsum_unsafe_masked_indexrY   r   r   r   r<   )
r   r  r  r  r  
source_idx	self_flat	mask_flatsource_flatr   s
             r2   masked_scatterr  r  s     D4;;(P(PQQ ++TL9
\\"%,,Q/!3
,W4vBV,W)	k**;J<QRS{{9i8==djjIIr3   	quant_min	quant_maxepsc                    [         R                  " U 5      u  pVXe-
  [        X!-
  5      -  n[         R                  " U[         R                  " U/5      5      nU[         R
                  " XW-  5      R                  [         R                  5      -
  n[         R                  " XU5      nUR                  [         R                  5      UR                  [         R                  5      4$ r:   )rY   aminmaxr   rI   r   r   r   intrQ   float64int64)	rn   r  r  r  rV   min_valmax_valscale
zero_points	            r2   choose_qparams_tensorr    s     }}U+G%	(=">>EIIeU\\3%01EU[[9<<UYYGGJZI>J88EMM"JMM%++$>>>r3   
accumulatec                     U R                  5       n[        R                  " XA/UR                  UR                  5      U5      nUR                  U R                  5      $ r:   )r   rY   	index_putr  r   )r   r^   r  r  	flatteneds        r2   putr    sJ     I7FNN5;;7I TZZ((r3   c                 L    [         R                  XX#S9nU R                  U5      $ )N)r  )r{   r  copy_)r   r^   r  r  r   s        r2   put_r    s$     ((4(
>C::c?r3   rZ  input_dtypec                     X-  n[         R                  " XBSS9n[        R                  " U* XT5      nU R                  U:w  a  UR                  U5      nUR                  5       $ )NTr   )rY   r|   r   fmarV   r   
contiguous)r4   rZ  r]   r  new_grad_outputsum_new_grad
grad_inputs          r2   _softmax_backward_datar    s]     "*O99_tDL##VG\KJ K']];/
  ""r3   Tinclude_selfsrcreduction_typer  c                   US:X  Ga  [        U R                  5      (       d  U R                  R                  =(       d    U R                  R                  n[        R
                  " U5      nU(       a)  U n[        R
                  " U 5      R                  XU5      n	OMU R                  XS5      n[        R                  " U 5      R                  XU5      n	U	R                  U	S:  S5      n	UR                  XU5      nU(       a  X-  $ X-  $ [        [        R                  R                  UU R                  UR                  UR                  R                  S5      (       a  [         $ U R"                  US-   S  R%                  5       U R"                  S U R%                  5       -  n
UR%                  5       /U R"                  US-   S  QU R"                  S U Q7n/ ['        U R(                  U-
  U R(                  5      QSP['        SU R(                  U-
  5      Q7nUR+                  [        R,                  5      R/                  U
5      R1                  U5      R3                  U5      nU R5                  UUUUUS9$ )Nmeanr   r   Tr  )r!   rV   is_floating_pointr   rY   	ones_likerb   
index_fill
zeros_likemasked_fillr"   r{   scatter_reduce_tworz   rX   r<   r   r   r}   ndimr   r  repeat_interleaver  ri   scatter_reduce)r   r]   r^   r  r  r  true_divisiononesr   countsrepeatsindex_shaperj   scatter_indexs                 r2   index_reducer    s    (T

) ) 

44M

8M8Ms#C__T*44SFF//#a0C%%d+55c$GF''
A6FmmC,,s|?#-?  

		

  jjq#))+djj#.>.D.D.FFG;;=L4::cAgi#8L4::ds;KLKNU499s?DII.NNE!TYY_4MND		7	#				  !   r3   kernel_size	ceil_modec                 <   US:X  a  S/U-  nUS:X  a  S/U-  nU(       d  Un[        X5      n[        XF5      n[        X65      n[        X&5      n[        R                  " [        R                  U5      n[
        R                  R                  R                  XS9(       d2  U[
        R                  " [
        R                  5      R                  :  a  [        $ [        R                  U UUUUU5      u  p[        R                  U	UU R                   U* S  UUU5      n
X4$ )Nr   r   )n_dim)r   	functoolsreduceoperatormulrY   	_inductorlowering%should_fallback_max_pool_with_indicesiinfoint8rI   r<   prims!_low_memory_max_pool_with_offsets'_low_memory_max_pool_offsets_to_indicesr   )rM   r  rq   rr   rs   r  r]   window_sizevalsrN  r5   s              r2   _max_pool_with_indicesr    s    1}39!|#){0KH*H7(G&&F""8<<=K 	  FF 	G 	
 UZZ0444;;	MD ;;	G =r3   c           
          [        XX#XESS9$ )Nry   r   r  rM   r  rq   rr   rs   r  s         r2   max_pool2d_with_indicesr  -       "	! r3   c           
          [        XX#XESS9$ )NrB  r   r  r  s         r2   max_pool3d_with_indicesr  ;  r  r3   output_sizec                    U R                   Gt p#nUu  pVUS:X  d  US:X  a7  / UQUPUPnU R                  U5      U R                  U[        R                  S94$ X5-  S:X  a%  XF-  S:X  a  X5-  XF-  /n[        R                  X5      $ [        $ )Nr   r   )r   	new_emptyrY   r  r{   r  r<   )	rM   r  batchh_inw_inh_outw_outo_sizer  s	            r2   adaptive_max_pool2dr  I  s     U$LEzUaZ'5'%''{{6"AKKekkK$JJJ|qT\Q.}dm4++A;;r3   	out_int32rightsidesortersorted_sequencer  r  r  r  c          	      t    [         R                  U [        R                  " U/U R                  S9UUUUS9S   $ )N)rz   r  r   )r{   searchsortedrY   r?   rz   )r  r   r  r  r  r  s         r2   searchsorted_scalarr  [  sK     dVO$:$:;   	 	r3   noiselowerupper	generatorc                    U(       aM  U S:*  n[         R                  XX5S9n[        R                  " X`U-  U 5      n[        R                  " XgS5      n	X4$ X#-   S-  n
[         R	                  X
5      [        R
                  " 5       4$ )Nr   )r  r   ry   )r{   uniformrY   r   
leaky_relur   )r   r  r  r  rv  r  not_positiverrZ  	noise_outnegative_slopes              r2   rrelu_with_noise_functionalr  o  su     qyLLeLA\!8T:KK3	  -1,t4ellnDDr3   )NNrz  r:   )Nr   r   )NF)r   r   F)r   )F)Nr   r   F)g      ?gUUUUUU?FN)r  loggingr   r  rF  typingr   r   r   r   r   typing_extensionsr   r	   rY   torch._decomp_decompr/   torch._prims_common_prims_commonr  $torch.ao.quantization.fx._decomposedr
   r   r   torch._decomp.decompositionsr   rY  r   r   r=   r   r   $torch._decomp.decompositions_for_rngr   torch._dynamo.utilsr   torch._environmentr   !torch._higher_order_ops.out_dtyper   torch._inductor.utilsr   r   r   r   %torch.fx.experimental.symbolic_shapesr   r   r    r   r   r    r!   r"   r#   r$   _opsOperatorBaseOpOverloadPacketr%   __annotations__	getLogger__name__r-   r'   r{   r  	quantizedr)  quantized_decomposed_adaptive_avg_pool2d_backwardindex_selectaddmvarangebitwise_and_bitwise_or_
clamp_min_distelu
empty_likeflipgeluhardtanhlcmr  linalg_vector_norm_log_softmax max_pool2d_with_indices_backward_native_batch_norm_legit#_native_batch_norm_legit_functional$_native_batch_norm_legit_no_training_batch_norm_with_update"_batch_norm_with_update_functional_batch_norm_no_updatebatch_norm_backwardr{  native_group_normnative_layer_normnll_loss2d_backwardpermute_copyrrelu_with_noise_backward_softmaxsin_sqrt__to_copytril_indicestriu_indicesunbind_copyr  upsample_bilinear2dvecr-  r8  inductor_decompositionsr,   _unsafe_indexr  #_unsafe_masked_index_put_accumulate+_scaled_dot_product_flash_attention_for_cpur   r  rP   rO   rb   gluselect_scatterslice_scattersplitr   r   r|   unbindbaddbmmr&   r+   
OpOverloadr0   r   r>   _assert_asyncr@   strrD   _functional_assert_asyncrG   rL   SymInttypesNumberrQ   rZ   rm   r~   tupler   r   r   r   rV   r   r   r   r   r   r   r   detach_r   r   r   r   r  	view_copyr  r	  r
  r  r  rz   r  r  r  r   r  r#  	low_dtyper%  r!  embedding_bag_byte_unpackrO  r[  _foreach_addcmulrm  re  _foreach_addcdivri  _foreach_lerpro  rr  rs  r  py_impl_CDispatchKeyAutogradcachedictr  r  r  choose_qparamsr?   r  r  r  r  r  r  r  r  r  r  r  	GeneratorrB   r3   r2   <module>rc     s       
  : : 2   # + 
  F ( ( 7 . 
  %  T]t_#	JJUZZ888 )  !yy~~		II	YY!!
yy55 ,+**++ 	

+ 		+
 	+ 	+ 	+ 			+ 	+ 	+ 			+ 			+ 	+ 	+ 	+  	!+" 	#+$ 	--%+& 	%%'+( 	00)+* 	11++, 	$$-+. 	///+0 	""1+2 	  3+4 	5+6 	7+8 	9+: 	  ;+< 	=+> 	&&?+@ 	A+B 			C+D 	

E+F 	G+H 	I+J 	K+L 	M+N 	O+P 	  $$Q+R 	55S+T 	++U+- \ K,.J2IJ
 	,,44<<NNNN!!NNHHJJLLHHKKLL#W Duzz44ejj6Q6QQRS ( n&8 9>	&6!77	8>xB (2r6"223> 6678\\  	
  \\ 9& ++//01ELL s t  2
 66::;<u|| # $  = ::BBCD )-(,	LL 
%++$$	% 
%++$$	%	
 
 E %# )-(,	||		%++$$	%	 
%++$$	%	 \\		 $ &	 $	
uS%,,&'
(	""	 	 \\		 %	 () !"M||M	M <<M LL	M ;;M \\M *M* ,,4456S
uS%,,&'
(S#YS S \\	S 7S 2234..<<. LL. S		.
 #tCy.!. 3S	>". CcN#. . I. . d. 5<<u||34. 5.@ ,,-.G G GU\\ G /G
 
# (,
,,LL $ \\	  $0 %
 (,  !
,,
,, ,, $	
 ++

 ;; \\  &8 	" (, 
,, LL  $  \\	   # N ))*+ :%,,:	: \\: ,:z %:U\\ :ell : &:& 
#
 +/	*||*||* EKK&&'	*
 \\* $*Z ++,-   . DLL12u||   3 EJJ/0Iu|| IELL IU\\ I 1I EJJ/0Iu|| IELL IU\\ I 1I 		" 
,,	#  \\	 # 		" 
,,	#  \\	 # ))*+:
,,:	: : 	:
 \\: ,: //01)
,,)
uS%,,&'
() \\) 2) --./"
,,";;" \\" 0" 48LLE//0  ' $(%)37=
,,= EKK = U\\"	=
 E//0= = \\= (=  ( $(%)37=
,,= EKK = U\\"	=
 E//0= = \\= )=  '
 $(%)%)).)>)>=
,,=c5j!= EKK 	=
 U\\"= U\\"= = = &&= \\= (=* ))112
 $(%)37=
,,=
= EKK 	=
 U\\"= E//0= = \\= 3=& ))334 $(%)37=
,,=	= =
 EKK = U\\"= E//0= = \\= 5=( ,,-5
5
uS%,,&'
(5 5 \\	5 .5 	EEMMN<<LL ,, \\	 O 
;;CCD<< ll LL	
 ,, || ,, || LL  \\ E4 		++EEF
Au|| 
A 
A G
A --./  ||
,,  	
  \\  0: --445
 	
u||
u||$ % 	
 
%,, 6 --445
 	
u||
u||$ % 	
 
%,, 6 **112
%
ell#
 KK
 
%,,	
 3
 **556
%
ell#
 %++$$%
 
%,,	
 7
 ''(<(<(E(EF../<<LL //%,,
' //%,,/	
 .  !&  5<<u||34 0 G< 6T#xS'9"9: 6 6!T#xS'9"9: ! ++,
,,
,, LL \\	 -$ ,;;BBC?<<?? ? 
	?
 ;;? 5<<%&? D? !
 	
)
,,
)<<
) LL
) 	
)
 \\
) "
) 		"
 	
,,<< LL 	
 \\ # 33;;<##LL# 
# 	#
 \\#  =#( ))* 1
,,1	1 <<1 
	1
 1 1 \\1 +1h1||1c1 U3S	>*+1 3S	>"	1
 CcN#1 1 
1 5<<%&1h 445 /3%&&'
||
c
 U3S	>*+
 3S	>"	

 CcN#
 
 5<<%&
 6
 445 /3%&&'
||
c
 U3S	>*+
 3S	>"	

 CcN#
 
 5<<%&
 6
 001||"&s)
5<<%& 2" ))001
 %)	\\	
++

	 		
 	 3-	 U\\"	 \\	 2	& 889 %+/E
,,E<<E E 	E
 E (E 5<<%&E :Er3   