ó
    ýÞ j?  ã                  ór   • S r SSKJr  SSKrSSKrSSKrSq " S S\R                  5      rSS jrS	S
S jjr	g)zŽAdapted from
https://github.com/oittaa/uuid6-python/blob/main/src/uuid6/__init__.py#L95
Bundled in to avoid install issues with uuid6 package
é    )ÚannotationsNc                  óÀ   ^ • \ rS rSrSrSr      S\R                  R                  S.               S	U 4S jjjjr	\
S
S j5       r\
S
U 4S jj5       rSrU =r$ )ÚUUIDé   zUUID draft version objects© )Úis_safec          
     ó  >• Ub  XX4/R                  S5      S:w  a  [        TU ]	  UUUUUUUS9$ SUs=::  a	  SS-  :  d  O  [        S5      eUb0  SUs=::  a  S	::  d  O  [        S
5      eUS-  nUS-  nUS-  nXVS-  -  n[        TU ]	  XWS9  g)zCreate a UUID.Né   )ÚhexÚbytesÚbytes_leÚfieldsÚintÚversionr   r   é   é€   z*int is out of range (need a 128-bit value)é   é   zillegal version numberlûÿÿÿ        l            lúÿÿÿ          éL   )r   r   )ÚcountÚsuperÚ__init__Ú
ValueError)	Úselfr   r   r   r   r   r   r   Ú	__class__s	           €ÚV/var/www/html/gaurav/venv/lib/python3.13/site-packages/langgraph/checkpoint/base/id.pyr   ÚUUID.__init__   sÅ   ø€ ð ‰;˜3 xÐ8×>Ñ>¸tÓDÈÓIÜ‘7Ñ#ØØØ!ØØØØð $ð ð ð �CÕ"˜!˜s™(Õ"ÜÐIÓJÐJØÑØ˜Õ$ 1Õ$Ü Ð!9Ó:Ð:à�?Ñ"ˆCØ�<ÑˆCà�?Ñ"ˆCØ˜b‘=Ñ ˆCÜ‰Ñ˜SÐÒ2ó    c                óR   • U R                   S-	  S-  S-  U R                   S-	  S-  -  $ )Né@   éÿ  r   é6   éÿ   )r   )r   s    r   ÚsubsecÚUUID.subsec8   s,   € à—‘˜R‘ 6Ñ)¨aÑ/°D·H±HÀ±NÀdÑ3JÑKÐKr   c                óD  >• U R                   S:X  a/  U R                  S-  U R                  S-  -  U R                  S-  -  $ U R                   S:X  a  U R                  S-	  $ U R                   S:X  a(  U R                  S-	  S-  [        U R                  5      -   $ [        TU ]   $ )	Nr   é   é   r!   é   éP   r   é@B )	r   Útime_lowÚtime_midÚtime_hi_versionr   Ú_subsec_decoder$   r   Útime)r   r   s    €r   r0   Ú	UUID.time<   s—   ø€ à�<‰<˜1Óà—‘ "Ñ$Ø—=‘= BÑ&ñ(à×'Ñ'¨&Ñ0ñ2ðð
 �<‰<˜1ÓØ—8‘8˜r‘>Ð!Ø�<‰<˜1ÓØ—H‘H ‘N eÑ+¬n¸T¿[¹[Ó.IÑIÐIÜ‰w‰|Ðr   )NNNNNN)r   z
str | Noner   úbytes | Noner   r2   r   z*tuple[int, int, int, int, int, int] | Noner   ú
int | Noner   r3   r   zuuid.SafeUUIDÚreturnÚNone)r4   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__ÚuuidÚSafeUUIDÚunknownr   Úpropertyr$   r0   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s¶   ø† Ù%à€Ið Ø"Ø!%Ø=AØØ"ð"3ð "&§¡×!6Ñ!6ñ"3àð"3ð ð"3ð ð	"3ð
 ;ð"3ð ð"3ð ð"3ð ð"3ð 
÷"3ñ "3ðH óLó ðLð öó ör   r   c                ó   • U * S-  S-  * $ )Nr+   i   r   )Úvalues    r   r/   r/   K   s   € ØˆV�e‰^˜uÑ$Ð%Ð%r   c                ó@  • [         R                  " 5       nUS-  S-   n[        b  U[        ::  a	  [        S-   nUqUc  [        R                  " S5      nU c  [        R                  " S5      n US-	  S-  nUS-  nUS	-  nXeS
-  -  nXaS-  S-  -  nX`S-  -  n[        USS9$ )a¹  UUID version 6 is a field-compatible version of UUIDv1, reordered for
improved DB locality. It is expected that UUIDv6 will primarily be
used in contexts where there are existing v1 UUIDs. Systems that do
not involve legacy UUIDv1 SHOULD consider using UUIDv7 instead.

If 'node' is not given, a random 48-bit number is chosen.

If 'clock_seq' is given, it is used as the sequence number;
otherwise a random 14-bit sequence number is chosen.éd   l    @'Hw�r   é   é0   r(   l   ÿÿÿ r!   r*   r    iÿ?  r   )r   r   )r0   Útime_nsÚ_last_v6_timestampÚrandomÚgetrandbitsr   )ÚnodeÚ	clock_seqÚnanosecondsÚ	timestampÚtime_high_and_time_midÚtime_low_and_versionÚuuid_ints          r   Úuuid6rS   O   sÇ   € ô —,’,“.€Kð ˜sÑ"Ð%7Ñ7€IÜÑ%¨)Ô7IÓ*IÜ&¨Ñ*ˆ	Ø"ÐØÑÜ×&Ò& rÓ*ˆ	Ø�|Ü×!Ò! "Ó%ˆØ'¨2™o°Ñ?ÐØ$ vÑ-ÐØ%¨Ñ+€HØ¨Ñ*Ñ*€HØ˜VÑ#¨Ñ*Ñ*€HØ�~Ñ%Ñ%€HÜ�H aÑ(Ð(r   )rC   r   r4   r   )NN)rL   r3   rM   r3   r4   r   )
r:   Ú
__future__r   rJ   r0   r<   rI   r   r/   rS   r   r   r   Ú<module>rU      s9   ðñõ
 #ã Û Û àÐ ô9ˆ4�9‰9ô 9ôx&÷)r   