File: //lib/python3.10/__pycache__/glob.cpython-310.pyc
o
    E�h�  �                   @   s  d Z ddlZddlZddlZddlZddlZddlZddlZg d�Zdddd�dd�Z	dddd�dd	�Z
d
d� Zdd
� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� Ze�d"�Ze�d#�Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zejeed,d�B Z dS )-zFilename globbing utility.�    N)�glob�iglob�escapeF��root_dir�dir_fd�	recursivec                C   s   t t| |||d��S )ay  Return 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   )�pathnamer   r   r   � r   �/usr/lib/python3.10/glob.pyr   
   s   r   c                C   s�   t �d| |� t �d| |||� |durt�|�}n| dd� }t| |||d�}| r4|rRt| dd� �rRzt|�}|rEt�|f|�}W |S W |S  t	yQ   Y |S w |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.
    z	glob.globzglob.glob/2Nr   F�   )
�sys�audit�os�fspath�_iglob�_isrecursive�next�	itertools�chain�
StopIteration)r
   r   r   r   �it�sr   r   r   r      s&