Ë
    sPêj.d  ã                   óf  — d Z ddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
mZmZ ddlmZ ddlmZ ddlZdd	lmZ d
dlmZ d
dlmZ d
dlmZ d
dlmZ d
dlm Z  d
dl!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z( ddl)m*Z* ejV                   G d„ de,e«      «       Z-e-Z.	  ej^                  dd¬«       G d„ d«      «       Z0 ej^                  d¬«       G d„ d«      «       Z1 ej^                  dd¬«       G d„ d «      «       Z2ee2e0f   Z3	 e	r G d!„ d"ee3   «      Z4n G d#„ d"e«      Z4 G d$„ d%ejj                  jl                  «      Z7y)&z
License related things
é    )ÚIterable)ÚEnum)Úloads)ÚTYPE_CHECKINGÚAnyÚOptionalÚUnion)Úwarn)ÚElementN)Ú	SortedSeté   )Úbom_ref_from_str)ÚComparableTuple)Ú$MutuallyExclusivePropertiesException)Ú!CycloneDxDeserializationException)ÚSchemaVersion)ÚSchemaVersion1Dot5ÚSchemaVersion1Dot6ÚSchemaVersion1Dot7é   )ÚAttachedTextÚPropertyÚXsUri)ÚBomRefc                   ó   — e Zd ZdZdZdZy)ÚLicenseAcknowledgementaW  
    This is our internal representation of the `type_licenseAcknowledgementEnumerationType` ENUM type
    within the CycloneDX standard.

    .. note::
        Introduced in CycloneDX v1.6

    .. note::
        See the CycloneDX Schema for hashType:
        https://cyclonedx.org/docs/1.7/xml/#type_licenseAcknowledgementEnumerationType
    Ú	concludedÚdeclaredN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	CONCLUDEDÚDECLARED© ó    ú\/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/cyclonedx/model/license.pyr   r   +   s   „ ñ
ð €IØ�Hr&   r   ÚlicenseT)ÚnameÚ%ignore_unknown_during_deserializationc                   óJ  — e Zd ZdZddddddddœdeeeef      dee   dee   dee   dee	   d	ee
   d
eee      ddfd„Ze ej                   e«       ej                   e«       ej                   e«       ej(                  e«       ej*                  «        ej,                  d«       ej.                  d«      defd„«       «       «       «       «       «       «       «       Ze ej2                  d«      dee   fd„«       «       Zej6                  dee   ddfd„«       Ze ej2                  d«       ej8                  ej:                  j<                  «      dee   fd„«       «       «       Zej6                  dee   ddfd„«       Ze ej2                  d«      dee   fd„«       «       Z e j6                  dee   ddfd„«       Z e ej2                  d«      dee	   fd„«       «       Z!e!j6                  dee	   ddfd„«       Z!e ej                   e«       ej                   e«       ej                   e«       ejD                  ejF                  jH                  d«       ej2                  d«      d&d„«       «       «       «       «       «       Z%e%j6                  d
ee   ddfd„«       Z%e ej                   e«       ej                   e«       ej*                  «       dee
   fd„«       «       «       «       Z&e&j6                  d	ee
   ddfd„«       Z&de'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%„Z0y)'ÚDisjunctiveLicensea  
    This is our internal representation of `licenseType` complex type that can be used in multiple places within
    a CycloneDX BOM document.

    .. note::
        See the CycloneDX Schema definition: https://cyclonedx.org/docs/1.7/xml/#type_licenseType
    N)Úbom_refÚidr)   ÚtextÚurlÚacknowledgementÚ
propertiesr-   r.   r)   r/   r0   r1   r2   Úreturnc                óä   — |s|st        d«      ‚|r|rt        dt        d¬«       t        |«      | _        || _        |s|nd | _        || _        || _        || _	        t        |xs g «      | _        y )Nz&Either `id` or `name` MUST be suppliedzABoth `id` and `name` have been supplied - `name` will be ignored!r   )ÚcategoryÚ
stacklevel)r   r
   ÚRuntimeWarningÚ_bom_ref_from_strÚ_bom_refÚ_idÚ_nameÚ_textÚ_urlÚ_acknowledgementr   Ú_properties)Úselfr-   r.   r)   r/   r0   r1   r2   s           r'   Ú__init__zDisjunctiveLicense.__init__T   sr   € ñ ™$Ü6Ð7_Ó`Ð`Ù‘$ÜØSÜ'°Aõô *¨'Ó2ˆŒØˆŒÙ!#‘T¨ˆŒ
ØˆŒ
ØˆŒ	Ø /ˆÔÜ$ ZÒ%5°2Ó6ˆÕr&   úbom-refc                 ó   — | j                   S ©zÇ
        An optional identifier which can be used to reference the component elsewhere in the BOM. Every bom-ref MUST be
        unique within the BOM.

        Returns:
            `BomRef`
        ©r9   ©r@   s    r'   r-   zDisjunctiveLicense.bom_refk   ó   € ð  �}‰}Ðr&   r   c                 ó   — | j                   S )zê
        A SPDX license ID.

        .. note::
          See the list of expected values:
          https://cyclonedx.org/docs/1.7/json/#components_items_licenses_items_license_id

        Returns:
            `str` or `None`
        )r:   rF   s    r'   r.   zDisjunctiveLicense.id}   s   € ð �x‰xˆr&   c                 ó&   — || _         |�d | _        y y ©N©r:   r;   )r@   r.   s     r'   r.   zDisjunctiveLicense.idŒ   s   € àˆŒØˆ>ØˆD�Jð r&   c                 ó   — | j                   S )z�
        If SPDX does not define the license used, this field may be used to provide the license name.

        Returns:
            `str` or `None`
        )r;   rF   s    r'   r)   zDisjunctiveLicense.name’   s   € ð �z‰zÐr&   c                 ó&   — || _         |�d | _        y y rJ   )r;   r:   )r@   r)   s     r'   r)   zDisjunctiveLicense.namež   s   € àˆŒ
ØÐØˆD�Hð r&   r   c                 ó   — | j                   S )z}
        Specifies the optional full text of the attachment

        Returns:
            `AttachedText` else `None`
        ©r<   rF   s    r'   r/   zDisjunctiveLicense.text¤   ó   € ð �z‰zÐr&   c                 ó   — || _         y rJ   rO   ©r@   r/   s     r'   r/   zDisjunctiveLicense.text¯   ó	   € àˆ�
r&   é   c                 ó   — | j                   S )zÐ
        The URL to the attachment file. If the attachment is a license or BOM, an externalReference should also be
        specified for completeness.

        Returns:
            `XsUri` or `None`
        ©r=   rF   s    r'   r0   zDisjunctiveLicense.url³   ó   € ð �y‰yÐr&   c                 ó   — || _         y rJ   rV   ©r@   r0   s     r'   r0   zDisjunctiveLicense.url¿   ó	   € àˆ�	r&   Úpropertyé   c                 ó   — | j                   S )a  
        Provides the ability to document properties in a key/value store. This provides flexibility to include data not
        officially supported in the standard without having to use additional namespaces or create extensions.

        Return:
            Set of `Property`
        )r?   rF   s    r'   r2   zDisjunctiveLicense.propertiesÏ   s   € ð ×ÑÐr&   c                 ó$   — t        |«      | _        y rJ   )r   r?   )r@   r2   s     r'   r2   zDisjunctiveLicense.propertiesß   s   € ä$ ZÓ0ˆÕr&   c                 ó   — | j                   S ©añ  
        Declared licenses and concluded licenses represent two different stages in the licensing process within
        software development.

        Declared licenses refer to the initial intention of the software authors regarding the
        licensing terms under which their code is released. On the other hand, concluded licenses are the result of a
        comprehensive analysis of the project's codebase to identify and confirm the actual licenses of the components
        used, which may differ from the initially declared licenses. While declared licenses provide an upfront
        indication of the licensing intentions, concluded licenses offer a more thorough understanding of the actual
        licensing within a project, facilitating proper compliance and risk management. Observed licenses are defined
        in evidence.licenses. Observed licenses form the evidence necessary to substantiate a concluded license.

        Returns:
            `LicenseAcknowledgement` or `None`
        ©r>   rF   s    r'   r1   z"DisjunctiveLicense.acknowledgementã   ó   € ð( ×$Ñ$Ð$r&   c                 ó   — || _         y rJ   ra   ©r@   r1   s     r'   r1   z"DisjunctiveLicense.acknowledgementù   ó
   € à /ˆÕr&   c                 óØ   — t        | j                  | j                  | j                  | j                  | j
                  | j                  j                  t        | j                  «      f«      S rJ   )	Ú_ComparableTupler>   r:   r;   r=   r<   r9   Úvaluer?   rF   s    r'   Ú__comparable_tuplez%DisjunctiveLicense.__comparable_tupleý   sS   € ÜØ×!Ñ!Ø�H‰H�d—j‘jØ�I‰IØ�J‰JØ�M‰M×ÑÜ˜T×-Ñ-Ó.ð!
ó ð 	r&   Úotherc                 óf   — t        |t        «      r!| j                  «       |j                  «       k(  S y©NF)Ú
isinstancer,   Ú%_DisjunctiveLicense__comparable_tuple©r@   rj   s     r'   Ú__eq__zDisjunctiveLicense.__eq__  s-   € Ü�eÔ/Ô0Ø×*Ñ*Ó,°×0HÑ0HÓ0JÑJÐJØr&   c                 ó’   — t        |t        «      r!| j                  «       |j                  «       k  S t        |t        «      ryt        S rl   )rm   r,   rn   ÚLicenseExpressionÚNotImplementedro   s     r'   Ú__lt__zDisjunctiveLicense.__lt__  s>   € Ü�eÔ/Ô0Ø×*Ñ*Ó,¨u×/GÑ/GÓ/IÑIÐIÜ�eÔ.Ô/ØÜÐr&   c                 ó4   — t        | j                  «       «      S rJ   )Úhashrn   rF   s    r'   Ú__hash__zDisjunctiveLicense.__hash__  ó   € Ü�D×+Ñ+Ó-Ó.Ð.r&   c                 ó<   — d| j                   ›d| j                  ›d�S )Nz<License id=z, name=ú>rK   rF   s    r'   Ú__repr__zDisjunctiveLicense.__repr__  s   € Ø˜dŸh™h˜\¨°·±°¸aÐ@Ð@r&   )r3   zSortedSet[Property])1r   r    r!   r"   r   r	   Ústrr   r   r   r   r   r   rA   r[   ÚserializableÚviewr   r   r   Útype_mappingÚxml_attributeÚxml_nameÚ	json_namer-   Úxml_sequencer.   ÚsetterÚ
xml_stringÚXmlStringSerializationTypeÚNORMALIZED_STRINGr)   r/   r0   Ú	xml_arrayÚXmlArraySerializationTypeÚNESTEDr2   r1   rg   rn   ÚobjectÚboolrp   r   rt   Úintrw   r{   r%   r&   r'   r,   r,   G   s�  „ ñ
ð 15Ø ¸Ø'+ÀDØ<@Ø37ò7à˜%  V Ñ,Ñ-ð7ð �S‰Mð7ð )1°©ð7ð �|Ñ$ð	7ð 3;¸5±/ð	7ð
 "Ð"8Ñ9ð7ð ˜X hÑ/Ñ0ð7ð 
ó7ð. Ø€\×ÑÐ)Ó*Ø€\×ÑÐ)Ó*Ø€\×ÑÐ)Ó*Ø€\×Ñ˜vÓ&Ø€\×ÑÓ!Ø€\×Ñ˜9Ó%Ø€\×Ñ˜IÓ&ð˜ò ó 'ó &ó "ó 'ó +ó +ó +ó ðð Ø€\×Ñ˜qÓ!ð�H˜S‘Mò ó "ó ðð ‡Y�Yð�X˜c‘]ð  tò ó ðð
 Ø€\×Ñ˜qÓ!Ø€\×Ñ˜\×DÑD×VÑVÓWð�h˜s‘mò ó Xó "ó ðð 
‡[�[ð˜ #™ð ¨4ò ó ðð
 Ø€\×Ñ˜qÓ!ð�h˜|Ñ,ò ó "ó ðð 
‡[�[ð˜ ,Ñ/ð °Dò ó ðð Ø€\×Ñ˜qÓ!ð�X˜e‘_ò ó "ó ðð 	‡Z�Zð�x ‘ð ¨4ò ó ðð Ø€\×ÑÐ)Ó*Ø€\×ÑÐ)Ó*Ø€\×ÑÐ)Ó*Ø€\×Ñ˜L×BÑB×IÑIÈ:ÓVØ€\×Ñ˜qÓ!ò ó "ó Wó +ó +ó +ó ð ð ×Ñð1 X¨hÑ%7ð 1¸Dò 1ó ð1ð Ø€\×ÑÐ)Ó*Ø€\×ÑÐ)Ó*Ø€\×ÑÓ!ð% Ð*@Ñ!Aò %ó "ó +ó +ó ð%ð$ ×Ñð0¨xÐ8NÑ/Oð 0ÐTXò 0ó ð0ðÐ$4ó ð˜Fð  tó ð
˜Cð  Dó ð/˜#ó /ðA˜#ô Ar&   r,   )r*   c                   ó.  — e Zd ZdZddddœdedeeeef      dee   dee	   ddf
d	„Z
e ej                  d
«       ej                  ej                  j                   «       ej"                  «       defd„«       «       «       «       Zej&                  deddfd„«       Ze ej(                  d«       ej*                  e«       ej"                  «        ej                  d«      defd„«       «       «       «       «       Ze ej.                  d«      dee   fd„«       «       Zej&                  dee   ddfd„«       Ze ej.                  d«      dee	   fd„«       «       Zej&                  dee	   ddfd„«       Zde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"y)ÚLicenseExpressionDetailsa“  
    This is our internal representation of the ``licenseExpressionDetailedType`` complex type that specifies the details
    and attributes related to a software license identifier within a CycloneDX BOM document.

    .. note::
        Introduced in CycloneDX v1.7


    .. note::
        See the CycloneDX Schema definition: https://cyclonedx.org/docs/1.7/xml/#type_licenseExpressionDetailedType
    N)r-   r/   r0   Úlicense_identifierr-   r/   r0   r3   c                óN   — t        |«      | _        || _        || _        || _        y rJ   )r8   r9   r�   r/   r0   )r@   r�   r-   r/   r0   s        r'   rA   z!LicenseExpressionDetails.__init__(  s&   € ô *¨'Ó2ˆŒØ"4ˆÔØˆŒ	Øˆ�r&   zlicense-identifierc                 ó   — | j                   S )a€  
        A valid SPDX license identifier. Refer to https://spdx.org/specifications for syntax requirements.
        This field serves as the primary key, which uniquely identifies each record.

        Example values:
         - "Apache-2.0",
         - "GPL-3.0-only WITH Classpath-exception-2.0"
         - "LicenseRef-my-custom-license"

        Returns:
            `str`
        ©Ú_license_identifierrF   s    r'   r�   z+LicenseExpressionDetails.license_identifier3  s   € ð" ×'Ñ'Ð'r&   c                 ó   — || _         y rJ   r“   )r@   r�   s     r'   r�   z+LicenseExpressionDetails.license_identifierF  s
   € à#5ˆÕ r&   rB   c                 ó   — | j                   S )a!  
        An identifier which can be used to reference the license elsewhere in the BOM. Every bom-ref MUST be
        unique within the BOM.
        Value SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links.

        Returns:
            `BomRef`
        rE   rF   s    r'   r-   z LicenseExpressionDetails.bom_refJ  s   € ð �}‰}Ðr&   r   c                 ó   — | j                   S )z
        A way to include the textual content of the license.

        Returns:
            `AttachedText` else `None`
        rO   rF   s    r'   r/   zLicenseExpressionDetails.textZ  rP   r&   c                 ó   — || _         y rJ   rO   rR   s     r'   r/   zLicenseExpressionDetails.texte  rS   r&   r   c                 ó   — | j                   S )z½
        The URL to the license file. If specified, a 'license' externalReference should also be specified for
        completeness.

        Returns:
            `XsUri` or `None`
        rV   rF   s    r'   r0   zLicenseExpressionDetails.urli  rW   r&   c                 ó   — || _         y rJ   rV   rY   s     r'   r0   zLicenseExpressionDetails.urlu  rZ   r&   c                 ó„   — t        | j                  j                  | j                  | j                  | j
                  f«      S rJ   )rg   r-   rh   r�   r0   r/   rF   s    r'   ri   z+LicenseExpressionDetails.__comparable_tupley  s5   € ÜØ�L‰L×Ñ × 7Ñ 7¸¿¹À4Ç9Á9ð!
ó ð 	r&   rj   c                 óf   — t        |t        «      r!| j                  «       |j                  «       k(  S yrl   )rm   r�   Ú+_LicenseExpressionDetails__comparable_tuplero   s     r'   rp   zLicenseExpressionDetails.__eq__~  s-   € Ü�eÔ5Ô6Ø×*Ñ*Ó,°×0HÑ0HÓ0JÑJÐJØr&   c                 óp   — t        |t        «      r!| j                  «       |j                  «       k  S t        S rJ   )rm   r�   r�   rs   ro   s     r'   rt   zLicenseExpressionDetails.__lt__ƒ  s0   € Ü�eÔ5Ô6Ø×*Ñ*Ó,¨u×/GÑ/GÓ/IÑIÐIÜÐr&   c                 ó4   — t        | j                  «       «      S rJ   )rv   r�   rF   s    r'   rw   z!LicenseExpressionDetails.__hash__ˆ  rx   r&   c                 ó<   — d| j                   ›d| j                  › d�S )Nz"<LicenseExpressionDetails bom-ref=z, license_identifier=rz   )r-   r�   rF   s    r'   r{   z!LicenseExpressionDetails.__repr__‹  s&   € Ø3°D·L±LÐ3CÐCXÐY]×YpÑYpÐXqÐqrÐsÐsr&   )#r   r    r!   r"   r|   r   r	   r   r   r   rA   r[   r}   r�   r…   r†   r‡   r€   r�   r„   r‚   r   r-   rƒ   r/   r0   rg   r�   r‹   rŒ   rp   rt   r�   rw   r{   r%   r&   r'   r�   r�     sb  „ ñ
ð 15Ø'+Ø#ò		Ø"%ð	à˜%  V Ñ,Ñ-ð	ð �|Ñ$ð	ð �e‰_ð		ð
 
ó	ð Ø€\×ÑÐ/Ó0Ø€\×Ñ˜\×DÑD×VÑVÓWØ€\×ÑÓ!ð( Cò (ó "ó Xó 1ó ð(ð ×Ñð6°Sð 6¸Tò 6ó ð6ð Ø€\×Ñ˜IÓ&Ø€\×Ñ˜vÓ&Ø€\×ÑÓ!Ø€\×Ñ˜9Ó%ð	˜ò 	ó &ó "ó 'ó 'ó ð
	ð Ø€\×Ñ˜qÓ!ð�h˜|Ñ,ò ó "ó ðð 
‡[�[ð˜ ,Ñ/ð °Dò ó ðð Ø€\×Ñ˜qÓ!ð�X˜e‘_ò ó "ó ðð 	‡Z�Zð�x ‘ð ¨4ò ó ððÐ$4ó ð
˜Fð  tó ð
˜Fð  tó ð
/˜#ó /ðt˜#ô tr&   r�   Ú
expressionc                   ó¦  — e Zd ZdZddddœdedeeeef      dee   dee	e
      ddf
d	„Ze ej                  e«       ej                  e«       ej                  e«       ej$                  e«       ej&                  «        ej(                  d
«       ej*                  d
«      defd„«       «       «       «       «       «       «       «       Ze ej(                  d«       ej.                  ej0                  j2                  «       ej*                  d«      defd„«       «       «       «       Zej6                  deddfd„«       Ze ej                  e«       ej                  e«       ej&                  «       dee   fd„«       «       «       «       Zej6                  dee   ddfd„«       Ze ej*                  d«       ej                  e«       ej:                  ej<                  j>                  d¬«       ej@                  d«      dd„«       «       «       «       «       Z!e!j6                  de	e
   ddfd„«       Z!de"fd„Z#de$fd„Z%de&de'fd„Z(de)de'fd„Z*defd„Z+y)rr   a.  
    This is our internal representation of `licenseType`'s  expression type that can be used in multiple places within
    a CycloneDX BOM document.

    .. note::
        See the CycloneDX Schema definition:
        https://cyclonedx.org/docs/1.7/json/#components_items_licenses_items_expression
    N)r-   r1   Údetailsrh   r-   r1   r£   r3   c                óV   — t        |«      | _        || _        || _        |xs g | _        y rJ   )r8   r9   Ú_valuer>   r£   )r@   rh   r-   r1   r£   s        r'   rA   zLicenseExpression.__init__�  s*   € ô *¨'Ó2ˆŒØˆŒØ /ˆÔØ’} "ˆ�r&   rB   c                 ó   — | j                   S rD   rE   rF   s    r'   r-   zLicenseExpression.bom_ref¨  rG   r&   ú.r¡   c                 ó   — | j                   S )zW
        Value of this LicenseExpression.

        Returns:
             `str`
        ©r¥   rF   s    r'   rh   zLicenseExpression.valueº  s   € ð �{‰{Ðr&   c                 ó   — || _         y rJ   r©   )r@   rh   s     r'   rh   zLicenseExpression.valueÇ  s	   € àˆ�r&   c                 ó   — | j                   S r`   ra   rF   s    r'   r1   z!LicenseExpression.acknowledgementË  rb   r&   c                 ó   — || _         y rJ   ra   rd   s     r'   r1   z!LicenseExpression.acknowledgementá  re   r&   ÚexpressionDetails)Ú
child_namer   c                 ó   — | j                   S )zv
        Details for parts of the expression.

        Returns:
            Set of `LicenseExpressionDetails`
        )Ú_detailsrF   s    r'   r£   zLicenseExpression.detailså  s   € ð �}‰}Ðr&   c                 ó$   — t        |«      | _        y rJ   )r   r°   )r@   r£   s     r'   r£   zLicenseExpression.detailsó  s   € ä! 'Ó*ˆ�r&   c                 ó–   — t        | j                  | j                  | j                  j                  t        | j
                  «      f«      S rJ   )rg   r>   r¥   r9   rh   r£   rF   s    r'   ri   z$LicenseExpression.__comparable_tuple÷  s=   € ÜØ×!Ñ!Ø�K‰KØ�M‰M×ÑÜ˜TŸ\™\Ó*ð	!
ó ð 	r&   c                 ó4   — t        | j                  «       «      S rJ   )rv   Ú$_LicenseExpression__comparable_tuplerF   s    r'   rw   zLicenseExpression.__hash__ÿ  rx   r&   rj   c                 óf   — t        |t        «      r!| j                  «       |j                  «       k(  S yrl   )rm   rr   r´   ro   s     r'   rp   zLicenseExpression.__eq__  s-   € Ü�eÔ.Ô/Ø×*Ñ*Ó,°×0HÑ0HÓ0JÑJÐJØr&   c                 ó’   — t        |t        «      r!| j                  «       |j                  «       k  S t        |t        «      ryt        S )NT)rm   rr   r´   r,   rs   ro   s     r'   rt   zLicenseExpression.__lt__  s>   € Ü�eÔ.Ô/Ø×*Ñ*Ó,¨u×/GÑ/GÓ/IÑIÐIÜ�eÔ/Ô0ØÜÐr&   c                 ó"   — d| j                   ›d�S )Nz<LicenseExpression value=rz   r©   rF   s    r'   r{   zLicenseExpression.__repr__  s   € Ø*¨4¯;©;¨/¸Ð;Ð;r&   )r3   z#SortedSet[LicenseExpressionDetails]),r   r    r!   r"   r|   r   r	   r   r   r   r�   rA   r[   r}   r~   r   r   r   r   r€   r�   r‚   r-   r…   r†   r‡   rh   r„   r1   rˆ   r‰   ÚFLATrƒ   r£   rg   r´   r�   rw   r‹   rŒ   rp   r   rt   r{   r%   r&   r'   rr   rr   �  s   „ ñ
ð 15Ø<@Ø@Dò		%Øð	%à˜%  V Ñ,Ñ-ð	%ð "Ð"8Ñ9ð	%ð ˜(Ð#;Ñ<Ñ=ð		%ð
 
ó	%ð Ø€\×ÑÐ)Ó*Ø€\×ÑÐ)Ó*Ø€\×ÑÐ)Ó*Ø€\×Ñ˜vÓ&Ø€\×ÑÓ!Ø€\×Ñ˜9Ó%Ø€\×Ñ˜IÓ&ð˜ò ó 'ó &ó "ó 'ó +ó +ó +ó ðð Ø€\×Ñ˜3ÓØ€\×Ñ˜\×DÑD×VÑVÓWØ€\×Ñ˜LÓ)ð�sò ó *ó Xó  ó ðð ‡\�\ð˜3ð  4ò ó ðð Ø€\×ÑÐ)Ó*Ø€\×ÑÐ)Ó*Ø€\×ÑÓ!ð% Ð*@Ñ!Aò %ó "ó +ó +ó ð%ð$ ×Ñð0¨xÐ8NÑ/Oð 0ÐTXò 0ó ð0ð Ø€\×ÑÐ/Ó0Ø€\×ÑÐ)Ó*Ø€\×Ñ˜L×BÑB×GÑGÐT]Ô^Ø€\×Ñ˜qÓ!òó "ó _ó +ó 1ó ð
ð ‡^�^ð+˜xÐ(@ÑAð +Àdò +ó ð+ðÐ$4ó ð/˜#ó /ð˜Fð  tó ð
˜Cð  Dó ð<˜#ô <r&   rr   c                   ó   — e Zd ZdZy©ÚLicenseRepositorya·  Collection of :class:`License`.

        This is a `set`, not a `list`.  Order MUST NOT matter here.
        If you wanted a certain order, then you should also express whether the items are concat by `AND` or `OR`.
        If you wanted to do so, you should use :class:`LicenseExpression`.

        As a model, this MUST accept multiple :class:`LicenseExpression` along with
        multiple :class:`DisjunctiveLicense`, as this was an accepted in CycloneDX JSON before v1.5.
        So for modeling purposes, this is supported.
        Denormalizers/deserializers will be thankful.
        The normalization/serialization process SHOULD take care of these facts and do what is needed.
        N©r   r    r!   r"   r%   r&   r'   r»   r»     ó   „ ò	r&   r»   c                   ó   — e Zd ZdZyrº   r¼   r%   r&   r'   r»   r»   +  r½   r&   c                   ó„  — e Zd ZdZededefd„«       Zedede	e
ej                        de	e   defd„«       Zeded	e	e   defd
„«       Zedede	e
ej                        dedefd„«       Zedeeeef      dedefd„«       Zededede	e
ej                        de	e   dede	e   fd„«       Zeded	e	e   dedefd„«       Zy)Ú%_LicenseRepositorySerializationHelperz   THIS CLASS IS NON-PUBLIC API  r~   r3   c                 ór   — 	 | d uxr"  | «       j                   t        j                  k\  S # t        $ r Y yw xY wrl   )Úschema_version_enumr   ÚV1_7Ú	Exception)r~   s    r'   Ú__supports_expression_detailszC_LicenseRepositorySerializationHelper.__supports_expression_details=  s<   € ð	Ø˜tÐ#ÒX©«×(BÑ(BÄm×FXÑFXÑ(XÐXøÜò 	Ùð	ús   ‚'* ª	6µ6Úlicense_expressionÚxmlnsc                 ó†   — | j                  |dd|¬«      }|j                  |rd|› d�nd| j                  «       d |_        |S )NFúexpression-detailed©Úview_Ú	as_stringÚelement_namerÇ   ú{z}expressionr¡   )Úas_xmlÚsetrh   r/   )rÆ   r~   rÇ   Úelems       r'   Ú+__xml_normalize_license_expression_detailedzQ_LicenseRepositorySerializationHelper.__xml_normalize_license_expression_detailedD  sS   € ð +×1Ñ1Ø %Ð6KÐSXð 2ó Zˆà�‰©U�2�e�W˜LÑ)¸ÐFX×F^ÑF^Ô_ØˆŒ	Øˆr&   ÚliÚ
default_nsc                 ó‚   — | j                  d«      }|st        d| ›�«      ‚t        j                  | |«      }||_        |S )Nr¡   zunexpected content: )Úgetr   rr   Úfrom_xmlrh   )rÓ   rÔ   Úexpression_valuerÆ   s       r'   Ú-__xml_denormalize_license_expression_detailedzS_LicenseRepositorySerializationHelper.__xml_denormalize_license_expression_detailedP  sN   € ð
 Ÿ6™6 ,Ó/ÐÙÜ3Ð6JÈ2È&Ð4QÓRÐRÜ0A×0JÑ0JØ�
ó1Ðà#3ÐÔ Ø!Ð!r&   ÚoÚ__c          	      ó  — t        |«      dk(  ry t        d„ |D «       d «      }|rt        |j                  |¬«      «      gS |D �cg c]/  }t	        |t
        «      rdt        |j                  |¬«      «      i‘Œ1 c}S c c}w )Nr   c              3   óB   K  — | ]  }t        |t        «      sŒ|–— Œ y ­wrJ   ©rm   rr   ©Ú.0rÓ   s     r'   ú	<genexpr>zG_LicenseRepositorySerializationHelper.json_normalize.<locals>.<genexpr>c  ó   è ø€ ÒO "¬Z¸Ô<MÕ-Nœ2ÑOùó   ‚˜)rË   r(   )ÚlenÚnextÚ
json_loadsÚas_jsonrm   r,   )ÚclsrÚ   r~   rÛ   r¡   rÓ   s         r'   Újson_normalizez4_LicenseRepositorySerializationHelper.json_normalize]  s•   € ô ˆq‹6�QŠ;ØÜÑO¨ÔOÐQUÓVˆ
Ùô ˜z×1Ñ1¸Ð1Ó=Ó>Ð?Ð?ð ö
ð
 Ü˜"Ô0Ô1ð œ
Ø—
‘
Øð ó  óò ò
ð 	
ùò 
s   Á4A<c                 óì   — t        «       }|D ]d  }d|v r(|j                  t        j                  |d   «      «       Œ/d|v r%|j                  t        j                  |«      «       ŒXt        d|›�«      ‚ |S )Nr(   r¡   úunexpected: )r»   Úaddr,   Ú	from_jsonrr   r   )rè   rÚ   rÛ   ÚreporÓ   s        r'   Újson_denormalizez6_LicenseRepositorySerializationHelper.json_denormalizer  s…   € ô !Ó"ˆØò 		OˆBØ˜B‰Ø—‘Ô+×5Ñ5Ø�y‘Mó#õ $à Ñ#Ø—‘Ô*×4Ñ4Øóõ ô 8¸,ÀrÀfÐ8MÓNÐNð		Oð ˆr&   rÍ   c                óš  ‡‡— t        |«      dk(  ry t        |«      }t        d„ |D «       d «      }|r~|j                  r5| j	                  ‰«      r$|j                  | j                  |‰‰«      «       |S |j                  rt        d«       |j                  |j                  ‰dd‰¬«      «       |S |j                  ˆˆfd„|D «       «       |S )Nr   c              3   óB   K  — | ]  }t        |t        «      sŒ|–— Œ y ­wrJ   rÞ   rß   s     r'   rá   zF_LicenseRepositorySerializationHelper.xml_normalize.<locals>.<genexpr>‹  râ   rã   z\LicenseExpression details are not supported in schema versions < 1.7; skipping serializationFr¡   rÊ   c              3   óh   •K  — | ])  }t        |t        «      r|j                  ‰d d‰¬«      –— Œ+ y­w)Fr(   rÊ   N)rm   r,   rÏ   )rà   rÓ   r~   rÇ   s     €€r'   rá   zF_LicenseRepositorySerializationHelper.xml_normalize.<locals>.<genexpr>˜  s>   øè ø€ ò ð Ü˜bÔ"4Ô5ð —	‘	Ø¨%¸iÈuð ÷ Vñùs   ƒ/2)
rä   r   rå   r£   ÚB_LicenseRepositorySerializationHelper__supports_expression_detailsÚappendÚP_LicenseRepositorySerializationHelper__xml_normalize_license_expression_detailedr
   rÏ   Úextend)rè   rÚ   rÍ   r~   rÇ   rÛ   rÑ   r¡   s      ``   r'   Úxml_normalizez3_LicenseRepositorySerializationHelper.xml_normalize‚  sØ   ù€ ô ˆq‹6�QŠ;ØÜ�|Ó$ˆÜÑO¨ÔOÐQUÓVˆ
Ùð ×!Ò! c×&GÑ&GÈÔ&MØ—‘˜C×KÑKÈJÐX\Ð^cÓdÔeð ˆð ×%Ò%ÜÐwÔxØ—‘˜J×-Ñ-Ø¨%¸lÐRWð .ó Yô Zð ˆð �K‰Kô ð ôô ð ˆr&   c                 ó˜  — t        «       }|D ]º  }|€|j                  n|j                  j                  d|› d�d«      }|dk(  r&|j                  t        j                  ||«      «       Œ\|dk(  r&|j                  t        j                  ||«      «       Œ‡|dk(  r"|j                  | j                  ||«      «       Œ®t        d|›�«      ‚ |S )NrÎ   ú}Ú r(   r¡   rÉ   rë   )	r»   ÚtagÚreplacerì   r,   r×   rr   ÚR_LicenseRepositorySerializationHelper__xml_denormalize_license_expression_detailedr   )rè   rÚ   rÔ   rÛ   rî   rÓ   rû   s          r'   Úxml_denormalizez5_LicenseRepositorySerializationHelper.xml_denormalize   sÐ   € ô !Ó"ˆØò 	OˆBØ&Ð.�"—&’&°B·F±F·N±NÀRÈ
À|ÐSUÐCVÐXZÓ4[ˆCØ�iÒØ—‘Ô+×4Ñ4Ø˜
ó$õ %à˜Ò$Ø—‘Ô*×3Ñ3Ø˜
ó$õ %àÐ-Ò-Ø—‘˜×JÑJÈ2ÈzÓZÕ[ä7¸,ÀrÀfÐ8MÓNÐNð	Oð ˆr&   N)r   r    r!   r"   Ústaticmethodr   rŒ   ró   rr   r   Útyper}   ÚViewTyper|   r   rõ   rý   Úclassmethodr»   ré   ÚlistÚdictrï   r÷   rþ   r%   r&   r'   rÀ   rÀ   :  s¹  „ Ù*àð¨Cð °Dò ó ðð ð	Ø-ð	à�t˜L×1Ñ1Ñ2Ñ3ð	ð ˜‰}ð	ð 
ò		ó ð	ð ð
"Øð
"à˜S‘Mð
"ð 
ò
"ó ð
"ð ð
Ð0ð 
Ø% d¨<×+@Ñ+@Ñ&AÑBð
à ð
à%(ò
ó ð
ð( ð  d¨3°¨8¡nÑ!5ð Ø"ðØ'8òó ðð ðÐ/ð Ø$'ðà$ T¨,×*?Ñ*?Ñ%@ÑAðð & c™]ðð  ð	ð %-¨WÑ$5ò	ó ðð: ð ð Ø$,¨S¡Mðà!ðà&7òó ñr&   rÀ   )8r"   Úcollections.abcr   Úenumr   Újsonr   ræ   Útypingr   r   r   r	   Úwarningsr
   Úxml.etree.ElementTreer   Úpy_serializabler}   Úsortedcontainersr   Ú_internal.bom_refr   r8   Ú_internal.comparer   rg   Úexception.modelr   Úexception.serializationr   Úschemar   Úschema.schemar   r   r   rú   r   r   r   r-   r   Úserializable_enumr|   r   Ú LicenseExpressionAcknowledgementÚserializable_classr,   r�   rr   ÚLicenser»   ÚhelpersÚ
BaseHelperrÀ   r%   r&   r'   ú<module>r     sZ  ðñ&õ %Ý Ý $ß 6Ó 6Ý Ý )ã &Ý &å EÝ CÝ BÝ GÝ "ß VÑ Vß +Ñ +Ý ð ×Ñô˜S $ó ó  ðð& $:Ð  ðð !€× Ñ Ø	Ø*.ô÷LAð LAó	ðLAð^ !€× Ñ ÀtÔL÷qtð qtó Mðqtðh !€× Ñ Ø	Ø*.ô÷|<ð |<ó	ð|<ð~ Ð!Ð#5Ð5Ñ
6€ðñ ô˜I gÑ.õ ô˜Iô ôw¨L×,@Ñ,@×,KÑ,Kõ wr&   