Ë
    p^ëiú   ã                   ó\   — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 ddl
mZ dd	„Zdd
„Zy)é    )Úchain)Ú
MethodType)Úapps)Úsettings)Úchecksé   )Ú_get_builtin_permissionsNc           
      ód  ‡— | €$t        j                  t        j                  «      ŠnMt        j                  j	                  d«      \  }}| D ]$  }|j
                  |k(  sŒ|j                  |«      Š n g S g }t        ‰j                  t        t        f«      s'|j                  t        j                  d‰d¬«      «       ‰j                  ‰j                  v rC|j                  t        j                  dd‰j                  ›d‰j                  ›d�‰d	¬
«      «       ‰j                  j                  ‰j                  «      j                   sÖt#        ˆfd„‰j                  j$                  D «       «      s®t        j&                  dgk(  rM|j                  t        j                  d‰j                  j(                  ›d‰j                  ›d�‰d¬«      «       nM|j                  t        j*                  d‰j                  j(                  ›d‰j                  ›d�d‰d¬
«      «       t         ‰«       j,                  t.        «      r*|j                  t        j0                  d‰z  ‰d¬«      «       t         ‰«       j2                  t.        «      r*|j                  t        j0                  d‰z  ‰d¬«      «       |S )Nú.z*'REQUIRED_FIELDS' must be a list or tuple.z	auth.E001©ÚobjÚidzjThe field named as the 'USERNAME_FIELD' for a custom user model must not be included in 'REQUIRED_FIELDS'.z*The 'USERNAME_FIELD' is currently set to 'z', you should remove 'z' from the 'REQUIRED_FIELDS'.z	auth.E002)Úhintr   r   c              3   óR   •K  — | ]  }|j                   ‰j                  fk(  –— Œ  y ­w©N)ÚfieldsÚUSERNAME_FIELD)Ú.0Ú
constraintÚclss     €úK/var/www/eb/venv/lib/python3.12/site-packages/django/contrib/auth/checks.pyú	<genexpr>z#check_user_model.<locals>.<genexpr>7   s/   øè ø€ ò Fàð 	×Ñ˜c×0Ñ0Ð2Õ2ñFùs   ƒ$'z)django.contrib.auth.backends.ModelBackendú'z=' must be unique because it is named as the 'USERNAME_FIELD'.z	auth.E003z9' is named as the 'USERNAME_FIELD', but it is not unique.zKEnsure that your authentication backend(s) can handle non-unique usernames.z	auth.W004z�%s.is_anonymous must be an attribute or property rather than a method. Ignoring this is a security issue as anonymous users will be treated as authenticated!z	auth.C009z¡%s.is_authenticated must be an attribute or property rather than a method. Ignoring this is a security issue as anonymous users will be treated as authenticated!z	auth.C010)r   Ú	get_modelr   ÚAUTH_USER_MODELÚsplitÚlabelÚ
isinstanceÚREQUIRED_FIELDSÚlistÚtupleÚappendr   ÚErrorr   Ú_metaÚ	get_fieldÚuniqueÚanyÚtotal_unique_constraintsÚAUTHENTICATION_BACKENDSÚobject_nameÚWarningÚis_anonymousr   ÚCriticalÚis_authenticated)Úapp_configsÚkwargsÚ	app_labelÚ
model_nameÚ
app_configÚerrorsr   s         @r   Úcheck_user_modelr5      s`  ø€ ØÐÜ�n‰nœX×5Ñ5Ó6‰ä (× 8Ñ 8× >Ñ >¸sÓ CÑˆ	�:Ø%ò 	ˆJØ×Ñ 9Ó,Ø ×*Ñ*¨:Ó6�Ùð	ð ˆIà€Fô �c×)Ñ)¬D´%¨=Ô9Ø�‰Ü�L‰LØ<ØØôô	
ð ×Ñ˜S×0Ñ0Ñ0Ø�‰Ü�L‰LñUð
 ×)Ó)¨3×+=Ó+=ð?ð Øô
ô	
ð �9‰9×Ñ˜s×1Ñ1Ó2×9Ò9Ä#ó FàŸ)™)×<Ñ<ôFô Cô ×+Ñ+Ø7ð0
ò 
ð �M‰MÜ—’à+.¯9©9×+@Ó+@À#×BTÓBTðVàØ"ô	õð �M‰MÜ—’à—y‘y×,Ó,¨c×.@Ó.@ðBð0ð Ø"ô	ôô ‘#“%×$Ñ$¤jÔ1Ø�‰Ü�O‰Oð:à<?ñ@ð Øôô	
ô ‘#“%×(Ñ(¬*Ô5Ø�‰Ü�O‰Oð:à<?ñ@ð Øôô	
ð €Mó    c                 óÖ  — | €t        j                  «       }nt        j                  d„ | D «       «      }t        j                  dd«      }|j
                  j                  d«      j                  }|j
                  j                  d«      j                  }g }|D �]M  }|j
                  }t        t        |«      «      }	|	r t        d„ |	j                  «       D «       «      nd}
|
|kD  rR||
t        |j                  «      z
  z
  }|j                  t        j                   d|j"                  ||fz  |d	¬
«      «       |	r t        d„ |	j%                  «       D «       «      nd}||kD  rR||t        |j&                  «      z
  z
  }|j                  t        j                   d|j"                  ||fz  |d¬
«      «       t)        «       }|j*                  D �]  \  }}t        |«      |kD  r7|j                  t        j                   d||j"                  |fz  |d¬
«      «       t        |«      |kD  r7|j                  t        j                   d||j"                  |fz  |d¬
«      «       ||	v r9|j                  t        j                   d|›d|j"                  ›d�|d¬
«      «       n<||v r8|j                  t        j                   d|›d|j"                  ›d�|d¬
«      «       |j-                  |«       �Œ �ŒP |S )Nc              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr   )Ú
get_models)r   r3   s     r   r   z+check_models_permissions.<locals>.<genexpr>o   s   è ø€ ò %
Ø(2ˆJ×!Ñ!×#ñ%
ùs   ‚ÚauthÚ
PermissionÚnameÚcodenamec              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   ©Úlen)r   r<   s     r   r   z+check_models_permissions.<locals>.<genexpr>}   s   è ø€ ÒC˜d”�D—	ÑCùó   ‚r   zzThe verbose_name of model '%s' must be at most %d characters for its builtin permission names to be at most %d characters.z	auth.E007r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   r?   )r   r=   s     r   r   z+check_models_permissions.<locals>.<genexpr>‘   s   è ø€ ÒI (”�H—ÑIùrA   zvThe name of model '%s' must be at most %d characters for its builtin permission codenames to be at most %d characters.z	auth.E011zEThe permission named '%s' of model '%s' is longer than %d characters.z	auth.E008zIThe permission codenamed '%s' of model '%s' is longer than %d characters.z	auth.E012zThe permission codenamed 'z/' clashes with a builtin permission for model 'z'.z	auth.E005z' is duplicated for model 'z	auth.E006)r   r9   r   Úfrom_iterabler   r$   r%   Ú
max_lengthÚdictr	   ÚmaxÚvaluesr@   Úverbose_name_rawr"   r   r#   r   Úkeysr2   ÚsetÚpermissionsÚadd)r/   r0   Úmodelsr;   Úpermission_name_max_lengthÚpermission_codename_max_lengthr4   ÚmodelÚoptsÚbuiltin_permissionsÚ"max_builtin_permission_name_lengthÚverbose_name_max_lengthÚ&max_builtin_permission_codename_lengthÚmodel_name_max_lengthÚ	codenamesr=   r<   s                    r   Úcheck_models_permissionsrX   k   s
  € ØÐÜ—‘Ó"‰ä×$Ñ$ñ %
Ø6Aô%
ó 
ˆô —‘ ¨Ó5€JØ!+×!1Ñ!1×!;Ñ!;¸FÓ!C×!NÑ!NÐØ%/×%5Ñ%5×%?Ñ%?À
Ó%K×%VÑ%VÐ"Ø€Fàó b$ˆØ�{‰{ˆÜ"Ô#;¸DÓ#AÓBÐñ #ô ÑCÐ&9×&@Ñ&@Ó&BÔCÔCàð 	+ð
 .Ð0JÒJØ&@Ø2´S¸×9NÑ9NÓ5OÑOñ'Ð#ð �M‰MÜ—‘ð*ð —z‘zÐ#:Ð<VÐWñXð Ø"ôô	ñ #ô ÑIÐ.A×.FÑ.FÓ.HÔIÔIàð 	/ð
 2Ð4RÒRØ$BØ6¼¸T¿_¹_Ó9MÑMñ%Ð!ð �M‰MÜ—‘ð"ð Ÿ
™
Ø-Ø6ðñð Ø"ôôô “Eˆ	Ø"×.Ñ.ó 2	$‰NˆH�dä�4‹yÐ5Ò5Ø—‘Ü—L‘Lð.ð !Ø ŸJ™JØ6ðñð "Ø&ô
ôô �8‹}Ð=Ò=Ø—‘Ü—L‘Lð5ð %Ø ŸJ™JØ:ðñð "Ø&ô
ôð Ð.Ñ.Ø—‘Ü—L’Lâ8@À$Ç*Ã*ðNà!Ø&ô	õð ˜YÑ&Ø—‘Ü—L’Lâ)1°4·:³:ð?à!Ø&ô	ôð �M‰M˜(Ö#òe2	$ðab$ðH €Mr6   r   )Ú	itertoolsr   Útypesr   Údjango.appsr   Údjango.confr   Údjango.corer   Ú
managementr	   r5   rX   © r6   r   ú<module>r`      s$   ðÝ Ý å Ý  Ý å 0ó]ô@qr6   