Ë
    ùi¯et
  ã                   ó2   — d dl mZ d dlmZ  G d„ de«      Zy)é    )ÚSessionBase)Úsigningc                   óL   — e Zd Zd„ Zd„ Zd
d„Zdd„Zdd„Zd„ Zd„ Z	e
d	„ «       Zy)ÚSessionStorec                 óº   — 	 t        j                  | j                  | j                  | j	                  «       d¬«      S # t
        $ r | j                  «        Y i S w xY w)z½
        Load the data from the key itself instead of fetching from some
        external data store. Opposite of _get_session_key(), raise BadSignature
        if signature fails.
        ú/django.contrib.sessions.backends.signed_cookies)Ú
serializerÚmax_ageÚsalt)r   ÚloadsÚsession_keyr	   Úget_session_cookie_ageÚ	ExceptionÚcreate©Úselfs    úXE:\TRUCKING_PROJECT\Lib\site-packages\django/contrib/sessions/backends/signed_cookies.pyÚloadzSessionStore.load   sX   € ð	Ü—=‘=Ø× Ñ ØŸ?™?à×3Ñ3Ó5ØFôð øô ò 	ð �K‰K�MØˆ	ð		ús   ‚:= ½AÁAc                 ó   — d| _         y)z…
        To create a new key, set the modified flag so that the cookie is set
        on the client for the current request.
        TN)Úmodifiedr   s    r   r   zSessionStore.create   s   € ð
 ˆ�ó    c                 ó<   — | j                  «       | _        d| _        y)zº
        To save, get the session key as a securely signed string and then set
        the modified flag so that the cookie is set on the client for the
        current request.
        TN)Ú_get_session_keyÚ_session_keyr   )r   Úmust_creates     r   ÚsavezSessionStore.save!   s   € ð !×1Ñ1Ó3ˆÔØˆ�r   Nc                  ó   — y)zµ
        This method makes sense when you're talking to a shared resource, but
        it doesn't matter when you're storing the information in the client's
        cookie.
        F© ©r   r   s     r   ÚexistszSessionStore.exists*   s   € ð r   c                 ó.   — d| _         i | _        d| _        y)z¿
        To delete, clear the session key and the underlying data structure
        and set the modified flag so that the cookie is set on the client for
        the current request.
        Ú TN)r   Ú_session_cacher   r   s     r   ÚdeletezSessionStore.delete2   s   € ð ˆÔØ ˆÔØˆ�r   c                 ó$   — | j                  «        y)zž
        Keep the same data but with a new key. Call save() and it will
        automatically save a cookie with a new key at the end of the request.
        N)r   r   s    r   Ú	cycle_keyzSessionStore.cycle_key<   s   € ð
 	�	‰	�r   c                 ó\   — t        j                  | j                  dd| j                  ¬«      S )z�
        Instead of generating a random string, generate a secure url-safe
        base64-encoded string of data as our session key.
        Tr   )Úcompressr   r	   )r   ÚdumpsÚ_sessionr	   r   s    r   r   zSessionStore._get_session_keyC   s)   € ô
 �}‰}Ø�M‰MØØBØ—‘ô	
ð 	
r   c                  ó   — y ©Nr   )Úclss    r   Úclear_expiredzSessionStore.clear_expiredO   s   € àr   )Fr,   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r    r$   r&   r   Úclassmethodr.   r   r   r   r   r      s9   „ òò(óóóòò

ð ñó ñr   r   N)Ú%django.contrib.sessions.backends.baser   Údjango.corer   r   r   r   r   ú<module>r5      s   ðÝ =Ý ôL�;õ Lr   