ó
    Eñi  ã                   ó2  • S SK r S SKr\R                  R                  SS5      r\R                  S5        \R                  R                  \SS5      \R                  R                  \SS5      S\R                  S	\S
\R                  4S j5       5       r	S r
g)é    NÚexportÚFRAGMENTzLaccess_subclass_inner_tensor(Tensor src_subclass_tensor, str attr) -> TensorÚaccess_subclass_inner_tensorÚAutogradÚPythonÚsrc_subclass_tensorÚattrÚreturnc                 óØ   • SSK Jn  U" U 5      (       d  [        S[        U 5       35      e[	        XS 5      nUb  [        U[        R                  5      (       d  [        SU SU  35      eU$ )Nr   )Úis_traceable_wrapper_subclasszIExpected src_subclass_tensor to be a traceable wrapper subclass, but got z
Attribute z% is not a tensor or doesn't exist in )	Útorch.utils._python_dispatchr   ÚAssertionErrorÚtypeÚgetattrÚ
isinstanceÚtorchÚTensorÚRuntimeError)r   r	   r   Úvals       ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/export/custom_ops.pyÚ_access_subclass_inner_tensorr      s‚   € õ Ká(Ð)<×=Ñ=ÜðÜÐ/Ó0Ð1ð3ó
ð 	
ô Ð%¨TÓ
2€CØ
�{œ* S¬%¯,©,×7Ñ7ÜØ˜˜ÐCÐDWÐCXÐYó
ð 	
ð €Jó    c                 óÐ   • U R                  SS5      u  p4[        R                  " U5      n[        XT5      n[	        US5      (       d  [        SU  S35      eUR                  " U0 UD6$ )aA  
Import a custom autograd function by string name and call it. This is pretty bad
because:
1) There is no schema

Ideally we should automatically wrap custom autograd functions with a custom op, but
that is too much work because we need to schematize custom autograd functions. For now,
we just hackily put it in the IR.
Ú.é   ÚapplyzExpected function class z to have 'apply' method)ÚrsplitÚ	importlibÚimport_moduler   Úhasattrr   r   )Úfunction_cls_nameÚargsÚkwargsÚmodule_nameÚ
class_nameÚmoduleÚfunction_clss          r   Ú._call_custom_autograd_function_in_pre_dispatchr(   $   sv   € ð 0×6Ñ6°s¸AÓ>Ñ€Kô ×$Ò$ [Ó1€FÜ˜6Ó.€LÜ�< ×)Ñ)ÜØ&Ð'8Ð&9Ð9PÐQó
ð 	
ð ×Ò˜tÐ. vÑ.Ð.r   )r   r   ÚlibraryÚLibraryÚlibÚdefineÚimplr   Ústrr   r(   © r   r   Ú<module>r0      sŸ   ðã ã ð ‡m�m×Ñ˜H jÓ1€à ‡
�
ØRôð
 ‡�×Ñ�CÐ7¸ÓDð ‡�×Ñ�CÐ7¸ÓBðØŸ™ðØ-0ðà
‡\�\óó Có Eðó$/r   