o
    
i
                     @   s  d dl Z d dlZddlmZmZ ddlmZ ddlT ddlm	Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ejddddZejddddZejded ejded G dd de
Z	G dd deZdd Zdd Zdd Zdd ZeZeZeZ eZ!dS )    N   )utcepoch)version)*)Packer)unpackb)Unpacker)ExtType)encode_numpy)decode_numpysrslymsgpack_encodersT)entry_pointsmsgpack_decodersnumpy)funcc                          e Zd Z fddZ  ZS )r   c                    L   | d}t  D ]	}tj||d}q||d< tt| j|i | d S )Ndefaultchain)	getr   get_allvalues	functoolspartialsuperr   __init__)selfargskwargsr   encoder	__class__ J/home/ubuntu/.local/lib/python3.10/site-packages/srsly/msgpack/__init__.pyr      
   
zPacker.__init____name__
__module____qualname__r   __classcell__r%   r%   r#   r&   r          r   c                       r   )r	   c                    r   )Nobject_hookr   )	r   r   r   r   r   r   r   r	   r   )r   r    r!   r.   decoderr#   r%   r&   r   (   r'   zUnpacker.__init__r(   r%   r%   r#   r&   r	   '   r-   r	   c                 K   s"   t di |}|||  dS )z2
    Pack an object and write it to a stream.
    Nr%   )r   writepack)ostreamr!   packerr%   r%   r&   r1   0   s   r1   c                 K   s   t di || S )z5
    Pack an object and return the packed bytes.
    Nr%   )r   r1   )r2   r!   r%   r%   r&   packb8   s   r5   c                 K   sR   d|vr| d}t  D ]	}tj||d}q||d< |  }t|fi |S )z/
    Unpack a packed object from a stream.
    object_pairs_hookr.   r   )r   r   r   r   r   r   read_unpackb)r3   r!   r.   r/   datar%   r%   r&   unpack?   s   
r:   c                 K   sJ   d|vr| d}t  D ]	}tj||d}q||d< t| fi |S )z!
    Unpack a packed object.
    r6   r.   r   )r   r   r   r   r   r   r8   )packedr!   r.   r/   r%   r%   r&   r   L   s   
r   )"r   	catalogue_epochr   r   _versionr   
exceptions_packerr   _Packer	_unpackerr   r8   r	   	_Unpackerextr
   _msgpack_numpyr   _encode_numpyr   _decode_numpycreater   r   registerr1   r5   r:   loadloadsdumpdumpsr%   r%   r%   r&   <module>   s2   		