Jz`f SSKrSSKr\R\"\R5\"\R5--r"SS5rSrg)Nc\\rSrSr%Sr\\S'\4S\4SjjrSr Sr Sr Sr S r S rS rg ) Translatorz >>> Translator('xyz') Traceback (most recent call last): ... AssertionError: Invalid separators >>> Translator('') Traceback (most recent call last): ... AssertionError: Invalid separators sepscdU(a[U5[[5::dS5eXlg)NzInvalid separators)set _default_sepsr)selfrs +/usr/lib64/python3.13/zipfile/_path/glob.py__init__Translator.__init__s&D S%77M9MM7 cBURURU55$)z8 Given a glob pattern, produce a regex that matches it. )extendtranslate_corer patterns r translateTranslator.translates{{4..w788rcSUS3$)z Extend regex for pattern-wide concerns. Apply '(?s:)' to create a non-matching group that matches newlines (valid on Unix). Append '\Z' to imply fullmatch even when match is used. z(?s:z)\Zrs r rTranslator.extend!swis##rc URU5 SR[UR[ UR U5555$)z Given a glob pattern, produce a regex that matches it. >>> t = Translator() >>> t.translate_core('*.txt').replace('\\\\', '') '[^/]*\\.txt' >>> t.translate_core('a?txt') 'a[^/]txt' >>> t.translate_core('**/*').replace('\\\\', '') '.*/[^/][^/]*' )restrict_rglobjoinmapreplaceseparatestar_not_emptyrs r rTranslator.translate_core,s< G$wws4<<$2E2Eg2N)OPQQrc URS5=(dw [R"URS55RSS5RSS[R"UR5S35RSS 5$) z= Perform the replacements for a match from :func:`separate`. rrz\*\*z.*z\*[^z]*z\?z[^/])groupreescaperr)r matchs r rTranslator.replace;si{{5! IIekk!n % WXu % WUr"))DII"6!7r: ; WUG $  rcS[R"UR5S3n[R"X!5n[ SU55(a [ S5eg)z Raise ValueError if ** appears in anything but a full path segment. >>> Translator().translate('**foo') Traceback (most recent call last): ... ValueError: ** must appear alone in a path segment []+c3B# UHnSU;=(a US:gv M g7f)z**Nr).0segments r ,Translator.restrict_rglob..QsKwtw27d?2Ksz&** must appear alone in a path segmentN)r%r&rsplitany ValueError)r r seps_patternsegmentss r rTranslator.restrict_rglobFsQBIIdii014 88L2 K(K K KEF F Lrc~SnS[R"UR5S3n[R"X2U5$)z0 Ensure that * will not match an empty segment. c8URS5nUS:XaS$U$)Nr*z?*)r$)r'r.s r handle_segment1Translator.star_not_empty..handle_segmentYs kk!nG"c>4 6w 6rr#r+)r%r&rsub)r rr:not_seps_patterns r r Translator.star_not_emptyTs8  7!499!5 6b9vv&@@r)rrN)__name__ __module__ __qualname____firstlineno____doc__str__annotations__r r rrrrrr __static_attributes__rrr rrs>  I#0S9 $ R   G Arrc0[R"SU5$)z Separate out character sets to avoid translating their contents. >>> [m.group(0) for m in separate('*.txt')] ['*.txt'] >>> [m.group(0) for m in separate('a[?]txt')] ['a', '[?]', 'txt'] z+([^\[]+)|(?P[\[].*?[\]])|([\[][^\]]*$))r%finditer)rs r rras ;;Ew OOr) osr%seprDaltsepboolr rrrrr rMsE RYY$ryy/99 VAVAr Pr