
    shm                         % S SK Jr  S SKJrJrJr  \" S5      rSr\\	S'   S/r
 " S S5      r " S	 S
5      r " S S\\   5      rg)    )Iterable)CallableGenericTypeVarT   _ENCODING_VERSIONAppendingByteSerializerc                   j    \ rS rSrS\SS4S jrS\SS4S jrS\SS4S	 jrS
\	SS4S jr
S\	4S jrSrg)BytesWriter   preallocate_sizereturnNc                 $    [        U5      U l        g N)	bytearray_data)selfr   s     z/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/utils/_appending_byte_serializer.py__init__BytesWriter.__init__   s    /0
    ic                 X    U R                   R                  UR                  SSSS95        g N   bigF)	byteordersigned)r   extendto_bytes)r   r   s     r   write_uint64BytesWriter.write_uint64   s#    

!**Q%*FGr   sc                 H    UR                  S5      nU R                  U5        g Nzutf-8)encodewrite_bytes)r   r$   payloads      r   	write_strBytesWriter.write_str   s    ((7#!r   bc                 n    U R                  [        U5      5        U R                  R                  U5        g r   )r"   lenr   r    )r   r,   s     r   r(   BytesWriter.write_bytes   s&    #a&!

!r   c                 ,    [        U R                  5      $ r   )bytesr   r   s    r   r!   BytesWriter.to_bytes    s    TZZ  r   )r   )__name__
__module____qualname____firstlineno__intr   r"   strr*   r1   r(   r!   __static_attributes__ r   r   r   r      s]    1 1 1Hc Hd H"3 "4 "U t !% !r   r   c                   ^    \ rS rSrS\SS4S jrS\4S jrS\4S jr	S\
4S jrS\4S	 jrS
rg)BytesReader$   datar   Nc                     Xl         SU l        g )Nr   r   _ir   r?   s     r   r   BytesReader.__init__%   s    
r   c                 F    [        U R                  5      U R                  :H  $ r   )r.   r   rB   r2   s    r   is_finishedBytesReader.is_finished)   s    4::$''))r   c                     [         R                  U R                  U R                  U R                  S-    SSS9nU =R                  S-  sl        U$ r   )r8   
from_bytesr   rB   )r   results     r   read_uint64BytesReader.read_uint64,   sG    JJtww1-u   
 	1r   c                 @    U R                  5       R                  S5      $ r&   )
read_bytesdecoder2   s    r   read_strBytesReader.read_str3   s     ''00r   c                     U R                  5       nU R                  U R                  U R                  U-    nU =R                  U-  sl        U$ r   )rK   r   rB   )r   sizerJ   s      r   rN   BytesReader.read_bytes6   s>    !DGGdggn54r   rA   )r4   r5   r6   r7   r1   r   boolrF   r8   rK   r9   rP   rN   r:   r;   r   r   r=   r=   $   sE    U t *T *S 1# 1E r   r=   c                       \ rS rSr% Sr\\\/S4   \S'   \\S'   \	\S'   SS.S	\\\/S4   S
\	SS4S jjr
SS jrS\SS4S jrS\\   SS4S jrS\4S jr\S\S\\/\4   S\\   4S j5       rSrg)r
   B   z
Provides efficient serialization and deserialization of list of bytes
Note that this does not provide any guarantees around byte order
N_serialize_fn_writer_preallocate_sizer   r   serialize_fnr   r   c                <    Xl         X l        U R                  5         g r   )rX   rZ   clear)r   r\   r   s      r   r    AppendingByteSerializer.__init__L   s     *!1

r   c                 r    [        U R                  S9U l        U R                  R                  [        5        g )Nr[   )r   rZ   rY   r"   r	   r2   s    r   r^   AppendingByteSerializer.clearV   s'    "D4J4JK!!"34r   r?   c                 <    U R                  U R                  U5        g r   )rX   rY   rC   s     r   appendAppendingByteSerializer.append[   s    4<<.r   elemsc                 8    U H  nU R                  U5        M     g r   )rc   )r   re   elems      r   r    AppendingByteSerializer.extend^   s    DKK r   c                 6    U R                   R                  5       $ r   )rY   r!   r2   s    r   r!    AppendingByteSerializer.to_bytesb   s    ||$$&&r   deserialize_fnc                    [        U 5      nUR                  5       [        :X  d   e/ nUR                  5       (       d.  UR	                  U" U5      5        UR                  5       (       d  M.  U$ r   )r=   rK   r	   rF   rc   )r?   rk   readerrJ   s       r   to_listAppendingByteSerializer.to_liste   s_    T"!!#'8888$$&&MM.01 $$&&r   )rZ   rX   rY   )r   N)r4   r5   r6   r7   __doc__r   r   r   __annotations__r8   r   r^   rc   r   r    r1   r!   staticmethodr=   listrn   r:   r;   r   r   r
   r
   B   s    
 [!,d233 !"	 Q/56 	
 
5
/1 / /HQK D '% ' e +9I0J tTUw  r   N)collections.abcr   typingr   r   r   r   r	   r8   rq   __all__r   r=   r
   r;   r   r   <module>rw      sP    $ - - CL 3 $
%! !& <+gaj +r   