Ë
    P/æjt) ã                  ó*  — U d dl mZ d dlZd dlZd dlZd dlZd dl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 d dlmZ d dl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# d dl$m%Z% d d	l&m'Z' d d
l(m)Z) d dl*m+Z+ erd dlm,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2m3Z3 eZ4d„ Z5d„ Z6d„ Z7dddœ	 	 	 d)d„Z8d„ Z9d„ Z:d„ Z;d„ Z<e=Z>de?d<   e=Z@de?d<   d aA G d„ d«      ZB ed¬ «       G d!„ d"«      «       ZC ed¬ «       G d#„ d$«      «       ZDd%„ ZEd&„ ZF G d'„ d(«      ZGd dlHmIZJ y)*é    )ÚannotationsN)Ú	dataclass)ÚAnyÚCallableÚClassVarÚContextManagerÚDictÚListÚOptionalÚTupleÚTypeÚTYPE_CHECKINGÚUnion)Ú	TypeAlias)ÚCreationMeta)Ú_add_batch_dimÚ_unwrap_functional_tensorÚ_wrap_functional_tensorÚget_unwrappedÚis_batchedtensorÚis_functorch_wrapped_tensorÚis_gradtrackingtensorÚis_legacy_batchedtensorÚmaybe_get_bdimÚmaybe_get_levelÚpeek_interpreter_stack)Útrace_structured)Úno_dispatch)Úis_traceable_wrapper_subclass)ÚWeakIdKeyDictionary)ÚCInterpreter)ÚSource)ÚFakeTensorMode)ÚShapeEnvÚSymbolicContextc                ó:   — 	 | j                   S # t        $ r Y yw xY w)NF)Úis_leafÚRuntimeError©Úts    ú_/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/_subclasses/meta_utils.pyÚsafe_is_leafr,   ;   s#   € ðØ�y‰yÐøÜò áðús   ‚ Ž	™c                óš   — t        j                  «       5  t        j                  dd«       | j                  cd d d «       S # 1 sw Y   y xY w)NÚignorezThe .grad attribute of a Tensor)ÚwarningsÚcatch_warningsÚfilterwarningsÚgradr)   s    r+   Ú	safe_gradr3   C   s;   € Ü	×	 Ñ	 Ó	"ñ Ü×Ñ Ð*KÔLØ�v‰v÷÷ ò ús   •"AÁA
c                ó&   — | |k(  sJ | › d|› �«       ‚y )Nz != © )ÚaÚbs     r+   Ú	assert_eqr8   I   s   € Ø�Š6Ð �a�S˜˜Q˜C�=Ó ‰6ó    F©Úskip_symbolicÚ	skip_leafc               ó’   ‡ ‡‡‡— t        |t        j                  «      rt        «       j	                  |«      }ˆ ˆˆˆfd„Š ‰||«      S )Nc                ó”  •—  ‰| j                   |j                   «       ‰s ‰| j                  |j                  «        ‰| j                  |j                  «       ‰s ‰| j                  |j                  «        ‰| j                  |j                  «        ‰| j
                  |j                  «       «        ‰| j                  |j                  «       «        ‰| j                  |j                  «       «        ‰| j                  d ut        |«      d u«       | j                  � ‰| j                  t        |«      «       | j                  r� ‰| j                  |j                  «        ‰| j                  |j                  «       «        ‰| j                  |j                  «       «        ‰| j                  |j                  «       «       y t        | «      r` ‰| j                  |j                  «        ‰| j                  |j                  «       «        ‰| j                  |j                  «       «       y ‰sB ‰| j                  |j                  «       «        ‰| j                   |j!                  «       «        ‰| j"                  |j%                  «       «       | j"                  r ‰| j&                  |j(                  «       y y ©N)ÚdtypeÚshapeÚrequires_gradr'   Ú	is_sparseÚis_inferenceÚis_conjÚis_negr2   r3   ÚlayoutÚ	dense_dimÚ
sparse_dimÚis_coalescedÚis_sparse_compressedÚstrideÚstorage_offsetÚis_viewÚ_is_viewÚbaseÚ_base)Úm1Úm2r8   Úgor<   r;   s     €€€€r+   rT   zassert_metadata_eq.<locals>.goX   sÚ  ø€ Ù�"—(‘(˜BŸH™HÔ%ÙÙ�b—h‘h §¡Ô)Ù�"×"Ñ" B×$4Ñ$4Ô5ÙÙ�b—j‘j "§*¡*Ô-ñ 	�"—,‘, §¡Ô-Ù�"—/‘/ 2§?¡?Ó#4Ô5Ù�"—*‘*˜bŸj™j›lÔ+Ù�"—)‘)˜RŸY™Y›[Ô)Ù�"—'‘' Ð%¤y°£}¸DÐ'@ÔAØ�7‰7ÐÙˆr�w‰wœ	 "›Ô&ð �<Š<Ù�b—i‘i §¡Ô+Ù�b—l‘l B§L¡L£NÔ3Ù�b—m‘m R§]¡]£_Ô5Ù�b—o‘o r§¡Ó'8Õ9Ü! "Ô%Ù�b—i‘i §¡Ô+Ù�b—l‘l B§L¡L£NÔ3Ù�b—m‘m R§]¡]£_Õ5á Ù˜"Ÿ)™) R§Y¡Y£[Ô1Ù˜"×+Ñ+¨R×->Ñ->Ó-@ÔAÙ�b—j‘j "§+¡+£-Ô0Ø�zŠzÙ�2—7‘7˜BŸH™HÕ%ð r9   )Ú
isinstanceÚtorchÚTensorÚMetaTensorDescriberÚdescribe_tensor)r8   rR   rS   r;   r<   rT   s   `  ``@r+   Úassert_metadata_eqrZ   M   s:   û€ ô �"”e—l‘lÔ#Ü Ó"×2Ñ2°2Ó6ˆ÷!&ñL ˆb�"‹:Ðr9   c                ór   — t        | t        j                  «      xr | j                  t        j                  u S r?   )rU   rV   rW   rG   Ú
sparse_coor)   s    r+   Úis_sparse_coor]   �   s'   € Ü�aœŸ™Ó&ÒG¨1¯8©8´u×7GÑ7GÐ+GÐGr9   c                ó‚   — | t         j                  t         j                  t         j                  t         j                  hv S r?   )rV   Ú
sparse_csrÚ
sparse_cscÚ
sparse_bsrÚ
sparse_bsc)rG   s    r+   Úis_sparse_compressed_layoutrc   …   s8   € ØÜ×ÑÜ×ÑÜ×ÑÜ×Ñð	ð ð r9   c                ód   — t        | t        j                  «      xr t        | j                  «      S r?   )rU   rV   rW   rc   rG   r)   s    r+   rK   rK   Ž   s"   € Ü�aœŸ™Ó&ÒPÔ+FÀqÇxÁxÓ+PÐPr9   c                ó2   — t        | «      xs t        | «      S r?   )r]   rK   r)   s    r+   Úis_sparse_anyrf   ’   s   € Ü˜ÓÒ6Ô3°AÓ6Ð6r9   r   ÚMetaStorageIdÚMetaTensorIdc                  óT   — e Zd ZdZddœd„Zdd„Zdd„Zddœdd„Zd	dd
œ	 	 	 	 	 dd„Zy)rX   a›  
    Given a Tensor/Storage, generate a MetaTensorDesc/MetaStorageDesc
    for it, which is enough information to reconstruct a meta tensor/fake tensor
    corresponding to a Tensor as faithfully as possible.

    This is a stateful conversion object because we keep track of the IDs
    of the tensors/storages passed to us, so we can consistently give
    the same ID when we see the same tensor/storage.
    F©Ú	copy_datac               óÎ   — t         | _        t         dz  a d| _        d| _        t	        «       | _        t	        «       | _        || _        t        «       | _	        t        «       | _
        y )Né   r   )ÚDESCRIBER_NEXT_IDÚidÚnext_tensor_idÚnext_storage_idr    Úlookup_tensorÚlookup_storagerk   ÚsetÚtraced_tensorsÚtraced_storages©Úselfrk   s     r+   Ú__init__zMetaTensorDescriber.__init__©   sU   € ä#ˆŒÜ˜QÑÐØ,-ˆÔØ./ˆÔä0Ó2ˆÔä1Ó3ˆÔØ"ˆŒÜ!›eˆÔÜ"›uˆÕr9   c                ó˜   — || j                   vr.| j                  | j                   |<   | xj                  dz  c_        | j                   |   S ©Nrm   )rr   rp   ©rx   r*   s     r+   Úget_tensor_idz!MetaTensorDescriber.get_tensor_id·   sH   € Ø�D×&Ñ&Ñ&Ø$(×$7Ñ$7ˆD×Ñ˜qÑ!Ø×Ò 1Ñ$ÕØ×!Ñ! !Ñ$Ð$r9   c                ó˜   — || j                   vr.| j                  | j                   |<   | xj                  dz  c_        | j                   |   S r{   )rs   rq   ©rx   Úss     r+   Úget_storage_idz"MetaTensorDescriber.get_storage_id½   sH   € Ø�D×'Ñ'Ñ'Ø%)×%9Ñ%9ˆD×Ñ Ñ"Ø× Ò  AÑ%Õ Ø×"Ñ" 1Ñ%Ð%r9   ©Útracec               ó  ‡ ‡— t        ‰ j                  |«      |j                  «       ‰ j                  r|nd ¬«      Š|rN‰j                  ‰ j
                  vr6t        dˆˆ fd„¬«       ‰ j
                  j                  ‰j                  «       ‰S )N)ro   ÚsizeÚdataÚdescribe_storagec                 ó:   •— ‰ j                  ‰j                  «      S r?   ©Úas_jsonro   ©Úrrx   s   €€r+   ú<lambda>z6MetaTensorDescriber.describe_storage.<locals>.<lambda>Î   ó   ø€  A§I¡I¨d¯g©gÓ$6€ r9   ©Úmetadata_fn)ÚMetaStorageDescr�   r…   rk   ro   rv   r   Úadd)rx   r€   rƒ   rŒ   s   `  @r+   r‡   z$MetaTensorDescriber.describe_storageÃ   st   ù€ ÜØ×"Ñ" 1Ó%Ø—‘“ð —n’n‘¨$ô
ˆñ �Q—T‘T ×!5Ñ!5Ñ5ÜØ"Ü6õð × Ñ ×$Ñ$ Q§T¡TÔ*Øˆr9   T©Úrecurserƒ   c               óš  ‡ ‡— t        |«      }|j                  «       }|j                  }|j                  }|j                  }t        |«      }	t        |«      }
|j                  }t        |«      }t        |«      }t        |«      }|xs |}t        j                  |«      }d }d}|sFt        |«      s;|r|	r7|s5|
s3|s1‰ j                  |j                  «       |¬«      }|j!                  «       }d }|st        |«      s|r|	r|j#                  «       }d }d }d }|s|r‰ j%                  t'        |«      |¬«      }nØ|rÖ|j(                  j*                  dvr¾|j                  «       rt-        d«      ‚|
s>t        j.                  |«       ‰ j%                  t        j0                  |«      |¬«      }|}nct        j2                  j5                  «       }‰ j%                  t7        ||«      |¬«      }t        j2                  j8                  j;                  «       }d }|
r2t        j8                  j<                  j?                  «       5 }	 d d d «       d }d }d }|	rWtA        |d«      sJ ‚|jC                  «       \  }}|D �ci c]   }|‰ j%                  tE        ||«      |¬«      “Œ" }}t+        |«      }ddl#m$} tK        d?i d‰ jM                  |«      “d|“d	|jO                  «       “d
|“d|jP                  “d|jS                  «       “d|jT                  “d|“d|“d|
“d|“d|“d|“d|“d|jW                  «       “d|jY                  «       “dt[        |t        j\                  j^                  «      “d|	“d|“d||v r||   j`                  jc                  «       nd “d|“d|“d|j(                  “d|je                  «       “d|“d |“d!tg        tE        |d"ti        «       «      «      “d#|j                  stk        |«      r|jm                  «       nd “d$|j                  stk        |«      r|jo                  «       nd “d%|j                  r|jq                  «       nd “d&|rN|j                  t        jr                  t        jt                  hv r"‰ j%                  |jw                  «       d'|¬(«      nd “d)|rN|j                  t        jr                  t        jt                  hv r"‰ j%                  |jy                  «       d'|¬(«      nd “d*|rN|j                  t        jz                  t        j|                  hv r"‰ j%                  |j                  «       d'|¬(«      nd “d+|rN|j                  t        jz                  t        j|                  hv r"‰ j%                  |j�                  «       d'|¬(«      nd “d,|r-tk        |«      r"‰ j%                  |jƒ                  «       d'|¬(«      nd “d-t…        |«      �‰ j%                  t…        |«      |¬«      nd “d.|j                  «       r)t        j2                  j†                  j‰                  |«      nd “d/|“d0|s|rt‹        |«      nd “d1|rt�        |«      nd “d2|r9|j                  «       r)|jŽ                  �‰ j%                  |jŽ                  |¬«      nd “d3t        j�                  j’                  j•                  |«      “d4|j–                  “d5|“d6|“d7|“d8|“d9|“d:|“d;‰ j˜                  r|nd “ŽŠ|rN‰jš                  ‰ jœ                  vr6tŸ        d<ˆˆ fd=„¬>«       ‰ jœ                  j¡                  ‰jš                  «       ‰S # 1 sw Y   �ŒxY wc c}w )@Nr   r‚   ©ÚxlaÚlazyzVCannot safely fakify a view because this process drops the view information right now.Ú__tensor_flatten__)Ú_tensor_symint_registryro   ÚstoragerD   r'   rB   Úndimr@   rC   Ú	is_mkldnnÚis_functorch_wrappedr   r   r   rN   rE   rF   Úis_parameterr   Ú	is_nestedÚ
nested_intÚis_functionalrG   Údevicer…   rL   rM   Údynamo_dynamic_indicesÚ_dynamo_dynamic_indicesrI   rH   rJ   Úcrow_indicesFr“   Úcol_indicesÚccol_indicesÚrow_indicesÚvaluesr2   Úcreation_metaÚ	unwrappedÚlevelÚbdimrP   Ú	fake_modeÚ	view_funcÚattrsÚctxÚtypeÚfunctorch_stackÚautograd_meta_fromÚcurrent_levelr†   rY   c                 ó:   •— ‰ j                  ‰j                  «      S r?   r‰   r‹   s   €€r+   r�   z5MetaTensorDescriber.describe_tensor.<locals>.<lambda>£  rŽ   r9   r�   r5   )Qr,   rO   rC   rG   r    r   r   r�   r   r   r   rV   Ú_is_functional_tensorrc   r‡   Úuntyped_storagerM   rL   rY   r   r£   r³   r(   Ú_syncÚ_from_functional_tensorÚ_CÚ$_functionalization_reapply_views_tlsr   Ú
_functorchr¶   ÚpyfunctorchÚ#temporarily_clear_interpreter_stackÚhasattrr™   ÚgetattrÚ$torch.nested._internal.nested_tensorrš   ÚMetaTensorDescr}   rD   rB   Údimr@   rE   rF   rU   ÚnnÚ	ParameterÚnoder¡   r…   Úlistrt   rK   rI   rH   rJ   r_   ra   r¦   r§   r`   rb   r¨   r©   rª   r3   Ú	_autogradÚ_get_creation_metar   r   rQ   Ú_subclassesÚfake_tensorÚmaybe_get_fake_modeÚ_view_func_unsaferk   ro   ru   r   r’   ) rx   r*   r”   rƒ   r'   rN   rC   rG   r    Úis_traceable_wrapper_subclass_vrž   r�   Úis_batchedtensor_vÚis_legacy_batchedtensor_vÚis_gradtrackingtensor_vÚis_functorch_batched_or_gradr¢   r›   rM   rL   r¬   rµ   r¶   Úreapply_viewsÚmaybe_functorch_stackr±   r²   Útype_vÚ	raw_attrsÚattrrš   rŒ   s    `                              @r+   rY   z#MetaTensorDescriber.describe_tensorÓ   sí  ù€ ô ˜q“/ˆØ—*‘*“,ˆØ—K‘Kˆ	Ø—‘ˆØ—K‘Kˆ	Ü*GÈÓ*JÐ'Ü:¸1Ó=ÐØ—K‘Kˆ	Ü-¨aÓ0ÐÜ$;¸AÓ$>Ð!Ü"7¸Ó":ÐØ'9Ò'TÐ=TÐ$Ü×3Ñ3°AÓ6ˆàˆð ˆáÜ*¨6Ô2ÙÑ"AÙñ $Ù(ð ×+Ñ+¨A×,=Ñ,=Ó,?ÀuÐ+ÓMˆGØ×-Ñ-Ó/ˆNàˆáÜ*¨6Ô2ÙÑ"Að
 —X‘X“ZˆFð
 ˆ	Ø!ÐØˆÙÑ!8Ø×,Ñ,¬]¸1Ó-=ÀUÐ,ÓK‰Iñ ˜qŸx™xŸ}™}°OÑCØ�z‰zŒ|Ü"Ølóð ñ (Ü—‘˜A”Ø ×0Ñ0Ü×1Ñ1°!Ó4¸Eð 1ó �	ð &'Ñ"ä %§¡× MÑ MÓ O�à ×0Ñ0Ü-¨a°Ó?Àuð 1ó �	ô !&§¡× 3Ñ 3× AÑ AÓ C�à $ÐÙÜ×!Ñ!×-Ñ-×QÑQÓSð ÐWlØ÷ð ˆØˆØˆÙ*Ü˜1Ð2Ô3Ð3Ð3Ø×1Ñ1Ó3‰NˆI�sð &öàð �d×*Ñ*¬7°1°dÓ+;À5Ð*ÓIÑIðˆEð ô ˜!“WˆFåPô ò g
Ø×!Ñ! !Ô$ðg
áðg
ð Ÿ™Ô)ðg
ñ ð	g
ð
 Ÿ/š/ðg
ð —‘”ðg
ð —'’'ðg
ñ  ðg
ñ  ðg
ñ  "6ð!g
ñ" 0ð#g
ñ$ %>ð%g
ñ& #:ð'g
ñ( ð)g
ð* —I‘I”Kð+g
ð, —8‘8”:ð-g
ô. $ A¤u§x¡x×'9Ñ'9Ô:ð/g
ñ0 +Jð1g
ñ2  ð3g
ð8 Ð/Ñ/ð (¨Ñ*×/Ñ/×:Ñ:Ô<àøð;g
ñ> (ð?g
ñ@ ðAg
ðB —8’8ðCg
ðD —‘”ðEg
ñF ðGg
ñH *ðIg
ôJ $(¬°Ð3LÌcËeÓ(TÔ#UðKg
ðN #$§+¢+Ô1EÀaÔ1H�—‘”ÈdøðOg
ðR ()§{¢{Ô6JÈ1Ô6M�a—k‘k”mÐSWøðSg
ðT ./¯[ª[˜Ÿ™Ô)¸døðUg
ñ` ˜qŸx™x¬E×,<Ñ,<¼e×>NÑ>NÐ+OÑOð ×$Ñ$ Q§^¡^Ó%5¸uÈEÐ$ÔRàøðcg
ñj ˜qŸx™x¬E×,<Ñ,<¼e×>NÑ>NÐ+OÑOð ×$Ñ$ Q§]¡]£_¸eÈ5Ð$ÔQàøðmg
ñt ˜qŸx™x¬E×,<Ñ,<¼e×>NÑ>NÐ+OÑOð ×$Ñ$ Q§^¡^Ó%5¸uÈEÐ$ÔRàøðwg
ñ~ ˜qŸx™x¬E×,<Ñ,<¼e×>NÑ>NÐ+OÑOð ×$Ñ$ Q§]¡]£_¸eÈ5Ð$ÔQàøðAg
ñH Ô3°AÔ6ð ×$Ñ$ Q§X¡X£Z¸ÀeÐ$ÔLàøðKg
ôR ˜Q“<Ð+ð ×$Ñ$¤Y¨q£\¸Ð$Ô?àøðUg
ðZ =>¿J¹J¼L”—‘×"Ñ"×5Ñ5°aÔ8Èdøð[g
ñ^  ð_g
ñd &Ñ)@ô   Ô"àøðgg
ñj '9” Ô"¸døðkg
ñp ˜qŸz™zœ|°·±Ð0Cð ×$Ñ$ Q§W¡W°EÐ$Ô:àøðsg
ôv ×'Ñ'×3Ñ3×GÑGÈÔJðwg
ðx ×)Ò)ðyg
ñz ð{g
ñ| ð}g
ñ~ ðg
ñF 2ðGg
ñH  2ðIg
ñJ (ðKg
ðL —n’n‘¨$øðMg
ˆñP �Q—T‘T ×!4Ñ!4Ñ4ÜØ!Ü6õð ×Ñ×#Ñ# A§D¡DÔ)Øˆ÷Cñ üòs   È:\;É1%]Ü;]N)r*   útorch.Tensor)r€   útorch.UntypedStorage)r€   rÛ   rƒ   Úbool)r*   rÚ   r”   rÜ   rƒ   rÜ   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__ry   r}   r�   r‡   rY   r5   r9   r+   rX   rX   ž   sO   „ ñð %*ô %ó%ó&ð JOõ ð" 37ÀeñSØðSØ+/ðSØ?CôSr9   rX   T)Úfrozenc                  ó2   — e Zd ZU ded<   ded<   ded<   d„ Zy)	r‘   rg   ro   Úintr…   zOptional[torch.UntypedStorage]r†   c                ó˜   — | j                   |t        | j                  t        «      r| j                  dœS t	        | j                  «      dœS )N)ro   Údescriber_idr…   )ro   rU   r…   rã   Úrepr)rx   rå   s     r+   rŠ   zMetaStorageDesc.as_json±  sC   € à—'‘'Ø(Ü!+¨D¯I©I´sÔ!;�D—I‘Iñ
ð 	
ô BFÀdÇiÁiÃñ
ð 	
r9   N)rÝ   rÞ   rß   Ú__annotations__rŠ   r5   r9   r+   r‘   r‘   ©  s   … àÓØ
ƒIð )Ó(ó
r9   r‘   c                  óî  — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   ded<   ej
                  Zded<   dZded<   dZded<   dZ	ded<   dZ
ded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded <   dZded!<   dZded"<   dZded#<   dZd$ed%<   d&Zded'<   dZd(ed)<   dZded*<   dZded+<   dZd,ed-<   dZd.ed/<   dZd.ed0<   dZ d.ed1<   dZ!d.ed2<   dZ"d.ed3<   dZ#d.ed4<   dZ$ded5<   dZ%d.ed6<   dZ&d7ed8<   dZ'd9ed:<   dZ(d.ed;<   g d<¢Z)d=ed><   dZ*d?ed@<   dZ+dAedB<   dZ,dCedD<   dZ-dEedF<   dZ.dedG<   dZ/dedH<   dZ0dIedJ<   dZ1dKedL<   dZ2dKedM<   dN„ Z3e4dO„ «       Z5y)PrÄ   rh   ro   rã   rœ   ztorch.dtyper@   ztorch.devicer£   zTuple[int, ...]r…   z	List[int]r¤   ztorch.layoutrG   FrÜ   rD   r'   rB   rC   r�   rž   r   r   r   rN   r    NzOptional[int]r¡   r   r¢   rE   rF   rŸ   zOptional[Tuple[int, ...]]rL   r   rM   zOptional[MetaStorageDesc]r›   rI   rH   zOptional[bool]rJ   zOptional[MetaTensorDesc]r¦   r§   r¨   r©   rª   r¬   r®   rP   z#Optional[Dict[str, MetaTensorDesc]]r±   zOptional[CreationMeta]r«   r2   )
r²   r³   r¯   r°   r­   r¶   r´   rµ   r†   r¡   zClassVar[List[str]]Ú_UNSERIALIZABLEzOptional[object]r²   zOptional[Type]r³   zOptional[FakeTensorMode]r¯   znOptional[Callable[[torch.Tensor, Callable[[int], int], Callable[[torch.Tensor], torch.Tensor]], torch.Tensor]]r°   r­   r¶   zOptional[List[CInterpreter]]r´   zOptional[torch.Tensor]rµ   r†   c                ót  ‡— ˆfd„Št        j                  | «      D �ci c]{  }t        | |j                  «      |j                  u sW|j                  dk(  rt        | |j                  «      r2|j                   ‰|j                  t        | |j                  «      «      “Œ} }}|j                  d|i«       |S c c}w )Nc                ó   •— | dv ry | t        t        j                  «      v rt        |«      S t	        |t
        j                  t
        j                  t
        j                  f«      rt        |«      S t	        |t
        j                  «      rt        |«      S t	        |t        t        f«      r|D �cg c]  } ‰| |«      ‘Œ c}S t	        |t        t        f«      r|j                  S t	        |t        «      rt        |«      S | dk(  r>t	        |t         «      r.|j#                  «       D ��ci c]  \  }}||j                  “Œ c}}S |S c c}w c c}}w )N)r†   rµ   r±   )rt   rÄ   ré   ræ   rU   rV   r£   r@   rG   ÚSymIntÚtuplerÉ   r‘   ro   r   ÚstrÚdictÚitems)ÚkÚvÚv1Úk1Újsons       €r+   rõ   z$MetaTensorDesc.as_json.<locals>.json/  sü   ø€ ð Ð2Ñ2ØØ”Cœ×6Ñ6Ó7Ñ7Ü˜A“w�Ü˜!œeŸl™l¬E¯K©K¼¿¹ÐFÔGÜ˜A“w�Ü˜!œUŸ\™\Ô*Ü˜A“w�Ü˜!œe¤T˜]Ô+Ø./Ö0¨™˜Q �Ò0Ð0Ü˜!œo¬~Ð>Ô?Ø—t‘t�Ü˜!œ\Ô*Ü˜1“v�Ø�GŠ|¤
¨1¬dÔ 3Ø01·±³	×:¡f b¨"˜˜BŸE™E™	Ó:Ð:ØˆHùò 1ùó ;s   Â0EÄ(E
r¤   rå   )ÚdataclassesÚfieldsrÂ   ÚnameÚdefaultÚupdate)rx   rå   ÚfieldrŒ   rõ   s       @r+   rŠ   zMetaTensorDesc.as_json.  s    ø€ ô	ô. %×+Ñ+¨DÓ1ö

àä˜˜eŸj™jÓ)¨U¯]©]Ñ:à—J‘JÐ":Ò:Ü# D¨%¯*©*Ô5ð �J‰J™˜UŸZ™Z¬°°u·z±zÓ)BÓCÑCð

ˆð 

ð 	
�‰�. ,Ð/Ô0Øˆùò

s   žB B5c                ó   — | j                   S r?   )r…   ©rx   s    r+   rA   zMetaTensorDesc.shapeR  s   € à�y‰yÐr9   )6rÝ   rÞ   rß   rç   rV   ÚstridedrG   rD   r'   rB   rC   r�   rž   r   r   r   rN   r    r¡   r   r¢   rE   rF   rŸ   rL   rM   r›   rI   rH   rJ   r¦   r§   r¨   r©   rª   r¬   r®   rP   r±   r«   r2   ré   r²   r³   r¯   r°   r­   r¶   r´   rµ   r†   rŠ   ÚpropertyrA   r5   r9   r+   rÄ   rÄ   ¹  s7  … àÓØ
ƒIØÓØÓð ÓØ%Ó%à Ÿ=™=€FˆLÓ(Ø€L�$ÓØ€GˆTÓØ€M�4ÓØ€IˆtÓØ€IˆtÓØ!&Ð˜$Ó&Ø"Ð�dÓ"Ø$)Ð˜TÓ)Ø"'Ð˜4Ó'Ø€GˆTÓØ€IˆtÓð !%€J�Ó$Ø*/Ð! 4Ó/Ø€M�4ÓØ€GˆTÓØ€FˆDÓØ€L�$ÓØ(,€FÐ%Ó,Ø€N�CÓð
 *.€GÐ&Ó-Ø $€J�Ó$Ø#€Iˆ}Ó#Ø#'€L�.Ó'Ø-1€LÐ*Ó1Ø,0€KÐ)Ó0Ø-1€LÐ*Ó1Ø,0€KÐ)Ó0Ø'+€FÐ$Ó+Ø*.€IÐ'Ó.Ø€Dˆ-ÓØ%)€DÐ
"Ó)Ø15€EÐ.Ó5Ø,0€MÐ)Ó0Ø%)€DÐ
"Ó)ò,€OÐ(ó ð !€CÐ	Ó Ø€Dˆ.ÓØ*.€IÐ'Ó.ð 	ð ð 	ó 	ð  €Eˆ=ÓØ#'€M�=Ó'Ø48€OÐ1Ó8Ø15ÐÐ.Ó5ð
 $(€DÐ
 Ó'ò"ðH ñó ñr9   rÄ   c                ó^   — t        |«      t        j                  ury | j                  |«       y r?   )r³   rV   rW   Úcopy_)ÚdstÚsrcs     r+   Ú
_safe_copyr  c  s    € ÜˆCƒyœŸ™Ñ$ØØ‡I�Iˆc…Nr9   c                óZ   — t        | «      t        j                  ury | j                  «       S r?   )r³   rV   rW   Úclone)r  s    r+   Ú_safe_cloner  i  s!   € ÜˆCƒyœŸ™Ñ$ØØ�9‰9‹;Ðr9   c                  ó‚   — e Zd Zddœdd„Zd„ Zdd„Zdd„Zdd„Zdd„Zdd	„Z	d
d„ d
d
f	 	 	 	 	 	 	 dd„Z
	 dd„ d
d
ddœd„Zy
)ÚMetaConverterFrj   c               óÐ   — t        j                  «       | _        t        j                  «       | _        d| _        d| _        d | _        d| _        || _        t        |¬«      | _
        y )Nr   rj   )ÚweakrefÚWeakValueDictionaryÚstorage_memoÚtensor_memoÚhitÚmissÚdel_hookÚarg_cntrk   rX   Ú	describerrw   s     r+   ry   zMetaConverter.__init__w  sX   € ä9@×9TÑ9TÓ9VˆÔô 9@×8SÑ8SÓ8UˆÔØˆŒØˆŒ	ØˆŒØˆŒð
 #ˆŒÜ,°yÔAˆ�r9   c                óB   — | j                   dkD  xr | j                  dk(  S )Nr   )r  r  rý   s    r+   Ú
successfulzMetaConverter.successfulˆ  s   € Ø�x‰x˜!‰|Ò. §	¡	¨Q¡Ð.r9   c                óN   — | j                   j                  |j                  d «      S r?   )r  Úgetro   r|   s     r+   Úget_tensor_memozMetaConverter.get_tensor_memo‹  s   € Ø×Ñ×#Ñ# A§D¡D¨$Ó/Ð/r9   c                ó6   — || j                   |j                  <   y r?   )r  ro   )rx   r*   rò   s      r+   Úset_tensor_memozMetaConverter.set_tensor_memoŽ  s   € Ø!"ˆ×Ñ˜Ÿ™Òr9   c                óN   — | j                   j                  |j                  d «      S r?   )r  r  ro   r   s     r+   Úget_storage_memozMetaConverter.get_storage_memo‘  s   € Ø× Ñ ×$Ñ$ Q§T¡T¨4Ó0Ð0r9   c                ó6   — || j                   |j                  <   y r?   )r  ro   )rx   r€   rò   s      r+   Úset_storage_memozMetaConverter.set_storage_memo”  s   € Ø"#ˆ×Ñ˜!Ÿ$™$Òr9   c                ó¤  ‡— | j                  ‰«      €– |ˆfd„«      j                  «       }| j                  r]t        j                  «       5  t        «       5  ‰j                  €J ‚‰j                  j                  «       |_        d d d «       d d d «       | j                  ‰|«       |S | j                  ‰«      S # 1 sw Y   Œ6xY w# 1 sw Y   Œ:xY w)Nc                 ód   •— t        j                  ‰ j                  t         j                  d¬«      S ©NÚmeta©r@   r£   )rV   Úemptyr…   Úuint8)r€   s   €r+   r�   z,MetaConverter.meta_storage.<locals>.<lambda>œ  s   ø€ œŸ™ A§F¡F´%·+±+ÀfÔM€ r9   )
r  r¹   rk   rV   Úno_gradr   r†   r  Úreal_storager  )rx   r€   ÚcallbackÚr_ss    `  r+   Úmeta_storagezMetaConverter.meta_storage—  sº   ø€ ð × Ñ  Ó#Ð+ÙÛMóç‰oÓð ð �~Š~ô —]‘]“_ñ 6¤k£mñ 6ØŸ6™6Ð-Ð-Ð-Ø'(§v¡v§|¡|£~�CÔ$÷6÷ 6ð ×!Ñ! ! SÔ)ØˆJà×(Ñ(¨Ó+Ð+÷6ð 6ú÷ 6ð 6ús$   ÁCÁ.B:ÂCÂ:C	Â?CÃCNc                ó   —  | «       S r?   r5   r)   s    r+   r�   zMetaConverter.<lambda>³  ó   € ™1›3€ r9   c                óL   ‡ ‡‡‡‡‡‡‡ ‡!‡"‡#‡$‡%‡&‡'‡(— ‰€$ddl m}  |dt        ‰ j                  «      › �«      Št        j
                  j                  «       j                  t        j
                  j                  j                  «      rJ ‚‰ j                  }‰ xj                  dz  c_
        t        j                  Š%‰�‰j                  Š%‰f	 	 	 d'ˆfd„Š(‰f	 d(ˆ(fd„}‰‰‰f	 d)ˆ ˆfd„Š#	 	 d)ˆ!fd„Š!‰‰f	 	 	 d*ˆ!ˆˆ#ˆ%ˆ ˆ(ˆfd	„}	‰ j                  ‰«      �€Äd
Št	        j                  ‰j                   «      5  ‰j"                  �r‰j$                  }
 ‰ˆfd„«      }‰ j&                  rX‰j(                  €J ‚t	        j*                  «       5  t-        «       5  t/        ‰j(                  «      |_        d d d «       d d d «       t3        |«      sJ d«       ‚|j5                  ‰j6                  «       ‰j8                  rd|_        ‰j8                  �rb|
�s_|j;                  «       }t	        j<                  «       5  |j5                  ‰j6                  «       d d d «       �nt?        ‰j@                  «      �rö‰j$                  }
‰j@                  t        jB                  t        jD                  hv rp‰jF                  €J ‚‰jH                  €J ‚‰jJ                  €J ‚‰jL                  ‰jF                  z
  ‰jH                  z
  }‰jJ                  jN                  |dz   |dz    Š"ndŠ"‰j@                  t        jP                  t        jB                  hv r%‰jR                  €J ‚‰jR                  jT                  Š$n$‰jV                  €J ‚‰jV                  jT                  Š$ ‰ˆ"ˆ$ˆfd„«      }‰ j&                  rX‰j(                  €J ‚t	        j*                  «       5  t-        «       5  t/        ‰j(                  «      |_        d d d «       d d d «       t3        |«      sJ d«       ‚‰j8                  rd|_        ‰j8                  �	r=|
�	s:t	        j
                  jX                  j[                  dd«      |«      }�	n	‰j\                  r‰j^                  sddl0m1}  |d«       �ná‰jd                  �rX‰j$                  }
 ‰(‰‰«      \  Š&Š'} ‰ˆ&ˆ'ˆfd„«      }‰ j&                  rÀt	        j*                  «       5  t-        «       5  ‰jf                  €J ‚‰jh                  €J ‚t	        jj                  ‰jf                  ‰jh                  ‰jT                  ‰jl                  ¬«      |_        ‰j(                  €J ‚to        |j0                  ‰j(                  «       d d d «       d d d «       t3        |«      sJ d«       ‚‰j8                  rd|_        ‰j8                  �r°|
�s­t	        j
                  jX                  j[                  dd«      |«      }�n|‰jp                  r0‰jr                  rddl0m1}  |d«       d)ˆˆ ˆˆ ˆˆˆfd„Š  ‰ ‰«      }�n@‰jt                  r‹‰jl                  jv                  dvrs‰jx                  €J ‚‰jp                  rJ ‚‰ j{                  ‰jx                  ‰‰‰‰¬«      }t	        j|                  |«      }t	        j~                  ‰j€                  |«       �n©‰jr                  �r;‰j‚                  €J ‚d }‰r.‰�,ddlBmC} t‰        ‰|«      sJ ‚‰jŠ                  �‰jŠ                  }‰ j{                  ‰j‚                  ‰‰t        jŒ                  jŽ                  j‘                  ‰d«      |¬«      }d„ }t        j
                  j“                  t        j
                  j                  j”                  «      }t        j
                  j—                  t        j
                  j                  j”                  d«       	 |jT                  ‰jT                  k(  rn� ||jT                  ‰jT                  «      rt	        j˜                  |«      }nN |‰jT                  |jT                  «      rt	        jš                  |«      }n|j�                  ‰jT                  «      }‰j$                  r8t	        j*                  «       5   |	|‰«      }d d d «       ‰j8                  _        nÇ‰j‚                  j8                  ‰j8                  k(  r't	        j<                  «       5   |	|‰«      }d d d «       n}‰j8                  sJ ‚t	        j*                  «       5  |j�                  |jN                  «      }d d d «       ‰j8                  _        t	        j<                  «       5   |	|‰«      }d d d «       ‰jž                  €J ‚t        j
                  j                   j£                  ‰jž                  «       t        j
                  j—                  t        j
                  j                  j”                  |«       �na‰j$                  }
‰j¤                  s‰j¦                  s‰jp                  s‰j¨                  rtª        cd d d «       S  ‰(‰‰‰«      \  Š&Š'}‰j^                  r ‰#‰‰&‰'¬«      }nË ‰ˆ&ˆ'ˆfd „«      }‰ j&                  r²t	        j*                  «       5  t-        «       5  ‰jf                  €J ‚‰jh                  €J ‚t	        jj                  ‰jf                  ‰jh                  ‰jT                  ‰jl                  ¬«      |_        to        |j0                  ‰j(                  «       d d d «       d d d «       t3        |«      sJ d«       ‚‰j8                  rB‰j8                  |_        |
s/t	        j
                  jX                  j[                  dd«      |«      }‰j¬                  }|€J ‚|j®                  ‰ j°                  vrŽ|j\                  s&|ji                  «       ‰'k(  ro|j³                  «       |k(  r\‰ jµ                  ||j·                  «       «       ‰ j&                  �r>|j0                  j·                  «       |j·                  «       _\        �n‰ j»                  |‰¬!«      }t        j                  «       }dd"l^m_}m`}  ||«      }|� ||«      }t	        j*                  «       5   ‰%«       5  |5  |jÃ                  ||‰&‰'«       d d d «       ‰ j&                  rvt	        j*                  «       5  t-        «       5  |j0                  jÃ                  |j¸                  ‰j²                  ‰jf                  ‰jh                  «       d d d «       d d d «       d d d «       d d d «       ‰jÄ                  �2dd#l mH} ‰ j{                  ‰jÄ                  ‰‰ |‰d$«      ‰¬«      _b        t        j
                  jÇ                  ‰jÈ                  «       t        j
                  jË                  |‰jÌ                  «       d d d «       ‰j¦                  xr ‰jÎ                  ‰k(  }tÑ        tÒ        ‰d|¬%«       ‰j¬                  �8‰j¬                  jf                  dk(  r|j·                  «       jÕ                  d«       ‰jÖ                  rd|_l        ‰jÚ                  �+|jÜ                  jß                  ‰jÚ                  ¬&«      |_p        ‰ jã                  ‰|«       ‰ j                  ‰«      S # 1 sw Y   �Œ=xY w# 1 sw Y   �ŒBxY w# 1 sw Y   �Œ xY w# 1 sw Y   �Œ$xY w# 1 sw Y   �Œ)xY w# 1 sw Y   �	Œ±xY w# 1 sw Y   �	Œ¶xY w# 1 sw Y   �Œ¡xY w# 1 sw Y   �ŒÕxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒïxY w# t        j
                  j—                  t        j
                  j                  j”                  |«       w xY w# 1 sw Y   �Œ‰xY w# 1 sw Y   �ŒŽxY w# 1 sw Y   �ŒxY w# 1 sw Y   �Œ›xY w# 1 sw Y   �Œ xY w# 1 sw Y   �Œ¥xY w# 1 sw Y   �ŒªxY w# 1 sw Y   �ŒxY w)+Nr   )ÚConstantSourceÚ__meta_utils_unknown_tensorrm   c           
     ó(  •— | j                   €J ‚‰�Ú| j                  }|�1|j                  ‰u r#| j                  | j                   | j                  fS t        ˆfd„| j                  D «       «      }t        ˆfd„| j                   D «       «      }‰j                  | j                  «      }‰j                  |||t        | j                  «      D �cg c]  }|| j                  v ‘Œ c}||¬«      S | j                  | j                   | j                  fS c c}w )Nc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr?   ©Ú#_maybe_specialize_sym_int_with_hint)Ú.0ÚszÚ	shape_envs     €r+   ú	<genexpr>zVMetaConverter.meta_tensor.<locals>.sym_sizes_strides_storage_offset.<locals>.<genexpr>ñ  s$   øè ø€ ò #àð "×EÑEÀb×Iñ#ùó   ƒc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wr?   r2  )r4  Úsdr6  s     €r+   r7  zVMetaConverter.meta_tensor.<locals>.sym_sizes_strides_storage_offset.<locals>.<genexpr>õ  s$   øè ø€ ò %àð "×EÑEÀb×Iñ%ùr8  )Úsymbolic_context)rL   r¯   r6  r…   rM   rí   r3  Ú-_create_symbolic_sizes_strides_storage_offsetÚrangerœ   r¤   )	r*   r  r;  r¯   Út_sizeÚt_strideÚt_storage_offsetÚdr6  s	           €r+   Ú sym_sizes_strides_storage_offsetzCMetaConverter.meta_tensor.<locals>.sym_sizes_strides_storage_offsetå  s  ø€ ð —8‘8Ð'Ð'Ð'ØÐ$ØŸK™K�	ØÐ(¨Y×-@Ñ-@ÀIÑ-Mð ŸF™F A§H¡H¨a×.>Ñ.>Ð?Ð?ô #ó #à"#§&¡&ô#ó �Fô  %ó %à"#§(¡(ô%ó  �Hð (1×'TÑ'TØ×(Ñ(ó(Ð$ð %×RÑRØØ Ø(Ü@EÀaÇfÁfÃÖN¸1˜˜a×6Ñ6Ò6ÒNØØ)9ð Só ð ð Ÿ™ §¡¨!×*:Ñ*:Ð;Ð;ùò Os   ÃDc                óf   •—  ‰| ||«      \  }}}t        j                  ||| j                  d¬«      S r!  ©rV   Úempty_stridedr@   )Úinner_tÚ	inner_srcr;  Úinner_sizesÚinner_stridesÚinner_storage_offsetrB  s         €r+   Úempty_createz/MetaConverter.meta_tensor.<locals>.empty_create  sC   ø€ ñ 1°¸)ÐEUÓVñ	ØØØ$ä×&Ñ&ØØØ—m‘mØô	ð r9   c                óÂ  •‡‡	— ddl mŠ ddlm} | j                  €J ‚| j
                  €J ‚|�|n| j                  }|�|n| j                  }|�t        ||«      sJ ‚ˆˆ	ˆ
ˆfd„Š	 ‰	| |||||«      }|j                  |k(  s$J d| j
                  › d|› d|j                  › �«       ‚|j                  «       |k(  s(J d| j
                  › d|› d|j                  «       › �«       ‚|S )	Nr   ©Ú
AttrSource)ÚSubclassSymbolicContextc           	     ód  •— | j                   €‰j                  | ‰|||¬«      S i }| j                   j                  «       D ]G  \  }}d }	|�|j                  |   }	 ‰||«      }
 ‰||j                  |j
                  |	||
«      }|||<   ŒI | j                  j                  || j                  ||«      S )N©r6  r(  Úsourcer;  )	r±   Úmeta_tensorrð   Úinner_contextsr…   rL   r³   Ú__tensor_unflatten__r²   )r*   Ú
outer_sizeÚouter_strider;  r(  rR  Úinner_tensorsrÙ   Úmeta_tensor_descÚcurrent_contextÚcurrent_sourceÚnew_empty_tensorrN  Ú_empty_create_subclassrx   r6  s               €€€€r+   r]  zXMetaConverter.meta_tensor.<locals>.empty_create_subclass.<locals>._empty_create_subclass8  sÝ   ø€ ð
 —7‘7�?Ø×+Ñ+ØØ"+Ø!)Ø%Ø)9ð ,ó ð ð !#�Ø./¯g©g¯m©m«oò ;Ñ*�DÐ*Ø&*�OØ'Ð3Ø*:×*IÑ*IÈ$Ñ*O˜á%/°¸Ó%=�NÙ'=Ø(Ø(×-Ñ-Ø(×/Ñ/Ø'Ø Ø&ó(Ð$ð +;�M $Ò'ð;ð  —v‘v×2Ñ2Ø! 1§5¡5¨*°lóð r9   zExpected return value from z.__tensor_unflatten__() to have shape equal to z, but got: z/__tensor_unflatten__() to have stride equal to )
Útorch._dynamo.sourcerN  Ú%torch.fx.experimental.symbolic_shapesrO  r±   r³   r…   rL   rU   rA   )r*   rV  rW  r;  r(  rR  rO  ÚsubrN  r]  rx   r6  s           @@€€r+   Úempty_create_subclassz8MetaConverter.meta_tensor.<locals>.empty_create_subclass  s  ú€ õ 8ÝUà—7‘7Ð&Ð&Ð&Ø—6‘6Ð%Ð%Ð%ð (2Ð'=™À1Ç6Á6ˆJØ+7Ð+C™<ÈÏÉˆLà#Ð+¬zØ Ð"9ô0ð ð ÷!ñF )Ø�:˜|Ð-=¸xÈóˆCð —9‘9 
Ò*ð Ø-¨a¯f©f¨Xð 6"Ø", ¨[¸¿¹¸ðEóÐ*ð —:‘:“< <Ò/ð Ø-¨a¯f©f¨Xð 6#Ø#/ .°¸C¿J¹J»L¸>ðKóÐ/ð
 ˆJr9   c                ó  •— ddl m} ddlm}m}m} d }| j                  r*| j                  €J ‚ ‰| j                   ||d«      ||«      }|j                  g| j                  z  }	| j                  rv| j                  €J ‚i }
| j                  j                  «       D ],  \  }}t        |t        «      sJ ‚ ‰| |||«      ||«      |
|<   Œ.  ||	d g| j                  z  |
||¬«      }|S  ||	d g| j                  z  |¬«      }|S )Nr   rM  )Ú
DimDynamicÚStatelessSymbolicContextrO  rQ   )Údynamic_sizesÚconstraint_sizesrT  Útensor_sourceÚview_base_context)re  rf  rh  )r^  rN  r_  rc  rd  rO  rN   rP   ÚDYNAMICrœ   r   r±   rð   rU   rî   )r*   rR  r6  r(  rN  rc  rd  rO  rh  Út_dynamic_sizesrT  rÙ   ÚinnerÚt_symbolic_contextÚall_dynamic_symbolic_contexts                 €r+   rm  z?MetaConverter.meta_tensor.<locals>.all_dynamic_symbolic_contextq  s*  ø€ õ 8÷ñ ð <@ÐØ�yŠyØ—v‘vÐ)Ð)Ð)Ù$@Ø—F‘F™J v¨wÓ7¸ÀHó%Ð!ð
  *×1Ñ1Ð2°Q·V±VÑ;ˆOØ×.Ò.Ø—w‘wÐ*Ð*Ð*Ø=?�Ø#$§7¡7§=¡=£?ò ‘K�D˜%Ü% d¬CÔ0Ð0Ð0Ù+GØ™z¨&°$Ó7¸ÀHó,�N 4Ò(ðñ
 &=Ø"1Ø&* V¨a¯f©f¡_Ø#1Ø"(Ø&7ô&Ð"ð &Ð%ñ &>Ø"1Ø&* V¨a¯f©f¡_Ø&7ô&Ð"ð &Ð%r9   c                ó(  •‡‡‡‡—  ‰||«      \  }}}|j                   s/t        | «      s$ ‰«       5  | j                  |||«      cd d d «       S ddlmŠ ddlmŠm} ˆˆˆˆfd„}i Š|j                   rg|j                  €J ‚|j                  €J ‚ ‰|||¬«      }	|	j                  «       \  }
}|
D ](  }t        |	|«      ‰|j                  |   j                  <   Œ* ‰‰f	 dˆˆˆˆfd„}|j                  €J ‚|j                  | ||«      }	t        j                   ||	j                  «       |«      «       t        j                   ||	j!                  «       |«      «       t        j                   ||	j#                  «       |«      «       |	S # 1 sw Y   �ŒCxY w)Nr   )ÚEphemeralSource)rd  Úsym_eqc                óâ   •‡— ddl mŠ ‰d uxr, t        ‰‰«      xr t        ˆfd„‰j                  D «       «      }|s‰€| S  ‰d«      }‰j                  | |d ¬«      }‰j                  || |¬«      S )Nr   )rc  c              3  ó:   •K  — | ]  }|‰j                   u –— Œ y ­wr?   )ÚSTATIC)r4  Úxrc  s     €r+   r7  z_MetaConverter.meta_tensor.<locals>.view_from_base.<locals>.symint_visitor_fn.<locals>.<genexpr>×  s!   øè ø€ ò Ø34˜˜Z×.Ñ.Ô.ñùs   ƒÚsymint_visitor_fn)Úpositive)ÚhintrR  )r_  rc  rU   Úallre  Úcreate_symbolÚcreate_symintnode)	r€   Úall_static_sizesÚ
sym_sourceÚsymbolrc  ro  rd  r6  r;  s	       @€€€€r+   ru  zLMetaConverter.meta_tensor.<locals>.view_from_base.<locals>.symint_visitor_fnÐ  s‘   ù€ åLð %¨DÐ0ò Ü"Ð#3Ð5MÓNòäó Ø8H×8VÑ8Vôó ð !ñ $ yÐ'8Ø�Hñ -Ð-@ÓA�
à"×0Ñ0°°JÈÐ0ÓN�Ø ×2Ñ2°6ÀÈ*Ð2ÓUÐUr9   ©rV  rW  c                óð   •— | €y ‰
j                   j                  | «      }‰	j                  |d «      }|�|S ‰
j                   j                  | «      } ‰d«      }‰
j	                  |||| ‰||||«      ¬«      S )NÚtensor_visitor_fn©rR  r;  )r  r}   r  rY   rS  )Ú	visited_tr6  r(  Ú
visited_idÚfake_visited_tÚvisited_descÚtemp_sourcero  rm  Úreal_to_fake_mappingrx   s          €€€€r+   r€  zLMetaConverter.meta_tensor.<locals>.view_from_base.<locals>.tensor_visitor_fn  s˜   ø€ ð Ð$Øð "Ÿ^™^×9Ñ9¸)ÓD�
Ø!5×!9Ñ!9¸*ÀdÓ!K�Ø!Ð-Ø)Ð)à#Ÿ~™~×=Ñ=¸iÓH�ñ .Ð.AÓB�Ø×'Ñ'Ø ØØØ&Ù%AØ$ k°9¸hó&ð (ó ð r9   )r‚  rÚ   )r   Ú
as_stridedr^  ro  r_  rd  rp  r±   r³   r™   rÂ   ro   r°   rV   Ú_checkr…   rL   rM   )rP   r*   rR  r6  ÚsizesÚstridesrM   rp  ru  Úfake_tr±   Ú_rÙ   r€  ro  rd  r‡  rm  r(  ra  Úmaybe_suppressrx   rB  r;  s      `          @@@€€€€€€€r+   Úview_from_basez1MetaConverter.meta_tensor.<locals>.view_from_base¹  sš  ü€ ñ 0PØ�6ó0Ñ,ˆU�G˜^ð ×3Ò3Ü5°dÔ;ñ
 $Ó%ñ KØŸ?™?¨5°'¸>ÓJ÷Kñ Kõ =÷÷
Vð6 $&Ð Ø×.Ò.Ø—w‘wÐ*Ð*Ð*ð —v‘vÐ)Ð)Ð)ñ /Ø %°gô�ð "×4Ñ4Ó6‘��qØ!ò S�DÜ=DÀVÈTÓ=RÐ(¨¯©°©×)9Ñ)9Ò:ðSð $Ø!ð%Ø'÷%ð %ðR —;‘;Ð*Ð*Ð*ð —[‘[ Ð'8Ð:KÓLˆFô
 �L‰L™ §¡£¨uÓ5Ô6Ü�L‰L™ §¡£°Ó9Ô:Ü�L‰L™ × 5Ñ 5Ó 7¸ÓHÔIØˆM÷aKñ Kús   ±FÆFéþÿÿÿc                 óÎ   •— t         j                  j                  j                  ‰ j                  ‰ j
                  ‰ j                  ‰ j                  t         j                  d¬«      S )Nr"  )r@   rG   r£   )	rV   ÚopsÚatenÚ_sparse_coo_tensor_with_dimsrI   rH   r…   r@   r\   r)   s   €r+   r�   z+MetaConverter.meta_tensor.<locals>.<lambda>D  sH   ø€ ¤§	¡	§¡× KÑ KØŸL™LØŸK™KØŸF™FØ"#§'¡'Ü#(×#3Ñ#3Ø#)ð !Ló !€ r9   z)the callback you passed in doesn't detachTé   r5   c            
     ó¶   •— t         j                  j                  j                  d‰j                  ‰j
                  ‰ ‰‰j                  ‰j                  d¬«      S )Nr   r"  )rG   r@   r£   )rV   r’  r“  Ú#_sparse_compressed_tensor_with_dimsrH   rA   rG   r@   )Ú	blocksizeÚindex_dtyper*   s   €€€r+   r�   z+MetaConverter.meta_tensor.<locals>.<lambda>v  sH   ø€ ¤§	¡	§¡× RÑ RØØŸK™KØŸG™GØ%Ø'Ø#$§8¡8Ø"#§'¡'Ø#)ð !Só 	!€ r9   ú9Internal error: Tried to backward() through example input)Úunimplementedz;strided nested tensors are not supported by meta conversionc                 óJ   •— t        j                  ‰ ‰‰j                  d¬«      S r!  rD  ©rŠ  r‹  r*   s   €€€r+   r�   z+MetaConverter.meta_tensor.<locals>.<lambda>Ÿ  s   ø€ ¤× 3Ñ 3Ø! 7°!·'±'À&ô!€ r9   r#  z;view functorch tensors are not supported by meta conversionc                ó  •‡ ‡‡— ‰ j                   rŸ‰ j                  €J ‚‰ j                  €J ‚‰ j                  €J ‚ ‰
‰ j                  «      }‰ j                  }‰ j                  }t        j
                  j                  j                  ‰ j                  «      5  t        |||«      }d d d «       |S ‰ j                  �r=‰ j                  €J ‚‰ j                  €J ‚t        j                  j                  } |«       5   ‰
‰ j                  «      }d d d «       ‰ j                  }|‰	k(  r}nft        j
                  j                  j                  ‰ j                  «      5  t        j                  j
                  j                  |«      }d d d «       ‰ j                  }‰ j                  rt!        «      r	d|_        |S ‰ j                  r1|s/t	        j                  j"                  j%                  dd«      «      }S ‰ j&                  rT‰ j                  €J ‚‰ j(                  €J ‚‰j+                  ‰ j                  ‰‰‰‰¬«      }t-        |‰ j(                  «      }|S ‰ j.                  €J ‚‰ j0                  Š‰ j.                  Š ‰ˆˆˆ fd„«      }‰j2                  r¦t	        j4                  «       5  t7        «       5  t	        j8                  ‰ j0                  ‰ j.                  ‰ j:                  ‰ j<                  ¬«      |_        ‰ j@                  €J ‚tC        |j>                  ‰ j@                  «       d d d «       d d d «       |S |S # 1 sw Y   S xY w# 1 sw Y   �ŒCxY w# 1 sw Y   �ŒÖxY w# 1 sw Y   Œ<xY w# 1 sw Y   |S xY w)NTrš  rm   rQ  c                 óJ   •— t        j                  ‰ ‰‰j                  d¬«      S r!  rD  r�  s   €€€r+   r�   zDMetaConverter.meta_tensor.<locals>._to_fake_tensor.<locals>.<lambda>ÿ  s"   ø€ ¬×(;Ñ(;Ø$)Ø$+Ø*+¯'©'Ø+1ô	)"€ r9   r#  )"r   r¬   r­   r®   rV   r¾   r¿   Ú%temporarily_restore_interpreter_stackr´   r   r   r¼   Ú_DisableFuncTorchÚ_wrap_for_gradr'   rB   r,   Ú
_functionsÚDelayedErrorr¢   r¶   rS  r   rL   r…   rk   r&  r   rE  r@   r£   Úreal_tensorr†   r  )r*   ÚftÚlvlr®   rŒ   Údisable_functorchr'   rŠ  r‹  ÚGRAD_TENSOR_SENTINEL_VALUEÚ_to_fake_tensorr(  rx   r6  rR  r;  s   `      @@€€€€€€€r+   rª  z2MetaConverter.meta_tensor.<locals>._to_fake_tensor¾  s>  û€ ð ×-Ò-Ø#$§;¡;Ð#:Ð:Ð#:Ø#$§7¡7Ð#6Ð6Ð#6Ø#$§6¡6Ð#5Ð5Ð#5Ù!0°·±Ó!=˜BØ"#§'¡'˜CØ#$§6¡6˜Dô
 "'×!1Ñ!1×!=Ñ!=×!cÑ!cØ !× 1Ñ 1ó"ñ Bô %3°2°t¸SÓ$A ÷BðH  !˜ðA ×4Ó4Ø#$§;¡;Ð#:Ð:Ð#:Ø#$§7¡7Ð#6Ð6Ð#6Ü05·±×0JÑ0JÐ-Ù!2Ó!4ñ BÙ%4°Q·[±[Ó%A ÷Bà"#§'¡'˜CØ"Ð&@Ò@Ø$&¡ä%*×%5Ñ%5×%AÑ%A×%gÑ%gØ$%×$5Ñ$5ó&"ñ !Tô ).¯©×(;Ñ(;×(JÑ(JÈ2ÈsÓ(S A÷!Tð
 '(§i¡i˜GØ Ÿš´<À´?Ø26 ¤ð^  !˜ð] "#§¢¹Ü$)§H¡H×$7Ñ$7×$DÑ$DØ$_Ø$%ó%"ð %&ó	%" ðZ  !˜ðO Ÿ_š_Ø#$§;¡;Ð#:Ð:Ð#:Ø#$§?¡?Ð#>Ð>Ð#>Ø!%×!1Ñ!1Ø !§¡Ø*3Ø)1ð
 (.Ø1Að "2ó 
"˜Bô !8¸¸A¿O¹OÓ L˜Að2  !˜ð- $%§8¡8Ð#7Ð7Ð#7à$%§F¡F˜EØ&'§h¡h˜GÙ (õ!"ó!˜Að  $Ÿ~š~Ü%*§]¡]£_ñ !F´k³mñ !FÜ49×4GÑ4GØ()¯©Ø()¯©Ø./¯g©gØ/0¯x©xô	5& A¤Mð ,-¯6©6Ð+=Ð$=Ð+=Ü$.¨q¯}©}¸a¿f¹fÔ$E÷!F÷ !Fð  !˜˜q˜÷IBðH  !˜ú÷yBñ Bú÷!Tñ !Tú÷Z!Fð !Fú÷ !Fð  !˜úsI   ÂMÃ:MÅ+MÊ-M4Ê8A5M(Ì-M4ÍMÍMÍM%Í(M1	Í-M4Í4M>r–   rQ  )rd  rQ   r�  c                ó`   — t        j                  | «      xr t        j                  | «      |k(  S r?   )ÚutilsÚis_complex_dtypeÚcorresponding_real_dtype)Úcomplex_dtypeÚ
real_dtypes     r+   Ú	is_c_of_rz,MetaConverter.meta_tensor.<locals>.is_c_of_r>  s0   € ä!×2Ñ2°=ÓAò *Ü %× >Ñ >¸}Ó MØ)ñ!*ðr9   Fr~  c                 óJ   •— t        j                  ‰ ‰‰j                  d¬«      S r!  rD  r�  s   €€€r+   r�   z+MetaConverter.meta_tensor.<locals>.<lambda>«  s"   ø€ ¤E×$7Ñ$7Ø %Ø 'Ø&'§g¡gØ'-ô	%€ r9   )r(  )Úin_kernel_invocation_managerrÎ   rM  r2   r:   )Únt_tensor_id)r*   rÄ   Úreturnz,Tuple[Tuple[int, ...], Tuple[int, ...], int])rF  rÄ   ©r*   rÄ   )rP   rÚ   r*   rÄ   )rr^  r.  Úlenr  rV   r¼   Ú_dispatch_tls_local_exclude_setÚhasÚDispatchKeyÚPythonr  Ú
contextlibÚnullcontextÚsuppress_guardsr  Úinference_moderD   rC   r'   rk   r†   r&  r   r  r¥  r,   Ú_coalesced_rJ   rB   r  Úenable_gradrc   rG   ra   rb   rI   rH   rª   rœ   rA   r_   r¦   r@   r¨   r£  r¤  r    r   Útorch._dynamo.excr›  r�   r…   rL   rE  r£   r  rž   rN   r¢   r³   r¬   rS  Ú_to_functional_tensorÚ_mirror_autograd_meta_torµ   rP   r_  rd  rU   rh  Ú_dynamorR  rN  Ú&_dispatch_tls_is_dispatch_key_excludedÚADInplaceOrViewÚ'_dispatch_tls_set_dispatch_key_excludedÚview_as_realÚview_as_complexÚviewr«   rÊ   Ú_set_creation_metar   r   r   ÚNotImplementedr›   ro   r  rM   r  r¹   r'  r*  Útorch._subclasses.fake_tensorr³  rÎ   Úset_r2   Ú	_set_conjrE   Ú_set_negrF   r­   rZ   r8   Úresize_rŸ   Ú	_is_paramr¡   r¯   Úcreate_symbolic_nested_intÚnested_int_memor  ))rx   r*   r6  r(  rR  r;  r.  r  rK  r�  r'   rŒ   Ú	batch_dimr›  Ú_storage_offsetr¬   Úbase_symbolic_contextrd  rP   r±  Úold_excludeÚmidrM   r€   r)  Úmaybe_fake_mgrr³  rÎ   Úmb_fake_moderN  r<   r©  rª  rm  r˜  ra  r™  rŽ  rŠ  r‹  rB  s)   ``````                         @@@@@@@@@@r+   rS  zMetaConverter.meta_tensor¯  s±  ÿÿ€ ð ˆ>Ý;ñ $Ø-¬c°$×2BÑ2BÓ.CÐ-DÐEóˆFô —8‘8×;Ñ;Ó=×AÑAÜ�H‰H× Ñ ×'Ñ'ô
ð 	
ð 
ð —,‘,ˆØ�Š˜Ñ�ô4 -7×,BÑ,BˆØÐ Ø&×6Ñ6ˆNð 6Fð 	<Øð 	<à9õ 	<ðF BRð	Ø#õ	ð* .ØØðS	ØöS	ðr)	&Øõ)	&ðR ;AÈIð~	Øð~	Ø#1÷~	ó ~	ð@ ×Ñ Ó"Ñ*Ø)+Ð&ä×%Ñ% a§n¡nÓ5ñ _/Ø—;“;ØŸi™i�Gñ
 !óó	�Að —~’~à Ÿv™vÐ1Ð1Ð1Ü"Ÿ]™]›_ñ @¬k«mñ @Ü,7¸¿¹Ó,?˜AœM÷@÷ @ä'¨œ?ÐWÐ,WÓW˜?ð —M‘M !§.¡.Ô1Ø—’Ø*.˜œØ—“ªwð
 ŸG™G›I˜Ü"×.Ñ.Ó0ñ :ØŸM™M¨!¯.©.Ô9÷:ñ :ä0°·±Õ:ØŸi™i�Gà—x‘x¤E×$4Ñ$4´e×6FÑ6FÐ#GÑGØ Ÿ|™|Ð7Ð7Ð7Ø Ÿ{™{Ð6Ð6Ð6Ø Ÿx™xÐ3Ð3Ð3Ø$%§F¡F¨Q¯\©\Ñ$9¸A¿K¹KÑ$G˜	Ø$%§H¡H§N¡N°9¸q±=À9ÈqÁ=Ð$Q™	à$&˜	Ø—x‘x¤E×$4Ñ$4´e×6FÑ6FÐ#GÑGØ Ÿ~™~Ð9Ð9Ð9Ø&'§n¡n×&:Ñ&:™à Ÿ~™~Ð9Ð9Ð9Ø&'§n¡n×&:Ñ&:˜á õ	ó�Að —~’~à Ÿv™vÐ1Ð1Ð1Ü"Ÿ]™]›_ñ @¬k«mñ @Ü,7¸¿¹Ó,?˜AœM÷@÷ @ä'¨œ?ÐWÐ,WÓW˜?Ø—’Ø*.˜œØ—“ªwÜ!ŸH™H×/Ñ/×<Ñ<ØWØóð óšð —[’[¨×)HÒ)Hõ @á!ØUöð —[“[ØŸi™i�GÙ6VØ˜6ó7Ñ3�E˜7 Oñ
 !õó�Að
 —~’~Ü"Ÿ]™]›_ñ >¬k«mñ >Ø#$§6¡6Ð#5Ð5Ð#5Ø#$§8¡8Ð#7Ð7Ð#7Ü,1×,?Ñ,?Ø !§¡¨¯©¸¿¹ÈÏÉô-˜AœMð $%§6¡6Ð#5Ð5Ð#5Ü& q§}¡}°a·f±fÔ=÷>÷ >ô (¨œ?ÐWÐ,WÓW˜?Ø—’Ø*.˜œØ—“ªwÜ!ŸH™H×/Ñ/×<Ñ<ØWØóð óšð ×+Ò+Ø—y’yÝCá%ØYô÷R!ó R!ñh (¨Ó*’Aà—_’_¨¯©¯©¸oÑ)MØŸ;™;Ð2Ð2Ð2Ø ×5Ò5Ð5Ð5Ø $× 0Ñ 0ØŸ™Ø"+Ø!)Ø%Ø)9ð !1ó !�Iô ×3Ñ3°IÓ>�AÜ×2Ñ2°1×3GÑ3GÈÖKà—Y“Yð Ÿ6™6Ð-Ð-Ð-à,0Ð)Ù Ð%5Ð%Aõô  *Ð*:Ð<TÔUÐUÐUð ,×=Ñ=ÐIØ4D×4VÑ4VÐ1à×+Ñ+ØŸ™Ø!Ø Ü$Ÿ}™}×3Ñ3×>Ñ>¸vÀwÓOØ)>ð ,ó �Dòô #(§(¡(×"QÑ"QÜŸ™×,Ñ,×<Ñ<ó#�Kô —H‘H×DÑDÜŸ™×,Ñ,×<Ñ<¸eôðAØŸ:™:¨¯©Ò0Ø Ù& t§z¡z°1·7±7Ô;Ü#(×#5Ñ#5°dÓ#;™DÙ& q§w¡w°·
±
Ô;Ü#(×#8Ñ#8¸Ó#>™Dð
 $(§9¡9¨Q¯W©WÓ#5˜Dð& Ÿ9š9ô "'§¡£ñ <Ù$2°4¸Ó$; ÷<ð /0¯o©o˜A�Oà Ÿv™v×3Ñ3°q·±ÒFä%*×%6Ñ%6Ó%8ñ !@Ù(6°t¸QÓ(? A÷!@ð !@ð ()§¢Ð 6 Ü%*§]¡]£_ñ !@Ø*.¯)©)°D·J±JÓ*? C÷!@à45·O±O Ô 1Ü%*×%6Ñ%6Ó%8ñ !?Ù(6°s¸AÓ(> A÷!?ð
  !Ÿ™Ð:Ð:Ð:ÜŸ™×*Ñ*×=Ñ=¸aÀÇÁÔQäŸ™×HÑHÜ!ŸH™H×0Ñ0×@Ñ@À+öð
  Ÿi™i�Gð ×/Ò/°1×3JÒ3JØ×2Ò2Ø×2Ò2Ü-÷
_/ñ _/ñJ 9¸¸FÐDTÓUñ	ØØØ&ð
 ×6Ò6Ù1Ø¨%¸gô™ñ %õó˜ð  Ÿ>š>Ü!&§¡£ñ B´+³-ñ BØ'(§v¡vÐ'9Ð 9Ð'9Ø'(§x¡xÐ';Ð ;Ð';Ü05×0CÑ0CØ$%§F¡F¨A¯H©H¸A¿G¹GÈAÏHÉHô1" ¤ô !+¨1¯=©=¸!¿&¹&Ô A÷B÷ Bô (¨œ?ÐWÐ,WÓW˜?Ø—’Ø*+¯/©/˜œÙ&ô !&§¡× 3Ñ 3× @Ñ @Ø [Ø !ó!ð  ó!!˜Að
 Ÿ	™	�AØ˜=Ð(˜=Ø—t‘t 4×#4Ñ#4Ñ4ØŸšàŸH™H›J¨'Ò1Ø !× 0Ñ 0Ó 2°nÒ Dð ×-Ñ-¨a°×1BÑ1BÓ1DÔEØŸ>›>à !§¡× =Ñ =Ó ?ð ×-Ñ-Ó/Ö<ð #×/Ñ/°¸HÐ/ÓE˜ô* @J×?UÑ?UÓ?W˜÷ñ
 (;¸1Ó'=˜Ø'Ð3Ù-IÈ,Ó-W˜NÜ"Ÿ]™]›_ñ 
&©nÓ.>ñ 
&Ø!/ñ LØ !§¡ s¨N¸EÀ7Ô K÷Là#Ÿ~š~Ü%*§]¡]£_ñ !&´k³mñ !&Ø$%§M¡M×$6Ñ$6Ø(+×(8Ñ(8Ø()×(8Ñ(8Ø()¯©Ø()¯©ô	%&÷!&÷ !&÷	
&÷ 
&ð —6‘6Ð%Ý?ð "×-Ñ-ØŸ™Ø!Ø Ù)¨&°&Ó9Ø)9ð .ó �A”Fô —‘×"Ñ" 1 a§i¡iÔ0Ü—‘×!Ñ! ! Q§X¡XÔ.÷_/ðD ×'Ñ'ÒQ¨A¯G©GÐ7QÑ,Qð ô œy¨!¨Q¸dÈiÕXð �y‰yÐ$¨¯©¯©¸1Ò)<Ø×!Ñ!Ó#×+Ñ+¨AÔ.à�~Š~Ø"�”ð �|‰|Ð'Ø$%§K¡K×$JÑ$JØ!"§¡ð %Kó %�Ô!ð × Ñ   AÔ&à×#Ñ# AÓ&Ð&÷E@ñ @ú÷ @ñ @ú÷":ñ :ú÷F@ñ @ú÷ @ñ @ú÷@>ñ >ú÷ >ñ >ú÷Z<ñ <ú÷!@ñ !@ú÷!@ñ !@ú÷!?ñ !?ûô Ÿ™×HÑHÜ!ŸH™H×0Ñ0×@Ñ@À+õú÷HBñ Bú÷ Bñ Bú÷`Lñ Lú÷!&ñ !&ú÷ !&ñ !&ú÷	
&ñ 
&ú÷ 
&ñ 
&ú÷M_/ñ _/ús  Ä4AA@Æ{5Æ{(Æ-{5Æ5A<A@È1|ÉE:A@Ï|Ï|Ï-|Ï5C)A@Ó|6Ó)B|)Õ:|6ÖIA@ßB;}7â
}â$A}7ã5
}ã?+}7ä*}å-}7å3
}*å=A
}7çBA@éAA@ê)ê4B~>ì7ì?E3A@ò2A@ò:?ò=	ó(?ó:2	ôA%õ2	õ?õA@õ$BA@û({2û-{5û5{?	û:A@ü|	üA@ü|ü|ü|&	ü!A@ü)|3ü.|6ü6} 	ü;A@ý}	ý}7ý}	ý}7ý}'	ý"}7ý*}4	ý/}7ý7A~;þ;A@þ>ÿÿ	ÿA@ÿ"ÿ?ÿ%/ÿ*2	ÿ2<ÿ7?ÿ?A@	Á@A@Á@A@	Á@A@Á@A@#c                ó   —  | «       S r?   r5   r)   s    r+   r�   zMetaConverter.<lambda>9  r,  r9   T)r(  rR  r;  rƒ   c               óü  ‡ ‡‡
— t        |t        j                  «      rˆ|j                  j                  dk(  s>|j
                  s2|j                  «       r=|j                  �1|j                  j                  r‰ xj                  dz  c_	        t        S ‰ xj                  dz  c_        n<t        j                  j                  |«      r‰ xj                  dz  c_	        t        S |S ‰€d}‰ j                  j                  ||¬«      Š
|rt!        dˆ ˆˆ
fd„¬«       t#        j$                  «       5 }|j'                  t        j(                  j*                  j-                  «       «       t/        «       }|�7|j'                  t        j0                  j2                  j5                  «       «       ‰ j7                  ‰
||‰|¬«      }	d d d «       t	        |«      t        j8                  j:                  u rd		_        	S # 1 sw Y   Œ7xY w)
Nr˜   rm   Fr‚   Údescribe_sourcec                 óh   •— ‰ j                   j                  ‰j                  ‰j                  «       dœS )N)rå   ro   rR  )r  ro   rø   )rx   rR  Út_descs   €€€r+   r�   z(MetaConverter.__call__.<locals>.<lambda>j  s'   ø€ Ø$(§N¡N×$5Ñ$5Ø Ÿ)™)Ø$Ÿk™k›mñ%€ r9   r�   rQ  T)rU   rV   rW   r£   r³   Úis_quantizedrO   rQ   rC   r  rÍ  r  Ú	overridesÚis_tensor_liker  rY   r   r¼  Ú	ExitStackÚenter_contextÚ	_dispatchÚpythonÚsuspend_functionalizationr   r¾   r¿   rÀ   rS  rÆ   rÇ   rÓ  )rx   r*   r6  r(  rR  r;  rƒ   Ú
exit_stackÚstrŒ   rá  s   `   `     @r+   Ú__call__zMetaConverter.__call__4  s™  ú€ ô$ �aœŸ™Ô&ð —‘—‘ Ò'ð —’ð —‘” !§'¡'Ð"5¸!¿'¹'×:KÒ:Kà—	’	˜Q‘•	Ü%Ð%à—’˜A‘–Ü�_‰_×+Ñ+¨AÔ.Ø�IŠI˜‰N�IÜ!Ð!ð ˆHàˆ>ØˆEð —‘×/Ñ/°¸Ð/Ó?ˆáÜØ!õõô ×!Ñ!Ó#ð 	 zØ×$Ñ$¤U§_¡_×%;Ñ%;×%UÑ%UÓ%WÔXÜ'Ó)ˆBØˆ~Ø×(Ñ(Ü×$Ñ$×0Ñ0×TÑTÓVôð × Ñ ØØ#Ø!ØØ!1ð !ó ˆA÷	ô  �‹7”e—h‘h×(Ñ(Ñ(ð ˆAŒKð ˆ÷-	ð 	ús   Ä+BG2Ç2G;)rk   rÜ   r¶  )r€   r‘   )r*   rÄ   r6  zOptional[ShapeEnv]rR  zOptional[Source]r;  zOptional[SymbolicContext]r?   )rÝ   rÞ   rß   ry   r  r  r  r  r  r*  rS  rì  r5   r9   r+   r	  r	  v  s‰   „ Ø,1õ Bò"/ó0ó#ó1ó$ó,ð6 )-ÙØ#'Ø6:ðC'àðC'ð &ðC'ð
 !ðC'ð 4óC'ðP ðVñ
 ØØð õVr9   r	  )rR   z#Union[MetaTensorDesc, torch.Tensor]rS   rÚ   )KÚ
__future__r   r¼  rö   r/   r  r   Útypingr   r   r   r   r	   r
   r   r   r   r   r   Útyping_extensionsr   rV   Útorch._C._autogradr   Útorch._C._functorchr   r   r   r   r   r   r   r   r   r   r   Útorch._loggingr   Útorch.utils._mode_utilsr   Útorch.utils._python_dispatchr   Útorch.utils.weakr    r!   Útorch._guardsr"   rÎ  r#   r_  r$   r%   ÚDimListr,   r3   r8   rZ   r]   rc   rK   rf   rã   rg   rç   rh   rn   rX   r‘   rÄ   r  r  r	  Útorch._prims_commonÚ_prims_commonr¬  r5   r9   r+   ú<module>rú     s?  ðæ "ã Û Û Û Ý !÷÷ ÷ ñ õ (ã Ý +÷÷ ÷ ñ õ ,Ý /Ý FÝ 0ñ Ý0Ý$õ =÷ Pà
€òòò!ð Øñ1à+ð1ð 	ó1òhHòòQò7ð
 €ˆyÓ Ø€ˆiÓ ð Ð ÷Hñ HñV �$Ô÷
ð 
ó ð
ñ �$Ô÷Zð Zó ðZòRò÷Tñ Tön  $r9   