o ?Og @s ddlZddlZddlZedejZedZedZddZ ej ej ej ej ejejdZGdd d Zdad d ZdS) Nz'(?i)^\s*([a-z_]\w*(?:\.[a-z_]\w*)*)(.*)z^\s*\((.*)\)\s*$z%^\s*(<=|>=|<|>|!=|==)\s*([^\s,]+)\s*$cCs8 t|}|std||\}}|tj|fS)Nz"bad package restriction syntax: %r)re_splitComparisonmatch ValueErrorgroups distutilsversion StrictVersion)predrescompZverStrr A/opt/alt/python310/lib64/python3.10/distutils/versionpredicate.pysplitUps    r)z>=z!=c@s&eZdZ ddZddZddZdS)VersionPredicatecCs |}|s tdt|}|std||\|_}|}|rNt|}|s2td||d}dd|dD|_|jsLtd|dSg|_dS) Nzempty package restrictionzbad package name in %rzexpected parenthesized list: %rrcSsg|]}t|qSr )r).0ZaPredr r r tsz-VersionPredicate.__init__..,zempty parenthesized list in %r) striprre_validPackagerrnamere_parensplitr )selfZversionPredicateStrrZparenstrr r r __init__`s*      zVersionPredicate.__init__cCs4|jrdd|jD}|jdd|dS|jS)NcSs g|] \}}|dt|qS) )r)rcondverr r r r}s z,VersionPredicate.__str__..z (z, ))r rjoin)rseqr r r __str__{szVersionPredicate.__str__cCs* |jD]\}}t|||sdSqdS)NFT)r compmap)rrrrr r r satisfied_bys zVersionPredicate.satisfied_byN)__name__ __module__ __qualname__rr#r%r r r r rs @ rcCsf tdur tdtja|}t|}|std||dp#d}|r,tj |}|d|fS)Nz=([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(?:\s*\(\s*([^)\s]+)\s*\))?$z"illegal provides specification: %r) _provision_rxrecompileASCIIrrrgrouprrr)valuemrr r r split_provisions    r2)r,Zdistutils.versionroperatorr-r.rrrrltleeqgtgener$rr+r2r r r r s    n