Ë
    hKêjÂg  ã                   ój  — d Z  G d„ d«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z	 G d„ de«      Z
 G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ d e«      Z G d!„ d"e«      Z G d#„ d$e«      Z G d%„ d&e«      Z G d'„ d(e«      Z G d)„ d*e«      Z G d+„ d,e«      Z G d-„ d.e«      Z G d/„ d0e«      Z G d1„ d2e«      Z G d3„ d4e«      Z G d5„ d6e«      Z G d7„ d8e«      Z G d9„ d:e«      Z G d;„ d<e«      Z G d=„ d>e«      Z G d?„ d@e«      Z  G dA„ dBe«      Z!i dCe“dDe“dEe“dFe“dGe“dHe“dIe“dJe	“dKe
“dLe“dMe“dNe“dOe“dPe“dQe“dRe“dSe“eeeeeeeeeeeeee e!dTœ¥Z"yU)Vz@
Validate each type according to the PURL spec type definitions
c                   ó"  — e Zd ZU dZeed<   	 eed<   	 eed<   	 dZeed<   	 eed<   	 eed<   	 d	d
hZe	ed<   	 dZ
eed<   	 dZeed<   	 dZeed<   	 eed<   	 edd„«       Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zedd„«       Zed„ «       Zy)ÚBasePurlTypez.
    Base class for all PURL type classes
    ÚtypeÚ	type_nameÚdescriptionFÚuse_repositoryÚdefault_repository_urlÚnamespace_requirementÚrepository_urlÚarchÚallowed_qualifiersTÚnamespace_case_sensitiveÚname_case_sensitiveÚversion_case_sensitiveÚpurl_patternc              #   óL  K  — ddl m} ddl m} |s ||j                  d¬«      –— yddl m} t        ||«      s	 |j                  |d¬	«      }|s| j                  |«      }| j                  |«      E d{  –—†  | j                  |«      E d{  –—†  | j                  |«      E d{  –—†  |r| j                  |«      E d{  –—†  | j                  ||¬«      }|r|E d{  –—†  yy# t        $ r&} ||j                  d
|›d|› �¬«      –— Y d}~yd}~ww xY w7 Œ¤7 Œ�7 Œv7 Œ]7 Œ@­w)zŠ
        Validate a PackageURL instance or string.
        Yields ValidationMessage and performs strict validation if strict=True
        é    ©ÚValidationMessage©ÚValidationSeverityzNo purl provided©ÚseverityÚmessageN©Ú
PackageURLF)Únormalize_purlzInvalid purl z	 string: )Ústrict)Ú
packageurlr   r   ÚERRORr   Ú
isinstanceÚfrom_stringÚ	ExceptionÚ	normalizeÚ_validate_namespaceÚ_validate_nameÚ_validate_versionÚ_validate_qualifiersÚvalidate_using_type_rules)ÚclsÚpurlr   r   r   r   ÚeÚmessagess           úX/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/packageurl/validate.pyÚvalidatezBasePurlType.validateD   s6  è ø€ õ 	1Ý1áÙ#Ø+×1Ñ1Ø*ôò ð å)ä˜$ 
Ô+ðØ!×-Ñ-¨dÀ5Ð-ÓI�ñ Ø—=‘= Ó&ˆDà×*Ñ*¨4Ó0×0Ð0Ø×%Ñ% dÓ+×+Ð+Ø×(Ñ(¨Ó.×.Ð.ÙØ×/Ñ/°Ó5×5Ð5à×0Ñ0°¸fÐ0ÓEˆÙØ×Ñð øô# ò Ù'Ø/×5Ñ5Ø+¨D¨8°9¸Q¸CÐ@ôò ô ûðúð 	1øØ+øØ.øà5øð  ús‚   ‚8D$»C( Á'D$Á5DÁ6D$ÂDÂD$Â'DÂ(D$ÃD ÃD$Ã!D"Ã"D$Ã(	DÃ1DÄD$ÄDÄD$ÄD$ÄD$Ä D$Ä"D$c              #   ó¸  K  — ddl m} ddl m} | j                  dk(  r0|j                  r$ ||j
                  d| j                  ›�¬«      –— n>| j                  dk(  r/|j                  s# ||j
                  d| j                  ›�¬«      –— |j                  d	k(  rY|j                  rL|j                  |j                  j                  «       k7  r$ ||j                  d
| j                  ›�¬«      –— y y y | j                  sY|j                  rL|j                  j                  «       |j                  k7  r$ ||j                  d| j                  ›�¬«      –— y y y y ­w)Nr   r   r   Ú
prohibitedz'Namespace is prohibited for purl type: r   Úrequiredz%Namespace is required for purl type: Úcpanz+Namespace must be uppercase for purl type: z+Namespace is not lowercased for purl type: )r   r   r   r	   Ú	namespacer   r   ÚupperÚWARNINGr   Úlower©r)   r*   r   r   s       r-   r$   z BasePurlType._validate_namespacem   s5  è ø€ å0Ý1à×$Ñ$¨Ò4¸¿ºÙ#Ø+×1Ñ1ØAÀ#Ç(Á(ÀÐNôó ð
 ×&Ñ&¨*Ò4¸T¿^º^Ù#Ø+×1Ñ1Ø?ÀÇÁ¸|ÐLôò ð �9‰9˜ÒØ�~Š~ $§.¡.°D·N±N×4HÑ4HÓ4JÒ"JÙ'Ø/×7Ñ7ØIÈ#Ï(É(ÈÐVôó ð #Kˆ~ð ×,Ò,Ø—’Ø—‘×$Ñ$Ó&¨$¯.©.Ò8á#Ø+×3Ñ3ØEÀcÇhÁhÀ\ÐRôó ð 9ð ð -ùs   ‚EEc              #   óî   K  — | j                   se|j                  rX|j                  j                  «       |j                  k7  r0ddlm} ddlm}  ||j                  d| j                  ›�¬«      –— y y y y ­w)Nr   r   r   z&Name is not lowercased for purl type: r   )r   Únamer6   r   r   r   r5   r   r7   s       r-   r%   zBasePurlType._validate_name�   s`   è ø€ à×&Ò&¨4¯9ª9¸¿¹¿¹Ó9JÈdÏiÉiÒ9WÝ4Ý5á#Ø+×3Ñ3Ø@ÀÇÁÀÐMôó ð	 :X¨9Ð&ùó   ‚A3A5c              #   óî   K  — | j                   se|j                  rX|j                  j                  «       |j                  k7  r0ddlm} ddlm}  ||j                  d| j                  ›�¬«      –— y y y y ­w)Nr   r   r   z)Version is not lowercased for purl type: r   )r   Úversionr6   r   r   r   r5   r   r7   s       r-   r&   zBasePurlType._validate_versionš   sf   è ø€ à×)Ò)¨d¯lªl¸t¿|¹|×?QÑ?QÓ?SÐW[×WcÑWcÒ?cÝ4Ý5á#Ø+×3Ñ3ØCÀCÇHÁHÀ<ÐPôó ð	 @d¨lÐ)ùr:   c           	      óÚ   — ddl m} ddl m}  ||j                  |j                  |j
                  |j                  |j                  |j                  d¬«      \  }}}}}}	 |||||||	¬«      S )Nr   r   )r#   F)Úencode)r   r3   r9   r<   Ú
qualifiersÚsubpath)	r   r   r#   r   r3   r9   r<   r?   r@   )
r)   r*   r   r#   Ú	type_normÚnamespace_normÚ	name_normÚversion_normÚqualifiers_normÚsubpath_norms
             r-   r#   zBasePurlType.normalize¥   sr   € å)Ý(ñ Ø—	‘	Ø—‘Ø—	‘	Ø—‘Ø—‘Ø—‘Øôñ 	Zˆ	�> 9¨l¸OÈ\ñ ØØ$ØØ Ø&Ø ô
ð 	
ó    c                 ó   — t        g «      S )zº
        Validate using any additional type specific rules.
        Yield validation messages.
        Subclasses can override this method to add type specific validation rules.
        )Úiter)r)   r*   r   s      r-   r(   z&BasePurlType.validate_using_type_rules¿   s   € ô �B‹xˆrG   c              #   óD  K  — |j                   sy t        |j                   j                  «       «      }| j                  }||z
  }|rYddlm} ddlm}  ||j                  ddj                  t        |«      «      › ddj                  t        |«      «      › �¬«      –— y y ­w)Nr   r   r   zInvalid qualifiers found: z, z. Allowed qualifiers are: r   )
r?   ÚsetÚkeysr   r   r   r   ÚINFOÚjoinÚsorted)r)   r*   Úpurl_qualifiers_keysÚallowed_qualifiers_setÚ
disallowedr   r   s          r-   r'   z!BasePurlType._validate_qualifiersÈ   sš   è ø€ à�ŠØä" 4§?¡?×#7Ñ#7Ó#9Ó:ÐØ!$×!7Ñ!7Ðà)Ð,BÑBˆ
áÝ4Ý5á#Ø+×0Ñ0à0°·±¼6À*Ó;MÓ1NÐ0Oð P/Ø/3¯y©y¼Ð@VÓ9WÓ/XÐ.Yð[ôó ð	 ùs   ‚BB N©F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r   Úboolr   Údictr   r   r   Úclassmethodr.   r$   r%   r&   r#   r(   r'   © rG   r-   r   r      s  … ñð ƒIØ4àƒNØ&àÓØ,à €N�DÓ ØAàÓØ>àÓØIà 0°&Ð9Ð˜Ó9Ø;à%)Ð˜dÓ)Ø_à $Ð˜Ó$ØZà#'Ð˜DÓ'Ø]àÓØ@àò& ó ð& ðP ñó ððB ñó ðð ñó ðð ñ
ó ð
ð2 òó ðð ñó ñrG   r   c                   ó<   — e Zd ZdZdZdZdZdZdZddhZ	d	Z
d	ZdZd
Zy)ÚAlpmTypeDefinitionÚalpmzArch Linux packagezJArch Linux packages and other users of the libalpm/pacman package manager.TÚ r1   r
   r   Fzpkg:alpm/.*N©rT   rU   rV   r   r   r   r   r   r	   r   r   r   r   r   r]   rG   r-   r_   r_   ß   sD   „ Ø€DØ$€IØb€KØ€NØÐØ&ÐØ*¨FÐ3ÐØ$ÐØÐØ!ÐØ �LrG   r_   c                   ó<   — e Zd ZdZdZdZdZdZdZddhZ	d	Z
d	ZdZd
Zy)ÚApkTypeDefinitionÚapkzAPK-based packageszAlpine Linux APK-based packagesTra   r1   r
   r   Fz
pkg:apk/.*Nrb   r]   rG   r-   rd   rd   í   sD   „ Ø€DØ$€IØ7€KØ€NØÐØ&ÐØ*¨FÐ3ÐØ$ÐØÐØ!ÐØ�LrG   rd   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚBitbucketTypeDefinitionÚ	bitbucketÚ	BitbucketzBitbucket-based packagesTzhttps://bitbucket.orgr1   r
   Fzpkg:bitbucket/.*Nrb   r]   rG   r-   rg   rg   û   sB   „ Ø€DØ€IØ0€KØ€NØ4ÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ%�LrG   rg   c                   ó<   — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZd	Zy
)ÚBitnamiTypeDefinitionÚbitnamiÚBitnamizBitnami-based packagesTz.https://downloads.bitnami.com/files/stacksmithr0   >   r   Údistror
   Fzpkg:bitnami/.*Nrb   r]   rG   r-   rk   rk   	  s?   „ Ø€DØ€IØ.€KØ€NØMÐØ(ÐÚ=ÐØ$ÐØÐØ!ÐØ#�LrG   rk   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚCargoTypeDefinitionÚcargoÚCargozCargo packages for RustTzhttps://crates.io/r0   r
   Fzpkg:cargo/.*Nrb   r]   rG   r-   rp   rp     sB   „ Ø€DØ€IØ/€KØ€NØ1ÐØ(ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ!�LrG   rp   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚCocoapodsTypeDefinitionÚ	cocoapodsÚ	CocoaPodszCocoaPods podsTzhttps://cdn.cocoapods.org/r0   r
   Fzpkg:cocoapods/.*Nrb   r]   rG   r-   rt   rt   %  sB   „ Ø€DØ€IØ&€KØ€NØ9ÐØ(ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ%�LrG   rt   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚComposerTypeDefinitionÚcomposerÚComposerzComposer PHP packagesTzhttps://packagist.orgr1   r
   Fzpkg:composer/.*Nrb   r]   rG   r-   rx   rx   3  sB   „ Ø€DØ€IØ-€KØ€NØ4ÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ$�LrG   rx   c                   ó<   — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZd	Zy
)ÚConanTypeDefinitionÚconanzConan C/C++ packageszñConan C/C++ packages. The purl is designed to closely resemble the Conan-native <package-name>/<package-version>@<user>/<channel> syntax for package references as specified in https://docs.conan.io/en/1.46/cheatsheet.html#package-terminologyTzhttps://center.conan.ioÚoptional>   ÚprevÚrrevÚuserÚchannelr
   Fzpkg:conan/.*Nrb   r]   rG   r-   r|   r|   A  sB   „ Ø€DØ&€Ið J€KØ€NØ6ÐØ&ÐÚNÐØ$ÐØÐØ!ÐØ!�LrG   r|   c                   ó<   — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZd	Zy
)ÚCondaTypeDefinitionÚcondaÚCondazconda is for Conda packagesTzhttps://repo.anaconda.comr0   >   r   ÚbuildÚsubdirr‚   r
   Fzpkg:conda/.*Nrb   r]   rG   r-   r„   r„   O  s?   „ Ø€DØ€IØ3€KØ€NØ8ÐØ(ÐÚQÐØ$ÐØÐØ!ÐØ!�LrG   r„   c                   óZ   ‡ — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZd	Zedˆ fd
„	«       Zˆ xZS )ÚCpanTypeDefinitionr2   ÚCPANzCPAN Perl packagesTzhttps://www.cpan.org/r~   >   ÚextÚvcs_urlÚdownload_urlr
   Fzpkg:cpan/.*c              #   óX  •K  — ddl m} ddl m} |j                  r1d|j                  v r# ||j
                  d| j                  ›�¬«      –— |j                  s1d|j                  v r# ||j
                  d| j                  ›�¬«      –— t        ‰| �!  ||«      }|r|E d {  –—†  y y 7 Œ­w)	Nr   r   r   z::zDName must not contain '::' when Namespace is present for purl type: r   ú-zBName must not contain '-' when Namespace is absent for purl type: )	r   r   r   r3   r9   r   r   Úsuperr(   ©r)   r*   r   r   r   r,   Ú	__class__s         €r-   r(   z,CpanTypeDefinition.validate_using_type_rulesj  sª   øè ø€ å0Ý1à�>Š>˜d d§i¡iÑ/Ù#Ø+×1Ñ1Ø^Ð_b×_gÑ_gÐ^jÐkôò ð �~Š~ #¨¯©Ñ"2Ù#Ø+×1Ñ1Ø\Ð]`×]eÑ]eÐ\hÐiôò ô ‘7Ñ4°T¸6ÓBˆÙØ×Ñð Øús   ƒBB*Â!B(Â"B*rS   ©rT   rU   rV   r   r   r   r   r   r	   r   r   r   r   r   r\   r(   Ú__classcell__©r“   s   @r-   rŠ   rŠ   ]  sR   ø„ Ø€DØ€IØ*€KØ€NØ4ÐØ&ÐÚMÐØ$ÐØÐØ!ÐØ €Làô ó ô rG   rŠ   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚCranTypeDefinitionÚcranÚCRANzCRAN R packagesTzhttps://cran.r-project.orgr0   r
   Fzpkg:cran/.*Nrb   r]   rG   r-   r˜   r˜   ~  sB   „ Ø€DØ€IØ'€KØ€NØ9ÐØ(ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ �LrG   r˜   c                   ó<   — e Zd ZdZdZdZdZdZdZddhZ	d	Z
d	ZdZd
Zy)ÚDebTypeDefinitionÚdebzDebian packagez8Debian packages, Debian derivatives, and Ubuntu packagesTra   r1   r
   r   Fz
pkg:deb/.*Nrb   r]   rG   r-   rœ   rœ   Œ  sD   „ Ø€DØ €IØP€KØ€NØÐØ&ÐØ*¨FÐ3ÐØ$ÐØÐØ!ÐØ�LrG   rœ   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚDockerTypeDefinitionÚdockerzDocker imagezfor Docker imagesTzhttps://hub.docker.comr~   r
   Fzpkg:docker/.*Nrb   r]   rG   r-   rŸ   rŸ   š  sB   „ Ø€DØ€IØ)€KØ€NØ5ÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ"�LrG   rŸ   c                   ó<   — e Zd ZdZdZdZdZdZdZddhZ	dZ
dZdZd	Zy
)ÚGemTypeDefinitionÚgemÚRubyGemsTzhttps://rubygems.orgr0   r
   ÚplatformFz
pkg:gem/.*Nrb   r]   rG   r-   r¢   r¢   ¨  sD   „ Ø€DØ€IØ €KØ€NØ3ÐØ(ÐØ*¨JÐ7ÐØ$ÐØÐØ!ÐØ�LrG   r¢   c                   ó<   — e Zd ZdZdZdZdZdZdZddhZ	dZ
dZd	Zd
Zy)ÚGenericTypeDefinitionÚgenericzGeneric PackagezôThe generic type is for plain, generic packages that do not fit anywhere else such as for "upstream-from-distro" packages. In particular this is handy for a plain version control repository such as a bare git repo in combination with a vcs_url.Fra   r~   ÚchecksumrŽ   Tzpkg:generic/.*Nrb   r]   rG   r-   r§   r§   ¶  sG   „ Ø€DØ!€Ið M€KØ€NØÐØ&ÐØ$ nÐ5ÐØ$ÐØÐØ!ÐØ#�LrG   r§   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚGithubTypeDefinitionÚgithubÚGitHubzGitHub-based packagesTzhttps://github.comr1   r
   Fzpkg:github/.*Nrb   r]   rG   r-   r«   r«   Ä  sB   „ Ø€DØ€IØ-€KØ€NØ1ÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ"�LrG   r«   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚGolangTypeDefinitionÚgolangz
Go packagezGo packagesTra   r1   r
   Fzpkg:golang/.*Nrb   r]   rG   r-   r¯   r¯   Ò  sB   „ Ø€DØ€IØ#€KØ€NØÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ"�LrG   r¯   c                   óX   ‡ — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zedˆ fd
„	«       Zˆ xZS )ÚHackageTypeDefinitionÚhackagezHaskell packagezHaskell packagesTzhttps://hackage.haskell.orgr0   r
   Fzpkg:hackage/.*c              #   óÆ   •K  — ddl m} ddl m} d|j                  v r# ||j                  d| j
                  ›�¬«      –— t        ‰| �  ||«      }|r|E d {  –—†  y y 7 Œ­w©Nr   r   r   Ú_z.Name cannot contain underscores for purl type:r   ©r   r   r   r9   r5   r   r‘   r(   r’   s         €r-   r(   z/HackageTypeDefinition.validate_using_type_rulesí  ód   øè ø€ å0Ý1à�$—)‘)ÑÙ#Ø+×3Ñ3ØHÈÏÉÈÐUôò ô ‘7Ñ4°T¸6ÓBˆÙØ×Ñð Øúó   ƒAA!ÁAÁA!rS   r”   r–   s   @r-   r²   r²   à  sU   ø„ Ø€DØ!€IØ(€KØ€NØ:ÐØ(ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ#€Làô ó ô rG   r²   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚHexTypeDefinitionÚhexÚHexzHex packagesTzhttps://repo.hex.pmr~   r
   Fz
pkg:hex/.*Nrb   r]   rG   r-   r»   r»   ü  sB   „ Ø€DØ€IØ$€KØ€NØ2ÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ�LrG   r»   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZdZy	)
ÚHuggingfaceTypeDefinitionÚhuggingfacezHuggingFace modelszHugging Face ML modelsTra   r1   r
   zpkg:huggingface/.*Nrb   r]   rG   r-   r¿   r¿   
  sB   „ Ø€DØ$€IØ.€KØ€NØÐØ&ÐØ*Ð+ÐØ#ÐØÐØ!ÐØ'�LrG   r¿   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚLuarocksTypeDefinitionÚluarocksÚLuaRocksz$Lua packages installed with LuaRocksTra   r~   r
   Fzpkg:luarocks/.*Nrb   r]   rG   r-   rÂ   rÂ     sB   „ Ø€DØ€IØ<€KØ€NØÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ$�LrG   rÂ   c                   ó<   — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZdZy	)
ÚMavenTypeDefinitionÚmavenÚMavenz/PURL type for Maven JARs and related artifacts.Tz%https://repo.maven.apache.org/maven2/r1   >   r   Ú
classifierr
   zpkg:maven/.*Nrb   r]   rG   r-   rÆ   rÆ   &  s?   „ Ø€DØ€IØG€KØ€NØDÐØ&ÐÚAÐØ#ÐØÐØ!ÐØ!�LrG   rÆ   c                   ó<   — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZdZy	)
ÚMlflowTypeDefinitionÚmlflowra   z-MLflow ML models (Azure ML, Databricks, etc.)Tr0   >   Úrun_idÚ
model_uuidr
   Fzpkg:mlflow/.*Nrb   r]   rG   r-   rË   rË   4  s?   „ Ø€DØ€IØE€KØ€NØÐØ(ÐÚCÐØ$ÐØÐØ!ÐØ"�LrG   rË   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚNpmTypeDefinitionÚnpmzNode NPM packageszPURL type for npm packages.Tzhttps://registry.npmjs.org/r~   r
   Fz
pkg:npm/.*Nrb   r]   rG   r-   rÐ   rÐ   B  sB   „ Ø€DØ#€IØ3€KØ€NØ:ÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ�LrG   rÐ   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚNugetTypeDefinitionÚnugetÚNuGetzNuGet .NET packagesTzhttps://www.nuget.orgr0   r
   Fzpkg:nuget/.*Nrb   r]   rG   r-   rÓ   rÓ   P  sB   „ Ø€DØ€IØ+€KØ€NØ4ÐØ(ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ!�LrG   rÓ   c                   ó<   — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZd	Zy
)ÚOciTypeDefinitionÚociz	OCI imagez¿For artifacts stored in registries that conform to the OCI Distribution Specification https://github.com/opencontainers/distribution-spec including container images built by Docker and othersTra   r0   >   Útagr   r
   Fz
pkg:oci/.*Nrb   r]   rG   r-   r×   r×   ^  sB   „ Ø€DØ€Ið X€KØ€NØÐØ(ÐÚ:ÐØ$ÐØÐØ!ÐØ�LrG   r×   c                   óX   ‡ — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zedˆ fd
„	«       Zˆ xZS )ÚPubTypeDefinitionÚpubÚPubzDart and Flutter pub packagesTzhttps://pub.dartlang.orgr0   r
   Fz
pkg:pub/.*c              #   óD  •K  — ddl m} ddl m} t        d„ |j                  D «       «      s# ||j
                  d| j                  ›�¬«      –— d|j                  v r# ||j
                  d| j                  ›�¬«      –— t        ‰| �!  ||«      }|r|E d {  –—†  y y 7 Œ­w)	Nr   r   r   c              3   óJ   K  — | ]  }|j                  «       xs |d k(  –— Œ y­w)r¶   N)Úisalnum)Ú.0Úcs     r-   ú	<genexpr>z>PubTypeDefinition.validate_using_type_rules.<locals>.<genexpr>~  s"   è ø€ Ò>¨q�1—9‘9“;Ò* ! s¡(Ó*Ñ>ùs   ‚!#zhName contains invalid characters but should only contain letters, digits, or underscores for purl type: r   ú zGName contains spaces but should use underscores instead for purl type: )	r   r   r   Úallr9   r5   r   r‘   r(   r’   s         €r-   r(   z+PubTypeDefinition.validate_using_type_rulesy  sº   øè ø€ å0Ý1äÑ>°D·I±IÔ>Ô>Ù#Ø+×3Ñ3ð Cð  DG÷  DLñ  DLð  COð  Pôò ð
 �$—)‘)ÑÙ#Ø+×3Ñ3ØaÐbe×bjÑbjÐamÐnôò ô ‘7Ñ4°T¸6ÓBˆÙØ×Ñð Øús   ƒBB ÂBÂB rS   r”   r–   s   @r-   rÛ   rÛ   l  sU   ø„ Ø€DØ€IØ5€KØ€NØ7ÐØ(ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ€Làô ó ô rG   rÛ   c                   óZ   ‡ — e Zd ZdZdZdZdZdZdZddhZ	d	Z
d	ZdZd
Zedˆ fd„	«       Zˆ xZS )ÚPypiTypeDefinitionÚpypiÚPyPIzPython packagesTzhttps://pypi.orgr0   Ú	file_namer
   Fzpkg:pypi/.*c              #   óÆ   •K  — ddl m} ddl m} d|j                  v r# ||j                  d| j
                  ›�¬«      –— t        ‰| �  ||«      }|r|E d {  –—†  y y 7 Œ­wrµ   r·   r’   s         €r-   r(   z,PypiTypeDefinition.validate_using_type_rules›  r¸   r¹   rS   r”   r–   s   @r-   rç   rç   Ž  sX   ø„ Ø€DØ€IØ'€KØ€NØ/ÐØ(ÐØ%Ð'7Ð8ÐØ$ÐØÐØ!ÐØ €Làô ó ô rG   rç   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZd	Zy
)ÚQpkgTypeDefinitionÚqpkgzQNX packagezQNX packagesTra   r1   r
   Fzpkg:qpkg/.*Nrb   r]   rG   r-   rí   rí   ª  sB   „ Ø€DØ€IØ$€KØ€NØÐØ&ÐØ*Ð+ÐØ$ÐØÐØ!ÐØ �LrG   rí   c                   ó<   — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZd	Zy
)ÚRpmTypeDefinitionÚrpmÚRPMzRPM packagesTra   r1   >   r   Úepochr
   Fz
pkg:rpm/.*Nrb   r]   rG   r-   rð   rð   ¸  s?   „ Ø€DØ€IØ$€KØ€NØÐØ&ÐÚ<ÐØ$ÐØÐØ!ÐØ�LrG   rð   c                   ó<   — e Zd ZdZdZdZdZdZdZh d£Z	dZ
dZdZd	Zy
)ÚSwidTypeDefinitionÚswidz"Software Identification (SWID) TagzBPURL type for ISO-IEC 19770-2 Software Identification (SWID) tags.Fra   r~   >   ÚpatchÚtag_idÚtag_versionÚtag_creator_nameÚtag_creator_regidTzpkg:swid/.*Nrb   r]   rG   r-   rõ   rõ   Æ  s?   „ Ø€DØ4€IØZ€KØ€NØÐØ&ÐÚdÐØ#ÐØÐØ!ÐØ �LrG   rõ   c                   ó:   — e Zd ZdZdZdZdZdZdZdhZ	dZ
dZdZdZy)	ÚSwiftTypeDefinitionÚswiftzSwift packagesTra   r1   r
   zpkg:swift/.*Nrb   r]   rG   r-   rý   rý   Ô  sB   „ Ø€DØ €IØ&€KØ€NØÐØ&ÐØ*Ð+ÐØ#ÐØÐØ!ÐØ!�LrG   rý   r`   re   rh   rl   rq   ru   ry   r}   r…   r2   r™   r�   r    r£   r¨   r¬   r°   )r³   r¼   rÀ   rÃ   rÇ   rÌ   rÑ   rÔ   rØ   rÜ   rè   rî   rñ   rö   rþ   N)#rW   r   r_   rd   rg   rk   rp   rt   rx   r|   r„   rŠ   r˜   rœ   rŸ   r¢   r§   r«   r¯   r²   r»   r¿   rÂ   rÆ   rË   rÐ   rÓ   r×   rÛ   rç   rí   rð   rõ   rý   ÚDEFINITIONS_BY_TYPEr]   rG   r-   ú<module>r      s¯  ðñ2÷
~ñ ~ôB!˜ô !ô ˜ô  ô&˜lô &ô$˜Lô $ô"˜,ô "ô&˜lô &ô%˜\ô %ô"˜,ô "ô"˜,ô "ô ˜ô  ôB!˜ô !ô ˜ô  ô#˜<ô #ô ˜ô  ô$˜Lô $ô#˜<ô #ô#˜<ô #ô ˜Lô  ô8 ˜ô  ô( ô (ô%˜\ô %ô"˜,ô "ô#˜<ô #ô ˜ô  ô"˜,ô "ô ˜ô  ô ˜ô  ôD ˜ô  ô8!˜ô !ô ˜ô  ô!˜ô !ô"˜,ô "ð!Ø
Ðð!à	Ðð!ð Ð(ð!ð Ð$ð	!ð
 Ð ð!ð Ð(ð!ð Ð&ð!ð Ð ð!ð Ð ð!ð Ðð!ð Ðð!ð 
Ðð!ð Ð"ð!ð 
Ðð!ð Ð$ð!ð  Ð"ð!!ð" Ð"ð#!ð$ %ØØ,Ø&Ø Ø"ØØ ØØØØØØØ òA!Ñ rG   