hyb
2025-11-10 e0a856b5072c5a09f3f6de6da85abf90e00ee704
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Ë
?ñúhk(ãó—dZddlZddlmZmZmZmZmZmZddl    m
Z
m Z Gd„d«Z Gd„d    e «Z Gd
„d e «ZGd „d e «Zee efZeeeefZeZeeZGd„de«Zdedefd„Zde defd„Zde deeeeeffd„Zde dededefd„Zde deefd„Zde deefd„Zde defd„Zde defd„Zdedefd„Zde defd„Z de defd„Z!de defd „Z"de defd!„Z#de defd"„Z$d#ede fd$„Z%d%edefd&„Z&de defd'„Z'y)(z˜Handwritten parser of dependency specifiers.
 
The docstring for each __parse_* function contains EBNF-inspired grammar representing
the implementation.
éN)ÚAnyÚListÚ
NamedTupleÚOptionalÚTupleÚUnioné)Ú DEFAULT_RULESÚ    Tokenizercó@—eZdZdeddfd„Zdefd„Zdefd„Zdefd„Zy)ÚNodeÚvalueÚreturnNcó—||_y©N©r)Úselfrs  úSH:\Change_password\venv_build\Lib\site-packages\wheel/vendored/packaging/_parser.pyÚ__init__z Node.__init__s    €Øˆ
ócó—|jSrr©rs rÚ__str__z Node.__str__s €Øz‰zÐrcó<—d|jj›d|›dS)Nú<z('z')>)Ú    __class__Ú__name__rs rÚ__repr__z Node.__repr__s"€Ø4—>‘>×*Ñ*Ð+¨2¨d¨V°3Ð7Ð7rcó—t‚r)ÚNotImplementedErrorrs rÚ    serializezNode.serializes€Ü!Ð!r)rÚ
__module__Ú __qualname__Ústrrrrr!©rrr r s9„ð˜cð dóð˜óð8˜#ó8ð"˜3ô"rr có—eZdZdefd„Zy)ÚVariablercó—t|«Sr©r$rs rr!zVariable.serializeó €Ü4‹yÐrN©rr"r#r$r!r%rrr'r'ó„ð˜3ôrr'có—eZdZdefd„Zy)ÚValuercó—d|›dS)Nú"r%rs rr!zValue.serialize!s€Ø4&˜ˆ{ÐrNr+r%rrr.r. s„ð˜3ôrr.có—eZdZdefd„Zy)ÚOprcó—t|«Srr)rs rr!z Op.serialize&r*rNr+r%rrr2r2%r,rr2cóL—eZdZUeed<eed<eeed<eed<eeed<y)ÚParsedRequirementÚnameÚurlÚextrasÚ    specifierÚmarkerN)rr"r#r$Ú__annotations__rrÚ
MarkerListr%rrr5r54s&…Ø
ƒIØ     ƒHØ ‰IÓØƒNØ ZÑ  Ô rr5Úsourcercó6—tt|t¬««S©N)Úrules)Ú_parse_requirementr r
©r=s rÚparse_requirementrC?ó€Ü œi¨´mÔDÓ EÐErÚ    tokenizercó—|jd«|jdd¬«}|j}|jd«t|«}|jd«t    |«\}}}|jdd¬«t |||||«S)zI
    requirement = WS? IDENTIFIER WS? extras WS? requirement_details
    ÚWSÚ
IDENTIFIERz1package name at the start of dependency specifier©ÚexpectedÚENDzend of dependency specifier)ÚconsumeÚexpectÚtextÚ _parse_extrasÚ_parse_requirement_detailsr5)rEÚ
name_tokenr6r8r7r9r:s       rrArACs–€ð×ѐdÔà×!Ñ!ØÐRð"ó€Jð ?‰?€DØ ×ѐdÔä ˜9Ó %€FØ ×ѐdÔä7¸    ÓBÑ€CˆFØ ×ѐUÐ%BÐÔCä ˜T 3¨°    ¸6Ó BÐBrcó—d}d}d}|jd«rœ|j«|jd«|j}|j    dd¬«j
}|jdd    ¬
«r|||fS|j    dd ¬«|jdd    ¬
«r|||fSt ||d ¬ «}nR|j}t|«}|jd«|jdd    ¬
«r|||fSt |||rdnd¬ «}|||fS)z~
    requirement_details = AT URL (WS requirement_marker?)?
                        | specifier WS? (requirement_marker)?
    ÚNÚATrGÚURLz URL after @rIrKT©Úpeekzwhitespace after URLzURL and whitespace)Ú
span_startÚafterúversion specifierz#name and no valid version specifier)ÚcheckÚreadrLÚpositionrMrNÚ_parse_requirement_markerÚ_parse_specifier)rEr9r7r:Ú    url_startÚspecifier_starts      rrPrPXs-€ð€IØ
€CØ €Fà‡tÔØ‰ÔØ×ј$Ôà×&Ñ&ˆ    Ø×јu¨}ÐÓ=×BÑBˆØ ?‰?˜5 tˆ?Ô ,ؘ FÐ+Ð +à×јÐ(>ÐÔ?ð ?‰?˜5 tˆ?Ô ,ؘ FÐ+Ð +ä*Ø  )Ð3Gô
‰ð$×,Ñ,ˆÜ$ YÓ/ˆ    Ø×ј$Ôà ?‰?˜5 tˆ?Ô ,ؘ FÐ+Ð +ä*Ø Ø&ññ$à:ô 
ˆð ˜FÐ #Ð#rrXrYcó®—|jd«s|jd|›d|¬«|j«t|«}|j    d«|S)z3
    requirement_marker = SEMICOLON marker WS?
    Ú    SEMICOLONz!Expected end or semicolon (after ú))rXrG)r[Úraise_syntax_errorr\Ú _parse_markerrL)rErXrYr:s    rr^r^‹s[€ð ?‰?˜;Ô 'Ø×$Ñ$Ø/°¨w°aÐ 8Ø!ð    %ô    
ð‡NNÔä ˜9Ó %€FØ ×ѐdÔà €Mrcóޗ|jdd¬«sgS|jddd¬«5|jd«t|«}|jd«ddd«|S#1swYSxYw)    zG
    extras = (LEFT_BRACKET wsp* extras_list? wsp* RIGHT_BRACKET)?
    Ú LEFT_BRACKETTrVÚ RIGHT_BRACKETr8©ÚaroundrGN)r[Úenclosing_tokensrLÚ_parse_extras_list)rEr8s  rrOrOŸs{€ð ?‰?˜>°ˆ?Ô 5؈    à    ×    #Ñ    #ØØØð
$ó
ñ ð
    ×ј$ÔÜ# IÓ.ˆØ×ј$Ô÷ ð €M÷ ð €Mús ª.A"Á"A,có´—g}|jd«s|S|j|j«j«    |j    d«|jdd¬«r|j d«n|jd«s    |S|j«|j    d«|j dd¬«}|j|j«Œš)    z>
    extras_list = identifier (wsp* ',' wsp* identifier)*
    rHTrGrVz"Expected comma between extra namesÚCOMMAzextra name after commarI)r[Úappendr\rNrLrerM)rEr8Ú extra_tokens   rrmrm²sÀ€ð€Fà ?‰?˜<Ô (؈ à
‡MM)—.‘.Ó"×'Ñ'Ô(à
Ø×ј$ÔØ ?‰?˜<¨dˆ?Ô 3Ø × (Ñ (Ð)MÕ NØ—‘ Ô)Ø ð €Mð     ‰ÔØ×ј$Ôà×&Ñ& |Ð>VÐ&ÓWˆ ؏ ‰ k×&Ñ&Ô'ð rcó´—|jddd¬«5|jd«t|«}|jd«ddd«|S#1swYSxYw)zr
    specifier = LEFT_PARENTHESIS WS? version_many WS? RIGHT_PARENTHESIS
              | WS? version_many WS?
    ÚLEFT_PARENTHESISÚRIGHT_PARENTHESISrZrjrGN)rlrLÚ_parse_version_many)rEÚparsed_specifierss  rr_r_Ísi€ð
 
×    #Ñ    #ØØØ"ð
$ó
ñ ð
    ×ј$ÔÜ/°    Ó:ÐØ×ј$Ô÷ ð Ð÷ ð Ðús •.A Á Acó—d}|jd«ró|j}||j«jz }|jdd¬«r!|j    d||jdz¬«|jd    d¬«r|j    d
||j¬«|j d «|jd «s    |S||j«jz }|j d «|jd«rŒó|S) z@
    version_many = (SPECIFIER (WS? COMMA WS? SPECIFIER)*)?
    rSÚ    SPECIFIERÚVERSION_PREFIX_TRAILTrVz6.* suffix can only be used with `==` or `!=` operatorsr    )rXÚspan_endÚVERSION_LOCAL_LABEL_TRAILz@Local version label can only be used with `==` or `!=` operatorsrGro)r[r]r\rNrerL)rErvrXs   rruruÞs €ðÐØ
/‰/˜+Ô
&Ø×'Ñ'ˆ
ؘYŸ^™^Ó-×2Ñ2Ñ2ÐØ ?‰?Ð1¸ˆ?Ô =Ø × (Ñ (ØHØ%Ø"×+Ñ+¨aÑ/ð )ô ð
?‰?Ð6¸Tˆ?Ô BØ × (Ñ (ØRØ%Ø"×+Ñ+ð )ô ð
    ×ј$ÔØ‰˜wÔ'Ø ð Ðð    ˜YŸ^™^Ó-×2Ñ2Ñ2ÐØ×ј$Ôð' /‰/˜+Õ
&ð* Ðrcó6—tt|t¬««Sr?)Ú_parse_full_markerr r
rBs rÚ parse_markerr~þrDrcóB—t|«}|jdd¬«|S)NrKzend of marker expressionrI)rfrM)rEÚretvals  rr}r}s%€Ü ˜9Ó %€FØ ×ѐUÐ%?ÐÔ@Ø €Mrcóԗt|«g}|jd«rJ|j«}t|«}|j|j|f«|jd«rŒJ|S)z4
    marker = marker_atom (BOOLOP marker_atom)+
    ÚBOOLOP)Ú_parse_marker_atomr[r\ÚextendrN)rEÚ
expressionÚtokenÚ
expr_rights    rrfrfs`€ô% YÓ/Ð0€JØ
/‰/˜(Ô
#Ø—‘Ó ˆÜ'¨    Ó2ˆ
Ø×ј5Ÿ:™: zÐ2Ô3ð /‰/˜(Õ
#ð Ðrcó4—|jd«|jdd¬«rK|jddd¬«5|jd«t|«}|jd«ddd«n t    |«}|jd«S#1swYŒxYw)    zw
    marker_atom = WS? LEFT_PARENTHESIS WS? marker WS? RIGHT_PARENTHESIS WS?
                | WS? marker_item WS?
    rGrsTrVrtzmarker expressionrjN)rLr[rlrfÚ_parse_marker_item)rEr:s  rrƒrƒs €ð ×ѐdÔØ‡Ð)°€Ô5Ø × 'Ñ 'Ø Ø Ø&ð(ó
ñ    $ð
× Ñ ˜dÔ #Ü!.¨yÓ!9ˆFØ × Ñ ˜dÔ #÷    $ð    $ô$ IÓ.ˆØ ×ѐdÔØ €M÷    $ð    $ús ¹.BÂBcó֗|jd«t|«}|jd«t|«}|jd«t|«}|jd«|||fS)zG
    marker_item = WS? marker_var WS? marker_op WS? marker_var WS?
    rG)rLÚ_parse_marker_varÚ_parse_marker_op)rEÚmarker_var_leftÚ    marker_opÚmarker_var_rights    rr‰r‰*si€ð×ѐdÔÜ'¨    Ó2€OØ ×ѐdÔÜ  Ó+€IØ ×ѐdÔÜ(¨Ó3ÐØ ×ѐdÔØ ˜YÐ(8Ð 9Ð9rcó—|jd«r3t|j«jj    dd««S|jd«r#t |j«j«S|j d¬«y)z/
    marker_var = VARIABLE | QUOTED_STRING
    ÚVARIABLEú.Ú_Ú QUOTED_STRINGz+Expected a marker variable or quoted string)ÚmessageN)r[Úprocess_env_varr\rNÚreplaceÚprocess_python_strre©rEs rr‹r‹8so€ð‡zÔ"ܘyŸ~™~Ó/×4Ñ4×<Ñ<¸SÀ#ÓFÓGÐGØ    ‰˜Ô    )Ü! )§.¡.Ó"2×"7Ñ"7Ó8Ð8à×$Ñ$ØAð    %õ    
rÚenv_varcó6—|dvr td«St|«S)N)Úplatform_python_implementationÚpython_implementationrœ)r')ršs rr–r–Fs"€ØÐMÑMÜÐ8Ó9Ð9ä˜Ó Ð rÚ
python_strcóT—tj|«}tt|««Sr)ÚastÚ literal_evalr.r$)ržrs  rr˜r˜Ms!€Ü × Ñ ˜ZÓ (€EÜ ”U“Ó Ðrcóˆ—|jd«r|j«td«S|jd«rA|j«|jdd¬«|jdd¬«td«S|jd    «r#t|j«j«S|j d
«S) z&
    marker_op = IN | NOT IN | OP
    ÚINÚinÚNOTrGzwhitespace after 'not'rIz'in' after 'not'znot inÚOPzJExpected marker operator, one of <=, <, !=, ==, >=, >, ~=, ===, in, not in)r[r\r2rMrNrer™s rrŒrŒRs§€ð‡tÔØ‰Ôܐ$‹xˆØ    ‰˜Ô    Ø‰ÔØ×јÐ(@ÐÔAØ×јÐ(:ÐÔ;ܐ(‹|ÐØ    ‰˜Ô    Ü)—.‘.Ó"×'Ñ'Ó(Ð(à×+Ñ+ð 8ó
ð    
r)(Ú__doc__r ÚtypingrrrrrrÚ
_tokenizerr
r r r'r.r2Ú    MarkerVarÚ
MarkerItemÚ
MarkerAtomr<r5r$rCrArPÚintr^rOrmr_rur~r}rfrƒr‰r‹r–r˜rŒr%rrú<module>r®sðñó  ß@×@ç0÷ "ñ "ôˆtôô
ˆDôô
ˆôð
(˜E/Ñ "€    Ø 9˜b )Ð+Ñ ,€
ð
€
Ø #‰Y€
ô!˜
ô!ðF˜cðFÐ&7óFðC )ðCÐ0AóCð*0$Øð0$à
ˆ3X˜jÑ)Ð )Ñ*ó0$ðfØðØ),ðØ58ðàóð(˜Yð¨4°©9óð& )ð°°S±    óð6     ð¨cóð" 9ð°óð@F˜ðF óFð )ð°
óð     ˜Yð    ¨:ó    ð )ð°
óð, : )ð :°
ó :ð 
 ð 
¨yó 
ð!˜Sð! Xó!ð 3ð¨5óð
 
     ð
¨bô
r