§
    ŸjQ&  ã                   ó
  — d Z ddlZddlZddlZddlZddlZddlmZ 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 dZd	Zd
ZdZ G d„ de¦  «        Z G d„ de¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z e¦   «         ZdS )zï
Settings and configuration for Django.

Read values from the module specified by the DJANGO_SETTINGS_MODULE environment
variable, and then from django.conf.global_settings; see the global_settings.py
for a list of all possible variables.
é    N)ÚPath)Úglobal_settings)ÚImproperlyConfigured)ÚRemovedInDjango60Warning)Ú
LazyObjectÚemptyÚDJANGO_SETTINGS_MODULEÚdefaultÚstaticfileszCThe FORMS_URLFIELD_ASSUME_HTTPS transitional setting is deprecated.c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚSettingsReferencez£
    String subclass which references a current settings value. It's treated as
    the value in memory but serializes to a settings.NAME attribute reference.
    c                 ó8   — t                                | |¦  «        S ©N)ÚstrÚ__new__©ÚselfÚvalueÚsetting_names      úa/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/conf/__init__.pyr   zSettingsReference.__new__&   s   € Ý�{Š{˜4 Ñ'Ô'Ð'ó    c                 ó   — || _         d S r   )r   r   s      r   Ú__init__zSettingsReference.__init__)   s   € Ø(ˆÔÐÐr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r       s<   € € € € € ðð ð
(ð (ð (ð)ð )ð )ð )ð )r   r   c                   ó|   ‡ — e Zd ZdZdd„Zd„ Zd„ Zˆ fd„Zˆ fd„Ze	fd„Z
ed	„ ¦   «         Zed
„ ¦   «         Zd„ Zˆ xZS )ÚLazySettingszì
    A lazy proxy for either global Django settings or a custom settings object.
    The user can manually configure settings prior to using them. Otherwise,
    Django uses the settings module pointed to by DJANGO_SETTINGS_MODULE.
    Nc                 óÂ   — t           j                             t          ¦  «        }|s$|rd|z  nd}t	          d|›dt          ›d�¦  «        ‚t          |¦  «        | _        dS )zÄ
        Load the settings module pointed to by the environment variable. This
        is used the first time settings are needed, if the user hasn't
        configured settings manually.
        z
setting %sÚsettingsz
Requested zS, but settings are not configured. You must either define the environment variable z8 or call settings.configure() before accessing settings.N)ÚosÚenvironÚgetÚENVIRONMENT_VARIABLEr   ÚSettingsÚ_wrapped)r   ÚnameÚsettings_moduleÚdescs       r   Ú_setupzLazySettings._setup4   su   € õ œ*Ÿ.š.Õ)=Ñ>Ô>ˆØð 	Ø,0Ð@�L 4Ñ'Ð'°jˆDÝ&Ð&ð �4�4Õ-Ð-Ð-ð/ñô ð õ ! Ñ1Ô1ˆŒˆˆr   c                 óD   — | j         t          u rdS dd| j         j        iz  S )Nz<LazySettings [Unevaluated]>z$<LazySettings "%(settings_module)s">r*   )r(   r   ÚSETTINGS_MODULE©r   s    r   Ú__repr__zLazySettings.__repr__F   s1   € àŒ=�EÐ!Ð!Ø1Ð1Ø5Ø˜tœ}Ô<ð9
ñ 
ð 	
r   c                 óø   — | j         x}t          u r|                      |¦  «         | j         }t          ||¦  «        }|dv r|�|                      |¦  «        }n|dk    r|st          d¦  «        ‚|| j        |<   |S )z<Return the value of a setting and cache it in self.__dict__.>   Ú	MEDIA_URLÚ
STATIC_URLNÚ
SECRET_KEYz)The SECRET_KEY setting must not be empty.)r(   r   r,   ÚgetattrÚ_add_script_prefixr   Ú__dict__)r   r)   r(   Úvals       r   Ú__getattr__zLazySettings.__getattr__N   s“   € àœÐ%ˆH­%Ð/Ð/Ø�KŠK˜ÑÔÐØ”}ˆHÝ�h Ñ%Ô%ˆð Ð.Ð.Ð.°3°?Ø×)Ò)¨#Ñ.Ô.ˆCˆCØ�\Ò!Ð!¨#Ð!Ý&Ð'RÑSÔSÐSà!ˆŒ�dÑØˆ
r   c                 óÂ   •— |dk    r| j                              ¦   «          n| j                              |d¦  «         t          ¦   «                              ||¦  «         dS )zŸ
        Set the value of setting. Clear all cached values if _wrapped changes
        (@override_settings does this) or clear single values when set.
        r(   N)r7   ÚclearÚpopÚsuperÚ__setattr__©r   r)   r   Ú	__class__s      €r   r>   zLazySettings.__setattr___   s_   ø€ ð
 �:ÒÐØŒM×ÒÑ!Ô!Ð!Ð!àŒM×Ò˜d DÑ)Ô)Ð)Ý‰Œ×Ò˜D %Ñ(Ô(Ð(Ð(Ð(r   c                 ó€   •— t          ¦   «                              |¦  «         | j                             |d¦  «         dS )z3Delete a setting and clear it from cache if needed.N)r=   Ú__delattr__r7   r<   ©r   r)   r@   s     €r   rB   zLazySettings.__delattr__j   s9   ø€ å‰Œ×Ò˜DÑ!Ô!Ð!ØŒ×Ò˜$ Ñ%Ô%Ð%Ð%Ð%r   c                 ó  — | j         t          urt          d¦  «        ‚t          |¦  «        }|                     ¦   «         D ]<\  }}|                     ¦   «         st          d|z  ¦  «        ‚t          |||¦  «         Œ=|| _         dS )zÜ
        Called to manually configure the settings. The 'default_settings'
        parameter sets where to retrieve any unspecified values from (its
        argument must support attribute access (__getattr__)).
        zSettings already configured.zSetting %r must be uppercase.N)r(   r   ÚRuntimeErrorÚUserSettingsHolderÚitemsÚisupperÚ	TypeErrorÚsetattr)r   Údefault_settingsÚoptionsÚholderr)   r   s         r   Ú	configurezLazySettings.configureo   sŽ   € ð Œ=¥Ð%Ð%ÝÐ=Ñ>Ô>Ð>Ý#Ð$4Ñ5Ô5ˆØ"Ÿ=š=™?œ?ð 	)ð 	)‰KˆD�%Ø—<’<‘>”>ð HÝÐ ?À$Ñ FÑGÔGÐGÝ�F˜D %Ñ(Ô(Ð(Ð(ØˆŒˆˆr   c                 óX   — |                       d¦  «        r| S ddlm}  |¦   «         ›| ›�S )zÕ
        Add SCRIPT_NAME prefix to relative paths.

        Useful when the app is being served at a subpath and manually prefixing
        subpath to STATIC_URL and MEDIA_URL in settings is inconvenient.
        )zhttp://zhttps://ú/r   )Úget_script_prefix)Ú
startswithÚdjango.urlsrQ   )r   rQ   s     r   r6   zLazySettings._add_script_prefix~   sK   € ð ×ÒÐ8Ñ9Ô9ð 	ØˆLØ1Ð1Ð1Ð1Ð1Ð1à*Ð*Ñ,Ô,Ð,¨e¨eÐ4Ð4r   c                 ó   — | j         t          uS )z9Return True if the settings have already been configured.)r(   r   r/   s    r   Ú
configuredzLazySettings.configured�   s   € ð Œ}¥EÐ)Ð)r   c                 óð   — t          j        ¦   «         }|d         \  }}}}|                     t          j                             t          j        ¦  «        ¦  «        st          j	        ||d¬¦  «         d S d S )Néüÿÿÿé   )Ú
stacklevel)
Ú	tracebackÚextract_stackrR   r#   ÚpathÚdirnameÚdjangoÚ__file__ÚwarningsÚwarn)r   ÚmessageÚcategoryÚstackÚfilenameÚ_s         r   Ú_show_deprecation_warningz&LazySettings._show_deprecation_warning’   sq   € ÝÔ'Ñ)Ô)ˆð " "œIÑˆ�!�Q˜Ø×"Ò"¥2¤7§?¢?µ6´?Ñ#CÔ#CÑDÔDð 	;ÝŒM˜' 8¸Ð:Ñ:Ô:Ð:Ð:Ð:ð	;ð 	;r   r   )r   r   r   r   r,   r0   r9   r>   rB   r   rN   Ústaticmethodr6   ÚpropertyrU   rg   Ú__classcell__©r@   s   @r   r    r    -   së   ø€ € € € € ðð ð2ð 2ð 2ð 2ð$
ð 
ð 
ðð ð ð"	)ð 	)ð 	)ð 	)ð 	)ð&ð &ð &ð &ð &ð
 *9ð ð ð ð ð ð5ð 5ñ „\ð5ð ð*ð *ñ „Xð*ð;ð ;ð ;ð ;ð ;ð ;ð ;r   r    c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )r'   c           	      ó
  — t          t          ¦  «        D ]:}|                     ¦   «         r$t          | |t	          t          |¦  «        ¦  «         Œ;|| _        t          j        | j        ¦  «        }d}t          ¦   «         | _	        t          |¦  «        D ]ƒ}|                     ¦   «         rmt	          ||¦  «        }||v r.t          |t          t          f¦  «        st          d|z  ¦  «        ‚t          | ||¦  «         | j	                             |¦  «         Œ„|                      d¦  «        rt!          j        t$          t&          ¦  «         t)          t*          d¦  «        r | j        r›t/          d¦  «        } |j        | j                             d¦  «        Ž }|                     ¦   «         r+|                     ¦   «         st7          d| j        z  ¦  «        ‚| j        t8          j        d<   t+          j        ¦   «          d S d S d S )	N)ÚALLOWED_HOSTSÚINSTALLED_APPSÚTEMPLATE_DIRSÚLOCALE_PATHSÚSECRET_KEY_FALLBACKSz)The %s setting must be a list or a tuple.ÚFORMS_URLFIELD_ASSUME_HTTPSÚtzsetz/usr/share/zoneinforP   zIncorrect timezone setting: %sÚTZ)Údirr   rH   rJ   r5   r.   Ú	importlibÚimport_moduleÚsetÚ_explicit_settingsÚ
isinstanceÚlistÚtupler   ÚaddÚis_overriddenr`   ra   Ú*FORMS_URLFIELD_ASSUME_HTTPS_DEPRECATED_MSGr   ÚhasattrÚtimeÚ	TIME_ZONEr   ÚjoinpathÚsplitÚexistsÚ
ValueErrorr#   r$   rt   )r   r*   ÚsettingÚmodÚtuple_settingsÚsetting_valueÚzoneinfo_rootÚzone_info_files           r   r   zSettings.__init__�   s  € å�?Ñ+Ô+ð 	Jð 	JˆGØ�ŠÑ Ô ð JÝ˜˜g¥w­ÀÑ'HÔ'HÑIÔIÐIøð  /ˆÔåÔ% dÔ&:Ñ;Ô;ˆð
ˆõ #&¡%¤%ˆÔÝ˜3‘x”xð 	5ð 	5ˆGØ�ŠÑ Ô ð 
5Ý '¨¨WÑ 5Ô 5�à˜nÐ,Ð,µZØ!¥D­% =ñ6ô 6Ð,õ /ØCÀgÑMñô ð õ ˜˜g }Ñ5Ô5Ð5ØÔ'×+Ò+¨GÑ4Ô4Ð4øà×ÒÐ;Ñ<Ô<ð 	ÝŒMÝ:Ý(ñô ð õ
 •4˜Ñ!Ô!ð 
	 d¤nð 
	õ !Ð!6Ñ7Ô7ˆMØ3˜]Ô3°T´^×5IÒ5IÈ#Ñ5NÔ5NÐOˆNØ×#Ò#Ñ%Ô%ð T¨n×.CÒ.CÑ.EÔ.Eð TÝ Ð!AÀDÄNÑ!RÑSÔSÐSð  $œ~�BŒJ�tÑÝŒJ‰LŒLˆLˆLˆLð
	ð 
	ð 
	ð 
	r   c                 ó   — || j         v S r   )rz   )r   rˆ   s     r   r   zSettings.is_overriddenÏ   s   € Ø˜$Ô1Ð1Ð1r   c                 ó0   — d| j         j        | j        dœz  S )Nz<%(cls)s "%(settings_module)s">)Úclsr*   )r@   r   r.   r/   s    r   r0   zSettings.__repr__Ò   s'   € Ø0Ø”>Ô*Ø#Ô3ð4
ð 4
ñ 
ð 	
r   N)r   r   r   r   r   r0   r   r   r   r'   r'   œ   sB   € € € € € ð0ð 0ð 0ðd2ð 2ð 2ð
ð 
ð 
ð 
ð 
r   r'   c                   óN   ‡ — e Zd ZdZdZd„ Zd„ Zˆ fd„Zˆ fd„Zd„ Z	d„ Z
d	„ Zˆ xZS )
rF   z$Holder for user configured settings.Nc                 ó@   — t          ¦   «         | j        d<   || _        dS )z›
        Requests for configuration variables not in this class are satisfied
        from the module specified in default_settings (if possible).
        Ú_deletedN)ry   r7   rK   )r   rK   s     r   r   zUserSettingsHolder.__init__à   s"   € õ
 %(¡E¤EˆŒ�jÑ!Ø 0ˆÔÐÐr   c                 ót   — |                      ¦   «         r	|| j        v rt          ‚t          | j        |¦  «        S r   )rH   r“   ÚAttributeErrorr5   rK   )r   r)   s     r   r9   zUserSettingsHolder.__getattr__è   s7   € Ø�|Š|‰~Œ~ð 	! ¨¬Ð!6Ð!6Ý Ð Ý�tÔ,¨dÑ3Ô3Ð3r   c                 óÊ   •— | j                              |¦  «         |dk    rt          j        t          t
          ¦  «         t          ¦   «                              ||¦  «         d S )Nrs   )r“   Údiscardr`   ra   r€   r   r=   r>   r?   s      €r   r>   zUserSettingsHolder.__setattr__í   sa   ø€ ØŒ×Ò˜dÑ#Ô#Ð#ØÐ0Ò0Ð0ÝŒMÝ:Ý(ñô ð õ 	‰Œ×Ò˜D %Ñ(Ô(Ð(Ð(Ð(r   c                 ó¢   •— | j                              |¦  «         t          | |¦  «        r#t          ¦   «                              |¦  «         d S d S r   )r“   r~   r�   r=   rB   rC   s     €r   rB   zUserSettingsHolder.__delattr__ö   sS   ø€ ØŒ×Ò˜$ÑÔÐÝ�4˜ÑÔð 	&Ý‰GŒG×Ò Ñ%Ô%Ð%Ð%Ð%ð	&ð 	&r   c                 óp   ‡ — t          ˆ fd„g ‰ j        ¢t          ‰ j        ¦  «        ¢D ¦   «         ¦  «        S )Nc              3   ó.   •K  — | ]}|‰j         v¯|V — Œd S r   )r“   )Ú.0Úsr   s     €r   ú	<genexpr>z-UserSettingsHolder.__dir__.<locals>.<genexpr>ü   s<   øè è € ð 
ð 
àØ˜œÐ%Ð%ð à%Ð%Ð%Ð%ð
ð 
r   )Úsortedr7   rv   rK   r/   s   `r   Ú__dir__zUserSettingsHolder.__dir__û   sR   ø€ Ýð 
ð 
ð 
ð 
àB�t”}ÐB¥s¨4Ô+@Ñ'AÔ'AÐBð
ñ 
ô 
ñ 
ô 
ð 	
r   c                 ór   — || j         v }|| j        v } t          | j        dd„ ¦  «        |¦  «        }|p|p|S )Nr   c                 ó   — dS )NFr   )rœ   s    r   ú<lambda>z2UserSettingsHolder.is_overridden.<locals>.<lambda>  s   € ¸e€ r   )r“   r7   r5   rK   )r   rˆ   ÚdeletedÚset_locallyÚset_on_defaults        r   r   z UserSettingsHolder.is_overridden  sX   € Ø˜Tœ]Ð*ˆØ ¤Ð.ˆð
�ØÔ! ?°O°Oñ
ô 
à
ñô ˆð Ð7˜+Ð7¨Ð7r   c                 ó$   — dd| j         j        iz  S )Nz	<%(cls)s>r�   )r@   r   r/   s    r   r0   zUserSettingsHolder.__repr__
  s   € ØØ�4”>Ô*ð
ñ 
ð 	
r   )r   r   r   r   r.   r   r9   r>   rB   rŸ   r   r0   rj   rk   s   @r   rF   rF   Ù   s©   ø€ € € € € Ø.Ð.ð €Oð1ð 1ð 1ð4ð 4ð 4ð
)ð )ð )ð )ð )ð&ð &ð &ð &ð &ð

ð 
ð 
ð8ð 8ð 8ð
ð 
ð 
ð 
ð 
ð 
ð 
r   rF   )r   rw   r#   r‚   rZ   r`   Úpathlibr   r^   Údjango.confr   Údjango.core.exceptionsr   Údjango.utils.deprecationr   Údjango.utils.functionalr   r   r&   ÚDEFAULT_STORAGE_ALIASÚSTATICFILES_STORAGE_ALIASr€   r   r   r    r'   rF   r"   r   r   r   ú<module>r®      sŠ  ððð ð Ð Ð Ð Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø =Ð =Ð =Ð =Ð =Ð =Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à/Ð Ø!Ð Ø)Ð ð Jð +ð

)ð 
)ð 
)ð 
)ð 
)˜ñ 
)ô 
)ð 
)ðl;ð l;ð l;ð l;ð l;�:ñ l;ô l;ð l;ð^:
ð :
ð :
ð :
ð :
ñ :
ô :
ð :
ðz4
ð 4
ð 4
ð 4
ð 4
ñ 4
ô 4
ð 4
ðn ˆ<‰>Œ>€€€r   