File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/flake8/__pycache__/utils.cpython-311.pyc
�
    � h�+  �            
       �J  � d Z ddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ ddl
mZ dd	l
mZ dd
l
mZ ddl
mZ ddlmZ  e	j        d
�  �        Z e	j        d�  �        Z e	j        d�  �        Z e	j        d�  �        Zefdedee         dee         fd�Z G d� de�  �        Z d\  Z!Z"Z#Z$Z%dZ& e	j        d�  �        e!f e	j        d�  �        e"f e	j        d�  �        e#f e	j        d�  �        e$f e	j        d�  �        e%fgZ'dedee          fd�Z(deee         ef         deeeee         f                  fd �Z)ej*        fd!ee         d"edee         fd#�Z+ej*        fd$ed"edefd%�Z, ej-        d&�'�  �        defd(��   �         Z.dee         fd)�Z/d6d*ee         deeee0         f         fd+�Z1d!ee         de2fd,�Z3d-ed.ee         de2fd/�Zd$ed.ee         d0ed1ej4        de2f
d2�Z5defd3�Z6d4edefd5�Z7dS )7zUtility methods for flake8.�    N)�Dict)�List)�
NamedTuple)�Optional)�Pattern)�Sequence)�Set)�Tuple)�Union)�
exceptionsz*^@@ -\d+(?:,\d+)? \+(\d+)(?:,(\d+))? @@.*$z[,\s]z
[,\t\n\r\f\v]z[-_.]+�value�regexp�returnc                 �   � t          | t          �  �        s
J | �   �         �|�                    | �  �        }d� |D �   �         }d� |D �   �         S )a  Parse a comma-separated list.
    :param value:
        String to be parsed and normalized.
    :param regexp:
        Compiled regular expression used to split the value when it is a
        string.
    :returns:
        List of values with whitespace stripped.
    c              3   �>