Ë
    g^(h,N ã                  óp  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dlm
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZ d dlZd dlmZ d d	lm Z m!Z!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/m0Z0 d dl1m2Z2 erd dlm3Z3 d dl4m5Z5 d dl6m7Z7m8Z8 d dl9m:Z:m;Z; dDd„Z<e=Z> eddej~                  «      Z@ ed«      ZA edej~                  ¬«      ZB edej~                  d¬«      ZCdEd„ZDdFd„ZEdGd„ZFdHd„ZGddd œ	 	 	 	 	 	 	 	 	 	 	 dId!„ZHdJd"„ZIdKd#„ZJdJd$„ZKdJd%„ZLdLd&„ZMdMd'„ZN	 	 	 	 	 	 dNd(„ZO ed)eP«      ZQ ed*eP«      ZR ed+eP«      ZS eSd «      aT G d,„ d-«      ZU ed¬.«       G d/„ d0«      «       ZV ed¬.«       G d1„ d2eeB   «      «       ZW ed¬.«       G d3„ d4eWd5   «      «       ZX ed¬.«       G d6„ d7eWeB   eeB   «      «       ZY G d8„ d9eeeC   «      ZZ G d:„ d;ed¬<«      Z[ G d=„ d>eeeC   «      Z\ ed¬.«       G d?„ deeB   «      «       Z]dOd@„Z^dPdA„Z_ G dB„ dCeeB   «      Z`d dlambZc y)Qé    )ÚannotationsN)Úabstractmethod)ÚAbstractContextManager)Ú	dataclass)
ÚAnyÚCallableÚClassVarÚGenericÚNewTypeÚOptionalÚProtocolÚTYPE_CHECKINGÚTypeVarÚUnion)ÚoverrideÚ	TypedDictÚ	TypeGuardÚTypeIsÚUnpack)Ú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)Ú
FakeTensorÚFakeTensorMode)ÚShapeEnvÚSymbolicContextc                ó&   — ddl m} t        | |«      S )Nr   )r(   )Útorch._subclasses.fake_tensorr(   Ú
isinstance)Útr(   s     úZ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_subclasses/meta_utils.pyÚ_is_fake_tensorr1   :   s   € Ý8ä�a˜Ó$Ð$ó    Ú_TensorLikeTÚMetaTensorDescÚ_TÚ_TensorT)ÚboundÚ_TensorT_covT)r7   Ú	covariantc                ó:   — 	 | j                   S # t        $ r Y yw xY w)NF)Úis_leafÚRuntimeError©r/   s    r0   Úsafe_is_leafr>   G   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    r0   Ú	safe_gradrE   O   s;   € Ü	×	 Ñ	 Ó	"ñ Ü×Ñ Ð*KÔLØ�v‰v÷÷ ò ús   •"AÁA
c                ó$   — t        | «      }|€J ‚|S ©N)rE   )r/   rD   s     r0   Ú_expect_safe_gradrH   U   s   € Ü�Q‹<€DØÐÐÐØ€Kr2   c                ó&   — | |k(  sJ | › d|› �«       ‚y )Nz != © )ÚaÚbs     r0   Ú	assert_eqrM   [   s   € Ø�Š6Ð �a�S˜˜Q˜C�=Ó ‰6r2   F©Úskip_symbolicÚ	skip_leafc               ó˜   ‡ ‡‡‡— t        |t        j                  «      rt        «       j	                  |«      n|}dˆ ˆˆˆ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 ‚|j*                  €J ‚ ‰| j(                  |j*                  «       y y rG   )ÚdtypeÚshapeÚrequires_gradr;   Ú	is_sparseÚis_inferenceÚis_conjÚis_negrD   rE   rH   ÚlayoutÚ	dense_dimÚ
sparse_dimÚis_coalescedÚis_sparse_compressedÚstrideÚstorage_offsetÚis_viewÚ_is_viewÚbaseÚ_base)Úm1Úm2rM   ÚgorP   rO   s     €€€€r0   rg   zassert_metadata_eq.<locals>.gom   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Ø—w‘wÐ*Ð*Ð*Ø—x‘xÐ+Ð+Ð+Ù�2—7‘7˜BŸH™HÕ%ð r2   )re   r4   rf   útorch.TensorÚreturnÚNone)r.   ÚtorchÚTensorÚMetaTensorDescriberÚdescribe_tensor)rM   re   rf   rO   rP   rg   s   `  ``@r0   Úassert_metadata_eqro   _   sG   û€ ô �bœ%Ÿ,™,Ô'ô 	Ó×-Ñ-¨bÔ1àð ÷#&ð #&ñP ˆb�"‹:Ðr2   c                ór   — t        | t        j                  «      xr | j                  t        j                  u S rG   )r.   rk   rl   rZ   Ú
sparse_coor=   s    r0   Úis_sparse_coorr   ™   s'   € Ü�aœŸ™Ó&ÒG¨1¯8©8´u×7GÑ7GÐ+GÐGr2   c                ó‚   — | t         j                  t         j                  t         j                  t         j                  hv S rG   )rk   Ú
sparse_csrÚ
sparse_cscÚ
sparse_bsrÚ
sparse_bsc)rZ   s    r0   Úis_sparse_compressed_layoutrx   �   s8   € ØÜ×ÑÜ×ÑÜ×ÑÜ×Ñð	ð ð r2   c                ód   — t        | t        j                  «      xr t        | j                  «      S rG   )r.   rk   rl   rx   rZ   r=   s    r0   r^   r^   §   s"   € Ü�aœŸ™Ó&ÒPÔ+FÀqÇxÁxÓ+PÐPr2   c                ó2   — t        | «      xs t        | «      S rG   )rr   r^   r=   s    r0   Úis_sparse_anyr{   ¬   s   € Ü˜ÓÒ6Ô3°AÓ6Ð6r2   c                óJ   — t        || «      sJ d| › dt        |«      › �«       ‚|S )Nz	expected z	 but got )r.   Útype)ÚtyÚobjs     r0   Ú_checked_castr€   °   s-   € Ü�c˜2ÔÐD )¨B¨4¨y¼¸c»¸Ð DÓDÐØ€Jr2   c                ó   — | j                   S rG   ©Úreal_storage)rc   s    r0   Ú_get_real_storager„   µ   s   € Ø×ÑÐr2   c                ó   — || _         y rG   r‚   )rc   rƒ   s     r0   Ú_set_real_storager†   ¹   s   € ð %€DÕr2   ÚMetaStorageIdÚMetaTensorIdÚ_DescriberIdc                  ód   — e Zd ZdZddœdd„Zdd„Zdd„Zddœ	 	 	 	 	 dd„Zd	dd
œ	 	 	 	 	 	 	 dd„Zy)rm   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        t         dz   «      a t        d«      | _        t        d«      | _        t        «       | _        t        «       | _	        || _
        t        «       | _        t        «       | _        y )Né   r   )ÚDESCRIBER_NEXT_IDÚidr‰   rˆ   Únext_tensor_idr‡   Únext_storage_idr%   Úlookup_tensorÚlookup_storagerŒ   ÚsetÚtraced_tensorsÚtraced_storages©ÚselfrŒ   s     r0   Ú__init__zMetaTensorDescriber.__init__Ó   sd   € ä#ˆŒÜ(Ô):¸QÑ)>Ó?ÐÜ,8¸«OˆÔÜ.;¸AÓ.>ˆÔä0Ó2ˆÔä1Ó3ˆÔØ"ˆŒÜ(+«ˆÔÜ),«ˆÕr2   c                ó¨   — || j                   vr6| j                  | j                   |<   t        | j                  dz   «      | _        | j                   |   S ©NrŽ   )r“   r‘   rˆ   ©r™   r/   s     r0   Úget_tensor_idz!MetaTensorDescriber.get_tensor_idá   sO   € Ø�D×&Ñ&Ñ&Ø$(×$7Ñ$7ˆD×Ñ˜qÑ!Ü".¨t×/BÑ/BÀQÑ/FÓ"GˆDÔØ×!Ñ! !Ñ$Ð$r2   c                ó¨   — || j                   vr6| j                  | j                   |<   t        | j                  dz   «      | _        | j                   |   S rœ   )r”   r’   r‡   ©r™   Úss     r0   Úget_storage_idz"MetaTensorDescriber.get_storage_idç   sO   € Ø�D×'Ñ'Ñ'Ø%)×%9Ñ%9ˆD×Ñ Ñ"Ü#0°×1EÑ1EÈÑ1IÓ#JˆDÔ Ø×"Ñ" 1Ñ%Ð%r2   ©Útracec               ó  ‡ ‡— t        ‰ j                  |«      |j                  «       ‰ j                  r|nd ¬«      Š|rN‰j                  ‰ j
                  vr6t        dˆˆ fd„¬«       ‰ j
                  j                  ‰j                  «       ‰S )N)r�   ÚsizeÚdataÚdescribe_storagec                 ó:   •— ‰ j                  ‰j                  «      S rG   ©Úas_jsonr�   ©Úrr™   s   €€r0   ú<lambda>z6MetaTensorDescriber.describe_storage.<locals>.<lambda>ú   ó   ø€  A§I¡I¨d¯g©gÓ$6€ r2   ©Úmetadata_fn)ÚMetaStorageDescr¢   r¦   rŒ   r�   r—   r"   Úadd)r™   r¡   r¤   r­   s   `  @r0   r¨   z$MetaTensorDescriber.describe_storageí   sv   ù€ ô Ø×"Ñ" 1Ó%Ø—‘“ð —n’n‘¨$ô
ˆñ �Q—T‘T ×!5Ñ!5Ñ5ÜØ"Ü6õð × Ñ ×$Ñ$ Q§T¡TÔ*Øˆr2   T©Úrecurser¤   c               ó–  ‡ ‡ — t        |«      }|j                  «       }|j                  }|j                  }|j                  }t        |«      }	t        |«      }
|j                  }t        |«      }t        |«      }t        |«      }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$} tJ        jM                  |«      }tO        d?i d‰ jQ                  |«      “d|“d	|jS                  «       “d
|“d|jT                  “d|jW                  «       “d|jX                  “d|“d|“d|
“d|“d|“d|“d|“d|j[                  «       “d|j]                  «       “dt_        |t        j`                  jb                  «      “d|	“d|“d||v r||   jd                  jg                  «       nd “d|“d|“d|j(                  “d|ji                  «       “d|“d |“d!tk        tE        |d"tm        «       «      «      “d#|j                  sto        |«      r|jq                  «       nd “d$|j                  sto        |«      r|js                  «       nd “d%|j                  r|ju                  «       nd “d&|rN|j                  t        jv                  t        jx                  hv r"‰ j%                  |j{                  «       d'|¬(«      nd “d)|rN|j                  t        jv                  t        jx                  hv r"‰ j%                  |j}                  «       d'|¬(«      nd “d*|rN|j                  t        j~                  t        j€                  hv r"‰ j%                  |jƒ                  «       d'|¬(«      nd “d+|rN|j                  t        j~                  t        j€                  hv r"‰ j%                  |j…                  «       d'|¬(«      nd “d,|r-to        |«      r"‰ j%                  |j‡                  «       d'|¬(«      nd “d-t‰        |«      x}�‰ j%                  ||¬«      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|“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_registryr�   ÚstoragerW   r;   rU   ÚndimrS   rV   Ú	is_mkldnnÚis_functorch_wrappedr   r   r   ra   rX   rY   Úis_parameterr$   Ú	is_nestedÚ
nested_intÚis_functionalrZ   Údevicer¦   r_   r`   Údynamo_dynamic_indicesÚ_dynamo_dynamic_indicesr\   r[   r]   Úcrow_indicesFr´   Úcol_indicesÚccol_indicesÚrow_indicesÚvaluesrD   Úcreation_metaÚ	unwrappedÚlevelÚbdimrc   Ú	fake_modeÚ	view_funcÚattrsÚctxr}   Úfunctorch_stackÚautograd_meta_fromÚcurrent_levelr§   rn   c                 ó:   •— ‰ j                  ‰j                  «      S rG   rª   r¬   s   €€r0   r®   z5MetaTensorDescriber.describe_tensor.<locals>.<lambda>Ð  r¯   r2   r°   rJ   )Rr>   rb   rV   rZ   rÁ   r$   r   r¾   r   r   r   rk   Ú_is_functional_tensorrx   r¨   Úuntyped_storager`   r_   rn   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»   ÚViewFuncÚfrom_tensorr4   rž   rW   rU   ÚdimrS   rX   rY   r.   ÚnnÚ	ParameterÚnoderÂ   r¦   Úlistr•   r^   r\   r[   r]   rt   rv   rÇ   rÈ   ru   rw   rÉ   rÊ   rË   rE   Ú	_autogradÚ_get_creation_metar    r   rd   Ú_subclassesÚfake_tensorÚmaybe_get_fake_moderŒ   r�   r–   r"   r³   )!r™   r/   rµ   r¤   r;   ra   rV   rZ   rÁ   Úis_traceable_wrapper_subclass_vr¿   r¾   Úis_batchedtensor_vÚis_legacy_batchedtensor_vÚis_gradtrackingtensor_vrÃ   r¼   r`   r_   rÍ   rÕ   rÖ   Úreapply_viewsÚmaybe_functorch_stackrÒ   rÓ   Útype_vÚ	raw_attrsÚattrr»   rÑ   rD   r­   s!   `                               @r0   rn   z#MetaTensorDescriber.describe_tensorÿ   sì  ù€ ô ˜q“/ˆØ—*‘*“,ˆØ—K‘Kˆ	Ø—‘ˆØ—K‘Kˆ	Ü*GÈÓ*JÐ'Ü:¸1Ó=ÐØ—K‘Kˆ	Ü-¨aÓ0ÐÜ$;¸AÓ$>Ð!Ü"7¸Ó":ÐÜ×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 & a›LÐ(�DÐ5ð ×$Ñ$ T°Ð$Ô7àøð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Ô)Øˆ÷Gñ üòs   È4\9É+%]Ü9]N©rŒ   Úboolri   rj   )r/   rh   ri   rˆ   )r¡   útorch.UntypedStorageri   r‡   )r¡   rû   r¤   rú   ri   r²   )r/   rh   rµ   rú   r¤   rú   ri   r4   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__rš   rž   r¢   r¨   rn   rJ   r2   r0   rm   rm   È   sn   „ ñð -2õ /ó%ó&ð 9>ñØ%ðØ15ðà	óð& 37ÀeñTØðTØ+/ðTØ?CðTà	ôTr2   rm   )Úfrozenc                  ó4   — e Zd ZU ded<   ded<   ded<   d	d„Zy)
r²   r‡   r�   Úintr¦   úOptional[torch.UntypedStorage]r§   c                ó˜   — | j                   |t        | j                  t        «      r| j                  dœS t	        | j                  «      dœS )N)r�   Údescriber_idr¦   )r�   r.   r¦   r  Úrepr)r™   r  s     r0   r«   zMetaStorageDesc.as_jsonÞ  sC   € à—'‘'Ø(Ü!+¨D¯I©I´sÔ!;�D—I‘Iñ
ð 	
ô BFÀdÇiÁiÃñ
ð 	
r2   N©r  r‰   ri   zdict[str, object])rü   rý   rþ   Ú__annotations__r«   rJ   r2   r0   r²   r²   Ö  s   … àÓØ
ƒIð )Ó(ô
r2   r²   c                  óH   — e Zd Ze	 	 d	 	 	 	 	 	 	 	 	 dd„«       Zedd„«       Zy)rä   Nc                 ó   — y rG   rJ   ©r™   r/   Únew_baseÚsymint_visitor_fnÚtensor_visitor_fns        r0   ÚapplyzViewFunc.applyè  s   € ð 	r2   c                óV   — t        | «      r
t        «       S t        | j                  «      S rG   )r1   Ú_FakeTensorViewFuncÚ_CustomViewFuncÚ_view_func_unsafer=   s    r0   rå   zViewFunc.from_tensorò  s$   € ä˜1ÔÜ&Ó(Ð(ä" 1×#6Ñ#6Ó7Ð7r2   ©NN)
r/   r6   r  r6   r  úOptional[Callable[[int], int]]r  ú,Optional[Callable[[torch.Tensor], _TensorT]]ri   r6   )r/   rh   ri   rä   )rü   rý   rþ   r   r  Ústaticmethodrå   rJ   r2   r0   rä   rä   æ  sb   „ àð
 =AØJNðàðð ðð :ð	ð
 Hðð 
òó ðð ò8ó ñ8r2   rä   c                  ó6   — e Zd Ze	 	 d	 	 	 	 	 	 	 	 	 dd„«       Zy)r  Nc                ón   — t         j                  j                  j                  j	                  ||||«      S rG   )rk   rí   rî   r(   r  r  s        r0   r  z_FakeTensorViewFunc.applyü  s4   € ô × Ñ ×,Ñ,×7Ñ7×IÑIØˆxÐ*Ð,=ó
ð 	
r2   r  )
r/   rh   r  rh   r  r  r  z.Optional[Callable[[torch.Tensor], FakeTensor]]ri   r(   )rü   rý   rþ   r   r  rJ   r2   r0   r  r  ú  sN   „ àð
 =AØLPð	
àð	
ð ð	
ð :ð		
ð
 Jð	
ð 
ò	
ó ñ	
r2   r  r(   c                  óB   — e Zd ZU ded<   e	 	 d	 	 	 	 	 	 	 	 	 dd„«       Zy)r  zpCallable[[torch.Tensor, Optional[Callable[[int], int]], Optional[Callable[[torch.Tensor], _TensorT]]], _TensorT]ÚfuncNc                ó(   — | j                  |||«      S rG   )r  r  s        r0   r  z_CustomViewFunc.apply  s   € ð �y‰y˜Ð#4Ð6GÓHÐHr2   r  )
r/   rh   r  rh   r  r  r  r  ri   r6   )rü   rý   rþ   r  r   r  rJ   r2   r0   r  r  	  sa   … ðó ð ð
 =AØJNðIàðIð ðIð :ð	Ið
 HðIð 
òIó ñIr2   r  c                  ó    — e Zd Z	 	 	 	 	 	 dd„Zy)Ú_MetaTensorCallbackc               ó   — y rG   rJ   )r™   ÚargrÄ   s      r0   Ú__call__z_MetaTensorCallback.__call__&  s   € ð 	r2   N)r   úCallable[[], torch.Tensor]rÄ   úUnion[torch.device, str]ri   r8   ©rü   rý   rþ   r!  rJ   r2   r0   r  r  %  s   „ ðØ-ðØ=Uðà	ôr2   r  c                  ó   — e Zd ZU ded<   y)Ú_MetaTensorCallbackKwargsr#  rÄ   N)rü   rý   rþ   r  rJ   r2   r0   r&  r&  ,  s   … Ø$Ô$r2   r&  )Útotalc                  ó    — e Zd Z	 	 	 	 	 	 dd„Zy)Ú_MetaTensorCallbackOptDevicec                ó   — y rG   rJ   )r™   r   Úkwargss      r0   r!  z%_MetaTensorCallbackOptDevice.__call__5  s   € ð 	r2   N)r   r"  r+  z!Unpack[_MetaTensorCallbackKwargs]ri   r8   r$  rJ   r2   r0   r)  r)  4  s#   „ ðà'ðð 4ð	ð
 
ôr2   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;<   h 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<   dPdN„Z3e4dQdO„«       Z5y)Rr4   rˆ   r�   r  r½   útorch.dtyperS   ztorch.devicerÄ   útuple[int, ...]r¦   z	list[int]rÅ   útorch.layoutrZ   Frú   rW   r;   rU   rV   r¾   r¿   r   r   r   ra   rÁ   NzOptional[int]rÂ   r$   rÃ   rX   rY   rÀ   úOptional[tuple[int, ...]]r_   r   r`   zOptional[MetaStorageDesc]r¼   r\   r[   zOptional[bool]r]   zOptional[MetaTensorDesc]rÇ   rÈ   rÉ   rÊ   rË   rÍ   rÏ   rc   z#Optional[dict[str, MetaTensorDesc]]rÒ   zOptional[CreationMeta]rÌ   rD   >
   rÓ   r§   r}   rÎ   rÐ   rÑ   rÂ   rÖ   rÔ   rÕ   zClassVar[set[str]]Ú_UNSERIALIZABLEzOptional[object]rÓ   zOptional[type]r}   zOptional[FakeTensorMode]rÐ   zOptional[ViewFunc]rÑ   rÎ   rÖ   zOptional[list[CInterpreter]]rÔ   úOptional[torch.Tensor]rÕ   r§   c                óv  ‡— dˆ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         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Ò   )r4   r1  r  r.   rk   rÄ   rS   rZ   ÚSymIntÚtuplerê   r²   r�   r   ÚstrÚdictÚitems)ÚkÚvÚv1Úk1Újsons       €r0   r>  z$MetaTensorDesc.as_json.<locals>.json¬  s÷   ø€ ð Ð2Ñ2ØØ”N×2Ñ2Ñ2Ü˜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   Â'D<ÄErÅ   r  )r:  r7  r;  Úobjectri   r?  )ÚdataclassesÚfieldsrâ   ÚnameÚdefaultÚupdate)r™   r  Úfieldr­   r>  s       @r0   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 B6c                ó   — | j                   S rG   )r¦   ©r™   s    r0   rT   zMetaTensorDesc.shapeÏ  s   € à�y‰yÐr2   r  )ri   r.  )6rü   rý   rþ   r  rk   ÚstridedrZ   rW   r;   rU   rV   r¾   r¿   r   r   r   ra   rÁ   rÂ   r$   rÃ   rX   rY   rÀ   r_   r`   r¼   r\   r[   r]   rÇ   rÈ   rÉ   rÊ   rË   rÍ   rÏ   rc   rÒ   rÌ   rD   r1  rÓ   r}   rÐ   rÑ   rÎ   rÖ   rÔ   rÕ   r§   r«   ÚpropertyrT   rJ   r2   r0   r4   r4   >  s.  … àÓØ
ƒ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Ð'Ó.Ø$(€IÐ!Ó(ð  €Eˆ=ÓØ#'€M�=Ó'Ø48€OÐ1Ó8Ø15ÐÐ.Ó5ð
 $(€DÐ
 Ó'ó"ðH òó ñr2   c                ó^   — t        |«      t        j                  ury | j                  |«       y rG   )r}   rk   rl   Úcopy_)ÚdstÚsrcs     r0   Ú
_safe_copyrN  à  s    € ÜˆCƒyœŸ™Ñ$ØØ‡I�Iˆc…Nr2   c                óZ   — t        | «      t        j                  ury | j                  «       S rG   )r}   rk   rl   Úclone)rM  s    r0   Ú_safe_clonerQ  æ  s!   € ÜˆCƒyœŸ™Ñ$ØØ�9‰9‹;Ðr2   c                  óô   — e Zd Zddœdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd	„Z		 	 	 	 	 	 dd
„Z
edd„«       Ze	 d	 	 	 	 	 dd„«       Zedd„«       Z	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	 ddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d d„Zy)!ÚMetaConverterFr‹   c               óÐ   — t        j                  «       | _        t        j                  «       | _        d| _        d| _        d | _        d| _        || _        t        |¬«      | _
        y )Nr   r‹   )ÚweakrefÚWeakValueDictionaryÚstorage_memoÚtensor_memoÚhitÚmissÚdel_hookÚarg_cntrŒ   rm   Ú	describerr˜   s     r0   rš   zMetaConverter.__init__ô  sa   € ô ×'Ñ'Ó)ð 	Ôô ×'Ñ'Ó)ð 	Ôð ˆŒØˆŒ	ØˆŒØˆŒð
 #ˆŒÜ,°yÔAˆ�r2   c                óB   — | j                   dkD  xr | j                  dk(  S )Nr   )rY  rZ  rG  s    r0   Ú
successfulzMetaConverter.successful	  s   € Ø�x‰x˜!‰|Ò. §	¡	¨Q¡Ð.r2   c                óN   — | j                   j                  |j                  d «      S rG   ©rX  Úgetr�   r�   s     r0   Úget_tensor_memozMetaConverter.get_tensor_memo  s   € Ø×Ñ×#Ñ# A§D¡D¨$Ó/Ð/r2   c                óZ   — | j                   j                  |j                  d «      }|€J ‚|S rG   ra  )r™   r/   r­   s      r0   Ú_checked_get_tensor_memoz&MetaConverter._checked_get_tensor_memo  s-   € Ø×Ñ× Ñ  §¡ tÓ,ˆØˆ}Ðˆ}Øˆr2   c                ó6   — || j                   |j                  <   y rG   )rX  r�   )r™   r/   r;  s      r0   Úset_tensor_memozMetaConverter.set_tensor_memo  s   € Ø!"ˆ×Ñ˜Ÿ™Òr2   c                óN   — | j                   j                  |j                  d «      S rG   )rW  rb  r�   r    s     r0   Úget_storage_memozMetaConverter.get_storage_memo  s   € Ø× Ñ ×$Ñ$ Q§T¡T¨4Ó0Ð0r2   c                ó6   — || j                   |j                  <   y rG   )rW  r�   )r™   r¡   r;  s      r0   Úset_storage_memozMetaConverter.set_storage_memo  s   € Ø"#ˆ×Ñ˜!Ÿ$™$Òr2   c                ó”  ‡— | j                  ‰«      x}€› |ˆfd„«      j                  «       }| j                  rbt        j                  «       5  t        «       5  ‰j                  €J ‚t        |‰j                  j                  «       «       d d d «       d d d «       | j                  ‰|«       |S |S # 1 sw Y   Œ'xY w# 1 sw Y   Œ+xY w)Nc                 ód   •— t        j                  ‰ j                  t         j                  d¬«      S ©NÚmeta©rS   rÄ   )rk   Úemptyr¦   Úuint8)r¡   s   €r0   r®   z,MetaConverter.meta_storage.<locals>.<lambda>&  s   ø€ œŸ™ A§F¡F´%·+±+ÀfÔM€ r2   )
ri  rÙ   rŒ   rk   Úno_gradr#   r§   r†   rP  rk  )r™   r¡   ÚcallbackÚmemoÚr_ss    `   r0   Úmeta_storagezMetaConverter.meta_storage  sµ   ø€ ð ×)Ñ)¨!Ó,Ð,ˆDÐ5ÙÛMóç‰oÓð ð �~Š~ô —]‘]“_ñ ;¤k£mñ ;ØŸ6™6Ð-Ð-Ð-Ü% c¨1¯6©6¯<©<«>Ô:÷;÷ ;ð ×!Ñ! ! SÔ)ØˆJàˆK÷;ð ;ú÷ ;ð ;ús$   ÁB>Á3B2ÂB>Â2B;	Â7B>Â>Cc                ó6   — t        j                  t        |«      S rG   )ÚtypingÚcastr6   )Úclsr/   s     r0   Ú_checked_cast_tensor_tz$MetaConverter._checked_cast_tensor_t3  s   € ô �{‰{œ8 QÓ'Ð'r2   Nc                ó.   — | j                   |«       «      S rG   )r|  )r{  r/   rÄ   s      r0   Ú_identity_callablez MetaConverter._identity_callable8  s   € ð ×)Ñ)©!«#Ó.Ð.r2   c                óš   — t         j                  j                  j                  dd«      } ||«      }t	        j
                  t        |«      S )Nz9Internal error: Tried to backward() through example inputrŽ   )rk   rÜ   Ú
_functionsÚDelayedErrorry  rz  r6   )r{  r/   ÚerrfnÚerrs       r0   Ú_backward_errorzMetaConverter._backward_error@  s>   € ä—‘×#Ñ#×0Ñ0ØGØó
ˆñ �A‹hˆÜ�{‰{œ8 SÓ)Ð)r2   c                ó"  ‡ ‡‡‡‡‡‡ ‡!‡"‡#‡$‡%‡&‡'‡(‡)— t        j                  |‰j                  ¬«      Š#‰€$ddlm}  |dt        ‰ j                  «      › �«      Št        j                  j                  «       j                  t        j                  j                  j                  «      r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#                  ‰«      �€odŠt        j$                  ‰j&                  «      5  ‰j(                  �rC‰j*                  }	 ‰#ˆfd„«      }
‰ j,                  re‰j.                  €J ‚t        j0                  «       5  t3        «       5  t5        |
«      sJ ‚t7        ‰j.                  «      |
_        d d d «       d d d «       t;        |
«      sJ d«       ‚|
j=                  t?        ‰j@                  «      «       ‰jB                  rd|
_!        ‰jB                  �rß|	�sÜ‰ jE                  |
jG                  «       «      }
t        jH                  «       5  |
j=                  t?        ‰j@                  «      «       d d d «       �nztK        ‰jL                  «      �rå‰j*                  }	‰jL                  t        jN                  t        jP                  hv rp‰jR                  €J ‚‰jT                  €J ‚‰jV                  €J ‚‰jX                  ‰jR                  z
  ‰jT                  z
  }‰jV                  jZ                  |dz   |dz    Š"ndŠ"‰jL                  t        j\                  t        jN                  hv r%‰j^                  €J ‚‰j^                  j`                  Š%n$‰jb                  €J ‚‰jb                  j`                  Š% ‰#ˆ"ˆ%ˆfd„«      }
‰ j,                  re‰j.                  €J ‚t        j0                  «       5  t3        «       5  t5        |
«      sJ ‚t7        ‰j.                  «      |
_        d d d «       d d d «       t;        |
«      sJ d«       ‚‰jB                  rd|
_!        ‰jB                  �	r•|	�	s’‰ je                  |
«      }
�	n‰jf                  r‰jh                  sddl5m6}  |d«       �	nW‰jn                  �rG‰j*                  }	 ‰)‰‰«      \  Š'Š(} ‰#ˆ'ˆ(ˆfd„«      }
‰ j,                  rÍt        j0                  «       5  t3        «       5  ‰jp                  €J ‚‰jr                  €J ‚t5        |
«      sJ ‚t        jt                  ‰jp                  ‰jr                  ‰j`                  ‰j                  ¬«      |
_        ‰j.                  €J ‚tw        |
j8                  ‰j.                  «       d d d «       d d d «       t;        |
«      sJ d«       ‚‰jB                  rd|
_!        ‰jB                  �r|	�s‰ je                  |
«      }
�n‰jx                  r0‰jz                  rddl5m6}  |d«       d+ˆˆ ˆ#ˆ ˆˆˆfd„Š  ‰ ‰«      }
�nÇ‰j|                  r™‰j                  j~                  dvr�‰j€                  €J ‚‰jx                  rJ ‚‰ jƒ                  ‰j€                  ‰‰#‰‰«      }‰ jE                  t        j„                  |«      «      }
t        j†                  ‰jˆ                  |
«       �n"‰jz                  �r}‰jŠ                  €J ‚d }‰r.‰�,ddlFmG} t‘        ‰|«      sJ ‚‰j’                  �‰j’                  }‰ jƒ                  ‰jŠ                  ‰‰#t        j”                  j–                  j™                  ‰d«      |«      }	 	 	 	 	 	 d,d„}t        j                  j›                  t        j                  j                  jœ                  «      }t        j                  jŸ                  t        j                  j                  jœ                  d«       	 |j`                  ‰j`                  k(  rn® ||j`                  ‰j`                  «      r%‰ jE                  t        j                   |«      «      }nl |‰j`                  |j`                  «      r%‰ jE                  t        j¢                  |«      «      }n*‰ jE                  |j¥                  ‰j`                  «      «      }‰j*                  r8t        j0                  «       5   ||‰«      }
d d d «       ‰jB                  
_!        nÖ‰jŠ                  jB                  ‰jB                  k(  r't        jH                  «       5   ||‰«      }
d d d «       nŒ‰jB                  sJ ‚t        j0                  «       5  ‰ jE                  |j¥                  |jZ                  «      «      }d d d «       ‰jB                  _!        t        jH                  «       5   ||‰«      }
d d d «       ‰j¦                  €J ‚t        j                  j¨                  j«                  
‰j¦                  «       t        j                  jŸ                  t        j                  j                  jœ                  |«       �n˜‰j*                  }	‰j¬                  s‰j®                  s‰jx                  s‰j°                  rt²        cd d d «       S  ‰)‰‰‰«      \  Š'Š(}‰jh                  r ‰$‰‰'‰(¬«      }
nØ ‰#ˆ'ˆ(ˆfd„«      }
‰ j,                  r¿t        j0                  «       5  t3        «       5  ‰jp                  €J ‚‰jr                  €J ‚t5        |
«      sJ ‚t        jt                  ‰jp                  ‰jr                  ‰j`                  ‰j                  ¬«      |
_        tw        |
j8                  ‰j.                  «       d d d «       d d d «       t;        |
«      sJ d«       ‚‰jB                  r$‰jB                  |
_!        |	s‰ je                  |
«      }
‰j´                  }|€J ‚|j¶                  ‰ j¸                  vr®|
jf                  s&|
js                  «       ‰(k(  r�|
j»                  «       |k(  r|‰ j½                  ||
j¿                  «       «       ‰ j,                  �r†t5        |
«      sJ ‚|
j8                  €J ‚tÁ        |
j¿                  «       |
j8                  j¿                  «       «       �n7‰ jÃ                  |‰#¬«      }t        j                  «       }dd lbmc}md}  ||
«      }|� ||«      }t        j0                  «       5   ‰&«       5  |5  |
jË                  ||‰'‰(«       d d d «       ‰ j,                  ržt        j0                  «       5  t3        «       5  t5        |
«      sJ ‚|
j8                  €J ‚‰jr                  €J ‚|
j8                  jË                  tÍ        |«      ‰jº                  ‰jp                  ‰jr                  «       d d d «       d d d «       d d d «       d d d «       ‰jÎ                  �1dd!lmL} ‰ jƒ                  ‰jÎ                  ‰‰# |‰d"«      ‰«      
_g        t        j                  jÑ                  
‰jÒ                  «       t        j                  jÕ                  |
‰jÖ                  «       d d d «       ‰j®                  xr ‰jØ                  ‰k(  }tÛ        tÜ        ‰
d|¬#«       dd$lFmo} ‰j´                  �> |‰j´                  jp                  dk(  «      r|
j¿                  «       já                  d«       ‰jâ                  rd|
_r        ‰jæ                  �8t5        |
«      sJ ‚|
jè                  jë                  ‰jæ                  ¬%«      |
_v        ‰ jï                  ‰|
«       ‰ jñ                  ‰«      S # 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   �
Œ2xY w# 1 sw Y   �
Œ7xY w# 1 sw Y   �ŒÿxY w# 1 sw Y   �Œ$xY w# 1 sw Y   �Œhx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   �ŒHx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   �Œ6xY w)-N©rÄ   r   )ÚConstantSourceÚ__meta_utils_unknown_tensorrŽ   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rG   ©Ú#_maybe_specialize_sym_int_with_hint)Ú.0ÚszÚ	shape_envs     €r0   ú	<genexpr>zVMetaConverter.meta_tensor.<locals>.sym_sizes_strides_storage_offset.<locals>.<genexpr>—  s$   øè ø€ ò #àð "×EÑEÀb×Iñ#ùó   ƒc              3  ó@   •K  — | ]  }‰j                  |«      –— Œ y ­wrG   r‹  )r�  Úsdr�  s     €r0   r�  zVMetaConverter.meta_tensor.<locals>.sym_sizes_strides_storage_offset.<locals>.<genexpr>›  s$   øè ø€ ò %àð "×EÑEÀb×Iñ%ùr‘  )Úsymbolic_context)r_   rÐ   r�  r¦   r`   r6  rŒ  Ú-_create_symbolic_sizes_strides_storage_offsetÚranger½   rÅ   )	r/   rM  r”  rÐ   Út_sizeÚt_strideÚt_storage_offsetÚdr�  s	           €r0   Ú 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 rn  ©rk   Úempty_stridedrS   )Úinner_tÚ	inner_srcr”  Úinner_sizesÚinner_stridesÚ_inner_storage_offsetr›  s         €r0   Úempty_createz/MetaConverter.meta_tensor.<locals>.empty_create­  sC   ø€ ñ 1°¸)ÐEUÓVñ	ØØØ%ä×&Ñ&ØØØ—m‘mØô	ð r2   c                óì  •‡‡‡— ddl mŠ ddlmŠ | j                  €J ‚| j
                  €J ‚|�|n| j                  }|�|n| j                  }|�t        |‰«      sJ ‚	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	ˆˆˆˆ
ˆfd„Š|€J ‚ ‰| |||‰	|«      }|j                  |k(  s$J d| j
                  › d|› d|j                  › �«       ‚|j                  «       |k(  s(J d| j
                  › d|› d|j                  «       › �«       ‚|S )
Nr   ©Ú
AttrSource)ÚSubclassSymbolicContextc           	     óR  •— | j                   €‰j                  | ‰|||«      S i }| j                   j                  «       D ]±  \  }}d }	|�Xt        |‰«      sJ ‚|j                  |   x}
	 �8t        t        j                  j                  j                  j                  |
«      }	 ‰||«      }t        j                  ||j                  ¬«      } ‰||j                  |j                  |	||«      }|||<   Œ³ | j                   €J ‚| j                   j#                  || j$                  ||«      S )Nr†  )rÒ   Úmeta_tensorr9  r.   Úinner_contextsr€   rk   ÚfxÚexperimentalÚsymbolic_shapesr+   Ú	functoolsÚpartialrÄ   r¦   r_   r}   Ú__tensor_unflatten__rÓ   )r/   Ú
outer_sizeÚouter_strider”  rt  ÚsourceÚinner_tensorsrø   Úmeta_tensor_descÚcurrent_contextÚcurrent_context_Úcurrent_sourceÚinner_callbackÚnew_empty_tensorr§  r¨  Ú_empty_create_subclassr™   r�  s                 €€€€€r0   r¼  zXMetaConverter.meta_tensor.<locals>.empty_create_subclass.<locals>._empty_create_subclassã  sO  ø€ ð —7‘7�?Ø×+Ñ+ØØ!Ø ØØ(óð ð !#�Ø./¯g©g¯m©m«oò ;Ñ*�DÐ*Ø&*�OØ'Ð3Ü)Ð*:Ð<SÔTÐTÐTà0@×0OÑ0OÐPTÑ0UÐUÐ,Ø!%ð&ô /<Ü %§¡× 5Ñ 5× EÑ E× UÑ UØ 0ó/˜Oñ
 &0°¸Ó%=�NÜ%.×%6Ñ%6Ø Ð)9×)@Ñ)@ô&�Nñ (>Ø(Ø(×-Ñ-Ø(×/Ñ/Ø'Ø&Ø&ó(Ð$ð +;�M $Ò'ð1;ð4 —v‘vÐ)Ð)Ð)Ø—v‘v×2Ñ2Ø! 1§5¡5¨*°lóð r2   zExpected return value from z.__tensor_unflatten__() to have shape equal to z, but got: z/__tensor_unflatten__() to have stride equal to )r/   r4   r²  r0  r³  r0  r”  ú?Optional[torch.fx.experimental.symbolic_shapes.SymbolicContext]rt  ú&_MetaTensorCallbackOptDevice[_TensorT]r´  útorch._guards.Sourceri   r6   )
Útorch._dynamo.sourcer§  Ú%torch.fx.experimental.symbolic_shapesr¨  rÒ   r}   r¦   r_   r.   rT   )r/   r²  r³  r”  r´  Úsubr§  r¨  r¼  rt  r™   r�  s         @@@€€€r0   Úempty_create_subclassz8MetaConverter.meta_tensor.<locals>.empty_create_subclassÂ  si  û€ õ 8ÝUà—7‘7Ð&Ð&Ð&Ø—6‘6Ð%Ð%Ð%ð (2Ð'=™À1Ç6Á6ˆJØ+7Ð+C™<ÈÏÉˆLà#Ð+¬zØ Ð"9ô0ð ð ð3Ø!ð3à5ð3ð 8ð3ð#ð	3ð Að3ð -ð3ð ÷3ñ 3ðj Ð%Ð%Ð%Ù(Ø�:˜|Ð-=¸xÈóˆCð —9‘9 
Ò*ð Ø-¨a¯f©f¨Xð 6"Ø", ¨[¸¿¹¸ðEóÐ*ð —:‘:“< <Ò/ð Ø-¨a¯f©f¨Xð 6#Ø#/ .°¸C¿J¹J»L¸>ðKóÐ/ð
 ˆJr2   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   r¦  )Ú
DimDynamicÚStatelessSymbolicContextr¨  rd   )Údynamic_sizesÚconstraint_sizesr«  Útensor_sourceÚview_base_context)rÇ  rÈ  rÊ  )rÀ  r§  rÁ  rÅ  rÆ  r¨  ra   rc   ÚDYNAMICr½   r$   rÒ   r9  r.   r7  )r/   r´  r�  rt  r§  rÅ  rÆ  r¨  rÊ  Út_dynamic_sizesr«  rø   ÚinnerÚt_symbolic_contextÚall_dynamic_symbolic_contexts                 €r0   rÏ  z?MetaConverter.meta_tensor.<locals>.all_dynamic_symbolic_context/  s4  ø€ õ 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ô&Ð"ð &Ð%r2   c                ój  •‡‡‡‡—  ‰|‰«      \  }}}|j                   s>t        | «      s3 ‰«       5  ‰j                  | j                  |||«      «      cd d d «       S ddlmŠ ddlmŠm} dˆˆˆˆfd„}i Š|j                   rg|j                  €J ‚|j                  €J ‚ ‰|||¬«      }|j                  «       \  }	}
|	D ](  }t        ||«      ‰|j                  |   j                  <   Œ* ‰‰f	 	 	 	 	 	 	 dˆˆˆˆfd„}|j                  €J ‚|j                  j                  || ||«      }t        j                    ||j#                  «       |«      «       t        j                    ||j%                  «       |«      «       t        j                    ||j'                  «       |«      «       |S # 1 sw Y   �ŒUxY w)	Nr   )ÚEphemeralSource)rÆ  Ú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   )rÅ  c              3  ó:   •K  — | ]  }|‰j                   u –— Œ y ­wrG   )ÚSTATIC)r�  ÚxrÅ  s     €r0   r�  z_MetaConverter.meta_tensor.<locals>.view_from_base.<locals>.symint_visitor_fn.<locals>.<genexpr>¢  s!   øè ø€ ò Ø34˜˜Z×.Ñ.Ô.ñùs   ƒr  )Úpositive)Úhintr´  )rÁ  rÅ  r.   ÚallrÇ  Úcreate_symbolÚcreate_symintnode)	r¡   Úall_static_sizesÚ
sym_sourceÚsymbolrÅ  rÑ  rÆ  r�  r”  s	       @€€€€r0   r  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ÐUr2   ©r²  r³  c                óî   •— | €y ‰
j                   j                  | «      }‰	j                  |d «      }|�|S ‰
j                   j                  | «      } ‰d«      }‰
j	                  |||| ‰||||«      «      S )Nr  )r]  rž   rb  rn   rª  )Ú	visited_tr�  rt  Ú
visited_idÚfake_visited_tÚvisited_descÚtemp_sourcerÑ  rÏ  Úreal_to_fake_mappingr™   s          €€€€r0   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�Ø×'Ñ'Ø ØØØÙ0Ø$ k°9¸hóóð r2   )r¡   r  ri   r  )rá  rh   r�  ú8Optional[torch.fx.experimental.symbolic_shapes.ShapeEnv]rt  r¾  ri   rh   )r$   r|  Ú
as_stridedrÀ  rÑ  rÁ  rÆ  rÒ  rÒ   r}   rº   râ   r�   rÑ   r  rk   Ú_checkr¦   r_   r`   )rc   r/   r�  ÚsizesÚstridesr`   rÒ  r  Úfake_trÒ   Ú_rø   r  rÑ  rÆ  ræ  rÏ  rt  rÃ  Úmaybe_suppressr™   r´  r›  r”  s     `          @@@€€€€€€€€r0   Úview_from_basez1MetaConverter.meta_tensor.<locals>.view_from_base~  sÐ  ü€ ñ 0PØ�6ó0Ñ,ˆU�G˜^ð ×3Ò3Ü5°dÔ;ñ
 $Ó%ñ Ø×6Ñ6ØŸ™¨¨w¸ÓGó÷ñ õ
 =÷÷
Vð Vð6 $&Ð Ø×.Ò.Ø—w‘wÐ*Ð*Ð*ð —v‘vÐ)Ð)Ð)ñ $9Ø %°gô$�ð "×4Ñ4Ó6‘��qØ!ò S�DÜ=DÀVÈTÓ=RÐ(¨¯©°©×)9Ñ)9Ò:ðSð ØCKð'Ø'ð'ðð	'ð Að'ð ÷'ð 'ðV —;‘;Ð*Ð*Ð*ð —[‘[×&Ñ& q¨$Ð0AÐCTÓUˆFô
 �L‰L™ §¡£¨uÓ5Ô6Ü�L‰L™ §¡£°Ó9Ô:Ü�L‰L™ × 5Ñ 5Ó 7¸ÓHÔIØˆM÷iñ ús   ±"F(Æ(F2éþÿÿÿc                 óÎ   •— t         j                  j                  j                  ‰ j                  ‰ j
                  ‰ j                  ‰ j                  t         j                  d¬«      S )Nro  )rS   rZ   rÄ   )	rk   ÚopsÚatenÚ_sparse_coo_tensor_with_dimsr\   r[   r¦   rS   rq   r=   s   €r0   r®   z+MetaConverter.meta_tensor.<locals>.<lambda>  sH   ø€ ¤§	¡	§¡× KÑ KØŸL™LØŸK™KØŸF™FØ"#§'¡'Ü#(×#3Ñ#3Ø#)ð !Ló !€ r2   z)the callback you passed in doesn't detachTé   rJ   c            
     ó¶   •— t         j                  j                  j                  d‰j                  ‰j
                  ‰ ‰‰j                  ‰j                  d¬«      S )Nr   ro  )rZ   rS   rÄ   )rk   rò  ró  Ú#_sparse_compressed_tensor_with_dimsr[   rT   rZ   rS   )Ú	blocksizeÚindex_dtyper/   s   €€€r0   r®   z+MetaConverter.meta_tensor.<locals>.<lambda>D  sH   ø€ ¤§	¡	§¡× RÑ RØØŸK™KØŸG™GØ%Ø'Ø#$§8¡8Ø"#§'¡'Ø#)ð !Só 	!€ r2   )Úunimplementedz;strided nested tensors are not supported by meta conversionc                 óJ   •— t        j                  ‰ ‰‰j                  d¬«      S rn  r�  ©rê  rë  r/   s   €€€r0   r®   z+MetaConverter.meta_tensor.<locals>.<lambda>m  s   ø€ ¤× 3Ñ 3Ø! 7°!·'±'À&ô!€ r2   rp  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  ‰j                  t        |||«      «      }d d d «       |S ‰ j                  �r.‰ j                  €J ‚‰ j                  €J ‚t        j                  j                  } |«       5   ‰
‰ j                  «      }d d d «       ‰ j                  }|‰	k(  r}nut        j
                  j                  j                  ‰ j                  «      5  ‰j                  t        j                  j
                  j                  |«      «      }d d d «       ‰ j                  }‰ j                   rt#        «      r	d|_        |S ‰ j                   r|s‰j%                  «      }S ‰ j&                  rb‰ j                  €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   �ŒBxY w# 1 sw Y   �ŒÆxY w# 1 sw Y   Œ<xY w# 1 sw Y   |S xY w)NTc                 óJ   •— t        j                  ‰ ‰‰j                  d¬«      S rn  r�  rü  s   €€€r0   r®   zDMetaConverter.meta_tensor.<locals>._to_fake_tensor.<locals>.<lambda>Í  s"   ø€ ¬×(;Ñ(;Ø$)Ø$+Ø*+¯'©'Ø+1ô	)"€ r2   rp  )"r   rÍ   rÎ   rÏ   rk   rÞ   rß   Ú%temporarily_restore_interpreter_stackrÔ   r|  r   r   rÜ   Ú_DisableFuncTorchÚ_wrap_for_gradr;   rU   r>   r„  rÃ   rÖ   rª  r   r_   r¦   rŒ   rs  r#   rž  rS   rÄ   Úreal_tensorr§   rN  )r/   ÚftÚlvlrÏ   r­   Údisable_functorchr;   rê  rë  ÚGRAD_TENSOR_SENTINEL_VALUEÚ_to_fake_tensorrt  r™   r�  r´  r”  s   `      @@€€€€€€€r0   r  z2MetaConverter.meta_tensor.<locals>._to_fake_tensorŠ  sB  û€ ð ×-Ò-Ø#$§;¡;Ð#:Ð:Ð#:Ø#$§7¡7Ð#6Ð6Ð#6Ø#$§6¡6Ð#5Ð5Ð#5Ù!0°·±Ó!=˜BØ"#§'¡'˜CØ#$§6¡6˜Dô
 "'×!1Ñ!1×!=Ñ!=×!cÑ!cØ !× 1Ñ 1ó"ñ "ð %)×$?Ñ$?Ü$2°2°t¸SÓ$Aó%" ÷"ðL  !˜ð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ó&"ñ !&ð )-×(CÑ(CÜ(-¯©×(;Ñ(;×(JÑ(JÈ2ÈsÓ(Só)& A÷!&ð '(§i¡i˜GØ Ÿš´<À´?Ø26 ¤ðZ  !˜ðY "#§¢¹Ø$(×$8Ñ$8¸Ó$; ðV  !˜ðU Ÿ_š_Ø#$§;¡;Ð#:Ð:Ð#:Ø#$§?¡?Ð#>Ð>Ð#>Ø!%×!1Ñ!1Ø !§¡Ø )Ø (ð
 !'Ø 0ó
"˜Bð !%× ;Ñ ;Ü 7¸¸A¿O¹OÓ Ló!˜Að8  !˜ð/ $%§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˜÷M"ðL  !˜ú÷yBñ Bú÷!&ñ !&ú÷Z!Fð !Fú÷ !Fð  !˜úsI   ÂMÄ	MÅ+:M)Ê;NËA5M6Ì;NÍMÍM&Í)M3Í6M?	Í;NÎNr·   )rÆ  rd   c                ó`   — t        j                  | «      xr t        j                  | «      |k(  S rG   )ÚutilsÚis_complex_dtypeÚcorresponding_real_dtype)Úcomplex_dtypeÚ
real_dtypes     r0   Ú	is_c_of_rz,MetaConverter.meta_tensor.<locals>.is_c_of_r  s2   € ô "×2Ñ2°=ÓAò *Ü %× >Ñ >¸}Ó MØ)ñ!*ðr2   Frß  c                 óJ   •— t        j                  ‰ ‰‰j                  d¬«      S rn  r�  rü  s   €€€r0   r®   z+MetaConverter.meta_tensor.<locals>.<lambda>‚  s"   ø€ ¤E×$7Ñ$7Ø %Ø 'Ø&'§g¡gØ'-ô	%€ r2   )rt  )Úin_kernel_invocation_managerrï   r¦  rD   rN   )Úguard_size_oblivious)Únt_tensor_id)r/   r4   rM  r¿  r”  r½  ri   z,tuple[tuple[int, ...], tuple[int, ...], int])rŸ  r4   r   r¿  r”  r½  ri   rh   )r/   r4   r²  r.  r³  r.  r”  r½  r´  zOptional[torch._guards.Source]ri   r6   )
r/   r4   r´  r¿  r�  rç  rt  ú_MetaTensorCallback[_TensorT]ri   z5torch.fx.experimental.symbolic_shapes.SymbolicContext)rc   r6   r/   r4   r�  rç  ri   r6   ©r/   r4   ri   r6   )r  r-  r  r-  ri   rú   )yr¯  r°  rÄ   rÀ  r‡  ÚlenrX  rk   rÜ   Ú_dispatch_tls_local_exclude_setÚhasÚDispatchKeyÚPythonr\  Ú
contextlibÚnullcontextÚsuppress_guardsrc  Úinference_moderW   rV   r;   rŒ   r§   rs  r#   r1   rQ  r  r>   Ú_coalesced_rú   r]   rU   r|  rP  Úenable_gradrx   rZ   rv   rw   r\   r[   rË   r½   rT   rt   rÇ   rS   rÉ   r„  rÁ   r$   Útorch._dynamo.excrú  r¾   r¦   r_   rž  rN  r¿   ra   rÃ   r}   rÍ   rª  Ú_to_functional_tensorÚ_mirror_autograd_meta_torÕ   rc   rÁ  rÆ  r.   rÊ  Ú_dynamor´  r§  Ú&_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¼   r�   rW  r`   rk  rÙ   r†   rw  r-   r  rï   Úset_r„   rD   Ú	_set_conjrX   Ú_set_negrY   rÎ   ro   rM   r  Úresize_rÀ   Ú	_is_paramrÂ   rÐ   Úcreate_symbolic_nested_intÚnested_int_memorg  re  )*r™   r/   r�  Ú	callback_r´  r”  r‡  r¤  rï  r;   r­   Ú	batch_dimrú  Ú_storage_offsetrÍ   Úbase_symbolic_contextrÆ  rc   r  Úold_excludeÚmidr`   r¡   rv  Úmaybe_fake_mgrr  rï   Úmb_fake_moder§  rP   r  r  r  rÏ  rø  rt  rÃ  rù  rî  rê  rë  r›  s*   ``` ``                         @@@@@@@@@@@r0   rª  zMetaConverter.meta_tensorO  s  ÿÿ€ ô 2;×1BÑ1BØ˜aŸh™hô2
ˆð ˆ>Ý;ñ $Ø-¬c°$×2BÑ2BÓ.CÐ-DÐEóˆFô —8‘8×;Ñ;Ó=×AÑAÜ�H‰H× Ñ ×'Ñ'ô
ð 	
ð 
ð 	�Š˜Ñ�ô4 -7×,BÑ,BˆØÐ Ø&×6Ñ6ˆNð !ð$	<Øð$	<à%ð$	<ðð$	<ð :õ$	<ðV !ð	Ø#ð	à+ð	ðð	ð õ	ð6 !Ø5;ðg	Øðg	à'ðg	ð *ðg	ðð	g	ð 3ðg	ð ÷g	ðZ0	&Øð0	&à(ð0	&ð Pð0	&ð 4ð	0	&ð
 Cõ0	&ðh ðF	ØðF	àðF	ððF	ð ÷F	ô F	ðP ×Ñ Ó"Ñ*Ø)+Ð&ä×%Ñ% a§n¡nÓ5ñ n/Ø—;“;ØŸi™i�Gñ
 !óó	�Að —~’~à Ÿv™vÐ1Ð1Ð1Ü"Ÿ]™]›_ñ @¬k«mñ @Ü#2°1Ô#5Ð5Ð#5Ü,7¸¿¹Ó,?˜AœM÷@÷ @ô (¨œ?ÐWÐ,WÓW˜?ð —M‘M¤$ q§~¡~Ó"6Ô7Ø—’Ø*.˜œØ—“ªwð
 !×7Ñ7¸¿¹»	ÓB˜Ü"×.Ñ.Ó0ñ @ØŸM™M¬$¨q¯~©~Ó*>Ô?÷@ñ @ä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ñ @Ü#2°1Ô#5Ð5Ð#5Ü,7¸¿¹Ó,?˜AœM÷@÷ @ô (¨œ?ÐWÐ,WÓW˜?Ø—’Ø*.˜œØ—“ªwØ ×0Ñ0°Ó3šØ—[’[¨×)HÒ)Hõ @á!ØUöð —[“[ØŸi™i�Gñ
 9¸¸FÓCñ	ØØØ'ñ !õó�Að
 —~’~Ü"Ÿ]™]›_ñ >¬k«mñ >Ø#$§6¡6Ð#5Ð5Ð#5Ø#$§8¡8Ð#7Ð7Ð#7Ü#2°1Ô#5Ð5Ð#5Ü,1×,?Ñ,?Ø !§¡¨¯©¸¿¹ÈÏÉô-˜AœMð $%§6¡6Ð#5Ð5Ð#5Ü& q§}¡}°a·f±fÔ=÷>÷ >ô (¨œ?ÐWÐ,WÓW˜?Ø—’Ø*.˜œØ—“ªwØ ×0Ñ0°Ó3šØ×+Ò+Ø—y’yÝCá%ØYô÷U!ó U!ñn (¨Ó*’Aà—_’_¨¯©¯©¸oÑ)MØŸ;™;Ð2Ð2Ð2Ø ×5Ò5Ð5Ð5Ø $× 0Ñ 0ØŸ™Ø!Ø ØØ(ó!�Ið ×3Ñ3Ü×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à×+Ñ+ØŸ™Ø!Ø ÜŸ™×,Ñ,×7Ñ7¸ÀÓHØ-ó�DðØ'2ðØ@Kðàóô #(§(¡(×"QÑ"QÜŸ™×,Ñ,×<Ñ<ó#�Kô —H‘H×DÑDÜŸ™×,Ñ,×<Ñ<¸eôðEØŸ:™:¨¯©Ò0Ø Ù& t§z¡z°1·7±7Ô;Ø#'×#>Ñ#>¼u×?QÑ?QÐRVÓ?WÓ#X™DÙ& q§w¡w°·
±
Ô;Ø#'×#>Ñ#>Ü %× 5Ñ 5°dÓ ;ó$™Dð $(×#>Ñ#>¸t¿y¹yÈÏÉÓ?QÓ#R˜Dð& Ÿ9š9ô "'§¡£ñ <Ù$2°4¸Ó$; ÷<ð /0¯o©o˜A�Oà Ÿv™v×3Ñ3°q·±ÒFä%*×%6Ñ%6Ó%8ñ !@Ù(6°t¸QÓ(? A÷!@ð !@ð ()§¢Ð 6 Ü%*§]¡]£_ñ !&Ø*.×*EÑ*EØ(,¯	©	°$·*±*Ó(=ó+& C÷!&ð 56·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Ü-÷Sn/ñ n/ñ^ 9¸¸FÐDTÓUñ	ØØØ&ð
 ×6Ò6Ù1Ø¨%¸gô™ñ %õó˜ð  Ÿ>š>Ü!&§¡£ñ B´+³-ñ BØ'(§v¡vÐ'9Ð 9Ð'9Ø'(§x¡xÐ';Ð ;Ð';Ü'6°qÔ'9Ð 9Ð'9Ü05×0CÑ0CØ$%§F¡F¨A¯H©H¸A¿G¹GÈAÏHÉHô1" ¤ô !+¨1¯=©=¸!¿&¹&Ô A÷B÷ Bô (¨œ?ÐWÐ,WÓW˜?Ø—’Ø*+¯/©/˜œÙ&ð !%× 4Ñ 4°QÓ 7˜AàŸ	™	�AØ˜=Ð(˜=Ø—t‘t 4×#4Ñ#4Ñ4ØŸšàŸH™H›J¨'Ò1Ø !× 0Ñ 0Ó 2°nÒ Dð ×-Ñ-¨a°×1BÑ1BÓ1DÔEØŸ>›>Ü#2°1Ô#5Ð5Ð#5Ø#$§=¡=Ð#<Ð<Ð#<Ü-Ø !× 1Ñ 1Ó 3°Q·]±]×5RÑ5RÓ5Töð #×/Ñ/°¸HÐ/ÓE˜ô. '×2Ñ2Ó4ð '÷ñ
 (;¸1Ó'=˜Ø'Ð3Ù-IÈ,Ó-W˜NÜ"Ÿ]™]›_ñ &©nÓ.>ñ &Ø!/ñ LØ !§¡ s¨N¸EÀ7Ô K÷Là#Ÿ~š~Ü%*§]¡]£_ñ 	!&´k³mñ 	!&Ü+:¸1Ô+=Ð$=Ð+=Ø+,¯=©=Ð+DÐ$DÐ+DØ+,¯8©8Ð+?Ð$?Ð+?Ø$%§M¡M×$6Ñ$6Ü(9¸#Ó(>Ø()×(8Ñ(8Ø()¯©Ø()¯©ô	%&÷		!&÷ 	!&÷	&÷ &ð —6‘6Ð%Ý?ð "×-Ñ-ØŸ™Ø!Ø Ù" 6¨6Ó2Ø(ó�A”Fô —‘×"Ñ" 1 a§i¡iÔ0Ü—‘×!Ñ! ! Q§X¡XÔ.÷]n/ðb ×'Ñ'ÒQ¨A¯G©GÐ7QÑ,Qð ô œy¨!¨Q¸dÈiÕXõ Sà�y‰yÐ$Ñ)=¸a¿i¹i¿n¹nÐPQÑ>QÔ)RØ×!Ñ!Ó#×+Ñ+¨AÔ.à�~Š~Ø"�”ð �|‰|Ð'Ü& qÔ)Ð)Ð)Ø$%§K¡K×$JÑ$JØ!"§¡ð %Kó %�Ô!ð × Ñ   AÔ&à×,Ñ,¨QÓ/Ð/÷i@ñ @ú÷ @ñ @ú÷$@ñ @ú÷F@ñ @ú÷ @ñ @ú÷@>ñ >ú÷ >ñ >ú÷h<ñ <ú÷!@ñ !@ú÷!&ñ !&ú÷
!?ñ !?ûô Ÿ™×HÑHÜ!ŸH™H×0Ñ0×@Ñ@À+õú÷HBñ Bú÷ Bñ Bú÷dLñ Lú÷	!&ñ 	!&ú÷ 	!&ñ 	!&ú÷	&ñ &ú÷ &ñ &ú÷en/ñ n/úsJ  Å)AAC9Æ<Ç(Ç/Ç7BAC9Ê%"Ê0E:AC9Ð*<Ð5(/Ñ<Ñ%CAC9Ô0A@Ô;BA@	×A@×!IAC9à4C(AAä
A@#ä&AAAå7
A@0æ+AAæ,+A@=ç-AAè
AA
èA
AAéBAC9ë'AAC9ì:AB+íBABïAB+ïE5AC9õAC,õACõAB8	õ2(ACöAC	ö%A/ACøAC	øACø$AC,ø,BAC9ÿÿÿ	ÿAC9ÿ",	ÿ'AC9ÿ/9ÿ4<ÿ<A@	Á@AC9Á@	A@Á@A@Á@A@ 	Á@AC9Á@#A@-	Á@(AAÁ@0A@:	Á@5AAÁ@=AA	ÁAAAÁA
AA	ÁAAAÁAAABÁBAC9ÁBAB(ÁB#AB+ÁB+AB5	ÁB0AC9ÁB8ACÁB=ACÁCACÁC
AC	ÁCACÁCACÁCAC)ÁC$AC,ÁC,AC6	ÁC1AC9ÁC9ADT)rt  r´  r”  r¤   c               ó$  ‡ ‡‡— |€‰ j                   }n|}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‰€J ‚t#        dˆ ˆˆfd„¬«       t%        j&                  «       5 }|j)                  t        j*                  j,                  j/                  «       «       t1        «       }	|	�7|j)                  t        j2                  j4                  j7                  «       «       ‰ j9                  ‰||‰|«      }
d d d «       t        |«      t        j:                  j<                  u rd
_        
S # 1 sw Y   Œ7xY w)	Nr¹   rŽ   Fr£   Údescribe_sourcec                 óh   •— ‰ j                   j                  ‰j                  ‰j                  «       dœS )N)r  r�   r´  )r]  r�   rB  )r™   r´  Út_descs   €€€r0   r®   z(MetaConverter.__call__.<locals>.<lambda>O  s'   ø€ Ø$(§N¡N×$5Ñ$5Ø Ÿ)™)Ø$Ÿk™k›mñ%€ r2   r°   T) r~  r.   rk   rl   rÄ   r}   Úis_quantizedrb   rd   rV   rZ  r+  rY  Ú	overridesÚis_tensor_liker]  rn   r"   r  Ú	ExitStackÚenter_contextÚ	_dispatchÚpythonÚsuspend_functionalizationr!   rÞ   rß   rà   rª  rç   rè   r0  )r™   r/   r�  rt  r´  r”  r¤   r3  Ú
exit_stackÚstr­   r>  s   `   `      @r0   r!  zMetaConverter.__call__  s¸  ú€ ð ÐØ×/Ñ/‰Ià ˆIô �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ôð × Ñ ØØØØØ óˆA÷	ô  �‹7”e—h‘h×(Ñ(Ñ(ð ˆAŒKð ˆ÷-	ð 	ús   Å BHÈHrù   )ri   rú   )r/   r4   ri   r2  r  )r/   r4   r;  r6   ri   rj   )r¡   r²   ri   r  )r¡   r²   r;  rû   ri   rj   )r¡   r²   rt  z0Callable[[Callable[[], torch.Tensor]], _TensorT]ri   rû   )r/   rh   ri   r6   rG   )r/   r"  rÄ   z"Optional[Union[torch.device, str]]ri   r6   )r/   r6   ri   r6   )r/   r4   r�  úOptional[ShapeEnv]r3  r  r´  úOptional[Source]r”  úOptional[SymbolicContext]ri   r6   )r/   rh   r�  rI  rt  z'Optional[_MetaTensorCallback[_TensorT]]r´  rJ  r”  rK  r¤   rú   ri   r6   )rü   rý   rþ   rš   r_  rc  re  rg  ri  rk  rw  Úclassmethodr|  r~  r„  rª  r!  rJ   r2   r0   rS  rS  ó  s\  „ Ø,1õ Bó*/ó0óó
#ó1ó$ðàðð Cðð 
ó	ð, ò(ó ð(ð ð 6:ð/à%ð/ð 3ð/ð 
ò	/ó ð/ð ò*ó ð*ðB0àðB0ð &ðB0ð 1ð	B0ð
 !ðB0ð 4ðB0ð 
óB0ðN )-ð\ð
 =AØ#'Ø6:ð ñ\àð\ð &ð\ð
 :ð\ð !ð\ð 4ð\ð ð\ð 
ô\r2   rS  )r/   r?  ri   zTypeIs[FakeTensor])r/   ú#Union[MetaTensorDesc, torch.Tensor]ri   rú   )r/   r3   ri   zOptional[_TensorLikeT])r/   r3   ri   r3   )rK   r5   rL   r5   ri   rj   )rM   z Callable[[object, object], None]re   rM  rf   rh   rO   rú   rP   rú   ri   rj   )r/   r?  ri   zTypeGuard[torch.Tensor])rZ   r/  ri   rú   )r~   ztype[_T]r   r?  ri   r5   )rc   rû   ri   rû   )rc   rû   rƒ   rû   ri   rj   )rL  rh   rM  r2  ri   rj   )rM  rh   ri   r2  )dÚ
__future__r   r  r@  r¯  ry  rA   rU  Úabcr   r   r   r   r   r	   r
   r   r   r   r   r   r   Útyping_extensionsr   r   r   r   r   rk   Ú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*   r+   r1   rê   ÚDimListrl   r3   r5   r6   r8   r>   rE   rH   rM   ro   rr   rx   r^   r{   r€   r„   r†   r  r‡   rˆ   r‰   r�   rm   r²   rä   r  r  r  r&  r)  r4   rN  rQ  rS  Útorch._prims_commonÚ_prims_commonr	  rJ   r2   r0   ú<module>r[     s®  ðÝ "ã Û Û Û Û Û Ý Ý -Ý !÷÷ ÷ ÷ MÕ Lã Ý +÷÷ ÷ ñ õ ,Ý /Ý FÝ 0ñ Ý0Ý$ßH÷
 Pó%ð €Ù�~Ð'7¸¿¹ÓF€ÙˆTƒ]€Ù�: U§\¡\Ô2€Ù�~¨U¯\©\ÀTÔJ€óóóó!ð  Øñ6Ø/ð6à+ð6ð 	ð6ð
 ð6ð ð6ð 
ó6ótHóóQó
7óó
ð%Ø
ð%Ø.Bð%à	ó%ñ ˜¨Ó-€Ù�~ sÓ+€ñ �~ sÓ+€Ù  “OÐ ÷Kñ Kñ\ �$Ô÷
ð 
ó ð
ñ �$Ôô8ˆw�xÑ ó 8ó ð8ñ& �$Ôô
˜( <Ñ0ó 
ó ð
ñ �$ÔôI�h˜xÑ(¨'°(Ñ*;ó Ió ðIô6˜( G¨LÑ$9ô ô% 	°õ %ô 8¨W°\Ñ-Bô ñ �$ÔôR�W˜XÑ&ó Ró ðRóBóô|�G˜HÑ%ô |ö~# $r2   