ó
    ÊÓsh¤  ã                   ó`   • S SK r S SKrS SKJr  S\R                  S\\R                     4S jrg)é    N)Úis_traceable_wrapper_subclassÚtÚreturnc           	      óÔ  • U /n[        5       n[        U5      S:”  aÆ  UR                  5       n[        U5      (       a>  UR	                  5       u  pEUR                  U Vs/ s H  n[        X65      PM     sn5        OW[        US5      (       d'  [        R                  " S[        U5       3[        SS9  OUR                  UR                  5       5        [        U5      S:”  a  MÆ  U$ s  snf )zÎ
Recursively extracts untyped storages from a tensor or its subclasses.

Args:
    t (torch.Tensor): The tensor to extract storages from.

Returns:
    Set[torch.UntypedStorage]: A set of untyped storages.
r   Úuntyped_storagezEExpected a tensor or a traceable wrapper-subclass of tensor, but got é   )ÚcategoryÚ
stacklevel)ÚsetÚlenÚpopr   Ú__tensor_flatten__ÚextendÚgetattrÚhasattrÚwarningsÚwarnÚtypeÚUserWarningÚaddr   )r   Úunflattened_tensorsÚflattened_tensor_storagesÚobjÚattrsÚ_Úattrs          Úy/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/distributed/_tools/common_utils.pyÚget_untyped_storagesr      sÖ   € ð ˜#ÐÜ #£ÐÜ
Ð!Ó
" QÓ
&Ø!×%Ñ%Ó'ˆÜ(¨×-Ñ-Ø×-Ñ-Ó/‰HˆEØ×&Ñ&ÁuÓ'MÂu¸t¬°Ö(:ÁuÑ'MÕNä˜3Ð 1×2Ñ2Ü—’Ø[Ô\`ÐadÓ\eÐ[fÐgÜ(Ø óð *×-Ñ-¨c×.AÑ.AÓ.CÔDô Ð!Ó
" QÕ
&ð %Ð$ùò (Ns   ÁC%)r   ÚtorchÚtorch.utils._python_dispatchr   ÚTensorr   ÚUntypedStorager   © ó    r   Ú<module>r%      s0   ðÛ ã Ý Fð%˜EŸL™Lð %¨S°×1EÑ1EÑ-Fõ %r$   