§
    ž²Åjã‡  ã                   óH  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZmZmZmZ d dlZddlmZmZ ddl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" ddlm#Z#m$Z$m%Z% ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, ddl-m.Z. d„ Z/ G d„ d¦  «        Z0e j1        dd„¦   «         Z2dS )é    N)ÚMutableMapping)ÚCellType)ÚAnyÚDictÚListÚOptionalÚSetÚTypeé   )ÚutilsÚ	variables)Úbytecode_from_templateÚcreate_call_functionÚcreate_call_methodÚcreate_instruction)Ú	PyCodegen)Úunimplemented)ÚGlobalSourceÚLocalCellSourceÚLocalSourceÚSource)Úis_frozen_dataclassÚnn_module_newÚ
object_new)ÚAttributeMutationÚAttributeMutationExistingÚAttributeMutationNewÚis_side_effect_safeÚValueMutationExistingÚVariableTracker)ÚFrozenDataClassVariablec                 óD   — |                       ¦   «         D ]
\  }}|||<   Œd S ©N)Úitems)Ú	dict_fromÚdict_toÚkÚvs       úKC:\Projects\Historical\venv\Lib\site-packages\torch/_dynamo/side_effects.pyÚ_manual_update_dictr*   #   s4   € Ø—’Ñ!Ô!ð ð ‰ˆˆ1Øˆ�‰
ˆ
ðð ó    c                   ó&  ‡ — e Zd ZU dZeeef         ed<   eeeeef         f         ed<   e	e
         ed<   	 	 	 	 	 d>ˆ fd„	Zdedefd	„Zdd dee         fd
„Zd„ Zd„ Zd„ Zd„ Zd„ Zdededefd„Zd?d„Zd„ Zd„ Zdedefd„Zdededefd„Zed„ ¦   «         Zd„ Zd„ Zd„ Z d„ Z!e"fde
d efd!„Z#e#Z$de
d efd"„Z%d#e&d$e
d%e
fd&„Z'	 	 d@d)„Z(d*„ Z)d+ee&         d,e*d-efd.„Z+d+e&de
fd/„Z,d0„ Z-d1„ Z.d2„ Z/d3„ Z0d4„ Z1d5e2fd6„Z3d7„ Z4d8„ Z5d9„ Z6d:„ Z7d5e2fd;„Z8d<„ Z9d=„ Z:ˆ xZ;S )AÚSideEffectszp
    Track side effects (list mutation, setattr, etc) that need to be
    applied after an FX graph is run.
    Úid_to_variableÚstore_attr_mutationsÚ	keepaliveNc                 óâ   •— t          ¦   «                              ¦   «          t          j        |¦  «        | _        |pi | _        |pi | _        |pg | _        |pg | _        |pi | _	        d | _
        d S r#   )ÚsuperÚ__init__ÚweakrefÚrefÚoutput_graph_weakrefr.   r/   r0   Úsave_for_backwardÚtensor_hooksÚca_final_callbacks_var)ÚselfÚoutput_graphr.   r/   r0   r7   r8   Ú	__class__s          €r)   r3   zSideEffects.__init__2   s|   ø€ õ 	‰Œ×ÒÑÔÐÝ$+¤K°Ñ$=Ô$=ˆÔ!Ø,Ð2°ˆÔØ$8Ð$>¸BˆÔ!Ø"˜ bˆŒØ!2Ð!8°bˆÔØ(Ð.¨BˆÔð '+ˆÔ#Ð#Ð#r+   ÚotherÚreturnc                 ó°   — t          |t          ¦  «        sJ ‚| j        |j        k    o/| j        |j        k    o| j        |j        k    o| j        |j        k    S r#   )Ú
isinstancer-   r.   r/   r7   r8   )r:   r=   s     r)   Ú__eq__zSideEffects.__eq__F   sh   € Ý˜%¥Ñ-Ô-Ð-Ð-Ð-ð Ô 5Ô#7Ò7ð 8ØÔ)¨UÔ-GÒGð8àÔ&¨%Ô*AÒAð8ð Ô! UÔ%7Ò7ð		
r+   c                 ó–  — | j         |j         k    rB| j                              ¦   «         }|j                              ¦   «         }||k    rd|› d|› �S dS | j        |j        k    rB| j                             ¦   «         }|j                             ¦   «         }||k    rd|› d|› �S dS | j        |j        k    rdS | j        |j        k    rdS d S )Nzid_to_variable keys: z != zid_to_variable: unknown diffzstore_attr_mutations keys: z"store_attr_mutations: unknown diffr7   r8   )r.   Úkeysr/   r7   r8   )r:   r=   Úsk_itvÚok_itvÚsk_samÚok_sams         r)   ÚdiffzSideEffects.diffP   sö   € ØÔ %Ô"6Ò6Ð6ØÔ(×-Ò-Ñ/Ô/ˆFØÔ)×.Ò.Ñ0Ô0ˆFØ˜ÒÐØC¨vÐCÐC¸6ÐCÐCÐCð 2Ð1ØÔ&¨%Ô*DÒDÐDØÔ.×3Ò3Ñ5Ô5ˆFØÔ/×4Ò4Ñ6Ô6ˆFØ˜ÒÐØI°VÐIÐIÀÐIÐIÐIØ7Ð7ØÔ# uÔ'>Ò>Ð>Ø&Ð&ØÔ %Ô"4Ò4Ð4Ø!�>à�4r+   c                 óú   — |                       |                      ¦   «         t          | j        ¦  «        d„ | j                             ¦   «         D ¦   «         t          | j        ¦  «        | j        | j	        ¬¦  «        S )zCreate a shallow copyc                 ó4   — i | ]\  }}|t          |¦  «        “ŒS © )Údict)Ú.0r'   r(   s      r)   ú
<dictcomp>z%SideEffects.clone.<locals>.<dictcomp>k   s1   € ð "ð "ð "Ù#˜q !�•4˜‘7”7ð"ð "ð "r+   )r;   r.   r/   r0   r7   r8   )
r<   r6   rL   r.   r/   r$   Úlistr0   r7   r8   ©r:   s    r)   ÚclonezSideEffects.clonef   s€   € à�~Š~Ø×2Ò2Ñ4Ô4Ý Ô 3Ñ4Ô4ð"ð "Ø'+Ô'@×'FÒ'FÑ'HÔ'Hð"ñ "ô "õ ˜4œ>Ñ*Ô*Ø"Ô4ØÔ*ð ñ 	
ô 	
ð 		
r+   c                 ó.   — t          |¦  «        | j        v S r#   )Úidr.   ©r:   Úitems     r)   Ú__contains__zSideEffects.__contains__s   s   € Ý�$‰xŒx˜4Ô.Ð.Ð.r+   c                 ó6   — | j         t          |¦  «                 S r#   )r.   rS   rT   s     r)   Ú__getitem__zSideEffects.__getitem__v   s   € ØÔ"¥2 d¡8¤8Ô,Ð,r+   c                 ó†   — |                       ¦   «         }|o+|j        j        j        j        o|j        j        j        j        S r#   )r6   Ú
current_txÚoutputÚcurrent_tracerÚunder_activation_checkpointÚ#allow_side_effects_under_checkpoint)r:   r;   s     r)   Ú*should_allow_side_effects_under_checkpointz6SideEffects.should_allow_side_effects_under_checkpointy   sE   € Ø×0Ò0Ñ2Ô2ˆàð bØÔ'Ô.Ô=ÔYðbàÔ'Ô.Ô=Ôað	
r+   c                 ó¬   — ddl m} t          ||¦  «        rdS |                      ¦   «         rdS t	          |j        ¦  «        st          d¦  «         d S d S )Nr   )ÚAutogradFunctionContextVariableTzOHigherOrderOperator: Mutating a variable not in the current scope (SideEffects))Útorch._dynamo.variables.miscra   r@   r_   r   Úmutation_typer   )r:   rU   ra   s      r)   Úcheck_allowed_side_effectz%SideEffects.check_allowed_side_effect�   sƒ   € ØPÐPÐPÐPÐPÐPõ �dÐ;Ñ<Ô<ð 	Ø�4Ø×:Ò:Ñ<Ô<ð 	Ø�4Ý" 4Ô#5Ñ6Ô6ð 	ÝØañô ð ð ð ð	ð 	r+   rU   ÚnameÚvaluec                 ó¤   — |                       |¦  «        sJ ‚|                      |¦  «         || j        vr
i | j        |<   || j        |         |<   d S r#   )Úis_attribute_mutationrd   r/   )r:   rU   re   rf   s       r)   Ú
store_attrzSideEffects.store_attr�   sc   € Ø×)Ò)¨$Ñ/Ô/Ð/Ð/Ð/Ø×&Ò& tÑ,Ô,Ð,Ø�tÔ0Ð0Ð0Ø.0ˆDÔ% dÑ+Ø05ˆÔ! $Ô'¨Ñ-Ð-Ð-r+   Fc                 ó´   — |r|                       |¦  «        sJ ‚| j        |         |         }|s)t          |t          j        ¦  «        rt          d¦  «         |S )Nzread deleted attribute)rh   r/   r@   r   ÚDeletedVariabler   )r:   rU   re   Ú
deleted_okÚcheckÚresults         r)   Ú	load_attrzSideEffects.load_attr–   sf   € Øð 	4Ø×-Ò-¨dÑ3Ô3Ð3Ð3Ð3ØÔ*¨4Ô0°Ô6ˆØð 	4�j¨µÔ1JÑKÔKð 	4ÝÐ2Ñ3Ô3Ð3Øˆr+   c                 óê   — |                      ¦   «         rt          d¦  «         t          |t          j        ¦  «        sJ ‚t          |t          j        ¦  «        sJ ‚|                      |d|¦  «         d S )Nz5Dynamo currently doesn't support writing to such cellÚcell_contents)Úis_immutabler   r@   r   ÚCellVariabler    ri   )r:   Úcellvarrf   s      r)   Ú
store_cellzSideEffects.store_cellž   st   € Ø×ÒÑ!Ô!ð 	SÝÐQÑRÔRÐRÝ˜'¥9Ô#9Ñ:Ô:Ð:Ð:Ð:Ý˜%¥Ô!:Ñ;Ô;Ð;Ð;Ð;Ø�Š˜ °%Ñ8Ô8Ð8Ð8Ð8r+   c                 óÔ   — t          |t          j        ¦  «        sJ ‚|                      |d¦  «        r|                      |dd¬¦  «        S |j        r|j        S t          d¦  «         d S )Nrq   F)rm   zcannot read uninitialized cell)r@   r   rs   Úhas_pending_mutation_of_attrro   Úpre_existing_contentsr   )r:   rt   s     r)   Ú	load_cellzSideEffects.load_cell¥   su   € Ý˜'¥9Ô#9Ñ:Ô:Ð:Ð:Ð:Ø×,Ò,¨W°oÑFÔFð 	IØ—>’> '¨?À%�>ÑHÔHÐHØÔ(ð 	1ØÔ0Ð0ÝÐ6Ñ7Ô7Ð7Ð7Ð7r+   Úgvarc                 óf   — t          |t          j        ¦  «        sJ ‚|                      ||¦  «        S r#   )r@   r   r    ro   )r:   rz   re   s      r)   Úload_globalzSideEffects.load_global­   s/   € Ý˜$¥	Ô 9Ñ:Ô:Ð:Ð:Ð:Ø�~Š~˜d DÑ)Ô)Ð)r+   c                 ó¤   — t          |t          j        ¦  «        sJ ‚t          |t          j        ¦  «        sJ ‚|                      |||¦  «         d S r#   )r@   r   r    ri   )r:   rz   re   rf   s       r)   Ústore_globalzSideEffects.store_global±   sP   € Ý˜$¥	Ô 9Ñ:Ô:Ð:Ð:Ð:Ý˜%¥Ô!:Ñ;Ô;Ð;Ð;Ð;Ø�Š˜˜d EÑ*Ô*Ð*Ð*Ð*r+   c                 óF   — t          j        | dd ¦  «        t          j        u S )NÚ__getattribute__)ÚinspectÚgetattr_staticÚobjectr€   )Úclss    r)   Ú"cls_supports_mutation_side_effectsz.SideEffects.cls_supports_mutation_side_effects¶   s'   € õ Ô" 3Ð(:¸DÑAÔAÝÔ&ð'ð	
r+   c                 ó6   — t          |j        t          ¦  «        S r#   )r@   rc   r   rT   s     r)   rh   z!SideEffects.is_attribute_mutation½   s   € Ý˜$Ô,Õ.?Ñ@Ô@Ð@r+   c                 óz   — |                       |¦  «        o&t          | j                             |¦  «        ¦  «        S r#   )rh   Úboolr/   ÚgetrT   s     r)   Úhas_pending_mutationz SideEffects.has_pending_mutationÀ   s=   € Ø×)Ò)¨$Ñ/Ô/ð 
µDØÔ%×)Ò)¨$Ñ/Ô/ñ5
ô 5
ð 	
r+   c                 óf   — |                       |¦  «        o|| j                             |d¦  «        v S )NrK   )rh   r/   r‰   )r:   rU   re   s      r)   rw   z(SideEffects.has_pending_mutation_of_attrÅ   s=   € Ø×)Ò)Øñ
ô 
ð >à�dÔ/×3Ò3°D¸"Ñ=Ô=Ð=ð	>r+   c                 óº   — |                      ¦   «         rdS t          |j        t          ¦  «        rdS |                      |¦  «        r	|| j        v S |j        j        S )NFT)rr   r@   rc   r   rh   r/   Úis_modifiedrT   s     r)   r�   zSideEffects.is_modifiedÊ   sf   € Ø×ÒÑÔð 	Ø�5Ý�dÔ(Õ*>Ñ?Ô?ð 	Ø�4Ø×%Ò% dÑ+Ô+ð 	5Ø˜4Ô4Ð4Ð4ØÔ!Ô-Ð-r+   Úvariablec           
      ó8  — |j         €J ‚t          |¦  «        | j        v r:t          |› d|j         › d| j        t          |¦  «                 j         › d�¦  «        ‚ |¦   «         |_        || j        t          |¦  «        <   | j                             |¦  «         |S )z*Start tracking a new variable for mutationNz“ is already tracked for mutation. This could be because you are not using VariableBuilder to construct the variable tracker. Source of new object: z'. Source of previously tracked object: ú.)ÚsourcerS   r.   ÚAssertionErrorrc   r0   Úappend)r:   rU   rŽ   Úmutation_type_clss       r)   Ú
_track_objzSideEffects._track_objÓ   sÃ   € ð ŒÐ*Ð*Ð*åˆd‰8Œ8�tÔ*Ð*Ð*Ý Øð `ð `ð *2¬ð`ð `ð 9=Ô8KÍBÈtÉHÌHÔ8UÔ8\ð	`ð `ð `ñô ð ð "3Ð!2Ñ!4Ô!4ˆÔØ(0ˆÔ�B˜t™HœHÑ%ØŒ×Ò˜dÑ#Ô#Ð#Øˆr+   c                 ó<   — |                       ||t          ¬¦  «        S )N)r”   )r•   r   )r:   rU   rŽ   s      r)   Útrack_object_existingz!SideEffects.track_object_existingì   s'   € ð
 �ŠØ�(Õ.Gð ñ 
ô 
ð 	
r+   Ú
cls_sourceÚuser_clsÚvariable_clsc                 ó$  — |t           j        j        j        u rLt	          j        d¬¦  «        5  t           j                             ¦   «         }d d d ¦  «         n# 1 swxY w Y   nbt          |t           j        j	        ¦  «        rt          |¦  «        }n3	 t          |¦  «        }n"# t          $ r t          d|› �¦  «         Y nw xY w ||fdt          |¦  «        i|¤Ž}|| j        t!          |¦  «        <   | j                             |¦  «         |S )NT)Úrecordz'Unable to construct the object of type rc   )ÚtorchÚautogradÚfunctionÚFunctionCtxÚwarningsÚcatch_warningsÚFunctionÚ
issubclassÚnnÚModuler   r   Ú	TypeErrorr   r   r.   rS   r0   r“   )r:   r˜   r™   rš   ÚoptionsÚobjrŽ   s          r)   Útrack_object_newzSideEffects.track_object_newõ   sr  € ð •u”~Ô.Ô:Ð:Ð:ÝÔ(°Ð5Ñ5Ô5ð 0ð 0Ý”n×-Ò-Ñ/Ô/�ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0øå˜¥%¤(¤/Ñ2Ô2ð 		TÝ Ñ)Ô)ˆCˆCðTÝ  Ñ*Ô*��øÝð Tð Tð Tõ ÐRÈÐRÐRÑSÔSÐSÐSÐSð	Tøøøð
  �<Øð
ð 
å.¨zÑ:Ô:ð
ð ð
ð 
ˆð
 (0ˆÔ�B˜s™GœGÑ$ØŒ×Ò˜cÑ"Ô"Ð"Øˆs#   ®AÁAÁ AÂB% Â%CÃCÚcls_variableú"variables.UserDefinedClassVariablec                 ó¬  — |j         }|j        }t          j        }t	          |t
          j        j        ¦  «        rt          j        }nEt	          |t          ¦  «        rt          j
        }n#t          |¦  «        rt          }nt          j        }t	          |t          j        ¦  «        sJ ‚t          j        ||¬¦  «        }|                      |||i ¦  «        S )N)r˜   )r‘   rf   r   ÚUserDefinedObjectVariabler¤   r�   r¥   r¦   ÚUnspecializedNNModuleVariabler   ÚMutableMappingVariabler   r!   Ú	functoolsÚpartialrª   )r:   r«   r˜   r™   rš   s        r)   Ú(track_object_new_from_user_defined_classz4SideEffects.track_object_new_from_user_defined_class  sÆ   € ð "Ô(ˆ
ØÔ%ˆõ
 Ô/ð 	õ �h¥¤¤Ñ0Ô0ð 	?Ý$ÔBˆLˆLÝ˜¥.Ñ1Ô1ð 	?Ý$Ô;ˆLˆLÝ  Ñ*Ô*ð 	?Ý2ˆLˆLå$Ô>ˆLå˜,­	Ô(KÑLÔLÐLÐLÐLå Ô(¨À*ÐMÑMÔMˆà×$Ò$ Z°¸<ÈÑLÔLÐLr+   c                 óÆ   — t          ¦   «         }t          j        t          ¦   «         ¬¦  «        }|| j        t          |¦  «        <   | j                             |¦  «         |S )N©rc   )rƒ   r   rs   r   r.   rS   r0   r“   )r:   r©   rŽ   s      r)   Útrack_cell_newzSideEffects.track_cell_new,  s]   € õ ‰hŒhˆÝÔ)Ý.Ñ0Ô0ð
ñ 
ô 
ˆð (0ˆÔ�B˜s™GœGÑ$ØŒ×Ò˜cÑ"Ô"Ð"Øˆr+   r‘   ÚcellÚcontentsc                 ó¶   — t          j        |€d nt          ¦   «         ||¬¦  «        }|| j        t	          |¦  «        <   | j                             |¦  «         |S )N)rc   rx   r‘   )r   rs   r   r.   rS   r0   r“   )r:   r‘   r·   r¸   rŽ   s        r)   Útrack_cell_existingzSideEffects.track_cell_existing7  se   € õ Ô)ð #) .˜$˜$Õ6OÑ6QÔ6QØ"*Øð
ñ 
ô 
ˆð )1ˆÔ�B˜t™HœHÑ%ØŒ×Ò˜dÑ#Ô#Ð#Øˆr+   c                 ó¬   — t          j        t          ¦   «         |¬¦  «        }|| j        t	          |¦  «        <   | j                             |¦  «         |S )N)rc   r‘   )r   ÚNewGlobalVariabler   r.   rS   r0   r“   )r:   r‘   rU   rŽ   s       r)   Útrack_global_existingz!SideEffects.track_global_existingE  sU   € ÝÔ.Ý3Ñ5Ô5Øð
ñ 
ô 
ˆð )1ˆÔ�B˜t™HœHÑ%ØŒ×Ò˜dÑ#Ô#Ð#Øˆr+   c                 óv   — t          |t          j        ¦  «        sJ ‚| j                             ||f¦  «         d S r#   )r@   r   ra   r7   r“   )r:   ÚctxÚargss      r)   Útrack_save_for_backwardz#SideEffects.track_save_for_backwardN  s<   € Ý˜#�yÔHÑIÔIÐIÐIÐIØÔ×%Ò% s¨D kÑ2Ô2Ð2Ð2Ð2r+   c                 óÄ   — |j         D ]W}t          |¦  «        }|j        |         }|| j        vr0t          |t          j        ¦  «        r|                      ||¦  «         ŒXd S r#   )r0   rS   r.   r@   r   ÚTensorVariabler—   )r:   r=   Ú
other_itemÚother_idÚother_variables        r)   Ú1track_tensor_variables_from_runahead_side_effectsz=SideEffects.track_tensor_variables_from_runahead_side_effectsR  sy   € ð  œ/ð 	Gð 	GˆJÝ˜*‘~”~ˆHØ"Ô1°(Ô;ˆNØ˜tÔ2Ð2Ð2µzØ¥	Ô 8ñ8ô 8Ð2ð ×*Ò*¨:°~ÑFÔFÐFøð	Gð 	Gr+   c                 óØ  ‡ ‡‡‡‡— t          ¦   «         Št          ¦   «         Šdt          fˆˆ ˆˆfd„Šdt          fˆfd„Šd„ ‰ j                             ¦   «         D ¦   «         }t          j        ‰|j        |j        ||j        j        ‰ j	        f¦  «         ‹ˆfd„‰ j         
                    ¦   «         D ¦   «         ‰ _        ˆfd„‰ j         
                    ¦   «         D ¦   «         ‰ _        d S )NÚvarc                 óò   •— | ‰v rd S ‰                      | ¦  «         t          | j        t          ¦  «        r‰                      | ¦  «         | ‰j        v r"t          j        ‰‰j        |          ¦  «         d S d S r#   )Úaddr@   rc   r   r/   r    Úvisit)rÉ   Úlive_new_objectsr:   rÌ   Úvisiteds    €€€€r)   rÌ   z0SideEffects.prune_dead_object_new.<locals>.visitc  s‘   ø€ Ø�gˆ~ˆ~Ø�Ø�KŠK˜ÑÔÐå˜#Ô+Õ-AÑBÔBð *Ø ×$Ò$ SÑ)Ô)Ð)ð �dÔ/Ð/Ð/ÝÔ%Ø˜4Ô4°SÔ9ñô ð ð ð ð 0Ð/r+   c                 óD   •— t          | j        t          ¦  «        r| ‰v S dS ©NT©r@   rc   r   )rÉ   rÍ   s    €r)   Úis_livez2SideEffects.prune_dead_object_new.<locals>.is_liver  s*   ø€ Ý˜#Ô+Õ-AÑBÔBð /ØÐ.Ð.Ð.Ø�4r+   c                 óF   — g | ]}t          |j        t          ¦  «        °|‘ŒS rK   rÑ   )rM   rÉ   s     r)   ú
<listcomp>z5SideEffects.prune_dead_object_new.<locals>.<listcomp>w  s<   € ð 
ð 
ð 
àÝ˜cÔ/Õ1EÑFÔFð
Øð
ð 
ð 
r+   c                 ó2   •— i | ]\  }} ‰|¦  «        ¯||“ŒS rK   rK   ©rM   r'   r(   rÒ   s      €r)   rN   z5SideEffects.prune_dead_object_new.<locals>.<dictcomp>–  s<   ø€ ð 
ð 
ð 
Ù�Q˜¸G¸GÀA¹J¼Jð
Øˆqð
ð 
ð 
r+   c                 ó2   •— i | ]\  }} ‰|¦  «        ¯||“ŒS rK   rK   rÖ   s      €r)   rN   z5SideEffects.prune_dead_object_new.<locals>.<dictcomp>™  s<   ø€ ð %
ð %
ð %
Ù�Q˜À'À'È!Á*Ä*ð%
Øˆqð%
ð %
ð %
r+   )Úsetr    r.   ÚvaluesrÌ   ÚstackÚsymbolic_localsr[   Úbackward_stater8   r$   r/   )r:   ÚtxÚpre_existing_varsrÒ   rÍ   rÌ   rÎ   s   `  @@@@r)   Úprune_dead_object_newz!SideEffects.prune_dead_object_new^  s]  øøøøø€ å(+©¬ˆÝ14±´Ðð	•ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð	�ð 	ð 	ð 	ð 	ð 	ð 	ð

ð 
àÔ*×1Ò1Ñ3Ô3ð
ñ 
ô 
Ðõ 	ÔØð ”ØÔ"Ø!Ø”	Ô(ØÔ!ðñ
	
ô 
	
ð 
	
ð ð
ð 
ð 
ð 
Ø!Ô0×6Ò6Ñ8Ô8ð
ñ 
ô 
ˆÔð%
ð %
ð %
ð %
Ø!Ô6×<Ò<Ñ>Ô>ð%
ñ %
ô %
ˆÔ!Ð!Ð!r+   c                 ó€   — |                       |¦  «         t          |j        t          ¦  «        rd|j        _        d S d S rÐ   )rd   r@   rc   r   r�   )r:   rÉ   s     r)   ÚmutationzSideEffects.mutation�  sG   € Ø×&Ò& sÑ+Ô+Ð+Ý�cÔ'Õ)>Ñ?Ô?ð 	1Ø,0ˆCÔÔ)Ð)Ð)ð	1ð 	1r+   c                 óN   ‡ — ˆ fd„‰ j                              ¦   «         D ¦   «         S )Nc                 ó>   •— g | ]}‰                      |¦  «        ¯|‘ŒS rK   )r�   )rM   rÉ   r:   s     €r)   rÔ   z2SideEffects._get_modified_vars.<locals>.<listcomp>£  s-   ø€ ÐUÐUÐU˜¸t×?OÒ?OÐPSÑ?TÔ?TÐU�ÐUÐUÐUr+   )r.   rÙ   rP   s   `r)   Ú_get_modified_varszSideEffects._get_modified_vars¢  s,   ø€ ØUÐUÐUÐU˜tÔ2×9Ò9Ñ;Ô;ÐUÑUÔUÐUr+   Úcgc           	      óz  ‡— |                       ¦   «         D �]¡}t          |j        t          ¦  «        r²t          |t          j        ¦  «        r˜|j        €p‰                     ˆfd„¦  «         ‰                     t          dd¦  «        ¦  «         ‰ 
                    |¦  «         t          ‰j        |         ¦  «        |_        Œ®|j        €t          |j        ¦  «        |_        ŒÏt          |j        t          ¦  «        r¯t          |t          j        ¦  «        rt!          d¦  «         ‰                     ˆfd„¦  «          ‰|j        j        ¦  «         ‰                     t          dd¦  «        ¦  «         ‰ 
                    |¦  «         t          ‰j        |         ¦  «        |_        �Œ˜|j        €J ‚�Œ£| j        D ]z\  }} ‰|j        ¦  «         ‰                     d¦  «         |D ]} ‰|¦  «         Œ‰                     g t)          t+          |¦  «        ¦  «        ¢t-          d¦  «        ‘¦  «         Œ{d S )	Nc                  óD   •— ‰                       t          j        d¦  «        S )NÚ	make_cell©Úload_import_fromr   Ú__name__©rå   s   €r)   ú<lambda>z3SideEffects.codegen_save_tempvars.<locals>.<lambda>²  ó   ø€  × 3Ò 3µE´NÀKÑ PÔ P€ r+   r   Fz'AutogradFunctionContextVariable escapedc                  óD   •— ‰                       t          j        d¦  «        S )Nr   ré   rì   s   €r)   rí   z3SideEffects.codegen_save_tempvars.<locals>.<lambda>½  s   ø€ ˜B×/Ò/µ´ÀÑMÔM€ r+   r   r7   ÚPOP_TOP)rä   r@   rc   r   r   rs   Ú
local_nameÚadd_push_nullÚextend_outputr   Ú	add_cacher   Útempvarsr‘   r   ra   r   r˜   r7   Úload_methodr   Úlenr   )r:   rå   rÉ   r¿   rÀ   Úargs    `    r)   Úcodegen_save_tempvarsz!SideEffects.codegen_save_tempvars¥  s_  ø€ ð ×*Ò*Ñ,Ô,ð 	.ñ 	.ˆCÝ˜#Ô+Õ-AÑBÔBð .ÅzØ•YÔ+ñHô Hð .ð ”>Ð)Ø×$Ò$ØPÐPÐPÐPñô ð ð ×$Ò$Õ%9¸!¸UÑ%CÔ%CÑDÔDÐDØ—L’L Ñ%Ô%Ð%Ý!,¨R¬[¸Ô-=Ñ!>Ô!>�C”J�JØ”ZÐ'Ý!0°´Ñ!@Ô!@�C”JøÝ˜CÔ-Õ/CÑDÔDð .Ý˜c¥9Ô#LÑMÔMð MÝ!Ð"KÑLÔLÐLØ× Ò ØMÐMÐMÐMñô ð ð ��3Ô$Ô/Ñ0Ô0Ð0Ø× Ò Õ!5°a¸Ñ!?Ô!?Ñ@Ô@Ð@Ø—’˜SÑ!Ô!Ð!Ý(¨¬°SÔ)9Ñ:Ô:�”
‘
ð ”zÐ-Ð-Ð-Ñ-àÔ/ð 
	ð 
	‰IˆC�ØˆBˆsŒz‰NŒNˆNØ�NŠNÐ.Ñ/Ô/Ð/Øð ð �Ø��3‘”��Ø×ÒðÝ'­¨D©	¬	Ñ2Ô2ðå& yÑ1Ô1ðñô ð ð ð
	ð 
	r+   c                 óÄ  — t          |t          j        ¦  «        sJ ‚t          |t          j        ¦  «        sJ ‚t          |t          j        ¦  «        r|                     ¦   «         sJ ‚t          t          j        |¦  «        sJ ‚t          | j
                             ¦   «         ¦  «        }|| j
        v r|dz  }|| j
        v °||||f| j
        |<   |j        rJ ‚||_        d S )Nr   )r@   r   rÃ   r    ÚRemovableHandleVariableÚ
is_mutableÚhasattrr�   ÚTensorr÷   r8   rC   Úidx)r:   ÚtensorÚhookÚhandlere   rÿ   s         r)   Úregister_hookzSideEffects.register_hookÔ  sò   € Ý˜&¥)Ô":Ñ;Ô;Ð;Ð;Ð;Ý˜$¥	Ô 9Ñ:Ô:Ð:Ð:Ð:å�v�yÔ@ÑAÔAð	
à×!Ò!Ñ#Ô#ð	
ð 	
ð$õ •u”| TÑ*Ô*Ð*Ð*Ð*Ý�$Ô#×(Ò(Ñ*Ô*Ñ+Ô+ˆà�TÔ&Ð&Ð&Ø�1‰HˆCð �TÔ&Ð&Ð&à"(¨$°¸Ð!=ˆÔ˜#ÑØ”:ÐÐˆ~ØˆŒ
ˆ
ˆ
r+   c                 ó   — | j         |= d S r#   )r8   )r:   rÿ   s     r)   Úremove_hookzSideEffects.remove_hookä  s   € ØÔ˜cÐ"Ð"Ð"r+   c                 ó.  ‡‡‡— | j                              ¦   «         D ]w\  Š}}Š‰j        s
J d¦   «         ‚ˆˆˆfd„}‰                     |¦  «          ‰|¦  «         ‰                     t          dd¦  «        ¦  «         ‰                     |¦  «         Œxd S )Nz4Hooks on non input tensors NYI - should not get herec                  óp   •—  ‰ ‰¦  «         ‰                       ‰                      ‰¦  «        g¦  «         d S r#   )ró   Úcreate_load_attr)rå   re   r   s   €€€r)   Úgen_fnz)SideEffects.codegen_hooks.<locals>.gen_fn  s;   ø€ Ø��6‘
”
�
Ø× Ò  "×"5Ò"5°dÑ";Ô";Ð!<Ñ=Ô=Ð=Ð=Ð=r+   r   F)r8   rÙ   r‘   rò   ró   r   rô   )r:   rå   r  r  r	  re   r   s    `   @@r)   Úcodegen_hookszSideEffects.codegen_hooksç  sÔ   øøø€ ð Ô×%Ò%Ñ'Ô'ð3	!ð 3	!ñ 
ØØØØðF ”=ÐXÐXÐ"XÑXÔX�=ð>ð >ð >ð >ð >ð >ð >ð ×Ò˜VÑ$Ô$Ð$ØˆBˆt‰HŒHˆHØ×ÒÕ1°!°UÑ;Ô;Ñ<Ô<Ð<ð �LŠL˜Ñ Ô Ð Ð ðg3	!ð 3	!r+   c                 óp   — ddl m} | j        €#t          j        g  |¦   «         ¬¦  «        | _        | j        S )Nr   )ÚValueMutationNewrµ   )Úvariables.baser  r9   r   ÚListVariable)r:   r  s     r)   Úget_ca_final_callbacks_varz&SideEffects.get_ca_final_callbacks_var  sQ   € Ø4Ð4Ð4Ð4Ð4Ð4àÔ&Ð.Ý*3Ô*@ØÐ"2Ð"2Ñ"4Ô"4ð+ñ +ô +ˆDÔ'ð Ô*Ð*r+   c           	      óî  ‡‡— g }|                       ¦   «         D �	]³Št          ‰t          j        ¦  «        rŽ ‰‰d¬¦  «          ‰‰j        ¦  «         ‰                     ‰                     d ¦  «        ‰                     d ¦  «        t          dd¬¦  «        g¦  «         |                     t          d¦  «        g¦  «         Œ«t          ‰t          j	        j
        ¦  «        rùt          ‰j        t          j        ¦  «        r‰j        j        �t          d¦  «          ‰‰j        ¦  «         ‰                     d¦  «          ‰‰d¬¦  «         |                     g t!          d	¦  «        ¢t          d
¦  «        ‘¦  «          ‰‰j        ¦  «         ‰                     d¦  «         |                     g t!          d¦  «        ¢t          d
¦  «        ‘¦  «         �ŒÃt          ‰t          j        ¦  «        �r+i }t$          j        j        D ]#}‰j        j                             ¦   «         ||<   Œ$ ‰‰j        ¦  «         ‰                     t          d|d         ¬¦  «        g¦  «          ‰‰d¬¦  «         ‰                     t          d|d         ¬¦  «        g¦  «          ‰‰j        ¦  «         ‰                     d¦  «         t1          t$          |¬¦  «        }|                     g t!          d¦  «        ¢t          d
¦  «        ‘|¢t          d
¦  «        ‘¦  «         �Œ	t          ‰t          j        ¦  «        rá‰                     ¦   «         rË ‰‰j        ¦  «         ‰                     d¦  «          ‰‰d¬¦  «         ‰j        r% ‰‰j        ¦  «         ‰                     d¦  «         |                     g t!          d	¦  «        ¢t          d
¦  «        ‘¦  «         ‰j        r3|                     g t!          d¦  «        ¢t          d
¦  «        ‘¦  «         �Œt          ‰t          j        j        ¦  «        �r(‰                     ˆfd„¦  «         ‰                     dd¦  «         t          j                              ¦   «         }‰j!        dxx         |fz  cc<   ‰ "                    t          d|¬¦  «        ¦  «         ‰                     ˆfd„¦  «         ‰ #                    ‰j$        ¦  «         ‰ "                    t          dtK          ‰j$        ¦  «        ¬¦  «        ¦  «         ‰                     d	d¦  «         ‰ "                    t          d
¦  «        ¦  «         �ŒLt          ‰t          j&        ¦  «        r`‰j'        �Y‰| j(        v rN|  )                    ‰¦  «        } ‰|¦  «         |                     ‰ *                    ‰j'        ¦  «        g¦  «         �ŒÆ|  +                    ‰¦  «        �r˜tY          | j(         -                    ‰i ¦  «         .                    ¦   «         ¦  «        D �]Z\  }}t          ‰t          j/        ¦  «        rl‰j        j         0                    |¦  «          ‰|¦  «         t          ‰j        tb          ¦  «        sJ ‚|                     t          d|¬¦  «        g¦  «         ŒŒt          |t          j2        ¦  «        r�t          ‰j3        th          ¦  «        rstk          tm          ‰dd ¦  «        |¦  «        rT‰j        j         0                    |¦  «          ‰‰j        ¦  «         |                     t          d|¬¦  «        g¦  «         �Œ5t          ‰t          j7        ¦  «        r¬‰ 8                    ¦   «         r˜‰ 9                    dd¦  «         ‰                     d¦  «          ‰‰j        ¦  «          ‰t          j        |¦  «        ¦  «          ‰|¦  «         |                     g t!          d¦  «        ¢t          d
¦  «        ‘¦  «         �Œû‰j        j         0                    |¦  «          ‰|¦  «          ‰‰j        ¦  «         |                     t          d|¬¦  «        g¦  «         �Œ\�Œtt          ‰t          j:        ¦  «        rktw          ‰j<        ¦  «        D ]T}‰                     ˆfd„¦  «          ‰‰j        ¦  «         ‰                     d	d¦  «         ‰ =                    ¦   «          ŒU�Œùt          ‰t          j>        ¦  «        r†ˆˆfd „}	‰                     |	¦  «          ‰‰ ?                    ‰j@         A                    ¦   «         ¦  «        ¦  «         |                     g t…          d	d¦  «        ¢t          d
¦  «        ‘¦  «         �	Œ™t‡          t‰          ‰¦  «        ¦  «        ‚tY          |¦  «        D ]}
‰                     |
¦  «         Œd S )!NF)Úallow_cacheÚBUILD_SLICEé   )rø   ÚSTORE_SUBSCRz1side effect on existing deque with limited maxlenÚextendr   rð   Úclearr   Ú
STORE_FASTr&   )Úargvalr%   )Úvarname_mapÚupdatec                  óD   •— ‰                       t          j        d¦  «        S )NÚget_torch_function_mode_stackré   rì   s   €r)   rí   z4SideEffects.codegen_update_mutated.<locals>.<lambda>œ  ó   ø€ ˜B×/Ò/ÝœÐ(Gñô € r+   Úco_varnamesc                  óD   •— ‰                       t          j        d¦  «        S )NÚset_torch_function_mode_stackré   rì   s   €r)   rí   z4SideEffects.codegen_update_mutated.<locals>.<lambda>¥  r  r+   Ú
BUILD_LISTÚSTORE_GLOBALrf   ÚDELETE_ATTRÚbuiltinsrƒ   Ú__setattr__é   Ú
STORE_ATTRc                  óD   •— ‰                       t          j        d¦  «        S )NÚ	iter_nextré   rì   s   €r)   rí   z4SideEffects.codegen_update_mutated.<locals>.<lambda>ò  rî   r+   c                  óR   •—  ‰ ‰j         ¦  «         ‰                      d¦  «         d S )NÚsetstate)r‘   ro   )rå   rÉ   s   €€r)   r	  z2SideEffects.codegen_update_mutated.<locals>.gen_fnù  s*   ø€ Ø�B�s”z‘N”N�NØ—L’L Ñ,Ô,Ð,Ð,Ð,r+   )Erä   r@   r   r  r‘   ró   Úcreate_load_constr   r“   ÚlistsÚDequeVariableÚmaxlenÚConstantVariablerf   r   rö   r   ÚCustomizedDictVariabler*   Ú__code__r  rÝ   r[   Únew_varr   ÚConstDictVariableÚhas_new_itemsÚshould_reconstruct_allÚtorch_functionÚTorchFunctionModeStackVariablerò   Úcall_functionÚget_prev_stack_var_nameÚcode_optionsÚappend_outputÚforeachÚsymbolic_stackr÷   rs   rñ   r/   ry   Úcreate_store_derefrh   Úreversedr‰   r$   r¼   Úupdate_co_namesr   rk   rc   r   rý   Úgetattrr®   Úneeds_slow_setattrrê   ÚListIteratorVariableÚrangeÚindexÚpop_topÚRandomVariableÚ
wrap_stateÚrandomÚgetstater   r’   Útype)r:   rå   Úsuffixesr  re   Údict_update_instsÚcontents_varrf   Ú_r	  ÚsuffixrÉ   s    `         @r)   Úcodegen_update_mutatedz"SideEffects.codegen_update_mutated&  sž
  øø€ ØˆØ×*Ò*Ñ,Ô,ð _	0ñ _	0ˆCÝ˜#�yÔ5Ñ6Ô6ð ^0à��3 EÐ*Ñ*Ô*Ð*Ø��3”:‘”�Ø× Ò à×,Ò,¨TÑ2Ô2Ø×,Ò,¨TÑ2Ô2Ý*¨=¸aÐ@Ñ@Ô@ðñô ð ð —’Õ!3°NÑ!CÔ!CÐ DÑEÔEÐEÐEÝ˜C¥¤Ô!>Ñ?Ô?ð R0õ ˜sœz­9Ô+EÑFÔFðWàœ
Ô(Ð0å!Ð"UÑVÔVÐVð ��3”:‘”�Ø—’˜xÑ(Ô(Ð(Ø��3 EÐ*Ñ*Ô*Ð*Ø—’ðÝ+¨AÑ.Ô.ðå*¨9Ñ5Ô5ðñô ð ð ��3”:‘”�Ø—’˜wÑ'Ô'Ð'Ø—’ðÝ+¨AÑ.Ô.ðå*¨9Ñ5Ô5ðñô ð ñ õ ˜C¥Ô!AÑBÔBñ t0à �Ý/Ô8ÔDð ?ð ?�DØ(*¬¬×(<Ò(<Ñ(>Ô(>�K Ñ%Ð%à��3”:‘”�Ø× Ò Ý'¨¸[ÈÔ=SÐTÑTÔTÐUñô ð ð ��3 EÐ*Ñ*Ô*Ð*Ø× Ò Ý'¨¸[ÈÔ=UÐVÑVÔVÐWñô ð ð ��3”:‘”�Ø—’˜wÑ'Ô'Ð'õ %;Ý'°[ð%ñ %ô %Ð!ð —’ðÝ+¨AÑ.Ô.ðå*¨9Ñ5Ô5ðð +ðõ +¨9Ñ5Ô5ð	ñô ð ñ õ ˜C¥Ô!<Ñ=Ô=ð S0ð ×$Ò$Ñ&Ô&ð Ø�B�s”z‘N”N�NØ—N’N 8Ñ,Ô,Ð,Ø�B�s¨Ð.Ñ.Ô.Ð.àÔ1ð 0Ø˜˜3œ:™œ˜ØŸš wÑ/Ô/Ð/à—O’OðÝ/°Ñ2Ô2ðå.¨yÑ9Ô9ðñô ð ð Ô1ð ð !ŸšðÝ!3°AÑ!6Ô!6ðå 2°9Ñ =Ô =ðñô ð ùõ Ø•YÔ-ÔLñô ñ p0ð × Ò ðð ð ð ñô ð ð
 × Ò   EÑ*Ô*Ð*Ý Ô/×GÒGÑIÔI�Ø” Ð.Ð.Ô.°4°'Ñ9Ð.Ð.Ñ.Ø× Ò Õ!3°LÈÐ!NÑ!NÔ!NÑOÔOÐOØ× Ò ðð ð ð ñô ð ð —
’
˜3Ô-Ñ.Ô.Ð.Ø× Ò Ý& |½¸SÔ=OÑ9PÔ9PÐQÑQÔQñô ð ð × Ò   EÑ*Ô*Ð*Ø× Ò Õ!3°IÑ!>Ô!>Ñ?Ô?Ð?Ñ?å˜C¥Ô!7Ñ8Ô8ð V0¸S¼^Ð=Wð ˜$Ô3Ð3Ð3Ø#'§>¢>°#Ñ#6Ô#6�LØ�B�|Ñ$Ô$Ð$Ø—O’O R×%:Ò%:¸3¼>Ñ%JÔ%JÐ$KÑLÔLÐLùà×+Ò+¨CÑ0Ô0ñ N0õ" $,ØÔ-×1Ò1°#°rÑ:Ô:×@Ò@ÑBÔBñ$ô $ð $Yñ $Y‘K�D˜%õ " #¥yÔ'BÑCÔCð !YØœœ×4Ò4°TÑ:Ô:Ð:Ø˜˜5™	œ	˜	Ý)¨#¬*µlÑCÔCÐCÐCÐCØ ŸšÝ/°ÀtÐLÑLÔLÐMñô ð ð õ $ E­9Ô+DÑEÔEð YÝ%ØÔ-Õ/Hñô ð å%¥g¨c°7¸DÑ&AÔ&AÀ4ÑHÔHðð œEœL×8Ò8¸Ñ>Ô>Ð>Ø˜B˜sœz™NœN˜NØ$ŸOšOÝ!3°MÈ$Ð!OÑ!OÔ!OÐ Pñô ð ùõ # 3­	Ô(KÑLÔLðYà×2Ò2Ñ4Ô4ðYð
 ×+Ò+¨J¸ÑAÔAÐAØŸš }Ñ5Ô5Ð5Ø˜˜3œ:™œ˜Ø˜�9Ô5°dÑ;Ô;Ñ<Ô<Ð<Ø˜˜5™	œ	˜	Ø ŸšØSÕ0°Ñ3Ô3ÐSÕ5GÈ	Ñ5RÔ5RÐSñô ð ñ ð œœ×4Ò4°TÑ:Ô:Ð:Ø˜˜5™	œ	˜	Ø˜˜3œ:™œ˜Ø ŸšÕ);¸LÐQUÐ)VÑ)VÔ)VÐ(WÑXÔXÐXÑXñI$YõJ ˜C¥Ô!?Ñ@Ô@ð 0Ý˜sœyÑ)Ô)ð !ð !�AØ×$Ò$ØPÐPÐPÐPñô ð ð �B�s”z‘N”N�NØ×$Ò$ Q¨Ñ.Ô.Ð.Ø—J’J‘L”L�L�Lñ!õ ˜C¥Ô!9Ñ:Ô:ð 0ð-ð -ð -ð -ð -ð -ð × Ò  Ñ(Ô(Ð(Ø��3—>’> #¤*×"5Ò"5Ñ"7Ô"7Ñ8Ô8Ñ9Ô9Ð9à—’ðÝ-¨a°Ñ7Ô7ðå*¨9Ñ5Ô5ðñô ð ñ õ %¥T¨#¡Y¤YÑ/Ô/Ð/õ ˜xÑ(Ô(ð 	%ð 	%ˆFØ×Ò˜VÑ$Ô$Ð$Ð$ð	%ð 	%r+   c                 ó    — t          t          | j        | j                             ¦   «         ¦  «        ¦  «        p| j        p| j        p| j         S r#   )ÚanyÚmapr�   r.   rÙ   r8   r7   rP   s    r)   Úis_emptyzSideEffects.is_empty  sV   € å•�DÔ$ dÔ&9×&@Ò&@Ñ&BÔ&BÑCÔCÑDÔDð !ØÔ ð!àÔ%ð!ð Ô ð	
ð 	
r+   c                 ój   — | j                              ¦   «          | j                             ¦   «          d S r#   )r0   r  r.   rP   s    r)   r  zSideEffects.clear  s1   € ØŒ×ÒÑÔÐØÔ×!Ò!Ñ#Ô#Ð#Ð#Ð#r+   )NNNNN)FF)r«   r¬   )<rë   Ú
__module__Ú__qualname__Ú__doc__r   Úintr    Ú__annotations__Ústrr   r   r3   rƒ   rˆ   rA   r   rH   rQ   rV   rX   r_   rd   ri   ro   ru   ry   r|   r~   Ústaticmethodr…   rh   rŠ   rw   r�   r   r•   Útrack_mutabler—   r   rª   r³   r¶   r   rº   r½   rÁ   rÇ   rß   rá   rä   r   rù   r  r  r
  r  rR  rV  r  Ú__classcell__)r<   s   @r)   r-   r-   (   s/  ø€ € € € € € ðð ð
 ˜˜oÐ-Ô.Ð.Ð.Ñ.Ø˜°°S¸/Ð5IÔ0JÐJÔKÐKÐKÑKØ�CŒyÐÐÑð
 Ø!ØØØð+ð +ð +ð +ð +ð +ð(
˜Fð 
 tð 
ð 
ð 
ð 
ð˜-ð ¨H°S¬Mð ð ð ð ð,
ð 
ð 
ð/ð /ð /ð-ð -ð -ð
ð 
ð 
ðð ð ð6˜ð 6°cð 6À/ð 6ð 6ð 6ð 6ðð ð ð ð9ð 9ð 9ð8ð 8ð 8ð* ð *°sð *ð *ð *ð *ð+ ð +¸ð +ÀOð +ð +ð +ð +ð
 ð
ð 
ñ „\ð
ðAð Að Að
ð 
ð 
ð
>ð >ð >ð
.ð .ð .ð 0ð	ð àðð "ðð ð ð ð. €Mð
àð
ð "ð
ð 
ð 
ð 
ðàðð ðð ð	ð ð ð ð:Mà:ðMð Mð Mð Mð4	ð 	ð 	ðØ˜vÔ&ðØ.6ðØBQðð ð ð ð¨Fð ¸#ð ð ð ð ð3ð 3ð 3ð
Gð 
Gð 
Gð=
ð =
ð =
ð~1ð 1ð 1ð
Vð Vð Vð-¨	ð -ð -ð -ð -ð^ð ð ð #ð #ð #ð4!ð 4!ð 4!ðl+ð +ð +ðe%¨ð e%ð e%ð e%ð e%ðN
ð 
ð 
ð$ð $ð $ð $ð $ð $ð $r+   r-   rÝ   ÚInstructionTranslatorc              #   óÌ   K  — | j         j        j        sJ ‚| j         j        j        }	 d| j         j        _        d V — || j         j        _        d S # || j         j        _        w xY wrÐ   )r[   r\   r]   r^   )rÝ   Úorig_vals     r)   r^   r^     so   è è € àŒ9Ô#Ô?Ð?Ð?Ð?ØŒyÔ'ÔK€HðPØGKˆŒ	Ô ÔDØˆˆˆàGOˆŒ	Ô ÔDÐDÐDøÀxˆŒ	Ô ÔDÐOÐOÐOÐOs   ¨A ÁA#)rÝ   ra  )3Ú
contextlibr±   r�   r¡   r4   Úcollections.abcr   Útypesr   Útypingr   r   r   r   r	   r
   Útorch.nnr�   Ú r   r   Úbytecode_transformationr   r   r   r   Úcodegenr   Úexcr   r‘   r   r   r   r   r   r   r   r  r   r   r   r   r   r    Úvariables.user_definedr!   r*   r-   Úcontextmanagerr^   rK   r+   r)   ú<module>ro     s)  ðà Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à €€€à Ð Ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð <Ð ;Ð ;Ð ;Ð ;Ð ;ðð ð ð
o$ð o$ð o$ð o$ð o$ñ o$ô o$ð o$ðd ÔðPð Pð Pñ ÔðPð Pð Pr+   