� c��j���*�ddlZd�Zd�Zd�Zd�Zd�Zy)�Nc�*�tt|��S)N)� match_dirs�translate_core��patterns �+/usr/lib64/python3.12/zipfile/_path/glob.py� translater s�� �n�W�-� .�.�c� �|�d�S)zx Ensure that zipfile.Path directory names are matched. zipfile.Path directory names always end in a slash. z[/]?�rs rrrs�� �i�t� �r c�R�djttt|���S)z� Given a glob pattern, produce a regex that matches it. >>> translate('*.txt') '[^/]*\\.txt' >>> translate('a?txt') 'a.txt' >>> translate('**/*') '.*/[^/]*' �)�join�map�replace�separaters rrrs�� �7�7�3�w��� 1�2� 3�3r c�.�tjd|�S)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[\[].*?[\]])|([\[][^\]]*$))�re�finditerrs rrrs�� �;�;�E�w� O�Or c���|jd�xsTtj|jd��jdd�jdd�jdd�S) zE Perform the replacements for a match from :func:`separate`. �setrz\*\*z.*z\*z[^/]*z\?�.)�groupr�escaper)�matchs rrr+sR�� �;�;�u� � � � � �%�+�+�a�.�!� ���5� !� ���� !� ���� � r )rr rrrrr r r�rs"�� �/�� 4� P� r