Ë
    :vžjaª  ã                   ó‚  — d Z ddlZddlZddlZddlZddlZej                  dd dk\  rddlmZ nddlmZ dZ		 dZ
	  G d„ d	e«      Z G d
„ de«      Zi Zi Zd„ Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      ZeZeZdadada da!da"da#da$da%da&	 d „ Z'd!„ Z(d"„ Z)d#„ Z*d$„ Z+d%„ Z,d&„ Z-d'„ Z.d(„ Z/d)„ Z0d*„ Z1d+„ Z2d,„ Z3d-„ Z4d.„ Z5d/„ Z6d0„ Z7d1„ Z8d2„ Z9d3„ Z:d4„ Z;d5„ Z<d6„ Z=d7„ Z>d8„ Z?d9„ Z@d:„ ZAd;„ ZBd<„ ZCd=„ ZDd>„ ZEd?„ ZFd@„ ZGdA„ ZH eH«        y)BaÞ  
u-msgpack-python v2.8.0 - v at sergeev.io
https://github.com/vsergeev/u-msgpack-python

u-msgpack-python is a lightweight MessagePack serializer and deserializer
module, compatible with both Python 2 and 3, as well CPython and PyPy
implementations of Python. u-msgpack-python is fully compliant with the
latest MessagePack specification.com/msgpack/msgpack/blob/master/spec.md). In
particular, it supports the new binary, UTF-8 string, and application ext
types.

License: MIT
é    Né   )é   r   )ÚHashablez2.8.0)r   é   r   c                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚExtzŠ
    The Ext class facilitates creating a serializable extension object to store
    an application-defined type and data byte array.
    c                 óh  — t        |t        «      st        d«      ‚d|cxk  rdk  sn t        dj	                  |«      «      ‚t
        j                  d   dk(  rt        |t        «      st        d«      ‚t
        j                  d   dk(  rt        |t        «      st        d	«      ‚|| _	        || _
        y
)a  
        Construct a new Ext object.

        Args:
            type (int): application-defined type integer
            data (bytes): application-defined data byte array

        Raises:
            TypeError:
                Type is not an integer.
            ValueError:
                Type is out of range of -128 to 127.
            TypeError:
                Data is not type 'bytes' (Python 3) or not type 'str' (Python 2).

        Example:
            >>> foo = umsgpack.Ext(5, b"\x01\x02\x03")
            >>> umsgpack.packb({u"special stuff": foo, u"awesome": True})
            '\x82\xa7awesome\xc3\xadspecial stuff\xc7\x03\x05\x01\x02\x03'
            >>> bar = umsgpack.unpackb(_)
            >>> print(bar["special stuff"])
            Ext Object (Type: 5, Data: 01 02 03)
        zext type is not type integeré€ÿÿÿé   z1ext type value {:d} is out of range (-128 to 127)r   r   zext data is not type 'bytes'r   zext data is not type 'str'N)Ú
isinstanceÚintÚ	TypeErrorÚ
ValueErrorÚformatÚsysÚversion_infoÚbytesÚstrÚtypeÚdata)Úselfr   r   s      úb/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/umsgpack/__init__.pyÚ__init__zExt.__init__K   s�   € ô2 ˜$¤Ô$ÜÐ:Ó;Ð;Ø˜4Ô+ 8Ô+ÜÐP×WÑWÐX\Ó]Ó^Ð^ä×Ñ˜aÑ  AÒ%¬j¸¼uÔ.EÜÐ<Ó=Ð=Ü×Ñ˜aÑ  AÒ%¬j¸¼sÔ.CÜÐ:Ó;Ð;àˆŒ	Øˆ�	ó    c                 óš   — t        || j                  «      xr4 | j                  |j                  k(  xr | j                  |j                  k(  S )zD
        Compare this Ext object with another for equality.
        )r   Ú	__class__r   r   ©r   Úothers     r   Ú__eq__z
Ext.__eq__q   sD   € ô ˜% §¡Ó0ò DØ—	‘	˜UŸZ™ZÑ'òDØ,0¯I©I¸¿¹Ñ,Cð	Dr   c                 ó&   — | j                  |«       S )zF
        Compare this Ext object with another for inequality.
        )r   r   s     r   Ú__ne__z
Ext.__ne__x   s   € ð —;‘;˜uÓ%Ð%Ð%r   c                 ój  — dj                  | j                  «      }|dj                  t        t	        t        | j                  «      d«      «      D �cg c],  }dj                  t        | j                  ||dz    «      «      ‘Œ. c}«      z  }t        | j                  «      dkD  r|dz  }|dz  }|S c c}w )z;
        String representation of this Ext object.
        zExt Object (Type: {:d}, Data: Ú r   z0x{:02x}é   z ...Ú))r   r   ÚjoinÚxrangeÚminÚlenr   Úord)r   ÚsÚis      r   Ú__str__zExt.__str__~   s¬   € ð -×3Ñ3°D·I±IÓ>ˆØ	ˆS�X‰XÜ &¤s¬3¨t¯y©y«>¸1Ó'=Ô >ó@Ù >˜1ð "×(Ñ(¬¨T¯Y©Y°q¸¸Q¹Ð-?Ó)@ÕAØ >ñ@ó Añ 	Aˆäˆt�y‰y‹>˜AÒØ�‰KˆAØ	ˆS‰ˆØˆùò@s   Á1B0
c                 óD   — t        | j                  | j                  f«      S )z4
        Provide a hash of this Ext object.
        )Úhashr   r   )r   s    r   Ú__hash__zExt.__hash__Š   s   € ô �T—Y‘Y §	¡	Ð*Ó+Ð+r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r!   r-   r0   © r   r   r   r   E   s"   „ ñò
$òLDò&ò
ó,r   r   c                   ó   — e Zd ZdZy)ÚInvalidStringz0Subclass of bytes to hold invalid UTF-8 strings.N©r1   r2   r3   r4   r5   r   r   r7   r7   ‘   s   „ Ú:r   r7   c                 ó   ‡ — ˆ fd„}|S )a|  
    Return a decorator to register a class for automatic packing and unpacking
    with the specified Ext type code. The application class should implement a
    `packb()` method that returns serialized bytes, and an `unpackb()` class
    method or static method that accepts serialized bytes and returns an
    instance of the application class.

    Args:
        ext_type (int): application-defined Ext type code

    Raises:
        TypeError:
            Ext type is not an integer.
        ValueError:
            Ext type is out of range of -128 to 127.
        ValueError:
            Ext type or class already registered.
    c           	      ón  •— t        ‰t        «      st        d«      ‚d‰cxk  rdk  sn t        dj	                  ‰«      «      ‚‰t
        v r+t        dj	                  ‰t        t
        ‰   «      «      «      ‚| t        v r$t        dj	                  t        | «      ‰«      «      ‚| t
        ‰<   ‰t        | <   | S )NzExt type is not type integerr
   r   z2Ext type value {:d} is out of range of -128 to 127z0Ext type {:d} already registered with class {:s}z0Class {:s} already registered with Ext type {:d})r   r   r   r   r   Ú_ext_type_to_classÚreprÚ_ext_class_to_type)ÚclsÚext_types    €r   Úwrapperz!ext_serializable.<locals>.wrapper°   sÈ   ø€ Ü˜(¤CÔ(ÜÐ:Ó;Ð;Ø˜8Ô/ xÔ/ÜÐQ×XÑXÐYaÓbÓcÐcØÔ+Ñ+ÜÐO×VÑVÐW_ÔaeÔfxð  zBñ  gCó  bDó  Eó  Fð  FØÔ&Ñ&ÜÐO×VÑVÔW[Ð\_ÓW`ÐbjÓkÓlÐlà'*Ô˜8Ñ$Ø"*Ô˜3Ñàˆ
r   r5   )r?   r@   s   ` r   Úext_serializablerA   �   s   ø€ ô&ð €Nr   c                   ó   — e Zd ZdZy)ÚPackExceptionz5Base class for exceptions encountered during packing.Nr8   r5   r   r   rC   rC   È   s   „ Ú;r   rC   c                   ó   — e Zd ZdZy)ÚUnpackExceptionz7Base class for exceptions encountered during unpacking.Nr8   r5   r   r   rE   rE   Ì   s   „ Ú=r   rE   c                   ó   — e Zd ZdZy)ÚUnsupportedTypeExceptionz&Object type not supported for packing.Nr8   r5   r   r   rG   rG   Ñ   s   „ Ú,r   rG   c                   ó   — e Zd ZdZy)ÚInsufficientDataExceptionz2Insufficient data to unpack the serialized object.Nr8   r5   r   r   rI   rI   Ö   ó   „ Ú8r   rI   c                   ó   — e Zd ZdZy)ÚInvalidStringExceptionz2Invalid UTF-8 string encountered during unpacking.Nr8   r5   r   r   rL   rL   Ú   rJ   r   rL   c                   ó   — e Zd ZdZy)ÚUnsupportedTimestampExceptionz:Unsupported timestamp format encountered during unpacking.Nr8   r5   r   r   rN   rN   Þ   s   „ Ú@r   rN   c                   ó   — e Zd ZdZy)ÚReservedCodeExceptionz+Reserved code encountered during unpacking.Nr8   r5   r   r   rP   rP   â   s   „ Ú1r   rP   c                   ó   — e Zd ZdZy)ÚUnhashableKeyExceptionz‚
    Unhashable key encountered during map unpacking.
    The serialized map cannot be deserialized into a Python dictionary.
    Nr8   r5   r   r   rR   rR   æ   s   „ òr   rR   c                   ó   — e Zd ZdZy)ÚDuplicateKeyExceptionz/Duplicate key encountered during map unpacking.Nr8   r5   r   r   rT   rT   í   s   „ Ú5r   rT   Fc                 óÄ  — | dk  rî| dk\  r&|j                  t        j                  d| «      «       y | dk\  r)|j                  dt        j                  d| «      z   «       y | dk\  r)|j                  dt        j                  d| «      z   «       y | d	k\  r)|j                  d
t        j                  d| «      z   «       y | dk\  r)|j                  dt        j                  d| «      z   «       y t        d«      ‚| dk  r&|j                  t        j                  d| «      «       y | dk  r)|j                  dt        j                  d| «      z   «       y | dk  r)|j                  dt        j                  d| «      z   «       y | dk  r)|j                  dt        j                  d| «      z   «       y | dk  r)|j                  dt        j                  d| «      z   «       y t        d«      ‚)Nr   iàÿÿÿÚbr
   ó   Ði €ÿÿó   Ñú>hi   €ó   Òú>iìûÿÿÿ         ó   Óú>qzhuge signed inté€   ÚBé   ó   Ìé   ó   Íú>Hì        ó   Îú>Il            ó   Ïú>Qzhuge unsigned int)ÚwriteÚstructÚpackrG   ©ÚobjÚfpÚoptionss      r   Ú_pack_integerrr     sy  € Ø
ˆQ‚wØ�#Š:Ø�H‰H”V—[‘[  cÓ*Õ+Ø�KÒØ�H‰H�WœvŸ{™{¨3°Ó4Ñ4Õ5Ø�LÒ Ø�H‰H�WœvŸ{™{¨4°Ó5Ñ5Õ6Ø�LÒ Ø�H‰H�WœvŸ{™{¨4°Ó5Ñ5Õ6Ø�LÒ Ø�H‰H�WœvŸ{™{¨4°Ó5Ñ5Õ6ä*Ð+<Ó=Ð=à�Š9Ø�H‰H”V—[‘[  cÓ*Õ+Ø�4ŠZØ�H‰H�WœvŸ{™{¨3°Ó4Ñ4Õ5Ø�5Š[Ø�H‰H�WœvŸ{™{¨4°Ó5Ñ5Õ6Ø�5Š[Ø�H‰H�WœvŸ{™{¨4°Ó5Ñ5Õ6Ø�5Š[Ø�H‰H�WœvŸ{™{¨4°Ó5Ñ5Õ6ä*Ð+>Ó?Ð?r   c                 ó&   — |j                  d«       y )Nó   À©rk   rn   s      r   Ú	_pack_nilrv   ;  s   € Ø‡H�HˆWÕr   c                 ó8   — |j                  | rd«       y d«       y )Nó   Ãó   Âru   rn   s      r   Ú_pack_booleanrz   ?  s   € Ø‡H�H™ˆWÕ) Õ)r   c                 óü   — |j                  dt        «      }|dk(  r)|j                  dt        j                  d| «      z   «       y |dk(  r)|j                  dt        j                  d| «      z   «       y t        d«      ‚)	NÚforce_float_precisionÚdoubleó   Ëú>dÚsingleó   Êú>fzinvalid float precision)ÚgetÚ_float_precisionrk   rl   rm   r   )ro   rp   rq   Úfloat_precisions       r   Ú_pack_floatr†   C  sh   € Ø—k‘kÐ"9Ô;KÓL€Oà˜(Ò"Ø
�‰�œ6Ÿ;™; t¨SÓ1Ñ1Õ2Ø	˜HÒ	$Ø
�‰�œ6Ÿ;™; t¨SÓ1Ñ1Õ2äÐ2Ó3Ð3r   c                 óØ  — | j                  d«      } t        | «      }|dk  r,|j                  t        j                  dd|z  «      | z   «       y |dk  r,|j                  dt        j                  d|«      z   | z   «       y |dk  r,|j                  dt        j                  d	|«      z   | z   «       y |d
k  r,|j                  dt        j                  d|«      z   | z   «       y t        d«      ‚)Núutf-8é    r`   é    ra   ó   Ùrc   ó   Úre   rf   ó   Ûrh   zhuge string)Úencoder)   rk   rl   rm   rG   ©ro   rp   rq   Úobj_lens       r   Ú_pack_stringr‘   N  sÃ   € Ø
�*‰*�WÓ
€CÜ�#‹h€GØ�‚|Ø
�‰”—‘˜S $¨¡.Ó1°CÑ7Õ8Ø	�4ŠØ
�‰�œ6Ÿ;™; s¨GÓ4Ñ4°sÑ:Õ;Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5¸Ñ;Õ<Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5¸Ñ;Õ<ä& }Ó5Ð5r   c                 óT  — t        | «      }|dk  r,|j                  dt        j                  d|«      z   | z   «       y |dk  r,|j                  dt        j                  d|«      z   | z   «       y |dk  r,|j                  dt        j                  d	|«      z   | z   «       y t	        d
«      ‚)Nra   ó   Är`   rc   ó   Åre   rf   ó   Ærh   zhuge binary string©r)   rk   rl   rm   rG   r�   s       r   Ú_pack_binaryr—   ]  s�   € Ü�#‹h€GØ�‚~Ø
�‰�œ6Ÿ;™; s¨GÓ4Ñ4°sÑ:Õ;Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5¸Ñ;Õ<Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5¸Ñ;Õ<ä&Ð';Ó<Ð<r   c                 óT  — t        | «      }|dk  r,|j                  t        j                  dd|z  «      | z   «       y |dk  r,|j                  dt        j                  d|«      z   | z   «       y |dk  r,|j                  dt        j                  d	|«      z   | z   «       y t	        d
«      ‚)Nr‰   r`   rŠ   rc   rŒ   re   rf   r�   rh   zhuge raw stringr–   r�   s       r   Ú_pack_oldspec_rawr™   i  sŽ   € Ü�#‹h€GØ�‚|Ø
�‰”—‘˜S $¨¡.Ó1°CÑ7Õ8Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5¸Ñ;Õ<Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5¸Ñ;Õ<ä&Ð'8Ó9Ð9r   c           	      óÈ  — t        | j                  «      }|dk(  rC|j                  dt        j                  d| j
                  dz  «      z   | j                  z   «       y |dk(  rC|j                  dt        j                  d| j
                  dz  «      z   | j                  z   «       y |dk(  rC|j                  dt        j                  d| j
                  dz  «      z   | j                  z   «       y |d	k(  rC|j                  d
t        j                  d| j
                  dz  «      z   | j                  z   «       y |dk(  rC|j                  dt        j                  d| j
                  dz  «      z   | j                  z   «       y |dk  rD|j                  dt        j                  d|| j
                  dz  «      z   | j                  z   «       y |dk  rD|j                  dt        j                  d|| j
                  dz  «      z   | j                  z   «       y |dk  rD|j                  dt        j                  d|| j
                  dz  «      z   | j                  z   «       y t        d«      ‚)Nr$   ó   Ôr`   éÿ   r   ó   Õé   ó   Ör   ó   ×é   ó   Øra   ó   ÇÚBBrc   ó   Èz>HBrf   ó   Éz>IBzhuge ext data)r)   r   rk   rl   rm   r   rG   r�   s       r   Ú	_pack_extr§   u  sÀ  € Ü�#—(‘(‹m€GØ�!‚|Ø
�‰�œ6Ÿ;™; s¨C¯H©H°t©OÓ<Ñ<¸s¿x¹xÑGÕHØ	�AŠØ
�‰�œ6Ÿ;™; s¨C¯H©H°t©OÓ<Ñ<¸s¿x¹xÑGÕHØ	�AŠØ
�‰�œ6Ÿ;™; s¨C¯H©H°t©OÓ<Ñ<¸s¿x¹xÑGÕHØ	�AŠØ
�‰�œ6Ÿ;™; s¨C¯H©H°t©OÓ<Ñ<¸s¿x¹xÑGÕHØ	�BŠØ
�‰�œ6Ÿ;™; s¨C¯H©H°t©OÓ<Ñ<¸s¿x¹xÑGÕHØ	�4ŠØ
�‰�œ6Ÿ;™; t¨W°c·h±hÀ±oÓFÑFÈÏÉÑQÕRØ	�5ŠØ
�‰�œ6Ÿ;™; u¨g°s·x±xÀ$±ÓGÑGÈ#Ï(É(ÑRÕSØ	�5ŠØ
�‰�œ6Ÿ;™; u¨g°s·x±xÀ$±ÓGÑGÈ#Ï(É(ÑRÕSä& Ó7Ð7r   c                 óf  — | j                   s| j                  t        ¬«      t        z
  }n	| t        z
  }|j                  |j
                  dz  z   }|j                  }|dk(  r7d|cxk  rdk  r,n n)|j                  dt        j                  d|«      z   «       y d|cxk  rdk  r7n n4|dz  d	z  |z  }|j                  d
t        j                  d|«      z   «       y dt        |«      cxk  rdk  r:n t        d«      ‚|j                  dt        j                  d|dz  |«      z   «       y t        d«      ‚)N©Útzinfoi€Q r   l   ÿÿ s   Öÿrh   ì   ÿÿ éè  é"   s   ×ÿrj   r\   l   ÿÿÿÿ s   Çÿz>Iqzhuge timestamp)rª   ÚreplaceÚ_utc_tzinfoÚ_epochÚsecondsÚdaysÚmicrosecondsrk   rl   rm   ÚabsrG   )ro   rp   rq   Údeltar±   r³   Úvalues          r   Ú_pack_ext_timestampr·   ‹  s
  € Ø�:Š:ð —‘¤;�Ó/´&Ñ8‰ð ”f‘ˆà�m‰m˜eŸj™j¨5Ñ0Ñ0€GØ×%Ñ%€Là�qÒ˜Q 'Ô6¨YÕ6à
�‰�œvŸ{™{¨4°Ó9Ñ9Õ:Ø	
ˆgÔ	"˜Õ	"à Ñ%¨"Ñ,°Ñ7ˆØ
�‰�œvŸ{™{¨4°Ó7Ñ7Õ8Ø	”3�w“<Ô	, 9Ô	,ô 'Ð'7Ó8Ð8ð 	�‰�¤6§;¡;¨u°lÀTÑ6IÈ7Ó#SÑSÕTä&Ð'7Ó8Ð8r   c                 ól  — t        | «      }|dk  r)|j                  t        j                  dd|z  «      «       ng|dk  r)|j                  dt        j                  d|«      z   «       n9|dk  r)|j                  dt        j                  d	|«      z   «       nt	        d
«      ‚| D ]  }t        ||fi |¤Ž Œ y )Nr¡   r`   é�   rc   ó   Üre   rf   ó   Ýrh   ú
huge arrayr–   )ro   rp   rq   r�   Úes        r   Ú_pack_arrayr¾   ¥  s—   € Ü�#‹h€GØ�‚|Ø
�‰”—‘˜S $¨¡.Ó1Õ2Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5Õ6Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5Õ6ä& |Ó4Ð4ãˆÜˆQ�Ñ�gÓñ r   c                 ó¨  — t        | «      }|dk  r)|j                  t        j                  dd|z  «      «       ng|dk  r)|j                  dt        j                  d|«      z   «       n9|dk  r)|j                  dt        j                  d	|«      z   «       nt	        d
«      ‚| j                  «       D ]  \  }}t        ||fi |¤Ž t        ||fi |¤Ž Œ! y )Nr¡   r`   r_   rc   ó   Þre   rf   ó   ßrh   r¼   )r)   rk   rl   rm   rG   Úitems)ro   rp   rq   r�   ÚkÚvs         r   Ú	_pack_maprÅ   ´  s°   € Ü�#‹h€GØ�‚|Ø
�‰”—‘˜S $¨¡.Ó1Õ2Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5Õ6Ø	�5ŠØ
�‰�œ6Ÿ;™; t¨WÓ5Ñ5Õ6ä& |Ó4Ð4à—	‘	–‰ˆˆ1ÜˆQ�Ñ�gÒÜˆQ�Ñ�gÓñ r   c           	      ó  ‡ — |j                  d«      }‰ €t        ‰ ||«       y|r/‰ j                  |v r!t         |‰ j                     ‰ «      ||«       y‰ j                  t        v r8	 t        t        t        ‰ j                     ‰ j                  «       «      ||«       yt        ‰ t        «      rt        ‰ ||«       yt        ‰ t        t        f«      rt!        ‰ ||«       yt        ‰ t"        «      rt%        ‰ ||«       yt&        r't        ‰ t(        «      rt+        t-        ‰ «      ||«       yt&        rt        ‰ t,        «      rt+        ‰ ||«       yt        ‰ t(        «      rt/        ‰ ||«       yt        ‰ t0        «      rt3        ‰ ||«       yt        ‰ t4        t6        f«      rt9        ‰ ||«       yt        ‰ t:        «      rt=        ‰ ||«       yt        ‰ t>        j>                  «      rtA        ‰ ||«       yt        ‰ t
        «      rt        ‰ ||«       y|rhtC        ˆ fd„|jE                  «       D «       d«      }|rt         ||   ‰ «      ||«       ytG        dj                  t1        tI        ‰ «      «      «      «      ‚t        rutC        ˆ fd„t        D «       d«      }|r.	 t        t        t        |   ‰ j                  «       «      ||«       ytG        dj                  t1        tI        ‰ «      «      «      «      ‚tG        dj                  t1        tI        ‰ «      «      «      «      ‚# t        $ r. t        dj                  t        ‰ j                  «      «      «      ‚w xY w# t        $ r$ t        dj                  t        |«      «      «      ‚w xY w)á•  
    Serialize a Python object into MessagePack bytes.

    Args:
        obj: a Python object
        fp: a .write()-supporting file-like object

    Keyword Args:
        ext_handlers (dict): dictionary of Ext handlers, mapping a custom type
                             to a callable that packs an instance of the type
                             into an Ext object
        force_float_precision (str): "single" to force packing floats as
                                     IEEE-754 single-precision floats,
                                     "double" to force packing floats as
                                     IEEE-754 double-precision floats

    Returns:
        None

    Raises:
        UnsupportedTypeException(PackException):
            Object type not supported for packing.

    Example:
        >>> f = open('test.bin', 'wb')
        >>> umsgpack.pack({u"compact": True, u"schema": 0}, f)
    Úext_handlersNú@Ext serializable class {:s} is missing implementation of packb()c              3   ó<   •K  — | ]  }t        ‰|«      sŒ|–— Œ y ­w©N©r   ©Ú.0Útro   s     €r   Ú	<genexpr>z_pack2.<locals>.<genexpr>  ó   øè ø€ ÐGÑ0˜´J¸sÀAÕ4F”!Ñ0ùó   ƒ•úunsupported type: {:s}c              3   ó<   •K  — | ]  }t        ‰|«      sŒ|–— Œ y ­wrË   rÌ   rÍ   s     €r   rÐ   z_pack2.<locals>.<genexpr>  ó   øè ø€ ÐFÑ/˜´:¸cÀ1Õ3E”!Ñ/ùrÒ   )%rƒ   rv   r   r§   r=   r   ÚpackbÚAttributeErrorÚNotImplementedErrorr   r<   r   Úboolrz   r   Úlongrr   Úfloatr†   ÚcompatibilityÚunicoder™   r   r‘   r   r—   ÚlistÚtupler¾   ÚdictrÅ   Údatetimer·   ÚnextÚkeysrG   r   ©ro   rp   rq   rÈ   rÏ   s   `    r   Ú_pack2rå   Ç  sê  ø€ ð< —;‘;˜~Ó.€Là
€{Ü�#�r˜7Õ#Ù	˜#Ÿ-™-¨<Ñ7ÜÐ-�,˜sŸ}™}Ñ-¨cÓ2°B¸Õ@Ø	�‰Ô,Ñ	,ð	FÜ”cÔ,¨S¯]©]Ñ;¸S¿Y¹Y»[ÓIÈ2ÈwÕWô 
�CœÔ	Ü�c˜2˜wÕ'Ü	�Cœ#œt˜Ô	%Ü�c˜2˜wÕ'Ü	�CœÔ	Ü�C˜˜WÕ%Ý	œ: c¬7Ô3Üœ% ›* b¨'Õ2Ý	œ: c¬5Ô1Ü˜#˜r 7Õ+Ü	�CœÔ	!Ü�S˜"˜gÕ&Ü	�CœÔ	Ü�S˜"˜gÕ&Ü	�Cœ$¤˜Ô	'Ü�C˜˜WÕ%Ü	�CœÔ	Ü�#�r˜7Õ#Ü	�Cœ×*Ñ*Ô	+Ü˜C  WÕ-Ü	�CœÔ	Ü�#�r˜7Õ#Ù	äÓG˜\×.Ñ.Ô0ÓGÈÓNˆÙÜ�o�l 1‘o cÓ*¨B°Õ8ä*Ø(×/Ñ/´´D¸³I³Ó?óAð Aå	äÓFÕ/ÓFÈÓMˆÙð~Üœ#Ô0°Ñ3°S·Y±Y³[ÓAÀ2ÀwÕOô +Ð+C×+JÑ+JÌ3ÌtÐTWËyË>Ó+ZÓ[Ð[ä&Ð'?×'FÑ'FÄsÌ4ÐPSË9Ã~Ó'VÓWÐWøôW ò 	FÜ%Ð&h×&oÑ&oÔptÐux÷  vCñ  vCó  qDó  'Eó  Fð  Fð	FûôL "ò ~Ü)Ð*l×*sÑ*sÔtxÐyzÓt{Ó*|Ó}Ð}ð~úó   Á'6L$ Ê,M Ì$7MÍ-Nc           	      ó  ‡ — |j                  d«      }‰ €t        ‰ ||«       y|r/‰ j                  |v r!t         |‰ j                     ‰ «      ||«       y‰ j                  t        v r8	 t        t        t        ‰ j                     ‰ j                  «       «      ||«       yt        ‰ t        «      rt        ‰ ||«       yt        ‰ t        «      rt        ‰ ||«       yt        ‰ t         «      rt#        ‰ ||«       yt$        r-t        ‰ t&        «      rt)        ‰ j+                  d«      ||«       yt$        rt        ‰ t,        «      rt)        ‰ ||«       yt        ‰ t&        «      rt/        ‰ ||«       yt        ‰ t,        «      rt1        ‰ ||«       yt        ‰ t2        t4        f«      rt7        ‰ ||«       yt        ‰ t8        «      rt;        ‰ ||«       yt        ‰ t<        j<                  «      rt?        ‰ ||«       yt        ‰ t
        «      rt        ‰ ||«       y|rhtA        ˆ fd„|jC                  «       D «       d«      }|rt         ||   ‰ «      ||«       ytE        dj                  t'        tG        ‰ «      «      «      «      ‚t        rutA        ˆ fd„t        D «       d«      }|r.	 t        t        t        |   ‰ j                  «       «      ||«       ytE        dj                  t'        tG        ‰ «      «      «      «      ‚tE        dj                  t'        tG        ‰ «      «      «      «      ‚# t        $ r. t        dj                  t        ‰ j                  «      «      «      ‚w xY w# t        $ r$ t        dj                  t        |«      «      «      ‚w xY w)rÇ   rÈ   NrÉ   rˆ   c              3   ó<   •K  — | ]  }t        ‰|«      sŒ|–— Œ y ­wrË   rÌ   rÍ   s     €r   rÐ   z_pack3.<locals>.<genexpr>^  rÑ   rÒ   rÓ   c              3   ó<   •K  — | ]  }t        ‰|«      sŒ|–— Œ y ­wrË   rÌ   rÍ   s     €r   rÐ   z_pack3.<locals>.<genexpr>f  rÕ   rÒ   )$rƒ   rv   r   r§   r=   r   rÖ   r×   rØ   r   r<   r   rÙ   rz   r   rr   rÛ   r†   rÜ   r   r™   rŽ   r   r‘   r—   rÞ   rß   r¾   rà   rÅ   rá   r·   râ   rã   rG   r   rä   s   `    r   Ú_pack3rê     sî  ø€ ð< —;‘;˜~Ó.€Là
€{Ü�#�r˜7Õ#Ù	˜#Ÿ-™-¨<Ñ7ÜÐ-�,˜sŸ}™}Ñ-¨cÓ2°B¸Õ@Ø	�‰Ô,Ñ	,ð	FÜ”cÔ,¨S¯]©]Ñ;¸S¿Y¹Y»[ÓIÈ2ÈwÕWô 
�CœÔ	Ü�c˜2˜wÕ'Ü	�CœÔ	Ü�c˜2˜wÕ'Ü	�CœÔ	Ü�C˜˜WÕ%Ý	œ: c¬3Ô/Ü˜#Ÿ*™* WÓ-¨r°7Õ;Ý	œ: c¬5Ô1Ü˜#˜r 7Õ+Ü	�CœÔ	Ü�S˜"˜gÕ&Ü	�CœÔ	Ü�S˜"˜gÕ&Ü	�Cœ$¤˜Ô	'Ü�C˜˜WÕ%Ü	�CœÔ	Ü�#�r˜7Õ#Ü	�Cœ×*Ñ*Ô	+Ü˜C  WÕ-Ü	�CœÔ	Ü�#�r˜7Õ#Ù	äÓG˜\×.Ñ.Ô0ÓGÈÓNˆÙÜ�o�l 1‘o cÓ*¨B°Õ8ä*Ø(×/Ñ/´´D¸³I³Ó?óAð Aå	äÓFÕ/ÓFÈÓMˆÙð~Üœ#Ô0°Ñ3°S·Y±Y³[ÓAÀ2ÀwÕOô +Ð+C×+JÑ+JÌ3ÌtÐTWËyË>Ó+ZÓ[Ð[ä&Ø$×+Ñ+¬C´°S³	«NÓ;ó=ð 	=øôW ò 	FÜ%Ð&h×&oÑ&oÔptÐux÷  vCñ  vCó  qDó  'Eó  Fð  Fð	FûôL "ò ~Ü)Ð*l×*sÑ*sÔtxÐyzÓt{Ó*|Ó}Ð}ð~úræ   c                 ód   — t        j                  «       }t        | |fi |¤Ž |j                  «       S )a‚  
    Serialize a Python object into MessagePack bytes.

    Args:
        obj: a Python object

    Keyword Args:
        ext_handlers (dict): dictionary of Ext handlers, mapping a custom type
                             to a callable that packs an instance of the type
                             into an Ext object
        force_float_precision (str): "single" to force packing floats as
                                     IEEE-754 single-precision floats,
                                     "double" to force packing floats as
                                     IEEE-754 double-precision floats

    Returns:
        str: Serialized MessagePack bytes

    Raises:
        UnsupportedTypeException(PackException):
            Object type not supported for packing.

    Example:
        >>> umsgpack.packb({u"compact": True, u"schema": 0})
        '\x82\xa7compact\xc3\xa6schema\x00'
    )ÚioÚBytesIOrå   Úgetvalue©ro   rq   rp   s      r   Ú_packb2rð   s  ó*   € ô6 
�‰‹€BÜ
ˆ3�Ñ�gÒØ�;‰;‹=Ðr   c                 ód   — t        j                  «       }t        | |fi |¤Ž |j                  «       S )a…  
    Serialize a Python object into MessagePack bytes.

    Args:
        obj: a Python object

    Keyword Args:
        ext_handlers (dict): dictionary of Ext handlers, mapping a custom type
                             to a callable that packs an instance of the type
                             into an Ext object
        force_float_precision (str): "single" to force packing floats as
                                     IEEE-754 single-precision floats,
                                     "double" to force packing floats as
                                     IEEE-754 double-precision floats

    Returns:
        bytes: Serialized MessagePack bytes

    Raises:
        UnsupportedTypeException(PackException):
            Object type not supported for packing.

    Example:
        >>> umsgpack.packb({u"compact": True, u"schema": 0})
        b'\x82\xa7compact\xc3\xa6schema\x00'
    )rì   rí   rê   rî   rï   s      r   Ú_packb3ró   “  rñ   r   c                 ó  — |dk(  ry| j                  |«      }t        |«      dk(  r
t        «       ‚t        |«      |k  rI| j                  |t        |«      z
  «      }t        |«      dk(  r
t        «       ‚||z  }t        |«      |k  rŒI|S )Nr   r   )Úreadr)   rI   )rp   Únr   Úchunks       r   Ú_read_exceptrø   ·  s   € ØˆA‚vØà�7‰7�1‹:€DÜ
ˆ4ƒy�A‚~Ü'Ó)Ð)ä
ˆd‹)�aŠ-Ø—‘˜œC ›I™Ó&ˆÜˆu‹:˜Š?Ü+Ó-Ð-à�‰ˆô ˆd‹)�a‹-ð €Kr   c                 óp  — t        | «      dz  dk(  rt        j                  d| «      d   S | dk(  r#t        j                  dt        |d«      «      d   S | dk(  r#t        j                  dt        |d«      «      d   S | d	k(  r#t        j                  d
t        |d«      «      d   S | dk(  r#t        j                  dt        |d«      «      d   S t        | «      dz  dk(  rt        j                  d| «      d   S | dk(  r#t        j                  dt        |d«      «      d   S | dk(  r#t        j                  dt        |d«      «      d   S | dk(  r#t        j                  dt        |d«      «      d   S | dk(  r#t        j                  dt        |d«      «      d   S t	        dj                  t        | «      «      «      ‚)Néà   rV   r   rW   r$   rX   rY   r   rZ   r[   rž   r]   r^   r   r_   r`   rb   rd   re   rg   rh   ri   rj   zlogic error, not int: 0x{:02x})r*   rl   Úunpackrø   Ú	Exceptionr   ©Úcoderp   rq   s      r   Ú_unpack_integerrÿ   É  s‹  € ÜˆD‹	�DÑ˜TÒ!Ü�}‰}˜S $Ó'¨Ñ*Ð*Ø	�ŠÜ�}‰}˜S¤,¨r°1Ó"5Ó6°qÑ9Ð9Ø	�ŠÜ�}‰}˜T¤<°°AÓ#6Ó7¸Ñ:Ð:Ø	�ŠÜ�}‰}˜T¤<°°AÓ#6Ó7¸Ñ:Ð:Ø	�ŠÜ�}‰}˜T¤<°°AÓ#6Ó7¸Ñ:Ð:Ü
ˆd‹)�dÑ
˜tÒ	#Ü�}‰}˜S $Ó'¨Ñ*Ð*Ø	�ŠÜ�}‰}˜S¤,¨r°1Ó"5Ó6°qÑ9Ð9Ø	�ŠÜ�}‰}˜T¤<°°AÓ#6Ó7¸Ñ:Ð:Ø	�ŠÜ�}‰}˜T¤<°°AÓ#6Ó7¸Ñ:Ð:Ø	�ŠÜ�}‰}˜T¤<°°AÓ#6Ó7¸Ñ:Ð:Ü
Ð4×;Ñ;¼CÀ»IÓFÓ
GÐGr   c                 ó˜   — | dk(  r#t        dj                  t        | «      «      «      ‚t        dj                  t        | «      «      «      ‚)Nó   Áz#encountered reserved code: 0x{:02x}z(logic error, not reserved code: 0x{:02x})rP   r   r*   rü   rý   s      r   Ú_unpack_reservedr  á  sK   € Øˆw‚Ü#Ø1×8Ñ8¼¸T»ÓCóEð 	Eä
Ø2×9Ñ9¼#¸d»)ÓDóFð Fr   c                 óT   — | dk(  ry t        dj                  t        | «      «      «      ‚)Nrt   zlogic error, not nil: 0x{:02x}©rü   r   r*   rý   s      r   Ú_unpack_nilr  é  s'   € Øˆw‚ØÜ
Ð4×;Ñ;¼CÀ»IÓFÓ
GÐGr   c                 ó`   — | dk(  ry| dk(  ryt        dj                  t        | «      «      «      ‚)Nry   Frx   Tz"logic error, not boolean: 0x{:02x}r  rý   s      r   Ú_unpack_booleanr  ï  s1   € Øˆw‚ØØ	�ŠØÜ
Ð8×?Ñ?ÄÀDÃ	ÓJÓ
KÐKr   c                 óè   — | dk(  r#t        j                  dt        |d«      «      d   S | dk(  r#t        j                  dt        |d«      «      d   S t        dj	                  t        | «      «      «      ‚)	Nr�   r‚   rž   r   r~   r   r   z logic error, not float: 0x{:02x}©rl   rû   rø   rü   r   r*   rý   s      r   Ú_unpack_floatr
  ÷  se   € Øˆw‚Ü�}‰}˜T¤<°°AÓ#6Ó7¸Ñ:Ð:Ø	�ŠÜ�}‰}˜T¤<°°AÓ#6Ó7¸Ñ:Ð:Ü
Ð6×=Ñ=¼cÀ$»iÓHÓ
IÐIr   c                 óT  — t        | «      dz  dk(  rt        | «      dz  }nž| dk(  r$t        j                  dt        |d«      «      d   }nu| dk(  r$t        j                  d	t        |d
«      «      d   }nL| dk(  r$t        j                  dt        |d«      «      d   }n#t	        dj                  t        | «      «      «      ‚t        rt        ||«      S t        ||«      }	 t        j                  |d«      S # t        $ r* |j                  d«      rt        |«      cY S t        d«      ‚w xY w)Nrú   rŠ   iÿÿÿr‹   r`   r$   r   rŒ   re   r   r�   rh   rž   z!logic error, not string: 0x{:02x}rˆ   Úallow_invalid_utf8z unpacked string is invalid utf-8)r*   rl   rû   rø   rü   r   rÜ   r   ÚdecodeÚUnicodeDecodeErrorrƒ   r7   rL   )rþ   rp   rq   Úlengthr   s        r   Ú_unpack_stringr  ÿ  s  € ÜˆD‹	�DÑ˜TÒ!Ü�T“˜UÑ"‰Ø	�ŠÜ—‘˜s¤L°°QÓ$7Ó8¸Ñ;‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰äÐ;×BÑBÄ3ÀtÃ9ÓMÓNÐNõ Ü˜B Ó'Ð'ä˜˜FÓ#€DðIÜ�|‰|˜D 'Ó*Ð*øÜò IØ�;‰;Ð+Ô,Ü  Ó&Ò&Ü$Ð%GÓHÐHðIús   ÃC4 Ã4%D'ÄD'c                 óV  — | dk(  r$t        j                  dt        |d«      «      d   }nu| dk(  r$t        j                  dt        |d«      «      d   }nL| dk(  r$t        j                  d	t        |d
«      «      d   }n#t        dj	                  t        | «      «      «      ‚t        ||«      S )Nr“   r`   r$   r   r”   re   r   r•   rh   rž   z!logic error, not binary: 0x{:02x}r	  )rþ   rp   rq   r  s       r   Ú_unpack_binaryr    s“   € Øˆw‚Ü—‘˜s¤L°°QÓ$7Ó8¸Ñ;‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰äÐ;×BÑBÄ3ÀtÃ9ÓMÓNÐNä˜˜FÓ#Ð#r   c           	      ó.  — | dk(  rd}n¾| dk(  rd}n¶| dk(  rd}n®| dk(  rd}n¦| d	k(  rd
}nž| dk(  r$t        j                  dt        |d«      «      d   }nu| dk(  r$t        j                  dt        |d«      «      d   }nL| dk(  r$t        j                  dt        |d«      «      d   }n#t        dj	                  t        | «      «      «      ‚t        j                  dt        |d«      «      d   }t        ||«      }|j                  d«      }|r||v r ||   t        ||«      «      S |t        v r	 t        |   j                  |«      S |dk(  rt        ||«      S t        ||«      S # t        $ r+ t        dj	                  t        t        |   «      «      «      ‚w xY w)Nr›   r$   r�   r   rŸ   rž   r    r   r¢   r¡   r£   r`   r   r¥   re   r¦   rh   zlogic error, not ext: 0x{:02x}rV   rÈ   zBExt serializable class {:s} is missing implementation of unpackb()éÿÿÿÿ)rl   rû   rø   rü   r   r*   rƒ   r   r;   Úunpackbr×   rØ   r<   Ú_unpack_ext_timestamp)rþ   rp   rq   r  r?   Úext_datarÈ   s          r   Ú_unpack_extr  &  s·  € Øˆw‚Ø‰Ø	�ŠØ‰Ø	�ŠØ‰Ø	�ŠØ‰Ø	�ŠØ‰Ø	�ŠÜ—‘˜s¤L°°QÓ$7Ó8¸Ñ;‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰äÐ8×?Ñ?ÄÀDÃ	ÓJÓKÐKä�}‰}˜S¤,¨r°1Ó"5Ó6°qÑ9€HÜ˜B Ó'€Hð —;‘;˜~Ó.€LÙ˜ LÑ0Ø%ˆ|˜HÑ%¤c¨(°HÓ&=Ó>Ð>ð Ô%Ñ%ð	WÜ% hÑ/×7Ñ7¸ÓAÐAð
 �2‚~Ü$ X¨wÓ7Ð7äˆx˜Ó"Ð"øô ò 	WÜ%Ð&j×&qÑ&qÔrvô  xJð  KSñ  xTó  sUó  'Vó  Wð  Wð	Wús   Ä+E  Å 4Fc                 ó¶  — t        | «      }|dk(  rt        j                  d| «      d   }d}n�|dk(  r't        j                  d| «      d   }|dz  }|dz	  dz  }nd|d	k(  r<t        j                  d
| dd	 «      d   }t        j                  d| dd «      d   dz  }n#t        dj	                  t        | «      «      «      ‚t
        t        j                  ||¬«      z   S )Nrž   rh   r   r   rj   r«   r­   r¬   é   r^   z+unsupported timestamp with data length {:d})r±   r³   )r)   rl   rû   rN   r   r°   rá   Ú	timedelta)r  rq   r�   r±   r³   r¶   s         r   r  r  P  sç   € Ü�(‹m€GØ�!‚|ä—-‘-  hÓ/°Ñ2ˆØ‰Ø	�AŠä—‘˜d HÓ-¨aÑ0ˆØ˜+Ñ%ˆØ ™¨Ñ,‰Ø	�BŠä—-‘-  h¨q° nÓ5°aÑ8ˆÜ—}‘} T¨8°A°a¨=Ó9¸!Ñ<ÀÑD‰ä+Ø9×@Ñ@ÄÀXÃÓOóQð 	Qô ”H×&Ñ&¨wØ4@ôBñ Bð Br   c                 óÞ  ‡‡— t        | «      dz  dk(  rt        | «      dz  }nu| dk(  r$t        j                  dt        ‰d«      «      d   }nL| dk(  r$t        j                  d	t        ‰d
«      «      d   }n#t	        dj                  t        | «      «      «      ‚‰j                  d«      rt        ˆˆfd„t        |«      D «       «      S t        |«      D �cg c]  }t        ‰‰«      ‘Œ c}S c c}w )Néð   r¹   éÿÿÿrº   re   r   r   r»   rh   rž   z logic error, not array: 0x{:02x}Ú	use_tuplec              3   ó6   •K  — | ]  }t        ‰‰«      –— Œ y ­wrË   ©Ú_unpack)rÎ   r,   rp   rq   s     €€r   rÐ   z _unpack_array.<locals>.<genexpr>r  s   øè ø€ ÐC±N¨q”g˜b '×*±Nùs   ƒ)
r*   rl   rû   rø   rü   r   rƒ   rß   r'   r"  )rþ   rp   rq   r  r,   s    ``  r   Ú_unpack_arrayr#  g  sÇ   ù€ ÜˆD‹	�DÑ˜TÒ!Ü�d“)˜eÑ#‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰äÐ:×AÑAÄ#ÀdÃ)ÓLÓMÐMà‡{�{�;ÔÜÔC´F¸6´NÓCÓDÐDä*0°¬.Ó9©. QŒG�B˜Õ ¨.Ñ9Ð9ùÒ9s   ÃC*c                 ót   — t        | t        «      r"t        | D �cg c]  }t        |«      ‘Œ c}«      S | S c c}w rË   )r   rÞ   rß   Ú_deep_list_to_tuple)ro   r½   s     r   r%  r%  w  s6   € Ü�#”tÔÜ±cÓ:±c°Ô)¨!Õ,°cÑ:Ó;Ð;Ø€Jùò ;s   š5c                 ór  — t        | «      dz  dk(  rt        | «      dz  }nu| dk(  r$t        j                  dt        |d«      «      d   }nL| dk(  r$t        j                  d	t        |d
«      «      d   }n#t	        dj                  t        | «      «      «      ‚|j                  d«      si nt        j                  «       }t        |«      D ]¼  }t        ||«      }t        |t        «      rt        |«      }n€t        |t        «      s6t        dj                  t!        |«      t!        t#        |«      «      «      «      ‚||v r6t%        dj                  t!        |«      t!        t#        |«      «      «      «      ‚t        ||«      }	 |||<   Œ¾ |S # t&        $ r$ t        dj                  t!        |«      «      «      ‚w xY w)Nr  r_   r  rÀ   re   r   r   rÁ   rh   rž   zlogic error, not map: 0x{:02x}Úuse_ordered_dictz)encountered unhashable key: "{:s}" ({:s})z(encountered duplicate key: "{:s}" ({:s})z"encountered unhashable key: "{:s}")r*   rl   rû   rø   rü   r   rƒ   ÚcollectionsÚOrderedDictr'   r"  r   rÞ   r%  r   rR   r   r   rT   r   )rþ   rp   rq   r  ÚdÚ_rÃ   rÄ   s           r   Ú_unpack_mapr,  }  s‘  € ÜˆD‹	�DÑ˜TÒ!Ü�d“)˜eÑ#‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰Ø	�ŠÜ—‘˜t¤\°"°aÓ%8Ó9¸!Ñ<‰äÐ8×?Ñ?ÄÀDÃ	ÓJÓKÐKà—+‘+Ð0Ô1‰´{×7NÑ7NÓ7P€AÜ�FŽ^ˆä�B˜Ó ˆä�aœÔä# AÓ&‰AÜ˜AœxÔ(Ü(Ø=×DÑDÄSÈÃVÌSÔQUÐVWÓQXË\ÓZó\ð \à�!‰VÜ'Ø<×CÑCÄCÈÃFÌCÔPTÐUVÓPWËLÓYó[ð [ô �B˜Ó ˆð	GØˆAˆaŠDð% ð, €Høô ò 	GÜ(Ø6×=Ñ=¼cÀ!»fÓEóGð Gð	Gús   Æ F	Æ	-F6c                 ó:   — t        | d«      }t        |   || |«      S )Nr$   )rø   Ú_unpack_dispatch_table)rp   rq   rþ   s      r   r"  r"  ¡  s"   € Ü˜˜AÓ€DÜ! $Ñ'¨¨b°'Ó:Ð:r   c                 ó   — t        | |«      S )a¼  
    Deserialize MessagePack bytes into a Python object.

    Args:
        fp: a .read()-supporting file-like object

    Keyword Args:
        ext_handlers (dict): dictionary of Ext handlers, mapping integer Ext
                             type to a callable that unpacks an instance of
                             Ext into an object
        use_ordered_dict (bool): unpack maps into OrderedDict, instead of dict
                                 (default False)
        use_tuple (bool): unpacks arrays into tuples, instead of lists (default
                          False)
        allow_invalid_utf8 (bool): unpack invalid strings into instances of
                                   :class:`InvalidString`, for access to the
                                   bytes (default False)

    Returns:
        Python object

    Raises:
        InsufficientDataException(UnpackException):
            Insufficient data to unpack the serialized object.
        InvalidStringException(UnpackException):
            Invalid UTF-8 string encountered during unpacking.
        UnsupportedTimestampException(UnpackException):
            Unsupported timestamp format encountered during unpacking.
        ReservedCodeException(UnpackException):
            Reserved code encountered during unpacking.
        UnhashableKeyException(UnpackException):
            Unhashable key encountered during map unpacking.
            The serialized map cannot be deserialized into a Python dictionary.
        DuplicateKeyException(UnpackException):
            Duplicate key encountered during map unpacking.

    Example:
        >>> f = open('test.bin', 'rb')
        >>> umsgpack.unpackb(f)
        {u'compact': True, u'schema': 0}
    r!  ©rp   rq   s     r   Ú_unpack2r1  ¨  ó   € ôT �2�wÓÐr   c                 ó   — t        | |«      S )aº  
    Deserialize MessagePack bytes into a Python object.

    Args:
        fp: a .read()-supporting file-like object

    Keyword Args:
        ext_handlers (dict): dictionary of Ext handlers, mapping integer Ext
                             type to a callable that unpacks an instance of
                             Ext into an object
        use_ordered_dict (bool): unpack maps into OrderedDict, instead of dict
                                 (default False)
        use_tuple (bool): unpacks arrays into tuples, instead of lists (default
                          False)
        allow_invalid_utf8 (bool): unpack invalid strings into instances of
                                   :class:`InvalidString`, for access to the
                                   bytes (default False)

    Returns:
        Python object

    Raises:
        InsufficientDataException(UnpackException):
            Insufficient data to unpack the serialized object.
        InvalidStringException(UnpackException):
            Invalid UTF-8 string encountered during unpacking.
        UnsupportedTimestampException(UnpackException):
            Unsupported timestamp format encountered during unpacking.
        ReservedCodeException(UnpackException):
            Reserved code encountered during unpacking.
        UnhashableKeyException(UnpackException):
            Unhashable key encountered during map unpacking.
            The serialized map cannot be deserialized into a Python dictionary.
        DuplicateKeyException(UnpackException):
            Duplicate key encountered during map unpacking.

    Example:
        >>> f = open('test.bin', 'rb')
        >>> umsgpack.unpackb(f)
        {'compact': True, 'schema': 0}
    r!  r0  s     r   Ú_unpack3r4  Õ  r2  r   c                 ó‚   — t        | t        t        f«      st        d«      ‚t	        t        j                  | «      |«      S )a  
    Deserialize MessagePack bytes into a Python object.

    Args:
        s (str, bytearray): serialized MessagePack bytes

    Keyword Args:
        ext_handlers (dict): dictionary of Ext handlers, mapping integer Ext
                             type to a callable that unpacks an instance of
                             Ext into an object
        use_ordered_dict (bool): unpack maps into OrderedDict, instead of dict
                                 (default False)
        use_tuple (bool): unpacks arrays into tuples, instead of lists (default
                          False)
        allow_invalid_utf8 (bool): unpack invalid strings into instances of
                                   :class:`InvalidString`, for access to the
                                   bytes (default False)

    Returns:
        Python object

    Raises:
        TypeError:
            Packed data type is neither 'str' nor 'bytearray'.
        InsufficientDataException(UnpackException):
            Insufficient data to unpack the serialized object.
        InvalidStringException(UnpackException):
            Invalid UTF-8 string encountered during unpacking.
        UnsupportedTimestampException(UnpackException):
            Unsupported timestamp format encountered during unpacking.
        ReservedCodeException(UnpackException):
            Reserved code encountered during unpacking.
        UnhashableKeyException(UnpackException):
            Unhashable key encountered during map unpacking.
            The serialized map cannot be deserialized into a Python dictionary.
        DuplicateKeyException(UnpackException):
            Duplicate key encountered during map unpacking.

    Example:
        >>> umsgpack.unpackb(b'\x82\xa7compact\xc3\xa6schema\x00')
        {u'compact': True, u'schema': 0}
    z-packed data must be type 'str' or 'bytearray')r   r   Ú	bytearrayr   r"  rì   rí   ©r+   rq   s     r   Ú	_unpackb2r8    s5   € ôV �aœ#œyÐ)Ô*ÜÐGÓHÐHÜ”2—:‘:˜a“= 'Ó*Ð*r   c                 ó‚   — t        | t        t        f«      st        d«      ‚t	        t        j                  | «      |«      S )a  
    Deserialize MessagePack bytes into a Python object.

    Args:
        s (bytes, bytearray): serialized MessagePack bytes

    Keyword Args:
        ext_handlers (dict): dictionary of Ext handlers, mapping integer Ext
                             type to a callable that unpacks an instance of
                             Ext into an object
        use_ordered_dict (bool): unpack maps into OrderedDict, instead of dict
                                 (default False)
        use_tuple (bool): unpacks arrays into tuples, instead of lists (default
                          False)
        allow_invalid_utf8 (bool): unpack invalid strings into instances of
                                   :class:`InvalidString`, for access to the
                                   bytes (default False)

    Returns:
        Python object

    Raises:
        TypeError:
            Packed data type is neither 'bytes' nor 'bytearray'.
        InsufficientDataException(UnpackException):
            Insufficient data to unpack the serialized object.
        InvalidStringException(UnpackException):
            Invalid UTF-8 string encountered during unpacking.
        UnsupportedTimestampException(UnpackException):
            Unsupported timestamp format encountered during unpacking.
        ReservedCodeException(UnpackException):
            Reserved code encountered during unpacking.
        UnhashableKeyException(UnpackException):
            Unhashable key encountered during map unpacking.
            The serialized map cannot be deserialized into a Python dictionary.
        DuplicateKeyException(UnpackException):
            Duplicate key encountered during map unpacking.

    Example:
        >>> umsgpack.unpackb(b'\x82\xa7compact\xc3\xa6schema\x00')
        {'compact': True, 'schema': 0}
    z/packed data must be type 'bytes' or 'bytearray')r   r   r6  r   r"  rì   rí   r7  s     r   Ú	_unpackb3r:  4  s5   € ôV �aœ%¤Ð+Ô,ÜÐIÓJÐJÜ”2—:‘:˜a“= 'Ó*Ð*r   c                  ó|  ‡— da t        j                  d   dk(  rt        j                  j
                  an" G ˆfd„dt        j                  «      Š ‰«       at        j                  dddt        ¬«      at        j                  j                  d	k(  rd
andat        j                  d   dk(  r7t        at        at        at        at$        at(        at$        at(        at0        an0t4        at6        at4        at6        at8        at:        at8        at:        ai at1        dd«      D ]#  } t>        t<        tA        j                  d| «      <   Œ% t1        dd«      D ]#  } tB        t<        tA        j                  d| «      <   Œ% t1        dd«      D ]#  } tD        t<        tA        j                  d| «      <   Œ% t1        dd«      D ]#  } tF        t<        tA        j                  d| «      <   Œ% tH        t<        d<   tJ        t<        d<   tL        t<        d<   tL        t<        d<   t1        dd«      D ]#  } tN        t<        tA        j                  d| «      <   Œ% t1        dd«      D ]#  } tP        t<        tA        j                  d| «      <   Œ% tR        t<        d<   tR        t<        d<   t1        dd«      D ]#  } t>        t<        tA        j                  d| «      <   Œ% t1        dd«      D ]#  } t>        t<        tA        j                  d| «      <   Œ% t1        dd«      D ]#  } tP        t<        tA        j                  d| «      <   Œ% t1        dd«      D ]#  } tF        t<        tA        j                  d| «      <   Œ% tD        t<        d<   tD        t<        d <   tB        t<        d!<   tB        t<        d"<   t1        d#d$«      D ]#  } t>        t<        tA        j                  d| «      <   Œ% y )%NFr   r   c                   óL   •— e Zd Z ej                  d«      Zˆ fd„Zd„ Zˆ fd„Zy)ú__init.<locals>.UTCr   c                 ó   •— ‰j                   S rË   ©ÚZERO©r   ÚdtÚUTCs     €r   Ú	utcoffsetz__init.<locals>.UTC.utcoffset�  ó   ø€ Ø—x‘x�r   c                  ó   — y)NrC  r5   )r   rB  s     r   Útznamez__init.<locals>.UTC.tzname„  s   € Ør   c                 ó   •— ‰j                   S rË   r?  rA  s     €r   Údstz__init.<locals>.UTC.dst‡  rE  r   N)	r1   r2   r3   rá   r  r@  rD  rG  rI  )rC  s   €r   rC  r=  ~  s$   ø„ Ø%�8×%Ñ% aÓ(ˆDô òõ r   rC  i²  r$   r©   é5   r}   r€   r_   r`   r¹   rŠ   éÀ   rt   r  ry   rx   éÄ   éÇ   éÊ   r�   r~   éÌ   éÐ   éÔ   éÙ   éÜ   rº   r»   rÀ   rÁ   rú   ra   )*rÜ   r   r   rá   ÚtimezoneÚutcr¯   rª   r°   Ú
float_infoÚmant_digr„   rê   rm   ró   rÖ   ÚdumpÚdumpsr4  rû   r:  r  ÚloadÚloadsÚranger'   rå   rð   r1  r8  r.  rÿ   rl   r,  r#  r  r  r  r  r  r  r
  )rþ   rC  s    @r   Ú__initr]  h  s   ø€ ð" €Mä
×Ñ˜Ñ˜aÒÜ×'Ñ'×+Ñ+‰ö
	 ”(—/‘/ô 
	 ñ “eˆô ×Ñ˜t Q¨´+Ô>€Fô ‡~�~×Ñ "Ò$Ø#Ñà#Ðô ×Ñ˜Ñ˜aÒÜˆÜˆÜˆÜˆÜˆÜˆÜˆÜˆÜ‰äˆÜˆÜˆÜˆÜˆÜˆÜˆÜˆð  Ðä�a˜Ö"ˆÜ9HÔœvŸ{™{¨3°Ó5Ò6ð #ô �d˜HÖ%ˆÜ9DÔœvŸ{™{¨3°Ó5Ò6ð &ô �d˜HÖ%ˆÜ9FÔœvŸ{™{¨3°Ó5Ò6ð &ô �d˜HÖ%ˆÜ9GÔœvŸ{™{¨3°Ó5Ò6ð &ô '2Ô˜7Ñ#ä&6Ô˜7Ñ#ä&5Ô˜7Ñ#Ü&5Ô˜7Ñ#ä�d˜HÖ%ˆÜ9GÔœvŸ{™{¨3°Ó5Ò6ð &ô �d˜HÖ%ˆÜ9DÔœvŸ{™{¨3°Ó5Ò6ð &ô '4Ô˜7Ñ#Ü&3Ô˜7Ñ#ä�d˜HÖ%ˆÜ9HÔœvŸ{™{¨3°Ó5Ò6ð &ô �d˜HÖ%ˆÜ9HÔœvŸ{™{¨3°Ó5Ò6ð &ô �d˜HÖ%ˆÜ9DÔœvŸ{™{¨3°Ó5Ò6ð &ô �d˜HÖ%ˆÜ9GÔœvŸ{™{¨3°Ó5Ò6ð &ô '4Ô˜7Ñ#Ü&3Ô˜7Ñ#ä&1Ô˜7Ñ#Ü&1Ô˜7Ñ#ä�d˜HÖ%ˆÜ9HÔœvŸ{™{¨3°Ó5Ò6ñ &r   )Ir4   rl   r(  rá   r   rì   r   Úcollections.abcr   Ú__version__ÚversionÚobjectr   r   r7   r=   r;   rA   rü   rC   rE   rG   rI   rL   rN   rP   rR   rT   ÚKeyNotPrimitiveExceptionÚKeyDuplicateExceptionrm   rÖ   rû   r  rX  rY  rZ  r[  rÜ   rr   rv   rz   r†   r‘   r—   r™   r§   r·   r¾   rÅ   rå   rê   rð   ró   rø   rÿ   r  r  r  r
  r  r  r  r  r#  r%  r,  r"  r1  r4  r8  r:  r]  r5   r   r   Ú<module>rd     sï  ðñBó Û Û Û 
Û 	à×Ñ�A�aÐ˜FÒ"Þ(å$à€Ø à
€Ø ôI,ˆ&ô I,ôX;�Eô ;ð Ð ØÐ ò"ôV<�Iô <ô>�iô >ô
-˜}ô -ô
9 ô 9ô9˜_ô 9ôA Oô Aô2˜Oô 2ô˜_ô ô6˜Oô 6ð
 2Ð Ø-Ð ð €Ø€Ø	€Ø
€Ø€Ø€Ø€Ø€à€ðò4@ò:ò*ò4ò6ò	=ò	:ò8ò,9ò4òò&RXòlS=òlò@òHò$Hò0FòHòLòJòIò4
$ò'#òTBò.:ò ò!òH;ò* òZ* ò\-+òb-+òhuIñp …r   