§
    X˜¶f:
  ã                   óž   — 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mZ dd	lmZ  G d
„ de¦  «        Z G d„ de¦  «        ZdS )é    N)Ú	timedelta)ÚOptional)ÚFileSystemCache)ÚFlaské   )Útotal_seconds)ÚServerSideSessionÚServerSideSessionInterface)ÚDefaultsc                   ó   — e Zd ZdS )ÚCacheLibSessionN)Ú__name__Ú
__module__Ú__qualname__© ó    úS/var/www/piapp/venv/lib/python3.11/site-packages/flask_session/cachelib/cachelib.pyr   r      s   € € € € € Ø€Dr   r   c                   óä   ‡ — e Zd ZdZeZdZdej        ej	        ej
        ej        ej        ej        fdedee         dededed	ed
efˆ fd„Zdedee         fd„Zdeddfd„Zdedededdfd„Zˆ xZS )ÚCacheLibSessionInterfaceaÙ  Uses any :class:`cachelib` backend as a session storage.

    :param client: A :class:`cachelib` backend instance.
    :param key_prefix: A prefix that is added to storage keys.
    :param use_signer: Whether to sign the session id cookie or not.
    :param permanent: Whether to use permanent session or not.
    :param sid_length: The length of the generated session id in bytes.
    :param serialization_format: The serialization format to use for the session data.
    TNÚappÚclientÚ
key_prefixÚ
use_signerÚ	permanentÚ
sid_lengthÚserialization_formatc                 óÀ   •— |€-t          j        dt          d¬¦  «         t          dd¬¦  «        }|| _        t          ¦   «                              d |||||¦  «         d S )NzlNo valid cachelib instance provided, attempting to create a new instance on localhost with default settings.é   )Ú
stacklevelÚflask_sessioniô  )Ú	threshold)ÚwarningsÚwarnÚRuntimeWarningr   ÚcacheÚsuperÚ__init__)	Úselfr   r   r   r   r   r   r   Ú	__class__s	           €r   r'   z!CacheLibSessionInterface.__init__   s{   ø€ ð ˆ>ÝŒMØ~ÝØðñ ô ð õ
 % _ÀÐDÑDÔDˆFàˆŒ
å‰Œ×ÒØ�*˜j¨)°ZÐAUñ	
ô 	
ð 	
ð 	
ð 	
r   Ústore_idÚreturnc                 ó6   — | j                              |¦  «        S ©N)r%   Úget©r(   r*   s     r   Ú_retrieve_session_dataz/CacheLibSessionInterface._retrieve_session_data8   s   € àŒz�~Š~˜hÑ'Ô'Ð'r   c                 ó:   — | j                              |¦  «         d S r-   )r%   Údeleter/   s     r   Ú_delete_sessionz(CacheLibSessionInterface._delete_session<   s   € ØŒ
×Ò˜(Ñ#Ô#Ð#Ð#Ð#r   Úsession_lifetimeÚsessionc                 ó|   — t          |¦  «        }t          |¦  «        }| j                             |||¬¦  «         d S )N)ÚkeyÚvalueÚtimeout)r   Údictr%   Úset)r(   r4   r5   r*   Ústorage_time_to_liveÚsession_datas         r   Ú_upsert_sessionz(CacheLibSessionInterface._upsert_session?   sR   € õ  -Ð-=Ñ>Ô>Ðõ ˜G‘}”}ˆð 	Œ
�ŠØØØ(ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r   )r   r   r   Ú__doc__r   Úsession_classÚttlr   ÚSESSION_CACHELIBÚSESSION_KEY_PREFIXÚSESSION_USE_SIGNERÚSESSION_PERMANENTÚSESSION_ID_LENGTHÚSESSION_SERIALIZATION_FORMATr   r   r   ÚstrÚboolÚintr'   r:   r0   r3   Ú	TimeDeltar	   r>   Ú__classcell__)r)   s   @r   r   r      sF  ø€ € € € € ðð ð $€MØ
€Cð Ø,4Ô,EØ"Ô5Ø#Ô6Ø"Ô4Ø"Ô4Ø$,Ô$Ið
ð 
àð
ð ˜Ô)ð
ð ð	
ð
 ð
ð ð
ð ð
ð "ð
ð 
ð 
ð 
ð 
ð 
ð2(¨sð (°xÀ´~ð (ð (ð (ð (ð$¨ð $°ð $ð $ð $ð $ð
Ø )ð
Ø4Eð
ØQTð
à	ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   r   )r"   Údatetimer   rK   Útypingr   Úcachelib.filer   Úflaskr   Ú_utilsr   Úbaser	   r
   Údefaultsr   r   r   r   r   r   ú<module>rT      sò   ðØ €€€Ø +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð à )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø Ð Ð Ð Ð Ð ð	ð 	ð 	ð 	ð 	Ð'ñ 	ô 	ð 	ð;
ð ;
ð ;
ð ;
ð ;
Ð9ñ ;
ô ;
ð ;
ð ;
ð ;
r   