+
    –°³jË ã                   ó   a € RY te0 t R t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	H
t
 ^ RIHtHt ^ RIHtHt ^ RIt^ RIHt ^ RIHt ^ RIHt ^RIHtHt ^R	IHt ^R
IHt ^RIH t H!t! ^RI"H#t#H$t$ ^RI%H&t&H't' ^RI(H)t) ^RI*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2 ^RI3H4t4 ]'       d   ^ RI5H6t6 ^ RI7H8t8 ]Pr                  ! ]:4      t; ! R R])4      t< ! R R]44      t= ! R R]=4      t> ! R R]=4      t? ! R R]<4      t@ ! R R]<4      tA ! R R ]<4      tB ! R! R"]<4      tC ! R# R$]<4      tD ! R% R&]<4      tE ! R' R(]<4      tF ! R) R*]<4      tG ! R+ R,]<4      tH ! R- R.]<4      tI ! R/ R0]<4      tJ ! R1 R2]J4      tK ! R3 R4]J4      tL ! R5 R6]J4      tM]Pœ                  Pž                  ]K]P                   Pž                  ]L]P¢                  P¤                  ]M/tS] ^ k R7 R8 ltTR9 R: ltU ! R; R<]<4      tV ! R= R>]<4      tW ! R? R@]<4      tX ! RA RB]<4      tY ! RC RD]<4      tZ ! RE RF]<4      t[ ! RG RH]<4      t\ ! RI RJ]<4      t] ! RK RL]<4      t^ ! RM RN]<4      t_ ! RO RP]<4      t` ! RQ RR]<4      ta ! RS RT]<4      tb ! RU RV])4      tc ! RW RX])4      tdR# )Za)  
This file contains a collection of context manager classes used by Dynamo for tracking
and managing various PyTorch runtime states during graph compilation. These context
managers handle different aspects of PyTorch's execution environment, including:

- Autograd states (grad mode, inference mode)
- CUDA streams and events
- Profiling contexts
- Deterministic algorithms
- Forward/backward AD modes
- SDPA (Scaled Dot Product Attention) kernels
- FSDP (Fully Sharded Data Parallel) states
- AMP (Automatic Mixed Precision) autocast states

The context managers ensure proper state transitions during graph compilation by
tracking enter/exit points and managing cleanup operations. They help maintain
consistency between eager execution and compiled graph behavior by capturing and
restoring state changes.
N)ÚCallableÚSequenceÚSized)ÚAbstractContextManagerÚ	ExitStack)ÚAnyÚTYPE_CHECKING)Úconfig)ÚGuard)Úwarning_once)Úgraph_break_hintsÚ	variables)Úcreate_call_function)Úunimplemented)ÚGuardBuilderÚinstall_guard)Ú
AttrSourceÚGlobalStateSource)Ú_get_error_on_graph_breakÚ_set_error_on_graph_break©ÚVariableTracker)ÚNestedUserFunctionVariableÚSkipFunctionVariableÚUserFunctionVariableÚUserMethodVariableÚ!WrappedNestedUserFunctionVariableÚWrappedSkipFunctionVariableÚWrappedUserFunctionVariableÚWrappedUserMethodVariable)ÚUserDefinedObjectVariable)Ú	PyCodegen)ÚInstructionTranslatorBasec                   óP  a a€ ] tR t^>t o0 Rm]P
                  mtRV3R lV 3R llltV3R lR ltV3R lR ltRV3R lR llt	V3R	 lR
 lt
V3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# ) ÚContextWrappingVariablec                ó>   <€ V ^8„  d   QhRS[ RS[ R,          RS[ RR/# ©é   Útarget_valuesÚinitial_valuesNÚkwargsÚreturn©r   )ÚformatÚ__classdict__s   "€Úd/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dynamo/variables/ctx_manager.pyÚ__annotate__Ú$ContextWrappingVariable.__annotate__G   s1   ø€ ÷ ñ Ù ðÙ25¸µ*ðÙORðà	ñó    c                óº   <€ \         SV `  ! R/ VB  Wn        W n        Ve:   \	        V\
        4      '       g"   \        R\        V4      P                   24      hR # R # )NzFContextWrappingVariable.target_values must be None or a Sequence, got © )	ÚsuperÚ__init__r(   r)   Ú
isinstancer   Ú	TypeErrorÚtypeÚ__name__©Úselfr(   r)   r*   Ú	__class__s   &&&,€r/   r6   Ú ContextWrappingVariable.__init__G   sg   ø€ ô 	‰ÒÑ"˜6Ò"Ø*ÔØ,Ôð Ò%¬°MÄ8×)LÒ)LÜð!Ü!% mÓ!4×!=Ñ!=Ð >ð@óð ñ *MÑ%r2   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# ©r'   Útxr"   ÚotherÚopr+   ©r   Ústr)r-   r.   s   "€r/   r0   r1   U   ó-   ø€ ÷ 7ñ 7Ø-ð7Ù6Eð7ÙKNð7á	ñ7r2   c                ó    € ^RI Hp V! WW#4      # ©é   )Úobject_richcompare©Úobject_protocolrJ   ©r<   rA   rB   rC   rJ   s   &&&& r/   Útp_richcompare_implÚ+ContextWrappingVariable.tp_richcompare_implU   ó   € õ 	8á! $¨EÓ6Ð6r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# ©r'   rA   r"   r+   r   )r-   r.   s   "€r/   r0   r1   \   s   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                ó¼   € \        V R 4      '       d   V P                  WP                  4       V P                  V4       \        P
                  P                  R4      # ©Ú
_call_funcN)ÚhasattrrU   r(   Úset_cleanup_hookr   ÚConstantVariableÚcreate©r<   rA   s   &&r/   ÚenterÚContextWrappingVariable.enter\   sF   € Ü�4˜×&Ò&Ø�O‰O˜B× 2Ñ 2Ô3Ø×Ñ˜bÔ!Ü×)Ñ)×0Ñ0°Ó6Ð6r2   c                óJ   <€ V ^8„  d   QhRRRS[ RS[3,          R,          RR/# ©r'   rA   r"   Úfn.Nr+   ©r   r   )r-   r.   s   "€r/   r0   r1   b   s3   ø€ ÷ 
1ñ 
1Ø-ð
1Ù3;¸CÁ¸HÕ3EÈÕ3Lð
1à	ñ
1r2   c                ó~   a a€ Vf   R V V3R llpVS n         SP                  P                  S P                  4       R # )Nc                ó   € V ^8„  d   QhRR/# ©r'   r+   Nr4   )r-   s   "r/   r0   Ú>ContextWrappingVariable.set_cleanup_hook.<locals>.__annotate__g   s   € ÷ =ñ =˜ñ =r2   c                  óh   <€ \        S R 4      '       d   S P                  SS P                  4       R# R# rT   )rV   rU   r)   rZ   s   €€r/   r_   Ú4ContextWrappingVariable.set_cleanup_hook.<locals>.fng   s)   ø€ Ü˜4 ×.Ò.Ø—O‘O B¨×(;Ñ(;Ö<ñ /r2   ©Ú
cleanup_fnÚoutputÚadd_cleanup_hookÚcleanup©r<   rA   r_   s   ff&r/   rW   Ú(ContextWrappingVariable.set_cleanup_hookb   s3   ù€ ð Š:÷=ñ =ð 68ˆŒØ
�	‰	×"Ñ" 4§<¡<Ö0r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ©r'   rA   r"   Úargsr+   r   )r-   r.   s   "€r/   r0   r1   n   ó%   ø€ ÷ 7ñ 7Ø-ð7Ù6Eð7á	ñ7r2   c                ó`   € V P                  4        \        P                  P                  R 4      # ©N)Úcleanup_assertr   rX   rY   ©r<   rA   rp   s   &&*r/   ÚexitÚContextWrappingVariable.exitn   s'   € ð 	×ÑÔÜ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó"   <€ V ^8„  d   QhRRRR/# ©r'   Úcodegenr!   r+   Nr4   )r-   r.   s   "€r/   r0   r1   t   s   ø€ ÷ 
ñ 
¨ð 
¸ñ 
r2   c                ó”   € V! \        VP                  P                  V P                  4       4      V P	                  4       4      4       R # rs   )r   rA   Úimport_sourceÚmodule_nameÚfn_name©r<   rz   s   &&r/   Úreconstruct_typeÚ(ContextWrappingVariable.reconstruct_typet   s2   € ÙÜ�w—z‘z×/Ñ/°×0@Ñ0@Ó0BÓCÀTÇ\Á\Ã^ÓTö	
r2   c                ó"   <€ V ^8„  d   QhRRRR/# ry   r4   )r-   r.   s   "€r/   r0   r1   y   s   ø€ ÷ Oñ O ;ð O°4ñ Or2   c                ó  a a€ SP                  VV 3R  l4       S P                  pV'       g   RpSP                  V Uu. uF  pSP                  V4      NK  	  up4       SP                  \	        \        V4      R4      4       R# u upi )c                  ó&   <€ SP                  S 4      # rs   )r€   )rz   r<   s   €€r/   Ú<lambda>Ú5ContextWrappingVariable.reconstruct.<locals>.<lambda>z   s   ø€  d×&;Ñ&;¸GÔ&Dr2   FNr4   )Úadd_push_nullr(   Úextend_outputÚcreate_load_constr   Úlen)r<   rz   r(   Úvals   ff  r/   ÚreconstructÚ#ContextWrappingVariable.reconstructy   sn   ù€ Ø×ÑÕDÔEØ×*Ñ*ˆßØˆMØ×ÑÉÓWÉÀ#˜w×8Ñ8¸Ö=ÉÑWÔXØ×ÑÔ2´3°}Ó3EÀuÓMÖNùò Xs   ¾Bc                ó    <€ V ^8„  d   QhRS[ /# ©r'   r+   ©rE   )r-   r.   s   "€r/   r0   r1   �   s   ø€ ÷ @ñ @™Sñ @r2   c                ó   € \        R 4      h)zmodule_name called on base©ÚNotImplementedError©r<   s   &r/   r}   Ú#ContextWrappingVariable.module_name�   s   € Ü!Ð">Ó?Ð?r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r1   „   s   ø€ ÷ <ñ <™ñ <r2   c                ó   € \        R 4      h)zfn_name called on baser’   r”   s   &r/   r~   ÚContextWrappingVariable.fn_name„   s   € Ü!Ð":Ó;Ð;r2   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# ©r'   rA   r"   rp   r*   r+   ©Úlistr   ÚdictrE   )r-   r.   s   "€r/   r0   r1   ‡   sB   ø€ ÷ 8ñ 8à'ð8ñ ‘?Õ#ð8ñ ‘S™/Ð)Õ*ð	8ñ
 
ñ8r2   c                ó|  € \        V4      ^8w  d   \        R\        V4       24      h\        V^ ,          \        \        \
        \        34      '       g   \        R\        V^ ,          4       24      h\        V^ ,          \        4      '       d   \        V^ ,          V 4      # \        V^ ,          \        4      '       d   \        V^ ,          V 4      # \        V^ ,          \
        4      '       d   \        V^ ,          V 4      # \        V^ ,          \        4      '       d   \        V^ ,          V 4      # \        R4      h)rI   zexpected exactly 1 arg, got z"expected a function variable, got zUnexpected arg type)rŠ   ÚAssertionErrorr7   r   r   r   r   r9   r   r   r   r   ©r<   rA   rp   r*   s   &&&&r/   Úcall_functionÚ%ContextWrappingVariable.call_function‡   s  € ô ˆt‹9˜Œ>Ü Ð#?ÄÀDÃ	¸{Ð!KÓLÐLÜØ��Gä*Ü$Ü"Ü$ð	÷
ò 
ô !Ð#EÄdÈ4ÐPQÍ7ÃmÀ_Ð!UÓVÐVä�d˜1•gÔ9×:Ò:Ü4°T¸!µW¸dÓCÐCÜ˜˜Q�Ô!5×6Ò6Ü.¨t°A­w¸Ó=Ð=Ü˜˜Q�Ô!3×4Ò4Ü,¨T°!­W°dÓ;Ð;Ü˜˜Q�Ô!5×6Ò6Ü.¨t°A­w¸Ó=Ð=ä Ð!6Ó7Ð7r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   ©Úbool)r-   r.   s   "€r/   r0   r1   ¥   s   ø€ ÷ ñ ¡tñ r2   c                ó   € R # ©Tr4   r”   s   &r/   Úsupports_graph_breaksÚ-ContextWrappingVariable.supports_graph_breaks¥   ó   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r¤   )r-   r.   s   "€r/   r0   r1   ¨   ó   ø€ ÷ ñ ¡Tñ r2   c                ó   € R # r§   r4   r”   s   &r/   Úexit_on_graph_breakÚ+ContextWrappingVariable.exit_on_graph_break¨   rª   r2   c                ó   <€ V ^8„  d   QhRR/# rc   r4   )r-   r.   s   "€r/   r0   r1   «   s   ø€ ÷ #ñ #˜ñ #r2   c                óT   € V P                   e   V P                  4        R V n         R # R # rs   )rh   r”   s   &r/   rk   ÚContextWrappingVariable.cleanup«   s"   € Ø�?‰?Ò&Ø�O‰OÔØ"ˆDŽOñ 'r2   c                ó   <€ V ^8„  d   QhRR/# rc   r4   )r-   r.   s   "€r/   r0   r1   °   s   ø€ ÷ ñ  ñ r2   c                ó`   € V P                   '       g   \        R 4      hV P                  4        R# )zmultiple exits?N)rh   rŸ   rk   r”   s   &r/   rt   Ú&ContextWrappingVariable.cleanup_assert°   s    € Ø��ˆÜ Ð!2Ó3Ð3Ø�‰Žr2   )rh   r)   r(   >   ÚstateÚcm_objr(   r)   rs   )r:   Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú_nonvar_fieldsr6   rN   r[   rW   rv   r€   rŒ   r}   r~   r¡   r¨   r®   rk   rt   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r=   r.   s   @@r/   r$   r$   >   s±   ù‡ € òð
 
×	'Ñ	'ð€N÷õ ÷7ð 7÷7ð 7÷
1ò 
1÷7ð 7÷
ð 
÷
Oð O÷@ð @÷<ð <÷8ð 8÷<ð ÷ð ÷#ð #÷
÷ ð r2   r$   c                   óª   a a€ ] tR t^¶t oV3R lV 3R lltV3R lR ltV3R lR ltV3R lR ltV3R	 lR
 ltV3R lR lt	V3R lR lt
RtVtV ;t# )ÚGenericContextWrappingVariablec                ó:   <€ V ^8„  d   QhRS[ S[,          RS[RR/# ©r'   r·   r*   r+   N)r   r   )r-   r.   s   "€r/   r0   Ú+GenericContextWrappingVariable.__annotate__¹   s(   ø€ ÷ ñ Ñ5±cÕ:ð Ácð Èdñ r2   c                ón   <€ Vf   \        R4      h\        SV `  ! RRVRVP                  /VB  Wn        R # )Nzcm_obj must not be NoneÚvalueÚ
value_typer4   )rŸ   r5   r6   r=   r·   )r<   r·   r*   r=   s   &&,€r/   r6   Ú'GenericContextWrappingVariable.__init__¹   sH   ø€ ØŠ>Ü Ð!:Ó;Ð;Ü‰Òñ 	
Øð	
à×'Ñ'ð	
ð ò	
ð
 Žr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rÄ   Ã   ó   ø€ ÷ &ñ &™Sñ &r2   c                ó.   € V P                   P                  # rs   )r·   r¸   r”   s   &r/   r}   Ú*GenericContextWrappingVariable.module_nameÃ   s   € Ø�{‰{×%Ñ%Ð%r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rÄ   Æ   s   ø€ ÷ *ñ *™ñ *r2   c                ó@   € \        V P                  4      P                  # rs   )r9   r·   r:   r”   s   &r/   r~   Ú&GenericContextWrappingVariable.fn_nameÆ   s   € Ü�D—K‘KÓ ×)Ñ)Ð)r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rÄ   É   s   ø€ ÷ $ñ $Ð3ð $¹ñ $r2   c                óÞ   € V P                   f   R M\        V P                   R4      p\        P                  ! V P                  P
                  P                  V VR7      P                  V. / 4      # )NÚ	__enter__©Úsource)rÔ   r   r   r   r·   rÒ   Ú__func__r¡   )r<   rA   rÔ   s   && r/   r[   Ú$GenericContextWrappingVariable.enterÉ   sY   € ØŸ™Ò,‘´*¸T¿[¹[È+Ó2VˆÜ×+Ò+Ø�K‰K×!Ñ!×*Ñ*ØØô
÷ ‰-˜˜B Ó
#ð		$r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rÄ   Ñ   s%   ø€ ÷ 
ñ 
Ø-ð
Ù6Eð
á	ñ
r2   c                ó(  € V P                   f   R M\        V P                   R4      p\        P                  ! V P                  P
                  P                  V VR7      P                  V\        V4      / 4      pVP                  P                  4        V# )NÚ__exit__rÓ   )rÔ   r   r   r   r·   rÙ   rÕ   r¡   rœ   Úactive_generic_context_managersÚpop)r<   rA   rp   rÔ   Úxs   &&*  r/   rv   Ú#GenericContextWrappingVariable.exitÑ   sx   € ð Ÿ™Ò,‘´*¸T¿[¹[È*Ó2UˆÜ×(Ò(Ø�K‰K× Ñ ×)Ñ)ØØô
÷ ‰-˜œD ›J¨Ó
+ð	 	
ð
 	×*Ñ*×.Ñ.Ô0Øˆr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r¤   )r-   r.   s   "€r/   r0   rÄ   Ý   s   ø€ ÷ ñ ¡tñ r2   c                ó   € R # ©Fr4   r”   s   &r/   r¨   Ú4GenericContextWrappingVariable.supports_graph_breaksÝ   s   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r¤   )r-   r.   s   "€r/   r0   rÄ   à   r¬   r2   c                ó   € R # r§   r4   r”   s   &r/   r®   Ú2GenericContextWrappingVariable.exit_on_graph_breakà   rª   r2   )r·   )r:   r¸   r¹   rº   r6   r}   r~   r[   rv   r¨   r®   r¼   r½   r¾   r¿   s   @@r/   rÁ   rÁ   ¶   sP   ù‡ € ÷ó ÷&ð &÷*ð *÷$ð $÷
ð 
÷ð ÷÷ ð r2   rÁ   c                   óJ   a a€ ] tR t^ät oV3R lV 3R lltR tR tRtVtV ;t	# )ÚRecordFunctionVariablec                óR   <€ V ^8„  d   QhRS[ P                  P                  RS[RR/# rÃ   )ÚtorchÚprofilerÚrecord_functionr   )r-   r.   s   "€r/   r0   Ú#RecordFunctionVariable.__annotate__å   s-   ø€ ÷ 
ñ 
™uŸ~™~×=Ñ=ð 
Éð 
ÐQUñ 
r2   c                ó„  <€ \         SV `  ! V3/ VB  \        P                  P	                  VP
                  4      .p/ pVP                  '       d-   \        P                  P	                  VP                  4      VR &   \        P                  P                  P	                  \        V P                  4      W4R7      V n        R# )rp   )ÚfuncÚrecord_argsÚrecord_kwargsN)r5   r6   r   rX   rY   Únamerp   rè   Ú%ProfilerRecordFunctionContextVariabler9   r·   Ú	record_fn)r<   r·   r*   rp   rï   r=   s   &&,  €r/   r6   ÚRecordFunctionVariable.__init__å   s�   ø€ Ü‰Ò˜Ñ* 6Ò*Ü×*Ñ*×1Ñ1°&·+±+Ó>Ð?ˆØˆØ�;�;ˆ;Ü$-×$>Ñ$>×$EÑ$EÀfÇkÁkÓ$RˆM˜&Ñ!Ü"Ÿ™×NÑN×UÑUÜ�d—k‘kÓ"°ð Vó 
ˆŽr2   c                ón   € VP                   P                  V 4       V P                  P                  V4      # rs   )rÚ   Úappendrò   r[   rZ   s   &&r/   r[   ÚRecordFunctionVariable.enterï   s+   € Ø
×*Ñ*×1Ñ1°$Ô7Ø�~‰~×#Ñ# BÓ'Ð'r2   c                ór   € VP                   P                  4        V P                  P                  ! V.VO5!  # rs   )rÚ   rÛ   rò   rv   ru   s   &&*r/   rv   ÚRecordFunctionVariable.exitó   s.   € Ø
×*Ñ*×.Ñ.Ô0Ø�~‰~×"Ò" 2Ð-¨Ó-Ð-r2   )rò   )
r:   r¸   r¹   rº   r6   r[   rv   r¼   r½   r¾   r¿   s   @@r/   ræ   ræ   ä   s   ù‡ € ÷
ó 
ò(÷.ò .r2   ræ   c                   óh   a € ] tR t^øt o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltR	tV t	R
# )Ú$RepararametrizeModuleContextVariablec                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r'   Úctx_manager_vtÚmodr+   N)r$   r   )r-   r.   s   "€r/   r0   Ú1RepararametrizeModuleContextVariable.__annotate__ù   s#   ø€ ÷ ñ Ñ'>ð ÁSð ÈTñ r2   c                ó   € Wn         W n        R # rs   )Úcm_vtrý   )r<   rü   rý   s   &&&r/   r6   Ú-RepararametrizeModuleContextVariable.__init__ù   s   € Ø#Œ
ØŽr2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rþ   þ   s   ø€ ÷ (ñ (Ð3ð (¹ñ (r2   c                ód  € \         P                  P                  P                  P	                  V4      ;_uu_ 4        V P
                  P                  VR 4      P                  4       V n        V P
                  P                  VR4      P                  4       V n	        VP                  P                  P                  V P                  4       VP                  P                  P                  V P                  4       V P                  P                  V4      uuRRR4       #   + '       g   i     R# ; i)Ú_parametersÚ_buffersN)rè   Ú_dynamor   Úhigher_order_opsÚ dynamo_allow_side_effects_in_hoprý   Útp_getattro_implÚrealizeÚold_parameters_varÚold_buffer_varri   Úside_effectsÚignore_mutations_onr   r[   rZ   s   &&r/   r[   Ú*RepararametrizeModuleContextVariable.enterþ   sÙ   € ô �]‰]×$Ñ$×5Ñ5×VÑVØ÷
õ 
ð '+§h¡h×&?Ñ&?Ø�Mó'ç‰g‹ið Ô#ð #'§(¡(×";Ñ";¸BÀ
Ó"K×"SÑ"SÓ"UˆDÔØ�I‰I×"Ñ"×6Ñ6°t×7NÑ7NÔOØ�I‰I×"Ñ"×6Ñ6°t×7JÑ7JÔKØ—:‘:×#Ñ# BÓ'÷
÷ 
÷ 
ó 
ús   ¼CDÄD/	c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rþ     s%   ø€ ÷ ñ Ø-ðÙ6Eðá	ñr2   c                ó²  € \         P                  P                  P                  P	                  V4      ;_uu_ 4        V P
                  P                  ! V.VO5!  pVP                  P                  P                  V P                  4       VP                  P                  P                  V P                  4       VuuR R R 4       #   + '       g   i     R # ; irs   )rè   r  r   r  r  r   rv   ri   r  Ústop_ignoring_mutations_onr  r  )r<   rA   rp   rÜ   s   &&* r/   rv   Ú)RepararametrizeModuleContextVariable.exit  s—   € ô
 �]‰]×$Ñ$×5Ñ5×VÑVØ÷
õ 
ð —
‘
—’ Ð* TÓ*ˆAØ�I‰I×"Ñ"×=Ñ=¸d×>QÑ>QÔRØ�I‰I×"Ñ"×=Ñ=¸d×>UÑ>UÔVØ÷
÷ 
÷ 
ó 
ús   ¼A>CÃC	c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r'   rð   r+   ©rE   r   )r-   r.   s   "€r/   r0   rþ     s   ø€ ÷ )ñ )¡ð )©ñ )r2   c                ó.   € \        V P                  V4      # rs   )Úgetattrr   )r<   rð   s   &&r/   Ú__getattr__Ú0RepararametrizeModuleContextVariable.__getattr__  s   € ä�t—z‘z 4Ó(Ð(r2   )r   rý   r  r  N)
r:   r¸   r¹   rº   r6   r[   rv   r  r¼   r½   ©r.   s   @r/   rú   rú   ø   s-   ø‡ € ÷ð ÷
(ð (÷ð ÷)ö )r2   rú   c                   ód   a € ] tR tRt o Rt]V 3R lR l4       tV 3R lR ltV 3R lR ltR	t	V t
R
# )Ú)GradInplaceRequiresGradCtxManagerVariablei  z#represents torch grad requires gradc                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# )r'   rA   r"   r(   r*   r+   r  r,   )r-   r.   s   "€r/   r0   Ú6GradInplaceRequiresGradCtxManagerVariable.__annotate__#  s-   ø€ ÷ 
ñ 
Ø'ð
Ù8;ð
ÙGJð
à	4ñ
r2   c                ó    € \        RR VRR/VB # ©r(   r)   Nr4   )r  ©rA   r(   r*   s   &&,r/   rY   Ú0GradInplaceRequiresGradCtxManagerVariable.create"  s+   € ô 9ñ 
Ø'ð
àð
ð ñ
ð 	
r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r  ,  s   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                óÂ  a € S P                   w  p\        P                  P                  P	                  4       S n        \        P                  P                  P                  V4       S P                  VV 3R  l4       VP                  P                  R\        P                  P                  P                  V3/ 4      S n
        \        P                  P                  R4      # )c                  ój   <€ \         P                  P                  P                  S P                  4      # rs   )rè   Ú_CÚ
_functorchÚ!set_inplace_requires_grad_allowedÚ
prev_stater”   s   €r/   r…   ÚAGradInplaceRequiresGradCtxManagerVariable.enter.<locals>.<lambda>2  s!   ø€ ”E—H‘H×'Ñ'×IÑIØ—‘ôr2   r¡   N)r(   rè   r&  r'  Ú!get_inplace_requires_grad_allowedr)  r(  rW   ri   Úcreate_nodeÚproxyr   rX   rY   )r<   rA   Úenableds   f& r/   r[   Ú/GradInplaceRequiresGradCtxManagerVariable.enter,  s§   ø€ Ø×&Ñ&‰	ˆÜŸ(™(×-Ñ-×OÑOÓQˆŒÜ�‰×Ñ×=Ñ=¸gÔFØ×ÑØôô	
ð —Y‘Y×*Ñ*ØÜ�H‰H×Ñ×AÑAØˆJØó	
ˆŒ
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r  >  ó%   ø€ ÷ 
7ñ 
7Ø-ð
7Ù6Eð
7á	ñ
7r2   c                óö   € V P                  4        VP                  P                  R \        P                  P
                  P                  V P                  3/ 4       \        P                  P                  R4      # ©r¡   N)rk   ri   r,  rè   r&  r'  r(  r)  r   rX   rY   ru   s   &&*r/   rv   Ú.GradInplaceRequiresGradCtxManagerVariable.exit>  s[   € ð 	�‰ŒØ
�	‰	×ÑØÜ�H‰H×Ñ×AÑAØ�_‰_ÐØô		
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   ©r)  r-  N©r:   r¸   r¹   rº   Ú__doc__ÚstaticmethodrY   r[   rv   r¼   r½   r  s   @r/   r  r    s.   ø‡ € Ù-à÷
ó ð
÷7ð 7÷$
7ö 
7r2   r  c                   ód   a € ] tR tRt o Rt]V 3R lR l4       tV 3R lR ltV 3R lR ltR	t	V t
R
# )Ú0TemporarilyPopInterpreterStackCtxManagerVariableiK  zJrepresents torch._functorch.pyfunction.temporarily_pop_interpreter_stack()c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# )r'   rA   r"   r(   r*   r+   r:  r,   )r-   r.   s   "€r/   r0   Ú=TemporarilyPopInterpreterStackCtxManagerVariable.__annotate__O  s-   ø€ ÷ 
ñ 
Ø'ð
Ù8;ð
ÙGJð
à	;ñ
r2   c                ó    € \        RR VRR/VB # r   )r:  r!  s   &&,r/   rY   Ú7TemporarilyPopInterpreterStackCtxManagerVariable.createN  s,   € ô @ñ 
Ø'ð
àð
ð ñ
ð 	
r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r<  X  s   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                óR  a € \         P                  P                  P                  4       S n        S P                  VV 3R  l4       VP                  P                  R\         P                  P                  P                  R/ 4      S n        \        P                  P                  R4      # )c                  ój   <€ \         P                  P                  P                  S P                  4      # rs   )rè   r&  r'  Úpush_dynamic_layer_stackÚsavedr”   s   €r/   r…   ÚHTemporarilyPopInterpreterStackCtxManagerVariable.enter.<locals>.<lambda>\  s   ø€ ”E—H‘H×'Ñ'×@Ñ@ÀÇÁÔLr2   r¡   Nr4   )rè   r&  r'  Úpop_dynamic_layer_stackrC  rW   ri   r,  r-  r   rX   rY   rZ   s   f&r/   r[   Ú6TemporarilyPopInterpreterStackCtxManagerVariable.enterX  s~   ø€ Ü—X‘X×(Ñ(×@Ñ@ÓBˆŒ
Ø×ÑØÜLô	
ð —Y‘Y×*Ñ*ØÜ�H‰H×Ñ×7Ñ7ØØó	
ˆŒ
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r<  f  r1  r2   c                óö   € V P                  4        VP                  P                  R \        P                  P
                  P                  V P                  3/ 4       \        P                  P                  R4      # r3  )rk   ri   r,  rè   r&  r'  rB  r-  r   rX   rY   ru   s   &&*r/   rv   Ú5TemporarilyPopInterpreterStackCtxManagerVariable.exitf  sZ   € ð 	�‰ŒØ
�	‰	×ÑØÜ�H‰H×Ñ×8Ñ8Ø�Z‰ZˆMØô		
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   )r-  rC  Nr6  r  s   @r/   r:  r:  K  s.   ø‡ € ÙTà÷
ó ð
÷7ð 7÷
7ö 
7r2   r:  c                   ó”   a € ] tR tRt o Rt]! ]! 4       ]P                  4      t	]
V 3R lR l4       tV 3R lR ltV 3R lR ltR	tV tR
# )Ú%JvpIncrementNestingCtxManagerVariableis  z5represents torch.func.jvp increment/decrement nestingc                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r'   rA   r"   r*   r+   rK  r,   )r-   r.   s   "€r/   r0   Ú2JvpIncrementNestingCtxManagerVariable.__annotate__~  s%   ø€ ÷ ñ Ø'ðÙ36ðà	0ñr2   c                ó$   € \        RR RRR/VB pV# ©r(   Nr)   r4   )rK  ©rA   r*   Úvars   &, r/   rY   Ú,JvpIncrementNestingCtxManagerVariable.create}  s/   € ô 4ñ 
Øð
àð
ð ñ
ˆð
 ˆ
r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rM  ˆ  s   ø€ ÷ >ñ >Ð3ð >¹ñ >r2   c                ój  € \        V P                  4       \        P                  P                  P                  4       pV P                  VR  4       VP                  P                  R\        P                  P                  P                  R/ 4      V n        \        P                  P                  W4      # )c                  óR   € \         P                  P                  P                  4       # rs   )rè   r'  Úeager_transformsÚexit_jvp_nestingr4   r2   r/   r…   Ú=JvpIncrementNestingCtxManagerVariable.enter.<locals>.<lambda>Œ  s   € œ×(Ñ(×9Ñ9×JÑJÔLr2   r¡   r4   )r   Ú_guards_singletonrè   r'  rV  Úenter_jvp_nestingrW   ri   r,  ÚpredispatchÚ_jvp_increment_nestingr-  r   r   Úbuild)r<   rA   Ú	jvp_levels   && r/   r[   Ú+JvpIncrementNestingCtxManagerVariable.enterˆ  s�   € Ü�d×,Ñ,Ô-Ü×$Ñ$×5Ñ5×GÑGÓIˆ	Ø×ÑØÑLô	
ð —Y‘Y×*Ñ*ØÜ×Ñ×(Ñ(×?Ñ?ØØó	
ˆŒ
ô ×(Ñ(×.Ñ.¨rÓ=Ð=r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rM  –  ó%   ø€ ÷ 7ñ 7Ø-ð7Ù6Eð7á	ñ7r2   c                óà   € V P                  4        VP                  P                  R \        P                  P
                  P                  R/ 4       \        P                  P                  R4      # ©r¡   Nr4   )
rk   ri   r,  rè   r'  r[  Ú_jvp_decrement_nestingr   rX   rY   ru   s   &&*r/   rv   Ú*JvpIncrementNestingCtxManagerVariable.exit–  sU   € ð 	�‰ŒØ
�	‰	×ÑØœU×-Ñ-×9Ñ9×PÑPÐRTÐVXô	
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   ©r-  N©r:   r¸   r¹   rº   r7  r
   r   r   ÚFUNCTORCH_STACK_MATCHrY  r8  rY   r[   rv   r¼   r½   r  s   @r/   rK  rK  s  sG   ø‡ € Ù?ñ Ñ/Ó1°<×3UÑ3UÓVÐà÷ó ð÷>ð >÷7ö 7r2   rK  c                   óv   a € ] tR tRt o Rt]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R	 lR
 lt	Rt
V tR# )ÚSetFwdGradEnabledContextManageri   zWrepresents torch.autograd.forward_ad._set_fwd_grad_enabled() to enable/disable fwd gradc                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# )r'   rA   r"   r(   r*   r+   rj  r,   )r-   r.   s   "€r/   r0   Ú,SetFwdGradEnabledContextManager.__annotate__¤  s-   ø€ ÷ 
ñ 
Ø'ð
Ù8;ð
ÙGJð
à	*ñ
r2   c                ó    € \        RR VRR/VB # r   )rj  r!  s   &&,r/   rY   Ú&SetFwdGradEnabledContextManager.create£  s+   € ô /ñ 
Ø'ð
àð
ð ñ
ð 	
r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rl  ­  s   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                ó†  a € S P                   w  p\        P                  P                  4       S n        \        P                  P                  V4       S P                  VV 3R  l4       VP                  P                  R\        P                  P
                  V3/ 4      S n	        \        P                  P                  R4      # )c                  óV   <€ \         P                  P                  S P                  4      # rs   )rè   r&  Ú_set_fwd_grad_enabledr)  r”   s   €r/   r…   Ú7SetFwdGradEnabledContextManager.enter.<locals>.<lambda>³  s   ø€ ”E—H‘H×2Ñ2°4·?±?ÔCr2   r¡   N)r(   rè   r&  Ú_is_fwd_grad_enabledr)  rr  rW   ri   r,  r-  r   rX   rY   )r<   rA   Úmodes   f& r/   r[   Ú%SetFwdGradEnabledContextManager.enter­  s“   ø€ Ø×#Ñ#‰ˆÜŸ(™(×7Ñ7Ó9ˆŒÜ�‰×&Ñ& tÔ,Ø×ÑØÜCô	
ð —Y‘Y×*Ñ*ØÜ�H‰H×*Ñ*ØˆGØó	
ˆŒ
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rl  ½  r1  r2   c                óâ   € V P                  4        VP                  P                  R \        P                  P
                  V P                  3/ 4       \        P                  P                  R4      # r3  )
rk   ri   r,  rè   r&  rr  r)  r   rX   rY   ru   s   &&*r/   rv   Ú$SetFwdGradEnabledContextManager.exit½  sU   € ð 	�‰ŒØ
�	‰	×ÑØÜ�H‰H×*Ñ*Ø�_‰_ÐØô		
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   ©r9   )r-   r.   s   "€r/   r0   rl  É  s   ø€ ÷ ?ñ ?™Tñ ?r2   c                óJ   € \         P                  P                  P                  # rs   )rè   ÚautogradÚ
forward_adrr  r”   s   &r/   Úpython_typeÚ+SetFwdGradEnabledContextManager.python_typeÉ  s   € Ü�~‰~×(Ñ(×>Ñ>Ð>r2   r5  N)r:   r¸   r¹   rº   r7  r8  rY   r[   rv   r  r¼   r½   r  s   @r/   rj  rj     s8   ø‡ € Ùaà÷
ó ð
÷7ð 7÷ 
7ð 
7÷?ö ?r2   rj  c                   ó¦   a € ] tR tRt o Rt]! ]! 4       ]P                  4      t	]
V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R	 lR
 ltRtV tR# )ÚDualLevelContextManageriÍ  z;Represents torch.autograd.forward_ad.dual_level ctx managerc                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r'   rA   r"   r*   r+   r‚  r,   )r-   r.   s   "€r/   r0   Ú$DualLevelContextManager.__annotate__Ó  s%   ø€ ÷ 
ñ 
Ø'ð
Ù36ð
à	"ñ
r2   c                ó    € \        RR RRR/VB # rO  )r‚  )rA   r*   s   &,r/   rY   ÚDualLevelContextManager.createÒ  s+   € ô 'ñ 
Øð
àð
ð ñ
ð 	
r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r„  Ü  s    ø€ ÷ Cñ CÐ3ð C¹ñ Cr2   c                ó’  a € \        S P                  4       \        P                  P                  P                  4       S n        S P                  VV 3R  l4       VP                  P                  R\        P                  P                  P                  R/ 4      S n        \        P                  P!                  VS P                  4      # )c                  ól   <€ \         P                  P                  P                  S P                  R 7      # ))Úlevel)rè   r}  r~  Úexit_dual_levelÚ	new_levelr”   s   €r/   r…   Ú/DualLevelContextManager.enter.<locals>.<lambda>à  s!   ø€ œŸ™×1Ñ1×AÑAÈÏÉÐAÔWr2   r¡   r4   )r   rY  rè   r}  r~  Úenter_dual_levelrŒ  rW   ri   r,  r'  r[  Ú_enter_dual_levelr-  r   r   r]  rZ   s   f&r/   r[   ÚDualLevelContextManager.enterÜ  s”   ø€ Ü�d×,Ñ,Ô-ÜŸ™×2Ñ2×CÑCÓEˆŒØ×ÑØÔWô	
ð —Y‘Y×*Ñ*ØÜ×Ñ×(Ñ(×:Ñ:ØØó	
ˆŒ
ô ×(Ñ(×.Ñ.¨r°4·>±>ÓBÐBr2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r„  ê  r1  r2   c                óø   € V P                  4        VP                  P                  R \        P                  P
                  P                  RRV P                  /4       \        P                  P                  R4      # )r¡   rŠ  Nr4   )rk   ri   r,  rè   r'  r[  Ú_exit_dual_levelrŒ  r   rX   rY   ru   s   &&*r/   rv   ÚDualLevelContextManager.exitê  s_   € ð 	�‰ŒØ
�	‰	×ÑØÜ×Ñ×(Ñ(×9Ñ9ØØ�d—n‘nÐ%ô		
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r„  ö  s   ø€ ÷ 4ñ 4™Tñ 4r2   c                óJ   € \         P                  P                  P                  # rs   )rè   r}  r~  Ú
dual_levelr”   s   &r/   r  Ú#DualLevelContextManager.python_typeö  s   € Ü�~‰~×(Ñ(×3Ñ3Ð3r2   )rŒ  r-  N)r:   r¸   r¹   rº   r7  r
   r   r   Ú
DUAL_LEVELrY  r8  rY   r[   rv   r  r¼   r½   r  s   @r/   r‚  r‚  Í  sQ   ø‡ € ÙEáÑ/Ó1°<×3JÑ3JÓKÐà÷
ó ð
÷Cð C÷
7ð 
7÷4ö 4r2   r‚  c                   ó”   a € ] tR tRt o Rt]! ]! 4       ]P                  4      t	]
V 3R lR l4       tV 3R lR ltV 3R lR ltR	tV tR
# )Ú&GradIncrementNestingCtxManagerVariableiú  z6represents torch.func.grad increment/decrement nestingc                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r'   rA   r"   r*   r+   r›  r,   )r-   r.   s   "€r/   r0   Ú3GradIncrementNestingCtxManagerVariable.__annotate__  s%   ø€ ÷ ñ Ø'ðÙ36ðà	1ñr2   c                ó$   € \        RR RRR/VB pV# rO  )r›  rP  s   &, r/   rY   Ú-GradIncrementNestingCtxManagerVariable.create  s/   € ô 5ñ 
Øð
àð
ð ñ
ˆð
 ˆ
r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r�    s   ø€ ÷ 
?ñ 
?Ð3ð 
?¹ñ 
?r2   c                ój  € \        V P                  4       \        P                  P                  P                  4       pV P                  VR  4       VP                  P                  R\        P                  P                  P
                  R/ 4      V n	        \        P                  P                  W4      # )c                  óR   € \         P                  P                  P                  4       # rs   )rè   r&  r'  Ú_grad_decrement_nestingr4   r2   r/   r…   Ú>GradIncrementNestingCtxManagerVariable.enter.<locals>.<lambda>  ó   € ¬%¯(©(×*=Ñ*=×*UÑ*UÔ*Wr2   r¡   r4   )r   rY  rè   r&  r'  Ú_grad_increment_nestingrW   ri   r,  r-  r   r   r]  )r<   rA   Ú
grad_levels   && r/   r[   Ú,GradIncrementNestingCtxManagerVariable.enter  s„   € Ü�d×,Ñ,Ô-Ü—X‘X×(Ñ(×@Ñ@ÓBˆ
Ø×Ñ˜bÑ"WÔXØ—Y‘Y×*Ñ*ØÜ�H‰H×Ñ×7Ñ7ØØó	
ˆŒ
ô ×(Ñ(×.Ñ.¨rÓ>Ð>r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r�    ra  r2   c                óà   € V P                  4        VP                  P                  R \        P                  P
                  P                  R/ 4       \        P                  P                  R4      # rc  )
rk   ri   r,  rè   r&  r'  r£  r   rX   rY   ru   s   &&*r/   rv   Ú+GradIncrementNestingCtxManagerVariable.exit  sQ   € ð 	�‰ŒØ
�	‰	×ÑØœUŸX™X×0Ñ0×HÑHÈ"Èbô	
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   rf  Nrg  r  s   @r/   r›  r›  ú  sG   ø‡ € Ù@ñ Ñ/Ó1°<×3UÑ3UÓVÐà÷ó ð÷
?ð 
?÷7ö 7r2   r›  c                   ó˜   a a€ ] tR tRt oRt]V3R lR l4       tRV3R lV 3R llltV3R lR ltV3R	 lR
 lt	V3R lR lt
RtVtV ;t# )ÚCatchWarningsCtxManagerVariablei%  z'Delay a call to warnings.catch_warningsc                ó>   <€ V ^8„  d   QhRRRS[ S[S[3,          RR/# )r'   rA   r"   Úcatch_warnings_argsr+   r­  )r�   rE   r   )r-   r.   s   "€r/   r0   Ú,CatchWarningsCtxManagerVariable.__annotate__)  s/   ø€ ÷ 
ñ 
Ø'ð
Ù>BÁ3ÉÐCWÕ>Xð
à	*ñ
r2   c                ó   € \        VR R R7      # )N)r¯  r(   r)   )r­  )rA   r¯  s   &&r/   rY   Ú&CatchWarningsCtxManagerVariable.create(  s   € ô /Ø 3ØØô
ð 	
r2   c          
      óh   <€ V ^8„  d   QhRS[ S[S[3,          RS[R,          RS[R,          RS[RR/# )r'   r¯  r(   Nr)   r*   r+   )r�   rE   r   r   )r-   r.   s   "€r/   r0   r°  2  sO   ø€ ÷ 7ñ 7á!¡#¡Ð"6Õ7ð7ñ ˜T•zð7ñ ˜d�
ð	7ñ
 ð7ð 
ñ7r2   c                ó„   <€ \        V\        4      '       g   \        R V 24      h\        SV `  ! RRVRV/VB  Wn        R# )z(catch_warnings_args must be a dict, got r(   r)   Nr4   )r7   r�   rŸ   r5   r6   r¯  )r<   r¯  r(   r)   r*   r=   s   &&&&,€r/   r6   Ú(CatchWarningsCtxManagerVariable.__init__2  s[   ø€ ô Ð-¬t×4Ò4Ü Ø:Ð;NÐ:OÐPóð ô 	‰Òñ 	
Ø'ð	
Ø8Fð	
ØJPò	
ð $7Ö r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r°  B  s    ø€ ÷ Hñ HÐ3ð H¹ñ Hr2   c                ó:  a€ V P                   P                  4        UUu/ uF  w  r#W#P                  4       bK  	  ppp\        P                  ! R/ VB oV P                  VV3R  l4       \        P                  P                  VSP                  4       4      # u uppi )c                  ó*   <€ S P                  R R R 4      # rs   )rÙ   )Úctx_vals   €r/   r…   Ú7CatchWarningsCtxManagerVariable.enter.<locals>.<lambda>G  s   ø€ ¨'×*:Ñ*:¸4ÀÀtÔ*Lr2   r4   )
r¯  ÚitemsÚas_python_constantÚwarningsÚcatch_warningsrW   r   r   r]  rÒ   )r<   rA   ÚkÚvr*   r¹  s   &&   @r/   r[   Ú%CatchWarningsCtxManagerVariable.enterB  sŠ   ø€ à26×2JÑ2J×2PÑ2PÔ2Rô
Ù2R©$¨!ˆA×#Ñ#Ó%Ò%Ñ2Rð 	ñ 
ô ×)Ò)Ñ3¨FÑ3ˆØ×Ñ˜bÔ"LÔMÜ×(Ñ(×.Ñ.¨r°7×3DÑ3DÓ3FÓGÐGùó
s   ŸBc                ó"   <€ V ^8„  d   QhRRRR/# ry   r4   )r-   r.   s   "€r/   r0   r°  J  s   ø€ ÷ Wñ W ;ð W°4ñ Wr2   c                ó   a€ SP                  V3R  l4       SP                  V P                  P                  4       4       \	        V P                  P                  4       4      pSP                  SP                  \        V4      VR4      4       R# )c                  ó(   <€ S P                  R R4      # ©r½  r¾  )Úload_import_from)rz   s   €r/   r…   Ú=CatchWarningsCtxManagerVariable.reconstruct.<locals>.<lambda>L  s   ø€ �G×,Ñ,¨ZÐ9IÔJr2   FN)	r‡   Úforeachr¯  ÚvaluesÚtupleÚkeysrˆ   Úcreate_call_function_kwrŠ   )r<   rz   rË  s   &f r/   rŒ   Ú+CatchWarningsCtxManagerVariable.reconstructJ  sk   ø€ Ø×ÑÜJô	
ð 	�‰˜×0Ñ0×7Ñ7Ó9Ô:Ü�T×-Ñ-×2Ñ2Ó4Ó5ˆØ×Ñ˜g×=Ñ=¼cÀ$»iÈÈuÓUÖVr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r°  R  s   ø€ ÷ 'ñ '™Tñ 'r2   c                ó"   € \         P                  # rs   rÅ  r”   s   &r/   r  Ú+CatchWarningsCtxManagerVariable.python_typeR  s   € Ü×&Ñ&Ð&r2   )r¯  ©NN)r:   r¸   r¹   rº   r7  r8  rY   r6   r[   rŒ   r  r¼   r½   r¾   r¿   s   @@r/   r­  r­  %  sK   ù‡ € Ù1à÷
ó ð
÷7õ 7÷ Hð H÷Wð W÷'÷ 'ð 'r2   r­  c                   ó”   a € ] tR tRt o Rt]! ]! 4       ]P                  4      t	]
V 3R lR l4       tV 3R lR ltV 3R lR ltR	tV tR
# )Ú&VmapIncrementNestingCtxManagerVariableiV  z1represents torch VMap increment/decrement nestingc                ó>   <€ V ^8„  d   QhRRRS[ S[,          RS[RR/# )r'   rA   r"   r(   r*   r+   rÓ  )rœ   r   r   )r-   r.   s   "€r/   r0   Ú3VmapIncrementNestingCtxManagerVariable.__annotate__a  s6   ø€ ÷ 
ñ 
Ø'ð
á™OÕ,ð
ñ ð
ð 
2ñ	
r2   c                ó$   € \        RR VRR/VB pV# r   )rÓ  )rA   r(   r*   rQ  s   &&, r/   rY   Ú-VmapIncrementNestingCtxManagerVariable.create`  s/   € ô 5ñ 
Ø'ð
àð
ð ñ
ˆð
 ˆ
r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rÕ  m  s   ø€ ÷ ?ñ ?Ð3ð ?¹ñ ?r2   c                óB  € \        V P                  4       V P                  w  r#\        V\        P
                  4      '       d   VP                  pMVP                  4       pVP                  4       p\        P                  P                  P                  WC4      pV P                  VR  4       VP                  P                  R\        P                  P                  P                  VP!                  4       V3/ 4      V n        \        P$                  P'                  W4      # )c                  óR   € \         P                  P                  P                  4       # rs   )rè   r&  r'  Ú_vmap_decrement_nestingr4   r2   r/   r…   Ú>VmapIncrementNestingCtxManagerVariable.enter.<locals>.<lambda>x  r¥  r2   r¡   )r   rY  r(   r7   r   ÚSymNodeVariableÚsym_numr¼  rè   r&  r'  Ú_vmap_increment_nestingrW   ri   Úcreate_proxyr[  Úas_proxyr-  r   r]  )r<   rA   Ú
batch_sizeÚ
randomnessÚbatch_size_valueÚ
vmap_levels   &&    r/   r[   Ú,VmapIncrementNestingCtxManagerVariable.enterm  så   € Ü�d×,Ñ,Ô-Ø!%×!3Ñ!3Ñˆ
Ü�j¤)×";Ñ";×<Ò<Ø)×1Ñ1Ñà)×<Ñ<Ó>ÐØ×2Ñ2Ó4ˆ
Ü—X‘X×(Ñ(×@Ñ@Øó
ˆ
ð 	×Ñ˜bÑ"WÔXØ—Y‘Y×+Ñ+ØÜ×Ñ×(Ñ(×@Ñ@Ø× Ñ Ó" JÐ/Øó	
ˆŒ
ô ×(Ñ(×.Ñ.¨rÓ>Ð>r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rÕ  �  r1  r2   c                óà   € V P                  4        VP                  P                  R \        P                  P
                  P                  R/ 4       \        P                  P                  R4      # rc  )
rk   ri   r,  rè   r'  r[  rÛ  r   rX   rY   ru   s   &&*r/   rv   Ú+VmapIncrementNestingCtxManagerVariable.exit�  sV   € ð 	�‰ŒØ
�	‰	×ÑØÜ×Ñ×(Ñ(×@Ñ@ØØô		
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   rf  Nrg  r  s   @r/   rÓ  rÓ  V  sG   ø‡ € Ù;ñ Ñ/Ó1°<×3UÑ3UÓVÐà÷
ó ð
÷?ð ?÷(
7ö 
7r2   rÓ  c                   ó  a a€ ] tR tRt oRt]! ]! 4       ]P                  4      t	]
RV3R lR ll4       tRV3R lV 3R llltV3R lR ltV3R	 lR
 ltV3R lV 3R lltV3R lR ltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ÚGradModeVariableiŽ  z6represents torch.{no_grad,enable_grad,set_grad_mode}()c          
      ó4   <€ V ^8„  d   QhRRRS[ RS[RS[ RR/# )r'   rA   r"   Útarget_valueÚinitializedr*   r+   rë  ©r   r¥   )r-   r.   s   "€r/   r0   ÚGradModeVariable.__annotate__”  s;   ø€ ÷ ñ Ø'ðáðñ ðñ ð	ð
 
ñr2   c                ó”   € \        RR V.R\        P                  ! 4       ./VB pV'       d   VP                  WP                  4       V# ©r(   r)   r4   )rë  rè   Úis_grad_enabledrU   r(   )rA   rí  rî  r*   rQ  s   &&&, r/   rY   ÚGradModeVariable.create“  sR   € ô ñ 
Ø'˜.ð
ä!×1Ò1Ó3Ð4ð
ð ñ
ˆ÷
 Ø�N‰N˜2×0Ñ0Ô1Øˆ
r2   c          
      óT   <€ V ^8„  d   QhRS[ RS[S[,          R,          RS[RS[ RR/# )r'   r(   r)   Nrî  r*   r+   )r   r   r¥   )r-   r.   s   "€r/   r0   rð  £  sF   ø€ ÷ 
.ñ 
.áð
.ñ !¡�¨Õ-ð
.ñ ð	
.ñ
 ð
.ð 
ñ
.r2   c                óZ   <€ \         SV `  ! RR VRV/VB  \        V P                  4       R# r   )r5   r6   r   rY  )r<   r(   r)   rî  r*   r=   s   &&&&,€r/   r6   ÚGradModeVariable.__init__£  s:   ø€ ô 	‰Òñ 	
Ø'ð	
Ø8Fð	
ØJPò	
ô 	�d×,Ñ,Ö-r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rð  ¯  ó   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                óv   € V P                  WP                  4       \        P                  P	                  R 4      # rs   ©rU   r(   r   rX   rY   rZ   s   &&r/   r[   ÚGradModeVariable.enter¯  ó+   € Ø�‰˜×.Ñ.Ô/Ü×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rð  ³  rq   r2   c                óv   € V P                  WP                  4       \        P                  P	                  R 4      # rs   ©rU   r)   r   rX   rY   ru   s   &&*r/   rv   ÚGradModeVariable.exit³  ó-   € ð 	�‰˜×/Ñ/Ô0Ü×)Ñ)×0Ñ0°Ó6Ð6r2   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rš   r›   )r-   r.   s   "€r/   r0   rð  ¹  sB   ø€ ÷ 7ñ 7à'ð7ñ ‘?Õ#ð7ñ ‘S™/Ð)Õ*ð	7ñ
 
ñ7r2   c                óZ   <€ V P                  WP                  4       \        SV `  WV4      # rs   ©rU   r)   r5   r¡   ©r<   rA   rp   r*   r=   s   &&&&€r/   r¡   ÚGradModeVariable.call_function¹  s)   ø€ ð 	�‰˜×/Ñ/Ô0Ü‰wÑ$ R¨vÓ6Ð6r2   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# ©r'   rA   r"   rÉ  r+   Nr,   )r-   r.   s   "€r/   r0   rð  Â  s#   ø€ ÷ 	.ñ 	.Ð8ð 	.Á#ð 	.È$ñ 	.r2   c                óJ  € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          p\        P                  ! 4       V8w  dY   VP                  P                  R\        P                  P                  V3/ 4       \        P                  P                  V4       R# R# )rI   úexpected 1 value, got r¡   N)rŠ   rŸ   rè   ró  ri   r,  r&  Ú_set_grad_enabled©r<   rA   rÉ  rÆ   s   &&& r/   rU   ÚGradModeVariable._call_funcÂ  s   € Üˆv‹;˜!ÔÜ Ð#9¼#¸f»+¸Ð!GÓHÐHØ�q•	ˆä× Ò Ó" eÔ+Ø�I‰I×!Ñ!Ø¤§¡×!;Ñ!;¸e¸XÀrôô �H‰H×&Ñ& uÖ-ñ	 ,r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rð  Í  ó   ø€ ÷ ñ ™Sñ r2   c                ó   € R # ©rè   r4   r”   s   &r/   r}   ÚGradModeVariable.module_nameÍ  ó   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rð  Ð  s   ø€ ÷ "ñ "™ñ "r2   c                ó   € R # )Úset_grad_enabledr4   r”   s   &r/   r~   ÚGradModeVariable.fn_nameÐ  s   € Ù!r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rð  Ó  ó   ø€ ÷ &ñ &™Tñ &r2   c                ó"   € \         P                  # rs   )rè   r  r”   s   &r/   r  ÚGradModeVariable.python_typeÓ  s   € Ü×%Ñ%Ð%r2   r4   rà   ©NT)r:   r¸   r¹   rº   r7  r
   r   r   Ú	GRAD_MODErY  r8  rY   r6   r[   rv   r¡   rU   r}   r~   r  r¼   r½   r¾   r¿   s   @@r/   rë  rë  Ž  s‹   ù‡ € Ù@áÑ/Ó1°<×3IÑ3IÓJÐà÷ñ ó ð÷
.õ 
.÷7ð 7÷7ð 7÷7ó 7÷	.ð 	.÷ð ÷"ð "÷&÷ &ð &r2   rë  c                   ó¸   a a€ ] tR tRt o]V3R lR l4       tRV3R lV 3R llltV3R lR ltV3R lR	 ltV3R
 lR lt	V3R lR lt
V3R lR ltRtVtV ;t# )ÚInferenceModeVariablei×  c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# )r'   rA   r"   rí  r*   r+   r   r,   )r-   r.   s   "€r/   r0   Ú"InferenceModeVariable.__annotate__Ù  s-   ø€ ÷ ñ Ø'ðÙ7:ðÙFIðà	 ñr2   c                óJ   € \        V.3R \        P                  ! 4       /VB pV# ©r)   )r   rè   Úis_inference_mode_enabled©rA   rí  r*   rQ  s   &&, r/   rY   ÚInferenceModeVariable.createØ  s3   € ô $ØˆNñ
Ü+0×+JÒ+JÓ+Lð
ØPVñ
ˆð ˆ
r2   c                ó>   <€ V ^8„  d   QhRS[ RS[R,          RS[ RR/# r&   rï  )r-   r.   s   "€r/   r0   r"  á  s7   ø€ ÷ 
ñ 
áð
ñ ˜t�ð
ñ ð	
ð
 
ñ
r2   c                ób   <€ Vf   \         P                  ! 4       p\        SV `  ! RRVRV/VB  R # )Nr(   r)   r4   )rè   r%  r5   r6   r;   s   &&&,€r/   r6   ÚInferenceModeVariable.__init__á  s>   ø€ ð Ò!ä"×<Ò<Ó>ˆNÜ‰Òñ 	
Ø'ð	
Ø8Fð	
ØJPô	
r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r"  î  r1  r2   c                óö   € V P                  4        VP                  P                  R \        P                  P
                  P                  V P                  3/ 4       \        P                  P                  R4      # r3  )rt   ri   r,  rè   r}  Ú	grad_modeÚ_exit_inference_moder-  r   rX   rY   ru   s   &&*r/   rv   ÚInferenceModeVariable.exitî  s]   € ð 	×ÑÔØ
�	‰	×ÑØÜ�N‰N×$Ñ$×9Ñ9Ø�Z‰ZˆMØô		
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r"  ú  s   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                ó~  aaa€ R o\         P                  P                  P                  '       dQ   V P                  ^ ,          '       d8   Ro\         P
                  ! 4       o\         P                  P                  R 4       M2\         P                  P                  P                  ! V P                  !  oR VVV3R llpV P                  W4       VP                  P                  R\         P                  P                  P                  . V P                  O5/ 4      V n        \        P                   P#                  R4      # )FTc                ó   € V ^8„  d   QhRR/# rc   r4   )r-   s   "r/   r0   Ú1InferenceModeVariable.enter.<locals>.__annotate__	  s   € ÷ 	Cñ 	C˜dñ 	Cr2   c                  ó¬   <€ S'       d"   \         P                  P                  S4       R # \         P                  P                  P                  S 4       R # rs   )rè   r&  r  r}  r-  r.  )ÚctxÚ disabled_inference_mode_forciblyÚpriors   €€€r/   Úcleanup_hookÚ1InferenceModeVariable.enter.<locals>.cleanup_hook	  s0   ø€ ß/Ü—‘×*Ñ*¨5Ö1ä—‘×(Ñ(×=Ñ=¸cÖBr2   r¡   N)rè   r  r	   Ú"fake_tensor_disable_inference_moder(   ró  r&  r  r}  r-  Ú_enter_inference_moderW   ri   r,  r-  r   rX   rY   )r<   rA   r8  r5  r6  r7  s   && @@@r/   r[   ÚInferenceModeVariable.enterú  sê   ú€ Ø+0Ð(ä�M‰M× Ñ ×C×CÐCØ×"Ñ" 1×%Ô%ð
 04Ð,Ü×)Ò)Ó+ˆEÜ�H‰H×&Ñ& uÕ-ä—.‘.×*Ñ*×@Ò@À$×BTÑBTÑUˆC÷	Cò 	Cð 	×Ñ˜bÔ/Ø—Y‘Y×*Ñ*ØÜ�N‰N×$Ñ$×:Ñ:Ø"ˆd× Ñ Ñ"Øó	
ˆŒ
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r"    r  r2   c                ó   € R # r  r4   r”   s   &r/   r}   Ú!InferenceModeVariable.module_name  r  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r"    s   ø€ ÷  ñ  ™ñ  r2   c                ó   € R # )Úinference_moder4   r”   s   &r/   r~   ÚInferenceModeVariable.fn_name  s   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r"    s   ø€ ÷ $ñ $™Tñ $r2   c                ó"   € \         P                  # rs   )rè   rB  r”   s   &r/   r  Ú!InferenceModeVariable.python_type  s   € Ü×#Ñ#Ð#r2   rf  rs   ©r:   r¸   r¹   rº   r8  rY   r6   rv   r[   r}   r~   r  r¼   r½   r¾   r¿   s   @@r/   r   r   ×  sX   ù‡ € Ø÷ó ð÷
õ 
÷
7ð 
7÷7ð 7÷<ð ÷ ð  ÷$÷ $ð $r2   r   c                   ó¦   a € ] tR tRt o Rt]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R	 lR
 lt	V 3R lR lt
V 3R lR ltV 3R ltRtV tR# )ÚGenericDeviceVariablei"  zLAbstract base for device context managers that swap the active device index.c                ó.   <€ V ^8„  d   QhRRRS[ RS[ RR/# )r'   rA   r"   Údevicer*   r+   rI  r,   )r-   r.   s   "€r/   r0   Ú"GenericDeviceVariable.__annotate__*  s-   ø€ ÷ 
ñ 
Ø,ð
Ù69ð
ÙEHð
à	 ñ
r2   c           	     ó>   € V ! RR V P                  VRR7      .RR/VB # )r(   T)Úoptionalr)   Nr4   )Ú_get_device_index_fn)ÚclsrA   rK  r*   s   &&&,r/   rY   ÚGenericDeviceVariable.create)  s>   € ñ ñ 
Ø×3Ñ3°FÀTÐ3ÓJÐKð
àð
ð ñ
ð 	
r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rL  3  s%   ø€ ÷ 
8ñ 
8Ø-ð
8Ù6Eð
8á	ñ
8r2   c                óÆ   € V P                  4        VP                  P                  R V P                  V P                  3/ 4       \
        P                  P                  R4      # )r¡   F)rt   ri   r,  Ú_maybe_exchange_fnr-  r   rX   rY   ru   s   &&*r/   rv   ÚGenericDeviceVariable.exit3  sS   € ð 	×ÑÔØ
�	‰	×ÑØØ×#Ñ#Ø�Z‰ZˆMØô		
ô ×)Ñ)×0Ñ0°Ó7Ð7r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rL  ?  s   ø€ ÷ 	7ñ 	7Ð3ð 	7¹ñ 	7r2   c                ó  a a€ S P                   ! S P                  !  oS P                  VVV 3R  l4       VP                  P	                  RS P                   . S P                  O5/ 4      S n        \        P                  P                  R4      # )c                  ó&   <€ SP                  S 4      # rs   )rT  )Úprev_idxr<   s   €€r/   r…   Ú-GenericDeviceVariable.enter.<locals>.<lambda>A  s   ø€ ¨$×*AÑ*AÀ(Ô*Kr2   r¡   N)	Ú_exchange_fnr(   rW   ri   r,  r-  r   rX   rY   )r<   rA   rY  s   f&@r/   r[   ÚGenericDeviceVariable.enter?  sv   ù€ Ø×$Ò$ d×&8Ñ&8Ñ9ˆØ×Ñ˜bÕ"KÔLØ—Y‘Y×*Ñ*ØØ×ÑØ"ˆd× Ñ Ñ"Øó	
ˆŒ
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rL  J  s   ø€ ÷ "ñ "™Sñ "r2   c                ó   € \         hrs   r’   r”   s   &r/   r}   Ú!GenericDeviceVariable.module_nameJ  ó   € Ü!Ð!r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rL  M  s   ø€ ÷ ñ ™ñ r2   c                ó   € R # )rK  r4   r”   s   &r/   r~   ÚGenericDeviceVariable.fn_nameM  s   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rL  P  s   ø€ ÷ "ñ "™Tñ "r2   c                ó   € \         hrs   r’   r”   s   &r/   r  Ú!GenericDeviceVariable.python_typeP  r`  r2   c                ó>   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   # )r'   r[  rT  rO  r,   )r-   r.   s   "€r/   r0   rL  "  s,   ø‡ ‚ ñ Ññ ñ Ññ	 ñ
 Ñò r2   rf  N)r:   r¸   r¹   rº   r7  ÚclassmethodrY   rv   r[   r}   r~   r  Ú__annotate_func__r¼   r½   r  s   @r/   rI  rI  "  sV   ø‡ € ÙVð ÷
ó ð
÷
8ð 
8÷	7ð 	7÷"ð "÷ð ÷"ð "÷] ƒ r2   rI  c                   óð   a € ] tR tRt o Rt]! ]P                  P                  4      t	]! ]P                  P                  4      t]! ]P                  P                  4      tV 3R lR ltV 3R lR ltRtV tR# )	ÚCUDADeviceVariableiT  zrepresents torch.cuda.devicec                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   ÚCUDADeviceVariable.__annotate__[  ó   ø€ ÷ ñ ™Sñ r2   c                ó   € R # )z
torch.cudar4   r”   s   &r/   r}   ÚCUDADeviceVariable.module_name[  ó   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rm  ^  s   ø€ ÷ !ñ !™Tñ !r2   c                ó6   € \         P                  P                  # rs   )rè   ÚcudarK  r”   s   &r/   r  ÚCUDADeviceVariable.python_type^  s   € Ü�z‰z× Ñ Ð r2   r4   N)r:   r¸   r¹   rº   r7  r8  rè   rt  Ú_exchange_devicer[  Ú_maybe_exchange_devicerT  Ú_get_device_indexrO  r}   r  r¼   r½   r  s   @r/   rk  rk  T  sZ   ø‡ € Ù&á §
¡
× ;Ñ ;Ó<€LÙ% e§j¡j×&GÑ&GÓHÐÙ'¨¯
©
×(DÑ(DÓEÐ÷ð ÷!ö !r2   rk  c                   óð   a € ] tR tRt o Rt]! ]P                  P                  4      t	]! ]P                  P                  4      t]! ]P                  P                  4      tV 3R lR ltV 3R lR ltRtV tR# )	ÚXPUDeviceVariableib  zrepresents torch.xpu.devicec                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   ÚXPUDeviceVariable.__annotate__i  s   ø€ ÷ ñ ™Sñ r2   c                ó   € R # )z	torch.xpur4   r”   s   &r/   r}   ÚXPUDeviceVariable.module_namei  s   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r|  l  ó   ø€ ÷  ñ  ™Tñ  r2   c                ó6   € \         P                  P                  # rs   )rè   ÚxpurK  r”   s   &r/   r  ÚXPUDeviceVariable.python_typel  s   € Ü�y‰y×ÑÐr2   r4   N)r:   r¸   r¹   rº   r7  r8  rè   r‚  rv  r[  rw  rT  rx  rO  r}   r  r¼   r½   r  s   @r/   rz  rz  b  sZ   ø‡ € Ù%á §	¡	× :Ñ :Ó;€LÙ% e§i¡i×&FÑ&FÓGÐÙ'¨¯	©	×(CÑ(CÓDÐ÷ð ÷ ö  r2   rz  c                   óÜ   a € ] tR tRt o Rt]! ]P                  P                  4      t	]! ]P                  P                  4      t]! R 4      tV 3R lR ltV 3R lR ltV 3R lR	 ltR
tV tR# )ÚAcceleratorDeviceIndexVariableip  z)represents torch.accelerator.device_indexc                ó   € V # rs   r4   )rK  r*   s   &,r/   r…   Ú'AcceleratorDeviceIndexVariable.<lambda>u  s   € Ár2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   Ú+AcceleratorDeviceIndexVariable.__annotate__w  s   ø€ ÷ #ñ #™Sñ #r2   c                ó   € R # )ztorch.acceleratorr4   r”   s   &r/   r}   Ú*AcceleratorDeviceIndexVariable.module_namew  s   € Ù"r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r‰  z  s   ø€ ÷ ñ ™ñ r2   c                ó   € R # )Údevice_indexr4   r”   s   &r/   r~   Ú&AcceleratorDeviceIndexVariable.fn_namez  s   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r‰  }  s   ø€ ÷ .ñ .™Tñ .r2   c                ó6   € \         P                  P                  # rs   )rè   ÚacceleratorrŽ  r”   s   &r/   r  Ú*AcceleratorDeviceIndexVariable.python_type}  s   € Ü× Ñ ×-Ñ-Ð-r2   r4   N)r:   r¸   r¹   rº   r7  r8  rè   r&  Ú_accelerator_exchangeDevicer[  Ú _accelerator_maybeExchangeDevicerT  rO  r}   r~   r  r¼   r½   r  s   @r/   r…  r…  p  s[   ø‡ € Ù3á §¡× DÑ DÓE€LÙ% e§h¡h×&OÑ&OÓPÐÙ'Ñ(GÓHÐ÷#ð #÷ð ÷.ö .r2   r…  c                óJ   € V ^8„  d   QhR\         R\         \        ,          RR/# )r'   Údevice_contextÚvariable_clsr+   N©r9   rI  )r-   s   "r/   r0   r0   ˆ  s*   € ÷ ?ñ ?Üð?Ü(,Ô-BÕ(Cð?à	ñ?r2   c                óL   € V \         9   d   \        RV  R24      hV\         V &   R# )zˆRegister a Dynamo variable class for a device context manager type.

Raises ``ValueError`` if ``device_context`` is already registered.
zDevice context z) already has a registered context managerN)Ú_device_context_manager_mapÚ
ValueError)r—  r˜  s   &&r/   Úregister_device_context_managerr�  ˆ  s5   € ð Ô4Ô4ÜØ˜nÐ-Ð-VÐWó
ð 	
ð 3?Ô Ó/r2   c                óT   € V ^8„  d   QhR\         R\         \        ,          R,          /# )r'   r—  r+   Nr™  )r-   s   "r/   r0   r0   –  s'   € ÷ ;ñ ;Üð;ä	Ô
Õ  4Õ'ñ;r2   c                ó,   € \         P                  V 4      # )zWReturn the Dynamo variable class for ``device_context``, or ``None`` if not registered.)r›  Úget)r—  s   &r/   Úget_device_context_managerr¡  –  s   € ô '×*Ñ*¨>Ó:Ð:r2   c                   óð   a a€ ] tR tRt oRt]! ]! 4       ]P                  4      t	]
V3R lR l4       tRV3R lV 3R llltRV3R lR lltV3R	 lR
 ltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ÚTorchFunctionDisableVariablei�  z>represents whether torch function overrides are enabled or notc                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r'   rA   r"   r*   r+   r£  r,   )r-   r.   s   "€r/   r0   Ú)TorchFunctionDisableVariable.__annotate__£  s%   ø€ ÷ 	ñ 	Ø'ð	Ù36ð	à	'ñ	r2   c                ó&   € \        V 3R . R. /VB pV# )r(   r)   )r£  rP  s   &, r/   rY   Ú#TorchFunctionDisableVariable.create¢  s4   € ô +Øñ
àð
ð ð
ð ñ	
ˆð ˆ
r2   c                óH   <€ V ^8„  d   QhRRRS[ RS[ R,          RS[RS[RR/# )	r'   rA   r"   r(   r)   NÚonly_subclassr*   r+   )r   r¥   r   )r-   r.   s   "€r/   r0   r¥  ®  sK   ø€ ÷ .ñ .à'ð.ñ ð.ñ  �ð	.ñ
 ð.ñ ð.ð 
ñ.r2   c                óŒ  <€ \        V4      ^ 8w  d   \        R\        V4       24      hVf   \        R4      h\        V4      ^ 8w  d   \        R\        V4       24      hW@n        VP                  P                  V n        VP                  P                  V n        \        SV `$  ! RRVRV/VB  \        V P                  4       R# )é    zexpected 0 target_values, got Nzinitial_values must not be Nonezexpected 0 initial_values, got r(   r)   r4   )rŠ   rŸ   r©  Úsymbolic_torch_function_stateÚtorch_function_subclass_enabledÚ'initial_torch_function_subclass_enabledÚtorch_function_mode_enabledÚ#initial_torch_function_mode_enabledr5   r6   r   rY  )r<   rA   r(   r)   r©  r*   r=   s   &&&&&,€r/   r6   Ú%TorchFunctionDisableVariable.__init__®  sÖ   ø€ ô ˆ}Ó Ô"Ü Ð#AÄ#ÀmÓBTÐAUÐ!VÓWÐWØÒ!Ü Ð!BÓCÐCÜˆ~Ó !Ô#Ü Ø1´#°nÓ2EÐ1FÐGóð ð +Ôà×,Ñ,×LÑLð 	Ô4ð ×,Ñ,×HÑHð 	Ô0ô 	‰Òñ 	
Ø'ð	
Ø8Fð	
ØJPò	
ô 	�d×,Ñ,Ö-r2   c                óJ   <€ V ^8„  d   QhRRRS[ RS[3,          R,          RR/# r^   r`   )r-   r.   s   "€r/   r0   r¥  Ë  s7   ø€ ÷ 1ñ 1à'ð1ñ �S™#�XÕ Õ%ð1ð 
ñ	1r2   c                ó~   a a€ Vf   R V V3R llpVS n         SP                  P                  S P                  4       R # )Nc                ó   € V ^8„  d   QhRR/# rc   r4   )r-   s   "r/   r0   ÚCTorchFunctionDisableVariable.set_cleanup_hook.<locals>.__annotate__Ò  s   € ÷ ñ ˜ñ r2   c                  óœ   <€ S P                   SP                  n        S P                  '       g   S P                  SP                  n        R # R # rs   )r®  r¬  r­  r©  r°  r¯  rZ   s   €€r/   r_   Ú9TorchFunctionDisableVariable.set_cleanup_hook.<locals>.fnÒ  sD   ø€ à×@Ñ@ð ×0Ñ0ÔPð ×)×)Ð)à×@Ñ@ð ×4Ñ4ÖPñ *r2   rg   rl   s   ff&r/   rW   Ú-TorchFunctionDisableVariable.set_cleanup_hookË  s3   ù€ ð
 Š:÷ñ ð ˆŒØ
�	‰	×"Ñ" 4§<¡<Ö0r2   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# r	  )r   )r-   r.   s   "€r/   r0   r¥  Þ  s(   ø€ ÷ Qñ QÐ8ð QÁ%ð QÈDñ Qr2   c                óÀ   € \        V4      ^ 8w  d   \        R\        V4       24      hRVP                  n        V P                  '       g   RVP                  n        R# R# )r«  zexpected 0 values, got FN)rŠ   rŸ   r¬  r­  r©  r¯  ©r<   rA   rÉ  s   &&&r/   rU   Ú'TorchFunctionDisableVariable._call_funcÞ  sR   € Üˆv‹;˜!ÔÜ Ð#:¼3¸v»;¸-Ð!HÓIÐIØKPˆ×(Ñ(ÔHØ×!×!Ð!ØKPˆB×,Ñ,ÖHñ "r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r¥  å  s   ø€ ÷ ñ ™Sñ r2   c                ó   € R # )ztorch._Cr4   r”   s   &r/   r}   Ú(TorchFunctionDisableVariable.module_nameå  ó   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r¥  è  s   ø€ ÷ &ñ &™ñ &r2   c                ó.   € V P                   '       d   R # R# )ÚDisableTorchFunctionSubclassÚDisableTorchFunction)r©  r”   s   &r/   r~   Ú$TorchFunctionDisableVariable.fn_nameè  s   € Ø××ÐÙ1Ù%r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r¥  í  s   ø€ ÷ -ñ -™Tñ -r2   c                óŽ   € V P                   '       d   \        P                  P                  # \        P                  P                  # rs   )r©  rè   r&  rÃ  rÄ  r”   s   &r/   r  Ú(TorchFunctionDisableVariable.python_typeí  s.   € Ø××ÐÜ—8‘8×8Ñ8Ð8Ü�x‰x×,Ñ,Ð,r2   )rh   r°  r®  r©  r  rs   )r:   r¸   r¹   rº   r7  r
   r   r   ÚTORCH_FUNCTION_STATErY  r8  rY   r6   rW   rU   r}   r~   r  r¼   r½   r¾   r¿   s   @@r/   r£  r£  �  st   ù‡ € ÙHáÑ/Ó1°<×3TÑ3TÓUÐà÷	ó ð	÷.õ .÷:1ò 1÷&Qð Q÷ð ÷&ð &÷
-÷ -ð -r2   r£  c                   ó¼   a a€ ] tR tRt oRt]V3R lR l4       tRV3R lV 3R llltV3R lR ltV3R	 lR
 lt	V3R lR lt
V3R lR ltV3R lR ltRtVtV ;t# )Ú!DisabledSavedTensorsHooksVariableió  z;represents torch.autograd.graph.disable_saved_tensors_hook.c                ó<   <€ V ^8„  d   QhRRRS[ R,          RS[RR/# )r'   rA   r"   rí  Nr*   r+   rË  r  )r-   r.   s   "€r/   r0   Ú.DisabledSavedTensorsHooksVariable.__annotate__÷  s1   ø€ ÷ ñ Ø'ðÙ7:¸TµzðÙMPðà	,ñr2   c                óº   € \        RR V.R\        P                  P                  P	                  4       ./VB pVP                  W.4       VP                  V 4       V# rò  )rË  rè   r&  Ú	_autogradÚ/_saved_tensors_hooks_get_disabled_error_messagerU   rW   r&  s   &&, r/   rY   Ú(DisabledSavedTensorsHooksVariable.createö  sg   € ô 0ñ 
Ø'˜.ð
ô —‘×"Ñ"×RÑRÓTðð
ð
 ñ
ˆð 	�‰�r˜>Ô*Ø×Ñ˜RÔ Øˆ
r2   c                óz   <€ V ^8„  d   QhRS[ S[R,          ,          RS[ S[R,          ,          R,          RS[RR/# )r'   r(   Nr)   r*   r+   )r   rE   r   )r-   r.   s   "€r/   r0   rÍ    sJ   ø€ ÷ 
ñ 
á¡ d¥
Õ+ð
ñ !¡ t¥Õ,¨tÕ3ð
ñ ð	
ð
 
ñ
r2   c                ó0   <€ \         SV `  ! RR VRV/VB  R# r   ©r5   r6   r;   s   &&&,€r/   r6   Ú*DisabledSavedTensorsHooksVariable.__init__  ó*   ø€ ô 	‰Òñ 	
Ø'ð	
Ø8Fð	
ØJPô	
r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rÍ    ó   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                ó@   € \         P                  P                  R 4      # rs   ©r   rX   rY   rZ   s   &&r/   r[   Ú'DisabledSavedTensorsHooksVariable.enter  ó   € Ü×)Ñ)×0Ñ0°Ó6Ð6r2   c                óF   <€ V ^8„  d   QhRRRS[ S[R,          ,          RR/# )r'   rA   r"   rÉ  Nr+   )r   rE   )r-   r.   s   "€r/   r0   rÍ    s.   ø€ ÷ =ñ =Ø-ð=Ù7?ÁÀdÅ
Õ7Kð=à	ñ=r2   c                ó  € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          pVem   VP                  P                  R\        P
                  P                  P                  V3/ 4       \        P
                  P                  P                  V4       R# VP                  P                  R\        P
                  P                  P                  R/ 4       \        P
                  P                  P                  4        R# )rI   r  Nr¡   r4   )	rŠ   rŸ   ri   r,  rè   r&  rÏ  Ú_saved_tensors_hooks_disableÚ_saved_tensors_hooks_enabler  s   &&& r/   rU   Ú,DisabledSavedTensorsHooksVariable._call_func  sÉ   € ô ˆv‹;˜!ÔÜ Ð#9¼#¸f»+¸Ð!GÓHÐHØ�q•	ˆØÒð �I‰I×!Ñ!ØÜ—‘×"Ñ"×?Ñ?Ø�Øô	ô �H‰H×Ñ×;Ñ;¸EÖBð �I‰I×!Ñ!Ø¤§¡×!3Ñ!3×!OÑ!OÐQSÐUWôô �H‰H×Ñ×:Ñ:Ö<r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rÍ  *  rÊ   r2   c                ó   € R # )ztorch.autograd.graphr4   r”   s   &r/   r}   Ú-DisabledSavedTensorsHooksVariable.module_name*  ó   € Ù%r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rÍ  -  s   ø€ ÷ -ñ -™ñ -r2   c                ó   € R # )Údisable_saved_tensors_hooksr4   r”   s   &r/   r~   Ú)DisabledSavedTensorsHooksVariable.fn_name-  s   € Ù,r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rÍ  0  ó   ø€ ÷ 3ñ 3™Tñ 3r2   c                ó"   € \         P                  # rs   ©Ú
contextlibÚ_GeneratorContextManagerr”   s   &r/   r  Ú-DisabledSavedTensorsHooksVariable.python_type0  ó   € Ü×2Ñ2Ð2r2   r4   rs   )r:   r¸   r¹   rº   r7  r8  rY   r6   r[   rU   r}   r~   r  r¼   r½   r¾   r¿   s   @@r/   rË  rË  ó  s[   ù‡ € ÙEà÷ó ð÷
õ 
÷7ð 7÷=ð =÷0&ð &÷-ð -÷3÷ 3ð 3r2   rË  c                   ó¸   a a€ ] tR tRt o]V3R lR l4       tRV3R lV 3R llltV3R lR ltV3R lR	 ltV3R
 lR lt	V3R lR lt
V3R lR ltRtVtV ;t# )ÚAutocastModeVariablei4  c                ó’   <€ V ^8„  d   QhRS[ P                  P                  P                  RS[S[,          RS[S[S[3,          RR/# )r'   rí   rp   r*   r+   ró  )rè   ÚampÚautocast_modeÚautocastr   r   r�   rE   )r-   r.   s   "€r/   r0   Ú!AutocastModeVariable.__annotate__6  sM   ø€ ÷ #ñ #Ù�i‰i×%Ñ%×.Ñ.ð#á‘s�mð#ñ ‘S™#�X•ð#ð 
 ñ	#r2   c                óx  € V \         P                  P                  P                  \         P                  P                  P                  \         P
                  P                  P                  39  d   \        R V  24      h\        P                  ! V 4      P                  ! V/ VB pVP                  4        . pVP                  4        R Fß  pVR8X  d{   V \         P                  P                  P                  \         P
                  P                  P                  39   d.   V \         P                  P                  P                  J d   RMRpMVP                  V,          p\        V\        4      '       d"   VP                  VP!                  4       4       KÎ  VP                  V4       Ká  	  \#        V3RR/VB pV# )zunexpected autocast function: Údevice_typert  Úcpur)   N)rú  Údtyper.  Úcache_enabled)rè   rõ  rö  r÷  rt  rû  rŸ   ÚinspectÚ	signatureÚbindÚapply_defaultsÚclearÚ	argumentsr7   r   rõ   r¼  ró  )rí   rp   r*   Ú
bound_argsr(   ÚkeyÚargrQ  s   &&&     r/   rY   ÚAutocastModeVariable.create5  sS  € ð Ü�I‰I×#Ñ#×,Ñ,Ü�J‰J�N‰N×#Ñ#Ü�I‰I�M‰M×"Ñ"ð
ô 
ô
 !Ð#AÀ$ÀÐ!HÓIÐIô
 ×&Ò& tÓ,×1Ò1°4ÐB¸6ÑBˆ
Ø×!Ñ!Ô#ØˆØ�‰ŒãGˆCØ�mÔ#¨Ü—
‘
—‘×'Ñ'Ü—	‘	—‘×&Ñ&ð1ô )ð
 !%¬¯
©
¯©×(?Ñ(?Ó ?‘fÀU‘à ×*Ñ*¨3Õ/�Ü˜#œ×/Ò/Ø×$Ñ$ S×%;Ñ%;Ó%=Ö>à×$Ñ$ SÖ)ñ Hô # =ÑPÀÐPÈÑPˆØˆ
r2   c                óN   <€ V ^8„  d   QhRS[ S[,          RS[R,          RS[RR/# r&   ©r   r   )r-   r.   s   "€r/   r0   rø  [  s;   ø€ ÷ 
ñ 
á¡•}ð
ñ ˜d�
ð
ñ ð	
ð
 
ñ
r2   c                ó0   <€ \         SV `  ! RR VRV/VB  R# r   rÔ  r;   s   &&&,€r/   r6   ÚAutocastModeVariable.__init__[  rÖ  r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rø  e  ra  r2   c                óâ   € V P                  4        VP                  P                  R \        P                  P
                  V P                  3/ 4       \        P                  P                  R4      # r3  )
rt   ri   r,  rè   rõ  Ú_exit_autocastr-  r   rX   rY   ru   s   &&*r/   rv   ÚAutocastModeVariable.exite  sT   € ð 	×ÑÔØ
�	‰	×ÑØœUŸY™Y×5Ñ5¸¿
¹
°}Àbô	
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rø  n  s   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                óN  a€ \         P                  P                  ! V P                  !  oV P	                  VV3R  l4       VP
                  P                  R\         P                  P                  . V P                  O5/ 4      V n        \        P                  P                  R4      # )c                  óB   <€ \         P                  P                  S 4      # rs   )rè   rõ  r  ©r5  s   €r/   r…   Ú,AutocastModeVariable.enter.<locals>.<lambda>p  s   ø€ ¬%¯)©)×*BÑ*BÀ3Ô*Gr2   r¡   N)rè   rõ  Ú_enter_autocastr(   rW   ri   r,  r-  r   rX   rY   )r<   rA   r5  s   &&@r/   r[   ÚAutocastModeVariable.entern  s}   ø€ Ü�i‰i×'Ò'¨×);Ñ);Ñ<ˆØ×Ñ˜bÔ"GÔHØ—Y‘Y×*Ñ*ØœUŸY™Y×6Ñ6Ð8N¸$×:LÑ:LÑ8NÐPRó
ˆŒ
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rø  v  s   ø€ ÷ )ñ )™Sñ )r2   c                ó   € R # )ztorch.amp.autocast_moder4   r”   s   &r/   r}   Ú AutocastModeVariable.module_namev  s   € Ù(r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rø  y  ó   ø€ ÷ ñ ™ñ r2   c                ó   € R # )r÷  r4   r”   s   &r/   r~   ÚAutocastModeVariable.fn_namey  rÀ  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rø  |  s   ø€ ÷ 0ñ 0™Tñ 0r2   c                óJ   € \         P                  P                  P                  # rs   )rè   rõ  rö  r÷  r”   s   &r/   r  Ú AutocastModeVariable.python_type|  s   € Ü�y‰y×&Ñ&×/Ñ/Ð/r2   rf  rs   rG  r¿   s   @@r/   ró  ró  4  sY   ù‡ € Ø÷#ó ð#÷J
õ 
÷7ð 7÷7ð 7÷)ð )÷ð ÷0÷ 0ð 0r2   ró  c                   ó    a a€ ] tR tRt oRtRV3R lV 3R llltV3R lR ltV3R lR ltV3R	 lR
 ltV3R lR lt	V3R lR lt
RtVtV ;t# )ÚNullContextVariablei€  z6
This class represents Python contextlib.nullcontext.
c                ó8   <€ V ^8„  d   QhRS[ R,          RS[RR/# )r'   Úenter_resultNr*   r+   ©r   r   )r-   r.   s   "€r/   r0   Ú NullContextVariable.__annotate__…  s*   ø€ ÷ 5ñ 5Ù+¨dÕ2ð5ÙEHð5à	ñ5r2   c                ó8   <€ Wn         \        SV `  ! RR R/VB  R# ©r(   Nr4   )r$  r5   r6   )r<   r$  r*   r=   s   &&,€r/   r6   ÚNullContextVariable.__init__…  s    ø€ ð )ÔÜ‰ÒÑ4 rÐ4¨VÔ4r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r&  ‹  s   ø€ ÷ !ñ !Ð3ð !¹ñ !r2   c                ót   € V P                   f    \        P                  P                  R 4      # V P                   # rs   )r$  r   rX   rY   rZ   s   &&r/   r[   ÚNullContextVariable.enter‹  s1   € Ø×ÑÒ$Ü×-Ñ-×4Ñ4°TÓ:Ð:Ø× Ñ Ð r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r&  �  ó%   ø€ ÷ 7ñ 7Ø-ð7Ù6Eð7á	ñ7r2   c                ó@   € \         P                  P                  R 4      # rs   rÚ  ru   s   &&*r/   rv   ÚNullContextVariable.exit�  ó   € ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r&  •  rn  r2   c                ó   € R # ©rî  r4   r”   s   &r/   r}   ÚNullContextVariable.module_name•  rq  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r&  ˜  ó   ø€ ÷ ñ ™ñ r2   c                ó   € R # ©Únullcontextr4   r”   s   &r/   r~   ÚNullContextVariable.fn_name˜  ó   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r&  ›  r  r2   c                ó"   € \         P                  # rs   )rî  r:  r”   s   &r/   r  ÚNullContextVariable.python_type›  s   € Ü×%Ñ%Ð%r2   )r$  rs   )r:   r¸   r¹   rº   r7  r6   r[   rv   r}   r~   r  r¼   r½   r¾   r¿   s   @@r/   r"  r"  €  sK   ù‡ € ñ÷5õ 5÷!ð !÷
7ð 7÷
ð ÷ð ÷&÷ &ð &r2   r"  c                   ó®   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltV3R lR ltV3R	 lR
 ltV3R lR lt	V3R lR lt
V3R lR ltRtVtV ;t# )ÚProfilerContextVariableiŸ  af  
This class represents a set of torch profiler context objects, where Dynamo
ignores all the side-effects in the __init__, __enter__ and __exit__ methods
by treating the object mostly as a `contextlib.nullcontext`, except for edge
cases like the `__enter__` method which returns the object itself rather
than `None`, per implementation of the torch objects.
c                ó$   <€ V ^8„  d   QhRS[ RR/# )r'   r*   r+   Nr,   )r-   r.   s   "€r/   r0   Ú$ProfilerContextVariable.__annotate__¨  s   ø€ ÷ 7ñ 7¡ð 7¨ñ 7r2   c                ó,   <€ \         SV `  ! RR R/VB  R# r(  rÔ  )r<   r*   r=   s   &,€r/   r6   Ú ProfilerContextVariable.__init__¨  s   ø€ Ü‰ÒÑ6 tÐ6¨vÔ6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rC  «  r  r2   c                ó6   € \         P                  P                  # rs   )rè   ré   Úprofiler”   s   &r/   r  Ú#ProfilerContextVariable.python_type«  s   € Ü�~‰~×%Ñ%Ð%r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rC  ®  s   ø€ ÷ ñ Ð3ð ¹ñ r2   c                ó   € V # rs   r4   rZ   s   &&r/   r[   ÚProfilerContextVariable.enter®  s   € Øˆr2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rC  ±  r.  r2   c                ó@   € \         P                  P                  R 4      # rs   rÚ  ru   s   &&*r/   rv   ÚProfilerContextVariable.exit±  r1  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rC  ¶  rn  r2   c                ó   € R # r4  r4   r”   s   &r/   r}   Ú#ProfilerContextVariable.module_name¶  rq  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rC  ¹  r7  r2   c                ó   € R # r9  r4   r”   s   &r/   r~   ÚProfilerContextVariable.fn_name¹  r<  r2   c                ó"   <€ V ^8„  d   QhRRRR/# ry   r4   )r-   r.   s   "€r/   r0   rC  ¼  s   ø€ ÷ 
ñ 
 ;ð 
°4ñ 
r2   c                óV   € \        R \        V 4      R. \        P                  OR7       R# )z2torch.profiler object escaped from compiled regionzXDynamo doesn't support compiling a region that returns a torch.profiler context manager.©Úgb_typeÚcontextÚexplanationÚhintsN©r   rE   r   ÚSUPPORTABLEr   s   &&r/   rŒ   Ú#ProfilerContextVariable.reconstruct¼  s*   € ÜØHÜ˜“IØrðÜ"×.Ñ.ð÷		
r2   r4   )r:   r¸   r¹   rº   r7  r6   r  r[   rv   r}   r~   rŒ   r¼   r½   r¾   r¿   s   @@r/   rA  rA  Ÿ  sU   ù‡ € ñ÷7ó 7÷&ð &÷ð ÷7ð 7÷
ð ÷ð ÷
÷ 
ð 
r2   rA  c                   óò   a a€ ] tR tRt oRtR0]P                  mt]V3R lR l4       tRV3R lV 3R lllt	V3R lR	 lt
V3R
 lR ltV3R lR ltV3R lR ltV3R lR ltV3R lV 3R lltRtVtV ;t# )rñ   iÇ  aK  
This class represents torch profiler context objects.

For record_function: emits torch.ops.profiler._record_function_enter_new
to the graph on enter, and torch.ops.profiler._record_function_exit on exit.
But if emit_profiler_ops=False, behaves like nullcontext.

For profile: behaves like nullcontext, ignoring all side-effects.
Úemit_profiler_opsc          
      óD   <€ V ^8„  d   QhRS[ RS[S[,          RRRS[ RR/# )r'   rí   rî   rï   zdict[str, VariableTracker]r*   r+   rñ   )r   rœ   r   )r-   r.   s   "€r/   r0   Ú2ProfilerRecordFunctionContextVariable.__annotate__Ø  s@   ø€ ÷ 
ñ 
Ùð
á™/Õ*ð
ð 4ð
ñ ð	
ð
 
1ñ
r2   c                óÂ  € R p\         P                  '       d©   V'       d   V^ ,          P                  4       M<VP                  R\        P
                  P                  R4      4      P                  4       pR p\        V4      ^8”  d   V^,          P                  4       pMRV9   d   VR,          P                  4       pWV.pM\        \        RV 4       \        RRVRR /VB # )Nrð   Úunknownrp   z+Profiler record function %s will be ignoredr(   r)   r4   )r	   Ú capture_profiler_record_functionr¼  r   r   rX   rY   rŠ   r   Úlogrñ   )rí   rî   rï   r*   r(   rð   Úrecord_args_consts   &&&,   r/   rY   Ú,ProfilerRecordFunctionContextVariable.create×  sÞ   € ð ˆÜ×2×2Ð2÷
 ð ˜A•×1Ñ1Ô3à"×&Ñ&ØœI×6Ñ6×=Ñ=¸iÓHóç$Ñ$Ó&ð ð !%ÐÜ�;Ó !Ô#Ø$/°¥N×$EÑ$EÓ$GÑ!Ø˜=Ô(Ø$1°&Õ$9×$LÑ$LÓ$NÐ!Ø!Ð5‰MäœÐKÈTÔRÜ4ñ 
Ø'ð
àð
ð ñ
ð 	
r2   c                ó>   <€ V ^8„  d   QhRS[ RS[ R,          RS[ RR/# r&   r,   )r-   r.   s   "€r/   r0   rc  ÷  s7   ø€ ÷ 
ñ 
áð
ñ ˜d�
ð
ñ ð	
ð
 
ñ
r2   c                ó0   <€ \         SV `  ! RR VRV/VB  R# r   rÔ  r;   s   &&&,€r/   r6   Ú.ProfilerRecordFunctionContextVariable.__init__÷  rÖ  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rc    s   ø€ ÷ 7ñ 7™Tñ 7r2   c                óJ   € \         P                  P                  P                  # rs   )rè   r}  ré   rê   r”   s   &r/   r  Ú1ProfilerRecordFunctionContextVariable.python_type  s   € Ü�~‰~×&Ñ&×6Ñ6Ð6r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rc    s   ø€ ÷ 
ñ 
Ð3ð 
¹ñ 
r2   c                óÚ   € \         P                  '       dU   V P                  w  r#VP                  P	                  R \
        P                  P                  P                  W#3/ 4      V n	        V # ©r¡   )
r	   rf  r(   ri   r,  rè   Úopsré   Ú_record_function_enter_newr-  )r<   rA   rð   rp   s   &&  r/   r[   Ú+ProfilerRecordFunctionContextVariable.enter  sV   € Ü×2×2Ð2Ø×+Ñ+‰JˆDàŸ™×.Ñ.ØÜ—	‘	×"Ñ"×=Ñ=Ø�Øó	ˆDŒJð ˆr2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rc    ó%   ø€ ÷ 7ñ 7Ø-ð7Ù6Eð7á	ñ7r2   c                ó  € \         P                  '       dV   VP                  P                  R \        P
                  P                  P                  P                  V P                  3/ 4       \        P                  P                  R4      # r3  )r	   rf  ri   r,  rè   rs  ré   Ú_record_function_exitÚ_RecordFunctionr-  r   rX   rY   ru   s   &&*r/   rv   Ú*ProfilerRecordFunctionContextVariable.exit  sc   € ô ×2×2Ð2à�I‰I×!Ñ!ØÜ—	‘	×"Ñ"×8Ñ8×HÑHØ—‘�Øô	ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rc    s   ø€ ÷ 
ñ 
™Sñ 
r2   c                ó6   € \         P                  '       d   R # R# )ztorch.autograd.profilerrî  ©r	   rf  r”   s   &r/   r}   Ú1ProfilerRecordFunctionContextVariable.module_name  s$   € ô ×6×6Ð6ð &ð	
ð ð	
r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rc  $  s   ø€ ÷ 
ñ 
™ñ 
r2   c                ó6   € \         P                  '       d   R # R# )rê   r:  r~  r”   s   &r/   r~   Ú-ProfilerRecordFunctionContextVariable.fn_name$  s$   € ô ×6×6Ð6ð ð	
ð ð	
r2   c                ó"   <€ V ^8„  d   QhRRRR/# ry   r4   )r-   r.   s   "€r/   r0   rc  +  s   ø€ ÷ .ñ .¨ð .¸ñ .r2   c                ó¦   <€ \         P                  '       d+   \        R \        V 4      R. \        P
                  OR7       R# \        SV `  V4       R# )z,record_function escaped from compiled regionzADynamo doesn't support graph break inside record_function region.rX  N)r	   rf  r   rE   r   r^  r5   r€   )r<   rz   r=   s   &&€r/   r€   Ú6ProfilerRecordFunctionContextVariable.reconstruct_type+  sH   ø€ ô ×2×2Ð2ÜØFÜ˜D›	Ø_ðÜ&×2Ñ2ð÷	ô ‰GÑ$ WÖ-r2   rf  rÑ  )r:   r¸   r¹   rº   r7  r$   r»   r8  rY   r6   r  r[   rv   r}   r~   r€   r¼   r½   r¾   r¿   s   @@r/   rñ   rñ   Ç  sƒ   ù‡ € ñð 	ðà	 ×	/Ñ	/ð€Nð
 ÷
ó ð
÷>
õ 
÷7ð 7÷
ð 
÷7ð 7÷
ð 
÷
ð 
÷.÷ .ó .r2   rñ   c                   óÂ   a a€ ] tR tRt oRt]V3R lR l4       t]V3R lR l4       tV3R lV 3R lltV3R	 lR
 lt	V3R lR lt
V3R lR ltV3R lR ltRtVtV ;t# )ÚPreserveVersionContextVariablei=  z7
Wraps torch.autograd._unsafe_preserve_version_counter
c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r'   rA   r"   Útensorsr+   r‡  r   )r-   r.   s   "€r/   r0   Ú+PreserveVersionContextVariable.__annotate__C  s,   ø€ ÷ Gñ GØ'ðGá ðGð 
*ñGr2   c           	     óä  € VP                  4       '       dO   \        P                  ! V3 Uu. uF  q"P                  V R 4      NK  	  up4      p\        P                  ! V.4      pMx\	        V\        P                  4      '       g   \        R\        V4       24      h\        P                  ! VP                   Uu. uF  q"P                  V R 4      NK  	  up4      pTp\        WC4      # u upi u upi )Ú_versionz%tensors must be a TupleVariable, got )	Ú	is_tensorr   ÚTupleVariabler	  r7   rŸ   r9   r»  r‡  )rA   r‰  rÜ   ÚversionsÚtensors_tuples   &&   r/   Ú_create_lambda_from_tensorsÚ:PreserveVersionContextVariable._create_lambda_from_tensorsB  sÕ   € ð
 ×Ñ×ÒÜ ×.Ò.Ø>E¹YÓG¹Y¸×#Ñ# B¨
Ö3¹YÑGóˆHô &×3Ò3°W°IÓ>‰Mä˜g¤y×'>Ñ'>×?Ò?Ü$Ø;¼DÀ»M¸?ÐKóð ô !×.Ò.Ø=D¿]º]ÓK¹]¸×#Ñ# B¨
Ö3¹]ÑKóˆHð $ˆMÜ-¨mÓFÐFùò Hùò Ls   ¬C(Â:C-c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rŠ  X  s   ø€ ÷ 
ñ 
Ð3ð 
¹ñ 
r2   c                ó8   a € \         P                  ! V 3R  l4      # )c                 ó0   <€ \         P                  SV 4      # rs   )r‡  r‘  )r‰  rA   s   &€r/   r…   Ú<PreserveVersionContextVariable.constructor.<locals>.<lambda>Z  s   ø€ Ô:×VÑVØ�Gôr2   )r   ÚLambdaVariable)rA   s   fr/   ÚconstructorÚ*PreserveVersionContextVariable.constructorW  s   ø€ ä×'Ò'ôó
ð 	
r2   c                ó0   <€ V ^8„  d   QhRS[ RS[ RS[RR/# )r'   r‰  Úprev_versionsr*   r+   Nr%  )r-   r.   s   "€r/   r0   rŠ  _  s9   ø€ ÷ Oñ Oá ðOñ 'ðOñ ð	Oð
 
ñOr2   c                ó€  <€ VP                  R R4       \        SV `  ! R/ VB  Wn        W n        V P                  P                  4       '       d'   \        P                  ! V P                  .4      V n        V P                  P                  4       '       d)   \        P                  ! V P                  .4      V n        R# R# r(  )	Ú
setdefaultr5   r6   r‰  r›  r�  r   rŽ  Úis_symnode_like)r<   r‰  r›  r*   r=   s   &&&,€r/   r6   Ú'PreserveVersionContextVariable.__init___  s‘   ø€ ð 	×Ñ˜/¨4Ô0Ü‰ÒÑ"˜6Ò"ØŒØ*Ôà�<‰<×!Ñ!×#Ò#Ü$×2Ò2°D·L±L°>ÓBˆDŒLØ×Ñ×-Ñ-×/Ò/Ü!*×!8Ò!8¸$×:LÑ:LÐ9MÓ!NˆDÖñ 0r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rŠ  o  s   ø€ ÷ Iñ I™Tñ Ir2   c                óJ   € \         P                  P                  P                  # rs   )rè   r}  r-  Ú _unsafe_preserve_version_counterr”   s   &r/   r  Ú*PreserveVersionContextVariable.python_typeo  s   € Ü�~‰~×'Ñ'×HÑHÐHr2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   rŠ  r  rØ  r2   c                ó@   € \         P                  P                  R 4      # rs   rÚ  rZ   s   &&r/   r[   Ú$PreserveVersionContextVariable.enterr  rÜ  r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   rŠ  u  s*   ø€ ÷ Dñ DØ-ðDÙ6EðDá	ñDr2   c                ó†   € ^RI Hp \        P                  ! V4      P	                  WP
                  V P                  ./ 4      # )r'   )Ú_unsafe_set_version_counter)Útensor_version_opr©  r   ÚTorchInGraphFunctionVariabler¡   r‰  r›  )r<   rA   rp   r©  s   &&* r/   rv   Ú#PreserveVersionContextVariable.exitu  s:   € õ 	Dä×5Ò5Ø'ó
ç
‰-˜Ÿ\™\¨4×+=Ñ+=Ð>ÀÓ
Cð	Dr2   c                ó"   <€ V ^8„  d   QhRRRR/# ry   r4   )r-   r.   s   "€r/   r0   rŠ  ~  s   ø€ ÷ 
ñ 
 ;ð 
°4ñ 
r2   c                óV   € \        R \        V 4      R. \        P                  OR7       R# )zLtorch.autograd._unsafe_preserve_version_counter escaped from compiled regionzyDynamo doesn't support compiling a region that returns a torch.autograd._unsafe_preserve_version_counter context manager.rX  Nr]  r   s   &&r/   rŒ   Ú*PreserveVersionContextVariable.reconstruct~  s-   € ÜØbÜ˜“IðUðÜ"×.Ñ.ð÷
	
r2   )r›  r‰  )r:   r¸   r¹   rº   r7  r8  r‘  r˜  r6   r  r[   rv   rŒ   r¼   r½   r¾   r¿   s   @@r/   r‡  r‡  =  sq   ù‡ € ñð ÷Gó ðGð( ÷
ó ð
÷Oó O÷ Ið I÷7ð 7÷Dð D÷
÷ 
ð 
r2   r‡  c                   ó   a a€ ] tR tRt o]! ]! 4       ]P                  4      t]	V3R lR l4       t
RV3R lV 3R llltV3R lR ltV3R lR	 ltV3R
 lV 3R lltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )Ú&FSDPParamGroupUseTrainingStateVariableiŒ  c          
      ó4   <€ V ^8„  d   QhRRRS[ RS[ RS[ RR/# )r'   rA   r"   Úparam_group_varrí  r*   r+   r±  r,   )r-   r.   s   "€r/   r0   Ú3FSDPParamGroupUseTrainingStateVariable.__annotate__�  s;   ø€ ÷ ñ Ø'ðáðñ ðñ ð	ð
 
2ñr2   c           	     óT   € \        RR VRV.RVP                  P                  ./VB pV# )r³  r(   r)   r4   )r±  rÆ   Ú_training_state)rA   r³  rí  r*   rQ  s   &&&, r/   rY   Ú-FSDPParamGroupUseTrainingStateVariable.create�  sJ   € ô 5ñ 
Ø+ð
à'˜.ð
ð ,×1Ñ1×AÑAÐBð
ð ñ	
ˆð ˆ
r2   c          
      ód   <€ V ^8„  d   QhRS[ RS[S[ ,          RS[S[ ,          R,          RS[ RR/# )r'   r³  r(   r)   Nr*   r+   )r   r   )r-   r.   s   "€r/   r0   r´  ž  sJ   ø€ ÷ .ñ .áð.ñ  ¡•}ð.ñ !¡�¨Õ,ð	.ñ
 ð.ð 
ñ.r2   c                óf   <€ \         SV `  ! RR VRV/VB  Wn        \        V P                  4       R# r   )r5   r6   r³  r   rY  )r<   r³  r(   r)   r*   r=   s   &&&&,€r/   r6   Ú/FSDPParamGroupUseTrainingStateVariable.__init__ž  s@   ø€ ô 	‰Òñ 	
Ø'ð	
Ø8Fð	
ØJPò	
ð  /ÔÜ�d×,Ñ,Ö-r2   c                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r´  «  rù  r2   c                óv   € V P                  WP                  4       \        P                  P	                  R 4      # rs   rû  rZ   s   &&r/   r[   Ú,FSDPParamGroupUseTrainingStateVariable.enter«  rý  r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r´  ¯  rq   r2   c                óv   € V P                  WP                  4       \        P                  P	                  R 4      # rs   r   ru   s   &&*r/   rv   Ú+FSDPParamGroupUseTrainingStateVariable.exit¯  r  r2   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rš   r›   )r-   r.   s   "€r/   r0   r´  µ  sB   ø€ ÷ 7ñ 7à'ð7ñ ‘?Õ#ð7ñ ‘S™/Ð)Õ*ð	7ñ
 
ñ7r2   c                óZ   <€ V P                  WP                  4       \        SV `  WV4      # rs   r  r  s   &&&&€r/   r¡   Ú4FSDPParamGroupUseTrainingStateVariable.call_functionµ  s)   ø€ ð 	�‰˜×/Ñ/Ô0Ü‰wÑ$ R¨vÓ6Ð6r2   c                ó8   <€ V ^8„  d   QhRRRS[ S[,          RR/# r	  r	  )r-   r.   s   "€r/   r0   r´  ¿  s)   ø€ ÷ ?ñ ?Ø-ð?Ù7?Áµ}ð?à	ñ?r2   c           	     óž  € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          pV P                  P                  P                  V8w  dx   V P                  P                  VR\        P                  P                  VR4      \        P                  P                  W4      3/ 4       W0P                  P                  n        R# R# )rI   r  Ú__setattr__r¶  N)	rŠ   rŸ   r³  rÆ   r¶  Úcall_methodr   r   r]  r  s   &&& r/   rU   Ú1FSDPParamGroupUseTrainingStateVariable._call_func¿  s²   € ô ˆv‹;˜!ÔÜ Ð#9¼#¸f»+¸Ð!GÓHÐHØ�q•	ˆØ×Ñ×%Ñ%×5Ñ5¸Ô>Ø× Ñ ×,Ñ,ØØä×-Ñ-×3Ñ3°BÐ8IÓJÜ×-Ñ-×3Ñ3°BÓ>ðð ôð :?× Ñ ×&Ñ&Ö6ñ ?r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r´  Ñ  s   ø€ ÷ Vñ V™Sñ Vr2   c                ó   € R # )zDtorch.distributed.fsdp._fully_shard._fsdp_param_group.FSDPParamGroupr4   r”   s   &r/   r}   Ú2FSDPParamGroupUseTrainingStateVariable.module_nameÑ  s   € ÙUr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r´  Ô  s   ø€ ÷ $ñ $™ñ $r2   c                ó   € R # )Úuse_training_stater4   r”   s   &r/   r~   Ú.FSDPParamGroupUseTrainingStateVariable.fn_nameÔ  ó   € Ù#r2   )r³  rs   )r:   r¸   r¹   rº   r
   r   r   ÚFSDP_TRAINING_STATErY  r8  rY   r6   r[   rv   r¡   rU   r}   r~   r¼   r½   r¾   r¿   s   @@r/   r±  r±  Œ  s{   ù‡ € ÙÑ/Ó1°<×3SÑ3SÓTÐà÷ó ð÷.õ .÷7ð 7÷7ð 7÷7ó 7÷?ð ?÷$Vð V÷$÷ $ð $r2   r±  c                   óÜ   a a€ ] tR tRt oRt]RV3R lR ll4       tRV3R lV 3R lllt]V3R lR l4       tV3R	 lR
 lt	V3R lR lt
V3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ÚSDPAKernelVariableiØ  z)represents torch.nn.attention.sdpa_kernelc          
      ó4   <€ V ^8„  d   QhRRRS[ RS[RS[ RR/# )r'   rA   r"   ÚbackendsÚset_priorityr*   r+   rÓ  rï  )r-   r.   s   "€r/   r0   ÚSDPAKernelVariable.__annotate__Ü  s;   ø€ ÷ ñ Ø'ðáðñ ðñ ð	ð
 
ñr2   c           	     ó–   € \        V\        P                  P                  P                  4      '       d   V.p\        RR VRRRV/VB pV# )r(   r)   NrÖ  r4   )r7   rè   ÚnnÚ	attentionÚ
SDPBackendrÓ  )rA   rÕ  rÖ  r*   rQ  s   &&&, r/   rY   ÚSDPAKernelVariable.createÛ  s]   € ô �h¤§¡× 2Ñ 2× =Ñ =×>Ò>Ø �zˆHÜ ñ 
Ø"ð
àð
ð &ð
ð ñ	
ˆð ˆ
r2   c          
      ó‚   <€ V ^8„  d   QhRS[ S[P                  P                  P                  ,          RS[RS[RS[RR/# )r'   r(   r)   rÖ  r*   r+   N)rœ   rè   rÙ  rÚ  rÛ  r   r¥   )r-   r.   s   "€r/   r0   r×  ì  sR   ø€ ÷ 
)ñ 
)á™EŸH™H×.Ñ.×9Ñ9Õ:ð
)ñ ð
)ñ ð	
)ñ
 ð
)ð 
ñ
)r2   c                ó<   <€ \         SV `  ! RR VRV/VB  W0n        R# r   )r5   r6   rÖ  )r<   r(   r)   rÖ  r*   r=   s   &&&&,€r/   r6   ÚSDPAKernelVariable.__init__ì  s2   ø€ ô 	‰Òñ 	
Ø'ð	
Ø8Fð	
ØJPò	
ð )Ör2   c                óJ   <€ V ^8„  d   QhRRRS[ S[,          RS[ S[,          /# )r'   rA   r"   rÕ  r+   )rœ   r   )r-   r.   s   "€r/   r0   r×  ù  s/   ø€ ÷ ñ Ø'ðá‘s•)ðñ 
‰c�ñr2   c           	     óÄ   € V Uu. uFN  pV P                   P                  R \        P                  P                  P
                  VP                  3/ 4      NKP  	  ppV# u upi rr  )ri   r,  rè   rÙ  rÚ  Ú_backend_from_stringrð   )rA   rÕ  ÚbackendÚnodess   &&  r/   Ú_backends_to_nodesÚ%SDPAKernelVariable._backends_to_nodesø  se   € ñ $ó
ñ $�ð �I‰I×!Ñ!ØÜ—‘×"Ñ"×7Ñ7Ø—‘�Øö	ñ $ð 	ð 
ð ˆùò
s   …AAc                ó$   <€ V ^8„  d   QhRRRS[ /# rR   r   )r-   r.   s   "€r/   r0   r×  	  s   ø€ ÷ 7ñ 7Ð3ð 7¹ñ 7r2   c                ó@  a € \         P                  P                  P                  S P                  R 7      S n        S P                  VV 3R l4       \         P                  P                  P                  S P                  S P                  R7       S P                  VS P                  4      pVP                  P                  R\         P                  P                  P                  V\        S P                  4      3/ 4       \        P                  P                  R4      # ))Úwith_priorityc                  ó‚   <€ \         P                  P                  P                  S P                  S P
                  R 7      # )©rÖ  )rè   rÙ  rÚ  Ú_sdpa_kernelÚprev_backendsrÖ  r”   s   €r/   r…   Ú*SDPAKernelVariable.enter.<locals>.<lambda>  s0   ø€ ”E—H‘H×&Ñ&×3Ñ3Ø×"Ñ"°×1BÑ1Bð 4ô r2   rë  r¡   N)rè   rÙ  rÚ  Ú_cur_sdpa_kernel_backendsrÖ  rí  rW   rì  r(   rå  ri   r,  r¥   r   rX   rY   )r<   rA   r  s   f& r/   r[   ÚSDPAKernelVariable.enter	  sè   ø€ Ü"ŸX™X×/Ñ/×IÑIØ×+Ñ+ð Jó 
ˆÔð 	×ÑØôô	
ô 	�‰×Ñ×'Ñ'Ø×Ñ¨T×->Ñ->ð 	(ô 	
ð ×%Ñ% b¨$×*<Ñ*<Ó=ˆØ
�	‰	×ÑØÜ�H‰H×Ñ×+Ñ+Ø”$�t×(Ñ(Ó)Ð*Øô		
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r×    rw  r2   c                ó@  € V P                  4        V P                  WP                  4      pVP                  P	                  R \
        P                  P                  P                  V\        V P                  4      3/ 4       \        P                  P                  R4      # r3  )rt   rå  rí  ri   r,  rè   rÙ  rÚ  rì  r¥   rÖ  r   rX   rY   )r<   rA   rp   r  s   &&* r/   rv   ÚSDPAKernelVariable.exit  s}   € ð 	×ÑÔØ×%Ñ% b×*<Ñ*<Ó=ˆØ
�	‰	×ÑØÜ�H‰H×Ñ×+Ñ+Ø”$�t×(Ñ(Ó)Ð*Øô		
ô ×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r×  ,  ó   ø€ ÷ $ñ $™Sñ $r2   c                ó   € R # )ztorch.nn.attentionr4   r”   s   &r/   r}   ÚSDPAKernelVariable.module_name,  rÐ  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r×  1  s   ø€ ÷ 'ñ '™ñ 'r2   c                ó   € R # )Ú_sdpa_kernel_variadicr4   r”   s   &r/   r~   ÚSDPAKernelVariable.fn_name1  s   € Ù&r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r×  4  rë  r2   c                ó"   € \         P                  # rs   rí  r”   s   &r/   r  ÚSDPAKernelVariable.python_type4  rñ  r2   )rí  rÖ  rà   )NF)r:   r¸   r¹   rº   r7  r8  rY   r6   rå  r[   rv   r}   r~   r  r¼   r½   r¾   r¿   s   @@r/   rÓ  rÓ  Ø  st   ù‡ € Ù3à÷ñ ó ð÷ 
)õ 
)ð ÷ó ð÷ 7ð 7÷,7ð 7÷$ð $÷
'ð '÷3÷ 3ð 3r2   rÓ  c                   ó¾   a a€ ] tR tRt oRtR0]P                  mtRV3R lV 3R llltV3R lR ltV3R lR	 lt	V3R
 lR lt
V3R lR ltV3R lR ltRtVtV ;t# )ÚFxTracebackAnnotateVariablei8  aš  
fx.traceback.annotate is a context manager that allows users to annotate the
fx graph nodes with custom metadata. In the context of Dynamo, we don't have
to trace the body of the context manager. Instead we want to directly run
the body of the context manager, so the Dynamo created Fx graphs have the
right custom metadata. This variable tracker just runs __enter__ and
__exit__ method (instead of tracing).
Ú
annotationc                óF   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[RR/# )r'   r  r)   r*   r+   N©r�   rE   r   )r-   r.   s   "€r/   r0   Ú(FxTracebackAnnotateVariable.__annotate__G  s;   ø€ ÷ Tñ TÙ™s¡C˜x�.ðTÙ:=ðTÙPSðTà	ñTr2   c                ó<   <€ Wn         \        SV `  ! RR RRV/VB  R# r   )r  r5   r6   )r<   r  r)   r*   r=   s   &&&,€r/   r6   Ú$FxTracebackAnnotateVariable.__init__G  s$   ø€ ð %ŒÜ‰ÒÑS rÐS¸.ÐSÈFÔSr2   c                ó*   <€ V ^8„  d   QhRRRS[ RS[ /# ro   r   )r-   r.   s   "€r/   r0   r  M  r1  r2   c                ót  a€ \        4       oSP                  \        P                  P                  P                  V P                  4      4       SP                  \        P                  P                  P                  4       4       V P                  VV3R  l4       \        P                  P                  R4      # )c                  ó$   <€ S P                  4       # rs   )Úclose)Ústacks   €r/   r…   Ú3FxTracebackAnnotateVariable.enter.<locals>.<lambda>V  s   ø€ ¨%¯+©+¬-r2   N)r   Úenter_contextrè   ÚfxÚ	tracebackÚannotater  Úpreserve_node_metarW   r   rX   rY   )r<   rA   rp   r  s   &&*@r/   r[   Ú!FxTracebackAnnotateVariable.enterM  s|   ø€ ô “ˆØ×ÑœEŸH™H×.Ñ.×7Ñ7¸¿¹ÓHÔIØ×ÑœEŸH™H×.Ñ.×AÑAÓCÔDØ×Ñ˜bÔ"7Ô8Ü×)Ñ)×0Ñ0°Ó6Ð6r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r  Y  rõ  r2   c                ó   € R # )ztorch.fx.tracebackr4   r”   s   &r/   r}   Ú'FxTracebackAnnotateVariable.module_nameY  rÐ  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r  \  r  r2   c                ó   € R # )r  r4   r”   s   &r/   r~   Ú#FxTracebackAnnotateVariable.fn_name\  rÀ  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r  _  rë  r2   c                ó"   € \         P                  # rs   rí  r”   s   &r/   r  Ú'FxTracebackAnnotateVariable.python_type_  rñ  r2   c                ó"   <€ V ^8„  d   QhRRRR/# ry   r4   )r-   r.   s   "€r/   r0   r  b  s   ø€ ÷ 
ñ 
¨ð 
¸ñ 
r2   c                óV   € \        R \        V 4      R. \        P                  OR7       R# )z8torch.fx.traceback.annotate escaped from compiled regionzBDynamo doesn't support graph break on torch.fx.traceback.annotate.rX  Nr]  r   s   &&r/   r€   Ú,FxTracebackAnnotateVariable.reconstruct_typeb  s*   € ÜØNÜ˜“IØ\ðÜ"×.Ñ.ð÷		
r2   )r  rs   )r:   r¸   r¹   rº   r7  r$   r»   r6   r[   r}   r~   r  r€   r¼   r½   r¾   r¿   s   @@r/   r   r   8  sg   ù‡ € ñð 	ðà	 ×	/Ñ	/ð€N÷
Tõ T÷
7ð 
7÷$ð $÷ð ÷3ð 3÷
÷ 
ð 
r2   r   c                   óŠ   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltV3R lR ltV3R	 lR
 ltV3R lR lt	Rt
VtV ;t# )ÚDynamoConfigPatchVariableim  z,represents torch._dynamo.patch_dynamo_configc                ó@   <€ V ^8„  d   QhRS[ S[S[3,          RS[RR/# )r'   r(   r*   r+   Nr  )r-   r.   s   "€r/   r0   Ú&DynamoConfigPatchVariable.__annotate__r  s/   ø€ ÷ 	Dñ 	D¡d©3±¨8¥nð 	DÁð 	DÈñ 	Dr2   c                ó  <€ \        VP                  4       4      p\        SV `  ! RR V3RR/VB  / pV F0  w  rV\        P
                  P                  P                  V4      WE&   K2  	  \        VP                  4       4      3V n        R# r   )	rÊ  r»  r5   r6   rè   r  r	   r  r)   )r<   r(   r*   Útarget_values_tupleÚinitial_values_dictr  Ú_r=   s   &&,    €r/   r6   Ú"DynamoConfigPatchVariable.__init__r  s‹   ø€ Ü# M×$7Ñ$7Ó$9Ó:ÐÜ‰Òñ 	
Ø.Ð0ð	
ØAEð	
ØIOò	
ð !ÐÛ)‰FˆCÜ',§}¡}×';Ñ';×'GÑ'GÈÓ'LÐÓ$ñ *ä$Ð%8×%>Ñ%>Ó%@ÓAÐCˆÖr2   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# r	  r,   )r-   r.   s   "€r/   r0   r"  }  s#   ø€ ÷ 7ñ 7Ð8ð 7Á#ð 7È$ñ 7r2   c                óÎ   € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          pV F.  w  rE\        P                  P                  P                  WE4       K0  	  R# ©rI   r  N)rŠ   rŸ   rè   r  r	   rÆ  )r<   rA   rÉ  rÆ   r  r‹   s   &&&   r/   rU   Ú$DynamoConfigPatchVariable._call_func}  sR   € Üˆv‹;˜!ÔÜ Ð#9¼#¸f»+¸Ð!GÓHÐHØ�q•	ˆã‰HˆCÜ�M‰M× Ñ ×,Ñ,¨SÖ6ó r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r"  ‰  ó   ø€ ÷ ñ ™Sñ r2   c                ó   € R # ©ztorch._dynamor4   r”   s   &r/   r}   Ú%DynamoConfigPatchVariable.module_name‰  ó   € Ùr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   r"  Œ  ó   ø€ ÷ %ñ %™ñ %r2   c                ó   € R # )Úpatch_dynamo_configr4   r”   s   &r/   r~   Ú!DynamoConfigPatchVariable.fn_nameŒ  ó   € Ù$r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r"  �  s   ø€ ÷ &ñ &™Tñ &r2   c                ó   € ^ RI Hp V# )r«  )ÚDynamoConfigPatchProxy)Útorch._dynamo.decoratorsr:  )r<   r:  s   & r/   r  Ú%DynamoConfigPatchVariable.python_type�  s   € ÝCà%Ð%r2   r$  ©r:   r¸   r¹   rº   r7  r6   rU   r}   r~   r  r¼   r½   r¾   r¿   s   @@r/   r   r   m  sA   ù‡ € Ù6÷	Dó 	D÷7ð 7÷ð ÷%ð %÷&÷ &ð &r2   r   c                   óŠ   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltV3R lR ltV3R	 lR
 ltV3R lR lt	Rt
VtV ;t# )ÚErrorOnGraphBreakVariablei•  z-represents torch._dynamo.error_on_graph_breakc                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r'   Úerror_on_graph_breakr*   r+   N©r¥   r   )r-   r.   s   "€r/   r0   Ú&ErrorOnGraphBreakVariable.__annotate__˜  s"   ø€ ÷ 
ñ 
©Tð 
¹Sð 
ÀTñ 
r2   c                óD   <€ \         SV `  ! RR V3R\        4       3/VB  R# r   )r5   r6   r   )r<   rA  r*   r=   s   &&,€r/   r6   Ú"ErrorOnGraphBreakVariable.__init__˜  s3   ø€ Ü‰Òñ 	
Ø/Ð1ð	
ä5Ó7Ð9ð	
ð ô	
r2   c                ó8   <€ V ^8„  d   QhRRRS[ S[,          RR/# r	  )r   r¥   )r-   r.   s   "€r/   r0   rC  Ÿ  s)   ø€ ÷ -ñ -Ø-ð-Ù7?Áµ~ð-à	ñ-r2   c                óx   € \        V4      ^8w  d   \        R\        V4       24      h\        V^ ,          4       R# r*  )rŠ   rŸ   r   r»  s   &&&r/   rU   Ú$ErrorOnGraphBreakVariable._call_funcŸ  s3   € ô ˆv‹;˜!ÔÜ Ð#9¼#¸f»+¸Ð!GÓHÐHÜ! &¨¥)Ö,r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rC  ¦  r-  r2   c                ó   € R # r/  r4   r”   s   &r/   r}   Ú%ErrorOnGraphBreakVariable.module_name¦  r1  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rC  ©  s   ø€ ÷ &ñ &™ñ &r2   c                ó   € R # )rA  r4   r”   s   &r/   r~   Ú!ErrorOnGraphBreakVariable.fn_name©  rå  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rC  ¬  s   ø€ ÷ 8ñ 8™Tñ 8r2   c                ó   € ^ RI Hp V# )r«  )Ú(ErrorOnGraphBreakDecoratorContextManager)r;  rQ  )r<   rQ  s   & r/   r  Ú%ErrorOnGraphBreakVariable.python_type¬  s   € ÝUà7Ð7r2   r4   r=  r¿   s   @@r/   r?  r?  •  s?   ù‡ € Ù7÷
ó 
÷-ð -÷ð ÷&ð &÷8÷ 8ð 8r2   r?  c                   óÆ   a a€ ] tR tRt oRtV3R lV 3R lltV3R lV 3R lltV3R lR ltV3R	 lR
 ltV3R lR lt	V3R lR lt
V3R lR ltV3R lR ltRtVtV ;t# )ÚCudagraphOverrideVariablei²  z,represents torch._dynamo.override_cudagraphsc                óL   <€ V ^8„  d   QhRS[ R,          RS[ R,          RS[RR/# )r'   ÚfwdNÚbwdr*   r+   rB  )r-   r.   s   "€r/   r0   Ú&CudagraphOverrideVariable.__annotate__µ  s1   ø€ ÷ 
ñ 
™D 4�Kð 
©d°T­kð 
ÁSð 
ÈTñ 
r2   c                ó2   <€ \         SV `  ! RR W3RR/VB  R# r   rÔ  )r<   rV  rW  r*   r=   s   &&&,€r/   r6   Ú"CudagraphOverrideVariable.__init__µ  s,   ø€ Ü‰Òñ 	
Ø˜*ð	
àð	
ð ô	
r2   c                ó"   <€ V ^8„  d   QhRRRR/# )r'   rA   r"   r+   r   r4   )r-   r.   s   "€r/   r0   rX  ¼  s   ø€ ÷ !ñ !Ð3ð !Ð8Iñ !r2   c                ó    <€ VP                   P                  pVe   VP                  VP                  3V n        MRV n        \
        SV `  V4      # )Nrs   )ri   Úcudagraph_annotationrV  rW  r)   r5   r[   )r<   rA   Úprevr=   s   && €r/   r[   ÚCudagraphOverrideVariable.enter¼  sD   ø€ à�y‰y×-Ñ-ˆØÒØ#'§8¡8¨T¯X©XÐ"6ˆDÕà")ˆDÔÜ‰w‰}˜RÓ Ð r2   c                ó<   <€ V ^8„  d   QhRRRS[ S[R3,          RR/# )r'   rA   r"   rÉ  .r+   N)rÊ  r   )r-   r.   s   "€r/   r0   rX  Å  s2   ø€ ÷ Hñ HØ-ðHÙ7<¹SÀ#¸XµðHà	ñHr2   c                ó`  € ^ RI Hp \        V4      ^8X  d:   V^ ,          f/   RVP                  n        RVP                  P
                  n        R# \        V4      ^8w  d   \        R\        V4       24      hVw  rEV! WER7      pWaP                  n        WaP                  P
                  n        R# )r«  )Ú_CudagraphAnnotationNzexpected 2 values, got )rV  rW  )Útorch._inductorrb  rŠ   ri   r]  Útracing_contextrŸ   )r<   rA   rÉ  rb  rV  rW  r  s   &&&    r/   rU   Ú$CudagraphOverrideVariable._call_funcÅ  sˆ   € õ 	9äˆv‹;˜!Ô  q¥	Ò 1à-1ˆB�I‰IÔ*Ø=AˆB�I‰I×%Ñ%Ö:ä�6‹{˜aÔÜ$Ð'>¼sÀ6»{¸mÐ%LÓMÐMØ‰HˆCÙ-°#Ô?ˆJØ-7�I‰IÔ*Ø=G�I‰I×%Ñ%Ö:r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rX  Ö  r-  r2   c                ó   € R # r/  r4   r”   s   &r/   r}   Ú%CudagraphOverrideVariable.module_nameÖ  r1  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r�   )r-   r.   s   "€r/   r0   rX  Ù  r3  r2   c                ó   € R # )Úoverride_cudagraphsr4   r”   s   &r/   r~   Ú!CudagraphOverrideVariable.fn_nameÙ  r7  r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   rX  Ü  s   ø€ ÷ /ñ /™Tñ /r2   c                ó   € ^ RI Hp V# )r«  )ÚCudagraphOverrideContextManager)r;  ro  )r<   ro  s   & r/   r  Ú%CudagraphOverrideVariable.python_typeÜ  s   € ÝLà.Ð.r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r¤   )r-   r.   s   "€r/   r0   rX  á  s   ø€ ÷ ñ ¡Tñ r2   c                ó   € R # rà   r4   r”   s   &r/   r®   Ú-CudagraphOverrideVariable.exit_on_graph_breaká  s   € ñ r2   c                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r'   rA   r"   rp   r+   r   r   )r-   r.   s   "€r/   r0   rX  æ  s%   ø€ ÷ 7ñ 7Ø-ð7Ù6Eð7à	ñ7r2   c                ó@   € \         P                  P                  R 4      # rs   rÚ  ru   s   &&*r/   rv   ÚCudagraphOverrideVariable.exitæ  s   € ô ×)Ñ)×0Ñ0°Ó6Ð6r2   r$  )r:   r¸   r¹   rº   r7  r6   r[   rU   r}   r~   r  r®   rv   r¼   r½   r¾   r¿   s   @@r/   rT  rT  ²  s_   ù‡ € Ù6÷
ó 
÷!ó !÷Hð H÷"ð ÷%ð %÷/ð /÷
ð ÷
7÷ 7ð 7r2   rT  c                   ó†   a a€ ] tR tRt oV3R lV 3R lltV3R lR ltV3R lR ltV3R lR	 ltV3R
 lR ltRt	Vt
V ;t# )ÚWithEnterFunctionVariableiï  c                ó:   <€ V ^8„  d   QhRS[ S[,          RS[RR/# )r'   r5  r*   r+   N©r$   rÁ   r   )r-   r.   s   "€r/   r0   Ú&WithEnterFunctionVariable.__annotate__ð  s/   ø€ ÷ ñ á$Ñ'EÕEðñ ðð 
ñ	r2   c                ó4   <€ \         SV `  ! R/ VB  Wn        R # )Nr4   )r5   r6   r5  )r<   r5  r*   r=   s   &&,€r/   r6   Ú"WithEnterFunctionVariable.__init__ð  s   ø€ ô
 	‰ÒÑ"˜6Ò"ØŽr2   c                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r@   rD   )r-   r.   s   "€r/   r0   r{  ø  rF   r2   c                ó    € ^RI Hp V! WW#4      # rH   rK   rM   s   &&&& r/   rN   Ú-WithEnterFunctionVariable.tp_richcompare_implø  rP   r2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r{  ÿ  r€  r2   c                ó"   € \         P                  # rs   ©ÚtypesÚ
MethodTyper”   s   &r/   r  Ú%WithEnterFunctionVariable.python_typeÿ  ó   € Ü×ÑÐr2   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rš   r›   )r-   r.   s   "€r/   r0   r{    sB   ø€ ÷ >ñ >à'ð>ñ ‘?Õ#ð>ñ ‘S™/Ð)Õ*ð	>ñ
 
ñ>r2   c                óš   € V'       d   \        R 4      hV'       d   \        R4      hVP                  V P                  VP                  4      # )z7WithEnterFunctionVariable.call_function expects no argsz9WithEnterFunctionVariable.call_function expects no kwargs)rŸ   Ú	enter_ctxr5  Úcurrent_instructionr    s   &&&&r/   r¡   Ú'WithEnterFunctionVariable.call_function  sI   € ÷ Ü ØIóð ÷ Ü ØKóð ð �|‰|˜DŸH™H b×&<Ñ&<Ó=Ð=r2   c                ó"   <€ V ^8„  d   QhRRRR/# ry   r4   )r-   r.   s   "€r/   r0   r{    s   ø€ ÷ 
ñ 
 ;ð 
°4ñ 
r2   c                ób  €  V P                   P                  4        R V P                   P                  4        2p\        R\	        V P                   4      RV R2R.\        P                  O\        P                  OR7       R#   \         d"    \	        \        T P                   4      4      p Lti ; i)Ú.z;Attempted to reconstruct context manager's __enter__ methodz)Attempted to reconstruct context manager z while tracing `with ...:`zžIt is likely there is a graph break while tracing `with ctx:` but outside the actual `ctx.__enter__()` method. `torch.compile` does not expect this to happen.rX  N)
r5  r}   r~   r“   rE   r9   r   r   Ú	DIFFICULTÚ
DYNAMO_BUG)r<   rz   Útype_strs   && r/   rŒ   Ú%WithEnterFunctionVariable.reconstruct  s¦   € ð	+ØŸ(™(×.Ñ.Ó0Ð1°°4·8±8×3CÑ3CÓ3EÐ2FÐGˆHô 	ØQÜ˜Ÿ™“MØCÀHÀ:ÐMgÐhðBðô #×,Ñ,ð	ô
 #×-Ñ-ð÷		
øô #ô 	+Üœ4 §¡›>Ó*ŠHð	+ús   ‚7B Â)B.Â-B.r  )r:   r¸   r¹   rº   r6   rN   r  r¡   rŒ   r¼   r½   r¾   r¿   s   @@r/   rx  rx  ï  s<   ù‡ € ÷ó ÷7ð 7÷ ð  ÷>ð >÷&
÷ 
ð 
r2   rx  c                   ó¤   a a€ ] tR tRt oR0]P
                  mtV3R lR ltV3R lV 3R lltV3R lR ltV3R	 lR
 lt	V3R lR lt
RtVtV ;t# )ÚWithExitFunctionVariablei(  Útargetc                ó0   <€ V ^8„  d   QhRRRS[ RS[RS[ /# r@   rD   )r-   r.   s   "€r/   r0   Ú%WithExitFunctionVariable.__annotate__.  rF   r2   c                ó    € ^RI Hp V! WW#4      # rH   rK   rM   s   &&&& r/   rN   Ú,WithExitFunctionVariable.tp_richcompare_impl.  rP   r2   c                ó@   <€ V ^8„  d   QhRS[ S[,          RS[RS[RR/# )r'   r5  r–  r*   r+   Nrz  )r-   r.   s   "€r/   r0   r˜  5  s9   ø€ ÷ ñ á$Ñ'EÕEðñ ðñ ð	ð
 
ñr2   c                ó¦   <€ \         SV `  ! R/ VB  \        V\        \        34      '       g   \        R \        V4       24      hWn        W n        R# )zMctx must be a ContextWrappingVariable or GenericContextWrappingVariable, got Nr4   )	r5   r6   r7   r$   rÁ   rŸ   r9   r5  r–  )r<   r5  r–  r*   r=   s   &&&,€r/   r6   Ú!WithExitFunctionVariable.__init__5  s[   ø€ ô 	‰ÒÑ"˜6Ò"ÜØÔ)Ô+IÐJ÷
ò 
ô !Ø_Ô`dÐehÓ`iÐ_jÐkóð ð ŒØŽr2   c                ó    <€ V ^8„  d   QhRS[ /# r�   r{  )r-   r.   s   "€r/   r0   r˜  E  r€  r2   c                ó"   € \         P                  # rs   rƒ  r”   s   &r/   r  Ú$WithExitFunctionVariable.python_typeE  r‡  r2   c                óV   <€ V ^8„  d   QhRRRS[ S[,          RS[S[S[3,          RS[/# rš   r›   )r-   r.   s   "€r/   r0   r˜  H  sB   ø€ ÷ 
(ñ 
(à'ð
(ñ ‘?Õ#ð
(ñ ‘S™/Ð)Õ*ð	
(ñ
 
ñ
(r2   c                ód   € V'       d   \        R 4      hV P                  P                  ! V.VO5!  # )z8WithExitFunctionVariable.call_function expects no kwargs)rŸ   r5  rv   r    s   &&&&r/   r¡   Ú&WithExitFunctionVariable.call_functionH  s1   € ÷ Ü ØJóð ð �x‰x�}Š}˜RÐ' $Ó'Ð'r2   c                ó"   <€ V ^8„  d   QhRRRR/# ry   r4   )r-   r.   s   "€r/   r0   r˜  T  s   ø€ ÷ +ñ + ;ð +°4ñ +r2   c                ó<   € V P                   P                  V4       R # rs   )r5  r€   r   s   &&r/   rŒ   Ú$WithExitFunctionVariable.reconstructT  s   € ð 	�‰×!Ñ! 'Ö*r2   )r5  r–  )r:   r¸   r¹   rº   r   r»   rN   r6   r  r¡   rŒ   r¼   r½   r¾   r¿   s   @@r/   r•  r•  (  sT   ù‡ € àðà	×	'Ñ	'ð€N÷
7ð 7÷ó ÷  ð  ÷
(ð 
(÷+÷ +ð +r2   r•  c                óx   € V ^8„  d   Qh/ ^ \         9   d&   \        \        \        \        ,          3,          ;R&   # )r'   r›  )Ú__conditional_annotations__r�   r9   rI  )r-   s   "r/   r0   r0      s4   € ÷ ñ ÷@ò œT¤$¬Ô-BÕ(CÐ"CÕDñ òAr2   )fr¨  r7  rî  rþ  Úloggingr„  r½  Úcollections.abcr   r   r   r   r   Útypingr   r   Útorch._Crè   Útorch._dynamor	   Útorch._guardsr
   Útorch._loggingr   Ú r   r   Úbytecode_transformationr   Úexcr   Úguardsr   r   rÔ   r   r   Úutilsr   r   Úbaser   Ú	functionsr   r   r   r   r   r   r   r   Úuser_definedr    Útorch._dynamo.codegenr!   Útorch._dynamo.symbolic_convertr"   Ú	getLoggerr:   rg  r$   rÁ   ræ   rú   r  r:  rK  rj  r‚  r›  r­  rÓ  rë  r   rI  rk  rz  r…  rt  rK  r‚  r’  rŽ  r›  r�  r¡  r£  rË  ró  r"  rA  rñ   r‡  r±  rÓ  r   r   r?  rT  rx  r•  r0   )r¨  s   @r/   Ú<module>r»     sš  øðöó( Û Û Û Û ß 5Ñ 5ß 8ß %ã Ý  Ý Ý 'ç +Ý :Ý ß 0ß 2ß HÝ !÷	÷ 	ó 	õ 4÷ Ý/ÝHà×Ò˜Ó!€ôu˜oô uôp+Ð%>ô +ô\.Ð;ô .ô($)Ð+Iô $)ôN)7Ð0Gô )7ôX%7Ð7Nô %7ôP*7Ð,Cô *7ôZ*?Ð&=ô *?ôZ*4Ð5ô *4ôZ(7Ð-Dô (7ôV.'Ð&=ô .'ôb57Ð-Dô 57ôpF&Ð.ô F&ôRH$Ð3ô H$ôV/"Ð3ô /"ôd!Ð.ô !ô Ð-ô  ô.Ð%:ô .ð$ 
‡J�J×ÑÐ)Ø	‡I�I×ÑÐ'Ø	×Ñ×"Ñ"Ð$BðHÐ ó õ?õ;ôS-Ð#:ô S-ôl>3Ð(?ô >3ôBI0Ð2ô I0ôX&Ð1ô &ô>%
Ð5ô %
ôPs.Ð,Cô s.ôlL
Ð%<ô L
ô^I$Ð-Dô I$ôX]3Ð0ô ]3ô@2
Ð"9ô 2
ôj%&Ð 7ô %&ôP8Ð 7ô 8ô::7Ð 7ô :7ôz6
 ô 6
ôr0+˜ö 0+r2   