Ë
    ¸2ÚiT  ã                   ó–   — d Z ddlmZ ddlZej                  dk  rdZdZ ed„ ej                  d	«      dd
 D «       «      Zd„ Z	d„ Z
d„ Zy)z6
Implementation of per object permissions for Django.
é   )Úchecksé    N)é   é   zguardian.apps.GuardianConfigz2.4.0c              #   ó2   K  — | ]  }t        |«      –— Œ y ­w©N)Úint)Ú.0Úxs     úH/var/www/html/acx/venv/lib/python3.12/site-packages/guardian/__init__.pyú	<genexpr>r      s   è ø€ Ò;˜1”�A—Ñ;ùs   ‚ú.r   c                  ó   — t         S r   )Ú__version__© ó    r   Úget_versionr      s   € ÜÐr   c                  óØ   ‡‡— ddl m}  ddlmŠm} ddlm}  |«       Š | «       }t        |dt        ˆfd„«      «       t        |dˆfd	„«       t        |d
ˆfd„«       t        |d|«       y )Nr   )Úget_user_modelr   )Úget_anonymous_userÚevict_obj_perms_cache)Úget_user_obj_perms_modelÚget_anonymousc                  ó   •—  ‰ «       S r   r   )r   s   €r   ú<lambda>z#monkey_patch_user.<locals>.<lambda>   s   ø€ Ñ8JÓ8L€ r   Úadd_obj_permc                 ó>   •— ‰j                   j                  || |«      S r   ©ÚobjectsÚassign_perm©ÚselfÚpermÚobjÚUserObjectPermissions      €r   r   z#monkey_patch_user.<locals>.<lambda>   ó   ø€ Ð$8×$@Ñ$@×$LÑ$LÈTÐSWÐY\Ó$]€ r   Údel_obj_permc                 ó>   •— ‰j                   j                  || |«      S r   ©r   Úremove_permr!   s      €r   r   z#monkey_patch_user.<locals>.<lambda>    r&   r   r   )Údjango.contrib.authr   Úutilsr   r   r   ÚsetattrÚstaticmethod)r   r   r   ÚUserr%   r   s       @@r   Úmonkey_patch_userr0      s]   ù€ Ý2ß@Ý/Ù3Ó5ÐÙÓ€DäˆD�/¤<Ó0LÓ#MÔNÜˆD�.Û]ô_äˆD�.Û]ô_äˆDÐ)Ð+@ÕAr   c                  óp   ‡— ddl m} m} ddlm}  |«       Št        | dˆfd„«       t        | dˆfd„«       y )	Nr   )ÚGroupÚ
Permissionr   )Úget_group_obj_perms_modelr   c                 ó>   •— ‰j                   j                  || |«      S r   r   ©r"   r#   r$   ÚGroupObjectPermissions      €r   r   z$monkey_patch_group.<locals>.<lambda>*   ó   ø€ Ð$9×$AÑ$A×$MÑ$MÈdÐTXÐZ]Ó$^€ r   r'   c                 ó>   •— ‰j                   j                  || |«      S r   r)   r6   s      €r   r   z$monkey_patch_group.<locals>.<lambda>,   r8   r   )Údjango.contrib.auth.modelsr2   r3   r,   r4   r-   )r2   r3   r4   r7   s      @r   Úmonkey_patch_groupr;   $   s2   ø€ ß<Ý0Ù5Ó7ÐäˆE�>Û^ô`äˆE�>Û^õ`r   )Ú__doc__Ú r   ÚdjangoÚVERSIONÚdefault_app_configr   ÚtupleÚsplitr   r0   r;   r   r   r   ú<module>rC      s`   ðñõ Û à	‡>�>�FÒØ7Ðð €ñ Ñ; × 1Ñ 1°#Ó 6°r¸Ð :Ô;Ó
;€òòBó`r   