§
    ž²ÅjÐÏ  ã                  ó¾  — U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZmZmZmZ d dlmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& d dlm'Z' d dl(Z(d dl)Z(d dl*m+Z+ d d	l,m-Z- d d
l.m/Z/ d dl0m1Z1m2Z2m3Z3m4Z4 d dl)m5Z5 d dl6m7Z7m8Z8m9Z9m:Z: d dl;m<Z< d dl=m>Z>m?Z? d dl@mAZB d dlCmDZD d dlEmFZF d dlGmHZHmIZI d dlJmKZKmLZL ddlMmNZNmOZOmPZP ddlQmRZRmSZS ddlTmUZUmVZVmWZWmXZXmYZY ddlZm[Z[m\Z\m]Z]m^Z^ ddl_m`Z`maZambZbmcZc ddlOmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZn ddlompZpmqZqmrZr ddlsmtZt ddlumvZv ddlwmxZx dd lymzZz dd!l{m|Z|m}Z}m~Z~mZ dd"lPm€Z€ dd#l�m‚Z‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒm�Z�mŽZŽm�Z�m�Z�m‘Z‘m’Z’m“Z“ dd$l”m•Z• d%e–d&<   	 d dl—Z˜n# e™$ r dZ˜Y nw xY wejš        rdd'l›mœZœ dd(l�mžZž dd)lmŸZŸm Z m¡Z¡ dd*l¢m£Z£  e	j¤        e¥¦  «        Z¦e(j§         ¨                    e¥d+¦  «        Z©e(j§         ¨                    e¥d,¦  «        Zª ej«        ¦   «         Z¬ e#d-¦  «        Z­ e&d.¦  «        Z® G d/„ d0¦  «        Z¯ G d1„ d2¦  «        Z° e°¦   «         Z± e°¦   «         Z²da³d3e–d4<    ej´        eB¦  «        	 d…d†d=„¦   «         Zµd‡d@„Z¶ecj·        dˆdD„¦   «         Z¸	 	 d‰dŠdM„Z¹d aº ej»        ¦   «         Z¼dNe–dO<   d‹dQ„Z½d‹dR„Z¾ G dS„ dT¦  «        Z¿	 	 	 dŒd�d[„ZÀd d\lmÁZÁ d d]lÂmÃZÃ ejš        rdd^lÄmÅZÅ  eÁ¦   «         ZÆd_e–d`<   dŽdd„ZÇ	 	 d�d deœd�dx„ZÈ G dy„ dz¦  «        ZÉd‘d{„ZÊd’d}„ZËd“d~„ZÌ G d„ d€ejÍ        ¦  «        ZÎ G d�„ d‚¦  «        ZÏd”d„„ZÐdS )•é    )ÚannotationsN)ÚPath)ÚCellTypeÚCodeTypeÚFunctionTypeÚ
ModuleType)	ÚAnyÚCallableÚDictÚListÚOptionalÚSetÚTupleÚTypeVarÚUnion)Ú	ParamSpec)ÚReferenceType)ÚGlobalStateGuard)Úget_compile_pg)ÚTensorifyState)Úcompile_contextÚCompileContextÚ	CompileIdÚtracing)Ú
structured)Úcompile_time_strobelight_metaÚjustknobs_checkÚ#maybe_upload_prof_stats_to_manifoldÚsignpost_event)Ú_use_lazy_graph_module)ÚConstraintViolationErrorÚGuardOnDataDependentSymNode)Ú_forward_from_src)Ú_WaitCounter)ÚDistributedDataParallel)Ú_disable_current_modesÚis_in_torch_dispatch_mode)ÚCapturedTracebackÚformat_traceback_shorté   )ÚconfigÚexcÚtrace_rules)Úremove_dead_codeÚremove_pointless_jumps)Ú check_inst_exn_tab_entries_validÚInstructionÚis_generatorÚ propagate_inst_exn_table_entriesÚtransform_code_object)ÚCacheSizeRelevantForFrameÚcompute_cache_sizeÚexceeds_cache_size_limitÚis_recompilation)Úalways_optimize_code_objectsÚ
dynamo_tlsÚ	skip_codeÚTorchPatcher)Úaugment_exc_messageÚBackendCompilerFailedÚFailOnRecompileLimitHitÚformat_error_msgÚInternalTorchDynamoErrorÚRecompileLimitExceededÚSkipCodeRecursiveExceptionÚTorchRuntimeErrorÚUncapturedHigherOrderOpErrorÚunimplementedÚUnsupported)ÚCheckFunctionManagerÚ&get_and_maybe_log_recompilation_reasonÚGuardedCode)ÚHooks)Úput_code_state)ÚExecutionRecord)ÚTORCH_DYNAMO_RESUME_IN_PREFIX)ÚDistributedStateÚInstructionTranslatorÚ
LocalStateÚSpeculationLog)Úis_numpy)Úchromium_event_timedÚCleanupManagerÚCompileTimeInstructionCounterÚcountersÚdynamo_timedÚformat_bytecodeÚgen_record_file_nameÚget_metrics_contextÚincrement_frameÚis_namedtupleÚistypeÚ
LazyStringÚorig_code_mapÚreset_graph_break_dup_checkerÚsetup_compile_debugÚ	to_int_usÚtroubleshooting_urlÚwrite_record_to_file)Ú#torch_function_mode_stack_state_mgrzOptional[ModuleType]Únp)Ú
CompilerFn)ÚWrapBackendDebug)ÚBytecodeHookÚ
CacheEntryÚDynamoFrameType)ÚFrameStateSizeEntryÚbytecodeÚgraph_breaksÚ_TÚ_Pc                  ó   — e Zd ZdS )ÚTODO_UNKNOWNN)Ú__name__Ú
__module__Ú__qualname__© ó    úLC:\Projects\Historical\venv\Lib\site-packages\torch/_dynamo/convert_frame.pyrs   rs   š   s   € € € € € Ø€Drx   rs   c                  ó.   — e Zd Zdd„Zdd„Zdd	„Zdd
„ZdS )ÚTrackerÚreturnÚNonec                ó:   — g | _         t          ¦   «         | _        d S ©N)ÚseenÚsetÚseen_ids©Úselfs    ry   Ú__init__zTracker.__init__Ÿ   s   € Ø35ˆŒ	Ý"%¡%¤%ˆŒˆˆrx   Ú
strong_objr   c                óØ   ‡ ‡— t          |¦  «        Š‰‰ j        vrOt          j        |ˆˆ fd„¦  «        }‰ j                             |¦  «         ‰ j                             ‰¦  «         d S d S )Nc                ó8   •— ‰j                              ‰¦  «        S r   )r‚   Úremove)Ú_Úidxr„   s    €€ry   ú<lambda>zTracker.add.<locals>.<lambda>¦   s   ø€ °D´M×4HÒ4HÈÑ4MÔ4M€ rx   )Úidr‚   ÚweakrefÚrefr€   ÚappendÚadd)r„   r†   Úobjr‹   s   `  @ry   r‘   zTracker.add£   st   øø€ Ý�‰nŒnˆØ�d”mÐ#Ð#Ý”+˜jÐ*MÐ*MÐ*MÐ*MÐ*MÑNÔNˆCØŒI×Ò˜SÑ!Ô!Ð!ØŒM×Ò˜cÑ"Ô"Ð"Ð"Ð"ð $Ð#rx   ÚitemÚboolc                ó.   — t          |¦  «        | j        v S r   )r�   r‚   )r„   r“   s     ry   Ú__contains__zTracker.__contains__ª   s   € Ý�$‰xŒx˜4œ=Ð(Ð(rx   c                ój   — | j                              ¦   «          | j                             ¦   «          d S r   )r€   Úclearr‚   rƒ   s    ry   r˜   zTracker.clear­   s.   € ØŒ	�ŠÑÔÐØŒ×ÒÑÔÐÐÐrx   N)r|   r}   )r†   r   r|   r}   )r“   r   r|   r”   )rt   ru   rv   r…   r‘   r–   r˜   rw   rx   ry   r{   r{   ž   sd   € € € € € ð(ð (ð (ð (ð#ð #ð #ð #ð)ð )ð )ð )ðð ð ð ð ð rx   r{   zOptional[GlobalStateGuard]Úinitial_global_stateÚsrcÚstrÚglobalsúDict[str, Any]Ú	co_fieldsúOptional[Dict[str, str]]r|   r   c                óP   — t          | ||¦  «        }t          |j        ¦  «         |S r   )Úoriginal_forward_from_srcr;   Ú__code__)rš   rœ   rž   Úresults       ry   Úfx_forward_from_src_skip_resultr¤   ¸   s*   € õ ' s¨G°YÑ?Ô?€FÝˆfŒoÑÔÐØ€Mrx   ÚfnúCallable[_P, _T]c                óV   ‡ — t          j        ‰ ¦  «        dˆ fd„¦   «         }‰ |_        |S )	zê
    Context manager to:
        1) Save/restore torch.is_grad_enabled() state
        2) Save/restore python random state
        3) Save/restore torch random state
        4) Monkey patch torch.fx.graph_module._forward_from_src
    Úargsú_P.argsÚkwargsú	_P.kwargsr|   rp   c                 óJ	  •— t          ¦   «         }t          j        ¦   «         }t          j                             ¦   «         5  t          j        ¦   «         }t          j        ¦   «         }t          j        ¦   «         }t          j	        ¦   «         }t          j         
                    ¦   «         }d }	t          j                             ¦   «         rt          j         
                    ¦   «         }	t          j                             ¦   «         }
t          j        j        j        }t"          t          j        j        _        t%          ¦   «         }t'          j        ¦   «         }|                     t          j        j                             ¦   «         ¦  «         |                     t0          ¦  «         	  ‰| i |¤Ž|                     ¦   «          t          j                             ¦   «         dk    s
J d¦   «         ‚|                     ¦   «          t          j                             |¦  «         t          j        j                             |¦  «         t          j        ||¬¦  «         t          j         |¦  «         t          j         !                    |¦  «         |	�t          j         !                    |	¦  «         t          j         "                    |
¦  «         |t          j        j        _        | #                    ¦   «         s J d| $                    ¦   «         › d�¦   «         ‚cd d d ¦  «         S # |                     ¦   «          t          j                             ¦   «         dk    s
J d¦   «         ‚|                     ¦   «          t          j                             |¦  «         t          j        j                             |¦  «         t          j        ||¬¦  «         t          j         |¦  «         t          j         !                    |¦  «         |	�t          j         !                    |	¦  «         t          j         "                    |
¦  «         |t          j        j        _        | #                    ¦   «         s J d| $                    ¦   «         › d�¦   «         ‚w xY w# 1 swxY w Y   d S )Nr   zQTorch function mode stack state changed while dynamo tracing, please report a bug)Ú	warn_onlyzGlobal z7state changed while dynamo tracing, please report a bug)%r   ÚtorchÚis_grad_enabledÚ_CÚ_PreserveDispatchKeyGuardÚis_inference_mode_enabledÚ$are_deterministic_algorithms_enabledÚ-is_deterministic_algorithms_warn_only_enabledÚrandomÚgetstateÚget_rng_stateÚcudaÚis_availableÚ_get_cublas_allow_tf32ÚfxÚgraph_moduler#   r¤   rb   Ú
contextlibÚ	ExitStackÚenter_contextÚ_symbolic_traceÚ_maybe_revert_all_patchesrf   ÚcloseÚ_len_torch_function_stackÚ_set_grad_enabledÚautogradÚ	grad_modeÚ_enter_inference_modeÚuse_deterministic_algorithmsÚsetstateÚset_rng_stateÚ_set_cublas_allow_tf32ÚcheckÚreason)r¨   rª   ÚguardsÚprior_grad_modeÚprior_inference_modeÚprior_deterministicÚprior_warn_onlyÚpy_rng_stateÚtorch_rng_stateÚcuda_rng_stateÚ
allow_tf32Úprior_fwd_from_srcÚcleanupÚ
exit_stackr¥   s                 €ry   Ú_fnz"preserve_global_state.<locals>._fnÌ   sI  ø€ å!Ñ#Ô#ˆÝÔ/Ñ1Ô1ˆõ
 ŒX×/Ò/Ñ1Ô1ð '	fð '	fÝ#(Ô#BÑ#DÔ#DÐ Ý"'Ô"LÑ"NÔ"NÐÝ#ÔQÑSÔSˆOÝ!œ?Ñ,Ô,ˆLÝ#œl×8Ò8Ñ:Ô:ˆOØ!ˆNÝŒz×&Ò&Ñ(Ô(ð <Ý!&¤×!9Ò!9Ñ!;Ô!;�Ýœ×8Ò8Ñ:Ô:ˆJÝ!&¤Ô!6Ô!HÐÝ6U�EŒHÔ!Ô3Ý)Ñ+Ô+ˆGÝ#Ô-Ñ/Ô/ˆJØ×$Ò$Ý”Ô(×BÒBÑDÔDñô ð ð ×$Ò$Õ%HÑIÔIÐIðfØ�r˜4Ð* 6Ð*Ð*à—’‘”�å”H×6Ò6Ñ8Ô8¸AÒ=Ð=Ð=Øfñ >Ô=Ð=à× Ò Ñ"Ô"Ð"Ý”×*Ò*¨?Ñ;Ô;Ð;Ý”Ô(×>Ò>Ð?SÑTÔTÐTÝÔ2Ø'°?ðñ ô ð õ ” Ñ-Ô-Ð-Ý”×*Ò*¨?Ñ;Ô;Ð;Ø!Ð-Ý”J×,Ò,¨^Ñ<Ô<Ð<Ý”×/Ò/°
Ñ;Ô;Ð;Ø:L•”Ô%Ô7à—L’L‘N”Nðfð fàe˜VŸ]š]™_œ_ÐeÐeÐeñfô fØ"ðM'	fð '	fð '	fð '	fñ '	fô '	fð '	fð '	føð* —’‘”�å”H×6Ò6Ñ8Ô8¸AÒ=Ð=Ð=Øfñ >Ô=Ð=à× Ò Ñ"Ô"Ð"Ý”×*Ò*¨?Ñ;Ô;Ð;Ý”Ô(×>Ò>Ð?SÑTÔTÐTÝÔ2Ø'°?ðñ ô ð õ ” Ñ-Ô-Ð-Ý”×*Ò*¨?Ñ;Ô;Ð;Ø!Ð-Ý”J×,Ò,¨^Ñ<Ô<Ð<Ý”×/Ò/°
Ñ;Ô;Ð;Ø:L•”Ô%Ô7à—L’L‘N”Nðfð fàe˜VŸ]š]™_œ_ÐeÐeÐeñfô fØ"�N�N�N�NðM'	fð '	fð '	fð '	føøøð '	fð '	fð '	fð '	fð '	fð '	fs-   ÁE)RÆ+L)Æ2E*RÌ)E,RÒRÒRÒR©r¨   r©   rª   r«   r|   rp   )Ú	functoolsÚwrapsÚ_torchdynamo_orig_callable)r¥   rÚ   s   ` ry   Úpreserve_global_staterß   Ã   sN   ø€ õ „_�RÑÔð.fð .fð .fð .fð .fñ Ôð.fð` &(€CÔ"Ø€Jrx   Úframerl   r”   c                ó"  ‡‡— | j         t          v rdS | j         j        D ]�}|| j        v rv| j        |         }t	          |t
          ¦  «        r&|j                             d¦  «        s	|t          u r dS t          r't          j        r|t          u st          |¦  «        r dS Œ‚i Šd
ˆˆfd„Š| j                             ¦   «         D ]} ‰|¦  «        r dS Œt                               d| j         j        | j         j        | j         j        ¦  «         d	S )z+Check if the frame has torch.* related bitsTztorch.r’   Úobjectr|   r”   c           	     ó"  •‡ — t          ‰ ¦  «        }|‰v r‰|         S d‰|<   t          ‰ t          j        t          j        j        f¦  «        s4t          ‰ t          ¦  «        r,t          ‰ t          j        j        ¦  «        rd‰|<   ‰|         S t          j
        rHt          rAt          ‰ t          j        ¦  «        st          ‰ t          j        ¦  «        rd‰|<   ‰|         S t          ‰ t          t          f¦  «        r&t!          ˆfd„‰ D ¦   «         ¦  «        ‰|<   ‰|         S t          ‰ t"          ¦  «        rGt          ‰                      ¦   «         ¦  «        }t!          ˆfd„|D ¦   «         ¦  «        ‰|<   ‰|         S t          ‰ t&          t(          t*          t          d¦  «        t,          f¦  «        rd‰|<   ‰|         S t/          ‰ ¦  «        r<t1          ‰ d¦  «        r,t!          ˆˆ fd„‰ j        D ¦   «         ¦  «        ‰|<   ‰|         S dS )z)Recursively check if the obj has a tensorFTc              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r   rw   ©Ú.0ÚvÚ
has_tensors     €ry   ú	<genexpr>z:has_tensor_in_frame.<locals>.has_tensor.<locals>.<genexpr>*  s+   øè è € Ð">Ð">°Q : :¨a¡=¤=Ð">Ð">Ð">Ð">Ð">Ð">rx   c              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r   rw   rå   s     €ry   ré   z:has_tensor_in_frame.<locals>.has_tensor.<locals>.<genexpr>1  s+   øè è € Ð"AÐ"A°Q : :¨a¡=¤=Ð"AÐ"AÐ"AÐ"AÐ"AÐ"Arx   NÚ_fieldsc              3  óJ   •K  — | ]} ‰t          ‰|¦  «        ¦  «        V — Œd S r   )Úgetattr)ræ   rç   rè   r’   s     €€ry   ré   z:has_tensor_in_frame.<locals>.has_tensor.<locals>.<genexpr>7  s5   øè è € Ð"TÐ"TÀ1 : :­g°c¸1©o¬oÑ#>Ô#>Ð"TÐ"TÐ"TÐ"TÐ"TÐ"Trx   )r�   Ú
isinstancer®   ÚTensorÚnnÚModuler^   ÚtypeÚ
issubclassr+   Útrace_numpyrg   ÚndarrayÚgenericÚlistÚtupleÚanyÚdictÚvaluesr›   ÚintÚfloatr”   r]   Úhasattrrë   )r’   Úobj_idrû   rè   r‚   s   `  €€ry   rè   z'has_tensor_in_frame.<locals>.has_tensor  s  øø€ å�C‘”ˆØ�XÐÐØ˜FÔ#Ð#Ø ˆ�Ñå�c�EœL­%¬(¬/Ð:Ñ;Ô;ð !	Ý�3�ÑÔð!	Ý",¨Sµ%´(´/Ñ"BÔ"Bð!	ð  $ˆH�VÑØ˜FÔ#Ð#åÔð	åð	õ ˜�RœZÑ(Ô(ð	õ -7°s½B¼JÑ,GÔ,Gð	ð
  $ˆH�VÑØ˜FÔ#Ð#Ý�C�$¥˜Ñ'Ô'ð 	Ý"Ð">Ð">Ð">Ð">¸#Ð">Ñ">Ô">Ñ>Ô>ˆH�VÑØ˜FÔ#Ð#Ý�C�ÑÔð 	õ ˜#Ÿ*š*™,œ,Ñ'Ô'ˆFÝ"Ð"AÐ"AÐ"AÐ"A¸&Ð"AÑ"AÔ"AÑAÔAˆH�VÑØ˜FÔ#Ð#Ý�C�#�s¥E­4°©:¬:µtÐ<Ñ=Ô=ð 	Ø$ˆH�VÑØ˜FÔ#Ð#Ý˜3ÑÔð 	¥G¨C°Ñ$;Ô$;ð 	Ý"Ð"TÐ"TÐ"TÐ"TÐ"TÈÌÐ"TÑ"TÔ"TÑTÔTˆH�VÑØ˜FÔ#Ð#ð �5rx   z0skipping because no torch.* %s             %s %sF)r’   râ   r|   r”   )Úf_coder9   Úco_namesÚ	f_globalsrî   r   rt   Ú
startswithr®   rg   r+   rô   rS   Úf_localsrû   ÚlogÚdebugÚco_nameÚco_filenameÚco_firstlineno)rà   r  r’   Úvaluerè   r‚   s       @@ry   Úhas_tensor_in_framer    sP  øø€ ð „|Õ3Ð3Ð3Øˆtð ”<Ô(ð 	ð 	ˆØ�e”oÐ%Ð%Ø”/ 'Ô*ˆCÝ˜#�zÑ*Ô*ð Ø”×'Ò'¨Ñ1Ô1ðØ58½E°\°\à�t�tåð •fÔ(ð ¨cµR¨i¨i½8ÀC¹=¼=¨iØ�t�tøà "€Hð(ð (ð (ð (ð (ð (ð (ðV ”×&Ò&Ñ(Ô(ð ð ˆØˆ:�eÑÔð 	Ø�4�4ð	õ ‡I‚Ið	àŒÔØŒÔ ØŒÔ#ñô ð ð ˆ5rx   FÚeÚ	ExceptionÚcoder   úOptional[DynamoFrameType]Úexportr}   c                ó¤   — d }t          | d¦  «        r,t          | |¦  «        }t          || j        ¦  «         || _        t          | |¬¦  «         d S )NÚexec_record©r  )rþ   rZ   re   r  Úrecord_filenamer=   )r  r  rà   r  r  s        ry   Úexception_handlerr  P  s]   € ð €OÝˆq�-Ñ Ô ð ,Ý.¨q°$Ñ7Ô7ˆÝ˜_¨a¬mÑ<Ô<Ð<Ø+ˆÔå˜ &Ð)Ñ)Ô)Ð)Ð)Ð)rx   z/typing.Counter[Union[int, FrameStateSizeEntry]]ÚFRAME_COMPILE_COUNTERÚfuncc                ó<   — t           j        rt          | ¦  «        S | S r   )r+   ÚcprofileÚcprofile_wrapper)r  s    ry   Úmaybe_cprofiler  e  s   € Ý„ð &Ý Ñ%Ô%Ð%Ø€Krx   c                óH   ‡ — t          j        ‰ ¦  «        dˆ fd„¦   «         }|S )	Nr¨   r©   rª   r«   r|   rp   c                 ó¦  •‡— t          j        ¦   «         }|s
J d¦   «         ‚t          d‰j        › dt	          |¦  «                             dd¦  «        › d�¦  «        }t          j        ¦   «         }|                     ¦   «          t          j	        ¦   «         } |j
        ‰g| ¢R i |¤Ž}t          j	        ¦   «         |z
  }|                     ¦   «          t                               d‰j        ||¦  «         t          j        |¦  «        }	 |                     |¦  «         n+# t"          $ r t                               d|¦  «         Y nw xY wt                               d|¦  «         |                     d	¦  «        }		 t)          j        d
dddddt	          |¦  «        gt(          j        ¬¦  «        }
t)          j        dddt	          |	¦  «        g|
j        ¬¦  «         t                               d|	¦  «         n˜# t2          $ r‹ t                               d¦  «         |                     t          j        j        ¦  «                             d¦  «         |                     t          j        j        ¦  «                             d¦  «         Y nw xY wt?          t	          |¦  «        ¦  «        xŠr#t@          j!         "                    dˆfd„¦  «         |S )NzTrace id is Nonez/tmp/rŠ   ú/z.profilez7### Cprofile for %s trace id [%s] took %.3f seconds ###zCannot write to %szRaw profile at %sz.svgÚ	gprof2dotz-fÚpstatsz"--node-label=total-time-percentagez!--node-label=self-time-percentagez--node-label=total-time)ÚstdoutÚdotz-Tsvgz-o)Ústdinz Generated SVG from profile at %szxFailed to generate SVG from profile -- dumping stats instead.Try installing gprof2dot and dot for a better visualizationé   Úlinkc                 ó   •— d‰ dœS )NÚcprofile_manifold_url)ÚnameÚurlrw   )Úmanifold_links   €ry   rŒ   z;cprofile_wrapper.<locals>.profile_wrapper.<locals>.<lambda>¥  s   ø€ Ð!8ÀÐOÐO€ rx   )#r   Úcurrent_trace_idr   rt   r›   ÚreplaceÚcProfileÚProfileÚenableÚtimeÚruncallÚdisabler  Úwarningr   ÚStatsÚ
dump_statsÚPermissionErrorÚ	exceptionÚwith_suffixÚ
subprocessÚPopenÚPIPEÚ
check_callr!  ÚFileNotFoundErrorÚ
sort_statsÚSortKeyÚTIMEÚprint_statsÚ
CUMULATIVEr   r®   Ú_loggingÚtrace_structured)r¨   rª   Útrace_idÚprofile_pathÚprofÚstart_tsÚretvalÚprofile_latencyÚpsÚsvg_pathÚgprof2dot_processr*  r  s              @€ry   Úprofile_wrapperz)cprofile_wrapper.<locals>.profile_wrapperl  sñ  øø€ å!Ô2Ñ4Ô4ˆØÐ+Ð+Ð+Ñ+Ô+ˆxÝØM�D”MÐMÐM¥C¨¡M¤M×$9Ò$9¸#¸sÑ$CÔ$CÐMÐMÐMñ
ô 
ˆõ ÔÑ!Ô!ˆØ�Š‰ŒˆÝ”9‘;”;ˆØ�”˜dÐ4 TÐ4Ð4Ð4¨VÐ4Ð4ˆÝœ)™+œ+¨Ñ0ˆØ�Š‰ŒˆÝ�ŠØEØŒMØØñ		
ô 	
ð 	
õ Œ\˜$ÑÔˆð	>Ø�OŠO˜LÑ)Ô)Ð)Ð)øÝð 	>ð 	>ð 	>Ý�MŠMÐ.°Ñ=Ô=Ð=Ð=Ð=ð	>øøøå�ŠÐ'¨Ñ6Ô6Ð6Ø×+Ò+¨FÑ3Ô3ˆð	EÝ *Ô 0àØØØ8Ø7Ø-Ý˜Ñ%Ô%ðõ "”ð!ñ !ô !Ðõ Ô!Ø˜ ¥s¨8¡}¤}Ð5Ø'Ô.ðñ ô ð õ �KŠKÐ:¸HÑEÔEÐEÐEøÝ ð 	Eð 	Eð 	EÝ�KŠKðNñô ð ð �MŠM�&œ.Ô-Ñ.Ô.×:Ò:¸2Ñ>Ô>Ð>Ø�MŠM�&œ.Ô3Ñ4Ô4×@Ò@ÀÑDÔDÐDÐDÐDð	Eøøøõ @Ý�ÑÔñ
ô 
ð 
ˆ=ð 	õ ŒN×+Ò+ØØOÐOÐOÐOñô ð ð ˆs&   Ä
D  Ä %EÅEÅ<A;G8 Ç8BJÊJrÛ   )rÜ   rÝ   )r  rN  s   ` ry   r  r  k  s?   ø€ Ý„_�TÑÔð:ð :ð :ð :ð :ñ Ôð:ðx Ðrx   c                  óD   — e Zd Z	 	 	 ddd„Zed d„¦   «         Zddœd!d„ZdS )"ÚConvertFrameAssertTFNÚcompiler_fnrh   Ú	one_graphr”   r  Úexport_constraintsúOptional[typing.Never]r|   r}   c                óZ   — t          ¦   «          || _        || _        || _        || _        d S r   )ra   rÞ   Ú
_one_graphÚ_exportÚ_export_constraints)r„   rQ  rR  r  rS  s        ry   r…   zConvertFrameAssert.__init__­  s4   € õ 	&Ñ'Ô'Ð'Ø*5ˆÔ'Ø#ˆŒØˆŒØ#5ˆÔ Ð Ð rx   ú*Callable[[CompilerFn], ConvertFrameAssert]c                ó   ‡ — ˆ fd„S )Nc                óF   •— t          | ‰j        ‰j        ‰j        ¦  «        S r   )Úconvert_frame_assertrV  rW  rX  ©Úbackendr„   s    €ry   rŒ   z8ConvertFrameAssert._clone_with_backend.<locals>.<lambda>½  s"   ø€ Õ3Ø�T”_ d¤l°DÔ4Lñ 
ô  
€ rx   rw   rƒ   s   `ry   Ú_clone_with_backendz&ConvertFrameAssert._clone_with_backend»  s   ø€ ð
ð 
ð 
ð 
ð 	
rx   r   ©Úskiprà   rl   Úcache_entryúOptional[CacheEntry]ÚhooksrK   Úframe_stateú*Dict[str, Union[int, FrameStateSizeEntry]]ra  rü   úOptional[GuardedCode]c               ó@  — t          ¦   «          |j        }t          ||¦  «        }t                               |¦  «         |t
          v rd S t          j                             d¦  «        r*t          j                             d¦  «        |j	        k    rd S |j	        dk    r|j
                             d¦  «        rd S |j	        dk    rd S |j	        dk    rH|j
                             t          j                             t          j        j        ¦  «        ¦  «        rd S |j	        dk    r|j
        dk    rd S |j	        dk    r!|j
        dk    rt%          |j        ¦  «        sd S t)          |¦  «        rt+          d	¦  «         t-          |¦  «        sd S t/          ¦   «         ad
|vrt2          |d
<   t2          dz  a|d
         }t5          |t6          ¦  «        sJ ‚t8          |         }	t8          |xx         dz  cc<   t;          ||	¦  «        }
t=          dd|j	        |t?          |
¦  «        |j
        |j         |j!        |j"        dœ¦  «         |j	                             tF          ¦  «        s8|j	        › d|j
        › d|j         › �}tH          j%         &                    |¦  «         tO          tQ          |
¦  «        ¦  «        5  tS          |j        |j*        |j+        |j        |j,        | j-        | j.        | j/        | j0        ||||||
|dz   ¬¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )NÚTORCHDYNAMO_DEBUG_FUNCTIONz	<genexpr>)ztransformers/file_utils.pyztransformers/utils/generic.pyzdiffusers/utils/outputs.pyÚ__setattr__r…   z<module>ú<string>z<lambda>Ú	generatorÚ_idr*   Údynamoz_convert_frame_assert._compile)r  Úframe_idÚ
compile_idr  r	  Ú
cache_sizeÚaccumulated_cache_sizeú ú:)re  rp  ra  )1r\   r   r6   Úinput_codesr‘   Úoutput_codesÚosÚenvironÚgetr  r  Úendswithr  ÚpathÚdirnamer®   ÚoptimÚ__file__r”   Ú
f_builtinsr2   rF   r  r   r™   ÚFRAME_COUNTERrî   rü   r  r   r   r›   r	  Ú+num_cache_entries_with_same_id_matched_objsÚnum_cache_entriesrN   r:   Útraced_frame_infosr�   r   r   Ú_compiler  r  ÚclosurerÞ   rV  rW  rX  )r„   rà   rb  rd  re  ra  r  rq  ro  Úframe_compile_idrp  Úinfos               ry   Ú__call__zConvertFrameAssert.__call__Á  s�  € õ 	ÑÔÐàŒ|ˆå'¨¨{Ñ;Ô;ˆ
Ý�Š˜ÑÔÐØ•<ÐÐØ�4åŒJ�NŠNÐ7Ñ8Ô8ð	å”
—’Ð;Ñ<Ô<ÀÄÒLÐLà�4ØŒ<˜;Ò&Ð&¨4Ô+;×+DÒ+Dðñ,
ô ,
Ð&ð �4ØŒ<˜=Ò(Ð(ð �4ØŒ<˜:Ò%Ð%¨$Ô*:×*EÒ*EÝŒG�OŠO�EœKÔ0Ñ1Ô1ñ+
ô +
Ð%ð
 �4ð
 Œ<˜:Ò%Ð%¨$Ô*:¸jÒ*HÐ*HØ�4ð ŒL˜JÒ&Ð&ØÔ  JÒ.Ð.Ý˜Ô)Ñ*Ô*ð /ð
 �4å˜ÑÔð 	'Ý˜+Ñ&Ô&Ð&å" 5Ñ)Ô)ð 	Ø�4õ  0Ñ1Ô1Ðð ˜Ð#Ð#Ý!.ˆK˜ÑÝ˜QÑˆMØ˜uÔ%ˆÝ˜(¥CÑ(Ô(Ð(Ð(Ð(å0°Ô:ÐÝ˜hÐ'Ð'Ô'¨1Ñ,Ð'Ð'Ñ'å˜xÐ)9Ñ:Ô:ˆ
åØØ,àœ<Ø$Ý! *™oœoØ#Ô/Ø"&Ô"5Ø(ÔTØ*4Ô*Fðð ñ	
ô 	
ð 	
ð Œ|×&Ò&Õ'DÑEÔEð 	7Ø”lÐMÐM TÔ%5ÐMÐM¸Ô8KÐMÐMˆDÝÔ)×0Ò0°Ñ6Ô6Ð6å�^¨JÑ7Ô7Ñ8Ô8ð 	ð 	ÝØ”Ø”Ø”ØÔ Ø”ØÔ/Ø”Ø”ØÔ(ØØØØØ'Ø%Ø˜A‘Xð!ñ ô ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Ê7ALÌLÌL©TFN)
rQ  rh   rR  r”   r  r”   rS  rT  r|   r}   )r|   rY  ©rà   rl   rb  rc  rd  rK   re  rf  ra  rü   r|   rg  ©rt   ru   rv   r…   Úpropertyr_  rˆ  rw   rx   ry   rP  rP  ¬  sƒ   € € € € € ð ØØ59ð6ð 6ð 6ð 6ð 6ð ð
ð 
ð 
ñ „Xð
ð ðsð sð sð sð sð sð sð srx   rP  TrQ  rh   rR  rS  rT  c                ó&   — t          | |||¦  «        S )z&Fully convert a frame into an FX graph)rP  )rQ  rR  r  rS  s       ry   r\  r\  7  s   € õ ˜k¨9°fÐ>PÑQÔQÐQrx   )ÚOrderedDict)ÚRemovableHandle)ÚOutputGraphzDict[int, BytecodeHook]Ú_bytecode_hooksÚhookrj   r�  c                óL   — t          t          ¦  «        }| t          |j        <   |S )zÂRegister hooks for bytecode generated by Dynamo. The hook can do some
    logging, as well as return a new code object to be used. Please refer
    to `BytecodeHook` for the hook signature.
    )r�  r‘  r�   )r’  Úhandles     ry   Úregister_bytecode_hookr•  M  s"   € õ
 �_Ñ-Ô-€FØ!%…O�F”IÑØ€Mrx   r`  úDict[str, object]ÚlocalsÚbuiltinsr…  úTuple[CellType]rd  rK   rb  rc  rq  r5   re  ú4Optional[Dict[str, Union[int, FrameStateSizeEntry]]]rp  r   ra  rü   rg  c               ó˜  ‡ ‡‡‡‡‡‡‡‡‡
‡‡‡‡-‡.‡/‡0‡1‡2‡3‡4‡5‡6‡7‡8— ddl mŠ.m}mŠ8m} dŠ1d Š2d Š7t
          j                             ¦   «         Š6t          dHˆ.ˆˆˆ ˆˆ0ˆˆˆˆˆˆˆ2ˆ5ˆ6ˆ7ˆ8fd
„¦   «         }dIˆ-fd„}t          d¬¦  «        t          dIˆ
ˆˆ0ˆ1ˆ2ˆ4fd„¦   «         ¦   «         Š-t          ¦   «         }t          t          j        ¦  «        5  t          t!          ‰¦  «        ¦  «        5  t#          ddd¬¦  «        5  |5  t%          ¦   «         Š4t'          ¦   «         Š5t)          ¦   «         x}rt+          |t-          ¦   «         ¦  «        Š0nd Š0d Š3t/          |¦  «        r|rt1          ‰
|¦  «        Š3t3          |‰¦  «        \  }}|r¯dJd„}dKˆ3fd„}t4                               d|t9          t          |¦  «         |‰ ¦  «         |¦   «         t:          ¦  «         t          j        rt?          |› d�¦  «        ‚t          j         r!tC          d ¦  «        rtE          |› d!�¦  «        ‚tG          |› d!�¦  «         t4           $                    d"‰ j%        ‰ j&        ‰ j'        ‰d#z   d$ (                    tS          j*        d#‰z   ¬%¦  «         +                    ¦   «         ¦  «        ¦  «         tY          j-        t\          ¦  «        Š/t
          j/         0                    d&ˆ ˆ/ˆfd'„¦  «         tc          j2        ¦   «         }d }d }d }d }t
          j3        j4        j5         6                    ¦   «          d }	  |‰ ‰|	|¦  «        }to          ¦   «          |‰7ri ‰7j8        _9        d(d)l4m:}  tw          | ¦  «        }!|€»‰2�¹ty          ‰2j=        ¦  «        }"ty          ‰2j>        j=        ¦  «        }#‰2 ?                    ¦   «         }$ty          ‰2j@        jA        ¦  «        }%ty          ‰2jB        ¦  «        }&d*„ ‰2jC        D ¦   «         }'d+„ ‰2jD        D ¦   «         }(t
          j3        j4        j5                             ¦   «          nOd }"d }#d }$d }%d }&t%          i ¦  «        }'t%          i ¦  «        }(t%          ¦   «         Š4tc          j2        ¦   «         |z
  d,z  Š1dLd/„}) |)t          jE        ¦   «         ¦  «        }*i d0|!“d1‰ j%        “d2‰ j&        “d3‰ j'        “d4|jF        “d5|jG        “d6|"“d7|#“d8|$“d9|%“d:|&“d;|“d<|“d=|“d>|“d?|'“d@|(“‰4‰1|d ut          jH        t          jI        t          jJ        t—          jL        |*¦  «        dt›          ‰1¦  «        dAœ	¥}+| N                    |+¦  «         cd d d ¦  «         cd d d ¦  «         cd d d ¦  «         cd d d ¦  «         S # tž          $ �r },t¡          |,¦  «        jQ        }tw          |,¦  «        }t¥          |,‰ |‰¬B¦  «         t
          j/         0                    dCdD„ dE„ ¬F¦  «         t§          jT        |,‰¦  «        \  }}t«          |,t¬          t®          t°          t²          t´          t¶          |t¸          |f	¦  «        r‚ t»          t¡          |,¦  «        jQ        › dGtw          |,¦  «        › �¦  «         ^                    |,j_        ¦  «        d ‚d },~,ww xY w# ‰7ri ‰7j8        _9        d(d)l4m:}  tw          | ¦  «        }!|€»‰2�¹ty          ‰2j=        ¦  «        }"ty          ‰2j>        j=        ¦  «        }#‰2 ?                    ¦   «         }$ty          ‰2j@        jA        ¦  «        }%ty          ‰2jB        ¦  «        }&d*„ ‰2jC        D ¦   «         }'d+„ ‰2jD        D ¦   «         }(t
          j3        j4        j5                             ¦   «          nOd }"d }#d }$d }%d }&t%          i ¦  «        }'t%          i ¦  «        }(t%          ¦   «         Š4tc          j2        ¦   «         |z
  d,z  Š1dLd/„}) |)t          jE        ¦   «         ¦  «        }*i d0|!“d1‰ j%        “d2‰ j&        “d3‰ j'        “d4|jF        “d5|jG        “d6|"“d7|#“d8|$“d9|%“d:|&“d;|“d<|“d=|“d>|“d?|'“d@|(“‰4‰1|d ut          jH        t          jI        t          jJ        t—          jL        |*¦  «        dt›          ‰1¦  «        dAœ	¥}+| N                    |+¦  «         w xY w# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )MNr   )ÚbisectÚBisectValidationExceptionÚtranslation_validation_enabledÚValidationExceptiong        ÚinstructionsúList[Instruction]Úcode_optionsr–  r|   r}   c                óâ  •— ‰                      ¦   «          t          | ‰‰‰‰‰‰|‰‰‰‰	‰
‰‰¬¦  «        Š	 t          ‰j        j        ¦  «        5  ‰                     ¦   «         5  ‰                     ¦   «          d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   nw# t          j        $ r ‰ 	                    ¦   «          ‚ t          j
        t          j        t          j        f$ r ‚ t          $ r!  ‰¦   «         r ‰‰j        j        ¦  «         ‚ w xY w‰j                             ¦   «          n# ‰j                             ¦   «          w xY w‰j        Š‰€J ‚‰j        sJ ‚‰j        | d d …<   |                     ‰j        ¦  «         t&          j        st+          j        d¦  «         t/          | ¦  «         t1          | ¦  «         t3          t5          | ¦  «        ¦  «        | d d …<   d S )N)re  Úspeculation_logÚdistributed_statezJThe config.dead_code_elimination flag is deprecated, it's now always true.)ÚrestartrP   r   ÚoutputÚtracing_contextÚset_current_txÚrunr,   ÚUnspecializeRestartAnalysisr˜   ÚSpeculationRestartAnalysisÚTensorifyScalarRestartAnalysisÚ	SkipFramer  Ú	shape_envÚcall_cleanup_hooksÚoutput_instructionsÚupdater¢  r+   Údead_code_eliminationÚwarningsÚwarnr3   r0   r/   r.   )r   r¢  rœ  r˜  r…  r  rQ  r¥  r  rS  re  rœ   r—  rR  r§  r¤  Útf_mode_stackÚtracerrž  s     €€€€€€€€€€€€€€€€€ry   Ú	transformz_compile.<locals>.transform{  s±  ø€ ð 	×ÒÑ!Ô!Ð!Ý&ØØØØØØØØØØØØØ#Ø+Ø/ð
ñ 
ô 
ˆð$	/Ý˜œÔ6Ñ7Ô7ð ð ¸×9NÒ9NÑ9PÔ9Pð ð Ø—
’
‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øøåÔ.ð 	ð 	ð 	Ø×!Ò!Ñ#Ô#Ð#ØåÔ*ÝÔ.ÝŒMð
ð 	ð 	ð 	ð
 Ýð 	ð 	ð 	Ø-Ð-Ñ/Ô/ð 0Ø��v”}Ô.Ñ/Ô/Ð/Øð	øøøð
 ŒM×,Ò,Ñ.Ô.Ð.Ð.øˆFŒM×,Ò,Ñ.Ô.Ð.Ð.øøøà”ˆØÐ!Ð!Ð!ØÔ)Ð)Ð)Ð)Ø Ô4ˆ�Q�Q�Q‰Ø×Ò˜FÔ/Ñ0Ô0Ð0õ Ô+ð 	ÝŒMØ\ñô ð õ 	)¨Ñ6Ô6Ð6Ý(¨Ñ6Ô6Ð6Ý0Õ1AÀ,Ñ1OÔ1OÑPÔPˆ�Q�Q�Q‰ˆˆsf   µB' ÁBÁ#BÁ8BÂB	ÂBÂB	ÂBÂB' ÂBÂB' Â"BÂ#B' Â&D8 Â'A4DÄD8 Ä8Er  r   rR  r”   rd  rK   r¸  ú2Callable[[List[Instruction], Dict[str, Any]], Any]rg  c                óä  •— t          j        ¦   «         5 }|                     t          ddd¬¦  «        ¦  «         |                     t	          d¦  «                             ¦   «         ¦  «         |                     t          j        j         	                    ¦   «         ¦  «         |                     t          j        ¦   «         ¦  «          ‰| |||¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nz_compile.compile_innerÚentire_frame_compileÚ!dynamo_cumulative_compile_time_us)Ú
phase_nameÚdynamo_compile_column_usz#pytorch.wait_counter.dynamo_compile)r½   r¾   r¿   rX   r$   Úguardr®   Ú_dynamoÚcallback_handlerÚinstall_callbacksrV   Úrecord)r  rR  rd  r¸  ÚstackÚ_compile_inners        €ry   Úcompile_innerz_compile.<locals>.compile_inner¸  s@  ø€ õ Ô!Ñ#Ô#ð 	E uØ×ÒÝØ,Ø5Ø-Pðñ ô ñô ð ð ×ÒÝÐBÑCÔC×IÒIÑKÔKñô ð ð ×Ò¥¤Ô >× PÒ PÑ RÔ RÑSÔSÐSØ×ÒÕ =Ô DÑ FÔ FÑGÔGÐGØ!�> $¨	°5¸)ÑDÔDð	Eð 	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð ˆts   •CC%Ã%C)Ã,C)rÆ  )r½  c           	     ó$  •— t          j         ¦   «         x}}d!d„} |d| j        | j        | j        | ¦  «         d }t	          j        ¦   «         D �]—}|t          j        ¦   «         _        	 t          | |¦  «        } �nj# t          j        $ rÉ}	t          |	t          j        ¦  «        st          j        ¦   «          t                                dt%          t&          |	j        ¦  «        ¦  «         ‰                     |	j        pt/          t1          |	¦  «        ¦  «        ¦  «         t          j         ¦   «         }|dk    rt3          d¦  «         Y d }	~	�Œd }	~	wt          j        $ r‚}	t          |	t          j        ¦  «        st          j        ¦   «          t                                d|	| j        | j        | j        ¦  «         |rt                                d¦  «         Y d }	~	 d S d }	~	ww xY w‰�‰j        €
J d¦   «         ‚|€J ‚ |d| j        | j        | j        |¦  «         t:                               ¦   «         D ]}
 |
| |¦  «        }|�|}Œ| t>          |<   t@                               |¦  «         ||z
  Š‰€J ‚d"d„}|€J ‚ || ¦  «        } ||¦  «        }d}|d| j!        d |…         › d�z  }|d|j!        d |…         › �z  }| j!        d |…         |j!        d |…         k    s
J |¦   «         ‚d}|d| j"        › d�z  }|d|j"        › �z  }| j"        |j"        k    s
J |¦   «         ‚d}|d| j#        › d�z  }|d|j#        › �z  }| j#        |j#        k    s
J |¦   «         ‚‰j$        r‰ %                    ¦   «         rd S ‰j&        €J ‚‰j'        tP          j)        |<   tU          ‰‰|r|j+        nd ¦  «        }‰�t/          ‰¦  «        nd}d |z   }tY          ||j-        ‰|¦  «        }‰ %                    ¦   «         s!|j.        �| .                    ‰j&        ¦  «         |S )#NÚprefixr›   r(  ÚfilenameÚline_norü   r  r   r|   r}   c           	     ó¨   — t                                t          j        ¦  «        r-t                                t          | ||||¦  «        ¦  «         d S d S r   )Úbytecode_logÚisEnabledForÚloggingÚDEBUGr  rY   )rÈ  r(  rÉ  rÊ  r  s        ry   Úlog_bytecodez6_compile.<locals>._compile_inner.<locals>.log_bytecodeÚ  s[   € õ ×(Ò(­¬Ñ7Ô7ð Ý×"Ò"Ý# F¨D°(¸GÀTÑJÔJñô ð ð ð ðð rx   zORIGINAL BYTECODEzRestarting analysis due to %séd   z100+ RestartAnalysis() callsz.Skipping frame %s %s                     %s %sz%No graph captured with one_graph=Truez;compiler collective wasn't run before compilation completedzMODIFIED BYTECODEc                óœ   — dd l }| j        | j        z   t          | j        |j        z  ¦  «        z   t          | j        |j        z  ¦  «        z   S )Nr   )ÚinspectÚco_argcountÚco_kwonlyargcountr”   Úco_flagsÚ
CO_VARARGSÚCO_VARKEYWORDS)r  rÓ  s     ry   Ú
count_argsz4_compile.<locals>._compile_inner.<locals>.count_args(  sY   € ØˆNˆNˆNð Ô ØÔ(ñ)å�t”} wÔ'9Ñ9Ñ:Ô:ñ;õ �t”} wÔ'=Ñ=Ñ>Ô>ñ?ðrx   zarg mismatch: zold code object has args z, znew code object has args zfree var mismatch: zold code object has free var znew code object has free var zcell var mismatch: zold code object has cell var znew code object has cell var ÚUnknownzTorch-Compiled Region: )rÈ  r›   r(  r›   rÉ  r›   rÊ  rü   r  r   r|   r}   ©r  r   r|   rü   )/r0  r  r  r	  Ú	itertoolsÚcountr   ry  Úattemptr4   r,   ÚRestartAnalysisrî   r­  r   r˜   r  r‡  r_   r)   Ú__traceback__r‘   Úrestart_reasonr›   rò   rF   r®  r  Ú
all_statesr‘  rû   r`   rv  Úco_varnamesÚco_freevarsÚco_cellvarsr  Úis_empty_graphrÎ   ÚcleanupsrU   ÚinstancerH   Úguard_fail_fnrJ   Úguard_managerÚguard_export_fn)r  rR  rd  r¸  Úlast_attempt_start_timeÚ
start_timerÐ  Úout_coderÞ  r  r’  Úhook_outputrÙ  Útotal_argcount_oldÚtotal_argcount_newÚmsgÚcheck_fnÚcompile_id_strÚannotation_strÚguarded_coderb  rp  r¥  Údynamo_time_before_restartr§  Úrestart_reasonss                       €€€€€€ry   rÅ  z _compile.<locals>._compile_innerÏ  s  ø€ õ 04¬y©{¬{Ð:Ð *ð	ð 	ð 	ð 	ð 	ˆØØŒLØÔØÔØñ	
ô 	
ð 	
ð ˆÝ ”Ñ(Ô(ð 	ñ 	ˆGØ+2�NÔÑ Ô Ô(ðÝ0°°yÑAÔA�Ø‘øÝÔ&ð Bð Bð BÝ! !¥SÔ%GÑHÔHð +Ý"Ô(Ñ*Ô*Ð*Ý—’Ø3ÝÕ5°q´ÑGÔGñô ð ð
  ×#Ò# AÔ$4Ð$D½½DÀ¹G¼G¹¼ÑEÔEÐEå*.¬)©+¬+Ð'Ø˜S’=�=Ý!Ð"@ÑAÔAÐAøøøøùøøøøÝ”=ð ð ð Ý! !¥SÔ%GÑHÔHð +Ý"Ô(Ñ*Ô*Ð*Ý—	’	ðàØ”LØÔ$ØÔ'ñô ð ð ð GÝ—I’IÐEÑFÔFÐFØ�t�t�t�t�t�tøøøøðøøøð  Ð%Ð):Ô)EÐ)QÐ)QØHñ *RÔ)QÐQð Ð#Ð#Ð#ØˆØØŒLØÔØÔØñ	
ô 	
ð 	
õ $×*Ò*Ñ,Ô,ð 	'ð 	'ˆDØ˜$˜t XÑ.Ô.ˆKØÐ&Ø&�øà"&��hÑÝ×Ò˜Ñ"Ô"Ð"Ø%<¸zÑ%IÐ"ØÐ!Ð!Ð!ð	ð 	ð 	ð 	ð Ð#Ð#Ð#à'˜Z¨Ñ-Ô-ÐØ'˜Z¨Ñ1Ô1ÐØˆØÐT¨4Ô+;Ð<OÐ=OÐ<OÔ+PÐTÐTÐTÑTˆØÐV¨8Ô+?Ð@SÐASÐ@SÔ+TÐVÐVÑVˆàÔÐ0Ð0Ð0Ô1ØÔ#Ð$7Ð%7Ð$7Ô8ò9ð 9ð 9àñ9ô 9ð 9ð $ˆØÐC¨tÔ/?ÐCÐCÐCÑCˆØÐE¨xÔ/CÐEÐEÑEˆØÔ 8Ô#7Ò7Ð7Ð7¸Ñ7Ô7Ð7à#ˆØÐC¨tÔ/?ÐCÐCÐCÑCˆØÐE¨xÔ/CÐEÐEÑEˆØÔ 8Ô#7Ò7Ð7Ð7¸Ñ7Ô7Ð7ð Œ=ð 	˜V×2Ò2Ñ4Ô4ð 	Ø�4àŒ}Ð(Ð(Ð(Ø,2¬O�Ô Ñ)å'ØØØ#(Ð2ˆEÔÐ¨dñ
ô 
ˆð -7Ð,B�˜Z™œ˜È	ˆØ2°^ÑCˆÝ"Ø�hÔ,¨j¸.ñ
ô 
ˆð ×$Ò$Ñ&Ô&ð 	1¨5Ô+@Ð+Lð ×!Ò! &¤-Ñ0Ô0Ð0àÐs&   Á*A=Á=G$ÂB>EÅG$Å"A6GÇG$rn  T)Úreset_event_logÚlog_pt2_compile_eventr›   c                ó8   — d| j         › d| j        › d| j        › d�S )Nú'z' (rt  ú))r  r  r	  )r  s    ry   Úformat_func_infoz"_compile.<locals>.format_func_info‚  s+   € ØU˜4œ<ÐUÐU¨DÔ,<ÐUÐU¸tÔ?RÐUÐUÐUÐUrx   c                 ó   •— ‰ sdS ‰ d         S )Nz$Unable to find recompilation reasonséÿÿÿÿrw   )Úrecompile_reasonss   €ry   Úformat_guard_failuresz'_compile.<locals>.format_guard_failures…  s   ø€ Ø(ð BØAÐAØ(¨Ô,Ð,rx   z¬torch._dynamo hit config.%s (%s)
   function: %s
   last reason: %s
To log all recompilation reasons, use TORCH_LOGS="recompiles".
To diagnose recompilation issues, see %s.zG reached, because fail_on_cache_limit_hit = True this is a HARD failurez7pytorch/compiler:skip_code_recursive_on_cache_limit_hitz reachedzBtorchdynamo start compiling %s %s:%s, stack (elided %s frames):
%sé   Ú r`  Údynamo_startc                 ó  •— dt          t          j        ˆfd„t          j        t          j        d‰z   ¬¦  «                             ¦   «         ¦  «        ¦  «        ¦  «        ‰ j        ‰ j	        t          j
        ‰ j        ¦  «        dœgz   iS )NrÄ  c                ó   •— | d         ‰k    S )NrÉ  rw   )ÚfÚconvert_frame_interns    €ry   rŒ   z,_compile.<locals>.<lambda>.<locals>.<lambda>Ã  s   ø€  ! J¤-Ð3GÒ"G€ rx   é   r`  )Úliner(  rÉ  )r÷   rÜ  Ú	takewhiler   Úfrom_tracebackr(   ÚextractÚsummaryr	  r  Úintern_stringr  )r  r	  ra  s   €€€ry   rŒ   z_compile.<locals>.<lambda>À  s˜   ø€ Ø�ÝÔ'ØGÐGÐGÐGÝ"Ô1Ý-Ô5¸1¸t¹8ÐDÑDÔD×LÒLÑNÔNñô ñô ñô ð !%Ô 3Ø $¤Ý$.Ô$<¸TÔ=MÑ$NÔ$Nðð ðñð€ rx   r*   )Ú
curr_framec                ó   — h | ]	}|j         ’Œ
S rw   ©rv   ©ræ   Úops     ry   ú	<setcomp>z_compile.<locals>.<setcomp>!  s   € Ð$XÐ$XÐ$X¸ R¤_Ð$XÐ$XÐ$Xrx   c                ó   — h | ]	}|j         ’Œ
S rw   r  r  s     ry   r  z_compile.<locals>.<setcomp>"  s'   € ð (ð (ð (Ø(*�B”Oð(ð (ð (rx   g    eÍÍAÚdr�   c                óL   ‡— h d£Šˆfd„|                       ¦   «         D ¦   «         S )N>   ÚverboseÚbase_dirÚrepro_afterÚrepro_levelÚTYPE_CHECKINGÚlog_file_nameÚdebug_dir_rootÚrepro_toleranceÚrepro_forward_onlyÚ_custom_ops_profileÚ_save_config_ignoreÚrepro_ignore_non_fpÚignore_logger_methodsÚlog_compilation_metricsÚsame_two_models_use_fp64Útraceable_tensor_subclassesÚreorderable_logging_functionsÚ)_autograd_backward_strict_mode_banned_opsÚ+inject_BUILD_SET_unimplemented_TESTING_ONLYc                ól   •— i | ]0\  }}|‰v¯	|t          |t          ¦  «        rt          |¦  «        n|“Œ1S rw   )rî   r�   r÷   )ræ   Úkeyr
  Ú	blocklists      €ry   ú
<dictcomp>z4_compile.<locals>.clean_for_json.<locals>.<dictcomp>I  sM   ø€ ð ð ð á"˜˜UØ )Ð+Ð+ð ­
°5½#Ñ(>Ô(>ÐI�˜e™œ˜ÀEà+Ð+Ð+rx   )Úitems)r  r/  s    @ry   Úclean_for_jsonz _compile.<locals>.clean_for_json2  sG   ø€ ðð ð �	ð,ð ð ð à&'§g¢g¡i¤iðñ ô ð rx   Ú	frame_keyr  r  r	  rq  rr  Úguard_countÚshape_env_guard_countÚgraph_op_countÚgraph_node_countÚgraph_input_countÚ	fail_typeÚfail_reasonÚfail_user_frame_filenameÚfail_user_frame_linenoÚnon_compliant_opsÚcompliant_custom_ops)	rø  Údynamo_time_before_restart_sÚhas_guarded_codeÚconfig_suppress_errorsÚ config_inline_inbuilt_nn_modulesÚspecialize_floatÚdynamo_configÚ
is_forwardÚ%dynamo_compile_time_before_restart_usr  Úartifactc                 ó   — dddœS )NÚdynamo_errorÚstring©r(  Úencodingrw   rw   rx   ry   rŒ   z_compile.<locals>.<lambda>ò  s   € Ø*Ø (ð%ð %€ rx   c                 ó(   — t          j        ¦   «         S r   ©Ú	tracebackÚ
format_excrw   rx   ry   rŒ   z_compile.<locals>.<lambda>ö  s   € ¥9Ô#7Ñ#9Ô#9€ rx   ©Úmetadata_fnÚ
payload_fnz: )r   r¡  r¢  r–  r|   r}   )
r  r   rR  r”   rd  rK   r¸  r¹  r|   rg  )r  r   r|   r›   )r|   r›   )r  r�   r|   r�   )`Útorch.fx.experimental.validatorrœ  r�  rž  rŸ  r®   Ú	overridesÚ _get_current_function_mode_stackrß   r   r  r[   r    r+   Úuse_lazy_graph_moduler   r   rT   r�   rR   r   rO   rQ   r8   rI   r7   r  r3  rí   rd   Úfail_on_cache_limit_hitr?   Ú&skip_code_recursive_on_cache_limit_hitr   rB   rF   r  r  r  r	  Újoinr(   r  Úformatr   r  r~  rC  rD  r0  Útime_nsrÀ  ÚutilsÚReinplaceCountersr˜   rL   r§  Úlocal_scoper  r›   ÚlenrÎ   r¯  Úcount_callsÚgraphÚnodesÚplaceholdersr=  r>  Úget_config_copyr�  r‚  Úsuppress_errorsÚinline_inbuilt_nn_modulesrC  ÚjsonÚdumpsrc   Úupdate_outerr  rò   rv   r  r,   Úget_exc_messagerî   rG   rD   r>   ÚAssertionErrorr!   r"   rE   rA   Úwith_tracebackrà  )9r  rœ   r—  r˜  r…  rQ  rR  r  rS  rd  rb  rq  rà   re  rp  ra  r�  rŸ  r¸  rÆ  Úmetrics_contextÚ
compile_pgÚexceededÚ
limit_typerþ  r  Ústart_time_nsr9  r:  r;  r<  rö  r  r3  r4  r5  r6  r7  r8  r=  r>  r2  Úconfig_dictÚmetricsr  rÅ  rœ  r	  r¥  r÷  r§  r  rø  r¤  r¶  r·  rž  s9   ````````` `  ```                             @@@@@@@@@@@@ry   r„  r„  W  s‚  øøøøøøøøøøøøøøøøøøøøøøøøø€ ð&ð ð ð ð ð ð ð ð ð ð ð ð ),ÐØ$(€FØ.2€Fõ 	Œ×8Ò8Ñ:Ô:ð õ ð:Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qð :Qñ Ôð:Qðxð ð ð ð ð õ. #¨oÐ>Ñ>Ô>ÝðWð Wð Wð Wð Wð Wð Wð Wð Wð Wñ „^ñ ?Ô>ðWõr *Ñ+Ô+€OÝ	¥Ô <Ñ	=Ô	=ð C2ð C2½Ý�zÑ"Ô"ñ@ô @ð C2ð C2åØ $¸dðñ ô ðC2ð C2ð ð	C2ð C2õ
 %(¡E¤Eˆå(Ñ*Ô*ˆÝ'Ñ)Ô)Ð)ˆ:ð 	%Ý 0°½Z¹\¼\Ñ JÔ JÐÐà $Ðð !ÐÝ˜JÑ'Ô'ð 	¨Eð 	Ý FØ˜Uñ!ô !Ðõ  8¸
ÀJÑOÔOÑˆ�*Øð  	7ðVð Vð Vð Vð-ð -ð -ð -ð -ð -õ
 �KŠKð<ð
 Ý� 
Ñ+Ô+Ø Ð  Ñ&Ô&Ø%Ð%Ñ'Ô'Ý#ñô ð õ Ô-ð 
7Ý-Ø!ÐjÐjÐjñô ð õ Ô>ð 7Å?ØIñDô Dð 7õ -°
Ð-DÐ-DÐ-DÑEÔEÐEõ  Ð5Ð5Ð5Ñ6Ô6Ð6å�	Š	ØQØŒLØÔØÔØ�1‰Hà�GŠGÕ%Ô-°1°t±8Ð<Ñ<Ô<×CÒCÑEÔEÑFÔFñ	
ô 	
ð 	
õ4  *Ô7½ÑAÔAÐåŒ×'Ò'Øðð ð ð ð ð ñ	
ô 	
ð 	
õ( œ™œˆØ#'ˆ	Ø%)ˆØ26Ð Ø04ÐÝŒÔÔ-×3Ò3Ñ5Ô5Ð5ØˆðU	2Ø(˜=¨¨y¸%ÀÑKÔKˆLõ ÑÔÐàð\ ð /Ø,.�”Ô)à)Ð)Ð)Ð)Ð)Ð)å˜J™œˆIØÐ" vÐ'9Ý! &¤-Ñ0Ô0�Ý(+¨FÔ,<Ô,CÑ(DÔ(DÐ%Ø!'×!3Ò!3Ñ!5Ô!5�Ý#& v¤|Ô'9Ñ#:Ô#:Ð Ý$'¨Ô(;Ñ$<Ô$<Ð!Ø$XÐ$X¸vÔ?WÐ$XÑ$XÔ$XÐ!ð(ð (Ø.4Ô.Ið(ñ (ô (Ð$õ ”Ô#Ô5×9Ò9Ñ;Ô;Ð;Ð;à"�Ø(,Ð%Ø!%�Ø#'Ð Ø$(Ð!Ý$'¨¡G¤GÐ!Ý'*¨2¡w¤wÐ$Ý"%¡%¤%�å.2¬l©n¬n¸}Ñ.LÐPSÑ-SÐ*ðð ð ð ð: )˜.­Ô)?Ñ)AÔ)AÑBÔBˆKðØ˜Yðà˜4œ<ðð ˜tÔ/ðð ! $Ô"5ð	ð
 ˜jÔTðð )¨*Ô*Fðð ˜{ðð (Ð)>ðð ! .ðð #Ð$4ðð $Ð%6ðð ˜Yðð ˜{ðð +Ð,Dðð )Ð*@ðð  $Ð%6ð!ð" 'Ð(<ð#ð$ $3Ø0JØ$0¸Ð$<Ý*0Ô*@Ý4:Ô4TÝ$*Ô$;Ý!%¤¨KÑ!8Ô!8Ø"Ý9BØ.ñ:ô :ð5ð ð ˆGð< ×(Ò(¨Ñ1Ô1Ð1ðGC2ð C2ð C2ð C2ñ C2ô C2ð C2ð C2ð C2ð C2ð C2ñ C2ô C2ð C2ð C2ð C2ð C2ð C2ñ C2ô C2ð C2ð C2ð C2ð C2ð C2ñ C2ô C2ð C2ð C2øõz ð &	<ñ &	<ð &	<õ ˜Q™œÔ,ˆIÝ˜a™&œ&ˆKÝ˜a  u°VÐ<Ñ<Ô<Ð<åŒN×+Ò+Øðð ð :Ð9ð ,ñ ô ð õ @CÔ?RØ�:ñ@ô @Ñ<Ð$Ð&<õ ØåÝ%Ý)Ý"Ý,Ý/Ø'Ý0Ø-ð
ñô ð <ð õ /Ý˜A‘w”wÔ+Ð7Ð7­s°1©v¬vÐ7Ð7ñô ç ’. ¤Ñ1Ô1°tð<øøøøðI&	<øøøøðZ ð /Ø,.�”Ô)à)Ð)Ð)Ð)Ð)Ð)å˜J™œˆIØÐ" vÐ'9Ý! &¤-Ñ0Ô0�Ý(+¨FÔ,<Ô,CÑ(DÔ(DÐ%Ø!'×!3Ò!3Ñ!5Ô!5�Ý#& v¤|Ô'9Ñ#:Ô#:Ð Ý$'¨Ô(;Ñ$<Ô$<Ð!Ø$XÐ$X¸vÔ?WÐ$XÑ$XÔ$XÐ!ð(ð (Ø.4Ô.Ið(ñ (ô (Ð$õ ”Ô#Ô5×9Ò9Ñ;Ô;Ð;Ð;à"�Ø(,Ð%Ø!%�Ø#'Ð Ø$(Ð!Ý$'¨¡G¤GÐ!Ý'*¨2¡w¤wÐ$Ý"%¡%¤%�å.2¬l©n¬n¸}Ñ.LÐPSÑ-SÐ*ðð ð ð ð: )˜.­Ô)?Ñ)AÔ)AÑBÔBˆKðØ˜Yðà˜4œ<ðð ˜tÔ/ðð ! $Ô"5ð	ð
 ˜jÔTðð )¨*Ô*Fðð ˜{ðð (Ð)>ðð ! .ðð #Ð$4ðð $Ð%6ðð ˜Yðð ˜{ðð +Ð,Dðð )Ð*@ðð  $Ð%6ð!ð" 'Ð(<ð#ð$ $3Ø0JØ$0¸Ð$<Ý*0Ô*@Ý4:Ô4TÝ$*Ô$;Ý!%¤¨KÑ!8Ô!8Ø"Ý9BØ.ñ:ô :ð5ð ð ˆGð< ×(Ò(¨Ñ1Ô1Ð1Ð1øøøðGC2ð C2ð C2ð C2øøøð C2ð C2ð C2ð C2ð C2ð C2ð C2ñ C2ô C2ð C2ð C2ð C2ð C2ð C2ð C2øøøð C2ð C2ð C2ð C2ð C2ð C2ð C2ñ C2ô C2ð C2ð C2ð C2ð C2ð C2ð C2øøøð C2ð C2ð C2ð C2ð C2ð C2ð C2ñ C2ô C2ð C2ð C2ð C2ð C2ð C2ð C2ð C2øøøð C2ð C2ð C2ð C2ð C2ð C2s¾   Ãb?Ã%b'Ã8bÃ;H"a9	ÌU)Ì;G=a9	Ô8bÕb'Õb?Õ)Y4Õ4C;Y/Ù/Y4Ù4Y7Ù7G?a6á6a9	á9a=á=bâ a=âbâb'âbâb'âbâb'âb?â'b+	â+b?â.b+	â/b?â?cãcc                  ó:   — e Zd Zdd„Zedd	„¦   «         Z	 ddd„ZdS )ÚConvertFramerQ  rh   rd  rK   r|   r}   c                óN   — || _         t          |d¬¦  «        | _        || _        d S )NF)rR  )rÞ   r\  Ú_inner_convertÚ_hooks)r„   rQ  rd  s      ry   r…   zConvertFrame.__init__s  s*   € Ø*5ˆÔ'Ý2°;È%ÐPÑPÔPˆÔØˆŒˆˆrx   ú*Callable[[WrapBackendDebug], ConvertFrame]c                ó   ‡ — ˆ fd„S )Nc                ó.   •— t          | ‰j        ¦  «        S r   )Úconvert_framery  r]  s    €ry   rŒ   z2ConvertFrame._clone_with_backend.<locals>.<lambda>z  s   ø€ �}¨W°d´kÑBÔB€ rx   rw   rƒ   s   `ry   r_  z ConvertFrame._clone_with_backendx  s   ø€ àBÐBÐBÐBÐBrx   r   rà   rl   rb  rc  re  rf  ra  rü   ú~Optional[Union[GuardedCode, torch._C._dynamo.eval_frame.SkipCodeRecursiveFlag, torch._C._dynamo.eval_frame.CacheLimitHitFlag]]c                óä  ‡— t           d         dxx         dz  cc<   	 |                      |||||dz   ¬¦  «        }t           d         dxx         dz  cc<   |S # t          $ �r
}t          |t          ¦  «        r‚ t          |t
          ¦  «        }t          |t
          ¦  «        rât                               t          j	        ¦  «        r¾t          |d¦  «        r®t          t          |j        ¦  «        ¦  «        5  |j        }	d                     t!          j        |	¦  «        ¦  «        }
d|
› �Št$          j                             d	d
„ ˆfd„¬¦  «         t                               ‰d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t,          j        s|s‚ t1          |dd ¦  «        }|j        }t5          ||||¦  «        }|rt6                               |d¬¦  «         nt6                               |d¬¦  «         t          |t<          ¦  «        r t$          j        j         j!        j"        cY d }~S t          |tF          ¦  «        r t$          j        j         j!        j$        cY d }~S Y d }~nd }~ww xY wd S )NÚframesÚtotalr*   r`  Úokrp  r  z&Graph break: skip: from user code at:
rG  c                 ó   — dddœS )NÚdynamo_graph_break_reasonrJ  rK  rw   rw   rx   ry   rŒ   z'ConvertFrame.__call__.<locals>.<lambda>¸  s   € Ø(CØ,4ð1ð 1€ rx   c                 ó4   •— ‰ › dt          j        ¦   «         › �S )Nú
rN  )Úuser_stack_traces   €ry   rŒ   z'ConvertFrame.__call__.<locals>.<lambda>¼  s   ø€ Ð2BÐ/^Ð/^ÅiÔFZÑF\ÔF\Ð/^Ð/^€ rx   rQ  T)Úexc_infor  )%rW   rx  r  rî   rE   rG   Úgraph_break_logrÍ  rÎ  rÏ  rþ   r   r   rp  Ú
real_stackrZ  rO  Úformat_listr®   rC  rD  r  r+   rf  rí   r   r@   r  r‡  r3  rC   r°   rÀ  Ú
eval_frameÚskip_code_recursive_flagrB   Úcache_limit_hit_flag)r„   rà   rb  rd  re  ra  r£   r  Ú	soft_failÚ
user_stackÚuser_stack_formattedr  r  Ú	error_msgr‡  s                 @ry   rˆ  zConvertFrame.__call__|  s'  ø€ õ 	�Ô˜7Ð#Ð#Ô# qÑ(Ð#Ð#Ñ#ðO	HØ×(Ò(Ø�{ E¨;¸TÀA¹Xð )ñ ô ˆFõ �XÔ˜tÐ$Ð$Ô$¨Ñ)Ð$Ð$Ñ$ØˆMøÝð I	Hñ I	Hð I	Hõ ˜!Õ9Ñ:Ô:ð Øå" 1¥kÑ2Ô2ˆIõ ˜!�[Ñ)Ô)ð ­o×.JÒ.JÝ”ñ/ô /ð õ ˜1˜lÑ+Ô+ð Ý(­¸¼Ñ)EÔ)EÑFÔFð ð Ø%&¤\˜
Ø/1¯wªwÝ%Ô1°*Ñ=Ô=ñ0ô 0Ð,ð ,lÐUiÐ+kÐ+kÐ(Ýœ×7Ò7Ø&ð)ð )ð (_Ð'^Ð'^Ð'^ð 8ñ ô ð õ (×-Ò-Ø,Ø%)ð .ñ ô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ& Ô)ð °)ð Øõ & aÐ):¸DÑAÔAˆOØ”<ˆDÝ(¨¨D°/À5ÑIÔIˆIàð 6Ý—’˜¨T�Ñ2Ô2Ð2Ð2å—’˜I°�Ñ5Ô5Ð5õ ˜!Õ7Ñ8Ô8ð HÝ”xÔ'Ô2ÔKÐKÐKÐKÐKÐKÐKÝ˜AÕ5Ñ6Ô6ð Hõ ”xÔ'Ô2ÔGÐGÐGÐGÐGÐGÐGðHð Hð Hð Hð HøøøøðMI	HøøøðV ˆtsP   ž9A ÁI-Á#BI(Ã8A6E:Å.I(Å:E>	Å>I(ÆE>	ÆB&I(È(I-È./I(ÉI-É(I-N)rQ  rh   rd  rK   r|   r}   )r|   rz  )r   )rà   rl   rb  rc  rd  rK   re  rf  ra  rü   r|   r~  r‹  rw   rx   ry   rv  rv  r  sq   € € € € € ðð ð ð ð
 ðCð Cð Cñ „XðCð ð`ð `ð `ð `ð `ð `ð `rx   rv  c                ó"   — t          | |¦  «        S )zHTry to convert a frame into an FX graph, if error leave frame unmodified)rv  )rQ  rd  s     ry   r}  r}  ß  s   € å˜ UÑ+Ô+Ð+rx   rÉ  c                ól  — ddl m} t          j        }dt          _        t	          | d¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j	        |j
                             ¦   «         t          ¦   «                              ¦   «         ¦  «        ¦  «        |_
        	 t          |j        |j
        |j        |j        |j        |ddd t#          ¦   «         t%          dd¦  «        d d i t'          dd¦  «        ¬¦  «         |t          _        d S # |t          _        w xY w)	Nr*   )ÚeagerFÚrbr   é*   iç  )
rQ  rR  r  rS  rd  rq  rb  rà   re  rp  )Úbackends.debuggingr•  r+   Úreplay_record_enabledÚopenrM   Úloadrú   rÜ  Úchainrœ   r1  r„  r  r—  r˜  r…  rK   r5   r   )rÉ  r•  Úoriginal_replay_valÚin_filerÃ  s        ry   ÚreplayrŸ  å  s^  € Ø)Ð)Ð)Ð)Ð)Ð)å Ô6ÐØ#(…FÔ Ý	ˆh˜Ñ	Ô	ð / Ý Ô% gÑ.Ô.ˆð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å�)œ/¨&¬.×*>Ò*>Ñ*@Ô*@Å'Á)Ä)Ç/Â/ÑBSÔBSÑTÔTÑUÔU€F„Nð;ÝØŒKØŒNØŒMØŒOØŒNØØØØ#Ý‘'”'Ý0°°AÑ6Ô6ØØØÝ   SÑ)Ô)ð	
ñ 	
ô 	
ð 	
ð$ (;�Ô$Ð$Ð$øÐ':�Ô$Ð:Ð:Ð:Ð:s   ¯AÁAÁAÂ8AD% Ä%D3c                ó    — t           j        dk     rdS t          j        | ¦  «        D ]}|j        dk    r|j        dz  c S Œt          d¦  «        ‚)N)é   é   r   ÚRESUMEr  z$RESUME instruction not found in code)ÚsysÚversion_infoÚdisÚget_instructionsÚopnameÚoffsetÚRuntimeError)r  Úinsts     ry   Úfirst_real_inst_idxr¬    sc   € Ý
Ô˜'Ò!Ð!ØˆqÝÔ$ TÑ*Ô*ð $ð $ˆØŒ;˜(Ò"Ð"Ø”; !Ñ#Ð#Ð#Ð#ð #å
Ð=Ñ
>Ô
>Ð>rx   c                  ó   — e Zd Zddœdd„ZdS )ÚConvertFrameProtocolr   r`  rà   rl   rb  rc  rd  rK   re  rf  ra  rü   r|   rg  c               ó   — d S r   rw   )r„   rà   rb  rd  re  ra  s         ry   rˆ  zConvertFrameProtocol.__call__  s	   € ð 	ˆrx   NrŠ  )rt   ru   rv   rˆ  rw   rx   ry   r®  r®    s7   € € € € € ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	rx   r®  c                  ó   — e Zd Zdd„Zdd„ZdS )ÚCatchErrorsWrapperÚcallbackr®  rd  rK   r|   r}   c                ó\   —  t          j        |¦  «        | ¦  «         || _        || _        d S r   )rÜ   rÝ   rÞ   rd  )r„   r²  rd  s      ry   r…   zCatchErrorsWrapper.__init__  s/   € Ø!�	Œ˜Ñ!Ô! $Ñ'Ô'Ð'Ø*2ˆÔ'ØˆŒ
ˆ
ˆ
rx   rà   rl   rb  rc  re  rf  rg  c           	     óþ  — |€J ‚t          j        |j        ¦  «        }t          j        dk    r|j        t          |j        ¦  «        k    }n|j        t          |j        ¦  «        k    }|s4|s2t          j        s&t          d¬¦  «        r£t          | j        dd¦  «        s�t                               t          j        ¦  «        rg|rd}n1t          j        |j        ¦  «        rd}nt          d¬¦  «        rd}nd}t                               d	|j        j        ||j        j        ¦  «         d S |j        j        d
k    r|j        j        dk    rd S t          j        ¦   «         dk    r§t)          j        ¦   «         }|r’t,          5  ddlm}  ||j        | j        j        ¬¦  «        }	t5          | j        d¦  «        s
J d¦   «         ‚| j                             |	j        ¦  «        }
 |
||| j        |¦  «        cd d d ¦  «         S # 1 swxY w Y   t,          5  t=          ¦   «         5  |                      ||| j        |d¬¦  «        cd d d ¦  «         cd d d ¦  «         S # 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )N)r¡  é   F)Úinclude_infra_modesrW  ztraced frame alreadyzin skipfileszSnon-infra torch dispatch mode present, this is not supported today in torch.compilezdynamo tracing is disabledz#skipping: %s (reason: %s, file: %s)rk  Ú__new__Úddp_optimizerr   )ÚDDPOptimizer)Úbucket_bytes_capÚbackend_compile_fnr_  zJDDPOptimizer only supports callback fns that know how to clone themselves.r*   r`  )r-   rÌ   r   r¤  r¥  Úf_lastir¬  r+   r2  r'   rí   rÞ   r  rÍ  rÎ  rÏ  r  r  r  Ú_get_optimize_ddp_moder%   Ú_get_active_ddp_moduleÚcompile_lockÚ"torch._dynamo.backends.distributedr¹  rº  rþ   r_  Ú
compile_fnrd  r&   )r„   rà   rb  re  Úis_skipfileÚhas_started_executionÚskip_reasonÚ
ddp_moduler¹  r¸  Úhijacked_callbacks              ry   rˆ  zCatchErrorsWrapper.__call__   s¿  € ð Ð&Ð&Ð&å!Ô'¨¬Ñ5Ô5ˆÝÔ˜wÒ&Ð&Ø$)¤MÕ4GÈÌÑ4UÔ4UÒ$UÐ!Ð!à$)¤MÕ5HÈÌÑ5VÔ5VÒ$VÐ!ð "ð	ð ð	õ Œ~ð		õ *¸eÐDÑDÔDð	õ   Ô ?ÀÈEÑRÔRð	õ ×Ò¥¤Ñ.Ô.ð Ø(ð ?Ø"8�K�KÝ Ô& u¤|Ñ4Ô4ð ?Ø"0�K�KÝ.À5ÐIÑIÔIð ?Ø"w�K�Kà">�Kå—	’	Ø9Ø”LÔ(ØØ”LÔ,ñ	ô ð ð �4àŒ<Ô# zÒ1Ð1°e´lÔ6JÈiÒ6WÐ6Wà�4ÝÔ(Ñ*Ô*¨oÒ=Ð=Ý0ÔGÑIÔIˆJØð Ý!ð ð ØOÐOÐOÐOÐOÐOà$0 LØ)3Ô)DØ+/Ô+JÔ+eð%ñ %ô %�Mõ #ØÔ7Ð9Nñô ð dð dàcñdô dð ð Ô7×KÒKØ)Ô4ñô ð &ð
 -Ð,Ø˜{¨D¬J¸ñô ðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ& ð 	ð 	Õ1Ñ3Ô3ð 	ð 	à×2Ò2Ø�{ D¤J°À!ð 3ñ ô ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	sI   ÆA3HÈHÈHÈI2È"IÉI2ÉI	ÉI2É!I	É"I2É2I6É9I6N)r²  r®  rd  rK   r|   r}   )rà   rl   rb  rc  re  rf  r|   rg  )rt   ru   rv   r…   rˆ  rw   rx   ry   r±  r±    sB   € € € € € ðð ð ð ð
Fð Fð Fð Fð Fð Frx   r±  r²  c                ó"   — t          | |¦  «        S r   )r±  )r²  rd  s     ry   Úcatch_errors_wrapperrÈ  i  s   € õ ˜h¨Ñ.Ô.Ð.rx   r   )rš   r›   rœ   r�   rž   rŸ   r|   r   )r¥   r¦   r|   r¦   )rà   rl   r|   r”   )NF)
r  r  r  r   rà   r  r  r”   r|   r}   )r  r¦   r|   r¦   r‰  )
rQ  rh   rR  r”   r  r”   rS  rT  r|   rP  )r’  rj   r|   r�  )NN)"r  r   rœ   r–  r—  r–  r˜  r–  r…  r™  rQ  rh   rR  r”   r  r”   rS  rT  rd  rK   rb  rc  rq  r5   rà   r  re  rš  rp  r   ra  rü   r|   rg  )rQ  rh   rd  rK   r|   rv  )rÉ  r›   r|   r}   rÛ  )r²  r®  rd  rK   r|   r±  )ÑÚ
__future__r   Úcollectionsr½   r-  r¦  rÜ   rÜ  rh  rÎ  rw  r   rµ   r9  r¤  Ú	threadingr0  rO  Útypingr´  rŽ   Úpathlibr   Útypesr   r   r   r   r	   r
   r   r   r   r   r   r   r   Útyping_extensionsr   r   r®   Útorch._loggingÚtorch._C._dynamo.guardsr   Útorch._dynamo.distributedr   Útorch._dynamo.symbolic_convertr   Útorch._guardsr   r   r   r   r   Útorch._utils_internalr   r   r   r   Útorch.fx._lazy_graph_moduler    Ú%torch.fx.experimental.symbolic_shapesr!   r"   Útorch.fx.graph_moduler#   r¡   Útorch.monitorr$   Útorch.nn.parallel.distributedr%   Útorch.utils._python_dispatchr&   r'   Útorch.utils._tracebackr(   r)   r  r+   r,   r-   Úbytecode_analysisr.   r/   Úbytecode_transformationr0   r1   r2   r3   r4   rq  r5   r6   r7   r8   rŒ  r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rÎ   rH   rI   rJ   rd  rK   ÚpgorL   Úreplay_recordrM   Úresume_executionrN   Úsymbolic_convertrO   rP   rQ   rR   rS   r]  rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   Úvariables.torch_functionrf   Ú__annotations__Únumpyrg   ÚModuleNotFoundErrorr  Úbackends.registryrh   Úrepro.after_dynamori   rj   rk   rl   Úvariables.builderrm   Ú	getLoggerrt   r  rC  ÚgetArtifactLoggerrÌ  r‰  ÚRLockr¿  rp   rq   rs   r{   ru  rv  r™   rÝ   r¤   rß   Ú#suppress_torch_distributed_warningsr  r  r€  ÚCounterr  r  r  rP  r\  rŽ  Útorch.utils.hooksr�  Úoutput_graphr�  r‘  r•  r„  rv  r}  rŸ  r¬  ÚProtocolr®  r±  rÈ  rw   rx   ry   ú<module>rò     sr
  ðà "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø !Ð !Ð !Ð !Ð !Ð !à €€€Ø Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ?Ð >Ð >Ð >Ð >Ð >ðð ð ð ð ð ð ð ð QÐ PÐ PÐ PÐ PÐ PØ &Ð &Ð &Ð &Ð &Ð &Ø AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð MÐ LÐ LÐ LÐ LÐ LÐ LÐ Là &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
 Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ðð ð ð ð ð ð ð ð ð ð ð ð "Ð !Ð !Ð !Ð !Ð !ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð( JÐ IÐ IÐ IÐ IÐ Ið Ð Ð Ñ ðØÐÐÐÐøØð ð ð Ø	€B€B€Bðøøøð 
Ôð 7Ø-Ð-Ð-Ð-Ð-Ð-Ø4Ð4Ð4Ð4Ð4Ð4Ø@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ø6Ð6Ð6Ð6Ð6Ð6ð €gÔ˜Ñ!Ô!€ØŒ~×/Ò/°¸*ÑEÔE€Ø”.×2Ò2°8¸^ÑLÔL€ð ˆyŒÑ Ô €à€WˆT�]„]€Ø€Yˆt�_„_€ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ðð ð ð ð ñ ô ð ð( ˆg‰iŒi€Øˆw‰yŒy€à37Ð Ð 7Ð 7Ð 7Ñ 7ð €„Ð*Ñ+Ô+àMQðð ð ð ñ ,Ô+ðð;ð ;ð ;ð ;ð| Ô1ðKð Kð Kñ 2Ô1ðKðb (,Øð	*ð *ð *ð *ð *ð €ð €KÔÑÔð ð ð ð ñ ð
ð ð ð ð>ð >ð >ð >ðBHð Hð Hð Hð Hñ Hô Hð HðZ ØØ15ð	Rð Rð Rð Rð Rð $Ð #Ð #Ð #Ð #Ð #à -Ð -Ð -Ð -Ð -Ð -ð 
Ôð *Ø)Ð)Ð)Ð)Ð)Ð)ð ,7¨;©=¬=€Ð 8Ð 8Ð 8Ñ 8ðð ð ð ð. (,ØHLðW2ð" ð#W2ð W2ð W2ð W2ð W2ð W2ðvjð jð jð jð jñ jô jð jðZ,ð ,ð ,ð ,ð;ð ;ð ;ð ;ð>?ð ?ð ?ð ?ð
ð 
ð 
ð 
ð 
˜6œ?ñ 
ô 
ð 
ðLð Lð Lð Lð Lñ Lô Lð Lð^/ð /ð /ð /ð /ð /s   Æ*F/ Æ/F9Æ8F9