
    af                     .   d dl Z d dlmZ d dlmZ d dlmZ ddlmZm	Z	m
Z
mZ  edd	          Z ed
d	          Z e
dd	          Z ee	j                  d             Z ee	j                  d             Z ee	j                  d             ZdS )    N)defaultdict)settings)get_template_tag_modules   )ErrorTagsWarningregisterzYou have 'APP_DIRS': True in your TEMPLATES but also specify 'loaders' in OPTIONS. Either remove APP_DIRS or remove the 'loaders' option.ztemplates.E001idzK'string_if_invalid' in TEMPLATES OPTIONS must be a string but got: {} ({}).ztemplates.E002z0{} is used for multiple template tag modules: {}ztemplates.E003c                 \    t          d t          j        D                       rt          gng S )Nc              3   p   K   | ]1}|                     d           od|                     di           v V  2dS )APP_DIRSloadersOPTIONSN)get).0confs     N/var/www/html/env/lib/python3.11/site-packages/django/core/checks/templates.py	<genexpr>z1check_setting_app_dirs_loaders.<locals>.<genexpr>   sZ       
 
 HHZ  IY$((9b2I2I%I
 
 
 
 
 
    )anyr   	TEMPLATESE001)app_configskwargss     r   check_setting_app_dirs_loadersr      sE      
 
 *
 
 
 
 
	
 r   c                 f   g }t           j        D ]}|                    di                               dd          }t          |t                    s`t          j        t                    }|j                            |t          |          j
                  |_        |                    |           |S )Nr   string_if_invalid )r   r   r   
isinstancestrcopyE002msgformattype__name__append)r   r   errorsr   r   errors         r   !check_string_if_invalid_is_stringr,   $   s    F" ! ! HHY33778KRPP+S11 	!IdOOE	((!4(9#:#:#C EI MM%   Mr   c                    g }t          t                    }t          j        D ]a}|                    di                               di           }|                                D ] \  }}||                             |           !bt                      D ] \  }}||                             |           !|                                D ]\  }}	t          |	          dk    r|	                    t          t          j                            t          |          d                    d t!          |	          D                                 t          j                             |S )Nr   	librariesr   z, c              3   4   K   | ]}t          |          V  d S )N)repr)r   items     r   r   z=check_for_template_tags_with_the_same_name.<locals>.<genexpr>E   s(      !G!G$t**!G!G!G!G!G!Gr   r   )r   setr   r   r   itemsaddr   lenr)   r	   W003r%   r&   r0   joinsortedr   )
r   r   r*   r.   r   custom_librariesmodule_namemodule_pathlibrary_namer3   s
             r   *check_for_template_tags_with_the_same_namer=   2   si   FC  I" 4 488Ir2266{BGG(8(>(>(@(@ 	4 	4$Kk"&&{3333	4 %=$>$> 0 0 [+"";////(00 
 
eu::>>MMHOO\**		!G!G!G!G!GGG  w     Mr   )r#   collectionsr   django.confr   django.template.backends.djangor   r    r   r   r	   r
   r   r$   r6   	templatesr   r,   r=    r   r   <module>rC      sE    # # # # # #             D D D D D D , , , , , , , , , , , ,uI  
 uQ   w6   
$.   
$.
 
 
 
$.    r   