+
    ®¾j^  ã                   óZ   € ^ RI t ^ RIt^ RIHt  ! R R]! RR4      4      t ! R R4      tR# )é    N)Ú
namedtuplec                   ó6   a a€ ] tR t^t oRtV 3R ltRtVtV ;t# )ÚExtTypez'ExtType represents ext type in msgpack.c                óà   <€ \        V\        4      '       g   \        R 4      h\        V\        4      '       g   \        R4      h^ Tu;8:  d   ^8:  g   M \	        R4      h\
        SV `  WV4      # )zcode must be intzdata must be byteszcode must be 0~127)Ú
isinstanceÚintÚ	TypeErrorÚbytesÚ
ValueErrorÚsuperÚ__new__)ÚclsÚcodeÚdataÚ	__class__s   &&&€ÚV/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_vendor/msgpack/ext.pyr   ÚExtType.__new__	   s_   ø€ Ü˜$¤×$Ò$ÜÐ.Ó/Ð/Ü˜$¤×&Ò&ÜÐ0Ó1Ð1Ø�DÖ˜CÖÜÐ1Ó2Ð2Ü‰w‰˜s¨$Ó/Ð/ó    © )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r   r      s   ù‡ € Ù1÷0õ 0r   r   z	code datac                   ó¦   a € ] tR t^t o RtRR.tRR ltR tR tR t	R t
]R	 4       tR
 t]R 4       tR t]R 4       tR tR t]R 4       tRtV tR# )Ú	TimestampaB  Timestamp represents the Timestamp extension type in msgpack.

When built with Cython, msgpack uses C methods to pack and unpack `Timestamp`.
When using pure-Python msgpack, :func:`to_bytes` and :func:`from_bytes` are used to pack and
unpack `Timestamp`.

This class is immutable: Do not override seconds and nanoseconds.
ÚsecondsÚnanosecondsc                óÚ   € \        V\        4      '       g   \        R4      h\        V\        4      '       g   \        R4      h^ Tu;8:  d   R8  g   M \        R4      hWn        W n        R# )a†  Initialize a Timestamp object.

:param int seconds:
    Number of seconds since the UNIX epoch (00:00:00 UTC Jan 1 1970, minus leap seconds).
    May be negative.

:param int nanoseconds:
    Number of nanoseconds to add to `seconds` to get fractional time.
    Maximum is 999_999_999.  Default is 0.

Note: Negative times (before the UNIX epoch) are represented as neg. seconds + pos. ns.
zseconds must be an integerznanoseconds must be an integerz?nanoseconds must be a non-negative integer less than 999999999.Né Êš;)r   r   r	   r   r!   r"   )Úselfr!   r"   s   &&&r   Ú__init__ÚTimestamp.__init__   sZ   € ô ˜'¤3×'Ò'ÜÐ8Ó9Ð9Ü˜+¤s×+Ò+ÜÐ<Ó=Ð=Ø�[Ö( 5Ö(ÜÐ^Ó_Ð_ØŒØ&Ör   c                ó<   € RV P                    RV P                   R2# )z#String representation of Timestamp.zTimestamp(seconds=z, nanoseconds=Ú)©r!   r"   ©r%   s   &r   Ú__repr__ÚTimestamp.__repr__5   s#   € à# D§L¡L >°À×@PÑ@PÐ?QÐQRÐSÐSr   c                ó¬   € \        V4      V P                  J d;   V P                  VP                  8H  ;'       d    V P                  VP                  8H  # R# )z0Check for equality with another Timestamp objectF)Útyper   r!   r"   ©r%   Úothers   &&r   Ú__eq__ÚTimestamp.__eq__9   sA   € ä�‹;˜$Ÿ.™.Ó(Ø—<‘< 5§=¡=Ñ0×ZÐZ°T×5EÑ5EÈ×IZÑIZÑ5ZÐZÙr   c                ó.   € V P                  V4      '       * # )z(not-equals method (see :func:`__eq__()`))r2   r0   s   &&r   Ú__ne__ÚTimestamp.__ne__?   s   € à—;‘;˜uÓ%Ô%Ð%r   c                óD   € \        V P                  V P                  34      # )N)Úhashr!   r"   r+   s   &r   Ú__hash__ÚTimestamp.__hash__C   s   € Ü�T—\‘\ 4×#3Ñ#3Ð4Ó5Ð5r   c                óf  € \        V 4      ^8X  d"   \        P                  ! RV 4      ^ ,          p^ pMv\        V 4      ^8X  d2   \        P                  ! RV 4      ^ ,          pVR,          pV^",	          pM5\        V 4      ^8X  d   \        P                  ! RV 4      w  r!M\        R4      h\	        W4      # )zéUnpack bytes into a `Timestamp` object.

Used for pure-Python msgpack unpacking.

:param b: Payload from msgpack ext message with code -1
:type b: bytes

:returns: Timestamp object unpacked from msgpack ext payload
:rtype: Timestamp
ú!Lú!Ql   ÿÿ ú!IqzFTimestamp type can only be created from 32, 64, or 96-bit byte objects)ÚlenÚstructÚunpackr   r    )Úbr!   r"   Údata64s   &   r   Ú
from_bytesÚTimestamp.from_bytesF   sš   € ô ˆq‹6�QŒ;Ü—m’m D¨!Ó,¨QÕ/ˆGØ‰KÜ�‹V�qŒ[Ü—]’] 4¨Ó+¨AÕ.ˆFØÐ1Õ1ˆGØ  B�,‰KÜ�‹V�rŒ\Ü#)§=¢=°¸Ó#:Ñ ˆK˜äØXóð ô ˜Ó.Ð.r   c                óX  € V P                   ^",	          ^ 8X  df   V P                  ^",          V P                   ,          pVR,          ^ 8X  d   \        P                  ! RV4      pV# \        P                  ! RV4      p V# \        P                  ! RV P                  V P                   4      pV# )z¢Pack this Timestamp object into bytes.

Used for pure-Python msgpack packing.

:returns data: Payload for EXT message with code -1 (timestamp type)
:rtype: bytes
l       üÿ r<   r=   r>   )r!   r"   r@   Úpack)r%   rC   r   s   &  r   Úto_bytesÚTimestamp.to_bytesa   s�   € ð �L‰L˜BÕ 1Ô$Ø×%Ñ%¨Õ+¨d¯l©lÕ:ˆFØÐ*Õ*¨aÔ/ä—{’{ 4¨Ó0�ð ˆô	 —{’{ 4¨Ó0‘ð ˆô —;’;˜u d×&6Ñ&6¸¿¹ÓEˆDØˆr   c                ón   € \        V ^,          4      p\        V ^,          R,          4      p\        W4      # )zƒCreate a Timestamp from posix timestamp in seconds.

:param unix_float: Posix timestamp in seconds.
:type unix_float: int or float
r$   )r   r    )Úunix_secr!   r"   s   &  r   Ú	from_unixÚTimestamp.from_unixv   s0   € ô �h !•mÓ$ˆÜ˜8 a�<¨5Õ0Ó1ˆÜ˜Ó.Ð.r   c                óJ   € V P                   V P                  R,          ,           # )zVGet the timestamp as a floating-point value.

:returns: posix timestamp
:rtype: float
g    eÍÍAr*   r+   s   &r   Úto_unixÚTimestamp.to_unix�   s   € ð �|‰|˜d×.Ñ.°Õ4Õ4Ð4r   c                ó(   € \        \        V R4      !  # )zCreate a Timestamp from posix timestamp in nanoseconds.

:param int unix_ns: Posix timestamp in nanoseconds.
:rtype: Timestamp
r$   )r    Údivmod)Úunix_nss   &r   Úfrom_unix_nanoÚTimestamp.from_unix_nano‰   s   € ô œ& ¨%Ó0Ñ1Ð1r   c                óJ   € V P                   R,          V P                  ,           # )zfGet the timestamp as a unixtime in nanoseconds.

:returns: posix timestamp in nanoseconds
:rtype: int
r$   r*   r+   s   &r   Úto_unix_nanoÚTimestamp.to_unix_nano’   s   € ð �|‰|˜eÕ# d×&6Ñ&6Õ6Ð6r   c                óæ   € \         P                  P                  p\         P                   P                  ^ V4      \         P                  ! V P
                  V P                  R,          R7      ,           # )zBGet the timestamp as a UTC datetime.

:rtype: `datetime.datetime`
éè  )r!   Úmicroseconds)ÚdatetimeÚtimezoneÚutcÚfromtimestampÚ	timedeltar!   r"   )r%   r^   s   & r   Úto_datetimeÚTimestamp.to_datetimeš   sV   € ô
 ×Ñ×#Ñ#ˆÜ× Ñ ×.Ñ.¨q°#Ó6¼×9KÒ9KØ—L‘L¨t×/?Ñ/?À4Õ/Gô:
õ 
ð 	
r   c                ól   € \        \        V P                  4       4      V P                  R,          R7      # )zACreate a Timestamp from datetime with tzinfo.

:rtype: Timestamp
rZ   r*   )r    r   Ú	timestampÚmicrosecond)Údts   &r   Úfrom_datetimeÚTimestamp.from_datetime¤   s&   € ô ¤ R§\¡\£^Ó!4À"Ç.Á.ÐSWÕBWÔXÐXr   )r"   r!   N)r   )r   r   r   r   r   Ú	__slots__r&   r,   r2   r5   r9   ÚstaticmethodrD   rH   rL   rO   rT   rW   ra   rg   r   r   )r   s   @r   r    r       s–   ø‡ € ñð ˜MÐ*€Iô'ò,Tòò&ò6ð ñ/ó ð/ò4ð* ñ/ó ð/ò5ð ñ2ó ð2ò7ò
ð ñYó öYr   r    )r\   r@   Úcollectionsr   r   r    r   r   r   Ú<module>rl      s/   ðÛ Û Ý "ô
0‰j˜ KÓ0ô 
0÷WYó WYr   