§
    Ÿj«  ã                   ó~   — d dl 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lmZ d dlmZ  G d	„ d
e¦  «        ZdS )é    N)Úimport_module)Úsettings)ÚUpdateError)ÚSessionInterrupted)Úpatch_vary_headers)ÚMiddlewareMixin)Ú	http_datec                   ó*   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zˆ xZS )ÚSessionMiddlewarec                 ó”   •— t          ¦   «                              |¦  «         t          t          j        ¦  «        }|j        | _        d S ©N)ÚsuperÚ__init__r   r   ÚSESSION_ENGINEÚSessionStore)ÚselfÚget_responseÚengineÚ	__class__s      €úo/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/contrib/sessions/middleware.pyr   zSessionMiddleware.__init__   s<   ø€ Ý‰Œ×Ò˜Ñ&Ô&Ð&Ý�xÔ6Ñ7Ô7ˆØ"Ô/ˆÔÐÐó    c                 ó‚   — |j                              t          j        ¦  «        }|                      |¦  «        |_        d S r   )ÚCOOKIESÚgetr   ÚSESSION_COOKIE_NAMEr   Úsession)r   ÚrequestÚsession_keys      r   Úprocess_requestz!SessionMiddleware.process_request   s3   € Ø”o×)Ò)­(Ô*FÑGÔGˆØ×+Ò+¨KÑ8Ô8ˆŒˆˆr   c                 ó¢  — 	 |j         j        }|j         j        }|j                              ¦   «         }n# t          $ r |cY S w xY wt
          j        |j        v rG|rE|                     t
          j        t
          j	        t
          j
        t
          j        ¬¦  «         d}�n|}|st
          j        �r|�s	|j                              ¦   «         rd}d}n>|j                              ¦   «         }t          j        ¦   «         |z   }	t!          |	¦  «        }|j        dk     r¢	 |j                              ¦   «          n# t&          $ r t)          d¦  «        ‚w xY w|                     t
          j        |j         j        ||t
          j
        t
          j	        t
          j        pdt
          j        pdt
          j        ¬¦	  «	         d}|rt3          |d¦  «         |S )zå
        If request.session was modified, or if the configuration is to save the
        session every time, save the changes and set a session cookie or delete
        the session cookie if the session has been emptied.
        )ÚpathÚdomainÚsamesiteTNiô  z‚The request's session was deleted before the request completed. The user may have logged out in a concurrent request, for example.)Úmax_ageÚexpiresr"   r!   ÚsecureÚhttponlyr#   )ÚCookie)r   ÚaccessedÚmodifiedÚis_emptyÚAttributeErrorr   r   r   Údelete_cookieÚSESSION_COOKIE_PATHÚSESSION_COOKIE_DOMAINÚSESSION_COOKIE_SAMESITEÚSESSION_SAVE_EVERY_REQUESTÚget_expire_at_browser_closeÚget_expiry_ageÚtimer	   Ústatus_codeÚsaver   r   Ú
set_cookier   ÚSESSION_COOKIE_SECUREÚSESSION_COOKIE_HTTPONLYr   )
r   r   Úresponser)   r*   ÚemptyÚneed_vary_cookier$   r%   Úexpires_times
             r   Úprocess_responsez"SessionMiddleware.process_response   sý  € ð	Ø”Ô/ˆHØ”Ô/ˆHØ”O×,Ò,Ñ.Ô.ˆEˆEøÝð 	ð 	ð 	ØˆOˆOˆOð	øøøõ Ô'¨7¬?Ð:Ð:¸uÐ:Ø×"Ò"ÝÔ,ÝÔ1ÝÔ5Ý!Ô9ð	 #ñ ô ð ð  $ÐÑð  (ÐØð ,�HÔ?ñ ,Èñ ,Ø”?×>Ò>Ñ@Ô@ð 6Ø"�GØ"�G�Gà%œo×<Ò<Ñ>Ô>�GÝ#'¤9¡;¤;°Ñ#8�LÝ'¨Ñ5Ô5�Gð Ô'¨#Ò-Ð-ðØœ×,Ò,Ñ.Ô.Ð.Ð.øÝ&ð ð ð Ý0ðHñô ð ðøøøð ×'Ò'Ý Ô4ØœÔ3Ø 'Ø 'Ý'Ô=Ý%Ô9Ý'Ô=ÐEÀÝ!)Ô!AÐ!IÀTÝ!)Ô!Að (ñ 
ô 
ð 
ð (,Ð$Øð 	6Ý˜x¨Ñ5Ô5Ð5Øˆs   ‚14 ´AÁAÄD6 Ä6E)Ú__name__Ú
__module__Ú__qualname__r   r   r>   Ú__classcell__)r   s   @r   r   r      sV   ø€ € € € € ð0ð 0ð 0ð 0ð 0ð
9ð 9ð 9ð<ð <ð <ð <ð <ð <ð <r   r   )r4   Ú	importlibr   Údjango.confr   Ú%django.contrib.sessions.backends.baser   Ú"django.contrib.sessions.exceptionsr   Údjango.utils.cacher   Údjango.utils.deprecationr   Údjango.utils.httpr	   r   © r   r   ú<module>rK      sÊ   ðØ €€€Ø #Ð #Ð #Ð #Ð #Ð #à  Ð  Ð  Ð  Ð  Ð  Ø =Ð =Ð =Ð =Ð =Ð =Ø AÐ AÐ AÐ AÐ AÐ AØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðFð Fð Fð Fð F˜ñ Fô Fð Fð Fð Fr   