
    mi	                        U d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ eed<   	 edZnedZndZdedee	         defdZdedee	         defdZdS )z
This module provides aggregated private data and utilities functions about the
available backends.

WARNING: The *pathspec._backends* package is not part of the public API. Its
contents and structure are likely to change.
    )Sequence)cast)BackendNamesHint_Backend)PatternRegexPattern   )hyperscan_error)HyperscanGiBackend)HyperscanPsBackend)	re2_error)Re2GiBackend)Re2PsBackend)SimpleGiBackend)SimplePsBackend_BEST_BACKENDNre2	hyperscansimplenamepatternsreturnc                 t   | dk    rt           } | dk    r-t          t          t          t                   |                    S | dk    r-t          t          t          t                   |                    S | dk    r-t          t          t          t                   |                    S t          d| d          )a$  
	Create the specified backend with the supplied patterns for
	:class:`~pathspec.gitignore.GitIgnoreSpec`.

	*name* (:class:`str`) is the name of the backend.

	*patterns* (:class:`.Iterable` of :class:`.Pattern`) contains the compiled
	patterns.

	Returns the backend (:class:`._Backend`).
	bestr   r   r   Backend name= is invalid.)r   r   r   r   r   r   r   
ValueErrorr   r   s     n/var/www/html/bestrading.cuttalo.com/scripts/kaggle-env/lib/python3.11/site-packages/pathspec/_backends/agg.pymake_gitignore_backendr    3   s     	FNN	$K	D,!7BB	C	CC
emm	d8L18<<	=	==
h	h|4h??	@	@@3d333444    c                 8   | dk    rt           } | dk    r-t          t          t          t                   |                    S | dk    r-t          t          t          t                   |                    S | dk    rt          |          S t          d| d          )a  
	Create the specified backend with the supplied patterns for
	:class:`~pathspec.pathspec.PathSpec`.

	*name* (:class:`str`) is the name of the backend.

	*patterns* (:class:`Iterable` of :class:`Pattern`) contains the compiled
	patterns.

	Returns the backend (:class:`._Backend`).
	r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   s     r   make_pathspec_backendr#   O   s     	FNN	$K	D,!7BB	C	CC
emm	d8L18<<	=	==
h		"	""3d333444r!   )__doc__collections.abcr   typingr   pathspec.backendr   r   pathspec.patternr   r   hyperscan.baser
   hyperscan.gitignorer   hyperscan.pathspecr   re2.baser   re2.gitignorer   re2.pathspecr   simple.gitignorer   simple.pathspecr   __annotations__r   r    r#    r!   r   <module>r3      s4                                                                          55G5 5 5 5 5855G5 5 5 5 5 5 5r!   