hyb
2025-12-23 7e5db3a16b423ec4a43459805e277979bcac7db5
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
Ë
ñúh~ãóp—dZddlZddlZ    ddlZdZGd„de«Zd
d„Zd„Z    d„Z
d    „Z y#e$rdZYŒ$wxYw) zJThe match_hostname() function from Python 3.3.3, essential when using SSL.éNz3.5.0.1có —eZdZy)ÚCertificateErrorN)Ú__name__Ú
__module__Ú __qualname__©óú^H:\Change_password\venv_build\Lib\site-packages\pip/_vendor/urllib3/util/ssl_match_hostname.pyrrs„Ør    rcóð—g}|sy|jd«}|d}|dd}|jd«}||kDrtdt|«z«‚|s!|j    «|j    «k(S|dk(r|j d«n{|j d    «s|j d    «r%|j tj|««n4|j tj|«jd
d ««|D]&}|j tj|««Œ(tjd d j|«zdztj«}    |    j|«S)zhMatching according to RFC 6125, section 6.4.3
 
    http://tools.ietf.org/html/rfc6125#section-6.4.3
    Fú.réNÚ*z,too many wildcards in certificate DNS name: z[^.]+zxn--z\*z[^.]*z\Az\.z\Z)ÚsplitÚcountrÚreprÚlowerÚappendÚ
startswithÚreÚescapeÚreplaceÚcompileÚjoinÚ
IGNORECASEÚmatch)
ÚdnÚhostnameÚ max_wildcardsÚpatsÚpartsÚleftmostÚ    remainderÚ    wildcardsÚfragÚpats
          r
Ú_dnsname_matchr&sJ€ð
€DÙ Øð H‰HT‹N€EؐQ‰x€Hؐab    €Ià—‘˜sÓ#€Iؐ=Ò ô
Ø :¼TÀ"»XÑ Eó
ð    
ñ
؏x‰x‹z˜XŸ^™^Ó-Ñ-Ð-ð
3‚ð      ‰ GÕØ    ×    Ñ    ˜VÔ    $¨×(;Ñ(;¸FÔ(Cð
      ‰ ”B—I‘I˜hÓ'Õ(ð      ‰ ”B—I‘I˜hÓ'×/Ñ/°°wÓ?Ô@ðò%ˆØ  ‰ ”B—I‘I˜d“OÕ$ð%ô *‰*U˜UŸZ™Z¨Ó-Ñ-°Ñ5´r·}±}Ó
E€CØ 9‰9XÓ Ðr    cóh—t|t«r!tjdkrt    |dd¬«}|S)N)éÚasciiÚstrict)ÚencodingÚerrors)Ú
isinstanceÚstrÚsysÚ version_infoÚunicode)Úobjs r
Ú _to_unicoder3Os,€Ü#”sԤנ0Ñ 0°4Ò 7äc G°HÔ=ˆØ €Jr    cód—tjt|«j««}||k(S)zˆExact matching of IP addresses.
 
    RFC 6125 explicitly doesn't define an algorithm for this
    (section 1.7.2 - "Out of Scope").
    )Ú    ipaddressÚ
ip_addressr3Úrstrip)ÚipnameÚhost_ipÚips   r
Ú_ipaddress_matchr;Vs,€ô
×    Ñ    œk¨&Ó1×8Ñ8Ó:Ó    ;€BØ ‰=Ðr    c óð—|s td«‚    tjt|««}g}|j dd«}|D]S\}}|dk(r"|€t||«ry|j|«Œ-|dk(sŒ3|t||«ry|j|«ŒU|sG|j dd«D]2}|D]+\}}|dk(sŒ t||«ry|j|«Œ-Œ4t|«d    kDr.td
|›d d jtt|««›«‚t|«d    k(rtd
|›d |d›«‚td«‚#ttf$rd}YŒ2t
$rt€d}n‚YŒGwxYw)a)Verify that *cert* (in decoded format as returned by
    SSLSocket.getpeercert()) matches the *hostname*.  RFC 2818 and RFC 6125
    rules are followed, but IP addresses are not accepted for *hostname*.
 
    CertificateError is raised on failure. On success, the function
    returns nothing.
    ztempty or no certificate, match_hostname needs a SSL socket or SSL context with either CERT_OPTIONAL or CERT_REQUIREDNÚsubjectAltNamerÚDNSz
IP AddressÚsubjectÚ
commonNamer z    hostname z doesn't match either of z, z doesn't match rz=no appropriate commonName or subjectAltName fields were found)Ú
ValueErrorr5r6r3Ú UnicodeErrorÚAttributeErrorÚgetr&rr;ÚlenrrÚmapr)Úcertrr9ÚdnsnamesÚsanÚkeyÚvalueÚsubs        r
Úmatch_hostnamerMbs¢€ñ Üð -ó
ð    
ð
ä×&Ñ&¤{°8Ó'<Ó=ˆð€HØ
(‰(Ð# RÓ
(€CØò#‰
ˆˆUØ %Š<؈¤>°%¸Ô#BÙØ O‰O˜EÕ "Ø LÓ  ØÐ"Ô'7¸¸wÔ'GÙØ O‰O˜EÕ "ð#ñ ð—8‘8˜I rÓ*ò    +ˆCØ!ò +‘
Uð˜,Ó&Ü% e¨XÔ6ÚØ—O‘O EÕ*ñ  +ð    +ô ˆ8ƒ}qÒÝâ,4°d·i±iÄÄDÈ(Ó@SÔ6Tð Vó
ð    
ô
ˆX‹˜!Ò    ÝÂÈ8ÐTUÊ;ÐWÓXÐXäØ Kó
ð    
øôU œ*Ð %òð
‹Ü òä Р؉Gà ò ðúsE Å E5ÅE5Å4E5)r ) Ú__doc__rr/r5Ú ImportErrorÚ __version__rArr&r3r;rMrr    r
ú<module>rQsWðÙPó
 
Û
ð Ûð€ ô    zô    ó3òlò    ó=
øðgòØ‚Iðús Œ+«5´5