Ë
    P/æj³ß ã                   óh  — U 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mZmZmZmZmZmZmZmZmZmZ d dlZd dlmZ d dlm Z m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z'm(Z( d dl)m*Z*m+Z+m,Z, d d	l-m.Z.m/Z/ d d
l0m1Z1 d dl2m3Z3 d dl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z: d dl;m<Z<m=Z= d dl>m?Z? d dl@mAZA d dlBmCZC ddlDmEZEmFZFmGZGmHZH ddlImJZJ ddlKmLZLmMZM ddlNmOZOmPZPmQZQ ddlRmSZS ddlTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZh ddlHmiZimjZjmkZkmlZl ddlmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{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ˆm‰Z‰mŠZŠm‹Z‹ ddlŒm�Z�mŽZŽ ddl�m�Z�m‘Z‘m’Z’m“Z“m”Z”m•Z• ddl–m—Z—m˜Z˜m™Z™mšZšm›Z›mœZœ ddl�mžZžmŸZŸm Z m¡Z¡m¢Z¢ dd l£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®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»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ÍmÎZÎmÏZÏmÐZÐ dd&lÑmÒZÒmÓZÓmÔZÔ dd'lÕmÖZÖ dd(l×mØZØ dd)lÙmÚZÚ dd*lÛmÜZÜmÝZÝmÞZÞmßZßmàZà dd+lmáZámâZâ dd,lãmäZämåZåmæZæ dd-lçmèZèméZémêZêmëZëmìZìmíZímîZî 	 d dlïZðerd d.lòmóZó  e�jè                  eõ«      Zöe�jî                  �jñ                  eõd/«      ZùeZúd0„ Zû G d1„ d2«      Züe�jú                   G d3„ d4«      «       Zþ G d5„ d6eþ«      Zÿe�jú                   G d7„ d8«      «       �Z  �ed9„  �ee«      �j                  «       D «       «      �Ze�e   �ed:<    �e«       �Ze�e   �ed;<    G d<„ d=«      �Z	d>„ �Z
	 dKd?eŠfd@„�Z	 dKdA„�Ze�jú                   G dB„ dC«      «       �Z	 dLd?e:fdD„�ZddEœdFeef   dG�efdH„�Z G dI„ dJ«      �Z�e�j%                  «       �e�_        y# eñ$ r dZðY �ŒMw xY w)Mé    N)ÚAnyÚCallableÚDictÚ	FrozenSetÚListÚMutableMappingÚ
NamedTupleÚOptionalÚSetÚTYPE_CHECKINGÚUnion)ÚSymInt)ÚGuardSourceÚTracingContext)Úcall_torchbind)ÚHigherOrderOperator)Ú
_EventBaseÚ_StreamBase)Ú
FakeTensorÚis_fakeÚmaybe_get_fake_mode)Úis_sparse_anyÚ	safe_grad)Újustknobs_check)ÚBackwardState)Ú_constrain_range_for_sizeÚ
DimDynamicÚRelaxedUnspecConstraintÚStatefulSymbolicContextÚSubclassSymbolicContextÚSymbolicContext)Úimmutable_dictÚimmutable_list)Úis_traceable_wrapper_subclass)ÚValueRanges)ÚTensorWeakRefé   )ÚconfigÚmutation_guardÚreplay_recordÚtrace_rules)Ú get_registered_device_interfaces)ÚInternalTorchDynamoErrorÚunimplemented)ÚGuardBuilderÚinstall_guardÚmake_dupe_guard)ÚSideEffects)ÚAttrProxySourceÚ
AttrSourceÚCallMethodItemSourceÚConstantSourceÚConstDictKeySourceÚConvertIntSourceÚFloatTensorSourceÚGetItemSourceÚ
GradSourceÚis_cell_contentsÚis_constant_sourceÚis_from_defaultsÚis_from_optimizer_sourceÚLocalSourceÚNumpyTensorSourceÚOptimizerSourceÚRandomValueSourceÚSourceÚSubclassAttrListSourceÚTupleIteratorGetItemSource)Úis_callable_allowedÚis_numpyÚis_numpy_dtypeÚis_numpy_type_info)Ú_extract_tensor_dictÚbuild_checkpoint_variableÚclone_inputÚcommon_constant_typesÚget_fake_valueÚget_locals_to_stealÚget_static_address_typeÚis_frozen_dataclassÚis_function_or_wrapperÚis_lru_cache_wrapped_functionÚis_namedtupleÚis_parameter_freezingÚ	is_typingÚis_utils_checkpointÚis_wrapper_or_member_descriptorÚistypeÚodict_valuesÚproxy_args_kwargsÚset_example_valueÚtensor_always_has_static_shapeÚtuple_iteratorÚtuple_iterator_getitemÚtuple_iterator_lenÚ unwrap_with_attr_name_if_wrapperÚwrap_fake_exceptioné   )ÚMutableLocalÚtypestrÚVariableTrackerÚVariableTrackerMeta)ÚConstantVariableÚEnumVariable)ÚAutocastModeVariableÚEventVariableÚNullContextVariableÚPreserveVersionContextVariableÚStreamContextVariableÚStreamVariable)ÚConstDictVariableÚCustomizedDictVariableÚDefaultDictVariableÚHFPretrainedConfigVariableÚPythonSysModulesVariableÚSetVariable)ÚDeviceMeshVariableÚPlacementClassVariableÚPlacementVariableÚProcessGroupVariableÚWorldMetaClassVariable)Ú!CollectiveFunctionRewriteVariableÚFunctoolsPartialVariableÚTritonKernelVariableÚUserFunctionVariableÚUserMethodVariableÚWrapperUserFunctionVariable)Ú TorchHigherOrderOperatorVariable)ÚItertoolsVariable)ÚLazyVariableTracker)	ÚBaseListVariableÚListVariableÚNamedTupleVariableÚRangeVariableÚRestrictedListSubclassVariableÚSizeVariableÚSliceVariableÚTupleIteratorVariableÚTupleVariable)ÚAutogradEngineVariableÚAutogradFunctionContextVariableÚAutogradFunctionVariableÚComptimeVariableÚDebuggingVariableÚDelayGraphBreakVariableÚGetAttrVariableÚGetSetDescriptorVariableÚInspectSignatureVariableÚLambdaVariableÚLoggingLoggerVariableÚMethodWrapperVariableÚNumpyDTypeVariableÚNumpyTypeInfoVariableÚNumpyVariableÚPythonModuleVariableÚRandomClassVariableÚRandomVariableÚRegexPatternVariableÚSavedTensorBoxÚTorchVersionVariableÚTypingVariable)ÚFSDPManagedNNModuleVariableÚ$UnspecializedBuiltinNNModuleVariableÚUnspecializedNNModuleVariable)ÚOptimizerVariable)ÚTorchScriptObjectVariable©ÚSDPAParamsVariable)ÚNumpyNdarrayVariableÚSymNodeVariableÚTensorSubclassVariableÚTensorVariableÚUnspecializedPythonVariable)ÚTorchCtxManagerClassVariableÚTorchInGraphFunctionVariable)Úbuild_torch_function_fnÚTensorWithTFOverrideVariableÚTorchFunctionModeVariable)ÚFrozenDataClassVariableÚKeyedJaggedTensorVariableÚMutableMappingVariableÚSourcelessGraphModuleVariableÚUserDefinedClassVariableÚUserDefinedObjectVariableÚWeakRefVariable)ÚInstructionTranslatorÚcudagraph_static_inputsc                 óš   — t        j                  «       5  t        j                  dd«       t        | d«      cd d d «       S # 1 sw Y   y xY w)NÚignorezThe .grad attribute of a TensorÚgrad)ÚwarningsÚcatch_warningsÚfilterwarningsÚhasattr)Úts    úb/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/_dynamo/variables/builder.pyÚsafe_has_gradrÇ   ï   s>   € Ü	×	 Ñ	 Ó	"ñ "Ü×Ñ Ð*KÔLÜ�q˜&Ó!÷"÷ "ò "ús   •"AÁA
c                   ó   — e Zd Zy)Ú_missingN©Ú__name__Ú
__module__Ú__qualname__© ó    rÆ   rÉ   rÉ   õ   s   „ ØrÏ   rÉ   c                   óô   — e Zd ZU eed<   eeej                  f   ed<   e	ed<   e
ej                  j                  j                     ed<   dZe	ed<   dZe
ej                      ed<   ed	„ «       Zd
„ Zd„ Zd„ Zd„ Zy)ÚGraphArgÚsourceÚ_exampleÚpass_arg_as_tensorÚfake_tensorTÚ	is_tensorNÚexample_strong_refc                 óz   — t        | j                  t        «      r| j                  «       }|€J ‚|S | j                  S ©N)Ú
isinstancerÓ   r&   )ÚselfÚrs     rÆ   ÚexamplezGraphArg.example  s4   € ä�d—m‘m¤]Ô3Ø—‘“ˆAØ�=Ð �=ØˆHà—=‘=Ð rÏ   c                 ó°   — t        | j                  t        j                  «      r2t	        | j                  «      | _        t        | j                  «      sJ ‚y y rÙ   )rÚ   rÓ   ÚtorchÚTensorr&   r   rÕ   ©rÛ   s    rÆ   Ú__post_init__zGraphArg.__post_init__&  s=   € Ü�d—m‘m¤U§\¡\Ô2Ü)¨$¯-©-Ó8ˆDŒMÜ˜4×+Ñ+Ô,Ð,Ñ,ð 3rÏ   c                 ó:   — | j                   j                  |«       y rÙ   )rÒ   Úreconstruct©rÛ   Úcodegens     rÆ   rä   zGraphArg.reconstruct+  s   € Ø�‰×Ñ Õ(rÏ   c                 ó    — d | _         d | _        y rÙ   )rÓ   r×   rá   s    rÆ   ÚerasezGraphArg.erase.  s   € ØˆŒØ"&ˆÕrÏ   c                 ól   — | j                   j                  «       |j                   j                  «       k(  S rÙ   )rÒ   Úname©rÛ   Úothers     rÆ   Ú__eq__zGraphArg.__eq__2  s'   € Ø�{‰{×ÑÓ! U§\¡\×%6Ñ%6Ó%8Ñ8Ð8rÏ   )rË   rÌ   rÍ   rD   Ú__annotations__r   r&   rß   r   Úboolr
   Ú_subclassesrÕ   r   rÖ   r×   rà   ÚpropertyrÝ   râ   rä   rè   rí   rÎ   rÏ   rÆ   rÑ   rÑ   ù   sŠ   … àƒNð �M 5§<¡<Ð/Ñ0Ó0ð" ÓØ˜%×+Ñ+×7Ñ7×BÑBÑCÓCð €IˆtÓð 26Ð˜ §¡Ñ.Ó5àñ!ó ð!ò-ò
)ò'ó9rÏ   rÑ   c                   ó&   ‡ — e Zd Zdˆ fd„Zd„ Zˆ xZS )ÚBackwardStateGraphArgc                 ó>   •— t         ‰| �  d t        «       dd d¬«       y )NF)rÒ   rÓ   rÔ   rÕ   rÖ   )ÚsuperÚ__init__r   )rÛ   Ú	__class__s    €rÆ   rö   zBackwardStateGraphArg.__init__7  s&   ø€ Ü‰ÑØÜ"“_Ø$ØØð 	õ 	
rÏ   c                 ó  ‡— ‰j                   j                  j                  sJ ‚‰j                  ˆfd„«       ‰j	                  dd«       ‰j                  «        ‰j                  ‰j                   j                  j                  «       y )Nc                  óD   •— ‰ j                  t        j                  d«      S )Nr   )Úload_import_fromr   rÌ   )ræ   s   €rÆ   ú<lambda>z3BackwardStateGraphArg.reconstruct.<locals>.<lambda>C  s   ø€ �G×,Ñ,¬]×-EÑ-EÀÓW€ rÏ   r   F)ÚtxÚoutputÚbackward_state_varÚadd_push_nullÚcall_functionÚdup_topÚstorerå   s    `rÆ   rä   z!BackwardStateGraphArg.reconstruct@  se   ø€ Ø�z‰z× Ñ ×3Ò3Ð3Ð3Ø×ÑÛWô	
ð 	×Ñ˜a Ô'Ø�‰ÔØ�‰�g—j‘j×'Ñ'×:Ñ:Õ;rÏ   ©ÚreturnN)rË   rÌ   rÍ   rö   rä   Ú__classcell__©r÷   s   @rÆ   ró   ró   6  s   ø„ õ
ö<rÏ   ró   c                   óJ   — e Zd ZU ee   ed<   eee      ed<   eee      ed<   y)ÚFrameStateSizeEntryÚscalarÚsizeÚstrideN)rË   rÌ   rÍ   r
   Úintrî   r   rÎ   rÏ   rÆ   r  r  J  s*   … à�S‰MÓØ
�4˜‘9Ñ
ÓØ�T˜#‘YÑÔrÏ   r  c              #   ó„   K  — | ]8  \  }}|j                  d «      s"t        j                  |«      rt        |«      –— Œ: y­w)Ú_N)Ú
startswithÚinspectÚisclassÚid)Ú.0rê   Úmembers      rÆ   ú	<genexpr>r  S  s7   è ø€ ò /áˆˆfØ�?‰?˜3Ô¤G§O¡O°FÔ$;ô €v‡Jñ/ùs   ‚>A ÚITERTOOLS_TYPE_IDSÚITERTOOLS_POLYFILLED_TYPE_IDSc                   óf  ‡ — e Zd ZdZdeddfˆ fd„Zd„ Zd„ Ze e	j                  d«      d„ «       «       Zd	„ Zd
„ Zd„ Ze e	j                  d«      d„ «       «       Zdej$                  fd„Zdej*                  fd„Zd„ Zd„ Ze e	j                  d«      deeed egef   f   fd„«       «       Zd„ Zdefd„Z de!e"e#e$e%f   fd„Z&de'fd„Z(de!e)e*f   fd„Z+de,jZ                  de.fd„Z/de,j`                  jb                  fd„Z2d„ Z3de,jZ                  fd„Z4de,jZ                  fd„Z5d„ Z6d„ Z7d „ Z8d!„ Z9ˆ xZ:S )"ÚVariableBuilderz3Wrap a python value in a VariableTracker() instancerÒ   r  Nc                 ó°   •— |€J d«       ‚t        j                  «       €J d«       ‚t        ‰| �  «        || _        || _        |j                  «       | _        y )NzRConsider SourcelessBuilder for ephemeral objects, usually objects created locally.zExpected active TracingContext)r   Útry_getrõ   rö   rü   rÒ   rê   )rÛ   rü   rÒ   r÷   s      €rÆ   rö   zVariableBuilder.__init___  s^   ø€ ð Ðð	`à_ó	`Øä×%Ñ%Ó'Ð3ÐUÐ5UÓUÐ3Ü‰ÑÔØˆŒØˆŒØ—K‘K“Mˆ�	rÏ   c                 ó  — || j                   j                  j                  v rX| j                   j                  j                  |   }t        | j                  |j                  «      }|r| j                  |«       |S | j                   j                  j                  j                  || j                  «      }|r|S | j                  |«      }| j                  |_        | j                  |«      r]|| j                   j                  j                  vr;t        |«      s0| j                   j                  j                  j                  ||«      }| j                   j                  j                  j                  || j                  |«       |S rÙ   )rü   rý   Úside_effectsr1   rÒ   Úinstall_guardsÚvariable_tracker_cacheÚlookupÚ_wrapÚ_can_lift_attrs_to_inputsrY   Útrack_object_existingÚadd)rÛ   ÚvalueÚside_effect_resultÚ	dup_guardÚ	cached_vtÚvts         rÆ   Ú__call__zVariableBuilder.__call__m  s  € Ø�D—G‘G—N‘N×/Ñ/Ñ/Ø!%§¡§¡×!<Ñ!<¸UÑ!CÐÜ'¨¯©Ð5G×5NÑ5NÓOˆIÙØ×#Ñ# IÔ.Ø%Ð%à—G‘G—N‘N×9Ñ9×@Ñ@ÀÈÏÉÓTˆ	ÙØÐà�Z‰Z˜ÓˆØ—K‘KˆŒ	à×*Ñ*¨2Ô.Ø˜TŸW™WŸ^™^×8Ñ8Ñ8Ü3°EÔ:à—‘—‘×,Ñ,×BÑBÀ5È"ÓMˆBà�‰�‰×-Ñ-×1Ñ1°%¸¿¹ÀbÔIØˆ	rÏ   c                 óD   — t        |«      t        t        t        t        hv S rÙ   )Útyper®   r³   rº   r«   )rÛ   r)  s     rÆ   r"  z)VariableBuilder._can_lift_attrs_to_inputs…  s$   € Ü�B‹xÜÜ(Ü%Ü ð	
ð 
ð 	
rÏ   c                  ó
   — ddhS )Nr   rd   rÎ   rÎ   rÏ   rÆ   Ú_common_constantsz!VariableBuilder._common_constants�  s   € ð Øð		
ð 		
rÏ   c                 ó   — | j                   S rÙ   ©rÒ   rá   s    rÆ   Ú
get_sourcezVariableBuilder.get_source›  s   € Ø�{‰{ÐrÏ   c                 óä   — | j                  «       }t        |t        «      s!|j                  «       t        j
                  k(  ry t        |D �cg c]  }|j                  |«      ‘Œ c}ddiŽ i S c c}w )NÚskiprd   )r1  rÚ   r6   Úguard_sourcer   ÚCONSTANTr0   Ú
make_guard)rÛ   ÚguardsrÒ   Úguards       rÆ   r  zVariableBuilder.install_guardsž  s`   € Ø—‘Ó"ˆä�vœ~Ô.Ø×"Ñ"Ó$¬×(<Ñ(<Ò<àÜ¸fÖE°U˜×)Ñ)¨%Õ0ÒEÐNÈAÒNØˆ	ùò Fs   ÁA-c                 ó¨   — t        |t        «      sJ ‚| j                  |_        | j                  j                  j
                  j                  ||«      S rÙ   )rÚ   rg   rÒ   rü   rý   r  Útrack_mutable)rÛ   r%  Úvars      rÆ   Úset_source_and_track_mutablez,VariableBuilder.set_source_and_track_mutable¨  s>   € Ü˜#œÔ/Ð/Ð/Ø—[‘[ˆŒ
Ø�w‰w�~‰~×*Ñ*×8Ñ8¸ÀÓDÐDrÏ   c           
      óÜ  — t         j                  t         j                  j                  t         j                  j
                  t         j                  j                  j                  f| j                  ft        t        t        t        j                  t         j                  f| j                  ft         | j"                  ft$        t&        f| j(                  ft        t*        «      | j,                  ft.        j0                  | j2                  ft4        j6                  | j8                  ft         j:                  j<                  j>                  | j@                  ft         jB                  jD                  | jF                  fg	}tH        jJ                  r1tL        r+|jO                  tL        jP                  | jR                  f«       i }|D ]*  \  }}tU        |t        «      r|n|fD ]  }||vsJ ‚|||<   Œ Œ, |S rÙ   )+rß   rà   ÚnnÚ	Parameterrð   r   Úfunctional_tensorÚFunctionalTensorÚwrap_tensorÚtupleÚlistr[   ÚcollectionsÚdequeÚSizeÚwrap_listliker_   Úwrap_tuple_iteratorÚsliceÚrangeÚwrap_slice_rangerN   Úwrap_literalÚreÚPatternÚwrap_regex_patternÚweakrefÚReferenceTypeÚwrap_weakrefÚutilsÚhooksÚRemovableHandleÚwrap_removable_handleÚjitÚScriptFunctionÚwrap_jit_functionr(   Útrace_numpyÚnpÚappendÚndarrayÚwrap_numpy_ndarrayrÚ   )ÚclsÚentriesÚresultÚtsÚfnrÅ   s         rÆ   Ú_type_dispatchzVariableBuilder._type_dispatch­  sˆ  € ô —L‘LÜ—H‘H×&Ñ&Ü×%Ñ%×0Ñ0Ü×%Ñ%×7Ñ7×HÑHð	ð —‘ðô œœl¬K×,=Ñ,=¼u¿z¹zÐJØ×!Ñ!ðô ˜S×4Ñ4Ð5Ü”Uˆ^˜S×1Ñ1Ð2ÜÔ(Ó)¨3×+;Ñ+;Ð<Ü�Z‰Z˜×/Ñ/Ð0Ü×"Ñ" C×$4Ñ$4Ð5Ü�[‰[×Ñ×.Ñ.°×0IÑ0IÐJÜ�Y‰Y×%Ñ% s×'<Ñ'<Ð=ð)
ˆô. ×Ò¥"Ø�N‰NœBŸJ™J¨×(>Ñ(>Ð?Ô@àˆØò 	‰FˆB�Ü% b¬%Ô0‘R°r°eò �Ø ‘Ð&�Ø��q’	ñð	ð
 ˆrÏ   r%  c                 óV   — | j                  t        j                  «       t        |«      S rÙ   )r  r/   ÚID_MATCHr    ©rÛ   r%  s     rÆ   rP  z"VariableBuilder.wrap_regex_patternÓ  s!   € à×ÑœL×1Ñ1Ô2Ü# EÓ*Ð*rÏ   c                 ón   — | j                  t        j                  «       t        || j                  ¬«      S ©Nr0  )r  r/   Ú
TYPE_MATCHr»   rÒ   rh  s     rÆ   rS  zVariableBuilder.wrap_weakrefØ  s'   € Ø×ÑœL×3Ñ3Ô4Ü˜u¨T¯[©[Ô9Ð9rÏ   c                 ó   — t        d«       y )Nz"unregistered hook removable handle)r.   rh  s     rÆ   rW  z%VariableBuilder.wrap_removable_handleÜ  s   € ô
 	Ð:Õ;rÏ   c                 óp   — | j                  t        j                  «       t        |d| j                  ¬«      S )NÚ_torchdynamo_inliner0  )r  r/   rk  r�   rÒ   rh  s     rÆ   rZ  z!VariableBuilder.wrap_jit_functionã  s/   € Ø×ÑœL×3Ñ3Ô4Ü*ØÐ(°·±ô
ð 	
rÏ   c                 ó
  — ddl m } t        j                  d„ f|d„ ft        j                  d„ ft
        j                  d„ fg}i }|D ]9  \  }}t        |t        t        f«      r|n|fD ]  }||vsJ ‚||t        |«      <   Œ Œ; |S )Nr'   )Úcomptimec                 óˆ   — t        t        j                  fd| j                  i| j	                  t
        j                  «      ¤ŽS ©NrÒ   )r—   r–   ÚcreaterÒ   r  r/   ÚCLOSURE_MATCHrh  s     rÆ   rû   z.VariableBuilder._id_dispatch.<locals>.<lambda>ó  s;   € ¤NÜ,×3Ñ3ñ%àŸ;™;ð%ð ×)Ñ)¬,×*DÑ*DÓEñ%€ rÏ   c                 ó   — t        «       S rÙ   )r‘   rh  s     rÆ   rû   z.VariableBuilder._id_dispatch.<locals>.<lambda>ù  s
   € Ô+;Ó+=€ rÏ   c                 ót   — t        t        fd| j                  i| j                  t        j
                  «      ¤ŽS rr  )r—   Ú_dataclasses_fields_lambdarÒ   r  r/   ÚFUNCTION_MATCHrh  s     rÆ   rû   z.VariableBuilder._id_dispatch.<locals>.<lambda>ü  s5   € ¤NÜ.ñ%àŸ;™;ð%ð ×)Ñ)¬,×*EÑ*EÓFñ%€ rÏ   c                 ó   — t        «       S rÙ   )r¢   rh  s     rÆ   rû   z.VariableBuilder._id_dispatch.<locals>.<lambda>  s
   € Ô4HÓ4J€ rÏ   )rp  r  Ú	signatureÚdataclassesÚfieldsrß   Ú__version__rÚ   rC  rD  r  )r`  rp  ra  rb  rc  rd  rÅ   s          rÆ   Ú_id_dispatchzVariableBuilder._id_dispatché  s¬   € õ
 	(ô ×!Ñ!ñðð Ñ=Ð>ä×"Ñ"ñðô ×ÑÑ JÐKð%
ˆð* ˆØò 	#‰FˆB�Ü% b¬5´$¨-Ô8‘R¸r¸eò #�Ø ‘Ð&�Ø "�”r˜!“u’ñ#ð	#ð
 ˆrÏ   c                 óòE  ‡ ‡'‡(— ddl m}  |«       rddlm} ddlm} n G d„ d«      } G d„ d«      }‰ j                  «       j                  t        |«      «      }|�	 |‰ |«      S ‰ j                  «       j                  t        |«      «      }|�	 |‰ |«      S t        |«      rt        j                  |d	|«      }t        |«      st        |t         j"                  «      r‰ j%                  |«      S t'        |«      r‰ j)                  |«      S |t*        j,                  j.                  j0                  u rú‰ j3                  t4        j6                  «       ‰ j8                  j:                  j<                  j?                  ‰ j@                  jC                  «       «       tE        |jG                  «       «      D ���	ci c]Y  \  }\  }}	tI        jJ                  |«      tM        |	tO        ‰ jQ                  «       tS        ‰ jQ                  «       |«      «      ¬
«      “Œ[ }
}}}	tU        |
t        |«      «      S |tV        jX                  u r5‰ j3                  t4        jZ                  «       t]        ‰ j@                  ¬
«      S t_        j`                  t        |«      «      rv‰ j3                  t4        jb                  «       t_        jd                  ‰ |«      }
‰ j@                  |
_         ‰ j8                  j:                  jf                  ji                  ||
«      S t        |tj        tl        jn                  tl        jp                  f«      �rƒ‰ j3                  t4        jr                  «       tu        d„ |jw                  «       D «       «      Š'‰'r ‰ j3                  t4        jx                  «       nG‰ j8                  j:                  j<                  j?                  ‰ j@                  jC                  «       «       ˆ'ˆ fd„Š(tk        ˆ(fd„tE        |jG                  «       «      D «       «      }
t        |tl        jn                  «      r]t{        ‰ j@                  d«      }t}        |
t        |«       t        ‰ j8                  |«      |j€                  «      ‰ j@                  ¬«      }
n!tU        |
t        |«      ‰ j@                  ¬
«      }
‰ jƒ                  ||
«      S t…        |t*        j†                  jˆ                  «      r‰ j‹                  |«      S tI        jŒ                  |«      r‰ j�                  |«      S t…        |t*        j�                  j’                  «      rIt•        |‰ j@                  ¬
«      }‰ j8                  j:                  jf                  ji                  ||«       |S t        |t–        «      rId„ |D «       r@‰ j3                  t4        j˜                  «       tI        jJ                  |‰ j@                  ¬«      S t…        |tš        jœ                  «      r6‰ j3                  t4        j˜                  «       tŸ        |‰ j@                  ¬«      S t¡        j¢                  |«      r6‰ j3                  t4        j¤                  «       t¡        |‰ j@                  ¬
«      S t…        |t¦        j¨                  «      r6‰ j3                  t4        jZ                  «       t«        |‰ j@                  ¬
«      S t­        |«      rt¯        ‰ j@                  ¬
«      S t…        |t°        j²                  «      �r´t{        ‰ jQ                  «       d«      } t        ‰ j8                  |«      |j´                  «      }g }t{        ‰ jQ                  «       d«      }tE        |j¶                  «      D ]:  \  }}|j¹                   t        ‰ j8                  tO        ||«      «      |«      «       Œ< i }t{        ‰ jQ                  «       d«      }|jº                  jG                  «       D ]N  \  }}	tI        jŒ                  |«      st½        d«        t        ‰ j8                  tO        ||«      «      |	«      ||<   ŒP t¿        ‰ jQ                  «       jÁ                  t4        jb                  «      |jÁ                  t4        jÂ                  «      |jÁ                  t4        jr                  «      «       tÅ        |||«      S tÇ        |«      r6‰ j3                  t4        j˜                  «       tÉ        |‰ j@                  ¬
«      S tÊ        �>t…        |tÊ        jÌ                  «      r$‰ jÏ                  tË        jÐ                  |«      «      S tÓ        |«      rYtÊ        sJ ‚‰ j3                  tÕ        |«      rt4        jZ                  nt4        jb                  «       t×        |‰ j@                  ¬
«      S tÙ        |«      r6‰ j3                  t4        j˜                  «       tÛ        |‰ j@                  ¬
«      S tÝ        |«      r®t…        |tÊ        jÞ                  «      r^‰ j3                  t4        jb                  «       t{        ‰ j@                  d«      }t¿        |jÁ                  t4        j˜                  «      «       n‰ j3                  t4        j˜                  «       tá        |‰ j@                  ¬
«      S tã        jä                  |«      rK‰ j3                  t4        jZ                  «       tã        jJ                  ‰ j8                  |‰ j@                  ¬
«      S t        |t*        jæ                  jè                  jê                  «      r6‰ j3                  t4        jZ                  «       tí        |‰ j@                  ¬
«      S t…        |t*        jæ                  jè                  jî                  «      �r.d }	 |jð                  }g }‰ j@                  jÁ                  t4        jb                  «      g}t…        |tô        «      rŒt{        ‰ j@                  d«      }|j¹                  |jÁ                  t4        jr                  «      «       tE        |«      D ]:  \  }}	|j¹                   t        ‰ j8                  tO        ||«      «      |	«      «       Œ< t¿        |Ž  ‰ j8                  j:                  jf                  ji                  |t÷        |‰ j@                  tù        |«      ¬«      «      S t…        |tú        jü                  «      r»t        tÿ        |dd «      t*        jæ                  jè                  jê                  «      r‚tÿ        |dd«      dk(  rr|tÿ        |�j                   dd «      k(  rW‰ j3                  t4        jZ                  «       �t        tí        |�j                   t{        ‰ j@                  d¬«      ¬
«      d«      S t…        |t*        �j                  �j                  «      r7‰ j3                  t4        j˜                  «       �t	        |‰ j@                  ¬
«      S |t*        �j
                  �j                  �j                  �j                  u r.‰ j3                  t4        jZ                  «       �t        ˆ fd„«      S tÕ        |«      rq�t        �j                  |«      �Z�t        |«      rd‰ j8                  j:                  _�        �t        �j                  |«      �j                  |‰ j@                  ¬
«      S tÊ        r-t…        |tÊ        �j                  «      r‰ �j!                  |«      S �t#        �j$                  |«      r+‰ j3                  t4        jb                  «       �t#        |«      S t…        |�t&        «      rR‰ j3                  t4        jb                  t4        �j(                  «       �t+        �j,                  |‰ j@                  ¬
«      S t…        |t*        �j.                  �j0                  «      r}‰ j3                  t4        j˜                  «       t{        ‰ j@                  d «      } t        ‰ j8                  |«      |�j2                  «      }�t5        jJ                  ‰ j8                  |«      S t…        |�t6        «      rÄ‰ j3                  t4        j˜                  «       ‰ j8                  j:                  �j9                  d!t*        �j.                  �j:                  d"|�j<                  |�j>                  |�j@                  d#œ«      }�tC        |�jD                  |«       �tG        |||�jH                  ‰ j@                  ¬
«      S t…        |t*        �j                  �jJ                  «      rK‰ j3                  t4        jb                  «       �tM        jJ                  ‰ j8                  |‰ j@                  «      S t…        |�tN        «      rÒ‰ j3                  t4        j˜                  «       t*        �j
                  j,                  �jQ                  |«       ‰ j8                  j:                  �j9                  d!t*        �j
                  j,                  �jR                  t        |«      fi «      }�tC        |�jD                  |«       �tU        ||‰ j@                  ¬
«      S t…        |t*        �j                  �jV                  «      r*|t         j"                  v r�tY        |‰ j@                  ¬
«      S t        |�tZ        �j\                  «      rMt        j                  |d$d «      €6‰ j3                  t4        jb                  «       �t_        ‰ j@                  ¬
«      S �ta        �j$                  |«      rg‰ j3                  t4        jb                  «       �ta        |‰ j@                  ¬
«      }
‰ j8                  j:                  jf                  ji                  ||
«      S t…        |t*        �jb                  �jd                  «      rR‰ j3                  t4        j˜                  «       �tg        ‰ j@                  «      ‰ _         �ti        |‰ j@                  ¬
«      S �tk        �jl                  |«      r�tk        |‰ j@                  ¬
«      S �to        �jp                  |«      r7‰ j3                  t4        j˜                  «       �to        |‰ j@                  ¬
«      S �ts        �jt                  |«      r8‰ j3                  t4        �jv                  «       �ts        |‰ j@                  ¬
«      S �ty        �jz                  |«      r7‰ j3                  t4        j˜                  «       �ty        |‰ j@                  ¬
«      S �t}        �j~                  |«      r8‰ j3                  t4        �jv                  «       �t}        |‰ j@                  ¬
«      S t        |«      �t€        v rIt        |«      �t‚        vr7‰ j3                  t4        jZ                  «       �t…        |‰ j@                  ¬
«      S t…        |t*        �j†                  «      �r �t‰        ‰ j@                  «      }|�jD                  �j‹                  «       rk|�jD                  �j�                  «       }‰ j8                  j:                  �jŽ                  �j‘                  �t“        |«      |�t”        �j–                  ¬%«      }n0‰ j8                  j:                  �jŽ                  �j™                  «       }‰ j8                  j:                  �jš                  �j�                  �tŸ        �j                   d&d'‰ jB                  «      t        |«      |¬
«      } �t£        ||d(d d(|¬)«      | �jD                  �j¤                  d*<   �tC        | �jD                  |«       ‰ j8                  j:                  �j¦                  j?                  |�jD                  �j¨                  «       ‰ j8                  j:                  �jª                  j¹                  �t­        ||d «      «       �t¯        | |d+k(  «      S t…        |||f«      r9‰ j3                  t4        j˜                  «       �t±        |d d ‰ j@                  ¬
«      S t…        |t*        �j²                  �j´                  �j¶                  «      rg‰ j3                  t4        j˜                  «       �t¹        |�jH                  |�jº                  |�j¼                  |�j¾                  g‰ j@                  ¬,«      S �tÁ        �jÂ                  |«      r7‰ j3                  t4        jZ                  «       �tÁ        |‰ j@                  ¬
«      S t        j                  |d-d(«      r8‰ j3                  t4        jb                  «       �tÅ        |d.‰ j@                  ¬
«      S �tÇ        |«      r8‰ j3                  t4        jb                  «       �tÅ        |d/‰ j@                  ¬
«      S t        |«      r_�tÉ        |«      \  }}!|!�t{        ‰ j@                  |!«      ‰ _         �t        �jÊ                  |«      �j                  |‰ j@                  ¬
«      S |�tÌ        �jÎ                  u r6‰ j3                  t4        j˜                  «       �tÑ        ‰ j@                  ¬
«      S t        |�tÌ        �jÎ                  «      r��tÓ        �jÔ                  |«      rj‰ j3                  t4        jb                  «       �tÓ        |‰ j@                  ¬
«      }
‰ j8                  j:                  jf                  �j×                  ||
«       |
S t…        |tú        �jØ                  �tÚ        �jÜ                  f«      ri‰ j3                  t4        jZ                  «       �tß        |‰ j@                  ¬
«      }
‰ j8                  j:                  jf                  ji                  ||
«       |
S t…        |tú        jü                  «      rít…        |�j                   t*        j†                  jˆ                  t*        j,                  j.                  �jà                  f«      r™ t        ‰ j8                  t{        ‰ j@                  d«      ¬
«      |�j                   «      }"|"rt…        |"�tâ        «      sJ d0«       ‚‰ j3                  t4        jZ                  «       �tå        |�jæ                  |"‰ j@                  ¬
«      S t…        |tú        �jè                  «      r�të        |«      S t…        |tú        �jì                  «      r�tï        |«      S �tñ        t        |«      t        «      �r$|t*        j,                  �jò                  �jô                  t*        j†                  �jö                  t*        j†                  �jø                  fv r3�t        �jÊ                  |«      �j                  |‰ j@                  ¬
«      S |t*        jæ                  �jú                  u r@‰ j3                  t4        jZ                  «       �tý        �jþ                  ‰ j8                  «      S ‰ j3                  t4        j˜                  «       �t        |‰ j@                  ¬
«      S �t        �jÂ                  t        |«      «      rª‰ j3                  t4        jr                  «       ‰ jƒ                  |�t        �t        �t        |«      «      D �cg c]1  }�t	        jJ                  ||   tO        ‰ j@                  |«      ¬«      ‘Œ3 c}t        |«      t{        ‰ j@                  d1«      ¬2«      «      S �t        �jÂ                  t        |«      «      �rÎd3d4l �m}#�m}$ t*        �j                  �j                  �j                  |«      r¿‰ j8                  j:                  �jš                  �j�                  �tŸ        �j                   d&d'‰ jB                  «      t        |«      ‰ j@                  ¬
«      }%�t£        ‰ j@                  |d(d d(|«      |%�jD                  �j¤                  d*<   �t        jJ                  |%|‰ j@                  ¬
«      S �t        |d5«      s‰ �j                  |«      S �t	        �j                   t        ‰ j8                   |$‰ j@                  «      «      |�j                  «       �j                  «       «      «       �t	        �j                   t        ‰ j8                   |#‰ j@                  «      «      |�j!                  «       «      «       t*        �j                  �j                  �j#                  ‰ j8                  j:                  �j$                  |«      }&‰ j8                  j:                  �jš                  �j�                  �tŸ        �j                   d&d'‰ jB                  «      t        |«      ‰ j@                  ¬
«      }%�t£        ‰ j@                  |d(d d(|&«      |%�jD                  �j¤                  d*<   �t        jJ                  |%|&‰ j@                  ¬
«      S �tñ        t        |«      �t&        «      r7‰ j3                  t4        jb                  «       �t)        |‰ j@                  ¬
«      S �t+        |«      r|‰ j3                  t4        jb                  «       �t-        jJ                  ‰ j8                  |‰ j@                  ¬
«      }
‰ j8                  j:                  jf                  ji                  ||
«      S ‰ �j                  |«      S c c}	}}w # tò        $ r Y �ŒUw xY wc c}w )6Nr   )Ú
has_triton)Ú	Autotuner)ÚJITFunctionc                   ó   — e Zd Zy)ú*VariableBuilder._wrap.<locals>.JITFunctionNrÊ   rÎ   rÏ   rÆ   r‚  r„    ó   „ ØrÏ   r‚  c                   ó   — e Zd Zy)ú(VariableBuilder._wrap.<locals>.AutotunerNrÊ   rÎ   rÏ   rÆ   r�  r‡    r…  rÏ   r�  rn  r0  c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrÙ   ©ri   Ú
is_literal)r  Úks     rÆ   r  z(VariableBuilder._wrap.<locals>.<genexpr>Q  s   è ø€ ÒQ¸qÔ,×7Ñ7¸×:ÑQùó   ‚!c                 ó   •— ‰rt        j                  |«      }|}n0t        ‰j                  «       | «      }t	        j                  ||«      }t        ‰j                  «       |«      }t	        j                  ||«      }||fS rÙ   )ri   rs  r7   r1  r„   r:   )	Úir‹  ÚvÚkeyÚ
source_keyÚsource_valuer%  Ú	all_constrÛ   s	          €€rÆ   Úbuild_key_valuez.VariableBuilder._wrap.<locals>.build_key_valuek  so   ø€ ÙÜ*×1Ñ1°!Ó4�CØ!"‘Jä!3°D·O±OÓ4EÀqÓ!I�JÜ-×4Ñ4°Q¸
ÓC�Cä,¨T¯_©_Ó->À
ÓK�Ü+×2Ñ2°1°lÓC�à˜E�zÐ!rÏ   c              3   ó>   •K  — | ]  \  }\  }} ‰|||«      –— Œ y ­wrÙ   rÎ   )r  rŽ  r‹  r�  r”  s       €rÆ   r  z(VariableBuilder._wrap.<locals>.<genexpr>x  s'   øè ø€ ò Ù-6¨Q±°°A‘  1 a×(ñùs   ƒÚdefault_factory)r–  rÒ   c              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrÙ   r‰  ©r  Úxs     rÆ   r  z(VariableBuilder._wrap.<locals>.<genexpr>’  s!   è ø€ ò +
Ø/0Ô×'Ñ'¨×*ñ+
ùrŒ  ©r%  rÒ   ÚfuncÚargsÚkeywordsz*functools.partial with non-literal keywordÚdtypeÚsaved_tensors)rÒ   rŸ  Ú__self__rË   Ú Úapply)r  c                  ó  •— t        t        j                  j                  j                  j
                  «      j                  ‰ j                  ‰ j                  j                  j                  j                  «       fi «      S rÙ   )r   rß   Ú_dynamoÚexternal_utilsÚFakeCompiledAutogradEngineÚexec_final_callbacksr   rü   rý   r  Úget_ca_final_callbacks_varrá   s   €rÆ   rû   z'VariableBuilder._wrap.<locals>.<lambda>"  sZ   ø€ Ô,Ü—M‘M×0Ñ0×KÑK×`Ñ`óç‘-Ø—G‘GØ—W‘W—^‘^×0Ñ0×KÑKÓMÐOØóð rÏ   TÚstreamr   rÎ   )Ú	stream_idÚdevice_indexÚdevice_typeÚenter_result)Údynamic_dimú[^a-zA-Z0-9]+r  F)rÖ   r×   Úgraphargrd   )Útarget_valuesrÒ   Ú__script_if_tracing_wrapperÚ__original_fnÚ__wrapped__z"Failed to produce a valid self objr÷   )Úuser_clsÚuser_cls_sourcer'   )ÚFlattenScriptObjectSourceÚScriptObjectQualifiedNameSourceÚ__obj_flatten__(  Útorch.utils._tritonr€  Útriton.runtime.autotunerr�  Útriton.runtime.jitr‚  re  Úgetr,  r~  r  rS   r  Úgetattr_staticr$   rZ   r(   Útraceable_tensor_subclassesrB  rU   rH  rß   rT  Ú_pytreeÚSUPPORTED_NODESr  r/   ÚDICT_VERSIONrü   rý   Úguard_on_key_orderr$  rÒ   rê   Ú	enumerateÚitemsri   rs  rº   r:   r1  r7   rq   ÚsysÚmodulesrx  ru   rr   Úis_matching_cls_hfrk  Úwrapr  r#  ÚdictrE  ÚdefaultdictÚOrderedDictÚSEQUENCE_LENGTHÚallÚkeysÚDICT_CONST_KEYSr4   rs   r  r–  r<  rÚ   r>  ÚModuleÚwrap_modulerŠ  rM  Ú	overridesÚTorchFunctionModer´   Ú	frozensetrg  ÚenumÚEnumrj   r’   Úis_reorderable_logging_functionÚBUILTIN_MATCHÚloggingÚLoggerr˜   rX   rL   Ú	functoolsÚpartialr›  rœ  r]  r�  r.   r0   r6  Ú	DICT_KEYSr}   rW   r£   r\  Úgenericr_  ÚasarrayrH   Úcallablerœ   rI   rš   rJ   Úiinfor›   r|   Úcan_rewriteÚautogradÚfunctionÚFunctionMetar�   ÚFunctionCtxrŸ  ÚRuntimeErrorrC  r�   r¡   ÚtypesÚ
MethodTypeÚgetattrr   r”   Ú_CÚ_ImperativeEnginerŽ   r¤  r¥  r¦  Ú_exec_final_callbacks_stubr—   r+   Úlookup_callablerG   Ú!has_user_defined_allowed_in_graphÚcreate_with_sourceÚnumberÚwrap_unspecialized_primitivert   Úis_matching_objectr   Ú
NAME_MATCHr‚   ÚmakeÚcudaÚStreamContextr©  ro   r   Úcreate_proxyÚStreamrª  r«  r¬  r]   Únoderp   ÚdeviceÚ_SDPAParamsrª   r   Ústore_user_object_weakrefÚget_user_object_from_idrl   Ú_TensorMetar­   Ú
contextlibÚnullcontextrm   r¶   ÚoptimÚ	OptimizerrB   r§   r{   Úis_group_member_typerz   Úis_process_grouprw   Úis_device_meshÚEQUALS_MATCHrx   Úis_placement_typery   Úis_placementr  r  rƒ   ÚSymBoolr8   Úhas_hintÚrequire_hintÚ	shape_envÚ$create_unspecified_symint_and_symbolr  r   ÚDYNAMICÚcreate_unbacked_symintÚroot_tracerÚcreate_graph_inputrN  ÚsubrÑ   ÚmetaÚbound_symbolsÚexprÚtracked_fakesÚTrackedFaker¬   r~   ÚampÚautocast_modeÚautocastrk   Ú
fast_dtypeÚ_enabledÚ_cache_enabledr°   Úis_matching_clsr�   rT   rb   r   ÚrandomÚRandomrž   rŸ   Úis_supported_random_objr:  Ú
ModuleTyper*   ÚDummyModuler�   ÚTreeSpecrg   r€   Ú__func__ÚGetSetDescriptorTyper•   ÚMethodWrapperTyper™   Ú
issubclassrU  ÚBackwardHookr?  ÚBufferÚ _unsafe_preserve_version_counterrn   Úconstructorr¹   r‰   rK  Úlenr„   r¨   r·  r¸  Ú_libraryÚfake_class_registryÚtracing_with_realrÄ   Úwrap_user_definedÚrealize_allÚ_typeÚqualified_namer¹  Úmaybe_to_fake_objÚ	fake_moder   r·   rR   rµ   ))rÛ   r%  r€  r�  r‚  Útype_dispatchÚid_dispatchrŽ  r‹  r�  rb  Úfactory_sourcer;  Úfunc_srcÚfunc_objrœ  Úargs_sourceÚargr�  Úkeywords_sourceÚ	dt_sourceÚactual_saved_tensorsrŸ  r7  Úsaved_tensors_sourceÚstream_sourceÚ
stream_varÚstream_proxyÚevent_proxyÚ
new_sourceÚ
value_hintÚ
new_symintÚsym_node_proxyÚ	attr_nameÚself_objr·  r¸  ÚproxyÚfake_script_objr“  r”  s)   `                                      @@rÆ   r!  zVariableBuilder._wrap  s�  ú€ å2áŒ<Ý:Þ6÷ñ ÷ñ ð ×+Ñ+Ó-×1Ñ1´$°u³+Ó>ˆØÐ$Ù   uÓ-Ð-ð ×'Ñ'Ó)×-Ñ-¬b°«iÓ8ˆØÐ"Ù˜t UÓ+Ð+ô " %Ô(Ü×*Ñ*¨5Ð2GÈÓOˆEô )¨Ô/´6Ø”6×5Ñ5ô4
ð ×#Ñ# EÓ*Ð*Ü˜5Ô!Ø×%Ñ% eÓ,Ð,à”e—k‘k×)Ñ)×9Ñ9Ñ9ð ×Ñ¤× 9Ñ 9Ô:ð �G‰G�N‰N×-Ñ-×1Ñ1°$·+±+×2BÑ2BÓ2DÔEô "+¨5¯;©;«=Ó!9÷ð ñ �A‘v˜˜1ô !×'Ñ'¨Ó*Ô,EØÜ(ØŸ™Ó)Ô+=¸d¿o¹oÓ>OÐQRÓ+Sóô-ñ ðˆFò ô % V¬T°%«[Ó9Ð9Ø”c—k‘kÑ!Ø×Ñ¤× ;Ñ ;Ô<Ü+°4·;±;Ô?Ð?Ü#×6Ñ6´t¸E³{ÔCØ×Ñ¤× 7Ñ 7Ô8Ü+×0Ñ0°°uÓ=ˆFØ ŸK™KˆFŒMØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ�EœD¤+×"9Ñ"9¼;×;RÑ;RÐSÕTØ×Ñ¤× <Ñ <Ô=ô ÑQÀEÇJÁJÃLÔQÓQˆIÙð ×#Ñ#¤L×$@Ñ$@ÕAð$ —‘—‘×1Ñ1×5Ñ5°d·k±k×6FÑ6FÓ6HÔIõ"ô ó Ü:CÀEÇKÁKÃMÓ:Rôó ˆFô �eœ[×4Ñ4Ô5Ü!+¨D¯K©KÐ9JÓ!K�Ü,ØÜ˜“KØ$L¤O°D·G±G¸^Ó$LØ×-Ñ-ó%ð  Ÿ;™;ô‘ô +¨6´4¸³;ÀtÇ{Á{ÔS�à×4Ñ4°U¸FÓCÐCÜ˜œuŸx™xŸ™Ô/Ø×#Ñ# EÓ*Ð*Ü×(Ñ(¨Ô/Ø×$Ñ$ UÓ+Ð+Ü˜œuŸ™×@Ñ@ÔAÜ+¨E¸$¿+¹+ÔFˆCØ�G‰G�N‰N×'Ñ'×=Ñ=¸eÀSÔIØˆJÜ�Eœ9Ô%ñ +
Ø49õ+
ð
 ×Ñ¤× 5Ñ 5Ô6Ü#×*Ñ*°¸t¿{¹{ÔKÐKÜ˜œtŸy™yÔ)Ø×Ñ¤× 5Ñ 5Ô6Ü e°D·K±KÔ@Ð@Ü×>Ñ>¸uÔEð ×Ñ¤× :Ñ :Ô;Ü$ U°4·;±;Ô?Ð?Ü˜œwŸ~™~Ô.Ø×Ñ¤× ;Ñ ;Ô<Ü(¨°t·{±{ÔCÐCÜ  Ô'Ü,°D·K±KÔ@Ð@Ü˜œy×0Ñ0Õ1Ü! $§/¡/Ó"3°VÓ<ˆHØ9” t§w¡w°Ó9¸%¿*¹*ÓEˆHàˆDÜ$ T§_¡_Ó%6¸Ó?ˆKÜ# E§J¡JÓ/ò ‘��3Ø—‘ØK”O D§G¡G¬]¸;ÈÓ-JÓKÈCÓPõðð
 ˆHÜ(¨¯©Ó):¸JÓGˆOØŸ™×,Ñ,Ó.ò ‘��1Ü'×2Ñ2°1Ô5Ü!Ð"NÔOðœoØ—G‘Gœ]¨?¸AÓ>óàó�˜’ðô Ø—‘Ó!×,Ñ,¬\×-DÑ-DÓEØ×*Ñ*¬<×+AÑ+AÓBØ×&Ñ&¤|×'CÑ'CÓDôô
 ,¨H°d¸HÓEÐEÜ�uÔà×Ñ¤× 5Ñ 5Ô6Ü!ØØ—{‘{ôð ô ˆ^¤
¨5´"·*±*Ô =à×*Ñ*¬2¯:©:°eÓ+<Ó=Ð=Ü�eŒ_ÝˆI�2Ø×Ñä˜E”?ô ×+Ò+ä!×,Ñ,ôô
 ! ¨t¯{©{Ô;Ð;Ü˜EÔ"Ø×Ñ¤× 5Ñ 5Ô6Ü% e°D·K±KÔ@Ð@Ü Ô&Ü˜%¤§¡Ô*Ø×#Ñ#¤L×$;Ñ$;Ô<Ü& t§{¡{°GÓ<�	Ü˜i×2Ñ2´<×3HÑ3HÓIÕJà×#Ñ#¤L×$9Ñ$9Ô:Ü(¨°t·{±{ÔCÐCä.×:Ñ:¸5ÔAØ×Ñ¤× ;Ñ ;Ô<Ü4×;Ñ;Ø—‘ØØ—{‘{ôð ô
 �Eœ5Ÿ>™>×2Ñ2×?Ñ?Ô@Ø×Ñ¤× ;Ñ ;Ô<Ü+ØØ—{‘{ôð ô ˜œuŸ~™~×6Ñ6×BÑBÕCØ#'Ð ðØ',×':Ñ':Ð$ð ˆMØ—k‘k×,Ñ,¬\×-DÑ-DÓEÐFˆFÜÐ.´Ô6Ü'1°$·+±+¸Ó'OÐ$Ø—‘Ø(×3Ñ3´L×4PÑ4PÓQôô &Ð&:Ó;ò ‘D�A�qØ!×(Ñ(ðœØ ŸG™G¤]Ð3GÈÓ%Kóàóõðô ˜6Ñ"à—7‘7—>‘>×.Ñ.×DÑDØÜ/ØØŸ;™;Ü"0°Ó"?ôóð ô �uœe×.Ñ.Ô/ÜÜ˜˜z¨4Ó0´%·.±.×2IÑ2I×2VÑ2Vôô ˜˜z¨2Ó.°'Ò9Øœ §¢°¸$Ó?Ò?ð ×Ñ¤× ;Ñ ;Ô<Ý"Ü(Ø—N’N¬:°d·k±kÈ*Ô+Uôð ó	ð ô ˜œuŸxšx×9Ò9Ô:Ø×Ñ¤× 5Ñ 5Ô6Ý)¨%¸¿¹ÔDÐDàÜ�}Š}×+Ò+×FÒF×aÒañbð ×Ñ¤× ;Ñ ;Ô<Ý!óóð ô �eŒ_¥×!<Ò!<¸UÓ!CÐ!OÝ" 5Ô)ØCG�—‘—‘Ô@Ý×.Ò.¨uÓ5×HÒHØ˜dŸk™kð Ió ð õ ”J˜u¤b§i¢iÔ0Ø×4Ò4°UÓ;Ð;Ý'×:Ò:¸5ÔAØ×Ñ¤× 7Ñ 7Ô8Ý-¨eÓ4Ð4Ü˜Õ2Ô3Ø×Ñ¤× 7Ñ 7¼×9PÒ9PÔQÝ3×8Ò8¸ÀtÇ{Á{ÔSÐSÜ˜œuŸzšz×7Ò7Ô8Ø×Ñ¤× 5Ñ 5Ô6Ü& t§{¡{°HÓ=ˆMØ@œ¨¯©°-Ó@ÀÇÂÓNˆJÝ(×/Ñ/°·±¸ÓDÐDÜ˜�{Ô+Ø×Ñ¤× 5Ñ 5Ô6ØŸ7™7Ÿ>™>×6Ò6ØÜ—
’
×!Ò!Øà!&§¢Ø$)×$6Ò$6Ø#(×#4Ò#4ñó		ˆLõ ˜l×/Ò/°Ô7Ý!ØØØ—’Ø—{‘{ô	ð ô ˜¤§¢× 4Ò 4Ô6Ø×Ñ¤× 7Ñ 7Ô8Ý%×,Ñ,¨T¯W©W°e¸T¿[¹[ÓIÐIÜ˜�zÔ*Ø×Ñ¤× 5Ñ 5Ô6Ü�MŠM×Ñ×9Ò9¸%Ô@ØŸ'™'Ÿ.™.×5Ò5ØÜ—’×#Ñ#×;Ò;Ü�E“�Øó	ˆKõ ˜k×.Ò.°Ô6Ý ØØØ—{‘{ôð ô �uœeŸhšh×2Ò2Ô3Øœ×;Ñ;Ñ;å)¨%¸¿¹ÔDÐDä�5�*×0Ò0Ô1Ü×&Ñ& u¨n¸dÓCÐKà×Ñ¤× 7Ñ 7Ô8Ý&¨d¯k©kÔ:Ð:Ý&×9Ò9¸%Ô@Ø×Ñ¤× 7Ñ 7Ô8Ý.¨u¸T¿[¹[ÔIˆFà—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ˜œuŸ{š{×4Ò4Ô5Ø×Ñ¤× 5Ñ 5Ô6Ý)¨$¯+©+Ó6ˆDŒKÝ$ U°4·;±;Ô?Ð?Ý#×8Ò8¸Ô?Ý)¨%¸¿¹ÔDÐDÝ!×2Ò2°5Ô9Ø×Ñ¤× 5Ñ 5Ô6Ý'¨°d·k±kÔBÐBÝ×.Ò.¨uÔ5à×Ñ¤× 9Ò 9Ô:Ý% e°D·K±KÔ@Ð@Ý#×5Ò5°eÔ<à×Ñ¤× 5Ñ 5Ô6Ý)¨%¸¿¹ÔDÐDÝ×+Ò+¨EÔ2à×Ñ¤× 9Ò 9Ô:Ý$ØØ—{‘{ôð ô
 ˆu‹IÕ+Ñ+Ü�5“	Õ!>Ñ>à×Ñ¤× ;Ñ ;Ô<Ý$ U°4·;±;Ô?Ð?Ü˜œuŸ}š}Õ-õ *¨$¯+©+Ó6ˆJØ�zŠz×"Ò"Ô$Ø"ŸZšZ×4Ò4Ó6�
ð —G‘G—N‘N×,Ò,×QÒQÝ˜J›Ø"Ý$.×$6Ò$6ð Ró ñ ð "ŸW™WŸ^™^×5Ò5×LÒLÓN�
à!ŸW™WŸ^™^×7Ò7×JÒJÝ—’Ð'¨¨d¯i©iÓ8Ü�ZÓ Ø!ð Kó ˆNõ 4<ØØØØØØ#-ô4ˆN×Ò×$Ò$ ZÑ0õ ˜n×1Ò1°:Ô>Ø�G‰G�N‰N×(Ò(×,Ñ,¨Z¯_ª_×-AÒ-AÔBØ�G‰G�N‰N×(Ò(×/Ñ/Ý˜J¨
°DÓ9ôõ #ØØ˜a‘óð ô ˜ ¨YÐ7Ô8Ø×Ñ¤× 5Ñ 5Ô6Ý'ØØØØ—{‘{ô	ð ô ˜œuŸyšy×6Ò6×?Ò?Ô@Ø×Ñ¤× 5Ñ 5Ô6Ý'à—L’LØ×$Ò$Ø—N’NØ×(Ò(ð	ð —{‘{ôð õ *×9Ò9¸%Ô@Ø×Ñ¤× ;Ñ ;Ô<Ý/°¸d¿k¹kÔJÐJÜ×#Ñ# EÐ+HÈ%ÔPØ×Ñ¤× 7Ñ 7Ô8Ý.Ø�¨t¯{©{ôð õ +¨5Ô1Ø×Ñ¤× 7Ñ 7Ô8Ý.¨u°mÈDÏKÉKÔXÐXÜ# EÔ*Ý?ÀÓFÑˆE�9ð Ð$Ü(¨¯©°iÓ@�”Ý×%Ò% eÓ,×?Ò?Ø˜dŸk™kð @ó ð ð •f—m’mÑ#Ø×Ñ¤× 5Ñ 5Ô6Ý&¨d¯k©kÔ:Ð:Ü�E�6Ÿ=š=Ô)­n×.TÒ.TØô/
ð ×Ñ¤× 7Ñ 7Ô8Ý# E°$·+±+Ô>ˆFØ�G‰G�N‰N×'Ñ'×5Ò5°e¸VÔDØˆMô ˜¤× 0Ò 0µ-×2KÒ2KÐLÔMØ×Ñ¤× ;Ñ ;Ô<Ý)ØØ—{‘{ôˆFð �G‰G�N‰N×'Ñ'×=Ñ=¸eÀVÔLØˆMÜ˜œu×/Ñ/Ô0´ZØ�NŠNœUŸX™XŸ_™_¬e¯k©k×.AÑ.A×.JÒ.JÐKô6
ð”Ø—‘¤
¨4¯;©;¸
Ó Côà�nŠnóˆHñ ¤
Ø�/ô!ð 4à3ó4ð ð ×Ñ¤× ;Ñ ;Ô<Ý%Ø—’ØØ—{‘{ôð ô
 ˜œu×9Ò9Ô:õ ,¨EÓ2Ð2Ü˜œu×6Ò6Ô7õ
 )¨Ó/Ð/Ýœ˜U›¤TÕ*ØÜ—‘×!Ò!×.Ò.Ü—‘×"Ò"Ü—‘—’ðñ õ #×)Ò)¨%Ó0×CÒCØ $§+¡+ð Dó ð ð œŸ™×GÒGÑGØ×#Ñ#¤L×$?Ñ$?Ô@Ý5×AÒAÀ$Ç'Á'ÓJÐJð ×Ñ¤× 5Ñ 5Ô6Ý+ØØ—{‘{ôð õ ,×;Ò;¼DÀ»KÔHØ×Ñ¤× <Ñ <Ô=Ø×4Ñ4ØÝ.õ
 "'¥s¨5£zÓ!2ö	ð õ ,×2Ñ2Ø"'¨¡(´=ÀÇÁÈaÓ3Pöòô " %›[Ü$.¨t¯{©{¸KÓ$Hô	óð õ '×6Ò6´t¸E³{ÕC÷ñ ô
 �~Š~×1Ò1×CÒCÀEÔJØŸ™Ÿ™×2Ò2×EÒEÝ—F’FÐ+¨S°$·)±)Ó<Ü˜“KØŸ;™;ð Fó �õ /7Ø—K‘K ¨¨t°U¸Eó/�—
’
—’ 
Ñ+õ 1×7Ñ7ØØØŸ;™;ôð õ ˜5Ð"3Ô4Ø×-Ò-¨eÓ4Ð4õ  ×+Ò+ØV” §¡Ñ)HÈÏÉÓ)UÓVØ—K’K“M×0Ò0Ó2óôõ  ×+Ò+ØP” §¡Ñ)BÀ4Ç;Á;Ó)OÓPØ×)Ò)Ó+óôô $Ÿnšn×@Ò@×RÒRØ—‘—‘×(Ò(¨%óˆOð —G‘G—N‘N×.Ò.×AÒAÝ—’Ð'¨¨d¯i©iÓ8Ü�U“Ø—{‘{ð Bó ˆEõ +3Ø—‘˜U E¨4°¸ó+ˆE�JŠJ�OŠO˜JÑ'õ -×3Ñ3ØØØ—{‘{ôð õ
 œ˜U›¥^Ô4Ø×Ñ¤× 7Ñ 7Ô8Ý)¨%¸¿¹ÔDÐDÝ  Ô'Ø×Ñ¤× 7Ñ 7Ô8Ý,×3Ñ3°D·G±G¸UÈ4Ï;É;ÔWˆFØ—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSà×)Ò)¨%Ó0Ð0ùôsøôh  ò Úðüò^
s'   Æ5ABKîBK$ Áz!6BK4ÂK$	BK1ÂK0BK1c                 ó  — | j                  t        j                  «       t        || j                  ¬«      }t        j                  t        |«      «      s|S | j                  j                  j                  j                  ||«      S rj  )r  r/   rk  rº   rÒ   r2   Ú"cls_supports_mutation_side_effectsr,  rü   rý   r  r#  ©rÛ   r%  rb  s      rÆ   r3  z!VariableBuilder.wrap_user_defined–  s^   € Ø×ÑœL×3Ñ3Ô4Ü*¨5¸¿¹ÔEˆÜ×=Ñ=¼dÀ5»kÔJàˆMØ�w‰w�~‰~×*Ñ*×@Ñ@ÀÈÓOÐOrÏ   c                 óÔ  — t         j                  rPt        |«      t        j                  u r5| j                  t        j                  «       t        j                  |¬«      S | j                  t        j                  «       |D ]  }||u sŒt        d«       Œ t        |t        «      r…t        d„ |D «       «      rs| j                  j!                  «       j#                  «       rK| j                  t        j                  «       t%        |D �cg c]  }t        j                  |«      ‘Œ c}«      S t'        |«      D ��cg c]4  \  }}t)        j                  |t+        | j-                  «       |«      ¬«      ‘Œ6 }}}| j.                  j0                  j2                  j5                  d«      }t7        | j                  t8        «      �rÖ| j                  j:                  t=        |«      v �r´| j                  }t7        |t>        «      sJ ‚| j.                  j0                  j@                  jC                  tE        jF                  dd| jH                  «      t        |«      |¬«      }d|jJ                  jL                  d	<   tO        tP        | j.                  ||d |¬
«      }g }	t'        |jR                  «      D ]¶  \  }}
t+        ||d¬«      }|
| j.                  j0                  jT                  |<   tW        ||   «      |
jX                  jJ                  jL                  d<   t[        j\                  t        j^                  ta        ||   «      ¬«      }|	jc                  |je                  |«      «       Œ¸ tg        |	ddiŽ ti        ||dd d¬«      }||jJ                  jL                  d<    tk        jl                  |«      |to        «       ¬«      }t        |t>        «      r| jq                  ||«      S |S c c}w c c}}w )N©r%  z-list elements are pointing to the list itselfc              3   óF   K  — | ]  }t        j                  |«      –— Œ y ­wrÙ   r‰  )r  Úitems     rÆ   r  z0VariableBuilder.wrap_listlike.<locals>.<genexpr>°  s   è ø€ ÒH¸$Ô$×/Ñ/°×5ÑHùrŒ  r0  rÛ   r¯  r  TÚ	steal_arg)Ú
target_clsrü   rN  Úexample_valueÚsubclass_typerÒ   F©ÚbaseÚindexÚindex_is_sliceÚtensor_dictr3  rd   )rÔ   rÕ   rÖ   r°  ©Úmutable_local)9r(   Úspecialize_intr,  rß   rG  r  r/   ÚCONSTANT_MATCHri   rs  rÍ  r.   rZ   rC  rÎ  rÒ   r4  Úis_unspecialized_nn_moduler�   rÄ  r„   r:   r1  rü   rý   Úlocal_scoper½  rÚ   r@   Ú
local_namerP   rD  r  r  rN  r  rê   rû  r  Úwrap_fx_proxy_clsr®   rÅ  Úinput_source_to_varrK   rN  rÜ  rÝ  ÚTENSOR_MATCHr&   r]  r6  r0   rÑ   r…   Úcls_for_instancere   r<  )rÛ   r%  rV  rŽ  rý   Úmaybe_gmrÒ   Útensor_list_proxyÚlist_variabler7  Útensor_variableÚsource_ir8  r°  rb  s                  rÆ   rH  zVariableBuilder.wrap_listlikež  sK  € Ü× Ò ¤T¨%£[´E·J±JÑ%>Ø×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°Ô7Ð7ð 	×ÑœL×8Ñ8Ô9àò 	OˆDØ�uŠ}ÜÐMÕNð	Oô �5œ%Ô ÜÑHÀ%ÔHÔHØ—‘×(Ñ(Ó*×EÑEÔGà×Ñ¤× ;Ñ ;Ô<Ü ÈEÖ!RÀDÔ"2×"9Ñ"9¸$Õ"?Ò!RÓSÐSô % UÓ+÷
ñ
 ��4ô	  ×&Ñ&ØÜ$ T§_¡_Ó%6¸Ó:öð
ˆñ 
ð —7‘7—>‘>×-Ñ-×1Ñ1°&Ó9ˆÜØ�K‰Kœõ
à�k‰k×$Ñ$Ô(;¸HÓ(EÒEð —[‘[ˆFÜ˜e¤TÔ*Ð*Ð*Ø $§¡§¡× :Ñ :× MÑ MÜ—‘Ð'¨¨d¯i©iÓ8¼$¸u»+Èfð !Nó !Ðð 8<Ð×"Ñ"×'Ñ'¨Ñ4ä-Ü)Ø—7‘7Ø'Ø#Ø"ØôˆMð ˆFÜ&/°×0CÑ0CÓ&Dò :Ñ"��?Ü(¨f¸AÈeÔT�à?N�—‘—‘×2Ñ2°8Ñ<ÜAUØ˜!‘HóB�×%Ñ%×*Ñ*×/Ñ/°Ñ>ô "×)Ñ)Ü ×-Ñ-´]À5ÈÁ8Ó5Lô�ð —‘˜h×1Ñ1°%Ó8Õ9ð:ô ˜6Ð*¨Ò*äØØØ#(Ø ØôˆHð 7?Ð×"Ñ"×'Ñ'¨
Ñ3à9Ô!×2Ñ2°5Ó9Ø¤,£.ô
ˆô �%œÔØ×4Ñ4°U¸FÓCÐCØˆùòI "Sùó
s   Ä	OÄ:9O$c                 óh  — | j                  t        j                  «       t        t	        |«      «      D �cg c]@  } t        | j                  t        | j                  «       |«      «      t        ||«      «      ‘ŒB }}t        |t        «       | j                  ¬«      }| j                  ||«      S c c}w )N)ra  rÒ   )r  r/   ÚTUPLE_ITERATOR_LENrK  ra   r  rü   rF   r1  r`   rŒ   re   rÒ   r<  )rÛ   r%  rŽ  rý   rb  s        rÆ   rI  z#VariableBuilder.wrap_tuple_iteratorú  s¢   € Ø×ÑœL×;Ñ;Ô<ô
 Ô-¨eÓ4Ó5ö	
ð ð WŒO˜DŸG™GÔ%?ÀÇÁÓ@QÐSTÓ%UÓVÜ& u¨aÓ0õð
ˆð 
ô 'Ø¤,£.¸¿¹ô
ˆð ×0Ñ0°¸Ó?Ð?ùò
s   ¶AB/c                 ó\  — dD �cg c]@  } t        | j                  t        | j                  «       |«      «      t	        ||«      «      ‘ŒB }}| j                  t        j                  «       t        |t        «      rt        || j                  ¬«      S t        || j                  ¬«      S c c}w )N)ÚstartÚstopÚstepr0  )r  rü   r4   r1  rë  r  r/   rk  rÚ   rJ  r‹   rÒ   rˆ   )rÛ   r%  r‹  rÅ  s       rÆ   rL  z VariableBuilder.wrap_slice_range  s•   € ð
 /ö	
ð ð GŒO˜DŸG™G¤Z°·±Ó0AÀ1Ó%EÓFÜ˜˜qÓ!õð
ˆð 
ð 	×ÑœL×3Ñ3Ô4Ü�eœUÔ#Ü  ¨t¯{©{Ô;Ð;ä  ¨t¯{©{Ô;Ð;ùò
s   …AB)r8  c                 ó€  — ddl m} t        j                  d| j                  j                  «       t        |«      «        |||¬«       || j                  j                  j                  v rT| j                  j                  j                  |   }|j                  |j                  j                  j                  d   d<   y y )Nr'   )Úmark_static_addressz Marking static input %s, id: %s)©r8  r_  Ú_dynamo_static_input_type)Ú
decoratorsrw  Ústatic_inputs_logÚdebugrÒ   rê   r  rü   rý   r  ry  rN  rû  r  )rÛ   r%  r8  rw  r;  s        rÆ   Úmark_static_inputz!VariableBuilder.mark_static_input  s—   € Ý4ä×ÑØ.°·±×0@Ñ0@Ó0BÄBÀuÃIô	
ñ 	˜E¨Õ/ð �D—G‘G—N‘N×/Ñ/Ñ/Ø—'‘'—.‘.×-Ñ-¨eÑ4ˆCð ×/Ñ/ð �I‰I�N‰N×Ñ Ñ.Ø+òð 0rÏ   c                 ób	  — ddl m} t        |j                  «      dk(  rt	        dt        |«      › �«       t        ||«      rŒt        j                  |j                  dd«      rt        | j                  ¬«      S | j                  t        j                  «       t        | j                  d«      | _        | j!                  |j"                  «      S t%        |t&        j(                  j*                  t&        j(                  j,                  t&        j(                  j.                  f«      rt0        j2                  st	        d	«       t5        |d
d«      ržt5        |dd«      sJ d«       ‚| j                  t        j                  «       t7        || j9                  «       ¬«      }t;        j<                  t?        |«      «      s|S | j@                  jB                  jD                  jG                  ||«      S tI        jJ                  || j@                  jL                  «      �rßt%        |t&        jN                  jP                  jR                  jT                  «      r*|jW                  «       }tY        | j                  «      | _        | j                  t        j                  «       t&        jZ                  j0                  j\                  r‰t_        «       }|ja                  «       D ]  }| jc                  ||¬«       Œ |je                  «       D ]  }| jc                  ||¬«       Œ |r-|| j@                  jB                  jf                  | jh                  <   |jj                  jm                  d«      st5        |jn                  dd«      rtq        || j                  ¬«      }nts        || j                  ¬«      }t;        j<                  t?        |«      «      s|S | j@                  jB                  jD                  jG                  ||«      S tu        |jn                  t&        j(                  jv                  jx                  jz                  «      r:| j                  t        j                  «       ts        || j9                  «       ¬«      S | j@                  jB                  j}                  || jh                  | j9                  «       ¬«      S )Nr'   )ÚOptimizedModuler   zuninitialized nn.Module: Ú_torchdynamo_disableFr0  Ú	_orig_modz5TorchDynamo purposely graph breaks on RNN, GRU, LSTMsÚ_is_fsdp_managed_moduleÚ_fsdp_use_orig_paramsz3Dynamo only supports FSDP with use_orig_params=Truerx  )z	torch.nn.z	torch.ao.Ú_dynamo_marked_static)?Ú
eval_framer  r/  Ú__dict__r.   rf   rZ   r  r¾  Úforwardr“   rÒ   r  r/   rk  r4   rÒ  r�  rÚ   rß   r>  ÚRNNÚGRUÚLSTMr(   Ú	allow_rnnrë  r¤   r1  r2   rQ  r,  rü   rý   r  r#  r)   Úis_dynamic_nn_moduleÚexportÚfxÚexperimentalÚproxy_tensorÚ
_AttrProxyÚget_baser3   r¤  Úinline_inbuilt_nn_modulesrV   Ú
parametersr}  ÚbuffersÚ
nn_modulesrê   rÌ   r  r÷   r¥   r¦   r*  ÚparallelÚdistributedÚDistributedDataParallelÚregister_attr_or_module)rÛ   r%  r  rb  ÚfreezingÚpÚbs          rÆ   rÒ  zVariableBuilder.wrap_module%  so  € Ý0äˆu�~‰~Ó !Ò#ÜÐ5´g¸e³nÐ5EÐFÔGÜ�%˜Ô)ä×%Ñ% e§m¡mÐ5KÈUÔSô
 /°d·k±kÔBÐBà×Ñ¤× 7Ñ 7Ô8Ü$ T§[¡[°+Ó>ˆDŒKØ×#Ñ# E§O¡OÓ4Ð4ô �uœuŸx™xŸ|™|¬U¯X©X¯\©\¼5¿8¹8¿=¹=ÐIÔJÜ×$Ò$äÐQÔRä�5Ð3°UÔ;ô ØÐ.°ôð EàDóEð ð ×Ñ¤× 7Ñ 7Ô8Ü0°¸t¿¹Ó?PÔQˆFÜ×AÑAÄ$ÀuÃ+ÔNà�Ø—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜ×0Ñ0°¸¿¹¿¹ÕGô
 ˜%¤§¡×!6Ñ!6×!CÑ!C×!NÑ!NÔOØŸ™Ó(�Ü-¨d¯k©kÓ:�”à×Ñ¤× 7Ñ 7Ô8Ü�}‰}×#Ñ#×=Ò=Ü0Ó2�Ø×)Ñ)Ó+ò >�AØ×*Ñ*¨1°HÐ*Õ=ð>ð Ÿ™›ò >�AØ×*Ñ*¨1°HÐ*Õ=ð>ñ ð <A�D—G‘G—N‘N×-Ñ-¨d¯i©iÑ8à×Ñ×*Ñ*Ð+EÔFÌ'Ø—‘Ð!8¸%ôKô >¸eÈDÏKÉKÔX‘ä6°uÀTÇ[Á[ÔQ�ä×AÑAÄ$ÀuÃ+ÔNà�Ø—7‘7—>‘>×.Ñ.×DÑDÀUÈFÓSÐSÜØ�O‰OœUŸX™X×.Ñ.×:Ñ:×RÑRô
ð ×Ñ¤× 7Ñ 7Ô8Ü0°¸t¿¹Ó?PÔQÐQà—7‘7—>‘>×9Ñ9ØØ—	‘	Ø—‘Ó(ð :ó ð rÏ   c                 óÜ  — t         j                  �s@t        |«      t        u �r.t	        j
                  «       j                  sÿ| j                  j                  «       j                  «       r—| j                  j                  «       j                  «       so| j                  j                  «       j                  «       sGt        | j                  «      s2t        | j                  «      st        d«      sR|| j                  «       v r@| j!                  t"        j$                  «       t'        j(                  || j                  ¬«      S | j+                  |«      S t         j,                  s"t        |«      t.        u r| j1                  |«      S | j!                  t"        j$                  «       t'        j(                  || j                  ¬«      }t3        |t4        t6        f«      r| j9                  ||«      S |S )Nz5pytorch/dynamo:enable_unspecialize_zero_one_plain_intrš  )r(   rb  r,  r  r   r½  Ú#force_unspec_int_unbacked_size_likerÒ   r4  Úis_localÚis_specialized_nn_moduleÚ"is_unspecialized_builtin_nn_moduler>   r<   r   r.  r  r/   rc  ri   rs  Úwrap_symintÚspecialize_floatÚfloatÚwrap_symfloatrÚ   rD  Úsetr<  rR  s      rÆ   rM  zVariableBuilder.wrap_literal‡  sb  € Ü×$Ó$¬¨e«¼Ò);ô "×%Ñ%Ó'×KÒKà—K‘K×,Ñ,Ó.×7Ñ7Ô9ð —;‘;×+Ñ+Ó-×FÑFÔHØ—;‘;×+Ñ+Ó-×PÑPÔRÜ# D§K¡KÔ0Ü# D§K¡KÔ0ô (ØOôð  ×!7Ñ!7Ó!9Ñ9ð ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÀ4Ç;Á;ÔOÐOà×'Ñ'¨Ó.Ð.Ü×(Ò(¬T°%«[¼EÑ-AØ×%Ñ% eÓ,Ð,à×Ñ¤× ;Ñ ;Ô<Ü%×,Ñ,°5ÀÇÁÔMˆFÜ˜%¤$¬ Ô-Ø×8Ñ8¸ÀÓGÐGØˆMrÏ   c                 óv   — t        |«      r.t        |«      | j                  j                  u rt	        dd«      ‚y y )Nz*Cannot wrap a Tensor that has already beenz"wrapped by this instance of Dynamo)r   r   rü   r8  r-   rh  s     rÆ   Ú assert_not_wrapped_by_this_graphz0VariableBuilder.assert_not_wrapped_by_this_graph«  s;   € Ü�5Œ>Ô1°%Ó8¸D¿G¹G×<MÑ<MÑMÜ*Ø<Ø4óð ð Nˆ>rÏ   c           	      ód  — | j                  «       }|| j                  j                  j                  vsJ ‚t	        |«      d u}t
        j                  rc|sat        |t        j                  j                  «      s |r;|j                  «       j                  «       r| j                  |t        «       ¬«       d}|xr t
        j                   xs
 t        «       }|j                  «       j                  «       s|ra|j                  «       j!                  «       sC| j#                  |«       | j                  j                  j%                  || j&                  |¬«      S t)        |«      rX| j#                  |«       | j                  j                  j%                  |t+        j,                  dd| j&                  «      |¬«      S t/        |«      t
        j0                  v rt/        |«      }n˜t/        |«      t        j2                  t        j                  j                  t        j4                  j6                  j8                  t        j4                  j:                  j<                  fv st?        |«      sJ t/        |«      «       ‚d }|| j                  j                  j@                  v }|r#| j                  j                  j@                  |   S t	        |«      dk(  r| jC                  tD        jF                  «       | j#                  |«       | j                  j                  jH                  jK                  t+        j,                  dd| j&                  «      t/        |«      |¬«      }i }t/        |«      t
        j0                  v rCtM        | j                  || jN                  «      |d<   | jC                  tD        jP                  «       t        |t        j2                  «      rO|jR                  rCt        |t        jT                  jV                  jX                  jZ                  «      st]        d«       t        |t        j2                  «      r<t_        |«      r1| j                  j`                  rt
        jb                  st]        d	«       te        |«      r8tg        |«      �-|jh                  tg        |«      jh                  k7  rt]        d
«       tk        d| j                  ||||dœ|¤Ž}	tD        jl                  }
t        |tn        «      rtq        |«      rtD        jr                  }
| jC                  tu        jv                  |
t        |tx        «      r|n
t{        |«      ¬«      «       t?        |«      rÚ| jC                  tD        j|                  «       | jC                  tD        jP                  «       t        t�        |«      jƒ                  tD        j„                  «      «       |j‡                  «       \  }}|D ]S  }t‰        ||«      }t‹        | jN                  |«      }t�        jŽ                   t‘        | j                  |«      |«      «       ŒU |	| j                  j                  j@                  |<   d|j’                  j”                  vsJ ‚t—        |«      |j’                  j”                  d<   |	j˜                  j’                  j”                  d   }t›        |«      | j                  jœ                  urtŸ        d«      ‚t¡        ||d|«      }||j’                  j”                  d<   | j                  j                  j£                  |«       |	S )Nrx  Tr0  r¯  r  ÚguardedÚtorch_function_fnú3torch.compile does not support strided NestedTensorz-torch.compile does not support sparse TensorszÕInconsistent dtype between tensor and its gradient. This can happen in FSDP and crashes meta tensor creation. This is potentially a workaround. Fixing it correctly requires some design around FSDP + torch.compile.)rü   rN  rY  rZ  rÒ   rT  r_  rY  z(Wrapped Tensor must be this graph's fakeFr°  rÎ   )Rr1  rü   rý   r  rQ   r(   r“  rÚ   rß   r>  r?  r4  rd  r}  rV   r¡  Úis_fsdp_moduler©  rš  rê   r=   rN  r  r,  r¿  rà   rð   rÕ   r   r@  rA  r$   rh  r  r/   rg  r  r  r²   rÒ   rk  Ú	is_nestedÚnestedÚ	_internalÚnested_tensorÚNestedTensorr.   r   r�  Úcapture_sparse_computerÇ   r   rž  Úwrap_fx_proxyri  r;   r?   ÚNOT_NONE_MATCHrÜ  rÝ  rA   r&   ÚTENSOR_SUBCLASS_METADATA_MATCHr0   rE   r6  r  Ú__tensor_flatten__rë  r4   r„   r4  r  rû  r  rK   rN  r   r8  r-   rÑ   Úadd_symbol_bindings)rÛ   r%  rÒ   Úis_static_inputÚmake_graph_attributerZ  Úis_duplicate_tensorÚtensor_proxyÚoptionsrn  Ú
guard_typeÚattrsr  ÚattrÚinner_valueÚinner_sourceÚfake_tensor_valuer°  s                     rÆ   rB  zVariableBuilder.wrap_tensor²  sÏ  € Ø—‘Ó"ˆð ˜DŸG™GŸN™N×7Ñ7Ñ7Ð7Ð7ä1°%Ó8ÀÐDˆô ×,Ò,Ù#ä˜5¤%§(¡(×"4Ñ"4Ô5ñ ˜v×2Ñ2Ó4×OÑOÔQð ×"Ñ" 5Ô0EÓ0GÐ"ÔHØ"ˆOà.ò  
Ü×0Ñ0Ð0ÒKÔ4IÓ4Kð 	ð
 ×ÑÓ!×:Ñ:Ô<Ñ@TØ×%Ñ%Ó'×6Ñ6Ô8Ø×1Ñ1°%Ô8Ø—7‘7—>‘>×9Ñ9Ø�t—y‘y¨ð :ó ð ô ˜fÔ%Ø×1Ñ1°%Ô8Ø—7‘7—>‘>×9Ñ9ØÜ—‘Ð'¨¨d¯i©iÓ8Øð :ó ð ô �‹;œ&×<Ñ<Ñ<ô$ ! ›K‰Mä˜“;Ü—‘Ü—‘×"Ñ"Ü×!Ñ!×-Ñ-×8Ñ8Ü×!Ñ!×3Ñ3×DÑDð	#ñ ô
 /¨uÔ5ðCô
 8<¸E³{óCð 6ð !ˆMð %¨¯©¯©×(JÑ(JÐJÐÙØ—7‘7—>‘>×5Ñ5°fÑ=Ð=ä" 5Ó)¨YÒ6Ø×Ñ¤× 5Ñ 5Ô6ð 	×-Ñ-¨eÔ4ð —w‘w—~‘~×1Ñ1×DÑDÜ�F‰FÐ# S¨$¯)©)Ó4´d¸5³kÈ&ð Eó 
ˆð ˆÜ�‹;œ&×<Ñ<Ñ<Ü+BØ—‘˜ §¡ó,ˆGÐ'Ñ(ð ×Ñ¤× 7Ñ 7Ô8ô �uœeŸl™lÔ+Ø—’Ü˜u¤e§l¡l×&<Ñ&<×&JÑ&J×&WÑ&WÔXäÐOÔPô �uœeŸl™lÔ+Ü˜eÔ$Ø—W‘W—^’^¬6×+HÒ+Hô
 ÐIÔJô ˜%Ô Ü˜%Ó Ð,Ø—‘œy¨Ó/×5Ñ5Ò5äðDôô (ð 
Ø�w‰wØØØ'Øñ
ð ñ
ˆô "×.Ñ.ˆ
ä�fœjÔ)Ô.FÀvÔ.NÜ%×4Ñ4ˆJà×ÑÜ×ÑØô " &Ô*;Ô<ñ ä& uÓ-ôô		
ô )¨Ô/Ø×Ñ¤× KÑ KÔLØ×Ñ¤× 7Ñ 7Ô8ÜÜ& vÓ.×9Ñ9¼,×:SÑ:SÓTôð ×/Ñ/Ó1‰HˆE�1Øò �Ü% e¨TÓ2�Ü)¨$¯+©+°tÓ<�Ü#×/Ñ/Ø:”O D§G¡G¨\Ó:¸;ÓGõðð 6Eˆ�‰�‰×*Ñ*¨6Ñ2Ø L×$5Ñ$5×$:Ñ$:Ñ:Ð:Ð:Ü0DÀUÓ0Kˆ×Ñ×Ñ˜}Ñ-ð ,×1Ñ1×6Ñ6×;Ñ;¸OÑLÐÜÐ0Ó1¸¿¹×9JÑ9JÑJÜ*Ð+UÓVÐVä˜F E¨5Ð2CÓDˆØ-5ˆ×Ñ×Ñ˜zÑ*Ø�‰�‰×*Ñ*¨8Ô4ØÐrÏ   c                 ó  — t         €J ‚t        |t         j                  «      sJ ‚t        | j	                  «       «      }ddlm} |j                  j                   }|r	 d|j                  _        	 |j                  |«      }|rddlm}  ||«      }t%        j&                   t)        | j*                  |«      «      «       | j*                  j,                  j.                  j1                  t3        j4                  dd| j6                  «      t9        |«      |¬«      }d|i}	t;        dt<        | j*                  ||d	œ|	¤Ž}
|
| j*                  j,                  j>                  |<   |
j@                  jB                  jD                  d
   }tG        ||d|d|¬«      }||jB                  jD                  d<   |
S # t        $ r* t        |j                  t         j                  «      sJ ‚Y �Œqw xY w# t        $ r}t!        t#        |«      «       Y d }~�Œvd }~ww xY w)Nr   )Ú_utilT)Úclone_preserve_stridesr¯  r  r0  rÒ   ©rX  rü   rN  rY  rY  ©rÔ   rÕ   rÖ   r×   r°  rÎ   )$r\  rÚ   r^  rA   r1  Útorch._numpyrÆ  ÚflagsÚ	writeableÚ
ValueErrorr\  ÚnditerÚ_try_convert_to_tensorÚtorch._prims_commonrÇ  ÚNotImplementedErrorr.   Ústrr„   r4  r  rü   rý   r  r  rN  r  rê   r,  rg  r«   rh  rN  rû  r  rÑ   )rÛ   r%  rÒ   rÆ  ÚreadonlyÚtensor_valuerÇ  ÚerN  r¾  Únumpy_ndarray_variablerY  r°  s                rÆ   r_  z"VariableBuilder.wrap_numpy_ndarrayq  sÕ  € Üˆ~Ðˆ~Ü˜%¤§¡Ô,Ð,Ð,ä" 4§?¡?Ó#4Ó5ˆå&à—{‘{×,Ñ,Ð,ˆÙð9Ø(,�—‘Ô%ð	"Ø ×7Ñ7¸Ó>ˆLÙÝFá5°lÓC�ô 	×'Ñ'Ð(H¬¸¿¹ÀÓ(HÈÓ(VÔWØ—‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4´d¸<Ó6HÐQWð >ó 
ˆð ˜VÐ$ˆÜ!2ð "
Ü+Ø�w‰wØØ&ñ	"
ð
 ñ"
Ðð 6Lˆ�‰�‰×*Ñ*¨6Ñ2Ø.×4Ñ4×9Ñ9×>Ñ>¸ÑOˆô ØØØ#Ø%ØØ+ô
ˆð '/ˆ�
‰
�‰˜
Ñ#à%Ð%øô_ ò 9ô " %§*¡*¬b¯i©iÔ8Ð8Ó8ð9ûô #ò 	"äœ#˜a›&×!Ò!ûð	"ús*   ÁF. Á0!G$ Æ./G!Ç G!Ç$	HÇ-HÈHc                 ó  ‡ ‡— t        |«      t        u sJ ‚‰ j                  ‰ j                  j                  j
                  v r-‰ j                  j                  j
                  ‰ j                     S ‰ j                  j                  j                  }t        j                  «       j                  r¤|j                  «       }t        |«       ‰ j                  j                  j                  j                  |j                  j                  «       ‰ j                  j                  j                   j#                  t%        |‰ j&                  d «      «       �nÒt)        ‰ j+                  «       «      �s]t,        j.                  j0                  j2                  r@‰ j5                  t6        j8                  «       t;        j<                  |‰ j&                  ¬«      S ‰ j&                  j                  «       Šˆˆ fd„}‰ j                  j>                  x}€, ||«       ‰ j                  j                  j@                  ‰   }n}|jB                  €(tE        d |d ¬«      }||jF                  jH                  ‰<   nI|jB                  D ]  } ||jH                  ‰   «       Œ ‰ j                  j                  j@                  ‰   }t0        jJ                  r|jL                  �t0        jN                  stP        jR                  }n5‰ j5                  t6        j8                  «       t;        j<                  |¬«      S |jU                  |‰ j&                  |¬«      }‰ j                  j                  j                  j                  |j                  j                  «       ‰ j                  j                  j                   j#                  t%        |‰ j&                  d «      «       n[t)        ‰ j+                  «       «      sJ ‚‰ j5                  t6        j8                  «       t;        j<                  |‰ j&                  ¬«      S tW        ‰ j+                  «       tX        «      rJ ‚t[        ‰ j+                  «       j]                  t6        j^                  «      «       d‰ j+                  «       i}	‰ j                  j                  j`                  jc                  te        jf                  dd‰ j                  «      t        |«      ‰ j+                  «       ¬	«      }
ti        |
j                  |«       tk        |
|fi |	¤Ž}|‰ j                  j                  j
                  ‰ j                  <   t)        ‰ j+                  «       «      s¬‰ j                  jl                  r=tW        ‰ j+                  «       tn        «      stq        d
|› d‰ j+                  «       › �«      ‚|jr                  j                  jt                  d   }tw        ‰ j+                  «       |dd d|¬«      |
j                  jt                  d<   |S )Nrš  c                 óæ  •— ‰‰j                   j                  j                  vrt        | d d ¬«      }nœ‰j                   j                  j                  ‰   }|j                  | k7  rjt
        j                  d‰| |j                  «       ‰j                  j                  «       j                  «       rt
        j                  d‰› d�«       d |_        |‰j                   j                  j                  ‰<   y )N)r	  r
  r  z%automatic dynamic int %s val %s != %sz%szº is converted to a symbolic integer. It is an attribute of a user defined nn module class. If you wish to keep it static, you can mark the nn module class as `torch._dynamo.mark_static`.)rü   rý   Úframe_stater  r	  Úlogr|  rÒ   r4  rd  Úinfo)r%  Úframe_state_entryrê   rÛ   s     €€rÆ   Úupdate_frame_statez7VariableBuilder.wrap_symint.<locals>.update_frame_stateË  sÒ   ø€ Ø˜tŸw™wŸ~™~×9Ñ9Ñ9ô
 )<Ø$¨4¸ô)Ñ%ð )-¯©¯©×(BÑ(BÀ4Ñ(HÐ%Ø(×/Ñ/°5Ò8ÜŸ	™	ØCØ Ø!Ø-×4Ñ4ô	ð  Ÿ;™;×3Ñ3Ó5×PÑPÔRÜŸH™HØ $à'+ fð -_ð %_ôð 48Ð)Ô0Ø3D�—‘—‘×*Ñ*¨4Ò0rÏ   ©r
  r	  r  rT  )rÒ   r®  rÒ   r¯  r  r0  ú=Dynamo attempts to add additional input during export: value=ú	, source=rY  FrÉ  r°  )<r,  r  rê   rü   rý   Úunspec_variable_mapr  r   r½  rŸ  r  r   r  r$  rû  r  r  r]  r  rÒ   r=   r1  rß   r¤  r(   rb  r  r/   rc  ri   rs  Údistributed_staterÙ  Ú
all_statesr  Úlocal_stateÚinput_sizesÚautomatic_dynamic_shapesr	  Úassume_static_by_defaultr   r  r  rÚ   rC   r0   r6  rk  r  r  rN  r  r]   r¬   r�  r@   ÚAssertionErrorrN  r  rÑ   )rÛ   r%  r  Úwrapped_valuerÝ  ÚstrÜ  Ú	sub_stater®  r¾  rN  Ú
unspec_varrY  rê   s   `            @rÆ   r£  zVariableBuilder.wrap_symint®  sy  ù€ Ü�E‹{œcÑ!Ð!Ð!à�9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@à—G‘G—N‘N×,Ñ,ˆ	Ü×ÑÓ×CÒCØ%×<Ñ<Ó>ˆMÜ% mÔ4Ø�G‰G�N‰N×(Ñ(×,Ñ,¨]×-?Ñ-?×-DÑ-DÔEØ�G‰G�N‰N×(Ñ(×/Ñ/Ü˜M¨4¯;©;¸Ó=öô $ D§O¡OÓ$5Õ6Ü�}‰}×#Ñ#×2Ò2ð ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÀ4Ç;Á;ÔOÐOà—;‘;×#Ñ#Ó%ˆDõEð< —g‘g×/Ñ/Ð/�Ð8Ù" 5Ô)Ø$(§G¡G§N¡N×$>Ñ$>¸tÑ$DÑ!Ø—‘Ð&ä$7Ø e°Dô%Ð!ð 49�—‘×*Ñ*¨4Ò0ð "$§¡ò D�IÙ& y×'<Ñ'<¸TÑ'BÕCðDà$(§G¡G§N¡N×$>Ñ$>¸tÑ$DÐ!ô ×/Ò/Ð4E×4LÑ4LÐ4TÜ×4Ò4Ü(×0Ñ0‘ð ×#Ñ#¤L×$?Ñ$?Ô@Ü'×.Ñ.°UÔ;Ð;à%×JÑJØØ—{‘{Ø'ð Kó ˆMð
 �G‰G�N‰N×(Ñ(×,Ñ,¨]×-?Ñ-?×-DÑ-DÔEà�G‰G�N‰N×(Ñ(×/Ñ/Ü˜M¨4¯;©;¸Ó=õô & d§o¡oÓ&7Ô8Ð8Ð8à×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKä˜dŸo™oÓ/Ô1BÔCÐCÐCÜ�d—o‘oÓ'×2Ñ2´<×3JÑ3JÓKÔLà˜TŸ_™_Ó.Ð/ˆà—‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØ—?‘?Ó$ð >ó 
ˆô 	˜%Ÿ*™* mÔ4Ü$ U¨MÑE¸WÑEˆ
Ø8Bˆ�‰�‰×*Ñ*¨4¯9©9Ñ5ä! $§/¡/Ó"3Ô4Ø�w‰w�~Š~¤j°·±Ó1BÄKÔ&PÜ$ØSÐTaÐSbÐbkÐlp×l{Ñl{Ól}Ðk~Ðóð ð '×,Ñ,×1Ñ1×6Ñ6°ÑGˆMä*2Ø—‘Ó!ØØ#(Ø ØØ#0ô+ˆE�J‰J�O‰O˜JÑ'ð ÐrÏ   c           
      ó¦  — | j                   | j                  j                  j                  v r-| j                  j                  j                  | j                      S t        j
                  j                  j                  s.t        | j                  «       «      st        j                  |«      r@| j                  t        j                  «       t        j                   || j"                  ¬«      S t	        j$                  |t        j&                  ¬«      }t)        | j                  «       t*        «      rJ ‚t-        | j                  «       j/                  t        j0                  «      «       t3        | j                  «       «      |dœ}| j                  j                  j4                  j7                  t9        j:                  dd| j                   «      t=        |«      | j                  «       ¬«      }t?        t@        f| j                  ||dœ|¤Ž}t)        |t@        «      sJ ‚|| j                  j                  j                  | j                   <   | j                  jB                  r=t)        | j                  «       tD        «      stG        d|› d	| j                  «       › �«      ‚d }|jH                  jJ                  jL                  d
   }tO        |«      sJ ‚|}|jP                  | j                  jP                  u sJ d|jP                  › d�«       ‚tS        | j                  «       |d|d|¬«      |jJ                  jL                  d<   tU        | j                   | j                  j                  jV                  ddgtY        |gi «      ¢­Ž «      }| j                  j                  jZ                  j]                  t_        |j`                  | j"                  d «      «       |S )Nrš  )rž  )rÒ   Ú	raw_valuer¯  r  r0  ©rü   rN  rY  rß  rà  rY  úfake mode (ú^) from fake tensor metadata doesn't match mode({self.tx.fake_mode}) from InstructionTranslatorTFrÉ  r°  Úcall_methodrV  )1rê   rü   rý   rá  rß   r¤  r(   r¤  r=   r1  ÚmathÚisnanr  r/   rc  ri   rs  rÒ   ÚtensorÚfloat64rÚ   rC   r0   r6  rk  r9   r  r  rN  r  r,  rg  r¯   r�  r@   rè  rN  rû  r  r   r8  rÑ   rµ  rù  r\   r  r]  r  Úsym_num)	rÛ   r%  ré  r¾  rN  rì  rÄ  rY  rÜ   s	            rÆ   r¦  zVariableBuilder.wrap_symfloat8  s  € ð �9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@ô
 �M‰M× Ñ ×1Ò1Ü! $§/¡/Ó"3Ô4Ü�z‰z˜%Ô à×Ñ¤× ;Ñ ;Ô<Ü#×*Ñ*°¸t¿{¹{ÔKÐKô Ÿ™ U´%·-±-Ô@ˆô ˜dŸo™oÓ/Ô1BÔCÐCÐCÜ�d—o‘oÓ'×2Ñ2´<×3JÑ3JÓKÔLô /¨t¯©Ó/@ÓAÐPUÑVˆð —‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØ—?‘?Ó$ð >ó 
ˆô 'Ü'ð
à�w‰wØØ'ñ	
ð
 ñ
ˆ
ô ˜*Ô&AÔBÐBÐBØ8Bˆ�‰�‰×*Ñ*¨4¯9©9Ñ5à�7‰7�>Š>¤*¨T¯_©_Ó->ÄÔ"LÜ ØOÐP]ÈÐ^gÐhl×hwÑhwÓhyÐgzÐ{óð ð !ÐØ"×(Ñ(×-Ñ-×2Ñ2°?ÑCˆÜ�}Ô%Ð%Ð%à)ÐØ ×*Ñ*¨d¯g©g×.?Ñ.?Ñ?ð 	
ØÐ+×5Ñ5Ð6ð 7?ð ?ó	
Ð?ô  '/Ø�O‰OÓØØ#Ø)ØØ,ô'
ˆ�
‰
�‰˜
Ñ#ô Ø�G‰GØ'ˆD�G‰G�N‰N×'Ñ'ØØðô # J <°Ó4òó
ˆð 	�‰�‰×$Ñ$×+Ñ+¬K¸¿	¹	À4Ç;Á;ÐPTÓ,UÔVàˆrÏ   c                 ó�  — | j                   | j                  j                  j                  v r-| j                  j                  j                  | j                      S t	        j
                  |«      }t        | j                  «       t        «      s6t        | j                  «       j                  t        j                  «      «       d| j                  «       i}|j                  d|i«       | j                  j                  j                  j                  t!        j"                  dd| j                   «      t%        |«      | j                  «       ¬«      }t'        t(        f| j                  ||dœ|¤Ž}|| j                  j                  j                  | j                   <   t+        | j                  «       «      �s| j                  j,                  r=t        | j                  «       t.        «      st1        d|› d| j                  «       › �«      ‚d }t        |t2        «      r|j4                  }n#|j6                  j8                  j:                  d	   }t=        |«      sJ ‚|}|j>                  | j                  j>                  u sJ d
|j>                  › d�«       ‚tA        | j                  «       |d|d|¬«      |j8                  j:                  d<   |S )NrÒ   rî  r¯  r  r0  rï  rß  rà  rY  rð  rñ  TFrÉ  r°  )!rê   rü   rý   rá  rß   rõ  rÚ   r1  rC   r0   r6  r/   rk  Úupdater  r  rN  r  r,  rg  r¯   r=   r�  r@   rè  ri   r%  rN  rû  r  r   r8  rÑ   )rÛ   r%  ré  r¾  rN  rì  rÄ  rY  s           rÆ   ró  z,VariableBuilder.wrap_unspecialized_primitive¡  sL  € Ø�9‰9˜Ÿ™Ÿ™×:Ñ:Ñ:Ø—7‘7—>‘>×5Ñ5°d·i±iÑ@Ð@äŸ™ UÓ+ˆÜ˜$Ÿ/™/Ó+Ô->Ô?Ü˜$Ÿ/™/Ó+×6Ñ6´|×7NÑ7NÓOÔPà˜TŸ_™_Ó.Ð/ˆØ�‰˜ UÐ+Ô,à—‘—‘×*Ñ*×=Ñ=Ü�F‰FÐ# S¨$¯)©)Ó4Ü�ÓØ—?‘?Ó$ð >ó 
ˆô 'Ü'ð
à�w‰wØØ'ñ	
ð
 ñ
ˆ
ð 9Cˆ�‰�‰×*Ñ*¨4¯9©9Ñ5Ü! $§/¡/Ó"3Õ4Ø�w‰w�~Š~¤j°·±Ó1BÄKÔ&PÜ$ØSÐTaÐSbÐbkÐlp×l{Ñl{Ól}Ðk~Ðóð ð !%ÐÜ˜*Ô&6Ô7à *× 0Ñ 0‘à *× 0Ñ 0× 5Ñ 5× :Ñ :¸?Ñ K�Ü˜=Ô)Ð)Ð)à -ÐØ$×.Ñ.°$·'±'×2CÑ2CÑCð ØÐ/×9Ñ9Ð:ð ;Cð CóÐCô
 +3Ø—‘Ó!ØØ#'Ø-ØØ#0ô+ˆE�J‰J�O‰O˜JÑ'ð ÐrÏ   );rË   rÌ   rÍ   Ú__doc__rD   rö   r*  r"  ÚstaticmethodrÜ  Ú	lru_cacher.  r1  r  r<  Úclassmethodre  rN  rO  rP  rQ  rR  rS  rW  rZ  r   r  r   r   rg   r~  r!  r3  r   rC  rD  r[   r	   rH  r_   rI  rJ  rK  rL  rß   rà   rï   r}  r>  rÑ  rÒ  rM  r©  rB  r_  r£  r¦  ró  r  r  s   @rÆ   r  r  \  sÉ  ø„ Ù=ð"ð ð"ð 
õ	"òò0
ð Ø€Y×Ñ˜Óñ

ó ó ð

òòòEð
 Ø€Y×Ñ˜Óñ"ó ó ð"ðH+¨¯
©
ó +ð
: '×"7Ñ"7ó :ò<ò
ð Ø€Y×Ñ˜Óð à	ˆc�8Ð.°Ð4°oÐEÑFÐFÑ	Gò ó ó ð òDG
1ðRP só PðZ 5¨°°lÀJÐ)NÑ#Oó Zðx@¨ó @ð< e¨E°5¨LÑ&9ó <ð0 u§|¡|ð 0¸Dó 0ð ` §¡§¡ó `òD"ðH°e·l±ló ð} §¡ó }ò~;&òzHòTgöR4rÏ   r  c                 óˆ  — t        | t        «      r| j                  }n+t        | t        «      r| j                  }nt        d| › �«       g }t        j                  «      D ]V  }d }| j                  r*t        t        | j                  d«      |j                  «      }|j                  t        ||¬«      «       ŒX t        |«      S )Nz)Dataclass fields handling fails for type Ú__dataclass_fields__r0  )rÚ   rº   r%  rr   rµ  r.   r{  r|  rÒ   r:   r4   rê   r]  r�   )Úobjr%  rÅ  ÚfieldrÒ   s        rÆ   rw  rw  Ø  s©   € Ü�#Ô0Ô1Ø—	‘	‰Ü	�CÔ/Ô	0Ø—‘‰äÐAÀ#ÀÐGÔHØ€EÜ×#Ñ# EÓ*ò FˆØˆØ�:Š:Ü"Ü˜3Ÿ:™:Ð'=Ó>ÀÇ
Á
óˆFð 	�‰Ô.¨u¸VÔDÕEðFô ˜ÓÐrÏ   r  c                 ó‚   — | |||dœ|¥}|€t        ddt        i|¤ŽS t        ddt        i|¤Ž}|j                  | «       |S )N)rü   rN  rY  rZ  rX  rÎ   )rg  r®   r³   Úinstall_global)rü   rN  rY  rZ  r¾  Úkwargsrb  s          rÆ   rµ  rµ  ê  sb   € ð ØØ&Ø&ñ	ð
 ð€Fð ÐÜ ÑE¬NÐE¸fÑEÐEä"ÑUÔ.JÐUÈfÑUˆØ×Ñ˜bÔ!ØˆrÏ   c                 ó  ‡— ddl m} t        ‰|«      sJ ‚d|v r-|d   �(‰j                  j                  j                  |d   «       d|j                  j                  vsJ |j                  j                  d   › «       ‚|}ˆfd„}t        j                  j                  j                  «       5  |€t        |j                  ‰d¬«      }n¿t        |«      ‰j                  u rn§t        |t        j                  «      r�‰j                   rPt        j"                  j%                  «       5   ||«      |j&                  j(                  |j                  <   d d d «       d| t*        t,        fv i}	d	|v r|d	   €J ‚|d	   |	d	<   t/        |fd
‰i|	¤Ž}t        |t        j                  «      r>|j0                  j2                  dk7  r%t        |«      ‰j                  urt5        d|› �«      ‚d d d «       t        |t        j                  «      �r(t        |t        j6                  j8                  «      }
t        |t        j6                  j:                  «      } ||«      }t=        |j                  |«       | j?                  |«      }t        |t        j@                  jB                  jD                  «      ri|j                  ‰j                  u rQ|r|nt        j                  }|
rt        j6                  j8                  n|rt        j6                  j:                  n||d<   |j                  |«        | |fi |¤ŽS tG        |j                  jH                  d«      re|j                  jH                  jJ                  dk(  rBt        |j                  jH                  jL                  t        j"                  jN                  «      s1|j                  jH                  t        jP                  jR                  k(  rtU        |j                  jH                  «      S |j                  jH                  t        j"                  jV                  k(  s1|j                  jH                  t        jX                  jZ                  k(  rt]        |«      S t_        |t        j`                  «      r@tc        d„ |D «       «      r.|D �cg c]  }te        jf                  |«      ‘Œ }}ti        |fi |¤ŽS t        |tj        tl        f«      �r¢t=        |j                  |«       g }to        |«      D ]§  \  }}|€%|jq                  te        jf                  d'i |¤Ž«       Œ-|j&                  js                  dtt        jv                  ||fi ¬«      }d	|v r'|d	   }|jy                  «       }t{        ||d¬«      |d	<   n|}|jq                  t}        d(| ‰||dœ|¤Ž«       Œ© t        |t        j`                  «      rti        ||fi |¤ŽS t_        |tj        «      rt        |fi |¤ŽS t_        |tl        t€        f«      rtƒ        |fdt…        «       i|¤ŽS |j†                  jˆ                  dk(  s6tG        |d«      s*J d|j†                  jˆ                  › dt3        |«      › �«       ‚t‹        ||j†                  fi |¤ŽS |�&|j                  jH                  t        jŒ                  u rte        jf                  d'i |¤ŽS t        |t        jŽ                  t        j�                  t        j’                  f«      r#t=        |j                  |«       t•        ||fi |¤ŽS t—        j˜                  |j                  jH                  «      r$t›        |j                  jH                  tœ        «      s=|j                  jH                  tŸ        «       D ��cg c]  \  }}|j                   ‘Œ c}}v r.t=        |j                  |«       t£        |||j0                  fi |¤ŽS t—        j˜                  |j                  jH                  «      r$t›        |j                  jH                  t¤        «      s=|j                  jH                  tŸ        «       D ��cg c]  \  }}|j¦                  ‘Œ c}}v r#t=        |j                  |«       t©        ||fi |¤ŽS |j                  jH                  dk(  r;|j                  jª                  dk(  r"t=        |j                  |«       te        |fi |¤ŽS |�et        |t¤        «      rU|j                  jH                  dk(  r<|j                  jª                  dk(  r#t=        |j                  |«       t©        ||fi |¤ŽS t        |t¬        «      �r=|j                  jH                  t        j®                  t°        tt        jv                  t        j²                  j´                  t        j¶                  tt        j¸                  t        jº                  j¼                  j¾                  t±        t        jÀ                  dtÂ        «      t±        t        jÀ                  dtÂ        «      t        jÄ                  f
v s1|j                  jª                  dk(  rD|j                  jH                  d v r,t=        |j                  |«       te        jf                  |fi |¤ŽS t        |t        jÆ                  jX                  jÈ                  «      r%d!d"lemf} t=        |j                  |«        ||fi |¤ŽS t        |tÎ        «      rÆ|j                  jH                  t        j"                  jÐ                  t        jÆ                  jX                  jÒ                  t        jÆ                  jX                  jÔ                  t        jÆ                  jX                  jÖ                  fv r,t=        |j                  |«       te        jf                  |fi |¤ŽS t        |t¬        tØ        tÎ        f«      rH|j                  jH                  tÚ        u r,t=        |j                  |«       te        jf                  |fi |¤ŽS tÝ        d#tß        |«      › d$|j                  jª                  › d$|j                  jH                  › �z   d%¬&«       y # 1 sw Y   �ŒxY w# 1 sw Y   �
ŒŒxY wc c}w c c}}w c c}}w ))Nr'   )ÚInstructionTranslatorBaser7  rY  c                 óâ   •— t        | t        j                  «      rSt        | t        «      sCt        j                  | «      rt        | «      ‰j                  u s| j                  st        | «      } | S rÙ   )	rÚ   rß   rà   r   Ú_is_functional_tensorr   r8  r¯  rM   )r%  rü   s    €rÆ   Ú_clone_inputz'wrap_fx_proxy_cls.<locals>._clone_input5  sV   ø€ Ü�eœUŸ\™\Ô*ô ˜5¤*Ô-ô ×/Ñ/°Ô6Ü+¨EÓ2°b·l±lÑBà—?’?ô $ EÓ*�àˆrÏ   T)Úallow_non_graph_fakerÖ   rÒ   rü   r  zU`example_value` needs to be a `FakeTensor`wrapped by this instance of Dynamo. Found: Ú
class_typerË   Ú	set_statec              3   ó<   K  — | ]  }t        |t        «      –— Œ y ­wrÙ   )rÚ   r  r˜  s     rÆ   r  z$wrap_fx_proxy_cls.<locals>.<genexpr>˜  s   è ø€ ò 3Ø Œ
�1”c×ñ3ùs   ‚r   )ÚkindÚtargetrœ  r  Fr[  rÈ  ra  ztorch.return_typesÚ_fieldsz	expected z. == torch.return_types or named tuple but got Úqueryrò  Úrecord_eventÚget_rankÚget_world_size)Ú
bit_lengthrd   r©   ztorch.* op returned non-Tensor ú Úunsupported_operator)Ú	case_namerÙ   rÎ   )pÚsymbolic_convertr  rÚ   rý   r7  rù  rû  r  rß   r¤  rT  Ú+_disable_saved_tensors_hooks_during_tracingrO   r   r8  rà   r�  rì  ÚDisableTorchFunctionSubclassÚtracerÚreal_value_cacher®   r³   Úwrap_to_fake_tensor_and_recordrü  r,  r-   r>  r?  r,  r]   Ú
specializerð   rÕ   r   rÄ   r  rË   r   Ú	Generatorr!  Úset_rng_stater±   Ú_DisableFuncTorchr÷  Ú_is_in_bad_forkrº   rZ   rG  rÎ  ri   rs  rŠ   rC  rD  rÄ  r]  rù  ÚoperatorÚgetitemÚcopyr:   rg  r�   r#   r†   re   r÷   rÌ   r‡   Úmanual_seedr   ÚSymFloatr  r¬   r  r  r*  r   r,   Úcurrent_streamrp   r   ÚEventrl   Úopr  Úsym_intrë  Ú_utilsÚ_element_sizeÚseedÚmodÚ
_functorchÚvmapÚ_validate_and_get_batch_sizer˜  rÉ   Ú_constrain_as_sizeÚbackendsÚ
SDPAParamsÚsdparª   rï   Ú _are_functorch_transforms_activeÚis_flash_attention_availableÚcan_use_flash_attentionÚcan_use_efficient_attentionr¥  r   r.   rf   )rX  rü   rN  rY  rZ  r¾  r  Úinitial_example_valuer	  r  Úis_parameterÚ	is_bufferÚspecialized_propsÚtensor_typer™  ÚsizesÚunpackedrŽ  ÚvalÚproxy_irÒ   Ú	options_ir  Údevice_interfacerª   s    `                       rÆ   rg  rg  (  s#
  ø€ õ =ä�bÐ3Ô4Ð4Ð4Ø�7Ñ˜w xÑ0Ð<Ø
�	‰	×Ñ×Ñ ¨Ñ 1Ô2à %§*¡*§/¡/Ñ1ÐX°e·j±j·o±oÀoÑ6VÐ5WÓXÐ1à)Ðôô$ 
�‰×	Ñ	×	HÑ	HÓ	Jñ )àÐ ô +¨5¯:©:°rÐPTÔU‰Mô ! Ó/°2·<±<Ñ?Øä˜¤u§|¡|Ô4Ø�yŠyô —X‘X×:Ñ:Ó<ñ Ù@LØ%óA�E—L‘L×1Ñ1°%·*±*Ñ=÷ð ˜ZÜ"Ô$@ÐAðBðˆFð ˜wÑ&¨7°8Ñ+<Ð+HÐHÐHØ& xÑ0ˆF�8ÑÜ:ØñØ"$ðØ(.ñˆMô �}¤e§l¡lÔ3Ø×$Ñ$×)Ñ)¨VÒ3Ü$ ]Ó3¸2¿<¹<ÑGä*ð>Ø>K¸_ðNóð ÷M)ôV �-¤§¡Õ.Ü! -´·±×1CÑ1CÓDˆÜ˜}¬e¯h©h¯o©oÓ>ˆ	ñ
 % ]Ó3ˆÜ˜%Ÿ*™* mÔ4Ø&×1Ñ1°-Ó@Ðô �}¤e×&7Ñ&7×&CÑ&C×&NÑ&NÔOØ×'Ñ'¨2¯<©<Ñ7á+8™-¼e¿l¹lˆKñ  ô —‘×"Ò"ñ ô —X‘X—_’_à ð ˜lÑ+ð 	�‰Ð(Ô)Ù˜%Ñ+ 7Ñ+Ð+ä�—
‘
×!Ñ! :Ô.Ø�J‰J×Ñ×&Ñ&¨+Ò5Ü�u—z‘z×(Ñ(×1Ñ1´5·8±8×3EÑ3EÔFØ�:‰:×Ñ¤§¡× :Ñ :Ò:ä+¨E¯J©J×,=Ñ,=Ó>Ð>à�
‰
×ÑœUŸX™X×7Ñ7Ò7Ø�:‰:×Ñ¤§
¡
× :Ñ :Ò:ä(¨Ó7Ð7Ü	�œuŸz™zÔ	*¬sñ 3Ø$1ô3ô 0ð 6CÖC°Ô!×(Ñ(¨Õ+ÐCˆÐCÜ˜EÑ- WÑ-Ð-Ü	�M¤E¬4 =Õ	1Ü˜%Ÿ*™* mÔ4ØˆÜ Ó.ò !	‰FˆAˆsØˆ{à—‘Ü$×+Ñ+Ñ<°GÑ<õð  Ÿ,™,×3Ñ3Ø(Ü#×+Ñ+Ø ˜Øð	 4ó �ð ˜wÑ&Ø$ XÑ.�FØ '§¡£�IÜ*7Ø#¨1¸Uô+�I˜hÒ'ð
 !(�Ið —‘Ü%ð Ø#-ØØ%Ø&)ñ	ð
 $ñõð3!	ôD �m¤U§Z¡ZÔ0ô   ¨%Ñ;°7Ñ;Ð;Ü�M¤5Ô)Ü  Ñ5¨WÑ5Ð5Ü�M¤D¬.Ð#9Ô:Ü ÑR¼»ÐRÈ'ÑRÐRà ×*Ñ*×5Ñ5Ð9MÒMÔQXØ˜yôRð Cà˜=×2Ñ2×=Ñ=Ð>Ð>lÔmqÐró  nAð  mBð  CóCð ô & h°×0GÑ0GÑSÈ7ÑSÐSØ	Ð	 %§*¡*×"3Ñ"3´u×7HÑ7HÑ"HÜ×&Ñ&Ñ7¨wÑ7Ð7Ü	�M¤E§L¡L´%·.±.Ä%Ç-Á-Ð#PÔ	QÜ˜%Ÿ*™* mÔ4Ü˜u mÑ?°wÑ?Ð?ä�‰˜Ÿ
™
×)Ñ)Ô*Ü�u—z‘z×(Ñ(¬+Ô6Ø	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×'Ó'óñ 
ô 	˜%Ÿ*™* mÔ4Ü˜e ]°M×4HÑ4HÑTÈGÑTÐTä�‰˜Ÿ
™
×)Ñ)Ô*¬z¸%¿*¹*×:KÑ:KÌZÔ/XØ	�‰×	Ñ	ä#CÓ#E÷áˆAÐð 	×Óóñ 
ô 	˜%Ÿ*™* mÔ4Ü˜U MÑ=°WÑ=Ð=Ø	�‰×	Ñ	˜gÒ	%¨%¯*©*¯-©-¸=Ò*HÜ˜%Ÿ*™* mÔ4Ü Ñ9°Ñ9Ð9àÐ!Ü�}¤jÔ1Ø�J‰J×Ñ Ò/Ø�J‰J�M‰M˜]Ò*ä˜%Ÿ*™* mÔ4Ü˜U MÑ=°WÑ=Ð=Ü	�M¤3Õ	'Ø�
‰
×Ñä�M‰MÜÜ×ÑÜ�L‰L×&Ñ&Ü�J‰JÜ�L‰LÜ×Ñ×!Ñ!×>Ñ>ä”E×%Ñ% z´8Ó<Ü”E×%Ñ%Ð'7¼ÓBô ×$Ñ$ð
ñ	
ð$ �J‰J�M‰M˜]Ò*Ø—
‘
×!Ñ! ^Ñ3ô 	˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@Ü	�M¤5§>¡>×#6Ñ#6×#AÑ#AÔ	BÝ,ä˜%Ÿ*™* mÔ4Ù! %Ñ3¨7Ñ3Ð3Ü	�M¤4Ô	(¨U¯Z©Z×->Ñ->Ü�‰×1Ñ1Ü�‰×Ñ×8Ñ8Ü�‰×Ñ×3Ñ3Ü�‰×Ñ×7Ñ7ð	Cñ .ô 	˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@ä�=¤3¬¬tÐ"4Ô5Ø�J‰J×Ñ¤Ñ/ä˜%Ÿ*™* mÔ4Ü×&Ñ& }Ñ@¸Ñ@Ð@äØ-Ü˜Ó'Ð(¨¨%¯*©*¯-©-¨¸¸%¿*¹*×:KÑ:KÐ9LÐMñNà,ö	
÷Mñ ú÷!)ñ )üòh Dùóxùós8   Â-A8q*Ä%*qÅBq*Òq7Þq<á rñq'	ñ"q*ñ*q4c                   óX   — e Zd ZU eeef   ed<   eed<   ee	   ed<   de
fd„Zdedefd„Zy)	r  ÚfakerÒ   Úsymbolic_contextr  c                 ó`   — t        | j                  | j                  j                  «       f«      S rÙ   )ÚhashrH  rÒ   rê   rá   s    rÆ   Ú__hash__zTrackedFake.__hash__-	  s#   € Ü�T—Y‘Y §¡× 0Ñ 0Ó 2Ð3Ó4Ð4rÏ   rì   c                 óÂ   — t        |t        «      rO| j                  |j                  u xr5 | j                  j	                  «       |j                  j	                  «       k(  S y)NF)rÚ   r  rH  rÒ   rê   rë   s     rÆ   rí   zTrackedFake.__eq__0	  sF   € Ü�eœ[Ô)Ø—9‘9 §
¡
Ð*ÒX¨t¯{©{×/?Ñ/?Ó/AÀUÇ\Á\×EVÑEVÓEXÑ/XÐXØrÏ   N)rË   rÌ   rÍ   r   r   r   rî   rD   r
   r!   r  rL  Úobjectrï   rí   rÎ   rÏ   rÆ   r  r  &	  sA   … à
�
˜FÐ"Ñ
#Ó#ØƒNà˜Ñ/Ó/ð5˜#ó 5ð˜Fð  tô rÏ   r  c           
      ó6  ‡‡.‡/‡0— | j                   rCt        | t        j                  j                  j
                  j                  «      st        d«       |j                  «       Š0‰j                  j                  j                  j                  | d «      }|r|j                  nd }d }| j                  «       r$t        |d«      }t!        | j"                  ‰||«      }t%        | «      r°|s®t!        | ‰||d¬«      }	i }
t'        | «      j)                  | «      \  }}|D ]+  }t+        | |«      }t        ||«      }t!        |‰||«      |
|<   Œ- t-        |	j.                  |	j0                  |	j2                  |	j4                  ||	j6                  |	j                  |
¬«      S |rvt9        t:        j<                  g| j?                  «       z  t:        j@                  g| j?                  «       z  d g| j?                  «       z  d g| j?                  «       z  |||¬«      S ddl!m"Š/ tG        ˆ/fd	„| jI                  «       D «       «      r t9        | jI                  «       D �cg c]2  }t        |tJ        «      rt:        jL                  nt:        j<                  ‘Œ4 c}t:        j@                  g| j?                  «       z  d g| j?                  «       z  d g| j?                  «       z  |||¬«      S ˆ0ˆfd
„}‰jN                  x}€OtQ        | «      s| jS                  «       nd} || jI                  «       |«       ‰j                  jT                  ‰0   }�n|jV                  €‹tY        | jI                  «       d | jS                  «       ¬«      }t[        | jI                  «       «      |j\                  j^                  ‰0<   t[        | jS                  «       «      |j\                  j`                  ‰0<   nk|jV                  D ]C  }‰0|j^                  v sŒ‰0|j`                  v sŒ! ||j^                  ‰0   |j`                  ‰0   «       ŒE ‰j                  jT                  ‰0   }tc        | «      }i Š.ˆ.fd„}‰j                  jd                  rS‰j                  jd                  D ]:  }|jf                  |k(  sŒ ||j>                  |jh                  |j                  «       Œ< g }g }g }g }tk        | j?                  «       «      D �]%  }|t+        | dtm        «       «      v }|t+        | dtm        «       «      v }|t+        | dtm        «       «      v } |t+        | dtm        «       «      v }!tn        jp                  xr! |jH                  d u xs |jH                  |   d u }"tn        jp                  xr1 |jH                  d uxr! |jR                  d u xs |jR                  |   d u }#|"xs |#}$|jH                  r6|r4tr        ju                  d‰0«       d |jH                  |<   d |jR                  |<   ‰.j                  |«      }|€äd }%d }&|r¸tn        jv                  s¨d }&ty        | d«      r�| jz                  D �'cg c]  }'|'j>                  |k(  sŒ|'‘Œ c}'j}                  «       }(|(j~                  €|(j€                  €tƒ        d¬«      }%n•ddl!mB})  |)t‡        |(j~                  |(j€                  ¬«      d¬«      }%netƒ        d¬«      }%nX|!s|$r|"rtƒ        d¬«      }%|#rDtƒ        d¬«      }&n7d }%d }&n2|\  }%}*d }&‰0› d|› d�}+|*‰j                  jˆ                  jŠ                  |+<   |j�                  |%«       |j�                  |&«       |rt:        jŽ                  },ne|%€|s| s ‰/| jI                  «       |   «      rt:        jL                  },n5|stn        j�                  s|!rt:        j<                  },nt:        j’                  },|&�t:        jL                  }-nt:        j@                  }-|j�                  |,«       |j�                  |-«       �Œ( t9        |||||||¬«      S c c}w c c}'w )Nr­  Ú_baseT)Ú
outer_only)Údynamic_sizesÚdynamic_stridesÚconstraint_sizesÚconstraint_stridesÚview_base_contextÚtensor_sourceÚ#shape_env_to_source_to_symbol_cacheÚinner_contexts)rR  rS  rT  rU  rV  rW  rX  r   )Úis_nested_intc              3   óT   •K  — | ]  }t        |t        «      xr	  ‰|«       –— Œ! y ­wrÙ   )rÚ   r   )r  ÚsrZ  s     €rÆ   r  z%_automatic_dynamic.<locals>.<genexpr>w	  s(   øè ø€ Ò
L¸aŒ:�aœÓ Ò9©°qÓ)9Ð%9Ó9Ñ
Lùs   ƒ%(c                 óN  •— d }d }‰‰j                   j                  vr/t        d d d «      }t        | «      |_        t        |«      |_        �n@‰j                   j                  ‰   }|j                  ��t        | «      t        |j                  «      k7  r:t        j                  d‰t        | «      |j                  «       d |_        d |_        n¿d}t        |j                  «      D ]O  \  }}|�3| |   |k7  r+t        j                  d‰|| |   |«       d |j                  |<   |xs |j                  |   d u }ŒQ |sTt        |j
                  «      D ]<  \  }}|€Œ	||   |k7  sŒt        j                  d‰|||   |«       d |j
                  |<   Œ> |‰j                   j                  ‰<   y )Nz!automatic dynamic %s dim %s != %sFz&automatic dynamic %s size(%s) %s != %sz(automatic dynamic %s stride(%s) %s != %s)
rý   rÙ  r  rD  r
  r  r/  rÚ  r|  rÄ  )	r
  r  rÕ  rÜ  Úhas_size_changedrŽ  Údimrê   rü   s	          €€rÆ   rÝ  z._automatic_dynamic.<locals>.update_frame_state†	  sÃ  ø€ ð ˆØ ÐØ�r—y‘y×,Ñ,Ñ,ô !4°D¸$ÀÓ EÐÜ%)¨$£ZÐÔ"Ü'+¨F£|ÐÖ$à "§	¡	× 5Ñ 5°dÑ ;ÐØ ×%Ñ%Ñ1Ü�t“9¤Ð$5×$:Ñ$:Ó ;Ò;ô —I‘IØ;ØÜ˜D›	Ø)×.Ñ.ô	ð .2Ð%Ô*Ø/3Ð%Õ,ð (-Ð$Ü"+Ð,=×,BÑ,BÓ"Cò ™˜˜3Ø˜?¨t°A©w¸#ª~ÜŸI™IØ HØ $Ø !Ø $ Q¡Ø #ôð 9=Ð-×2Ñ2°1Ñ5à,ÒQÐ0A×0FÑ0FÀqÑ0IÈTÐ0Qñ )ðñ: ,Ü&/Ð0A×0HÑ0HÓ&Iò 	C™F˜A˜sØ"™°6¸!±9ÀÓ3CÜ #§	¡	Ø$NØ$(Ø$%Ø$*¨1¡IØ$'ô!"ð ?CÐ 1× 8Ñ 8¸Ò ;ð	Cð '8ˆ�	‰	×Ñ˜dÒ#rÏ   rÎ   rÞ  c                 ó–   •— | ‰v r=ddl m} ‰|    \  }} ||j                  |j                  z  d¬«      }|xs |}||f‰| <   y ||f‰| <   y )Nr   ©ÚStrictMinMaxConstraintF©ÚvrÚ	warn_only)Ú%torch.fx.experimental.symbolic_shapesrb  rd  )	r_  Úconstraint_rangerê   rb  Úold_constraint_rangeÚold_nameÚnew_constraint_rangeÚnew_nameÚdim2constraints	           €rÆ   Úupdate_dim2constraintz1_automatic_dynamic.<locals>.update_dim2constrainté	  sk   ø€ Ø�.Ñ ÝTà-;¸CÑ-@Ñ*Ð  (Ù#9Ø#×&Ñ&Ð)=×)@Ñ)@Ñ@Øô$Ð ð  Ò' 4ˆHØ"6¸Ð"@ˆN˜3Òà"2°DÐ"8ˆN˜3ÒrÏ   Ú_dynamo_unbacked_indicesÚ_dynamo_dynamic_indicesÚ_dynamo_weak_dynamic_indicesÚ_dynamo_static_indicesz#automatic dynamic %s marked dynamicÚ_dynamo_dynamic_rangeF)re  ra  )ÚlowerÚupperrc  z.size()[ú])Jr¯  rÚ   rß   r°  r±  r²  r³  r.   rê   rý   Útracing_contextÚtensor_to_contextr½  rX  Ú_is_viewr4   Ú_automatic_dynamicrP  r$   r,  r¸  rë  r    rR  rS  rT  rU  rW  r   r   ÚSTATICr_  ÚINFER_STRIDErf  rZ  Úanyr
  r   r  râ  r   r  rÙ  rã  r  rD  rä  rå  Úinput_stridesr  Úexport_constraintsÚt_idrg  rK  r§  r(   ræ  rÚ  r|  Úallow_ignore_mark_dynamicrÄ   rr  ÚpopÚminÚmaxr   rb  r%   r  Úsource_name_to_debug_namer]  ÚSIZE_LIKE_UNBACKEDrç  ÚDUCK)1rÕ  rü   rÒ   Ústatic_shapesrQ  Úprior_policyrX  rV  Úbase_sourceÚouter_contextrY  rÀ  r  rÁ  Úinner_tensorrÃ  r\  rÝ  rê  r  rÜ  rë  r  rm  Ú
constraintrR  rS  rT  rU  rŽ  Úmarked_unbackedÚmarked_dynamicÚmarked_weak_dynamicÚmarked_staticÚautomatic_dynamic_sizeÚautomatic_dynamic_strideÚautomatic_dynamicÚconstraint_sizeÚconstraint_strideÚdrÚ	dim_rangerb  Úname_Údim_nameÚdynamic_sizeÚdynamic_striderl  rZ  rê   s1    `                                            @@@rÆ   ry  ry  8	  sm  û€ ð 	‡{‚{œ:Ø	Œ5�<‰<×!Ñ!×/Ñ/×<Ñ<ôô 	ÐKÔLà�;‰;‹=€DØ—9‘9×,Ñ,×>Ñ>×BÑBÀ1ÀdÓK€Lá<Hˆ×8Ò8Èdð (ð
 48ÐØ‡z�z„|Ü  ¨Ó1ˆÜ.¨q¯w©w¸¸KÈÓWÐä$ QÔ'±
ä*Øˆr�6˜=°Tô
ˆð
 ˆÜ˜“7×-Ñ-¨aÓ0‰ˆˆqØò 	ˆDÜ" 1 dÓ+ˆLÜ% f¨dÓ3ˆLÜ#5Ø˜b ,°ó$ˆN˜4Ò ð	ô 'Ø'×5Ñ5Ø)×9Ñ9Ø*×;Ñ;Ø,×?Ñ?Ø/Ø'×5Ñ5Ø0=×0aÑ0aØ)ô	
ð 		
ñ Ü&Ü%×,Ñ,Ð-°·±³Ñ7Ü'×4Ñ4Ð5¸¿¹»Ñ?Ø"˜V a§e¡e£gÑ-Ø $˜v¨¯©«Ñ/Ø/Ø Ø0Sô
ð 	
õ Dä
Ó
LÀ1Ç6Á6Ã8Ô
LÔLÜ&ð Ÿ™›öàô '1°´FÔ&;”
×"Ò"Ä×ARÑARÑRòô (×4Ñ4Ð5¸¿¹»Ñ?Ø"˜V a§e¡e£gÑ-Ø $˜v¨¯©«Ñ/Ø/Ø Ø0Sô
ð 	
õG8ðR ×"Ñ"Ð"ˆÐ+Ü#0°Ô#3�—‘”¸ˆÙ˜1Ÿ6™6›8 VÔ,ØŸI™I×1Ñ1°$Ñ7ÒØ	�‰Ð	ä/Ø—‘“ $¨q¯x©x«zô
Ðô ,0°·±³«>ˆ�‰×"Ñ" 4Ñ(Ü-1°!·(±(³*Ó-=ˆ�‰×$Ñ$ TÒ*ð Ÿ™ò 	ˆIà�y×,Ñ,Ò,°¸×9PÑ9PÒ1PÙ"Ø×)Ñ)¨$Ñ/°×1HÑ1HÈÑ1Nõð	ð ŸI™I×1Ñ1°$Ñ7Ðô ˆa‹5€DØ€Nô9ð  
‡y�y×#Ò#ØŸ)™)×6Ñ6ò 	ˆJØ�‰ $Ó&Ù%Ø—N‘N J×$?Ñ$?ÀÇÁõð	ð €MØ€OØÐØÐÜ�1—5‘5“7‹^ó _/ˆàœw qÐ*DÄcÃeÓLÐLˆØœg aÐ)BÄCÃEÓJÐJˆØ¤7¨1Ð.LÌcËeÓ#TÐTÐØœW QÐ(@Ä#Ã%ÓHÐHˆô "(×!@Ñ!@ò "
Ø×"Ñ" dÐ*ÒOÐ.?×.DÑ.DÀQÑ.GÈ4Ð.Oð 	ô
 $*×#BÑ#Bò $
Ø×"Ñ"¨$Ð.ò à!×(Ñ(¨DÐ0ÒWÐ4E×4LÑ4LÈQÑ4OÐSWÐ4Wð 	!ð 3ÒNÐ6NÐð ×!Ò!¡nÜ�I‰IÐ;¸TÔBØ(,Ð×"Ñ" 1Ñ%Ø*.Ð×$Ñ$ QÑ'ð
 $×'Ñ'¨Ó*ˆ
ØÐØ"ˆOØ $ÐÙ¤f×&FÒ&Fà$(Ð!Ü˜1Ð5Ô6à%&×%<Ñ%<ö!Ø!ÀÇÁÈ!Ãšò!ç‘c“eð ð !—}‘}Ð,°·±Ð1FÜ*AÈEÔ*R™õñ +AÜ*°·±ÀiÇmÁmÔTØ&+ô+™ô
 '>ÈÔ&N‘OÙ"Ñ'8Ù)Ü&=ÈÔ&M�OÙ+Ü(?È$Ô(OÑ%à"&�Ø$(Ñ!à%/Ñ"ˆO˜UØ $ÐØ˜˜x¨ s¨!Ð,ˆHØFKˆB�I‰I×Ñ×9Ñ9¸(ÑCØ×Ñ Ô0Ø×!Ñ!Ð"3Ô4áÜ%×8Ñ8‰LàÐ'ÙÙ"Ù˜QŸV™V›X a™[Ô)ô
 &×-Ñ-‰LÙœf×=Ò=ÁÜ%×,Ñ,‰Lä%Ÿ?™?ˆLàÐ(Ü'×/Ñ/‰Nä'×4Ñ4ˆNà×Ñ˜\Ô*Ø×Ñ˜~Ö.ð_/ôB #Ø#Ø'Ø)Ø-Ø+ØØ,Oôð ùòYùòf!s   É7`Ø9`Ù`)Úparent_contextrÒ   rÖ   c          
      ó„  ‡ ‡‡‡— t        ‰ «      t        j                  t        j                  j                  t
        fv s&t        ‰ t        j                  «      st        ‰ «      �rÛ‰€J ‚t        ‰ |‰¬«      \  }}|st        ‰ ‰‰|«      Šn-t        ‰t        «      sJ ‚‰j                  }|j                  |   Št        j                  d‰j                  «       t!        ‰ j"                  «      ‰t        ‰ «      «       t%        ˆ ˆˆˆfd„«      }‰�Wt        |t
        «      rG|j&                  x}	�9‰j(                  j*                  j-                  t/        |	t1        ‰«      ‰«      «       t        |«      rf|j3                  «       \  }
}|
D ]N  }t5        ||«      }t5        ‰ |«      }t        ‰|«      }t7        |‰|t        |t        j                  «      ‰¬«       ŒP ‰‰j(                  j8                  j:                  ‰ <   t=        |«      r‚|j>                  r|jA                  «       n|jC                  «       }|jE                  «       d|jF                  z  |jE                  «       |jI                  «       dœ‰j(                  jJ                  ‰<   n8|jE                  «       |jI                  «       dœ‰j(                  jJ                  ‰<   |r~|r‰jM                  «       sltO        ‰«      sa‰j(                  j*                  j-                  t/        |‰‰«      «       ‰j(                  jP                  tS        ‰ «         j-                  ‰«       |S ‰ S )N)rW  zwrap_to_fake %s %s %s %sc                  ó@   •— ‰j                   j                  ‰ ‰‰¬«      S )N)rÒ   rI  )r8  Úfrom_tensor)rÕ  rÒ   rI  rü   s   €€€€rÆ   rû   z0wrap_to_fake_tensor_and_record.<locals>.<lambda>–
  s$   ø€ �B—L‘L×,Ñ,ØØØ!1ð -ó € rÏ   )rÒ   rÖ   rœ  )rd   )r
  r  Úvalues_sizeÚvalues_stride)r
  r  )*r,  rß   rà   r>  r?  r   rÚ   r$   r^   ry  r4   r  rY  rÚ  r|  rê   rC  Úshaperc   Ú	item_memorý   r  r]  r  r5   r¸  rë  r  rv  rw  r   Ú	is_sparseÚ_valuesÚvaluesr
  Úndimr  Úinput_source_to_sizes_stridesr¡  r=   Útracked_fakes_id_to_sourcer  )rÕ  rü   rÒ   rÖ   rœ  r‡  ÚreasonÚinner_context_nameÚfake_eÚsym_valrÀ  r  rÁ  Ú
fake_innerÚinnerrÃ  r¦  rI  s   ```              @rÆ   r  r  q
  sº  û€ ô 	ˆQ‹”E—L‘L¤%§(¡(×"4Ñ"4´jÐAÑAÜ�aœŸ™Ô&Ü(¨Õ+àÐ!Ð!Ð!Ü >ØØØ ô!
Ñˆ�vñ Ü1°!°R¸ÀÓOÑô ˜f¤jÔ1Ð1Ð1Ø!'§¡ÐØ-×<Ñ<Ð=OÑPÐä�	‰	Ø&Ø�K‰K‹MÜ�!—'‘'‹NØÜ�‹Gô	
ô %öó
ˆð ÐÜ˜6¤:Ô.Ø"×,Ñ,Ð,�Ð9à�I‰I×#Ñ#×*Ñ*Ü˜GÔ%9¸&Ó%AÐCSÓTôô )¨Ô0Ø×0Ñ0Ó2‰HˆE�1Øò 
�Ü$ V¨TÓ2�
Ü  4Ó(�Ü)¨&°$Ó7�Ü.ØØØ'Ü(¨´U·\±\ÓBØ#3öð	
ð :Jˆ�	‰	×!Ñ!×3Ñ3°AÑ6Ü˜Ô ð *0×)9Ò)9�V—^‘^Ô%¸v¿}¹}»ˆFàŸ™›ð  §¡Ñ,Ø%Ÿ{™{›}Ø!'§¡£ñ?ˆB�I‰I×3Ñ3°FÒ;ð Ÿ™›Ø Ÿ-™-›/ñ?ˆB�I‰I×3Ñ3°FÑ;ñ Ù" v×'FÑ'FÔ'HÜ& vÔ.à�I‰I×#Ñ#×*Ñ*Ü˜F FÐ,<Ó=ôð �I‰I×0Ñ0´°A³Ñ7×>Ñ>¸vÔFàˆàˆrÏ   c                   óR   — e Zd ZdZd
d„Zedddefd„«       Zed„ «       Zed	„ «       Z	y)ÚSourcelessBuildera½  
    Like builder, but stateless and does not require a source. Useful for simple type->VT objects, or objects
    that are being created/evaporated during inlining (ex: consider a locally made list of tensors we then iterate over
    .), such a list should not show up as an artifact from inputs, nor in reconstruction, nor in the graph. However,
    there may be reasons to represent it as a ListVariable internally.

    NOTE - Objects produced here are born UNGUARDED due to the nature of sources!

    NOTE - This class is very new! It will have some rough edges, but it was created to stem the bleeding of giant
    if/else type->VariableTracker trees that were cropping up all over dynamo.
    r  Nc                 ó   — t        d«      ‚)NzUse SourcelessBuilder.create())rè  rá   s    rÆ   rö   zSourcelessBuilder.__init__â
  s   € ÜÐ=Ó>Ð>rÏ   rü   r¼   c                 ó   — t        |«      }t        j                  j                  |«      }|r	 || |«      S t	        |t
        «      r|S t	        |t        j                  «      rt        |«      S t        j                  |«      rt        j                  |«      S t        |«      rLt        j                  |«      �7t        |«      rd| j                   _         t        j                  |«      |«      S t%        |«      r t        j&                  |«      |«      S t	        |t(        j*                  «      rt-        |«      S t	        |t         t.        j0                  f«      rt3        |«      S t	        |t4        j6                  «      rt9        |«      S t	        |t:        j<                  j>                  j@                  «      rtC        |«      S t	        |t:        jD                  jF                  jH                  t:        jD                  jF                  jJ                  f«      rt        |«      S tM        jN                  |«      rtM        |«      S tQ        jR                  |«      rtQ        |«      S t	        |tT        jV                  «      rtY        |«      S t	        |t:        jZ                  j\                  j^                  j`                  «      rt        j                  tc        |«      «      S te        d|jf                  › d|jh                  › �«       y )NTz&Unexpected type in sourceless builder ú.)5r,  r±  Ú_type_handlersr½  rÚ   rg   r{  Ú_HAS_DEFAULT_FACTORY_CLASSrº   ri   rŠ  rs  rá  r+   rï  rG   rý   rð  rS   r   rÖ  r×  rj   ÚabcÚABCMetar¹   ré  r)  r™   rß   rŽ  Úgraph_moduleÚGraphModuler¸   rT  rÀ  r&  ÚLeafSpecry   r
  rw   r  rN  rO  r    r¤  Ú	variablesÚlazyÚLazySymNodeFormatStringrÒ  r.   rÌ   rÍ   )rü   r%  Ú
value_typeÚfast_handlers       rÆ   rs  zSourcelessBuilder.createå
  s9  € ä˜%“[ˆ
Ü(×7Ñ7×;Ñ;¸JÓGˆÙÙ  EÓ*Ð*ä�eœ_Ô-àˆLÜ˜œ{×EÑEÔFÜ,¨UÓ3Ð3Ü×(Ñ(¨Ô/Ü#×*Ñ*¨5Ó1Ð1Ü�eŒ_¤×!<Ñ!<¸UÓ!CÐ!OÜ" 5Ô)Ø>B�—	‘	Ô;Ø5”;×.Ñ.¨uÓ5°eÓ<Ð<Ü# EÔ*Ø,”;×%Ñ% eÓ,¨UÓ3Ð3Ü˜œtŸy™yÔ)Ü Ó&Ð&Ü˜¤¤c§k¡kÐ2Ô3Ü+¨EÓ2Ð2Ü˜œu×6Ñ6Ô7Ü(¨Ó/Ð/Ü˜œuŸx™x×4Ñ4×@Ñ@ÔAÜ0°Ó7Ð7ÜØ”E—K‘K×'Ñ'×0Ñ0´%·+±+×2EÑ2E×2NÑ2NÐOô
ô -¨UÓ3Ð3Ü×+Ñ+¨EÔ2Ü$ UÓ+Ð+Ü×.Ñ.¨uÔ5Ü% eÓ,Ð,Ü˜œrŸz™zÔ*Ü'¨Ó.Ð.Ü˜œuŸ}™}×6Ñ6×;Ñ;×SÑSÔTÜ#×*Ñ*¬3¨u«:Ó6Ð6ÜØ4°Z×5JÑ5JÐ4KÈ1ÈZ×MdÑMdÐLeÐfõ	
rÏ   c                 ó\   — t        j                  | «      sJ ‚t        j                  | ¬«      S )NrT  )ri   rŠ  rs  rT  s    rÆ   Úwrap_constant_literalz'SourcelessBuilder.wrap_constant_literal  s'   € ä×*Ñ*¨5Ô1Ð1Ð1Ü×&Ñ&¨UÔ3Ð3rÏ   c                  óÊ  ‡— t         j                  Ši } t        D ]  }d„ | |<   Œ
 ˆfd„| t        <   ˆfd„| t        <   ˆfd„| t
        <   ˆfd„| t        <   ˆfd„| t        j                  <   | t           | t        j                  <   | t           | t        <   | t
           | t        <   d„ | t        j                  <   d„ | t        j                   <   d	„ | t        j"                  j$                  j&                  <   d
„ | t        j"                  j$                  j(                  <   d„ | t        j"                  j$                  j*                  <   dd„}t,        j.                  D ]  }|| |<   Œ	 | S )Nc                 ó   — t        |«      S rÙ   )ri   ©rü   r%  s     rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>  s   € Ô,<¸UÓ,C€ rÏ   c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w ©Nr`  )rv   re   ©rü   r%  r™  rs  s      €rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>  s'   ø€ ¬+Ø$)Ö*˜q‰V�B˜�]Ò*¼,».ô+
€ ùÚ*ó   ‹,c                 ó®   •— t        |j                  «       D ��ci c]  \  }} ‰| |«       ‰| |«      “Œ c}}t        |«      t        «       ¬«      S c c}}w rÇ  )rq   rÅ  r,  re   )rü   r%  r‹  r�  rs  s       €rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>  sE   ø€ Ô+<Ø6;·k±k³m×D©d¨a°‰V�B˜‹]™F 2 q›MÑ)ÓDÜ�‹KÜ&›.ô,
€ ùÛDs   šA
c           	      ób   •— t        |D �cg c]  } ‰| |«      ‘Œ c}t        «       ¬«      S c c}w rÇ  )r†   re   rÈ  s      €rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>$  s'   ø€ ¬<Ø$)Ö*˜q‰V�B˜�]Ò*¼,».ô,
€ ùÚ*rÉ  c           	      óN   •— t        |D �cg c]  } ‰| |«      ‘Œ c}«      S c c}w rÙ   )r�   rÈ  s      €rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>'  s#   ø€ ¬MØ$)Ö*˜q‰V�B˜�]Ò*ó-
€ ùÚ*ó   ‹"c           	      óN   •— t        |D �cg c]  } ‰| |«      ‘Œ c}«      S c c}w rÙ   )rŠ   rÈ  s      €rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>*  s#   ø€ ´Ø$)Ö*˜q‰V�B˜�]Ò*ó2
€ ùÚ*rÍ  c                 ó   — t        «       S rÙ   )rž   rÅ  s     rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>0  s
   € Ô4GÓ4I€ rÏ   c                 ó   — t        |«      S rÙ   )r�   rÅ  s     rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>1  s   € Ô7KÈEÓ7R€ rÏ   c                 ó,   — t        |t        «       ¬«      S rÇ  ©rº   re   rÅ  s     rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>5  ó   € Ô7Ø¤£ô
€ rÏ   c                 ó,   — t        |t        «       ¬«      S rÇ  rÒ  rÅ  s     rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>:  rÓ  rÏ   c                 ó,   — t        |t        «       ¬«      S rÇ  rÒ  rÅ  s     rÆ   rû   z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>?  rÓ  rÏ   c                 ó   — |S rÙ   rÎ   rÅ  s     rÆ   Úpassthroughz9SourcelessBuilder.make_type_handlers.<locals>.passthroughC  s   € ØˆLrÏ   )rü   r¼   )r±  rs  rN   r§  rÊ  rD  rC  rß   rG  rE  rÌ  r"   r#   r!  r"  ré  r$  ÚdistributionsÚconstraintsÚ_RealÚ	_IntervalÚ
Constraintrh   Úall_subclasses)ÚhandlersrÅ   r×  r`  rs  s       @rÆ   Úmake_type_handlersz$SourcelessBuilder.make_type_handlers  sO  ø€ ä"×)Ñ)ˆØˆÜ&ò 	DˆAÙCˆH�QŠKð	Dó
ˆ”‰ó
ˆ”‰ó

ˆ”‰ó
ˆ”‰ó 
ˆ”—‘Ñð -5´T©Nˆ”×(Ñ(Ñ)Ø#+¬D¡>ˆ”Ñ Ø#+¬D¡>ˆ”Ñ Ù"Iˆ”—‘ÑÙ%Rˆ”×!Ñ!Ñ"ñ
ð 	Ü×Ñ×+Ñ+×1Ñ1ñ	
ñ
ð 	Ü×Ñ×+Ñ+×5Ñ5ñ	
ñ
ð 	Ü×Ñ×+Ñ+×6Ñ6ñ	
ó	ô '×5Ñ5ò 	(ˆCØ'ˆH�SŠMð	(àˆrÏ   r  )
rË   rÌ   rÍ   rú  rö   rû  rg   rs  rÂ  rß  rÎ   rÏ   rÆ   r±  r±  Õ
  sX   „ ñ
ó?ð ð)
Ð*ð )
°oò )
ó ð)
ðV ñ4ó ð4ð ñ1ó ñ1rÏ   r±  )NN)F(  r·  rE  r  r{  rÖ  rÜ  r  Ú	itertoolsrÚ  ró  r$  r!  rN  rÆ  ré  rÁ   rQ  Útypingr   r   r   r   r   r   r	   r
   r   r   r   rß   r   Útorch._guardsr   r   Ú!torch._higher_order_ops.torchbindr   Ú
torch._opsr   Útorch._streambaser   r   Útorch._subclasses.fake_tensorr   r   r   Útorch._subclasses.meta_utilsr   r   Útorch._utils_internalr   Ú%torch.fx.experimental._backward_stater   rf  r   r   r   r   r    r!   Útorch.fx.immutable_collectionsr"   r#   Útorch.utils._python_dispatchr$   Útorch.utils._sympy.value_rangesr%   Útorch.utils.weakr&   r¡  r(   r)   r*   r+   rF  r,   Úexcr-   r.   r7  r/   r0   r1   r  r2   rÒ   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rT  rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   r\  re   rf   rg   rh   Úconstantri   rj   Úctx_managerrk   rl   rm   rn   ro   rp   Údictsrq   rr   rs   rt   ru   rv   r˜  rw   rx   ry   rz   r{   Ú	functionsr|   r}   r~   r   r€   r�   Úhigher_order_opsr‚   Úiterrƒ   r½  r„   Úlistsr…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   ÚmiscrŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   r¢   r£   Ú	nn_moduler¤   r¥   r¦   Ú	optimizerr§   Úscript_objectr¨   r7  rª   rõ  r«   r¬   r­   r®   r¯   r°   r±   Útorch_functionr²   r³   r´   Úuser_definedrµ   r¶   r·   r¸   r¹   rº   r»   Únumpyr\  ÚModuleNotFoundErrorÚtorch._dynamo.symbolic_convertr¼   Ú	getLoggerrË   rÚ  Ú_loggingÚgetArtifactLoggerr{  ÚDimListrÇ   rÉ   Ú	dataclassrÑ   ró   r  rÕ  ÚvarsrÅ  r  r  rî   r§  r  r  rw  rµ  rg  r  ry  rï   r  r±  rß  rµ  rÎ   rÏ   rÆ   ú<module>r     s=  ðô Û Û Û Û Û Û Û Û Û Û Û Û 	Û 
Û Û Û ÷÷ ÷ ñ ó Ý ß 5Ý <Ý *ß 5ß RÑ Rß AÝ 1Ý ?÷÷ ÷ JÝ FÝ 7Ý *ç AÓ AÝ ?ß 9ß AÑ AÝ &÷÷ ÷ ÷ ÷ ó ÷,ó ÷÷ ÷ ÷ ÷ ÷ õ ÷6 NÓ Mß 4÷÷ ÷÷ ÷õ ÷÷ õ ?Ý #Ý %÷
÷ 
õ 
÷÷ ÷ ÷ ÷ ÷ ÷0ñ õ
 )Ý 4Ý $÷õ ÷ N÷ñ ÷
÷ ñ ðÛñ
 ÝDð €g×Ò˜Ó!€Ø—N’N×4Ò4ØÐ'óÐ ð
 €ò"÷	ñ 	ð ×Ò÷99ð 99ó ð99ôx<˜Hô <ð( ×Ò÷ ð  ó ñ ò &/ñ /â˜Y›×-Ò-Ó/ô/ó &Ñ �I™c‘Nô ò +.«%Ñ ˜s¡3™xÔ /÷yò yóx3 ð& 26ñàôð~ >Bôy
ð| ×Ò÷ð ó ñð$ .3ñuàôuðt	 IMòaØ˜vÑ&ðaÙ37ôa÷Hsò sñl $5×#GÒ#GÓ#IÑ Ö  øð[S ò Ø	ƒBðús   ÉN& Î&N1Î0N1