HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/setuptools/__pycache__/glob.cpython-310.pyc
o

��h��@s<dZddlmZddlZddlZddlZddlmZmZddl	m
Z
mZmZe
r2ddl
mZmZmZgd�Zd;d<dd�Zd;d=dd�Zd=dd�Zed>dd��Zed?d d��Zd@d$d�Zd%d&�ZedAd(d)��ZedBd+d)��ZdCd-d)�ZedDd.d/��ZedEd0d/��ZdFd1d/�Ze�d2�Ze�d3�ZdGd5d6�ZdHd7d8�Zd9d:�ZdS)Iz�
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�escapeF�pathnamer�	recursive�bool�return�list[AnyStr]cCstt||d��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.
    )r)�listr)rr�r�:/usr/local/lib/python3.10/dist-packages/setuptools/glob.pyrsr�Iterator[AnyStr]cCs*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�srrrr%s

rccs��tj�|�\}}|rt|�rtnt}t|�s/|r$tj�|�r"|VdStj�|�r-|VdS|s;|||�EdHdS||krIt|�rIt	||�}n|g}t|�sRt
}|D]}|||�D]
}tj�||�Vq[qTdS�N)�os�path�splitr�glob2�glob1�	has_magic�lexists�isdirr�glob0�join)rr�dirname�basename�glob_in_dir�dirs�namerrrr7s0����rr'r
�pattern�str�	list[str]cC�dSrr�r'r,rrrr![�r!r�bytes�list[bytes]cCr/rrr0rrrr!]r1r	�str | bytes�list[str] | list[bytes]cCsT|st|t�rtj�d�}ntj}zt�|�}Wnty#gYSwt�||�S�N�ASCII)	�
isinstancer2r�curdir�encode�listdir�OSError�fnmatch�filter)r'r,�namesrrrr!_s
�cCs:|s
tj�|�r|gSgStj�tj�||��r|gSgSr)rrr$r#r&)r'r(rrrr%ms�r%�
Iterator[str]cCr/rrr0rrrr }r1r �Iterator[bytes]cCr/rrr0rrrr r1�Iterator[str | bytes]ccs.�t|�sJ�|dd�Vt|�EdHdS)Nr)r�	_rlistdirr0rrrr �s�cCr/rr�r'rrrrC�r1rCcCr/rrrDrrrrC�r1ccs��|st|t�rtj�d�}ntj}zt�|�}Wn
ty#YdSw|D]}|V|r4tj�||�n|}t	|�D]
}tj�||�Vq:q&dSr6)
r8r2rr9r:r;r<rr&rC)r'r?�xr�yrrrrC�s"�
���z([*?[])s([*?[])rcCs&t|t�rt�|�duSt�|�duSr)r8r2�magic_check_bytes�search�magic_check)rrrrr"�s
r"cCst|t�r	|dkS|dkS)Ns**z**)r8r2)r,rrrr�s
rcCsBtj�|�\}}t|t�rt�d|�}||St�d|�}||S)zEscape all special characters.s[\1]z[\1])rr�
splitdriver8r2rG�subrI)r�driverrrr
�s
�r
)F)rrrrrr)rrrrrr)r'r
r,r-rr.)r'rr,r2rr3)r'r	r,r4rr5)r'r
r,r-rr@)r'rr,r2rrA)r'r	r,r4rrB)r'r
rr@)r'rrrA)r'r	rrB)rr4rr)r,r4rr)�__doc__�
__future__rr=r�re�collections.abcrr�typingrrr�	_typeshedrr	r
�__all__rrrr!r%r rC�compilerIrGr"rr
rrrr�<module>sD
$