
    %hs                        d dl mZ d dlmZmZmZmZmZmZm	Z	 d dl
mZ d dlmZmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZmZ  ed           G d	 d
                      Z ed           G d d                      Z ed           G d de                      Z ed           G d d                      Z  ed           G d de                       Z! ed           G d d                      Z" ed           G d d                      Z# ed           G d d                      Z$ ed           G d d                      Z% ed           G d d                      Z&ddded e'd!efd"Z(ded!e'fd#Z)ddd$d%ed&e'd'e'd!e*fd(Z+d%ed!ee,         fd)Z-d*ed!efd+Z.ddd,ded e'd-e'd!e fd.Z/ddd,d/ed0ee*         d e'd-e'd!e f
d1Z0d2eed3f         d!ee*         fd4Z1d%ed!e*fd5Z2d%ed!e*fd6Z3d7e d!eee*e*f                  fd8Z4d7e d!e*fd9Z5	 dPd:e ded'e'd!ee$d3f         fd;Z6h d<Z7ded!e*fd=Z8ded!e*fd>Z9d?d@dedAee          d!ee*d3f         fdBZ:ddCd%edDee*         dEee*         d'e'd!e*f
dFZ;ddCdGe,d*ed'e'd!e%fdHZ<ddCd:e ded'e'd!ee*e%f         fdIZ=dJdKdLdMdMdNZ>ddCd:e ded'e'd!e&fdOZ?d?S )Q    )	dataclass)DictListOptionalSequenceSetTupleUnion)cpp)BindingCppSignatureCppSignatureGroup)pythonify_default)
ArgumentBaseTyBaseTypeFunctionSchemaListTypeNativeFunctionOptionalTypeReturnTypeVariantT)frozenc                   *    e Zd ZU eedf         ed<   dS )PythonReturns.returnsN)__name__
__module____qualname__r	   r   __annotations__     S/var/www/html/auto_sub_bot/venv/lib/python3.11/site-packages/torchgen/api/python.pyr   r      s'         63;r#   r   c                       e Zd ZU eed<   eed<   ee         ed<   ee         ed<   dddded	ed
efdZddddeded
efdZ	dS )PythonArgumentnametypedefaultdefault_initFTmethodsymintr,   r-   returnc                    t          | j        |                              dd                              dd          }| j        }|dk    r|dv r|sd}| j        .dddd	                    | j        | j                  }| d
| d| S | d
| S )Nr-   zconst  z &self)TensorNumberinputNone)nullptrc10::nullopt{} =)argument_type_strr(   replacer'   r)   get)r2   r,   r-   type_strr'   r)   s         r$   argument_strzPythonArgument.argument_str   s    di777WXr""WT2 	 y 6>>h*>>>v>D <#! &  c$,--	 
 1111111'''''r#   r,   
deprecatedrB   c                x   t          | j                  }| j        }|dk    r|dk    r|s|sd}|dk    r|dz  }|dk    r|dk    r
|sd|z   dz   }|ot          | t                    o
| j        d	k    }| j        |st          | j        t                    rq| j        j        t          t          j
                  k    rJ| j                            d
          r0| j                            d          rd| j        dd         z   dz   }n&d	d	d	ddd                    | j        | j                  }| d| d| S | d| S )Nr2   r3   r5   from_out	Optional[]r6   {}(   )contiguous_formatper_tensor_affine)r7   r8   r9   zMemoryFormat::ContiguouszQScheme::PER_TENSOR_AFFINE:  = )argument_type_str_pyir(   r'   
isinstancePythonOutArgumentr)   r   elemr   r   int
startswithendswithr>   )r2   r,   rB   r?   r'   treat_as_no_defaultr)   s          r$   argument_str_pyizPythonArgument.argument_str_pyi   s    )33y 6>>h(2262*2D6>>CKD 5==X11*1"X-3H  '4!233'& 	 <#,?#49h//2INhvz&:&:::L++C00 ;L))#.. ; QrT 22S8  &$* 0C2E  #dlDL11  44h447444((h(((r#   N)
r   r   r    strr!   r   r   boolr@   r[   r"   r#   r$   r&   r&      s         
III
JJJc] 3- .34 ( ( (d (D (C ( ( ( (4 !&%-) -) -)-)37-)	-) -) -) -) -) -)r#   r&   c                   f    e Zd ZU eedf         ed<   edeedf         ded          fd            ZdS )rU   .outputsr.   c                 z   | sd S t          |           }|dk    r*t          | d         j        | d         j        dd |           S |dk    rdt	          d | D                       rt          d|            t          dt          t          t          j	                  |          dd |           S t          d          )	NrL   r   r6   )r'   r(   r)   r*   r_   c              3   J   K   | ]}|j                                          V  d S Nr(   is_tensor_like.0as     r$   	<genexpr>z1PythonOutArgument.from_outputs.<locals>.<genexpr>>  s3      @@1qv,,...@@@@@@r#   zUnsupported output type: rF   z!Unexpected PythonOutArgument size)lenrU   r'   r(   anyRuntimeErrorr   r   r   r3   AssertionError)r_   sizes     r$   from_outputszPythonOutArgument.from_outputs-  s      	47||199$QZ_QZ_!    AXX@@@@@@@ J"#Hw#H#HIII$hv}55t<<!    ABBBr#   N)	r   r   r    r	   r&   r!   staticmethodr   rn   r"   r#   r$   rU   rU   $  st          >3&''''C~s*+C	%	&C C C \C C Cr#   rU   c            
       V   e Zd ZU eed<   eedf         ed<   eedf         ed<   ee         ed<   e	ed<   eedf         ed<   e
ed<   ed	e
fd
            Zdddde
de
d	eeeef         df         fdZd	efdZd	efdZdddde
de
d	efdZddde
d	efdZddde
d	ee         fdZdS )PythonSignaturer'   .
input_argsinput_kwargsoutput_argsr   tensor_options_argsr,   r.   c                     dS )NFr"   r2   s    r$   rB   zPythonSignature.deprecatedh  s    ur#   F)skip_outputsskip_tensor_optionsrx   ry   c                
   g }|                     | j                   |                     | j                   | j        |s|                    | j                   |s|                     | j                   t          |          S rb   )extendrr   rs   rt   appendru   tuple)r2   rx   ry   results       r$   	argumentszPythonSignature.argumentsl  s     BDdo&&&d'(((''MM$*+++" 	4MM$2333V}}r#   c                 D    t          |                                           S rb   )ri   r   rw   s    r$   arguments_countzPythonSignature.arguments_countx  s    4>>##$$$r#   c                 T    t          | j                  t          | j                  z   S rb   )ri   rr   rs   rw   s    r$   
output_idxzPythonSignature.output_idx{  s"    4?##c$*;&<&<<<r#   Trx   r-   r-   c                
                          |          } fd|D             }t           j                  }t          |          |k    r|                    |d            j         dd                    |           dS )Nrx   c                 H    g | ]}|                     j                   S )r+   )r@   r,   )rf   rg   r2   r-   s     r$   
<listcomp>z1PythonSignature.signature_str.<locals>.<listcomp>  s8     %
 %
 %
BCANN$+fN==%
 %
 %
r#   *rK   , rN   )r   ri   rr   insertr'   join)r2   rx   r-   argsschema_formalspositional_argcs   ` `   r$   signature_strzPythonSignature.signature_str  s    ~~<~88%
 %
 %
 %
 %
GK%
 %
 %
 do..~00!!/3777)::dii77::::r#   r   c                f                          |          } fd|D             }t           j                  }t          |          |k    r|                    |d           t	                     } j        r|                    dd           d j         dd                    |           d	| d
S )Nr   c                 F    g | ]}|                     j                   S r,   r[   r,   rf   rg   r2   s     r$   r   z5PythonSignature.signature_str_pyi.<locals>.<listcomp>  9     %
 %
 %
78Adk22%
 %
 %
r#   r   r   r2   def rK   r   ) -> : ...)r   ri   rr   r   returns_str_pyir,   r'   r   r2   rx   r   r   r   returns_strs   `     r$   signature_str_pyiz!PythonSignature.signature_str_pyi  s    ~~<~88%
 %
 %
 %
<@%
 %
 %
 do..~00!!/3777 &d++; 	-!!!V,,,TdiTT$))N";";TT+TTTTr#   c                                           |          } fd|D             }                                 }t           j                  }d}|dk    r@|d         j        }t          |t                    rt          |j                  dv r|dk    rd}|sd S d|d         j	        z   d	z   |d<   t                     } j        r|                    dd
           d j	         dd                    |           d| dS )Nr   c                 F    g | ]}|                     j                   S r   r   r   s     r$   r   z<PythonSignature.signature_str_pyi_vararg.<locals>.<listcomp>  r   r#   Fr   )rW   SymIntrL   Tr   z: _intr2   r   rK   r   r   r   )r   r   ri   rr   r(   rT   r   r\   rV   r'   r   r,   r   r   )	r2   rx   r   r   num_argsnum_positionalargshave_vararg_versionvararg_typer   s	   `        r$   signature_str_pyi_varargz(PythonSignature.signature_str_pyi_vararg  s:   ~~<~88%
 %
 %
 %
<@%
 %
 %
 '')) 11#a<<q',K;11+())->>>&!++&*#" 	4  $q',.9q%d++; 	-!!!V,,,TdiTT$))N";";TT+TTTTr#   N)r   r   r    r\   r!   r	   r&   r   rU   r   r]   propertyrB   r
   r   rW   r   r   r   r   r   r"   r#   r$   rq   rq   K  s         III nc)**** +,,,,+,,,,  ~s23333 LLLD    X ',
 
 
#
BF
	u^%667<	=
 
 
 
% % % % %=C = = = = 5:$ 	; 	; 	;T 	;4 	;SV 	; 	; 	; 	; 9> U U U U# U U U U  @E U U U URU U U U U U Ur#   rq   c                       e Zd ZU eed<   eedf         ed<   edefd            Z	dddd	ed
edefdZ
ddd	edefdZddd	edee         fdZdS )PythonSignatureDeprecateddeprecated_schema.deprecated_args_exprsr.   c                     dS )NTr"   rw   s    r$   rB   z$PythonSignatureDeprecated.deprecated      tr#   FTr   rx   r-   c                B    t                               | ||          dz   S )Nr   z|deprecated)rq   r   )r2   rx   r-   s      r$   r   z'PythonSignatureDeprecated.signature_str  s0    ))< *   	
r#   r   c                ,                          |          } fd|D             }t           j                  }t          |          |k    r|                    |d           t	                     }d j         dd                    |           d| dS )	Nr   c                 H    g | ]}|                     j        d           S )TrA   r   r   s     r$   r   z?PythonSignatureDeprecated.signature_str_pyi.<locals>.<listcomp>  s;     %
 %
 %
HIAdkdCC%
 %
 %
r#   r   r   rK   r   r   r   )r   ri   rr   r   r   r'   r   r   s   `     r$   r   z+PythonSignatureDeprecated.signature_str_pyi  s    ~~<~88%
 %
 %
 %
MQ%
 %
 %
 do..~00!!/3777%d++TdiTT$))N";";TT+TTTTr#   c                    d S rb   r"   )r2   rx   s     r$   r   z2PythonSignatureDeprecated.signature_str_pyi_vararg  r   r#   N)r   r   r    r   r!   r	   r\   r   r]   rB   r   r   r   r   r"   r#   r$   r   r     s         &%%% !c?***D    X 5:$ 
 
 
T 
4 
SV 
 
 
 
 9> 
U 
U 
U 
U# 
U 
U 
U 
U @E    RU      r#   r   c                   $    e Zd ZU eed<   eed<   dS )!PythonSignatureNativeFunctionPair	signaturefunctionN)r   r   r    rq   r!   r   r"   r#   r$   r   r     s*         r#   r   c                   j    e Zd ZU eed<   eed<   ee         ed<   ededee         dd fd            Z	dS )	PythonSignatureGroupr   baseoutplace
functionalrF   r.   c                     |t          |j        |j        d           S |j        j                                        }|j        j        |d<   t           t          |j                  di ||j        |j                  S )N)r   r   r   ru   r"   )r   r   r   __dict__copyru   r(   )clsr   rF   signature_kwargss       r$   
from_pairszPythonSignatureGroup.from_pairs  s     ;'$.(    =16688  4 	!	
 $)d3=))==,<==$\
 
 
 	
r#   N)
r   r   r    rq   r!   r   r   classmethodr   r   r"   r#   r$   r   r     s         
   ~&&&&
5
 78
 
 	
 
 
 [
 
 
r#   r   c                   .    e Zd ZU eed<   eed<   eed<   dS )DispatchLambdaArgumentr'   r?   
is_out_argN)r   r   r    r\   r!   r]   r"   r#   r$   r   r   2  s0         
IIIMMMr#   r   c                   T    e Zd ZU eed<   eed<   eed<   eed<   edefd            ZdS )PythonArgParserOutputExprr'   exprindexargumentr.   c                     d| j          dS )Nz
_r.isNone(rN   )r   rw   s    r$   is_none_exprz&PythonArgParserOutputExpr.is_none_exprM  s    )DJ))))r#   N)	r   r   r    r\   r!   rW   r&   r   r   r"   r#   r$   r   r   >  sj          III III JJJ *c * * * X* * *r#   r   c                   <    e Zd ZU ee         ed<   ee         ed<   dS )DispatchLambdaArgumentExprsexprsinitsN)r   r   r    r   r\   r!   r"   r#   r$   r   r   W  s6          C= C=r#   r   Fr   fr,   r.   c                8    t          j        | |          j        S )Nr   )r   from_native_functionr   )r   r,   s     r$   _cpp_signaturer   q  s    1!FCCCMMr#   c                 (    | j         j        j        d uS rb   )funcr   tensor_options)r   s    r$   has_tensor_optionsr   u  s    6*$66r#   simple_typer-   tr   r-   c                   t          | t                    r| j        t          j        k    rdS | j        t          j        k    rdS | j        t          j        k    rdS | j        t          j        k    rdS | j        t          j        t          j	        t          j
        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        fv r| j        j        S nt          | t,                    r6t          | j                  dk    rdS t1          | j        ||          }| dS t          | t2                    r(|s| j        nd }t          | j                  dk    r| j        J d	| j         d
S t          | j                  dk    r
|d| dndS t          | j                  dk    r|r
|d| dndS |d| dndS t          | j                  dk    r
|d| dndS t          | j                  dk    r
|d| dndS t          | j                  dk    r|rdS dS t          | j                  dk    r
|d| dndS t1          | j        ||          }d| d
S t7          dt9          |                      )Nr3   int64_tdoublezc10::string_viewTensor?r   ?r]   z::std::array<bool,>rW   zIntArrayRef[rH   IntArrayRefr   zSymIntArrayRef[SymIntArrayRefzTensorList[
TensorListScalarzScalarList[
ScalarListz c10::List<c10::optional<Tensor>>z(const c10::List<c10::optional<Tensor>> &DimnamezDimnameList[DimnameListz	ArrayRef<unrecognized type )rT   r   r'   r   r3   rW   floatr\   r]   QSchemer   
ScalarType	GeneratorStorageLayoutDeviceDeviceIndexMemoryFormatr   StreamConstQuantizerPtrr   r   rV   r<   r   rm   rk   repr)r   r   r-   rV   rm   s        r$   r<   r<     s    !X <#6V]""8Vvz!!9Vv|##8Vvz!!%%VKNMNMMNM$M
 
 
" 6;#
& 
A|	$	$  #qv;;(""9 [PPPzzz	Ax	 	  #(2qvvdqv;;&  6%%%11111[[E!!-1-=)$))))=P[[H$$ U151A-d----GW 261A-d----}T[[H$$,0,<(((((,N[[H$$,0,<(((((,N[[I%% B99AA[[I%%-1-=)$))))=P [PPP"4""""
5DGG55
6
66r#   c                 p    |                                  }|t          |j                  dk    r|j        S d S )Nr]   )is_list_liker\   rV   rm   )r   ls     r$   argument_type_sizer     s4    	A}QV..vtr#   rg   c                     t          | j        | j        | j        ;t	          t          t          j        | j        | j        d                              nd d           S )NFr0   r'   r(   r)   r*   )r&   r'   r(   r)   r\   r   r   default_expr)rg   s    r$   r   r     sj    VV
 9  c.qy!&OOOPP
 
 
 
 
 
 
r#   )r,   pyir   c                <    t          | j        | j        ||          S )N)category_overrider,   r   )signature_from_schemar   r   )r   r,   r   s      r$   r   r     s)     !	!"5f#   r#   r   r   c          
      >	    g }|                      j        j                   |s0 j        j        $|                     j        j        j                   |                      j        j                   |                      j        j                   |                      j        j                   |                      j        j	                   d  j        j
        D             d  j        j        D             d  j        j	        D             t          t          t
          t          fd|                              }t          t          t
          t          fd|                              }t          t          t
          t          fd|                              }t          d  j        j        D                       }t          d                                  D                       rt%          d	          t          d
  j        D                       }	t)          j                   }
|dk    p|	o| }|dv p)|
                    d          p|
                    d          }g }|s|rdt0          dt2          t0                   f fd}|                    t5          dt7          t9          t:          j                            d|rd n
 |d                               |                    t5          dt7          t9          t:          j                            d|rd n
 |d                               |                    t5          dt7          t9          t:          j                             d|rd n |d          pd                     |                    t5          dt7          t9          t:          j!                            dd                      |                    t5          dt7          t9          t:          j!                            dd                      tE           j                  }tG          t1           j        j                  ||tH          %                    |          t          |          ||          S )Nc                     h | ]	}|j         
S r"   r'   re   s     r$   	<setcomp>z(signature_from_schema.<locals>.<setcomp>  s    DDDQVDDDr#   c                     h | ]	}|j         
S r"   r  re   s     r$   r  z(signature_from_schema.<locals>.<setcomp>  s    EEEafEEEr#   c                     h | ]	}|j         
S r"   r  re   s     r$   r  z(signature_from_schema.<locals>.<setcomp>  s    666a16666r#   c                     | j         v S rb   r  )rg   input_arg_sets    r$   <lambda>z'signature_from_schema.<locals>.<lambda>  s    af6M r#   c                     | j         v S rb   r  )rg   kwarg_only_sets    r$   r  z'signature_from_schema.<locals>.<lambda>  s    qv'? r#   c                     | j         v S rb   r  )rg   out_arg_sets    r$   r  z'signature_from_schema.<locals>.<lambda>  s    16[3H r#   c              3   H   K   | ]}|j                                         V  d S rb   rc   re   s     r$   rh   z(signature_from_schema.<locals>.<genexpr>  sA        $%     r#   c              3   ,   K   | ]}|j         d k    V  dS )requires_gradNr  re   s     r$   rh   z(signature_from_schema.<locals>.<genexpr>  s)      
L
L16_$
L
L
L
L
L
Lr#   zTargument named requires_grad is reserved, should not explicitly add it in the schemac              3   H   K   | ]}|j                                         V  d S rb   rc   rf   rs     r$   rh   z(signature_from_schema.<locals>.<genexpr>  s0      JJAF1133JJJJJJr#   factory)newlikenew__liker'   r.   c                     j         j        }|d S t          ||           }|j        |j        dk    rd S t	          j        |j        |j        d          S )Nr6   Fr0   )r   r   getattrr)   r   r   r(   )r'   	topt_argsrg   r   s      r$   topt_default_initz0signature_from_schema.<locals>.topt_default_init$  s\    5I t	4((Ay AI$7$7t#AIqveDDDDr#   dtyper6   r   layoutdevicez$torch::tensors::get_default_device()
pin_memoryFalser  r   )r'   rr   rs   rt   ru   r   r,   )&r{   r   pre_self_positionalself_argr|   r   post_self_positionalpre_tensor_options_kwarg_onlypost_tensor_options_kwarg_onlyrF   flat_positionalflat_kwarg_onlyr}   mapfilterrj   flat_non_outschema_order_arguments
ValueErrorr   r   r'   rX   rY   r\   r   r&   r   r   r   r   r   r   r]   r   rq   rU   rn   )r   r   r,   r   r   rr   rs   r_   has_tensor_input_arghas_tensor_returnr'   is_factory_functionis_like_or_new_functionru   r  r   r  r
  r  s   `               @@@r$   r   r     s    DKK2333 6dn-9DN+4555KK3444KK<=== 	KK=>>>KK"###DDT^%CDDDMEEdn&DEEEN664>#5666Ks8V,M,M,M,Mt%T%TUUVVJHf????FFGG L C&)H)H)H)H$"O"OPPQQG   )-)D     
L
Ld.I.I.K.K
L
L
LLL 
b
 
 	
 JJT\JJJJJD+y8 6"66  	_, 	"??6""	"==!!  13 =
5 =
	EC 	EHSM 	E 	E 	E 	E 	E 	E 	""!(6+<"="=>>3SDD9J9J79S9S  		
 		
 		
 	""!(6="9"9::3TDD9J9J89T9T  		
 		
 		
 	""!(6="9"9:: /DD *)(33 BA  	
 	
 	
 	""!!(6;"7"788!	  	
 	
 	
 	""$!(6;"7"788!	  	
 	
 	
 DL111G  !%227;;!"566   r#   r   .c                     t          |           dk    st          d | D                       rg S t          d | D                       rt          d          d | D             S )NrL   c              3   (   K   | ]}|j         d u V  d S rb   r  r  s     r$   rh   z(namedtuple_fieldnames.<locals>.<genexpr>v  s(      @@1$@@@@@@r#   c              3   (   K   | ]}|j         d u V  d S rb   r  r  s     r$   rh   z(namedtuple_fieldnames.<locals>.<genexpr>y  s(      //!qv~//////r#   z)Unnamed field is not supported by codegenc                 6    g | ]}t          |j                  S r"   )r\   r'   r  s     r$   r   z)namedtuple_fieldnames.<locals>.<listcomp>  s     ---AF---r#   )ri   allrj   r-  r!  s    r$   namedtuple_fieldnamesr7  u  sy    
7||qC@@@@@@@	//w///// 
	J HIII--W----r#   c                    d}t          | t                    r	| j        } d}t          | t                    r| j        t
          j        t
          j        fv rd}| j        t
          j        k    rd}nR| j        t
          j	        k    rd}n9| j        t
          j
        k    rd}n | j        t
          j        k    rd}n| j        t
          j        k    rd}n| j        t
          j        k    rd	}n| j        t
          j        k    rd
}n| j        t
          j        k    rd}n| j        t
          j        k    rd}n| j        t
          j        k    rd}nq| j        t
          j        k    rd}nX| j        t
          j        k    rd}n?| j        t
          j        t
          j        t
          j        fv r| j        j        }nt          | t.                    rt          | j                  dk    r| j        dnd}n|                                 r(t          | j        t                    rd}| j        dnd}nt          | j                  dk    rd}nwt          | j                  dk    r%| j        t5          | j                  }d| d| d}n:t5          | j                  }d| d}nt7          dt9          |                      |rd|z   dz   }|S )NFT_intzUnion[_int, SymInt]_floatr\   zUnion[Number, _complex]_dtype_bool_qscheme_layoutzOptional[DeviceLikeType]memory_formatzUnion[str, ellipsis, None]zUnion[Storage, UntypedStorage]rW   zUnion[_int, _size]_sizez/Union[Tensor, Tuple[Tensor, ...], List[Tensor]]z'Union[Tuple[Tensor, ...], List[Tensor]]r   zSequence[_float]r   zUnion[z, Sequence[z]]z	Sequence[rH   r   rG   )rT   r   rV   r   r'   r   rW   r   r   r   r\   r   r   r]   r   r   r   r   r   r   r3   r   r   r   rm   rd   rS   rk   r   )r   add_optionalretrV   s       r$   rS   rS     s   L!\"" F!X 7;6fj&"4555C6V]""'CCVv|##CCVvz!!CCVv}$$+CCVv(((CCVv{""CCVv~%%CCVv}$$CCVv}$$,CCVv***!CCVv~%%.CCVv~%%2CCVv'7GGG&+C	Ax	 	  ;qv;;%*+&*<&&'CC 	& !&,// $# 6% BA> C
 [[G##$CC[[H$$);(00D4444D444CC(00D%d%%%CC 9Q99::: &C#%Jr#   c                    t          | t                    rt          | j                  }d| dS t          | t                    r>| j        t          j        k    rdS | j        t          j        k    rd}nt          |           S t          | t                    rt          | j                  }d| dS t          |           S )NrG   rH   _devicezOptional[str]zList[)rT   r   return_type_str_pyirV   r   r'   r   r   r   rS   r   )r   innerrB  s      r$   rE  rE    s     !\"" $#AF++#5####!X ,6V]""9Vv~%%!CC(+++!X  #AF++u ###r#   r   c                 :   d | j         j         D             }| j        }t          | j         j                   }|rbd| dg}|                    d t	          ||          D                        |                    d           d                    |          }||fS d S )Nc                 6    g | ]}t          |j                  S r"   rE  r(   r  s     r$   r   z+returns_named_tuple_pyi.<locals>.<listcomp>  #    UUUa)!&11UUUr#   zclass z(NamedTuple):c              3   ,   K   | ]\  }}d | d| V  dS )z    rQ   Nr"   )rf   r'   typs      r$   rh   z*returns_named_tuple_pyi.<locals>.<genexpr>  sH       $
 $
%.T3 4  3  $
 $
 $
 $
 $
 $
r#   r1   
)r   r'   r7  r{   zipr|   r   )r   python_returnsnamedtuple_namefield_namesnamedtuple_def_linesnamedtuple_defs         r$   returns_named_tuple_pyirT    s    UU9;L;TUUUNnO'	(9(ABBK / G G G GH## $
 $
25k>2R2R$
 $
 $
 	
 	
 	
 	##B'''#788 ..4r#   c                    t          | j        j                  }|r
d| j         S d | j        j        D             }t          |          dk    rdd                    |          z   dz   S t          |          dk    r|d         S dS )	Nztorch.return_types.c                 6    g | ]}t          |j                  S r"   rI  r  s     r$   r   z#returns_str_pyi.<locals>.<listcomp>  rJ  r#   rL   zTuple[r   rH   r   r6   )r7  r   r'   ri   r   )r   rQ  rO  s      r$   r   r     s    '	(9(ABBK 65Y^555UU9;L;TUUUN
>Q$))N333c99
>aa  6r#   psc                 $    t           t                    r j        }n|j        }t	          j        |j        d|d|j                  }d |j        j        D             dt          dt          f fd}t          t          ||                    S )NF)r   faithfulr-   r,   cpp_no_default_argsc                     h | ]	}|j         
S r"   r  re   s     r$   r  z'dispatch_lambda_args.<locals>.<setcomp>>  s    ???Q!&???r#   cpp_argr.   c                     | j         }| j        v }j        r| j        dk    rd}n0t                    dk    p| }|rddi                    ||          }t          | j        ||          S )Nr2   zconst at::Tensor &rL   zat::Tensor &
at::Tensor)r'   r?   r   )r(   r'   r,   ri   r>   r   )r\  r?   r   ensure_temp_safeout_argsrW  s       r$   dispatch_lambda_argz1dispatch_lambda_args.<locals>.dispatch_lambda_argA  s    <\X-
9 	*//+HH  #8}}1C^ *"L#h))  &!
 
 
 	
r#   )rT   r   r   r   r   r   rZ  rF   r   r   r}   r)  )rW  r   r-   schemacpp_argsra  r`  s   `     @r$   dispatch_lambda_argsrd  .  s     "/00 % }"1  H @?&*:*>???H
W 
1G 
 
 
 
 
 
 
, ((33444r#   >   void*
at::Scalar
at::Streamat::QSchemeat::ScalarTypeat::IntArrayRef::std::vector<at::Tensor>::std::tuple<double,int64_t>#::std::tuple<at::Tensor,at::Tensor>.::std::tuple<at::Tensor,at::Tensor,at::Tensor>2::std::tuple<at::Tensor,::std::vector<at::Tensor>>2::std::tuple<at::Tensor,at::Tensor,double,int64_t>6::std::tuple<at::Tensor,at::Tensor,at::Tensor,int64_t>9::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor>=::std::tuple<at::Tensor,at::Tensor,double,at::Tensor,int64_t>A::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t>D::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>O::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>r::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,c10::SymInt,c10::SymInt,at::Tensor,at::Tensor,at::Tensor>r]   voidr   r   r^  c                     t          d | j        j        D                       }t          j        |d                                          }|t          vrt          | j        j         d|           |S )Nc              3   L   K   | ]}t          |j        |j        d           V   d S rb   )r   r'   r(   r  s     r$   rh   z-dispatch_lambda_return_str.<locals>.<genexpr>  sC       ' ')*qvqvt$$' ' ' ' ' 'r#   Tr0   z returns unsupported type )	r}   r   r   r   returns_typecpp_typeSUPPORTED_RETURN_TYPESrk   r'   )r   returns_without_annotation
return_strs      r$   dispatch_lambda_return_strr  z  s    ( "' ' './fn' ' ' " " !"<TJJJSSUUJ///afkQQZQQRRRr#   c                 v   | j                                         }t          j        | j         |          }t          j        | j        v rd| S t          j        | j        v rDt          |           s)| j         j        j        j	        
                    d          rd}nd}| d| S t          d| j                    )N)symint_overloadzself.r  torchatz::z1could not dispatch, neither function nor method: )r   
has_symintr   r'   r   r,   variantsr   r   r   rY   rk   )r   r-   r'   	namespaces       r$   cpp_dispatch_targetr    s    V  F8AFF333D~##t~~1:%%a   	AFK$4$9$B$B7$K$K 	III%%t%%%
S16SS
T
TTr#   N)python_signaturer  c                |    t           d                                          }t                      }t          |t                    st          d |D                       }n%t          t           fd|j                            }t          j         j	        v r"t          t          dj
        |                    }|S )NFr   c              3   $   K   | ]}|j         V  d S rb   r  re   s     r$   rh   z%cpp_dispatch_exprs.<locals>.<genexpr>  s$      //af//////r#   c                 B    | dk    pj                                         S )NrF   )r   	is_out_fn)nr   s    r$   r  z$cpp_dispatch_exprs.<locals>.<lambda>  s    !u*:(8(8(:(: r#   r2   )r   r   r}   rT   r   r*  r   r   r,   r  __ne__)r   r  rc  r   s   `   r$   cpp_dispatch_exprsr    s    
 #15"A"A"A"K"K"M"MH"WWE&(ABB 

//h///// :::: 6 
 
 ~##fV]E2233Lr#   r0   r)   r*   c                V   |d u}|r$t          |           dvrt          d|  d          t          | t                    rZ| j        t
          j        t
          j        t
          j        t
          j	        t
          j
        fv r| j        j                                        S | j        t
          j        k    r|rdndS | j        t
          j        k    r|rdndS | j        t
          j        k    rdS | j        t
          j        k    rdS | j        t
          j        k    r|rd	ndS | j        t
          j        k    r|rd
ndS | j        t
          j        k    rdS | j        t
          j         k    rdS | j        t
          j        k    r|rdndS | j        t
          j        k    rdS n}t          | t*                    rt          | j                  dk    rdS t          | j                  dk    rdS t          | j                  dk    rdS |s|dv rt/          | j        d d |          dz   S t/          | j        |||          S t          | t0                    rt          | j                  dk    r| j        d| j         dndS t          | j                  dk    rdS t          | j                  dk    rd S t          | j                  d!k    rd"S t          | j                  d#k    rd$S t          | j                  d%k    r|rd&nd"S t          | j                  d'k    rd(S t          d|  d)          )*N)ScalarType?r   r   Device?r   Layout?r]   bool?ztype 'z+' does not supported unpacking with defaultscalartypeWithDefault
scalartypedeviceWithDefaultr  toInt64toSymInttoBoolWithDefaulttoBooltoDouble
stringViewlayoutWithDefaultr  memoryformatr3   optionalTensorr   	generatorz	Dimname[]toDimnameListOptional)Nr6   r8   r0   r   ztensorlist_n<r   
tensorlistr   list_of_optional_tensorsr   dimnamelistrW   intlistr   
doublelistr   
symintlistr   
scalarlistz%' is not supported by PythonArgParser)r\   rk   rT   r   r'   r   r3   r   r   r   r   lowerr   r   r   rW   r   r]   r   r   r   r   rV   arg_parser_unpack_methodr   rm   )r   r)   r*   r-   has_default_inits        r$   r  r    s`    $4/ 
TCFF 	+ 	 	 RARRRSSS!X C 6MMNMN
 
 
 6;$$&&&Vv(((.>P**LPVv}$$*:H&&HVv)))9Vvz!!9Vv}$$!'6::Y6Vv{""*:H&&HVv|##:Vvz!!<Vv}$$*:H&&HVv***!> + 
A|	$	$ $ qv;;(""##[[K'';[[K''**! 		g1O&O&O )tFKKKjX
 ,f    
Ax	 	   qv;;(""010B,16,,,,T[[I%%--[[I%% =[[E!!9[[G##<[[H$$#)8<<y8[[H$$<
HHHH
I
IIr#   	arg_indexc                    |j         d u}t          |j        |j        |j         |          }|r
d|j          nd}d| d|  | d}t	          |j        || |          S )N)r   r)   r*   r-   r   r1   z_r.rK   rN   )r'   r   r   r   )r*   r  r(   r)   r   r'   )r  rg   r-   has_defaultunpack_methodr)   r   s          r$   arg_parser_output_exprr  &  s     .,K,
&!)!.  M (3:#1>###G6666G666D$V	   r#   c                ^    fdt          |                                           D             S )Nc                 J    i | ]\  }}t          ||           }|j        | S )r0   )r  r'   )rf   irg   er-   s       r$   
<dictcomp>z+arg_parser_output_exprs.<locals>.<dictcomp><  sE       Aq(Af===A 	
  r#   )	enumerater   )rW  r   r-   s     `r$   arg_parser_output_exprsr  9  s>       bllnn--   r#   r  r  r  r  )r  r  r  r  r  c                F   t          | ||          }t          | ||          }g }i t          |          }|                     d          D ]}|j        }||j                 j        }	|r&|dk    r |                    d|	 dg           ||<   Dt          |t                    rtt          |j
                  dk    r\|j                                        rC|                    d|	 dg           t          |j
                  D ]\  }
}d	|
 d
|j        <   t          |j                  dk    r/|                    d| d|	 dd| d| d| dg           ||<   |	|<   | j        rdd<   d | j        D             |r||j                                        rt%          |j         d          | j        D ]}|j        t&          vrt%          |j         d|j         d          t          |j                  t&                              |j                  k    r4t%          |j         dt          |j                   d|j         d          t+          fdt&                                          D                       st%          |j         d           |                    d|d         j         d|d         j         d|d          j         d!|d"         j         d#|d$         j         d%           d&d&<   |srdv r|j                                        st%          |j         d'          t+          fd(d)D                       st%          |j         d*          |                    d+|d,         j         d-|d         j         d.|d         j         d-|d          j         d.|d         j         d-|d         j         d/           d"vrt%          |j         d0 d
          t3          t5          fd1|D                       |2          S )3Nr0   T)ry   r2   zauto self = ;rL   zauto out = zout[rH   z
Dimname[]?zauto __rR   zc10::optional<DimnameList> z = __z$ ? c10::make_optional(DimnameList(__z.value())) : c10::nullopt;c                     g | ]	}|j         
S r"   r  re   s     r$   r   z)dispatch_lambda_exprs.<locals>.<listcomp>  s     H H HA H H Hr#   z : tensor options with output argz%: unrecognized tensor options field 'z' in python binding argumentsz: unrecognized type 'z' for tensor options field ''c              3       K   | ]}|v V  	d S rb   r"   rf   rg   tensor_options_args_namess     r$   rh   z(dispatch_lambda_exprs.<locals>.<genexpr>  s:       
 
/0A**
 
 
 
 
 
r#   z": incomplete tensor options args: z0const auto options = TensorOptions()
    .dtype(r  z)
    .device(r  z)
    .layout(r  z)
    .requires_grad(r  z)
    .pinned_memory(r  z1);
torch::utils::maybe_initialize_cuda(options);
optionsz1: dtype in tensor_options_args without output argc              3       K   | ]}|v V  	d S rb   r"   r  s     r$   rh   z(dispatch_lambda_exprs.<locals>.<genexpr>  s)      TT!q55TTTTTTr#   )r  r  z,: incomplete tensor options for output checkzcheck_out_type_matches(rF   r   z,
                       z);
zE: expected "requires_grad" in tensor_options_args absent, but found [c              3   2   K   | ]}|j                  V  d S rb   r  )rf   rg   lambda_args_exprss     r$   rh   z(dispatch_lambda_exprs.<locals>.<genexpr>  s+      CC!%af-CCCCCCr#   )r   r   )r  rd  r   r   r'   r   r{   rT   rU   ri   r_   r   r  r  r\   r(   r,   ru   rk   TENSOR_OPTIONS_FIELDSr>   r6  keysr|   r   r   r}   )rW  r   r-   arg_parser_outputslambda_argsr   has_toptionsrg   r'   arg_parser_exprr  out_argr  r  s               @@r$   dispatch_lambda_exprsr  N  s    1QvFFF&r1V<<<KE(*%a((L \\d\33 '6 '6v,QV49 #	6DFNNLL5?555  
 '+d##q+,,	6AI""  "" # LL4/444  
 (	22 > >
72=+++!',//>[[L(( LL9d99999 H$  H  HT  H  Hgk  H  H  H   '+d## '6d## 
y +$*&! !I H1G H H H 16 	L!&JJJKKK' 	 	Av222"viiAFiii   16{{377????"vffCKKff]^]cfff   @  
 
 
 
4I4N4N4P4P
 
 
 
 
 	 6XX=VXX   	w',   ).   ).	 
 '7<  '|49  
	
 
	
 
	
 (1)$  5 ///6##%% "vPPP   TTTT?STTTTT "vKKK   LL*516 :LW:U:Z *73@ DVW_D`De  +849  >PPX=Y=f     ";;;6||`y|||   'CCCC{CCCCC   r#   )T)@dataclassesr   typingr   r   r   r   r   r	   r
   torchgen.apir   torchgen.api.typesr   r   r   torchgen.genr   torchgen.modelr   r   r   r   r   r   r   r   r   r   r   r&   rU   rq   r   r   r   r   r   r   r]   r   r   r\   r<   rW   r   r   r   r   r7  rS   rE  rT  r   rd  r}  r  r  r  r  r  r  r  r  r"   r#   r$   <module>r     s   ! ! ! ! ! ! D D D D D D D D D D D D D D D D D D       G G G G G G G G G G * * * * * *                       | $                $U) U) U) U) U) U) U) U)p $#C #C #C #C #C #C #C #CL $tU tU tU tU tU tU tU tUr $' ' ' ' ' ' ' 'f $        $'
 '
 '
 '
 '
 '
 '
 '
^ $        $* * * * * * * *0 $       2 9> N N Nn N N, N N N N7. 7T 7 7 7 7 %*$A7 A7 A7A7!A737A7A7 A7 A7 A7H$ 8C=     ^      */E  "&59    E E E
E  }E 	E
 
E E E E E^.5#5 .$s) . . . .&BT Bc B B B BJ$4 $C $ $ $ $. 8E#s(O;T    *
 
3 
 
 
 
l <@)5 )5)5*)548)5
!3&')5 )5 )5 )5^   :. S    :U> Uc U U U U" 37   / 38_	   R UYTJ TJ TJTJsmTJ3;C=TJMQTJTJ TJ TJ TJt :>  %26   ( ?C  *7;	#(
()       ?C{ { {{*{7;{ { { { { { {r#   