§
    ŠŠtj(� ã                   óº  — U d Z ddlZddlZddlZddlZddlZddlZddlZddlZ	ddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZmZ ddlmZ ddlmZmZmZmZmZmZm Z  ddl!Z!ddl"Z"ddl"m#Z# ddl$m%Z% ddl&m'Z'm(Z(m)Z) dd	l*m+Z+m,Z,m-Z-m.Z.m/Z/ dd
l0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z?m@Z@ ddlAmBZBmCZCmDZDmEZE ddlFmGZGmHZH ddlImJZJ ddlKmLZL ddlMmNZN ddlOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZW ddlXmYZYmZZZ ddl[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZe ddlfmgZgmhZh ddlimjZj ddlkmlZl ddlmmnZnmoZo ddlpmqZq ddlrmsZs ddltmuZumvZvmwZwmxZxmyZy dd lzm{Z{ dd!l|m}Z}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‰ dd$lŠm‹Z‹ dd%lŒm�Z�mŽZŽm�Z�m�Z�m‘Z‘m’Z’m“Z“m”Z”m•Z•m–Z–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¬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Ä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ÔmÕZÕmÖZÖm×Z×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ä d'd,låmæZæmçZçmèZè d'd-lémêZê d'd.lëmìZìmíZímîZîmïZïmðZðmñZñmòZòmóZómôZômõZõmöZöm÷Z÷møZømùZù d'd/lúmûZûmüZü d'd0lýmþZþmÿZÿ d'd1�l �m�Z�m�Z d'd2�l�m�Z�m�Z�m�Z�m�Z�m�Z�m	�Z	�m
�Z
�m�Z d'd3�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! d'd4�l"�m#�Z#�m$�Z$�m%�Z% d'd5�l&�m'�Z' d'd6�l(�m)�Z)�m*�Z* d'd7�l+�m,�Z, d'd8�l-�m.�Z.�m/�Z/�m0�Z0�m1�Z1 d'd9�l2�m3�Z3�m4�Z4�m5�Z5 d'd:�l6�m7�Z7�m8�Z8�m9�Z9�m:�Z:�m;�Z;�m<�Z< d'd;l"�m=�Z=�m>�Z>�m?�Z?�m@�Z@ d'd<�lA�mB�ZB�mC�ZC�mD�ZD d'd=�lE�mF�ZF�mG�ZG�mH�ZH�mI�ZI�mJ�ZJ�mK�ZK�mL�ZL�mM�ZM�mN�ZN�mO�ZO�mP�ZP�mQ�ZQ�mR�ZR�mS�ZS�mT�ZT�mU�ZU 	 dd�lV�ZWn# �eX$ r d�ZWe�eYd><   Y nw xY werdd?�lZ�m[�Z[ dd@�l\�m]�Z]  e�j^        �e_¦  «        �Z`e"�ja        � b                    �e_dA¦  «        �Zc e�j^        dB¦  «        �ZdddCl�me�Ze  �eedD¦  «        �Zf �eedE¦  «        �Zg�eh�ZidF�ejdG�ekfdH„�Zl e�jm        dI¬J¦  «         G dK„ dL¦  «        ¦   «         �Zn e�jm        dI¬J¦  «         G dM„ dN¦  «        ¦   «         �Zo e�jm        dI¬J¦  «         G dO„ dP¦  «        ¦   «         �Zp�en�eoz  �epz  �Zq�eh�eq         �ZrdQ�erdG�esfdR„�ZtdSe¨dG�erdz  fdT„�ZudUeQdV�erdW�evdGeSfdX„�ZwdSe¨dYeVdz  dGeSfdZ„�Zxd[edGedz  fd\„�Zy G d]„ d^¦  «        �Zze�jm         G d_„ d`¦  «        ¦   «         �Z{ G da„ db�e{¦  «        �Z| �e}dc„  �e~e¦  «        �                     ¦   «         D ¦   «         ¦  «        �Z€�e}�ev         �eYdd<    �e�¦   «         �Z‚�e��ev         �eYde<   e"�jƒ        �j„        �j…        �Z†e"�jƒ        �j„        �j‡        �Zˆ G df„ dg¦  «        �Z‰dhe×dG�efdi„�ZŠd[edjeCdz  dGefdk„�Z‹	 	 d­dldmdnedoedz  dp�eŒdz  dqedGe×fdr„�Z�dldmdnedoedGdfds„�ZŽ	 	 d­dt�eŒ�ef         dldmdnedoedz  dp�eŒdz  dqedG�effdu„�Z�	 d®dt�eŒ�ef         dldmdne"�j�        �j‘        dve"�j’        dp�eŒdz  dqedG�effdw„�Z“	 	 d­dt�eŒ�ef         dldmdne"�j�        �j‘        doedz  dp�eŒdz  dqedG�effdx„�Z”doedldmdne"�j�        �j‘        dq�e•�esef         dp�eŒdz  dt�eŒ�ef         dGe×fdy„�Z–d[�egdG�eŒ�eg         dz  fdz„�Z—dtedldmdoedp�eŒdz  dG�e•�esef         f
d{„�Z˜dt�eŒ�ef         dldmdne"�j�        �j‘        doedp�eŒdz  dq�e•�esef         dG�effd|„�Z™dGe^fd}„�Zšd�a›�eh�eœ�es�evdz  f                  dz  �eYd~<   d�a��evdz  �eYd<    e�jž        d€¦  «        �ZŸe�j         �es         �eYd�<   d‚�esdG�eœ�es�evdz  f         fdƒ„�Z¡dG�eh�eœ�es�evdz  f                  fd„„�Z¢d®d…�esd†�evdz  dG�ekfd‡„�Z£dldmdˆ�esd‰e"�j’        dGe‡fdŠ„�Z¤d�a¥�eh�eœ�es�evdz  f                  dz  �eYd‹<   d�a¦�evdz  �eYdŒ<   dG�eh�eœ�es�evdz  f                  fd�„�Z§d®d…�esd†�evdz  dG�ekfdŽ„�Z¨d�a©�e��ev         dz  �eYd�<   d�aª�evdz  �eYd�<   dG�e��ev         fd‘„�Z«d[�evdG�ekfd’„�Z¬d‰edSe¨d“eWdz  d”ecdz  d•�e•eef         dGeafd–„�Z­d—eRe#z  d˜e"j#        dGdfd™„�Z®dše`d›e!�j¯        dGdfdœ„�Z°dše`dGdfd�„�Z±dše`dYeVdGdfdž„�Z²dše`dGdfdŸ„�Z³	 	 d¯d‰edldmdSe¨d¡�ekd¢�ekd“eWdz  dGecfd£„�Z´ddd¤œd‰edldmdSe¨dz  d¥�ekd¦edz  d“eWdz  dGefd§„�Zµddd¤œd‰edldmdSe¨dz  d¥�ekd¦edz  d“eWdz  dGefd¨„�Z¶ G d©„ dª¦  «        �Z·�e·� ¸                    ¦   «         �e·�_¹         G d«„ d¬¦  «        �ZºdS )°aq  
This module contains classes and utilities for building variable trackers in Dynamo.
Variable trackers are used to convert Python values into symbolic representations
that can be traced and transformed during graph capture.

The key classes are:

- VariableBuilder: Handles source-tracked objects that need guards and proper
  reconstruction in the output graph. Used for inputs, module attributes, etc.

- SourcelessBuilder: Handles ephemeral objects created during tracing that don't
  need source tracking or guards. Used for temporary lists, intermediate values, etc.

Variable trackers enable Dynamo to track the flow of values through the program,
maintain guards for dynamic properties, and reconstruct values in the output graph.
The builders in this module handle converting Python values into appropriate
VariableTracker instances based on their type and usage context.
é    N)ÚCallableÚMutableMapping)Ú
ModuleType)ÚAnyÚcastÚ
NamedTupleÚNoReturnÚoverloadÚTYPE_CHECKINGÚUnion)ÚSymInt)Úenable_python_dispatcher)ÚCURRENT_STREAM_INDEXÚget_external_object_by_indexÚregister_user_object)Úget_metrics_contextÚis_int_specialization_caseÚis_torch_symÚnormalize_count_iterÚset_feature_use)ÚTracingContext)Ú
flat_apply)Úcall_torchbind)Úis_opaque_reference_typeÚis_opaque_typeÚis_opaque_value_typeÚshould_hoist)Ú
OpaqueBase)ÚHigherOrderOperatorÚ
OpOverloadÚOpOverloadPacket)Ú
FakeTensorÚFakeTensorModeÚis_fakeÚmaybe_get_fake_mode)Úis_sparse_anyÚ	safe_grad)Újustknobs_check)ÚBackwardState)Únormalize_source_name)ÚDictSpecÚIntermediateSpecÚIntVarÚLeafSpecÚ
ObjectSpecÚSeqSpecÚ
ShapesSpecÚ
TensorSpec)Ú_DynamicScalarÚ
DynamicInt)
Ú_constrain_range_for_sizeÚ_nested_int_aware_sortÚ
DimDynamicÚRelaxedUnspecConstraintÚShapeEnvÚStatefulSymbolicContextÚSubclassSymbolicContextÚSymbolicContextÚSymIntSymbolicContextÚTrackedFake)Úimmutable_dictÚimmutable_list)ÚExpandedWeight)Ú
OrderedSet)Úis_traceable_wrapper_subclassÚ"is_traceable_wrapper_subclass_type)ÚValueRanges)ÚTensorWeakRefé   )ÚconfigÚgraph_break_hintsÚmutation_guardÚreplay_recordÚtrace_rules)Ú get_registered_device_interfaces)ÚInternalTorchDynamoErrorÚraise_observed_exceptionÚunimplemented)ÚGuardBuilderÚinstall_guardÚmake_dupe_guard)Úauto_dynamicÚ
auto_unsetÚFrameStateSizeEntryÚInferStrideÚprocess_automatic_dynamic)ÚSideEffects)!ÚAttrProxySourceÚ
AttrSourceÚCallMethodItemSourceÚChainedSourceÚConstDictKeySourceÚConvertIntSourceÚCurrentStreamSourceÚDictGetItemSourceÚDictSubclassGetItemSourceÚDynamicScalarSourceÚFloatTensorSourceÚGetItemSourceÚ
GradSourceÚis_constant_sourceÚis_from_closure_sourceÚis_from_global_sourceÚis_from_nonlocal_sourceÚis_from_optimizer_sourceÚ&is_from_unspecialized_nn_module_sourceÚListGetItemSourceÚLocalSourceÚNNModuleSourceÚNonSerializableSetGetItemSourceÚNumpyTensorSourceÚOptimizerSourceÚRandomValueSourceÚSkipGuardSourceÚSourceÚSubclassAttrListSourceÚTupleIteratorGetItemSourceÚ"UnspecializedBuiltinNNModuleSourceÚUnspecializedNNModuleSourceÚUnspecializedParamBufferSource)"Ú_extract_tensor_dictÚbuild_checkpoint_variableÚbuild_invoke_subgraph_variableÚclone_inputÚcommon_constant_typesÚ	dict_keysÚ"enumerate_items_with_dict_positionÚget_fake_valueÚget_locals_to_stealÚget_static_address_typeÚis_frozen_dataclassÚis_functionÚis_function_or_wrapperÚis_invoke_subgraphÚis_lru_cache_wrapped_functionÚis_namedtupleÚis_parameter_freezingÚis_pybind11_enum_memberÚis_torch_classÚ	is_typingÚis_utils_checkpointÚis_wrapper_or_member_descriptorÚistypeÚnamedtuple_fieldsÚodict_valuesÚproxy_args_kwargsÚrange_iteratorÚ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é   )ÚAttributeMutationExistingÚAttributeMutationNewÚtypestrÚValueMutationExistingÚValueMutationNewÚVariableTrackerÚVariableTrackerMeta)ÚBuiltinVariable©ÚConstantVariable)ÚAutocastModeVariableÚCudagraphOverrideVariableÚDynamoConfigPatchVariableÚErrorOnGraphBreakVariableÚNullContextVariableÚPreserveVersionContextVariableÚRecordFunctionVariable)ÚConstDictVariableÚMappingProxyVariableÚSetVariable)ÚWorldMetaClassVariable)ÚBoundBuiltinMethodVariableÚCollectionsNamedTupleFunctionÚ!CollectiveFunctionRewriteVariableÚ'CreateTMADescriptorExperimentalVariableÚ!CreateTMADescriptorStableVariableÚFunctoolsPartialVariableÚGetSetDescriptorVariableÚMemberDescriptorVariableÚMethodWrapperVariableÚSysFunctionVariableÚTritonKernelVariableÚTritonSetAllocatorVariableÚUserFunctionVariableÚWrapperUserFunctionVariable)Ú"LocalMapWrappedHigherOrderVariableÚ TorchHigherOrderOperatorVariable)ÚCountIteratorVariableÚItertoolsVariable)ÚLazyConstantVariableÚLazyVariableTracker)ÚBaseListVariableÚListIteratorVariableÚListVariableÚRangeVariableÚSizeVariableÚSliceVariableÚTupleIteratorVariableÚTupleVariable)ÚAutogradEngineVariableÚAutogradFunctionContextVariableÚAutogradFunctionVariableÚComptimeVariableÚConstantLikeVariableÚDebuggingVariableÚDelayGraphBreakVariableÚGetAttrVariableÚIgnoredFunctionVariableÚLambdaVariableÚLoggingLoggerVariableÚNumpyDTypeVariableÚNumpyVariableÚObjectVariableÚPythonModuleVariableÚRandomClassVariableÚRandomVariableÚSavedTensorBoxÚStringFormatVariableÚTypingVariableÚWeakRefVariable)ÚFSDPManagedNNModuleVariableÚ$UnspecializedBuiltinNNModuleVariableÚUnspecializedNNModuleVariable)ÚOptimizerVariable)ÚOpaqueObjectClassVariableÚTorchScriptObjectVariable©ÚSDPAParamsVariable)ÚDictKeySetVariableÚFrozensetVariableÚOrderedSetClassVariableÚOrderedSetVariable)ÚEventVariableÚStreamContextVariableÚStreamVariable)ÚNumpyNdarrayVariableÚ$supported_const_comparison_op_valuesÚSymNodeVariableÚTensorSubclassVariableÚTensorVariableÚUnspecializedPythonVariable)ÚDispatchKeySetVariableÚFuncTorchInterpreterVariableÚTorchCtxManagerClassVariableÚTorchInGraphFunctionVariable)ÚTensorWithTFOverrideVariableÚ#torch_function_mode_stack_state_mgrÚTorchFunctionModeVariable)ÚDefaultDictVariableÚFrozenDataClassVariableÚInspectVariableÚIntWrapperVariableÚKeyedJaggedTensorVariableÚMutableMappingVariableÚOrderedDictVariableÚSourcelessGraphModuleVariableÚUserDefinedClassVariableÚUserDefinedConstantVariableÚUserDefinedDictVariableÚ!UserDefinedExceptionClassVariableÚUserDefinedListVariableÚUserDefinedObjectVariableÚUserDefinedSetVariableÚUserDefinedTupleVariableÚnp)Ú	PyCodegen©ÚInstructionTranslatorBaseÚcudagraph_static_inputsz%torch.fx.experimental.symbolic_shapes)ÚTypeVarÚVTTypeAliasÚTÚtÚreturnc                 ó¼   — t           j                             t           j        j        j        ¦  «        5  t          | d¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )NÚgrad)ÚtorchÚ_loggingÚhide_warningsÚ	_internalÚsafe_grad_filterÚhasattr)r  s    ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/variables/builder.pyÚsafe_has_gradr#  d  s‘   € Ý	Œ×	%Ò	%¥e¤nÔ&>Ô&OÑ	PÔ	Pð "ð "Ý�q˜&Ñ!Ô!ð"ð "ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ´AÁAÁAT)Úfrozenc                   ó:   — e Zd ZU dZeed<   dZeed<   dZeed<   dS )Ú_LocalTokenz1Root token: a top-level function-argument access.ÚnameFÚ
is_varargsÚis_varkwN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r(  Úboolr)  © ó    r"  r&  r&  i  sA   € € € € € € à;Ð;à
€I€I�IØ€J�ÐÐÑØ€HˆdÐÐÑÐÐr2  r&  c                   ó   — e Zd ZU dZeed<   dS )Ú
_AttrTokenz Attribute access (``obj.name``).r'  N)r*  r+  r,  r-  r.  r/  r1  r2  r"  r4  r4  r  s   € € € € € € à*Ð*à
€I€I�I€I€Ir2  r4  c                   ó$   — e Zd ZU dZeez  ed<   dS )Ú_SubscriptTokenu·   Subscript access (``obj[key]``).

    Emitted for ``dict`` key lookups (matched against ``DictSpec`` entries).
    The key may be ``int`` or ``str`` â€” both are valid dict keys.
    ÚkeyN)r*  r+  r,  r-  Úintr.  r/  r1  r2  r"  r6  r6  y  s)   € € € € € € ðð ð 
ˆs‰€N€N�N€N€Nr2  r6  Útokensc           	      ó€  — g }| D ]¡}|xt           d˜ x�\  } |                     |¦  «         Œ( xt          d˜ x�\  } |                     d|› �¦  «         ŒQ t          d˜ x�\  }|                     d|›d�¦  «         Œy 	 t	          d|›dt          |¦  «        j        › �¦  «        ‚|rd	                     |¦  «        nd
S )a³  Format an access path as a Python source-like string for error messages.

    Examples:
        [_LocalToken("xs")]                              -> "xs"
        [_LocalToken("cfg"), _SubscriptToken("x")]       -> "cfg['x']"
        [_LocalToken("m"), _AttrToken("weight")]         -> "m.weight"
        [_SubscriptToken(0)]                             -> "[0]"
        [_AttrToken("weight")]                           -> ".weight"
    )r'  Nú.©r7  ú[ú]z&_format_access_path: unexpected token z	 of type Ú z<empty path>)r&  Úappendr4  r6  ÚRuntimeErrorÚtyper*  Újoin)r9  ÚpartsÚtokr'  r7  s        r"  Ú_format_access_pathrF  ˆ  s  € ð €EØð ð ˆØØ'•Ð'Ð'Ð'Ð'Ñ' $ $Ø—’˜TÑ"Ô"Ð"Ð"ð (à&•Ð&Ð&Ð&Ð&Ñ&  Ø—’˜Z ˜Z˜ZÑ(Ô(Ð(Ð(ð 'å Ð)Ð)Ð)Ð)Ñ) SØ—’˜\ ˜\˜\˜\Ñ*Ô*Ð*Ð*ð *àÝ"ð4¸Sð 4ð 4Ý# C™yœyÔ1ð4ð 4ñô ð ð #Ð6ˆ2�7Š7�5‰>Œ>ˆ>¨Ð6r2  Úsourcec                 óô  — g }| }t          |t          ¦  «        �sŒt          |t          ¦  «        r|j        }Œ3t          |t          ¦  «        rNt          |j        t
          ¦  «        r4|                     t          |j        ¦  «        ¦  «         |j        j        }Œ–t          |t          ¦  «        rPt          |j        t          t          f¦  «        r/|                     t          |j        ¦  «        ¦  «         |j        }Œût          |t          ¦  «        rKt          |j        ¦  «        t          u r0|                     t          |j        ¦  «        ¦  «         |j        }�Œ[t          |t          ¦  «        r0|                     t          |j        ¦  «        ¦  «         |j        }�Œ dS |j        sdS |                     t#          |j        |j        |j        ¬¦  «        ¦  «         |                     ¦   «          |S )a  Translate a dynamo ``Source`` chain into a flat ``_AccessPath``.

    Walks ``source.base`` from leaf to root, then reverses so the path
    reads root-first. The returned path always starts with a single
    ``_LocalToken`` (the input arg) followed by zero or more access
    tokens, each of which is either an ``_AttrToken`` (attribute
    access) or a ``_SubscriptToken`` (``dict[key]`` access with an
    ``int`` or ``str`` key).

    Returns ``None`` for sources that we know we can't represent them
    in shapes specs.
    N)r(  r)  )Ú
isinstancern   ro   Úbasera   rz   r@  r4  Úindexr8  r.  r6  re   rB  r[   ÚmemberÚis_inputr&  Ú
local_namer(  r)  Úreverse)rG  ÚpathÚcurs      r"  Ú_source_to_access_pathrR  £  s¾  € ð  "€DØ€CÝ˜�kÑ*Ô*ñ Ý�c�>Ñ*Ô*ð 	ð ”(ˆCØõ
 �cÕ,Ñ-Ô-ð 	µ*ØŒHÕ4ñ3
ô 3
ð 	ð �KŠK�
 3¤9Ñ-Ô-Ñ.Ô.Ð.Ø”(”-ˆCØå�cÕ,Ñ-Ô-ð 	µ*¸S¼YÍÍcÈ
Ñ2SÔ2Sð 	Ø�KŠK�¨¬	Ñ2Ô2Ñ3Ô3Ð3Ø”(ˆCØå�c�=Ñ)Ô)ð 	­d°3´9©o¬oÅÐ.DÐ.DØ�KŠK�¨¬	Ñ2Ô2Ñ3Ô3Ð3Ø”(ˆCÙÝ�c�:Ñ&Ô&ð 	Ø�KŠK�
 3¤:Ñ.Ô.Ñ/Ô/Ð/Ø”(ˆCÙØˆtØŒ<ð ØˆtØ‡K‚KÝ�C”N¨s¬~ÈÌÐUÑUÔUñô ð ð 	‡L‚L�N„N€NØ€Kr2  Úcurrent_specÚ	full_pathÚstart_indexc           	      óŠ  ‡— 	 ddt           dt          dt          dt          fˆfd„}t	          |t          ‰¦  «        ¦  «        D �]O}‰|         }| € dS | xt          d˜ x�D\    t          |t          ¦  «        s ||| ¦  «        ‚| j	         
                    |j        ¦  «        } Œ` xt          d˜ x�D\    t          |t          ¦  «        s ||| ¦  «        ‚| j         
                    |j        ¦  «        } Œ° t           d˜ x�‡\   t          |t          ¦  «        rt          |j        t           ¦  «        s ||| ¦  «        ‚|j        d	k     rt          d
¦  «        ‚|j        t          | ¦  «        k     r| j        |j                 } �Œ>d} �ŒB 	  ||| d¦  «        ‚t          | t"          ¦  «        s |t          ‰¦  «        | d¦  «        ‚| S )aå  Walk down a spec tree starting at ``current_spec``, consuming each
    token in ``full_path[start_index:]`` in order. Returns the leaf spec at
    the end of the walk, or ``None`` if a key/field along the way wasn't
    specified by the user. Raises on type-mismatch.

    ``full_path`` is the original access path (including any prefix already
    consumed by the caller before reaching ``current_spec``); ``start_index``
    is the offset in ``full_path`` where the walk begins.
    r?  Úat_idxÚspecÚsuffixr  c           
      ó    •— t          dt          ‰¦  «        ›dt          ‰d | …         ¦  «        ›dt          |¦  «        j        › |› �¦  «        S )Nz*shapes_spec walk: while processing source z, at z the spec is )rA  rF  rB  r*  )rW  rX  rY  rT  s      €r"  Ú_mismatch_errorz#_walk_spec.<locals>._mismatch_erroré  sq   ø€ õ ð9Ý" 9Ñ-Ô-ð9ð 9å" 9¨W¨f¨WÔ#5Ñ6Ô6ð9ð 9õ   ™:œ:Ô.ð9ð 17ð9ð 9ñ
ô 
ð 	
r2  Nr1  r   z:dynamo should have normalized the index to be non-negativez+, but the source has further access past itz., but the source has no further access past it)r?  )r8  r,   r.  rA  ÚrangeÚlenr/   rI  r4  Ú_fieldsÚgetr'  r+   r6  Ú_entriesr7  r0   r.   )rS  rT  rU  r[  ÚidxÚtokens    `    r"  Ú
_walk_specrc  Ú  s9  ø€ ð  <>ð
ð 
Ýð
Ý+ð
Ý58ð
å	ð
ð 
ð 
ð 
ð 
ð 
õ �[¥# i¡.¤.Ñ1Ô1ð &ñ &ˆØ˜#”ˆØÐð �4�4ØØ•����‘�Ý! %­Ñ4Ô4ð =Ø)˜/¨#¨|Ñ<Ô<Ð<Ø+Ô3×7Ò7¸¼
ÑCÔC��ð ð •����‘�Ý! %­Ñ9Ô9ð =Ø)˜/¨#¨|Ñ<Ô<Ð<Ø+Ô4×8Ò8¸¼ÑCÔC��ð õ ����‘Ý! %­Ñ9Ô9ð =ÅØ”I�sñBô Bð =ð *˜/¨#¨|Ñ<Ô<Ð<à”9˜q’=�=Ý&ØTñô ð ð ”9�s <Ñ0Ô0Ò0Ð0Ø#/Ô#8¸¼Ô#C�L‘Là#'�L‘Lð ð ð &�oØØ ØAñô ð õ
 �l¥HÑ-Ô-ð 
ð ˆoÝ�	‰NŒNØØ<ñ
ô 
ð 	
ð
 Ðr2  Úshapes_specc           	      óR  — |�|j         €dS t          | ¦  «        }|rt          |d         t          ¦  «        sdS |j         }|d         }|j        rÝt          |d         t
          ¦  «        s-t          d|›dt          |d         ¦  «        j        › �¦  «        ‚|d         j	        }t          |¦  «        t          ur+t          d|›dt          |¦  «        j        › d|›d	�¦  «        ‚|j        �!d|cxk    rt          |j        ¦  «        k     sn dS t          |j        |         |d
¬¦  «        S |j        rÄt          |d         t
          ¦  «        s-t          d|›dt          |d         ¦  «        j        › �¦  «        ‚|d         j	        }t          |t          ¦  «        s+t          d|›dt          |¦  «        j        › d|›d	�¦  «        ‚|j        �	||j        vrdS t          |j        |         |d
¬¦  «        S |j                             |j        ¦  «        }t          ||d¬¦  «        S )z…Look up the LeafSpec at the access path derived from ``source`` in ``params``.
    Returns ``None`` if the source isn't covered.
    Nr   r�   z3Expected _SubscriptToken after *args local at path z, got z6Unexpected non-int subscript for *args access at path z: ú(ú)rG   )rT  rU  z6Expected _SubscriptToken after **kwargs local at path z9Unexpected non-str subscript for **kwargs access at path )Ú_paramsrR  rI  r&  r(  r6  rA  rB  r*  r7  r8  Ú_varargsr]  rc  r)  r.  Ú_varkwÚ_named_argsr_  r'  )rG  rd  rP  ÚparamsÚrootr7  rS  s          r"  Úlookup_spec_from_dynamo_sourcern  %  s§  € ð Ð˜kÔ1Ð9ØˆtÝ! &Ñ)Ô)€DØð •z $ q¤'­;Ñ7Ô7ð ØˆtØÔ €FØ�Œ7€DØ„ð Oõ
 ˜$˜qœ'¥?Ñ3Ô3ð 	Ýð:Øð:ð :Ý!% d¨1¤g¡¤Ô!7ð:ð :ñô ð ð �1ŒgŒkˆÝ�‰9Œ9�CÐÐÝð;Øð;ð ;Ý! #™YœYÔ/ð;ð ;Ø25ð;ð ;ð ;ñô ð ð Œ?Ð"¨1°Ð+JÐ+JÒ+JÐ+Jµc¸&¼/Ñ6JÔ6JÒ+JÐ+JÐ+JÐ+JØ�4Ý˜&œ/¨#Ô.¸$ÈAÐNÑNÔNÐNØ„}ð Mõ
 ˜$˜qœ'¥?Ñ3Ô3ð 	Ýð:Øð:ð :Ý!% d¨1¤g¡¤Ô!7ð:ð :ñô ð ð �1ŒgŒkˆÝ˜#�sÑ#Ô#ð 	Ýð;Øð;ð ;Ý! #™YœYÔ/ð;ð ;Ø25ð;ð ;ð ;ñô ð ð Œ=Ð  C¨v¬}Ð$<Ð$<Ø�4å˜&œ-¨Ô,¸È!ÐLÑLÔLÐLð &,Ô%7×%;Ò%;¸D¼IÑ%FÔ%F€LÝ�l¨dÀÐBÑBÔBÐBr2  Úvaluec                 ó`  — t          | t          j        ¦  «        sd S | j        }|�t          |t          j        ¦  «        rd S t          |t
          j        ¦  «        rd S t          |t          ¦  «        r|nt          |¦  «        }t          |¦  «        rd S t          j
        || j        d ¦  «        S ©N)rI  ÚtypesÚBuiltinMethodTypeÚ__self__r   ÚrandomÚRandomrB  r�   ÚinspectÚgetattr_staticr*  )ro  Úmethod_selfÚowners      r"  Úbound_builtin_method_descriptorr{  _  s­   € Ý�e�UÔ4Ñ5Ô5ð Øˆtà”.€Kð Ð�j¨µeÔ6FÑGÔGÐØˆtõ
 �+�vœ}Ñ-Ô-ð Øˆtå% kµ4Ñ8Ô8ÐOˆKˆK½dÀ;Ñ>OÔ>O€Eõ
 �eÑÔð Øˆtõ
 Ô! %¨¬¸Ñ>Ô>Ð>r2  c                   ó   — e Zd ZdS )Ú_missingN©r*  r+  r,  r1  r2  r"  r}  r}  }  s   € € € € € Ø€Dr2  r}  c                   ó(  — e Zd ZU edz  ed<   eed<   eed<   ej        j	        j
        dz  ed<   dZeed<   dZej        ej        z  dz  ed<   d	ed
eddfd„Zedej        ej        z  ez  dz  fd„¦   «         Zdd„Zdd„Zdefd„Zdd„Zdedefd„ZdS )ÚGraphArgNrG  Ú_exampleÚpass_arg_as_tensorÚfake_tensorTÚ	is_tensorÚexample_strong_refr'  ro  r  c                 ó>   — t                                | ||¦  «         d S rq  )ÚobjectÚ__setattr__)Úselfr'  ro  s      r"  rˆ  zGraphArg.__setattr__¥  s"   € õ
 	×Ò˜4  uÑ-Ô-Ð-Ð-Ð-r2  c                 ó’   — t          | j        t          ¦  «        r'|                      ¦   «         }|€t          d¦  «        ‚|S | j        S )Nz"TensorWeakRef expired unexpectedly)rI  r�  rF   ÚAssertionError)r‰  Úrs     r"  ÚexamplezGraphArg.example¬  sD   € å�d”m¥]Ñ3Ô3ð 	!Ø—’‘”ˆAØˆyÝ$Ð%IÑJÔJÐJØˆHà”=Ð r2  c                 óÀ   — t          | j        t          j        ¦  «        r<t	          | j        ¦  «        | _        t          | j        ¦  «        st          d¦  «        ‚d S d S )Nz fake_tensor must be a FakeTensor)rI  r�  r  ÚTensorrF   r$   rƒ  r‹  ©r‰  s    r"  Ú__post_init__zGraphArg.__post_init__¶  se   € Ý�d”m¥U¤\Ñ2Ô2ð 	IÝ)¨$¬-Ñ8Ô8ˆDŒMÝ˜4Ô+Ñ,Ô,ð IÝ$Ð%GÑHÔHÐHð	Ið 	IðIð Ir2  Úcodegenr  c                 ó&   —  || j         ¦  «         d S rq  ©rG  ©r‰  r’  s     r"  ÚreconstructzGraphArg.reconstruct¼  s   € Øˆ�”ÑÔÐÐÐr2  c                 ób   — | j         €t          d¦  «        ‚| j                              |¦  «        S )Nz8Expecting GraphArg to have source during python codegen.)rG  r‹  Úreconstruct_pycoder•  s     r"  r˜  zGraphArg.reconstruct_pycode¿  s7   € ØŒ;ÐÝ ØJñô ð ð Œ{×-Ò-¨gÑ6Ô6Ð6r2  c                 ó"   — d | _         d | _        d S rq  )r�  r…  r�  s    r"  ÚerasezGraphArg.eraseÆ  s   € ØˆŒØ"&ˆÔÐÐr2  Úotherc                 ó–   — t          |t          ¦  «        sdS | j        €	|j        d u S |j        €dS | j        j        |j        j        k    S )NF)rI  r€  rG  r'  )r‰  r›  s     r"  Ú__eq__zGraphArg.__eq__Ê  sP   € Ý˜%¥Ñ*Ô*ð 	Ø�5ØŒ;ÐØ”< 4Ð'Ð'àŒ|Ð#Ø�uØ”;Ô# u¤|Ô'8Ò8Ð8r2  ©r  N©r’  r  r  N)r*  r+  r,  ru   r/  r   r0  r  Ú_subclassesrƒ  r"   r„  r…  r�  r   r.  rˆ  Úpropertyr)   r�  r‘  r–  r˜  rš  r‡  r�  r1  r2  r"  r€  r€  �  sm  € € € € € € à�T‰MÐÐÑð €M€M�Mð" ÐÐÑØÔ"Ô.Ô9¸DÑ@Ð@Ð@Ñ@ð €IˆtÐÐÑð >BÐ˜œ u¤|Ñ3°dÑ:ÐAÐAÑAð. ð .¨Cð .°Dð .ð .ð .ð .ð ð!˜œ¨¬Ñ4°}ÑDÀtÑKð !ð !ð !ñ „Xð!ðIð Ið Ið Iðð ð ð ð7¨Sð 7ð 7ð 7ð 7ð'ð 'ð 'ð 'ð9˜Fð 9 tð 9ð 9ð 9ð 9ð 9ð 9r2  r€  c                   ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )	ÚBackwardStateGraphArgr  Nc                 ól   •— t          ¦   «                              d t          ¦   «         dd d¬¦  «         d S )NF)rG  r�  r‚  rƒ  r„  )ÚsuperÚ__init__r)   )r‰  Ú	__class__s    €r"  r¦  zBackwardStateGraphArg.__init__Ö  sA   ø€ Ý‰Œ×ÒØÝ"‘_”_Ø$ØØð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r2  r’  r  c                 ó  ‡— ‰j         j        j        st          d¦  «        ‚‰                     ˆfd„¦  «         ‰                     dd¦  «         ‰                     ¦   «          ‰                     ‰j         j        j        ¦  «         d S )Nz(backward_state_var must be set on outputc                  óD   •— ‰                       t          j        d¦  «        S )Nr)   )Úload_import_fromr)   r+  )r’  s   €r"  ú<lambda>z3BackwardStateGraphArg.reconstruct.<locals>.<lambda>ã  s   ø€ �G×,Ò,­]Ô-EÀÑWÔW€ r2  r   F)ÚtxÚoutputÚbackward_state_varr‹  Úadd_push_nullÚcall_functionÚdup_topÚstorer•  s    `r"  r–  z!BackwardStateGraphArg.reconstructß  s�   ø€ ØŒzÔ Ô3ð 	MÝ Ð!KÑLÔLÐLØ×ÒØWÐWÐWÐWñ	
ô 	
ð 	
ð 	×Ò˜a Ñ'Ô'Ð'Ø�ŠÑÔÐØ�Š�g”jÔ'Ô:Ñ;Ô;Ð;Ð;Ð;r2  rž  rŸ  )r*  r+  r,  r¦  r–  Ú__classcell__©r§  s   @r"  r£  r£  Õ  sQ   ø€ € € € € ð
ð 
ð 
ð 
ð 
ð 
ð<ð <ð <ð <ð <ð <ð <ð <r2  r£  c              #   óŒ   K  — | ]?\  }}|                      d ¦  «        °t          j        |¦  «        ¯.t          |¦  «        V — Œ@dS )Ú_N)Ú
startswithrw  ÚisclassÚid)Ú.0r'  rL  s      r"  ú	<genexpr>r»  ì  sf   è è € ð /ð /áˆˆfØ�?Š?˜3ÑÔð/õ %,¤O°FÑ$;Ô$;ð/Ý€v�J„Jð/ð /ð /ð /ð /ð /r2  ÚITERTOOLS_TYPE_IDSÚITERTOOLS_POLYFILLED_TYPE_IDSc            
       óä  ‡ — e Zd ZdZ	 d6dddededdfˆ fd	„Zd
edefd„Z	d
edefd„Z
dedefd„Zdefd„Zdedef         deeef         dz  fd„Zedeeedef         f         fd„¦   «         Zeej        dedeeedef         f         fd„¦   «         ¦   «         Zd
ej        e         ej        e         z  defd„Zd
ej        e         defd„Zd
e j!        j"        j#        de$fd„Z%d
ede&fd„Z'd
edefd„Z(eej        dee)ed egef         f         fd„¦   «         ¦   «         Z*d
edefd„Z+d
edefd„Z,d
e-e.edf         e/e         e0e1f         defd„Z2d
e3defd„Z4d
e5defd „Z6d
edefd!„Z7d
e8e9z  de:e;z  fd"„Z<d
e j=        d#eddfd$„Z>d
e j?        j@        defd%„ZAd
edefd&„ZBd
e)defd'„ZCd
eDdefd(„ZEeFd
e)d)ee)gef         defd*„¦   «         ZGeFd
eDd)eeDgef         defd+„¦   «         ZGeF	 d7d
e)eDz  ez  ez  d)ddefd,„¦   «         ZG	 d7d
e)eDz  ez  ez  d)eegef         dz  defd-„ZGd
e j=        ddfd.„ZHd
e j=        defd/„ZId
edefd0„ZJ	 	 d8d
e)d1eKdz  d2eLdz  defd3„ZMd
eDdefd4„ZNd
edefd5„ZOˆ xZPS )9ÚVariableBuilderz3Wrap a python value in a VariableTracker() instanceTr¬  r  rG  Úallow_lazy_constantr  Nc                 óð   •— |€t          d¦  «        ‚t          j        ¦   «         €t          d¦  «        ‚t          ¦   «                              ¦   «          || _        || _        |j        | _        || _        d S )NzRConsider SourcelessBuilder for ephemeral objects, usually objects created locally.zExpected active TracingContext)	r‹  r   Útry_getr¥  r¦  r¬  rG  r'  rÀ  )r‰  r¬  rG  rÀ  r§  s       €r"  r¦  zVariableBuilder.__init__þ  s|   ø€ ð ˆ>Ý Ødñô ð õ Ô!Ñ#Ô#Ð+Ý Ð!AÑBÔBÐBÝ‰Œ×ÒÑÔÐØˆŒØˆŒØ”KˆŒ	ð $7ˆÔ Ð Ð r2  ro  c                 ó*  — t          j        ¦   «         }	 |                      |¦  «        | j        j        j        xj        t          j        ¦   «         |z
  z  c_        S # | j        j        j        xj        t          j        ¦   «         |z
  z  c_        w xY wrq  )ÚtimeÚtime_nsÚ
_call_implr¬  r­  Úbytecode_tracing_timingsÚvariable_builder_call_ns)r‰  ro  Ú_t0s      r"  Ú__call__zVariableBuilder.__call__  s‚   € ÝŒl‰nŒnˆð	Ø—?’? 5Ñ)Ô)àŒGŒNÔ3ÐLÔLÝ”‘” Ñ$ñÐLÔLÐLøˆDŒGŒNÔ3ÐLÔLÝ”‘” Ñ$ñÐLÔLÐLÐLÐLÐLs   •A Á5Bc                 óê  — | j         j        j        j                             | j        ¦  «         || j         j        j        v r˜| j         j        j        |         }t          | j        |j        ¦  «        }|r|                      |¦  «         t          |t          j        j        ¦  «        r/t          |t          ¦  «        r|                     | j        ¦  «         |S | j         j        j                             | j        ¦  «        }|r| j        st          |t$          ¦  «        s|S |                      |¦  «        }|j        €| j        |_        dt(          dt*          dt,          fd„}|                      |¦  «        s |||¦  «        rG|| j         j        j        vr4t1          |¦  «        s%| j         j        j                             ||¦  «        }d| j        j        vr|| j         j        j        | j        <   |S )Nro  Úvtr  c                 ót   — t          | ¦  «        pt          | t          ¦  «        ot          |t          ¦  «        S rq  )r   rI  r3   rõ   )ro  rÌ  s     r"  Ú_is_deduplicable_sym_variablezAVariableBuilder._call_impl.<locals>._is_deduplicable_sym_variable@  s5   € õ ˜UÑ#Ô#ÐH¥z°%½Ñ'HÔ'Hð2å˜R¥Ñ1Ô1ð2r2  ÚJVP_NESTING)r¬  r­  Úcurrent_tracerÚtraced_sourcesÚaddrG  Úside_effectsrS   Úinstall_guardsrI  r  ÚnnÚModuleræ   Úset_nn_module_stack_sourceÚvariable_tracker_cacher_  rÀ  rÆ   Ú_wrapr   r£   r0  Ú_can_lift_attrs_to_inputsr�   Útrack_object_existingr'  )r‰  ro  Úside_effect_resultÚ	dup_guardÚ	cached_vtrÌ  rÎ  s          r"  rÆ  zVariableBuilder._call_impl  sü  € ØŒŒÔ%Ô4×8Ò8¸¼ÑEÔEÐEØ�D”G”NÔ/Ð/Ð/Ø!%¤¤Ô!<¸UÔ!CÐÝ'¨¬Ð5GÔ5NÑOÔOˆIØð /Ø×#Ò# IÑ.Ô.Ð.å˜%¥¤¤Ñ1Ô1ð 
KµjØ"Õ$Añ7ô 7ð 
Kð #×=Ò=¸d¼kÑJÔJÐJØ%Ð%à”G”NÔ9×=Ò=¸d¼kÑJÔJˆ	Øð 	!ð Ô'ð !­zØÕ.ñ0ô 0ð !ð !Ð à�ZŠZ˜ÑÔˆàŒ9ÐØœˆBŒIð	2µð 	2½/ð 	2Ídð 	2ð 	2ð 	2ð 	2ð ×.Ò.¨rÑ2Ô2ð	Nð 1Ð0°¸Ñ;Ô;ð	Nð
 ˜TœWœ^Ô8Ð8Ð8Ý3°EÑ:Ô:ð 9ð ””Ô,×BÒBÀ5È"ÑMÔMˆBð  ¤Ô 0Ð0Ð0ØACˆDŒGŒNÔ1°$´+Ñ>Øˆ	r2  rÌ  c                 ó`   — t          |¦  «        t          t          t          t          t
          hv S rq  )rB  r÷   rý   r  ró   ré   )r‰  rÌ  s     r"  rÚ  z)VariableBuilder._can_lift_attrs_to_inputs\  s)   € Ý�B‰xŒxÝÝ(Ý%Ý Ý%ð
ð 
ð 	
r2  c                 ó   — | j         S rq  r”  r�  s    r"  Ú
get_sourcezVariableBuilder.get_sourcee  s
   € ØŒ{Ðr2  Úguards.c                 óŠ   ‡— |                       ¦   «         Š	 ˆfd„|D ¦   «         }n# t          $ r Y d S w xY wt          |ddiŽ i S )Nc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r1  )Ú
make_guard)rº  ÚguardrG  s     €r"  ú
<listcomp>z2VariableBuilder.install_guards.<locals>.<listcomp>k  s'   ø€ Ð@Ð@Ð@°�6×$Ò$ UÑ+Ô+Ð@Ð@Ð@r2  Úskipr�   )rá  ÚNotImplementedErrorrR   )r‰  râ  ÚtmprG  s      @r"  rÔ  zVariableBuilder.install_guardsh  sl   ø€ Ø—’Ñ"Ô"ˆð	Ø@Ð@Ð@Ð@¸Ð@Ñ@Ô@ˆCˆCøÝ"ð 	ð 	ð 	Ø�4�4ð	øøøå�sÐ# Ð#Ð#Ð#Øˆ	s   —& ¦
4³4c                 ó@   — |                       t          j        ¦  «        S rq  )Ú_type_dispatch_implrH   Útrace_numpy)Úclss    r"  Ú_type_dispatchzVariableBuilder._type_dispatchq  s   € à×&Ò&¥vÔ'9Ñ:Ô:Ð:r2  rí  c                 óz  — 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        | j        ft&          | j        ft*          | j        ft.          t0          f| j        ft          t4          ¦  «        | j        ft8          j        t8          j        f| j        ft@          j!        | j"        ft           j#        j$        j%        | j&        ft           j'        j(        | j)        ftT          j+        | j,        fg}|r-tZ          r&| .                    tZ          j/        | j0        f¦  «         i }|D ]=\  }}tc          |t          ¦  «        r|n|fD ]}||v rte          d|› �¦  «        ‚|||<   ŒŒ>|S )Nz"Duplicate type dispatch entry for )3r  r�  rÕ  Ú	Parameterr   r"   Úfunctional_tensorÚFunctionalTensorÚwrap_tensorÚtupleÚlistr“   ÚcollectionsÚdequeÚSizeÚwrap_listlikeÚ	itertoolsÚcountÚwrap_itertools_countr˜   Úwrap_tuple_iteratorr•   Úwrap_range_iteratorÚslicer\  Úwrap_slice_ranger   Úwrap_literalÚreÚPatternÚMatchÚwrap_regex_patternÚweakrefÚReferenceTypeÚwrap_weakrefÚutilsÚhooksÚRemovableHandleÚwrap_removable_handleÚjitÚScriptFunctionÚwrap_jit_functionrr  ÚMappingProxyTypeÚwrap_mapping_proxyr  r@  ÚndarrayÚwrap_numpy_ndarrayrI  r‹  )rî  rí  ÚentriesÚresultÚtsÚfnr  s          r"  rì  z#VariableBuilder._type_dispatch_implu  s�  € õ ”LÝ”HÔ&ÝÔ%Ô0ÝÔ%Ô7ÔHð	ð ”ðõ ��l­KÔ,=½u¼zÐJØÔ!ðõ Œ_˜cÔ6Ð7Ý˜SÔ4Ð5Ý˜SÔ4Ð5Ý•Uˆ^˜SÔ1Ð2ÝÕ(Ñ)Ô)¨3Ô+;Ð<ÝŒj�"œ(Ð# SÔ%;Ð<ÝÔ" CÔ$4Ð5ÝŒ[ÔÔ.°Ô0IÐJÝŒYÔ% sÔ'<Ð=ÝÔ# SÔ%;Ð<ð/
ˆð4 ð 	A�2ð 	Aà�NŠN�BœJ¨Ô(>Ð?Ñ@Ô@Ð@ð ˆØð 	ð 	‰FˆB�Ý% b­%Ñ0Ô0Ð;�R�R°r°eð ð �Ø˜�;�;Ý(Ð)QÈaÐ)QÐ)QÑRÔRÐRØ��q‘	�	ðð
 ˆr2  c                 ó^   — |                       t          j        ¦  «         t          |¦  «        S rq  )rÔ  rQ   ÚID_MATCHrÓ   ©r‰  ro  s     r"  r  z"VariableBuilder.wrap_regex_pattern¡  s)   € ð 	×Ò�LÔ1Ñ2Ô2Ð2Ý# EÑ*Ô*Ð*r2  c                 ó‚   — |                       t          j        ¦  «         t          j        | j        || j        ¬¦  «        S ©Nr”  )rÔ  rQ   Ú
TYPE_MATCHrã   Úbuildr¬  rG  r  s     r"  r	  zVariableBuilder.wrap_weakref¨  s5   € Ø×Ò�LÔ3Ñ4Ô4Ð4ÝÔ$ T¤W¨e¸D¼KÐHÑHÔHÐHr2  c                 ó,   — t          dddg ¬¦  «         d S )Nz3Attempted to represent unregistered RemovableHandler?  z±Dynamo attempted to build a representation of a torch.utils.hooks.RemovableHandle, which is not supported. This happens because the RemovableHandle was created in another frame.©Úgb_typeÚcontextÚexplanationÚhints)rP   r  s     r"  r  z%VariableBuilder.wrap_removable_handle¬  s4   € õ 	ØIØðmàð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r2  c                 ó  — t          |d¦  «        s4t          ddt          |¦  «        j        › �dg t          j        ¢¬¦  «         |                      t          j        ¦  «         t          |d| j
        t          ¦   «         ¬¦  «        S )NÚ_torchdynamo_inlinez.wrap_jit_function: missing _torchdynamo_inlineztype: zfDynamo expected a JIT function with a _torchdynamo_inline attribute, but the object does not have one.r!  ©rG  Úmutation_type)r!  rP   rB  r*  rI   ÚSUPPORTABLErÔ  rQ   r  rÀ   rG  rž   r  s     r"  r  z!VariableBuilder.wrap_jit_function»  s˜   € Ý�uÐ3Ñ4Ô4ð 	ÝØHØ7¥ e¡¤Ô!5Ð7Ð7ð4à6Õ)Ô5Ð6ðñ ô ð ð 	×Ò�LÔ3Ñ4Ô4Ð4Ý*ØØ!Ø”;Ý3Ñ5Ô5ð	
ñ 
ô 
ð 	
r2  c                 ój  ‡ ‡— ‰                       t          j        ¦  «         ‰                       t          j        ¦  «         t	          d„ |D ¦   «         ¦  «        }|s3t          ddd„ |                     ¦   «         D ¦   «         › �ddg¬¦  «         dt          d	t          d
t          t          t          f         fˆ fd„Št          ˆfd„|                     ¦   «         D ¦   «         ¦  «        }t          |d ¬¦  «        }t          |‰ j        ¬¦  «        }‰ j        j        j                             ||¦  «        S )Nc              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S rq  ©r§   Ú
is_literal©rº  Úks     r"  r»  z5VariableBuilder.wrap_mapping_proxy.<locals>.<genexpr>Ñ  s.   è è € ÐFÐF¸1Õ(Ô3°AÑ6Ô6ÐFÐFÐFÐFÐFÐFr2  znon-const keys in mappingproxyúnon-const keys: c                 ó:   — g | ]}t          j        |¦  «        °|‘ŒS r1  r-  r/  s     r"  rç  z6VariableBuilder.wrap_mapping_proxy.<locals>.<listcomp>Ö  s*   € Ð+jÐ+jÐ+j°!ÕK[ÔKfÐghÑKiÔKiÐ+j¨AÐ+jÐ+jÐ+jr2  z1Dynamo expects mappingproxy keys to be constants.zFEnsure your mappingproxy keys are constants (e.g. int, float, strings)r!  r0  Úvr  c                 ó´   •— t          j        | ¦  «        }| }t          ‰                     ¦   «         |¦  «        }t	          j        ||‰j        ¬¦  «        }||fS ©N©r¬  )r§   Úcreatere   rá  rÆ   r¬  )r0  r3  r7  Ú
source_keyÚsource_valueÚ	res_valuer‰  s         €r"  Úbuild_key_valuez;VariableBuilder.wrap_mapping_proxy.<locals>.build_key_valueÝ  sT   ø€ Ý"Ô)¨!Ñ,Ô,ˆCØˆJå(¨¯ªÑ):Ô):¸JÑGÔGˆLÝ+Ô2°1°lÀtÄwÐOÑOÔOˆIà˜	�>Ð!r2  c              3   ó6   •K  — | ]\  }} ‰||¦  «        V — Œd S rq  r1  )rº  r0  r3  r;  s      €r"  r»  z5VariableBuilder.wrap_mapping_proxy.<locals>.<genexpr>æ  s3   øè è € ÐEÐE©t¨q°!�_�_ Q¨Ñ*Ô*ÐEÐEÐEÐEÐEÐEr2  r”  )rÔ  rQ   r  ÚMAPPING_KEYS_CHECKÚallrP   Úkeysr   rõ  r£   ÚdictÚitemsr¯   r°   rG  r¬  r­  rÓ  Útrack_mutable)r‰  ro  Ú	all_constrA  Údict_vtr  r;  s   `     @r"  r  z"VariableBuilder.wrap_mapping_proxyÌ  sM  øø€ Ø×Ò�LÔ3Ñ4Ô4Ð4ð 	×Ò�LÔ;Ñ<Ô<Ð<ÝÐFÐFÀÐFÑFÔFÑFÔFˆ	àð 	ÝØ8ØlÐ+jÐ+j°u·z²z±|´|Ð+jÑ+jÔ+jÐlÐlØOà\ðð	ñ ô ð ð	"�sð 	"¥sð 	"­uµ_ÅoÐ5UÔ/Vð 	"ð 	"ð 	"ð 	"ð 	"ð 	"õ ÐEÐEÐEÐE°u·{²{±}´}ÐEÑEÔEÑEÔEˆõ $ E°$Ð7Ñ7Ô7ˆÝ% g°d´kÐBÑBÔBˆØŒwŒ~Ô*×8Ò8¸ÀÑGÔGÐGr2  c                 óæ   — ddl m } |d„ ft          j        d„ fg}i }|D ]Q\  }}t          |t          t
          f¦  «        r|n|fD ]*}||v rt          d|› �¦  «        ‚||t          |¦  «        <   Œ+ŒR|S )NrG   )Úcomptimec                 ó   — t          ¦   «         S rq  )rÒ   r  s     r"  r«  z.VariableBuilder._id_dispatch.<locals>.<lambda>õ  s   € Õ+;Ñ+=Ô+=€ r2  c                 ón   — t          t          fd| j        i|                      t          j        ¦  «        ¤ŽS )NrG  )rØ   Ú_dataclasses_fields_lambdarG  rÔ  rQ   ÚCLOSURE_MATCHr  s     r"  r«  z.VariableBuilder._id_dispatch.<locals>.<lambda>ø  s=   € ¥NÝ.ð%ð %àœ;ð%ð ×)Ò)­,Ô*DÑEÔEð%ð %€ r2  z Duplicate id dispatch entry for )rF  ÚdataclassesÚfieldsrI  rõ  rö  r‹  r¹  )rî  rF  r  r  r  r  r  s          r"  Ú_id_dispatchzVariableBuilder._id_dispatchí  s¿   € ð
 	(Ð'Ð'Ð'Ð'Ð'ð Ð=Ð=Ð>åÔ"ðð ðð

ˆð ˆØð 	#ð 	#‰FˆB�Ý% b­5µ$¨-Ñ8Ô8ÐC�R�R¸r¸eð #ð #�Ø˜�;�;Ý(Ð)OÈAÐ)OÐ)OÑPÔPÐPØ "�•r˜!‘u”u‘�ð#ð
 ˆr2  c                 ól  ‡ ‡‡F‡G‡H— ddl m}m}m} ddlm}m}m}  |¦   «         rddlm	} ddl
m}	 n G d„ d¦  «        }	 G d	„ d
¦  «        }d{d„}
d{d„} G d„ d¦  «        }d{d„} |¦   «         rddlm}
m}  |¦   «         rddlm}  |¦   «         rdd l}t%          |d¦  «        r|j        }‰                      ¦   «                              t-          ‰¦  «        ¦  «        }|� |‰ ‰¦  «        S ‰                      ¦   «                              t1          ‰¦  «        ¦  «        }|� |‰ ‰¦  «        S t3          ‰t4          j        ¦  «        r¥t-          ‰¦  «        t4          j        j        j        t4          j        j        j        t@          fvrdt-          ‰¦  «        tB          j"        vrIt-          ‰¦  «        j#        t4          j        j#        u stI          ‰¦  «        r‰  %                    ‰¦  «        S t3          ‰t4          j&        j'        ¦  «        r.‰  (                    tR          j*        ¦  «         tW          ‰¦  «        S tY          ‰¦  «        rÂ‰  (                    tR          j-        ¦  «         ˆ ˆfd„t]          t-          ‰¦  «        ¦  «        D ¦   «         }t_          |‰ j0        tc          ¦   «         ¬¦  «        } te          j3        t-          ‰¦  «        ¦  «        ‰‰ j0        |¬¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S tq          ‰tr          tt          j;        tt          j<        f¦  «        �r/‰  (                    tR          j=        ¦  «         t}          d„ ‰D ¦   «         ¦  «        ŠG‰Gs)‰ j4        j5        j?         @                    ‰ j0        ¦  «         dt‚          dt‚          dt‚          dt„          t†          t†          f         fˆGˆ fd„ŠHts          ˆHfd„t‰          ‰¦  «        D ¦   «         ¦  «        }tq          ‰tt          j;        ¦  «        r–t‹          ‰ j0        d¦  «        }t�          |tc          ¦   «         ‰ j0        ¬¦  «        }t�          ‰ t‘          ‰ j4        |¦  «        ‰jI        ¦  «        |‰ j0        ¬¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S tq          ‰tt          j<        ¦  «        rjt�          |tt          j<        tc          ¦   «         ‰ j0        ¬ ¦  «        }t•          ‰|‰ j0        ¬!¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S t�          |‰ j0        ¬"¦  «        }‰ j4        j5        j6         K                    ‰|¦  «        S t3          ‰t4          j        jL        ¦  «        r‰  M                    ‰¦  «        S t�          jO        ‰¦  «        r‰  P                    ‰¦  «        S t3          ‰t4          jQ        jR        ¦  «        r=t§          ‰‰ j0        ¬"¦  «        }‰ j4        j5        j6         7                    ‰|¦  «         |S tq          ‰t¨          tª          f¦  «        �r`t­          d#„ ‰D ¦   «         ¦  «        r t¯          d$d%d&d'gt°          jY        ¢¬(¦  «         ‰  (                    tR          j=        ¦  «         ‰  (                    tR          j-        ¦  «         t´          }tq          ‰tª          ¦  «        rlt‹          ‰ j0        d)¦  «        }t·          | \                    tR          j]        ¦  «        ¦  «         ‰ j4        j5        j?         @                    |¦  «         t¼          }t¿          ‰¦  «        ŠFˆ fd*„tÁ          ‰F¦  «        D ¦   «         } ||‰ j0        ¬"¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S tq          ‰tÂ          ¦  «        r\t}          d+„ ‰D ¦   «         ¦  «        rCˆ fd,„‰D ¦   «         }‰  (                    tR          jb        ¦  «         tÇ          |‰ j0        ¬"¦  «        S t3          ‰tÈ          je        t4          jf        t4          jg        jh        ji        f¦  «        stÕ          ‰¦  «        r5‰  (                    tR          j*        ¦  «         t×          ‰‰ j0        ¬"¦  «        S tÙ          jm        ‰¦  «        r5‰  (                    tR          jn        ¦  «         tÙ          ‰‰ j0        ¬"¦  «        S tß          ‰¦  «        rdt­          ˆfd-„t4          jp        j!        jq        D ¦   «         ¦  «        r5‰  (                    tR          j*        ¦  «         tå          ‰‰ j0        ¬"¦  «        S t3          ‰tæ          jt        ¦  «        r5‰  (                    tR          j=        ¦  «         të          ‰‰ j0        ¬"¦  «        S tí          ‰¦  «        rtï          ‰ j0        ¬"¦  «        S tñ          ‰¦  «        rtó          ‰ j0        ¬"¦  «        S tõ          j{        ‰¦  «        rtõ          j|        ‰ j0        ¬"¦  «        S t3          ‰tú          j~        ¦  «        �rt‹          ‰                      ¦   «         d.¦  «        } t‘          ‰ j4        |¦  «        ‰j€        ¦  «        }g }t‹          ‰                      ¦   «         d/¦  «        }tÁ          ‰j�        ¦  «        D ]E\  }}| ‚                     t‘          ‰ j4        �t          ||¦  «        ¦  «        |¦  «        ¦  «         ŒFi } t‹          ‰                      ¦   «         d0¦  «        }!‰j„         …                    ¦   «         D ]k\  }"}#t�          jO        |"¦  «        s"t¯          d1d2|"› �d3g t°          j†        ¢¬(¦  «          t‘          ‰ j4        �t          |!|"¦  «        ¦  «        |#¦  «        | |"<   Œlt·          ‰                      ¦   «          \                    tR          j=        ¦  «        |! \                    tR          j]        ¦  «        | \                    tR          j-        ¦  «        ¦  «         �t          ‰d4d ¦  «        }$�t          ||| |$¬5¦  «        S �t          ‰¦  «        r6‰  (                    tR          j*        ¦  «         �t          ‰‰ j0        ¬"¦  «        S �t          �Ct3          ‰�t          j�        ¦  «        r(‰  Ž                    �t          j�        ‰¦  «        ¦  «        S �t!          j‘        ‰¦  «        �r\�t          s�t%          d6¦  «        ‚tq          ‰�t&          j”        ¦  «        rZ�t+          j–        ‰j—        ¦  «        r?t·          t‹          ‰ j0        d7¦  «         \                    tR          j˜        ¦  «        ¦  «         n¸�t+          j™        ‰¦  «        r ‰  (                    tR          jš        ¦  «         nƒ�t+          j–        ‰¦  «        r ‰  (                    tR          j˜        ¦  «         nNtß          ‰¦  «        r ‰  (                    tR          j*        ¦  «         n‰  (                    tR          j=        ¦  «         �t7          ‰‰ j0        ¬"¦  «        S �t!          jœ        ‰¦  «        r6‰  (                    tR          j*        ¦  «         �t;          ‰‰ j0        ¬"¦  «        S �t!          jž        ‰¦  «        r²t3          ‰�t          jŸ        ¦  «        ra‰  (                    tR          j=        ¦  «         t‹          ‰ j0        d8¦  «        }%t·          |% \                    tR          j*        ¦  «        ¦  «         n‰  (                    tR          j*        ¦  «         �tA          ‰‰ j0        ¬"¦  «        S �tC          j¢        ‰¦  «        rA‰  (                    tR          j˜        ¦  «         �tC          j£        ‰ j4        ‰‰ j0        ¬"¦  «        S tq          ‰t4          j¤        j¥        j¦        ¦  «        r6‰  (                    tR          jš        ¦  «         �tO          ‰‰ j0        ¬"¦  «        S t3          ‰t4          j¤        j¥        j¨        ¦  «        �rFd }&	 ‰j©        }&n# �tT          $ r Y nw xY wg }'‰ j0         \                    tR          j=        ¦  «        g}(t3          |&t„          ¦  «        rœt‹          ‰ j0        d9¦  «        })|( ‚                    |) \                    tR          j-        ¦  «        ¦  «         tÁ          |&¦  «        D ]E\  }}#|' ‚                     t‘          ‰ j4        �t          |)|¦  «        ¦  «        |#¦  «        ¦  «         ŒFt·          |(Ž  ‰ j4        j5        j6         7                    ‰�tW          ‰‰ j0        �tY          |'¦  «        ¬:¦  «        ¦  «        S t3          ‰�t&          j”        ¦  «        rútq          �t          ‰d;d ¦  «        t4          j¤        j¥        j¦        ¦  «        rÆ�t          ‰d<d=¦  «        d>k    r°‰�t          ‰j­        d>d ¦  «        k    r•t·          t‹          ‰                      ¦   «         d7¦  «         \                    tR          j˜        ¦  «        ¦  «         �t]          �tO          ‰j­        t‹          ‰ j0        d;¬?¦  «        ¬"¦  «        d>t-          ‰¦  «        ¬@¦  «        S t3          ‰t4          jg        j¯        ¦  «        r6‰  (                    tR          j*        ¦  «         �ta          ‰‰ j0        ¬"¦  «        S ‰t4          jp        j±        j²        j³        u r2‰  (                    tR          j˜        ¦  «         �ti          ˆ fdA„¦  «        S t3          ‰|¦  «        r�tk          ‰j¶        ¦  «        S t3          ‰|¦  «        r�to          ‰j¸        ¦  «        S t3          ‰|¦  «        r�ts          ‰jº        ‰j»        ¦  «        S tß          ‰¦  «        rj�t!          j¼        ‰¦  «        �U�t!          j½        ‰¦  «        rdB‰ j4        j5        _¾        �t!          j¼        ‰¦  «         ¿                    ‰‰ j0        ¬"¦  «        S �t          r0t3          ‰�t          jÀ        ¦  «        r‰  Á                    ‰¦  «        S t3          ‰�t„          ¦  «        ra‰t4          jÃ        jÄ        u rt¯          dCd=dDg ¬(¦  «         ‰  (                    tR          j=        ¦  «         �t‹          jÆ        ‰‰ j0        ¬"¦  «        S t3          ‰t4          jÇ        jÈ        ¦  «        rr‰  (                    tR          j*        ¦  «         t‹          ‰ j0        dE¦  «        }* t‘          ‰ j4        |*¦  «        ‰jÉ        ¦  «        }+�t•          j£        ‰ j4        |+¦  «        S t3          ‰t4          jË        ¦  «        rÖ‰  (                    tR          j=        ¦  «         t3          ‰ j0        �t˜          ¦  «        r	�tš          },n�t�          ‰‰ j0        ¦  «        },‰ j4        j5         Ï                    dF�t           |,fi ¦  «        }-�t£          |-jÒ        ‰¦  «         �t§          |-‰‰ j0        |,¬G¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S t3          ‰t4          jg        jÔ        ¦  «        r@‰  (                    tR          j=        ¦  «         �t«          j£        ‰ j4        ‰‰ j0        ¦  «        S t3          ‰t4          jh        jÖ        j×        ¦  «        r/‰  (                    tR          j*        ¦  «         �t±          ‰¦  «        S t3          ‰t4          jÙ        ¦  «        r�‰  (                    tR          j=        ¦  «         �t�          ‰‰ j0        ¦  «        },‰ j4        j5         Ï                    dF�t           |,fi ¦  «        }.�t£          |.jÒ        ‰¦  «         �tµ          |.‰|,‰ j0        ¬"¦  «        S tq          ‰�t¶          jÜ        ¦  «        rL�t+          jÝ        ‰dHd ¦  «        €5‰  (                    tR          j=        ¦  «         �t½          ‰ j0        ¬"¦  «        S �t¿          jà        ‰¦  «        r[‰  (                    tR          j=        ¦  «         �t¿          ‰‰ j0        ¬"¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S t3          ‰t4          já        jâ        ¦  «        r^‰  (                    tR          j*        ¦  «         �tÇ          ‰ j0        ¦  «        ‰ _0        �tÉ          ‰‰ j0        �tË          ¦   «         ¬¦  «        S t3          ‰t4          jæ        ¦  «        r/‰  (                    tR          jç        ¦  «         �tÑ          ‰¦  «        S �tÓ          jê        ‰¦  «        r�tÓ          ‰‰ j0        ¬"¦  «        S ‰tª          u r.‰  (                    tR          j*        ¦  «         �t×          ¦   «         S t1          ‰¦  «        �tØ          v rMt1          ‰¦  «        �tÚ          vr6‰  (                    tR          jš        ¦  «         �tÝ          ‰‰ j0        ¬"¦  «        S t3          ‰�tÞ          ¦  «        �rt3          ‰�tà          ¦  «        }/�tã          ‰ j0        |/¦  «        }0t1          ‰¦  «        ‰ j4        j5        jò        jó        v r*‰ j4        j5        jò        jó        t1          ‰¦  «                 }1n™‰ j4        j5        jô         õ                    ‰jö        |0�tî          jø        ¬I¦  «        }2‰ j4        j5        jô         ù                    |2‰jö        |0¬J¦  «        }1t3          |1�tô          ¦  «        s �t%          dKt-          |1¦  «        › �¦  «        ‚‰ j4        j5        jò         û                    �tù          jý        dLdM‰ jþ        ¦  «        t-          |1¦  «        |1|0¬"¦  «        }3�tÿ          |0|1dNd dN|1¬O¦  «        |3jÒ        �j         dP<   |1jÒ        �j        }4t3          |4�t          �j        ¦  «        s�t%          |4› dQ�¦  «        ‚‰ j4        j5        �j         ‚                    �t          |1|0d ¦  «        ¦  «         �t          j£        ‰ j4        |3|1¦  «        S �t          ‰¦  «        �r]t3          ‰t4          jú        ¦  «        r‰ j0        n�t          ‰ j0        ¦  «        }0d }5‰jÒ        � 	                    ¦   «         rM‰ j4        j5        jô        � 
                    �t          ‰jÒ        �j        ¦  «        |0�tî          jø        ¬R¦  «        }5n_t3          ‰t4          �j        ¦  «        r%‰ j4        j5        jô        �                     ¦   «         }5nt¯          dSd=dTg t°          jY        ¢¬(¦  «         |5€�t%          dU¦  «        ‚t3          |5�tô          ¦  «        s �t%          dKt-          |5¦  «        › �¦  «        ‚‰ j4        j5        jò         û                    �tù          jý        dLdM‰ jþ        ¦  «        t-          |5¦  «        |5|0¬"¦  «        }3�tÿ          |0|5dNd dN|5¬O¦  «        |3jÒ        �j         dP<   |5jÒ        �j        }4t3          |4�t          �j        ¦  «        s�t%          |4› dQ�¦  «        ‚‰ j4        j5        �j         ‚                    �t          |5|0d ¦  «        ¦  «         t3          ‰t4          jú        ¦  «        r|5n|5dVk    }6�t          |3|6¦  «        S t3          ‰|	|f¦  «        r8‰  (                    tR          j*        ¦  «         �t          ‰d d ‰ j0        ¬"¦  «        S ‰|
u r�t!          dV¬W¦  «        S ‰|u r�t!          d¬W¦  «        S ‰|�j        u r�t%          ¦   «         S ‰|u r�t'          ‰¦  «        S t3          ‰t4          �j        �j        �j        ¦  «        r�t3          ‰t4          �j        �j        �j        ¦  «        r‰ �                     ‰¦  «        S ‰  (                    tR          j*        ¦  «         �t3          ‰�j        ‰�j        ‰�j        ‰�j        g‰ j0        ¬X¦  «        S �t=          �j        ‰¦  «        r€�t+          j™        ‰¦  «        r ‰  (                    tR          jš        ¦  «         n4�t+          j–        ‰¦  «        r‰  (                    tR          j˜        ¦  «         �t=          ‰‰ j0        ¬"¦  «        S �t+          jÝ        ‰dYdN¦  «        rE‰  (                    tR          j=        ¦  «         �tA          ‰dZ‰ j0        �tË          ¦   «         ¬¦  «        S �tC          ‰¦  «        rE‰  (                    tR          j=        ¦  «         �tA          ‰d[‰ j0        �tË          ¦   «         ¬¦  «        S ‰�tD          �j#        u s"�tD          �j$        d\k    r'‰�tD          �j%        u r�tM          ‰‰ j0        ¬"¦  «        S �tO          ‰¦  «        r\�t+          jÝ        ‰d]dN¦  «        rE‰  (                    tR          j=        ¦  «         �tA          ‰d]‰ j0        �tË          ¦   «         ¬¦  «        S ‰tt          �j(        u r6‰  (                    tR          j*        ¦  «         �tS          ‰‰ j0        ¬"¦  «        S �tU          ‰¦  «        x}7�u‰  (                    tR          j*        ¦  «         ‰j­        }8‰ j0        ot‹          ‰ j0        d;¦  «        }9t‡          j|        ‰ j4        |8|9¦  «        }:�tW          |7|:‰ j0        ¬"¦  «        S �tY          ‰¦  «        r~‰�tZ          �j.        �tZ          �j/        fv r`‰  (                    tR          j*        ¦  «         �t]          �ta          �tZ          ‰ j0        ¬"¦  «        ‰�j1        t-          ‰¦  «        ¬@¦  «        S �tO          ‰¦  «        r_�te          ‰¦  «        \  Š};|;�t‹          ‰ j0        |;¦  «        ‰ _0        �t!          �j3        ‰¦  «         ¿                    ‰‰ j0        ¬"¦  «        S ‰�th          �j5        u r5‰  (                    tR          j*        ¦  «         �tm          ‰ j0        ¬"¦  «        S tq          ‰�th          �j5        ¦  «        rs�to          �j8        ‰¦  «        r]‰  (                    tR          j=        ¦  «         �to          ‰‰ j0        ¬"¦  «        }‰ j4        j5        j6         K                    ‰|¦  «         |S t3          ‰�t&          �j9        �tt          �j;        f¦  «        r^‰  (                    tR          �j<        ¦  «         �t{          ‰‰ j0        ¬"¦  «        }‰ j4        j5        j6         7                    ‰|¦  «         |S t3          ‰�t&          �j>        ¦  «        r�t          ‰¦  «        S t3          ‰�t&          �j@        ¦  «        r�tƒ          ‰¦  «        S t3          ‰�t&          �jB        ¦  «        r·�t+          jÝ        t-          ‰j­        ¦  «        ‰�j1        ¦  «        }7t3          |7�t&          �jC        ¦  «        s �t%          d^t-          |7¦  «        › �¦  «        ‚‰ j0        ot‹          ‰ j0        d;¦  «        }9t‡          j|        ‰ j4        ‰j­        |9¦  «        }:�t‰          |7|:¦  «        S �t‹          t-          ‰¦  «        t,          ¦  «        rF�t‹          ‰�tŒ          ¦  «        r/‰  (                    tR          j*        ¦  «         �t�          ‰¦  «        S �t‹          t-          ‰¦  «        t,          ¦  «        �rA‰t4          �jH        �jI        �jJ        t4          j        �jK        t4          j        �jL        fv r0�t!          �j3        ‰¦  «         ¿                    ‰‰ j0        ¬"¦  «        S ‰t4          j¤        �jM        u r:‰  (                    tR          jš        ¦  «         �t�          �jO        ‰ j4        ¦  «        S �t‹          ‰t4          j        ¦  «        rM‰t4          j        ur?‰j#        t4          j        j#        u r'�t¡          ‰¦  «        s�t£          ‰‰ j0        ¬"¦  «        S �t¥          ‰ j0        ¦  «        s‰  (                    tR          jš        ¦  «         t3          ‰t,          ¦  «        r2�t‹          ‰tÈ          je        ¦  «        r�t§          ‰‰ j0        ¬"¦  «        S �t©          ‰¦  «        r�t«          ‰‰ j0        ¬"¦  «        S �t§          ‰‰ j0        ¬"¦  «        }�t          ‰d_d ¦  «        pd=}<|<� V                    d`¦  «        s8‰‰ j4        j5        j6        vr%‰ j4        j5        j6         7                    ‰|¦  «        S |S t-          ‰¦  «        t4          jg        �jW        u r‰ �                     ‰¦  «        S �t±          �j        t-          ‰¦  «        ¦  «        �r
ddal0�mY}=�mZ}> t3          ‰t4          �j[        �j\        �j]        ¦  «        r‰�j^        Št4          �j[        �j\        � _                    ‰¦  «        rŸ‰ j4        j5        jò         û                    �tù          jý        dLdM‰ jþ        ¦  «        t-          ‰¦  «        ‰‰ j0        ¬"¦  «        }?�tÿ          ‰ j0        ‰dNd dN‰¦  «        |?jÒ        �j         dP<   �t±          j£        |?‰‰ j0        ‰ j4        ¬b¦  «        S �tÁ          t-          ‰¦  «        ¦  «        r"‰  (                    tR          �ja        ¦  «         �n=�tÅ          t-          ‰¦  «        ¦  «        rA‰  (                    tR          �jc        ¦  «         ‰  (                    tR          �jd        ¦  «         nßt%          ‰dc¦  «        s‰ �                     ‰¦  «        S �tË          �jf         t‘          ‰ j4         |>‰ j0        ¦  «        ¦  «        ‰� g                    ¦   «         � h                    ¦   «         ¦  «        ¦  «         �tË          �jf         t‘          ‰ j4         |=‰ j0        ¦  «        ¦  «        ‰� i                    ¦   «         ¦  «        ¦  «         t4          �j[        �j\        � j                    ‰ j4        j5        �jk        ‰¦  «        }@�tÁ          t-          ‰¦  «        ¦  «        r"�tÙ          t-          ‰¦  «        ¦  «        s‰}@‰}?nõtB          �jm        rl�tÝ          ‰ j0        ¦  «        s*�tß          ‰ j0        ¦  «        s�tá          ‰ j0        ¦  «        r-‰ j4        j5        � q                    ‰‰ jþ        ‰ j0        ¬"¦  «        S ‰ j4        j5        jò         û                    �tù          jý        dLdM‰ jþ        ¦  «        t-          ‰¦  «        |@‰ j0        ¬"¦  «        }?�tÿ          ‰ j0        ‰dNd dN|@¦  «        |?jÒ        �j         dP<   �t±          j£        |?|@‰ j0        ‰ j4        ¬b¦  «        S t3          ‰tr          tt          j<        f¦  «        �r–t-          ‰¦  «        �jr        tr          �jr        u �rs‰  (                    tR          j=        ¦  «         ‰  (                    tR          j-        ¦  «         ‰ j4        j5        j?         @                    ‰ j0        ¦  «         dt‚          dt‚          dt‚          dt„          t†          t†          f         fˆ fdd„ŠHts          ˆHfde„t‰          ‰¦  «        D ¦   «         ¦  «        }t3          ‰tt          j<        ¦  «        }At�          ||Artt          j<        ntr          tc          ¦   «         ‰ j0        ¬ ¦  «        }dB|�_s        |Art•          ‰|‰ j0        ¬!¦  «        }n�té          ‰|‰ j0        ¬!¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S t3          ‰t„          ¦  «        rÓ‰  (                    tR          j=        ¦  «         ‰  (                    tR          j-        ¦  «         ˆ ˆfdf„�të          t„          � v                    ‰¦  «        ¦  «        D ¦   «         }t_          |‰ j0        tc          ¦   «         ¬¦  «        }te          ‰|‰ j0        ¬g¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S t3          ‰t¾          ¦  «        rÕ‰  (                    tR          j=        ¦  «         ‰  (                    tR          j-        ¦  «         ˆ ˆfdh„�të          t¾          � v                    ‰¦  «        ¦  «        D ¦   «         }�tï          |‰ j0        tc          ¦   «         ¬¦  «        }B�tñ          ‰|B‰ j0        ¬i¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S t3          ‰t¨          tÂ          f¦  «        �rQ‰  (                    tR          j=        ¦  «         ‰  (                    tR          j-        ¦  «         t¿          tr          � y                    ‰¦  «        ¦  «        ŠFˆFˆ fdj„�të          t¾          � v                    ‰F¦  «        ¦  «        D ¦   «         }t3          ‰t¨          ¦  «        rt´          }Cn<t3          ‰tÂ          ¦  «        s �t%          dkt-          ‰¦  «        › �¦  «        ‚tÆ          }C |C|‰ j0        tc          ¦   «         ¬¦  «        }D�tõ          ‰|D‰ j0        ¬l¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S �t‹          t-          ‰¦  «        �tö          ¦  «        r[‰  (                    tR          j=        ¦  «         �tù          ‰‰ j0        ¬"¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S �tû          ‰¦  «        r[‰  (                    tR          j=        ¦  «         �tý          ‰‰ j0        ¬"¦  «        }‰ j4        j5        j6         7                    ‰|¦  «        S t3          ‰�tþ          ¦  «        rÏt}          dm„ ‰D ¦   «         ¦  «        r“ˆ fdn„‰D ¦   «         }t·          ‰                      ¦   «          \                    tR          j-        ¦  «        ‰                      ¦   «          \                    tR          jb        ¦  «        ¦  «         �t          |‰ j0        ¬"¦  «        S t¯          dodpdq„ ‰D ¦   «         › �drdsg¬(¦  «         d S �t          jà        ‰¦  «        �r`ddt�l‚�mƒ}E ‰�j„        �‰�j„        j        |E�j…        k    r‰ � †                    ‰�j‡        ¦  «        S ‰�j„        j        |Ejø        k    r{�t          � ‰                    du‰ j0        jþ        �tî          jø        ¦  «         ‰ � †                    ‰�j‡        �tî          jø        �t          �t          dN¬v¦  «        ¬w¦  «        ¬x¦  «        S ‰�j„        j        |E�jŒ        k    r\�t          � ‰                    du‰ j0        jþ        �tî          jø        ¦  «         ‰ � †                    ‰�j‡        �tî          jø        ¬y¦  «        S �tU          dz‰�j„        › �¦  «        ‚tq          ‰�t          ¦  «        r6‰  (                    tR          j=        ¦  «         �t          ‰‰ j0        ¬"¦  «        S ‰ �                     ‰¦  «        S )|Nr   )Ú
has_tritonÚ has_triton_experimental_host_tmaÚ%has_triton_tensor_descriptor_host_tmarG   )ÚCudagraphOverrideContextManagerÚDynamoConfigPatchProxyÚ(ErrorOnGraphBreakDecoratorContextManager)Ú	Autotuner)ÚJITFunctionc                   ó   — e Zd ZdS )ú*VariableBuilder._wrap.<locals>.JITFunctionNr~  r1  r2  r"  rV  rX    ó   € € € € € Ø�r2  rV  c                   ó   — e Zd ZdS )ú(VariableBuilder._wrap.<locals>.AutotunerNr~  r1  r2  r"  rU  r[     rY  r2  rU  r  c                  ó   — d S rq  r1  r1  r2  r"  Úcreate_1d_tma_descriptorz7VariableBuilder._wrap.<locals>.create_1d_tma_descriptor$  ó   € ØˆDr2  c                  ó   — d S rq  r1  r1  r2  r"  Úcreate_2d_tma_descriptorz7VariableBuilder._wrap.<locals>.create_2d_tma_descriptor'  r^  r2  c                   ó&   — e Zd Zedd„¦   «         ZdS )ú/VariableBuilder._wrap.<locals>.TensorDescriptorr  Nc                  ó   — d S rq  r1  r1  r2  r"  Úfrom_tensorz;VariableBuilder._wrap.<locals>.TensorDescriptor.from_tensor+  s   € à�r2  rž  )r*  r+  r,  Ústaticmethodrd  r1  r2  r"  ÚTensorDescriptorrb  *  s2   € € € € € Øðð ð ñ Œ\ðð ð r2  rf  c                  ó   — d S rq  r1  r1  r2  r"  Úset_allocatorz,VariableBuilder._wrap.<locals>.set_allocator/  r^  r2  )r]  r`  )rf  rh  c           	      óŠ   •— g | ]?}t          j        t          ‰|¦  «        t          ‰j        |¦  «        ‰j        ¬ ¦  «        ‘Œ@S ©©rG  r¬  )rÆ   r7  Úgetattrr[   rG  r¬  )rº  r'  r‰  ro  s     €€r"  rç  z)VariableBuilder._wrap.<locals>.<listcomp>c  s^   ø€ ð -ð -ð -ð õ $Ô*Ý˜E 4Ñ(Ô(Ý% d¤k°4Ñ8Ô8Ø”wðñ ô ð-ð -ð -r2  r(  )rG  Útuple_vtc              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S rq  r-  r/  s     r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>y  s.   è è € ÐJÐJ¸qÕ,Ô7¸Ñ:Ô:ÐJÐJÐJÐJÐJÐJr2  Úir0  r3  c                 ó  •— ‰	                      ¦   «         }‰rt          j        |¦  «        }|}n,t          || ¦  «        }t	          j        ||‰	j        ¬¦  «        }t          ||¦  «        }t	          j        ||‰	j        ¬¦  «        }||fS r5  )rá  r§   r7  r^   rÆ   r¬  ra   )
ro  r0  r3  rJ  r7  r8  r9  r:  rC  r‰  s
           €€r"  r;  z.VariableBuilder._wrap.<locals>.build_key_value”  sŽ   ø€ ð —’Ñ(Ô(�Øð PÝ*Ô1°!Ñ4Ô4�CØ!"�J�Jå!3°D¸!Ñ!<Ô!<�JÝ-Ô4°Q¸
ÀtÄwÐOÑOÔO�CÝ0°°zÑBÔB�Ý/Ô6°q¸,È4Ì7ÐSÑSÔS�	à˜I�~Ð%r2  c              3   ó:   •K  — | ]\  }}} ‰|||¦  «        V — Œd S rq  r1  ©rº  ro  r0  r3  r;  s       €r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>£  óK   øè è € ð ð á�A�q˜!ð  �  1 aÑ(Ô(ðð ð ð ð ð r2  Údefault_factory)r)  rG  )rt  rD  rG  )Úuser_clsr)  rG  )rD  rG  r”  c              3   óJ   K  — | ]}t          |t          j        ¦  «        V — Œd S rq  )rI  r  r�  ©rº  Úxs     r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>Ñ  s.   è è € Ð>Ð>°1•:˜a¥¤Ñ.Ô.Ð>Ð>Ð>Ð>Ð>Ð>r2  z$Attempted to wrap a set with tensorsz+Python set containing torch.Tensor elementsz©Dynamo cannot trace sets of tensors. To get a stable ordering, Dynamo needs to convert the set into a list and the order might not be stable if the set contains tensors.z,Use a dictionary where the keys are tensors.r!  Ú_dictc           	      ót   •— g | ]4\  }}t          j        |t          ‰j        |¦  «        ‰j        ¬ ¦  «        ‘Œ5S rj  )rÆ   r7  rp   rG  r¬  )rº  ro  r3  r‰  s      €r"  rç  z)VariableBuilder._wrap.<locals>.<listcomp>ò  sX   ø€ ð ð ð ñ �A�qõ $Ô*ØÝ:¸4¼;ÈÑJÔJØ”wðñ ô ðð ð r2  c              3   óÊ   K  — | ]^}t          |¦  «        t          j        u r|j        d k    p3|t          j        j        j        v pt          |t          t          f¦  «        V — Œ_dS )r  N)rB  rr  rs  r+  r  r
  Ú_pytreeÚBUILTIN_TYPESrI  r    r!   rw  s     r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>ü  sƒ   è è € ð .
ð .
ð õ �a‘”�EÔ3Ð3ÐO¸¼ÈÒ8Oð >ð •U”[Ô(Ô6Ð6ð>õ ˜1�zÕ+;Ð<Ñ=Ô=ð.
ð .
ð .
ð .
ð .
ð .
r2  c                 óP   •— g | ]"}t                                ‰j        |¦  «        ‘Œ#S r1  ©ÚSourcelessBuilderr7  r¬  ©rº  r3  r‰  s     €r"  rç  z)VariableBuilder._wrap.<locals>.<listcomp>  s,   ø€ ÐIÐIÐI¸aÕ&×-Ò-¨d¬g°qÑ9Ô9ÐIÐIÐIr2  c              3   ó    •K  — | ]}‰|u V — Œ	d S rq  r1  )rº  r  ro  s     €r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>  s8   øè è € ð %
ð %
ØˆE�RˆKð%
ð %
ð %
ð %
ð %
ð %
r2  ÚfuncÚargsÚkeywordsz,functools.partial() with non-literal keywordznon-literal keyword: z3functools.partial() expects literal/string keywordsÚ
cache_hash)Úoriginal_cache_hashz)numpy must be available for numpy tracingÚ__func__ÚdtypeÚsaved_tensors)rG  rŠ  rt  r*  r?  Úapply)rL  ©Úpy_typec                  óÌ   •— t          t          j        j        j        j        ¦  «                             ‰ j        ‰ j        j        j	         
                    ¦   «         gi ¦  «        S rq  )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>Â  sS   ø€ Õ,Ý”MÔ0ÔKÔ`ñô ç’-Ø”GØ”W”^Ô0×KÒKÑMÔMÐNØñô ð r2  Tz9Attempted to wrap torch._higher_order_ops.invoke_subgraphzJDirectly using invoke_subgraph is not supported. Use nested_compile_regionÚstreamr°  )rG  Úuser_object_indexÚenter_result)rG  Údynamic_dim)ÚhintrG  úExpected SymInt, got ú[^a-zA-Z0-9]+r¶  F)r„  r…  Úgraphargú is not a basic Symbol.)r—  z!Attempted to wrap unbacked SymIntz+Unbacked SymInt input is not supported yet.z*new_symint must not be None after wrappingr�   )Úrank)Útarget_valuesrG  Ú__script_if_tracing_wrapperÚ__original_fnÚ__wrapped__)é   é   r'  ú$expected WrapperDescriptorType, got r+  )ztorch.Útorch_)ÚFlattenScriptObjectSourceÚScriptObjectQualifiedNameSourcerk  Ú__obj_flatten__c                 óä   •— ‰                      ¦   «         }t          || ¦  «        }t          j        ||‰j        ¬¦  «        }t          ||¦  «        }t          j        ||‰j        ¬¦  «        }||fS r5  )rá  r^   rÆ   r7  r¬  rb   )	ro  r0  r3  rJ  r8  r7  r9  r:  r‰  s	           €r"  r;  z.VariableBuilder._wrap.<locals>.build_key_valueù  sn   ø€ ð —’Ñ(Ô(�Ý/°°aÑ8Ô8�
Ý)Ô0°°JÀ4Ä7ÐKÑKÔK�å8¸¸zÑJÔJ�Ý/Ô6°q¸,È4Ì7ÐSÑSÔS�	à˜I�~Ð%r2  c              3   ó:   •K  — | ]\  }}} ‰|||¦  «        V — Œd S rq  r1  rr  s       €r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>  rs  r2  c           	      óº   •— g | ]W}t          j        t                               ‰|¦  «        t	          ‰                     ¦   «         |¦  «        ‰j        ¬ ¦  «        ‘ŒXS rj  )rÆ   r7  rõ  Ú__getitem__re   rá  r¬  ©rº  ro  r‰  ro  s     €€r"  rç  z)VariableBuilder._wrap.<locals>.<listcomp>"  sl   ø€ ð ð ð ð õ $Ô*Ý×%Ò% e¨QÑ/Ô/Ý(¨¯ªÑ):Ô):¸AÑ>Ô>Ø”wðñ ô ðð ð r2  )rm  rG  c           	      óº   •— g | ]W}t          j        t                               ‰|¦  «        t	          ‰                     ¦   «         |¦  «        ‰j        ¬ ¦  «        ‘ŒXS rj  )rÆ   r7  rö  r¬  rm   rá  r¬  r­  s     €€r"  rç  z)VariableBuilder._wrap.<locals>.<listcomp>:  sl   ø€ ð ð ð ð õ $Ô*Ý×$Ò$ U¨AÑ.Ô.Ý,¨T¯_ª_Ñ->Ô->ÀÑBÔBØ”wðñ ô ðð ð r2  )Úlist_vtrG  c           	      óº   •— g | ]W}t          j        t                               ‰|¦  «        t	          ‰                     ¦   «         |¦  «        ‰j        ¬ ¦  «        ‘ŒXS rj  )rÆ   r7  rö  r¬  rp   rá  r¬  )rº  ro  ÚLr‰  s     €€r"  rç  z)VariableBuilder._wrap.<locals>.<listcomp>N  sl   ø€ ð ð ð ð õ $Ô*Ý×$Ò$ Q¨Ñ*Ô*Ý:¸4¿?º?Ñ;LÔ;LÈaÑPÔPØ”wðñ ô ðð ð r2  zExpected frozenset, got )Úset_vtrG  c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S rq  r-  r/  s     r"  r»  z(VariableBuilder._wrap.<locals>.<genexpr>k  s.   è è € ÐAÐA°aÕ#Ô.¨qÑ1Ô1ÐAÐAÐAÐAÐAÐAr2  c                 óP   •— g | ]"}t                                ‰j        |¦  «        ‘Œ#S r1  r  r�  s     €r"  rç  z)VariableBuilder._wrap.<locals>.<listcomp>q  s,   ø€ ÐMÐMÐMÀ!Õ*×1Ò1°$´'¸1Ñ=Ô=ÐMÐMÐMr2  znon-const keys in dict_keysr1  c                 ó:   — g | ]}t          j        |¦  «        °|‘ŒS r1  r-  r/  s     r"  rç  z)VariableBuilder._wrap.<locals>.<listcomp>z  s*   € Ð/gÐ/gÐ/g°aÕHXÔHcÐdeÑHfÔHfÐ/g°Ð/gÐ/gÐ/gr2  z.Dynamo expects dict_keys keys to be constants.zCEnsure your dict_keys keys are constants (e.g. int, float, strings))Ú_DimHintTypez%s marked %s via IntWrapper©Ú	warn_only)Ú
constraint)Údynamismr#  ©rº  zUndefined dynamism rž  (�  Útorch.utils._tritonrO  rP  rQ  Ú
decoratorsrR  rS  rT  Útriton.runtime.autotunerrU  Útriton.runtime.jitrV  Ú$triton.tools.experimental_descriptorr]  r`  Útriton.tools.tensor_descriptorrf  Útritonr!  rh  rï  r_  rB  rM  r¹  rI  r  r�  rÕ  Ú	parameterÚUninitializedBufferÚUninitializedParameterrA   rH   Únontraceable_tensor_subclassesÚ__torch_dispatch__rC   rô  ÚprofilerÚrecord_functionrÔ  rQ   r  r®   rŠ   ÚSEQUENCE_LENGTHr’   rÎ   rG  r¡   r  Ú
get_vt_clsr¬  r­  rÓ  rÛ  r‘   r@  r÷  ÚdefaultdictÚOrderedDictr  r>  Úguard_on_key_orderrÒ  r   rõ  r£   r�   r[   r¯   r   r¿  rt  r  rB  rÖ  Úwrap_moduler§   r.  r  Ú	overridesÚTorchFunctionModerÿ   ÚsetrB   ÚanyrP   rI   r*  r±   rR   rå  ÚDICT_KEYS_MATCHrï   rö  Ú	enumerateÚ	frozensetÚEQUALS_MATCHrí   ÚenumÚEnumÚDispatchKeyÚ_CÚ
_functorchÚTransformTyperŒ   r  rÔ   Úis_reorderable_logging_functionÚBUILTIN_MATCHÚcallabler�  Úignore_logging_functionsr×   ÚloggingÚLoggerrÙ   r�   r|   rˆ   r}   rÁ   Úshould_wrap_in_hopr  Ú	functoolsÚpartialrá  rƒ  r„  r@  re   r…  rA  Ú
USER_ERRORra   rl  r¸   rŽ   râ   r  Úgenericr  ÚasarrayrL   Úis_numpyr‹  rr  Ú
MethodTyperw  Ú
isfunctionrˆ  rJ  r¸  ÚCLASS_MATCHrÛ   Úis_numpy_dtyperÚ   Úis_numpy_type_infoÚiinforÓ   rµ   Úcan_rewriter7  ÚautogradÚfunctionÚFunctionMetarÑ   ÚFunctionCtxrŠ  rA  rÐ   rà   rt  rÖ   Ú_ImperativeEnginerÏ   r�  r‘  Ú_exec_final_callbacks_stubrØ   rª   Úchangesr«   Úerror_on_graph_breakr©   ÚfwdÚbwdÚlookup_callableÚis_callable_allowedÚ!has_user_defined_allowed_in_graphÚcreate_with_sourceÚnumberÚwrap_unspecialized_primitiver   Ú_higher_order_opsÚinvoke_subgraphrÂ   ÚmakeÚcudaÚStreamContextr”  rñ   ÚStreamr`   r   r   Úcreate_proxyr   r–   Únoderò   Ú_SDPAParamsrë   ÚpyfunctorchÚFuncTorchInterpreterrú   ÚEventrð   Ú
contextlibÚnullcontextrx  r¬   r  Úis_matching_objectÚoptimÚ	Optimizerrr   rç   rž   ÚDispatchKeySetÚDISPATCH_KEY_SET_MATCHrù   r²   Úis_group_member_typerî   r¼  r½  rÄ   r3   r4   rc   Úroot_tracerÚdynamic_scalar_nodesÚ	shape_envÚcreate_unspecified_symbolÚrealr7   ÚDYNAMICÚcreate_symintnoder   Úcreate_graph_inputr  Úsubr'  r€  ÚmetaÚexprÚsympyÚSymbolÚtracked_fakesr>   rõ   r   r_   Úhas_hintÚ$create_unspecified_symint_and_symbolr8  r˜  ÚSymBoolÚcreate_unbacked_symintr½   r¶   rd  r·   r¾   ÚampÚautocast_modeÚautocastÚ_UnmanagedAutocastÚwrap_user_definedr¨   ÚdeviceÚ
fast_dtypeÚ_enabledÚ_cache_enabledrû   Úis_matching_clsrÀ   r‰   ÚsysÚexc_infoÚversion_infoÚ	exceptionr¼   r‡   Ú
namedtupler´   r{  r³   r†   ÚfloatÚfromhexÚhexr¥   r*  r›   Úlookupru  rv  rÞ   rß   Úis_supported_random_objr   rK   ÚDummyModuleÚMODULE_MATCHrÝ   ÚGetSetDescriptorTyper¹   ÚMemberDescriptorTyperº   ÚMethodWrapperTypeÚWrapperDescriptorTyper»   Ú
issubclassÚBaseExceptionr  r
  r  ÚBackwardHookrñ  ÚBufferÚ _unsafe_preserve_version_counterr­   ÚconstructorrD   rö   rh   r  r   rè   r·  Ú	Generatorré   r¦  r§  Ú_libraryÚfake_class_registryÚFakeScriptObjectÚreal_objÚtracing_with_realr   ÚCONSTANT_MATCHr   ÚFAKE_SCRIPT_TYPE_MATCHÚOPAQUE_OBJ_GUARD_FN_MATCHrÆ   Úrealize_allÚ_typeÚqualified_namer¨  Úmaybe_to_fake_objÚ	fake_moder   Úinstall_free_tensorsri   rj   rl   Úregister_attr_or_moduleÚ__new__Úshould_reconstruct_allr
  r\  Ú__len__rÉ   r  Úfromkeysr  r   r  r…   r  r€   rì   r  Útorch.export.dynamic_shapesr¶  rº  ÚSTATICÚwrap_symintÚvalÚlogÚdebugr=   r8   ÚAUTOr‡  rÜ   )Ir‰  ro  rO  rP  rQ  rR  rS  rT  rU  rV  r]  r`  rf  rh  Ú
triton_modÚtype_dispatchÚid_dispatchr­  rm  r  Úfactory_sourcerD  ÚvarÚset_var_clsÚinternal_dict_sourcerA  Úfunc_srcÚfunc_objr„  Úargs_sourcero  Úargr…  Úkeywords_sourcer0  r3  r‡  Ú	dt_sourceÚactual_saved_tensorsrŠ  râ  Úsaved_tensors_sourceÚstream_sourceÚ
stream_varrK  Ústream_proxyÚevent_proxyÚis_intrG  r	  ÚsymÚsym_node_proxyÚsym_exprÚ
new_symintÚtracing_symintÚ
descriptorry  Ú
obj_sourceÚobj_vtÚ	attr_nameÚmodr¦  r§  ÚproxyÚfake_script_objÚis_ordered_dictr¯  Ú
set_vt_clsr²  r¶  r±  rC  r;  sI   ``                                                                    @@@r"  rÙ  zVariableBuilder._wrap
  s›3  øøøøø€ ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð ˆ:‰<Œ<ð 		Ø:Ð:Ð:Ð:Ð:Ð:Ø6Ð6Ð6Ð6Ð6Ð6Ð6ðð ð ð ð ñ ô ð ðð ð ð ð ñ ô ð ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð
	ð 	ð 	ð 	ð ,Ð+Ñ-Ô-ð 	ðð ð ð ð ð ð ð ð 1Ð0Ñ2Ô2ð 	HØGÐGÐGÐGÐGÐGØˆ:‰<Œ<ð 	9Ø'Ð'Ð'Ð'å�z ?Ñ3Ô3ð 9Ø *Ô 8�ð ×+Ò+Ñ-Ô-×1Ò1µ$°u±+´+Ñ>Ô>ˆØÐ$Ø �=  uÑ-Ô-Ð-ð ×'Ò'Ñ)Ô)×-Ò-­b°©i¬iÑ8Ô8ˆØÐ"Ø�;˜t UÑ+Ô+Ð+õ �u�eœlÑ+Ô+ð	/å�U‘”õ ”Ô"Ô6Ý”Ô"Ô9Ýðð	ð 	õ �U‘”¥6Ô#HÐHÐHõ �U‘”Ô.µ%´,Ô2QÐQÐQÝ0°Ñ7Ô7ð Rð ×'Ò'¨Ñ.Ô.Ð.å�e�Uœ^Ô;Ñ<Ô<ð 	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Ý)¨%Ñ0Ô0Ð0Ý˜ÑÔð ~	1Ø×Ò¥Ô <Ñ=Ô=Ð=ð-ð -ð -ð -ð -õ .­d°5©k¬kÑ:Ô:ð-ñ -ô -ˆFõ %ØØ”{Ý3Ñ5Ô5ðñ ô ˆHð
 FÕ-Ô8½¸e¹¼ÑEÔEØØ”{Ø!ðñ ô ˆFð
 ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ�E�D¥+Ô"9½;Ô;RÐSÑTÔTñ h	1Ø×Ò¥Ô 7Ñ8Ô8Ð8ÝÐJÐJÀEÐJÑJÔJÑJÔJˆIð ð Cð" ””Ô1×5Ò5°d´kÑBÔBÐBð&Ýð&Ýð&Ý#&ð&å•­Ð7Ô8ð&ð &ð &ð &ð &ð &ð &õ ð ð ð ð åAÀ%ÑHÔHðñ ô ñ ô ˆFõ
 �e�[Ô4Ñ5Ô5ð Ý!+¨D¬KÐ9JÑ!KÔ!K�Ý+ØÝ"7Ñ"9Ô"9Øœ;ðñ ô �õ
 -ØØ$L¥O°D´G¸^Ñ$LÔ$LØÔ-ñ%ô %ð $Øœ;ðñ ô �ð ”w”~Ô2×HÒHÈÐPVÑWÔWÐWÝ˜�{Ô6Ñ7Ô7ð Ý+ØÝ(Ô4Ý"7Ñ"9Ô"9Øœ;ð	ñ ô �õ -¨U¸GÈDÌKÐXÑXÔX�Ø”w”~Ô2×HÒHÈÐPVÑWÔWÐWå*ØØœ;ðñ ô �ð
 ”7”>Ô.×<Ò<¸UÀFÑKÔKÐKÝ˜�uœxœÑ/Ô/ð W	1Ø×#Ò# EÑ*Ô*Ð*ÝÔ(¨Ñ/Ô/ð U	1Ø×$Ò$ UÑ+Ô+Ð+Ý˜�uœÔ@ÑAÔAð S	1Ý+¨E¸$¼+ÐFÑFÔFˆCØŒGŒNÔ'×=Ò=¸eÀSÑIÔIÐIØˆJÝ�E�C¥Ð,Ñ-Ô-ñ O	1ÝÐ>Ð>¸Ð>Ñ>Ô>Ñ>Ô>ð ÝØBØIð>ð
 Gðå*Ô6ððñ ô ð ð ×Ò¥Ô 7Ñ8Ô8Ð8Ø×Ò¥Ô <Ñ=Ô=Ð=Ý%ˆKå�e�ZÑ(Ô(ð 1å'1°$´+¸wÑ'GÔ'GÐ$ÝØ(×3Ò3µLÔ4PÑQÔQñô ð ð ””Ô1×5Ò5Ð6JÑKÔKÐKÝ0�õ �U‘”ˆAðð ð ð õ & a™LœLðñ ô ˆEð !�[ ¨t¬{Ð;Ñ;Ô;ˆFØ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ�E�9Ñ%Ô%ð c	1­#ð .
ð .
ð ð.
ñ .
ô .
ñ +
ô +
ð c	1ð" JÐIÐIÐIÀ5ÐIÑIÔIˆEØ×Ò¥Ô 9Ñ:Ô:Ð:Ý$ U°4´;Ð?Ñ?Ô?Ð?ÝØÝŒY�Ô)­5¬8Ô+>Ô+LÐMñ
ô 
ð O	1õ % UÑ+Ô+ðO	1ð ×Ò¥Ô 5Ñ6Ô6Ð6Ý,¨U¸4¼;ÐGÑGÔGÐGÝÔ>¸uÑEÔEð I	1ð ×Ò¥Ô :Ñ;Ô;Ð;Ý$ U°4´;Ð?Ñ?Ô?Ð?Ý�e‰_Œ_ð D	1¥ð %
ð %
ð %
ð %
Ý"'¤-Ô"6Ô"Oð%
ñ %
ô %
ñ "
ô "
ð D	1ð ×Ò¥Ô 5Ñ6Ô6Ð6Ý*¨5¸¼ÐEÑEÔEÐEÝ˜�wœ~Ñ.Ô.ð ~	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Ý(¨°t´{ÐCÑCÔCÐCÝ  Ñ'Ô'ð {	1Ý,°D´KÐ@Ñ@Ô@Ð@Ý Ñ&Ô&ð y	1Ý1¸¼ÐEÑEÔEÐEÝ/ÔBÀ5ÑIÔIð w	1Ý5Ô;À4Ä;ÐOÑOÔOÐOÝ˜�yÔ0Ñ1Ô1ñ u	1Ý! $§/¢/Ñ"3Ô"3°VÑ<Ô<ˆHØ9• t¤w°Ñ9Ô9¸%¼*ÑEÔEˆHàˆDÝ$ T§_¢_Ñ%6Ô%6¸Ñ?Ô?ˆKÝ# E¤JÑ/Ô/ð ð ‘��3Ø—’ØK•O D¤G®]¸;ÈÑ-JÔ-JÑKÔKÈCÑPÔPñô ð ð ð ˆHÝ(¨¯ªÑ):Ô):¸JÑGÔGˆOØœ×,Ò,Ñ.Ô.ð 
ð 
‘��1Ý'Ô2°1Ñ5Ô5ð Ý!Ø NØ ;¸Ð ;Ð ;Ø$YØ=Õ 1Ô <Ð=ð	ñ ô ð ð�oØ”GÖ.¨ÀÑBÔBñô àñô �˜‘�õ Ø—’Ñ!Ô!×,Ò,­\Ô-DÑEÔEØ×*Ò*­<Ô+GÑHÔHØ×&Ò&¥|Ô'CÑDÔDñô ð ö #*¨%°¸tÑ"DÔ"DÐÞ+Ø˜$ Ð>Qðñ ô ð ö �uÑÔð R	1à×Ò¥Ô 5Ñ6Ô6Ð6Þ!ØØ”{ðñ ô ð ö ˆ^¥
¨5¶"´*Ñ =Ô =ˆ^à×*Ò*®2¬:°eÑ+<Ô+<Ñ=Ô=Ð=ÞÔ! %Ñ(Ô(ñ H	1Þð RÞ$Ð%PÑQÔQÐQÝ�ežUÔ-Ñ.Ô.ð =æÔ% e¤nÑ5Ô5ð Ý!Ý" 4¤;°
Ñ;Ô;×FÒFÝ(Ô6ñô ñô ð øö
 ” Ñ'Ô'ð =Ø×#Ò#¥LÔ$<Ñ=Ô=Ð=Ð=ÞÔ# EÑ*Ô*ð =Ø×#Ò#¥LÔ$>Ñ?Ô?Ð?Ð?Ý˜%‘”ð =Ø×#Ò#¥LÔ$9Ñ:Ô:Ð:Ð:à×#Ò#¥LÔ$;Ñ<Ô<Ð<Þ  ¨t¬{Ð;Ñ;Ô;Ð;ÞÔ'¨Ñ.Ô.ð t	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ% e°D´KÐ@Ñ@Ô@Ð@ÞÔ+¨EÑ2Ô2ð q	1Ý˜%¦¤Ñ*Ô*ð ;Ø×#Ò#¥LÔ$;Ñ<Ô<Ð<Ý& t¤{°GÑ<Ô<�	Ý˜i×2Ò2µ<Ô3HÑIÔIÑJÔJÐJÐJà×#Ò#¥LÔ$9Ñ:Ô:Ð:Þ'¨°d´kÐBÑBÔBÐBæ.Ô:¸5ÑAÔAð h	1Ø×Ò¥Ô :Ñ;Ô;Ð;Þ4Ô;Ø”ØØ”{ðñ ô ð õ
 �E�5œ>Ô2Ô?Ñ@Ô@ð a	1Ø×Ò¥Ô 8Ñ9Ô9Ð9Þ+ØØ”{ðñ ô ð õ ˜�uœ~Ô6ÔBÑCÔCñ [	1Ø#'Ð ðà',Ô':Ð$Ð$øÞð ð ð Ø�ðøøøð ˆMØ”k×,Ò,­\Ô-DÑEÔEÐFˆFÝÐ.µÑ6Ô6ð 
Ý'1°$´+¸Ñ'OÔ'OÐ$Ø—’Ø(×3Ò3µLÔ4PÑQÔQñô ð õ &Ð&:Ñ;Ô;ð ð ‘D�A�qØ!×(Ò(ð�Ø œG¦]Ð3GÈÑ%KÔ%Kñô àñô ñô ð ð õ
 ˜6Ð"Ð"à”7”>Ô.×DÒDØÞ/ØØœ;Þ"0°Ñ"?Ô"?ðñ ô ñô ð õ �užeÔ.Ñ/Ô/ð|	1åÞ˜˜z¨4Ñ0Ô0µ%´.Ô2IÔ2Vñô ð|	1ö
 ˜˜z¨2Ñ.Ô.°'Ò9Ð9Øž ¤°¸$Ñ?Ô?Ò?Ð?õ Ý˜4Ÿ?š?Ñ,Ô,¨jÑ9Ô9×DÒDÝ Ô.ñô ñô ð ö
 #Þ(Ø”NÝ% d¤k¸*ÐEÑEÔEðñ ô ð Ý˜U™œðñ ô ð õ ˜�uœxÔ9Ñ:Ô:ð f	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ)¨%¸¼ÐDÑDÔDÐDàÝŒ}Ô+ÔFÔaðbð bð ×Ò¥Ô :Ñ;Ô;Ð;Þ!ðð ð ð ñô ð õ ˜Ð5Ñ6Ô6ð U	1Þ,¨U¬]Ñ;Ô;Ð;Ý˜ÐGÑHÔHð S	1Þ,¨UÔ-GÑHÔHÐHÝ˜Ð>Ñ?Ô?ð Q	1Þ,¨U¬Y¸¼	ÑBÔBÐBÝ�e‰_Œ_ð O	1¦Ô!<¸UÑ!CÔ!CÐ!OÞÔ.¨uÑ5Ô5ð HØCG�””Ô@æÔ.¨uÑ5Ô5×HÒHØ˜dœkð Iñ ô ð ö ð H	1•J˜u¦b¤iÑ0Ô0ð H	1Ø×4Ò4°UÑ;Ô;Ð;Ý˜Ö2Ñ3Ô3ð F	1Ø�Ô/Ô?Ð?Ð?ÝØWØØ lØð	ñ ô ð ð ×Ò¥Ô 7Ñ8Ô8Ð8Þ3Ô8¸ÀtÄ{ÐSÑSÔSÐSÝ˜�uœzÔ7Ñ8Ô8ð |
	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Ý& t¤{°HÑ=Ô=ˆMØ@�¨¬°-Ñ@Ô@ÀÄÑNÔNˆJæ(Ô/°´¸ÑDÔDÐDÝ˜�uœ|Ñ,Ô,ð v
	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Ý˜$œ+Ö':Ñ;Ô;ð Aæ,��æ,¨U°D´KÑ@Ô@�Øœ7œ>×6Ò6ØÖ!=À¸xÈñô ˆLö ˜lÔ/°Ñ7Ô7Ð7Þ Ø˜e¨D¬KÈ5ðñ ô ˆCð ”7”>Ô.×DÒDÀUÈCÑPÔPÐPÝ˜¥¤Ô 4Ñ6Ô6ð g
	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ%Ô,¨T¬W°e¸T¼[ÑIÔIÐIÝ˜�uÔ/Ô;ÔPÑQÔQð d
	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ/°Ñ6Ô6Ð6Ý˜�uœ{Ñ+Ô+ð a
	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ(¨°´Ñ<Ô<ˆEØœ'œ.×5Ò5ØÞ,Ø�Øñ	ô ˆKö ˜kÔ.°Ñ6Ô6Ð6Þ ØØØØ”{ð	ñ ô ð õ �5ž*Ô0Ñ1Ô1ðQ
	1æÔ& u¨n¸dÑCÔCÐKà×Ò¥Ô 7Ñ8Ô8Ð8Þ&¨d¬kÐ:Ñ:Ô:Ð:Þ&Ô9¸%Ñ@Ô@ð K
	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ.¨u¸T¼[ÐIÑIÔIˆFà”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ˜�uœ{Ô4Ñ5Ô5ð F
	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ)¨$¬+Ñ6Ô6ˆDŒKÞ$ØØ”{Þ7Ñ9Ô9ðñ ô ð õ
 ˜�uÔ3Ñ4Ô4ð ~		1Ø×Ò¥Ô CÑDÔDÐDÞ)¨%Ñ0Ô0Ð0Þ#Ô8¸Ñ?Ô?ð {		1Þ)¨%¸¼ÐDÑDÔDÐDØ•jÐ Ð Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ*Ñ,Ô,Ð,åˆu‰IŒIÖ+Ð+Ð+Ý�5‘	”	Ö!>Ð>Ð>à×Ò¥Ô 8Ñ9Ô9Ð9Þ$ U°4´;Ð?Ñ?Ô?Ð?Ý˜ž~Ñ.Ô.ñ p		1Ý ¦zÑ2Ô2ˆFÞ(¨¬°fÑ=Ô=ˆFÝ�%‰yŒy˜DœGœNÔ6ÔKÐKÐKð ”w”~Ô1ÔFÅrÈ%ÁyÄyÔQ��à”g”nÔ.×HÒHØ”JØ!Þ *Ô 2ð Iñ ô �ð
 ”w”~Ô/×AÒAØØœØ!ð Bñ ô �õ
 " $®Ñ/Ô/ð OÞ(Ð)MÅÀdÁÄÐ)MÐ)MÑNÔNÐNð "œWœ^Ô7×JÒJÞ”Ð'¨¨d¬iÑ8Ô8Ý�T‘
”
ØØð	 Kñ ô ˆNö 4<ØØØØØØ#'ð4ñ 4ô 4ˆNÔÕ$ ZÑ0ð ”y•~ˆHÝ˜h®­Ñ5Ô5ð KÞ$¨Ð%IÐ%IÐ%IÑJÔJÐJØŒGŒNÕ(×/Ò/¶¸DÀ&È$Ñ0OÔ0OÑPÔPÐPÞ"Ô)¨$¬'°>À4ÑHÔHÐHÞ˜%Ñ Ô ñ G		1õ ˜e¥U¤\Ñ2Ô2ð3�”�æ% d¤kÑ2Ô2ð ð
 ˆJØŒz×"Ó"Ñ$Ô$ð à”G”NÔ,×QÓQÞ˜EœJ�OÑ,Ô,ØÞ$.Ô$6ð Rñ ô ð �
õ ˜e¥U¥]Ñ3Ô3ð à!%¤¤Ô!9×!PÓ!PÑ!RÔ!R�J�Jõ "Ø CØ "Ø$QØ>Õ 1Ô =Ð>ð	ñ ô ð ð Ð!Þ$Ð%QÑRÔRÐRÝ˜j®&Ñ1Ô1ð QÞ$Ð%O½TÀ*Ñ=MÔ=MÐ%OÐ%OÑPÔPÐPØ!œWœ^Ô7×JÒJÞ”Ð'¨¨d¬iÑ8Ô8Ý�ZÑ Ô ØØð	 Kñ ô ˆNö 4<ØØØØØØ#-ð4ñ 4ô 4ˆNÔÕ$ ZÑ0ð "”Õ+ˆHÝ˜h®­Ñ5Ô5ð KÞ$¨Ð%IÐ%IÐ%IÑJÔJÐJØŒGŒNÕ(×/Ò/¶¸JÈÐPTÑ0UÔ0UÑVÔVÐVõ )¨µ´Ñ=Ô=ÐR�
�
À:ÐQRÂ?ð ö # >°>ÑBÔBÐBå˜ ¨YÐ7Ñ8Ô8ð B	1Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ'ØØØØ”{ð	ñ ô ð ð Ð.Ð.Ð.Þ:ÀÐBÑBÔBÐBØÐ.Ð.Ð.Þ:ÀÐBÑBÔBÐBØÐ&Õ2Ð2Ð2Þ4Ñ6Ô6Ð6Ø�mÐ#Ð#Þ-¨eÑ4Ô4Ð4Ý˜�u�yÕ6Õ?Ñ@Ô@ð r	1Ý˜%¥¥Õ!8Õ!KÑLÔLð Ø×-Ó-¨eÑ4Ô4Ð4à×#Ò#¥LÔ$9Ñ:Ô:Ð:Þ+à�ØÕ(Ø�ØÕ,ð	#ð  œ;ðñ ô ð ö *Õ9¸%Ñ@Ô@ð d	1ÞŒ˜uÑ%Ô%ð @Ø×#Ò#¥LÔ$<Ñ=Ô=Ð=Ð=ÞÔ# EÑ*Ô*ð @Ø×#Ò#¥LÔ$>Ñ?Ô?Ð?Þ/°¸d¼kÐJÑJÔJÐJÞÔ# EÐ+HÈ%ÑPÔPð ^	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ.ØØØ”{Þ7Ñ9Ô9ð	ñ ô ð ö +¨5Ñ1Ô1ð V	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ.ØØØ”{Þ7Ñ9Ô9ð	ñ ô ð ð –c•lÐ"Ð"ÞÕ Ò'Ð'¨E¶Sµ]Ð,BÐ,Bæ& u°T´[ÐAÑAÔAÐAÞ# EÑ*Ô*ð J	1®wÔ/EØÐ(¨%ñ0
ô 0
ð J	1ð ×Ò¥Ô 7Ñ8Ô8Ð8Þ.ØØ%Ø”{Þ7Ñ9Ô9ð	ñ ô ð ð •kÕ,Ð,Ð,Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ0°¸t¼{ÐKÑKÔKÐKÞ;¸EÑBÔBÐBˆjÐOØ×Ò¥Ô 5Ñ6Ô6Ð6Øœ.ˆKØœÐL­°D´KÀÑ)LÔ)LˆJÝ$Ô*¨4¬7°KÀÑLÔLˆFÞ-¨j¸&ÈÌÐUÑUÔUÐUÞ˜ÑÔð w	1 E®e­m¾U½YÐ-GÐ$GÐ$GØ×Ò¥Ô 5Ñ6Ô6Ð6Þ"Þ¦¨d¬kÐ:Ñ:Ô:Ø•Ý˜U™œðñ ô ð ö
 $ EÑ*Ô*ð p	1Þ?ÀÑFÔFÑˆE�9ð Ð$Ý(¨¬°iÑ@Ô@�”æÕ% eÑ,Ô,×?Ò?Ø˜dœkð @ñ ô ð ð –f•mÐ#Ð#Ø×Ò¥Ô 5Ñ6Ô6Ð6Þ&¨d¬kÐ:Ñ:Ô:Ð:Ý�Ež6�=Ñ)Ô)ð c	1®nÕ.TØñ/
ô /
ð c	1ð ×Ò¥Ô 7Ñ8Ô8Ð8Þ# E°$´+Ð>Ñ>Ô>ˆFØŒGŒNÔ'×5Ò5°e¸VÑDÔDÐDØˆMõ ˜¦Õ 0¶-Õ2KÐLÑMÔMð Y	1Ø×Ò¥Õ 9Ñ:Ô:Ð:Þ)àØ”{ðñ ô ˆFð
 ŒGŒNÔ'×=Ò=¸eÀVÑLÔLÐLØˆMÝ˜žuÕ9Ñ:Ô:ð P	1ö ,¨EÑ2Ô2Ð2Ý˜žuÕ9Ñ:Ô:ð H	1Þ+¨EÑ2Ô2Ð2Ý˜žuÕ6Ñ7Ô7ð F	1ö
 !Ô/µ°U´^Ñ0DÔ0DÀeÅnÑUÔUˆJÝ˜j®%Õ*EÑFÔFð Þ$ØM½4À
Ñ;KÔ;KÐMÐMñô ð ð œÐL­°D´KÀÑ)LÔ)LˆJÝ$Ô*¨4¬7°E´NÀJÑOÔOˆFÞ(¨°VÑ<Ô<Ð<Þ�˜U™œ¥TÑ*Ô*ð y	1®z¸%ÆÑ/OÔ/Oð y	1à×Ò¥Ô 5Ñ6Ô6Ð6Þ4°UÑ;Ô;Ð;Þ�˜U™œ¥TÑ*Ô*ñ u	1ØÝ•Õ!Õ.Ý”Õ"Ý”•ðð ð ö #Õ)¨%Ñ0Ô0×CÒCØ $¤+ð Dñ ô ð ð �œÕGÐGÐGØ×#Ò#¥LÔ$<Ñ=Ô=Ð=Þ5ÕAÀ$Ä'ÑJÔJÐJö ˜5¥%¤,Ñ/Ô/ðIð ¥¤Ð-Ð-ð Ô,µ´Ô0OÐOÐOö
 ;¸5ÑAÔAð Pö .¨e¸D¼KÐHÑHÔHÐHæ)¨$¬+Ñ6Ô6ð >ð ×#Ò#¥LÔ$<Ñ=Ô=Ð=å˜%¥Ñ&Ô&ð ®:°e½T¼YÑ+GÔ+Gð Þ/ØØœ;ðñ ô ð ö
 ˜eÑ$Ô$ð Þ0ØØœ;ðñ ô ð ö
 .ØØ”{ðñ ô ˆFö ˜% ¨tÑ4Ô4Ð:¸ˆCØ—>“>Ð"6Ñ7Ô7ð Ø ¤¤Ô ;Ð;Ð;Øœ7œ>Ô6×LÒLØ˜vñô ð ð ˆMå�%‰[Œ[�EœHÕ.Ð.Ð.ð ×)Ó)¨%Ñ0Ô0Ð0Þ&Õ6µt¸E±{´{ÑCÔCñ e	1ðð ð ñ ð ñ ð ð õ ˜%¥¥Õ!CÕ!TÑUÔUð 'Ø��õ �~Õ1×CÓCÀEÑJÔJð ØœœÔ2×EÒEÞ”FÐ+¨S°$´)Ñ<Ô<Ý˜‘K”KØØœ;ð	 Fñ ô �ö /7Ø”KØØØØØñ/ô /�”
• 
Ñ+ö 1Ô7ØØØœ;Ø”wð	ñ ô ð ö $¥D¨¡K¤KÑ0Ô0ð  à×#Ò#¥LÕ$?Ñ@Ô@Ð@Ñ@Þ)­$¨u©+¬+Ñ6Ô6ð ð
 ×#Ò#¥LÕ$GÑHÔHÐHØ×#Ò#¥LÕ$JÑKÔKÐKÐKÝ˜UÐ$5Ñ6Ô6ð ð ×-Ó-¨eÑ4Ô4Ð4ö $Õ/ð•OØœÐ!@Ð!@ÀÄÑ!MÔ!Mñô ð Ÿ›™œ×4Ó4Ñ6Ô6ñô ñô ð ö $Õ/ØT•O D¤GÐ-FÐ-FÀtÄ{Ñ-SÔ-SÑTÔTØ×-Ó-Ñ/Ô/ñô ñô ð õ $�nÕ@×RÓRØ””Õ(¨%ñô ˆOö $¥D¨¡K¤KÑ0Ô0ð ¾ÅdÈ5ÁkÄkÑ9RÔ9Rð Ø"'�Ø��åÕ,ð Þ% d¤kÑ2Ô2ðæ*¨4¬;Ñ7Ô7ðö :¸$¼+ÑFÔFðð
 ”w”~×=Ó=Ø˜4œ9¨T¬[ð >ñ ô ð ð
 œœÔ2×EÒEÞ”FÐ+¨S°$´)Ñ<Ô<Ý˜‘K”KØ#Øœ;ð	 Fñ ô �ö /7Ø”KØØØØØ#ñ/ô /�”
• 
Ñ+ö -Ô3ØØØ”{Ø”7ð	ñ ô ð õ �u�t¥[Ô%<Ð=Ñ>Ô>ñs	1å�U‘”Õ#¥t¥|Ð3Ñ3ð ×Ò¥Ô 7Ñ8Ô8Ð8Ø×Ò¥Ô <Ñ=Ô=Ð=ð ŒGŒNÔ-×1Ò1°$´+Ñ>Ô>Ð>ð
&Ýð
&Ýð
&Ý#&ð
&å•­Ð7Ô8ð
&ð 
&ð 
&ð 
&ð 
&ð 
&õ ð ð ð ð åAÀ%ÑHÔHðñ ô ñ ô ˆFõ
 )¨µÔ0GÑHÔHˆOÝ'ØØ5DÐN�+Ô1Ð1Í$Ý3Ñ5Ô5Ø”{ð	ñ ô ˆGð .2ˆGÕ*àð Ý,¨U¸GÈDÌKÐXÑXÔX��æ0Ø 7°4´;ðñ ô �ð ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ˜�uÑ%Ô%ð C	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Ø×Ò¥Ô <Ñ=Ô=Ð=ðð ð ð ð ö �uŸ}›}¨UÑ3Ô3Ñ4Ô4ðñ ô ˆFõ %ØØ”{Ý3Ñ5Ô5ðñ ô ˆHõ
 .Ø °´ðñ ô ˆFð ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ˜�tÑ$Ô$ð k	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Ø×Ò¥Ô <Ñ=Ô=Ð=ðð ð ð ð ö �tŸ|›|¨EÑ2Ô2Ñ3Ô3ðñ ô ˆFö #ØØ”{Ý3Ñ5Ô5ðñ ô ˆGö
 -¨U¸GÈDÌKÐXÑXÔXˆFØ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ˜¥¥YÐ/Ñ0Ô0ñ V	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Ø×Ò¥Ô <Ñ=Ô=Ð=å•T—]“] 5Ñ)Ô)Ñ*Ô*ˆAðð ð ð ð ö �tŸ|›|¨A™œÑ/Ô/ðñ ô ˆFõ ˜%¥Ñ%Ô%ð /Ý(�
�
å! %­Ñ3Ô3ð SÞ(Ð)QÅDÈÁKÄKÐ)QÐ)QÑRÔRÐRÝ.�
à�ZØ˜tœ{Õ:OÑ:QÔ:Qðñ ô ˆFö ,¨E¸&ÈÌÐUÑUÔUˆFØ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÞ�˜U™œ¦^Ñ4Ô4ð =	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ+¨E¸$¼+ÐFÑFÔFˆFØ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÞ  Ñ'Ô'ð 9	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ,¨U¸4¼;ÐGÑGÔGˆFØ”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝ˜žyÑ)Ô)ð 5	1ÝÐAÐA¸5ÐAÑAÔAÑAÔAð ð NÐMÐMÐMÀuÐMÑMÔM�ÝØ—O’OÑ%Ô%×0Ò0µÔ1MÑNÔNØ—O’OÑ%Ô%×0Ò0µÔ1JÑKÔKñô ð ö *¨%¸¼ÐDÑDÔDÐDåØ9ØiÐ/gÐ/g¸5Ð/gÑ/gÔ/gÐiÐiØ Pà]ðð	ñ ô ð ð ð ö  Ô2°5Ñ9Ô9ñ 	1Ø@Ð@Ñ@Ñ@Ð@Ð@à�~Ð%¨­Ô)<ÀÕ@SÒ)SÐ)SØ×'Ó'¨­	Ñ2Ô2Ð2Ø•Ô$¨Ô(<Ò<Ð<Þ—	“	Ø1Ø”KÔ$ÞÔ&ñô ð ð
 ×'Ó'Ø•IÞ'Ô/Þ1Þ#:ÀUÐ#KÑ#KÔ#Kðñ ô ð (ñ ô ð ð •Ô$¨Õ(9Ò9Ð9Þ—	“	Ø1Ø”KÔ$ÞÔ&ñô ð ð
 ×'Ó'¨­	¾JÔ<NÐ'ÑOÔOÐOæ"Ð#I¸½Ð#IÐ#IÑJÔJÐJÝ�Ež6Ñ"Ô"ð 	1Ø×Ò¥Ô 7Ñ8Ô8Ð8Þ! %°´Ð<Ñ<Ô<Ð<à×)Ó)¨%Ñ0Ô0Ð0s   Á@#A@+ Á@+A@9Á@8A@9c                 ó0  — ddl m} |                      t          j        ¦  «         t          j        |¦  «        r$t          |t          | j        ¦  «        ¬¦  «        }nrt          ||¦  «        rLt          |¦  «        t          vr6|                      t          j        ¦  «         t          || j        ¬¦  «        }nt          || j        ¬¦  «        }t          j        t          |¦  «        ¦  «        s|S | j        j        j                             ||¦  «        S )Nr�   )Ú_CONSTANT_BASE_TYPESr”  )Úuser_definedr†  rÔ  rQ   r  r  r  rt   rG  rI  rB  r   ÚCONSTANT_SUBCLASS_MATCHr	  r  rY   Ú"cls_supports_mutation_side_effectsr¬  r­  rÓ  rÛ  )r‰  ro  r†  r  s       r"  r,  z!VariableBuilder.wrap_user_defined¡  s  € Ø6Ð6Ð6Ð6Ð6Ð6à×Ò�LÔ3Ñ4Ô4Ð4ÝÔ-¨eÑ4Ô4ð 	Jõ
 % Uµ?À4Ä;Ñ3OÔ3OÐPÑPÔPˆFˆFå�uÐ2Ñ3Ô3ð	Jå�U‘”Õ#8Ð8Ð8à×Ò¥Ô DÑEÔEÐEÝ0°¸t¼{ÐKÑKÔKˆFˆFå.¨u¸T¼[ÐIÑIÔIˆFÝÔ=½dÀ5¹k¼kÑJÔJð 	àˆMØŒwŒ~Ô*×@Ò@ÀÈÑOÔOÐOr2  c                 óJ  ‡ — t           j        rOt          |¦  «        t          j        u r4‰                      t          j        ¦  «         t          j	        |¬¦  «        S ‰                      t          j
        ¦  «         t          |t          ¦  «        rot          d„ |D ¦   «         ¦  «        rV‰ j        j                             ¦   «         r8‰                      t          j        ¦  «         t#          d„ |D ¦   «         ¦  «        S ˆ fd„t%          |¦  «        D ¦   «         }‰ j        j        j                             d¦  «        }t/          ‰ j        t0          ¦  «        �rß‰ j        j        t5          |¦  «        v �rÃ‰ j        }t/          |t6          ¦  «        st9          dt          |¦  «        › �¦  «        ‚‰ j        j        j                             t?          j         dd‰ j!        ¦  «        t          |¦  «        ||¬	¦  «        }d
|j"        j#        d<   tI          tJ          ‰ j        ||d |¬¦  «        }g }t%          |j&        ¦  «        D ]­\  }}	tO          ||d¬¦  «        }
|	‰ j        j        j(        |
<   tS          ||         ¦  «        |	j*        j"        j#        d<   tW          j,        t          j-        t]          ||         ¦  «        ¬¦  «        }| /                    |
 0                    |¦  «        ¦  «         Œ®tc          |ddiŽ te          ||dd d¬¦  «        }||j"        j#        d<   |D ]}| 3                    ¦   «          Œ ti          j5        |¦  «        |‰ j        ¬	¦  «        }t          |t6          tl          j7        f¦  «        r%‰ j        j        j8         9                    ||¦  «        S |S )N©ro  c              3   ó>   K  — | ]}t          j        |¦  «        V — Œd S rq  r-  ©rº  Úitems     r"  r»  z0VariableBuilder.wrap_listlike.<locals>.<genexpr>È  s.   è è € ÐHÐH¸$Õ$Ô/°Ñ5Ô5ÐHÐHÐHÐHÐHÐHr2  c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS r1  ©r§   r7  r�  s     r"  rç  z1VariableBuilder.wrap_listlike.<locals>.<listcomp>Ì  s$   € Ð!RÐ!RÐ!RÀDÕ"2Ô"9¸$Ñ"?Ô"?Ð!RÐ!RÐ!Rr2  c           	      óŽ   •— g | ]A\  }}t          j        |t          ‰                     ¦   «         |¦  «        ‰j        ¬ ¦  «        ‘ŒBS rj  )rÆ   r7  re   rá  r¬  )rº  ro  rŽ  r‰  s      €r"  rç  z1VariableBuilder.wrap_listlike.<locals>.<listcomp>Î  s`   ø€ ð 
ð 
ð 
ñ ��4õ  Ô&ØÝ$ T§_¢_Ñ%6Ô%6¸Ñ:Ô:Ø”7ðñ ô ð
ð 
ð 
r2  r‰  z!Expected list for steal_arg, got rš  r¶  r”  TÚ	steal_arg)Ú
target_clsr¬  r�  Úexample_valueÚsubclass_typerG  F©rJ  rK  Úindex_is_sliceÚtensor_dictrè  r�   )r‚  rƒ  r„  r›  ):rH   Úspecialize_intrB  r  rù  rÔ  rQ   rN  r§   r7  rÊ  r‘   rõ  r>  rG  Úguard_sourceÚis_unspecialized_nn_modulerÎ   rÕ  r¬  r­  Úlocal_scoper_  rI  rn   rN  rƒ   rö  r‹  r  r  r  r  r'  r	  r  Úwrap_fx_proxy_clsr÷   rA  re   Úinput_source_to_varr{   r�  rå  ræ  ÚTENSOR_MATCHrF   r@  rå  rR   r€  ÚrealizerÇ   Úcls_for_instancer÷  rø  rÓ  rB  )r‰  ro  r­  Úmaybe_gmrG  Útensor_list_proxyÚlist_variablerâ  ro  Útensor_variableÚsource_iræ  r›  rÌ  r  s   `              r"  rú  zVariableBuilder.wrap_listlike¸  s³  ø€ õ Ô ð 	8¥T¨%¡[¤[µE´JÐ%>Ð%>Ø×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°Ð7Ñ7Ô7Ð7ð 	×Ò�LÔ8Ñ9Ô9Ð9õ �5�%Ñ Ô ð	TåÐHÐHÀ%ÐHÑHÔHÑHÔHð	Tð ”Ô(×CÒCÑEÔEð	Tð
 ×Ò¥Ô ;Ñ<Ô<Ð<Ý Ð!RÐ!RÈEÐ!RÑ!RÔ!RÑSÔSÐSð
ð 
ð 
ð 
õ % UÑ+Ô+ð
ñ 
ô 
ˆð ”7”>Ô-×1Ò1°&Ñ9Ô9ˆÝØŒK�ñ
ô 
ñ M	àŒkÔ$Õ(;¸HÑ(EÔ(EÐEÑEð ”[ˆFÝ˜e¥TÑ*Ô*ð XÝ$Ð%VÍÈeÉÌÐ%VÐ%VÑWÔWÐWØ $¤¤Ô :× MÒ MÝ”Ð'¨¨d¬iÑ8Ô8Ý�U‘”ØØð	 !Nñ !ô !Ðð 8<ÐÔ"Ô'¨Ñ4å-Ý)Ø”7Ø'Ø#Ø"Øðñ ô ˆMð ˆFå&/°Ô0CÑ&DÔ&Dð 
:ð 
:Ñ"��?Ý(¨f¸AÈeÐTÑTÔT�à?N�””Ô2°8Ñ<ÝAUØ˜!”HñBô B�Ô%Ô*Ô/°Ñ>õ "Ô)Ý Ô-µ]À5ÈÄ8Ñ5LÔ5Lðñ ô �ð —’˜h×1Ò1°%Ñ8Ô8Ñ9Ô9Ð9Ð9å˜6Ð*¨Ð*Ð*Ð*åØØØ#(Ø Øðñ ô ˆHð 7?ÐÔ"Ô'¨
Ñ3ð( ð ð �Ø—
’
‘”��à9Õ!Ô2°5Ñ9Ô9¸&ÈÌÐUÑUÔUˆÝ�%�$¥Ô 1Ð2Ñ3Ô3ð 	LØ”7”>Ô.×<Ò<¸UÀFÑKÔKÐKØˆr2  c                 ó  ‡ ‡— ‰                       t          j        ¦  «         ˆ ˆfd„t          t	          ‰¦  «        ¦  «        D ¦   «         }t          |‰ j        ¬¦  «        }‰ j        j        j	         
                    ‰|¦  «        S )Nc           
      ó¨   •— g | ]N} t          ‰j        t          ‰                     ¦   «         |¦  «        ¦  «        t	          ‰|¦  «        ¦  «        ‘ŒOS r1  )r¿  r¬  rw   rá  r™   r­  s     €€r"  rç  z7VariableBuilder.wrap_tuple_iterator.<locals>.<listcomp>.	  sg   ø€ ð 
ð 
ð 
ð ð W�O˜DœGÕ%?ÀÇÂÑ@QÔ@QÐSTÑ%UÔ%UÑVÔVÝ& u¨aÑ0Ô0ñô ð
ð 
ð 
r2  r”  )rÔ  rQ   ÚTUPLE_ITERATOR_LENr\  rš   rÍ   rG  r¬  r­  rÓ  rB  )r‰  ro  r­  r  s   ``  r"  rþ  z#VariableBuilder.wrap_tuple_iterator,	  sŽ   øø€ Ø×Ò�LÔ;Ñ<Ô<Ð<ð
ð 
ð 
ð 
ð 
õ Õ-¨eÑ4Ô4Ñ5Ô5ð	
ñ 
ô 
ˆõ ' v°d´kÐBÑBÔBˆØŒwŒ~Ô*×8Ò8¸ÀÑGÔGÐGr2  c                 óò   — |                       t          j        ¦  «         d„ t          j        |¦  «        D ¦   «         }t          || j        ¬¦  «        }| j        j        j	         
                    ||¦  «        S )Nc                 ó6   — g | ]}t          j        |¦  «        ‘ŒS r1  r�  )rº  r3  s     r"  rç  z7VariableBuilder.wrap_range_iterator.<locals>.<listcomp>;	  s1   € ð (
ð (
ð (
Ø+,ÕÔ# AÑ&Ô&ð(
ð (
ð (
r2  r”  )rÔ  rQ   ÚRANGE_ITERATOR_MATCHÚcopyÚdeepcopyrÈ   rG  r¬  r­  rÓ  rB  )r‰  ro  rA  r  s       r"  rÿ  z#VariableBuilder.wrap_range_iterator7	  st   € Ø×Ò�LÔ=Ñ>Ô>Ð>ð(
ð (
Ý04´¸eÑ0DÔ0Dð(
ñ (
ô (
ˆõ & e°D´KÐ@Ñ@Ô@ˆØŒwŒ~Ô*×8Ò8¸ÀÑGÔGÐGr2  c                 óž  — t          |¦  «        \  }}t          j        |¦  «        rt          j        |¦  «        s|                      |¦  «        S |                      t
          j        ¦  «         t          t          j        |¦  «        t          j        |¦  «        | j	        ¬¦  «        }| j
        j        j                             ||¦  «        S r  )r   r§   r.  r,  rÔ  rQ   ÚCOUNT_ITERATOR_MATCHrÃ   r7  rG  r¬  r­  rÓ  rB  )r‰  ro  Úcurrent_itemÚstepr  s        r"  rý  z$VariableBuilder.wrap_itertools_countA	  s»   € Ý1°%Ñ8Ô8Ñˆ�dåÔ'¨Ñ5Ô5ð	1å Ô+¨DÑ1Ô1ð	1ð ×)Ò)¨%Ñ0Ô0Ð0à×Ò�LÔ=Ñ>Ô>Ð>Ý&ÝÔ# LÑ1Ô1ÝÔ# DÑ)Ô)Ø”;ð
ñ 
ô 
ˆð
 ŒwŒ~Ô*×8Ò8¸ÀÑGÔGÐGr2  c                 óð   ‡ ‡— ˆ ˆfd„dD ¦   «         }‰                       t          j        ¦  «         t          ‰t          ¦  «        rt          |‰ j        ‰ j        ¬¦  «        S t          |‰ j        ¬¦  «        S )Nc           
      ó¨   •— g | ]N} t          ‰j        t          ‰                     ¦   «         |¦  «        ¦  «        t	          ‰|¦  «        ¦  «        ‘ŒOS r1  )r¿  r¬  r[   rá  rl  )rº  r0  r‰  ro  s     €€r"  rç  z4VariableBuilder.wrap_slice_range.<locals>.<listcomp>R	  se   ø€ ð 
ð 
ð 
ð ð G�O˜DœG¥Z°·²Ñ0AÔ0AÀ1Ñ%EÔ%EÑFÔFÝ˜˜qÑ!Ô!ñô ð
ð 
ð 
r2  ©ÚstartÚstopr²  r”  )	rÔ  rQ   r  rI  r   rÌ   r¬  rG  rÊ   )r‰  ro  rA  s   `` r"  r  z VariableBuilder.wrap_slice_rangeQ	  sŒ   øø€ ð
ð 
ð 
ð 
ð 
ð /ð	
ñ 
ô 
ˆð 	×Ò�LÔ3Ñ4Ô4Ð4Ý�e�UÑ#Ô#ð 	<Ý  ¨¬¸¼ÐDÑDÔDÐDå  ¨t¬{Ð;Ñ;Ô;Ð;r2  ræ  c                 ó(  — ddl m} t                               d| j        j        t          |¦  «        ¦  «          |||¬¦  «         || j        j        j	        v r8| j        j        j	        |         }|j
        |j        j        j        d         d<   d S d S )NrG   )Úmark_static_addressz Marking static input %s, id: %s)©ræ  r˜  Ú_dynamo_static_input_type)r½  r¹  Ústatic_inputs_logra  rG  r'  r¹  r¬  r­  rÓ  r»  r�  r	  r  )r‰  ro  ræ  r¹  rg  s        r"  Úmark_static_inputz!VariableBuilder.mark_static_input^	  s¨   € Ø4Ð4Ð4Ð4Ð4Ð4å×ÒØ.°´Ô0@Å"ÀUÁ)Ä)ñ	
ô 	
ð 	
ð 	Ð˜E¨Ð/Ñ/Ô/Ð/ð �D”G”NÔ/Ð/Ð/Ø”'”.Ô-¨eÔ4ˆCð Ô/ð ŒIŒNÔ Ô.Ð/JÑKÐKÐKð 0Ð/r2  c                 ó¤  — ddl m} t          |j        ¦  «        dk    r?t	          dt          |¦  «        dt          |¦  «        › d�g t          j        ¢d‘¬¦  «         t          ||¦  «        r£t          j
        |j        d	d
¦  «        r5t          j
        |j        dd ¦  «        }t          | j        d|› d�¬¦  «        S |                      t          j        ¦  «         t#          | j        d¦  «        | _        |                      |j        ¦  «        S t)          |¦  «        t*          j        j        j        u r,t	          dt3          |¦  «        dg t          j        ¢¬¦  «         t7          |t*          j        j        t*          j        j        t*          j        j        f¦  «        r9t@          j!        s-t	          dt3          |¦  «        ddgt          j"        ¢¬¦  «         tG          |dd
¦  «        r®tG          |dd
¦  «        st	          dddg ¬¦  «         |                      t          j        ¦  «         tI          ||  %                    ¦   «         ¬¦  «        }tM          j'        t)          |¦  «        ¦  «        s|S | j(        j)        j*         +                    ||¦  «        S tY          j-        || j(        j.        ¦  «        �rot7          |t*          j/        j0        j1        j2        ¦  «        r-| 3                    ¦   «         }ti          | j        ¦  «        | _        tk          ¦   «         }tm          |j7        ¦  «        r“|j7        j8        tr          u r€	 | 7                    ¦   «         D ]\  }}|  :                    ||¬¦  «         ŒnM# tv          $ r@}ty          t)          |¦  «        | j(        t{          |j>        ¦  «        ¬¦  «         Y d }~nd }~ww xY wtm          |j?        ¦  «        r“|j?        j8        t€          u r€	 | ?                    ¦   «         D ]\  }}	|  :                    |	|¬¦  «         ŒnM# tv          $ r@}ty          t)          |¦  «        | j(        t{          |j>        ¦  «        ¬¦  «         Y d }~nd }~ww xY w|r|| j(        j)        jA        | jB        <   |jC         D                    d¦  «        r|jC         D                    d¦  «        rtG          |jE        dd
¦  «        rv| j        }
| j(        j)        j.        rt@          jF        rt�          | j        ¦  «        }
t‘          ||
¬¦  «        }t“          |
 J                    t          j        ¦  «        ¦  «         nu| j        }
| j(        j)        j.        rt@          jF        rt—          | j        ¦  «        }
t™          ||
¬¦  «        }t“          |
 J                    t          j        ¦  «        ¦  «         | j(        j)         M                    || j        ¦  «         tM          j'        t)          |¦  «        ¦  «        s|S | j(        j)        j*         +                    ||¦  «        S t�          |jE        t*          j        jO        jP        jQ        ¦  «        rB|                      t          j        ¦  «         t™          ||  %                    ¦   «         ¬¦  «        S | j(        j)         R                    || jB        |  %                    ¦   «         ¬¦  «        S ) NrG   )ÚOptimizedModuler   zUninitialized nn.Modulez6Attempted to trace an uninitialized nn.Module of type r;  z?Ensure your nn.Module instance has called `super().__init__()`.r!  Ú_torchdynamo_disableFÚ_torchdynamo_disable_msgzHOptimized `nn.Module` is wrapped with `torch.compiler.disable` (reason: rg  )rG  ÚmsgÚ	_orig_modz+torch.jit.script/freeze modules unsupportedzÔDynamo does not support tracing into torch.jit.script or torch.jit.freeze modules because they execute in the TorchScript runtime, not Python. Replace the ScriptModule submodule with the original eager nn.Module.z#Attempted to wrap RNN, GRU, or LSTMz*Dynamo does not support RNN, GRU, or LSTM.zgSet torch._dynamo.config.allow_rnn=True to enable experimental support for RNN, GRU, and LSTM in DynamoÚ_is_fsdp_managed_moduleÚ_fsdp_use_orig_paramszFSDP with use_orig_params=Falser?  z3Dynamo only supports FSDP with use_orig_params=Truer”  rº  )r„  )ztorch.nn.modulesz	torch.ao.ztorch.nn.modules.containerÚ_dynamo_marked_static)SÚ
eval_framer¿  r]  Ú__dict__rP   r    rI   rç  r‘   rw  rx  ÚforwardrÕ   rG  rÔ  rQ   r  r[   rÏ  rÃ  rB  r  r  Ú_scriptÚRecursiveScriptModuler.  ÚFUNDAMENTALrI  rÕ  ÚRNNÚGRUÚLSTMrH   Ú	allow_rnnr*  rl  rä   rá  rY   r‰  r¬  r­  rÓ  rÛ  rJ   Úis_dynamic_nn_moduleÚexportÚfxÚexperimentalÚproxy_tensorÚ
_AttrProxyÚget_baserZ   r‹   rà  Únamed_parametersrˆ  Ú!og_module_named_parameters_fn_ptrr½  Ú	TypeErrorrO   rö  r„  Únamed_buffersÚog_module_named_buffers_fn_ptrÚ
nn_modulesr'  r+  r·  r§  rV  rx   rå   rR   rå  ry   ræ   Ú add_fqn_info_for_inlined_modulesrB  ÚparallelÚdistributedÚDistributedDataParallelrW  )r‰  ro  r¿  rÂ  r  Úfreezingr¶  ÚpÚeÚbÚ
new_sources              r"  rÏ  zVariableBuilder.wrap_modulep	  sÐ  € Ø0Ð0Ð0Ð0Ð0Ð0åˆuŒ~ÑÔ !Ò#Ð#ÝØ1Ý ™œØfÕU\Ð]bÑUcÔUcÐfÐfÐfðÝ&Ô1ðàUðð	ñ ô ð õ �%˜Ñ)Ô)ð 	5åÔ% e¤mÐ5KÈUÑSÔSð õ
 Ô,Ø”MÐ#=¸tñô �õ /Øœ;ØiÐcfÐiÐiÐiðñ ô ð ð
 ×Ò¥Ô 7Ñ8Ô8Ð8Ý$ T¤[°+Ñ>Ô>ˆDŒKØ×#Ò# E¤OÑ4Ô4Ð4å�‰;Œ;�%œ)Ô+ÔAÐAÐAÝØEÝ˜E™
œ
ð,ðÝ&Ô2ðð
ñ 
ô 
ð 
õ �u�uœxœ|­U¬X¬\½5¼8¼=ÐIÑJÔJð	åÔ$ð	õ Ø=Ý˜E™
œ
ØHà}ðå&Ô2ðð	ñ ô ð õ �5Ð3°UÑ;Ô;ð m	õ ˜5Ð"9¸5ÑAÔAð ÝØ=ØØ UØð	ñ ô ð ð" ×Ò¥Ô 7Ñ8Ô8Ð8Ý0°¸t¿ºÑ?PÔ?PÐQÑQÔQˆFÝÔAÅ$ÀuÁ+Ä+ÑNÔNð à�Ø”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝÔ0°¸¼¼ÑGÔGñ O	õ
 ˜%¥¤Ô!6Ô!CÔ!NÑOÔOð ;àŸšÑ(Ô(�Ý-¨d¬kÑ:Ô:�”å,Ñ.Ô.ˆHõ ˜Ô/Ñ0Ô0ð
Rð Ô*Ô3Õ7XÐXÐXðRà %× 6Ò 6Ñ 8Ô 8ð Bð B™˜˜1Ø×.Ò.¨q¸Ð.ÑAÔAÐAÐAðBøå ð Rð Rð RÝ,­T°!©W¬W°d´gÅDÈÌÁLÄLÐQÑQÔQÐQÐQÐQÐQÐQÐQøøøøðRøøøõ ˜Ô,Ñ-Ô-ð
Rð Ô'Ô0Õ4RÐRÐRðRà %× 3Ò 3Ñ 5Ô 5ð Bð B™˜˜1Ø×.Ò.¨q¸Ð.ÑAÔAÐAÐAðBøå ð Rð Rð RÝ,­T°!©W¬W°d´gÅDÈÌÁLÄLÐQÑQÔQÐQÐQÐQÐQÐQÐQøøøøðRøøøð ð =ð 8=�””Ô)¨$¬)Ñ4ð Ô ×+Ò+Ð,MÑNÔNðNàÔ(×3Ò3Ð4PÑQÔQðNõ ˜œÐ*AÀ5ÑIÔIðNð "œ[�
Ø”w”~Ô,ð QµÔ0Kð QÝ!CÀDÄKÑ!PÔ!P�JÝ=¸eÈJÐWÑWÔW�Ý˜j×3Ò3µLÔ4KÑLÔLÑMÔMÐMÐMà!œ[�
Ø”w”~Ô,ð JµÔ0Kð JÝ!<¸T¼[Ñ!IÔ!I�JÝ6°uÀZÐPÑPÔP�Ý˜j×3Ò3µLÔ4KÑLÔLÑMÔMÐMàŒGŒN×;Ò;¸EÀ4Ä;ÑOÔOÐOåÔAÅ$ÀuÁ+Ä+ÑNÔNð à�Ø”7”>Ô.×DÒDÀUÈFÑSÔSÐSÝØŒO�UœXÔ.Ô:ÔRñ
ô 
ð 	ð ×Ò¥Ô 7Ñ8Ô8Ð8Ý0°¸t¿ºÑ?PÔ?PÐQÑQÔQÐQà”7”>×9Ò9ØØ”	Ø—’Ñ(Ô(ð :ñ ô ð s0   Í1M8 Í8
OÎ6N=Î=OÏ-1P Ð
Q)Ð)6Q$Ñ$Q)c                 óL
  — t          |¦  «        t          u �ržt          j        ��Mt	          | j        t          j        ¦  «        }|€:|                      t          j        ¦  «         t          j
        || j        ¬¦  «        S t          |t          ¦  «        rb||k    r"t          d| j        j        › d|› d|› �¦  «        ‚|                      t          j        ¦  «         t          j
        || j        ¬¦  «        S t          |t          t          j        f¦  «        r:|                      |t$          j        ¬¦  «        }|j        }t+          ||¦  «         |S t          d| j        j        › d|›d�¦  «        ‚t-          | j        j        ¦  «        rFt.                               d	| j        j        ¦  «         |                      |t$          j        ¬¦  «        S t5          |¦  «        rGt.                               d
| j        j        |¦  «         |                      |t$          j        ¬¦  «        S t7          | j        j        ¦  «        rFt.                               d| j        j        ¦  «         |                      |t$          j        ¬¦  «        S t          j        �st;          || j        ¦  «        rÞd }| j        j                             ¦   «         s| j        j                              ¦   «         rd}tC          | j"        | j        j        tG          j$        |¦  «        | j        j                              ¦   «         ¬¦  «         |                      tK          j&        t          j'        |¬¦  «        ¦  «         t          j
        || j        ¬¦  «        S |  (                    || j)        ¦  «        S |  (                    |¦  «        S t          |¦  «        tT          u rpt          |tT          ¦  «        stW          dt          |¦  «        › �¦  «        ‚t          j,        s|  (                    || j-        ¦  «        S |  (                    |¦  «        S t          |¦  «        t\          t^          fv rPt          |t\          t^          f¦  «        stW          dt          |¦  «        › �¦  «        ‚|  (                    |¦  «        S |                      t          j        ¦  «         t          j
        || j        ¬¦  «        }t          |t`          tb          f¦  «        r%| j"        j2        j3         4                    ||¦  «        S |S )N©ro  rG  zshapes_spec declares ú as static with value ú
, but got r»  zshapes_spec for ú: unexpected value z  (expected int, IntVar, or None)z*%s marked dynamic via dynamic-sources listz4%s marked dynamic via dynamic-values list (value=%s)z,%s marked unbacked via unbacked-sources lista  torch.compile considers integer attributes of the nn.Module to be static. If you are observing recompilation, you might want to make this integer dynamic using torch._dynamo.config.allow_unspec_int_on_nn_module = True, or convert this integer into a tensor.©r›  )Úrecompile_hintzExpected float, got zExpected bool or str, got )5rB  r8  rH   Ú_shapes_specrn  rG  rÔ  rQ   rN  r§   r7  rI  Ú
ValueErrorr'  r-   r  r   r^  r7   ÚUNBACKEDÚsym_numÚ_wire_spec_slotÚis_dynamic_sourcer`  ra  r  Úis_dynamic_valueÚis_unbacked_sourcer™  r   rš  Ú"is_unspecialized_builtin_nn_moduler›  rX   r¬  rV   Úmake_scalarrå  ræ  r×  Ú_wrap_lazy_constantÚ_wrap_symint_for_lazyr7  r‹  Úspecialize_floatÚ_wrap_symfloat_for_lazyr0  r.  rö  rÒ  r­  rÓ  rB  )r‰  ro  Úint_specr  Úsym_valrí  s         r"  r  zVariableBuilder.wrap_literal
  sú  € õ �‰;Œ;�#ÐÑåÔ"Ñ.Ý9Ø”K¥Ô!4ñô �ð Ð#à×'Ò'­Ô(CÑDÔDÐDÝ+Ô2¸ÀtÄ{ÐSÑSÔSÐSÝ ­#Ñ.Ô.ð à Ò(Ð(Ý(ðF°D´KÔ4Dð Fð FØ*2ðFð FØ>CðFð Fñô ð ð ×'Ò'­Ô(CÑDÔDÐDÝ+Ô2¸ÀtÄ{ÐSÑSÔSÐSÝ ­6µ5´<Ð*@ÑAÔAð 	Ø!×-Ò-¨e½jÔ>QÐ-ÑRÔR�FØ$œn�GÝ# H¨gÑ6Ô6Ð6Ø!�Må$ðH¨4¬;Ô+;ð Hð HØ#ðHð Hð Hñô ð õ
 ! ¤Ô!1Ñ2Ô2ð LÝ—	’	Ø@À$Ä+ÔBRñô ð ð ×'Ò'¨½
Ô8JÐ'ÑKÔKÐKå Ñ&Ô&ð LÝ—	’	ØJØ”KÔ$Øñô ð ð
 ×'Ò'¨½
Ô8JÐ'ÑKÔKÐKå! $¤+Ô"2Ñ3Ô3ð MÝ—	’	ØBÀDÄKÔDTñô ð ð ×'Ò'¨½
Ô8KÐ'ÑLÔLÐLåÔ(ñ "Sõ .¨e°T´[ÑAÔAð TØ%)�NàœÔ0×SÒSÑUÔUðàœ;Ô3×NÒNÑPÔPðð5ð 'õ .ØœØœÔ(Ý+Ô7¸Ñ>Ô>Ø37´;Ô3K×3fÒ3fÑ3hÔ3hð	ñ ô ð ð ×'Ò'Ý!Ô)Ý(Ô5Ànðñ ô ñô ð õ
 ,Ô2¸ÀtÄ{ÐSÑSÔSÐSà×/Ò/°°tÔ7QÑRÔRÐRà×+Ò+¨EÑ2Ô2Ð2Ý�%‰[Œ[�EÐ!Ð!Ý˜e¥UÑ+Ô+ð KÝ$Ð%I½DÀ¹K¼KÐ%IÐ%IÑJÔJÐJÝÔ*ð UØ×/Ò/°°tÔ7SÑTÔTÐTà×+Ò+¨EÑ2Ô2Ð2Ý�%‰[Œ[�T¥3˜KÐ'Ð'Ý˜e¥d­C [Ñ1Ô1ð QÝ$Ð%OÅ$ÀuÁ+Ä+Ð%OÐ%OÑPÔPÐPØ×+Ò+¨EÑ2Ô2Ð2à×Ò¥Ô ;Ñ<Ô<Ð<Ý%Ô,°5ÀÄÐMÑMÔMˆFÝ˜%¥$­ Ñ-Ô-ð PØ”w”~Ô2×@Ò@ÀÈÑOÔOÐOØˆMr2  c                 ó,   — |                       |¦  «        S rq  )r^  r  s     r"  rù  z%VariableBuilder._wrap_symint_for_lazy‡
  s   € Ø×Ò Ñ&Ô&Ð&r2  c                 ó,   — |                       |¦  «        S rq  )Úwrap_symfloatr  s     r"  rû  z'VariableBuilder._wrap_symfloat_for_lazyŠ
  s   € Ø×!Ò! %Ñ(Ô(Ð(r2  Úwrap_fnc                 ó   — d S rq  r1  ©r‰  ro  r  s      r"  rø  z#VariableBuilder._wrap_lazy_constant�
  ó	   € ð
 ˜#r2  c                 ó   — d S rq  r1  r  s      r"  rø  z#VariableBuilder._wrap_lazy_constant”
  r  r2  c                 ó   — d S rq  r1  r  s      r"  rø  z#VariableBuilder._wrap_lazy_constant›
  r  r2  c                 óÔ   — | j         sG|� ||¦  «        S |                      t          j        ¦  «         t	          j        || j        ¬¦  «        S t          j        || j        ¬¦  «        S )zCWrap a primitive constant, deferring guard installation if allowed.Nrè  r”  )rÀ  rÔ  rQ   rN  r§   r7  rG  rÅ   r  s      r"  rø  z#VariableBuilder._wrap_lazy_constant¢
  sk   € ð Ô'ð 	LØÐ"Ø�w˜u‘~”~Ð%Ø×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°¸t¼{ÐKÑKÔKÐKÝ#Ô*¨5¸¼ÐEÑEÔEÐEr2  c                 ó~   — t          |¦  «        r+t          |¦  «        | j        j        u rt	          dd¦  «        ‚d S d S )Nz*Cannot wrap a Tensor that has already beenz"wrapped by this instance of Dynamo)r$   r%   r¬  rU  rN   r  s     r"  Ú assert_not_wrapped_by_this_graphz0VariableBuilder.assert_not_wrapped_by_this_graph¯
  sP   € Ý�5‰>Œ>ð 	Õ1°%Ñ8Ô8¸D¼GÔ<MÐMÐMÝ*Ø<Ø4ñô ð ð	ð 	ÐMÐMr2  c           	      óÎ  — |                       ¦   «         }|| j        j        j        v rt	          d¦  «        ‚t          |¦  «        d u}t          t          d z  t          |t          j
        ¦  «        ¦  «        }|d u}|sa|s_t          |t          j        j        ¦  «        s|r>|j                             ¦   «         r%|                      |t%          ¦   «         ¬¦  «         d}t          j        o,t)          |¦  «        pt+          |¦  «        pt-          |¦  «        }|o#t%          ¦   «         pt          j        j	        j        }|sr|s4|j                             ¦   «         s|rU|j                             ¦   «         s<|                      |¦  «         | j        j                             || j        |¬¦  «        S t          |¦  «        dk    r[|                      t>          j         ¦  «         |                      |¦  «         | j        j                             || j        |¬¦  «        S tC          |¦  «        rP|                      |¦  «         | j        j                             |tE          j#        dd| j        ¦  «        |¬¦  «        S || j        j        j$        v }|r| j        j        j$        |         S i }	tK          |¦  «        }
|
�|                      t>          j&        ¦  «         t          |¦  «        dk    r|                      t>          j         ¦  «         |                      |¦  «         t          |t          j'        ¦  «        rC|j(        r<t          |t          j)        j*        j+        j,        ¦  «        st[          dd	d
g ¬¦  «         t          |t          j'        ¦  «        rFt]          |¦  «        r7| j        j/        rt          j0        st[          dd	dg tb          j2        ¢¬¦  «         tg          |¦  «        r}ti          |¦  «        �n|j5        ti          |¦  «        j5        k    rQti          |¦  «        }|�tm          |j5        ¦  «        nd}t[          dd|j5        › d|› �dg tb          j7        ¢¬¦  «         tq          || j        d||¬¦  «        }| j        j        j9         :                    tE          j#        dd| j        ¦  «        tw          |¦  «        ||¬¦  «        }ty          | j        ||¦  «         t{          d+| j        |||
|dœ|	¤Ž}| j        j        j         >                    ||¦  «         | ?                    ¦   «         r+tq          |j@        | j        tƒ          |d¦  «        d¬¦  «         t>          jB        }t          |t†          ¦  «        rt‰          |¦  «        rt>          jE        }t          jF         G                    ¦   «         o#t          |t          jF        jH        jI        ¦  «        }|sM|                      t•          jK        |t          |t˜          ¦  «        r|nt›          |¦  «        ¬¦  «        ¦  «         t�          |¦  «        �rô|�r^|                      t>          j&        ¦  «         | O                    ¦   «         d         }|ddgk    rt¡          d¦  «        ‚| O                    ¦   «         d         }t£          |¦  «        dk    rS|d         |jR        jS        k    r=|d         |jR        jT        k    r'|d         |jR        jU        k    r|d         |jV        k    st¡          d ¦  «        ‚t¯          tƒ          | jX        d!¦  «         Y                    t>          jZ        ¦  «        ¦  «         t¯          tƒ          | jX        d"¦  «         Y                    t>          j[        ¦  «        ¦  «         nw|                      t>          j\        ¦  «         |                      t>          j&        ¦  «         t¯          t»          |¦  «         Y                    t>          j[        ¦  «        ¦  «         | O                    ¦   «         \  }}|D �]}t½          ||¦  «        }tw          |¦  «        }t          |t          j_        j`        ja        ¦  «        rtw          |jb        ¦  «        }t          |t          j'        ¦  «        sHtÇ          |¦  «        s9t¡          tw          |¦  «        jd        ›d#tw          |¦  «        jd        › d$�¦  «        ‚tƒ          | jX        |¦  «        }tË          jf         tÏ          | j        |¦  «        |¦  «        ¦  «         �Œ|| j        j        j$        |<   d%|jh        ji        v rt	          d&¦  «        ‚tÕ          |¦  «        |jh        ji        d%<   |jk        jh        ji        d'         }tÙ          |¦  «        | j        jm        urtÝ          d(¦  «        ‚tß          ||d)|¦  «        }||jh        ji        d*<   |S ),Nz)Tensor is already tracked in side effectsrº  Tr”  Úguardedrš  r¶  z&Attempted to wrap strided NestedTensorr?  ú3torch.compile does not support strided NestedTensorr!  zAttempted to wrap sparse Tensorz-torch.compile does not support sparse TensorsÚNonez.dtype mismatch between tensor and its gradientztensor dtype: z; grad dtype: zmInconsistent dtype between tensor and its gradient. This can happen in FSDP and crashes meta tensor creation.)r¬  r„  rG  Útensor_spec)r¬  r�  r”  r•  rG  Ú_base)r¬  rG  r„  r‹  r   Ú_local_tensorÚdevice_meshzDExpecting DTensor inner attrs to be ['_local_tensor', 'device_mesh']r�   é   rG   r¢  z\Expecting DTensor flattening ctx to be (placements, tensor_meta, shard_order, requires_grad)Ú_specÚrequires_gradz found in tensor attrs of z[.__tensor_flatten__(). Only tensors and reference-type opaques are allowed in tensor attrs.r˜  z4tensor_dict already exists in tensor_proxy node metar”  z(Wrapped Tensor must be this graph's fakeFr›  r1  )prá  r¬  r­  rÓ  r‹  r„   r   r2   rn  rH   rî  rI  r  rÕ  rñ  rš  r›  r½  r‹   rV  ri   rj   rl   r�  Úprepare_freezingÚis_specialized_nn_moduleÚis_fsdp_moduler	  rW  r'  rÔ  rQ   r  rg   r  r  rž  Úinfer_subclass_typer  r�  Ú	is_nestedÚnestedr  Únested_tensorÚNestedTensorrP   r&   rÒ  Úcapture_sparse_computerI   ÚSPARSE_TENSORr#  r'   r‰  r.  r*  Úwrap_to_fake_tensor_and_recordr  r  rB  Úcache_real_value_when_exportÚwrap_fx_proxyrÛ  Ú_is_viewr  r[   rŸ  rf   rk   ÚNOT_NONE_MATCHrà  Úis_availableÚtensorÚDTensorrå  ræ  rq   rF   rC   Ú__tensor_flatten__rA  r]  r  Ú
placementsÚtensor_metaÚshard_orderr  rR   rG  rå  ÚDTENSOR_SPEC_MATCHr×  ÚTENSOR_SUBCLASS_METADATA_MATCHrv   rl  rI  rJ  rK  rL  r   r*  rÆ   rQ  r¿  r	  r  r{   r�  r%   rU  rN   r€  )r‰  ro  rG  Úis_static_inputÚ_tensor_specÚ	_has_specÚshould_install_free_tensorÚmake_graph_attributeÚis_duplicate_tensorÚoptionsr•  Úsafe_grad_valÚgrad_strr”  Útensor_proxyr¥  Ú
guard_typeÚ
is_dtensorÚinner_attrsÚflattening_ctxÚattrsr¶  ÚattrÚinner_valueÚ
inner_typeÚinner_sourceÚfake_tensor_valuer›  s                               r"  rô  zVariableBuilder.wrap_tensor¶
  sU
  € Ø—’Ñ"Ô"ˆð �D”G”NÔ/Ð/Ð/Ý Ð!LÑMÔMÐMå1°%Ñ8Ô8ÀÐDˆõ Ý˜ÑÝ*¨6µ6Ô3FÑGÔGñ
ô 
ˆð !¨Ð,ˆ	ð ð
	#à#ð
	#õ ˜5¥%¤(Ô"4Ñ5Ô5ð	
	#ð ð
	#ð  &Ô2×MÒMÑOÔOð
	#ð ×"Ò" 5Õ0EÑ0GÔ0GÐ"ÑHÔHÐHØ"ˆOõ &,Ô%@ð &
Ý! &Ñ)Ô)ð >Ý& vÑ.Ô.ð>å5°fÑ=Ô=ð 	#ð  /ð  
Ý!Ñ#Ô#ÐL¥u¤}Ô';Ô'Lð 	ð ð 
	Ø&ð
	ð Ô$×=Ò=Ñ?Ô?ð
	ð DXð
	ð Ô+×:Ò:Ñ<Ô<ð	
	ð ×1Ò1°%Ñ8Ô8Ð8Ø”7”>×9Ò9Ø�t”y¨ð :ñ ô ð õ # 5Ñ)Ô)¨YÒ6Ð6ð ×Ò¥Ô 5Ñ6Ô6Ð6Ø×1Ò1°%Ñ8Ô8Ð8Ø”7”>×9Ò9Ø�t”y¨ð :ñ ô ð õ ˜fÑ%Ô%ð 	Ø×1Ò1°%Ñ8Ô8Ð8Ø”7”>×9Ò9ØÝ”Ð'¨¨d¬iÑ8Ô8Øð :ñ ô ð ð %¨¬¬Ô(JÐJÐØð 	>Ø”7”>Ô5°fÔ=Ð=àˆÝ+¨EÑ2Ô2ˆØÐ$Ø×Ò¥Ô 7Ñ8Ô8Ð8å" 5Ñ)Ô)¨YÒ6Ð6Ø×Ò¥Ô 5Ñ6Ô6Ð6ð 	×-Ò-¨eÑ4Ô4Ð4õ �u�eœlÑ+Ô+ð
	à”ð
	õ ˜u¥e¤lÔ&<Ô&JÔ&WÑXÔXð
	õ
 Ø@ØØQØð	ñ ô ð õ �u�eœlÑ+Ô+ð	å˜eÑ$Ô$ð	ð ”W”^ð	õ ,2Ô+Hð	õ Ø9ØØKØ8Õ)Ô7Ð8ð	ñ ô ð õ ˜%Ñ Ô ð	å˜%Ñ Ô Ð,à”�y¨Ñ/Ô/Ô5Ò5Ð5å% eÑ,Ô,ˆMØ3@Ð3L•s˜=Ô.Ñ/Ô/Ð/ÐRXˆHÝØHØN¨¬ÐNÐNÀHÐNÐNðLà6Õ)Ô5Ð6ðñ ô ð õ" 7Ø�d”g¨°fÈ,ð
ñ 
ô 
ˆð ”w”~Ô1×DÒDÝŒFÐ# S¨$¬)Ñ4Ô4Ý�‰KŒKØØð	 Eñ 
ô 
ˆõ 	% T¤W¨l¸EÑBÔBÐBå'ð 
ØŒwØØ'Ø'Øð
ð 
ð ð
ð 
ˆð 	ŒŒÔ#×9Ò9¸%ÀÑQÔQÐQà�>Š>ÑÔð 		õ +Ø”Ø”7Ý! &¨'Ñ2Ô2Øð	ñ ô ð õ "Ô.ˆ
å�f�jÑ)Ô)ð 	5Õ.FÀvÑ.NÔ.Nð 	5Ý%Ô4ˆJåÔ&×3Ò3Ñ5Ô5ð 
½*Ø•5Ô$Ô+Ô3ñ;
ô ;
ˆ
ð ð 	ð ×ÒÝÔ!Øõ & fÕ.?Ñ@Ô@ð2˜˜å*¨5Ñ1Ô1ðñ ô ñ	ô 	ð 	õ )¨Ñ/Ô/ñ B	ð ñ %Ø×#Ò#¥LÔ$;Ñ<Ô<Ð<à#×6Ò6Ñ8Ô8¸Ô;�Ø ?°MÐ"BÒBÐBÝ&Ø^ñô ð ð "'×!9Ò!9Ñ!;Ô!;¸AÔ!>�å˜Ñ'Ô'¨1Ò,Ð,Ø& qÔ)¨U¬[Ô-CÒCÐCØ& qÔ)¨U¬[Ô-DÒDÐDØ& qÔ)¨U¬[Ô-DÒDÐDØ& qÔ)¨UÔ-@Ò@Ð@å&Øvñô ð õ Ý˜tœ{¨GÑ4Ô4×?Ò?Ý$Ô7ñô ñô ð õ Ý˜tœ{¨OÑ<Ô<×GÒGÝ$Ô1ñô ñô ð ð ð ×#Ò#¥LÔ$OÑPÔPÐPØ×#Ò#¥LÔ$;Ñ<Ô<Ð<ÝÝ*¨6Ñ2Ô2×=Ò=½lÔ>WÑXÔXñô ð ð ×/Ò/Ñ1Ô1‰HˆE�1Øð ñ �Ý% e¨TÑ2Ô2�õ " +Ñ.Ô.�
ÝØÝ”NÔ6ÔGñô ð <õ "& kÔ&:Ñ!;Ô!;�JÝ!Ø¥¤ñô ð å2°:Ñ>Ô>ðõ 'Ý Ñ,Ô,Ô5ð +ð +Ý ™;œ;Ô/ð+ð +ð +ñô ð õ  *¨$¬+°tÑ<Ô<�Ý#Ô/Ø:•O D¤G¨\Ñ:Ô:¸;ÑGÔGñô ð ñ ð 6EˆŒŒÔ*¨6Ñ2Ø˜LÔ-Ô2Ð2Ð2Ý Ð!WÑXÔXÐXÝ0DÀUÑ0KÔ0KˆÔÔ˜}Ñ-ð ,Ô1Ô6Ô;¸OÔLÐÝÐ0Ñ1Ô1¸¼Ô9JÐJÐJÝ*Ð+UÑVÔVÐVå˜F E¨5Ð2CÑDÔDˆØ-5ˆÔÔ˜zÑ*ØÐr2  c           	      ób  — t           €t          d¦  «        ‚t          |t           j        ¦  «        st          dt	          |¦  «        › �¦  «        ‚t          |                      ¦   «         ¦  «        }ddlm} |j	        j
         }|rb	 d|j	        _
        nT# t          $ rG t          |j        t           j        ¦  «        s%t          dt	          |j        ¦  «        › �¦  «        d ‚Y nw xY wd }t          j        ¦   «         5  	 |                     |¦  «        }|rddlm}  ||¦  «        }n8# t&          $ r+}t)          dt+          |¦  «        d	g |¬
¦  «         Y d }~nd }~ww xY wd d d ¦  «         n# 1 swxY w Y   |€t          d¦  «        ‚t-          j         t1          | j        |¦  «        |¦  «        ¦  «         t5          || j        d|¬¦  «        }| j        j        j                             t=          j        dd| j         ¦  «        t	          |¦  «        ||¬¦  «        }	tC          | j        |	|¦  «         d|i}
tE          dtF          | j        |	|d dœ|
¤Ž}|| j        j        j$        |<   |j%        j&        j'        d         }tQ          ||d|d|¬¦  «        }||	j&        j'        d<   | j)        |_)        |S )Nz'numpy must be available to wrap ndarrayzExpected np.ndarray, got r   )Ú_utilTzExpected np.nditer base, got )Úclone_preserve_stridesz)failed to convert numpy.ndarray to TensorzHException encountered when attempting to convert numpy.ndarray to Tensor)r"  r#  r$  r%  Úfrom_excz)Failed to convert numpy ndarray to tensorF©r¬  r„  rG  rš  r¶  r”  rG  )r“  r¬  r�  r”  r•  r”  ©r‚  rƒ  r„  r…  r›  r1  )*r  r‹  rI  r  rB  rq   rá  Útorch._numpyrB  ÚflagsÚ	writeablerï  rJ  Únditerrþ   Útemp_restore_stackÚ_try_convert_to_tensorÚtorch._prims_commonrC  ré  rP   r.  rÆ   rQ  r¿  r¬  r  r­  r  r  r  r  r'  r   r�  ró   rž  r�  r	  r  r€  rG  )r‰  ro  rG  rB  ÚreadonlyÚtensor_valuerC  rä  r”  r�  r3  Únumpy_ndarray_variabler›  s                r"  r  z"VariableBuilder.wrap_numpy_ndarrayä  s„  € Ýˆ:Ý Ð!JÑKÔKÐKÝ˜%¥¤Ñ,Ô,ð 	LÝ Ð!J½TÀ%¹[¼[Ð!JÐ!JÑKÔKÐKå" 4§?¢?Ñ#4Ô#4Ñ5Ô5ˆà&Ð&Ð&Ð&Ð&Ð&à”{Ô,Ð,ˆØð 		 ð Ø(,�”Ô%Ð%øÝð  ð  ð  õ " %¤*­b¬iÑ8Ô8ð  Ý(ØJ½¸U¼ZÑ8HÔ8HÐJÐJñô àð ð ð  ð øøøð ˆÝ0ÔCÑEÔEð 	ð 	ðØ$×;Ò;¸EÑBÔB�Øð HØJÐJÐJÐJÐJÐJà#9Ð#9¸,Ñ#GÔ#G�LøøÝ&ð ð ð åØGÝ ™JœJØ jØØðñ ô ð ð ð ð ð ð øøøøðøøøð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð  ÐÝ Ð!LÑMÔMÐMõ 	Ô'Ð(H­¸¼ÀÑ(HÔ(HÈÑ(VÔ(VÑWÔWÐWÝ6ØØŒwØØð	
ñ 
ô 
ˆð ””Ô*×=Ò=ÝŒFÐ# S¨$¬)Ñ4Ô4Ý�ÑÔØØð	 >ñ 
ô 
ˆõ 	% T¤W¨e°\ÑBÔBÐBØ˜VÐ$ˆÝ!2ð "
Ý+ØŒwØØ'Øð"
ð "
ð ð"
ð "
Ðð 6LˆŒŒÔ*¨6Ñ2à.Ô4Ô9Ô>¸ÔOˆõ ØØØ#Ø%ØØ+ð
ñ 
ô 
ˆð '/ˆŒ
Œ˜
Ñ#ð )-¬ÐÔ%à%Ð%sO   ÂB ÂAC%Ã$C%Ã=E,Ã?(D(Ä'E,Ä(
EÄ2!EÅE,ÅEÅE,Å,E0Å3E0rº  r#  c                 óî  — t          |¦  «        t          urt          dt          |¦  «        › �¦  «        ‚| j        | j        j        j        v r| j        j        j        | j                 S | j        j        j        }d }t          j	        ¦   «         j
        r]|                     ¦   «         }t          |¦  «         | j        j        j                             t          || j        d ¦  «        ¦  «         �nAt#          |                      ¦   «         ¦  «        �s |€Pt&          j        j        j        r:|                      t0          j        ¦  «         t5          j        || j        ¬¦  «        S | j        j        }t9          | j        |t;          j        |¦  «        | j        j                              ¦   «         ¬¦  «        }tC          | j        j        ¦  «        }| j        }	tE          |	tF          ¦  «        r|	 $                    ¦   «         }	|�|}
�nt*          j%        r-|j&        tN          u rtQ          dd¦  «         tS          ¦   «         }
nÒtE          |	tT          ¦  «        r7|	j+        �0tY          |	j+        ¦  «         	                    |ddi¦  «        d         st*          j-        s(t\           /                    d|¦  «         t`          j1        }
nR|j&        tN          u rtQ          dd¦  «         |                      t0          j        ¦  «         t5          j        |¬	¦  «        S t*          j2        r	|�|j3        nd }| 4                    || j        |
|¬
¦  «        }tE          |tj          ¦  «        st          dt          |¦  «        › �¦  «        ‚| j        j        j                             t          || j        |¦  «        ¦  «         nt#          |                      ¦   «         ¦  «        s$t          d|                      ¦   «         › �¦  «        ‚|                      t0          j        ¦  «         t5          j        || j        ¬¦  «        S tE          |                      ¦   «         tl          ¦  «        rt          d¦  «        ‚to          |                      ¦   «          8                    t0          j9        ¦  «        ¦  «         d|                      ¦   «         i}| j        j        j:         ;                    ty          j=        dd| j        ¦  «        t          |¦  «        ||                      ¦   «         ¬¦  «        }|j>        j?        }tE          |t€          jA        ¦  «        st          |› d�¦  «        ‚|| j        j        j:        jB        |<   t‡          j        | j        ||fi |¤Ž}|| j        j        j        | j        <   t#          |                      ¦   «         ¦  «        s4t‰          |                      ¦   «         |dd d|¬¦  «        |j>        jE        d<   |S )NzExpected exact int type, got rè  rì  údynamo.automatic_dynamic_shapesTr   Fú=marking %s as dynamic (from assume_static_by_default = False)r‹  )rG  r—  Úexcluded_valuer™  zExpected constant source, got z6RandomValueSource is not supported for symint wrappingrG  rš  r¶  r”  rœ  rF  r›  )FrB  r8  r‹  r'  r¬  r­  Úunspec_variable_mapr  r   r_  Ú#force_unspec_int_unbacked_size_liker'  r5   r#  r@  r>   rG  rg   rá  r  r�  rH   r™  rÔ  rQ   rN  r§   r7  rX   rV   r÷  rš  r›  r*   rI  r]   r×  Úautomatic_dynamic_shapesÚscalarrT   r   Ú$get_automatic_dynamic_shapes_mark_asrn   rº  r@  Úassume_static_by_defaultÚsymbolic_shape_logÚinfor7   r  Ú!automatic_dynamic_exclusion_guardÚexcluded_scalarr%  r   rs   rR   rå  r  r  r  r  r  r	  r   r!  r"  Úbound_symbolsrõ   r€  r  )r‰  ro  rº  r#  r  Úframe_state_entryÚwrapped_valuer'  Únormalized_source_nameÚbase_sourcer—  r^  r3  r�  ry  Ú
unspec_vars                   r"  r^  zVariableBuilder.wrap_symint?  sž  € õ �‰;Œ;�cÐ!Ð!Ý Ð!NÅÀeÁÄÐ!NÐ!NÑOÔOÐOàŒ9˜œœÔ:Ð:Ð:Ø”7”>Ô5°d´iÔ@Ð@à”G”NÔ,ˆ	Ø8<ÐÝÔÑÔÔCð \	LØ%×<Ò<Ñ>Ô>ˆMÝ% mÑ4Ô4Ð4ØŒGŒNÔ(×/Ò/Ý˜M¨4¬;¸Ñ=Ô=ñô ð ñ õ $ D§O¢OÑ$5Ô$5Ñ6Ô6ñ Q	LØÐ¥E¤MÔ$8Ô$GÐð
 ×#Ò#¥LÔ$?Ñ@Ô@Ð@Ý'Ô.°UÀ4Ä;ÐOÑOÔOÐOà”;Ô#ˆDå 9Ø”ØÝ#Ô/°Ñ6Ô6Ø+/¬;Ô+C×+^Ò+^Ñ+`Ô+`ð	!ñ !ô !Ðõ &;¸4¼;Ô;KÑ%LÔ%LÐ"Øœ+ˆKÝ˜+¥}Ñ5Ô5ð 5Ø)×2Ò2Ñ4Ô4�àÐ#Ø&�‘åÔ/ð<à%Ô,µÐ<Ð<åÐ AÀ4ÑHÔHÐHÝBÑDÔD��å˜;­Ñ4Ô4ð<àÔ(Ð4å˜Ô-Ñ.Ô.×2Ò2Ð3IÈAÈuÈ:ÑVÔVØôð 5õ
 Ô4ð 5õ #×'Ò'ØSØñô ð õ )Ô0��ð %Ô+­|Ð;Ð;Ý#Ð$EÀuÑMÔMÐMØ×#Ò#¥LÔ$?Ñ@Ô@Ð@Ý'Ô.°UÐ;Ñ;Ô;Ð;õ Ô;ðà%Ð1ð "Ô1Ð1ð ð	 ð &×JÒJØØ”{Ø'Ø.ð	 Kñ ô ˆMõ ˜m­VÑ4Ô4ð TÝ$Ð%R½TÀ-Ñ=PÔ=PÐ%RÐ%RÑSÔSÐSàŒGŒNÔ(×/Ò/Ý˜M¨4¬;¸Ñ@Ô@ñô ð ð õ & d§o¢oÑ&7Ô&7Ñ8Ô8ð Ý$ØH°T·_²_Ñ5FÔ5FÐHÐHñô ð ð ×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°¸t¼{ÐKÑKÔKÐKå�d—o’oÑ'Ô'Õ):Ñ;Ô;ð 	Ý ØHñô ð õ 	�d—o’oÑ'Ô'×2Ò2µ<Ô3JÑKÔKÑLÔLÐLà˜TŸ_š_Ñ.Ô.Ð/ˆà””Ô*×=Ò=ÝŒFÐ# S¨$¬)Ñ4Ô4Ý�ÑÔØØ—?’?Ñ$Ô$ð	 >ñ 
ô 
ˆð !Ô%Ô*ˆÝ˜(¥E¤LÑ1Ô1ð 	GÝ  HÐ!EÐ!EÐ!EÑFÔFÐFØ=BˆŒŒÔ"Ô0°Ñ:Ý$Ô+¨D¬G°U¸MÐUÐUÈWÐUÐUˆ
à8BˆŒŒÔ*¨4¬9Ñ5å! $§/¢/Ñ"3Ô"3Ñ4Ô4ð 	Ý*2Ø—’Ñ!Ô!ØØ#(Ø ØØ#0ð+ñ +ô +ˆEŒJŒO˜JÑ'ð Ðr2  c           
      ó 
  — | j         | j        j        j        v r| j        j        j        | j                  S t	          | j        | j        j         t          j        |¦  «        | j        j         	                    ¦   «         ¬¦  «        }t          j        j        j        sŽt          |                      ¦   «         ¦  «        smt!          j        |¦  «        sYt!          j        |¦  «        sEt          j        j        j        j        s*t-          dd¦  «        st          j        rH|j        t2          ur:|                      t6          j        ¦  «         t;          j        || j        ¬¦  «        S t          j        |t          j         ¬¦  «        }t          j!        j"         #                    |¦  «        r:|                      t6          j        ¦  «         t;          j        || j        ¬¦  «        S tI          |                      ¦   «         tJ          ¦  «        rtM          d¦  «        ‚tO          |                      ¦   «          (                    t6          j)        ¦  «        ¦  «         tU          |                      ¦   «         ¦  «        }||dœ}tW          || j        d|¬¦  «        }| j        j        j,         -                    t]          j/        d	d
| j         ¦  «        ta          |¦  «        ||¬¦  «        }tc          | j        ||¦  «         te          tf          f| j        ||d dœ|¤Ž}tI          |tf          ¦  «        stM          dta          |¦  «        › �¦  «        ‚|| j        j        j        | j         <   | j        j4        rNtI          |                      ¦   «         tj          ¦  «        s'tM          d|› d|                      ¦   «         › �¦  «        ‚d }	|j6        j7        j8        d         }ts          |¦  «        stM          dta          |¦  «        › �¦  «        ‚|}	|	j:        | j        j:        urtM          d|	j:        › d�¦  «        ‚tw          |                      ¦   «         |d|	d|¬¦  «        |j7        j8        d<   ty          | j         | j        j        j=        ddgt}          |gi ¦  «        ¢R Ž ¦  «        }
| j        j        j?         @                    tƒ          |
jB        | j        d ¦  «        ¦  «         t‡          ¦   «          D                    ddd¬¦  «         |
S )Nrì  z.pytorch/compiler:unspecialize_float_killswitchFrè  )r‰  z8RandomValueSource is not supported for symfloat wrapping)rG  Ú	raw_valuerE  rš  r¶  r”  ©r¬  r�  r”  r•  z*Expected UnspecializedPythonVariable, got ú=Dynamo attempts to add additional input during export: value=ú	, source=r”  ú(Expected fake tensor example_value, got úfake mode (ú^) from fake tensor metadata doesn't match mode({self.tx.fake_mode}) from InstructionTranslatorTrF  r›  Úcall_methodrŽ  Útensorify_float_attempt)Ú	overwrite)Er'  r¬  r­  rU  rX   rG  rV   r÷  rš  r›  r  r�  rH   rú  rg   rá  ÚmathÚisnanÚisinfÚ	_inductorrÂ  Ú
cudagraphsr(   rZ  rX  rT   rÔ  rQ   rN  r§   r7  r%  Úfloat64rÛ  rÜ  Úis_gradtrackingtensorrI  rs   r‹  rR   rå  r  rd   r  r  r  r  r  rB  r   r�  rø   rÒ  rn   r�  r	  r  r$   rU  r€  r!  r  r”   r#  r@  r>   rñ  r   rÒ  )r‰  ro  r`  ra  rG  r3  r”  r�  rd  r@  rŒ  s              r"  r   zVariableBuilder.wrap_symfloatÎ  s  € ð Œ9˜œœÔ:Ð:Ð:Ø”7”>Ô5°d´iÔ@Ð@å5ØŒGØŒKÔåÔ+¨EÑ2Ô2Ø'+¤{Ô'?×'ZÒ'ZÑ'\Ô'\ð
ñ 
ô 
Ðõ ŒMÔ Ô1ð	Lå! $§/¢/Ñ"3Ô"3Ñ4Ô4ð	Lõ Œz˜%Ñ Ô ð	Lõ Œz˜%Ñ Ô ð		Lõ ŒÔ%Ô,Ô7ð	Lõ ÐOÐQVÑWÔWð	Lõ Ô/ð	Lð &Ô,µLÐ@Ð@ð ×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°¸t¼{ÐKÑKÔKÐKõ œ Uµ%´-Ð@Ñ@Ô@ˆõ
 Œ8Ô×4Ò4°]ÑCÔCð 	LØ×Ò¥Ô ;Ñ<Ô<Ð<Ý#Ô*°¸t¼{ÐKÑKÔKÐKõ �d—o’oÑ'Ô'Õ):Ñ;Ô;ð 	Ý ØJñô ð õ 	�d—o’oÑ'Ô'×2Ò2µ<Ô3JÑKÔKÑLÔLÐLõ # 4§?¢?Ñ#4Ô#4Ñ5Ô5ˆØ#°%Ð8Ð8ˆõ 7Ø˜dœg°¸vð
ñ 
ô 
ˆð ””Ô*×=Ò=ÝŒFÐ# S¨$¬)Ñ4Ô4Ý�ÑÔØØð	 >ñ 
ô 
ˆõ 	% T¤W¨e°]ÑCÔCÐCå&Ý'ð
àŒwØØ'Øð
ð 
ð ð
ð 
ˆ
õ ˜*Õ&AÑBÔBð 	Ý ØO½TÀ*Ñ=MÔ=MÐOÐOñô ð ð 9CˆŒŒÔ*¨4¬9Ñ5àŒ7Œ>ð 	¥*¨T¯_ª_Ñ->Ô->ÅÑ"LÔ"Lð 	Ý Ø{ÐP]Ð{Ð{Ðhl×hwÒhwÑhyÔhyÐ{Ð{ñô ð ð !ÐØ"Ô(Ô-Ô2°?ÔCˆÝ�}Ñ%Ô%ð 	Ý ØP½4ÀÑ;NÔ;NÐPÐPñô ð ð *ÐàÔ&¨d¬gÔ.?Ð?Ð?Ý ðCÐ/Ô9ð Cð Cð Cñô ð õ  '/Ø�OŠOÑÔØØ#à)ØØ,ð'
ñ '
ô '
ˆŒ
Œ˜
Ñ#õ ØŒGØ'ˆDŒGŒNÔ'ØØðõ # J <°Ñ4Ô4ðð ð ñ
ô 
ˆð 	ŒŒÔ$×+Ò+­K¸¼	À4Ä;ÐPTÑ,UÔ,UÑVÔVÐVåÑÔ×!Ò!Ð";¸TÈTÐ!ÑRÔRÐRàˆr2  c                 óþ  — | j         | j        j        j        v r| j        j        j        | j                  S t	          j        |¦  «        }t          |                      ¦   «         t          ¦  «        s>t          |                      ¦   «          
                    t          j        ¦  «        ¦  «         d|                      ¦   «         i}|                     d|i¦  «         t          || j        d|                      ¦   «         ¬¦  «        }| j        j        j                             t#          j        dd| j         ¦  «        t'          |¦  «        ||                      ¦   «         ¬¦  «        }t)          | j        ||¦  «         t+          t,          f| j        ||d dœ|¤Ž}|| j        j        j        | j         <   t/          |                      ¦   «         ¦  «        �s+| j        j        rNt          |                      ¦   «         t2          ¦  «        s't5          d	|› d
|                      ¦   «         › �¦  «        ‚d }|                     ¦   «         r|                     ¦   «         }n|j        j        j        d         }tA          |¦  «        st5          dt'          |¦  «        › �¦  «        ‚|}|j!        | j        j!        urt5          d|j!        › d�¦  «        ‚tE          |                      ¦   «         |d|d|¬¦  «        |j        j        d<   |S )NrG  rf  FrE  rš  r¶  r”  rg  rh  ri  r”  rj  rk  rl  TrF  r›  )#r'  r¬  r­  rU  r  r%  rI  rá  rs   rR   rå  rQ   r  Úupdater  r  r  r  r  rB  r   r�  rø   rg   rÒ  rn   r‹  Úis_python_constantÚas_python_constantr�  r	  r  r$   rU  r€  )r‰  ro  ra  r3  r”  r�  rd  r@  s           r"  r  z,VariableBuilder.wrap_unspecialized_primitivei  s  € ØŒ9˜œœÔ:Ð:Ð:Ø”7”>Ô5°d´iÔ@Ð@åœ UÑ+Ô+ˆÝ˜$Ÿ/š/Ñ+Ô+Õ->Ñ?Ô?ð 	QÝ˜$Ÿ/š/Ñ+Ô+×6Ò6µ|Ô7NÑOÔOÑPÔPÐPà˜TŸ_š_Ñ.Ô.Ð/ˆØ�Š˜ UÐ+Ñ,Ô,Ð,å6Ø˜dœg°¸t¿ºÑ?PÔ?Pð
ñ 
ô 
ˆð ””Ô*×=Ò=ÝŒFÐ# S¨$¬)Ñ4Ô4Ý�ÑÔØØ—?’?Ñ$Ô$ð	 >ñ 
ô 
ˆõ 	% T¤W¨e°]ÑCÔCÐCå&Ý'ð
àŒwØØ'Øð
ð 
ð ð
ð 
ˆ
ð 9CˆŒŒÔ*¨4¬9Ñ5Ý! $§/¢/Ñ"3Ô"3Ñ4Ô4ñ !	ØŒwŒ~ð ¥j°·²Ñ1BÔ1BÅKÑ&PÔ&Pð Ý$ØÐTaÐÐÐlp×l{Òl{Ñl}Ôl}ÐÐñô ð ð !%ÐØ×,Ò,Ñ.Ô.ð Là *× =Ò =Ñ ?Ô ?��ð !+Ô 0Ô 5Ô :¸?Ô K�Ý˜=Ñ)Ô)ð Ý$ØT½tÀMÑ?RÔ?RÐTÐTñô ð ð !.Ðà Ô*°$´'Ô2CÐCÐCÝ$ðGÐ"3Ô"=ð Gð Gð Gñô ð õ
 +3Ø—’Ñ!Ô!ØØ#'à-ØØ#0ð+ñ +ô +ˆEŒJŒO˜JÑ'ð Ðr2  )Trq  ©NN)Qr*  r+  r,  r-  ru   r0  r¦  r‡  r£   rÊ  rÆ  rÚ  rá  r   r   r@  r.  rÔ  Úclassmethodrï  rå  Úcacherì  r  r  r  rÓ   r  r  r  rã   r	  r  r
  r  r  r	   r  rÀ   r  r  r8  rM  rÙ  r,  r   rõ  rö  r“   r   rú  r˜   rþ  r•   rÿ  rý  r   r\  rÌ   rÊ   r  r�  r½  rÕ  rÖ  rÏ  r  rù  r7  rû  r
   rø  r	  rô  r  r7   r=   r^  r   r  r³  r´  s   @r"  r¿  r¿  û  sM  ø€ € € € € Ø=Ð=ð %)ð	7ð 7à'ð7ð ð7ð "ð	7ð
 
ð7ð 7ð 7ð 7ð 7ð 7ð*˜fð ¨ð ð ð ð ð> ð >¨?ð >ð >ð >ð >ð@
¨Oð 
Àð 
ð 
ð 
ð 
ð˜Fð ð ð ð ð h¨s°C¨xÔ&8ð ¸TÀ#ÀsÀ(¼^ÈdÑ=Rð ð ð ð ð ð;˜t F¨H°S¸#°XÔ,>Ð$>Ô?ð ;ð ;ð ;ñ „[ð;ð Ø„_ð(¨dð (°t¸FÀHÈSÐRUÈXÔDVÐ<VÔ7Wð (ð (ð (ñ „_ñ „[ð(ðT+Ø”Z ”_ r¤x°¤}Ñ4ð+à	ð+ð +ð +ð +ðI 'Ô"7¸Ô"<ð IÀð Ið Ið Ið Ið
Ø”[Ô&Ô6ð
à	ð
ð 
ð 
ð 
ð
 sð 
Ð/Jð 
ð 
ð 
ð 
ð"H¨ð H°ð Hð Hð Hð HðB Ø„_ðà	ˆc�8Ð.°Ð4°oÐEÔFÐFÔ	Gðð ð ñ „_ñ „[ðð6U1˜3ð U1 ?ð U1ð U1ð U1ð U1ðn$P sð P¨ð Pð Pð Pð Pð.rØ˜5  c œ?¨D°¬I°|ÀZÐOÔPðrà	ðrð rð rð rðh	H¨ð 	H¸Oð 	Hð 	Hð 	Hð 	HðH¨ð H¸Oð Hð Hð Hð HðH¨#ð H°/ð Hð Hð Hð Hð < e¨e¡mð <¸ÈÑ8Uð <ð <ð <ð <ð u¤|ð ¸Dð ÀTð ð ð ð ð$h ¤¤ð h°_ð hð hð hð hðTk &ð k¨_ð kð kð kð kðZ'¨3ð '°?ð 'ð 'ð 'ð 'ð)¨Uð )°ð )ð )ð )ð )ð ðàðð ˜3˜% Ð0Ô1ðð 
ð	ð ð ñ „Xðð ðàðð ˜5˜' ?Ð2Ô3ðð 
ð	ð ð ñ „Xðð ð ðð à�U‰{˜TÑ! CÑ'ðð ðð 
ð	ð ð ñ „Xðð <@ðFð Fà�U‰{˜TÑ! CÑ'ðFð ˜3˜% Ð0Ô1°DÑ8ðFð 
ð	Fð Fð Fð Fð°e´lð Àtð ð ð ð ðl ¤ð l°/ð lð lð lð lð\	Y&¨ð Y&°ð Y&ð Y&ð Y&ð Y&ð| '+Ø04ð	Mð MàðMð ˜tÑ#ðMð '¨Ñ-ð	Mð
 
ðMð Mð Mð Mð^Y 5ð Y¨_ð Yð Yð Yð YðvB°#ð B¸/ð Bð Bð Bð Bð Bð Bð Bð Br2  r¿  Úobjc           	      ó´  — d }t          | t          ¦  «        r| j        }n*t          dd| › dt	          | ¦  «        › �d| › d�g ¬¦  «         |€t          d¦  «        ‚g }t          j        |¦  «        D ]Y}d }| j        r*t          | j        d¦  «        }t          ||j        ¦  «        }|                     t          ||¬	¦  «        ¦  «         ŒZt          |¦  «        S )
Nzdataclass fields failurezobj: z; variable type: z$Dataclass fields handling fails for z*. Expected it to be a user-defined object.r!  z,dataclasses.fields requires a non-None valueÚ__dataclass_fields__r”  )rI  r  ro  rP   rB  r‹  rK  rL  rG  r[   ra   r'  r@  rÎ   )r~  ro  rA  ÚfieldrG  Úbase_srcs         r"  rI  rI  ®  s  € Ø€EÝ�#Õ0Ñ1Ô1ð 
Ø”	ˆˆåØ.Ø=˜CÐ=Ð=µ$°s±)´)Ð=Ð=Øn¸sÐnÐnÐnØð		
ñ 	
ô 	
ð 	
ð €}ÝÐKÑLÔLÐLØ€EåÔ# EÑ*Ô*ð Fð FˆØˆØŒ:ð 	=Ý! #¤*Ð.DÑEÔEˆHÝ& x°´Ñ<Ô<ˆFØ�ŠÕ.¨u¸VÐDÑDÔDÑEÔEÐEÐEå˜ÑÔÐr2  rU  c                 óÚ   — t          | t          j        ¦  «        rPt          | t          ¦  «        s;t          j        | ¦  «        rt          | ¦  «        |u s| j        st          | ¦  «        } | S rq  )rI  r  r�  r"   Ú_is_functional_tensorr%   r  r~   )ro  rU  s     r"  Ú_clone_inputr…  Ç  sr   € Ý�%�œÑ&Ô&ð 'õ �u�jÑ)Ô)ð
	'õ Ô+¨EÑ2Ô2ð	
	'õ
 (¨Ñ.Ô.°)Ð;Ð;àŒð <õ
   Ñ&Ô&ˆEà€Lr2  r¬  r  r�  r”  r•  r3  c                 ó’   — | |||dœ|¥}|€t          ddt          i|¤ŽS t          ddt          i|¤Ž}|                     | ¦  «         |S )Nrg  r“  r1  )r�  r÷   rý   Úinstall_global)r¬  r�  r”  r•  r3  Úkwargsr  s          r"  r!  r!  Ù  s{   € ð ØØ&Ø&ð	ð ð
 ð€Fð Ðå ÐEÐE­NÐE¸fÐEÐEÐEõ #ÐUÐUÕ.JÐUÈfÐUÐUˆà×Ò˜bÑ!Ô!Ð!Øˆr2  c                 óÔ   — | j         r`t          j                             ¦   «         5  t	          || j        ¦  «        |j        j        |j        <   d d d ¦  «         d S # 1 swxY w Y   d S d S rq  )	rÒ  r  rÛ  ÚDisableTorchFunctionSubclassr…  rU  ÚtracerÚreal_value_cacher	  )r¬  r�  r”  s      r"  r   r   ò  s´   € ð 
„yð õ ŒX×2Ò2Ñ4Ô4ð 	ð 	Ý8DØ˜rœ|ñ9ô 9ˆEŒLÔ)¨%¬*Ñ5ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð	ð s   ¦(AÁAÁ"Ar“  c                 ó€  — |€t          | ||||fi |¤Ž}n@t          |t          j        ¦  «        rt	          | ||||fi |¤Ž}nt          |||||| ¦  «        }t          |t          j        j        j        t          j        j        j	        f¦  «        r/|j
        j        dk    r|j        j                             |¦  «         |S )NÚplaceholder)Ú_wrap_fx_proxyrI  r  r�  Ú_wrap_fx_preexisting_tensorÚhandle_traced_outputr�  Ú	variablesr÷   rõ   r	  Úopr­  rÐ  Úrecord_proxyable_vt)r“  r¬  r�  r”  r•  r3  Úouts          r"  r�  r�  +  sñ   € ð ÐÝ)Ø˜˜E =°-ð
ð 
ØCJð
ð 
ˆˆõ 
�M¥5¤<Ñ	0Ô	0ð 
Ý)Ø˜˜E =°-ð
ð 
ØCJð
ð 
ˆˆõ #Ø˜2˜u g¨}¸jñ
ô 
ˆõ
 	Øå”Ô'Ô6Ý”Ô'Ô7ðñ	
ô 	
ð
:ð ŒJŒM˜]Ò*Ð*à
Œ	Ô ×4Ò4°SÑ9Ô9Ð9Ø€Jr2  r%  c                 óÒ  — ddl m} t          |t          j        ¦  «        st          dt          |¦  «        › �¦  «        ‚t          ||¦  «        st          dt          |¦  «        › �¦  «        ‚d|v r-|d         �%|j        j         	                    |d         ¦  «         |j
        j        dk    r"d|j
        j        vrt          d|› d	�¦  «        ‚n.d|j
        j        v r t          |j
        j        d         › ¦  «        ‚t          j        j                             ¦   «         5  t!          |¦  «        |j        u rnËt%          |||¦  «         |j        r]t          j                             ¦   «         5  t-          ||j        ¦  «        |j        j        |j
        <   d d d ¦  «         n# 1 swxY w Y   d
| t2          t4          fv i}d|vrt          d¦  «        ‚|d         €t          d¦  «        ‚|d         |d<   t7          |fd|i|¤Ž}|j        j        dk    r(t!          |¦  «        |j        urt;          d|› �¦  «        ‚d d d ¦  «         n# 1 swxY w Y   t=          | |||||¦  «        S )NrG   r  z1_wrap_fx_preexisting_tensor expected tensor, got ú(Expected InstructionTranslatorBase, got râ  rŽ  r”  zplaceholder z* doesn't have 'example_value' in node.metar„  rG  z"source must be provided in optionsz"source must not be None in optionsr¬  r  zN`tensor` needs to be a `FakeTensor`wrapped by this instance of Dynamo. Found: )Úsymbolic_convertr  rI  r  r�  r‹  rB  r­  râ  rx  r	  r“  r  r�  r
  Ú+_disable_saved_tensors_hooks_during_tracingr%   rU  r   rÒ  rÛ  rŠ  r…  r‹  rŒ  r÷   rý   r  r-  rN   Úconstruct_tensor_variable)r“  r¬  r�  r%  r•  r3  r  rˆ  s           r"  r�  r�  S  s?  € ð =Ð<Ð<Ð<Ð<Ð<å�f�eœlÑ+Ô+ð 
ÝØNÅÀVÁÄÐNÐNñ
ô 
ð 	
õ �bÐ3Ñ4Ô4ð TÝÐRÍÈRÉÌÐRÐRÑSÔSÐSØ�7ÐÐ˜w xÔ0Ð<Ø
Œ	Ô×Ò ¨Ô 1Ñ2Ô2Ð2ð „z„}˜Ò%Ð%Ø %¤*¤/Ð1Ð1Ý ØP˜uÐPÐPÐPñô ð ð 2ð
 ˜eœjœoÐ-Ð-Ý  E¤J¤O°OÔ$DÐ!FÑGÔGÐGõ 
ŒÔ	×	HÒ	HÑ	JÔ	Jð %ð %å˜vÑ&Ô&¨"¬,Ð6Ð6Øå(¨¨U°FÑ;Ô;Ð;ØŒyð õ ”X×:Ò:Ñ<Ô<ð ð å@LØ ¤ñAô A�E”LÔ1°%´*Ñ=ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ˜ZÝ"Õ$@ÐAðBðˆFð ˜wÐ&Ð&Ý$Ð%IÑJÔJÐJØ�xÔ Ð(Ý$Ð%IÑJÔJÐJØ& xÔ0ˆF�8Ñå3°FÐLÐL¸rÐLÀVÐLÐLˆFàŒ=Ô Ò'Ð'Ý Ñ'Ô'¨r¬|Ð;Ð;å*ðGØ>DðGð Gñô ð ðE%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õN %Ø�B˜˜v }°gñô ð s8   Ä#AI
Å1(F%ÆI
Æ%F)	Æ)I
Æ,F)	Æ-BI
É
IÉIc                 óö  — ddl m} t          ||¦  «        st          dt	          |¦  «        › �¦  «        ‚d|v r-|d         �%|j        j                             |d         ¦  «         d|j        j	        v r t          |j        j	        d         › ¦  «        ‚t          j        j                             ¦   «         5  t          |j        |d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |||||| ¦  «        S )NrG   r  r—  râ  r”  T)Úallow_non_graph_fake)r˜  r  rI  r‹  rB  r­  râ  rx  r	  r  r  r�  r
  r™  r‚   r‘  )r“  r¬  r�  r”  r•  r3  r  s          r"  r�  r�     s`  € ð =Ð<Ð<Ð<Ð<Ð<å�bÐ3Ñ4Ô4ð TÝÐRÍÈRÉÌÐRÐRÑSÔSÐSØ�7ÐÐ˜w xÔ0Ð<Ø
Œ	Ô×Ò ¨Ô 1Ñ2Ô2Ð2à˜%œ*œ/Ð)Ð)Ý ¤
¤°Ô @ÐBÑCÔCÐCõ 
ŒÔ	×	HÒ	HÑ	JÔ	Jð Rð Rõ ' u¤z°2ÈDÐQÑQÔQˆð	Rð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rõ  àØ
ØØØØñô ð s   Â8CÃC Ã#C c                 ó¨  — dd l }dd l}dd l}t          | |j        ¦  «        rÄt          | ¦  «        rD|j        rt          j        s1d| j	        › d| j
        › �}t          d|dg t          j        ¢¬¦  «         t          |||| ||¦  «        }t          |t          ¦  «        st!          dt#          |¦  «        › �¦  «        ‚|j        j                             ||t*          ¬¦  «         |S t-          |j        j        d	¦  «        r>|j        j        j        d
k    r)t          |j        j        j        |j        j        ¦  «        s|j        j        |j        j        u rHt#          |j        j        ¦  «        t>          u rt!          d¦  «        ‚tA          |j        j        ¦  «        S |j        j        |j        j!        u s|j        j        |j"        j#        u rtI          | ¦  «        S tK          | |j&        ¦  «        r2tO          d„ | D ¦   «         ¦  «        rd„ | D ¦   «         }	tQ          |	fi |¤ŽS t          | tR          tT          f¦  «        �rtW          |j        | ¦  «         g }
tY          | ¦  «        D ]æ\  }}|€%|
 -                    t]          j/        d-i |¤Ž¦  «         Œ,|j0         1                    dtd          j3        ||fi ¬¦  «        }d|v rft          | tT          ¦  «        st!          dt#          | ¦  «        › �¦  «        ‚|d         }| 4                    ¦   «         }tk          ||d¬¦  «        |d<   n|}|
 -                    tm          d.||||dœ|¤Ž¦  «         Œçt          | |j&        ¦  «        rtQ          |
|fi |¤ŽS tK          | tR          ¦  «        rto          |
fi |¤ŽS tK          | tT          tp          f¦  «        rts          |
fi |¤ŽS tu          | ¦  «        st!          dt#          | ¦  «        › �¦  «        ‚to          |
| ;                    dty          ¦   «         ¦  «        ¬¦  «        } t{          j>        t#          | ¦  «        ¦  «        | fd|i|¤ŽS | �|j        j        |j?        u rt]          j/        d-i |¤ŽS t          | |j@        |jA        |jB        f¦  «        rI|j        jC         D                    | |¦  «         tW          |j        | ¦  «         t‹          j/        ||| fi |¤ŽS t          | |jF        ¦  «        r|j        j        tŽ          u s$|j        j        d„ t‘          ¦   «         D ¦   «         v rKtW          |j        | ¦  «         d }|j        j        tŽ          u r|j        jI        d         }t•          || |fi |¤ŽS t          | |jK        ¦  «        r|j        j        tŽ          u s$|j        j        d„ t‘          ¦   «         D ¦   «         v rKd }|j        j        tŽ          u r|j        jI        d         }tW          |j        | ¦  «         t™          || |fi |¤ŽS t›          jN        |j        j        ¦  «        rtŸ          |j        j        |jK        ¦  «        s$|j        j        d„ t‘          ¦   «         D ¦   «         v r$tW          |j        | ¦  «         t™          || d fi |¤ŽS |j        j        dk    r2|j        jP        dk    r"tW          |j        | ¦  «         t]          | fi |¤ŽS | �Yt          | |jK        ¦  «        rD|j        j        dk    r4|j        jP        dk    r$tW          |j        | ¦  «         t™          || d fi |¤ŽS t          | t¢          ¦  «        rþ|j        j        |jR        |jS        |jT        tª          td          j3        |jV        jW        |jX        td          jY        |jZ        j[        j\        |jZ        j]        j^        |jZ        j]        j_        t«          |j`        dtÂ          ¦  «        t«          |j`        d tÂ          ¦  «        |jb        fv s |j        jP        dk    r7|j        j        d!k    r'tW          |j        | ¦  «         t]          j/        | fi |¤ŽS t          | |jc        j"        jd        ¦  «        r$d"d#lemf} tW          |j        | ¦  «          ||fi |¤ŽS t          | tÎ          ¦  «        rä|j        j        |j        jh        |j        jZ        ji        |jc        j"        jj        |jc        j"        jk        |jc        j"        jl        |j        jm        |j        jn        |j        jo        |j        jp        |j        jq        |j        jr        d$gtU          tç          jt        ¦   «         ¦  «        z   v r'tW          |j        | ¦  «         t]          j/        | fi |¤ŽS t          | t¢          tê          tÎ          f¦  «        rm|j        j        tì          u s3|j        j        tî          u s |j        jP        dk    r7|j        j        d%k    r'tW          |j        | ¦  «         t]          j/        | fi |¤ŽS t          | tê          ¦  «        s|j        j        d&v r'tW          |j        | ¦  «         t]          j/        | fi |¤ŽS t          | |jx        jy        jz        ¦  «        rt÷          j/        || |¬'¦  «        S tù          t#          | ¦  «        ¦  «        rttû          t#          | ¦  «        ¦  «        rt÷          j/        | | |¬'¦  «        S |jx        jy         ~                    |j        j        | ¦  «        }t÷          j/        |||¬'¦  «        S t          d(d)�t          | ¦  «        › d*|j        jP        › d+|j        j        › �d,g ¬¦  «         d S )/Nr   zsparse tensor with layout=z, shape=z4Attempted to wrap sparse Tensor with VariableTrackerzBtorch.compile does not support sparse Tensors with VariableTrackerr!  zExpected VariableTracker, got )Úmutation_type_clsr*  Ú	set_statez&proxy.node.target must not be a stringc              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rq  )rI  r8  rw  s     r"  r»  z'handle_traced_output.<locals>.<genexpr>  s=   è è € ð 3ð 3Ø �
�1•cÑÔð3ð 3ð 3ð 3ð 3ð 3r2  c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS r1  r�  rw  s     r"  rç  z(handle_traced_output.<locals>.<listcomp>  s$   € ÐCÐCÐC°Õ!Ô(¨Ñ+Ô+ÐCÐCÐCr2  r°  )ÚkindÚtargetr„  rˆ  rG  z#Expected list for source path, got Fr–  )r“  r¬  r�  r”  z)expected namedtuple or structseq but got r)  ©r)  rm  c                 ó"   — g | ]\  }}|j         ‘ŒS r1  ©Úcurrent_stream©rº  r¶  Údevice_interfaces      r"  rç  z(handle_traced_output.<locals>.<listcomp>W  ó0   € ð ð ð áˆAÐð 	Ô'ðð ð r2  c                 ó"   — g | ]\  }}|j         ‘ŒS r1  r¦  r¨  s      r"  rç  z(handle_traced_output.<locals>.<listcomp>d  rª  r2  c                 ó"   — g | ]\  }}|j         ‘ŒS r1  )r  r¨  s      r"  rç  z(handle_traced_output.<locals>.<listcomp>q  s0   € ð ð ð áˆAÐð 	Ôðð ð r2  Úqueryrm  Úrecord_eventÚget_rankÚget_world_sizeÚ
bit_lengthr�   rê   Ú
is_integerrŽ  )r9  Ú	__round__r6  ztorch.* op returned non-Tensorzexample_value type: z; op: z
; target: zUtorch.* ops that return a non-Tensor cannot be traced into the Dynamo FX graph outputrq  r1  )�Útorch._functorch.vmapÚtorch._subclasses.fake_tensorÚtorch._utilsrI  r�  r&   rÒ  rH   r  ÚlayoutÚshaperP   rI   r  rš  r£   r‹  rB  r­  rÓ  Ú
_track_objrŸ   r!  r	  r£  r*  rt  rÛ  rH  ru  Úset_rng_stater.  rü   Ú_DisableFuncTorchr  Ú_is_in_bad_forkr  r‘   rù  r>  rË   rõ  rö  r–   rÕ  r@  r§   r7  r‹  r  ÚoperatorÚgetitemr­  re   r�  rÎ   r@   rÉ   rŠ   r_  r¢   r  rË  Úmanual_seedr   ÚSymFloatr&  rÐ  Útrack_produced_symintsrõ   r  r   rM   r„  rò   r  rð   rw  r¸  rB  r“  r8  Úsym_intÚsym_maxÚsym_minrl  Ú_utilsÚ_element_sizeÚseedr€  rÜ  ÚvmapÚ_validate_and_get_batch_sizeÚpredispatchÚ_vmap_increment_nestingÚ_vmap_decrement_nestingrà  r}  Ú_constrain_as_sizeÚbackendsÚ
SDPAParamsÚsdparë   r0  Ú _are_functorch_transforms_activeÚis_batchedtensorÚis_flash_attention_availableÚcan_use_flash_attentionÚcan_use_efficient_attentionÚ_get_cudnn_sdp_enabledÚ_get_flash_sdp_enabledÚ_get_mem_efficient_sdp_enabledÚ_get_math_sdp_enabledÚ_get_overrideable_sdp_enabledÚ_is_autocast_availablerô   r?  r7  r   r   rI  rJ  rK  ré   r   r   rT  rU  r    )r”  r¬  r�  r3  r•  r“  r  r#  rg  ÚsizesÚunpackedro  r_  Úproxy_irG  Ú	options_irm  rK  rë   r‚  s                       r"  r‘  r‘  Æ  s„  € ð !Ð Ð Ð Ø(Ð(Ð(Ð(ØÐÐÐå�- ¤Ñ.Ô.ð N
õ ˜Ñ'Ô'ð 	Ø”	ð	Ý!'Ô!>ð	ð
 g°=Ô3GÐfÐfÐQ^ÔQdÐfÐfˆGÝØNØØ`Ø8Õ)Ô7Ð8ð	ñ ô ð õ (Ø˜˜E =°-Àñ
ô 
ˆõ ˜#�Ñ/Ô/ð 	OÝ Ð!MÅ$ÀsÁ)Ä)Ð!MÐ!MÑNÔNÐNØ
Œ	Ô×)Ò)Ø�3Õ*>ð 	*ñ 	
ô 	
ð 	
ð ˆ
å�”
Ô! :Ñ.Ô.ðl
àŒJÔÔ&¨+Ò5Ð5å�u”zÔ(Ô1°5´8Ô3EÑFÔFð 6ð Œ:Ô ¤Ô :Ð:Ð:å�”
Ô!Ñ"Ô"¥cÐ)Ð)Ý Ð!IÑJÔJÐJå+¨E¬JÔ,=Ñ>Ô>Ð>àŒ
Ô˜UœXÔ7Ð7Ð7ØŒ:Ô ¤
Ô :Ð:Ð:å(¨Ñ7Ô7Ð7Ý	�˜uœzÑ	*Ô	*ð \
­sð 3ð 3Ø$1ð3ñ 3ô 3ñ 0ô 0ð \
ð DÐC°]ÐCÑCÔCˆÝ˜EÐ-Ð- WÐ-Ð-Ð-Ý	�M¥E­4 =Ñ	1Ô	1ñ W
Ý˜%œ* mÑ4Ô4Ð4ØˆÝ Ñ.Ô.ð +	ð +	‰FˆAˆsØˆ{à—’Ý$Ô+Ð<Ð<°GÐ<Ð<ñô ð ð ð  œ,×3Ò3Ø(Ý#Ô+Ø ˜Øð	 4ñ ô �ð ˜wÐ&Ð&õ & mµTÑ:Ô:ð Ý,ØWÅ$À}ÑBUÔBUÐWÐWñô ð ð % XÔ.�FØ '§¢¡¤�IÝ*7Ø#ØØ',ð+ñ +ô +�I˜hÑ'Ð'ð !(�Ið —’å%ð à#-ØØ%Ø&)ðð ð $ðð ñ
ô 
ð 
ð 
õ �m U¤ZÑ0Ô0ð 	õ   ¨%Ð;Ð;°7Ð;Ð;Ð;Ý�M¥5Ñ)Ô)ð 	Ý  Ð5Ð5¨WÐ5Ð5Ð5Ý�M¥D­.Ð#9Ñ:Ô:ð 	Ý Ð4Ð4¨GÐ4Ð4Ð4å  Ñ/Ô/ð Ý$ØUÅÀ]Ñ@SÔ@SÐUÐUñô ð õ %ØØ%Ÿkšk¨/Õ;KÑ;MÔ;MÑNÔNðñ ô ˆHð LÕ+Ô6µt¸MÑ7JÔ7JÑKÔKØðð à!ðð ðð ð ð
 
Ð	 %¤*Ô"3°uÔ7HÐ"HÐ"HÝÔ&Ð7Ð7¨wÐ7Ð7Ð7Ý	�M E¤L°%´.À%Ä-Ð#PÑ	QÔ	Qð P
Ø
Œ	Ô ×7Ò7¸ÀuÑMÔMÐMÝ˜%œ* mÑ4Ô4Ð4ÝÔ% b¨%°ÐJÐJÀ'ÐJÐJÐJå�= %¤,Ñ/Ô/ðL
àŒJÔÕ!=Ð=Ð=Ø	ŒÔ	ð ð å#CÑ#EÔ#Eðñ ô ð 
ð 
õ 	˜%œ* mÑ4Ô4Ð4ØˆØŒ:ÔÕ <Ð<Ð<Ø”J”O AÔ&ˆEå˜e ]°EÐEÐE¸WÐEÐEÐEå�= %¤+Ñ.Ô.ð
àŒJÔÕ!=Ð=Ð=Ø	ŒÔ	ð ð å#CÑ#EÔ#Eðñ ô ð 
ð 
ð ˆØŒ:ÔÕ <Ð<Ð<Ø”J”O AÔ&ˆEÝ˜%œ* mÑ4Ô4Ð4å˜U M°5ÐDÐD¸GÐDÐDÐDåŒ˜œ
Ô)Ñ*Ô*ðr
å�u”zÔ(¨%¬+Ñ6Ô6ðr
ð 
ŒÔ	ð ð å#CÑ#EÔ#Eðñ ô ð 
ð 
õ 	˜%œ* mÑ4Ô4Ð4Ý˜U M°4ÐCÐC¸7ÐCÐCÐCØ	ŒÔ	˜gÒ	%Ð	%¨%¬*¬-¸=Ò*HÐ*HÝ˜%œ* mÑ4Ô4Ð4Ý Ð9Ð9°Ð9Ð9Ð9àÐ!Ý�} e¤kÑ2Ô2ð 	"àŒJÔ Ò/Ð/ØŒJŒM˜]Ò*Ð*å˜%œ* mÑ4Ô4Ð4Ý˜U M°4ÐCÐC¸7ÐCÐCÐCÝ	�M¥3Ñ	'Ô	'ð ^
ØŒ
ÔàŒMØŒMØŒMÝÝÔØŒLÔ&ØŒJÝŒLØÔÔ!Ô>ØÔÔ(Ô@ØÔÔ(Ô@å�EÔ% zµ8Ñ<Ô<Ý�EÔ%Ð'7½ÑBÔBð Ô$ð#
ð	
ð 	
ð, ŒJŒM˜]Ò*Ð*¨u¬zÔ/@ÀLÒ/PÐ/Põ 	˜%œ* mÑ4Ô4Ð4ÝÔ& }Ð@Ð@¸Ð@Ð@Ð@Ý	�M 5¤>Ô#6Ô#AÑ	BÔ	Bð B
Ø,Ð,Ð,Ð,Ð,Ð,å˜%œ* mÑ4Ô4Ð4Ø!Ð! %Ð3Ð3¨7Ð3Ð3Ð3Ý	�M¥4Ñ	(Ô	(ð =
ØŒ
ÔàŒHÔ5ØŒHÔÔ0ØŒNÔÔ<ØŒNÔÔ7ØŒNÔÔ;ØŒHÔ+ØŒHÔ+ØŒHÔ3ØŒHÔ*ØŒHÔ2ØŒHÔ+Øð
õ Õ3Ô8Ñ:Ô:Ñ
;Ô
;ñ<ð	<ð 	<õ" 	˜%œ* mÑ4Ô4Ð4ÝÔ& }Ð@Ð@¸Ð@Ð@Ð@Ý	�M¥C­µÐ#5Ñ	6Ô	6ð )
ØŒ
Ô�^Ð+Ð+ØŒ:Ô¥
Ð*Ð*ØŒJŒM˜]Ò*Ð*¨u¬zÔ/@ÀFÒ/JÐ/Jå˜%œ* mÑ4Ô4Ð4ÝÔ& }Ð@Ð@¸Ð@Ð@Ð@Ý	�M¥5Ñ	)Ô	)ð "
¨U¬ZÔ->ÐBVÐ-VÐ-VÝ˜%œ* mÑ4Ô4Ð4ÝÔ& }Ð@Ð@¸Ð@Ð@Ð@Ý	�M 5¤>Ô#EÔ#VÑ	WÔ	Wð 
õ )Ô/ØØØð
ñ 
ô 
ð 	
õ
 
�˜]Ñ+Ô+Ñ	,Ô	,ð 
å¥ ]Ñ 3Ô 3Ñ4Ô4ð 	Ý,Ô3ØØØðñ ô ð ð
  œ.Ô<×NÒNØŒIÔ ñ
ô 
ˆõ )Ô/ØØØð
ñ 
ô 
ð 	
õ 	Ø4Øu®7°=Ñ+AÔ+AÐuÐuÈÌÌÐuÐuÐbgÔblÔbsÐuÐuØoØð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r2  c                 óî   — t          | ¦  «        t          j        t          j        j        t          j        j        j        t          j        j        j	        fv st          | ¦  «        rd S t          | ¦  «        S rq  )rB  r  r�  rÕ  rñ  r   rƒ  r"   rò  ró  rC   r‹  s    r"  r  r  ã  sd   € ÝˆE�{„{ÝŒÝŒÔÝÔÔ%Ô0ÝÔÔ+Ô<ð	ð ð õ
 
' uÑ	-Ô	-ðð. ˆtå�E‰{Œ{Ðr2  c                 ó„  — |                       |¦  «        }t          |t          j        j        j        ¦  «        r†|j        |j        u rx|r|}nnt          |t          j        j        ¦  «        rt          j        j        }n=t          |t          j        j	        ¦  «        rt          j        j	        }nt          j
        }||d<   |S )NÚ
class_type)Ú
specializerI  r  r   rƒ  r"   rU  rÕ  rñ  rE  r�  )r“  r¬  r”  r•  Úspecialized_propsÚtensor_types         r"  Úget_specialized_propsræ     s°   € ð #×-Ò-¨mÑ<Ô<Ðõ 	�=¥%Ô"3Ô"?Ô"JÑKÔKð6àÔ# r¤|Ð3Ð3àð 	'Ø'ˆKˆKÝ˜¥u¤xÔ'9Ñ:Ô:ð 	'Ýœ(Ô,ˆKˆKÝ˜¥u¤x¤Ñ7Ô7ð 	'Ýœ(œ/ˆKˆKåœ,ˆKØ*5Ð˜,Ñ'àÐr2  c                 ó  — t          ||j        ¦  «        }t          |j        |¦  «         |j        j        dk    r |j        j                             ||¦  «         |                     t          | |||¦  «        ¦  «          | |fi |¤ŽS )z‹
    Actually construct a tensor variable after all the pre-processing from
    wrapping a pre-existing or newly created tensor value.
    rŽ  )
r…  rU  r–   r	  r“  r­  rÐ  rÁ  rx  ræ  )r“  r¬  r�  r”  r•  r3  s         r"  rš  rš    sŒ   € õ ! °´Ñ=Ô=€MÝ�e”j -Ñ0Ô0Ð0ð
 „z„}˜Ò%Ð%Ø
Œ	Ô ×7Ò7¸ÀuÑMÔMÐMØ‡N‚NÕ(¨°R¸ÈÑVÔVÑWÔWÐWàˆ:�eÐ'Ð'˜wÐ'Ð'Ð'r2  c                  óª   — t           j        dk    rt          j        S t           j        dk    rt          j        S t          dt           j        › �¦  «        ‚)NÚdynamicÚunbackedz+invalid automatic_dynamic_shapes_mark_as = )rH   Ú automatic_dynamic_shapes_mark_asr7   r  rð  rï  r1  r2  r"  rY  rY  5  sP   € ÝÔ.°)Ò;Ð;ÝÔ!Ð!Ý	Ô	0°JÒ	>Ð	>ÝÔ"Ð"åØc½&Ô:aÐcÐcñ
ô 
ð 	
r2  Ú_DYNAMIC_SOURCESÚ_DYNAMIC_SOURCES_CONFIG_HASHz^(.+):(\d+)$Ú_DIM_SUFFIX_REÚentryc                 ó°   — t                                | ¦  «        }|r7|                     d¦  «        t          |                     d¦  «        ¦  «        fS | dfS )zÊParse a source list entry into (pattern, dim).

    Entries may end with an optional ``:N`` suffix where ``N`` is a literal
    non-negative integer (the dim portion is not part of the name regex).
    r�   rG   N)rî  ÚmatchÚgroupr8  )rï  Úms     r"  Ú_parse_source_entryrô  J  sN   € õ 	×Ò˜UÑ#Ô#€AØð +Ø�wŠw�q‰zŒz�3˜qŸwšw q™zœz™?œ?Ð*Ð*Ø�$ˆ;Ðr2  c                  ó  — t          t          j        j        j        ¦  «        } t
          �t          | k    rt
          S d„ t          j        j        j                             dd¦  «                             d¦  «        D ¦   «         a| at
          S )Nc                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS r1  ©rô  ©rº  Úss     r"  rç  z'get_dynamic_sources.<locals>.<listcomp>`  s6   € ð ð ð àØðÝ˜AÑÔðð ð r2  ú r?  ú,)	Úhashr  ÚcompilerrH   Údynamic_sourcesrì  rí  ÚreplaceÚsplit©Úcurrent_hashs    r"  Úget_dynamic_sourcesr  V  s…   € õ �œÔ-Ô=Ñ>Ô>€Lõ Ð#Õ(DÈÒ(TÐ(TÝÐðð å”Ô&Ô6×>Ò>¸sÀBÑGÔG×MÒMÈcÑRÔRðñ ô Ðð
 $0Ð åÐr2  Úsource_nameÚdimc                 ó  — t          ¦   «         }|D ]p\  }}|| k    st          j        || ¦  «        rP|�|�||k    rF|€|n|› d|› �}t                               d| |¦  «         t
                               d| |¦  «          dS ŒqdS )a  Check whether ``source_name`` is in the dynamic-sources list.

    If ``dim`` is None, returns True if any entry matches the source
    name (regardless of any per-dim qualifier). This is the right semantics for
    callers that ask "is this source dynamic at all?" (e.g. the static-shapes
    early return, or non-tensor int sources which have no dim).

    If ``dim`` is given, returns True only when a matching entry either has no
    dim qualifier ("all dims dynamic") or its dim qualifier equals ``dim``.
    Nú:z6%s was marked dynamic due to dynamic-sources entry: %sTF)r  r  rñ  r`  ra  r[  r\  )r  r  rþ  ÚpatternÚpat_dimÚprettys         r"  ró  ró  j  s¼   € õ *Ñ+Ô+€OØ+ð ð Ñˆ�Ø�kÒ!Ð!¥R¤X¨g°{Ñ%CÔ%CÐ!Øˆ{˜g˜o°¸C²°Ø$+ O˜˜¸GÐ9OÐ9OÀgÐ9OÐ9O�Ý—	’	ØLØØñô ð õ
 #×'Ò'ØLØØñô ð ð
 �t�tøØˆ5r2  r'  rä  c           
      ó8  ‡— |                      ¦   «         }t          |¦  «        s·|                     ¦   «         Š|                     ¦   «         }d g|z  }ˆfd„t	          |¦  «        D ¦   «         }|                     t          ¬¦  «         i }|D ]M\  }}	|	 }
|                     ||¦  «        ||
<   |                     |||
         z  t          |
¦  «        ¦  «         ŒNng }t          | |t          j        t          |¦  «        t          |¦  «        ¦  «        ¦  «        S )Nc                 ó&   •— g | ]}‰|         | f‘ŒS r1  r1  )rº  ro  Ú	ex_strides     €r"  rç  z,record_automatic_dynamic.<locals>.<listcomp>’  s$   ø€ Ð:Ð:Ð:¨!�I˜a”L 1 "Ð%Ð:Ð:Ð:r2  r<  )Úsizer&   Ústrider  r\  Úsortr6   r_  Ú
setdefaultrW   rX   rV   Úmake_tensorrõ  )r¬  r'  rä  Úex_sizer  r  ÚpendingÚ
candidatesÚi_strideÚneg_iro  r  s              @r"  Úrecord_automatic_dynamicr  ˆ  s  ø€ ð �fŠf‰hŒh€GÝ˜ÑÔð Ø—H’H‘J”Jˆ	Ø�eŠe‰gŒgˆà�˜#‘ˆØ:Ð:Ð:Ð:­u°S©z¬zÐ:Ñ:Ô:ˆØ�ŠÕ/ˆÑ0Ô0Ð0Øˆ
Ø&ð 	Ið 	I‰OˆH�eØ�ˆAà"Ÿš x°Ñ:Ô:ˆF�1‰Ià×!Ò! (¨W°Q¬ZÑ"7½ÀQ¹¼ÑHÔHÐHÐHð	Ið ˆå$à
ØåÔ'­¨g©¬½¸f¹¼ÑFÔFñô ð r2  Ú_UNBACKED_SOURCESÚ_UNBACKED_SOURCES_CONFIG_HASHc                  ó  — t          t          j        j        j        ¦  «        } t
          �t          | k    rt
          S d„ t          j        j        j                             dd¦  «                             d¦  «        D ¦   «         a| at
          S )Nc                 ó0   — g | ]}|¯t          |¦  «        ‘ŒS r1  r÷  rø  s     r"  rç  z(get_unbacked_sources.<locals>.<listcomp>¸  s6   € ð ð ð àØðÝ˜AÑÔðð ð r2  rú  r?  rû  )	rü  r  rý  rH   Úunbacked_sourcesr  r  rÿ  r   r  s    r"  Úget_unbacked_sourcesr  ®  s…   € õ �œÔ-Ô>Ñ?Ô?€Lõ Ð$Õ)FÈ,Ò)VÐ)VÝ Ð ðð å”Ô&Ô7×?Ò?ÀÀRÑHÔH×NÒNÈsÑSÔSðñ ô Ðð
 %1Ð!åÐr2  c                 óÌ   — t          ¦   «         }|D ]R\  }}|| k    st          j        || ¦  «        r2|�|�||k    r(t                               d| |€|n|› d|› �¦  «          dS ŒSdS )zŠCheck whether ``source_name`` is in the unbacked-sources list.

    See :func:`is_dynamic_source` for the ``dim`` argument semantics.
    Nz8%s was marked unbacked due to unbacked-sources entry: %sr  TF)r  r  rñ  r`  ra  )r  r  r  r  r	  s        r"  rõ  rõ  Â  s•   € õ
 ,Ñ-Ô-ÐØ,ð ð Ñˆ�Ø�kÒ!Ð!¥R¤X¨g°{Ñ%CÔ%CÐ!Øˆ{˜g˜o°¸C²°Ý—	’	ØNØØ&˜�G�G°wÐ4JÐ4JÀÐ4JÐ4Jñô ð ð
 �t�tøØˆ5r2  Ú_DYNAMIC_VALUESÚ_DYNAMIC_VALUES_CONFIG_HASHc                  ó  — t          t          j        j        j        ¦  «        } t
          �t          | k    rt
          S d„ t          j        j        j                             dd¦  «                             d¦  «        D ¦   «         a| at
          S )Nc                 ó0   — h | ]}|¯t          |¦  «        ’ŒS r1  )r8  rø  s     r"  ú	<setcomp>z%get_dynamic_values.<locals>.<setcomp>á  s4   € ð ð ð àØðÝˆA‰Œðð ð r2  rú  r?  rû  )	rü  r  rý  rH   Údynamic_valuesr   r!  rÿ  r   r  s    r"  Úget_dynamic_valuesr&  Ù  s‚   € õ �œÔ-Ô<Ñ=Ô=€LåÐ"Õ'BÀlÒ'RÐ'RÝÐðð å”Ô&Ô5×=Ò=¸cÀ2ÑFÔF×LÒLÈSÑQÔQðñ ô €Oð
 #/ÐåÐr2  c                 ó~   — t          ¦   «         }|sdS t          | t          ¦  «        rt          d| › d�¦  «        ‚| |v S )zEReturn True if ``value`` matches an entry in the dynamic-values list.Fzis_dynamic_value got a bool (z); callers must pass an int)r&  rI  r0  rÚ  )ro  r%  s     r"  rô  rô  ë  sY   € å'Ñ)Ô)€NØð ØˆuÝ�%�ÑÔð 
ÝØN¨EÐNÐNÐNñ
ô 
ð 	
ð �NÐ"Ð"r2  r  Úview_base_contextÚ#shape_env_to_source_to_symbol_cachec           	      óŠ  — |�bt          |¦  «        |                      ¦   «         k    r=t          dt          |¦  «        › d|j        › d|                      ¦   «         › d�¦  «        ‚g }t          j        g|                      ¦   «         z  }t          |                      ¦   «         ¦  «        D �]}|€ |                     t          j        ¦  «         Œ%||         }t          |t          ¦  «        rS|                      |¦  «        }	|	|k    rt          d|› d|› d|	› �¦  «        ‚|                     t          j        ¦  «         Œ•t          |t          j        ¦  «        r |                     t          j        ¦  «         ŒÏ|€ |                     t          j        ¦  «         Œñt          d|› d	|›d
�¦  «        ‚t          |||||¬¦  «        S )NzTensorSpec has z dims but tensor z has z dimszshapes_spec declares dim ré  rê  zshapes_spec dim rë  z (expected LeafIntSpec))Údynamic_sizesÚdynamic_stridesr(  Útensor_sourcer)  )r]  r  rï  r'  r7   ÚINFER_STRIDEr\  r@  r]  rI  r8  r  r  r   rð  r:   )
rä  rG  r  r(  r)  r+  r,  ro  Údim_specÚactual_sizes
             r"  Ú"_symbolic_context_from_shapes_specr1  ÷  s  € ð Ð¥3 {Ñ#3Ô#3°q·u²u±w´wÒ#>Ð#>Ýð"�c +Ñ.Ô.ð "ð "ÀÄð "ð "Ø—5’5‘7”7ð"ð "ð "ñ
ô 
ð 	
ð €MÝ!Ô.Ð/°!·%²%±'´'Ñ9€Oå�1—5’5‘7”7‰^Œ^ð ñ ˆØÐØ× Ò ¥Ô!2Ñ3Ô3Ð3Ð3à" 1”~ˆHÝ˜(¥CÑ(Ô(ð ØŸfšf Q™iœi�Ø (Ò*Ð*Ý$ð=°Að =ð =Ø#ð=ð =Ø/:ð=ð =ñô ð ð ×$Ò$¥ZÔ%6Ñ7Ô7Ð7Ð7Ý˜H¥e¤lÑ3Ô3ð Ø×$Ò$¥ZÔ%8Ñ9Ô9Ð9Ð9ØÐ!Ø×$Ò$¥ZÔ%6Ñ7Ô7Ð7Ð7å ð. qð .ð .¸Xð .ð .ð .ñô ð õ
 #Ø#Ø'Ø+ØØ,Oðñ ô ð r2  rX  Úsize_symc                 óf  — ddl m} |j        j        }t	          | |¦  «        rÖ| j        }|j        j        }| j        �| j        |j        |<   ||j	        vrc||j	        |<   | j
        �t          j        || j
        k    ¦  «         | j        �t          j        || j        k    ¦  «         t          |¦  «         dS |j	        |         }|                     t!          j        ||¦  «        d| j        › d�¦  «         dS t	          | t          j        ¦  «        r|| j        j        }|j        }t!          j        |j        j        |¦  «        }	|                     |j	        ¦  «        rt-          ||	¦  «         dS |j                             ||	f¦  «         dS t3          dt5          | ¦  «        j        › �¦  «        ‚)aI  Wire an IntVar or SymInt spec leaf into the real shape env.

    A spec leaf may be:
      - IntVar:  bare spec variable. Records
        ``_spec_symbol_to_compile_symbol[A.sympy_sym] = u_new`` so future bare/derived
        uses can resolve A; emits a runtime eq-check on repeat occurrences
        (dedup).
      - SymInt:  derived expression (e.g. ``A * 2 + 1``) backed by the spec
        ShapeEnv. Emits
        ``torch._check(u_new == expr.xreplace(_spec_symbol_to_compile_symbol))``, or
        defers to ``_shape_spec_pending_assumptions`` if any free spec symbol isn't
        bound yet (drained on the next bare-IntVar binding).

    ``_spec_symbol_to_compile_symbol`` only ever holds IntVar sympy.Symbol entries.

    ``size_sym`` is the freshly allocated unbacked SymInt for this leaf's
    input (tensor dim or scalar arg).
    r   )r-   NzIntVar(z) dedup eq-checkz0_wire_spec_slot: expected IntVar or SymInt, got )Ú"torch.fx.experimental.dynamic_specr-   r	  r  rI  Ú	sympy_symr   Úoptimization_hintÚvar_to_hint_overrideÚ_spec_symbol_to_compile_symbolÚminr  Ú_checkÚmaxÚ%_drain_shape_spec_pending_assumptionsÚguard_or_defer_runtime_assertr!  ÚEqr'  r   Úfree_symbolsÚissubsetÚ_emit_pending_boolÚ_shape_spec_pending_assumptionsr@  rÚ  rB  r*  )
rX  r2  Ú_IntVarr  Úspec_symÚcompile_exprÚexisting_exprÚ	spec_exprÚfreeÚdeferred_bools
             r"  rò  rò  &  sÑ  € ð, EÐDÐDÐDÐDÐDà”Ô'€Iå�$˜Ñ Ô ð '
ð ”>ˆØ”}Ô)ˆð Ô!Ð-Ø;?Ô;QˆIÔ*¨<Ñ8Ø˜9ÔCÐCÐCØAMˆIÔ4°XÑ>ð ŒxÐ#Ý”˜X¨¬Ò1Ñ2Ô2Ð2ØŒxÐ#Ý”˜X¨¬Ò1Ñ2Ô2Ð2Ý1°)Ñ<Ô<Ð<Ð<Ð<à%ÔDÀXÔNˆMØ×3Ò3Ý”˜ }Ñ5Ô5Ø5˜$œ)Ð5Ð5Ð5ñô ð ð ð õ 
�D�%œ,Ñ	'Ô	'ð 
Ø”I”Nˆ	ØÔ%ˆÝœ ¤Ô!3°YÑ?Ô?ˆØ�=Š=˜ÔAÑBÔBð 	TÝ˜y¨-Ñ8Ô8Ð8Ð8Ð8àÔ5×<Ò<¸dÀMÐ=RÑSÔSÐSÐSÐSåØT½tÀD¹z¼zÔ?RÐTÐTñ
ô 
ð 	
r2  r  Ú	bool_exprc                 óf   — |                      | j        ¦  «        }|                      |d¦  «         dS )zâSubstitute spec symbols and defer the resulting boolean as a runtime
    assert. ``bool_expr`` is a sympy boolean (e.g. ``Eq``, ``Gt``) whose free
    spec symbols must already be present in ``_spec_symbol_to_compile_symbol``.zshapes_spec deferred checkN)Úxreplacer8  r=  )r  rJ  Úsubstituteds      r"  rA  rA  j  s7   € ð ×$Ò$ YÔ%MÑNÔN€KØ×+Ò+¨KÐ9UÑVÔVÐVÐVÐVr2  c                 óô   — | j         }|sdS | j                             ¦   «         }g }|D ]B\  }}|                     |¦  «        rt	          | |¦  «         Œ+|                     ||f¦  «         ŒC|| j         dd…<   dS )ul  Re-scan pending derived/assumption checks; emit any whose deps are now bound.

    TODO: optimize with an inverted index (sym â†’ pending entries) if the
    pending list grows large. Inductor uses this pattern in
    ``graph.py:ras_by_symbol``. Spec wiring typically has < 10 entries so
    the linear scan here is fine; revisit if profiling shows otherwise.
    N)rB  r8  r?  r@  rA  r@  )r  r  Ú
subst_keysÚkeeprH  rJ  s         r"  r<  r<  r  s�   € ð Ô7€GØð ØˆØÔ9×>Ò>Ñ@Ô@€JØ€DØ"ð +ð +‰ˆˆiØ�=Š=˜Ñ$Ô$ð 	+Ý˜y¨)Ñ4Ô4Ð4Ð4à�KŠK˜˜yÐ)Ñ*Ô*Ð*Ð*Ø37€IÔ-¨a¨a¨aÑ0Ð0Ð0r2  c                 ót   — |j         D ]/}|j        j        }| j                             |j        |f¦  «         Œ0dS )znAppend each ShapesSpec.assumptions SymBool to the pending list.
    Called BEFORE any input is processed.
    N)Ú_assumptionsr	  r   rB  r@  r?  )r  rd  ÚarJ  s       r"  Ú_wire_spec_assumptionsrT  ‡  sT   € ð Ô%ð 
ð 
ˆØ”F”Kˆ	ØÔ1×8Ò8ØÔ# YÐ/ñ	
ô 	
ð 	
ð 	
ð
ð 
r2  c           	      ó  ‡	— | j         }|sdS | j                             ¦   «         }dt          dt          fd„Š	g }t          ¦   «         }|D ]d\  }}||z
  }|st          d|› d�¦  «        ‚||z  }t          ˆ	fd„|D ¦   «         ¦  «        }|                     d ‰	|¦  «        › d	|› d
�¦  «         Œet          dt          |¦  «        › dt          ˆ	fd„|D ¦   «         ¦  «        › d�d                     |¦  «        z   ¦  «        ‚)zÓVerify all pending spec assumptions/derived-dim checks have been
    emitted (i.e. every spec IntVar referenced by a derived expression or
    user assumption has been bound by some bare-IntVar input slot).
    Nrù  r  c                 óH   — t          j        ddt          | ¦  «        ¦  «        S )Nz#\d+r?  )r  r  r.  )rù  s    r"  Ú_prettyz&_finalize_spec_wiring.<locals>._pretty¡  s   € ÝŒv�g˜r¥3 q¡6¤6Ñ*Ô*Ð*r2  z<_finalize_spec_wiring: pending entry has all symbols bound (zP); _drain_shape_spec_pending_assumptions should have removed it before finalize.c              3   ó.   •K  — | ]} ‰|¦  «        V — Œd S rq  r1  ©rº  rù  rW  s     €r"  r»  z(_finalize_spec_wiring.<locals>.<genexpr>±  s+   øè è € Ð;Ð;¨a˜w˜w q™zœzÐ;Ð;Ð;Ð;Ð;Ð;r2  z  - z  (unbound: rg  zshapes_spec: z. pending check(s) reference unbound IntVar(s) c              3   ó.   •K  — | ]} ‰|¦  «        V — Œd S rq  r1  rY  s     €r"  r»  z(_finalize_spec_wiring.<locals>.<genexpr>µ  s+   øè è € Ð<Ð<¨1˜G˜G A™JœJÐ<Ð<Ð<Ð<Ð<Ð<r2  zŠ. Every IntVar used in a derived expression or assumption must also appear as a bare-IntVar slot somewhere in the spec. Offending checks:
ú
)rB  r8  r?  r‡  r.  rÒ  rA  Úsortedr@  rï  r]  rC  )
r  r  rO  ÚlinesÚall_unboundrH  rJ  ÚmissingÚmissing_namesrW  s
            @r"  Ú_finalize_spec_wiringra  ’  s…  ø€ ð
 Ô7€GØð ØˆàÔ9×>Ò>Ñ@Ô@€Jð+•6ð +�cð +ð +ð +ð +ð
 €EÝ%(¡U¤U€KØ"ð 
Nð 
N‰ˆˆiØ˜Ñ#ˆØð 	Ýð4Øð4ð 4ð 4ñô ð ð
 	�wÑˆÝÐ;Ð;Ð;Ð;°7Ð;Ñ;Ô;Ñ;Ô;ˆØ�ŠÐL˜G˜G IÑ.Ô.ÐLÐL¸MÐLÐLÐLÑMÔMÐMÐMÝ
ð	G�˜E™
œ
ð 	Gð 	GÝÐ<Ð<Ð<Ð<°Ð<Ñ<Ô<Ñ<Ô<ð	Gð 	Gð 	Gð �)Š)�EÑ
Ô
ñ		ñô ð r2  FÚstatic_shapesÚ
outer_onlyc                 óz  ‡/‡0‡1‡2‡3— | j         r<t          | t          j        j        j        j        ¦  «        st          dddg ¬¦  «         |j        }|j	        j
        j                             | d ¦  «        }|r|j        ni }d }	|                      ¦   «         r't          |d¦  «        }
t!          | j        ||
|¦  «        }	t%          | ¦  «        �rP|�sMt!          | |||d¬¦  «        }t          |t&          ¦  «        st)          dt+          |¦  «        › �¦  «        ‚i }t+          | ¦  «                             | ¦  «        \  }}|D ]}}t/          | |¦  «        xxt          j        d	˜ x�*\   } t          ||¦  «        }t!          ||||¦  «        ||<   ŒL  xt2          d	˜ x�\    Œ] }t)          d
t+          |¦  «        › �¦  «        ‚t5          |j        |j        |j        |j        |	|j        |j        |t          | t          j        j        j        j        ¦  «         ¬¦	  «	        S ddl m!Š1m"Š3 tG          ˆ3fd„|  $                    ¦   «         D ¦   «         ¦  «        r”dtJ          dtL          fˆ1fd„Š/t'          ˆ/fd„|  $                    ¦   «         D ¦   «         tL          j'        g|  (                    ¦   «         z  d g|  (                    ¦   «         z  d g|  (                    ¦   «         z  |	||¬¦  «        S tR          j*        €“|r‘tW          |¦  «        s‚t'          tL          j,        g|  (                    ¦   «         z  tL          j'        g|  (                    ¦   «         z  d g|  (                    ¦   «         z  d g|  (                    ¦   «         z  |	||¬¦  «        S t[          ||| ¦  «        }t]          | ¦  «        }i Š0dt^          dddt`          dd fˆ0fd„}ddl1m2} |j	        j3        �G|j	        j3        D ]:}t          ||¦  «        rŒ|j4        |k    r ||j(        |j5        |j        ¦  «         Œ;tR          j*        �tm          | |||	|¦  «        S g }g }g }g }g }to          |  (                    ¦   «         ¦  «        D �]Š2‰2t/          | dd	¦  «        v }‰2t/          | dd	¦  «        v }‰2t/          | dd	¦  «        v }|rtp           9                    d|¦  «         ‰2t/          | dd	¦  «        v p‰2t/          | dd	¦  «        v } ‰2t/          | d d	¦  «        v }!| :                    t/          | d!i ¦  «                             ‰2g ¦  «        ¦  «         tw          |j        ¦  «        }"|}
t          |
tx          ¦  «        r|
 =                    ¦   «         }
|sLt          |
t|          ¦  «        r‘|
j?        �Št�          |
j?        ¦  «                             |"‰2d"i¦  «        ‰2         rZt‚           B                    d#|¦  «         t†          g|  (                    ¦   «         z  }#tˆ          |#‰2<   |t‹          jF        |#¬$¦  «        z  }tR          jG        o| H                    ‰2¦  «        }$tR          jG        o| I                    ‰2¦  «        }%tW          |‰2¦  «        rt‚           B                    d%|‰2¦  «         d}$t•          |  $                    ‰2¦  «        ¦  «        r2t‚           B                    d&|‰2|  $                    ‰2¦  «        ¦  «         d}$t—          |‰2¦  «        rt‚           B                    d'|‰2¦  «         d}$|$p|%}&‰0                     ‰2¦  «        }|�€d }'d }(|r tR          jL        s”d }(t›          | d(¦  «        rqˆ2fd)„| jN        D ¦   «          O                    ¦   «         })|)jP        €|)jQ        €t¥          d"¬*¦  «        }'nÐdd+l mS}*  |*t©          |)jP        |)jQ        ¬,¦  «        d"¬-¦  «        }'n£t¥          d"¬*¦  «        }'n’|rt¥          d"¬*¦  «        }'n|!s7|&r5t«          d.d¦  «         |$rt¥          d¬*¦  «        }'|%rt¥          d¬*¦  «        }(nF|!stR          jG        st«          d.d"¦  «         d }'d }(n#|\  }'}+d }(|› d/‰2› d0�},|+|j	        jV        jW        |,<   | :                    |'¦  «         | :                    |(¦  «         |st—          |‰2¦  «        rtL          jX        }-n—|'€'|s%| s# ‰3|  $                    ¦   «         ‰2         ¦  «        r|&rt³          ¦   «         }-n]tL          jZ        }-nP|stR          j[        s|!rtL          j,        }-n3tR          j[        stp           9                    d1|¦  «         tL          j\        }-|(�tL          jZ        }.ntL          j'        }.| :                    |-¦  «         | :                    |.¦  «         �Œt'          ||||||	||t/          | d2d ¦  «        t/          | d3d ¦  «        |j]        ¬4¦  «        S )5NzGEncountered strided NestedTensor in automatic dynamic dim determinationr?  r  r!  r  T)rc  z&Expected StatefulSymbolicContext, got r1  z#expected Tensor or OpaqueBase, got )	r+  r,  Úconstraint_sizesÚconstraint_stridesr(  r-  r)  Úinner_contextsÚtrack_outer_size_strider   )Úhas_guarding_hintÚis_nested_intc              3   óZ   •K  — | ]%}t          |t          ¦  «        o ‰|¦  «         V — Œ&d S rq  )rI  r   )rº  rù  rj  s     €r"  r»  z%_automatic_dynamic.<locals>.<genexpr>
  s?   øè è € Ð
LÐ
L¸a�:�a�Ñ Ô Ð9¨¨°qÑ)9Ô)9Ð%9Ð
LÐ
LÐ
LÐ
LÐ
LÐ
Lr2  rù  r  c                 óŒ   •— t          | t          ¦  «        st          j        S  ‰| ¦  «        st          j        S t          j        S rq  )rI  r   r7   r]  rð  r  )rù  ri  s    €r"  Ú_classify_symintz,_automatic_dynamic.<locals>._classify_symint  sC   ø€ Ý˜a¥Ñ(Ô(ð )Ý!Ô(Ð(Ø$Ð$ QÑ'Ô'ð +Ý!Ô*Ð*ÝÔ%Ð%r2  c                 ó&   •— g | ]} ‰|¦  «        ‘ŒS r1  r1  )rº  rù  rm  s     €r"  rç  z&_automatic_dynamic.<locals>.<listcomp>  s%   ø€ ÐAÐAÐA°1Ð+Ð+¨AÑ.Ô.ÐAÐAÐAr2  )r+  r,  re  rf  r(  r-  r)  r  Úconstraint_rangeÚStrictMinMaxConstraintr'  c                 óŽ   •— | ‰v r8ddl m} ‰|          \  }} ||j        |j        z  d¬¦  «        }|p|}||f‰| <   d S ||f‰| <   d S )Nr   ©rp  F©Úvrr¸  )Ú%torch.fx.experimental.symbolic_shapesrp  rt  )	r  ro  r'  rp  Úold_constraint_rangeÚold_nameÚnew_constraint_rangeÚnew_nameÚdim2constraints	           €r"  Úupdate_dim2constraintz1_automatic_dynamic.<locals>.update_dim2constraint8  s’   ø€ ð �.Ð Ð ØTÐTÐTÐTÐTÐTà-;¸CÔ-@Ñ*Ð  (Ø#9Ð#9Ø#Ô&Ð)=Ô)@Ñ@Øð$ñ $ô $Ð ð  Ð' 4ˆHØ"6¸Ð"@ˆN˜3ÑÐÐà"2°DÐ"8ˆN˜3ÑÐÐr2  )Ú_RelaxedConstraintÚ_dynamo_strict_unbacked_indicesÚ_dynamo_unbacked_indicesÚ_dynamo_dynamic_indicesz)marking %s as dynamic (from mark_dynamic)Ú_dynamo_weak_dynamic_indicesÚ"_dynamo_propagated_dynamic_indicesÚ_dynamo_static_indicesÚ_specialize_onFz#automatic dynamic %s marked dynamic)r  z1%s dim %d marked dynamic via dynamic-sources listz;%s dim %d marked dynamic via dynamic-values list (value=%s)z3%s dim %d marked unbacked via unbacked-sources listÚ_dynamo_dynamic_rangec                 ó*   •— g | ]}|j         ‰k    ¯|‘ŒS r1  )r  )rº  Údrro  s     €r"  rç  z&_automatic_dynamic.<locals>.<listcomp>µ  s'   ø€ ð !ð !ð !Ø!ÀÄÈ!ÂÀ˜ÀÀÀr2  r·  rr  )ÚlowerÚupperrs  rR  z.size()[r>  rS  Ú_dynamo_shape_idsÚ_dynamo_unbacked_bounds)r+  r,  re  rf  Úspecialize_onr(  r-  r)  Ú	shape_idsÚunbacked_boundsÚexcluded_sizes)^r  rI  r  r  r  r  r  rP   r'  r­  Útracing_contextÚtensor_to_contextr_  r)  r"  r[   Ú_automatic_dynamicr  rC   r:   r‹  rB  r'  rl  r�  r   r;   r+  r,  re  rf  r-  ru  ri  rj  rÓ  r  r   r7   r.  r  rH   rî  ró  r]  r  r¹  r8  r.  r\  r|  Úexport_constraintsÚt_idro  r1  r\  r[  r\  r@  r*   r]   r×  rn   rº  r@  r`  ra  rU   rT   rV   Ú	make_sizerW  Úis_size_dynamicÚis_stride_dynamicrô  rõ  Úallow_ignore_mark_dynamicr!  r„  Úpopr9  r;  r8   rp  rE   r   r  Úsource_name_to_debug_namerð  rY  r  rZ  ÚDUCKrŽ  )4rä  r¬  rG  rb  rc  r  r'  Úprior_policyr)  r(  rc  Úouter_contextrg  r;  r¶  r<  r=  r?  Ú
unexpectedr`  r“  r{  r|  r¹  r+  r,  re  rf  r‹  Úmarked_strict_unbackedÚmarked_unbackedÚmarked_dynamicÚmarked_weak_dynamicÚmarked_staticrb  Ú	mark_sizeÚautomatic_dynamic_sizeÚautomatic_dynamic_strideÚautomatic_dynamicÚconstraint_sizeÚconstraint_strideÚ	dim_rangerp  Úname_Údim_nameÚdynamic_sizeÚdynamic_striderm  rz  ri  ro  rj  s4                                                  @@@@@r"  r‘  r‘  ¾  sƒ  øøøøø€ ð 	„{ð 
�:Ø	�5Œ<Ô!Ô/Ô<ñô ð 
õ 	Ø]ØØMØð		
ñ 	
ô 	
ð 	
ð Œ;€DØ”9Ô,Ô>×BÒBÀ1ÀdÑKÔK€Là<HÐPˆÔ8Ð8Èbð (ð
 15ÐØ‡z‚z�|„|ð XÝ  ¨Ñ1Ô1ˆÝ.¨q¬w¸¸KÈÑWÔWÐå$ QÑ'Ô'ñ '
°
ñ '
å*Øˆr�6˜=°Tð
ñ 
ô 
ˆõ ˜-Õ)@ÑAÔAð 	Ý ØN½¸mÑ9LÔ9LÐNÐNñô ð ð
 ˆÝ˜‘7”7×-Ò-¨aÑ0Ô0‰ˆˆqØð 	ð 	ˆDÝ˜!˜TÑ"Ô"Ø2Ð2•U”\�^�^�^�^‘^�^�^Ý#-¨f°dÑ#;Ô#;�LÝ+=Ø# R¨°}ñ,ô ,�N 4Ñ(Ð(ð 3Ð2ð
 "•Z�\�\�\�\‘\�\Øð "àÝ(ØP½dÀ:Ñ>NÔ>NÐPÐPñô ð õ 'Ø'Ô5Ø)Ô9Ø*Ô;Ø,Ô?Ø/Ø'Ô5Ø0=Ô0aØ)Ý(2Ø•5”<Ô)Ô7ÔDñ)ô )ð %ð
ñ 
ô 
ð 	
ð  WÐVÐVÐVÐVÐVÐVÐVå
Ð
LÐ
LÐ
LÐ
LÀ1Ç6Â6Á8Ä8Ð
LÑ
LÔ
LÑLÔLð 
ð	&¥ð 	&­
ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&õ 'ØAÐAÐAÐA¸¿º¹¼ÐAÑAÔAÝ'Ô4Ð5¸¿º¹¼Ñ?Ø"˜V a§e¢e¡g¤gÑ-Ø $˜v¨¯ª©¬Ñ/Ø/Ø Ø0Sð
ñ 
ô 
ð 	
õ" ÔÐ" }Ð"Õ=NÈtÑ=TÔ=TÐ"Ý&Ý%Ô,Ð-°·²±´Ñ7Ý'Ô4Ð5¸¿º¹¼Ñ?Ø"˜V a§e¢e¡g¤gÑ-Ø $˜v¨¯ª©¬Ñ/Ø/Ø Ø0Sð
ñ 
ô 
ð 	
õ 1°°T¸1Ñ=Ô=Ðõ ˆa‰5Œ5€Dà€Nð9Ýð9Ø$<ð9ÝDGð9à	ð9ð 9ð 9ð 9ð 9ð 9ð$ ?Ð>Ð>Ð>Ð>Ð>à	„yÔ#Ð/àœ)Ô6ð 	ð 	ˆJÝ˜*Ð&8Ñ9Ô9ð ØØŒ $Ò&Ð&Ø%Ð%Ø”N JÔ$?ÀÄñô ð øõ ÔÐ&Ý1ØØØØØ/ñ
ô 
ð 	
ð €MØ€OØÐØÐØ€Må�1—5’5‘7”7‰^Œ^ð U/ñ U/ˆà!"¥g¨aÐ1RÐTVÑ&WÔ&WÐ!WÐØ�w qÐ*DÀbÑIÔIÐIˆØ�g aÐ)BÀBÑGÔGÐGˆØð 	WÝ×#Ò#Ð$OÐQUÑVÔVÐVØ¥7ØÐ-¨rñ$
ô $
ð 
ð Gà•'˜!ÐAÀ2ÑFÔFÐFð 	ð �W QÐ(@À"ÑEÔEÐEˆà×Ò�W QÐ(8¸"Ñ=Ô=×AÒAÀ!ÀRÑHÔHÑIÔIÐIõ
 "7°v´{Ñ!CÔ!CÐØˆÝ�k¥=Ñ1Ô1ð 	1Ø%×.Ò.Ñ0Ô0ˆKàð 	OÝ�{¥KÑ0Ô0ð	OàÔ$Ð0å�[Ô)Ñ*Ô*×.Ò.Ð/EÈÈ5ÀzÑRÔRÐSTÔUð 1õ �IŠIÐ;¸TÑBÔBÐBÝ#˜ q§u¢u¡w¤wÑ.ˆIå'ˆI�a‰LàÕ!4Ô!>ÀIÐ!NÑ!NÔ!NÑNÐõ Ô+ÐTÐ0A×0QÒ0QÐRSÑ0TÔ0Tð 	õ Ô+ÐVÐ0A×0SÒ0SÐTUÑ0VÔ0Vð 	!õ ˜T 1Ñ%Ô%ð 	*Ý�IŠIÐIÈ4ÐQRÑSÔSÐSØ%)Ð"å˜AŸFšF 1™IœIÑ&Ô&ð 	*Ý�IŠIØMØØØ—’�q‘	”	ñ	ô ð ð &*Ð"å˜d AÑ&Ô&ð 	*Ý�IŠIÐKÈTÐSTÑUÔUÐUØ%)Ð"à2ÐNÐ6NÐð
 $×'Ò'¨Ñ*Ô*ˆ
ØÑØ"ˆOØ $ÐØð  )¥fÔ&Fð  )à$(Ð!Ý˜1Ð5Ñ6Ô6ð Oð!ð !ð !ð !Ø%&Ô%<ð!ñ !ô !ç’c‘e”eð ð !”}Ð,°´Ð1FÝ*AÈEÐ*RÑ*RÔ*R˜˜ðð ð ð ð ð ð +AÐ*@Ý*°´ÀiÄmÐTÑTÔTØ&+ð+ñ +ô +˜˜õ
 '>ÈÐ&NÑ&NÔ&N�O�OØ'ð )Ý"9ÀEÐ"JÑ"JÔ"J��Ø"ð 
)Ð'8ð 
)ÝÐ AÀ4ÑHÔHÐHØ)ð NÝ&=ÈÐ&MÑ&MÔ&M�OØ+ð PÝ(?È$Ð(OÑ(OÔ(OÐ%øà$ð N­VÔ-Lð NÝ#Ð$EÀuÑMÔMÐMØ"&�Ø$(Ð!Ð!à%/Ñ"ˆO˜UØ $ÐØÐ,Ð,¨Ð,Ð,Ð,ˆHØFKˆBŒIÔÔ9¸(ÑCØ×Ò Ñ0Ô0Ð0Ø×!Ò!Ð"3Ñ4Ô4Ð4àð 	+Õ0°°qÑ9Ô9ð 	+Ý%Ô.ˆLˆLàÐ'Øð (à"ð (ð ˆ}˜QŸVšV™XœX aœ[Ñ)Ô)ð (ð !ð 2ÝCÑEÔE��å)Ô1��Øð 		+�fÔ=ð 		+Àð 		+Ý%Ô,ˆLˆLõ Ô2ð Ý"×'Ò'ØSØñô ð õ &œ?ˆLàÐ(Ý'Ô/ˆNˆNå'Ô4ˆNà×Ò˜\Ñ*Ô*Ð*Ø×Ò˜~Ñ.Ô.Ð.Ñ.å"Ø#Ø'Ø)à-Ø#Ø+ØØ,OÝ˜!Ð0°$Ñ7Ô7Ý Ð#<¸dÑCÔCØ(Ô7ðñ ô ð r2  )Úparent_contextr  r„  r®  c                ó  — t          j        ¦   «         }	 t          | |||||¬¦  «        |j        j        xj        t          j        ¦   «         |z
  z  c_        S # |j        j        xj        t          j        ¦   «         |z
  z  c_        w xY w)N)rG  r„  r®  r  )rÄ  rÅ  Ú$_wrap_to_fake_tensor_and_record_implr­  rÇ  Ú!wrap_to_fake_tensor_and_record_ns)rä  r¬  rG  r„  r®  r  rÉ  s          r"  r  r    s—   € õ Œ,‰.Œ.€Cð
Ý3ØØØØØ)Ø#ð
ñ 
ô 
ð 	Œ	Ô*ÐLÔLÝŒL‰NŒN˜SÑ ñ	
ÐLÔLÐLøˆŒ	Ô*ÐLÔLÝŒL‰NŒN˜SÑ ñ	
ÐLÔLÐLÐLÐLÐLs   •A Á0Bc          
      óÌ  ‡ ‡‡‡— t          ‰ ¦  «        t          j        t          j        j        t
          fv s*t          ‰ t          j        ¦  «        st          ‰ ¦  «        �r‰€t          d¦  «        ‚t          ‰ |‰¬¦  «        \  }}|st          ‰ ‰‰||¬¦  «        ŠnHt          ‰t          ¦  «        st          dt          ‰¦  «        › �¦  «        ‚‰j        }|j        |         Št                               d‰j        t#          ‰ j        ¦  «        ‰t          ‰ ¦  «        ¦  «         t'          ¦   «         5  ‰j        €t          d¦  «        ‚t+          ˆ ˆˆˆfd„¦  «        }	d d d ¦  «         n# 1 swxY w Y   |�„t-          |	                     ¦   «         ¦  «        D ]b}
||
         }|�t          |t0          ¦  «        rŒ"|	                     |
¦  «        }t          |t          j        ¦  «        sŒRt7          ||¦  «         Œc‰�xt          |	t
          ¦  «        rc|	j        x}�Zt          ‰t:          ¦  «        r‰j        }nt?          ‰¦  «        }‰j         j!         "                    tG          ||‰¦  «        ¦  «         t          |	¦  «        rx|	 $                    ¦   «         \  }}|D ]^}tK          |	|¦  «        }tK          ‰ |¦  «        }t          ‰|¦  «        }tM          |‰|t          |t          j        ¦  «        ‰¬¦  «         Œ_‰‰j         j'        j(        ‰ <   tS          |	¦  «        r‚|	j*        r|	 +                    ¦   «         n|	 ,                    ¦   «         }|	                     ¦   «         d	|	j-        z  |                     ¦   «         | .                    ¦   «         d
œ‰j         j/        ‰<   n6|	                     ¦   «         |	 .                    ¦   «         dœ‰j         j/        ‰<   |r…|r‰ 0                    ¦   «         sotc          ‰¦  «        s`‰j         j!         "                    tG          |	‰‰¦  «        ¦  «         ‰j         j2        tg          ‰ ¦  «                  "                    ‰¦  «         |	S ‰ S )Nz+source must not be None for tensor wrapping)r-  )r  z,Expected AttrSource for parent context, got zwrap_to_fake %s %s %s %sztx.fake_mode must not be Nonec                  ó>   •— ‰j                              ‰ ‰‰¬¦  «        S )N)rG  Úsymbolic_context)rU  rd  )rä  rG  r´  r¬  s   €€€€r"  r«  z6_wrap_to_fake_tensor_and_record_impl.<locals>.<lambda>`  s'   ø€ ˜œ×0Ò0ØØ!Ø%5ð 1ñ ô € r2  )rG  r„  r®  )r�   )r  r  Úvalues_sizeÚvalues_stride)r  r  )4rB  r  r�  rÕ  rñ  r"   rI  rC   r‹  r—   r‘  r[   rL  rg  r`  ra  r'  rõ  r¸  r   rU  rœ   r\  r  r8  r  r   rò  Ú	item_memord   rJ  r\   r­  r#  r@  r>   r'  rl  r  r�  r�  r&   Ú	is_sparseÚ_valuesÚvaluesÚndimr  Úinput_source_to_sizes_stridesr  rg   Útracked_fakes_id_to_sourcer¹  )rä  r¬  rG  r„  r®  r  rb  Ú_reasonÚinner_context_nameÚfake_eÚdim_ir/  r2  rý  Úitem_sourcer;  r¶  r<  Ú
fake_innerÚinnerr?  rº  r´  s   ```                   @r"  r°  r°  &  sÚ  øøøø€ õ 	ˆQ‰Œ•E”L¥%¤(Ô"4µjÐAÐAÐAÝ�a�œÑ&Ô&ð 	Bå(¨Ñ+Ô+ñ 	Bð ˆ>Ý Ð!NÑOÔOÐOÝ!?ØØØ ð"
ñ "
ô "
Ñˆ�wð ð 	QÝ1Ø�2�v˜}¸+ð ñ  ô  ÐÐõ ˜f¥jÑ1Ô1ð Ý$ØQÅ4ÈÁ<Ä<ÐQÐQñô ð ð "(¤ÐØ-Ô<Ð=OÔPÐå�	Š	Ø&ØŒKÝ�!”'‰NŒNØÝ�‰GŒGñ	
ô 	
ð 	
õ &Ñ'Ô'ð 		ð 		ØŒ|Ð#Ý$Ð%DÑEÔEÐEÝ(ðð ð ð ð ð ð ñô ˆFð		ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		ð Ð"Ý˜vŸzšz™|œ|Ñ,Ô,ð 4ð 4�Ø& uÔ-�ØÐ#¥z°(½CÑ'@Ô'@Ð#ØØ!Ÿ;š; uÑ-Ô-�Ý! (­E¬LÑ9Ô9ð ØÝ ¨(Ñ3Ô3Ð3Ð3àÐÝ˜6¥:Ñ.Ô.ð à"Ô,Ð,�Ð9õ ˜&Õ"3Ñ4Ô4ð ;Ø$œk��å2°6Ñ:Ô:�ØŒIÔ#×*Ò*Ý˜G [Ð2BÑCÔCñô ð õ )¨Ñ0Ô0ð 	Ø×0Ò0Ñ2Ô2‰HˆE�1Øð 
ð 
�Ý$ V¨TÑ2Ô2�
Ý  4Ñ(Ô(�Ý)¨&°$Ñ7Ô7�Ý.ØØØ'Ý(¨µU´\ÑBÔBØ#3ðñ ô ð ð ð :JˆŒ	Ô!Ô3°AÑ6Ý˜Ñ Ô ð 	ð *0Ô)9ÐN�V—^’^Ñ%Ô%Ð%¸v¿}º}¹¼ˆFàŸš™œð  ¤Ñ,Ø%Ÿ{š{™}œ}Ø!'§¢¡¤ð?ð ?ˆBŒIÔ3°FÑ;Ð;ð Ÿš™œØ Ÿ-š-™/œ/ð?ð ?ˆBŒIÔ3°FÑ;ð ð	Gà"ð	Gà'-×'FÒ'FÑ'HÔ'Hð	Gõ ' vÑ.Ô.ð	Gð
 ŒIÔ#×*Ò*Ý˜F FÐ,<Ñ=Ô=ñô ð ð ŒIÔ0µ°A±´Ô7×>Ò>¸vÑFÔFÐFàˆàˆs   Ä6,E.Å.E2Å5E2c            
       óJ  — e Zd ZdZdd„Zeedddeee	                  ee
e	e	f                  z  eee	df                  z  eee	                  z  defd	„¦   «         ¦   «         Zeedddee	         defd
„¦   «         ¦   «         Zeedddee	df         defd„¦   «         ¦   «         Zeedddeez  ez  ez  defd„¦   «         ¦   «         Zeeddde	defd„¦   «         ¦   «         Zeddde	defd„¦   «         Zededefd„¦   «         Zede
eede	gef         f         fd„¦   «         ZdS )r€  a½  
    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   € ÝÐ=Ñ>Ô>Ð>r2  r¬  r  ro  .c                 ó   — d S rq  r1  ©r¬  ro  s     r"  r7  zSourcelessBuilder.createÀ  s	   € ð ˜#r2  c                 ó   — d S rq  r1  rÉ  s     r"  r7  zSourcelessBuilder.createÊ  s   € àSVÐSVr2  c                 ó   — d S rq  r1  rÉ  s     r"  r7  zSourcelessBuilder.createÎ  s	   € ð ˜r2  c                 ó   — d S rq  r1  rÉ  s     r"  r7  zSourcelessBuilder.createÔ  s	   € ð ˜3r2  c                 ó   — d S rq  r1  rÉ  s     r"  r7  zSourcelessBuilder.createÚ  s   € àPSÐPSr2  c                 óø  ‡ ‡— t          ‰¦  «        }t          j                             |¦  «        }|r |‰ ‰¦  «        S t	          ‰t
          ¦  «        r‰S t          t          ‰¦  «        ¦  «        r@t	          ‰t          j        ¦  «        s&t          ‰¦  «        st          j        ‰‰‰ ¬¦  «        S t          t          ‰¦  «        ¦  «        rFt          j        j                             ‰ j        j        ‰¦  «        }t          j        ‰|‰ ¬¦  «        S t	          ‰t&          j        ¦  «        rt+          ‰¦  «        S t-          j        ‰¦  «        rt-          j        ‰¦  «        S t1          ‰¦  «        rQt3          j        ‰¦  «        �=t3          j        ‰¦  «        rd‰ j        _         t3          j        ‰¦  «        ‰¦  «        S t1          ‰¦  «        rZt;          j        ‰¦  «        rF t3          j        ‰j        ¦  «        ‰j        ¦  «        }tA          |dt          ‰¦  «        ¬¦  «        S tC          ‰¦  «        r t3          j"        ‰¦  «        ‰¦  «        S t	          ‰t          j        t          j#        t          j$        j%        j&        f¦  «        st          ‰¦  «        rt+          ‰¦  «        S t	          ‰t           tN          j(        f¦  «        rUtS          t          ‰¦  «        t           ¦  «        r$tS          ‰tT          ¦  «        rtW          ‰¦  «        S t;          ‰¦  «        S t	          ‰tX          j-        ¦  «        r“t]          j/        t          ‰j        ¦  «        ‰j0        ¦  «        }t	          |tX          j1        ¦  «        ste          dt          |¦  «        › �¦  «        ‚tg          |t                               ‰ ‰j        ¦  «        ¦  «        S t	          ‰tX          j4        ¦  «        �r#t	          ‰j        t           tN          j(        f¦  «        r™tk          ‰j        ‰j6        j0        ¦  «        ‰k    r$te          d‰j6        j0        › d‰j        › �¦  «        ‚t                               ‰ ‰j        ¦  «        }	 | 7                    ‰ ‰j6        j0        ¦  «        S # tp          $ r Y �n�w xY w‰ j        j9        j:                             tw          ‰j        ¦  «        ¦  «        }|�*t          j<        j=         >                    ‰j6        |¦  «        S �n5t	          ‰t          j?        j@        jA        ¦  «        rt…          ‰¦  «        S t	          ‰t†          jD        jE        t          jF        jG        jH        f¦  «        rt+          ‰¦  «        S t	          ‰t’          jJ        t’          jK        f¦  «        rt™          ‰¦  «        S t	          ‰t          j<        j=        jM        jN        ¦  «        r�	 t-          j        tŸ          ‰¦  «        ¦  «        S # t          j<        jP        jQ        t          j?        jR        jS        jT        f$ r6 t«          j        ‰jV         W                    ¦   «         ‰jX        gi ¦  «        cY S w xY wt	          ‰t          t          jY        jZ        ¦  «        ¦  «        r)t          j<        j=        j[         \                    ‰¦  «        S t	          ‰tX          j]        tX          j^        t¾          j`        f¦  «        rtÃ          ‰¦  «        S tÅ          ‰¦  «        rrˆ ˆfd„tÇ          t          ‰¦  «        ¦  «        D ¦   «         }	tÉ          |	tË          ¦   «         ¬	¦  «        }
 tÍ          jg        t          ‰¦  «        ¦  «        ‰|
¬
¦  «        S t	          ‰t          jh        ¦  «        rI‰ji        jj        ‰ j        jk        v r1‰ j        jk        ‰ji        jj                 }tÙ          j        ‰ |¦  «        S t	          ‰tÚ          ¦  «        rˆ ˆfd„dD ¦   «         }tÝ          |‰ ¦  «        S tß          ‰tà          ¦  «        rtã          ‰¦  «        S tå          d|js        › d|jt        › �d|› �g tê          jv        ¢¬¦  «         d S )Nr6  TrX  rŒ  r¤  zClassmethod lookup mismatch: z on c           	      ób   •— g | ]+}t                                ‰t          ‰|¦  «        ¦  «        ‘Œ,S r1  ©r€  r7  rl  )rº  r'  r¬  ro  s     €€r"  rç  z,SourcelessBuilder.create.<locals>.<listcomp>Z  sC   ø€ ð ð ð àõ "×(Ò(¨­W°U¸DÑ-AÔ-AÑBÔBðð ð r2  r¤  )rm  c           	      ób   •— g | ]+}t                                ‰t          ‰|¦  «        ¦  «        ‘Œ,S r1  rÐ  )rº  r0  r¬  ro  s     €€r"  rç  z,SourcelessBuilder.create.<locals>.<listcomp>i  sC   ø€ ð ð ð àõ "×(Ò(¨­W°U¸AÑ->Ô->Ñ?Ô?ðð ð r2  rµ  z%Unexpected type in sourceless builderr;  z3SourcelessBuilder.create does not know how to wrap r!  )wrB  r€  Ú_type_handlersr_  rI  r£   r   rØ  rÙ  rŒ   ré   r7  r   r  rI  rJ  rT  r­  rU  rK  Ú_HAS_DEFAULT_FACTORY_CLASSr  r§   r.  rà  rL   rü  rý  rþ  r  Úis_supported_new_methodrt  rÖ   r‡   r:  rÚ  rÛ  rÜ  rÝ  ÚabcÚABCMetarB  rC  r  rr  r@  rw  rx  r*  rA  r‹  r»   rë  rl  rˆ  Úvar_getattrré  rÓ  Úid_to_variabler¹  r�  r’  ÚUserMethodVariablerÓ  Úgraph_moduleÚGraphModuler  Ú	importlibÚ	machineryÚ
ModuleSpecr
  r|  ÚTreeSpecr  r  r  rÓ   ÚlazyÚLazySymNodeFormatStringr.  ÚexcÚ	UserErrorrÔ  Úsymbolic_shapesÚGuardOnDataDependentSymNoderá   Úfmt_varrz  Úsym_node_varr  Úflex_attention_backwardÚhigher_order_opsÚ&FlexAttentionBackwardHighOrderVariableÚGenericAliasÚ	UnionTypeÚtypingÚ_UnionGenericAliasrâ   rŠ   r’   rÎ   r¢   r  rË  r   r	  r   r_  rõ   r   rÌ   r‘   r‡  rÜ   rP   r+  r,  rI   Ú
DYNAMO_BUG)r¬  ro  Ú
value_typeÚfast_handlerr‚  r~  r|  Ú
cls_obj_vtr~  r­  rm  r�  rA  s   ``           r"  r7  zSourcelessBuilder.createÞ  s"  øø€ å˜%‘[”[ˆ
å(Ô7×;Ò;¸JÑGÔGˆØð 	+Ø�<  EÑ*Ô*Ð*å�e�_Ñ-Ô-ð I	)àˆLå ¥ e¡¤Ñ-Ô-ðF	)å˜u¥d¤iÑ0Ô0ðF	)õ ,¨EÑ2Ô2ðF	)õ
 -Ô3°E¸5ÀRÐHÑHÔHÐHÝ%¥d¨5¡k¤kÑ2Ô2ð @	)å#œnÔ@×RÒRØ”	Ô# Uñô ˆOõ -Ô3ØØØðñ ô ð õ ˜�{ÔEÑFÔFð u	)Ý,¨UÑ3Ô3Ð3ÝÔ(¨Ñ/Ô/ð s	)Ý#Ô*¨5Ñ1Ô1Ð1Ý�e‰_Œ_ð q	)¥Ô!<¸UÑ!CÔ!CÐ!OÝÔ.¨uÑ5Ô5ð CØ>B�”	Ô;à5•;Ô.¨uÑ5Ô5°eÑ<Ô<Ð<Ý�e‰_Œ_ð l	)Õ!9Ô!QØñ"
ô "
ð l	)ð
 >•+Ô-¨e¬nÑ=Ô=¸e¼nÑMÔMˆCÝ" 3¨	½4À¹;¼;ÐGÑGÔGÐGÝ# EÑ*Ô*ð e	)à,•;Ô% eÑ,Ô,¨UÑ3Ô3Ð3ÝØÝŒY�Ô)­5¬8Ô+>Ô+LÐMñ
ô 
ð b	)õ % UÑ+Ô+ðb	)õ -¨UÑ3Ô3Ð3Ý˜¥¥c¤kÐ2Ñ3Ô3ð ]	)Ý�$˜u™+œ+¥tÑ,Ô,ð @µ¸EÅ=Ñ1QÔ1Qð @Ý8¸Ñ?Ô?Ð?Ý+¨EÑ2Ô2Ð2Ý˜�uÔ6Ñ7Ô7ð Y	)Ý Ô/µ°U´^Ñ0DÔ0DÀeÄnÑUÔUˆJÝ˜j­%Ô*EÑFÔFð Ý$ØM½4À
Ñ;KÔ;KÐMÐMñô ð õ )ØÕ-×4Ò4°R¸¼ÑHÔHñô ð õ ˜�uÔ/Ñ0Ô0ñ P	)Ý˜%œ.­4µ´Ð*=Ñ>Ô>ð å˜5œ>¨5¬>Ô+BÑCÔCÀuÒLÐLÝ(Øe¸¼Ô8OÐeÐeÐUZÔUcÐeÐeñô ð õ /×5Ò5°b¸%¼.ÑIÔI�
ðà%×1Ò1°"°e´nÔ6MÑNÔNÐNøÝ*ð ð ð Ø‘Dðøøøð œÔ/Ô>×BÒBÅ2ÀeÄnÑCUÔCUÑVÔV�ØÐ%Ý œ=Ô2×EÒEØœ¨ñô ð ñ &õ ˜�uœxÔ4Ô@ÑAÔAð <	)Ý0°Ñ7Ô7Ð7ÝØ•IÔ'Ô2µE´KÔ4GÔ4PÐQñ
ô 
ð :	)õ -¨UÑ3Ô3Ð3Ý˜¥¤
­B¬HÐ5Ñ6Ô6ð 6	)Ý'¨Ñ.Ô.Ð.Ý˜�uœ}Ô6Ô;ÔSÑTÔTð 4	)ðÝ'Ô.­s°5©z¬zÑ:Ô:Ð:øõ ”Ô!Ô+Ý”Ô%Ô5ÔQðð ð ð õ ,Ô2Ø”M×4Ò4Ñ6Ô6ØÔ'Ð(Øñô ð ð ð ð	øøøõ ˜�t¥EÔ$;Ô$SÑTÔTÑUÔUð &	)Ý”=Ô*Ô;×bÒbØñô ð õ ØåÔ"Ý”õ Ô)ðñ

ô 

ð "	)õ " %Ñ(Ô(Ð(Ý˜5Ñ!Ô!ð 	)ðð ð ð ð å-­d°5©k¬kÑ:Ô:ðñ ô ˆFõ % VÕ;KÑ;MÔ;MÐNÑNÔNˆHØCÕ+Ô6µt¸E±{´{ÑCÔCØ ðñ ô ð õ �u�eœlÑ+Ô+ð	)à”
” 2¤9Ô#:Ð:Ð:à”IÔ+¨E¬J¬OÔ<ˆEÝ"Ô)¨"¨eÑ4Ô4Ð4Ý˜�uÑ%Ô%ð 	)ðð ð ð ð à2ðñ ô ˆEõ ! ¨Ñ+Ô+Ð+Ý�E�6Ñ"Ô"ð 	)Ý! %Ñ(Ô(Ð(ÝØ;Ø!Ô,ÐHÐH¨zÔ/FÐHÐHØZÈjÐZÐZØ1Õ%Ô0Ð1ð		
ñ 	
ô 	
ð 	
ð 	
ð 	
s%   Ñ?R Ò
R-Ò,R-×* X ØA'Y5Ù4Y5c                 ó’   — t          j        | ¦  «        st          dt          | ¦  «        › �¦  «        ‚t          j        | ¬¦  «        S )NzExpected literal value, got r‹  )r§   r.  r‹  rB  r7  r‹  s    r"  Úwrap_constant_literalz'SourcelessBuilder.wrap_constant_literalw  sG   € åÔ*¨5Ñ1Ô1ð 	OÝ Ð!MÅÀUÁÄÐ!MÐ!MÑNÔNÐNÝÔ&¨UÐ3Ñ3Ô3Ð3r2  c                  óv  ‡— t           j        Ši } t          D ]}d„ | |<   Œ	ˆfd„| t          <   ˆfd„| t          <   ˆfd„| t
          <   ˆfd„| t          <   ˆfd„| t          <   ˆfd„| t          j	        <   | t
                   | t          j        <   | t
                   | t          <   | t                   | t          <   ˆfd„| t          j        <   d	„ | t          j        <   d
„ | t          j        <   d„ | t$          j        <   d„ | t(          j        <   d„ | t          j        <   d„ | t          j        <   d„ | t          j        j        j        <   d„ | t          j        j        j        <   d„ | t          j        j        j        <   d„ | t          j        j        j        <   dddt@          dt@          fd„}tB          j"        D ]}|| |<   Œ| S )Nc                 ó    — t          |¦  «        S rq  r¦   rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>†  s   € Õ,<¸UÑ,CÔ,C€ r2  c                 óZ   •‡ — t          ˆˆ fd„|D ¦   «         t          ¦   «         ¬¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS r1  r1  ©rº  rx  r7  r¬  s     €€r"  rç  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>ˆ  ó#   ø€ Ð*Ð*Ð*˜qˆVˆV�B˜‰]Œ]Ð*Ð*Ð*r2  r¤  )r±   r¢   ©r¬  ro  r7  s   ` €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>‡  s:   øø€ ­+Ø*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*Õ:JÑ:LÔ:Lð+
ñ +
ô +
€ r2  c                 óZ   •‡ — t          ˆˆ fd„|D ¦   «         t          ¦   «         ¬¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS r1  r1  rù  s     €€r"  rç  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>‹  rú  r2  r¤  )rï   r¢   rû  s   ` €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Š  s;   øø€ Õ1CØ*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*Õ:JÑ:LÔ:Lð2
ñ 2
ô 2
€ r2  c                 óš   •‡ — t          ˆˆ fd„|                     ¦   «         D ¦   «         t          |¦  «        t          ¦   «         ¬¦  «        S )Nc                 óD   •— i | ]\  }} ‰‰|¦  «         ‰‰|¦  «        “ŒS r1  r1  ©rº  r0  r3  r7  r¬  s      €€r"  ú
<dictcomp>zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<dictcomp>Ž  s3   ø€ ÐDÐDÐD©d¨a°ˆVˆV�B˜‰]Œ]˜F˜F 2 q™MœMÐDÐDÐDr2  r¤  )r¯   rA  rB  r¢   rû  s   ` €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>�  sL   øø€ Õ+<ØDÐDÐDÐDÐD°e·k²k±m´mÐDÑDÔDÝ�‰KŒKÝ*Ñ,Ô,ð,
ñ ,
ô ,
€ r2  c                 óZ   •‡ — t          ˆˆ fd„|D ¦   «         t          ¦   «         ¬¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS r1  r1  rù  s     €€r"  rç  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>“  rú  r2  r¤  )rÉ   r¢   rû  s   ` €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>’  s:   øø€ ­<Ø*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*Õ:JÑ:LÔ:Lð,
ñ ,
ô ,
€ r2  c                 ó>   •‡ — t          ˆˆ fd„|D ¦   «         ¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS r1  r1  rù  s     €€r"  rç  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>–  rú  r2  )rÎ   rû  s   ` €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>•  s,   øø€ ­MØ*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*ñ-
ô -
€ r2  c                 ó>   •‡ — t          ˆˆ fd„|D ¦   «         ¦  «        S )Nc                 ó(   •— g | ]} ‰‰|¦  «        ‘ŒS r1  r1  rù  s     €€r"  rç  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<listcomp>™  rú  r2  )rË   rû  s   ` €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>˜  s,   øø€ µØ*Ð*Ð*Ð*Ð* EÐ*Ñ*Ô*ñ2
ô 2
€ r2  c                 ó¤   •‡ — t          t          ˆˆ fd„|                     ¦   «         D ¦   «         t          t	          ¦   «         ¬¦  «        ¦  «        S )Nc                 óD   •— i | ]\  }} ‰‰|¦  «         ‰‰|¦  «        “ŒS r1  r1  r   s      €€r"  r  zJSourcelessBuilder.make_type_handlers.<locals>.<lambda>.<locals>.<dictcomp>¢  s3   ø€ ÐHÐHÐH±$°!°Q��˜˜A‘”   r¨1¡¤ÐHÐHÐHr2  r¤  )r°   r¯   rA  r@  r¢   rû  s   ` €r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>   sS   øø€ Õ=QÝØHÐHÐHÐHÐH¸%¿+º+¹-¼-ÐHÑHÔHÝÝ.Ñ0Ô0ðñ ô ñ>
ô >
€ r2  c                 ó    — t          |¦  «        S rq  )r¹   rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>¨  ó   € Õ6°uÑ=Ô=€ r2  c                 ó    — t          |¦  «        S rq  )rº   rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>«  r  r2  c                 ó<   — t          |t          ¦   «         ¬¦  «        S ©Nr¤  ©r  r¢   rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>­  s"   € Õ8QØÕ!1Ñ!3Ô!3ð9
ñ 9
ô 9
€ r2  c                 ó   — t          ¦   «         S rq  )rÞ   rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>°  s   € Õ4GÑ4IÔ4I€ r2  c                 ó    — t          |¦  «        S rq  )rÝ   rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>±  s   € Õ7KÈEÑ7RÔ7R€ r2  c                 ó<   — t          |t          ¦   «         ¬¦  «        S r  )rù   r¢   rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>³  s"   € Õ;QØÕ!1Ñ!3Ô!3ð<
ñ <
ô <
€ r2  c                 ó<   — t          |t          ¦   «         ¬¦  «        S r  )rú   r¢   rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>·  s"   € Õ:ØÕ%5Ñ%7Ô%7ðñ ô € r2  c                 ó<   — t          |t          ¦   «         ¬¦  «        S r  r  rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>½  ó"   € Õ7ØÕ%5Ñ%7Ô%7ðñ ô € r2  c                 ó<   — t          |t          ¦   «         ¬¦  «        S r  r  rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Â  r  r2  c                 ó<   — t          |t          ¦   «         ¬¦  «        S r  r  rÉ  s     r"  r«  z6SourcelessBuilder.make_type_handlers.<locals>.<lambda>Ç  r  r2  r¬  r  ro  r  c                 ó   — |S rq  r1  rÉ  s     r"  Úpassthroughz9SourcelessBuilder.make_type_handlers.<locals>.passthroughÌ  s   € ØˆLr2  )#r€  r7  r   rÒ  rB   r@  rö  rõ  r  rù  r÷  rÍ  r?   r@   rr  r  r>  r?  rw  rñ  ru  rv  r   r  rÜ  r  r  ÚdistributionsÚconstraintsÚ_RealÚ	_IntervalÚ
Constraintr  r¤   Úall_subclasses)Úhandlersr  r  rî  r7  s       @r"  Úmake_type_handlersz$SourcelessBuilder.make_type_handlers}  s[  ø€ õ #Ô)ˆð ð 	õ 'ð 	Dð 	DˆAØCÐCˆH�Q‰KˆKð
ð 
ð 
ð 
ˆ•‰ð 
ð  
ð  
ð  
ˆ•Ñð
ð 
ð 
ð 
ˆ•‰ð

ð 
ð 
ð 
ˆ•‰ð
ð 
ð 
ð 
ˆ•‰ð 
ð  
ð  
ð  
ˆ•”Ñð -5µT¬Nˆ•Ô(Ñ)Ø#+­D¤>ˆ•Ñ Ø#+­D¤>ˆ•Ñ ð,
ð ,
ð ,
ð ,
ˆ•Ô'Ñ(ð >Ð=ð 	•Ô+Ñ,ð >Ð=ð 	•Ô+Ñ,ð'
ð '
ˆ•Ô"Ñ#ð #JÐ"Iˆ•”ÑØ%RÐ%Rˆ•Ô!Ñ"ð*
ð *
ˆ•Ô%Ñ&ðð ð 	•Ô!Ô-ÔBÑCðð ð 	•Ô$Ô0Ô6Ñ7ðð ð 	•Ô$Ô0Ô:Ñ;ðð ð 	•Ô$Ô0Ô;Ñ<ð	Ð7ð 	Åð 	Åað 	ð 	ð 	ð 	õ 'Ô5ð 	(ð 	(ˆCØ'ˆH�S‰MˆMØˆr2  rž  )r*  r+  r,  r-  r¦  r
   re  rB  rÒ  r   r@  rõ  rö  r¥   r7  rÉ   rÎ   r0  r8  r7  r.  r§   r£   r‡  rô  r   r!  r1  r2  r"  r€  r€  °  so  € € € € € ð
ð 
ð?ð ?ð ?ð ?ð ØðØ'ðà�C˜”HŒ~Ø
ˆt�C˜�HŒ~Ô
ñà
ˆu�S˜#�XŒÔ
ñ ð ˆt�CŒyŒ/ñðð 
ðð ð ñ „\ñ „Xðð ØØVÐ.ÐV°t¸C´yÐVÀ\ÐVÐVÐVñ „\ñ „XàVàØðØ'ðØ05°c¸3°h´ðà	ðð ð ñ „\ñ „Xðð ØðØ'ðØ04°s±
¸UÑ0BÀSÑ0Hðà	ðð ð ñ „\ñ „Xðð ØØSÐ.ÐS°sÐS¸ÐSÐSÐSñ „\ñ „XàSàðV
Ð.ð V
°sð V
¸ð V
ð V
ð V
ñ „\ðV
ðp ð4 Vð 4°ð 4ð 4ð 4ñ „\ð4ð
 ðS ØˆhÐ3°SÐ9¸?ÐJÔKÐKô!ð Sð Sð Sñ „\ðSð Sð Sr2  r€  c                   ó>   — e Zd ZdZd	d„Zedddedefd„¦   «         ZdS )
Ú"SourcelessUserDefinedObjectBuilderz¯
    SourceLessBuilder does not return a UserDefinedObjectVariable, but in some
    cases it might be ok to return UserDefinedObjects. In such case, use this
    builder.
    r  Nc                 ó    — t          d¦  «        ‚)Nz/Use SourcelessUserDefinedObjectBuilder.create()rÇ  r�  s    r"  r¦  z+SourcelessUserDefinedObjectBuilder.__init__Þ  s   € ÝÐNÑOÔOÐOr2  r¬  r  ro  c                 ó6  — t          |¦  «        }t          |t          ¦  «        rt          |t	          ¦   «         ¬¦  «        S t          |t          j        j        ¦  «        rt          |t	          ¦   «         ¬¦  «        S t          |t	          ¦   «         ¬¦  «        S r  )rB  rB  r   r  r¢   rI  r  rÕ  rÖ  ræ   r  )r¬  ro  rð  s      r"  r7  z)SourcelessUserDefinedObjectBuilder.createá  s�   € å˜%‘[”[ˆ
Ý�j¥.Ñ1Ô1ð 	VÝ)¨%Õ?OÑ?QÔ?QÐRÑRÔRÐRÝ˜�uœxœÑ/Ô/ð 	VÝ0ØÕ%5Ñ%7Ô%7ðñ ô ð õ -¨UÕBRÑBTÔBTÐUÑUÔUÐUr2  rž  )	r*  r+  r,  r-  r¦  re  r   r£   r7  r1  r2  r"  r#  r#  ×  su   € € € € € ðð ðPð Pð Pð Pð ð	VÐ.ð 	V°sð 	V¸ð 	Vð 	Vð 	Vñ „\ð	Vð 	Vð 	Vr2  r#  r{  rq  )FN(»  r-  rÕ  r÷  r  r­  rK  rØ  rå  Úimportlib.machineryrÜ  rw  rû  râ  rp  r½  ru  r  r2  rÄ  rr  rí  r  Úcollections.abcr   r   r   r   r   r   r	   r
   r   r   r!  r  r   Útorch._dispatch.pythonr   Ú#torch._dynamo.graph_bytecode_inputsr   r   r   Útorch._dynamo.utilsr   r   r   r   r   Útorch._guardsr   Ú"torch._higher_order_ops.flat_applyr   Ú!torch._higher_order_ops.torchbindr   Útorch._library.opaque_objectr   r   r   r   Útorch._opaque_baser   Ú
torch._opsr   r    r!   rµ  r"   r#   r$   r%   Útorch._subclasses.meta_utilsr&   r'   Útorch._utils_internalr(   Ú%torch.fx.experimental._backward_stater)   Útorch.fx.experimental._dynamismr*   r4  r+   r,   r-   r.   r/   r0   r1   r2   Útorch.fx.experimental.sym_noder3   r4   ru  r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   Útorch.fx.immutable_collectionsr?   r@   Ú torch.nn.utils._expanded_weightsrA   Útorch.utils._ordered_setrB   Útorch.utils._python_dispatchrC   rD   Útorch.utils._sympy.value_rangesrE   Útorch.utils.weakrF   r?  rH   rI   rJ   rK   rL   r©  rM   râ  rN   rO   rP   râ  rQ   rR   rS   ÚpgorT   rU   rV   rW   rX   rÓ  rY   rG  rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r
  r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r—   r˜   r™   rš   r›   rœ   rJ  rž   rŸ   r    r¡   r¢   r£   r¤   Úbuiltinr¥   Úconstantr§   Úctx_managerr¨   r©   rª   r«   r¬   r­   r®   Údictsr¯   r°   r±   rà  r²   Ú	functionsr³   r´   rµ   r¶   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   ré  rÁ   rÂ   ÚiterrÃ   rÄ   rà  rÅ   rÆ   ÚlistsrÇ   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ã   Ú	nn_modulerä   rå   ræ   Ú	optimizerrç   Úscript_objectrè   ré   rÐ  rë   Úsetsrì   rí   rî   rï   Ústreamsrð   rñ   rò   r%  ró   rô   rõ   rö   r÷   rø   rù   rú   rû   rü   Útorch_functionrý   rþ   rÿ   r‡  r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  Únumpyr  ÚModuleNotFoundErrorr/  Útorch._dynamo.codegenr  Útorch._dynamo.symbolic_convertr  Ú	getLoggerr*  r`  r  ÚgetArtifactLoggerr¼  r[  r  r  r  rö  ÚDimListr‡  r0  r#  Ú	dataclassr&  r4  r6  Ú_AccessTokenÚ_AccessPathr.  rF  rR  r8  rc  rn  r{  r}  r€  r£  rÖ  ÚvarsrA  r¼  rÒ  r½  rÕ  rÖ  rÛ  rÜ  rØ  rÙ  r¿  rI  r…  rB  r!  r   r�  rÓ  ÚProxyr�  r�  r�  r@  r‘  r  ræ  rš  rY  rì  rõ  rí  Úcompilerî  r  rô  r  ró  r  r  r  r  rõ  r   r!  r&  rô  r1  rò  ÚExprrA  r<  rT  ra  r‘  r  r°  r€  r!  rÒ  r#  r1  r2  r"  ú<module>rY     s&  ððð ð ð& €
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø €€€Ø €€€Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø Ð Ð Ð Ð Ð Ø RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rà €€€à €€€Ø Ð Ð Ð Ð Ð Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø <Ð <Ð <Ð <Ð <Ð <ðð ð ð ð ð ð ð ð ð ð ð ð *Ð )Ð )Ð )Ð )Ð )Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hðð ð ð ð ð ð ð ð ð ð ð ð BÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø AÐ AÐ AÐ AÐ AÐ Að	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð FÐ EÐ EÐ EÐ EÐ EÐ EÐ Eðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð JÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø /Ð /Ð /Ð /Ð /Ð /ðð ð ð ð ð ð ð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ø *Ð *Ð *Ð *Ð *Ð *à TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TØ ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð ð ð ð ð 'Ð &Ð &Ð &Ð &Ð &ð"ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ðF#ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ð #ðHð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð %Ð $Ð $Ð $Ð $Ð $Ø &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð HÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ /Ð /Ð /Ð /Ð /Ð /ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ;Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø ;Ð ;Ñ ;Ñ ;Ñ ;Ñ ;Ñ ;Ð ;ð	ð 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ñ 	ð 	ðð ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ð ð.ð ñ ñ ñ ñ ñ ñ ñ ð ð
 )Ð (Ñ (Ñ (Ñ (Ð (Ø OÐ OÑ OÑ OÑ OÑ OÑ OÐ OØ $Ð $Ñ $Ñ $Ñ $Ð $ðð ñ ñ ñ ñ ñ ñ ñ ñ ñ ð ð JÐ IÑ IÑ IÑ IÑ IÑ IÑ IÑ IÐ Iðð ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ð ðð ð ñ ñ ñ ñ ñ ñ ñ ñ ð ðð ñ ñ ñ ñ ñ ñ ñ ð ð
ð ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ñ ð ð(ØÐÑÑÐøÙð ð ð Ø�Bˆ
ÑÐÑÐÐðøøøð ð IØ/Ð/Ñ/Ñ/Ñ/Ð/ØHÐHÑHÑHÑHÐHð €gÕ™Ñ!Ô!�Ø•N×4Ó4ÙÐ'ñô Ñ ð '�WÕ&Ð'NÑOÔOÑ Ø Ð Ð Ñ Ñ Ð ð
 ‰g�mÑ$Ô$�Ø�GˆC�L„L�á
�ð"‘Vð "¡ð "ð "ð "ñ "ð
 €Õ˜dÐ#Ñ#Ô#ðð ð ð ð ñ ô ñ $Ô#ñð €Õ˜dÐ#Ñ#Ô#ðð ð ð ð ñ ô ñ $Ô#ñð €Õ˜dÐ#Ñ#Ô#ðð ð ð ð ñ ô ñ $Ô#ññ ™ZÑ'©/Ñ9�Ù‘<Ô �ð7¡ð 7±ð 7ð 7ð 7ñ 7ð64 6ð 4©k¸DÑ.@ð 4ð 4ð 4ñ 4ðnHØ"ðHáðHñ ðHð ð	Hð Hð Hñ HðV7CØð7CØ!+¨dÑ!2ð7Càð7Cð 7Cð 7Cñ 7Cðt?¨3ð ?°3¸±:ð ?ð ?ð ?ñ ?ð<	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 	ð ÕðP9ð P9ð P9ð P9ð P9ñ P9ô P9ñ ÔñP9ðf<ð <ð <ð <ð <™Hñ <ô <ñ <ð. &/¡Yð /ð /à™˜Y™œ×-Ó-Ñ/Ô/ð/ñ /ô /ñ &ô &Ñ ‘I™c”Nñ ð ñ ð +.©#©%¬%Ñ ™s¡3œxÑ /Ð /Ñ /ð
 "'¥¥Õ!>Ñ Ø$)¥H¥OÕ$DÑ !ðp*ð p*ð p*ð p*ð p*ñ p*ô p*ñ p*ðfU  Oð  ¹ð  ð  ð  ñ  ð2˜ð ¨¸Ñ(=ð À#ð ð ð ñ ð* !%Ø!%ð	ð Ø#ðàðð ˜‘:ðñ ˜$‘;ð	ð
 ðð ðð ð ñ ð2
Ø#ð
Ø,/ð
Ø@Cð
à	ð
ð 
ð 
ñ 
ðz !%Ø!%ð$ð $Ù‘[Ô!ð$à#ð$ð ð$ð ˜‘:ð	$ñ
 ˜$‘;ð$ð ð$ñ ð$ð $ð $ñ $ðZ "&ðIð IÙ‘[Ô!ðIà#ðIð �8�>ðIð �Lð	Iñ
 ˜$‘;ðIð ðIñ ðIð Ið Iñ Iðb !%Ø!%ð"ð "Ù‘[Ô!ð"à#ð"ð �8�>ð"ð ˜‘:ð	"ñ
 ˜$‘;ð"ð ð"ñ ð"ð "ð "ñ "ðLZ
ØðZ
à#ðZ
ð �8�>ðZ
ñ ‘#�s�(Œ^ð	Z
ñ
 ˜$‘;ðZ
ñ ‘[Ô!ðZ
ð ðZ
ð Z
ð Z
ñ Z
ðz™qð ¡T©!¤W¨t¡^ð ð ð ñ ð:Øðà#ðð ðñ ˜$‘;ð	ñ
 
‰#ˆsˆ(„^ðð ð ñ ð2(Ù‘[Ô!ð(à#ð(ð �8�>ð(ð ð	(ñ
 ˜$‘;ð(ñ ‘#�s�(Œ^ð(ñ ð(ð (ð (ñ (ð8
¨jð 
ð 
ð 
ñ 
ð 9=Ñ ‘$‘u™S¡#¨¡*˜_Ô-Ô.°Ñ5Ñ <Ð <Ñ <Ø+/Ñ ™c D™jÑ /Ð /Ñ /à", "¥*¨_Ñ"=Ô"=��•
™3”Ñ =Ð =Ñ =ð	™sð 	¡u©S±#¸±*¨_Ô'=ð 	ð 	ð 	ñ 	ð™T¡%©©S°4©Z¨Ô"8Ô9ð ð ð ñ ð(ð ¡3ð ©S°4©Zð Á4ð ð ð ñ ð<Ø#ðÙ+.ðØ38µ<ðàðð ð ñ ðD :>Ñ ‘4™™c¡3¨¡:˜oÔ.Ô/°$Ñ6Ñ =Ð =Ñ =Ø,0Ñ ™s T™zÑ 0Ð 0Ñ 0ð™d¡5©©c°D©j¨Ô#9Ô:ð ð ð ñ ð(ð ¡Cð ©c°D©jð ÁDð ð ð ñ ð& $(�‘‘S”˜D‘Ñ 'Ð 'Ñ 'Ø*.Ñ ™S 4™ZÑ .Ð .Ñ .ð™C¡œHð ð ð ñ ð$	#™Cð 	#¡Dð 	#ð 	#ð 	#ñ 	#ð,Ø
ð,àð,ð ˜dÑ"ð,ð '¨Ñ-ð	,ñ
 *.¨c°3¨h¬ð,ð ð,ð ,ð ,ñ ,ð^A
Ø
�6‰/ðA
àŒlðA
ð 
ðA
ð A
ð A
ñ A
ðHW (ð W°uµzð WÀdð Wð Wð Wñ Wð8°Xð 8À$ð 8ð 8ð 8ñ 8ð*
 hð 
¸Zð 
ÈDð 
ð 
ð 
ñ 
ð' Xð '°$ð 'ð 'ð 'ñ 'ðb Ø%)ðKð KØ
ðKà#ðKð ðKñ ð	Kñ
 ðKð ˜dÑ"ðKð ðKð Kð Kñ Kðj
 "&Ø%)ð
ð 
ð 
Ø
ð
à#ð
ð �T‰Mð	
ñ
 ð
ð ˜$‘Jð
ð ˜dÑ"ð
ð 	ð
ð 
ð 
ñ 
ð> "&Ø%)ðGð Gð GØ
ðGà#ðGð �T‰Mð	Gñ
 ðGð ˜$‘JðGð ˜dÑ"ðGð 	ðGð Gð Gñ GðTað að að að añ aô añ añH	 $5×#GÓ#GÑ#IÔ#IÑ Õ  ðVð Vð Vð Vð Vñ Vô Vñ Vð Vð Vs   Ï3O: Ï:PÐP