Ë
    sPêj­  ã                   ó¾   — d dl mZmZmZ d dlZddlmZmZ erd dl m	Z	  e	dd¬«      Z
 ej                  d	¬
«       G d„ dej                  j                  «      «       Zy)é    )ÚTYPE_CHECKINGÚAnyÚOptionalNé   )Ú!CycloneDxDeserializationExceptionÚ'SerializationOfUnexpectedValueException)ÚTypeVarÚ_T_BRÚBomRef)ÚboundT)Ú%ignore_unknown_during_deserializationc                   óZ  — e Zd ZdZddee   ddfd„Ze ej                  d«       ej                  d«      dee   fd„«       «       «       Zej                  dee   ddfd„«       Zd	edefd
„Zd	edefd„Zdefd„Zdefd„Zdefd„Zdefd„Zededee   fd„«       Zedddeddfd„«       Zy)r   a   
    An identifier that can be used to reference objects elsewhere in the BOM.

    This copies a similar pattern used in the CycloneDX PHP Library.

    .. note::
        See https://github.com/CycloneDX/cyclonedx-php-library/blob/master/docs/dev/decisions/BomDependencyDataModel.md
    NÚvalueÚreturnc                 ó   — || _         y ©N©r   ©Úselfr   s     ú\/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/cyclonedx/model/bom_ref.pyÚ__init__zBomRef.__init__*   s	   € Øˆ�
ó    ú.c                 ó   — | j                   S r   ©Ú_value©r   s    r   r   zBomRef.value-   s   € ð �{‰{Ðr   c                 ó   — |xs d | _         y r   r   r   s     r   r   zBomRef.value3   s   € ð ’m˜tˆ�r   Úotherc                 ó¤   — | |u xsK t        |t        «      xr9 |j                  d uxr) | j                  d uxr |j                  | j                  k(  S r   )Ú
isinstancer   r   ©r   r   s     r   Ú__eq__zBomRef.__eq__8   sZ   € Ø˜�ò 
Ü�uœfÓ%ò ,ð —‘ DÐ(ò,ð —‘ 4Ð'ò	,ð
 —‘ §¡Ñ+ð	
r   c                 ó\   — t        |t        «      rt        | «      t        |«      k  S t        S r   )r!   r   ÚstrÚNotImplementedr"   s     r   Ú__lt__zBomRef.__lt__B   s%   € Ü�eœVÔ$Ü�t“9œs 5›zÑ)Ð)ÜÐr   c                 óL   — t        | j                  xs dt        | «      › �«      S )NÚ__id__)Úhashr   Úidr   s    r   Ú__hash__zBomRef.__hash__G   s!   € Ü�D—K‘KÒ6 V¬B¨t«H¨:Ð#6Ó7Ð7r   c                 ó:   — d| j                   ›dt        | «      › d�S )Nz<BomRef z id=ú>)r   r+   r   s    r   Ú__repr__zBomRef.__repr__J   s   € Ø˜$Ÿ+™+˜¨¬R°«X¨J°aÐ8Ð8r   c                 ó"   — | j                   xs dS )NÚ r   r   s    r   Ú__str__zBomRef.__str__M   s   € Ø�{‰{Ò ˜bÐ r   c                 ó   — | j                   d uS r   r   r   s    r   Ú__bool__zBomRef.__bool__P   s   € Ø�{‰{ $Ð&Ð&r   Úoc                 óN   — t        || «      r|j                  S t        d|›�«      ‚)Nz#Attempt to serialize a non-BomRef: )r!   r   r   )Úclsr5   s     r   Ú	serializezBomRef.serializeU   s,   € ä�a˜ÔØ—7‘7ˆNÜ5Ø1°!°Ð7ó9ð 	9r   r7   ztype[_T_BR]r
   c                 óh   — 	  | t        |«      ¬«      S # t        $ r}t        d|›�«      |‚d }~ww xY w)Nr   z'BomRef string supplied does not parse: )r%   Ú
ValueErrorr   )r7   r5   Úerrs      r   ÚdeserializezBomRef.deserialize\   s@   € ð	ÙœS ›VÔ$Ð$øÜò 	Ü3Ø9¸!¸Ð?óàðûð	ús   ‚ ”	1�,¬1r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r%   r   ÚpropertyÚserializableÚ	json_nameÚxml_namer   ÚsetterÚobjectÚboolr#   r   r'   Úintr,   r/   r2   r4   Úclassmethodr8   r<   © r   r   r   r      s6  „ ññ˜h s™mð °tó ð Ø€\×Ñ˜CÓ Ø€\×Ñ˜3Óð�x ‘}ò ó  ó !ó ðð ‡\�\ð$˜8 C™=ð $¨Tò $ó ð$ð
˜Fð 
 tó 
ð˜Cð  Dó ð
8˜#ó 8ð9˜#ó 9ð!˜ó !ð'˜$ó 'ð
 ð9˜#ð 9 (¨3¡-ò 9ó ð9ð ð˜ð ¨3ð °7ò ó ñr   )Útypingr   r   r   Úpy_serializablerB   Úexception.serializationr   r   r	   r
   Úserializable_classÚhelpersÚ
BaseHelperr   rJ   r   r   ú<module>rQ      s]   ð÷& 0Ñ /ã &ç páÝá�G 8Ô,€Eð !€× Ñ ÀtÔLôCˆ\×!Ñ!×,Ñ,ó Có MñCr   