a h%% @sddlmZmZmZddlZddlZddlZddlZddlm Z m Z m Z m Z ddlm Z mZmZmZddlmZddlmZddlmZdd lmZmZerdd lmZmZmZmZmZm Z m!Z!ee"e"ge#fZ$gd Z%Gd d d e&Z'Gddde&Z(Gddde&Z)Gddde*Z+Gddde+Z,Gddde+Z-Gddde+Z.ededBedBedBedBedBed Bed!Bed"Bed#Bed$Bed%Bed&Bed'Bed(Bed)Bed*Bed+BZ/d$d#dd ddd,Z0e/1d-d.ed/ed0Bed1Bed2Bed3Bed4Bed5Bed6BZ2e2ed7Bed8BZ3e31d9d.ed:ed;BZ4e41dBZ5e/e4BZ6ee6e3e6Z7e71d?d.ed@8Z9edA8Z:eZ;e7ee9e;e:BZe e;e Z=dBdCZ>dXdEdFZ?dGd.dHd.ej@ejAejBejCejDejEdIZFdJdKZGGdLdMdMe*ZHeHZIdNdOZJdPdQZKdRdSZLdTdUZMGdVdWdWe*ZNdS)Y)absolute_importdivisionprint_functionN)ParseException ParseResults stringStart stringEnd) ZeroOrMoreGroupForward QuotedString)Literal) string_types) TYPE_CHECKING) SpecifierInvalidSpecifier)AnyCallableDictListOptionalTupleUnion) InvalidMarkerUndefinedComparisonUndefinedEnvironmentNameMarkerdefault_environmentc@seZdZdZdS)rzE An invalid marker was found, users should refer to PEP 508. N__name__ __module__ __qualname____doc__r$r$H/usr/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.pyr"src@seZdZdZdS)rzP An invalid operation was attempted on a value that doesn't support it. Nrr$r$r$r%r(src@seZdZdZdS)rz\ A name was attempted to be used that does not exist inside of the environment. Nrr$r$r$r%r.src@s,eZdZddZddZddZddZd S) NodecCs ||_dSN)value)selfr(r$r$r%__init__6sz Node.__init__cCs t|jSr')strr(r)r$r$r%__str__:sz Node.__str__cCsd|jjt|S)Nz <{0}({1!r})>)format __class__r r+r,r$r$r%__repr__>sz Node.__repr__cCstdSr')NotImplementedErrorr,r$r$r% serializeBszNode.serializeN)r r!r"r*r-r0r2r$r$r$r%r&5sr&c@seZdZddZdS)VariablecCst|Sr'r+r,r$r$r%r2HszVariable.serializeNr r!r"r2r$r$r$r%r3Gsr3c@seZdZddZdS)ValuecCs d|S)Nz"{0}")r.r,r$r$r%r2NszValue.serializeNr5r$r$r$r%r6Msr6c@seZdZddZdS)OpcCst|Sr'r4r,r$r$r%r2Tsz Op.serializeNr5r$r$r$r%r7Ssr7implementation_versionplatform_python_implementationimplementation_namepython_full_versionplatform_releaseplatform_versionplatform_machineplatform_systempython_version sys_platformos_nameos.name sys.platformplatform.versionplatform.machineplatform.python_implementationpython_implementationZextra)rCrDrErFrGrHcCstt|d|dSNr)r3ALIASESgetsltr$r$r%urPz=====>=<=!=z~=><not inincCs t|dSrI)r7rLr$r$r%rP|rQ'"cCs t|dSrI)r6rLr$r$r%rPrQandorcCs t|dSrI)tuplerLr$r$r%rPrQ()cCs t|trdd|DS|SdS)NcSsg|] }t|qSr$)_coerce_parse_result).0ir$r$r% rQz(_coerce_parse_result..) isinstancer)resultsr$r$r%ras raTcCst|tttfsJt|trHt|dkrHt|dttfrHt|dSt|trdd|D}|rnd|Sdd|dSn"t|trddd |DS|SdS) Nrrcss|]}t|ddVqdS)F)firstN)_format_markerrbmr$r$r% rQz!_format_marker.. r_r`cSsg|] }|qSr$)r2rir$r$r%rdrQz"_format_marker..)relistr^rlenrhjoin)markerrginnerr$r$r%rhs      rhcCs||vSr'r$lhsrhsr$r$r%rPrQcCs||vSr'r$rrr$r$r%rPrQ)rYrXrWrTrRrUrSrVcCsjztd||g}Wnty,Yn 0||St|}|dur`td||||||S)Nz#Undefined {0!r} on {1!r} and {2!r}.) rror2rcontains _operatorsrKrr.)rsoprtspecZoperr$r$r%_eval_ops   rzc@s eZdZdS) UndefinedN)r r!r"r$r$r$r%r{sr{cCs(||t}t|tr$td||S)Nz/{0!r} does not exist in evaluation environment.)rK _undefinedrer{rr.) environmentnamer(r$r$r%_get_envs   rc Csgg}|D]}t|tttfs"Jt|trB|dt||q t|tr|\}}}t|trtt||j}|j}n|j}t||j}|dt |||q |dvsJ|dkr |gq t dd|DS)N)r\r]r]css|]}t|VqdSr')all)rbitemr$r$r%rkrQz$_evaluate_markers..) rermr^rappend_evaluate_markersr3rr(rzany) Zmarkersr}groupsrprsrxrtZ lhs_valueZ rhs_valuer$r$r%rs"        rcCs2d|}|j}|dkr.||dt|j7}|S)Nz{0.major}.{0.minor}.{0.micro}finalr)r. releaselevelr+serial)infoversionkindr$r$r%format_full_versions  rcCsrttdr ttjj}tjj}nd}d}||tjtt t tt t d tddtjd S)Nimplementation0ru.) r:r8rBr>r<r?r=r;r9r@rA)hasattrsysrrrr~osplatformmachinereleasesystemr@rHroZpython_version_tuple)Ziverr:r$r$r%r s"   rc@s.eZdZddZddZddZd dd ZdS) rc Csbztt||_WnHty\}z0d|||j|jd}t|WYd}~n d}~00dS)Nz+Invalid marker: {0!r}, parse error at {1!r})raMARKERZ parseString_markersrr.locr)r)rpeZerr_strr$r$r%r*(szMarker.__init__cCs t|jSr')rhrr,r$r$r%r-2szMarker.__str__cCsdt|S)Nz)r.r+r,r$r$r%r06szMarker.__repr__NcCs$t}|dur||t|j|S)a$Evaluate a marker. Return the boolean from evaluating the given marker against the environment. environment is an optional argument to override all or part of the determined environment. The environment is determined from the current Python process. N)rupdaterr)r)r}Zcurrent_environmentr$r$r%evaluate:s  zMarker.evaluate)N)r r!r"r*r-r0rr$r$r$r%r's r)T)OZ __future__rrroperatorrrrZsetuptools.extern.pyparsingrrrrr r r r r LZ_compatrZ_typingrZ specifiersrrtypingrrrrrrrr+boolZOperator__all__ ValueErrorrrrobjectr&r3r6r7ZVARIABLErJZsetParseActionZ VERSION_CMPZ MARKER_OPZ MARKER_VALUEZBOOLOPZ MARKER_VARZ MARKER_ITEMsuppressZLPARENZRPARENZ MARKER_EXPRZ MARKER_ATOMrrarhltleeqnegegtrwrzr{r|rrrrrr$r$r$r%s   $      >