Ë
    hKêjÉ	  ã                   óú   — 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y)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                 ó  — | 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     ú[/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/pathspec/_backends/agg.pyÚmake_gitignore_backendr    3   s€   € ð 	ˆF‚NÜ	€$àˆKÒÜ	œD¤¬,Ñ!7¸ÓBÓ	CÐCØ
ˆe‚mÜ	”dœ8¤LÑ1°8Ó<Ó	=Ð=Ø
ˆhÒÜ	œœh¤|Ñ4°hÓ?Ó	@Ð@ä�^˜d˜Y lÐ3Ó4Ð4ó    c                 óê   — | 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   st   € ð 	ˆF‚NÜ	€$àˆKÒÜ	œD¤¬,Ñ!7¸ÓBÓ	CÐCØ
ˆe‚mÜ	”dœ8¤LÑ1°8Ó<Ó	=Ð=Ø
ˆhÒÜ	˜Ó	"Ð"ä�^˜d˜Y lÐ3Ó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      s¸   ðòõõ÷÷õõõõõõõõð  Ó ðð ÐØ�ØÐØ�à€ð5Øð5à�GÑð5ð ó5ð85Øð5à�GÑð5ð ô5r!   