hyb
2026-01-30 7657e1b2fa251a2ea372710ad75cb395a3c0e374
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
Ë
@ñúh®ãót—dZddlmZddlZddlZddlZddlmZmZddl    m
Z
m Z m Z e
r
ddl mZmZmZgd¢Zddd„Zddd    „Zdd
„Ze dd „«Ze dd „«Zdd „Zd„Ze d d„«Ze d!d„«Zd"d„Ze d#d„«Ze d$d„«Zd%d„Zej2d«Zej2d«Zd&d„Zd'd„Zd„Zy)(z¡
Filename globbing utility. Mostly a copy of `glob` from Python 3.5.
 
Changes include:
 * `yield from` and PEP3102 `*` removed.
 * Hidden files are not ignored.
é)Ú annotationsN)ÚIterableÚIterator)Ú TYPE_CHECKINGÚAnyStrÚoverload)Ú    BytesPathÚStrOrBytesPathÚStrPath)ÚglobÚiglobÚescapecó.—tt||¬««S)ayReturn a list of paths matching a pathname pattern.
 
    The pattern may contain simple shell-style wildcards a la
    fnmatch. However, unlike fnmatch, filenames starting with a
    dot are special cases that are not matched by '*' and '?'
    patterns.
 
    If recursive is true, the pattern '**' will match any files and
    zero or more directories and subdirectories.
    )Ú    recursive)Úlistr )Úpathnamers  úBH:\Change_password\venv_build\Lib\site-packages\setuptools/glob.pyr r s€ô ”h¨)Ô4Ó 5Ð5ócóV—t||«}|rt|«rt|«}|rJ‚|S)aŒReturn an iterator which yields the paths matching a pathname pattern.
 
    The pattern may contain simple shell-style wildcards a la
    fnmatch. However, unlike fnmatch, filenames starting with a
    dot are special cases that are not matched by '*' and '?'
    patterns.
 
    If recursive is true, the pattern '**' will match any files and
    zero or more directories and subdirectories.
    )Ú_iglobÚ _isrecursiveÚnext)rrÚitÚss    rr r %s/€ô
˜)Ó    $€BÙ”\ (Ô+Ü ‹HˆÙˆ ˆuØ €Irc#ó(K—tjj|«\}}|rt|«rtnt
}t |«sJ|r$tjj|«r|–—ytjj|«r|–—y|s|||«Ed{–—†y||k7rt |«r t||«}n|g}t |«st}|D]2}|||«D]$}tjj||«–—Œ&Œ4y7Œn­w©N) ÚosÚpathÚsplitrÚglob2Úglob1Ú    has_magicÚlexistsÚisdirrÚglob0Újoin)rrÚdirnameÚbasenameÚ glob_in_dirÚdirsÚnames       rrr7sòèø€ÜŸ™Ÿ ™  hÓ/Ñ€GˆXÙ$¬°hÔ)?•%ÄU€Kä XÔ Ù Üw‰w‰˜xÔ(Ø’ð
    ôw‰w}‰}˜WÔ%Ø’Øá Ù˜w¨Ó1×1Ð1Øð(Òœy¨Ô1Ü!'¨°Ó!;‰àˆyˆÜ XÔ Üˆ Øò.ˆÙ ¨Ó2ò    .ˆDÜ—'‘'—,‘,˜w¨Ó-Ó -ñ    .ñ.ð    2ús‚BDÂ!DÂ"A/Dcó—yr©©r'Úpatterns  rr!r![s€Ø8;rcó—yrr-r.s  rr!r!]s€Ø>Arcó—|s@t|t«r tjj    d«}ntj}    tj
|«}tj||«S#t $rgcYSwxYw©NÚASCII)    Ú
isinstanceÚbytesrÚcurdirÚencodeÚlistdirÚOSErrorÚfnmatchÚfilter)r'r/Únamess   rr!r!_sh€Ù Ü gœuÔ %Ü—i‘i×&Ñ& wÓ/‰Gä—i‘iˆGðÜ—
‘
˜7Ó#ˆô >‰>˜% Ó )Ð)øô òØŠ    ðúsÁA/Á/ A=Á<A=cóҗ|s$tjj|«r|gSgStjjtjj    ||««r|gSgSr)rrr$r#r&)r'r(s  rr%r%msT€Ù ô 7‰7=‰=˜Ô !ؐ:Ð ð €Iô 7‰7?‰?œ2Ÿ7™7Ÿ<™<¨°Ó:Ô ;ؐ:Ð Ø €Ircó—yrr-r.s  rr r }s€Ø<?rcó—yrr-r.s  rr r s€ØBErc#ó^K—t|«sJ‚|dd–—t|«Ed{–—†y7Œ­w)Nr)rÚ    _rlistdirr.s  rr r s.èø€Ü ˜Ô  Ð Ð  Ø
"1ˆ+ÒܘÓ!×!Ò!ús ‚#-¥+¦-có—yrr-©r's rrArAˆs€Ø25rcó—yrr-rCs rrArAŠs€Ø69rc#óœK—|s@t|t«r tjj    d«}ntj}    tj
|«}|D]\}|–—|r tjj||«n|}t|«D]$}tjj||«–—Œ&Œ^y#t $rYywxYw­wr2)
r4r5rr6r7r8r9rr&rA)r'r<ÚxrÚys     rrArAŒs¬èø€Ù Ü gœuÔ %Ü—i‘i×&Ñ& wÓ/‰Gä—i‘iˆGðÜ—
‘
˜7Ó#ˆðò%ˆØŠá+2Œrw‰w|‰|˜G QÔ'¸ˆÜ˜4“ò    %ˆAÜ—'‘'—,‘,˜q !Ó$Ó $ñ    %ñ    %øô òÙðüs+‚AC ÁB=ÁA"C Â=    C    ÃC ÃC    à   C z([*?[])s([*?[])có~—t|t«rtj|«duStj|«duSr)r4r5Úmagic_check_bytesÚsearchÚ magic_check)rs rr"r"¢s8€Ü!”UÔÜ ×'Ñ'¨Ó*°$Ð6Ð6ä×!Ñ! !Ó$¨DÐ0Ð0rcó6—t|t«r|dk(S|dk(S)Ns**z**)r4r5)r/s rrr©s!€Ü'œ5Ô!ؘ%ÑÐà˜$‰Ðrcóҗtjj|«\}}t|t«rt
j d|«}||zStj d|«}||zS)zEscape all special characters.s[\1]z[\1])rrÚ
splitdriver4r5rIÚsubrK)rÚdrives  rrr°sb€ô—g‘g×(Ñ(¨Ó2O€Eˆ8ܐ(œEÔ"Ü$×(Ñ(¨°8Ó<ˆð 8Ñ Ðô—?‘? 7¨HÓ5ˆØ 8Ñ Ðr)F)rrrÚboolÚreturnz list[AnyStr])rrrrQrRzIterator[AnyStr])r'r r/ÚstrrRz    list[str])r'r    r/r5rRz list[bytes])r'r
r/ú str | bytesrRzlist[str] | list[bytes])r'r r/rSrRú Iterator[str])r'r    r/r5rRúIterator[bytes])r'r
r/rTrRúIterator[str | bytes])r'r rRrU)r'r    rRrV)r'r
rRrW)rrTrRrQ)r/rTrRrQ)Ú__doc__Ú
__future__rr:rÚreÚcollections.abcrrÚtypingrrrÚ    _typeshedr    r
r Ú__all__r r rr!r%r rAÚcompilerKrIr"rrr-rrú<module>r`sßðñõ#ãÛ    Û    ß.ß2Ñ2áß<Ñ<â
%€ô 6ôó$.ðH
Ú;ó
Ø;Ø    ÚAó
ØAó *ò    ð 
Ú?ó
Ø?Ø    ÚEó
ØEó"ð
Ú5ó
Ø5Ø    Ú9ó
Ø9ó%ð$ˆbj‰j˜Ó#€ ؐB—J‘J˜zÓ*Ðó1óó    r