o
    tBhG                     @   sH   d dl mZ d dlZedejZdddZdd Zd	d
 Zdd Z	dS )    )defaultdictNz6# noqa(?::[\s]?(?P<codes>([A-Z]+[0-9]+(?:[,\s]+)?)+))?V104V107)F401F841c                 C   s    dd |   d p
ddD S )Nc                 S   s   g | ]}|  qS  )strip).0cr   r   c/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/vulture/noqa.py
<listcomp>   s    z&_parse_error_codes.<locals>.<listcomp>codesall,)	groupdictsplit)matchr   r   r   _parse_error_codes   s   r   c                 C   sX   t t}t| ddD ]\}}t|}|r)t|D ]}t||}|| | qq
|S )N   )start)	r   set	enumerateNOQA_REGEXPsearchr   NOQA_CODE_MAPgetadd)code
noqa_lineslinenoliner   
error_coder   r   r   
parse_noqa   s   
r"   c                 C   s   || | v p|| d v S )z6Check if the reported line is annotated with "# noqa".r   r   )r   r   r!   r   r   r   ignore_line*   s   r#   )
collectionsr   recompile
IGNORECASEr   r   r   r"   r#   r   r   r   r   <module>   s    