Ë
    Ü_Ëißc  ã            
      ó€  — d dl mZ d dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZ d dlmZ 	 d Z	 dZ	 dZ	 dZ	 d	Z	 erd d
lmZ d dlmZ d dlZd dlmZ  G d„ d«      Zej>                  Z	 ej@                  Z 	 ejB                  Z!	 ejD                  Z"	 eefZ#ejH                  ej>                  ej@                  ejB                  ejD                  fZ%ejH                  dej>                  dej@                  dejB                  dejD                  diZ&dZ'	 dZ(	 dZ)	 dZ*	 dZ+	  G d„ de«      Z, G d„ d«      Z- G d„ de.«      Z/y)é    )ÚannotationsN)ÚEnum)ÚTYPE_CHECKINGÚAnyÚOptionalÚSequenceÚTupleÚTypeÚUnionÚoverload)ÚUUIDé   é   é   é   )Úarray)Úmmapc                  ó(   — e Zd ZdZ	 eZ	 eZ	 dZ	 dZ	y)ÚUuidRepresentationr   é   é   N)
Ú__name__Ú
__module__Ú__qualname__ÚUNSPECIFIEDÚUUID_SUBTYPEÚSTANDARDÚOLD_UUID_SUBTYPEÚPYTHON_LEGACYÚJAVA_LEGACYÚCSHARP_LEGACY© ó    úN/var/www/pod-logistic/pod-api/venv/lib/python3.12/site-packages/bson/binary.pyr   r   H   s<   „ Ø€Kðð  €Hð	ð %€Mð	ð €Kð	ð €Mð	r#   r   zUuidRepresentation.UNSPECIFIEDzUuidRepresentation.STANDARDz UuidRepresentation.PYTHON_LEGACYzUuidRepresentation.JAVA_LEGACYz UuidRepresentation.CSHARP_LEGACYr   é   é   é	   é€   c                  ó   — e Zd ZdZdZdZdZy)ÚBinaryVectorDtypeaN  Datatypes of vector subtype.

    :param FLOAT32: (0x27) Pack list of :class:`float` as float32
    :param INT8: (0x03) Pack list of :class:`int` in [-128, 127] as signed int8
    :param PACKED_BIT: (0x10) Pack list of :class:`int` in [0, 255] as unsigned uint8

    The `PACKED_BIT` value represents a special case where vector values themselves
    can only be of two values (0 or 1) but these are packed together into groups of 8,
    a byte. In Python, these are displayed as ints in range [0, 255]

    Each value is of type bytes with a length of one.

    .. versionadded:: 4.10
    ó   ó   'ó   N)r   r   r   Ú__doc__ÚINT8ÚFLOAT32Ú
PACKED_BITr"   r#   r$   r*   r*   Ô   s   „ ñð €DØ€GØ�Jr#   r*   c                  óB   — e Zd ZdZdZ	 d	 	 	 	 	 d	d„Zd
d„Zdd„Zdd„Zy)ÚBinaryVectorzbVector of numbers along with metadata for binary interoperability.
    .. versionadded:: 4.10
    ©ÚdataÚdtypeÚpaddingc                ó.   — || _         || _        || _        y)a  
        :param data: Sequence of numbers representing the mathematical vector.
        :param dtype:  The data type stored in binary
        :param padding: The number of bits in the final byte that are to be ignored
          when a vector element's size is less than a byte
          and the length of the vector is not a multiple of 8.
          (Padding is equivalent to a negative value of `count` in
          `numpy.unpackbits <https://numpy.org/doc/stable/reference/generated/numpy.unpackbits.html>`_)
        Nr4   )Úselfr5   r6   r7   s       r$   Ú__init__zBinaryVector.__init__ð   s   € ð ˆŒ	ØˆŒ
Øˆ�r#   c                óV   — d| j                   › d| j                  › d| j                  › d�S )NzBinaryVector(dtype=z
, padding=z, data=ú))r6   r7   r5   ©r9   s    r$   Ú__repr__zBinaryVector.__repr__  s-   € Ø$ T§Z¡Z L°
¸4¿<¹<¸.ÈÐPT×PYÑPYÈ{ÐZ[Ð\Ð\r#   c                óÂ   — t        |t        «      sy| j                  |j                  k(  xr4 | j                  |j                  k(  xr | j                  |j                  k(  S ©NF)Ú
isinstancer3   r6   r7   r5   ©r9   Úothers     r$   Ú__eq__zBinaryVector.__eq__  sK   € Ü˜%¤Ô.Øà�J‰J˜%Ÿ+™+Ñ%Òc¨$¯,©,¸%¿-¹-Ñ*GÒcÈDÏIÉIÐY^×YcÑYcÑLcð	
r#   c                ó,   — t        | j                  «      S ©N)Úlenr5   r=   s    r$   Ú__len__zBinaryVector.__len__  s   € Ü�4—9‘9‹~Ðr#   N©r   )r5   z4Union[Sequence[float | int], npt.NDArray[np.number]]r6   r*   r7   Úint©ÚreturnÚstr©rC   r   rL   Úbool©rL   rJ   )	r   r   r   r.   Ú	__slots__r:   r>   rD   rH   r"   r#   r$   r3   r3   é   sD   „ ñð -€Ið ð	àBðð !ðð ó	ó&]ó
ôr#   r3   c                  ó�  ‡ — e Zd ZU dZdZded<   ef	 	 	 	 	 	 	 dd„Zee	j                  f	 	 	 	 	 	 	 dd„«       Ze	j                  fdd„Zeedd„«       «       Zee	 d	 	 	 	 	 	 	 	 	 dd	„«       «       Zee	 d	 	 	 	 	 	 	 	 	 dd
„«       «       Ze	 	 d	 	 	 	 	 	 	 	 	 dd„«       Zddd„Zedd„«       Zdˆ fd„Zd d„Zdˆ fd„Zd d„Zd!d„Zˆ xZS )"ÚBinaryaý  Representation of BSON binary data.

    We want to represent Python strings as the BSON string type.
    We need to wrap binary data so that we can tell
    the difference between what should be considered binary data and
    what should be considered a string when we encode to BSON.

    Subtype 9 provides a space-efficient representation of 1-dimensional vector data.
    Its data is prepended with two bytes of metadata.
    The first (dtype) describes its data type, such as float32 or int8.
    The second (padding) prescribes the number of bits to ignore in the final byte.
    This is relevant when the element size of the dtype is not a multiple of 8.

    Raises TypeError if `subtype` is not an instance of :class:`int`.
    Raises ValueError if `subtype` is not in [0, 256).

    .. note::
      Instances of Binary with subtype 0 will be decoded directly to :class:`bytes`.

    :param data: the binary data to represent. Can be any bytes-like type
        that implements the buffer protocol.
    :param subtype: the `binary subtype
        <https://bsonspec.org/spec.html>`_
        to use

    .. versionchanged:: 3.9
       Support any bytes-like type that implements the buffer protocol.

    .. versionchanged:: 4.10
       Addition of vector subtype.
    r   rJ   Ú_Binary__subtypec                óæ   — t        |t        «      st        dt        |«      › �«      ‚|dk\  s|dk  rt	        d«      ‚t
        j                  | t        |«      j                  «       «      }||_	        |S )Nz(subtype must be an instance of int, not é   r   z%subtype must be contained in [0, 256))
rA   rJ   Ú	TypeErrorÚtypeÚ
ValueErrorÚbytesÚ__new__Ú
memoryviewÚtobytesrT   )Úclsr5   Úsubtyper9   s       r$   r[   zBinary.__new__5  sh   € ô
 ˜'¤3Ô'ÜÐFÄtÈGÃ}ÀoÐVÓWÐWØ�cŠ>˜W qš[ÜÐDÓEÐEä�}‰}˜S¤*¨TÓ"2×":Ñ":Ó"<Ó=ˆØ ˆŒØˆr#   c                óâ  — t        |t        «      st        dt        |«      › �«      ‚|t        vrt        d«      ‚|t        j                  k(  rt        d«      ‚t        }|t        j                  k(  r|j                  }ni|t        j                  k(  r$|j                  }|dd ddd…   |dd ddd…   z   }n2|t        j                  k(  r|j                  }nt        }|j                  } | ||«      S )	a3  Create a BSON Binary object from a Python UUID.

        Creates a :class:`~bson.binary.Binary` object from a
        :class:`uuid.UUID` instance. Assumes that the native
        :class:`uuid.UUID` instance uses the byte-order implied by the
        provided ``uuid_representation``.

        Raises :exc:`TypeError` if `uuid` is not an instance of
        :class:`~uuid.UUID`.

        :param uuid: A :class:`uuid.UUID` instance.
        :param uuid_representation: A member of
            :class:`~bson.binary.UuidRepresentation`. Default:
            :const:`~bson.binary.UuidRepresentation.STANDARD`.
            See `UUID representations <https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/uuid/#universally-unique-ids--uuids->`_ for details.

        .. versionadded:: 3.11
        z+uuid must be an instance of uuid.UUID, not úGuuid_representation must be a value from bson.binary.UuidRepresentationa  cannot encode native uuid.UUID with UuidRepresentation.UNSPECIFIED. UUIDs can be manually converted to bson.Binary instances using bson.Binary.from_uuid() or a different UuidRepresentation can be configured. See the documentation for UuidRepresentation for more information.r   r&   Néÿÿÿÿé   )rA   r   rW   rX   ÚALL_UUID_REPRESENTATIONSrY   r   r   r   r   rZ   r    r!   Úbytes_ler   )r^   ÚuuidÚuuid_representationr_   ÚpayloadÚ	from_uuids         r$   ri   zBinary.from_uuidC  sõ   € ô, ˜$¤Ô%ÜÐIÌ$ÈtË*ÈÐVÓWÐWàÔ&>Ñ>ÜØYóð ð Ô"4×"@Ñ"@Ò@Üð;óð ô #ˆØÔ"4×"BÑ"BÒBØ—j‘j‰GØ Ô$6×$BÑ$BÒBØŸ
™
ˆIØ  !�n¡T r TÑ*¨Y°q¸¨_¹T¸r¸TÑ-BÑB‰GØ Ô$6×$DÑ$DÒDØ—m‘m‰Gô #ˆGØ—j‘jˆGá�7˜GÓ$Ð$r#   c                ó’  — | j                   t        vrt        d| j                   › d�«      ‚|t        vrt        d«      ‚|t        j
                  k(  rt        d«      ‚|t        j                  k(  r| j                   t        k(  r¤t        | ¬«      S |t        j                  k(  r4| j                   t        k(  rrt        | dd ddd	…   | dd
 ddd	…   z   ¬«      S |t        j                  k(  r| j                   t        k(  r+t        | ¬«      S | j                   t        k(  rt        | ¬«      S t        d| j                   › dt        |   › �«      ‚)a¨  Create a Python UUID from this BSON Binary object.

        Decodes this binary object as a native :class:`uuid.UUID` instance
        with the provided ``uuid_representation``.

        Raises :exc:`ValueError` if this :class:`~bson.binary.Binary` instance
        does not contain a UUID.

        :param uuid_representation: A member of
            :class:`~bson.binary.UuidRepresentation`. Default:
            :const:`~bson.binary.UuidRepresentation.STANDARD`.
            See `UUID representations <https://www.mongodb.com/docs/languages/python/pymongo-driver/current/data-formats/uuid/#universally-unique-ids--uuids->`_ for details.

        .. versionadded:: 3.11
        zcannot decode subtype z
 as a uuidra   z)uuid_representation cannot be UNSPECIFIED)rZ   r   r&   Nrb   rc   )re   z to )r_   ÚALL_UUID_SUBTYPESrY   rd   r   r   r   r   r   r    r!   r   ÚUUID_REPRESENTATION_NAMES)r9   rg   s     r$   Úas_uuidzBinary.as_uuidz  s9  € ð  �<‰<Ô0Ñ0ÜÐ5°d·l±l°^À:ÐNÓOÐOàÔ&>Ñ>ÜØYóð ð Ô"4×"@Ñ"@Ò@ÜÐHÓIÐIØ Ô$6×$DÑ$DÒDØ�|‰|Ô/Ò/Ü $Ô'Ð'Ø Ô$6×$BÑ$BÒBØ�|‰|Ô/Ò/Ü $ q¨ )©D¨b¨D¡/°D¸¸2°J¹tÀ¸tÑ4DÑ"DÔEÐEØ Ô$6×$DÑ$DÒDØ�|‰|Ô/Ò/Ü TÔ*Ð*ð �|‰|œ|Ò+Ü $Ô'Ð'äØ$ T§\¡\ N°$Ô7PÐQdÑ7eÐ6fÐgó
ð 	
r#   c                 ó   — y rF   r"   )r^   Úvectors     r$   Úfrom_vectorzBinary.from_vector¦  s   € ð 	r#   c                 ó   — y rF   r"   ©r^   ro   r6   r7   s       r$   rp   zBinary.from_vector«  ó   € ð 	r#   c                 ó   — y rF   r"   rr   s       r$   rp   zBinary.from_vectorµ  rs   r#   c                ó"  — t        |t        «      r3|s|rt        d«      ‚|j                  }|j                  }|j
                  }|€dn|}t        |t        «      st        d«      ‚t        j                  d|j                  |«      }t        |t        «      r¿|t        j                  k(  rd}|r‚t        d|›�«      ‚|t        j                  k(  r.d}d|cxk  rd	kD  rn nt        d
|›d�«      ‚|r@|s>t        d«      ‚|t        j                  k(  rd}|rt        d|›�«      ‚t        d|z  «      ‚t        j                  dt!        |«      › |› �g|¢­Ž }�ne	 ddl}t        ||j&                  «      st        d«      ‚|j(                  dk7  rt        d«      ‚|t        j                  k(  r$|j+                   |j                  d«      d¬«      }nÞ|t        j                  k(  rU|j-                  «       dk\  r7|j/                  «       dk  r$|j+                   |j                  d«      d¬«      }n�t        d«      ‚|t        j                  k(  rU|j-                  «       dk\  r7|j/                  «       dk  r$|j+                   |j                  d«      d¬«      }nt        d«      ‚t        d|z  «      ‚|j1                  «       }|r't!        |«      r|d   d|z  dz
  z  dk(  st        d«      ‚ | ||z   t2        ¬«      S # t$        $ r}t%        d«      |‚d}~ww xY w) a#  Create a BSON :class:`~bson.binary.Binary` of Vector subtype.

        To interpret the representation of the numbers, a data type must be included.
        See :class:`~bson.binary.BinaryVectorDtype` for available types and descriptions.

        The dtype and padding are prepended to the binary data's value.

        :param vector: Either a List of values, or a :class:`~bson.binary.BinaryVector` dataclass.
        :param dtype: Data type of the values
        :param padding: For fractional bytes, number of bits to ignore at end of vector.
        :return: Binary packed data identified by dtype and padding.

        .. versionchanged:: 4.14
           When padding is non-zero, ignored bits should be zero. Raise exception on encoding, warn on decoding.

        .. versionadded:: 4.10
        zkThe first argument, vector, has type BinaryVector. dtype or padding cannot be separately defined, but were.Nr   zUdtype must be a bson.BinaryVectorDtype of BinaryVectorDType.INT8, PACKED_BIT, FLOAT32ú<sBÚbz padding does not apply to dtype=ÚBr%   zpadding=z. It must be in [0,1, ..7].z#Empty vector with non-zero padding.Úfz%s not yet supportedú<zYFailed to create binary from vector. Check type. If numpy array, numpy must be installed.z`Could not create Binary. Vector must be a BinaryVector, list[int], list[float] or numpy ndarray.r   zHfrom_numpy_vector only supports 1D arrays as it creates a single vector.Úfloat32F)Úcopyi€ÿÿÿé   Úint8z Values found outside INT8 range.Úuint8z!Values found outside UINT8 range.rb   z`Vector has a padding P, but bits in the final byte lower than P are non-zero. They must be zero.)r_   )rA   r3   rY   r6   r7   r5   r*   rW   ÚstructÚpackÚvalueÚlistr/   r1   r0   ÚNotImplementedErrorrG   ÚnumpyÚImportErrorÚndarrayÚndimÚastypeÚminÚmaxr]   ÚVECTOR_SUBTYPE)	r^   ro   r6   r7   ÚmetadataÚ
format_strr5   ÚnpÚexcs	            r$   rp   zBinary.from_vector¿  sü  € ô0 �fœlÔ+Ù™Ü ðOóð ð —L‘LˆEØ—n‘nˆGØ—[‘[ˆFà�‘!¨GˆÜ˜%Ô!2Ô3ÜØgóð ô —;‘;˜u e§k¡k°7Ó;ˆä�fœdÔ#ØÔ)×.Ñ.Ò.Ø �
ÙÜ$Ð'HÀ%ÀÐ%JÓKÐKØÔ+×6Ñ6Ò6Ø �
Ø˜Ô# !Õ#Ü$¨¨ zÐ1LÐ%MÓNÐNÙ¡6Ü$Ð%JÓKÐKØÔ+×3Ñ3Ò3Ø �
ÙÜ$Ð'HÀ%ÀÐ%JÓKÐKä)Ð*@À5Ñ*HÓIÐIÜ—;‘; ¤3 v£; -°
¨|Ð<ÐF¸vÒFŠDðÛ"ô
 ˜f b§j¡jÔ1ÜØvóð ð �{‰{˜aÒÜ Ø^óð ð Ô)×1Ñ1Ò1ØŸ™ x r§x¡x°	Ó':À˜ÓG‘ØÔ+×0Ñ0Ò0Ø—:‘:“< 4Ò'¨F¯J©J«L¸CÒ,?Ø#Ÿ]™]¨8¨2¯8©8°FÓ+;À%˜]ÓH‘Fä$Ð%GÓHÐHØÔ+×6Ñ6Ò6Ø—:‘:“< 1Ò$¨¯©«¸Ò)<Ø#Ÿ]™]¨8¨2¯8©8°GÓ+<À5˜]ÓI‘Fä$Ð%HÓIÐIä)Ð*@À5Ñ*HÓIÐIØ—>‘>Ó#ˆDá”s˜6”{¨D°©H¸¸g¹ÈÑ8JÑ,KÐPQÒ+QÜØróð ñ �8˜d‘?¬NÔ;Ð;øôC ò Ü!Øoóàðûðús   ÅK4 Ë4	LË=L	Ì	Lc                óh  — | j                   t        k7  rt        d| j                   › d�«      ‚t        j                  d| «      \  }}t        |«      }d}t        | «      |z
  }|r%|t
        j                  k7  rt        d|› d|›d�«      ‚|�sa|t
        j                  k(  r6d}d	|› |› �}t        t        j                  || |«      «      }t        |||«      S |t
        j                  k(  rK|d
z  }	|d
z  rt        d«      ‚d}d	|	› |› �}t        t        j                  || |«      «      }t        |||«      S |t
        j                  k(  r�|r|st        d«      ‚|dkD  s|dk  rt        d|› d�«      ‚d}d	|› |› �}t        t        j                  || |«      «      }
|r/|r-|
d   d|z  dz
  z  dk7  rt        j                  dt        d¬«       t        |
||«      S t        d|j                   z  «      ‚	 ddl}|t
        j                  k(  r |j&                  | |d d¬«      }nî|t
        j                  k(  r(|d
z  rt        d«      ‚ |j&                  | |d d¬«      }n³|t
        j                  k(  rˆ|r|st        d«      ‚|dkD  s|dk  rt        d|› d�«      ‚ |j&                  | |d d¬«      }|r_ |j(                  |d   «      | d j+                  «       dkD  r5t        j                  dt        d¬«       nt        d|j                   z  «      ‚t        |||«      S # t$        $ r}t%        d«      |‚d}~ww xY w)a  From the Binary, create a list or 1-d numpy array of numbers, along with dtype and padding.

        :param return_numpy: If True, BinaryVector.data will be a one-dimensional numpy array. By default, it is a list.
        :return: BinaryVector

        .. versionadded:: 4.10
        zCannot decode subtype z as a vectorrv   r   zCorrupt data. Padding (z2) must be 0 for all but PACKED_BIT dtypes. (dtype=r<   rw   rz   r   zCCorrupt data. N bytes for a float32 vector must be a multiple of 4.ry   z2Corrupt data. Vector has a padding P, but no data.r%   r   z) must be between 0 and 7.rx   rb   r   zrVector has a padding P, but bits in the final byte lower than P are non-zero. For pymongo>=5.0, they must be zero.)Ú
stacklevelz(Binary Vector dtype %s not yet supportedNzBConverting binary to numpy.ndarray requires numpy to be installed.r~   )r6   r{   r   )r_   rŒ   rY   r€   Úunpack_fromr*   rG   r1   r/   rƒ   r3   r0   ÚwarningsÚwarnÚDeprecationWarningr„   Únamer…   r†   Ú
frombufferÚ
unpackbitsÚsum)r9   Úreturn_numpyr6   r7   ÚoffsetÚn_bytesÚdtype_formatÚformat_stringro   Ún_valuesÚunpacked_uint8sr�   r�   r5   s                 r$   Ú	as_vectorzBinary.as_vector   s�  € ð �<‰<œ>Ò)ÜÐ5°d·l±l°^À<ÐPÓQÐQä×+Ñ+¨E°4Ó8‰ˆˆwÜ! %Ó(ˆØˆÜ�d“)˜fÑ$ˆá�uÔ 1× <Ñ <Ò<ÜØ)¨'¨Ð2eÐ_dÐ^fÐfgÐhóð ò ØÔ)×.Ñ.Ò.Ø"�Ø"# G 9¨\¨NÐ ;�Üœf×0Ñ0°ÀÀfÓMÓN�Ü# F¨E°7Ó;Ð;àÔ+×3Ñ3Ò3Ø" a™<�Ø˜Q’;Ü$Ø]óð ð  #�Ø"# H :¨l¨^Ð <�Üœf×0Ñ0°ÀÀfÓMÓN�Ü# F¨E°7Ó;Ð;àÔ+×6Ñ6Ò6á¡7Ü$Ð%YÓZÐZØ˜Q’; '¨A¢+Ü$Ð'>¸w¸iÐGaÐ%bÓcÐcØ"�Ø"# G 9¨\¨NÐ ;�Ü"&¤v×'9Ñ'9¸-ÈÈvÓ'VÓ"W�Ù™w¨?¸2Ñ+>À!ÀwÁ,ÐRSÑASÑ+SÐWXÒ+XÜ—M‘Mð MÜ*Ø#$õô
 $ O°U¸GÓDÐDô *Ð*TÐW\×WaÑWaÑ*aÓbÐbðÛ"ð
 Ô)×.Ñ.Ò.Ø$�r—}‘} T¨&¨' ]¸&ÔA‘ØÔ+×3Ñ3Ò3Ø˜Q’;Ü$Ø]óð ð %�r—}‘} T¨&¨' ]¸)ÔD‘ØÔ+×6Ñ6Ò6á¡7Ü$Ð%YÓZÐZØ˜Q’; '¨A¢+Ü$Ð'>¸w¸iÐGaÐ%bÓcÐcØ$�r—}‘} T¨&¨' ]¸'ÔB�Ù˜}˜rŸ}™}¨T°"©XÓ6¸°x°yÐA×EÑEÓGÈ!ÒKÜ—M‘Mð MÜ*Ø#$öô *Ð*TÐW\×WaÑWaÑ*aÓbÐbÜ  e¨WÓ5Ð5øô7 ò Ü!ØXóàðûðús   Ç-L Ì	L1Ì L,Ì,L1c                ó   — | j                   S )zSubtype of this binary data.)rT   r=   s    r$   r_   zBinary.subtype{  s   € ð �~‰~Ðr#   c                ó„   •— t         ‰| �  «       d   }t        |t        «      s|j	                  d«      }|| j
                  fS )Nr   zlatin-1)ÚsuperÚ__getnewargs__rA   rZ   ÚencoderT   )r9   r5   Ú	__class__s     €r$   r¦   zBinary.__getnewargs__€  s<   ø€ ä‰wÑ%Ó'¨Ñ*ˆÜ˜$¤Ô&Ø—;‘;˜yÓ)ˆDØ�T—^‘^Ð#Ð#r#   c                ó‚   — t        |t        «      r/| j                  t        | «      f|j                  t        |«      fk(  S yr@   )rA   rS   rT   rZ   r_   rB   s     r$   rD   zBinary.__eq__‡  s6   € Ü�eœVÔ$Ø—N‘N¤E¨$£KÐ0°U·]±]ÄEÈ%ÃLÐ4QÑQÐQð r#   c                óL   •— t         ‰| �  «       t        | j                  «      z  S rF   )r¥   Ú__hash__ÚhashrT   )r9   r¨   s    €r$   r«   zBinary.__hash__�  s   ø€ Ü‰wÑÓ!¤D¨¯©Ó$8Ñ8Ð8r#   c                ó   — | |k(   S rF   r"   rB   s     r$   Ú__ne__zBinary.__ne__’  s   € Ø˜5‘=Ð Ð r#   c                ó”   — | j                   t        k(  rd| j                   › d�S dt        j                  | «      › d| j                   › d�S )Nz<Binary(REDACTED, z)>zBinary(z, r<   )rT   ÚSENSITIVE_SUBTYPErZ   r>   r=   s    r$   r>   zBinary.__repr__•  sG   € Ø�>‰>Ô.Ò.Ø'¨¯©Ð'7°rÐ:Ð:àœUŸ^™^¨DÓ1Ð2°"°T·^±^Ð4DÀAÐFÐFr#   )r^   úType[Binary]r5   z7Union[memoryview, bytes, bytearray, _mmap, _array[Any]]r_   rJ   rL   rS   )r^   r±   rf   r   rg   rJ   rL   rS   )rg   rJ   rL   r   )r^   r±   ro   r3   rL   rS   rI   )
r^   r±   ro   zUnion[list[int], list[float]]r6   r*   r7   rJ   rL   rS   )
r^   r±   ro   znpt.NDArray[np.number]r6   r*   r7   rJ   rL   rS   )NN)
r^   r±   ro   zCUnion[BinaryVector, list[int], list[float], npt.NDArray[np.number]]r6   zOptional[BinaryVectorDtype]r7   zOptional[int]rL   rS   )F)r›   rO   rL   r3   rP   )rL   zTuple[bytes, int]rN   rK   )r   r   r   r.   Ú_type_markerÚ__annotations__ÚBINARY_SUBTYPEr[   Úclassmethodr   r   ri   rm   r   rp   r¢   Úpropertyr_   r¦   rD   r«   r®   r>   Ú__classcell__)r¨   s   @r$   rS   rS     sÔ  ø… ñð@ €LØƒNð
 &ðØðàEðð ðð 
ó	ð àBT×B]ÑB]ð4%Øð4%Ø!%ð4%Ø<?ð4%à	ò4%ó ð4%ðl 2D×1LÑ1Lô *
ðX Øòó ó ðð Øð
 ð	Øðà-ðð !ðð ð	ð
 
òó ó ðð Øð
 ð	Øðà&ðð !ðð ð	ð
 
òó ó ðð ð .2Ø!%ð	^<Øð^<àSð^<ð +ð^<ð ð	^<ð
 
ò^<ó ð^<ô@Y6ðv òó ðõ$óõ9ó!÷Gr#   rS   )0Ú
__future__r   r€   r”   Úenumr   Útypingr   r   r   r   r	   r
   r   r   rf   r   r´   ÚFUNCTION_SUBTYPEÚOLD_BINARY_SUBTYPEr   r   r   Ú_arrayr   Ú_mmapr…   r�   Únumpy.typingÚnptr   r   r   r    r!   rk   r   rd   rl   ÚMD5_SUBTYPEÚCOLUMN_SUBTYPEr°   rŒ   ÚUSER_DEFINED_SUBTYPEr*   r3   rZ   rS   r"   r#   r$   ú<module>rÄ      s¶  ðõ #ã Û Ý ß W× WÓ WÝ ðð €ðð
 Ð ðð Ð ðð Ð ð	ð €ðñ Ý%Ý"ãÝ÷@ñ @ðF ×&Ñ&€ðð
 #×0Ñ0€ðð
 !×,Ñ,€ðð #×0Ñ0€ðð & |Ð4Ð à×"Ñ"Ø×ÑØ×$Ñ$Ø×"Ñ"Ø×$Ñ$ðÐ ð ×"Ñ"Ð$DØ×ÑÐ!>Ø×$Ñ$Ð&HØ×"Ñ"Ð$DØ×$Ñ$Ð&HðÐ ð €ðð €ðð
 Ð ðð €ðð Ð ðô˜ô ÷*%ñ %ôPHGˆUõ HGr#   