Ë
    M²jÅ  ã                   óp  — d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 d dl
Z
d dlmZ g d¢Ze G d„ d	«      «       Z G d
„ de«      Ze G d„ d«      «       Ze G d„ d«      «       Ze G d„ d«      «       Zeez  Zeeee	z  f   Ze G d„ d«      «       Ze G d„ d«      «       Z ed¬«       G d„ d«      «       Zy)é    N)ÚSequence)Ú	dataclassÚfield)ÚEnum)ÚAny)Ú	StatefulT)ÚChunkStorageMetadataÚTensorStorageMetadataÚBytesStorageMetadataÚMetadataÚMetadataIndexÚTensorPropertiesÚStorageMetac                   óN   — e Zd ZU dZej
                  ed<   ej
                  ed<   y)r	   zo
    Each chunk is expected to have the same properties of the TensorStorageMetadata
    that includes it.
    ÚoffsetsÚsizesN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚtorchÚSizeÚ__annotations__© ó    úd/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/torch/distributed/checkpoint/metadata.pyr	   r	      s   … ñð
 �Z‰ZÓØ�:‰:Ôr   r	   c                   ó   — e Zd ZdZdZdZdZy)Ú_MEM_FORMAT_ENCODINGz'Describe the memory format of a tensor.r   é   é   N)r   r   r   r   ÚTORCH_CONTIGUOUS_FORMATÚTORCH_CHANNELS_LASTÚTORCH_PRESERVE_FORMATr   r   r   r   r   "   s   „ Ù1àÐØÐØÑr   r   c                   ó4  — e Zd ZU dZ eej                  ¬«      Zej                  ed<    eej                  ¬«      Z
ej                  ed<   dZeed<    eej                  ¬«      Zej                  ed<   dZeed	<   d
„ Zd„ Zedej&                  dd fd„«       Zy)r   z)Properties used to create :class:`Tensor`©Údefault_factoryÚdtype)ÚdefaultÚlayoutFÚrequires_gradÚmemory_formatÚ
pin_memoryc                 ól  — | j                   }|t        j                  k(  rt        j                  }nV|t        j
                  k(  rt        j                  }n2|t        j                  k(  rt        j                  }nt        d|› �«      ‚| j                  | j                  | j                  || j                  fS )NzInvalid torch.memory_format: )r+   r   Úcontiguous_formatr   r!   Úchannels_lastr"   Úpreserve_formatr#   ÚRuntimeErrorr'   r)   r*   r,   )Úselfr+   Úmem_format_encodings      r   Ú__getstate__zTensorProperties.__getstate__9   s›   € à×*Ñ*ˆØœE×3Ñ3Ò3Ü"6×"NÑ"NÑØœe×1Ñ1Ò1Ü"6×"JÑ"JÑØœe×3Ñ3Ò3Ü"6×"LÑ"LÑäÐ!>¸}¸oÐNÓOÐOð �J‰JØ�K‰KØ×ÑØØ�O‰Oð
ð 	
r   c                 óX  — |\  | _         | _        | _        }| _        |t        j
                  k(  rt        j                  }|| _        y |t        j                  k(  rt        j                  }|| _        y |t        j                  k(  rt        j                  }|| _        y t        d|› �«      ‚)Nz&Invalid torch.memory_format encoding: )r'   r)   r*   r,   r   r!   r   r.   r"   r/   r#   r0   r1   r+   )r2   Ústater3   r+   s       r   Ú__setstate__zTensorProperties.__setstate__M   s±   € ð ñ	
ØŒJØŒKØÔØØŒOð Ô"6×"NÑ"NÒNÜ!×3Ñ3ˆMð +ˆÕð !Ô$8×$LÑ$LÒLÜ!×/Ñ/ˆMð +ˆÕð !Ô$8×$NÑ$NÒNÜ!×1Ñ1ˆMð +ˆÕô	 Ø8Ð9LÐ8MÐNóð r   ÚtensorÚreturnc                 ó–   — t        | j                  | j                  | j                  t        j
                  | j                  «       ¬«      S )N)r'   r)   r*   r+   r,   )r   r'   r)   r*   r   r.   Ú	is_pinned)r8   s    r   Úcreate_from_tensorz#TensorProperties.create_from_tensorf   s;   € äØ—,‘,Ø—=‘=Ø ×.Ñ.Ü×1Ñ1Ø×'Ñ'Ó)ô
ð 	
r   N)r   r   r   r   r   r   Úget_default_dtyper'   r   Ústridedr)   r*   Úboolr.   r+   r,   r4   r7   ÚstaticmethodÚTensorr<   r   r   r   r   r   *   s—   … á3ñ ¨u×/FÑ/FÔG€Eˆ5�;‰;ÓGá ¨¯©Ô7€FˆE�L‰LÓ7à€M�4Óá).°u×7NÑ7NÔ)O€M�5×&Ñ&ÓOà€J�Óò
ò(+ð2 ð
 5§<¡<ð 
Ð4Fò 
ó ñ
r   r   c                   óF   — e Zd ZU eed<   ej                  ed<   ee   ed<   y)r
   Ú
propertiesÚsizeÚchunksN)	r   r   r   r   r   r   r   Úlistr	   r   r   r   r
   r
   q   s   … à Ó Ø
�*‰*ÓØÐ%Ñ&Ô&r   r
   c                   ó   — e Zd Zy)r   N)r   r   r   r   r   r   r   r   x   s   „ àr   r   c                   ó†   — e Zd ZU dZeej                  z  dz  ed<   dZedz  ed<   dZ	edz  ed<    e
e¬«      Zee   ed<   y)r   NÚcheckpoint_idÚsave_idÚload_idr%   Úmodules)r   r   r   rI   ÚstrÚosÚPathLiker   rJ   rK   r   rF   rL   r   r   r   r   r   �   sI   … à.2€M�3˜Ÿ™Ñ$ tÑ+Ó2Ø€GˆS�4‰ZÓØ€GˆS�4‰ZÓÙ¨tÔ4€GˆT�#‰YÔ4r   r   c                   ój   — e Zd ZU dZeeef   ed<   dZe	ed<   dZ
e	ed<   dZedz  ed<   dZedz  ed<   y)r   z5This class represents the metadata of the checkpoint.Ústate_dict_metadataNÚplanner_dataÚstorage_dataÚstorage_metaÚversion)r   r   r   r   ÚdictrM   ÚSTORAGE_TYPESr   rR   r   rS   rT   r   rU   r   r   r   r   r   ‰   sJ   … á?ð ˜c =Ð0Ñ1Ó1ð
 €L�#ÓØ€L�#ÓØ'+€L�+ Ñ$Ó+Ø€GˆS�4‰ZÔr   r   T)Úfrozenc                   óœ   — e Zd ZU dZeed<   	 dZej                  dz  ed<   	  e	ddd¬«      Z
edz  ed<   	 	 	 d	dedee   dz  dedz  fd„Zy)
r   zIThis class represents a lookup key for items in a state dict or Metadata.ÚfqnNÚoffsetF)ÚhashÚcomparer(   Úindexc                 óº   — t         j                  | d|«       t         j                  | d|«       |�+t         j                  | dt        j                  |«      «       y y )NrZ   r^   r[   )ÚobjectÚ__setattr__r   r   )r2   rZ   r[   r^   s       r   Ú__init__zMetadataIndex.__init__¯   sN   € ô 	×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨%Ô0ØÐÜ×Ñ˜t X¬u¯z©z¸&Ó/AÕBð r   )NN)r   r   r   r   rM   r   r[   r   r   r   r^   Úintr   rb   r   r   r   r   r   ™   sy   … áSà	ƒHØ,à $€FˆE�J‰J˜ÑÓ$ØMá 5°%ÀÔF€Eˆ3�‰:ÓFð	ð (,Ø ñ	
Càð
Cð ˜‘ Ñ$ð
Cð �T‰zô	
Cr   r   )rN   Úcollections.abcr   Údataclassesr   r   Úenumr   Útypingr   r   Ú%torch.distributed.checkpoint.statefulr   Ú__all__r	   r   r   r
   r   rW   rV   rM   ÚSTATE_DICT_TYPEr   r   r   r   r   r   ú<module>rk      s  ðã 	Ý $ß (Ý Ý ã Ý ;ò€ð ÷ð ó ðô˜4ô ð ÷C
ð C
ó ðC
ðL ÷'ð 'ó ð'ð ÷	ð 	ó ð	ð &Ð(<Ñ<€Ø�s˜I¨™OÐ+Ñ,€ð ÷5ð 5ó ð5ð ÷ð ó ðñ �$Ô÷Cð Có ñCr   