Ë
    ÌÓ^jÔâ  ã                  óð  — 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rd dlmZmZ 	 dB	 	 	 	 	 	 	 dCd
„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"œdDd#„Z'dEd$„Z(d!dd%œ	 	 	 	 	 	 	 dFd&„Z)dGd'„Z*dHd(„Z+d!d!d)œ	 	 	 	 	 	 	 dId*„Z,d!d!d)œ	 	 	 	 	 	 	 	 	 dJd+„Z-dKd,„Z.dLd-„Z/dMd.„Z0dMd/„Z1dNd0„Z2dOd1„Z3	 dP	 	 	 	 	 	 	 dQd2„Z4h d3£Z5dRd4„Z6dRd5„Z7d	d6œ	 	 	 	 	 dSd7„Z8dd8œ	 	 	 	 	 	 	 	 	 dTd9„Z9dd8œ	 	 	 	 	 	 	 dUd:„Z:dd8œ	 	 	 	 	 	 	 dVd;„Z;d<d=d>d?d?d@œZ<dd8œ	 	 	 	 	 	 	 dWdA„Z=y	)Xé    )Úannotations)Ú	dataclass)ÚTYPE_CHECKING)Úcpp)ÚBindingÚCppSignatureÚCppSignatureGroup)Úpythonify_default)
ÚArgumentÚBaseTyÚBaseTypeÚFunctionSchemaÚListTypeÚNativeFunctionÚOptionalTypeÚReturnÚTypeÚVariant)ÚIterableÚSequenceNc                ó‚  — t        |t        t        f«      st        |«      }|�d|› �nd}d| › ddj                  |«      › d|› d�}t	        |«      dk  st	        |«      d	k(  st        |«      d
k(  r|S d| › d�gd„ |D «       ¢d|› d�‘}dj                  |«      }t        d„ |D «       «      r|S |j                  d«      dz   S )Nz -> Ú zdef ú(ú, ú)ú: ...éP   r   ©Úselfc              3  ó(   K  — | ]
  }d |› d�–— Œ y­w)z    ú,N© )Ú.0Úargs     ú^/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torchgen/api/python.pyú	<genexpr>z,format_function_signature.<locals>.<genexpr>Ê   s   è ø€ Ò	-˜CˆD���QŒ-Ñ	-ùs   ‚ú
c              3  ó8   K  — | ]  }t        |«      d k  –— Œ y­w)r   N)Úlen)r#   Úlines     r%   r&   z,format_function_signature.<locals>.<genexpr>Î   s   è ø€ Ò
-˜tŒ3ˆt‹9˜�?Ñ
-ùó   ‚z ...z  # fmt: skip
    ...)Ú
isinstanceÚlistÚtupleÚjoinr)   ÚallÚremovesuffix)ÚnameÚ	argumentsÚreturn_typeÚsigÚliness        r%   Úformat_function_signaturer7   ½   sê   € ô �i¤$¬ Ô/Ü˜)Ó$ˆ	Ø*5Ð*A�D˜˜Ñ&Àr€Kà���a˜Ÿ	™	 )Ó,Ð-¨Q¨{¨m¸5Ð
A€CÜ
ˆ3ƒx�2‚~œ˜Y›¨1Ò,´°iÓ0@ÀIÒ0MØˆ
ð ˆtˆf�Aˆðá	- 9Ô	-ðð ˆKˆ=˜Ðð€Eð
 �)‰)�EÓ
€CÜ
Ñ
- uÔ
-Ô-Øˆ
ð ×Ñ˜FÓ#Ð&>Ñ>Ð>ó    T)Úfrozenc                  ó   — e Zd ZU ded<   y)ÚPythonReturnsútuple[Return, ...]ÚreturnsN©Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r"   r8   r%   r;   r;   Õ   s   … àÔr8   r;   c                  ó`   — 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y)ÚPythonArgumentÚstrr2   r   Útypeú
str | NoneÚdefaultÚdefault_initFT©ÚmethodÚsymintc               ó2  — t        | j                  |¬«      j                  dd«      j                  dd«      }| j                  }|dk(  r|dv r|sd}| j                  �5ddddd	œj                  | j                  | j                  «      }|› d
|› d|› �S |› d
|› �S )N©rL   zconst r   z &r   )ÚTensorÚNumberÚinputÚNone)Únullptrú::std::nulloptústd::nulloptú{}ú ú=)Úargument_type_strrF   Úreplacer2   rH   Úget)r   rK   rL   Útype_strr2   rH   s         r%   Úargument_strzPythonArgument.argument_strê   s²   € ä˜dŸi™i°Ô7ß‰W�X˜rÓ"ß‰W�T˜2Óð 	ð �y‰yˆð �6Š>˜hÐ*>Ñ>ÁvØˆDð �<‰<Ð#à!Ø"(Ø &Øñ	÷
 ‰c�$—,‘, §¡Ó-ð ð �Z˜q   a¨ yÐ1Ð1à�Z˜q  Ð'Ð'r8   ©rK   Ú
deprecatedc          	     ó  — t        | j                  «      }| j                  }|dk(  r|dk(  r|s|sd}|dk(  r|dz  }|dk(  r|st        |«      }|xr! t	        | t
        «      xr | j                  dk(  }| j                  ��|�st	        | j                  t        «      r²| j                  j                  t        t        j                  «      k(  r‚| j                  j                  d«      rg| j                  j                  d	«      rLd
dj                  t        t         j"                  | j                  dd j%                  d«      «      «      z   dz   }n-dddddddœj'                  | j                  | j                  «      }|› d|› d|› �S |› d|› �S )Nr   rO   rQ   ÚfromÚ_ÚoutrR   ú{ú}r   r   é   éÿÿÿÿr!   r   Úcontiguous_formatÚper_tensor_affine)rS   rT   rU   rV   zc10::MemoryFormat::ContiguouszQScheme::PER_TENSOR_AFFINEú: z = )Úargument_type_str_pyirF   r2   Ú_append_optional_pyir,   ÚPythonOutArgumentrH   r   Úelemr   r   ÚintÚ
startswithÚendswithr/   ÚmaprE   ÚstripÚsplitr[   )r   rK   r_   r\   r2   Útreat_as_no_defaultrH   s          r%   Úargument_str_pyizPythonArgument.argument_str_pyi  s{  € ô )¨¯©Ó3ˆà�y‰yˆð �6Š>˜h¨(Ò2¹6É*ØˆDà�6Š>Ø�C‰KˆDð �5Š=¡Ü+¨HÓ5ˆHð ò 'Ü˜4Ô!2Ó3ò'à—‘ Ñ&ð 	ð �<‰<Ñ#Ò,?ä˜4Ÿ9™9¤hÔ/Ø—I‘I—N‘N¤h¬v¯z©zÓ&:Ò:Ø—L‘L×+Ñ+¨CÔ0Ø—L‘L×)Ñ)¨#Ô.ð ˜$Ÿ)™)¤C¬¯	©	°4·<±<ÀÀ"Ð3E×3KÑ3KÈCÓ3PÓ$QÓRÑRÐUXÑXñ ð
  &Ø&,Ø$*Ø Ø5HØ2Eñ÷ ‘#�d—l‘l D§L¡LÓ1ð ð �V˜2˜h˜Z s¨7¨)Ð4Ð4à�V˜2˜h˜ZÐ(Ð(r8   N)rK   ÚboolrL   rw   ÚreturnrE   )rK   rw   r_   rw   rx   rE   )r?   r@   rA   rB   r]   rv   r"   r8   r%   rD   rD   Ú   sJ   … à
ƒIØ
ƒJØÓð Óð .3À4õ (ð6 !&¸%ñ0)Øð0)Ø37ð0)à	ô0)r8   rD   c                  ó*   — e Zd ZU ded<   edd„«       Zy)rm   útuple[PythonArgument, ...]Úoutputsc                ó>  — | sy t        | «      }|dk(  r*t        | d   j                  | d   j                  dd | ¬«      S |dkD  rQt	        d„ | D «       «      rt        d| › �«      ‚t        dt        t        t        j                  «      |«      dd | ¬«      S t        d«      ‚)	Nrf   r   rR   )r2   rF   rH   rI   r{   c              3  óR   K  — | ]  }|j                   j                  «        –— Œ! y ­w©N©rF   Úis_tensor_like©r#   Úas     r%   r&   z1PythonOutArgument.from_outputs.<locals>.<genexpr>O  s    è ø€ Ò@°1�q—v‘v×,Ñ,Ó.Ô.Ñ@ùs   ‚%'zUnsupported output type: rc   z!Unexpected PythonOutArgument size)r)   rm   r2   rF   ÚanyÚRuntimeErrorr   r   r   rO   ÚAssertionError)r{   Úsizes     r%   Úfrom_outputszPythonOutArgument.from_outputs@  s¨   € áØä�7‹|ˆØ�1Š9Ü$Ø˜Q‘Z—_‘_Ø˜Q‘Z—_‘_ØØ!Øôð ð �AŠXÜÑ@¸Ô@Ô@Ü"Ð%>¸w¸iÐ#HÓIÐIÜ$Øäœh¤v§}¡}Ó5°tÓ<ØØ!Øôð ô ÐAÓBÐBr8   N)r{   rz   rx   úPythonOutArgument | None)r?   r@   rA   rB   Ústaticmethodr‡   r"   r8   r%   rm   rm   7  s   … ð (Ó'àòCó ñCr8   rm   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y) ÚPythonSignaturerE   r2   rz   Ú
input_argsÚinput_kwargsrˆ   Úoutput_argsr;   r=   Útensor_options_argsrw   rK   c                 ó   — y)NFr"   r   s    r%   r_   zPythonSignature.deprecatedy  s   € àr8   F)Úskip_outputsÚskip_tensor_optionsc               ó  — g }|j                  | j                  «       |j                  | j                  «       | j                  �|s|j	                  | j                  «       |s|j                  | j
                  «       t        |«      S r~   )ÚextendrŒ   r�   rŽ   Úappendr�   r.   )r   r‘   r’   Úresults       r%   r3   zPythonSignature.arguments}  sj   € ð <>ˆØ�‰�d—o‘oÔ&Ø�‰�d×'Ñ'Ô(Ø×ÑÐ'±Ø�M‰M˜$×*Ñ*Ô+Ù"Ø�M‰M˜$×2Ñ2Ô3Ü�V‹}Ðr8   c                ó4   — t        | j                  «       «      S r~   )r)   r3   r   s    r%   Úarguments_countzPythonSignature.arguments_count‰  s   € Ü�4—>‘>Ó#Ó$Ð$r8   c                óX   — t        | j                  «      t        | j                  «      z   S r~   )r)   rŒ   r�   r   s    r%   Ú
output_idxzPythonSignature.output_idxŒ  s!   € Ü�4—?‘?Ó#¤c¨$×*;Ñ*;Ó&<Ñ<Ð<r8   T©r‘   rL   c               ó0  — | j                  |¬«      }|D �cg c]  }|j                  | j                  |¬«      ‘Œ! }}t        | j                  «      }t        |«      |kD  r|j                  |d«       | j                  › ddj                  |«      › d�S c c}w )N©r‘   rJ   Ú*r   r   r   )r3   r]   rK   r)   rŒ   Úinsertr2   r/   )r   r‘   rL   Úargsr‚   Úschema_formalsÚpositional_argcs          r%   Úsignature_strzPythonSignature.signature_str˜  s�   € Ø�~‰~¨<ˆ~Ó8ˆàGKö%
ØBCˆA�N‰N $§+¡+°fˆNÕ=ð%
ˆð %
ô ˜dŸo™oÓ.ˆÜˆ~Ó Ò0Ø×!Ñ! /°3Ô7à—)‘)�˜A˜dŸi™i¨Ó7Ð8¸Ð:Ð:ùò%
s   —$Br�   c               ól  — | j                  |¬«      }|D �cg c]  }|j                  | j                  ¬«      ‘Œ  }}t        | j                  «      }t        |«      |kD  r|j                  |d«       t        | «      }| j                  r|j                  dd«       t        | j                  ||«      S c c}w )Nr�   ©rK   rž   r   r   ©	r3   rv   rK   r)   rŒ   rŸ   Úreturns_str_pyir7   r2   ©r   r‘   r    r‚   r¡   r¢   Úreturns_strs          r%   Úsignature_str_pyiz!PythonSignature.signature_str_pyi£  s¦   € Ø�~‰~¨<ˆ~Ó8ˆà<@ö%
Ø78ˆA×Ñ d§k¡kÐÕ2ð%
ˆð %
ô ˜dŸo™oÓ.ˆÜˆ~Ó Ò0Ø×!Ñ! /°3Ô7ô & dÓ+ˆà�;Š;Ø×!Ñ! ! VÔ,Ü(¨¯©°NÀKÓPÐPùò%
s   —#B1c               ó,  — | j                  |¬«      }|D �cg c]  }|j                  | j                  ¬«      ‘Œ  }}| j                  «       }|dk(  ry t	        | j
                  «      }|d   j                  }t        |t        «      rt        |j                  «      dv r|dk(  sy d|d   j                  z   dz   t        |j                  «      z   |d<   t        | «      }| j                  r|j                  dd«       t        | j                  ||«      S c c}w )	Nr�   r¥   r   )ro   ÚSymIntrf   rž   rj   r   )r3   rv   rK   r˜   r)   rŒ   rF   r,   r   rE   rn   r2   rk   r§   rŸ   r7   )	r   r‘   r    r‚   r¡   Únum_argsÚnum_positionalargsÚvararg_typer©   s	            r%   Úsignature_str_pyi_varargz(PythonSignature.signature_str_pyi_vararg³  s
  € à�~‰~¨<ˆ~Ó8ˆà<@ö%
Ø78ˆA×Ñ d§k¡kÐÕ2ð%
ˆð %
ð ×'Ñ'Ó)ˆØ�qŠ=Øä  §¡Ó1Ðà˜1‘g—l‘lˆä�{¤HÔ-Ü�K×$Ñ$Ó%Ð):Ñ:Ø" aÒ'àð
 �$�q‘'—,‘,Ñ Ñ%Ô(=¸k×>NÑ>NÓ(OÑOð 	�qÑô & dÓ+ˆà�;Š;Ø×!Ñ! ! VÔ,Ü(¨¯©°NÀKÓPÐPùò9%
s   —#DN©rx   rw   )r‘   rw   r’   rw   rx   z.tuple[PythonArgument | PythonOutArgument, ...])rx   ro   ©r‘   rw   rL   rw   rx   rE   ©r‘   rw   rx   rE   ©r‘   rw   rx   rG   )r?   r@   rA   rB   Úpropertyr_   r3   r˜   rš   r£   rª   r°   r"   r8   r%   r‹   r‹   \  sš   … ð ƒIð +Ó*ð -Ó,à)Ó)ð Óð 4Ó3ð ƒLàòó ðð ',Èñ
Ø#ð
ØBFð
à	7ó
ó%ó=ð 5:È$õ 	;ð 9>õ Qð  @Eö Qr8   r‹   c                  ó`   — 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y)ÚPythonSignatureDeprecatedr   Údeprecated_schemaútuple[str, ...]Údeprecated_args_exprsc                 ó   — y)NTr"   r   s    r%   r_   z$PythonSignatureDeprecated.deprecatedå  ó   € àr8   FTr›   c               ó8   — t         j                  | ||¬«      dz   S )Nr›   z|deprecated)r‹   r£   )r   r‘   rL   s      r%   r£   z'PythonSignatureDeprecated.signature_stré  s+   € ä×)Ñ)Ø <¸ð *ó ð ñð	
r8   r�   c               ó2  — | j                  |¬«      }|D �cg c]  }|j                  | j                  d¬«      ‘Œ! }}t        | j                  «      }t        |«      |kD  r|j                  |d«       t        | «      }t        | j                  ||«      S c c}w )Nr�   Tr^   rž   r¦   r¨   s          r%   rª   z+PythonSignatureDeprecated.signature_str_pyiñ  s�   € Ø�~‰~¨<ˆ~Ó8ˆàMQö%
ØHIˆA×Ñ d§k¡k¸dÐÕCð%
ˆð %
ô ˜dŸo™oÓ.ˆÜˆ~Ó Ò0Ø×!Ñ! /°3Ô7ä% dÓ+ˆÜ(¨¯©°NÀKÓPÐPùò%
s   —$Bc                ó   — y r~   r"   )r   r‘   s     r%   r°   z2PythonSignatureDeprecated.signature_str_pyi_varargý  r¼   r8   Nr±   r²   r³   r´   )	r?   r@   rA   rB   rµ   r_   r£   rª   r°   r"   r8   r%   r·   r·   ×  sG   … ð &Ó%ð +Ó*àòó ðð 5:È$õ 
ð 9>õ 
Qð @Eö r8   r·   c                  ó"   — e Zd ZU ded<   ded<   y)Ú!PythonSignatureNativeFunctionPairr‹   Ú	signaturer   ÚfunctionNr>   r"   r8   r%   rÁ   rÁ     s   … àÓØÔr8   rÁ   c                  óJ   — e Zd ZU ded<   ded<   ded<   e	 	 	 	 	 	 d	d„«       Zy)
ÚPythonSignatureGroupr‹   rÂ   r   ÚbasezNativeFunction | NoneÚoutplacec                ó:  — |€"t        |j                  |j                  d ¬«      S |j                  j                  j	                  «       }|j                  j
                  |d<   t         t        |j                  «      di |¤Ž|j                  |j                  ¬«      S )N)rÂ   rÆ   rÇ   r�   r"   )rÅ   rÂ   rÃ   Ú__dict__Úcopyr�   rF   )ÚclsÚ
functionalrc   Úsignature_kwargss       r%   Ú
from_pairszPythonSignatureGroup.from_pairs!  s˜   € ð ˆ;Ü'Ø$×.Ñ.Ø×(Ñ(Øôð ð Ÿ=™=×1Ñ1×6Ñ6Ó8Ðð
 × Ñ ×4Ñ4ð 	Ð.Ñ/ô $Ø)”d˜3Ÿ=™=Ó)Ñ=Ð,<Ñ=Ø×$Ñ$Ø—\‘\ô
ð 	
r8   N)rÌ   rÁ   rc   z(PythonSignatureNativeFunctionPair | Nonerx   rÅ   )r?   r@   rA   rB   ÚclassmethodrÎ   r"   r8   r%   rÅ   rÅ     sH   … ð
 Óð Óð $Ó#àð
à5ð
ð 6ð
ð 
ò	
ó ñ
r8   rÅ   c                  ó,   — e Zd ZU ded<   ded<   ded<   y)ÚDispatchLambdaArgumentrE   r2   r\   rw   Ú
is_out_argNr>   r"   r8   r%   rÑ   rÑ   D  s   … à
ƒIØƒMØÔr8   rÑ   c                  óH   — e Zd ZU ded<   ded<   ded<   ded<   ed
d„«       Zy	)ÚPythonArgParserOutputExprrE   r2   Úexprro   ÚindexrD   Úargumentc                ó"   — d| j                   › d�S )Nz
_r.isNone(r   )rÖ   r   s    r%   Úis_none_exprz&PythonArgParserOutputExpr.is_none_expr_  s   € à˜DŸJ™J˜< qÐ)Ð)r8   N)rx   rE   )r?   r@   rA   rB   rµ   rÙ   r"   r8   r%   rÔ   rÔ   P  s1   … ð ƒIð ƒIð ƒJð Óàò*ó ñ*r8   rÔ   c                  ó"   — e Zd ZU ded<   ded<   y)ÚDispatchLambdaArgumentExprszSequence[str]ÚexprsÚinitsNr>   r"   r8   r%   rÛ   rÛ   i  s   … ð Óð Ôr8   rÛ   Fr¥   c               óD   — t        j                  | |¬«      j                  S )Nr¥   )r	   Úfrom_native_functionrÂ   )ÚfrK   s     r%   Ú_cpp_signaturerá   ƒ  s   € Ü×1Ñ1°!¸FÔC×MÑMÐMr8   c                óF   — | j                   j                  j                  d uS r~   )Úfuncr3   Útensor_options)rà   s    r%   Úhas_tensor_optionsrå   ‡  s   € Ø�6‰6×Ñ×*Ñ*°$Ð6Ð6r8   ©Úsimple_typerL   c               óŒ  — t        | t        «      �rB| j                  t        j                  k(  ry| j                  t        j
                  k(  ry| j                  t        j                  k(  ry| 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 �rq| j                  j                  S t        | t(        «      rt+        | j,                  ||¬«      }|› d�S t        | t.        «      �r|s| j0                  nd }t        | j,                  «      dk(  r'| j0                  €t3        d«      ‚d| j0                  › d	�S t        | j,                  «      d
k(  r
|�d|› d�S dS t        | j,                  «      dk(  r|r
|�d|› d�S dS |�d|› d�S dS t        | j,                  «      dk(  r
|�d|› d�S dS t        | j,                  «      dk(  r
|�d|› d�S dS t        | j,                  «      dk(  r|ryyt+        | j,                  ||¬«      }d|› d	�S t5        dt7        | «      › �«      ‚)NÚint64_tÚdoublezc10::string_viewræ   ú?rw   zbool ListType must have a sizez::std::array<bool,ú>ro   zIntArrayRef[ú]ÚIntArrayRefr¬   zSymIntArrayRef[ÚSymIntArrayRefrO   zTensorList[Ú
TensorListÚScalarzScalarList[Ú
ScalarListúTensor?z"c10::List<::std::optional<Tensor>>z*const c10::List<::std::optional<Tensor>> &z	ArrayRef<úunrecognized type )r,   r   r2   r   ro   ÚfloatrE   rO   rw   ÚQSchemerñ   Ú
ScalarTypeÚ	GeneratorÚStorageÚLayoutÚDeviceÚDeviceIndexÚMemoryFormatÚStreamr¬   r   rY   rn   r   r†   r…   r„   Úrepr)Útrç   rL   rn   r†   s        r%   rY   rY   •  sZ  € ô �!”XÕØ�6‰6”V—Z‘ZÒØØ�V‰V”v—|‘|Ò#ØØ�V‰V”v—z‘zÒ!Ø%Ø�V‰VÜ�M‰MÜ�K‰KÜ�N‰NÜ�M‰MÜ×ÑÜ×ÑÜ�N‰NÜ�M‰MÜ�M‰MÜ×ÑÜ×ÑÜ�M‰MÜ�M‰Mð
ò 
ð  —6‘6—;‘;Ðä	�A”|Ô	$Ü  §¡°[ÈÔPˆØ��qˆzÐÜ	�A”xÕ	 Ù(ˆq�vŠv¨dˆÜˆq�v‰v‹;˜&Ò Ø�v‰vˆ~Ü$Ð%EÓFÐFØ'¨¯© x¨qÐ1Ð1Ü�—‘‹[˜EÒ!Ø-1Ð-=�\ $  qÐ)ÐPÀ=ÐPÜ�—‘‹[˜HÒ$Ùà15Ð1A�o d V¨1Ð-ðØGWðð 26Ð1A˜ d V¨1Ð-ÐTÀ}ÐTÜ�—‘‹[˜HÒ$Ø,0Ð,<�[   aÐ(ÐNÀ,ÐNÜ�—‘‹[˜HÒ$Ø,0Ð,<�[   aÐ(ÐNÀ,ÐNÜ�—‘‹[˜IÒ%ÙØ;àCÜ  §¡°[ÈÔPˆØ˜4˜& Ð"Ð"ä
Ð+¬D°«G¨9Ð5Ó
6Ð6r8   c                óp   — | j                  «       }|�$t        |j                  «      dk7  r|j                  S y )Nrw   )Úis_list_likerE   rn   r†   )r   Úls     r%   Úargument_type_sizer  Ò  s.   € Ø	�‰Ó€AØ€}œ˜QŸV™V›¨Ò.Ø�v‰vˆàr8   c                óè   — t        | j                  | j                  | j                  �Dt	        t        t        j                  | j                  | j                  d¬«      «      «      d ¬«      S d d ¬«      S )NFrN   ©r2   rF   rH   rI   )rD   r2   rF   rH   rE   r
   r   Údefault_expr)r‚   s    r%   r×   r×   Ú  sg   € ÜØ�V‰VØ�V‰Vð �y‰yÐ$ô Ô!¤#×"2Ñ"2°1·9±9¸a¿f¹fÈUÔ"SÓTÓUð ô
ð 
ð àô
ð 
r8   )rK   Úpyic               óH   — t        | j                  | j                  ||¬«      S )N)Úcategory_overriderK   r  )Úsignature_from_schemarã   r
  )rà   rK   r  s      r%   rÂ   rÂ   é  s$   € ô !Ø	�‰ !×"5Ñ"5¸fÈ#ôð r8   c          
     ó4	  ‡ ‡‡‡— g }|j                  ‰ j                  j                  «       |sE‰ j                  j                  �/|j	                  ‰ j                  j                  j
                  «       |j                  ‰ j                  j                  «       |j                  ‰ j                  j                  «       |j                  ‰ j                  j                  «       |j                  ‰ j                  j                  «       ‰ j                  j                  D �ch c]  }|j                  ’Œ c}Š‰ j                  j                  D �ch c]  }|j                  ’Œ c}Š‰ j                  j                  D �ch c]  }|j                  ’Œ c}Š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„ ‰ j%                  «       D «       «      rt'        d«      ‚t!        d„ ‰ j(                  D «       «      }
t+        j                  ‰ «      }|dk(  xs |
xr |	 }|d	v xs$ |j-                  d
«      xs |j/                  d«      }|dk(  }g }|s|�ra|�s^dˆ fd„}|j	                  t1        dt3        t5        t6        j8                  «      «      d|rd n |d«      ¬«      «       |j	                  t1        dt3        t5        t6        j:                  «      «      d|rd n |d«      ¬«      «       |j	                  t1        dt3        t5        t6        j<                  «      «      d|rd n |d«      xs d¬«      «       |j	                  t1        dt3        t5        t6        j>                  «      «      dd ¬«      «       |j	                  t1        dt3        t5        t6        j>                  «      «      dd ¬«      «       tA        ‰ j(                  ¬«      }tC        tE        ‰ j                  j                  «      ||tF        jI                  |«      t        |«      ||¬«      S c c}w c c}w c c}w )Nc                ó    •— | j                   ‰v S r~   ©r2   )r‚   Úinput_arg_sets    €r%   ú<lambda>z'signature_from_schema.<locals>.<lambda>  s   ø€ °a·f±fÀÐ6M€ r8   c                ó    •— | j                   ‰v S r~   r  )r‚   Úkwarg_only_sets    €r%   r  z'signature_from_schema.<locals>.<lambda>
  s   ø€  q§v¡v°Ð'?€ r8   c                ó    •— | j                   ‰v S r~   r  )r‚   Úout_arg_sets    €r%   r  z'signature_from_schema.<locals>.<lambda>  s   ø€ °1·6±6¸[Ð3H€ r8   c              3  óP   K  — | ]  }|j                   j                  «       –— Œ  y ­wr~   r   r�   s     r%   r&   z(signature_from_schema.<locals>.<genexpr>  s"   è ø€ ò Ø$%ˆ�‰×Ñ×ñùó   ‚$&c              3  ó:   K  — | ]  }|j                   d k(  –— Œ y­w)Úrequires_gradNr  r�   s     r%   r&   z(signature_from_schema.<locals>.<genexpr>  s   è ø€ Ò
L¨ˆ1�6‰6�_Õ$Ñ
Lùs   ‚zTargument named requires_grad is reserved, should not explicitly add it in the schemac              3  óP   K  — | ]  }|j                   j                  «       –— Œ  y ­wr~   r   ©r#   Úrs     r%   r&   z(signature_from_schema.<locals>.<genexpr>   s   è ø€ ÒJ¸˜AŸF™F×1Ñ1×3ÑJùr  Úfactory)ÚnewÚlikeÚnew_Ú_likeÚdummyc                óÞ   •— ‰j                   j                  }|€y t        || «      }|j                  �|j                  dk(  ry t	        j
                  |j                  |j                  d¬«      S )NrR   FrN   )r3   rä   ÚgetattrrH   r   r  rF   )r2   Ú	topt_argsr‚   rã   s      €r%   Útopt_default_initz0signature_from_schema.<locals>.topt_default_init0  s\   ø€ ØŸ™×5Ñ5ˆIØÐ ØÜ˜	 4Ó(ˆAØ�y‰yÐ  A§I¡I°Ò$7ØÜ×#Ñ# A§I¡I¨q¯v©v¸eÔDÐDr8   ÚdtyperR   r  ÚlayoutÚdevicez$torch::tensors::get_default_device()Ú
pin_memoryÚFalser  )r=   )r2   rŒ   r�   rŽ   r�   r=   rK   )r2   rE   rx   rG   )%r”   r3   Úpre_self_positionalÚself_argr•   r×   Úpost_self_positionalÚpre_tensor_options_kwarg_onlyÚpost_tensor_options_kwarg_onlyrc   Úflat_positionalr2   Úflat_kwarg_onlyr.   rr   Úfilterrƒ   Úflat_non_outÚschema_order_argumentsÚ
ValueErrorr=   r   rp   rq   rD   r   r   r   r÷   rú   rû   rw   r;   r‹   rE   rm   r‡   )rã   r
  rK   r  r    r‚   rŒ   r�   r{   Úhas_tensor_input_argÚhas_tensor_returnr2   Úis_factory_functionÚis_like_or_new_functionÚis_dummy_functionr�   r%  r=   r  r  r  s   `                 @@@r%   r  r  ñ  s»  û€ ð €DØ‡K�K�—‘×2Ñ2Ô3á�d—n‘n×-Ñ-Ð9Ø�‰�D—N‘N×+Ñ+×4Ñ4Ô5Ø‡K�K�—‘×3Ñ3Ô4Ø‡K�K�—‘×<Ñ<Ô=ð 	‡K�K�—‘×=Ñ=Ô>Ø‡K�K�—‘×"Ñ"Ô#à%)§^¡^×%CÑ%CÖD �Q—V“VÒD€MØ&*§n¡n×&DÑ&DÖE �a—f“fÒE€NØ#'§>¡>×#5Ñ#5Ö6˜a�1—6“6Ò6€Kä”sœ8¤VÓ,MÈtÓ%TÓUÓV€JÜÜŒH”fÓ?ÀÓFÓGó€Lô ”Cœ¤&Ó)HÈ$Ó"OÓPÓQ€Gô ñ Ø)-¯©×)DÑ)Dôó Ðô Ñ
L¨d×.IÑ.IÓ.KÔ
LÔLÜØbó
ð 	
ô ÑJ¸T¿\¹\ÔJÓJÐä—‘˜“€DØ+¨yÑ8ò ØÒ6Ð"6Ð6ð ð 	˜_Ð,ò 	"Ø�?‰?˜6Ó"ò	"à�=‰=˜Ó!ð ð
 *¨WÑ4Ðà02ÐÙÒ6Ò@Qõ	Eð 	×"Ñ"ÜØÜ!¤(¬6×+<Ñ+<Ó"=Ó>Øá3‘DÑ9JÈ7Ó9Sôô		
ð 	×"Ñ"ÜØÜ!¤(¬6¯=©=Ó"9Ó:Øá3‘DÑ9JÈ8Ó9Tôô		
ð 	×"Ñ"ÜØÜ!¤(¬6¯=©=Ó"9Ó:Øñ /ñ ñ *¨(Ó3ò BØAôô	
ð 	×"Ñ"ÜØ!Ü!¤(¬6¯;©;Ó"7Ó8ØØ!ô	ô	
ð 	×"Ñ"ÜØ$Ü!¤(¬6¯;©;Ó"7Ó8ØØ!ô	ô	
ô  D§L¡LÔ1€GäÜ�—‘—‘Ó ØØ!Ü%×2Ñ2°7Ó;Ü!Ð"5Ó6ØØôð ùòW EùÚEùÚ6s   ÄRÅRÅ;Rc                óÐ   — t        | «      dk  st        d„ | D «       «      rg S t        d„ | D «       «      rt        d«      ‚| D �cg c]  }t	        |j
                  «      ‘Œ c}S c c}w )Nrf   c              3  ó8   K  — | ]  }|j                   d u –— Œ y ­wr~   r  r  s     r%   r&   z'structseq_fieldnames.<locals>.<genexpr>‚  s   è ø€ Ò@°1 §¡¨$¤Ñ@ùr+   c              3  ó8   K  — | ]  }|j                   d u –— Œ y ­wr~   r  r  s     r%   r&   z'structseq_fieldnames.<locals>.<genexpr>…  s   è ø€ Ò/ !ˆq�v‰v˜Œ~Ñ/ùr+   z)Unnamed field is not supported by codegen)r)   r0   rƒ   r5  rE   r2   )r=   r  s     r%   Ústructseq_fieldnamesr>  �  sX   € Ü
ˆ7ƒ|�qÒœCÑ@¸Ô@Ô@Øˆ	äÑ/ wÔ/Ô/ô ÐHÓIÐIà%,Ö- ”�A—F‘F•Ò-Ð-ùÒ-s   ÁA#c                ó,   — | › d�j                  dd«      S )Nz | Nonez | None | None)rZ   )r\   s    r%   rl   rl   ”  s   € àˆZ�wÐ×'Ñ'Ð(8¸)ÓDÐDr8   c                ó’  — d}t        | t        «      r| j                  } d}d}t        | t        «      �rí| j                  t
        j                  t
        j                  fv rd}| j                  t
        j                  k(  rd}�n·| j                  t
        j                  k(  rd}�n–| j                  t
        j                  k(  rd}�nu| j                  t
        j                  k(  rd}�nT| j                  t
        j                  k(  rd	}�n3| 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}�nm| j                  t
        j&                  t
        j(                  t
        j*                  fv �r1| j                  j                  }�nt        | t,        «      ròt        | j                  «      dk(  r| j.                  �dnd}nà| j1                  «       r@t        | j                  t        «      rd}d}nd}| j.                  �	d|› d|› d�nd|› d|› d�}n�t        | j                  «      dk(  rd}nut        | j                  «      dk(  r*| j.                  �t3        | j                  «      }|› d|› d�}n3t3        | j                  «      }d|› d�}nt5        dt7        | «      › �«      ‚|rt9        |«      }|S )NFTr   Ú_intz_int | SymIntÚ_floatrE   zNumber | _complexÚ_dtypeÚ_boolÚ_qschemeÚ_layoutzDeviceLikeType | NoneÚmemory_formatzStorage | UntypedStoragero   z_int | _sizeÚ_sizezTensor | NonerO   zTensor | tuple[z, ...] | list[rí   útuple[rõ   zSequence[_float]r¬   z | Sequence[z	Sequence[rô   )r,   r   rn   r   r2   r   ro   rü   r¬   rõ   rE   rñ   r÷   rw   rö   rú   rû   rý   rù   rO   rø   rþ   r   r†   r€   rk   r„   rÿ   rl   )r   Úadd_optionalÚretÚelem_strrn   s        r%   rk   rk   ™  sŠ  € Ø€LÜ�!”\Ô"Ø�F‰FˆØˆà
€CÜ�!”XÕØ�6‰6”f—j‘j¤&×"4Ñ"4Ð5Ñ5ØˆCØ�6‰6”V—]‘]Ò"Ø!ŠCØ�V‰V”v—|‘|Ò#ØŠCØ�V‰V”v—z‘zÒ!ØŠCØ�V‰V”v—}‘}Ò$Ø%ŠCØ�V‰V”v×(Ñ(Ò(ØŠCØ�V‰V”v—{‘{Ò"ØŠCØ�V‰V”v—~‘~Ò%ØŠCØ�V‰V”v—}‘}Ò$ØŠCØ�V‰V”v—}‘}Ò$Ø)ŠCØ�V‰V”v×*Ñ*Ò*Ø!ŠCØ�V‰V”v—~‘~Ò%Ø,ŠCØ�V‰VœŸ™¤v×'7Ñ'7¼¿¹ÐGÒGà—&‘&—+‘+ŠCä	�A”xÔ	 Üˆq�v‰v‹;˜%ÒØ$%§F¡FÐ$6‘.¸G‰CØ×ÑÔô ˜!Ÿ&™&¤,Ô/Ø#�Ø*‘à#�ð —6‘6Ð%ð " ( ¨>¸(¸À1ÑEà˜h˜Z ~°h°Z¸qÐAñ ô
 �—‘‹[˜GÒ#Ø$‰CÜ�—‘‹[˜HÒ$¨¯©Ð);Ü(¨¯©Ó0ˆDØ�F˜, t f¨AÐ.‰Cä(¨¯©Ó0ˆDØ˜d˜V 1Ð%‰Cô Ð/´°Q³¨yÐ9Ó:Ð:áÜ" 3Ó'ˆà€Jr8   c                ó@  — t        | t        «      r t        | j                  «      }t	        |«      S t        | t
        «      r)| j                  t        j                  k(  ryt        | «      S t        | t        «      rt        | j                  «      }d|› d�S t        | «      S )NÚ_devicerI  z, ...])r,   r   Úreturn_type_str_pyirn   rl   r   r2   r   rû   rk   r   )r   Úinners     r%   rO  rO  ß  s�   € ô �!”\Ô"Ü# A§F¡FÓ+ˆÜ# EÓ*Ð*ä�!”XÔØ�6‰6”V—]‘]Ò"Øä(¨Ó+Ð+ä�!”XÔÜ# A§F¡FÓ+ˆØ˜�w˜fÐ%Ð%ä  Ó#Ð#r8   c                ó  — | j                   j                   D �cg c]  }t        |j                  «      ‘Œ }}| j                  }t	        | j                   j                   «      }|r™ddj                  |«      › d�}d|› d|› d�g}t        ||«      D ]  \  }}|j                  dd|› d	|› d
�g«       Œ! |j                  ddd|› d�dddt        |«      › �dt        |«      › �dddg
«       dj                  |«      }	||	fS y c c}w )NrI  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=   rO  rF   r2   r>  r/   Úzipr”   r)   )
rÂ   r  Úpython_returnsÚstructseq_nameÚfield_namesÚseq_typeÚstructseq_def_linesr2   Úret_typeÚstructseq_defs
             r%   Úreturns_structseq_pyirZ  ô  sD  € Ø;D×;LÑ;L×;TÑ;TÖU°aÔ)¨!¯&©&Õ1ÐU€NÐUØ—^‘^€NÜ& y×'8Ñ'8×'@Ñ'@ÓA€KÙð ˜DŸI™I nÓ5Ð6°aÐ8ˆà�^Ð$ A h Z¨Ð?ð
Ðô " +¨~Ó>ò 	‰NˆD�(Ø×&Ñ&à#Ø˜t˜f J¨x¨j¸Ð>ðõð	ð 	×"Ñ"à"ØØ$ X J¨aÐ0Ø-ØØ.¬s°;Ó/?Ð.@ÐAØ7¼¸KÓ8HÐ7IÐJØ7ØYØðô	
ð Ÿ	™	Ð"5Ó6ˆð$ ˜}Ð,Ð,Øùòg Vs   ™C>c                óJ  — t        | j                  j                  «      }|rd| j                  › �S | j                  j                  D �cg c]  }t        |j                  «      ‘Œ }}t        |«      dkD  rddj                  |«      z   dz   S t        |«      dk(  r|d   S yc c}w )Nztorch.return_types.rf   rI  r   rí   r   rR   )r>  r=   r2   rO  rF   r)   r/   )rÂ   rU  r  rS  s       r%   r§   r§   +  s�   € Ü& y×'8Ñ'8×'@Ñ'@ÓA€KÙØ$ Y§^¡^Ð$4Ð5Ð5à;D×;LÑ;L×;TÑ;TÖU°aÔ)¨!¯&©&Õ1ÐU€NÐUÜ
ˆ>Ó˜QÒØ˜$Ÿ)™) NÓ3Ñ3°cÑ9Ð9Ü
ˆ>Ó˜aÒØ˜aÑ Ð Øùò Vs   Á	B c                óR  ‡ ‡— t        ‰ t        «      r‰ j                  }n|j                  }t	        j
                  |j
                  d|d|j                  ¬«      }|j
                  j                  D �ch c]  }|j                  ’Œ c}Šdˆˆ fd„}t        t        ||«      «      S c c}w )NF)r3   ÚfaithfulrL   rK   Úcpp_no_default_argsc                óö   •— | j                   }| j                  ‰v }‰j                  r| j                  dk(  rd}n)t        ‰«      dk  xs | }|rddij	                  ||«      }t        | j                  ||¬«      S )Nr   zconst at::Tensor &rf   zat::Tensor &ú
at::Tensor)r2   r\   rÒ   )rF   r2   rK   r)   r[   rÑ   )Úcpp_argr\   rÒ   Úensure_temp_safeÚout_argsÚpss       €€r%   Údispatch_lambda_argz1dispatch_lambda_args.<locals>.dispatch_lambda_args  sƒ   ø€ Ø—<‘<ˆØ—\‘\ XÐ-ˆ
Ø�9Š9˜Ÿ™¨Ò/à+‰Hô  # 8›}°Ñ1ÒC¸°^ÐÙà" Lðç‘#�h Ó)ð ô &Ø—‘ØØ!ô
ð 	
r8   )ra  r   rx   rÑ   )r,   r·   r¸   rã   r   r3   r^  rc   r2   r.   rr   )rd  rà   rL   ÚschemaÚcpp_argsr‚   re  rc  s   `      @r%   Údispatch_lambda_argsrh  `  s‘   ù€ ô �"Ô/Ô0Ø×%Ñ%‰à—‘ˆô �}‰}Ø×"Ñ"ØØØØ×1Ñ1ô€Hð +1×*:Ñ*:×*>Ñ*>Ö? Q˜!Ÿ&›&Ò?€Hö
ô, ”Ð(¨(Ó3Ó4Ð4ùò3 @s   Á2B$>   ú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>rw   Úvoidrê   ré   r`  c                óô   — t        d„ | j                  j                  D «       «      }t        j                  |d¬«      j                  «       }|t        vr$t        | j                  j                  › d|› �«      ‚|S )Nc              3  ó^   K  — | ]%  }t        |j                  |j                  d «      –— Œ' y ­wr~   )r   r2   rF   r  s     r%   r&   z-dispatch_lambda_return_str.<locals>.<genexpr>À  s&   è ø€ ò 'Ø)*Œˆq�v‰v�q—v‘v˜t×$ñ'ùs   ‚+-TrN   z returns unsupported type )	r.   rã   r=   r   Úreturns_typeÚcpp_typeÚSUPPORTED_RETURN_TYPESr„   r2   )rà   Úreturns_without_annotationÚ
return_strs      r%   Údispatch_lambda_return_strr„  ¬  sp   € ô( "'ñ 'Ø./¯f©f¯n©nô'ó "Ðô ×!Ñ!Ð"<ÀTÔJ×SÑSÓU€JØÔ/Ñ/Ü˜aŸf™fŸk™k˜]Ð*DÀZÀLÐQÓRÐRØÐr8   c                óÂ  — | j                   j                  «       }t        j                  | j                   |¬«      }t        j
                  | j                  v rd|› �S t        j                  | j                  v rPt        | «      s9| j                   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   r2   r   rK   ÚvariantsrÃ   rå   rÆ   rq   r„   )rà   rL   r2   Ú	namespaces       r%   Úcpp_dispatch_targetrŒ  É  s±   € Ø�V‰V×ÑÓ €FÜ�8‰8�A—F‘F¨FÔ3€DÜ‡~�~˜Ÿ™Ñ#Ø�t�fˆ~ÐÜ×Ñ˜1Ÿ:™:Ñ%Ü˜aÔ  A§F¡F§K¡K×$4Ñ$4×$9Ñ$9×$BÑ$BÀ7Ô$KØ‰IàˆIØ�˜B˜t˜fÐ%Ð%Ü
ÐJÈ1Ï6É6È(ÐSÓ
TÐTr8   )Úpython_signaturec               óB  ‡ — t        ‰ d¬«      j                  «       }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  ó4   K  — | ]  }|j                   –— Œ y ­wr~   r  r�   s     r%   r&   z%cpp_dispatch_exprs.<locals>.<genexpr>á  s   è ø€ Ò/ �a—f•fÑ/ùs   ‚c                óF   •— | dk7  xs ‰j                   j                  «       S )Nrc   )rã   Ú	is_out_fn)Únrà   s    €r%   r  z$cpp_dispatch_exprs.<locals>.<lambda>æ  s   ø€ ˜!˜u™*Ò:¨¯©×(8Ñ(8Ó(:€ r8   r   )rá   r3   r,   r·   r.   r2  rº   r   rK   rŠ  Ú__ne__)rà   r�  rg  rÜ   s   `   r%   Úcpp_dispatch_exprsr”  ×  s‡   ø€ ô
 #1°¸5Ô"A×"KÑ"KÓ"M€Hà€EÜÐ&Ô(AÔBäÑ/ hÔ/Ó/‰ô ÜÛ:Ø ×6Ñ6óó
ˆô ‡~�~˜Ÿ™Ñ#Ü”f˜VŸ]™]¨EÓ2Ó3ˆà€Lr8   rN   c               óx  — |d u}|rt        | «      dvrt        d| › d�«      ‚t        | t        «      �r´| j                  t
        j                  t
        j                  t
        j                  t
        j                  fv r$| j                  j                  j                  «       S | j                  t
        j                  k(  r|rdS dS | j                  t
        j                  k(  r|rdS dS | j                  t
        j                  k(  ry| j                  t
        j                  k(  ry| j                  t
        j                  k(  r|rd	S dS | j                  t
        j                   k(  r|rd
S dS | j                  t
        j"                  k(  ry| j                  t
        j                   k(  ry| j                  t
        j$                  k(  r|rdS dS | j                  t
        j&                  k(  �rFyt        | t(        «      rmt        | j*                  «      dk(  ryt        | j*                  «      dk(  ry|s |dv rt-        | j*                  d d |¬«      dz   S t-        | j*                  |||¬«      S t        | t.        «      r¸t        | j*                  «      dk(  r| j0                  �d| j0                  › d�S dS t        | j*                  «      dk(  ryt        | j*                  «      dk(  ryt        | j*                  «      dk(  ry t        | j*                  «      d!k(  r|rd"S dS t        | j*                  «      d#k(  ry$t        d| › d%�«      ‚)&N)úScalarType?r÷   rû   úDevice?rú   úLayout?rw   úbool?ztype 'z+' does not supported unpacking with defaultÚscalartypeWithDefaultÚ
scalartypeÚdeviceWithDefaultr(  ÚtoInt64ÚtoSymIntÚtoBoolWithDefaultÚtoBoolÚtoDoubleÚ
stringViewÚlayoutWithDefaultr'  ÚmemoryformatrO   ÚoptionalTensorrø   Ú	generator)NrR   rT   rU   rN   ÚOptionalztensorlist_n<rì   Ú
tensorlistró   Úlist_of_optional_tensorsro   Úintlistrõ   Ú
doublelistr¬   Ú
symintlistrñ   Ú
scalarlistz%' is not supported by PythonArgParser)rE   r„   r,   r   r2   r   rO   rþ   rù   rñ   Úlowerr÷   rû   rü   ro   r¬   rw   rõ   rú   rý   r   rn   Úarg_parser_unpack_methodr   r†   )r   rH   rI   rL   Úhas_default_inits        r%   r¯  r¯  ÿ  s·  € ð $¨4Ð/ÐÙœC ›Fð 	+ñ 	ô ˜V A 3Ð&QÐRÓSÐSä�!”XÕØ�6‰6Ü�M‰MÜ�M‰MÜ�N‰NÜ�M‰Mð	
ñ 
ð —6‘6—;‘;×$Ñ$Ó&Ð&Ø�V‰V”v×(Ñ(Ò(Ù.>Ð*ÐPÀLÐPØ�V‰V”v—}‘}Ò$Ù*:Ð&ÐHÀÐHØ�V‰V”v×)Ñ)Ò)ØØ�V‰V”v—z‘zÒ!ØØ�V‰V”v—}‘}Ò$Ù!'�:Ð6¨YÐ6Ø�V‰V”v—{‘{Ò"Ù*:Ð&ÐHÀÐHØ�V‰V”v—|‘|Ò#ØØ�V‰V”v—z‘zÒ!ØØ�V‰V”v—}‘}Ò$Ù*:Ð&ÐHÀÐHØ�V‰V”v×*Ñ*Ó*Ø!ä	�A”|Ô	$Üˆq�v‰v‹;˜(Ò"Ø#Ü�—‘‹[˜KÒ'ØÙ! gð 2
ñ '
ô )¨¯©°°tÀFÔKÈjÑXðô
 ,Ø—‘˜ °fôð ô 
�A”xÔ	 Üˆq�v‰v‹;˜(Ò"à01·±Ð0B�] 1§6¡6 (¨!Ð,ÐTÈÐTÜ�—‘‹[˜IÒ%Ø-Ü�—‘‹[˜EÒ!àÜ�—‘‹[˜GÒ#ØÜ�—‘‹[˜HÒ$á#)�<Ð8¨yÐ8Ü�—‘‹[˜HÒ$ØÜ
˜ ˜sÐ"GÐHÓ
IÐIr8   c               óæ   — |j                   d u}t        |j                  |j                  |j                   |¬«      }|rd|j                   › �nd}d|› d| › |› d�}t	        |j
                  || |¬«      S )N)r   rH   rI   rL   r   r   z_r.r   r   )r2   rÕ   rÖ   r×   )rI   r¯  rF   rH   rÔ   r2   )Ú	arg_indexr‚   rL   Úhas_defaultÚunpack_methodrH   rÕ   s          r%   Úarg_parser_output_exprrµ  W  s}   € ð —.‘.¨Ð,€KÜ,Ø
�&‰&˜!Ÿ)™)°!·.±.Èô€Mñ (3��1—>‘>Ð"Ñ#¸€GØ��˜q  ¨G¨9°AÐ6€Dä$Ø�V‰VØØØô	ð r8   c          
     óž   — t        | j                  «       «      D ���ci c]   \  }}t        |||¬«      }|j                  |“Œ" c}}}S c c}}}w )NrN   )Ú	enumerater3   rµ  r2   )rd  rà   rL   Úir‚   Úes         r%   Úarg_parser_output_exprsrº  j  sP   € ô
 ˜bŸl™l›nÓ-÷ð áˆAˆqÜ(¨¨A°fÔ=ˆAð 	
�‰�ˆ	ˆôð ùô s   ž%Ar–  r—  r˜  r™  )r&  r(  r'  r)  r  c               ó(  ‡‡— t        | ||¬«      }t        | ||¬«      }g }i Št        |«      }| j                  d¬«      D ]Ø  }|j                  }||j                     j
                  }	|r!|dk(  r|j                  d|	› d�g«       |‰|<   ŒKt        |t        «      ryt        |j                  «      dkD  ra|j                  j                  «       rG|j                  d|	› d�g«       t        |j                  «      D ]  \  }
}d	|
› d
�‰|j                  <   Œ ŒÔ|	‰|<   ŒÚ | j                  rd‰d<   | j                  D �cg c]  }|j                  ‘Œ c}Š|�r•|j                  j                  «       rt!        |j                  › d�«      ‚| j                  D ]©  }|j                  t"        vr%t!        |j                  › d|j                  › d�«      ‚t%        |j&                  «      t"        j)                  |j                  «      k7  sŒpt!        |j                  › dt%        |j&                  «      › d|j                  › d�«      ‚ t+        ˆfd„t"        D «       «      st!        |j                  › d‰› �«      ‚| j                  rdnd}|j-                  d|d   j
                  › d|d   j
                  › d|d   j
                  › d|d   j
                  › d|d   j
                  › d|› �«       d ‰d <   |�s‰�rd‰v rß|j                  j                  «       s't!        |j                  › d!| › d"| j                  › �«      ‚t+        ˆfd#„d$D «       «      st!        |j                  › d%�«      ‚|j-                  d&|d'   j
                  › d(|d   j
                  › d)|d   j.                  › d(|d   j
                  › d)|d   j
                  › d(|d   j.                  › d�«       d‰vrt!        |j                  › d*‰› d
�«      ‚t1        t3        ˆfd+„|D «       «      |¬,«      S c c}w )-NrN   T)r’   r   zauto self = ú;rf   zauto out = zout[rí   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 –— Œ
 y ­wr~   r"   ©r#   r‚   Útensor_options_args_namess     €r%   r&   z(dispatch_lambda_exprs.<locals>.<genexpr>»  s   øè ø€ ÒQ°a�1Ð1Ô1ÑQùó   ƒz": incomplete tensor options args: z`if (!at::impl::tensor_has_dispatch(self)) {
  torch::utils::maybe_initialize_device(options);
}
z0torch::utils::maybe_initialize_device(options);
z0const auto options = TensorOptions()
    .dtype(r&  z)
    .device(r(  z)
    .layout(r'  z)
    .requires_grad(r  z)
    .pinned_memory(r)  z);
Úoptionsz3: dtype in tensor_options_args without output arg, rW   c              3  ó&   •K  — | ]  }|‰v –— Œ
 y ­wr~   r"   r¿  s     €r%   r&   z(dispatch_lambda_exprs.<locals>.<genexpr>à  s   øè ø€ ÒT¸!�qÐ5Ô5ÑTùrÁ  )r'  r(  z,: incomplete tensor options for output checkzcheck_out_type_matches(rc   r   z,
                       zE: expected "requires_grad" in tensor_options_args absent, but found [c              3  ó<   •K  — | ]  }‰|j                      –— Œ y ­wr~   r  )r#   r‚   Úlambda_args_exprss     €r%   r&   z(dispatch_lambda_exprs.<locals>.<genexpr>ó  s   øè ø€ ÒC°!Ð% a§f¡fÕ-ÑCùs   ƒ)rÜ   rÝ   )rº  rh  rå   r3   r2   rÕ   r”   r,   rm   r)   r{   rã   r‘  r·  rK   r�   r„   ÚTENSOR_OPTIONS_FIELDSrE   rF   r[   r0   r•   rÙ   rÛ   r.   )rd  rà   rL   Úarg_parser_outputsÚlambda_argsrÝ   Úhas_toptionsr‚   r2   Úarg_parser_exprr¸  Úout_argÚmaybe_initialize_devicerÅ  rÀ  s                @@r%   Údispatch_lambda_exprsrÍ    s‚  ù€ ô 1°°Q¸vÔFÐÜ& r¨1°VÔ<€KØ€EØ(*Ðä% aÓ(€Lð �\‰\¨dˆ\Ó3ò 6ˆØ�v‰vˆØ,¨Q¯V©VÑ4×9Ñ9ˆá˜D FšNà�L‰Là" ?Ð"3°1Ð5ðôð
 '+Ð˜dÒ#ä�qÔ+Ô,Ü�A—I‘I“ Ò"Ø—‘× Ñ Ô"à�L‰Là! /Ð!2°!Ð4ðôô
 (¨¯	©	Ó2ò >‘
��7Ø48¸¸¸1°+Ð! '§,¡,Ò/ñ>ð '6Ð˜dÒ#ð56ð: 
‡y‚yØ$*Ð˜&Ñ!ð 24×1GÑ1GÖ H¨A §£Ò HÐÚØ�6‰6×ÑÔÜ !§&¡& Ð)IÐJÓKÐKØ×'Ñ'ò 	ˆAØ�v‰vÔ2Ñ2Ü"Ø—v‘v�hÐCÀAÇFÁFÀ8ÐKhÐióð ô �1—6‘6‹{Ô3×7Ñ7¸¿¹Ó?Ó?Ü"Ø—v‘v�hÐ3´C¸¿¹³K°=Ð@\Ð]^×]cÑ]cÐ\dÐdeÐfóð ð	ô ÓQÔ;PÔQÔQÜØ—6‘6�(Ð<Ð=VÐ<WÐXóð ð �yŠyñð Eð 	 ð 	�‰ðà˜wÑ'×,Ñ,Ð-ð .Ø Ñ)×.Ñ.Ð/ð 0Ø Ñ)×.Ñ.Ð/ð 0Ø& Ñ7×<Ñ<Ð=ð >Ø& |Ñ4×9Ñ9Ð:ð ;ØÐ ðô
	
ð (1Ð˜)Ñ$ò Ò5ØÐ/Ñ/à—6‘6×#Ñ#Ô%Ü"Ø—v‘v�hÐQÐRTÐQUÐUVÐWY×WcÑWcÐVdÐeóð ô ÓTÐ?SÔTÔTÜ"Ø—v‘v�hÐJÐKóð ð �L‰LðØ*¨5Ñ1×6Ñ6Ð7°rÐ:LÈWÑ:U×:ZÑ:ZÐ9[ð \Ø*¨7Ñ3×@Ñ@ÐAÀÐDVÐW_ÑD`×DeÑDeÐCfð gØ*¨8Ñ4×9Ñ9Ð:¸"Ð=OÐPXÑ=Y×=fÑ=fÐ<gð hðôð Ð";Ñ;ÜØ—6‘6�(Ð_Ð`yÐ_zÐz{Ð|óð ô 'ÜÓC°{ÔCÓCØôð ùòI !Is   Ä:P)r"   N)r2   rE   r3   zIterable[str]r4   rG   rx   rE   )rà   r   rK   rw   rx   r   )rà   r   rx   rw   )r   r   rç   rw   rL   rw   rx   rE   )r   r   rx   z
int | None)r‚   r   rx   rD   )rà   r   rK   rw   r  rw   rx   r‹   )
rã   r   r
  rG   rK   rw   r  rw   rx   r‹   )r=   r<   rx   z	list[str])r\   rE   rx   rE   )r   r   rx   rE   )rÂ   r‹   rx   ztuple[str, str] | None)rÂ   r‹   rx   rE   )T)rd  r‹   rà   r   rL   rw   rx   z"tuple[DispatchLambdaArgument, ...])rà   r   rx   rE   )rà   r   r�  zPythonSignature | Nonerx   r¹   )
r   r   rH   rG   rI   rG   rL   rw   rx   rE   )r²  ro   r‚   rD   rL   rw   rx   rÔ   )rd  r‹   rà   r   rL   rw   rx   z$dict[str, PythonArgParserOutputExpr])rd  r‹   rà   r   rL   rw   rx   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   r7   r;   rD   rm   r‹   r·   rÁ   rÅ   rÑ   rÔ   rÛ   rá   rå   rY   r  r×   rÂ   r  r>  rl   rk   rO  rZ  r§   rh  r�  r„  rŒ  r”  r¯  rµ  rº  rÆ  rÍ  r"   r8   r%   ú<module>rÖ     s¾  ðÝ "å !Ý  å ß GÑ GÝ *÷÷ ÷ ñ ß2ðL IMð?Ø
ð?Ø'ð?Ø;Eð?àó?ñ0 �$Ô÷ ð  ó ð ñ �$Ô÷Y)ð Y)ó ðY)ñx �$Ôô!C˜ó !Có ð!CñH �$Ô÷uQð uQó ðuQñt �$Ôô' ó 'ó ð'ñf �$Ô÷ð ó ðñ �$Ô÷'
ð '
ó ð'
ñ^ �$Ô÷ð ó ðñ �$Ô÷*ð *ó ð*ñ0 �$Ô÷ð ó ðð2 9>õ Nó7ð %*¸$ñ:7Øð:7Ø!ð:7Ø37ð:7àó:7ózóð  */¸EñØðØ"&ðØ59ðàóð ØñFØ
ðFð "ðFð ð	Fð
 
ðFð óFó`.ó&Eó
CóL$ó*4ón
ðl <@ð)5Øð)5Ø*ð)5Ø48ð)5à'ó)5ò^Ð ó:ó:Uð" 04ñØðð -ðð ó	ðR OSñSJØðSJØ ðSJØ0:ðSJØGKðSJàóSJðr :>ñØðØ%ðØ26ðàóð( ?CñØðØ*ðØ7;ðà)óð ØØØØñÐ ð ?CñvØðvØ*ðvØ7;ðvà ôvr8   