
    Χg                       d dl mZ d dlmZ d dl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dad&Z#dbd'Z$ddd(dcd.Z%ddd0Z&ded3Z'ddd4dfd6Z(ddd4dgd;Z)dhd?Z*did@Z+didAZ,djdDZ-dkdEZ.	 dldmdHZ/h dIZ0dndJZ1dndKZ2dLdMdodQZ3ddRdpdUZ4ddRdqdXZ5ddRdrdZZ6d[d\d]d^d^d_Z7ddRdsd`Z8dLS )t    )annotations)	dataclass)Sequence)cpp)BindingCppSignatureCppSignatureGroup)pythonify_default)
ArgumentBaseTyBaseTypeFunctionSchemaListTypeNativeFunctionOptionalTypeReturnTypeVariantT)frozenc                      e Zd ZU ded<   dS )PythonReturnstuple[Return, ...]returnsN__name__
__module____qualname____annotations__     O/var/www/html/ai-engine/env/lib/python3.11/site-packages/torchgen/api/python.pyr   r      s         r    r   c                  X    e Zd ZU ded<   ded<   ded<   ded<   dd	d
ddZdddddZdS )PythonArgumentstrnamer   type
str | Nonedefaultdefault_initFTmethodsymintr+   boolr,   returnc               "   t          | j        |                              dd                              dd          }| j        }|dk    r|dv r|sd}| j        /ddddd	                    | j        | j                  }| d
| d| S | d
| S )Nr,   zconst  z &self)TensorNumberinputNone)nullptr::std::nulloptstd::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+   
deprecatedrC   c          	        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                    r| j        j        t          t          j
                  k    r| j                            d
          rn| j                            d          rTdd                    t          t          j        | j        dd                             d                              z   dz   }n'd	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   r:   zc10::MemoryFormat::ContiguouszQScheme::PER_TENSOR_AFFINE:  = )argument_type_str_pyir&   r%   
isinstancePythonOutArgumentr(   r   elemr   r   int
startswithendswithjoinmapr$   stripsplitr?   )r2   r+   rC   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))#.. ;
 $))C	4<"3E3K3KC3P3P$Q$QRRRUXX 
  &&,$* 5H2E  #dlDL11  44h447444((h(((r    N)r+   r-   r,   r-   r.   r$   )r+   r-   rC   r-   r.   r$   )r   r   r   r   rA   rb   r   r    r!   r#   r#      s         IIIJJJ  .34 ( ( ( ( ( (6 !&%0) 0) 0) 0) 0) 0) 0) 0)r    r#   c                  2    e Zd ZU ded<   edd            ZdS )rX   tuple[PythonArgument, ...]outputsr.   PythonOutArgument | Nonec                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          )	NrN   r   r6   )r%   r&   r(   r)   re   c              3  J   K   | ]}|j                                          V  d S Nr&   is_tensor_like.0as     r!   	<genexpr>z1PythonOutArgument.from_outputs.<locals>.<genexpr>B  s3      @@1qv,,...@@@@@@r    zUnsupported output type: rG   z!Unexpected PythonOutArgument size)lenrX   r%   r&   anyRuntimeErrorr   r   r   r3   AssertionError)re   sizes     r!   from_outputszPythonOutArgument.from_outputs3  s     	47||199$QZ_QZ_!    AXX@@@@@@@ J"#Hw#H#HIII$hv}55t<<!    ABBBr    N)re   rd   r.   rf   )r   r   r   r   staticmethodru   r   r    r!   rX   rX   *  sH          ('''C C C \C C Cr    rX   c                      e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ed!d            Zdddd"dZd#dZd#dZdddd$dZ	ddd%dZ
ddd&dZd S )'PythonSignaturer$   r%   rd   
input_argsinput_kwargsrf   output_argsr   r   tensor_options_argsr-   r+   r.   c                    dS )NFr   r2   s    r!   rC   zPythonSignature.deprecatedl  s    ur    F)skip_outputsskip_tensor_optionsr   r   .tuple[PythonArgument | PythonOutArgument, ...]c               
   g }|                     | j                   |                     | j                   | j        |s|                    | j                   |s|                     | j                   t          |          S ri   )extendry   rz   r{   appendr|   tuple)r2   r   r   results       r!   	argumentszPythonSignature.argumentsp  s~     <>do&&&d'(((''MM$*+++" 	4MM$2333V}}r    rZ   c                D    t          |                                           S ri   )rp   r   r~   s    r!   arguments_countzPythonSignature.arguments_count|  s    4>>##$$$r    c                T    t          | j                  t          | j                  z   S ri   )rp   ry   rz   r~   s    r!   
output_idxzPythonSignature.output_idx  s"    4?##c$*;&<&<<<r    Tr   r,   r,   c               
                          |          } fd|D             }t           j                  }t          |          |k    r|                    |d            j         dd                    |           dS )Nr   c                H    g | ]}|                     j                   S )r*   )rA   r+   )rm   rn   r2   r,   s     r!   
<listcomp>z1PythonSignature.signature_str.<locals>.<listcomp>  s8     %
 %
 %
BCANN$+fN==%
 %
 %
r    *rL   rM   rQ   )r   rp   ry   insertr%   r]   )r2   r   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+   rb   r+   rm   rn   r2   s     r!   r   z5PythonSignature.signature_str_pyi.<locals>.<listcomp>  9     %
 %
 %
78Adk22%
 %
 %
r    r   r   r2   def rL   rM   ) -> : ...)r   rp   ry   r   returns_str_pyir+   r%   r]   r2   r   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    r'   c               X                          |          } 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 t          |t                    sJ d|d         j	        z   d	z   t          |j                  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   )rZ   SymIntrN   Tr   rT   r2   r   rL   rM   r   r   )r   r   rp   ry   r&   rW   r   r$   rY   r%   rV   r   r+   r   r]   )	r2   r   r   r   num_argsnum_positionalargshave_vararg_versionvararg_typer   s	   `        r!   signature_str_pyi_varargz(PythonSignature.signature_str_pyi_vararg  sf   ~~<~88%
 %
 %
 %
<@%
 %
 %
 '')) 11#a<<q',K;11+())->>>&!++&*#" 	4 +x00000$q',%(=k>N(O(OO 	q &d++; 	-!!!V,,,TdiTT$))N";";TT+TTTTr    Nr.   r-   )r   r-   r   r-   r.   r   )r.   rZ   r   r-   r,   r-   r.   r$   r   r-   r.   r$   r   r-   r.   r'   )r   r   r   r   propertyrC   r   r   r   r   r   r   r   r    r!   rx   rx   O  sV         III +*** -,,,))))  4333 LLL   X ',
 
 
 
 
 
% % % %= = = = 5:$ 	; 	; 	; 	; 	; 	; 9> U U U U U U  @E "U "U "U "U "U "U "U "Ur    rx   c                  h    e Zd ZU ded<   ded<   edd            Zdd	d
ddZddddZddddZdS )PythonSignatureDeprecatedr   deprecated_schematuple[str, ...]deprecated_args_exprsr.   r-   c                    dS )NTr   r~   s    r!   rC   z$PythonSignatureDeprecated.deprecated      tr    FTr   r   r,   r$   c               B    t                               | ||          dz   S )Nr   z|deprecated)rx   r   )r2   r   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 )TrB   r   r   s     r!   r   z?PythonSignatureDeprecated.signature_str_pyi.<locals>.<listcomp>  s;     %
 %
 %
HIAdkdCC%
 %
 %
r    r   r   rL   rM   r   r   )r   rp   ry   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    r'   c                   d S ri   r   )r2   r   s     r!   r   z2PythonSignatureDeprecated.signature_str_pyi_vararg  r   r    Nr   r   r   r   )	r   r   r   r   r   rC   r   r   r   r   r    r!   r   r     s          &%%% +***   X 5:$ 
 
 
 
 
 
 9> 
U 
U 
U 
U 
U 
U @E        r    r   c                  $    e Zd ZU ded<   ded<   dS )!PythonSignatureNativeFunctionPairrx   	signaturer   functionNr   r   r    r!   r   r     s*         r    r   c                  F    e Zd ZU ded<   ded<   ded<   edd            ZdS )PythonSignatureGrouprx   r   r   basezNativeFunction | Noneoutplace
functionalr   rG   (PythonSignatureNativeFunctionPair | Noner.   c                    |t          |j        |j        d           S |j        j                                        }|j        j        |d<   t           t          |j                  di ||j        |j                  S )N)r   r   r   r|   r   )r   r   r   __dict__copyr|   r&   )clsr   rG   signature_kwargss       r!   
from_pairszPythonSignatureGroup.from_pairs  s     ;'$.(    =16688  4 	!	
 $)d3=))==,<==$\
 
 
 	
r    N)r   r   rG   r   r.   r   )r   r   r   r   classmethodr   r   r    r!   r   r   
  s^         
   $###
 
 
 [
 
 
r    r   c                  .    e Zd ZU ded<   ded<   ded<   dS )DispatchLambdaArgumentr$   r%   r@   r-   
is_out_argNr   r   r    r!   r   r   :  s0         IIIMMMr    r   c                  P    e Zd ZU ded<   ded<   ded<   ded<   edd	            Zd
S )PythonArgParserOutputExprr$   r%   exprrZ   indexr#   argumentr.   c                    d| j          dS )Nz
_r.isNone(rQ   )r   r~   s    r!   is_none_exprz&PythonArgParserOutputExpr.is_none_exprU  s    )DJ))))r    N)r.   r$   )r   r   r   r   r   r   r   r    r!   r   r   F  sc          III III JJJ * * * X* * *r    r   c                  $    e Zd ZU ded<   ded<   dS )DispatchLambdaArgumentExprszSequence[str]exprsinitsNr   r   r    r!   r   r   _  s.           r    r   Fr   fr   r+   r-   r.   r   c               8    t          j        | |          j        S )Nr   )r	   from_native_functionr   )r   r+   s     r!   _cpp_signaturer   y  s    1!FCCCMMr    c                (    | j         j        j        d uS ri   )funcr   tensor_options)r   s    r!   has_tensor_optionsr   }  s    6*$66r    simple_typer,   tr   r   r,   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,>rZ   zIntArrayRef[rI   IntArrayRefr   zSymIntArrayRef[SymIntArrayRefzTensorList[
TensorListScalarzScalarList[
ScalarListz"c10::List<::std::optional<Tensor>>z*const c10::List<::std::optional<Tensor>> &DimnamezDimnameList[DimnameListz	ArrayRef<unrecognized type )rW   r   r%   r   r3   rZ   floatr$   r-   QSchemer   
ScalarType	GeneratorStorageLayoutDeviceDeviceIndexMemoryFormatr   StreamConstQuantizerPtrr   r   rY   r=   r   rt   rr   repr)r   r   r,   rY   rt   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%% D;;CC[[I%%-1-=)$))))=P [PPP"4""""
5DGG55
6
66r    
int | Nonec                p    |                                  }|t          |j                  dk    r|j        S d S )Nr-   )is_list_liker$   rY   rt   )r   ls     r!   argument_type_sizer    s4    	A}QV..vtr    rn   r   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)rn   s    r!   r   r     sb    VV y$ !#"219afU"S"S"STTUUU
 
 
 
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   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          }|dk    }g }|s|r|sd  fd}|                    t1          dt3          t5          t6          j                            d|rd n
 |d                               |                    t1          dt3          t5          t6          j                            d|rd n
 |d                               |                    t1          dt3          t5          t6          j                            d|rd n |d          pd                     |                    t1          dt3          t5          t6          j                            dd                      |                    t1          dt3          t5          t6          j                            dd                      tA           j                  }tC          tE           j        j                  ||tF          $                    |          t          |          ||          S )!Nc                    h | ]	}|j         
S r   r%   rl   s     r!   	<setcomp>z(signature_from_schema.<locals>.<setcomp>  s    DDDQVDDDr    c                    h | ]	}|j         
S r   r  rl   s     r!   r  z(signature_from_schema.<locals>.<setcomp>  s    EEEafEEEr    c                    h | ]	}|j         
S r   r  rl   s     r!   r  z(signature_from_schema.<locals>.<setcomp>  s    666a16666r    c                    | j         v S ri   r  )rn   input_arg_sets    r!   <lambda>z'signature_from_schema.<locals>.<lambda>  s    af6M r    c                    | j         v S ri   r  )rn   kwarg_only_sets    r!   r  z'signature_from_schema.<locals>.<lambda>  s    qv'? r    c                    | j         v S ri   r  )rn   out_arg_sets    r!   r  z'signature_from_schema.<locals>.<lambda>	  s    16[3H r    c              3  H   K   | ]}|j                                         V  d S ri   rj   rl   s     r!   ro   z(signature_from_schema.<locals>.<genexpr>  sA        $%     r    c              3  ,   K   | ]}|j         d k    V  dS )requires_gradNr  rl   s     r!   ro   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 ri   rj   rm   rs     r!   ro   z(signature_from_schema.<locals>.<genexpr>  s0      JJAF1133JJJJJJr    factory)newlikenew__likedummyr%   r$   r.   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_argsrn   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%   ry   rz   r{   r|   r   r+   )r%   r$   r.   r'   )%r   r   pre_self_positionalself_argr   r   post_self_positionalpre_tensor_options_kwarg_onlypost_tensor_options_kwarg_onlyrG   flat_positionalflat_kwarg_onlyr   r^   filterrq   flat_non_outschema_order_arguments
ValueErrorr   r   r%   r[   r\   r#   r   r   r   r   r   r   r-   r   rx   r$   rX   ru   )r   r  r+   r	  r   ry   rz   re   has_tensor_input_arghas_tensor_returnr%   is_factory_functionis_like_or_new_functionis_dummy_functionr|   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""	"==!! 
 *W402 =
6 =
@Q =
	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   r   	list[str]c                    t          |           dk    st          d | D                       rg S t          d | D                       rt          d          d | D             S )NrN   c              3  (   K   | ]}|j         d u V  d S ri   r  r  s     r!   ro   z'structseq_fieldnames.<locals>.<genexpr>  s(      @@1$@@@@@@r    c              3  (   K   | ]}|j         d u V  d S ri   r  r  s     r!   ro   z'structseq_fieldnames.<locals>.<genexpr>  s(      //!qv~//////r    z)Unnamed field is not supported by codegenc                6    g | ]}t          |j                  S r   )r$   r%   r  s     r!   r   z(structseq_fieldnames.<locals>.<listcomp>  s     ---AF---r    )rp   allrq   r:  r/  s    r!   structseq_fieldnamesrF  ~  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]rZ   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[rI   r   rH   )rW   r   rY   r   r%   r   rZ   r   r   r   r$   r   r   r-   r   r   r   r   r   r   r3   r   r   r   rt   rk   rV   rr   r   )r   add_optionalretrY   s       r!   rV   rV     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 )NrH   rI   _devicezOptional[str]Tuple[z, ...])rW   r   return_type_str_pyirY   r   r%   r   r   r   rV   r   )r   innerrQ  s      r!   rU  rU    s     !\"" $#AF++#5####!X ,6V]""9Vv~%%!CC(+++!X &#AF++%%%%% ###r    r   tuple[str, str] | Nonec           	        d | j         j         D             }| j        }t          | j         j                   }|rdd                    |           d}d| d| dg}t	          ||          D ]#\  }}|                    dd	| d
| dg           $|                    d| ddt          |           dt          |           dddg           d                    |          }||fS d S )Nc                6    g | ]}t          |j                  S r   rU  r&   r  s     r!   r   z)returns_structseq_pyi.<locals>.<listcomp>  #    UUUa)!&11UUUr    rT  rM   rI   zclass rL   z):z    @propertyz    def z
(self) -> r   z    def __new__(cls, sequence: z): ...z    n_fields: _int = z    n_sequeunce_fields: _int = z    n_unnamed_fields: _int = 0zG    def __init_subclass__(cls) -> NoReturn: ...  # prohibit subclassingr1   
)r   r%   rF  r]   zipr   rp   )	r   python_returnsstructseq_namefield_namesseq_typestructseq_def_linesr%   typstructseq_defs	            r!   returns_structseq_pyire    sU   UU9;L;TUUUN^N&y'8'@AAK '- 9DIIn558882^22h222
 [.99 	 	ID#&&#9t99s999    	""B(BBB:K(8(8::D#k2B2BDD0Y		
 		
 		
 		"566 },,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   rZ  r  s     r!   r   z#returns_str_pyi.<locals>.<listcomp>!  r[  r    rN   rT  rM   rI   r   r6   )rF  r   r%   rp   r]   )r   r`  r^  s      r!   r   r     s    &y'8'@AAK 65Y^555UU9;L;TUUUN
>Q$))N333c99
>aa  6r    ps"tuple[DispatchLambdaArgument, ...]c                    t           t                    r j        }n|j        }t	          j        |j        d|d|j                  }d |j        j        D             d	 fd}t          t          ||                    S )
NF)r   faithfulr,   r+   cpp_no_default_argsc                    h | ]	}|j         
S r   r  rl   s     r!   r  z'dispatch_lambda_args.<locals>.<setcomp>a  s    ???Q!&???r    cpp_argr   r.   r   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 &rN   zat::Tensor &
at::Tensor)r%   r@   r   )r&   r%   r+   rp   r?   r   )rn  r@   r   ensure_temp_safeout_argsrh  s       r!   dispatch_lambda_argz1dispatch_lambda_args.<locals>.dispatch_lambda_argd  s    <\X-
9 	*//+HH  #8}}1C^ *"L#h))  &!
 
 
 	
r    )rn  r   r.   r   )
rW   r   r   r   r   r   rl  rG   r   r^   )rh  r   r,   schemacpp_argsrs  rr  s   `     @r!   dispatch_lambda_argsrv  Q  s     "/00 % }"1  H @?&*:*>???H
 
 
 
 
 
 
, ((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   rp  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 ri   )r   r%   r&   r  s     r!   ro   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_TYPESrr   r%   )r   returns_without_annotation
return_strs      r!   dispatch_lambda_return_strr    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   r\   rr   )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  PythonSignature | Noner   c               d    t           d                                          }d}t          |t                    st	          d |D                       }n%t	          t           fd|j                            }t          j         j	        v r"t	          t          dj
        |                    }|S )NFr   r   c              3  $   K   | ]}|j         V  d S ri   r  rl   s     r!   ro   z%cpp_dispatch_exprs.<locals>.<genexpr>  s$      //af//////r    c                B    | dk    pj                                         S )NrG   )r   	is_out_fn)nr   s    r!   r  z$cpp_dispatch_exprs.<locals>.<lambda>  s    !u*:(8(8(:(: r    r2   )r   r   rW   r   r   r7  r   r   r+   r  __ne__)r   r  ru  r   s   `   r!   cpp_dispatch_exprsr    s    
 #15"A"A"A"K"K"M"MHE&(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   r9   r0   Optionalztensorlist_n<r   
tensorlistr   list_of_optional_tensorsr   dimnamelistrZ   intlistr   
doublelistr   
symintlistr   
scalarlistz%' is not supported by PythonArgParser)r$   rr   rW   r   r%   r   r3   r   r   r   r   lowerr   r   r   rZ   r   r-   r   r   r   r   rY   arg_parser_unpack_methodr   rt   )r   r(   r)   r,   has_default_inits        r!   r  r    sf    $4/ 
TCFF 	+ 	 	 RARRRSSS!X H 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''**! 	g 2
 '
 '
 )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_indexrZ   c                   |j         d u}t          |j        |j        |j         |          }|r
d|j          nd}d| d|  | d}t	          |j        || |          S )N)r   r(   r)   r,   rM   r1   z_r.rL   rQ   )r%   r   r   r   )r)   r  r&   r(   r   r%   )r  rn   r,   has_defaultunpack_methodr(   r   s          r!   arg_parser_output_exprr  N  s     .,K,
&!)!.  M (3:#1>###G6666G666D$V	   r    $dict[str, PythonArgParserOutputExpr]c               ^    fdt          |                                           D             S )Nc                J    i | ]\  }}t          ||           }|j        | S )r0   )r  r%   )rm   irn   er,   s       r!   
<dictcomp>z+arg_parser_output_exprs.<locals>.<dictcomp>d  sE       Aq(Af===A 	
  r    )	enumerater   )rh  r   r,   s     `r!   arg_parser_output_exprsr  a  s>       bllnn--   r    r  r  r  r  )r*  r,  r+  r-  r  c               6   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             |rj|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'|  d(| j                   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         d0           d"vrt%          |j         d1 d
          t1          t3          fd2|D                       |3          S )4Nr0   T)r   r2   zauto self = ;rN   zauto out = zout[rI   z
Dimname[]?zauto __rU   z::std::optional<DimnameList> z = __z& ? ::std::make_optional(DimnameList(__z.value())) : ::std::nullopt;c                    g | ]	}|j         
S r   r  rl   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 ri   r   rm   rn   tensor_options_args_namess     r!   ro   z(dispatch_lambda_exprs.<locals>.<genexpr>  s)      QQa111QQQQQQr    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-  z3);
torch::utils::maybe_initialize_device(options);
optionsz3: dtype in tensor_options_args without output arg, r;   c              3      K   | ]}|v V  	d S ri   r   r  s     r!   ro   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(rG   rM   z,
                       z);
zE: expected "requires_grad" in tensor_options_args absent, but found [c              3  2   K   | ]}|j                  V  d S ri   r  )rm   rn   lambda_args_exprss     r!   ro   z(dispatch_lambda_exprs.<locals>.<genexpr>  s+      CC!%af-CCCCCCr    )r   r   )r  rv  r   r   r%   r   r   rW   rX   rp   re   r   r  r  r$   r&   r+   r|   rr   TENSOR_OPTIONS_FIELDSr?   rE  r   r   r   r   )rh  r   r,   arg_parser_outputslambda_argsr   has_toptionsrn   r%   arg_parser_exprr  out_argr  r  s               @@r!   dispatch_lambda_exprsr  v  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 ND  N  Nt  N  Nko  N  N  N   '+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   @ QQQQ;PQQQQQ 	6XX=VXX   	w',   ).   ).	 
 '7<  '|49  
	
 
	
 
	
 (1)$  5 ///6##%% "veeRTeeWYWcee   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    )r   r   r+   r-   r.   r   )r   r   r.   r-   )r   r   r   r-   r,   r-   r.   r$   )r   r   r.   r  )rn   r   r.   r#   )r   r   r+   r-   r	  r-   r.   rx   )
r   r   r  r'   r+   r-   r	  r-   r.   rx   )r   r   r.   r@  )r   r   r.   r$   )r   rx   r.   rW  )r   rx   r.   r$   )T)rh  rx   r   r   r,   r-   r.   ri  )r   r   r.   r$   )r   r   r  r  r.   r   )
r   r   r(   r'   r)   r'   r,   r-   r.   r$   )r  rZ   rn   r#   r,   r-   r.   r   )rh  rx   r   r   r,   r-   r.   r  )rh  rx   r   r   r,   r-   r.   r   )9
__future__r   dataclassesr   typingr   torchgen.apir   torchgen.api.typesr   r   r	   torchgen.genr
   torchgen.modelr   r   r   r   r   r   r   r   r   r   r   r#   rX   rx   r   r   r   r   r   r   r   r   r=   r  r   r   r  rF  rV   rU  re  r   rv  r  r  r  r  r  r  r  r  r  r   r    r!   <module>r     sP   " " " " " " ! ! ! ! ! !             G G G G G G G G G G * * * * * *                       ~ $                $Y) Y) Y) Y) Y) Y) Y) Y)x $!C !C !C !C !C !C !C !CH $xU xU xU xU xU xU xU xUz $' ' ' ' ' ' ' 'f $        $'
 '
 '
 '
 '
 '
 '
 '
^ $        $* * * * * * * *0 $       2 9> N N N N N N7 7 7 7 %*$A7 A7 A7 A7 A7 A7H        */E      F F F F F F`. . . .&B B B BJ$ $ $ $., , , ,^
 
 
 
l <@)5 )5 )5 )5 )5^   :   :U U U U" 04     R OSYJ YJ YJ YJ YJ YJ~ :>     ( ?C         ?Cy y y y y y y yr    