
    9i'                       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  S SKJrJrJrJrJrJrJrJrJrJr  \(       a  S SKJrJr   SA       SBS
 jjr\" SS9 " S S5      5       r\" SS9 " S S5      5       r\" SS9 " S S\5      5       r\" SS9 " S S5      5       r \" SS9 " S S\ 5      5       r!\" SS9 " S S5      5       r"\" SS9 " S S5      5       r#\" SS9 " S S5      5       r$\" SS9 " S S5      5       r%\" SS9 " S S 5      5       r&S!S".SCS# jjr'SDS$ jr(S!SS%.       SES& jjr)SFS' jr*SGS( jr+S!S!S).       SHS* jjr,S!S!S).         SIS+ jjr-SJS, jr.SKS- jr/SKS. jr0SLS/ jr1SMS0 jr2 SN       SOS1 jjr31 S2kr4SPS3 jr5SPS4 jr6S	S5.     SQS6 jjr7SS7.         SRS8 jjr8SS7.       SSS9 jjr9SS7.       STS: jjr:S;S<S=S>S>S?.r;SS7.       SUS@ jjr<g	)V    )annotations)	dataclass)TYPE_CHECKING)cpp)BindingCppSignatureCppSignatureGroup)pythonify_default)
ArgumentBaseTyBaseTypeFunctionSchemaListTypeNativeFunctionOptionalTypeReturnTypeVariant)IterableSequenceNc                   [        U[        [        45      (       d  [        U5      nUb  SU 3OSnSU  SSR                  U5       SU S3n[	        U5      S::  d  [	        U5      S	:X  d  [        U5      S
:X  a  U$ SU  S3/S U 5       QSU S3PnSR                  U5      n[        S U 5       5      (       a  U$ UR                  S5      S-   $ )Nz ->  zdef (, ): ...P   r   selfc              3  .   #    U  H  nS U S3v   M     g7f)z    ,N ).0args     S/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/torchgen/api/python.py	<genexpr>,format_function_signature.<locals>.<genexpr>   s     	-9CDQ-9s   
c              3  >   #    U  H  n[        U5      S :*  v   M     g7f)r   N)len)r#   lines     r%   r&   r'      s     
-ut3t9?u   z ...z  # fmt: skip
    ...)
isinstancelisttuplejoinr*   allremovesuffix)name	argumentsreturn_typesigliness        r%   format_function_signaturer8      s     i$//)$	*5*AD&rKa		),-Q{m5
AC
3x2~Y1,i0@I0M
 tfA	-9	- K=E
 ))E
C

-u
---
 F#&>>>    T)frozenc                       \ rS rSr% S\S'   Srg)PythonReturns   tuple[Return, ...]returnsr"   N__name__
__module____qualname____firstlineno____annotations____static_attributes__r"   r9   r%   r<   r<      s    r9   r<   c                  p    \ rS rSr% S\S'   S\S'   S\S'   S\S'   S	S
S.SS jjrS	S	S.     SS jjrSrg)PythonArgument   strr3   r   type
str | Nonedefaultdefault_initFTmethodsymintc               >   [        U R                  US9R                  SS5      R                  SS5      nU R                  nUS:X  a  US;   a	  U(       d  SnU R                  b5  SSSSS	.R                  U R                  U R                  5      nU S
U SU 3$ U S
U 3$ )NrQ   zconst r   z &r   )TensorNumberinputNone)nullptr::std::nulloptstd::nullopt{} =)argument_type_strrK   replacer3   rM   get)r   rP   rQ   type_strr3   rM   s         r%   argument_strPythonArgument.argument_str   s    dii7WXr"WT2 	 yy 6>h*>>vD <<#!"( &	
 c$,,-  Zqay11Zq''r9   rP   
deprecatedc          	        [        U R                  5      nU R                  nUS:X  a  US:X  a  U(       d	  U(       d  SnUS:X  a  US-  nUS:X  a"  US:X  a  U(       d  U S3R                  SS5      nU=(       a&    [	        U [
        5      =(       a    U R                  S	:H  nU R                  Gb  U(       Gd  [	        U R                  [        5      (       a  U R                  R                  [        [        R                  5      :X  a  U R                  R                  S
5      (       al  U R                  R                  S5      (       aL  SSR                  [        [         R"                  U R                  SS R%                  S5      5      5      -   S-   nO-S	S	S	S	SSS.R'                  U R                  U R                  5      nU SU SU 3$ U SU 3$ )Nr   rT   rV   from_out | None | None | NonerW   {}r   r      r!   r   contiguous_formatper_tensor_affine)rX   rY   rZ   r[   zc10::MemoryFormat::ContiguouszQScheme::PER_TENSOR_AFFINE:  = )argument_type_str_pyirK   r3   r_   r-   PythonOutArgumentrM   r   elemr   r   int
startswithendswithr0   maprJ   stripsplitr`   )r   rP   re   ra   r3   treat_as_no_defaultrM   s          r%   argument_str_pyiPythonArgument.argument_str_pyi  s    )3yy 6>h(26*D6>CKD 5=X1*"7+334DiPH  '4!23'& 	 <<#,?499h//IINNhvzz&::LL++C00LL))#.. $))C		4<<"3E3K3KC3P$QRRUXX 
  &&,$* 5H2E #dllDLL1  V2hZs7)44V2hZ((r9   r"   N)rP   boolrQ   r   returnrJ   )rP   r   re   r   r   rJ   )rA   rB   rC   rD   rE   rb   r~   rF   r"   r9   r%   rH   rH      sO    
I
J  .34 (6 !&%0)0)370)	0) 0)r9   rH   c                  4    \ rS rSr% S\S'   \SS j5       rSrg)ru   iF  tuple[PythonArgument, ...]outputsc                J   U (       d  g [        U 5      nUS:X  a'  [        U S   R                  U S   R                  SS U S9$ US:  aS  [	        S U  5       5      (       a  [        SU  35      e[        S[        [        [        R                  5      U5      SS U S9$ [        S5      e)	Nrn   r   rW   )r3   rK   rM   rN   r   c              3  ^   #    U  H#  oR                   R                  5       (       + v   M%     g 7fNrK   is_tensor_liker#   as     r%   r&   1PythonOutArgument.from_outputs.<locals>.<genexpr>^  s!     @1vv,,...s   +-zUnsupported output type: ri   z!Unexpected PythonOutArgument size)r*   ru   r3   rK   anyRuntimeErrorr   r   r   rT   AssertionError)r   sizes     r%   from_outputsPythonOutArgument.from_outputsO  s    7|19$QZ__QZ__!  AX@@@@"%>wi#HII$hv}}5t<!  ABBr9   r"   N)r   r   r   PythonOutArgument | None)rA   rB   rC   rD   rE   staticmethodr   rF   r"   r9   r%   ru   ru   F  s     ('C Cr9   ru   c                      \ rS rSr% S\S'   S\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   \SS j5       rSSS.     SS jjrSS jrSS jr	SSS.SS jjr
SS.S S jjrSS.S!S jjrSrg)"PythonSignatureik  rJ   r3   r   
input_argsinput_kwargsr   output_argsr<   r?   tensor_options_argsr   rP   c                    g)NFr"   r   s    r%   re   PythonSignature.deprecated  s    r9   F)skip_outputsskip_tensor_optionsc               *   / nUR                  U R                  5        UR                  U R                  5        U R                  b"  U(       d  UR	                  U R                  5        U(       d  UR                  U R
                  5        [        U5      $ r   )extendr   r   r   appendr   r/   )r   r   r   results       r%   r4   PythonSignature.arguments  sj     <>doo&d''('MM$**+"MM$223V}r9   c                4    [        U R                  5       5      $ r   )r*   r4   r   s    r%   arguments_countPythonSignature.arguments_count  s    4>>#$$r9   c                X    [        U R                  5      [        U R                  5      -   $ r   )r*   r   r   r   s    r%   
output_idxPythonSignature.output_idx  s!    4??#c$*;*;&<<<r9   Tr   rQ   c               *   U R                  US9nU Vs/ s H  oDR                  U R                  US9PM     nn[        U R                  5      n[        U5      U:  a  UR                  US5        U R                   SSR                  U5       S3$ s  snf )Nr   rO   *r   r   r   )r4   rb   rP   r*   r   insertr3   r0   )r   r   rQ   argsr   schema_formalspositional_argcs          r%   signature_strPythonSignature.signature_str  s    ~~<~8GK%
GK!NN$++fN=t 	 %
 doo.~0!!/37))Adii78::%
   #Br   c               n   U R                  US9nU Vs/ s H  o3R                  U R                  S9PM     nn[        U R                  5      n[        U5      U:  a  UR                  US5        [        U 5      nU R                  (       a  UR                  SS5        [        U R                  XF5      $ s  snf )Nr   rP   r   r   r   	r4   r~   rP   r*   r   r   returns_str_pyir8   r3   r   r   r   r   r   r   returns_strs          r%   signature_str_pyi!PythonSignature.signature_str_pyi  s    ~~<~8<@%
<@qdkk2D 	 %
 doo.~0!!/37 &d+;;!!!V,(NPP%
s   "B2c               l   U R                  US9nU Vs/ s H  o3R                  U R                  S9PM     nnU R                  5       nUS:X  a  g [	        U R
                  5      nUS   R                  n[        U[        5      (       a  [        UR                  5      S;   a  US:X  d  g [        U[        5      (       d   eSUS   R                  -   S-   [        UR                  5      -   US'   [        U 5      nU R                  (       a  UR                  SS5        [        U R                  XH5      $ s  snf )	Nr   r   r   )rw   SymIntrn   r   rr   r   )r4   r~   rP   r   r*   r   rK   r-   r   rJ   rv   r3   rt   r   r   r8   )	r   r   r   r   r   num_argsnum_positionalargsvararg_typer   s	            r%   signature_str_pyi_vararg(PythonSignature.signature_str_pyi_vararg  s   ~~<~8<@%
<@qdkk2D 	 %
 '')q= 11gll{H--K$$%)::"a' +x0000$q',,%(=k>N>N(OO 	q &d+;;!!!V,(NPP;%
s   "D1r"   Nr   r   )r   r   r   r   r   z.tuple[PythonArgument | PythonOutArgument, ...])r   rw   r   r   rQ   r   r   rJ   r   r   r   rJ   r   r   r   rL   )rA   rB   rC   rD   rE   propertyre   r4   r   r   r   r   r   rF   r"   r9   r%   r   r   k  s     I +* -,))  43 L  ',
#
BF
	7
%= 5:$ 	; 9> Q  @E  Q  Qr9   r   c                  v    \ rS rSr% S\S'   S\S'   \SS j5       rSSS	.SS
 jjrSS.SS jjrSS.SS jjr	Sr
g)PythonSignatureDeprecatedi  r   deprecated_schematuple[str, ...]deprecated_args_exprsc                    g)NTr"   r   s    r%   re   $PythonSignatureDeprecated.deprecated      r9   FTr   c               0    [         R                  XUS9S-   $ )Nr   z|deprecated)r   r   )r   r   rQ   s      r%   r   'PythonSignatureDeprecated.signature_str  s)    )) *  	
r9   r   c               *   U R                  US9nU Vs/ s H  o3R                  U R                  SS9PM     nn[        U R                  5      n[        U5      U:  a  UR                  US5        [        U 5      n[        U R                  XF5      $ s  snf )Nr   Trd   r   r   r   s          r%   r   +PythonSignatureDeprecated.signature_str_pyi  s    ~~<~8MQ%
MQdkkdCT 	 %
 doo.~0!!/37%d+(NPP%
r   c                   g r   r"   )r   r   s     r%   r   2PythonSignatureDeprecated.signature_str_pyi_vararg  r   r9   r"   Nr   r   r   r   )rA   rB   rC   rD   rE   r   re   r   r   r   rF   r"   r9   r%   r   r     sL     &% +*  5:$ 
 9> 
Q @E  r9   r   c                  *    \ rS rSr% S\S'   S\S'   Srg)!PythonSignatureNativeFunctionPairi  r   	signaturer   functionr"   Nr@   r"   r9   r%   r   r     s    r9   r   c                  T    \ rS rSr% S\S'   S\S'   S\S'   \      SS j5       rS	rg
)PythonSignatureGroupi$  r   r   r   basezNativeFunction | Noneoutplacec                0   Uc  [        UR                  UR                  S S9$ UR                  R                  R	                  5       nUR                  R
                  US'   [        [        UR                  5      " S0 UD6UR                  UR                  S9$ )N)r   r   r   r   r"   )r   r   r   __dict__copyr   rK   )cls
functionalri   signature_kwargss       r%   
from_pairsPythonSignatureGroup.from_pairs1  s     ;'$..((  ==11668
   44 	./ $3==)=,<=$$\\
 	
r9   r"   N)r   r   ri   z(PythonSignatureNativeFunctionPair | Noner   r   )rA   rB   rC   rD   rE   classmethodr   rF   r"   r9   r%   r   r   $  sH    
   $#
5
 6
 
	
 
r9   r   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg)	DispatchLambdaArgumentiT  rJ   r3   ra   r   
is_out_argr"   Nr@   r"   r9   r%   r   r   T  s    
IMr9   r   c                  R    \ rS rSr% S\S'   S\S'   S\S'   S\S'   \SS	 j5       rS
rg)PythonArgParserOutputExpri`  rJ   r3   exprrw   indexrH   argumentc                "    SU R                    S3$ )Nz
_r.isNone(r   )r   r   s    r%   is_none_expr&PythonArgParserOutputExpr.is_none_expro  s    DJJ<q))r9   r"   N)r   rJ   )rA   rB   rC   rD   rE   r   r   rF   r"   r9   r%   r   r   `  s1     I I J * *r9   r   c                  *    \ rS rSr% S\S'   S\S'   Srg)DispatchLambdaArgumentExprsiy  zSequence[str]exprsinitsr"   Nr@   r"   r9   r%   r   r   y  s      r9   r   Fr   c               >    [         R                  " XS9R                  $ )Nr   )r	   from_native_functionr   )frP   s     r%   _cpp_signaturer     s    11!CMMMr9   c                F    U R                   R                  R                  S L$ r   )funcr4   tensor_options)r   s    r%   has_tensor_optionsr     s    66**$66r9   simple_typerQ   c               0   [        U [        5      (       GaW  U R                  [        R                  :X  a  gU R                  [        R
                  :X  a  gU R                  [        R                  :X  a  gU R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                   [        R"                  [        R$                  [        R&                  [        R(                  4;   a  U R                  R                  $ GO[        U [*        5      (       a  [-        U R.                  XS9nU S3$ [        U [0        5      (       GaO  U(       d  U R2                  OS n[        U R.                  5      S:X  a  U R2                  c   eSU R2                   S3$ [        U R.                  5      S	:X  a  Ub  S
U S3$ S$ [        U R.                  5      S:X  a  U(       a  Ub  SU S3$ S$ Ub  S
U S3$ S$ [        U R.                  5      S:X  a  Ub  SU S3$ S$ [        U R.                  5      S:X  a  Ub  SU S3$ S$ [        U R.                  5      S:X  a	  U(       a  gg[        U R.                  5      S:X  a  Ub  SU S3$ S$ [-        U R.                  XS9nSU S3$ [5        S[7        U 5       35      e)Nint64_tdoublezc10::string_viewr   ?r   z::std::array<bool,>rw   zIntArrayRef[]IntArrayRefr   zSymIntArrayRef[SymIntArrayRefrT   zTensorList[
TensorListScalarzScalarList[
ScalarListTensor?z"c10::List<::std::optional<Tensor>>z*const c10::List<::std::optional<Tensor>> &DimnamezDimnameList[DimnameListz	ArrayRef<unrecognized type )r-   r   r3   r   rw   floatrJ   rT   r   QSchemer
  
ScalarType	GeneratorStorageLayoutDeviceDeviceIndexMemoryFormatr  Streamr   r   r^   rv   r   r   r   repr)tr   rQ   rv   r   s        r%   r^   r^     s    !X66VZZVVv||#VVvzz!%VVMMKKNNMMNNMMMMNNMMMM
 
" 66;;#
& 
A|	$	$ [Pqz	Ax	 	 (qvvdqvv;& 66%%%'xq11[E!-1-=\$q)P=P[H$151AodV1-GW 261AdV1-T}T[H$,0,<[a(N,N[H$,0,<[a(N,N[I%;C[I%-1-=\$q)P=P [P4&""
+DG95
66r9   c                t    U R                  5       nUb%  [        UR                  5      S:w  a  UR                  $ g )Nr   )is_list_likerJ   rv   r   )r  ls     r%   argument_type_sizer    s.    	A}QVV.vvr9   c                    [        U R                  U R                  U R                  b?  [	        [        [        R                  " U R                  U R                  SS95      5      S S9$ S S S9$ )NFrS   r3   rK   rM   rN   )rH   r3   rK   rM   rJ   r
   r   default_expr)r   s    r%   r   r     sg    VVVV yy$ !#"2"2199affU"STU 
 
 
 
r9   )rP   pyic               @    [        U R                  U R                  XS9$ )N)category_overriderP   r#  )signature_from_schemar   r%  )r   rP   r#  s      r%   r   r     s"     !	!"5"5f r9   c          
     	  ^ ^^^ / nUR                  T R                  R                  5        U(       dF  T R                  R                  b/  UR	                  T R                  R                  R
                  5        UR                  T R                  R                  5        UR                  T R                  R                  5        UR                  T R                  R                  5        UR                  T R                  R                  5        T R                  R                   Vs1 s H  oUR                  iM     snmT R                  R                   Vs1 s H  oUR                  iM     snmT R                  R                   Vs1 s H  oUR                  iM     snm[        [        [
        [        U4S jU5      5      5      n[        [        [
        [        U4S jU5      5      5      n[        [        [
        [        U4S jU5      5      5      n[!        S T R                  R"                   5       5      n	[!        S T R%                  5        5       5      (       a  ['        S5      e[!        S T R(                   5       5      n
[*        R                  " T 5      nUS:H  =(       d    U
=(       a    U	(       + nUS	;   =(       d)    UR-                  S
5      =(       d    UR/                  S5      nUS:H  n/ nU(       d  U(       Gam  U(       Gde  SU 4S jjnUR	                  [1        S[3        [5        [6        R8                  5      5      SU(       a  S OU" S5      S95        UR	                  [1        S[3        [5        [6        R:                  5      5      SU(       a  S OU" S5      S95        UR	                  [1        S[3        [5        [6        R<                  5      5      SU(       a  S OU" S5      =(       d    SS95        UR	                  [1        S[3        [5        [6        R>                  5      5      SS S95        UR	                  [1        S[3        [5        [6        R>                  5      5      SS S95        [A        T R(                  S9n[C        [E        T R                  R                  5      UU[F        RI                  U5      [        U5      UUS9$ s  snf s  snf s  snf )Nc                "   > U R                   T;   $ r   r3   )r   input_arg_sets    r%   <lambda>'signature_from_schema.<locals>.<lambda>  s    aff6Mr9   c                "   > U R                   T;   $ r   r)  )r   kwarg_only_sets    r%   r+  r,    s    qvv'?r9   c                "   > U R                   T;   $ r   r)  )r   out_arg_sets    r%   r+  r,    s    166[3Hr9   c              3  T   #    U  H  oR                   R                  5       v   M      g 7fr   r   r   s     r%   r&   (signature_from_schema.<locals>.<genexpr>(  s"      )DA)D   &(c              3  >   #    U  H  oR                   S :H  v   M     g7f)requires_gradNr)  r   s     r%   r&   r2  +  s     
L.K66_$.Kr,   zTargument named requires_grad is reserved, should not explicitly add it in the schemac              3  T   #    U  H  oR                   R                  5       v   M      g 7fr   r   r#   rs     r%   r&   r2  2  s     J\FF1133\r3  factory)newlikenew__likedummyc                   > TR                   R                  nUc  g [        X5      nUR                  b  UR                  S:X  a  g [        R
                  " UR                  UR                  SS9$ )NrW   FrS   )r4   r   getattrrM   r   r"  rK   )r3   	topt_argsr   r   s      r%   topt_default_init0signature_from_schema.<locals>.topt_default_initB  sZ    55I 	(Ayy AII$7##AIIqvveDDr9   dtyperW   r!  layoutdevicez$torch::tensors::get_default_device()
pin_memoryFalser5  )r?   )r3   r   r   r   r   r?   rP   )r3   rJ   r   rL   )%r   r4   pre_self_positionalself_argr   r   post_self_positionalpre_tensor_options_kwarg_onlypost_tensor_options_kwarg_onlyri   flat_positionalr3   flat_kwarg_onlyr/   rz   filterr   flat_non_outschema_order_arguments
ValueErrorr?   r   rx   ry   rH   r   r   r   r  r  r  r   r<   r   rJ   ru   r   )r   r%  rP   r#  r   r   r   r   r   has_tensor_input_arghas_tensor_returnr3   is_factory_functionis_like_or_new_functionis_dummy_functionr   rB  r?   r*  r.  r0  s   `                 @@@r%   r&  r&    s    DKK223dnn--9DNN++445KK334KK<<= 	KK==>KK""#%)^^%C%CD%CVV%CDM&*nn&D&DE&Dff&DEN#'>>#5#56#5a66#56Ks8V,Mt%TUVJHf?FGL C&)H$"OPQG  )-)D)D  
Ld.I.I.K
LLLb
 	
 JT\\JJD+y8 6"66  	_, 	"??6"	"==! 
 *W4026@Q	E 	""!(6+<+<"=>3D9J79S		
 	""!(6=="9:3D9J89T		
 	""!(6=="9: /  *(3 BA	
 	""!!(6;;"78!		
 	""$!(6;;"78!		
 DLL1G !%227;!"56 W EE6s   %S	SSc                    [        U 5      S::  d  [        S U  5       5      (       a  / $ [        S U  5       5      (       a  [        S5      eU  Vs/ s H  n[	        UR
                  5      PM     sn$ s  snf )Nrn   c              3  <   #    U  H  oR                   S L v   M     g 7fr   r)  r7  s     r%   r&   'structseq_fieldnames.<locals>.<genexpr>  s     @1$   c              3  <   #    U  H  oR                   S L v   M     g 7fr   r)  r7  s     r%   r&   r[    s     /w!vv~wr\  z)Unnamed field is not supported by codegen)r*   r1   r   rS  rJ   r3   )r?   r8  s     r%   structseq_fieldnamesr^    sb    
7|qC@@@@	/w/// HII%,-WAFFW---s   A1c                   Sn[        U [        5      (       a  U R                  n SnSn[        U [        5      (       Ga  U R                  [
        R                  [
        R                  4;   a  SnU R                  [
        R                  :X  a  SnGOU R                  [
        R                  :X  a  SnGOU R                  [
        R                  :X  a  SnGOU R                  [
        R                  :X  a  SnGO`U R                  [
        R                  :X  a  S	nGO>U R                  [
        R                  :X  a  S
nGOU R                  [
        R                  :X  a  SnGOU R                  [
        R                  :X  a  SnGOU R                  [
        R                   :X  a  SnGOU R                  [
        R"                  :X  a  SnGOU R                  [
        R$                  :X  a  SnGOrU R                  [
        R&                  :X  a  SnGOPU R                  [
        R(                  [
        R*                  [
        R,                  4;   a  U R                  R                  nO[        U [.        5      (       a  [        U R                  5      S:X  a  U R0                  b  SOSnOU R3                  5       (       a  SnU R0                  b  SOSnO[        U R                  5      S:X  a  SnOw[        U R                  5      S:X  a+  U R0                  b  [5        U R                  5      nU SU S3nO3[5        U R                  5      nSU S3nO[7        S[9        U 5       35      eU(       a  U S3R;                  SS5      nU$ )NFTr   _intz_int | SymInt_floatrJ   zNumber | _complex_dtype_bool_qscheme_layoutzDeviceLikeType | Nonememory_formatzstr | EllipsisType | NonezStorage | UntypedStoragerw   z_int | _size_sizez*Tensor | tuple[Tensor, ...] | list[Tensor]z!tuple[Tensor, ...] | list[Tensor]r  zSequence[_float]r   z | Sequence[r  z	Sequence[r  rj   rk   )r-   r   rv   r   r3   r   rw   r  r   r  rJ   r
  r  r   r  r  r  r  r  r  rT   r  r  r   r   r   rt   r   r  r_   )r  add_optionalretrv   s       r%   rt   rt     s   L!\""FF
C!X66fjj&"4"455C66V]]"!CVVv||#CVVvzz!CVVv}}$%CVVv(((CVVv{{"CVVv~~%CVVv}}$CVVv}}$)CVVv***!CVVv~~%-CVVv~~%,CVVv'7'7GG&&++C	Ax	 	 qvv;%$%FF$6.GC  L 66% =8 
 [G#$C[H$);(0DF,tfA.C(0DdV1%C /Qy9::Wo%%&6	BJr9   c                   [        U [        5      (       a*  [        U R                  5      nU S3R	                  SS5      $ [        U [
        5      (       aI  U R                  [        R                  :X  a  gU R                  [        R                  :X  a  g[        U 5      $ [        U [        5      (       a  [        U R                  5      nSU S3$ [        U 5      $ )Nrj   rk   _devicerL   tuple[z, ...])r-   r   return_type_str_pyirv   r_   r   r3   r   r  r  rt   r   )r  inners     r%   rm  rm    s     !\""#AFF+ (()99EE!X66V]]"VVv~~%(++!X#AFF+wf%% ##r9   c                   U R                   R                    Vs/ s H  n[        UR                  5      PM     nnU R                  n[	        U R                   R                   5      nU(       a  SSR                  U5       S3nSU SU S3/n[        XB5       H  u  pxUR                  SSU S	U S
3/5        M!     UR                  SSSU S3SSS[        U5       3S[        U5       3SSS/
5        SR                  U5      n	X94$ g s  snf )Nrl  r   r  zclass r   z):  # fmt: skipz    @propertyz    def z
(self) -> r   z    def __new__(z        cls,z        sequence: r!   z    ) -> Self:  # fmt: skipz        ...z    n_fields: Final[_int] = z%    n_sequence_fields: Final[_int] = z%    n_unnamed_fields: Final[_int] = 0zG    def __init_subclass__(cls) -> NoReturn: ...  # prohibit subclassingr   r(   )	r?   rm  rK   r3   r^  r0   zipr   r*   )
r   r8  python_returnsstructseq_namefield_namesseq_typestructseq_def_linesr3   ret_typestructseq_defs
             r%   returns_structseq_pyirx    s<   ;D;L;L;T;TU;Ta)!&&1;TNU^^N&y'8'8'@'@AK DIIn56a8^$AhZ?
 "+>ND&&#tfJxj> ? 	"""$XJa0-.s;/?.@A7K8H7IJ7Y	
 		"56$ ,,g Vs   Dc                ^   [        U R                  R                  5      nU(       a  SU R                   3$ U R                  R                   Vs/ s H  n[        UR                  5      PM     nn[        U5      S:  a  SSR                  U5      -   S-   $ [        U5      S:X  a  US   $ gs  snf )Nztorch.return_types.rn   rl  r   r  r   rW   )r^  r?   r3   rm  rK   r*   r0   )r   rs  r8  rq  s       r%   r   r   9  s    &y'8'8'@'@AK$Y^^$455;D;L;L;T;TU;Ta)!&&1;TNU
>Q$))N33c99
>aa   Vs   B*c                ^  ^ ^ [        T [        5      (       a  T R                  nOUR                  n[        R
                  " UR
                  SUSUR                  S9nUR
                  R                   Vs1 s H  oUR                  iM     snmSUU 4S jjn[        [        Xd5      5      $ s  snf )NF)r4   faithfulrQ   rP   cpp_no_default_argsc                  > U R                   nU R                  T;   nTR                  (       a  U R                  S:X  a  SnO6[        T5      S:*  =(       d    U(       + nU(       a  SS0R	                  X5      n[        U R                  UUS9$ )Nr   zconst at::Tensor &rn   zat::Tensor &
at::Tensor)r3   ra   r   )rK   r3   rP   r*   r`   r   )cpp_argra   r   ensure_temp_safeout_argspss       r%   dispatch_lambda_arg1dispatch_lambda_args.<locals>.dispatch_lambda_arg  s    <<\\X-
99/+H  #8}1C^"L#h)  &!
 	
r9   )r  r   r   r   )r-   r   r   r   r   r4   r|  ri   r3   r/   rz   )r  r   rQ   schemacpp_argsr   r  r  s   `      @r%   dispatch_lambda_argsr  n  s     "/00%% }}""11H +1*:*:*>*>?*>Q&&*>?H
 
, (3443 @s   5B*>   r   voidr  r  void*
at::Scalar
at::Streamr~  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>c                    [        S U R                  R                   5       5      n[        R                  " USS9R                  5       nU[        ;  a$  [        U R                  R                   SU 35      eU$ )Nc              3  d   #    U  H&  n[        UR                  UR                  S 5      v   M(     g 7fr   )r   r3   rK   r7  s     r%   r&   -dispatch_lambda_return_str.<locals>.<genexpr>  s'      '.<qvvqvvt$$ns   .0TrS   z returns unsupported type )	r/   r   r?   r   returns_typecpp_typeSUPPORTED_RETURN_TYPESr   r3   )r   returns_without_annotation
return_strs      r%   dispatch_lambda_return_strr    sp    ( "' './ffnn' " !!"<TJSSUJ//affkk]*DZLQRRr9   c                   U R                   R                  5       n[        R                  " U R                   US9n[        R
                  U R                  ;   a  SU 3$ [        R                  U R                  ;   aZ  [        U 5      (       d>  U R                   R                  R                  R                  R                  S5      (       a  SnOSnU SU 3$ [        SU R                    35      e)N)symint_overloadzself.r=  torchatz::z1could not dispatch, neither function nor method: )r   
has_symintr   r3   r   rP   variantsr   r   r   ry   r   )r   rQ   r3   	namespaces       r%   cpp_dispatch_targetr    s    VV F88AFFF3D~~#tf~1::%a  AFFKK$4$4$9$9$B$B7$K$KIIBtf%%
J166(S
TTr9   )python_signaturec               L  ^  [        T SS9R                  5       nSn[        U[        5      (       d  [	        S U 5       5      nO#[	        [        U 4S jUR                  5      5      n[        R                  T R                  ;   a  [	        [        SR                  U5      5      nU$ )NFr   r"   c              3  8   #    U  H  oR                   v   M     g 7fr   r)  r   s     r%   r&   %cpp_dispatch_exprs.<locals>.<genexpr>  s     /hffhs   c                P   > U S:g  =(       d    TR                   R                  5       $ )Nri   )r   	is_out_fn)nr   s    r%   r+  $cpp_dispatch_exprs.<locals>.<lambda>  s    !u*:(8(8(::r9   r   )r   r4   r-   r   r/   rP  r   r   rP   r  __ne__)r   r  r  r   s   `   r%   cpp_dispatch_exprsr    s    
 #15"A"K"K"MHE&(ABB/h// : 66
 ~~#fV]]E23Lr9   rS   c                  US LnU(       a  [        U 5      S;  a  [        SU  S35      e[        U [        5      (       Ga  U R                  [
        R                  [
        R                  [
        R                  [
        R                  [
        R                  4;   a$  U R                  R                  R                  5       $ U R                  [
        R                  :X  a  U(       a  S$ S$ U R                  [
        R                  :X  a  U(       a  S$ S$ U R                  [
        R                  :X  a  gU R                  [
        R                  :X  a  gU R                  [
        R                   :X  a  U(       a  S	$ S$ U R                  [
        R"                  :X  a  U(       a  S
$ S$ U R                  [
        R$                  :X  a  gU R                  [
        R                   :X  a  gU R                  [
        R&                  :X  a  U(       a  S$ S$ U R                  [
        R(                  :X  a  gGO[        U [*        5      (       a  [        U R,                  5      S:X  a  g[        U R,                  5      S:X  a  g[        U R,                  5      S:X  a  gU(       d  US;   a  [/        U R,                  S S US9S-   $ [/        U R,                  XUS9$ [        U [0        5      (       a  [        U R,                  5      S:X  a  U R2                  b  SU R2                   S3$ S$ [        U R,                  5      S:X  a  g[        U R,                  5      S:X  a  g [        U R,                  5      S!:X  a  g"[        U R,                  5      S#:X  a  g$[        U R,                  5      S%:X  a  U(       a  S&$ S"$ [        U R,                  5      S':X  a  g([        SU  S)35      e)*N)ScalarType?r  r  Device?r  Layout?r   bool?ztype 'z+' does not supported unpacking with defaultscalartypeWithDefault
scalartypedeviceWithDefaultrF  toInt64toSymInttoBoolWithDefaulttoBooltoDouble
stringViewlayoutWithDefaultrE  memoryformatrT   optionalTensorr  	generatorz	Dimname[]toDimnameListOptional)NrW   rY   rZ   rS   Optionalztensorlist_n<r  
tensorlistr  list_of_optional_tensorsr  dimnamelistrw   intlistr  
doublelistr   
symintlistr
  
scalarlistz%' is not supported by PythonArgParser)rJ   r   r-   r   r3   r   rT   r  r  r
  r  lowerr  r  r  rw   r   r   r  r  r  r   rv   arg_parser_unpack_methodr   r   )r  rM   rN   rQ   has_default_inits        r%   r  r    s    $4/CF 	+ 	 VA3&QRSS!X66MMMMNNMMNN
 
 66;;$$&&VVv(((.>*PLPVVv}}$*:&HHVVv)))VVvzz!VVv}}$!':6Y6VVv{{"*:&HHVVv||#VVvzz!VVv}}$*:&HHVVv***! + 
A|	$	$qvv;("#[K'[K'*!g 2
 '
 )tFKjX
 ,f  
Ax	 	 qvv;("010B]166(!,TT[I%-[I% [E![G#[H$#)<8y8[H$
s"GH
IIr9   c                   UR                   S Ln[        UR                  UR                  UR                   US9nU(       a  SUR                    3OSnSU SU  U S3n[	        UR
                  UU US9$ )N)r  rM   rN   rQ   r   r   z_r.r   r   )r3   r   r   r   )rN   r  rK   rM   r   r3   )	arg_indexr   rQ   has_defaultunpack_methodrM   r   s          r%   arg_parser_output_exprr  k  s}     ..,K,
&&!))!..M (31>>"#GqG9A6D$VV	 r9   c                   [        U R                  5       5       VVVs0 s H  u  p4[        X4US9nUR                  U_M     snnn$ s  snnnf )NrS   )	enumerater4   r  r3   )r  r   rQ   ir   es         r%   arg_parser_output_exprsr  ~  sL    
 blln--DA(f=A 	
	-  s   #Ar  r  r  r  )rD  rF  rE  rG  r5  c               	  ^^ [        XUS9n[        XUS9n/ n0 m[        U5      nU R                  SS9 GH2  nUR                  nX7R                     R
                  n	U(       a#  US:X  a  UR                  SU	 S3/5        UTU'   MR  [        U[        5      (       a  [        UR                  5      S:  ah  UR                  R                  5       (       aI  UR                  SU	 S3/5        [        UR                  5       H  u  pS	U
 S
3TUR                  '   M     M  [        UR                  5      S:X  a,  UR                  SU SU	 S3SU SU SU S3/5        UTU'   GM-  U	TU'   GM5     U R                   (       a  STS'   U R"                   Vs/ s H  owR                  PM     snmU(       Ga  UR                  R                  5       (       a  [%        UR                   S35      eU R"                   H  nUR                  [&        ;  a%  [%        UR                   SUR                   S35      e[        UR                  5      [&        R)                  UR                  5      :w  d  Mt  [%        UR                   S[        UR                  5       SUR                   S35      e   [+        U4S j[&         5       5      (       d  [%        UR                   ST 35      eUR-                  SUS   R
                   SUS   R
                   SUS   R
                   S US!   R
                   S"US#   R
                   S$35        S%TS%'   U(       Gd  T(       Ga  ST;   a  UR                  R                  5       (       d'  [%        UR                   S&U  S'U R                   35      e[+        U4S( jS) 5       5      (       d  [%        UR                   S*35      eUR-                  S+US,   R
                   S-US   R
                   S.US   R.                   S-US   R
                   S.US   R
                   S-US   R.                   S/35        S!T;  a  [%        UR                   S0T S
35      e[1        [3        U4S1 jU 5       5      US29$ s  snf )3NrS   T)r   r   zauto self = ;rn   zauto out = zout[r  z
Dimname[]?zauto __rs   z::std::optional<DimnameList> z = __z& ? ::std::make_optional(DimnameList(__z.value())) : ::std::nullopt;z : tensor options with output argz%: unrecognized tensor options field 'z' in python binding argumentsz: unrecognized type 'z' for tensor options field ''c              3  ,   >#    U  H	  oT;   v   M     g 7fr   r"   r#   r   tensor_options_args_namess     r%   r&   (dispatch_lambda_exprs.<locals>.<genexpr>  s     Q;Pa11;P   z": incomplete tensor options args: z0const auto options = TensorOptions()
    .dtype(rD  z)
    .device(rF  z)
    .layout(rE  z)
    .requires_grad(r5  z)
    .pinned_memory(rG  z3);
torch::utils::maybe_initialize_device(options);
optionsz3: dtype in tensor_options_args without output arg, r\   c              3  ,   >#    U  H	  oT;   v   M     g 7fr   r"   r  s     r%   r&   r    s     T?S!55?Sr  )rE  rF  z,: incomplete tensor options for output checkzcheck_out_type_matches(ri   r   z,
                       z);
zE: expected "requires_grad" in tensor_options_args absent, but found [c              3  B   >#    U  H  nTUR                      v   M     g 7fr   r)  )r#   r   lambda_args_exprss     r%   r&   r  
  s     C{!%aff-{s   )r   r   )r  r  r   r4   r3   r   r   r-   ru   r*   r   r   r  r  rJ   rK   rP   r   r   TENSOR_OPTIONS_FIELDSr`   r1   r   r   r   r/   )r  r   rQ   arg_parser_outputslambda_argsr   has_toptionsr   r3   arg_parser_exprr  out_argr  r  s               @@r%   dispatch_lambda_exprsr    s    1vF&rV<KE(*%a(L \\d\3vv,VV499DFNLL"?"315
 '+d#q+,,AII"  ""LL!/!2!4
 (		2
481+!',,/ 3[L( LLdV3&7q93D6tfDjkojp  qM  N '+d# '6d#O 4T 
yy$*&! 241G1G H1GA1G H66!&&)IJKK''Avv22"vvhCAFF8Khi  166{377??"vvh3CK=@\]^]c]c\ddef  ( Q;PQQQ66(<=V<WX  	w',,- .)../ 0)../ 0&7<<= >&|499: ;
	
 (1)$ 5//66##%%"vvhQRTQUUVWYWcWcVde  T?STTT"vvhJK  LL*51667r:LW:U:Z:Z9[ \*73@@ADVW_D`DeDeCf g*8499:"=OPX=Y=f=f<g h ";;66(_`y_zz{|  'C{CC u !Is   R)r"   N)r3   rJ   r4   zIterable[str]r5   rL   r   rJ   )r   r   rP   r   r   r   )r   r   r   r   )r  r   r   r   rQ   r   r   rJ   )r  r   r   z
int | None)r   r   r   rH   )r   r   rP   r   r#  r   r   r   )
r   r   r%  rL   rP   r   r#  r   r   r   )r?   r>   r   z	list[str])r  r   r   rJ   )r   r   r   ztuple[str, str] | None)r   r   r   rJ   )T)r  r   r   r   rQ   r   r   z"tuple[DispatchLambdaArgument, ...])r   r   r   rJ   )r   r   r  zPythonSignature | Noner   r   )
r  r   rM   rL   rN   rL   rQ   r   r   rJ   )r  rw   r   rH   rQ   r   r   r   )r  r   r   r   rQ   r   r   z$dict[str, PythonArgParserOutputExpr])r  r   r   r   rQ   r   r   r   )=
__future__r   dataclassesr   typingr   torchgen.apir   torchgen.api.typesr   r   r	   torchgen.genr
   torchgen.modelr   r   r   r   r   r   r   r   r   r   collections.abcr   r   r8   r<   rH   ru   r   r   r   r   r   r   r   r   r   r^   r  r   r   r&  r^  rt   rm  rx  r   r  r  r  r  r  r  r  r  r  r  r"   r9   r%   <module>r     s   " !    G G *   2j IM?
?'?;E??0 $      $Y) Y) Y)x $!C !C !CH $vQ vQ vQv $' ' 'f $   $'
 '
 '
^ $   $* * *0 $  2 9> N7 %*$<7<7!<737<7<7~  */E"&59 F
F "F 	F
 
F F`.&BJ$.4n
l <@)5)5*)548)5')5^ ::U" 04 - 	R OSYJYJ YJ0:YJGKYJYJ~ :>%26( ?C*7;)   ?Cyy*y7;y yr9   